@pushchain/core 5.0.0 → 5.1.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 (92) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +1 -1
  3. package/src/lib/constants/abi/cea.evm.d.ts +23 -0
  4. package/src/lib/constants/abi/cea.evm.js +34 -0
  5. package/src/lib/constants/abi/cea.evm.js.map +1 -0
  6. package/src/lib/constants/abi/ceaFactory.evm.d.ts +65 -0
  7. package/src/lib/constants/abi/ceaFactory.evm.js +41 -0
  8. package/src/lib/constants/abi/ceaFactory.evm.js.map +1 -0
  9. package/src/lib/constants/abi/erc20.evm.d.ts +14 -0
  10. package/src/lib/constants/abi/erc20.evm.js +7 -0
  11. package/src/lib/constants/abi/erc20.evm.js.map +1 -1
  12. package/src/lib/constants/abi/index.d.ts +6 -0
  13. package/src/lib/constants/abi/index.js +15 -1
  14. package/src/lib/constants/abi/index.js.map +1 -1
  15. package/src/lib/constants/abi/prc20.evm.d.ts +188 -0
  16. package/src/lib/constants/abi/prc20.evm.js +130 -0
  17. package/src/lib/constants/abi/prc20.evm.js.map +1 -0
  18. package/src/lib/constants/abi/uea-factory.d.ts +30 -0
  19. package/src/lib/constants/abi/uea-factory.js +25 -0
  20. package/src/lib/constants/abi/uea-factory.js.map +1 -0
  21. package/src/lib/constants/abi/universalGateway.evm.d.ts +93 -0
  22. package/src/lib/constants/abi/universalGateway.evm.js +70 -0
  23. package/src/lib/constants/abi/universalGateway.evm.js.map +1 -0
  24. package/src/lib/constants/abi/universalGatewayPC.evm.d.ts +140 -0
  25. package/src/lib/constants/abi/universalGatewayPC.evm.js +70 -0
  26. package/src/lib/constants/abi/universalGatewayPC.evm.js.map +1 -0
  27. package/src/lib/constants/abi/universalGatewayV0.evm.js +57 -0
  28. package/src/lib/constants/abi/universalGatewayV0.evm.js.map +1 -1
  29. package/src/lib/constants/abi/universalGatewayV0.json +1581 -859
  30. package/src/lib/constants/chain.d.ts +54 -1
  31. package/src/lib/constants/chain.js +207 -17
  32. package/src/lib/constants/chain.js.map +1 -1
  33. package/src/lib/constants/index.d.ts +9 -1
  34. package/src/lib/constants/index.js +20 -1
  35. package/src/lib/constants/index.js.map +1 -1
  36. package/src/lib/constants/selectors.d.ts +42 -0
  37. package/src/lib/constants/selectors.js +45 -0
  38. package/src/lib/constants/selectors.js.map +1 -0
  39. package/src/lib/constants/tokens.d.ts +48 -1
  40. package/src/lib/constants/tokens.js +112 -9
  41. package/src/lib/constants/tokens.js.map +1 -1
  42. package/src/lib/generated/uexecutor/v2/index.d.ts +2 -0
  43. package/src/lib/generated/uexecutor/v2/index.js +31 -0
  44. package/src/lib/generated/uexecutor/v2/index.js.map +1 -0
  45. package/src/lib/generated/uexecutor/v2/query.d.ts +23 -0
  46. package/src/lib/generated/uexecutor/v2/query.js +79 -0
  47. package/src/lib/generated/uexecutor/v2/query.js.map +1 -0
  48. package/src/lib/generated/uexecutor/v2/types.d.ts +101 -0
  49. package/src/lib/generated/uexecutor/v2/types.js +660 -0
  50. package/src/lib/generated/uexecutor/v2/types.js.map +1 -0
  51. package/src/lib/generated/v1/tx.d.ts +22 -0
  52. package/src/lib/generated/v1/tx.js +188 -1
  53. package/src/lib/generated/v1/tx.js.map +1 -1
  54. package/src/lib/index.d.ts +5 -0
  55. package/src/lib/index.js +25 -1
  56. package/src/lib/index.js.map +1 -1
  57. package/src/lib/orchestrator/cea-utils.d.ts +85 -0
  58. package/src/lib/orchestrator/cea-utils.js +186 -0
  59. package/src/lib/orchestrator/cea-utils.js.map +1 -0
  60. package/src/lib/orchestrator/orchestrator.d.ts +358 -3
  61. package/src/lib/orchestrator/orchestrator.js +3983 -348
  62. package/src/lib/orchestrator/orchestrator.js.map +1 -1
  63. package/src/lib/orchestrator/orchestrator.types.d.ts +529 -0
  64. package/src/lib/orchestrator/orchestrator.types.js +17 -0
  65. package/src/lib/orchestrator/orchestrator.types.js.map +1 -1
  66. package/src/lib/orchestrator/payload-builders.d.ts +212 -2
  67. package/src/lib/orchestrator/payload-builders.js +536 -16
  68. package/src/lib/orchestrator/payload-builders.js.map +1 -1
  69. package/src/lib/orchestrator/route-detector.d.ts +102 -0
  70. package/src/lib/orchestrator/route-detector.js +355 -0
  71. package/src/lib/orchestrator/route-detector.js.map +1 -0
  72. package/src/lib/price-fetch/price-fetch.js +5 -2
  73. package/src/lib/price-fetch/price-fetch.js.map +1 -1
  74. package/src/lib/progress-hook/progress-hook.js +54 -4
  75. package/src/lib/progress-hook/progress-hook.js.map +1 -1
  76. package/src/lib/progress-hook/progress-hook.types.d.ts +10 -3
  77. package/src/lib/progress-hook/progress-hook.types.js +8 -0
  78. package/src/lib/progress-hook/progress-hook.types.js.map +1 -1
  79. package/src/lib/push-chain/push-chain.d.ts +75 -1
  80. package/src/lib/push-chain/push-chain.js +73 -1
  81. package/src/lib/push-chain/push-chain.js.map +1 -1
  82. package/src/lib/push-client/push-client.d.ts +20 -4
  83. package/src/lib/push-client/push-client.js +133 -67
  84. package/src/lib/push-client/push-client.js.map +1 -1
  85. package/src/lib/universal/signer/signer.js +17 -3
  86. package/src/lib/universal/signer/signer.js.map +1 -1
  87. package/src/lib/utils.d.ts +14 -0
  88. package/src/lib/utils.js +25 -0
  89. package/src/lib/utils.js.map +1 -1
  90. package/src/lib/vm-client/evm-client.d.ts +3 -1
  91. package/src/lib/vm-client/evm-client.js +23 -15
  92. package/src/lib/vm-client/evm-client.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"progress-hook.types.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/progress-hook/progress-hook.types.ts"],"names":[],"mappings":";;;AA0BA,IAAY,aAiCX;AAjCD,WAAY,aAAa;IACvB,mCAAmC;IACnC,0CAAyB,CAAA;IACzB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,oCAAoC;IACpC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,yBAAyB;IACzB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,sDAAsD;IACtD,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,sDAAqC,CAAA;IACrC,sDAAqC,CAAA;IACrC,gDAA+B,CAAA;IAE/B,sCAAsC;IACtC,0CAAyB,CAAA;IAEzB,sBAAsB;IACtB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;AACjC,CAAC,EAjCW,aAAa,6BAAb,aAAa,QAiCxB"}
