@sequence0/sdk 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +1 -1
  2. package/dist/chains/algorand.d.ts +44 -0
  3. package/dist/chains/algorand.d.ts.map +1 -0
  4. package/dist/chains/algorand.js +148 -0
  5. package/dist/chains/algorand.js.map +1 -0
  6. package/dist/chains/aptos.d.ts +39 -0
  7. package/dist/chains/aptos.d.ts.map +1 -0
  8. package/dist/chains/aptos.js +168 -0
  9. package/dist/chains/aptos.js.map +1 -0
  10. package/dist/chains/cardano.d.ts +42 -0
  11. package/dist/chains/cardano.d.ts.map +1 -0
  12. package/dist/chains/cardano.js +188 -0
  13. package/dist/chains/cardano.js.map +1 -0
  14. package/dist/chains/cosmos.d.ts +42 -0
  15. package/dist/chains/cosmos.d.ts.map +1 -0
  16. package/dist/chains/cosmos.js +216 -0
  17. package/dist/chains/cosmos.js.map +1 -0
  18. package/dist/chains/dogecoin-litecoin.d.ts +57 -0
  19. package/dist/chains/dogecoin-litecoin.d.ts.map +1 -0
  20. package/dist/chains/dogecoin-litecoin.js +521 -0
  21. package/dist/chains/dogecoin-litecoin.js.map +1 -0
  22. package/dist/chains/ethereum.d.ts.map +1 -1
  23. package/dist/chains/ethereum.js +16 -0
  24. package/dist/chains/ethereum.js.map +1 -1
  25. package/dist/chains/hedera.d.ts +113 -0
  26. package/dist/chains/hedera.d.ts.map +1 -0
  27. package/dist/chains/hedera.js +302 -0
  28. package/dist/chains/hedera.js.map +1 -0
  29. package/dist/chains/icp.d.ts +95 -0
  30. package/dist/chains/icp.d.ts.map +1 -0
  31. package/dist/chains/icp.js +520 -0
  32. package/dist/chains/icp.js.map +1 -0
  33. package/dist/chains/kaspa.d.ts +152 -0
  34. package/dist/chains/kaspa.d.ts.map +1 -0
  35. package/dist/chains/kaspa.js +790 -0
  36. package/dist/chains/kaspa.js.map +1 -0
  37. package/dist/chains/multiversx.d.ts +143 -0
  38. package/dist/chains/multiversx.d.ts.map +1 -0
  39. package/dist/chains/multiversx.js +524 -0
  40. package/dist/chains/multiversx.js.map +1 -0
  41. package/dist/chains/near.d.ts +40 -0
  42. package/dist/chains/near.d.ts.map +1 -0
  43. package/dist/chains/near.js +170 -0
  44. package/dist/chains/near.js.map +1 -0
  45. package/dist/chains/polkadot.d.ts +43 -0
  46. package/dist/chains/polkadot.d.ts.map +1 -0
  47. package/dist/chains/polkadot.js +179 -0
  48. package/dist/chains/polkadot.js.map +1 -0
  49. package/dist/chains/ripple.d.ts +41 -0
  50. package/dist/chains/ripple.d.ts.map +1 -0
  51. package/dist/chains/ripple.js +190 -0
  52. package/dist/chains/ripple.js.map +1 -0
  53. package/dist/chains/stellar.d.ts +40 -0
  54. package/dist/chains/stellar.d.ts.map +1 -0
  55. package/dist/chains/stellar.js +156 -0
  56. package/dist/chains/stellar.js.map +1 -0
  57. package/dist/chains/sui.d.ts +44 -0
  58. package/dist/chains/sui.d.ts.map +1 -0
  59. package/dist/chains/sui.js +157 -0
  60. package/dist/chains/sui.js.map +1 -0
  61. package/dist/chains/tezos.d.ts +43 -0
  62. package/dist/chains/tezos.d.ts.map +1 -0
  63. package/dist/chains/tezos.js +162 -0
  64. package/dist/chains/tezos.js.map +1 -0
  65. package/dist/chains/ton.d.ts +40 -0
  66. package/dist/chains/ton.d.ts.map +1 -0
  67. package/dist/chains/ton.js +168 -0
  68. package/dist/chains/ton.js.map +1 -0
  69. package/dist/chains/tron.d.ts +41 -0
  70. package/dist/chains/tron.d.ts.map +1 -0
  71. package/dist/chains/tron.js +124 -0
  72. package/dist/chains/tron.js.map +1 -0
  73. package/dist/core/atomic.d.ts +76 -0
  74. package/dist/core/atomic.d.ts.map +1 -0
  75. package/dist/core/atomic.js +39 -0
  76. package/dist/core/atomic.js.map +1 -0
  77. package/dist/core/client.d.ts +238 -0
  78. package/dist/core/client.d.ts.map +1 -1
  79. package/dist/core/client.js +536 -4
  80. package/dist/core/client.js.map +1 -1
  81. package/dist/core/delegation.d.ts +184 -0
  82. package/dist/core/delegation.d.ts.map +1 -0
  83. package/dist/core/delegation.js +37 -0
  84. package/dist/core/delegation.js.map +1 -0
  85. package/dist/core/programmable.d.ts +66 -0
  86. package/dist/core/programmable.d.ts.map +1 -0
  87. package/dist/core/programmable.js +36 -0
  88. package/dist/core/programmable.js.map +1 -0
  89. package/dist/core/solvency.d.ts +223 -0
  90. package/dist/core/solvency.d.ts.map +1 -0
  91. package/dist/core/solvency.js +267 -0
  92. package/dist/core/solvency.js.map +1 -0
  93. package/dist/core/types.d.ts +172 -1
  94. package/dist/core/types.d.ts.map +1 -1
  95. package/dist/core/universal-account.d.ts +438 -0
  96. package/dist/core/universal-account.d.ts.map +1 -0
  97. package/dist/core/universal-account.js +597 -0
  98. package/dist/core/universal-account.js.map +1 -0
  99. package/dist/core/witness.d.ts +197 -0
  100. package/dist/core/witness.d.ts.map +1 -0
  101. package/dist/core/witness.js +298 -0
  102. package/dist/core/witness.js.map +1 -0
  103. package/dist/erc4337/types.js +2 -2
  104. package/dist/index.d.ts +30 -2
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +91 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/settlement/settlement.d.ts +152 -0
  109. package/dist/settlement/settlement.d.ts.map +1 -0
  110. package/dist/settlement/settlement.js +172 -0
  111. package/dist/settlement/settlement.js.map +1 -0
  112. package/dist/utils/eip712.js +2 -2
  113. package/dist/utils/fee.d.ts +2 -2
  114. package/dist/utils/fee.js +2 -2
  115. package/dist/utils/optional-deps.d.ts +9 -0
  116. package/dist/utils/optional-deps.d.ts.map +1 -0
  117. package/dist/utils/optional-deps.js +21 -0
  118. package/dist/utils/optional-deps.js.map +1 -0
  119. package/dist/utils/validation.d.ts.map +1 -1
  120. package/dist/utils/validation.js +6 -1
  121. package/dist/utils/validation.js.map +1 -1
  122. package/dist/wallet/wallet.d.ts +52 -0
  123. package/dist/wallet/wallet.d.ts.map +1 -1
  124. package/dist/wallet/wallet.js +265 -33
  125. package/dist/wallet/wallet.js.map +1 -1
  126. package/package.json +35 -1
