@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.
Files changed (38) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-lint.log +4 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/CHANGELOG.md +8 -0
  5. package/dist/preconditions/codec.d.ts.map +1 -1
  6. package/dist/preconditions/codec.js +55 -45
  7. package/dist/relayer/relayer.d.ts +1 -1
  8. package/dist/relayer/relayer.d.ts.map +1 -1
  9. package/dist/relayer/relayer.js +3 -1
  10. package/dist/relayer/rpc-relayer/index.d.ts +2 -2
  11. package/dist/relayer/rpc-relayer/index.d.ts.map +1 -1
  12. package/dist/relayer/rpc-relayer/index.js +10 -13
  13. package/dist/relayer/standard/eip6963.d.ts +1 -1
  14. package/dist/relayer/standard/eip6963.d.ts.map +1 -1
  15. package/dist/relayer/standard/eip6963.js +1 -1
  16. package/dist/relayer/standard/local.d.ts +1 -1
  17. package/dist/relayer/standard/local.d.ts.map +1 -1
  18. package/dist/relayer/standard/local.js +12 -15
  19. package/dist/relayer/standard/pk-relayer.d.ts +2 -2
  20. package/dist/relayer/standard/pk-relayer.d.ts.map +1 -1
  21. package/dist/relayer/standard/pk-relayer.js +1 -1
  22. package/dist/relayer/standard/sequence.d.ts +2 -2
  23. package/dist/relayer/standard/sequence.d.ts.map +1 -1
  24. package/dist/relayer/standard/sequence.js +1 -1
  25. package/eslint.config.js +4 -0
  26. package/package.json +8 -6
  27. package/src/preconditions/codec.ts +63 -39
  28. package/src/relayer/relayer.ts +3 -1
  29. package/src/relayer/rpc-relayer/index.ts +31 -23
  30. package/src/relayer/standard/eip6963.ts +2 -2
  31. package/src/relayer/standard/local.ts +33 -27
  32. package/src/relayer/standard/pk-relayer.ts +2 -2
  33. package/src/relayer/standard/sequence.ts +2 -2
  34. package/test/preconditions/codec.test.ts +11 -11
  35. package/test/preconditions/preconditions.test.ts +97 -138
  36. package/test/preconditions/selectors.test.ts +76 -254
  37. package/test/preconditions/types.test.ts +6 -6
  38. package/test/relayer/relayer.test.ts +3 -3
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/relayer@3.0.0-beta.18 build /home/taylan/development/sequence/sequence.js/packages/services/relayer
3
+ > @0xsequence/relayer@3.0.0-beta.19 build /home/taylan/development/sequence/sequence.js/packages/services/relayer
4
4
  > tsc
5
5
 
@@ -0,0 +1,4 @@
1
+
2
+ > @0xsequence/relayer@3.0.0-beta.19 lint /home/taylan/development/sequence/sequence.js/packages/services/relayer
3
+ > eslint . --max-warnings 0
4
+
@@ -0,0 +1,4 @@
1
+
2
+ > @0xsequence/relayer@3.0.0-beta.19 typecheck /home/taylan/development/sequence/sequence.js/packages/services/relayer
3
+ > tsc --noEmit
4
+
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
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
+
3
11
  ## 3.0.0-beta.18
4
12
 