1
+ {"version":3,"file":"progress-hook.types.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/progress-hook/progress-hook.types.ts"],"names":[],"mappings":";;;AA0BA,IAAY,aA0CX;AA1CD,WAAY,aAAa;IACvB,mCAAmC;IACnC,0CAAyB,CAAA;IACzB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,oCAAoC;IACpC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,yBAAyB;IACzB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,sDAAsD;IACtD,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,sDAAqC,CAAA;IACrC,sDAAqC,CAAA;IACrC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,sCAAsC;IACtC,0CAAyB,CAAA;IAEzB,sBAAsB;IACtB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAE/B,sBAAsB;IACtB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,8CAA6B,CAAA;IAC7B,8CAA6B,CAAA;IAC7B,8CAA6B,CAAA;AAC/B,CAAC,EA1CW,aAAa,6BAAb,aAAa,QA0CxB"}
@@ -4,7 +4,9 @@ import { UniversalAccount, UniversalSigner } from '../universal/universal.types'
4
4
  import { Utils } from '../utils';
5
5
  import { TypedData, TypedDataDomain } from 'viem';
6
6
  import { ProgressEvent } from '../progress-hook/progress-hook.types';
7
+ import type { AccountStatus } from '../orchestrator/orchestrator.types';
7
8
  import { MoveableToken, PayableToken, ConversionQuote, MoveableTokenAccessor, PayableTokenAccessor } from '../constants/tokens';
