@pushchain/core 5.1.2 → 5.1.4-alpha.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 (120) hide show
  1. package/package.json +30 -6
  2. package/src/lib/constants/abi/prc20.evm.d.ts +22 -2
  3. package/src/lib/constants/abi/prc20.evm.js +11 -3
  4. package/src/lib/constants/abi/prc20.evm.js.map +1 -1
  5. package/src/lib/constants/abi/universalGatewayPC.evm.d.ts +59 -0
  6. package/src/lib/constants/abi/universalGatewayPC.evm.js +26 -0
  7. package/src/lib/constants/abi/universalGatewayPC.evm.js.map +1 -1
  8. package/src/lib/constants/chain.d.ts +4 -0
  9. package/src/lib/constants/chain.js +6 -2
  10. package/src/lib/constants/chain.js.map +1 -1
  11. package/src/lib/index.d.ts +2 -2
  12. package/src/lib/index.js.map +1 -1
  13. package/src/lib/internal/bs58.d.ts +2 -0
  14. package/src/lib/internal/bs58.js +7 -0
  15. package/src/lib/internal/bs58.js.map +1 -0
  16. package/src/lib/orchestrator/cea-utils.d.ts +0 -9
  17. package/src/lib/orchestrator/cea-utils.js +15 -4
  18. package/src/lib/orchestrator/cea-utils.js.map +1 -1
  19. package/src/lib/orchestrator/internals/account-manager.d.ts +16 -0
  20. package/src/lib/orchestrator/internals/account-manager.js +191 -0
  21. package/src/lib/orchestrator/internals/account-manager.js.map +1 -0
  22. package/src/lib/orchestrator/internals/cascade.d.ts +23 -0
  23. package/src/lib/orchestrator/internals/cascade.js +945 -0
  24. package/src/lib/orchestrator/internals/cascade.js.map +1 -0
  25. package/src/lib/orchestrator/internals/confirmation.d.ts +9 -0
  26. package/src/lib/orchestrator/internals/confirmation.js +123 -0
  27. package/src/lib/orchestrator/internals/confirmation.js.map +1 -0
  28. package/src/lib/orchestrator/internals/context.d.ts +38 -0
  29. package/src/lib/orchestrator/internals/context.js +49 -0
  30. package/src/lib/orchestrator/internals/context.js.map +1 -0
  31. package/src/lib/orchestrator/internals/execute-funds-only.d.ts +11 -0
  32. package/src/lib/orchestrator/internals/execute-funds-only.js +219 -0
  33. package/src/lib/orchestrator/internals/execute-funds-only.js.map +1 -0
  34. package/src/lib/orchestrator/internals/execute-funds-payload.d.ts +11 -0
  35. package/src/lib/orchestrator/internals/execute-funds-payload.js +222 -0
  36. package/src/lib/orchestrator/internals/execute-funds-payload.js.map +1 -0
  37. package/src/lib/orchestrator/internals/execute-standard.d.ts +13 -0
  38. package/src/lib/orchestrator/internals/execute-standard.js +225 -0
  39. package/src/lib/orchestrator/internals/execute-standard.js.map +1 -0
  40. package/src/lib/orchestrator/internals/gas-calculator.d.ts +30 -0
  41. package/src/lib/orchestrator/internals/gas-calculator.js +283 -0
  42. package/src/lib/orchestrator/internals/gas-calculator.js.map +1 -0
  43. package/src/lib/orchestrator/internals/gateway-client.d.ts +24 -0
  44. package/src/lib/orchestrator/internals/gateway-client.js +191 -0
  45. package/src/lib/orchestrator/internals/gateway-client.js.map +1 -0
  46. package/src/lib/orchestrator/internals/helpers.d.ts +26 -0
  47. package/src/lib/orchestrator/internals/helpers.js +181 -0
  48. package/src/lib/orchestrator/internals/helpers.js.map +1 -0
  49. package/src/lib/orchestrator/internals/index.d.ts +24 -0
  50. package/src/lib/orchestrator/internals/index.js +132 -0
  51. package/src/lib/orchestrator/internals/index.js.map +1 -0
  52. package/src/lib/orchestrator/internals/outbound-sync.d.ts +49 -0
  53. package/src/lib/orchestrator/internals/outbound-sync.js +357 -0
  54. package/src/lib/orchestrator/internals/outbound-sync.js.map +1 -0
  55. package/src/lib/orchestrator/internals/outbound-tracker.d.ts +8 -0
  56. package/src/lib/orchestrator/internals/outbound-tracker.js +64 -0
  57. package/src/lib/orchestrator/internals/outbound-tracker.js.map +1 -0
  58. package/src/lib/orchestrator/internals/payload-builder.d.ts +24 -0
  59. package/src/lib/orchestrator/internals/payload-builder.js +178 -0
  60. package/src/lib/orchestrator/internals/payload-builder.js.map +1 -0
  61. package/src/lib/orchestrator/internals/push-chain-tx.d.ts +32 -0
  62. package/src/lib/orchestrator/internals/push-chain-tx.js +184 -0
  63. package/src/lib/orchestrator/internals/push-chain-tx.js.map +1 -0
  64. package/src/lib/orchestrator/internals/quote.d.ts +9 -0
  65. package/src/lib/orchestrator/internals/quote.js +114 -0
  66. package/src/lib/orchestrator/internals/quote.js.map +1 -0
  67. package/src/lib/orchestrator/internals/rescue.d.ts +20 -0
  68. package/src/lib/orchestrator/internals/rescue.js +112 -0
  69. package/src/lib/orchestrator/internals/rescue.js.map +1 -0
  70. package/src/lib/orchestrator/internals/response-builder.d.ts +26 -0
  71. package/src/lib/orchestrator/internals/response-builder.js +504 -0
  72. package/src/lib/orchestrator/internals/response-builder.js.map +1 -0
  73. package/src/lib/orchestrator/internals/route-handlers.d.ts +77 -0
  74. package/src/lib/orchestrator/internals/route-handlers.js +1203 -0
  75. package/src/lib/orchestrator/internals/route-handlers.js.map +1 -0
  76. package/src/lib/orchestrator/internals/signing.d.ts +27 -0
  77. package/src/lib/orchestrator/internals/signing.js +258 -0
  78. package/src/lib/orchestrator/internals/signing.js.map +1 -0
  79. package/src/lib/orchestrator/internals/svm-bridge.d.ts +21 -0
  80. package/src/lib/orchestrator/internals/svm-bridge.js +122 -0
  81. package/src/lib/orchestrator/internals/svm-bridge.js.map +1 -0
  82. package/src/lib/orchestrator/internals/svm-helpers.d.ts +35 -0
  83. package/src/lib/orchestrator/internals/svm-helpers.js +143 -0
  84. package/src/lib/orchestrator/internals/svm-helpers.js.map +1 -0
  85. package/src/lib/orchestrator/internals/tx-transformer.d.ts +12 -0
  86. package/src/lib/orchestrator/internals/tx-transformer.js +120 -0
  87. package/src/lib/orchestrator/internals/tx-transformer.js.map +1 -0
  88. package/src/lib/orchestrator/internals/uea-manager.d.ts +17 -0
  89. package/src/lib/orchestrator/internals/uea-manager.js +164 -0
  90. package/src/lib/orchestrator/internals/uea-manager.js.map +1 -0
  91. package/src/lib/orchestrator/orchestrator.d.ts +33 -426
  92. package/src/lib/orchestrator/orchestrator.js +124 -6056
  93. package/src/lib/orchestrator/orchestrator.js.map +1 -1
  94. package/src/lib/orchestrator/orchestrator.types.d.ts +11 -10
  95. package/src/lib/orchestrator/orchestrator.types.js.map +1 -1
  96. package/src/lib/orchestrator/payload-builders.js +35 -9
  97. package/src/lib/orchestrator/payload-builders.js.map +1 -1
  98. package/src/lib/price-fetch/price-fetch.js +19 -7
  99. package/src/lib/price-fetch/price-fetch.js.map +1 -1
  100. package/src/lib/push-chain/push-chain.d.ts +24 -3
  101. package/src/lib/push-chain/push-chain.js +89 -6
  102. package/src/lib/push-chain/push-chain.js.map +1 -1
  103. package/src/lib/push-client/push-client.d.ts +3 -0
  104. package/src/lib/push-client/push-client.js +21 -31
  105. package/src/lib/push-client/push-client.js.map +1 -1
  106. package/src/lib/universal/account/account.d.ts +40 -6
  107. package/src/lib/universal/account/account.js +384 -9
  108. package/src/lib/universal/account/account.js.map +1 -1
  109. package/src/lib/universal/signer/signer.d.ts +2 -3
  110. package/src/lib/universal/signer/signer.js +65 -115
  111. package/src/lib/universal/signer/signer.js.map +1 -1
  112. package/src/lib/universal/universal.types.d.ts +41 -0
  113. package/src/lib/utils.d.ts +7 -1
  114. package/src/lib/utils.js +65 -33
  115. package/src/lib/utils.js.map +1 -1
  116. package/src/lib/vm-client/evm-client.js +3 -11
  117. package/src/lib/vm-client/evm-client.js.map +1 -1
  118. package/src/lib/vm-client/svm-client.d.ts +0 -4
  119. package/src/lib/vm-client/svm-client.js +2 -8
  120. package/src/lib/vm-client/svm-client.js.map +1 -1
