@sequence0/sdk 0.1.0 → 1.0.1

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 (52) hide show
  1. package/README.md +63 -5
  2. package/dist/chains/bitcoin.d.ts +15 -3
  3. package/dist/chains/bitcoin.d.ts.map +1 -1
  4. package/dist/chains/bitcoin.js +23 -3
  5. package/dist/chains/bitcoin.js.map +1 -1
  6. package/dist/chains/ethereum.d.ts +3 -0
  7. package/dist/chains/ethereum.d.ts.map +1 -1
  8. package/dist/chains/ethereum.js +156 -20
  9. package/dist/chains/ethereum.js.map +1 -1
  10. package/dist/core/client.d.ts +132 -2
  11. package/dist/core/client.d.ts.map +1 -1
  12. package/dist/core/client.js +501 -32
  13. package/dist/core/client.js.map +1 -1
  14. package/dist/core/types.d.ts +55 -3
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/index.d.ts +15 -6
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +35 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/utils/discovery.d.ts +95 -0
  21. package/dist/utils/discovery.d.ts.map +1 -0
  22. package/dist/utils/discovery.js +212 -0
  23. package/dist/utils/discovery.js.map +1 -0
  24. package/dist/utils/errors.d.ts +26 -0
  25. package/dist/utils/errors.d.ts.map +1 -1
  26. package/dist/utils/errors.js +32 -1
  27. package/dist/utils/errors.js.map +1 -1
  28. package/dist/utils/fee.d.ts +107 -0
  29. package/dist/utils/fee.d.ts.map +1 -0
  30. package/dist/utils/fee.js +220 -0
  31. package/dist/utils/fee.js.map +1 -0
  32. package/dist/utils/http.d.ts +98 -2
  33. package/dist/utils/http.d.ts.map +1 -1
  34. package/dist/utils/http.js +238 -6
  35. package/dist/utils/http.js.map +1 -1
  36. package/dist/utils/logger.d.ts +43 -0
  37. package/dist/utils/logger.d.ts.map +1 -0
  38. package/dist/utils/logger.js +129 -0
  39. package/dist/utils/logger.js.map +1 -0
  40. package/dist/utils/rate-limiter.d.ts +43 -0
  41. package/dist/utils/rate-limiter.d.ts.map +1 -0
  42. package/dist/utils/rate-limiter.js +99 -0
  43. package/dist/utils/rate-limiter.js.map +1 -0
  44. package/dist/utils/validation.d.ts +74 -0
  45. package/dist/utils/validation.d.ts.map +1 -0
  46. package/dist/utils/validation.js +380 -0
  47. package/dist/utils/validation.js.map +1 -0
  48. package/dist/wallet/wallet.d.ts +13 -1
  49. package/dist/wallet/wallet.d.ts.map +1 -1
  50. package/dist/wallet/wallet.js +86 -21
  51. package/dist/wallet/wallet.js.map +1 -1
  52. package/package.json +9 -3
@@ -25,6 +25,9 @@
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.Wallet = void 0;
28
+ const ethers_1 = require("ethers");
29
+ // ethers v6 ships without .d.ts — TypedDataEncoder is exported but not typed
30
+ const { TypedDataEncoder } = require('ethers');
28
31
  const http_1 = require("../utils/http");
29
32
  const websocket_1 = require("../utils/websocket");
30
33
  const errors_1 = require("../utils/errors");
@@ -40,6 +43,7 @@ class Wallet {
40
43
  this.curve = config.curve;
41
44
  this.network = config.network;
42
45
  this.agentUrl = config.agentUrl;
46
+ this.ownerSigner = config.ownerSigner || null;
43
47
  this.http = new http_1.HttpClient({ baseUrl: config.agentUrl });
44
48
  this.adapter = this.createAdapter(config.chain, config.rpcUrl);
45
49
  }
