🎉 Publish Wallets Release - #148
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/develop
branch
from
September 16, 2026 10:33
c9440ca to
24462e7
Compare
github-actions
Bot
force-pushed
the
changeset-release/develop
branch
from
September 16, 2026 10:44
24462e7 to
52997f2
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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 was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to develop, this PR will be updated.
Releases
@swapkit/wallet-hardware@4.10.0
Minor Changes
ef6fb67Thanks @hippocampusSK! - Add Arc (Chain.Arc, chain id 5042, USDC native gas) to the connectors that keep an explicit chain list: WalletConnect (eip155:5042namespace), Coinbase Wallet SDK, Ledger, Trezor and KeepKey. Connectors built onEVMChains(MetaMask, EVM extensions / EIP-6963, Trust Wallet, Bitget, Passkeys) already picked Arc up from@swapkit/helpers5.2.1.Patch Changes
#150
db4f182Thanks @towanTG! - Update SwapKit SDK dependencies:ce7f02dThanks @towanTG! - Changes base url for token icons (via @swapkit/helpers@5.4.1)7f87112Thanks @ice-chillios! -generatePhrasenow defaults to a 24-word (256-bit entropy) seed phrase, accepts every BIP39 length (12, 15, 18, 21 or 24 words) and throwswallet_keystore_invalid_word_count(21903, added to@swapkit/helpers) for anything else instead of silently using 256 bits. NewgenerateKeystore({ password, wordCount })creates a phrase and its encrypted keystore in one call;PhraseWordCountis exported for wallet-creation UIs offering the choice. (via @swapkit/helpers@5.4.1)cbbfdcfThanks @hippocampusSK! - Add public Arc mainnet RPC (https://rpc.mainnet.arc.io) as the defaultrpcUrlsentry forChain.Arc(via @swapkit/helpers@5.4.1)70749e7Thanks @github-actions! - Update generated token lists. (via @swapkit/helpers@5.4.1)54d0f14Thanks @ice-chillios! -ChainflipBroker.fundStateChainAccountaccepts a hex state chain account explicitly instead of relying on the substrate address validator, which no longer treats hex as an address. Hex accounts must now be a full 32-byteAccountId32; shorter hex values used to pass validation and then fail in the gateway call.2ef09ecThanks @hippocampusSK! - Add Arc (5042) EVM chain: chain/chainId enums, chain config, EVM toolbox wiring, and nativeARC.USDCgas-asset handling inisGasAsset/getCommonAssetInfo/getAssetType/getTokenAddress. Arc ships with rpcUrls: [], so connectKeystore skips it and toolbox calls fail with helpers_chain_no_public_or_set_rpc_url until SKConfig.setRpcUrl(Chain.Arc, […]) is set (via @swapkit/toolboxes@5.4.0)c8e9da7Thanks @hippocampusSK! - Expose the address form an address string decodes to, instead of discarding it behind a boolean. Address validation already computed the script type; new siblings surface it without changing any existing validator's return type: (via @swapkit/toolboxes@5.4.0)25570caThanks @hippocampusSK! - One table describes the UTXO script types.@swapkit/helpersnow exportsUTXOScriptType(withP2SH_P2WPKHandP2TRalongsideP2PKHandP2WPKH),UTXO_SCRIPT_TYPES(BIP43 purpose, input and output size in vBytes, witness flag per type),UTXO_SCRIPT_TYPE_LIST, and the path helpersgetPurposeFromPath,getUTXOScriptTypeForPurposeandgetUTXOScriptTypeForPath. Error keytoolbox_utxo_unsupported_script_type(50315) is reserved for the toolboxes. (via @swapkit/toolboxes@5.4.0)cf94a27Thanks @hippocampusSK! - Eight fixes to the UTXO send path, reached today by external signers spending from legacy Bitcoin and Litecoin addresses, and by every chain without segwit. (via @swapkit/toolboxes@5.4.0)4450ac4Thanks @ice-chillios! -derivationPathToStringnow accepts sliced derivation paths through the newDerivationPathLike(readonly (number | undefined)[]) type, so prefixes no longer need to be cast toDerivationPathArray. (via @swapkit/toolboxes@5.4.0)cbbfccdThanks @towanTG! - Preserve stored numeric precision across comparisons, arithmetic operands, copies,set, and AssetValue conversion instead of converting through display-rounded strings. Compare exact values regardless of declared asset decimals, and cap arithmetic results at 64 decimal places without mis-scaling longer inputs or turning small nonzero divisors into zero. Fix half-up display carries and explicit base-unit rescaling while preserving asset identity and destination decimals. (via @swapkit/toolboxes@5.4.0)6236419Thanks @ice-chillios! - EVM nonce derivation now reads the "pending" transaction count and serialises allocation per chainId:address behind an expiring monotonic floor, so concurrent sends from one address no longer reuse a mined-only count and silently replace each other in the mempool. Allocations are released when a send provably never reached the wire (gas or fee estimation failure, a rejected send, a signer that cannot sign), so a failed attempt no longer strands a nonce gap; transport-ambiguous failures keep the nonce reserved until the floor expires, and a floor never expires while one of its nonces is held by an in-flight send (a signature awaiting hardware or wallet confirmation cannot have its nonce re-issued). sendTransaction and state-changing contract calls both resolve through the signer's own provider when it carries one — approve + send from a single toolbox share one floor, and the transport-failure fallback broadcast and its hash lookup go through that same provider. Caller-supplied nonces are honoured on the ERC-20 transfer and approval builder paths. The native sweep builder no longer pins a nonce into the built transaction — the OP-stack L1 fee serialisation performs its own plain "pending" read for byte-length only (build-only APIs consume no allocation) — so bothtransferand a two-stepcreateTransaction/sendTransactionsweep allocate through the floor on the send path. The toolboxbroadcastTransactionno longer crashes when invoked (previously an unbound method reference). (via @swapkit/toolboxes@5.3.0)9e8158fThanks @hippocampusSK! - TRON transaction failures now carry a diagnostic payload instead of a bare error key. (via @swapkit/toolboxes@5.3.0)3b750ecThanks @ochhii1337! - TON's native coin is nowGRAM, so the gas asset isTON.GRAMinstead ofTON.TON. (via @swapkit/toolboxes@5.3.0)@swapkit/wallets@4.13.0
Minor Changes
ef6fb67Thanks @hippocampusSK! - Add Arc (Chain.Arc, chain id 5042, USDC native gas) to the connectors that keep an explicit chain list: WalletConnect (eip155:5042namespace), Coinbase Wallet SDK, Ledger, Trezor and KeepKey. Connectors built onEVMChains(MetaMask, EVM extensions / EIP-6963, Trust Wallet, Bitget, Passkeys) already picked Arc up from@swapkit/helpers5.2.1.Patch Changes
#150
db4f182Thanks @towanTG! - Update SwapKit SDK dependencies:ce7f02dThanks @towanTG! - Changes base url for token icons (via @swapkit/helpers@5.4.1)7f87112Thanks @ice-chillios! -generatePhrasenow defaults to a 24-word (256-bit entropy) seed phrase, accepts every BIP39 length (12, 15, 18, 21 or 24 words) and throwswallet_keystore_invalid_word_count(21903, added to@swapkit/helpers) for anything else instead of silently using 256 bits. NewgenerateKeystore({ password, wordCount })creates a phrase and its encrypted keystore in one call;PhraseWordCountis exported for wallet-creation UIs offering the choice. (via @swapkit/helpers@5.4.1)cbbfdcfThanks @hippocampusSK! - Add public Arc mainnet RPC (https://rpc.mainnet.arc.io) as the defaultrpcUrlsentry forChain.Arc(via @swapkit/helpers@5.4.1)70749e7Thanks @github-actions! - Update generated token lists. (via @swapkit/helpers@5.4.1)54d0f14Thanks @ice-chillios! -ChainflipBroker.fundStateChainAccountaccepts a hex state chain account explicitly instead of relying on the substrate address validator, which no longer treats hex as an address. Hex accounts must now be a full 32-byteAccountId32; shorter hex values used to pass validation and then fail in the gateway call.2ef09ecThanks @hippocampusSK! - Add Arc (5042) EVM chain: chain/chainId enums, chain config, EVM toolbox wiring, and nativeARC.USDCgas-asset handling inisGasAsset/getCommonAssetInfo/getAssetType/getTokenAddress. Arc ships with rpcUrls: [], so connectKeystore skips it and toolbox calls fail with helpers_chain_no_public_or_set_rpc_url until SKConfig.setRpcUrl(Chain.Arc, […]) is set (via @swapkit/toolboxes@5.4.0)c8e9da7Thanks @hippocampusSK! - Expose the address form an address string decodes to, instead of discarding it behind a boolean. Address validation already computed the script type; new siblings surface it without changing any existing validator's return type: (via @swapkit/toolboxes@5.4.0)25570caThanks @hippocampusSK! - One table describes the UTXO script types.@swapkit/helpersnow exportsUTXOScriptType(withP2SH_P2WPKHandP2TRalongsideP2PKHandP2WPKH),UTXO_SCRIPT_TYPES(BIP43 purpose, input and output size in vBytes, witness flag per type),UTXO_SCRIPT_TYPE_LIST, and the path helpersgetPurposeFromPath,getUTXOScriptTypeForPurposeandgetUTXOScriptTypeForPath. Error keytoolbox_utxo_unsupported_script_type(50315) is reserved for the toolboxes. (via @swapkit/toolboxes@5.4.0)cf94a27Thanks @hippocampusSK! - Eight fixes to the UTXO send path, reached today by external signers spending from legacy Bitcoin and Litecoin addresses, and by every chain without segwit. (via @swapkit/toolboxes@5.4.0)4450ac4Thanks @ice-chillios! -derivationPathToStringnow accepts sliced derivation paths through the newDerivationPathLike(readonly (number | undefined)[]) type, so prefixes no longer need to be cast toDerivationPathArray. (via @swapkit/toolboxes@5.4.0)cbbfccdThanks @towanTG! - Preserve stored numeric precision across comparisons, arithmetic operands, copies,set, and AssetValue conversion instead of converting through display-rounded strings. Compare exact values regardless of declared asset decimals, and cap arithmetic results at 64 decimal places without mis-scaling longer inputs or turning small nonzero divisors into zero. Fix half-up display carries and explicit base-unit rescaling while preserving asset identity and destination decimals. (via @swapkit/toolboxes@5.4.0)6236419Thanks @ice-chillios! - EVM nonce derivation now reads the "pending" transaction count and serialises allocation per chainId:address behind an expiring monotonic floor, so concurrent sends from one address no longer reuse a mined-only count and silently replace each other in the mempool. Allocations are released when a send provably never reached the wire (gas or fee estimation failure, a rejected send, a signer that cannot sign), so a failed attempt no longer strands a nonce gap; transport-ambiguous failures keep the nonce reserved until the floor expires, and a floor never expires while one of its nonces is held by an in-flight send (a signature awaiting hardware or wallet confirmation cannot have its nonce re-issued). sendTransaction and state-changing contract calls both resolve through the signer's own provider when it carries one — approve + send from a single toolbox share one floor, and the transport-failure fallback broadcast and its hash lookup go through that same provider. Caller-supplied nonces are honoured on the ERC-20 transfer and approval builder paths. The native sweep builder no longer pins a nonce into the built transaction — the OP-stack L1 fee serialisation performs its own plain "pending" read for byte-length only (build-only APIs consume no allocation) — so bothtransferand a two-stepcreateTransaction/sendTransactionsweep allocate through the floor on the send path. The toolboxbroadcastTransactionno longer crashes when invoked (previously an unbound method reference). (via @swapkit/toolboxes@5.3.0)9e8158fThanks @hippocampusSK! - TRON transaction failures now carry a diagnostic payload instead of a bare error key. (via @swapkit/toolboxes@5.3.0)3b750ecThanks @ochhii1337! - TON's native coin is nowGRAM, so the gas asset isTON.GRAMinstead ofTON.TON. (via @swapkit/toolboxes@5.3.0)Updated dependencies [
ef6fb67,db4f182,0848590]:@swapkit/sdk@4.6.51
Patch Changes
db4f182Thanks @towanTG! - Update SwapKit SDK dependencies:ef6fb67Thanks @hippocampusSK! - Add Arc (Chain.Arc, chain id 5042, USDC native gas) to the connectors that keep an explicit chain list: WalletConnect (eip155:5042namespace), Coinbase Wallet SDK, Ledger, Trezor and KeepKey. Connectors built onEVMChains(MetaMask, EVM extensions / EIP-6963, Trust Wallet, Bitget, Passkeys) already picked Arc up from@swapkit/helpers5.2.1. (via @swapkit/wallets@4.13.0)@swapkit/wallet-extensions@4.6.2
Patch Changes
#150
db4f182Thanks @towanTG! - Update SwapKit SDK dependencies:ce7f02dThanks @towanTG! - Changes base url for token icons (via @swapkit/helpers@5.4.1)7f87112Thanks @ice-chillios! -generatePhrasenow defaults to a 24-word (256-bit entropy) seed phrase, accepts every BIP39 length (12, 15, 18, 21 or 24 words) and throwswallet_keystore_invalid_word_count(21903, added to@swapkit/helpers) for anything else instead of silently using 256 bits. NewgenerateKeystore({ password, wordCount })creates a phrase and its encrypted keystore in one call;PhraseWordCountis exported for wallet-creation UIs offering the choice. (via @swapkit/helpers@5.4.1)cbbfdcfThanks @hippocampusSK! - Add public Arc mainnet RPC (https://rpc.mainnet.arc.io) as the defaultrpcUrlsentry forChain.Arc(via @swapkit/helpers@5.4.1)70749e7Thanks @github-actions! - Update generated token lists. (via @swapkit/helpers@5.4.1)54d0f14Thanks @ice-chillios! -ChainflipBroker.fundStateChainAccountaccepts a hex state chain account explicitly instead of relying on the substrate address validator, which no longer treats hex as an address. Hex accounts must now be a full 32-byteAccountId32; shorter hex values used to pass validation and then fail in the gateway call.2ef09ecThanks @hippocampusSK! - Add Arc (5042) EVM chain: chain/chainId enums, chain config, EVM toolbox wiring, and nativeARC.USDCgas-asset handling inisGasAsset/getCommonAssetInfo/getAssetType/getTokenAddress. Arc ships with rpcUrls: [], so connectKeystore skips it and toolbox calls fail with helpers_chain_no_public_or_set_rpc_url until SKConfig.setRpcUrl(Chain.Arc, […]) is set (via @swapkit/toolboxes@5.4.0)c8e9da7Thanks @hippocampusSK! - Expose the address form an address string decodes to, instead of discarding it behind a boolean. Address validation already computed the script type; new siblings surface it without changing any existing validator's return type: (via @swapkit/toolboxes@5.4.0)25570caThanks @hippocampusSK! - One table describes the UTXO script types.@swapkit/helpersnow exportsUTXOScriptType(withP2SH_P2WPKHandP2TRalongsideP2PKHandP2WPKH),UTXO_SCRIPT_TYPES(BIP43 purpose, input and output size in vBytes, witness flag per type),UTXO_SCRIPT_TYPE_LIST, and the path helpersgetPurposeFromPath,getUTXOScriptTypeForPurposeandgetUTXOScriptTypeForPath. Error keytoolbox_utxo_unsupported_script_type(50315) is reserved for the toolboxes. (via @swapkit/toolboxes@5.4.0)cf94a27Thanks @hippocampusSK! - Eight fixes to the UTXO send path, reached today by external signers spending from legacy Bitcoin and Litecoin addresses, and by every chain without segwit. (via @swapkit/toolboxes@5.4.0)4450ac4Thanks @ice-chillios! -derivationPathToStringnow accepts sliced derivation paths through the newDerivationPathLike(readonly (number | undefined)[]) type, so prefixes no longer need to be cast toDerivationPathArray. (via @swapkit/toolboxes@5.4.0)cbbfccdThanks @towanTG! - Preserve stored numeric precision across comparisons, arithmetic operands, copies,set, and AssetValue conversion instead of converting through display-rounded strings. Compare exact values regardless of declared asset decimals, and cap arithmetic results at 64 decimal places without mis-scaling longer inputs or turning small nonzero divisors into zero. Fix half-up display carries and explicit base-unit rescaling while preserving asset identity and destination decimals. (via @swapkit/toolboxes@5.4.0)6236419Thanks @ice-chillios! - EVM nonce derivation now reads the "pending" transaction count and serialises allocation per chainId:address behind an expiring monotonic floor, so concurrent sends from one address no longer reuse a mined-only count and silently replace each other in the mempool. Allocations are released when a send provably never reached the wire (gas or fee estimation failure, a rejected send, a signer that cannot sign), so a failed attempt no longer strands a nonce gap; transport-ambiguous failures keep the nonce reserved until the floor expires, and a floor never expires while one of its nonces is held by an in-flight send (a signature awaiting hardware or wallet confirmation cannot have its nonce re-issued). sendTransaction and state-changing contract calls both resolve through the signer's own provider when it carries one — approve + send from a single toolbox share one floor, and the transport-failure fallback broadcast and its hash lookup go through that same provider. Caller-supplied nonces are honoured on the ERC-20 transfer and approval builder paths. The native sweep builder no longer pins a nonce into the built transaction — the OP-stack L1 fee serialisation performs its own plain "pending" read for byte-length only (build-only APIs consume no allocation) — so bothtransferand a two-stepcreateTransaction/sendTransactionsweep allocate through the floor on the send path. The toolboxbroadcastTransactionno longer crashes when invoked (previously an unbound method reference). (via @swapkit/toolboxes@5.3.0)9e8158fThanks @hippocampusSK! - TRON transaction failures now carry a diagnostic payload instead of a bare error key. (via @swapkit/toolboxes@5.3.0)3b750ecThanks @ochhii1337! - TON's native coin is nowGRAM, so the gas asset isTON.GRAMinstead ofTON.TON. (via @swapkit/toolboxes@5.3.0)@swapkit/wallet-mobile@4.3.26
Patch Changes
#150
db4f182Thanks @towanTG! - Update SwapKit SDK dependencies:ce7f02dThanks @towanTG! - Changes base url for token icons (via @swapkit/helpers@5.4.1)7f87112Thanks @ice-chillios! -generatePhrasenow defaults to a 24-word (256-bit entropy) seed phrase, accepts every BIP39 length (12, 15, 18, 21 or 24 words) and throwswallet_keystore_invalid_word_count(21903, added to@swapkit/helpers) for anything else instead of silently using 256 bits. NewgenerateKeystore({ password, wordCount })creates a phrase and its encrypted keystore in one call;PhraseWordCountis exported for wallet-creation UIs offering the choice. (via @swapkit/helpers@5.4.1)cbbfdcfThanks @hippocampusSK! - Add public Arc mainnet RPC (https://rpc.mainnet.arc.io) as the defaultrpcUrlsentry forChain.Arc(via @swapkit/helpers@5.4.1)70749e7Thanks @github-actions! - Update generated token lists. (via @swapkit/helpers@5.4.1)54d0f14Thanks @ice-chillios! -ChainflipBroker.fundStateChainAccountaccepts a hex state chain account explicitly instead of relying on the substrate address validator, which no longer treats hex as an address. Hex accounts must now be a full 32-byteAccountId32; shorter hex values used to pass validation and then fail in the gateway call.2ef09ecThanks @hippocampusSK! - Add Arc (5042) EVM chain: chain/chainId enums, chain config, EVM toolbox wiring, and nativeARC.USDCgas-asset handling inisGasAsset/getCommonAssetInfo/getAssetType/getTokenAddress. Arc ships with rpcUrls: [], so connectKeystore skips it and toolbox calls fail with helpers_chain_no_public_or_set_rpc_url until SKConfig.setRpcUrl(Chain.Arc, […]) is set (via @swapkit/toolboxes@5.4.0)c8e9da7Thanks @hippocampusSK! - Expose the address form an address string decodes to, instead of discarding it behind a boolean. Address validation already computed the script type; new siblings surface it without changing any existing validator's return type: (via @swapkit/toolboxes@5.4.0)25570caThanks @hippocampusSK! - One table describes the UTXO script types.@swapkit/helpersnow exportsUTXOScriptType(withP2SH_P2WPKHandP2TRalongsideP2PKHandP2WPKH),UTXO_SCRIPT_TYPES(BIP43 purpose, input and output size in vBytes, witness flag per type),UTXO_SCRIPT_TYPE_LIST, and the path helpersgetPurposeFromPath,getUTXOScriptTypeForPurposeandgetUTXOScriptTypeForPath. Error keytoolbox_utxo_unsupported_script_type(50315) is reserved for the toolboxes. (via @swapkit/toolboxes@5.4.0)cf94a27Thanks @hippocampusSK! - Eight fixes to the UTXO send path, reached today by external signers spending from legacy Bitcoin and Litecoin addresses, and by every chain without segwit. (via @swapkit/toolboxes@5.4.0)4450ac4Thanks @ice-chillios! -derivationPathToStringnow accepts sliced derivation paths through the newDerivationPathLike(readonly (number | undefined)[]) type, so prefixes no longer need to be cast toDerivationPathArray. (via @swapkit/toolboxes@5.4.0)cbbfccdThanks @towanTG! - Preserve stored numeric precision across comparisons, arithmetic operands, copies,set, and AssetValue conversion instead of converting through display-rounded strings. Compare exact values regardless of declared asset decimals, and cap arithmetic results at 64 decimal places without mis-scaling longer inputs or turning small nonzero divisors into zero. Fix half-up display carries and explicit base-unit rescaling while preserving asset identity and destination decimals. (via @swapkit/toolboxes@5.4.0)6236419Thanks @ice-chillios! - EVM nonce derivation now reads the "pending" transaction count and serialises allocation per chainId:address behind an expiring monotonic floor, so concurrent sends from one address no longer reuse a mined-only count and silently replace each other in the mempool. Allocations are released when a send provably never reached the wire (gas or fee estimation failure, a rejected send, a signer that cannot sign), so a failed attempt no longer strands a nonce gap; transport-ambiguous failures keep the nonce reserved until the floor expires, and a floor never expires while one of its nonces is held by an in-flight send (a signature awaiting hardware or wallet confirmation cannot have its nonce re-issued). sendTransaction and state-changing contract calls both resolve through the signer's own provider when it carries one — approve + send from a single toolbox share one floor, and the transport-failure fallback broadcast and its hash lookup go through that same provider. Caller-supplied nonces are honoured on the ERC-20 transfer and approval builder paths. The native sweep builder no longer pins a nonce into the built transaction — the OP-stack L1 fee serialisation performs its own plain "pending" read for byte-length only (build-only APIs consume no allocation) — so bothtransferand a two-stepcreateTransaction/sendTransactionsweep allocate through the floor on the send path. The toolboxbroadcastTransactionno longer crashes when invoked (previously an unbound method reference). (via @swapkit/toolboxes@5.3.0)9e8158fThanks @hippocampusSK! - TRON transaction failures now carry a diagnostic payload instead of a bare error key. (via @swapkit/toolboxes@5.3.0)3b750ecThanks @ochhii1337! - TON's native coin is nowGRAM, so the gas asset isTON.GRAMinstead ofTON.TON. (via @swapkit/toolboxes@5.3.0)