@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.
- package/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/src/lib/constants/abi/cea.evm.d.ts +23 -0
- package/src/lib/constants/abi/cea.evm.js +34 -0
- package/src/lib/constants/abi/cea.evm.js.map +1 -0
- package/src/lib/constants/abi/ceaFactory.evm.d.ts +65 -0
- package/src/lib/constants/abi/ceaFactory.evm.js +41 -0
- package/src/lib/constants/abi/ceaFactory.evm.js.map +1 -0
- package/src/lib/constants/abi/erc20.evm.d.ts +14 -0
- package/src/lib/constants/abi/erc20.evm.js +7 -0
- package/src/lib/constants/abi/erc20.evm.js.map +1 -1
- package/src/lib/constants/abi/index.d.ts +6 -0
- package/src/lib/constants/abi/index.js +15 -1
- package/src/lib/constants/abi/index.js.map +1 -1
- package/src/lib/constants/abi/prc20.evm.d.ts +188 -0
- package/src/lib/constants/abi/prc20.evm.js +130 -0
- package/src/lib/constants/abi/prc20.evm.js.map +1 -0
- package/src/lib/constants/abi/uea-factory.d.ts +30 -0
- package/src/lib/constants/abi/uea-factory.js +25 -0
- package/src/lib/constants/abi/uea-factory.js.map +1 -0
- package/src/lib/constants/abi/universalGateway.evm.d.ts +93 -0
- package/src/lib/constants/abi/universalGateway.evm.js +70 -0
- package/src/lib/constants/abi/universalGateway.evm.js.map +1 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.d.ts +140 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.js +70 -0
- package/src/lib/constants/abi/universalGatewayPC.evm.js.map +1 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js +57 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js.map +1 -1
- package/src/lib/constants/abi/universalGatewayV0.json +1581 -859
- package/src/lib/constants/chain.d.ts +54 -1
- package/src/lib/constants/chain.js +207 -17
- package/src/lib/constants/chain.js.map +1 -1
- package/src/lib/constants/index.d.ts +9 -1
- package/src/lib/constants/index.js +20 -1
- package/src/lib/constants/index.js.map +1 -1
- package/src/lib/constants/selectors.d.ts +42 -0
- package/src/lib/constants/selectors.js +45 -0
- package/src/lib/constants/selectors.js.map +1 -0
- package/src/lib/constants/tokens.d.ts +48 -1
- package/src/lib/constants/tokens.js +112 -9
- package/src/lib/constants/tokens.js.map +1 -1
- package/src/lib/generated/uexecutor/v2/index.d.ts +2 -0
- package/src/lib/generated/uexecutor/v2/index.js +31 -0
- package/src/lib/generated/uexecutor/v2/index.js.map +1 -0
- package/src/lib/generated/uexecutor/v2/query.d.ts +23 -0
- package/src/lib/generated/uexecutor/v2/query.js +79 -0
- package/src/lib/generated/uexecutor/v2/query.js.map +1 -0
- package/src/lib/generated/uexecutor/v2/types.d.ts +101 -0
- package/src/lib/generated/uexecutor/v2/types.js +660 -0
- package/src/lib/generated/uexecutor/v2/types.js.map +1 -0
- package/src/lib/generated/v1/tx.d.ts +22 -0
- package/src/lib/generated/v1/tx.js +188 -1
- package/src/lib/generated/v1/tx.js.map +1 -1
- package/src/lib/index.d.ts +5 -0
- package/src/lib/index.js +25 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/orchestrator/cea-utils.d.ts +85 -0
- package/src/lib/orchestrator/cea-utils.js +186 -0
- package/src/lib/orchestrator/cea-utils.js.map +1 -0
- package/src/lib/orchestrator/orchestrator.d.ts +358 -3
- package/src/lib/orchestrator/orchestrator.js +3983 -348
- package/src/lib/orchestrator/orchestrator.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.types.d.ts +529 -0
- package/src/lib/orchestrator/orchestrator.types.js +17 -0
- package/src/lib/orchestrator/orchestrator.types.js.map +1 -1
- package/src/lib/orchestrator/payload-builders.d.ts +212 -2
- package/src/lib/orchestrator/payload-builders.js +536 -16
- package/src/lib/orchestrator/payload-builders.js.map +1 -1
- package/src/lib/orchestrator/route-detector.d.ts +102 -0
- package/src/lib/orchestrator/route-detector.js +355 -0
- package/src/lib/orchestrator/route-detector.js.map +1 -0
- package/src/lib/price-fetch/price-fetch.js +5 -2
- package/src/lib/price-fetch/price-fetch.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.js +54 -4
- package/src/lib/progress-hook/progress-hook.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.types.d.ts +10 -3
- package/src/lib/progress-hook/progress-hook.types.js +8 -0
- package/src/lib/progress-hook/progress-hook.types.js.map +1 -1
- package/src/lib/push-chain/push-chain.d.ts +75 -1
- package/src/lib/push-chain/push-chain.js +73 -1
- package/src/lib/push-chain/push-chain.js.map +1 -1
- package/src/lib/push-client/push-client.d.ts +20 -4
- package/src/lib/push-client/push-client.js +133 -67
- package/src/lib/push-client/push-client.js.map +1 -1
- package/src/lib/universal/signer/signer.js +17 -3
- package/src/lib/universal/signer/signer.js.map +1 -1
- package/src/lib/utils.d.ts +14 -0
- package/src/lib/utils.js +25 -0
- package/src/lib/utils.js.map +1 -1
- package/src/lib/vm-client/evm-client.d.ts +3 -1
- package/src/lib/vm-client/evm-client.js +23 -15
- 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,
|
|
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
|
|
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
|
-
|
|
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
|
|
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 isn
|
|
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.
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
|
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 isn
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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":";;;;AAAA,+BAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"push-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-client/push-client.ts"],"names":[],"mappings":"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"}
|