@@ -102,6 +106,12 @@ class Wallet {
102
106
  * ```
103
107
  */
104
108
  async sendTransaction(transaction) {
109
+ // Guard: Bitcoin-family chains don't have full TX serialization yet
110
+ if (this.chain === 'bitcoin' || this.chain === 'dogecoin' || this.chain === 'litecoin') {
111
+ throw new errors_1.ChainError(`sendTransaction() is not yet supported for ${this.chain}. ` +
112
+ `Use sign() to get a Schnorr signature, then construct and broadcast ` +
113
+ `the raw transaction externally using bitcoinjs-lib.`, this.chain);
114
+ }
105
115
  const signed = await this.sign(transaction);
106
116
  return this.broadcast(signed);
107
117
  }
@@ -160,9 +170,13 @@ class Wallet {
160
170
  if (!this.isEvmChain()) {
161
171
  throw new errors_1.Sequence0Error('signTypedData is only supported on EVM chains');
162
172
  }
163
- // Encode the typed data hash (EIP-712)
164
- const encoded = JSON.stringify(typedData);
165
- const messageHex = Buffer.from(encoded).toString('hex');
173
+ // Compute proper EIP-712 hash using ethers TypedDataEncoder:
174
+ // hash = keccak256( \x19\x01 + domainSeparator + hashStruct(primaryType, message) )
175
+ // Strip the EIP712Domain entry from types (ethers handles it from the domain object)
176
+ const { EIP712Domain: _, ...typesWithoutDomain } = typedData.types;
177
+ const messageHash = TypedDataEncoder.hash(typedData.domain, typesWithoutDomain, typedData.message);
178
+ // messageHash is already 0x-prefixed keccak256 hex — convert to raw hex for signing
179
+ const messageHex = messageHash.startsWith('0x') ? messageHash.slice(2) : messageHash;
166
180
  return this.requestAndWaitSignature(messageHex);
167
181
  }
168
182
  // ────────────────────────────────────────────────
@@ -196,11 +210,18 @@ class Wallet {
196
210
  * Submit a message for FROST signing and wait for the result
197
211
  */
198
212
  async requestAndWaitSignature(messageHex, timeoutMs = 30000) {
199
- // Submit signing request
200
- const response = await this.http.post('/sign', {
213
+ // Build the POST body, optionally including ownership proof
214
+ const body = {
201
215
  wallet_id: this.walletId,
202
216
  message: messageHex,
203
- });
217
+ };
218
+ const proof = await this.signOwnershipProof(messageHex);
219
+ if (proof) {
220
+ body.owner_signature = proof.owner_signature;
221
+ body.timestamp = proof.timestamp;
222
+ }
223
+ // Submit signing request
224
+ const response = await this.http.post('/sign', body);
204
225
  const requestId = response.request_id;
205
226
  // Try WebSocket first for instant notification
206
227
  try {
@@ -229,26 +250,70 @@ class Wallet {
229
250
  }
230
251
  throw new errors_1.TimeoutError(`Signing timed out after ${timeoutMs}ms (request: ${requestId})`);
231
252
  }
253
+ /**
254
+ * Build an ownership proof for a sign request.
255
+ *
256
+ * The proof is: sign( keccak256( wallet_id_bytes + message_hex_bytes + timestamp_be_bytes ) )
257
+ *
258
+ * Returns null when no ownerSigner is configured (backwards compatible).
259
+ */
260
+ async signOwnershipProof(messageHex) {
261
+ if (!this.ownerSigner)
262
+ return null;
263
+ const timestamp = Math.floor(Date.now() / 1000);
264
+ // wallet_id as UTF-8 bytes
265
+ const walletIdBytes = new TextEncoder().encode(this.walletId);
266
+ // message as UTF-8 string bytes (must match Rust: message.as_bytes())
267
+ const messageBytes = new TextEncoder().encode(messageHex);
268
+ // timestamp as 8-byte big-endian
269
+ const timestampBytes = new Uint8Array(8);
270
+ const view = new DataView(timestampBytes.buffer);
271
+ view.setBigUint64(0, BigInt(timestamp), false);
272
+ // Concatenate and hash: keccak256(walletId + message + timestamp)
273
+ const payload = (0, ethers_1.concat)([walletIdBytes, messageBytes, timestampBytes]);
274
+ const digest = (0, ethers_1.getBytes)((0, ethers_1.keccak256)(payload));
275
+ // Sign the digest
276
+ const signature = await this.ownerSigner(digest);
277
+ return {
278
+ owner_signature: signature.startsWith('0x') ? signature : '0x' + signature,
279
+ timestamp,
280
+ };
281
+ }
232
282
  createAdapter(chain, rpcUrl) {
233
- switch (chain) {
234
- case 'bitcoin':
235
- return new bitcoin_1.BitcoinAdapter(this.network === 'testnet' ? 'testnet' : 'mainnet');
236
- case 'solana':
237
- return new solana_1.SolanaAdapter(this.network === 'testnet' ? 'devnet' : 'mainnet', rpcUrl);
238
- case 'ethereum':
239
- case 'polygon':
240
- case 'arbitrum':
241
- case 'optimism':
242
- case 'base':
243
- case 'bsc':
244
- case 'avalanche':
245
- default:
246
- return new ethereum_1.EthereumAdapter(chain, rpcUrl);
283
+ if (chain === 'bitcoin' || chain === 'dogecoin' || chain === 'litecoin') {
284
+ return new bitcoin_1.BitcoinAdapter(this.network === 'testnet' ? 'testnet' : 'mainnet');
285
+ }
286
+ if (chain === 'solana') {
287
+ return new solana_1.SolanaAdapter(this.network === 'testnet' ? 'devnet' : 'mainnet', rpcUrl);
288
+ }
289
+ // EVM-compatible chains
290
+ if (this.isEvmChain() || chain === 'tron') {
291
+ return new ethereum_1.EthereumAdapter(chain, rpcUrl);
247
292
  }
293
+ // Non-EVM chains without full adapter support.
294
+ // Wallet creation and raw message signing work (agent node is chain-agnostic),
295
+ // but sendTransaction() requires a chain-specific adapter.
296
+ // Users can still call sign() directly with pre-built transaction bytes.
297
+ throw new errors_1.ChainError(`Chain '${chain}' does not have a transaction adapter yet. ` +
298
+ `You can still use sign() and signMessage() for raw byte signing. ` +
299
+ `For sendTransaction(), provide a custom RPC URL and use sign() to get the signed transaction.`);
248
300
  }
249
301
  isEvmChain() {
250
- return ['ethereum', 'polygon', 'arbitrum', 'optimism', 'base', 'bsc', 'avalanche'].includes(this.chain);
302
+ return Wallet.EVM_CHAINS.includes(this.chain);
251
303
  }
252
304
  }
253
305
  exports.Wallet = Wallet;
306
+ Wallet.EVM_CHAINS = [
307
+ // Layer 1s
308
+ 'ethereum', 'polygon', 'bsc', 'avalanche', 'fantom', 'gnosis',
309
+ 'celo', 'cronos', 'moonbeam', 'moonriver', 'harmony', 'kava',
310
+ 'canto', 'aurora', 'klaytn', 'okc', 'fuse', 'evmos', 'core',
311
+ 'flare', 'iotex', 'rootstock', 'telos', 'thundercore',
312
+ // Layer 2s
313
+ 'arbitrum', 'optimism', 'base', 'zksync', 'scroll', 'linea',
314
+ 'mantle', 'blast', 'mode', 'manta', 'polygon-zkevm', 'metis',
315
+ 'zora', 'sei', 'boba', 'taiko', 'opbnb', 'fraxtal', 'worldchain',
316
+ 'lisk', 'redstone', 'cyber', 'mint', 'bob', 'xai', 'morph',
317
+ 'astar-zkevm',
318
+ ];
254
319
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet/wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sequence0/sdk",
3
- "version": "0.1.0",
3
+ "version": "1.0.1",
4
4
  "description": "Sequence0 Network SDK — Decentralized threshold signatures for any blockchain",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,9 +12,14 @@
12
12
  "build": "tsc",
13
13
  "clean": "rm -rf dist",
14
14
  "prepublishOnly": "npm run clean && npm run build",
15
- "test": "jest",
15
+ "test": "jest --forceExit",
16
+ "test:watch": "jest --watch --forceExit",
17
+ "test:coverage": "jest --coverage --forceExit",
16
18
  "lint": "eslint src/**/*.ts"
17
19
  },
20
+ "engines": {
21
+ "node": ">=18.0.0"
22
+ },
18
23
  "keywords": [
19
24
  "sequence0",
20
25
  "threshold-signatures",
@@ -31,7 +36,7 @@
31
36
  "license": "MIT",
32
37
  "repository": {
33
38
  "type": "git",
34
- "url": "https://github.com/sequence0-network/sdk-typescript"
39
+ "url": "https://github.com/sequence0network/sequence0"
35
40
  },
36
41
  "homepage": "https://sequence0.network",
37
42
  "dependencies": {
@@ -39,6 +44,7 @@
39
44
  "ethers": "^6.0.0"
40
45
  },
41
46
  "devDependencies": {
47
+ "@types/jest": "^29.0.0",
42
48
  "@types/node": "^20.19.33",
43
49
  "eslint": "^8.0.0",
44
50
  "jest": "^29.0.0",