5
13
  ### 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,CAoFvF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAsE1D"}
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.address = native.address.toString();
62
- if (native.min !== undefined)
63
- data.min = native.min.toString();
64
- if (native.max !== undefined)
65
- data.max = native.max.toString();
66
- break;
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.address = erc20.address.toString();
71
- data.token = erc20.token.toString();
72
- if (erc20.min !== undefined)
73
- data.min = erc20.min.toString();
74
- if (erc20.max !== undefined)
75
- data.max = erc20.max.toString();
76
- break;
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.address = erc20.address.toString();
81
- data.token = erc20.token.toString();
82
- data.operator = erc20.operator.toString();
83
- data.min = erc20.min.toString();
84
- break;
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.address = erc721.address.toString();
89
- data.token = erc721.token.toString();
90
- data.tokenId = erc721.tokenId.toString();
91
- if (erc721.owned !== undefined)
92
- data.owned = erc721.owned;
93
- break;
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.address = erc721.address.toString();
98
- data.token = erc721.token.toString();
99
- data.tokenId = erc721.tokenId.toString();
100
- data.operator = erc721.operator.toString();
101
- break;
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.address = erc1155.address.toString();
106
- data.token = erc1155.token.toString();
107
- data.tokenId = erc1155.tokenId.toString();
108
- if (erc1155.min !== undefined)
109
- data.min = erc1155.min.toString();
110
- if (erc1155.max !== undefined)
111
- data.max = erc1155.max.toString();
112
- break;
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.address = erc1155.address.toString();
117
- data.token = erc1155.token.toString();
118
- data.tokenId = erc1155.tokenId.toString();
119
- data.operator = erc1155.operator.toString();
120
- data.min = erc1155.min.toString();
121
- break;
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(data);
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: any): relayer is 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,GAAG,GAAG,OAAO,IAAI,OAAO,CAQ1D"}
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"}
@@ -1,5 +1,7 @@
1
1
  export function isRelayer(relayer) {
2
- return ('isAvailable' in relayer &&
2
+ return (typeof relayer === 'object' &&
3
+ relayer !== null &&
4
+ 'isAvailable' in relayer &&
3
5
  'feeOptions' in relayer &&
4
6
  'relay' in relayer &&
5
7
  'status' in relayer &&
@@ -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: 'relayer';
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, chainId: number): Promise<OperationStatus>;
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;AAU3E,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,KAc1C,CAAA;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAY;IAC3C,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,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA2ClE,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuKhF,OAAO,CAAC,uBAAuB;CAMhC"}
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, chainId) {
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.toString() });
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.toString()]);
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.toString(), erc20.operator.toString()]);
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.toString(),
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.toString(), erc1155.tokenId]);
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.toString(),
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: 'relayer';
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,EAAE,SAAS,CAAY;IAC3C,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"}
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"}
@@ -38,7 +38,7 @@ export function getEIP6963Store() {
38
38
  }
39
39
  return store;
40
40
  }
41
- let relayers = new Map();
41
+ const relayers = new Map();
42
42
  export function getRelayers() {
43
43
  const store = getEIP6963Store();
44
44
  const providers = store.getProviders();
@@ -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: 'relayer';
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":"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"}
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.toString());
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.toString()]);
126
+ const data = AbiFunction.encodeData(erc20BalanceOf, [erc20.address]);
127
127
  const result = await this.provider.call({
128
- to: erc20.token.toString(),
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.toString(), erc20.operator.toString()]);
142
+ const data = AbiFunction.encodeData(erc20Allowance, [erc20.address, erc20.operator]);
143
143
  const result = await this.provider.call({
144
- to: erc20.token.toString(),
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.toString(),
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.toString(),
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.toString(), erc1155.tokenId]);
173
+ const data = AbiFunction.encodeData(erc1155BalanceOf, [erc1155.address, erc1155.tokenId]);
174
174
  const result = await this.provider.call({
175
- to: erc1155.token.toString(),
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.toString(),
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: 'relayer';
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(precondition: Precondition.Precondition): Promise<boolean>;
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,EAAE,SAAS,CAAY;IAC3C,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,YAAY,EAAE,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAInF"}
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(precondition) {
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: 'relayer';
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(precondition: TransactionPrecondition): Promise<boolean>;
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,EAAE,SAAS,CAAY;IAC3C,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,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1E,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"}
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"}
@@ -38,7 +38,7 @@ export class SequenceRelayer {
38
38
  quote: quote ? { _tag: 'FeeQuote', _quote: quote } : undefined,
39
39
  };
40
40
  }
41
- async checkPrecondition(precondition) {
41
+ async checkPrecondition(_precondition) {
42
42
  // TODO: implement
43
43
  return false;
44
44
  }
@@ -0,0 +1,4 @@
1
+ import { config as baseConfig } from "@repo/eslint-config/base"
2
+
3
+ /** @type {import("eslint").Linter.Config} */
4
+ export default baseConfig
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/relayer",
3
- "version": "3.0.0-beta.18",
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.2",
19
+ "@types/node": "^25.3.0",
20
20
  "typescript": "^5.9.3",
21
- "vitest": "^4.0.15",
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.18"
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
  }