package/dist/index.js CHANGED
@@ -38,14 +38,15 @@
38
38
  * ```
39
39
  */
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.NetworkError = exports.Sequence0Error = exports.validateThreshold = exports.validateHexMessage = exports.validateStringAmount = exports.validateAmount = exports.validateAddress = exports.validateChain = exports.validateWalletId = exports.validateRefreshResponse = exports.validateWalletsResponse = exports.validateStatusResponse = exports.validateHealthResponse = exports.validateSignResultResponse = exports.validateSignResponse = exports.validateDkgResponse = exports.maskSensitive = exports.maskAddress = exports.NullLogger = exports.DebugLogger = exports.RateLimiter = exports.WALLET_FACTORY_ADDRESSES = exports.SEQUENCE0_CHAIN_IDS = exports.computeEip712Digest = exports.FeeManager = exports.AgentDiscovery = exports.WsClient = exports.CircuitBreakerError = exports.CircuitBreaker = exports.HttpClient = exports.AA_CHAIN_IDS = exports.DEFAULT_BUNDLER_URLS = exports.FACTORY_ADDRESSES = exports.ENTRYPOINT_V07_ADDRESS = exports.Sequence0Account = exports.createBitcoinTestnetTaprootAdapter = exports.createBitcoinTaprootAdapter = exports.BitcoinTaprootAdapter = exports.createSolanaDevnetAdapter = exports.createSolanaAdapter = exports.SolanaAdapter = exports.createBitcoinAdapter = exports.BitcoinAdapter = exports.createBaseAdapter = exports.createArbitrumAdapter = exports.createPolygonAdapter = exports.createEthereumAdapter = exports.EthereumAdapter = exports.Wallet = exports.Sequence0 = void 0;
42
- exports.VERSION = exports.ValidationError = exports.InvalidResponseError = exports.ChainError = exports.TimeoutError = exports.SigningError = exports.DkgError = void 0;
41
+ exports.DogecoinLitecoinAdapter = exports.createPolkadotWestendAdapter = exports.createKusamaAdapter = exports.createPolkadotAdapter = exports.PolkadotAdapter = exports.createCardanoPreprodAdapter = exports.createCardanoAdapter = exports.CardanoAdapter = exports.createTezosGhostnetAdapter = exports.createTezosAdapter = exports.TezosAdapter = exports.createAlgorandTestnetAdapter = exports.createAlgorandAdapter = exports.AlgorandAdapter = exports.createTonTestnetAdapter = exports.createTonAdapter = exports.TonAdapter = exports.createStellarTestnetAdapter = exports.createStellarAdapter = exports.StellarAdapter = exports.createAptosTestnetAdapter = exports.createAptosAdapter = exports.AptosAdapter = exports.createSuiTestnetAdapter = exports.createSuiAdapter = exports.SuiAdapter = exports.createNearTestnetAdapter = exports.createNearAdapter = exports.NearAdapter = exports.createRippleTestnetAdapter = exports.createRippleAdapter = exports.RippleAdapter = exports.createTronShastaAdapter = exports.createTronAdapter = exports.TronAdapter = exports.createOsmosisAdapter = exports.createCosmosAdapter = exports.CosmosAdapter = exports.createSolanaDevnetAdapter = exports.createSolanaAdapter = exports.SolanaAdapter = exports.createBitcoinAdapter = exports.BitcoinAdapter = exports.createBaseAdapter = exports.createArbitrumAdapter = exports.createPolygonAdapter = exports.createEthereumAdapter = exports.EthereumAdapter = exports.Wallet = exports.Sequence0 = void 0;
42
+ exports.validateChain = exports.validateWalletId = exports.validateRefreshResponse = exports.validateWalletsResponse = exports.validateStatusResponse = exports.validateHealthResponse = exports.validateSignResultResponse = exports.validateSignResponse = exports.validateDkgResponse = exports.maskSensitive = exports.maskAddress = exports.NullLogger = exports.DebugLogger = exports.RateLimiter = exports.WALLET_FACTORY_ADDRESSES = exports.SEQUENCE0_CHAIN_IDS = exports.computeEip712Digest = exports.FeeManager = exports.AgentDiscovery = exports.WsClient = exports.CircuitBreakerError = exports.CircuitBreaker = exports.HttpClient = exports.UniversalAccountClient = exports.WitnessClient = exports.SolvencyClient = exports.SettlementClient = exports.AA_CHAIN_IDS = exports.DEFAULT_BUNDLER_URLS = exports.FACTORY_ADDRESSES = exports.ENTRYPOINT_V07_ADDRESS = exports.Sequence0Account = exports.createBitcoinTestnetTaprootAdapter = exports.createBitcoinTaprootAdapter = exports.BitcoinTaprootAdapter = exports.createIcpAdapter = exports.IcpAdapter = exports.createHederaTestnetAdapter = exports.createHederaAdapter = exports.HederaAdapter = exports.createKaspaTestnetAdapter = exports.createKaspaAdapter = exports.KaspaAdapter = exports.createMultiversXDevnetAdapter = exports.createMultiversXAdapter = exports.MultiversXAdapter = exports.createBitcoinSVAdapter = exports.createBitcoinCashAdapter = exports.createLitecoinAdapter = exports.createDogecoinAdapter = void 0;
43
+ exports.VERSION = exports.ValidationError = exports.InvalidResponseError = exports.ChainError = exports.TimeoutError = exports.SigningError = exports.DkgError = exports.NetworkError = exports.Sequence0Error = exports.validateThreshold = exports.validateHexMessage = exports.validateStringAmount = exports.validateAmount = exports.validateAddress = void 0;
43
44
  // Core
44
45
  var client_1 = require("./core/client");
45
46
  Object.defineProperty(exports, "Sequence0", { enumerable: true, get: function () { return client_1.Sequence0; } });
46
47
  var wallet_1 = require("./wallet/wallet");
47
48
  Object.defineProperty(exports, "Wallet", { enumerable: true, get: function () { return wallet_1.Wallet; } });
48
- // Chain Adapters
49
+ // Chain Adapters — EVM + Core
49
50
  var ethereum_1 = require("./chains/ethereum");
50
51
  Object.defineProperty(exports, "EthereumAdapter", { enumerable: true, get: function () { return ethereum_1.EthereumAdapter; } });
51
52
  Object.defineProperty(exports, "createEthereumAdapter", { enumerable: true, get: function () { return ethereum_1.createEthereumAdapter; } });
@@ -59,6 +60,80 @@ var solana_1 = require("./chains/solana");
59
60
  Object.defineProperty(exports, "SolanaAdapter", { enumerable: true, get: function () { return solana_1.SolanaAdapter; } });
60
61
  Object.defineProperty(exports, "createSolanaAdapter", { enumerable: true, get: function () { return solana_1.createSolanaAdapter; } });
61
62
  Object.defineProperty(exports, "createSolanaDevnetAdapter", { enumerable: true, get: function () { return solana_1.createSolanaDevnetAdapter; } });
63
+ // Chain Adapters — secp256k1 ECDSA
64
+ var cosmos_1 = require("./chains/cosmos");
65
+ Object.defineProperty(exports, "CosmosAdapter", { enumerable: true, get: function () { return cosmos_1.CosmosAdapter; } });
66
+ Object.defineProperty(exports, "createCosmosAdapter", { enumerable: true, get: function () { return cosmos_1.createCosmosAdapter; } });
67
+ Object.defineProperty(exports, "createOsmosisAdapter", { enumerable: true, get: function () { return cosmos_1.createOsmosisAdapter; } });
68
+ var tron_1 = require("./chains/tron");
69
+ Object.defineProperty(exports, "TronAdapter", { enumerable: true, get: function () { return tron_1.TronAdapter; } });
70
+ Object.defineProperty(exports, "createTronAdapter", { enumerable: true, get: function () { return tron_1.createTronAdapter; } });
71
+ Object.defineProperty(exports, "createTronShastaAdapter", { enumerable: true, get: function () { return tron_1.createTronShastaAdapter; } });
72
+ var ripple_1 = require("./chains/ripple");
73
+ Object.defineProperty(exports, "RippleAdapter", { enumerable: true, get: function () { return ripple_1.RippleAdapter; } });
74
+ Object.defineProperty(exports, "createRippleAdapter", { enumerable: true, get: function () { return ripple_1.createRippleAdapter; } });
75
+ Object.defineProperty(exports, "createRippleTestnetAdapter", { enumerable: true, get: function () { return ripple_1.createRippleTestnetAdapter; } });
76
+ // Chain Adapters — Ed25519
77
+ var near_1 = require("./chains/near");
78
+ Object.defineProperty(exports, "NearAdapter", { enumerable: true, get: function () { return near_1.NearAdapter; } });
79
+ Object.defineProperty(exports, "createNearAdapter", { enumerable: true, get: function () { return near_1.createNearAdapter; } });
80
+ Object.defineProperty(exports, "createNearTestnetAdapter", { enumerable: true, get: function () { return near_1.createNearTestnetAdapter; } });
81
+ var sui_1 = require("./chains/sui");
82
+ Object.defineProperty(exports, "SuiAdapter", { enumerable: true, get: function () { return sui_1.SuiAdapter; } });
83
+ Object.defineProperty(exports, "createSuiAdapter", { enumerable: true, get: function () { return sui_1.createSuiAdapter; } });
84
+ Object.defineProperty(exports, "createSuiTestnetAdapter", { enumerable: true, get: function () { return sui_1.createSuiTestnetAdapter; } });
85
+ var aptos_1 = require("./chains/aptos");
86
+ Object.defineProperty(exports, "AptosAdapter", { enumerable: true, get: function () { return aptos_1.AptosAdapter; } });
87
+ Object.defineProperty(exports, "createAptosAdapter", { enumerable: true, get: function () { return aptos_1.createAptosAdapter; } });
88
+ Object.defineProperty(exports, "createAptosTestnetAdapter", { enumerable: true, get: function () { return aptos_1.createAptosTestnetAdapter; } });
89
+ var stellar_1 = require("./chains/stellar");
90
+ Object.defineProperty(exports, "StellarAdapter", { enumerable: true, get: function () { return stellar_1.StellarAdapter; } });
91
+ Object.defineProperty(exports, "createStellarAdapter", { enumerable: true, get: function () { return stellar_1.createStellarAdapter; } });
92
+ Object.defineProperty(exports, "createStellarTestnetAdapter", { enumerable: true, get: function () { return stellar_1.createStellarTestnetAdapter; } });
93
+ var ton_1 = require("./chains/ton");
94
+ Object.defineProperty(exports, "TonAdapter", { enumerable: true, get: function () { return ton_1.TonAdapter; } });
95
+ Object.defineProperty(exports, "createTonAdapter", { enumerable: true, get: function () { return ton_1.createTonAdapter; } });
96
+ Object.defineProperty(exports, "createTonTestnetAdapter", { enumerable: true, get: function () { return ton_1.createTonTestnetAdapter; } });
97
+ var algorand_1 = require("./chains/algorand");
98
+ Object.defineProperty(exports, "AlgorandAdapter", { enumerable: true, get: function () { return algorand_1.AlgorandAdapter; } });
99
+ Object.defineProperty(exports, "createAlgorandAdapter", { enumerable: true, get: function () { return algorand_1.createAlgorandAdapter; } });
100
+ Object.defineProperty(exports, "createAlgorandTestnetAdapter", { enumerable: true, get: function () { return algorand_1.createAlgorandTestnetAdapter; } });
101
+ var tezos_1 = require("./chains/tezos");
102
+ Object.defineProperty(exports, "TezosAdapter", { enumerable: true, get: function () { return tezos_1.TezosAdapter; } });
103
+ Object.defineProperty(exports, "createTezosAdapter", { enumerable: true, get: function () { return tezos_1.createTezosAdapter; } });
104
+ Object.defineProperty(exports, "createTezosGhostnetAdapter", { enumerable: true, get: function () { return tezos_1.createTezosGhostnetAdapter; } });
105
+ var cardano_1 = require("./chains/cardano");
106
+ Object.defineProperty(exports, "CardanoAdapter", { enumerable: true, get: function () { return cardano_1.CardanoAdapter; } });
107
+ Object.defineProperty(exports, "createCardanoAdapter", { enumerable: true, get: function () { return cardano_1.createCardanoAdapter; } });
108
+ Object.defineProperty(exports, "createCardanoPreprodAdapter", { enumerable: true, get: function () { return cardano_1.createCardanoPreprodAdapter; } });
109
+ var polkadot_1 = require("./chains/polkadot");
110
+ Object.defineProperty(exports, "PolkadotAdapter", { enumerable: true, get: function () { return polkadot_1.PolkadotAdapter; } });
111
+ Object.defineProperty(exports, "createPolkadotAdapter", { enumerable: true, get: function () { return polkadot_1.createPolkadotAdapter; } });
112
+ Object.defineProperty(exports, "createKusamaAdapter", { enumerable: true, get: function () { return polkadot_1.createKusamaAdapter; } });
113
+ Object.defineProperty(exports, "createPolkadotWestendAdapter", { enumerable: true, get: function () { return polkadot_1.createPolkadotWestendAdapter; } });
114
+ // Chain Adapters — UTXO (P2PKH)
115
+ var dogecoin_litecoin_1 = require("./chains/dogecoin-litecoin");
116
+ Object.defineProperty(exports, "DogecoinLitecoinAdapter", { enumerable: true, get: function () { return dogecoin_litecoin_1.DogecoinLitecoinAdapter; } });
117
+ Object.defineProperty(exports, "createDogecoinAdapter", { enumerable: true, get: function () { return dogecoin_litecoin_1.createDogecoinAdapter; } });
118
+ Object.defineProperty(exports, "createLitecoinAdapter", { enumerable: true, get: function () { return dogecoin_litecoin_1.createLitecoinAdapter; } });
119
+ Object.defineProperty(exports, "createBitcoinCashAdapter", { enumerable: true, get: function () { return dogecoin_litecoin_1.createBitcoinCashAdapter; } });
120
+ Object.defineProperty(exports, "createBitcoinSVAdapter", { enumerable: true, get: function () { return dogecoin_litecoin_1.createBitcoinSVAdapter; } });
121
+ // Chain Adapters — New Non-EVM
122
+ var multiversx_1 = require("./chains/multiversx");
123
+ Object.defineProperty(exports, "MultiversXAdapter", { enumerable: true, get: function () { return multiversx_1.MultiversXAdapter; } });
124
+ Object.defineProperty(exports, "createMultiversXAdapter", { enumerable: true, get: function () { return multiversx_1.createMultiversXAdapter; } });
125
+ Object.defineProperty(exports, "createMultiversXDevnetAdapter", { enumerable: true, get: function () { return multiversx_1.createMultiversXDevnetAdapter; } });
126
+ var kaspa_1 = require("./chains/kaspa");
127
+ Object.defineProperty(exports, "KaspaAdapter", { enumerable: true, get: function () { return kaspa_1.KaspaAdapter; } });
128
+ Object.defineProperty(exports, "createKaspaAdapter", { enumerable: true, get: function () { return kaspa_1.createKaspaAdapter; } });
129
+ Object.defineProperty(exports, "createKaspaTestnetAdapter", { enumerable: true, get: function () { return kaspa_1.createKaspaTestnetAdapter; } });
130
+ var hedera_1 = require("./chains/hedera");
131
+ Object.defineProperty(exports, "HederaAdapter", { enumerable: true, get: function () { return hedera_1.HederaAdapter; } });
132
+ Object.defineProperty(exports, "createHederaAdapter", { enumerable: true, get: function () { return hedera_1.createHederaAdapter; } });
133
+ Object.defineProperty(exports, "createHederaTestnetAdapter", { enumerable: true, get: function () { return hedera_1.createHederaTestnetAdapter; } });
134
+ var icp_1 = require("./chains/icp");
135
+ Object.defineProperty(exports, "IcpAdapter", { enumerable: true, get: function () { return icp_1.IcpAdapter; } });
136
+ Object.defineProperty(exports, "createIcpAdapter", { enumerable: true, get: function () { return icp_1.createIcpAdapter; } });
62
137
  // Bitcoin Taproot Adapter (full P2TR lifecycle)
63
138
  var bitcoin_taproot_1 = require("./chains/bitcoin-taproot");
64
139
  Object.defineProperty(exports, "BitcoinTaprootAdapter", { enumerable: true, get: function () { return bitcoin_taproot_1.BitcoinTaprootAdapter; } });
@@ -71,6 +146,18 @@ Object.defineProperty(exports, "ENTRYPOINT_V07_ADDRESS", { enumerable: true, get
71
146
  Object.defineProperty(exports, "FACTORY_ADDRESSES", { enumerable: true, get: function () { return erc4337_1.FACTORY_ADDRESSES; } });
72
147
  Object.defineProperty(exports, "DEFAULT_BUNDLER_URLS", { enumerable: true, get: function () { return erc4337_1.DEFAULT_BUNDLER_URLS; } });
73
148
  Object.defineProperty(exports, "AA_CHAIN_IDS", { enumerable: true, get: function () { return erc4337_1.AA_CHAIN_IDS; } });
149
+ // K3: Settlement
150
+ var settlement_1 = require("./settlement/settlement");
151
+ Object.defineProperty(exports, "SettlementClient", { enumerable: true, get: function () { return settlement_1.SettlementClient; } });
152
+ // K5: Verifiable Solvency Protocol
153
+ var solvency_1 = require("./core/solvency");
154
+ Object.defineProperty(exports, "SolvencyClient", { enumerable: true, get: function () { return solvency_1.SolvencyClient; } });
155
+ // K6: WITNESS — Decentralized Cryptographic Witness Network
156
+ var witness_1 = require("./core/witness");
157
+ Object.defineProperty(exports, "WitnessClient", { enumerable: true, get: function () { return witness_1.WitnessClient; } });
158
+ // K7: Universal Account — One Wallet, All Chains
159
+ var universal_account_1 = require("./core/universal-account");
160
+ Object.defineProperty(exports, "UniversalAccountClient", { enumerable: true, get: function () { return universal_account_1.UniversalAccountClient; } });
74
161
  // Utilities
75
162
  var http_1 = require("./utils/http");
76
163
  Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_1.HttpClient; } });
@@ -123,5 +210,5 @@ Object.defineProperty(exports, "ChainError", { enumerable: true, get: function (
123
210
  Object.defineProperty(exports, "InvalidResponseError", { enumerable: true, get: function () { return errors_1.InvalidResponseError; } });
124
211
  Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
125
212
  // Version
126
- exports.VERSION = '1.1.0';
213
+ exports.VERSION = '2.0.0';
127
214
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;;;;AAEH,OAAO;AACP,wCAA0C;AAAjC,mGAAA,SAAS,OAAA;AAClB,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AA0Bf,iBAAiB;AACjB,8CAA2I;AAAlI,2GAAA,eAAe,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC/G,4CAAwE;AAA/D,yGAAA,cAAc,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAC7C,0CAAgG;AAAvF,uGAAA,aAAa,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,mHAAA,yBAAyB,OAAA;AAEtE,gDAAgD;AAChD,4DAIkC;AAH9B,wHAAA,qBAAqB,OAAA;AACrB,8HAAA,2BAA2B,OAAA;AAC3B,qIAAA,kCAAkC,OAAA;AActC,+BAA+B;AAC/B,qCAMmB;AALf,2GAAA,gBAAgB,OAAA;AAChB,iHAAA,sBAAsB,OAAA;AACtB,4GAAA,iBAAiB,OAAA;AACjB,+GAAA,oBAAoB,OAAA;AACpB,uGAAA,YAAY,OAAA;AAWhB,YAAY;AACZ,qCAA+E;AAAtE,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAExD,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AAEjB,+CAAmD;AAA1C,2GAAA,cAAc,OAAA;AAEvB,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AAGnB,yBAAyB;AACzB,yCAAoG;AAA3F,6GAAA,mBAAmB,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,kHAAA,wBAAwB,OAAA;AAE3E,eAAe;AACf,qDAAmD;AAA1C,2GAAA,WAAW,OAAA;AAGpB,SAAS;AACT,yCAAqF;AAA5E,qGAAA,WAAW,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,uGAAA,aAAa,OAAA;AAG5D,aAAa;AACb,iDAe4B;AAdxB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,wHAAA,0BAA0B,OAAA;AAC1B,oHAAA,sBAAsB,OAAA;AACtB,oHAAA,sBAAsB,OAAA;AACtB,qHAAA,uBAAuB,OAAA;AACvB,qHAAA,uBAAuB,OAAA;AACvB,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,4GAAA,cAAc,OAAA;AACd,kHAAA,oBAAoB,OAAA;AACpB,gHAAA,kBAAkB,OAAA;AAClB,+GAAA,iBAAiB,OAAA;AAGrB,SAAS;AACT,yCASwB;AARpB,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AACZ,kGAAA,QAAQ,OAAA;AACR,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,8GAAA,oBAAoB,OAAA;AACpB,yGAAA,eAAe,OAAA;AAGnB,UAAU;AACG,QAAA,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * K3: Universal Settlement Network -- multilateral netting + atomic settlement
3
+ *
4
+ * Provides a settlement layer for batching and netting payment intents across
5
+ * multiple wallets and chains. Instead of executing every individual transfer
6
+ * on-chain, the settlement engine accumulates intents during a cycle, computes
7
+ * net positions via multilateral netting, and settles only the net amounts
8
+ * atomically using K2 cross-chain signing.
9
+ *
10
+ * Settlement cycles:
11
+ * 1. OPEN -- intents are accepted and queued
12
+ * 2. NETTING -- cycle closes, net positions are computed (off-chain)
13
+ * 3. SETTLING -- atomic signing + broadcast of net transfers (via K2)
14
+ * 4. COMPLETE -- all net transfers confirmed on-chain
15
+ * 5. FAILED -- one or more net transfers could not settle
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { Sequence0 } from '@sequence0/sdk';
20
+ *
21
+ * const s0 = new Sequence0({ network: 'mainnet', ownerPrivateKey: '0x...' });
22
+ * const settlement = s0.getSettlementClient();
23
+ *
24
+ * // Submit a payment intent
25
+ * const { intentHash, cycleId } = await settlement.submitIntent(
26
+ * {
27
+ * senderWalletId: 'alice-eth-wallet',
28
+ * recipientWalletId: 'bob-eth-wallet',
29
+ * chain: 'ethereum',
30
+ * amount: '1000000000000000000', // 1 ETH
31
+ * },
32
+ * ownerSignature,
33
+ * timestamp,
34
+ * );
35
+ *
36
+ * // Check current cycle status
37
+ * const cycle = await settlement.getCurrentCycle();
38
+ * console.log(cycle.status); // 'open' | 'netting' | 'settling' | 'complete'
39
+ * ```
40
+ */
41
+ import { Chain } from '../core/types';
42
+ import { HttpClient } from '../utils/http';
43
+ export interface SettlementIntent {
44
+ /** Wallet ID of the sender */
45
+ senderWalletId: string;
46
+ /** Wallet ID of the recipient */
47
+ recipientWalletId: string;
48
+ /** Target blockchain for settlement */
49
+ chain: Chain;
50
+ /** Amount in the chain's smallest denomination (e.g. wei, lamports) */
51
+ amount: string;
52
+ /** Token contract address. Omit for native token transfers. */
53
+ token?: string;
54
+ }
55
+ export interface SettlementCycle {
56
+ /** Unique cycle identifier */
57
+ cycleId: number;
58
+ /** Current cycle status */
59
+ status: 'open' | 'netting' | 'settling' | 'complete' | 'failed';
60
+ /** Number of intents in this cycle */
61
+ intentCount: number;
62
+ /** Unix timestamp when the cycle opened */
63
+ openedAt: number;
64
+ /** Unix timestamp when the cycle closed (undefined if still open) */
65
+ closedAt?: number;
66
+ }
67
+ export interface NetPosition {
68
+ /** Sender wallet ID (after netting) */
69
+ senderWallet: string;
70
+ /** Recipient wallet ID (after netting) */
71
+ recipientWallet: string;
72
+ /** Chain for this net transfer */
73
+ chain: string;
74
+ /** Net amount to transfer (smallest denomination) */
75
+ netAmount: string;
76
+ }
77
+ export interface SettlementResult {
78
+ /** Cycle that was settled */
79
+ cycleId: number;
80
+ /** K2 atomic manifest ID used for settlement */
81
+ manifestId: string;
82
+ /** Final status */
83
+ status: 'complete' | 'failed';
84
+ /** Computed net positions that were settled */
85
+ netPositions: NetPosition[];
86
+ /** Error message if settlement failed */
87
+ error?: string;
88
+ }
89
+ /**
90
+ * Settlement client for K3 Universal Settlement Network.
91
+ *
92
+ * Communicates with settlement endpoints on the agent node to submit
93
+ * payment intents, query cycle status, and retrieve settlement history.
94
+ */
95
+ export declare class SettlementClient {
96
+ private httpClient;
97
+ /**
98
+ * Create a new SettlementClient
99
+ *
100
+ * @param baseUrl - Agent node REST API URL
101
+ * @param httpClient - Shared HttpClient instance for making requests
102
+ */
103
+ constructor(baseUrl: string, httpClient: HttpClient);
104
+ /**
105
+ * Submit a payment intent to the current open settlement cycle.
106
+ *
107
+ * The intent is queued for netting when the cycle closes. The caller must
108
+ * provide an ownership proof (signature + timestamp) to authorize the
109
+ * sender wallet.
110
+ *
111
+ * @param intent - Payment intent details
112
+ * @param ownerSignature - EIP-712 ownership proof signature (hex string)
113
+ * @param timestamp - Unix timestamp used in the ownership proof
114
+ * @returns The intent hash and the cycle it was assigned to
115
+ *
116
+ * @throws {Sequence0Error} If the intent is invalid or the cycle is not open
117
+ * @throws {NetworkError} If the agent is unreachable
118
+ */
119
+ submitIntent(intent: SettlementIntent, ownerSignature: string, timestamp: number): Promise<{
120
+ intentHash: string;
121
+ cycleId: number;
122
+ }>;
123
+ /**
124
+ * Get the current open settlement cycle.
125
+ *
126
+ * @returns Current cycle status
127
+ * @throws {NetworkError} If the agent is unreachable
128
+ */
129
+ getCurrentCycle(): Promise<SettlementCycle>;
130
+ /**
131
+ * Get a specific settlement cycle by ID.
132
+ *
133
+ * @param cycleId - The cycle ID to look up
134
+ * @returns Cycle status and details
135
+ * @throws {Sequence0Error} If the cycle is not found
136
+ * @throws {NetworkError} If the agent is unreachable
137
+ */
138
+ getCycle(cycleId: number): Promise<SettlementCycle>;
139
+ /**
140
+ * Get settlement cycle history.
141
+ *
142
+ * @param limit - Max number of cycles to return (default: 20)
143
+ * @returns Array of settlement cycles, most recent first
144
+ * @throws {NetworkError} If the agent is unreachable
145
+ */
146
+ getCycleHistory(limit?: number): Promise<SettlementCycle[]>;
147
+ /**
148
+ * Map a raw cycle response from the agent to the SettlementCycle interface.
149
+ */
150
+ private mapCycleResponse;
151
+ }
152
+ //# sourceMappingURL=settlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../../src/settlement/settlement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,MAAM,WAAW,gBAAgB;IAC7B,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,eAAe;IAC5B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChE,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,WAAW;IACxB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,gBAAgB;IAC7B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC9B,+CAA+C;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;GAKG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,UAAU,CAAa;IAE/B;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAInD;;;;;;;;;;;;;;OAcG;IACG,YAAY,CACd,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA0CnD;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAYjD;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBzD;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuBjE;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA0B3B"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ /**
3
+ * K3: Universal Settlement Network -- multilateral netting + atomic settlement
4
+ *
5
+ * Provides a settlement layer for batching and netting payment intents across
6
+ * multiple wallets and chains. Instead of executing every individual transfer
7
+ * on-chain, the settlement engine accumulates intents during a cycle, computes
8
+ * net positions via multilateral netting, and settles only the net amounts
9
+ * atomically using K2 cross-chain signing.
10
+ *
11
+ * Settlement cycles:
12
+ * 1. OPEN -- intents are accepted and queued
13
+ * 2. NETTING -- cycle closes, net positions are computed (off-chain)
14
+ * 3. SETTLING -- atomic signing + broadcast of net transfers (via K2)
15
+ * 4. COMPLETE -- all net transfers confirmed on-chain
16
+ * 5. FAILED -- one or more net transfers could not settle
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { Sequence0 } from '@sequence0/sdk';
21
+ *
22
+ * const s0 = new Sequence0({ network: 'mainnet', ownerPrivateKey: '0x...' });
23
+ * const settlement = s0.getSettlementClient();
24
+ *
25
+ * // Submit a payment intent
26
+ * const { intentHash, cycleId } = await settlement.submitIntent(
27
+ * {
28
+ * senderWalletId: 'alice-eth-wallet',
29
+ * recipientWalletId: 'bob-eth-wallet',
30
+ * chain: 'ethereum',
31
+ * amount: '1000000000000000000', // 1 ETH
32
+ * },
33
+ * ownerSignature,
34
+ * timestamp,
35
+ * );
36
+ *
37
+ * // Check current cycle status
38
+ * const cycle = await settlement.getCurrentCycle();
39
+ * console.log(cycle.status); // 'open' | 'netting' | 'settling' | 'complete'
40
+ * ```
41
+ */
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.SettlementClient = void 0;
44
+ const errors_1 = require("../utils/errors");
45
+ // ── Settlement Client ──
46
+ /**
47
+ * Settlement client for K3 Universal Settlement Network.
48
+ *
49
+ * Communicates with settlement endpoints on the agent node to submit
50
+ * payment intents, query cycle status, and retrieve settlement history.
51
+ */
52
+ class SettlementClient {
53
+ /**
54
+ * Create a new SettlementClient
55
+ *
56
+ * @param baseUrl - Agent node REST API URL
57
+ * @param httpClient - Shared HttpClient instance for making requests
58
+ */
59
+ constructor(baseUrl, httpClient) {
60
+ this.httpClient = httpClient;
61
+ }
62
+ /**
63
+ * Submit a payment intent to the current open settlement cycle.
64
+ *
65
+ * The intent is queued for netting when the cycle closes. The caller must
66
+ * provide an ownership proof (signature + timestamp) to authorize the
67
+ * sender wallet.
68
+ *
69
+ * @param intent - Payment intent details
70
+ * @param ownerSignature - EIP-712 ownership proof signature (hex string)
71
+ * @param timestamp - Unix timestamp used in the ownership proof
72
+ * @returns The intent hash and the cycle it was assigned to
73
+ *
74
+ * @throws {Sequence0Error} If the intent is invalid or the cycle is not open
75
+ * @throws {NetworkError} If the agent is unreachable
76
+ */
77
+ async submitIntent(intent, ownerSignature, timestamp) {
78
+ if (!intent.senderWalletId || typeof intent.senderWalletId !== 'string') {
79
+ throw new errors_1.Sequence0Error('senderWalletId must be a non-empty string');
80
+ }
81
+ if (!intent.recipientWalletId || typeof intent.recipientWalletId !== 'string') {
82
+ throw new errors_1.Sequence0Error('recipientWalletId must be a non-empty string');
83
+ }
84
+ if (!intent.amount || typeof intent.amount !== 'string') {
85
+ throw new errors_1.Sequence0Error('amount must be a non-empty string');
86
+ }
87
+ if (!ownerSignature || typeof ownerSignature !== 'string') {
88
+ throw new errors_1.Sequence0Error('ownerSignature must be a non-empty string');
89
+ }
90
+ if (typeof timestamp !== 'number' || timestamp <= 0) {
91
+ throw new errors_1.Sequence0Error('timestamp must be a positive number');
92
+ }
93
+ const response = await this.httpClient.post('/settlement/submit-intent', {
94
+ sender_wallet_id: intent.senderWalletId,
95
+ recipient_wallet_id: intent.recipientWalletId,
96
+ chain: intent.chain,
97
+ amount: intent.amount,
98
+ token: intent.token,
99
+ owner_signature: ownerSignature,
100
+ timestamp,
101
+ });
102
+ if (!response || typeof response.intent_hash !== 'string') {
103
+ throw new errors_1.Sequence0Error('Invalid response from /settlement/submit-intent: missing intent_hash');
104
+ }
105
+ return {
106
+ intentHash: response.intent_hash,
107
+ cycleId: response.cycle_id,
108
+ };
109
+ }
110
+ /**
111
+ * Get the current open settlement cycle.
112
+ *
113
+ * @returns Current cycle status
114
+ * @throws {NetworkError} If the agent is unreachable
115
+ */
116
+ async getCurrentCycle() {
117
+ const response = await this.httpClient.get('/settlement/cycle/current');
118
+ return this.mapCycleResponse(response);
119
+ }
120
+ /**
121
+ * Get a specific settlement cycle by ID.
122
+ *
123
+ * @param cycleId - The cycle ID to look up
124
+ * @returns Cycle status and details
125
+ * @throws {Sequence0Error} If the cycle is not found
126
+ * @throws {NetworkError} If the agent is unreachable
127
+ */
128
+ async getCycle(cycleId) {
129
+ if (typeof cycleId !== 'number' || cycleId < 0) {
130
+ throw new errors_1.Sequence0Error('cycleId must be a non-negative number');
131
+ }
132
+ const response = await this.httpClient.get(`/settlement/cycle/${cycleId}`);
133
+ return this.mapCycleResponse(response);
134
+ }
135
+ /**
136
+ * Get settlement cycle history.
137
+ *
138
+ * @param limit - Max number of cycles to return (default: 20)
139
+ * @returns Array of settlement cycles, most recent first
140
+ * @throws {NetworkError} If the agent is unreachable
141
+ */
142
+ async getCycleHistory(limit) {
143
+ const queryLimit = limit && limit > 0 ? limit : 20;
144
+ const response = await this.httpClient.get(`/settlement/history?limit=${queryLimit}`);
145
+ if (!response || !Array.isArray(response.cycles)) {
146
+ throw new errors_1.Sequence0Error('Invalid response from /settlement/history: missing cycles array');
147
+ }
148
+ return response.cycles.map((c) => this.mapCycleResponse(c));
149
+ }
150
+ // ── Internals ──
151
+ /**
152
+ * Map a raw cycle response from the agent to the SettlementCycle interface.
153
+ */
154
+ mapCycleResponse(response) {
155
+ if (!response || typeof response.cycle_id !== 'number') {
156
+ throw new errors_1.Sequence0Error('Invalid settlement cycle response: missing cycle_id');
157
+ }
158
+ const validStatuses = ['open', 'netting', 'settling', 'complete', 'failed'];
159
+ const status = validStatuses.includes(response.status)
160
+ ? response.status
161
+ : 'open';
162
+ return {
163
+ cycleId: response.cycle_id,
164
+ status,
165
+ intentCount: response.intent_count ?? 0,
166
+ openedAt: response.opened_at ?? 0,
167
+ closedAt: response.closed_at,
168
+ };
169
+ }
170
+ }
171
+ exports.SettlementClient = SettlementClient;
172
+ //# sourceMappingURL=settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../src/settlement/settlement.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,8 @@ function abiEncode(slots) {
29
29
  }
30
30
  /** WalletFactory contract addresses (EIP-712 verifyingContract) */
31
31
  exports.WALLET_FACTORY_ADDRESSES = {
32
- testnet: '0x2379786fa3fb6e9de621df5ae91ec6035f9122ed',
33
- mainnet: '0x06f3556ffa89ca7060c727fff0f7e2444380cb58',
32
+ testnet: '0x0fdb2d2147b80fd2e9ad4b8d1a70b68c1353afe3',
33
+ mainnet: '0x05b4df6ab0684bcc82a4a92677e4b46007638604',
34
34
  };
35
35
  /** Sequence0 chain IDs (EIP-712 chainId) */
36
36
  exports.SEQUENCE0_CHAIN_IDS = {
@@ -12,8 +12,8 @@
12
12
  * ```typescript