@@ -6,12 +6,53 @@ exports.construct = construct;
6
6
  exports.toUniversal = toUniversal;
7
7
  const tslib_1 = require("tslib");
8
8
  const viem_1 = require("viem");
9
- const nacl = tslib_1.__importStar(require("tweetnacl"));
9
+ let _nacl = null;
10
+ function getNacl() {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ if (!_nacl)
13
+ _nacl = yield Promise.resolve().then(() => tslib_1.__importStar(require('tweetnacl')));
14
+ return _nacl;
15
+ });
16
+ }
10
17
  const web3_js_1 = require("@solana/web3.js");
11
18
  const enums_1 = require("../../constants/enums");
12
- const ethers_1 = require("ethers");
13
19
  const chain_1 = require("../../constants/chain");
14
- const anchor_1 = require("@coral-xyz/anchor");
20
+ const bs58_1 = require("../../internal/bs58");
21
+ /**
22
+ * Converts viem's parsed transaction to an ethers-compatible TransactionRequest.
23
+ * viem uses `gas` while ethers expects `gasLimit`.
24
+ */
25
+ function toEthersTxRequest(viemTx) {
26
+ const _a = viemTx, { gas } = _a, rest = tslib_1.__rest(_a, ["gas"]);
27
+ return Object.assign(Object.assign({}, rest), { gasLimit: gas });
28
+ }
29
+ /**
30
+ * Maps an EVM numeric chainId to the corresponding CHAIN enum.
31
+ * Shared by all signer skeleton generators to avoid duplication.
32
+ */
33
+ function chainIdToChain(chainId) {
34
+ const id = chainId.toString();
35
+ switch (id) {
36
+ case '11155111':
37
+ return enums_1.CHAIN.ETHEREUM_SEPOLIA;
38
+ case '421614':
39
+ return enums_1.CHAIN.ARBITRUM_SEPOLIA;
40
+ case '84532':
41
+ return enums_1.CHAIN.BASE_SEPOLIA;
42
+ case '97':
43
+ return enums_1.CHAIN.BNB_TESTNET;
44
+ case '1':
45
+ return enums_1.CHAIN.ETHEREUM_MAINNET;
46
+ case '9':
47
+ return enums_1.CHAIN.PUSH_MAINNET;
48
+ case '42101':
49
+ return enums_1.CHAIN.PUSH_TESTNET;
50
+ case '9000':
51
+ return enums_1.CHAIN.PUSH_LOCALNET;
52
+ default:
53
+ throw new Error(`Unsupported chainId: ${chainId}`);
54
+ }
55
+ }
15
56
  /**
16
57
  * Creates a `UniversalSigner` object for signing messages and transactions
17
58
  * on any supported chain.
@@ -42,7 +83,7 @@ function createUniversalSigner({ account, signMessage, signAndSendTransaction, s
42
83
  /**
43
84
  * Creates a UniversalSigner from either a viem, ethers, solana WalletClient or Account instance.
44
85
  *
45
- * @param {WalletClient | Account | Keypair | ethers.HDNodeWallet} clientOrAccount - The viem WalletClient or Account instance
86
+ * @param {WalletClient | Account | Keypair} clientOrAccount - The viem WalletClient or Account instance
46
87
  * @param {CHAIN} chain - The chain the signer will operate on
47
88
  * @returns {Promise<UniversalSigner>} A signer object configured for the specified chain
48
89
  */
