@pushchain/core 4.0.14-alpha.0 → 5.1.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.
- 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 +1162 -1647
- package/src/lib/constants/chain.d.ts +52 -0
- package/src/lib/constants/chain.js +161 -1
- 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 +41 -0
- package/src/lib/constants/tokens.js +62 -1
- 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 +326 -3
- package/src/lib/orchestrator/orchestrator.js +3262 -135
- package/src/lib/orchestrator/orchestrator.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.types.d.ts +487 -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 +210 -1
- package/src/lib/orchestrator/payload-builders.js +481 -0
- 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 +43 -0
- package/src/lib/progress-hook/progress-hook.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.types.d.ts +7 -1
- package/src/lib/progress-hook/progress-hook.types.js +7 -0
- package/src/lib/progress-hook/progress-hook.types.js.map +1 -1
- package/src/lib/push-chain/push-chain.d.ts +71 -1
- package/src/lib/push-chain/push-chain.js +70 -1
- package/src/lib/push-chain/push-chain.js.map +1 -1
- package/src/lib/push-client/push-client.d.ts +10 -1
- package/src/lib/push-client/push-client.js +35 -6
- package/src/lib/push-client/push-client.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
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Route Detection and Validation for Multi-Chain Transactions
|
|
4
|
+
*
|
|
5
|
+
* Detects which route a transaction should take based on `from` and `to` parameters:
|
|
6
|
+
* - Route 1 (UOA_TO_PUSH): UOA → Push Chain
|
|
7
|
+
* - Route 2 (UOA_TO_CEA): UOA → CEA on external chain
|
|
8
|
+
* - Route 3 (CEA_TO_PUSH): CEA → Push Chain
|
|
9
|
+
* - Route 4 (CEA_TO_CEA): CEA → CEA (external to external via Push)
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.InvalidTransactionError = exports.ChainNotSupportedError = exports.RouteValidationError = exports.TransactionRoute = void 0;
|
|
13
|
+
exports.isPushChain = isPushChain;
|
|
14
|
+
exports.isSupportedExternalChain = isSupportedExternalChain;
|
|
15
|
+
exports.chainEnumToName = chainEnumToName;
|
|
16
|
+
exports.findTokenChain = findTokenChain;
|
|
17
|
+
exports.isChainTarget = isChainTarget;
|
|
18
|
+
exports.detectRoute = detectRoute;
|
|
19
|
+
exports.validateRouteParams = validateRouteParams;
|
|
20
|
+
exports.getRouteInfo = getRouteInfo;
|
|
21
|
+
const enums_1 = require("../constants/enums");
|
|
22
|
+
const tokens_1 = require("../constants/tokens");
|
|
23
|
+
const payload_builders_1 = require("./payload-builders");
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Transaction Route Enum
|
|
26
|
+
// ============================================================================
|
|
27
|
+
/**
|
|
28
|
+
* Enum for transaction routes
|
|
29
|
+
*/
|
|
30
|
+
var TransactionRoute;
|
|
31
|
+
(function (TransactionRoute) {
|
|
32
|
+
/** Route 1: UOA → Push Chain (existing flow) */
|
|
33
|
+
TransactionRoute["UOA_TO_PUSH"] = "UOA_TO_PUSH";
|
|
34
|
+
/** Route 2: UOA → CEA on external chain */
|
|
35
|
+
TransactionRoute["UOA_TO_CEA"] = "UOA_TO_CEA";
|
|
36
|
+
/** Route 3: CEA → Push Chain */
|
|
37
|
+
TransactionRoute["CEA_TO_PUSH"] = "CEA_TO_PUSH";
|
|
38
|
+
/** Route 4: CEA → CEA (external to external via Push) */
|
|
39
|
+
TransactionRoute["CEA_TO_CEA"] = "CEA_TO_CEA";
|
|
40
|
+
})(TransactionRoute || (exports.TransactionRoute = TransactionRoute = {}));
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// Error Classes
|
|
43
|
+
// ============================================================================
|
|
44
|
+
/**
|
|
45
|
+
* Error thrown when route parameters are invalid
|
|
46
|
+
*/
|
|
47
|
+
class RouteValidationError extends Error {
|
|
48
|
+
constructor(message) {
|
|
49
|
+
super(message);
|
|
50
|
+
this.name = 'RouteValidationError';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.RouteValidationError = RouteValidationError;
|
|
54
|
+
/**
|
|
55
|
+
* Error thrown when a chain is not supported for CEA operations
|
|
56
|
+
*/
|
|
57
|
+
class ChainNotSupportedError extends Error {
|
|
58
|
+
constructor(chain) {
|
|
59
|
+
super(`Chain ${chain} is not supported for CEA operations`);
|
|
60
|
+
this.chain = chain;
|
|
61
|
+
this.name = 'ChainNotSupportedError';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.ChainNotSupportedError = ChainNotSupportedError;
|
|
65
|
+
/**
|
|
66
|
+
* Error thrown when transaction type is invalid
|
|
67
|
+
*/
|
|
68
|
+
class InvalidTransactionError extends Error {
|
|
69
|
+
constructor(message) {
|
|
70
|
+
super(message);
|
|
71
|
+
this.name = 'InvalidTransactionError';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.InvalidTransactionError = InvalidTransactionError;
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Chain Helpers
|
|
77
|
+
// ============================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Push Chain identifiers (all environments)
|
|
80
|
+
*/
|
|
81
|
+
const PUSH_CHAINS = [
|
|
82
|
+
enums_1.CHAIN.PUSH_MAINNET,
|
|
83
|
+
enums_1.CHAIN.PUSH_TESTNET,
|
|
84
|
+
enums_1.CHAIN.PUSH_TESTNET_DONUT,
|
|
85
|
+
enums_1.CHAIN.PUSH_LOCALNET,
|
|
86
|
+
];
|
|
87
|
+
/**
|
|
88
|
+
* External chains supported for outbound operations (Route 2).
|
|
89
|
+
* - EVM chains: use CEA (Chain Executor Account)
|
|
90
|
+
* - SVM chains: use gateway program directly (no CEA)
|
|
91
|
+
*/
|
|
92
|
+
const SUPPORTED_CEA_CHAINS = [
|
|
93
|
+
// EVM chains (CEA-based)
|
|
94
|
+
enums_1.CHAIN.ETHEREUM_MAINNET,
|
|
95
|
+
enums_1.CHAIN.ETHEREUM_SEPOLIA,
|
|
96
|
+
enums_1.CHAIN.ARBITRUM_SEPOLIA,
|
|
97
|
+
enums_1.CHAIN.BASE_SEPOLIA,
|
|
98
|
+
enums_1.CHAIN.BNB_TESTNET,
|
|
99
|
+
// SVM chains (gateway-based, no CEA)
|
|
100
|
+
enums_1.CHAIN.SOLANA_MAINNET,
|
|
101
|
+
enums_1.CHAIN.SOLANA_TESTNET,
|
|
102
|
+
enums_1.CHAIN.SOLANA_DEVNET,
|
|
103
|
+
];
|
|
104
|
+
/**
|
|
105
|
+
* Check if a chain is a Push Chain
|
|
106
|
+
*/
|
|
107
|
+
function isPushChain(chain) {
|
|
108
|
+
return PUSH_CHAINS.includes(chain);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if a chain is supported for CEA operations
|
|
112
|
+
*/
|
|
113
|
+
function isSupportedExternalChain(chain) {
|
|
114
|
+
return SUPPORTED_CEA_CHAINS.includes(chain);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Reverse-map a CHAIN enum value to its friendly name (e.g. CHAIN.ETHEREUM_SEPOLIA → 'ETHEREUM_SEPOLIA').
|
|
118
|
+
*/
|
|
119
|
+
function chainEnumToName(chain) {
|
|
120
|
+
const entry = Object.entries(enums_1.CHAIN).find(([, v]) => v === chain);
|
|
121
|
+
return entry ? entry[0] : chain;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Find which chain(s) a moveable token is registered for, by matching address.
|
|
125
|
+
* Returns the first matching chain, or undefined if not found.
|
|
126
|
+
*/
|
|
127
|
+
function findTokenChain(token) {
|
|
128
|
+
for (const [chain, tokens] of Object.entries(tokens_1.MOVEABLE_TOKENS)) {
|
|
129
|
+
if (tokens === null || tokens === void 0 ? void 0 : tokens.some(t => t.address.toLowerCase() === token.address.toLowerCase() && t.symbol === token.symbol)) {
|
|
130
|
+
return chain;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Check if 'to' parameter is a ChainTarget object
|
|
137
|
+
*/
|
|
138
|
+
function isChainTarget(to) {
|
|
139
|
+
return (typeof to === 'object' &&
|
|
140
|
+
to !== null &&
|
|
141
|
+
'address' in to &&
|
|
142
|
+
'chain' in to &&
|
|
143
|
+
typeof to.address === 'string' &&
|
|
144
|
+
typeof to.chain === 'string');
|
|
145
|
+
}
|
|
146
|
+
// ============================================================================
|
|
147
|
+
// Route Detection
|
|
148
|
+
// ============================================================================
|
|
149
|
+
/**
|
|
150
|
+
* Detect the transaction route based on params
|
|
151
|
+
*
|
|
152
|
+
* Route detection logic:
|
|
153
|
+
* | from.chain | to format | to.chain | Route |
|
|
154
|
+
* |------------|---------------|-------------|---------------|
|
|
155
|
+
* | undefined | string | N/A | UOA_TO_PUSH |
|
|
156
|
+
* | undefined | ChainTarget | external | UOA_TO_CEA |
|
|
157
|
+
* | undefined | ChainTarget | push | UOA_TO_PUSH |
|
|
158
|
+
* | defined | string | N/A | CEA_TO_PUSH |
|
|
159
|
+
* | defined | ChainTarget | push | CEA_TO_PUSH |
|
|
160
|
+
* | defined | ChainTarget | external | CEA_TO_CEA |
|
|
161
|
+
*
|
|
162
|
+
* @param params - Universal execute parameters
|
|
163
|
+
* @returns The detected transaction route
|
|
164
|
+
* @throws RouteValidationError if parameters are invalid
|
|
165
|
+
*/
|
|
166
|
+
function detectRoute(params) {
|
|
167
|
+
var _a;
|
|
168
|
+
const hasFromChain = ((_a = params.from) === null || _a === void 0 ? void 0 : _a.chain) !== undefined;
|
|
169
|
+
const toIsChainTarget = isChainTarget(params.to);
|
|
170
|
+
// Case 1: No from.chain, to is simple string → Route 1 (UOA → Push)
|
|
171
|
+
if (!hasFromChain && !toIsChainTarget) {
|
|
172
|
+
return TransactionRoute.UOA_TO_PUSH;
|
|
173
|
+
}
|
|
174
|
+
// Case 2: No from.chain, to is ChainTarget
|
|
175
|
+
if (!hasFromChain && toIsChainTarget) {
|
|
176
|
+
const toChain = params.to.chain;
|
|
177
|
+
// If targeting Push Chain, it's still Route 1
|
|
178
|
+
if (isPushChain(toChain)) {
|
|
179
|
+
return TransactionRoute.UOA_TO_PUSH;
|
|
180
|
+
}
|
|
181
|
+
// Targeting external chain → Route 2 (UOA → CEA)
|
|
182
|
+
return TransactionRoute.UOA_TO_CEA;
|
|
183
|
+
}
|
|
184
|
+
// Case 3: from.chain present, to is simple string → Route 3 (CEA → Push)
|
|
185
|
+
// When from.chain is specified and to is a string, we assume it's a Push Chain address
|
|
186
|
+
// This is Route 3: CEA sends funds back to Push Chain
|
|
187
|
+
if (hasFromChain && !toIsChainTarget) {
|
|
188
|
+
return TransactionRoute.CEA_TO_PUSH;
|
|
189
|
+
}
|
|
190
|
+
// Case 4: from.chain present, to is ChainTarget
|
|
191
|
+
if (hasFromChain && toIsChainTarget) {
|
|
192
|
+
const toChain = params.to.chain;
|
|
193
|
+
// Targeting Push Chain → Route 3 (CEA → Push)
|
|
194
|
+
if (isPushChain(toChain)) {
|
|
195
|
+
return TransactionRoute.CEA_TO_PUSH;
|
|
196
|
+
}
|
|
197
|
+
// Targeting external chain → Route 4 (CEA → CEA)
|
|
198
|
+
return TransactionRoute.CEA_TO_CEA;
|
|
199
|
+
}
|
|
200
|
+
// Should never reach here
|
|
201
|
+
throw new RouteValidationError('Unable to determine transaction route');
|
|
202
|
+
}
|
|
203
|
+
// ============================================================================
|
|
204
|
+
// Route Validation
|
|
205
|
+
// ============================================================================
|
|
206
|
+
/**
|
|
207
|
+
* Validate route parameters are valid for the detected route
|
|
208
|
+
*
|
|
209
|
+
* @param params - Universal execute parameters
|
|
210
|
+
* @throws RouteValidationError if validation fails
|
|
211
|
+
* @throws ChainNotSupportedError if chain is not supported
|
|
212
|
+
*/
|
|
213
|
+
function validateRouteParams(params, context) {
|
|
214
|
+
var _a, _b, _c, _d;
|
|
215
|
+
const route = detectRoute(params);
|
|
216
|
+
// Validate from.chain is supported external chain (Routes 3, 4)
|
|
217
|
+
if ((_a = params.from) === null || _a === void 0 ? void 0 : _a.chain) {
|
|
218
|
+
if (!isSupportedExternalChain(params.from.chain)) {
|
|
219
|
+
throw new ChainNotSupportedError(params.from.chain);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Validate to.chain is supported (Routes 2, 3, 4)
|
|
223
|
+
if (isChainTarget(params.to)) {
|
|
224
|
+
const toChain = params.to.chain;
|
|
225
|
+
// For Route 2 (UOA → CEA), target must be external chain
|
|
226
|
+
if (route === TransactionRoute.UOA_TO_CEA) {
|
|
227
|
+
if (!isSupportedExternalChain(toChain)) {
|
|
228
|
+
throw new ChainNotSupportedError(toChain);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// For Route 4 (CEA → CEA), target must be external chain
|
|
232
|
+
if (route === TransactionRoute.CEA_TO_CEA) {
|
|
233
|
+
if (!isSupportedExternalChain(toChain)) {
|
|
234
|
+
throw new ChainNotSupportedError(toChain);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Validate migration params
|
|
239
|
+
if (params.migration) {
|
|
240
|
+
if (route !== TransactionRoute.UOA_TO_CEA) {
|
|
241
|
+
throw new RouteValidationError('migration flag is only valid for Route 2 (UOA_TO_CEA)');
|
|
242
|
+
}
|
|
243
|
+
if (params.value && params.value > BigInt(0)) {
|
|
244
|
+
throw new RouteValidationError('migration is incompatible with value');
|
|
245
|
+
}
|
|
246
|
+
if (params.funds) {
|
|
247
|
+
throw new RouteValidationError('migration is incompatible with funds');
|
|
248
|
+
}
|
|
249
|
+
if (params.data) {
|
|
250
|
+
throw new RouteValidationError('migration is incompatible with data');
|
|
251
|
+
}
|
|
252
|
+
if (params.svmExecute) {
|
|
253
|
+
throw new RouteValidationError('migration is incompatible with svmExecute');
|
|
254
|
+
}
|
|
255
|
+
if (isChainTarget(params.to) && (0, payload_builders_1.isSvmChain)(params.to.chain)) {
|
|
256
|
+
throw new RouteValidationError('migration is not supported on SVM chains');
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// Validate funds token symbol is available on target chain (Route 2 outbound)
|
|
260
|
+
if (((_b = params.funds) === null || _b === void 0 ? void 0 : _b.token) && isChainTarget(params.to)) {
|
|
261
|
+
const targetChain = params.to.chain;
|
|
262
|
+
if (!isPushChain(targetChain)) {
|
|
263
|
+
const targetTokens = tokens_1.MOVEABLE_TOKENS[targetChain] || [];
|
|
264
|
+
const hasSymbolOnTarget = targetTokens.some(t => t.symbol === params.funds.token.symbol);
|
|
265
|
+
if (!hasSymbolOnTarget) {
|
|
266
|
+
const tokenChain = findTokenChain(params.funds.token);
|
|
267
|
+
const tokenLabel = tokenChain
|
|
268
|
+
? `${chainEnumToName(tokenChain)}.${params.funds.token.symbol}`
|
|
269
|
+
: params.funds.token.symbol;
|
|
270
|
+
const clientLabel = (context === null || context === void 0 ? void 0 : context.clientChain)
|
|
271
|
+
? chainEnumToName(context.clientChain)
|
|
272
|
+
: 'unknown';
|
|
273
|
+
throw new RouteValidationError(`Unsupported moveable token for current client and route:\n` +
|
|
274
|
+
`token=${tokenLabel}\n` +
|
|
275
|
+
`clientChain=${clientLabel}\n` +
|
|
276
|
+
`destination=${chainEnumToName(targetChain)}`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Validate funds token is available on source chain (Route 3 inbound)
|
|
281
|
+
if (((_c = params.funds) === null || _c === void 0 ? void 0 : _c.token) && ((_d = params.from) === null || _d === void 0 ? void 0 : _d.chain)) {
|
|
282
|
+
const sourceChain = params.from.chain;
|
|
283
|
+
if (!isPushChain(sourceChain)) {
|
|
284
|
+
const sourceTokens = tokens_1.MOVEABLE_TOKENS[sourceChain] || [];
|
|
285
|
+
const hasSymbolOnSource = sourceTokens.some(t => t.symbol === params.funds.token.symbol);
|
|
286
|
+
if (!hasSymbolOnSource) {
|
|
287
|
+
const tokenChain = findTokenChain(params.funds.token);
|
|
288
|
+
const tokenLabel = tokenChain
|
|
289
|
+
? `${chainEnumToName(tokenChain)}.${params.funds.token.symbol}`
|
|
290
|
+
: params.funds.token.symbol;
|
|
291
|
+
const clientLabel = (context === null || context === void 0 ? void 0 : context.clientChain)
|
|
292
|
+
? chainEnumToName(context.clientChain)
|
|
293
|
+
: 'unknown';
|
|
294
|
+
throw new RouteValidationError(`Unsupported moveable token for current client and route:\n` +
|
|
295
|
+
`token=${tokenLabel}\n` +
|
|
296
|
+
`clientChain=${clientLabel}\n` +
|
|
297
|
+
`source=${chainEnumToName(sourceChain)}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Validate address format
|
|
302
|
+
if (isChainTarget(params.to)) {
|
|
303
|
+
if (!params.to.address.startsWith('0x')) {
|
|
304
|
+
throw new RouteValidationError(`Invalid address format: ${params.to.address}`);
|
|
305
|
+
}
|
|
306
|
+
// SVM targets require 32-byte addresses (0x + 64 hex chars)
|
|
307
|
+
if ((0, payload_builders_1.isSvmChain)(params.to.chain)) {
|
|
308
|
+
if (!(0, payload_builders_1.isValidSolanaHexAddress)(params.to.address)) {
|
|
309
|
+
throw new RouteValidationError(`Invalid Solana address format: ${params.to.address}. ` +
|
|
310
|
+
`Expected 32 bytes (0x + 64 hex chars).`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else if (typeof params.to === 'string') {
|
|
315
|
+
if (!params.to.startsWith('0x')) {
|
|
316
|
+
throw new RouteValidationError(`Invalid address format: ${params.to}`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Get route information for display/logging
|
|
322
|
+
*/
|
|
323
|
+
function getRouteInfo(route) {
|
|
324
|
+
switch (route) {
|
|
325
|
+
case TransactionRoute.UOA_TO_PUSH:
|
|
326
|
+
return {
|
|
327
|
+
name: 'UOA → Push',
|
|
328
|
+
description: 'Execute on Push Chain via UEA',
|
|
329
|
+
isOutbound: false,
|
|
330
|
+
requiresCEA: false,
|
|
331
|
+
};
|
|
332
|
+
case TransactionRoute.UOA_TO_CEA:
|
|
333
|
+
return {
|
|
334
|
+
name: 'UOA → CEA',
|
|
335
|
+
description: 'Execute on external chain via CEA',
|
|
336
|
+
isOutbound: true,
|
|
337
|
+
requiresCEA: true,
|
|
338
|
+
};
|
|
339
|
+
case TransactionRoute.CEA_TO_PUSH:
|
|
340
|
+
return {
|
|
341
|
+
name: 'CEA → Push',
|
|
342
|
+
description: 'Bridge from external chain to Push Chain',
|
|
343
|
+
isOutbound: true,
|
|
344
|
+
requiresCEA: true,
|
|
345
|
+
};
|
|
346
|
+
case TransactionRoute.CEA_TO_CEA:
|
|
347
|
+
return {
|
|
348
|
+
name: 'CEA → CEA',
|
|
349
|
+
description: 'Cross-chain via Push (external → Push → external)',
|
|
350
|
+
isOutbound: true,
|
|
351
|
+
requiresCEA: true,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=route-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-detector.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/orchestrator/route-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,12 @@ class PriceFetch {
|
|
|
28
28
|
const result = yield evmClient.readContract({
|
|
29
29
|
abi: abi_1.FEE_LOCKER_EVM,
|
|
30
30
|
address: lockerContract,
|
|
31
|
-
functionName: '
|
|
31
|
+
functionName: 'getEthUsdPrice',
|
|
32
32
|
});
|
|
33
|
-
|
|
33
|
+
// getEthUsdPrice returns price scaled to 1e18 and the chainlink feed decimals.
|
|
34
|
+
// Downstream lockFee math expects the price in 8 decimals, so scale down from 1e18 to 1e8.
|
|
35
|
+
const [price1e18] = result;
|
|
36
|
+
const price = price1e18 / BigInt(Math.pow(10, 10)); // 1e18 -> 1e8
|
|
34
37
|
return price;
|
|
35
38
|
}
|
|
36
39
|
case enums_1.VM.SVM: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-fetch.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/price-fetch/price-fetch.ts"],"names":[],"mappings":";;;;AAAA,8CAA+C;AAC/C,8CAAgD;AAChD,wDAAoD;AACpD,0CAAkE;AAClE,8CAA4C;AAC5C,6CAA6C;AAC7C,6CAA4C;AAC5C,8CAAmD;AAGnD,MAAa,UAAU;IACrB,YACmB,UAA4C,EAAE;QAA9C,YAAO,GAAP,OAAO,CAAuC;IAC9D,CAAC;IAEE,QAAQ,CAAC,KAAY;;YACzB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,kBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;YAEtD,MAAM,EAAE,GAAG,kBAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,cAAc,EAAE,GAAG,kBAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,UAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAE7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAmB;wBAC5D,GAAG,EAAE,oBAAc;wBACnB,OAAO,EAAE,cAA+B;wBACxC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"price-fetch.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/price-fetch/price-fetch.ts"],"names":[],"mappings":";;;;AAAA,8CAA+C;AAC/C,8CAAgD;AAChD,wDAAoD;AACpD,0CAAkE;AAClE,8CAA4C;AAC5C,6CAA6C;AAC7C,6CAA4C;AAC5C,8CAAmD;AAGnD,MAAa,UAAU;IACrB,YACmB,UAA4C,EAAE;QAA9C,YAAO,GAAP,OAAO,CAAuC;IAC9D,CAAC;IAEE,QAAQ,CAAC,KAAY;;YACzB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,kBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;YAEtD,MAAM,EAAE,GAAG,kBAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,cAAc,EAAE,GAAG,kBAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,UAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAE7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAmB;wBAC5D,GAAG,EAAE,oBAAc;wBACnB,OAAO,EAAE,cAA+B;wBACxC,YAAY,EAAE,gBAAgB;qBAC/B,CAAC,CAAC;oBAEH,+EAA+E;oBAC/E,2FAA2F;oBAC3F,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;oBAC3B,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC,SAAA,EAAE,EAAI,EAAE,CAAA,CAAC,CAAC,CAAC,cAAc;oBAC1D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,KAAK,UAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,MAAM,aAAa,GAAG,IAAI,mBAAS,CACjC,8CAA8C,CAC/C,CAAC;oBAEF,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,IAAI,uBAAc,CACjC,UAAU,EACV;wBACE,SAAS,EAAE,IAAI,mBAAS,CACtB,8CAA8C,CAC/C;wBACD,8DAA8D;qBACxD,EACR,EAAE,UAAU,EAAE,WAAW,EAAE,CAC5B,CAAC;oBAEF,MAAM,OAAO,GAAG,IAAI,gBAAO,CAAC,oBAAc,EAAE,QAAQ,CAAC,CAAC;oBAEtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;yBAClD,QAAQ,CAAC;wBACR,WAAW,EAAE,aAAa;qBAC3B,CAAC;yBACD,IAAI,EAAE,CAAC;oBAEV,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACjD,CAAC;oBAED,+CAA+C;oBAC/C,MAAM,KAAK,GAAI,MAAM,CAAC,KAAY,CAAC,QAAQ,EAAE,CAAC;oBAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;KAAA;CACF;AArED,gCAqEC"}
|
|
@@ -172,6 +172,49 @@ const RAW_HOOKS = {
|
|
|
172
172
|
response: null,
|
|
173
173
|
level: 'ERROR',
|
|
174
174
|
}),
|
|
175
|
+
// UEA Migration hooks
|
|
176
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_01]: () => ({
|
|
177
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_01,
|
|
178
|
+
title: 'Checking UEA',
|
|
179
|
+
message: 'Checking status for migration.',
|
|
180
|
+
response: null,
|
|
181
|
+
level: 'INFO',
|
|
182
|
+
}),
|
|
183
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_02]: () => ({
|
|
184
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_02,
|
|
185
|
+
title: 'Awaiting Migration Signature',
|
|
186
|
+
message: 'Awaiting wallet signature for upgrading account.',
|
|
187
|
+
response: null,
|
|
188
|
+
level: 'INFO',
|
|
189
|
+
}),
|
|
190
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_03]: () => ({
|
|
191
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_03,
|
|
192
|
+
title: 'Broadcasting Migration TX',
|
|
193
|
+
message: 'Broadcasting upgrade transaction to Push Chain...',
|
|
194
|
+
response: null,
|
|
195
|
+
level: 'INFO',
|
|
196
|
+
}),
|
|
197
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9901]: (newVersion) => ({
|
|
198
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9901,
|
|
199
|
+
title: 'UEA Migration Successful',
|
|
200
|
+
message: `UEA migration is successful. UEA is now version ${newVersion}.`,
|
|
201
|
+
response: null,
|
|
202
|
+
level: 'SUCCESS',
|
|
203
|
+
}),
|
|
204
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9902]: () => ({
|
|
205
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9902,
|
|
206
|
+
title: 'UEA Migration Failed',
|
|
207
|
+
message: 'UEA migration failed. Check transaction on explorer.',
|
|
208
|
+
response: null,
|
|
209
|
+
level: 'ERROR',
|
|
210
|
+
}),
|
|
211
|
+
[progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9903]: () => ({
|
|
212
|
+
id: progress_hook_types_1.PROGRESS_HOOK.UEA_MIG_9903,
|
|
213
|
+
title: 'UEA Migration Skipped',
|
|
214
|
+
message: 'UEA migration skipped.',
|
|
215
|
+
response: null,
|
|
216
|
+
level: 'INFO',
|
|
217
|
+
}),
|
|
175
218
|
};
|
|
176
219
|
// Build final hooks with timestamp injection
|
|
177
220
|
const PROGRESS_HOOKS = Object.fromEntries(Object.entries(RAW_HOOKS).map(([key, value]) => [key, withTimestamp(value)]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-hook.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/progress-hook/progress-hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-hook.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/progress-hook/progress-hook.ts"],"names":[],"mappings":";;AACA,oCAAiC;AACjC,+DAK+B;AAE/B,gDAAgD;AAChD,MAAM,aAAa,GAAG,CACpB,EAAyC,EAClB,EAAE;IACzB,8DAA8D;IAC9D,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,iCACtB,EAAE,CAAC,GAAG,IAAI,CAAC,KACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACnC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAEX;IACF,CAAC,mCAAa,CAAC,UAAU,CAAC,EAAE,CAC1B,oBAA4B,EAC5B,kBAA0B,EAC1B,EAAE;;QAAC,OAAA,CAAC;YACJ,EAAE,EAAE,mCAAa,CAAC,UAAU;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,iBACP,MAAA,aAAK,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,mCAAI,oBACrD,sBAAsB,kBAAkB,EAAE;YAC1C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;KAAA;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,aAAqB,EAAE,EAAE,CAAC,CAAC;QACzD,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,4CAA4C,aAAa,MAAM;QACxE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,eAAe;QACtB,OAAO,EACL,+FAA+F;QACjG,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAC7B,UAAyB,EACzB,QAAiB,EACjB,EAAE,CAAC,CAAC;QACJ,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,QAAQ,UAAU,eAAe,QAAQ,EAAE;QACpD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,sBAAsB;IACtB,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,2CAA2C;QACpD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,+CAA+C;QACxD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,kBAAkB;IAClB,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,OAAO;KACf,CAAC;IACF,kBAAkB;IAClB,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAC7B,iBAAyB,EACzB,aAA6B,EAC7B,EAAE,CAAC,CAAC;QACJ,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,wBAAwB,iBAAiB,EAAE;QACpD,gEAAgE;QAChE,QAAQ,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI;QAC/B,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,uBAAuB;IACvB,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAC7B,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,EAAE,CAAC,CAAC;QACJ,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,qBAAqB,aAAK,CAAC,OAAO,CAAC,WAAW,CACrD,MAAM,EACN,QAAQ,CACT,IAAI,MAAM,oBAAoB;QAC/B,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAC7B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,aAA6B,EAC7B,EAAE,CAAC,CAAC;QACJ,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,WAAW,aAAK,CAAC,OAAO,CAAC,WAAW,CAC3C,MAAM,EACN,QAAQ,CACT,IAAI,MAAM,2BAA2B,MAAM,GAAG;QAC/C,iEAAiE;QACjE,QAAQ,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI;QAC/B,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;QACpD,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,eAAe,QAAQ,gBAAgB;QAChD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC;QACxE,EAAE,EAAE,mCAAa,CAAC,gBAAgB;QAClC,KAAK,EAAE,gBAAgB,OAAO,IAAI,QAAQ,WAAW;QACrD,OAAO,EAAE,GAAG,OAAO,IAAI,QAAQ,yBAAyB;QACxD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC;QACxE,EAAE,EAAE,mCAAa,CAAC,gBAAgB;QAClC,KAAK,EAAE,gBAAgB,OAAO,IAAI,QAAQ,WAAW;QACrD,OAAO,EAAE,GAAG,OAAO,IAAI,QAAQ,yBAAyB;QACxD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,+BAA+B;QACtC,OAAO,EAAE,iDAAiD;QAC1D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAC7B,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,EAAE,CAAC,CAAC;QACJ,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE,mBAAmB,aAAK,CAAC,OAAO,CAAC,WAAW,CACnD,MAAM,EACN,QAAQ,CACT,IAAI,MAAM,EAAE;QACb,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,wBAAwB;IACxB,CAAC,mCAAa,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,mCAAa,CAAC,UAAU;QAC5B,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,UAAiC,EAAE,EAAE,CAAC,CAAC;QACrE,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE,EAAE,mCAAa,CAAC,aAAa;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,OAAO;KACf,CAAC;IAEF,sBAAsB;IACtB,CAAC,mCAAa,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,mCAAa,CAAC,UAAU;QAC5B,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,gCAAgC;QACzC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,mCAAa,CAAC,UAAU;QAC5B,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE,kDAAkD;QAC3D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,mCAAa,CAAC,UAAU;QAC5B,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,mDAAmD;QAC5D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;IACF,CAAC,mCAAa,CAAC,YAAY,CAAC,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC;QACrD,EAAE,EAAE,mCAAa,CAAC,YAAY;QAC9B,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,mDAAmD,UAAU,GAAG;QACzE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,CAAC,mCAAa,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,mCAAa,CAAC,YAAY;QAC9B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,sDAAsD;QAC/D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,OAAO;KACf,CAAC;IACF,CAAC,mCAAa,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,mCAAa,CAAC,YAAY;QAC9B,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;KACd,CAAC;CACH,CAAC;AAEF,6CAA6C;AAC7C,MAAM,cAAc,GAClB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7E,CAAC;AAEJ,kBAAe,cAAc,CAAC"}
|
|
@@ -35,6 +35,12 @@ export declare enum PROGRESS_HOOK {
|
|
|
35
35
|
SEND_TX_06_06 = "SEND-TX-06-06",// Funds Credited on Push Chain (was 06_05)
|
|
36
36
|
SEND_TX_07 = "SEND-TX-07",// Broadcasting to Push Chain
|
|
37
37
|
SEND_TX_99_01 = "SEND-TX-99-01",
|
|
38
|
-
SEND_TX_99_02 = "SEND-TX-99-02"
|
|
38
|
+
SEND_TX_99_02 = "SEND-TX-99-02",
|
|
39
|
+
UEA_MIG_01 = "UEA-MIG-01",
|
|
40
|
+
UEA_MIG_02 = "UEA-MIG-02",
|
|
41
|
+
UEA_MIG_03 = "UEA-MIG-03",
|
|
42
|
+
UEA_MIG_9901 = "UEA-MIG-9901",
|
|
43
|
+
UEA_MIG_9902 = "UEA-MIG-9902",
|
|
44
|
+
UEA_MIG_9903 = "UEA-MIG-9903"
|
|
39
45
|
}
|
|
40
46
|
export {};
|
|
@@ -31,5 +31,12 @@ var PROGRESS_HOOK;
|
|
|
31
31
|
// 99-x: Final outcome
|
|
32
32
|
PROGRESS_HOOK["SEND_TX_99_01"] = "SEND-TX-99-01";
|
|
33
33
|
PROGRESS_HOOK["SEND_TX_99_02"] = "SEND-TX-99-02";
|
|
34
|
+
// UEA Migration hooks
|
|
35
|
+
PROGRESS_HOOK["UEA_MIG_01"] = "UEA-MIG-01";
|
|
36
|
+
PROGRESS_HOOK["UEA_MIG_02"] = "UEA-MIG-02";
|
|
37
|
+
PROGRESS_HOOK["UEA_MIG_03"] = "UEA-MIG-03";
|
|
38
|
+
PROGRESS_HOOK["UEA_MIG_9901"] = "UEA-MIG-9901";
|
|
39
|
+
PROGRESS_HOOK["UEA_MIG_9902"] = "UEA-MIG-9902";
|
|
40
|
+
PROGRESS_HOOK["UEA_MIG_9903"] = "UEA-MIG-9903";
|
|
34
41
|
})(PROGRESS_HOOK || (exports.PROGRESS_HOOK = PROGRESS_HOOK = {}));
|
|
35
42
|
//# sourceMappingURL=progress-hook.types.js.map
|
|
@@ -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,13 +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;
|
|
47
83
|
/**
|
|
48
84
|
* Tracks a transaction by hash on Push Chain
|
|
49
85
|
*/
|
|
50
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'];
|
|
51
94
|
/**
|
|
52
95
|
* Signs an arbitrary message
|
|
53
96
|
*/
|
|
@@ -84,7 +127,34 @@ export declare class PushChain {
|
|
|
84
127
|
to: MoveableToken | undefined;
|
|
85
128
|
}) => Promise<ConversionQuote>;
|
|
86
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>;
|
|
87
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>;
|
|
88
158
|
/**
|
|
89
159
|
* @private
|
|
90
160
|
* Internal method to create a PushChain instance with the given parameters.
|