This repository was archived by the owner on Aug 13, 2026. It is now read-only.
Update dependency @arkade-os/sdk to ^0.4.0 - #187
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
7 times, most recently
from
March 17, 2026 17:32
ce88a35 to
481602c
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
March 19, 2026 18:02
5f096d9 to
3f4298f
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
4 times, most recently
from
March 31, 2026 14:36
0fd658f to
59dcf90
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
April 17, 2026 09:03
24fb35c to
9c336c9
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
5 times, most recently
from
April 28, 2026 11:32
0f6c7c4 to
3104ba5
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
3 times, most recently
from
May 6, 2026 09:58
da94854 to
568c42b
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
3 times, most recently
from
May 12, 2026 16:55
2a4c529 to
e78667a
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
May 22, 2026 15:44
654e551 to
a39cbce
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
May 27, 2026 17:34
7d1ac02 to
2daa6df
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
3 times, most recently
from
June 4, 2026 13:09
f0582dc to
6205dda
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
June 15, 2026 20:49
dae0238 to
163f5c3
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
4 times, most recently
from
June 19, 2026 21:05
0bc16d7 to
84677a3
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
3 times, most recently
from
July 6, 2026 15:55
7ba8f7c to
64e1886
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
2 times, most recently
from
July 11, 2026 06:52
aac3555 to
c19daa2
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
5 times, most recently
from
July 23, 2026 12:35
782a5b6 to
5914b93
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
4 times, most recently
from
July 31, 2026 10:42
d9b784b to
2cc18c2
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
4 times, most recently
from
August 10, 2026 13:37
9862a0d to
8dd39f2
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
from
August 12, 2026 15:40
8dd39f2 to
6b40755
Compare
renovate
Bot
force-pushed
the
renovate/arkade-os-sdk-0.x
branch
from
August 13, 2026 08:08
6b40755 to
7bdff0f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.3.3→^0.4.0Release Notes
arkade-os/ts-sdk (@arkade-os/sdk)
v0.4.61What's Changed
New Contributors
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/swap/0.0.3...@arkade-os/sdk/0.4.61
v0.4.60What's Changed
This release merges the Arkade Swap feature branch into the SDK, shipping the new
@arkade-os/swappackage alongside improvements to the VHTLC and contract subsystems.New Package:
@arkade-os/swapThe
@arkade-os/swappackage is now part of the ts-sdk monorepo. It provides the full RFQ (Request-For-Quote) swap infrastructure:RfqSwapManagerVHTLC
feat(vhtlc): ScriptV2 — a new HTLC construct for swap corridorsfeat(vhtlc): non-interactive claim and refund leaves;packages/swapadoptsVHTLC.Scriptfix(vhtlc):nonInteractiveRefundis immediate, gated by server+receiver, not a timelockfix(vhtlc): validate P2TR destination scripts by content, not just lengthfix(contracts): refuse an explicit settle of a VHTLC before its refund window opensContract System
feat(contracts): gate generic spending on a per-contract predicatefeat(contracts): retained-but-unwatched contract watch statefeat(worker): service-worker bus accepts anintentRepositoryfix(contracts): handlerless contract row no longer fails the whole syncfix(contracts): contain a contract whose params its handler rejectsfix(contracts):PathContextreceives the block height it declaresfix(contracts): judge timelocks by chain time, and CSV per inputSDK Fixes
fix(sdk): honourwithUnrolledin the worker'sgetVtxosfix(sdk): report every spendability exclusion from one snapshotfix(sdk): stop a look-ahead drain from outlivingdispose()Security
fix(swap): closed a nonce-reuse vulnerability inClaimPackethandling; HTTP transport hardened (class: replay / nonce-reuse; location:packages/swapClaimPacket path)Other
fix(vtxo-manager): price the intent fee inrenewVtxosandrecoverVtxosfix(ts-sdk): declaretypescript/tsupasdevDependenciesfor standalone buildsfeat(arkade): pin the emulator co-signer key per networkFull Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/sdk/0.4.59...@arkade-os/sdk/0.4.60
v0.4.59What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.63...@arkade-os/sdk/0.4.59
v0.4.58What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.62...@arkade-os/sdk/0.4.58
v0.4.57What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.61...@arkade-os/sdk/0.4.57
v0.4.56What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.60...@arkade-os/sdk/0.4.56
v0.4.55What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.59...@arkade-os/sdk/0.4.55
v0.4.54What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.58...@arkade-os/sdk/0.4.54
v0.4.53What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.57...@arkade-os/sdk/0.4.53
v0.4.52What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.56...@arkade-os/sdk/0.4.52
v0.4.51What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.55...@arkade-os/sdk/0.4.51
v0.4.50What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.54...@arkade-os/sdk/0.4.50
v0.4.49What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.53...@arkade-os/sdk/0.4.49
v0.4.48What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.52...@arkade-os/sdk/0.4.48
v0.4.47What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.51...@arkade-os/sdk/0.4.47
v0.4.46What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.50...@arkade-os/sdk/0.4.46
v0.4.45What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.49...@arkade-os/sdk/0.4.45
v0.4.44What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.48...@arkade-os/sdk/0.4.44
v0.4.43What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.47...@arkade-os/sdk/0.4.43
v0.4.42What's Changed
New Contributors
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.46...@arkade-os/sdk/0.4.42
v0.4.41What's Changed
New Contributors
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.45...@arkade-os/sdk/0.4.41
v0.4.40What's Changed
New Contributors
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.44...@arkade-os/sdk/0.4.40
v0.4.39What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.43...@arkade-os/sdk/0.4.39
v0.4.38What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.42...@arkade-os/sdk/0.4.38
v0.4.37What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.41...@arkade-os/sdk/0.4.37
v0.4.36What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.40...@arkade-os/sdk/0.4.36
v0.4.35What's Changed
New Contributors
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.39...@arkade-os/sdk/0.4.35
v0.4.34What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.38...@arkade-os/sdk/0.4.34
v0.4.33What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.37...@arkade-os/sdk/0.4.33
v0.4.32What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.36...@arkade-os/sdk/0.4.32
v0.4.31What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.35...@arkade-os/sdk/0.4.31
v0.4.30What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.34...@arkade-os/sdk/0.4.30
v0.4.29What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/@arkade-os/boltz-swap/0.3.33...@arkade-os/sdk/0.4.29
v0.4.28What's Changed
Full Changelog: https://github.com/arkade-os/ts-sdk/compare/v0.4.27...@arkade-os/sdk/0.4.28
v0.4.27Compare Source
What's Changed
Full Changelog: arkade-os/ts-sdk@v0.4.26...v0.4.27
v0.4.26Compare Source
What's Changed
as constfor default constants by @gringokiwi in #484Full Changelog: arkade-os/ts-sdk@v0.4.25...v0.4.26
v0.4.25Compare Source
What's Changed
Full Changelog: arkade-os/ts-sdk@v0.4.24...v0.4.25
v0.4.24Compare Source
What's Changed
New Contributors
Full Changelog: arkade-os/ts-sdk@v0.4.23...v0.4.24
v0.4.23Compare Source
Breaking Changes
Asset.amountandAssetDetails.supplyare nowbigint(wasnumber). Number-typed asset amounts overflowed silently above2^53; switching the type ensures protocol-level money handling
cannot lose precision. Cascade through providers, transaction-history
aggregation,
wallet.getBalance,wallet.sendchange-outputaccounting, the delegator, validation, and asset coin selection.
IssuanceParams.amount/ReissuanceParams.amount/BurnParams.amountare alsobigintnow. Persistence layerserializes amounts as strings —
deserializeAssetaccepts legacyon-disk numbers, new strings, and runtime bigints, so no data
migration is required. Callers doing arithmetic on
asset.amount/assetDetails.supplyget a clear TS error andmust work in bigint or call
Number(...)explicitly. (#472)Features
HDDescriptorProviderfor HD receive-address rotation. Newwallet-layer
DescriptorProviderbacked bySeedIdentitythatowns a single global derivation index and rotates the active
receive descriptor on demand. State persists under
walletRepository.settings.hdso no schema migration is required.The provider is now a pure rotating allocator —
getNextSigningDescriptor()is the only entry point; the read-side"current descriptor" surface lives in the contract repository
instead. Mirrors the dotnet SDK's
IArkadeAddressProvidershape.(#440)
SeedIdentity/MnemonicIdentity.Identities now expose the wildcard descriptor template directly
via the public
descriptorfield, withisOursmatching acrossHD indices and a
signWithDescriptorAPI that derives the rightchild key per request. The descriptors-scure library now drives
template materialization (
expand({ index })),isRangedclassification, and
canonicalExpression— replacing hand-rolledregex substitution and tolerating checksum-suffixed templates.
Constructors take
(seed, opts)directly and validate inputs aswildcard templates.
ReadonlyDescriptorIdentityis HD-aware too,so watch-only HD wallets can rotate receive addresses without
seed access. Secret-bearing state (seed / mnemonic / passphrase)
is held in module-private
WeakMaps rather than public fields,removing the JS-level enumeration path that TypeScript visibility
doesn't actually close. (#439)
https://arkade.computer. NewgetArkadeServerUrl(network)helper plus mainnet defaults reducethe configuration users have to type for production wallets. (#460)
export anchor helpers.TxWeightEstimator, theVSizetype,and the
timelockToSequence/sequenceToTimelockBIP-68conversions are now part of the public API for consumers that
need to estimate fees or work with relative timelocks. (#468)
Bug Fixes
transaction.get_merklemissingheightwas treated asa hard error during electrs index lag. electrs can briefly return
missingheightfromget_merklefor txs that are confirmedenough to appear in
listunspentbut not yet fully indexed. Theprovider now treats this the same as the matching wording on
block.headerlookups — confirmation status flips tofalseuntilthe next poll, mirroring the old verbose-tx path's
blocktime || time || 0fallback. Genuine errors still propagate.Internal
(#465)
v0.4.22Compare Source
Bug Fixes
ContractWatchervtxo_receivedevents stopped delivering allrequired fields.
ContractVtxowas missing the inheritance fromVirtualCoin, so consumers downcasting to that shape silently lostdata. The fix re-establishes the type relation, scopes auto-delegate
to delegate-typed contracts only (and moves the filter into the
delegator manager where it belongs), and adds a debug log on the
watcher path so future drift is observable. (#462)
ships
expo-sqlite/expo-background-task/expo-task-manageron the unified 55.0.x line. Widened the peer ranges to accept both
the legacy lines and the new unified majors so installs don't
emit peer warnings. (#463)
v0.4.21Compare Source
Bug Fixes
notifyIncomingFunds, one fromContractManager— for the samescripts.
notifyIncomingFundsnow piggybacks on theContractManagerevent bus instead of opening its own subscription.Adds a cold-start kick in
tryUpdateSubscriptionso the listeneropens promptly when the first contract is added after a zero-script
startWatching. Closes #454. (#457)unilateralExitDelaydivergence broke contractregistration after the mainnet pin. Wallet now reconciles a
hardcoded exit delay against the value advertised by
arkd.getInfoand registers contracts under both so existing addresses keep
resolving while new addresses use the configured value. (#456)
getWalletScripts/getScriptMapsilently fell back to thedefault script on fresh wallets. Both accessors guarded contract-
manager init via internal flags and on a fresh wallet that hadn't
yet completed bootstrap they returned only the current default
script — hiding historical default and delegate VTXOs from
subscriptions and pending-tx flows. Drop the guards and always go
through
getContractManager; let init errors bubble. (#459)Hardened iterator cleanup so
return()and the abort signal bothrelease the connection, including the path where the caller never
iterates (see #433). (#453)
v0.4.20Compare Source
Features
wallet.
ServiceWorkerWallet.create()no longer requires asingle-private-key identity. Adds a tagged
SerializedIdentityenvelope spanning all SDK identity classes(single-key, readonly-single-key, seed, mnemonic,
readonly-descriptor) and routes it through
INITIALIZE_MESSAGE_BUS.Readonly wallets always downgrade signing identities at the
serialization boundary so signing material cannot cross into the
worker for read-only flows. The legacy
{ privateKey }/{ publicKey }wire shape is still accepted by new workers (witha one-time deprecation warning) so an older page build can still
initialize a newer worker during a rolling upgrade; the reverse
direction is deliberately not supported. SDK-created service-worker
wallets denormalize their init config so a lost cache (e.g. a
service-worker restart) self-heals via a rebuilt envelope rather
than failing with "missing configuration". The mnemonic / seed
envelopes carry master-seed material — documented as a deliberate
trade-off for class-preserving round-trip; threat-model section
added to
src/worker/browser/README.md. (#447)ElectrumOnchainProvider. WebSocket-basedonchain provider implementing the same
OnchainProviderinterfaceas
EsploraProvider. Uses scripthash subscriptions instead ofpolling, derives output amounts from raw tx bytes (exact bigints,
never
Math.round(value * 1e8)), caches the chain tip via a singleheaders subscription, batches initial
watchAddressessetup viaPromise.all, and liftsgetTxOutspendsfromO(outputs × history × fetch) to O(4 round trips). Atomic 1P1C
package broadcast (TRUC / BIP 431) via Fulcrum's
blockchain.transaction.broadcast_package— there is no fallbackto sequential broadcast: when the server doesn't implement it, the
caller gets a clear error rather than a silent failure at the
parent step. Compatible with both Fulcrum and electrs for the core
methods (
scripthash.{listunspent, get_history, subscribe},transaction.{get, get_merkle, broadcast},block.header,headers.subscribe,estimatefee,relayfee);broadcast_packageis Fulcrum-only. (#450)handlers now accept descriptor strings (
tr(...)) forpubKey/serverPubKeyinstead ofUint8Array. Adds aDescriptorProviderinterface, aStaticDescriptorProviderwrapper for legacy
Identityinstances, and per-SigningRequestdescriptors so a single
signWithDescriptor()call can signmultiple inputs at different derivation indices. Pubkey
comparisons in role resolution are now case-insensitive. (#411)
Bug Fixes
MessageBuscould leave a caller's message idsilently unanswered. Six paths could drop responses, hanging the
client until its own timeout fired: unknown handler tag, handler
returning
null/undefined, handler completing past the per-message timeout, dropped reply due to detached source, and so on.
Every message now produces exactly one final response — explicit
ack, error, late-delivery (within a 5-minute grace window), or
abandoned-after-grace. Adds
messageTimeoutOverridesso callerscan set per-message-type / per-handler-tag timeouts (e.g. SETTLE
needs more than GET_VTXOS), uses
Object.prototype.hasOwnPropertyfor the override-map lookup so a message named like a prototype
method doesn't resolve to a non-numeric value, and labels timeout
errors with the message type so surfaced errors
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.