@@ -71,22 +112,22 @@ function toUniversalFromKeypair(clientOrAccount_1, _a) {
71
112
  throw new Error(`Chain mismatch: wallet is on ${chainId}, expected ${chain}`);
72
113
  }
73
114
  address = yield wallet.getAddress();
74
- // raw bytes → ethers.signMessage → hex → back to bytes
115
+ // raw bytes → signMessage → hex → back to bytes
75
116
  signMessage = (data) => tslib_1.__awaiter(this, void 0, void 0, function* () {
76
117
  const sigHex = yield wallet.signMessage(data);
77
- return (0, ethers_1.getBytes)(sigHex);
118
+ return (0, viem_1.hexToBytes)(sigHex);
78
119
  });
79
120
  // raw unsigned tx bytes → hex → parse → signAndSendTransaction → bytes
80
121
  signAndSendTransaction = (raw) => tslib_1.__awaiter(this, void 0, void 0, function* () {
81
- const unsignedHex = (0, ethers_1.hexlify)(raw);
82
- const tx = ethers_1.ethers.Transaction.from(unsignedHex);
122
+ const unsignedHex = (0, viem_1.bytesToHex)(raw);
123
+ const tx = toEthersTxRequest((0, viem_1.parseTransaction)(unsignedHex));
83
124
  const txResponse = yield wallet.sendTransaction(tx);
84
125
  return (0, viem_1.hexToBytes)(txResponse.hash);
85
126
  });