13
13
  * const fee = new FeeManager({
14
14
  * rpcUrl: 'https://rpc.sequence0.network',
15
- * feeCollectorAddress: '0x1977f852aa0d16a59c4ea71b6cc72db02803395f',
16
- * registryAddress: '0x774d9a0dc937bfdc7636cbc6e0fc37f9a0809177',
15
+ * feeCollectorAddress: '0xccd70007534c33b0ab3997d81207fea5e59ca54a',
16
+ * registryAddress: '0xdefa5ab7ea6a87ac51628f4cde55bb4d49e62f50',
17
17
  * });
18
18
  *
19
19
  * // Get the current per-signature fee
package/dist/utils/fee.js CHANGED
@@ -13,8 +13,8 @@
13
13
  * ```typescript
14
14
  * const fee = new FeeManager({
15
15
  * rpcUrl: 'https://rpc.sequence0.network',
16
- * feeCollectorAddress: '0x1977f852aa0d16a59c4ea71b6cc72db02803395f',
17
- * registryAddress: '0x774d9a0dc937bfdc7636cbc6e0fc37f9a0809177',
16
+ * feeCollectorAddress: '0xccd70007534c33b0ab3997d81207fea5e59ca54a',
17
+ * registryAddress: '0xdefa5ab7ea6a87ac51628f4cde55bb4d49e62f50',
18
18
  * });
19
19
  *
20
20
  * // Get the current per-signature fee
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Optional Dependency Loader
3
+ *
4
+ * Chain adapters use optional peer dependencies to avoid bloating
5
+ * the SDK with every chain's SDK. This helper provides a clear
6
+ * error when a required package isn't installed.
7
+ */
8
+ export declare function requireOptionalDependency(packageName: string, chainName: string): any;
9
+ //# sourceMappingURL=optional-deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-deps.d.ts","sourceRoot":"","sources":["../../src/utils/optional-deps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAUrF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Optional Dependency Loader
4
+ *
5
+ * Chain adapters use optional peer dependencies to avoid bloating
6
+ * the SDK with every chain's SDK. This helper provides a clear
7
+ * error when a required package isn't installed.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.requireOptionalDependency = requireOptionalDependency;
11
+ const errors_1 = require("./errors");
12
+ function requireOptionalDependency(packageName, chainName) {
13
+ try {
14
+ return require(packageName);
15
+ }
16
+ catch {
17
+ throw new errors_1.ChainError(`Chain '${chainName}' requires the '${packageName}' package. ` +
18
+ `Install it: npm install ${packageName}`, chainName);
19
+ }
20
+ }
21
+ //# sourceMappingURL=optional-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-deps.js","sourceRoot":"","sources":["../../src/utils/optional-deps.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAIH,8DAUC;AAZD,qCAAsC;AAEtC,SAAgB,yBAAyB,CAAC,WAAmB,EAAE,SAAiB;IAC5E,IAAI,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,mBAAU,CAChB,UAAU,SAAS,mBAAmB,WAAW,aAAa;YAC9D,2BAA2B,WAAW,EAAE,EACxC,SAAS,CACZ,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EAClB,MAAM,eAAe,CAAC;AAgCvB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA2ChF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CA2CA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmClF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAiE9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAmBtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CA2BtF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAsCxF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB/G;AA8CD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAuB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAgBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAyCtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,MAAM,CA8B5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAU,GAAG,MAAM,GAAG,MAAM,CAwCzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,SAAY,GAAG,MAAM,CAgBlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAiC9E"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EAClB,MAAM,eAAe,CAAC;AAgCvB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA2ChF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CA2CA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmClF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAiE9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAmBtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CA2BtF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAsCxF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB/G;AAmDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAuB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAgBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAyCtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,MAAM,CA8B5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAU,GAAG,MAAM,GAAG,MAAM,CAwCzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,SAAY,GAAG,MAAM,CAgBlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAiC9E"}
@@ -235,10 +235,13 @@ const SUPPORTED_CHAINS = [
235
235
  'zora', 'sei', 'boba', 'taiko', 'opbnb', 'fraxtal', 'worldchain',
236
236
  'lisk', 'redstone', 'cyber', 'mint', 'bob', 'xai', 'morph',
237
237
  'astar-zkevm',
238
+ 'berachain', 'sonic', 'abstract', 'ink', 'unichain',
239
+ 'soneium', 'gravity', 'zklink-nova',
238
240
  // Non-EVM
239
241
  'bitcoin', 'solana', 'cosmos', 'near', 'sui', 'aptos',
240
242
  'polkadot', 'cardano', 'tron', 'dogecoin', 'litecoin',
241
243
  'stellar', 'ton', 'algorand', 'tezos', 'ripple',
244
+ 'bitcoincash', 'bitcoinsv', 'multiversx', 'kaspa', 'hedera', 'icp',
242
245
  ];
243
246
  /** EVM-compatible chains (use 0x addresses) */
244
247
  const EVM_CHAINS = [
@@ -252,7 +255,9 @@ const EVM_CHAINS = [
252
255
  'mantle', 'blast', 'mode', 'manta', 'polygon-zkevm', 'metis',
253
256
  'zora', 'sei', 'boba', 'taiko', 'opbnb', 'fraxtal', 'worldchain',
254
257
  'lisk', 'redstone', 'cyber', 'mint', 'bob', 'xai', 'morph',
255
- 'astar-zkevm', 'tron',
258
+ 'astar-zkevm',
259
+ 'berachain', 'sonic', 'abstract', 'ink', 'unichain',
260
+ 'soneium', 'gravity', 'zklink-nova',
256
261
  ];
257
262
  /** Wallet ID: alphanumeric, hyphens, underscores, max 64 chars */
258
263
  const WALLET_ID_PATTERN = /^[a-zA-Z0-9_-]{1,64}$/;