@0xsequence/relayer 3.0.0-beta.18 → 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 +8 -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 +10 -13
- 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 +31 -23
- 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 +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';
|
|
@@ -45,7 +45,7 @@ export const getChain = (chainId) => {
|
|
|
45
45
|
return networkToChain(sequenceNetwork);
|
|
46
46
|
}
|
|
47
47
|
// Fall back to viem's built-in chains
|
|
48
|
-
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);
|
|
49
49
|
if (viemChain) {
|
|
50
50
|
return viemChain;
|
|
51
51
|
}
|
|
@@ -169,7 +169,7 @@ export class RpcRelayer {
|
|
|
169
169
|
}
|
|
170
170
|
return { opHash: `0x${result.txnHash}` };
|
|
171
171
|
}
|
|
172
|
-
async status(opHash,
|
|
172
|
+
async status(opHash, _chainId) {
|
|
173
173
|
try {
|
|
174
174
|
const cleanedOpHash = opHash.startsWith('0x') ? opHash.substring(2) : opHash;
|
|
175
175
|
const result = await this.client.getMetaTxnReceipt({ metaTxID: cleanedOpHash });
|
|
@@ -218,7 +218,7 @@ export class RpcRelayer {
|
|
|
218
218
|
case 'native-balance': {
|
|
219
219
|
const native = decoded;
|
|
220
220
|
try {
|
|
221
|
-
const balance = await this.provider.getBalance({ address: native.address
|
|
221
|
+
const balance = await this.provider.getBalance({ address: native.address });
|
|
222
222
|
const minWei = native.min !== undefined ? BigInt(native.min) : undefined;
|
|
223
223
|
const maxWei = native.max !== undefined ? BigInt(native.max) : undefined;
|
|
224
224
|
if (minWei !== undefined && maxWei !== undefined) {
|
|
@@ -242,7 +242,7 @@ export class RpcRelayer {
|
|
|
242
242
|
case 'erc20-balance': {
|
|
243
243
|
const erc20 = decoded;
|
|
244
244
|
try {
|
|
245
|
-
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address
|
|
245
|
+
const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address]);
|
|
246
246
|
const result = await this.provider.call({
|
|
247
247
|
to: erc20.token.toString(),
|
|
248
248
|
data: data,
|
|
@@ -270,7 +270,7 @@ export class RpcRelayer {
|
|
|
270
270
|
case 'erc20-approval': {
|
|
271
271
|
const erc20 = decoded;
|
|
272
272
|
try {
|
|
273
|
-
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address
|
|
273
|
+
const data = AbiFunction.encodeData(erc20Allowance, [erc20.address, erc20.operator]);
|
|
274
274
|
const result = await this.provider.call({
|
|
275
275
|
to: erc20.token.toString(),
|
|
276
276
|
data: data,
|
|
@@ -289,7 +289,7 @@ export class RpcRelayer {
|
|
|
289
289
|
try {
|
|
290
290
|
const data = AbiFunction.encodeData(erc721OwnerOf, [erc721.tokenId]);
|
|
291
291
|
const result = await this.provider.call({
|
|
292
|
-
to: erc721.token
|
|
292
|
+
to: erc721.token,
|
|
293
293
|
data: data,
|
|
294
294
|
});
|
|
295
295
|
const resultHex = result.toString();
|
|
@@ -323,7 +323,7 @@ export class RpcRelayer {
|
|
|
323
323
|
case 'erc1155-balance': {
|
|
324
324
|
const erc1155 = decoded;
|
|
325
325
|
try {
|
|
326
|
-
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address
|
|
326
|
+
const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address, erc1155.tokenId]);
|
|
327
327
|
const result = await this.provider.call({
|
|
328
328
|
to: erc1155.token.toString(),
|
|
329
329
|
data: data,
|
|
@@ -351,12 +351,9 @@ export class RpcRelayer {
|
|
|
351
351
|
case 'erc1155-approval': {
|
|
352
352
|
const erc1155 = decoded;
|
|
353
353
|
try {
|
|
354
|
-
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [
|
|
355
|
-
erc1155.address.toString(),
|
|
356
|
-
erc1155.operator.toString(),
|
|
357
|
-
]);
|
|
354
|
+
const data = AbiFunction.encodeData(erc1155IsApprovedForAll, [erc1155.address, erc1155.operator]);
|
|
358
355
|
const result = await this.provider.call({
|
|
359
|
-
to: erc1155.token
|
|
356
|
+
to: erc1155.token,
|
|
360
357
|
data: data,
|
|
361
358
|
});
|
|
362
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
|
}
|