86
- // EIP-712 typed data → _signTypedData → hex → bytes
127
+ // EIP-712 typed data → signTypedData → hex → bytes
87
128
  signTypedData = (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ domain, types, primaryType, message }) {
88
129
  const sigHex = yield wallet.signTypedData(domain, types, message);
89
- return (0, ethers_1.getBytes)(sigHex);
130
+ return (0, viem_1.hexToBytes)(sigHex);
90
131
  });
91
132
  break;
92
133
  }
@@ -127,6 +168,7 @@ function toUniversalFromKeypair(clientOrAccount_1, _a) {
127
168
  }
128
169
  address = keypair.publicKey.toBase58();
129
170
  signMessage = (data) => tslib_1.__awaiter(this, void 0, void 0, function* () {
171
+ const nacl = yield getNacl();
130
172
  return nacl.sign.detached(data, keypair.secretKey);
131
173
  });
132
174
  // ✅ Sign and send the transaction to Solana network
@@ -158,12 +200,13 @@ function toUniversalFromKeypair(clientOrAccount_1, _a) {
158
200
  // Handle as legacy transaction
159
201
  const tx = web3_js_1.Transaction.from(unsignedTx);
160
202
  const messageBytes = tx.serializeMessage();
203
+ const nacl = yield getNacl();
161
204
  const signature = nacl.sign.detached(messageBytes, keypair.secretKey);
162
205
  tx.addSignature(new web3_js_1.PublicKey(keypair.publicKey.toBase58()), Buffer.from(signature));
163
206
  const rawTx = tx.serialize();
164
207
  txHash = yield connection.sendRawTransaction(rawTx);
165
208
  }
166
- return anchor_1.utils.bytes.bs58.decode(txHash);
209
+ return bs58_1.bs58.decode(txHash);
167
210
  });
168
211
  signTypedData = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
169
212
  throw new Error('Typed data signing is not supported for Solana');
@@ -232,56 +275,24 @@ function generateSkeletonFromEthersV5(signer) {
232
275
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
233
276
  const address = yield signer.getAddress();
234
277
  const { chainId } = yield signer.provider.getNetwork();
235
- // Map chainId to CHAIN enum - this is a simplified mapping
236
- let chain;
237
- switch (chainId.toString()) {
238
- case '11155111':
239
- chain = enums_1.CHAIN.ETHEREUM_SEPOLIA;
240
- break;
241
- case '421614':
242
- chain = enums_1.CHAIN.ARBITRUM_SEPOLIA;
243
- break;
244
- case '84532':
245
- chain = enums_1.CHAIN.BASE_SEPOLIA;
246
- break;
247
- case '97':
248
- chain = enums_1.CHAIN.BNB_TESTNET;
249
- break;
250
- case '1':
251
- chain = enums_1.CHAIN.ETHEREUM_MAINNET;
252
- break;
253
- case '9':
254
- chain = enums_1.CHAIN.PUSH_MAINNET;
255
- break;
256
- case '42101':
257
- chain = enums_1.CHAIN.PUSH_TESTNET;
258
- break;
259
- case '9000':
260
- chain = enums_1.CHAIN.PUSH_LOCALNET;
261
- break;
262
- default:
263
- throw new Error(`Unsupported chainId: ${chainId}`);
264
- }
265
- if (!Object.values(enums_1.CHAIN).includes(chain)) {
266
- throw new Error(`Unsupported chainId: ${chainId}`);
267
- }
278
+ const chain = chainIdToChain(chainId);
268
279
  return {
269
280
  signerId: `EthersSignerV5-${address}`,
270
281
  account: { address, chain },
271
282
  signMessage: (data) => tslib_1.__awaiter(this, void 0, void 0, function* () {
272
283
  const sigHex = yield signer.signMessage(data);
273
- return (0, ethers_1.getBytes)(sigHex);
284
+ return (0, viem_1.hexToBytes)(sigHex);
274
285
  }),
275
286
  // raw unsigned tx bytes → hex → parse → signTransaction → bytes
276
287
  signAndSendTransaction: (raw) => tslib_1.__awaiter(this, void 0, void 0, function* () {
277
- const unsignedHex = (0, ethers_1.hexlify)(raw);
278
- const tx = ethers_1.ethers.Transaction.from(unsignedHex);
288
+ const unsignedHex = (0, viem_1.bytesToHex)(raw);
289
+ const tx = toEthersTxRequest((0, viem_1.parseTransaction)(unsignedHex));
279
290
  const txResponse = yield signer.sendTransaction(tx);
280
291
  return (0, viem_1.hexToBytes)(txResponse.hash);
281
292
  }),
282
293
  signTypedData: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ domain, types, primaryType, message }) {
283
294
  const sigHex = yield signer._signTypedData(domain, types, message);
284
- return (0, ethers_1.getBytes)(sigHex);
295
+ return (0, viem_1.hexToBytes)(sigHex);
285
296
  }),