9
+ import type { PreparedUniversalTx, CascadedTransactionBuilder } from '../orchestrator/orchestrator.types';
8
10
  /**
9
11
  * @class PushChain
10
12
  *
@@ -24,6 +26,12 @@ export declare class PushChain {
24
26
  PUSH_NETWORK: typeof PUSH_NETWORK;
25
27
  CHAIN: typeof CHAIN;
26
28
  LIBRARY: typeof import("../constants/enums").LIBRARY;
29
+ MOVEABLE: {
30
+ TOKEN: import("../constants").MoveableTokenConstantsMap;
31
+ };
32
+ PAYABLE: {
33
+ TOKEN: import("../constants").PayableTokenConstantsMap;
34
+ };
27
35
  };
28
36
  /**
29
37
  * @static
@@ -41,9 +49,48 @@ export declare class PushChain {
41
49
  get origin(): ReturnType<Orchestrator['getUOA']>;
42
50
  get account(): ReturnType<Orchestrator['computeUEAOffchain']>;
43
51
  /**
44
- * Executes a transaction on Push Chain
52
+ * Executes a transaction with automatic route detection.
53
+ *
54
+ * Supports both simple Push Chain transactions and multi-chain routing:
55
+ * - Route 1 (UOA_TO_PUSH): `to` is a simple address string → executes on Push Chain
56
+ * - Route 2 (UOA_TO_CEA): `to` is `{ address, chain }` → executes on external chain via CEA
57
+ * - Route 3 (CEA_TO_PUSH): `from.chain` specified, targeting Push Chain
58
+ * - Route 4 (CEA_TO_CEA): `from.chain` specified, targeting external chain
59
+ *
60
+ * @example
61
+ * // Route 1: Simple Push Chain transaction
62
+ * await client.universal.sendTransaction({ to: '0x...', value: parseEther('0.01') });
63
+ *
64
+ * @example
65
+ * // Route 2: Cross-chain to external chain
66
+ * await client.universal.sendTransaction({
67
+ * to: { address: '0x...', chain: CHAIN.BNB_TESTNET },
68
+ * value: parseEther('0.001')
69
+ * });
45
70
  */
46
71
  sendTransaction: Orchestrator['execute'];
72
+ /**
73
+ * Prepare a universal transaction without executing it.
74
+ * Returns a PreparedUniversalTx that can be chained with thenOn() or sent.
75
+ */
76
+ prepareTransaction: Orchestrator['prepareTransaction'];
77
+ /**
78
+ * Execute multiple transactions in sequence across chains.
79
+ * Accepts PreparedUniversalTx (from prepareTransaction) and returns
80
+ * a CascadedTransactionBuilder that supports .thenOn() for chaining.
81
+ */
82
+ executeTransactions: (firstTx: PreparedUniversalTx) => CascadedTransactionBuilder;
83
+ /**
84
+ * Tracks a transaction by hash on Push Chain
85
+ */
86
+ trackTransaction: Orchestrator['trackTransaction'];
87
+ /**
88
+ * Migrate the CEA contract on an external chain to the latest version.
89
+ * Sends a MIGRATION_SELECTOR payload to trigger CEA upgrade.
90
+ *
91
+ * @param chain - The external chain where the CEA should be migrated
92
+ */
93
+ migrateCEA: Orchestrator['migrateCEA'];
47
94
  /**
48
95
  * Signs an arbitrary message
49
96
  */
@@ -80,7 +127,34 @@ export declare class PushChain {
80
127
  to: MoveableToken | undefined;
81
128
  }) => Promise<ConversionQuote>;
82
129
  };
130
+ /**
131
+ * Account status including UEA deployment state and version info.
132
+ * Initially unloaded — call getAccountStatus() to populate.
133
+ */
134
+ accountStatus: AccountStatus;
135
+ /**
136
+ * Promise for the background account status fetch started during initialize().
137
+ * Await this if you need to ensure account status is loaded before proceeding.
138
+ * Resolves to void (result is stored in accountStatus).
139
+ */
140
+ accountStatusReady: Promise<void>;
83
141
  private constructor();
