@0xsequence/relayer 3.0.0-beta.17 → 3.0.0-beta.19
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +4 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/CHANGELOG.md +16 -0
- package/dist/preconditions/codec.d.ts.map +1 -1
- package/dist/preconditions/codec.js +55 -45
- package/dist/relayer/relayer.d.ts +1 -1
- package/dist/relayer/relayer.d.ts.map +1 -1
- package/dist/relayer/relayer.js +3 -1
- package/dist/relayer/rpc-relayer/index.d.ts +2 -2
- package/dist/relayer/rpc-relayer/index.d.ts.map +1 -1
- package/dist/relayer/rpc-relayer/index.js +15 -19
- package/dist/relayer/standard/eip6963.d.ts +1 -1
- package/dist/relayer/standard/eip6963.d.ts.map +1 -1
- package/dist/relayer/standard/eip6963.js +1 -1
- package/dist/relayer/standard/local.d.ts +1 -1
- package/dist/relayer/standard/local.d.ts.map +1 -1
- package/dist/relayer/standard/local.js +12 -15
- package/dist/relayer/standard/pk-relayer.d.ts +2 -2
- package/dist/relayer/standard/pk-relayer.d.ts.map +1 -1
- package/dist/relayer/standard/pk-relayer.js +1 -1
- package/dist/relayer/standard/sequence.d.ts +2 -2
- package/dist/relayer/standard/sequence.d.ts.map +1 -1
- package/dist/relayer/standard/sequence.js +1 -1
- package/eslint.config.js +4 -0
- package/package.json +8 -6
- package/src/preconditions/codec.ts +63 -39
- package/src/relayer/relayer.ts +3 -1
- package/src/relayer/rpc-relayer/index.ts +38 -28
- package/src/relayer/standard/eip6963.ts +2 -2
- package/src/relayer/standard/local.ts +33 -27
- package/src/relayer/standard/pk-relayer.ts +2 -2
- package/src/relayer/standard/sequence.ts +2 -2
- package/test/preconditions/codec.test.ts +11 -11
- package/test/preconditions/preconditions.test.ts +97 -138
- package/test/preconditions/selectors.test.ts +76 -254
- package/test/preconditions/types.test.ts +6 -6
- package/test/relayer/relayer.test.ts +3 -3
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @0xsequence/relayer
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.19
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Final RC before 3.0.0
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @0xsequence/wallet-primitives@3.0.0-beta.19
|
|
10
|
+
|
|
11
|
+
## 3.0.0-beta.18
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- multicall3 optimization
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- @0xsequence/wallet-primitives@3.0.0-beta.18
|
|
18
|
+
|
|
3
19
|
## 3.0.0-beta.17
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/preconditions/codec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAQb,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,YAAY,EAAE,CAW5F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,uBAAuB,GAAG,YAAY,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/preconditions/codec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAQb,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,YAAY,EAAE,CAW5F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,uBAAuB,GAAG,YAAY,GAAG,SAAS,CAyFvF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAyF1D"}
|
|
@@ -14,6 +14,10 @@ export function decodePrecondition(p) {
|
|
|
14
14
|
if (!p) {
|
|
15
15
|
return undefined;
|
|
16
16
|
}
|
|
17
|
+
if (typeof p.minAmount !== 'bigint') {
|
|
18
|
+
console.warn(`Failed to decode precondition: minAmount must be a bigint`);
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
17
21
|
let precondition;
|
|
18
22
|
try {
|
|
19
23
|
switch (p.type) {
|
|
@@ -54,72 +58,78 @@ export function decodePrecondition(p) {
|
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
export function encodePrecondition(p) {
|
|
57
|
-
const data = {};
|
|
58
61
|
switch (p.type()) {
|
|
59
62
|
case 'native-balance': {
|
|
60
63
|
const native = p;
|
|
61
|
-
data
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
const data = {
|
|
65
|
+
address: native.address.toString(),
|
|
66
|
+
...(native.min !== undefined && { min: native.min.toString() }),
|
|
67
|
+
...(native.max !== undefined && { max: native.max.toString() }),
|
|
68
|
+
};
|
|
69
|
+
return JSON.stringify(data);
|
|
67
70
|
}
|
|
68
71
|
case 'erc20-balance': {
|
|
69
72
|
const erc20 = p;
|
|
70
|
-
data
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
const data = {
|
|
74
|
+
address: erc20.address.toString(),
|
|
75
|
+
token: erc20.token.toString(),
|
|
76
|
+
...(erc20.min !== undefined && { min: erc20.min.toString() }),
|
|
77
|
+
...(erc20.max !== undefined && { max: erc20.max.toString() }),
|
|
78
|
+
};
|
|
79
|
+
return JSON.stringify(data);
|
|
77
80
|
}
|
|
78
81
|
case 'erc20-approval': {
|
|
79
82
|
const erc20 = p;
|
|
80
|
-
data
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
const data = {
|
|
84
|
+
address: erc20.address.toString(),
|
|
85
|
+
token: erc20.token.toString(),
|
|
86
|
+
operator: erc20.operator.toString(),
|
|
87
|
+
min: erc20.min.toString(),
|
|
88
|
+
};
|
|
89
|
+
return JSON.stringify(data);
|
|
85
90
|
}
|
|
86
91
|
case 'erc721-ownership': {
|
|
87
92
|
const erc721 = p;
|
|
88
|
-
data
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
const data = {
|
|
94
|
+
address: erc721.address.toString(),
|
|
95
|
+
token: erc721.token.toString(),
|
|
96
|
+
tokenId: erc721.tokenId.toString(),
|
|
97
|
+
...(erc721.owned !== undefined && { owned: erc721.owned }),
|
|
98
|
+
};
|
|
99
|
+
return JSON.stringify(data);
|
|
94
100
|
}
|
|
95
101
|
case 'erc721-approval': {
|
|
96
102
|
const erc721 = p;
|
|
97
|
-
data
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
103
|
+
const data = {
|
|
104
|
+
address: erc721.address.toString(),
|
|
105
|
+
token: erc721.token.toString(),
|
|
106
|
+
tokenId: erc721.tokenId.toString(),
|
|
107
|
+
operator: erc721.operator.toString(),
|
|
108
|
+
};
|
|
109
|
+
return JSON.stringify(data);
|
|
102
110
|
}
|
|
103
111
|
case 'erc1155-balance': {
|
|
104
112
|
const erc1155 = p;
|
|
105
|
-
data
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
const data = {
|
|
114
|
+
address: erc1155.address.toString(),
|
|
115
|
+
token: erc1155.token.toString(),
|
|
116
|
+
tokenId: erc1155.tokenId.toString(),
|
|
117
|
+
...(erc1155.min !== undefined && { min: erc1155.min.toString() }),
|
|
118
|
+
...(erc1155.max !== undefined && { max: erc1155.max.toString() }),
|
|
119
|
+
};
|
|
120
|
+
return JSON.stringify(data);
|
|
113
121
|
}
|
|
114
122
|
case 'erc1155-approval': {
|
|
115
123
|
const erc1155 = p;
|
|
116
|
-
data
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
const data = {
|
|
125
|
+
address: erc1155.address.toString(),
|
|
126
|
+
token: erc1155.token.toString(),
|
|
127
|
+
tokenId: erc1155.tokenId.toString(),
|
|
128
|
+
operator: erc1155.operator.toString(),
|
|
129
|
+
min: erc1155.min.toString(),
|
|
130
|
+
};
|
|
131
|
+
return JSON.stringify(data);
|
|
122
132
|
}
|
|
123
133
|
}
|
|
124
|
-
return JSON.stringify(
|
|
134
|
+
return JSON.stringify({});
|
|
125
135
|
}
|
|
@@ -22,5 +22,5 @@ export interface Relayer {
|
|
|
22
22
|
status(opHash: Hex.Hex, chainId: number): Promise<OperationStatus>;
|
|
23
23
|
checkPrecondition(precondition: Precondition.Precondition): Promise<boolean>;
|
|
24
24
|
}
|
|
25
|
-
export declare function isRelayer(relayer:
|
|
25
|
+
export declare function isRelayer(relayer: unknown): relayer is Relayer;
|
|
26
26
|
//# sourceMappingURL=relayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../src/relayer/relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAErE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,SAAS,CAAA;IAEf,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IAEV,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvE,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC,CAAA;IAEvG,UAAU,CACR,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAA;IAEtD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC,CAAA;IAE1G,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAElE,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../src/relayer/relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAErE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,SAAS,CAAA;IAEf,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IAEV,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvE,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC,CAAA;IAEvG,UAAU,CACR,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAA;IAEtD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC,CAAA;IAE1G,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAElE,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAU9D"}
|
package/dist/relayer/relayer.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Chain } from 'viem';
|
|
|
6
6
|
export type Fetch = (input: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
7
7
|
export declare const getChain: (chainId: number) => Chain;
|
|
8
8
|
export declare class RpcRelayer implements Relayer {
|
|
9
|
-
readonly kind
|
|
9
|
+
readonly kind = "relayer";
|
|
10
10
|
readonly type = "rpc";
|
|
11
11
|
readonly id: string;
|
|
12
12
|
readonly chainId: number;
|
|
@@ -31,7 +31,7 @@ export declare class RpcRelayer implements Relayer {
|
|
|
31
31
|
relay(to: Address.Address, data: Hex.Hex, chainId: number, quote?: FeeQuote, preconditions?: TransactionPrecondition[]): Promise<{
|
|
32
32
|
opHash: Hex.Hex;
|
|
33
33
|
}>;
|
|
34
|
-
status(opHash: Hex.Hex,
|
|
34
|
+
status(opHash: Hex.Hex, _chainId: number): Promise<OperationStatus>;
|
|
35
35
|
checkPrecondition(precondition: TransactionPrecondition): Promise<boolean>;
|
|
36
36
|
private mapRpcFeeTokenToAddress;
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relayer/rpc-relayer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,QAAQ,IAAI,WAAW,EACvB,uBAAuB,EAExB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAe,MAAM,IAAI,CAAA;AAC9C,OAAO,EAAa,OAAO,EAAW,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relayer/rpc-relayer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,QAAQ,IAAI,WAAW,EACvB,uBAAuB,EAExB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAe,MAAM,IAAI,CAAA;AAC9C,OAAO,EAAa,OAAO,EAAW,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAmB3E,OAAO,EAA0C,KAAK,EAAE,MAAM,MAAM,CAAA;AAGpE,MAAM,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAuCjF,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,KAgB1C,CAAA;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,SAAgB,IAAI,aAAY;IAChC,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAQ;gBAE9B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAqB3G,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC;IAqB1G,UAAU,CACd,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAsChD,WAAW,CACf,aAAa,EAAE,OAAO,CAAC,OAAO,EAC9B,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,IAAI,EAAE,GAAG,CAAC,GAAG,EACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,QAAQ,EAChB,aAAa,CAAC,EAAE,uBAAuB,EAAE,GACxC,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC;IAyBzB,KAAK,CACT,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,IAAI,EAAE,GAAG,CAAC,GAAG,EACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,QAAQ,EAChB,aAAa,CAAC,EAAE,uBAAuB,EAAE,GACxC,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC;IAyBzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA2CnE,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoKhF,OAAO,CAAC,uBAAuB;CAMhC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Relayer as GenRelayer, FeeTokenType, ETHTxnStatus, } from './relayer.gen.js';
|
|
2
2
|
import { Address, Hex, AbiFunction } from 'ox';
|
|
3
3
|
import { Constants, Payload, Network } from '@0xsequence/wallet-primitives';
|
|
4
|
-
import { decodePrecondition } from '../../preconditions/index.js';
|
|
4
|
+
import { decodePrecondition, } from '../../preconditions/index.js';
|
|
5
5
|
import { erc20BalanceOf, erc20Allowance, erc721OwnerOf, erc721GetApproved, erc1155BalanceOf, erc1155IsApprovedForAll, } from '../standard/abi.js';
|
|
6
6
|
import { createPublicClient, http } from 'viem';
|
|
7
7
|
import * as chains from 'viem/chains';
|
|
@@ -30,12 +30,11 @@ const networkToChain = (network) => {
|
|
|
30
30
|
},
|
|
31
31
|
}
|
|
32
32
|
: undefined,
|
|
33
|
-
contracts: network.
|
|
34
|
-
? {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
33
|
+
contracts: network.contracts
|
|
34
|
+
? Object.entries(network.contracts).reduce((acc, [name, address]) => {
|
|
35
|
+
acc[name] = { address };
|
|
36
|
+
return acc;
|
|
37
|
+
}, {})
|
|
39
38
|
: undefined,
|
|
40
39
|
};
|
|
41
40
|
};
|
|
@@ -46,7 +45,7 @@ export const getChain = (chainId) => {
|
|
|
46
45
|
return networkToChain(sequenceNetwork);
|
|
47
46
|
}
|
|
48
47
|
// Fall back to viem's built-in chains
|
|
49
|
-
const viemChain = Object.values(chains).find((c) => typeof c === 'object' && 'id' in c && c.id === chainId);
|
|
48
|
+
const viemChain = Object.values(chains).find((c) => typeof c === 'object' && c !== null && 'id' in c && c.id === chainId);
|
|
50
49
|
if (viemChain) {
|
|
51
50
|
return viemChain;
|
|
52
51
|
}
|
|
@@ -170,7 +169,7 @@ export class RpcRelayer {
|
|
|
170
169
|
}
|
|
171
170
|
return { opHash: `0x${result.txnHash}` };
|
|
172
171
|
}
|
|
173
|
-
async status(opHash,
|
|
172
|
+
async status(opHash, _chainId) {
|
|
174
173
|
try {
|
|
175
174
|
const cleanedOpHash = opHash.startsWith('0x') ? opHash.substring(2) : opHash;
|
|
176
175
|
const result = await this.client.getMetaTxnReceipt({ metaTxID: cleanedOpHash });
|
|
@@ -219,7 +218,7 @@ export class RpcRelayer {
|
|
|
219
218
|
case 'native-balance': {
|
|
220
219
|
const native = decoded;
|
|
221
220
|
try {
|
|
222
|
-
const balance = await this.provider.getBalance({ address: native.address
|
|
221
|
+
const balance = await this.provider.getBalance({ address: native.address });
|
|
223
222
|
const minWei = native.min !== undefined ? BigInt(native.min) : undefined;
|
|
224
223
|
const maxWei = native.max !== undefined ? BigInt(native.max) : undefined;
|
|
225
224
|
if (minWei !== undefined && maxWei !== undefined) {
|
|
@@ -243,7 +242,7 @@ export class RpcRelayer {
|
|
|
243
242
|
case 'erc20-balance': {
|
|
244
243
|
const erc20 = decoded;
|
|
245
244
|
try {
|
|
246
|
-
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address
|
|
245
|
+
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address]);
|
|
247
246
|
const result = await this.provider.call({
|
|
248
247
|
to: erc20.token.toString(),
|
|
249
248
|
data: data,
|
|
@@ -271,7 +270,7 @@ export class RpcRelayer {
|
|
|
271
270
|
case 'erc20-approval': {
|
|
272
271
|
const erc20 = decoded;
|
|
273
272
|
try {
|
|
274
|
-
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address
|
|
273
|
+
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address, erc20.operator]);
|
|
275
274
|
const result = await this.provider.call({
|
|
276
275
|
to: erc20.token.toString(),
|
|
277
276
|
data: data,
|
|
@@ -290,7 +289,7 @@ export class RpcRelayer {
|
|
|
290
289
|
try {
|
|
291
290
|
const data = AbiFunction.encodeData(erc721OwnerOf, [erc721.tokenId]);
|
|
292
291
|
const result = await this.provider.call({
|
|
293
|
-
to: erc721.token
|
|
292
|
+
to: erc721.token,
|
|
294
293
|
data: data,
|
|
295
294
|
});
|
|
296
295
|
const resultHex = result.toString();
|
|
@@ -324,7 +323,7 @@ export class RpcRelayer {
|
|
|
324
323
|
case 'erc1155-balance': {
|
|
325
324
|
const erc1155 = decoded;
|
|
326
325
|
try {
|
|
327
|
-
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address
|
|
326
|
+
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address, erc1155.tokenId]);
|
|
328
327
|
const result = await this.provider.call({
|
|
329
328
|
to: erc1155.token.toString(),
|
|
330
329
|
data: data,
|
|
@@ -352,12 +351,9 @@ export class RpcRelayer {
|
|
|
352
351
|
case 'erc1155-approval': {
|
|
353
352
|
const erc1155 = decoded;
|
|
354
353
|
try {
|
|
355
|
-
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [
|
|
356
|
-
erc1155.address.toString(),
|
|
357
|
-
erc1155.operator.toString(),
|
|
358
|
-
]);
|
|
354
|
+
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [erc1155.address, erc1155.operator]);
|
|
359
355
|
const result = await this.provider.call({
|
|
360
|
-
to: erc1155.token
|
|
356
|
+
to: erc1155.token,
|
|
361
357
|
data: data,
|
|
362
358
|
});
|
|
363
359
|
return BigInt(result.toString()) === 1n;
|
|
@@ -4,7 +4,7 @@ import { Address, Hex } from 'ox';
|
|
|
4
4
|
import { Payload } from '@0xsequence/wallet-primitives';
|
|
5
5
|
import { FeeToken, TransactionPrecondition } from '../rpc-relayer/relayer.gen.js';
|
|
6
6
|
export declare class EIP6963Relayer implements Relayer {
|
|
7
|
-
readonly kind
|
|
7
|
+
readonly kind = "relayer";
|
|
8
8
|
readonly type = "eip6963";
|
|
9
9
|
readonly id: string;
|
|
10
10
|
readonly info: EIP6963ProviderInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip6963.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/eip6963.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAE9E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEjF,qBAAa,cAAe,YAAW,OAAO;IAC5C,SAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"eip6963.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/eip6963.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAE9E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEjF,qBAAa,cAAe,YAAW,OAAO;IAC5C,SAAgB,IAAI,aAAY;IAChC,SAAgB,IAAI,aAAY;IAChC,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,IAAI,EAAE,mBAAmB,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,MAAM,EAAE,qBAAqB;IAOzC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC;IAIvG,UAAU,CACR,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAIhD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC;IAI5G,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI5D,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjF;AAKD,wBAAgB,eAAe,yBAK9B;AAID,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAW9C"}
|
|
@@ -18,7 +18,7 @@ export interface GenericProvider {
|
|
|
18
18
|
}
|
|
19
19
|
export declare class LocalRelayer implements Relayer {
|
|
20
20
|
readonly provider: GenericProvider;
|
|
21
|
-
readonly kind
|
|
21
|
+
readonly kind = "relayer";
|
|
22
22
|
readonly type = "local";
|
|
23
23
|
readonly id = "local";
|
|
24
24
|
constructor(provider: GenericProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/local.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbiFunction, TransactionReceipt } from 'ox';
|
|
2
|
-
import { decodePrecondition } from '../../preconditions/index.js';
|
|
2
|
+
import { decodePrecondition, } from '../../preconditions/index.js';
|
|
3
3
|
import { erc20BalanceOf, erc20Allowance, erc721OwnerOf, erc721GetApproved, erc1155BalanceOf, erc1155IsApprovedForAll, } from './abi.js';
|
|
4
4
|
export class LocalRelayer {
|
|
5
5
|
provider;
|
|
@@ -112,7 +112,7 @@ export class LocalRelayer {
|
|
|
112
112
|
switch (decoded.type()) {
|
|
113
113
|
case 'native-balance': {
|
|
114
114
|
const native = decoded;
|
|
115
|
-
const balance = await this.provider.getBalance(native.address
|
|
115
|
+
const balance = await this.provider.getBalance(native.address);
|
|
116
116
|
if (native.min !== undefined && balance < native.min) {
|
|
117
117
|
return false;
|
|
118
118
|
}
|
|
@@ -123,9 +123,9 @@ export class LocalRelayer {
|
|
|
123
123
|
}
|
|
124
124
|
case 'erc20-balance': {
|
|
125
125
|
const erc20 = decoded;
|
|
126
|
-
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address
|
|
126
|
+
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address]);
|
|
127
127
|
const result = await this.provider.call({
|
|
128
|
-
to: erc20.token
|
|
128
|
+
to: erc20.token,
|
|
129
129
|
data,
|
|
130
130
|
});
|
|
131
131
|
const balance = BigInt(result);
|
|
@@ -139,9 +139,9 @@ export class LocalRelayer {
|
|
|
139
139
|
}
|
|
140
140
|
case 'erc20-approval': {
|
|
141
141
|
const erc20 = decoded;
|
|
142
|
-
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address
|
|
142
|
+
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address, erc20.operator]);
|
|
143
143
|
const result = await this.provider.call({
|
|
144
|
-
to: erc20.token
|
|
144
|
+
to: erc20.token,
|
|
145
145
|
data,
|
|
146
146
|
});
|
|
147
147
|
const allowance = BigInt(result);
|
|
@@ -151,7 +151,7 @@ export class LocalRelayer {
|
|
|
151
151
|
const erc721 = decoded;
|
|
152
152
|
const data = AbiFunction.encodeData(erc721OwnerOf, [erc721.tokenId]);
|
|
153
153
|
const result = await this.provider.call({
|
|
154
|
-
to: erc721.token
|
|
154
|
+
to: erc721.token,
|
|
155
155
|
data,
|
|
156
156
|
});
|
|
157
157
|
const owner = '0x' + result.slice(26);
|
|
@@ -162,7 +162,7 @@ export class LocalRelayer {
|
|
|
162
162
|
const erc721 = decoded;
|
|
163
163
|
const data = AbiFunction.encodeData(erc721GetApproved, [erc721.tokenId]);
|
|
164
164
|
const result = await this.provider.call({
|
|
165
|
-
to: erc721.token
|
|
165
|
+
to: erc721.token,
|
|
166
166
|
data,
|
|
167
167
|
});
|
|
168
168
|
const approved = '0x' + result.slice(26);
|
|
@@ -170,9 +170,9 @@ export class LocalRelayer {
|
|
|
170
170
|
}
|
|
171
171
|
case 'erc1155-balance': {
|
|
172
172
|
const erc1155 = decoded;
|
|
173
|
-
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address
|
|
173
|
+
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address, erc1155.tokenId]);
|
|
174
174
|
const result = await this.provider.call({
|
|
175
|
-
to: erc1155.token
|
|
175
|
+
to: erc1155.token,
|
|
176
176
|
data,
|
|
177
177
|
});
|
|
178
178
|
const balance = BigInt(result);
|
|
@@ -186,12 +186,9 @@ export class LocalRelayer {
|
|
|
186
186
|
}
|
|
187
187
|
case 'erc1155-approval': {
|
|
188
188
|
const erc1155 = decoded;
|
|
189
|
-
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [
|
|
190
|
-
erc1155.address.toString(),
|
|
191
|
-
erc1155.operator.toString(),
|
|
192
|
-
]);
|
|
189
|
+
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [erc1155.address, erc1155.operator]);
|
|
193
190
|
const result = await this.provider.call({
|
|
194
|
-
to: erc1155.token
|
|
191
|
+
to: erc1155.token,
|
|
195
192
|
data,
|
|
196
193
|
});
|
|
197
194
|
return BigInt(result) === 1n;
|
|
@@ -4,7 +4,7 @@ import { FeeOption, FeeQuote, OperationStatus, Relayer } from '../index.js';
|
|
|
4
4
|
import { FeeToken } from '../rpc-relayer/relayer.gen.js';
|
|
5
5
|
export declare class PkRelayer implements Relayer {
|
|
6
6
|
private readonly provider;
|
|
7
|
-
readonly kind
|
|
7
|
+
readonly kind = "relayer";
|
|
8
8
|
readonly type = "pk";
|
|
9
9
|
readonly id = "pk";
|
|
10
10
|
private readonly relayer;
|
|
@@ -23,6 +23,6 @@ export declare class PkRelayer implements Relayer {
|
|
|
23
23
|
opHash: Hex.Hex;
|
|
24
24
|
}>;
|
|
25
25
|
status(opHash: Hex.Hex, chainId: number): Promise<OperationStatus>;
|
|
26
|
-
checkPrecondition(
|
|
26
|
+
checkPrecondition(_precondition: Precondition.Precondition): Promise<boolean>;
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=pk-relayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pk-relayer.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/pk-relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAA6D,MAAM,IAAI,CAAA;AAEtG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,qBAAa,SAAU,YAAW,OAAO;IAQrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,SAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"pk-relayer.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/pk-relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAA6D,MAAM,IAAI,CAAA;AAEtG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,qBAAa,SAAU,YAAW,OAAO;IAQrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,SAAgB,IAAI,aAAY;IAChC,SAAgB,IAAI,QAAO;IAC3B,SAAgB,EAAE,QAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAGpC,UAAU,EAAE,GAAG,CAAC,GAAG,EACF,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IA0FxC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK9E,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC;IAIvG,UAAU,CACR,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAIhD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC;IAQ5G,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI5D,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAIpF"}
|
|
@@ -105,7 +105,7 @@ export class PkRelayer {
|
|
|
105
105
|
status(opHash, chainId) {
|
|
106
106
|
return this.relayer.status(opHash, chainId);
|
|
107
107
|
}
|
|
108
|
-
async checkPrecondition(
|
|
108
|
+
async checkPrecondition(_precondition) {
|
|
109
109
|
// TODO: Implement precondition check
|
|
110
110
|
return true;
|
|
111
111
|
}
|
|
@@ -3,7 +3,7 @@ import { Payload } from '@0xsequence/wallet-primitives';
|
|
|
3
3
|
import { Address, Hex } from 'ox';
|
|
4
4
|
import { FeeOption, FeeQuote, OperationStatus, Relayer } from '../index.js';
|
|
5
5
|
export declare class SequenceRelayer implements Relayer {
|
|
6
|
-
readonly kind
|
|
6
|
+
readonly kind = "relayer";
|
|
7
7
|
readonly type = "sequence";
|
|
8
8
|
readonly id = "sequence";
|
|
9
9
|
private readonly service;
|
|
@@ -18,7 +18,7 @@ export declare class SequenceRelayer implements Relayer {
|
|
|
18
18
|
options: FeeOption[];
|
|
19
19
|
quote?: FeeQuote;
|
|
20
20
|
}>;
|
|
21
|
-
checkPrecondition(
|
|
21
|
+
checkPrecondition(_precondition: TransactionPrecondition): Promise<boolean>;
|
|
22
22
|
relay(to: Address.Address, data: Hex.Hex, _chainId: number, quote?: FeeQuote): Promise<{
|
|
23
23
|
opHash: Hex.Hex;
|
|
24
24
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAsB,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAe,OAAO,EAAS,GAAG,EAAE,MAAM,IAAI,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,qBAAa,eAAgB,YAAW,OAAO;IAC7C,SAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../../src/relayer/standard/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAsB,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAe,OAAO,EAAS,GAAG,EAAE,MAAM,IAAI,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3E,qBAAa,eAAgB,YAAW,OAAO;IAC7C,SAAgB,IAAI,aAAY;IAChC,SAAgB,IAAI,cAAa;IACjC,QAAQ,CAAC,EAAE,cAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,EAAE,MAAM;IAIlB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE,SAAS,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,CAAC;IAgBvG,UAAU,CACd,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAchD,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3E,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC;IAW3G,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAuC1E"}
|
package/eslint.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xsequence/relayer",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.19",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -16,16 +16,17 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@types/node": "^25.0
|
|
19
|
+
"@types/node": "^25.3.0",
|
|
20
20
|
"typescript": "^5.9.3",
|
|
21
|
-
"vitest": "^4.0.
|
|
22
|
-
"@repo/typescript-config": "^0.0.1-beta.1"
|
|
21
|
+
"vitest": "^4.0.18",
|
|
22
|
+
"@repo/typescript-config": "^0.0.1-beta.1",
|
|
23
|
+
"@repo/eslint-config": "^0.0.1-beta.1"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
26
|
"mipd": "^0.0.7",
|
|
26
27
|
"ox": "^0.9.17",
|
|
27
28
|
"viem": "^2.40.3",
|
|
28
|
-
"@0xsequence/wallet-primitives": "^3.0.0-beta.
|
|
29
|
+
"@0xsequence/wallet-primitives": "^3.0.0-beta.19"
|
|
29
30
|
},
|
|
30
31
|
"scripts": {
|
|
31
32
|
"build": "tsc",
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"old-test:file": "NODE_OPTIONS='--import tsx' mocha --timeout 60000",
|
|
36
37
|
"old-test:concurrently": "concurrently -k --success first 'pnpm start:hardhat > /dev/null' ",
|
|
37
38
|
"start:hardhat": "pnpm hardhat node --port 9547",
|
|
38
|
-
"typecheck": "tsc --noEmit"
|
|
39
|
+
"typecheck": "tsc --noEmit",
|
|
40
|
+
"lint": "eslint . --max-warnings 0"
|
|
39
41
|
}
|
|
40
42
|
}
|