286
297
  };
287
298
  });
@@ -290,56 +301,24 @@ function generateSkeletonFromEthersV6(signer) {
290
301
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
291
302
  const address = yield signer.getAddress();
292
303
  const { chainId } = yield signer.provider.getNetwork();
293
- // Map chainId to CHAIN enum - this is a simplified mapping
294
- let chain;
295
- switch (chainId.toString()) {
296
- case '11155111':
297
- chain = enums_1.CHAIN.ETHEREUM_SEPOLIA;
298
- break;
299
- case '421614':
300
- chain = enums_1.CHAIN.ARBITRUM_SEPOLIA;
301
- break;
302
- case '84532':
303
- chain = enums_1.CHAIN.BASE_SEPOLIA;
304
- break;
305
- case '97':
306
- chain = enums_1.CHAIN.BNB_TESTNET;
307
- break;
308
- case '1':
309
- chain = enums_1.CHAIN.ETHEREUM_MAINNET;
310
- break;
311
- case '9':
312
- chain = enums_1.CHAIN.PUSH_MAINNET;
313
- break;
314
- case '42101':
315
- chain = enums_1.CHAIN.PUSH_TESTNET;
316
- break;
317
- case '9000':
318
- chain = enums_1.CHAIN.PUSH_LOCALNET;
319
- break;
320
- default:
321
- throw new Error(`Unsupported chainId: ${chainId}`);
322
- }
323
- if (!Object.values(enums_1.CHAIN).includes(chain)) {
324
- throw new Error(`Unsupported chainId: ${chainId}`);
325
- }
304
+ const chain = chainIdToChain(chainId);
326
305
  return {
327
306
  signerId: `EthersSignerV6-${address}`,
328
307
  account: { address, chain },
329
308
  signMessage: (data) => tslib_1.__awaiter(this, void 0, void 0, function* () {
330
309
  const sigHex = yield signer.signMessage(data);
331
- return (0, ethers_1.getBytes)(sigHex);
310
+ return (0, viem_1.hexToBytes)(sigHex);
332
311
  }),
333
312
  // raw unsigned tx bytes → hex → parse → signTransaction → bytes
334
313
  signAndSendTransaction: (raw) => tslib_1.__awaiter(this, void 0, void 0, function* () {
335
- const unsignedHex = (0, ethers_1.hexlify)(raw);
336
- const tx = ethers_1.ethers.Transaction.from(unsignedHex);
314
+ const unsignedHex = (0, viem_1.bytesToHex)(raw);
315
+ const tx = toEthersTxRequest((0, viem_1.parseTransaction)(unsignedHex));
337
316
  const txResponse = yield signer.sendTransaction(tx);
338
317
  return (0, viem_1.hexToBytes)(txResponse.hash);
339
318
  }),
340
319
  signTypedData: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ domain, types, primaryType, message }) {
341
320
  const sigHex = yield signer.signTypedData(domain, types, message);
342
- return (0, ethers_1.getBytes)(sigHex);
321
+ return (0, viem_1.hexToBytes)(sigHex);
343
322
  }),
344
323
  };
345
324
  });
@@ -355,36 +334,7 @@ function generateSkeletonFromViem(signer) {
355
334
  }
356
335
  const address = signer.account['address'];
357
336
  const chainId = yield signer.getChainId();