142
+ /**
143
+ * Fetches the account status including UEA deployment state and version info.
144
+ * Results are cached — pass forceRefresh to bypass cache.
145
+ */
146
+ getAccountStatus(options?: {
147
+ forceRefresh?: boolean;
148
+ }): Promise<AccountStatus>;
149
+ /**
150
+ * Upgrades the UEA to the latest implementation version.
151
+ * This is a gasless operation that updates the UEA proxy on Push Chain.
152
+ *
153
+ * @throws Error if called in read-only mode
154
+ */
155
+ upgradeAccount(options?: {
156
+ progressHook?: (progress: ProgressEvent) => void;
157
+ }): Promise<void>;
84
158
  /**
85
159
  * @private
86
160
  * Internal method to create a PushChain instance with the given parameters.
@@ -56,6 +56,18 @@ class PushChain {
56
56
  return _a.createInstance(universalSigner, mergedOptions);
57
57
  });
58
58
  this.orchestrator = orchestrator;
59
+ this.accountStatus = {
60
+ mode: isReadMode ? 'read-only' : 'signer',
61
+ uea: {
62
+ loaded: false,
63
+ deployed: false,
64
+ version: '',
65
+ minRequiredVersion: '',
66
+ requiresUpgrade: false,
67
+ },
68
+ };
69
+ // Default — overwritten in createInstance() with the background fetch
70
+ this.accountStatusReady = Promise.resolve();
59
71
  this.universal = {
60
72
  get origin() {
61
73
  return orchestrator.getUOA();
@@ -69,6 +81,27 @@ class PushChain {
69
81
  }
70
82
  return orchestrator.execute.bind(orchestrator)(...args);
71
83
  },
84
+ prepareTransaction: (params) => {
85
+ if (this.isReadMode) {
86
+ throw new Error('Read only mode cannot call prepareTransaction function');
87
+ }
88
+ return orchestrator.prepareTransaction.bind(orchestrator)(params);
89
+ },
90
+ executeTransactions: (firstTx) => {
91
+ if (this.isReadMode) {
92
+ throw new Error('Read only mode cannot call executeTransactions function');
93
+ }
94
+ return orchestrator.createCascadedBuilder([firstTx]);
95
+ },
96
+ trackTransaction: (txHash, options) => {
97
+ return orchestrator.trackTransaction.bind(orchestrator)(txHash, options);
98
+ },
99
+ migrateCEA: (chain) => {
100
+ if (this.isReadMode) {
101
+ throw new Error('Read only mode cannot call migrateCEA function');
102
+ }
103
+ return orchestrator.migrateCEA.bind(orchestrator)(chain);
104
+ },
72
105
  signMessage: (data) => tslib_1.__awaiter(this, void 0, void 0, function* () {
73
106
  if (this.isReadMode) {
74
107
  throw new Error('Read only mode cannot call signMessage function');
@@ -223,6 +256,35 @@ class PushChain {
223
256
  }),
224
257
  };
225
258
  }
259
+ /**
260
+ * Fetches the account status including UEA deployment state and version info.
261
+ * Results are cached — pass forceRefresh to bypass cache.
262
+ */
263
+ getAccountStatus(options) {
264
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
265
+ const status = yield this.orchestrator.getAccountStatus(options);
266
+ this.accountStatus = status;
267
+ return status;
268
+ });
269
+ }
270
+ /**
271
+ * Upgrades the UEA to the latest implementation version.
272
+ * This is a gasless operation that updates the UEA proxy on Push Chain.
273
+ *
274
+ * @throws Error if called in read-only mode
275
+ */
276
+ upgradeAccount(options) {
277
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
278
+ if (this.isReadMode) {
279
+ throw new Error('Read only mode cannot call upgradeAccount function');
280
+ }
281
+ yield this.orchestrator.upgradeAccount(options);
282
+ // Refresh local accountStatus after upgrade
283
+ this.accountStatus = yield this.orchestrator.getAccountStatus({
284
+ forceRefresh: true,
285
+ });
286
+ });
287
+ }
226
288
  /**
227
289
  * @private
228
290
  * Internal method to create a PushChain instance with the given parameters.
@@ -252,7 +314,17 @@ class PushChain {
252
314
  * Ensures the signer conforms to the UniversalSigner interface.
253
315
  */
254
316
  validatedUniversalSigner, (_c = options === null || options === void 0 ? void 0 : options.network) !== null && _c !== void 0 ? _c : enums_1.PUSH_NETWORK.TESTNET_DONUT, (_d = options === null || options === void 0 ? void 0 : options.rpcUrls) !== null && _d !== void 0 ? _d : {}, (_e = options === null || options === void 0 ? void 0 : options.printTraces) !== null && _e !== void 0 ? _e : false, options === null || options === void 0 ? void 0 : options.progressHook);
255
- return new _a(orchestrator, validatedUniversalSigner, blockExplorers, isReadOnly);
317
+ const instance = new _a(orchestrator, validatedUniversalSigner, blockExplorers, isReadOnly);
318
+ // Background fetch account status (non-blocking, 30s timeout)
319
+ // Stored on instance so consumers can await it if needed: await client.accountStatusReady
320
+ const ACCOUNT_STATUS_TIMEOUT = 30000;
321
+ instance.accountStatusReady = Promise.race([
322
+ instance.getAccountStatus().then(() => { }),
323
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Account status fetch timed out')), ACCOUNT_STATUS_TIMEOUT)),
324
+ ]).catch(() => {
325
+ // Silently ignore — lazy check in execute() will retry if needed
326
+ });
327
+ return instance;
256
328
  });
257
329
  }
258
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push-chain.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-chain/push-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-chain.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-chain/push-chain.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { MsgDeployUEA, MsgExecutePayload, MsgMintPC } from '../generated/v1/tx';
1
+ import { MsgDeployUEA, MsgExecutePayload, MsgMintPC, MsgMigrateUEA } from '../generated/v1/tx';
2
2
  import { Any } from 'cosmjs-types/google/protobuf/any';
