@mimicprotocol/sdk 0.0.1-rc.4 → 0.0.1-rc.5
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/dist/axia/validators.d.ts +14 -14
- package/dist/registry/validators.d.ts +8 -8
- package/dist/runner/validators.d.ts +2 -2
- package/dist/shared/codec/chains/evm.d.ts +5 -0
- package/dist/shared/codec/chains/evm.d.ts.map +1 -0
- package/dist/shared/codec/chains/evm.js +58 -0
- package/dist/shared/codec/chains/evm.js.map +1 -0
- package/dist/shared/codec/chains/svm.d.ts +10 -0
- package/dist/shared/codec/chains/svm.d.ts.map +1 -0
- package/dist/shared/codec/chains/svm.js +65 -0
- package/dist/shared/codec/chains/svm.js.map +1 -0
- package/dist/shared/codec/decoder.d.ts.map +1 -1
- package/dist/shared/codec/decoder.js +8 -12
- package/dist/shared/codec/decoder.js.map +1 -1
- package/dist/shared/codec/encoder.d.ts.map +1 -1
- package/dist/shared/codec/encoder.js +11 -32
- package/dist/shared/codec/encoder.js.map +1 -1
- package/dist/shared/codec/index.d.ts +1 -0
- package/dist/shared/codec/index.d.ts.map +1 -1
- package/dist/shared/codec/index.js +6 -0
- package/dist/shared/codec/index.js.map +1 -1
- package/dist/shared/eip712Types/index.js +3 -3
- package/dist/shared/eip712Types/index.js.map +1 -1
- package/dist/shared/utils/chains.d.ts +1 -0
- package/dist/shared/utils/chains.d.ts.map +1 -1
- package/dist/shared/utils/chains.js +1 -0
- package/dist/shared/utils/chains.js.map +1 -1
- package/dist/shared/utils/random.d.ts +6 -1
- package/dist/shared/utils/random.d.ts.map +1 -1
- package/dist/shared/utils/random.js +13 -2
- package/dist/shared/utils/random.js.map +1 -1
- package/dist/shared/utils/validations.d.ts +6 -1
- package/dist/shared/utils/validations.d.ts.map +1 -1
- package/dist/shared/utils/validations.js +24 -3
- package/dist/shared/utils/validations.js.map +1 -1
- package/dist/shared/validators/primitives.d.ts.map +1 -1
- package/dist/shared/validators/primitives.js +3 -2
- package/dist/shared/validators/primitives.js.map +1 -1
- package/package.json +2 -1
|
@@ -13,10 +13,10 @@ export declare const AxiaProposalValidator: z.ZodObject<{
|
|
|
13
13
|
destTransactionHash: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
15
|
data: string;
|
|
16
|
+
status: ProposalStatus;
|
|
16
17
|
deadline: string;
|
|
17
18
|
solver: string;
|
|
18
19
|
fees: string[];
|
|
19
|
-
status: ProposalStatus;
|
|
20
20
|
feeUsd: number;
|
|
21
21
|
signatures: string[];
|
|
22
22
|
description?: string | undefined;
|
|
@@ -24,10 +24,10 @@ export declare const AxiaProposalValidator: z.ZodObject<{
|
|
|
24
24
|
destTransactionHash?: string | undefined;
|
|
25
25
|
}, {
|
|
26
26
|
data: string;
|
|
27
|
+
status: ProposalStatus;
|
|
27
28
|
deadline: string;
|
|
28
29
|
solver: string;
|
|
29
30
|
fees: string[];
|
|
30
|
-
status: ProposalStatus;
|
|
31
31
|
feeUsd: number;
|
|
32
32
|
signatures: string[];
|
|
33
33
|
description?: string | undefined;
|
|
@@ -67,10 +67,10 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
67
67
|
destTransactionHash: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
68
68
|
}, "strip", z.ZodTypeAny, {
|
|
69
69
|
data: string;
|
|
70
|
+
status: ProposalStatus;
|
|
70
71
|
deadline: string;
|
|
71
72
|
solver: string;
|
|
72
73
|
fees: string[];
|
|
73
|
-
status: ProposalStatus;
|
|
74
74
|
feeUsd: number;
|
|
75
75
|
signatures: string[];
|
|
76
76
|
description?: string | undefined;
|
|
@@ -78,10 +78,10 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
78
78
|
destTransactionHash?: string | undefined;
|
|
79
79
|
}, {
|
|
80
80
|
data: string;
|
|
81
|
+
status: ProposalStatus;
|
|
81
82
|
deadline: string;
|
|
82
83
|
solver: string;
|
|
83
84
|
fees: string[];
|
|
84
|
-
status: ProposalStatus;
|
|
85
85
|
feeUsd: number;
|
|
86
86
|
signatures: string[];
|
|
87
87
|
description?: string | undefined;
|
|
@@ -103,6 +103,7 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
103
103
|
}>, "many">;
|
|
104
104
|
}>, "strip", z.ZodTypeAny, {
|
|
105
105
|
data: string;
|
|
106
|
+
status: IntentStatus;
|
|
106
107
|
op: import("../shared").OpType;
|
|
107
108
|
user: string;
|
|
108
109
|
settler: string;
|
|
@@ -112,14 +113,13 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
112
113
|
token: string;
|
|
113
114
|
amount: string;
|
|
114
115
|
}[];
|
|
115
|
-
status: IntentStatus;
|
|
116
116
|
hash: string;
|
|
117
117
|
proposals: {
|
|
118
118
|
data: string;
|
|
119
|
+
status: ProposalStatus;
|
|
119
120
|
deadline: string;
|
|
120
121
|
solver: string;
|
|
121
122
|
fees: string[];
|
|
122
|
-
status: ProposalStatus;
|
|
123
123
|
feeUsd: number;
|
|
124
124
|
signatures: string[];
|
|
125
125
|
description?: string | undefined;
|
|
@@ -133,6 +133,7 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
133
133
|
}[];
|
|
134
134
|
}, {
|
|
135
135
|
data: string;
|
|
136
|
+
status: IntentStatus;
|
|
136
137
|
op: import("../shared").OpType;
|
|
137
138
|
user: string;
|
|
138
139
|
settler: string;
|
|
@@ -142,14 +143,13 @@ export declare const AxiaIntentValidator: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
142
143
|
token: string;
|
|
143
144
|
amount: string;
|
|
144
145
|
}[];
|
|
145
|
-
status: IntentStatus;
|
|
146
146
|
hash: string;
|
|
147
147
|
proposals: {
|
|
148
148
|
data: string;
|
|
149
|
+
status: ProposalStatus;
|
|
149
150
|
deadline: string;
|
|
150
151
|
solver: string;
|
|
151
152
|
fees: string[];
|
|
152
|
-
status: ProposalStatus;
|
|
153
153
|
feeUsd: number;
|
|
154
154
|
signatures: string[];
|
|
155
155
|
description?: string | undefined;
|
|
@@ -339,10 +339,10 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
339
339
|
destTransactionHash: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
340
340
|
}, "strip", z.ZodTypeAny, {
|
|
341
341
|
data: string;
|
|
342
|
+
status: ProposalStatus;
|
|
342
343
|
deadline: string;
|
|
343
344
|
solver: string;
|
|
344
345
|
fees: string[];
|
|
345
|
-
status: ProposalStatus;
|
|
346
346
|
feeUsd: number;
|
|
347
347
|
signatures: string[];
|
|
348
348
|
description?: string | undefined;
|
|
@@ -350,10 +350,10 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
350
350
|
destTransactionHash?: string | undefined;
|
|
351
351
|
}, {
|
|
352
352
|
data: string;
|
|
353
|
+
status: ProposalStatus;
|
|
353
354
|
deadline: string;
|
|
354
355
|
solver: string;
|
|
355
356
|
fees: string[];
|
|
356
|
-
status: ProposalStatus;
|
|
357
357
|
feeUsd: number;
|
|
358
358
|
signatures: string[];
|
|
359
359
|
description?: string | undefined;
|
|
@@ -375,6 +375,7 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
375
375
|
}>, "many">;
|
|
376
376
|
}>, "strip", z.ZodTypeAny, {
|
|
377
377
|
data: string;
|
|
378
|
+
status: IntentStatus;
|
|
378
379
|
op: import("../shared").OpType;
|
|
379
380
|
user: string;
|
|
380
381
|
settler: string;
|
|
@@ -384,14 +385,13 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
384
385
|
token: string;
|
|
385
386
|
amount: string;
|
|
386
387
|
}[];
|
|
387
|
-
status: IntentStatus;
|
|
388
388
|
hash: string;
|
|
389
389
|
proposals: {
|
|
390
390
|
data: string;
|
|
391
|
+
status: ProposalStatus;
|
|
391
392
|
deadline: string;
|
|
392
393
|
solver: string;
|
|
393
394
|
fees: string[];
|
|
394
|
-
status: ProposalStatus;
|
|
395
395
|
feeUsd: number;
|
|
396
396
|
signatures: string[];
|
|
397
397
|
description?: string | undefined;
|
|
@@ -405,6 +405,7 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
405
405
|
}[];
|
|
406
406
|
}, {
|
|
407
407
|
data: string;
|
|
408
|
+
status: IntentStatus;
|
|
408
409
|
op: import("../shared").OpType;
|
|
409
410
|
user: string;
|
|
410
411
|
settler: string;
|
|
@@ -414,14 +415,13 @@ export declare const AxiaIntentsValidator: z.ZodArray<z.ZodObject<z.objectUtil.e
|
|
|
414
415
|
token: string;
|
|
415
416
|
amount: string;
|
|
416
417
|
}[];
|
|
417
|
-
status: IntentStatus;
|
|
418
418
|
hash: string;
|
|
419
419
|
proposals: {
|
|
420
420
|
data: string;
|
|
421
|
+
status: ProposalStatus;
|
|
421
422
|
deadline: string;
|
|
422
423
|
solver: string;
|
|
423
424
|
fees: string[];
|
|
424
|
-
status: ProposalStatus;
|
|
425
425
|
feeUsd: number;
|
|
426
426
|
signatures: string[];
|
|
427
427
|
description?: string | undefined;
|
|
@@ -258,14 +258,14 @@ export declare const BalanceValidator: z.ZodObject<{
|
|
|
258
258
|
createdAt: z.ZodDate;
|
|
259
259
|
}, "strip", z.ZodTypeAny, {
|
|
260
260
|
address: string;
|
|
261
|
-
amount: number;
|
|
262
261
|
createdAt: Date;
|
|
262
|
+
amount: number;
|
|
263
263
|
description: string;
|
|
264
264
|
expiresAt?: Date | undefined;
|
|
265
265
|
}, {
|
|
266
266
|
address: string;
|
|
267
|
-
amount: number;
|
|
268
267
|
createdAt: Date;
|
|
268
|
+
amount: number;
|
|
269
269
|
description: string;
|
|
270
270
|
expiresAt?: Date | undefined;
|
|
271
271
|
}>;
|
|
@@ -277,14 +277,14 @@ export declare const BalancesValidator: z.ZodArray<z.ZodObject<{
|
|
|
277
277
|
createdAt: z.ZodDate;
|
|
278
278
|
}, "strip", z.ZodTypeAny, {
|
|
279
279
|
address: string;
|
|
280
|
-
amount: number;
|
|
281
280
|
createdAt: Date;
|
|
281
|
+
amount: number;
|
|
282
282
|
description: string;
|
|
283
283
|
expiresAt?: Date | undefined;
|
|
284
284
|
}, {
|
|
285
285
|
address: string;
|
|
286
|
-
amount: number;
|
|
287
286
|
createdAt: Date;
|
|
287
|
+
amount: number;
|
|
288
288
|
description: string;
|
|
289
289
|
expiresAt?: Date | undefined;
|
|
290
290
|
}>, "many">;
|
|
@@ -1163,8 +1163,8 @@ export declare const ExecutionPricingValidator: z.ZodObject<{
|
|
|
1163
1163
|
protocolFeePct: z.ZodNumber;
|
|
1164
1164
|
createdAt: z.ZodDate;
|
|
1165
1165
|
}, "strip", z.ZodTypeAny, {
|
|
1166
|
-
intent: number;
|
|
1167
1166
|
createdAt: Date;
|
|
1167
|
+
intent: number;
|
|
1168
1168
|
fuel: number;
|
|
1169
1169
|
relayerBase: number;
|
|
1170
1170
|
validatorBase: number;
|
|
@@ -1175,8 +1175,8 @@ export declare const ExecutionPricingValidator: z.ZodObject<{
|
|
|
1175
1175
|
eventTrigger: number;
|
|
1176
1176
|
protocolFeePct: number;
|
|
1177
1177
|
}, {
|
|
1178
|
-
intent: number;
|
|
1179
1178
|
createdAt: Date;
|
|
1179
|
+
intent: number;
|
|
1180
1180
|
fuel: number;
|
|
1181
1181
|
relayerBase: number;
|
|
1182
1182
|
validatorBase: number;
|
|
@@ -1200,8 +1200,8 @@ export declare const ExecutionPricingsValidator: z.ZodArray<z.ZodObject<{
|
|
|
1200
1200
|
protocolFeePct: z.ZodNumber;
|
|
1201
1201
|
createdAt: z.ZodDate;
|
|
1202
1202
|
}, "strip", z.ZodTypeAny, {
|
|
1203
|
-
intent: number;
|
|
1204
1203
|
createdAt: Date;
|
|
1204
|
+
intent: number;
|
|
1205
1205
|
fuel: number;
|
|
1206
1206
|
relayerBase: number;
|
|
1207
1207
|
validatorBase: number;
|
|
@@ -1212,8 +1212,8 @@ export declare const ExecutionPricingsValidator: z.ZodArray<z.ZodObject<{
|
|
|
1212
1212
|
eventTrigger: number;
|
|
1213
1213
|
protocolFeePct: number;
|
|
1214
1214
|
}, {
|
|
1215
|
-
intent: number;
|
|
1216
1215
|
createdAt: Date;
|
|
1216
|
+
intent: number;
|
|
1217
1217
|
fuel: number;
|
|
1218
1218
|
relayerBase: number;
|
|
1219
1219
|
validatorBase: number;
|
|
@@ -343,8 +343,8 @@ export declare const RunExecutionRequestValidator: z.ZodObject<{
|
|
|
343
343
|
hash: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
344
344
|
}, "strip", z.ZodTypeAny, {
|
|
345
345
|
timestamp: number;
|
|
346
|
-
user: string;
|
|
347
346
|
configSig: string;
|
|
347
|
+
user: string;
|
|
348
348
|
hash: string;
|
|
349
349
|
input: Record<string, unknown>;
|
|
350
350
|
callbackUrl: string;
|
|
@@ -409,8 +409,8 @@ export declare const RunExecutionRequestValidator: z.ZodObject<{
|
|
|
409
409
|
})[] | undefined;
|
|
410
410
|
}, {
|
|
411
411
|
timestamp: number;
|
|
412
|
-
user: string;
|
|
413
412
|
configSig: string;
|
|
413
|
+
user: string;
|
|
414
414
|
hash: string;
|
|
415
415
|
input: Record<string, unknown>;
|
|
416
416
|
callbackUrl: string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Intent, TransferIntent, TransferIntentData } from '../../types';
|
|
2
|
+
export declare function evmEncodeIntent(intent: Intent): string;
|
|
3
|
+
export declare function evmEncodeTransferIntent(intent: TransferIntentData): string;
|
|
4
|
+
export declare function evmDecodeTransferIntent(intent: Intent): TransferIntent;
|
|
5
|
+
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/shared/codec/chains/evm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAU,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAcD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAU1E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CActE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evmEncodeIntent = evmEncodeIntent;
|
|
4
|
+
exports.evmEncodeTransferIntent = evmEncodeTransferIntent;
|
|
5
|
+
exports.evmDecodeTransferIntent = evmDecodeTransferIntent;
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const eip712Types_1 = require("../../eip712Types");
|
|
8
|
+
function evmEncodeIntent(intent) {
|
|
9
|
+
return ethers_1.AbiCoder.defaultAbiCoder().encode([
|
|
10
|
+
'bytes32', // type hash
|
|
11
|
+
'uint8', // op
|
|
12
|
+
'address', // user
|
|
13
|
+
'address', // settler
|
|
14
|
+
'bytes32', // nonce
|
|
15
|
+
'uint256', // deadline
|
|
16
|
+
'bytes32', // keccak256 of data
|
|
17
|
+
'bytes32', // keccak256 of max fees
|
|
18
|
+
], [
|
|
19
|
+
eip712Types_1.INTENT_TYPE_HASH,
|
|
20
|
+
intent.op,
|
|
21
|
+
intent.user,
|
|
22
|
+
intent.settler,
|
|
23
|
+
intent.nonce,
|
|
24
|
+
intent.deadline,
|
|
25
|
+
(0, ethers_1.keccak256)(intent.data),
|
|
26
|
+
(0, ethers_1.keccak256)(evmEncodeMaxFees(intent.maxFees)),
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
function evmEncodeMaxFees(maxFees) {
|
|
30
|
+
const maxFeesHashes = maxFees.map((maxFee) => (0, ethers_1.keccak256)(evmEncodeMaxFee(maxFee)));
|
|
31
|
+
return '0x' + maxFeesHashes.map((hash) => hash.slice(2)).join('');
|
|
32
|
+
}
|
|
33
|
+
function evmEncodeMaxFee(maxFee) {
|
|
34
|
+
return ethers_1.AbiCoder.defaultAbiCoder().encode(['bytes32', 'address', 'uint256'], [eip712Types_1.MAX_FEE_TYPE_HASH, maxFee.token, maxFee.amount]);
|
|
35
|
+
}
|
|
36
|
+
function evmEncodeTransferIntent(intent) {
|
|
37
|
+
return ethers_1.AbiCoder.defaultAbiCoder().encode([eip712Types_1.TRANSFER_INTENT_ABI_TYPE], [
|
|
38
|
+
[
|
|
39
|
+
intent.chainId,
|
|
40
|
+
(intent.transfers || []).map((transfer) => [transfer.token, transfer.amount, transfer.recipient]),
|
|
41
|
+
],
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
function evmDecodeTransferIntent(intent) {
|
|
45
|
+
const [decoded] = ethers_1.AbiCoder.defaultAbiCoder().decode([eip712Types_1.TRANSFER_INTENT_ABI_TYPE], intent.data);
|
|
46
|
+
const [chainId, transfersRaw] = decoded;
|
|
47
|
+
const transfers = transfersRaw.map(([token, amount, recipient]) => ({
|
|
48
|
+
token: token.toLowerCase(),
|
|
49
|
+
amount: amount.toString(),
|
|
50
|
+
recipient: recipient.toLowerCase(),
|
|
51
|
+
}));
|
|
52
|
+
return {
|
|
53
|
+
...intent,
|
|
54
|
+
chainId: parseInt(chainId),
|
|
55
|
+
transfers,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=evm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../src/shared/codec/chains/evm.ts"],"names":[],"mappings":";;AAKA,0CAuBC;AAcD,0DAUC;AAED,0DAcC;AApED,mCAA4C;AAE5C,mDAAiG;AAGjG,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC;QACE,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,wBAAwB;KACpC,EACD;QACE,8BAAgB;QAChB,MAAM,CAAC,EAAE;QACT,MAAM,CAAC,IAAI;QACX,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,QAAQ;QACf,IAAA,kBAAS,EAAC,MAAM,CAAC,IAAI,CAAC;QACtB,IAAA,kBAAS,EAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC5C,CACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiB;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjF,OAAO,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,+BAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CACjD,CAAA;AACH,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,OAAO,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,sCAAwB,CAAC,EAC1B;QACE;YACE,MAAM,CAAC,OAAO;YACd,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;SAClG;KACF,CACF,CAAA;AACH,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAAc;IACpD,MAAM,CAAC,OAAO,CAAC,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,sCAAwB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5F,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,OAAO,CAAA;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAA2B,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;QACzB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;KACnC,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC1B,SAAS;KACV,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Schema } from 'borsh';
|
|
2
|
+
import { Intent, TransferIntent, TransferIntentData } from '../../types';
|
|
3
|
+
export declare const TRANSFER_SCHEMA: Schema;
|
|
4
|
+
export declare const TRANSFER_INTENT_DATA_SCHEMA: Schema;
|
|
5
|
+
export declare const MAX_FEE_SCHEMA: Schema;
|
|
6
|
+
export declare const INTENT_SCHEMA: Schema;
|
|
7
|
+
export declare function svmEncodeIntent(intent: Intent): string;
|
|
8
|
+
export declare function svmEncodeTransferIntent(intent: TransferIntentData): string;
|
|
9
|
+
export declare function svmDecodeTransferIntent(intent: Intent): TransferIntent;
|
|
10
|
+
//# sourceMappingURL=svm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svm.d.ts","sourceRoot":"","sources":["../../../../src/shared/codec/chains/svm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAa,MAAM,OAAO,CAAA;AAGtD,OAAO,EAAE,MAAM,EAAU,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhF,eAAO,MAAM,eAAe,EAAE,MAM7B,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MASzC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,MAK5B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAU3B,CAAA;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGtD;AAWD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAE1E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAWtE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INTENT_SCHEMA = exports.MAX_FEE_SCHEMA = exports.TRANSFER_INTENT_DATA_SCHEMA = exports.TRANSFER_SCHEMA = void 0;
|
|
4
|
+
exports.svmEncodeIntent = svmEncodeIntent;
|
|
5
|
+
exports.svmEncodeTransferIntent = svmEncodeTransferIntent;
|
|
6
|
+
exports.svmDecodeTransferIntent = svmDecodeTransferIntent;
|
|
7
|
+
const borsh_1 = require("borsh");
|
|
8
|
+
const ethers_1 = require("ethers");
|
|
9
|
+
exports.TRANSFER_SCHEMA = {
|
|
10
|
+
struct: {
|
|
11
|
+
token: 'string',
|
|
12
|
+
amount: 'u64',
|
|
13
|
+
recipient: 'string',
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
exports.TRANSFER_INTENT_DATA_SCHEMA = {
|
|
17
|
+
struct: {
|
|
18
|
+
chainId: 'u32',
|
|
19
|
+
transfers: {
|
|
20
|
+
array: {
|
|
21
|
+
type: exports.TRANSFER_SCHEMA,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
exports.MAX_FEE_SCHEMA = {
|
|
27
|
+
struct: {
|
|
28
|
+
token: 'string',
|
|
29
|
+
amount: 'string',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
exports.INTENT_SCHEMA = {
|
|
33
|
+
struct: {
|
|
34
|
+
op: 'u8',
|
|
35
|
+
user: 'string',
|
|
36
|
+
settler: 'string',
|
|
37
|
+
nonce: 'string',
|
|
38
|
+
deadline: 'u64',
|
|
39
|
+
data: 'string',
|
|
40
|
+
maxFees: 'string',
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
function svmEncodeIntent(intent) {
|
|
44
|
+
const maxFeesHash = (0, ethers_1.keccak256)(svmEncodeMaxFees(intent.maxFees));
|
|
45
|
+
return '0x' + Buffer.from((0, borsh_1.serialize)(exports.INTENT_SCHEMA, { ...intent, maxFees: maxFeesHash })).toString('hex');
|
|
46
|
+
}
|
|
47
|
+
function svmEncodeMaxFees(maxFees) {
|
|
48
|
+
const maxFeesHashes = maxFees.map((maxFee) => (0, ethers_1.keccak256)(svmEncodeMaxFee(maxFee)));
|
|
49
|
+
return '0x' + maxFeesHashes.map((hash) => hash.slice(2)).join('');
|
|
50
|
+
}
|
|
51
|
+
function svmEncodeMaxFee(maxFee) {
|
|
52
|
+
return '0x' + Buffer.from((0, borsh_1.serialize)(exports.MAX_FEE_SCHEMA, maxFee)).toString('hex');
|
|
53
|
+
}
|
|
54
|
+
function svmEncodeTransferIntent(intent) {
|
|
55
|
+
return '0x' + Buffer.from((0, borsh_1.serialize)(exports.TRANSFER_INTENT_DATA_SCHEMA, intent)).toString('hex');
|
|
56
|
+
}
|
|
57
|
+
function svmDecodeTransferIntent(intent) {
|
|
58
|
+
const { chainId, transfers } = (0, borsh_1.deserialize)(exports.TRANSFER_INTENT_DATA_SCHEMA, Buffer.from(intent.data.slice(2), 'hex'));
|
|
59
|
+
return {
|
|
60
|
+
...intent,
|
|
61
|
+
chainId,
|
|
62
|
+
transfers: transfers.map(({ token, amount, recipient }) => ({ token, amount: amount.toString(), recipient })),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=svm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../../../src/shared/codec/chains/svm.ts"],"names":[],"mappings":";;;AA2CA,0CAGC;AAWD,0DAEC;AAED,0DAWC;AAxED,iCAAsD;AACtD,mCAAkC;AAIrB,QAAA,eAAe,GAAW;IACrC,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,QAAQ;KACpB;CACF,CAAA;AAEY,QAAA,2BAA2B,GAAW;IACjD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,uBAAe;aACtB;SACF;KACF;CACF,CAAA;AAEY,QAAA,cAAc,GAAW;IACpC,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;KACjB;CACF,CAAA;AAEY,QAAA,aAAa,GAAW;IACnC,MAAM,EAAE;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;KAClB;CACF,CAAA;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,MAAM,WAAW,GAAG,IAAA,kBAAS,EAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/D,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,qBAAa,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1G,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiB;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjF,OAAO,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,sBAAc,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9E,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,mCAA2B,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3F,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAAc;IACpD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EACxC,mCAA2B,EAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CACnB,CAAA;IAEvB,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9G,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/decoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/decoder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAMjG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAsB3D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAUnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMnE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAc3D"}
|
|
@@ -6,6 +6,9 @@ exports.decodeTransferIntent = decodeTransferIntent;
|
|
|
6
6
|
exports.decodeCallIntent = decodeCallIntent;
|
|
7
7
|
const ethers_1 = require("ethers");
|
|
8
8
|
const eip712Types_1 = require("../eip712Types");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
const evm_1 = require("./chains/evm");
|
|
11
|
+
const svm_1 = require("./chains/svm");
|
|
9
12
|
function decodeSwapIntent(intent) {
|
|
10
13
|
const [decoded] = ethers_1.AbiCoder.defaultAbiCoder().decode([eip712Types_1.SWAP_INTENT_ABI_TYPE], intent.data);
|
|
11
14
|
const [sourceChain, destinationChain, tokensInRaw, tokensOutRaw] = decoded;
|
|
@@ -37,18 +40,11 @@ function decodeSwapProposal(proposal) {
|
|
|
37
40
|
};
|
|
38
41
|
}
|
|
39
42
|
function decodeTransferIntent(intent) {
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
recipient: recipient.toLowerCase(),
|
|
46
|
-
}));
|
|
47
|
-
return {
|
|
48
|
-
...intent,
|
|
49
|
-
chainId: parseInt(chainId),
|
|
50
|
-
transfers,
|
|
51
|
-
};
|
|
43
|
+
const isEvmSettler = (0, ethers_1.isHexString)(intent.settler);
|
|
44
|
+
const decoded = isEvmSettler ? (0, evm_1.evmDecodeTransferIntent)(intent) : (0, svm_1.svmDecodeTransferIntent)(intent);
|
|
45
|
+
if (!Object.values(utils_1.Chains).includes(decoded.chainId))
|
|
46
|
+
throw new Error(`Failed to decode intent: ${JSON.stringify(intent)}`);
|
|
47
|
+
return decoded;
|
|
52
48
|
}
|
|
53
49
|
function decodeCallIntent(intent) {
|
|
54
50
|
const [decoded] = ethers_1.AbiCoder.defaultAbiCoder().decode([eip712Types_1.CALL_INTENT_ABI_TYPE], intent.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../../src/shared/codec/decoder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../../src/shared/codec/decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAKtC,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEtF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAoBxF;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAY/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAKrE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAOvE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAK/D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAU5D;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAExE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAK1E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;;;;;;;;;;;EA2B3F"}
|
|
@@ -15,37 +15,16 @@ exports.encodeEventExecution = encodeEventExecution;
|
|
|
15
15
|
exports.toRawIntent = toRawIntent;
|
|
16
16
|
const ethers_1 = require("ethers");
|
|
17
17
|
const eip712Types_1 = require("../eip712Types");
|
|
18
|
+
const utils_1 = require("../utils");
|
|
18
19
|
const validators_1 = require("../validators");
|
|
20
|
+
const evm_1 = require("./chains/evm");
|
|
21
|
+
const svm_1 = require("./chains/svm");
|
|
19
22
|
function hashIntent(intent) {
|
|
20
23
|
return (0, ethers_1.keccak256)(encodeIntent(intent));
|
|
21
24
|
}
|
|
22
25
|
function encodeIntent(intent) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
'uint8', // op
|
|
26
|
-
'address', // user
|
|
27
|
-
'address', // settler
|
|
28
|
-
'bytes32', // nonce
|
|
29
|
-
'uint256', // deadline
|
|
30
|
-
'bytes32', // keccak256 of data
|
|
31
|
-
'bytes32', // keccak256 of max fees
|
|
32
|
-
], [
|
|
33
|
-
eip712Types_1.INTENT_TYPE_HASH,
|
|
34
|
-
intent.op,
|
|
35
|
-
intent.user,
|
|
36
|
-
intent.settler,
|
|
37
|
-
intent.nonce,
|
|
38
|
-
intent.deadline,
|
|
39
|
-
(0, ethers_1.keccak256)(intent.data),
|
|
40
|
-
(0, ethers_1.keccak256)(encodeMaxFees(intent.maxFees)),
|
|
41
|
-
]);
|
|
42
|
-
}
|
|
43
|
-
function encodeMaxFees(maxFees) {
|
|
44
|
-
const maxFeesHashes = maxFees.map((maxFee) => (0, ethers_1.keccak256)(encodeMaxFee(maxFee)));
|
|
45
|
-
return '0x' + maxFeesHashes.map((hash) => hash.slice(2)).join('');
|
|
46
|
-
}
|
|
47
|
-
function encodeMaxFee(maxFee) {
|
|
48
|
-
return ethers_1.AbiCoder.defaultAbiCoder().encode(['bytes32', 'address', 'uint256'], [eip712Types_1.MAX_FEE_TYPE_HASH, maxFee.token, maxFee.amount]);
|
|
26
|
+
const isEvmSettler = (0, utils_1.isEvmAddress)(intent.settler);
|
|
27
|
+
return isEvmSettler ? (0, evm_1.evmEncodeIntent)(intent) : (0, svm_1.svmEncodeIntent)(intent);
|
|
49
28
|
}
|
|
50
29
|
function hashProposal(proposal, intentOrHash) {
|
|
51
30
|
return (0, ethers_1.keccak256)(encodeProposal(proposal, intentOrHash));
|
|
@@ -85,12 +64,12 @@ function encodeSwapProposal(proposal) {
|
|
|
85
64
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([eip712Types_1.SWAP_PROPOSAL_ABI_TYPE], [[proposal.executor, proposal.executorData, proposal.amountsOut]]);
|
|
86
65
|
}
|
|
87
66
|
function encodeTransferIntent(intent) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
intent
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
67
|
+
switch (intent.chainId) {
|
|
68
|
+
case utils_1.Chains.Solana:
|
|
69
|
+
return (0, svm_1.svmEncodeTransferIntent)(intent);
|
|
70
|
+
default:
|
|
71
|
+
return (0, evm_1.evmEncodeTransferIntent)(intent);
|
|
72
|
+
}
|
|
94
73
|
}
|
|
95
74
|
function encodeCallIntent(intent) {
|
|
96
75
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([eip712Types_1.CALL_INTENT_ABI_TYPE], [[intent.chainId, (intent.calls || []).map((call) => [call.target, call.data, call.value])]]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":";;AA+BA,gCAEC;AAED,
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/codec/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC1G,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
|
@@ -14,6 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.TRANSFER_SCHEMA = exports.TRANSFER_INTENT_DATA_SCHEMA = exports.MAX_FEE_SCHEMA = exports.INTENT_SCHEMA = void 0;
|
|
18
|
+
var svm_1 = require("./chains/svm");
|
|
19
|
+
Object.defineProperty(exports, "INTENT_SCHEMA", { enumerable: true, get: function () { return svm_1.INTENT_SCHEMA; } });
|
|
20
|
+
Object.defineProperty(exports, "MAX_FEE_SCHEMA", { enumerable: true, get: function () { return svm_1.MAX_FEE_SCHEMA; } });
|
|
21
|
+
Object.defineProperty(exports, "TRANSFER_INTENT_DATA_SCHEMA", { enumerable: true, get: function () { return svm_1.TRANSFER_INTENT_DATA_SCHEMA; } });
|
|
22
|
+
Object.defineProperty(exports, "TRANSFER_SCHEMA", { enumerable: true, get: function () { return svm_1.TRANSFER_SCHEMA; } });
|
|
17
23
|
__exportStar(require("./decoder"), exports);
|
|
18
24
|
__exportStar(require("./encoder"), exports);
|
|
19
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/codec/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/codec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAA0G;AAAjG,oGAAA,aAAa,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,kHAAA,2BAA2B,OAAA;AAAE,sGAAA,eAAe,OAAA;AACpF,4CAAyB;AACzB,4CAAyB"}
|
|
@@ -25,15 +25,15 @@ exports.CALL_PROPOSAL_ABI_TYPE = 'tuple(uint256)';
|
|
|
25
25
|
exports.INTENT_712_TYPE = {
|
|
26
26
|
Intent: [
|
|
27
27
|
{ name: 'op', type: 'uint8' },
|
|
28
|
-
{ name: 'user', type: '
|
|
29
|
-
{ name: 'settler', type: '
|
|
28
|
+
{ name: 'user', type: 'string' },
|
|
29
|
+
{ name: 'settler', type: 'string' },
|
|
30
30
|
{ name: 'nonce', type: 'bytes32' },
|
|
31
31
|
{ name: 'deadline', type: 'uint256' },
|
|
32
32
|
{ name: 'data', type: 'bytes' },
|
|
33
33
|
{ name: 'maxFees', type: 'MaxFee[]' },
|
|
34
34
|
],
|
|
35
35
|
MaxFee: [
|
|
36
|
-
{ name: 'token', type: '
|
|
36
|
+
{ name: 'token', type: 'string' },
|
|
37
37
|
{ name: 'amount', type: 'uint256' },
|
|
38
38
|
],
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/eip712Types/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAElC,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,GAAG;CACb,CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAA,kBAAS,EACvC,IAAA,oBAAW,EACT,8IAA8I,CAC/I,CACF,CAAA;AAEY,QAAA,kBAAkB,GAAG,IAAA,kBAAS,EACzC,IAAA,oBAAW,EAAC,oFAAoF,CAAC,CAClG,CAAA;AAEY,QAAA,iBAAiB,GAAG,IAAA,kBAAS,EAAC,IAAA,oBAAW,EAAC,sCAAsC,CAAC,CAAC,CAAA;AAElF,QAAA,mBAAmB,GAAG,IAAA,kBAAS,EAC1C,IAAA,oBAAW,EAAC,kEAAkE,CAAC,CAChF,CAAA;AAEY,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAE1C,QAAA,wBAAwB,GAAG,wCAAwC,CAAA;AAEhF,MAAM,kBAAkB,GAAG,0BAA0B,CAAA;AAErD,MAAM,mBAAmB,GAAG,kCAAkC,CAAA;AAEjD,QAAA,oBAAoB,GAAG,yBAAyB,kBAAkB,IAAI,mBAAmB,GAAG,CAAA;AAE5F,QAAA,sBAAsB,GAAG,gCAAgC,CAAA;AAEtE,MAAM,sBAAsB,GAAG,kCAAkC,CAAA;AAEpD,QAAA,wBAAwB,GAAG,iBAAiB,sBAAsB,GAAG,CAAA;AAErE,QAAA,0BAA0B,GAAG,gBAAgB,CAAA;AAE1D,MAAM,kBAAkB,GAAG,gCAAgC,CAAA;AAE9C,QAAA,oBAAoB,GAAG,iBAAiB,kBAAkB,GAAG,CAAA;AAE7D,QAAA,sBAAsB,GAAG,gBAAgB,CAAA;AAEzC,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/eip712Types/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAElC,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,GAAG;CACb,CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAA,kBAAS,EACvC,IAAA,oBAAW,EACT,8IAA8I,CAC/I,CACF,CAAA;AAEY,QAAA,kBAAkB,GAAG,IAAA,kBAAS,EACzC,IAAA,oBAAW,EAAC,oFAAoF,CAAC,CAClG,CAAA;AAEY,QAAA,iBAAiB,GAAG,IAAA,kBAAS,EAAC,IAAA,oBAAW,EAAC,sCAAsC,CAAC,CAAC,CAAA;AAElF,QAAA,mBAAmB,GAAG,IAAA,kBAAS,EAC1C,IAAA,oBAAW,EAAC,kEAAkE,CAAC,CAChF,CAAA;AAEY,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAE1C,QAAA,wBAAwB,GAAG,wCAAwC,CAAA;AAEhF,MAAM,kBAAkB,GAAG,0BAA0B,CAAA;AAErD,MAAM,mBAAmB,GAAG,kCAAkC,CAAA;AAEjD,QAAA,oBAAoB,GAAG,yBAAyB,kBAAkB,IAAI,mBAAmB,GAAG,CAAA;AAE5F,QAAA,sBAAsB,GAAG,gCAAgC,CAAA;AAEtE,MAAM,sBAAsB,GAAG,kCAAkC,CAAA;AAEpD,QAAA,wBAAwB,GAAG,iBAAiB,sBAAsB,GAAG,CAAA;AAErE,QAAA,0BAA0B,GAAG,gBAAgB,CAAA;AAE1D,MAAM,kBAAkB,GAAG,gCAAgC,CAAA;AAE9C,QAAA,oBAAoB,GAAG,iBAAiB,kBAAkB,GAAG,CAAA;AAE7D,QAAA,sBAAsB,GAAG,gBAAgB,CAAA;AAEzC,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;KACtC;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACpC;CACF,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE;QACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;KACpC;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/chains.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/chains.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/shared/utils/chains.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/shared/utils/chains.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,MAAM;CACN,CAAA"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function randomEvmAddress(): string;
|
|
2
|
+
/**
|
|
3
|
+
* Random mock SVM address. Might not be decodable to bytes.
|
|
4
|
+
*/
|
|
5
|
+
export declare function randomSvmAddress(): string;
|
|
2
6
|
export declare function randomSig(): string;
|
|
3
7
|
export declare function randomHex(length: number): string;
|
|
8
|
+
export declare function randomBase58(length: number): string;
|
|
4
9
|
export declare function randomCid(): string;
|
|
5
10
|
export declare function randomString(length: number, dictionary?: string): string;
|
|
6
11
|
//# sourceMappingURL=random.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/random.ts"],"names":[],"mappings":"AAEA,wBAAgB,
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/random.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,SAAyD,GAClE,MAAM,CAUR"}
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable no-secrets/no-secrets */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.randomEvmAddress = randomEvmAddress;
|
|
5
|
+
exports.randomSvmAddress = randomSvmAddress;
|
|
5
6
|
exports.randomSig = randomSig;
|
|
6
7
|
exports.randomHex = randomHex;
|
|
8
|
+
exports.randomBase58 = randomBase58;
|
|
7
9
|
exports.randomCid = randomCid;
|
|
8
10
|
exports.randomString = randomString;
|
|
9
|
-
function
|
|
11
|
+
function randomEvmAddress() {
|
|
10
12
|
return randomHex(20);
|
|
11
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Random mock SVM address. Might not be decodable to bytes.
|
|
16
|
+
*/
|
|
17
|
+
function randomSvmAddress() {
|
|
18
|
+
return randomBase58(40);
|
|
19
|
+
}
|
|
12
20
|
function randomSig() {
|
|
13
21
|
return randomHex(65);
|
|
14
22
|
}
|
|
15
23
|
function randomHex(length) {
|
|
16
24
|
return '0x' + randomString(length * 2, 'abcdef0123456789');
|
|
17
25
|
}
|
|
26
|
+
function randomBase58(length) {
|
|
27
|
+
return randomString(length, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
|
|
28
|
+
}
|
|
18
29
|
function randomCid() {
|
|
19
30
|
return 'b' + randomString(58, 'abcdefghijklmnopqrstuvwxyz234567');
|
|
20
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/shared/utils/random.ts"],"names":[],"mappings":";AAAA,0CAA0C;;AAE1C,
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/shared/utils/random.ts"],"names":[],"mappings":";AAAA,0CAA0C;;AAE1C,4CAEC;AAKD,4CAEC;AAED,8BAEC;AAED,8BAEC;AAED,oCAEC;AAED,8BAEC;AAED,oCAaC;AAxCD,SAAgB,gBAAgB;IAC9B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,YAAY,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc;IACtC,OAAO,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAC5D,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,YAAY,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAA;AAC3F,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAA;AACnE,CAAC;AAED,SAAgB,YAAY,CAC1B,MAAc,EACd,UAAU,GAAG,sDAAsD;IAEnE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAA;QAChE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
export declare const ADDRESS_REGEX: RegExp;
|
|
2
1
|
export declare const HEX_REGEX: RegExp;
|
|
2
|
+
export declare const BASE58_REGEX: RegExp;
|
|
3
3
|
export declare const BIGINTEGER_REGEX: RegExp;
|
|
4
4
|
export declare const CID_V0_REGEX: RegExp;
|
|
5
5
|
export declare const CID_V1_BASE32_REGEX: RegExp;
|
|
6
|
+
export declare const EVM_ADDRESS_REGEX: RegExp;
|
|
7
|
+
export declare const SVM_ADDRESS_REGEX: RegExp;
|
|
6
8
|
export declare function isValidAddress(value: unknown): boolean;
|
|
9
|
+
export declare function isEvmAddress(value: unknown): boolean;
|
|
10
|
+
export declare function isSvmAddress(value: unknown): boolean;
|
|
7
11
|
export declare function isValidHex(value: unknown, length?: number): boolean;
|
|
12
|
+
export declare function isValidBase58(value: unknown): boolean;
|
|
8
13
|
export declare function isValidBigInteger(value: unknown): boolean;
|
|
9
14
|
export declare function isValidChain(value: unknown): boolean;
|
|
10
15
|
export declare function isValidCID(value: unknown): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/validations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/validations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAsB,CAAA;AAE5C,eAAO,MAAM,YAAY,QAA4B,CAAA;AAErD,eAAO,MAAM,gBAAgB,QAAU,CAAA;AAEvC,eAAO,MAAM,YAAY,QAAiC,CAAA;AAE1D,eAAO,MAAM,mBAAmB,QAAiB,CAAA;AAEjD,eAAO,MAAM,iBAAiB,QAAsB,CAAA;AAEpD,eAAO,MAAM,iBAAiB,QAAe,CAAA;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGrD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGzD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGlD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIhD"}
|
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CID_V1_BASE32_REGEX = exports.CID_V0_REGEX = exports.BIGINTEGER_REGEX = exports.
|
|
3
|
+
exports.SVM_ADDRESS_REGEX = exports.EVM_ADDRESS_REGEX = exports.CID_V1_BASE32_REGEX = exports.CID_V0_REGEX = exports.BIGINTEGER_REGEX = exports.BASE58_REGEX = exports.HEX_REGEX = void 0;
|
|
4
4
|
exports.isValidAddress = isValidAddress;
|
|
5
|
+
exports.isEvmAddress = isEvmAddress;
|
|
6
|
+
exports.isSvmAddress = isSvmAddress;
|
|
5
7
|
exports.isValidHex = isValidHex;
|
|
8
|
+
exports.isValidBase58 = isValidBase58;
|
|
6
9
|
exports.isValidBigInteger = isValidBigInteger;
|
|
7
10
|
exports.isValidChain = isValidChain;
|
|
8
11
|
exports.isValidCID = isValidCID;
|
|
9
12
|
exports.isValidUrl = isValidUrl;
|
|
10
13
|
const chains_1 = require("./chains");
|
|
11
|
-
exports.ADDRESS_REGEX = /0x([a-fA-F0-9])*?/;
|
|
12
14
|
exports.HEX_REGEX = /0x([a-fA-F0-9])*?/;
|
|
15
|
+
exports.BASE58_REGEX = /^[1-9A-HJ-NP-Za-km-z]+$/;
|
|
13
16
|
exports.BIGINTEGER_REGEX = /^\d+$/;
|
|
14
17
|
exports.CID_V0_REGEX = /^Qm[1-9A-HJ-NP-Za-km-z]{44}$/;
|
|
15
18
|
exports.CID_V1_BASE32_REGEX = /^b[a-z2-7]+$/;
|
|
19
|
+
exports.EVM_ADDRESS_REGEX = /0x([a-fA-F0-9])*?/;
|
|
20
|
+
exports.SVM_ADDRESS_REGEX = exports.BASE58_REGEX;
|
|
16
21
|
function isValidAddress(value) {
|
|
22
|
+
const validators = [isEvmAddress, isSvmAddress];
|
|
23
|
+
return validators.some((fn) => fn(value));
|
|
24
|
+
}
|
|
25
|
+
function isEvmAddress(value) {
|
|
17
26
|
if (typeof value !== 'string')
|
|
18
27
|
return false;
|
|
19
28
|
if (value.length !== 42)
|
|
20
29
|
return false;
|
|
21
|
-
return exports.
|
|
30
|
+
return exports.EVM_ADDRESS_REGEX.test(value);
|
|
31
|
+
}
|
|
32
|
+
function isSvmAddress(value) {
|
|
33
|
+
if (typeof value !== 'string')
|
|
34
|
+
return false;
|
|
35
|
+
if (value.length < 32 || value.length > 44)
|
|
36
|
+
return false;
|
|
37
|
+
return exports.SVM_ADDRESS_REGEX.test(value);
|
|
22
38
|
}
|
|
23
39
|
function isValidHex(value, length) {
|
|
24
40
|
if (typeof value !== 'string')
|
|
@@ -29,6 +45,11 @@ function isValidHex(value, length) {
|
|
|
29
45
|
return false;
|
|
30
46
|
return exports.HEX_REGEX.test(value);
|
|
31
47
|
}
|
|
48
|
+
function isValidBase58(value) {
|
|
49
|
+
if (typeof value !== 'string')
|
|
50
|
+
return false;
|
|
51
|
+
return exports.BASE58_REGEX.test(value);
|
|
52
|
+
}
|
|
32
53
|
function isValidBigInteger(value) {
|
|
33
54
|
if (typeof value !== 'string')
|
|
34
55
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/shared/utils/validations.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/shared/utils/validations.ts"],"names":[],"mappings":";;;AAgBA,wCAGC;AAED,oCAIC;AAED,oCAIC;AAED,gCAKC;AAED,sCAGC;AAED,8CAGC;AAED,oCAGC;AAED,gCAGC;AAED,gCAIC;AAhED,qCAAiC;AAEpB,QAAA,SAAS,GAAG,mBAAmB,CAAA;AAE/B,QAAA,YAAY,GAAG,yBAAyB,CAAA;AAExC,QAAA,gBAAgB,GAAG,OAAO,CAAA;AAE1B,QAAA,YAAY,GAAG,8BAA8B,CAAA;AAE7C,QAAA,mBAAmB,GAAG,cAAc,CAAA;AAEpC,QAAA,iBAAiB,GAAG,mBAAmB,CAAA;AAEvC,QAAA,iBAAiB,GAAG,oBAAY,CAAA;AAE7C,SAAgB,cAAc,CAAC,KAAc;IAC3C,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACrC,OAAO,yBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IACxD,OAAO,yBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,SAAgB,UAAU,CAAC,KAAc,EAAE,MAAe;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7D,OAAO,iBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,SAAgB,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,oBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,wBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,eAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,CAAA;AACnE,CAAC;AAED,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,oBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,2BAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACpE,CAAC;AAED,SAAgB,UAAU,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzC,MAAM,QAAQ,GAAG,8EAA8E,CAAA;IAC/F,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/primitives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/primitives.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe,aAAoB,CAAA;AAEhD,eAAO,MAAM,aAAa,WAAkB,CAAA;AAE5C,eAAO,MAAM,uBAAuB,aAAyB,CAAA;AAE7D,eAAO,MAAM,gBAAgB,aAA0B,CAAA;AAEvD,eAAO,MAAM,wBAAwB,aAA0B,CAAA;AAE/D,eAAO,MAAM,sBAAsB,aAA0B,CAAA;AAE7D,eAAO,MAAM,kBAAkB,aAA2B,CAAA;AAE1D,eAAO,MAAM,eAAe,aAAoB,CAAA;AAEhD,eAAO,MAAM,oBAAoB,aAAa,CAAA;AAE9C,eAAO,MAAM,gBAAgB,2CAA8E,CAAA;AAE3G,eAAO,MAAM,gBAAgB,yEAE5B,CAAA;AAED,eAAO,MAAM,eAAe,aAAkE,CAAA;AAE9F,eAAO,MAAM,YAAY,yEAA8F,CAAA;AAEvH,eAAO,MAAM,kBAAkB,yEAGI,CAAA;AAEnC,eAAO,MAAM,mBAAmB,2CAA+E,CAAA;AAE/G,eAAO,MAAM,gBAAgB,8CAG5B,CAAA;AAED,eAAO,MAAM,oBAAoB,kEAGhC,CAAA;AAED,eAAO,MAAM,eAAe,aAA2B,CAAA;AAEvD,eAAO,MAAM,cAAc,aAAkC,CAAA;AAE7D,oBAAY,IAAI;IACd,GAAG,IAAI;IACP,IAAI,KAAK;CACV;AAED,eAAO,MAAM,aAAa,2DAA2F,CAAA;AAErH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAA;AAEF,eAAO,MAAM,YAAY,2CAAoF,CAAA;AAE7G,eAAO,MAAM,YAAY,2CAA4D,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UrlValidator = exports.CidValidator = exports.TokenIdValidator = exports.SortValidator = exports.Sort = exports.LimitValidator = exports.OffsetValidator = exports.StringArrayValidator = exports.BooleanValidator = exports.BigIntegerValidator = exports.SignatureValidator = exports.HexValidator = exports.ApiKeyValidator = exports.AddressValidator = exports.ChainIdValidator = exports.EmptyStringValidator = exports.StringValidator = exports.TimestampValidator = exports.NaturalNumberValidator = exports.PositiveIntegerValidator = exports.IntegerValidator = exports.PositiveNumberValidator = exports.DateValidator = exports.NumberValidator = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
4
5
|
const zod_1 = require("zod");
|
|
5
6
|
const utils_1 = require("../utils");
|
|
6
7
|
exports.NumberValidator = zod_1.z.coerce.number();
|
|
@@ -13,11 +14,11 @@ exports.TimestampValidator = exports.PositiveIntegerValidator;
|
|
|
13
14
|
exports.StringValidator = zod_1.z.string().min(1);
|
|
14
15
|
exports.EmptyStringValidator = zod_1.z.string();
|
|
15
16
|
exports.ChainIdValidator = exports.NaturalNumberValidator.refine(utils_1.isValidChain, 'Must be a supported chain ID');
|
|
16
|
-
exports.AddressValidator = exports.StringValidator.refine(utils_1.isValidAddress, 'Must be a valid address').transform((s) => s.toLowerCase());
|
|
17
|
+
exports.AddressValidator = exports.StringValidator.refine(utils_1.isValidAddress, 'Must be a valid address').transform((s) => (0, ethers_1.isHexString)(s) ? s.toLowerCase() : s);
|
|
17
18
|
exports.ApiKeyValidator = zod_1.z.string().regex(/^[a-zA-Z0-9-_.]{64}$/, 'Must be a valid key');
|
|
18
19
|
exports.HexValidator = exports.StringValidator.refine(utils_1.isValidHex, 'Must be a valid hex').transform((s) => s.toLowerCase());
|
|
19
20
|
exports.SignatureValidator = exports.StringValidator.refine((value) => (0, utils_1.isValidHex)(value, 65), 'Must be a valid signature').transform((s) => s.toLowerCase());
|
|
20
|
-
exports.BigIntegerValidator = zod_1.z.string().refine(utils_1.isValidBigInteger, 'Must be a positive biginteger');
|
|
21
|
+
exports.BigIntegerValidator = zod_1.z.coerce.string().refine(utils_1.isValidBigInteger, 'Must be a positive biginteger');
|
|
21
22
|
exports.BooleanValidator = zod_1.z.preprocess((value) => (value === 'true' ? true : value === 'false' ? false : value), zod_1.z.boolean());
|
|
22
23
|
exports.StringArrayValidator = zod_1.z.preprocess((value) => (typeof value === 'string' ? value.split(',').map((s) => s.trim()) : undefined), zod_1.z.array(zod_1.z.string()));
|
|
23
24
|
exports.OffsetValidator = exports.PositiveIntegerValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/shared/validators/primitives.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAA8G;AAEjG,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEnC,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE/B,QAAA,uBAAuB,GAAG,uBAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEhD,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE1C,QAAA,wBAAwB,GAAG,wBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAElD,QAAA,sBAAsB,GAAG,wBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEhD,QAAA,kBAAkB,GAAG,gCAAwB,CAAA;AAE7C,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEnC,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAEjC,QAAA,gBAAgB,GAAG,8BAAsB,CAAC,MAAM,CAAC,oBAAY,EAAE,8BAA8B,CAAC,CAAA;AAE9F,QAAA,gBAAgB,GAAG,uBAAe,CAAC,MAAM,CAAC,sBAAc,EAAE,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAChH,CAAC,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/shared/validators/primitives.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mimicprotocol/sdk",
|
|
3
|
-
"version": "0.0.1-rc.
|
|
3
|
+
"version": "0.0.1-rc.5",
|
|
4
4
|
"license": "GPL-3.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Mimic Protocol SDK",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"README.md"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
+
"borsh": "^2.0.0",
|
|
22
23
|
"cron-parser": "^5.3.1",
|
|
23
24
|
"ethers": "^6.13.5",
|
|
24
25
|
"zod": "^3.23.8"
|