358
- // Map chainId to CHAIN enum
359
- let chain;
360
- switch (chainId.toString()) {
361
- case '11155111':
362
- chain = enums_1.CHAIN.ETHEREUM_SEPOLIA;
363
- break;
364
- case '421614':
365
- chain = enums_1.CHAIN.ARBITRUM_SEPOLIA;
366
- break;
367
- case '84532':
368
- chain = enums_1.CHAIN.BASE_SEPOLIA;
369
- break;
370
- case '97':
371
- chain = enums_1.CHAIN.BNB_TESTNET;
372
- break;
373
- case '1':
374
- chain = enums_1.CHAIN.ETHEREUM_MAINNET;
375
- break;
376
- case '9':
377
- chain = enums_1.CHAIN.PUSH_MAINNET;
378
- break;
379
- case '42101':
380
- chain = enums_1.CHAIN.PUSH_TESTNET;
381
- break;
382
- case '9000':
383
- chain = enums_1.CHAIN.PUSH_LOCALNET;
384
- break;
385
- default:
386
- throw new Error(`Unsupported chainId: ${chainId}`);
387
- }
337
+ const chain = chainIdToChain(chainId);
388
338
  return {
389
339
  signerId: `ViemSigner-${address}`,
390
340
  account: {
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../../packages/core/src/lib/universal/signer/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../../packages/core/src/lib/universal/signer/signer.ts"],"names":[],"mappings":"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"}
@@ -123,3 +123,44 @@ export interface ExecutorAccountInfo {
123
123
  */
124
124
  deployed?: boolean;
125
125
  }
126
+ /**
127
+ * Account type in the Push Chain ecosystem.
128
+ */
129
+ export type AccountType = 'uea' | 'cea' | 'uoa';
130
+ /**
131
+ * Role of an account in the controller relationship.
132
+ */
133
+ export type AccountRole = 'controller';
134
+ /**
135
+ * Response from deriveExecutorAccount.
136
+ */
137
+ export interface DerivedExecutorAccount {
138
+ /** The computed executor address on Push Chain (or CEA on external chain) */
139
+ address: `0x${string}`;
140
+ /** Whether the executor account is deployed on-chain */
141
+ deployed: boolean;
142
+ }
143
+ /**
144
+ * A single resolved account entry in the resolveControllerAccount response.
145
+ */
146
+ export interface ResolvedAccount {
147
+ /** Fully qualified chain identifier (e.g., "eip155:42101") */
148
+ chain: string;
149
+ /** Human-readable chain name (e.g., "PUSH_TESTNET_DONUT") */
150
+ chainName: string;
151
+ /** The account address */
152
+ address: string;
153
+ /** Account type in the ecosystem */
154
+ type: AccountType;
155
+ /** Whether this account exists on-chain */
156
+ exists: boolean;
157
+ /** Role of this account (present only for controller accounts) */
158
+ role?: AccountRole;
159
+ }
160
+ /**
161
+ * Response from resolveControllerAccount.
162
+ */
163
+ export interface ResolvedControllerAccounts {
164
+ /** List of resolved accounts in the controller chain */
165
+ accounts: ResolvedAccount[];
166
+ }
@@ -1,4 +1,4 @@
1
- import { convertOriginToExecutor, fromChainAgnostic, convertExecutorToOriginAccount, toChainAgnostic, toUniversal } from './universal/account';
1
+ import { convertOriginToExecutor, fromChainAgnostic, convertExecutorToOriginAccount, toChainAgnostic, toUniversal, deriveExecutorAccount, resolveControllerAccount } from './universal/account';
2
2
  import { construct, toUniversal as toUniversalSigner, toUniversalFromKeypair } from './universal/signer';
3
3
  import { CHAIN, PUSH_NETWORK } from './constants/enums';
4
4
  import { type MoveableToken } from './constants/tokens';
@@ -29,6 +29,8 @@ export declare class Utils {
29
29
  fromChainAgnostic: typeof fromChainAgnostic;
30
30
  convertOriginToExecutor: typeof convertOriginToExecutor;
31
31
  convertExecutorToOriginAccount: typeof convertExecutorToOriginAccount;
32
+ deriveExecutorAccount: typeof deriveExecutorAccount;
33
+ resolveControllerAccount: typeof resolveControllerAccount;
32
34
  };
33
35
  static signer: {
34
36
  /**
@@ -195,6 +197,7 @@ export declare class Utils {
195
197
  getMoveableTokens(chainOrClient?: CHAIN | PushChain): {
196
198
  tokens: Array<{
197
199
  chain: CHAIN;
200
+ chainName: string;
198
201
  symbol: string;
199
202
  decimals: number;
200
203
  address: string;
@@ -209,6 +212,7 @@ export declare class Utils {
209
212
  getPayableTokens(chainOrClient?: CHAIN | PushChain): {
210
213
  tokens: Array<{
211
214
  chain: CHAIN;
215
+ chainName: string;
212
216
  symbol: string;
213
217
  decimals: number;
214
218
  address: string;
@@ -236,6 +240,8 @@ export declare class Utils {
236
240
  getPRC20Address(token: MoveableToken | {
237
241
  chain: string;
238
242
  address: string;
243
+ }, options?: {
244
+ network?: PUSH_NETWORK;
239
245
  }): `0x${string}`;
240
246
  };
241
247
  /**
package/src/lib/utils.js CHANGED
@@ -6,7 +6,7 @@ const signer_1 = require("./universal/signer");
6
6
  const enums_1 = require("./constants/enums");
7
7
  const tokens_1 = require("./constants/tokens");
8
8
  const chain_1 = require("./constants/chain");
9
- const ethers_1 = require("ethers");
9
+ const viem_1 = require("viem");
10
10
  /**
11
11
  * @dev - THESE UTILS ARE EXPORTED TO SDK CONSUMER
12
12
  * @dev - Make sure each exported fn has good comments to help out sdk consumer
@@ -71,6 +71,8 @@ Utils.account = {
71
71
  fromChainAgnostic: account_1.fromChainAgnostic,
72
72
  convertOriginToExecutor: account_1.convertOriginToExecutor,
73
73
  convertExecutorToOriginAccount: account_1.convertExecutorToOriginAccount,
74
+ deriveExecutorAccount: account_1.deriveExecutorAccount,
75
+ resolveControllerAccount: account_1.resolveControllerAccount,
74
76
  };
75
77
  Utils.signer = {
76
78
  /**
@@ -193,13 +195,17 @@ Utils.helpers = {
193
195
  * Alias maintained for backwards compatibility. Logs a deprecation warning
194
196
  * and delegates to Utils.chains.getChainNamespace.
195
197
  */
196
- getChainName: (chainName) => {
197
- // Emit deprecation warning on every call to surface migration need
198
- // Note: Keeping message explicit for SDK consumers
199
- console.warn('[DEPRECATED] PushChain.utils.helper.getChainName is deprecated. ' +
200
- 'Use PushChain.utils.chains.getChainNamespace(chainName) instead.');
201
- return Utils.chains.getChainName(chainName);
202
- },
198
+ getChainName: (() => {
199
+ let warned = false;
200
+ return (chainName) => {
201
+ if (!warned) {
202
+ console.warn('[DEPRECATED] PushChain.utils.helper.getChainName is deprecated. ' +
203
+ 'Use PushChain.utils.chains.getChainNamespace(chainName) instead.');
204
+ warned = true;
205
+ }
206
+ return Utils.chains.getChainName(chainName);
207
+ };
208
+ })(),
203
209
  encodeTxData({ abi, functionName, args = [], }) {
204
210
  // Validate inputs
205
211
  if (!Array.isArray(abi)) {
@@ -214,9 +220,7 @@ Utils.helpers = {
214
220
  throw new Error(`Function '${functionName}' not found in ABI`);
215
221
  }
216
222
  try {
217
- // Create ethers Interface and encode the function data
218
- const abiInterface = new ethers_1.ethers.Interface(abi);
219
- const data = abiInterface.encodeFunctionData(functionName, args);
223
+ const data = (0, viem_1.encodeFunctionData)({ abi, functionName, args });
220
224
  return data;
221
225
  }
222
226
  catch (error) {
@@ -384,8 +388,12 @@ Utils.helpers = {
384
388
  try {
385
389
  // Convert string to bigint if needed
386
390
  const bigintValue = typeof value === 'string' ? BigInt(value) : value;
387
- // Use ethers to format the units
388
- const formatted = ethers_1.ethers.formatUnits(bigintValue, decimals);
391
+ let formatted = (0, viem_1.formatUnits)(bigintValue, decimals);
392
+ // Ensure at least one decimal place for backward compatibility
393
+ // (only when decimals > 0, matching prior ethers behavior)
394
+ if (decimals > 0 && !formatted.includes('.')) {
395
+ formatted = formatted + '.0';
396
+ }
389
397
  // Apply precision if specified
390
398
  if (precision !== undefined) {
391
399
  const num = parseFloat(formatted);
@@ -470,18 +478,22 @@ Utils.tokens = {
470
478
  * - Otherwise returns tokens across all chains
471
479
  */
472
480
  getMoveableTokens(chainOrClient) {
473
- var _a;
481
+ var _a, _b;
474
482
  const chain = Utils.resolveChainFromInput(chainOrClient);
475
483
  if (chain) {
476
484
  const list = (_a = tokens_1.MOVEABLE_TOKENS[chain]) !== null && _a !== void 0 ? _a : [];
477
485
  return {
478
- tokens: list.map((t) => ({
479
- chain,
480
- symbol: t.symbol,
481
- decimals: t.decimals,
482
- address: t.address,
483
- mechanism: t.mechanism,
484
- })),
486
+ tokens: list.map((t) => {
487
+ var _a;
488
+ return ({
489
+ chain,
490
+ chainName: (_a = Utils.chains.getChainName(chain)) !== null && _a !== void 0 ? _a : chain,
491
+ symbol: t.symbol,
492
+ decimals: t.decimals,
493
+ address: t.address,
494
+ mechanism: t.mechanism,
495
+ });
496
+ }),
485
497
  };
486
498
  }
487
499
  const tokens = [];
@@ -490,6 +502,7 @@ Utils.tokens = {
490
502
  for (const t of list !== null && list !== void 0 ? list : []) {
491
503
  tokens.push({
492
504
  chain: k,
505
+ chainName: (_b = Utils.chains.getChainName(k)) !== null && _b !== void 0 ? _b : k,
493
506
  symbol: t.symbol,
494
507
  decimals: t.decimals,
495
508
  address: t.address,
@@ -505,18 +518,22 @@ Utils.tokens = {
505
518
  * - Otherwise returns tokens across all chains
506
519
  */
507
520
  getPayableTokens(chainOrClient) {
508
- var _a;
521
+ var _a, _b;
509
522
  const chain = Utils.resolveChainFromInput(chainOrClient);
510
523
  if (chain) {
511
524
  const list = (_a = tokens_1.PAYABLE_TOKENS[chain]) !== null && _a !== void 0 ? _a : [];
512
525
  return {
513
- tokens: list.map((t) => ({
514
- chain,
515
- symbol: t.symbol,
516
- decimals: t.decimals,
517
- address: t.address,
518
- mechanism: t.mechanism,
519
- })),
526
+ tokens: list.map((t) => {
527
+ var _a;
528
+ return ({
529
+ chain,
530
+ chainName: (_a = Utils.chains.getChainName(chain)) !== null && _a !== void 0 ? _a : chain,
531
+ symbol: t.symbol,
532
+ decimals: t.decimals,
533
+ address: t.address,
534
+ mechanism: t.mechanism,
535
+ });
536
+ }),
520
537
  };
521
538
  }
522
539
  const tokens = [];
@@ -525,6 +542,7 @@ Utils.tokens = {
525
542
  for (const t of list !== null && list !== void 0 ? list : []) {
526
543
  tokens.push({
527
544
  chain: k,
545
+ chainName: (_b = Utils.chains.getChainName(k)) !== null && _b !== void 0 ? _b : k,
528
546
  symbol: t.symbol,
529
547
  decimals: t.decimals,
530
548
  address: t.address,
@@ -552,8 +570,8 @@ Utils.tokens = {
552
570
  * // → `0x...`
553
571
  * ```
554
572
  */
555
- getPRC20Address(token) {
556
- var _a;
573
+ getPRC20Address(token, options) {
574
+ var _a, _b;
557
575
  // Infer origin chain and symbol by matching against the MOVEABLE_TOKENS registry
558
576
  let originChain;
559
577
  let tokenSymbol;
@@ -581,8 +599,7 @@ Utils.tokens = {
581
599
  if (!originChain || !tokenSymbol) {
582
600
  throw new Error('Unable to infer origin chain or token symbol for token');
583
601
  }
584
- // Select Push network mapping (tests/use-cases use TESTNET_DONUT; identical to TESTNET here)
585
- const network = enums_1.PUSH_NETWORK.TESTNET_DONUT;
602
+ const network = (_b = options === null || options === void 0 ? void 0 : options.network) !== null && _b !== void 0 ? _b : enums_1.PUSH_NETWORK.TESTNET_DONUT;
586
603
  const map = chain_1.SYNTHETIC_PUSH_ERC20[network];
587
604
  // Map token → synthetic key by origin chain family
588
605
  const isEthFamily = originChain === enums_1.CHAIN.ETHEREUM_MAINNET ||
@@ -627,6 +644,21 @@ Utils.tokens = {
627
644
  throw new Error('Unsupported USDT origin chain for synthetic mapping');
628
645
  break;
629
646
  }
647
+ case 'USDC': {
648
+ if (isEthFamily)
649
+ key = 'USDC_ETH';
650
+ else if (isArbFamily)
651
+ key = 'USDC_ARB';
652
+ else if (isBaseFamily)
653
+ key = 'USDC_BASE';
654
+ else if (isBnbFamily)
655
+ key = 'USDC_BNB';
656
+ else if (isSolFamily)
657
+ key = 'USDC_SOL';
658
+ else
659
+ throw new Error('Unsupported USDC origin chain for synthetic mapping');
660
+ break;
661
+ }
630
662
  default:
631
663
  throw new Error(`Unsupported token symbol: ${tokenSymbol}`);
632
664
  }