3
3
  import { TxBody, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
4
4
  import { DeliverTxResponse } from '@cosmjs/stargate';
5
5
  import { QueryGetUniversalTxResponse } from '../generated/uexecutor/v1/query';
6
+ import { QueryGetUniversalTxResponseV2 } from '../generated/uexecutor/v2/query';
6
7
  import { EvmClient } from '../vm-client/evm-client';
7
8
  import { PushClientOptions } from './push-client.types';
8
9
  export declare class PushClient extends EvmClient {
@@ -10,9 +11,12 @@ export declare class PushClient extends EvmClient {
10
11
  chainId: string;
11
12
  vm: import("../constants/enums").VM;
12
13
  lockerContract?: string;
14
+ gatewayVersion?: "v0" | "v1";
13
15
  defaultRPC: string[];
14
16
  confirmations: number;
17
+ fastConfirmations: number;
15
18
  timeout: number;
19
+ explorerUrl?: string;
16
20
  dex?: {
17
21
  uniV3Factory?: `0x${string}`;
18
22
  uniV3QuoterV2?: `0x${string}`;
@@ -20,7 +24,7 @@ export declare class PushClient extends EvmClient {
20
24
  };
21
25
  } & {
22
26
  denom: string;
23
- tendermintRpc: string;
27
+ tendermintRpc: string[];
24
28
  prefix: string;
25
29
  factoryAddress: `0x${string}`;
26
30
  pushDecimals: bigint;
@@ -29,7 +33,13 @@ export declare class PushClient extends EvmClient {
29
33
  pushToUsdcDenominator: bigint;
30
34
  };
31
35
  private readonly ephemeralKey;
36
+ private currentRpcIndex;
32
37
  constructor(clientOptions: PushClientOptions);
38
+ /**
39
+ * Executes an operation with automatic fallback to next RPC endpoint on failure.
40
+ * Follows the same pattern as SvmClient.executeWithFallback().
41
+ */
42
+ private executeWithRpcFallback;
33
43
  /**
34
44
  * Converts nPUSH (1e18) to USDC (1e8), fixed rate: 1 PUSH = 0.1 USDC
35
45
  */
@@ -41,6 +51,7 @@ export declare class PushClient extends EvmClient {
41
51
  createMsgDeployUEA(input: MsgDeployUEA): Any;
42
52
  createMsgMintPC(input: MsgMintPC): Any;
43
53
  createMsgExecutePayload(input: MsgExecutePayload): Any;
54
+ createMsgMigrateUEA(input: MsgMigrateUEA): Any;
44
55
  createCosmosTxBody(messages: Any[], memo?: string): Promise<TxBody>;
45
56
  getSignerAddress(): {
46
57
  evmAddress: `0x${string}`;
@@ -56,11 +67,16 @@ export declare class PushClient extends EvmClient {
56
67
  * Queries Push Chain's uexecutor gRPC service for a UniversalTx by its ID.
57
68
  */
58
69
  getUniversalTxById(id: string): Promise<QueryGetUniversalTxResponse>;
70
+ /**
71
+ * Queries Push Chain's uexecutor v2 gRPC service for a UniversalTx by its ID.
72
+ * V2 returns expanded OutboundTx fields and repeated outbound_tx array.
73
+ */
74
+ getUniversalTxByIdV2(id: string): Promise<QueryGetUniversalTxResponseV2>;
59
75
  /**
60
76
  * Fetches a Cosmos transaction by its hash.
61
- * @param txHash The hex‐encoded transaction hash (without 0x or with—both work).
77
+ * @param txHash The hex‐encoded transaction hash (without "0x" or with—both work).
62
78
  * @returns The indexed transaction (height, logs, events, etc.).
63
- * @throws If the tx isnt found.
79
+ * @throws If the tx isn't found.
64
80
  */
65
81
  getCosmosTx(txHash: string): Promise<DeliverTxResponse>;
66
82
  }
@@ -9,6 +9,7 @@ const protobufjs_1 = require("protobufjs");
9
9
  const proto_signing_1 = require("@cosmjs/proto-signing");
10
10
  const stargate_1 = require("@cosmjs/stargate");
11
11
  const query_1 = require("../generated/uexecutor/v1/query");
12
+ const query_2 = require("../generated/uexecutor/v2/query");
12
13
  const crypto_1 = require("@cosmjs/crypto");
13
14
  const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
14
15
  const auth_1 = require("cosmjs-types/cosmos/auth/v1beta1/auth");
@@ -20,12 +21,7 @@ const enums_1 = require("../constants/enums");
20
21
  class PushClient extends evm_client_1.EvmClient {
21
22
  constructor(clientOptions) {
22
23
  super(clientOptions);
23
- this.pushChainInfo =
24
- clientOptions.network === enums_1.PUSH_NETWORK.MAINNET
25
- ? chain_1.PUSH_CHAIN_INFO[enums_1.CHAIN.PUSH_MAINNET]
26
- : clientOptions.network === enums_1.PUSH_NETWORK.TESTNET_DONUT
27
- ? chain_1.PUSH_CHAIN_INFO[enums_1.CHAIN.PUSH_TESTNET_DONUT]
28
- : chain_1.PUSH_CHAIN_INFO[enums_1.CHAIN.PUSH_LOCALNET];
24
+ this.currentRpcIndex = 0;
29
25
  if (clientOptions.network === enums_1.PUSH_NETWORK.MAINNET) {
30
26
  this.pushChainInfo = chain_1.PUSH_CHAIN_INFO[enums_1.CHAIN.PUSH_MAINNET];
31
27
  }
@@ -38,6 +34,35 @@ class PushClient extends evm_client_1.EvmClient {
38
34
  }
39
35
  this.ephemeralKey = (0, accounts_1.generatePrivateKey)();
40
36
  }
37
+ /**
38
+ * Executes an operation with automatic fallback to next RPC endpoint on failure.
39
+ * Follows the same pattern as SvmClient.executeWithFallback().
40
+ */
41
+ executeWithRpcFallback(operation_1) {
42
+ return tslib_1.__awaiter(this, arguments, void 0, function* (operation, operationName = 'operation') {
43
+ const rpcUrls = this.pushChainInfo.tendermintRpc;
44
+ let lastError = null;
45
+ for (let attempt = 0; attempt < rpcUrls.length; attempt++) {
46
+ const rpcIndex = (this.currentRpcIndex + attempt) % rpcUrls.length;
47
+ const rpcUrl = rpcUrls[rpcIndex];
48
+ try {
49
+ const result = yield operation(rpcUrl);
50
+ if (rpcIndex !== this.currentRpcIndex) {
51
+ this.currentRpcIndex = rpcIndex;
52
+ }
53
+ return result;
54
+ }
55
+ catch (error) {
56
+ lastError = error;
57
+ if (attempt === rpcUrls.length - 1) {
58
+ break;
59
+ }
60
+ yield new Promise((resolve) => setTimeout(resolve, 100));
61
+ }
62
+ }
63
+ throw new Error(`All RPC endpoints failed for ${operationName}. Last error: ${lastError === null || lastError === void 0 ? void 0 : lastError.message}`);
64
+ });
65
+ }
41
66
  /**
42
67
  * Converts nPUSH (1e18) to USDC (1e8), fixed rate: 1 PUSH = 0.1 USDC
43
68
  */
@@ -71,6 +96,12 @@ class PushClient extends evm_client_1.EvmClient {
71
96
  value: tx_1.MsgExecutePayload.encode(tx_1.MsgExecutePayload.fromPartial(input)).finish(),
72
97
  };
73
98
  }
99
+ createMsgMigrateUEA(input) {
100
+ return {
101
+ typeUrl: '/uexecutor.v1.MsgMigrateUEA',
102
+ value: tx_1.MsgMigrateUEA.encode(tx_1.MsgMigrateUEA.fromPartial(input)).finish(),
103
+ };
104
+ }
74
105
  // --- Tx Builder ---
75
106
  createCosmosTxBody(messages, memo) {
76
107
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -93,49 +124,53 @@ class PushClient extends evm_client_1.EvmClient {
93
124
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
94
125
  const account = (0, accounts_1.privateKeyToAccount)(this.ephemeralKey);
95
126
  const sender = (0, encoding_1.toBech32)(this.pushChainInfo.prefix, (0, viem_1.hexToBytes)(account.address));
96
- // 🔍 Get on-chain account info
97
- const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(this.pushChainInfo.tendermintRpc);
98
- const status = yield tmClient.status();
99
- const chainId = status.nodeInfo.network;
100
- const queryClient = stargate_1.QueryClient.withExtensions(tmClient, stargate_1.setupAuthExtension);
101
- let baseAccount = null;
102
- try {
103
- const accountResp = yield queryClient.auth.account(sender);
104
- baseAccount = auth_1.BaseAccount.decode(accountResp.value);
105
- }
106
- catch (err) {
107
- // Ignore
108
- }
109
- // 📦 Encode pubkey
110
- const uncompressedPubKey = (0, viem_1.hexToBytes)(account.publicKey);
111
- const compressedPubKey = crypto_1.Secp256k1.compressPubkey(uncompressedPubKey);
112
- const pubkeyEncoded = {
113
- typeUrl: '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey',
114
- value: protobufjs_1.Writer.create().uint32(10).bytes(compressedPubKey).finish(),
115
- };
116
- const authInfoBytes = (0, proto_signing_1.makeAuthInfoBytes)([
117
- {
118
- pubkey: pubkeyEncoded,
119
- sequence: baseAccount ? Number(baseAccount.sequence) : 0,
120
- },
121
- ], [], 100000000000, // gas
122
- undefined, undefined);
123
- const txBodyBytes = tx_2.TxBody.encode(txBody).finish();
124
- const signDoc = (0, proto_signing_1.makeSignDoc)(txBodyBytes, authInfoBytes, chainId, baseAccount ? Number(baseAccount.accountNumber) : 0);
125
- const digest = (0, viem_1.keccak256)(tx_2.SignDoc.encode(signDoc).finish());
126
- const signature = yield account.sign({ hash: digest });
127
- return tx_2.TxRaw.fromPartial({
128
- bodyBytes: txBodyBytes,
129
- authInfoBytes,
130
- signatures: [(0, viem_1.hexToBytes)(signature)],
131
- });
127
+ return this.executeWithRpcFallback((rpcUrl) => tslib_1.__awaiter(this, void 0, void 0, function* () {
128
+ // 🔍 Get on-chain account info
129
+ const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(rpcUrl);
130
+ const status = yield tmClient.status();
131
+ const chainId = status.nodeInfo.network;
132
+ const queryClient = stargate_1.QueryClient.withExtensions(tmClient, stargate_1.setupAuthExtension);
133
+ let baseAccount = null;
134
+ try {
135
+ const accountResp = yield queryClient.auth.account(sender);
136
+ baseAccount = auth_1.BaseAccount.decode(accountResp.value);
137
+ }
138
+ catch (err) {
139
+ // Ignore
140
+ }
141
+ // 📦 Encode pubkey
142
+ const uncompressedPubKey = (0, viem_1.hexToBytes)(account.publicKey);
143
+ const compressedPubKey = crypto_1.Secp256k1.compressPubkey(uncompressedPubKey);
144
+ const pubkeyEncoded = {
145
+ typeUrl: '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey',
146
+ value: protobufjs_1.Writer.create().uint32(10).bytes(compressedPubKey).finish(),
147
+ };
148
+ const authInfoBytes = (0, proto_signing_1.makeAuthInfoBytes)([
149
+ {
150
+ pubkey: pubkeyEncoded,
151
+ sequence: baseAccount ? Number(baseAccount.sequence) : 0,
152
+ },
153
+ ], [], 100000000000, // gas
154
+ undefined, undefined);
155
+ const txBodyBytes = tx_2.TxBody.encode(txBody).finish();
156
+ const signDoc = (0, proto_signing_1.makeSignDoc)(txBodyBytes, authInfoBytes, chainId, baseAccount ? Number(baseAccount.accountNumber) : 0);
157
+ const digest = (0, viem_1.keccak256)(tx_2.SignDoc.encode(signDoc).finish());
158
+ const signature = yield account.sign({ hash: digest });
159
+ return tx_2.TxRaw.fromPartial({
160
+ bodyBytes: txBodyBytes,
161
+ authInfoBytes,
162
+ signatures: [(0, viem_1.hexToBytes)(signature)],
163
+ });
164
+ }), 'signCosmosTx');
132
165
  });
133
166
  }
134
167
  broadcastCosmosTx(txRaw) {
135
168
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
136
- const client = yield stargate_1.StargateClient.connect(this.pushChainInfo.tendermintRpc);
137
- const result = yield client.broadcastTx(tx_2.TxRaw.encode(txRaw).finish());
138
- return result;
169
+ return this.executeWithRpcFallback((rpcUrl) => tslib_1.__awaiter(this, void 0, void 0, function* () {
170
+ const client = yield stargate_1.StargateClient.connect(rpcUrl);
171
+ const result = yield client.broadcastTx(tx_2.TxRaw.encode(txRaw).finish());
172
+ return result;
173
+ }), 'broadcastCosmosTx');
139
174
  });
140
175
  }
141
176
  /**
@@ -143,36 +178,67 @@ class PushClient extends evm_client_1.EvmClient {
143
178
  */
144
179
  getUniversalTxById(id) {
145
180
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
146
- const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(this.pushChainInfo.tendermintRpc);
147
- const queryClient = new stargate_1.QueryClient(tmClient);
148
- const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
149
- const request = query_1.QueryGetUniversalTxRequest.fromPartial({ id });
150
- const responseBytes = yield rpc.request('uexecutor.v1.Query', 'GetUniversalTx', query_1.QueryGetUniversalTxRequest.encode(request).finish());
151
- const response = query_1.QueryGetUniversalTxResponse.decode(responseBytes);
152
- return response;
181
+ return this.executeWithRpcFallback((rpcUrl) => tslib_1.__awaiter(this, void 0, void 0, function* () {
182
+ const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(rpcUrl);
183
+ const queryClient = new stargate_1.QueryClient(tmClient);
184
+ const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
185
+ const request = query_1.QueryGetUniversalTxRequest.fromPartial({ id });
186
+ const responseBytes = yield rpc.request('uexecutor.v1.Query', 'GetUniversalTx', query_1.QueryGetUniversalTxRequest.encode(request).finish());
187
+ const response = query_1.QueryGetUniversalTxResponse.decode(responseBytes);
188
+ return response;
189
+ }), 'getUniversalTxById');
190
+ });
191
+ }
192
+ /**
193
+ * Queries Push Chain's uexecutor v2 gRPC service for a UniversalTx by its ID.
194
+ * V2 returns expanded OutboundTx fields and repeated outbound_tx array.
195
+ */
196
+ getUniversalTxByIdV2(id) {
197
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
198
+ return this.executeWithRpcFallback((rpcUrl) => tslib_1.__awaiter(this, void 0, void 0, function* () {
199
+ var _a, _b, _c;
200
+ console.log(`[PushClient:getUniversalTxByIdV2] Querying v2 API | ID: ${id} | RPC: ${rpcUrl}`);
201
+ const t0 = Date.now();
202
+ const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(rpcUrl);
203
+ const queryClient = new stargate_1.QueryClient(tmClient);
204
+ const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
205
+ const request = query_2.QueryGetUniversalTxRequestV2.fromPartial({ id });
206
+ const responseBytes = yield rpc.request('uexecutor.v2.Query', 'GetUniversalTx', query_2.QueryGetUniversalTxRequestV2.encode(request).finish());
207
+ const response = query_2.QueryGetUniversalTxResponseV2.decode(responseBytes);
208
+ const utx = response === null || response === void 0 ? void 0 : response.universalTx;
209
+ console.log(`[PushClient:getUniversalTxByIdV2] v2 response in ${Date.now() - t0}ms | universalTx exists: ${!!utx} | status: ${utx === null || utx === void 0 ? void 0 : utx.universalStatus} | outboundTx count: ${(_b = (_a = utx === null || utx === void 0 ? void 0 : utx.outboundTx) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0}`);
210
+ if ((_c = utx === null || utx === void 0 ? void 0 : utx.outboundTx) === null || _c === void 0 ? void 0 : _c.length) {
211
+ utx.outboundTx.forEach((ob, i) => {
212
+ var _a;
213
+ console.log(`[PushClient:getUniversalTxByIdV2] outbound[${i}]: id=${ob.id} | outboundStatus=${ob.outboundStatus} | observedTx.txHash=${((_a = ob.observedTx) === null || _a === void 0 ? void 0 : _a.txHash) || 'EMPTY'} | dest=${ob.destinationChain} | recipient=${ob.recipient}`);
214
+ });
215
+ }
216
+ return response;
217
+ }), 'getUniversalTxByIdV2');
153
218
  });
154
219
  }
155
220
  /**
156
221
  * Fetches a Cosmos transaction by its hash.
157
- * @param txHash The hex‐encoded transaction hash (without 0x or with—both work).
222
+ * @param txHash The hex‐encoded transaction hash (without "0x" or with—both work).
158
223
  * @returns The indexed transaction (height, logs, events, etc.).
159
- * @throws If the tx isnt found.
224
+ * @throws If the tx isn't found.
160
225
  */
161
226
  getCosmosTx(txHash) {
162
227
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
163
- // 1. Connect to the Tendermint RPC
164
- const client = yield stargate_1.StargateClient.connect(this.pushChainInfo.tendermintRpc);
165
- // Raw string query—must be one string, not a KV array:
166
- const query = `ethereum_tx.ethereumTxHash='${txHash}'`;
167
- const results = yield client.searchTx(query);
168
- // Convert bigint values to strings in the results. This is done to avoid JSON.stringify()
169
- // from converting bigint to string when on the client side.
170
- // On documentation, one thing very common was to use JSON.stringify() to log the results, then we would get an error.
171
- const convertedResults = results.map((result) => JSON.parse(JSON.stringify(result, (key, value) => typeof value === 'bigint' ? value.toString() : value)));
172
- if (convertedResults.length === 0) {
173
- throw new Error(`No Cosmos-indexed tx for EVM hash ${txHash}`);
174
- }
175
- return Object.assign(Object.assign({}, convertedResults[0]), { transactionHash: txHash });
228
+ return this.executeWithRpcFallback((rpcUrl) => tslib_1.__awaiter(this, void 0, void 0, function* () {
229
+ const client = yield stargate_1.StargateClient.connect(rpcUrl);
230
+ // Raw string query—must be one string, not a KV array:
231
+ const query = `ethereum_tx.ethereumTxHash='${txHash}'`;
232
+ const results = yield client.searchTx(query);
233
+ // Convert bigint values to strings in the results. This is done to avoid JSON.stringify()
234
+ // from converting bigint to string when on the client side.
235
+ // On documentation, one thing very common was to use JSON.stringify() to log the results, then we would get an error.
236
+ const convertedResults = results.map((result) => JSON.parse(JSON.stringify(result, (key, value) => typeof value === 'bigint' ? value.toString() : value)));
237
+ if (convertedResults.length === 0) {
238
+ throw new Error(`No Cosmos-indexed tx for EVM hash ${txHash}`);
239
+ }
240
+ return Object.assign(Object.assign({}, convertedResults[0]), { transactionHash: txHash });
241
+ }), 'getCosmosTx');
176
242
  });
177
243
  }
178
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-client/push-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-client/push-client.ts"],"names":[],"mappings":"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"}