@0xsequence/wallet-primitives 3.0.0-beta.2 → 3.0.0-beta.4

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @0xsequence/wallet-primitives@3.0.0-beta.2 build /Users/taylan/Development/Horizon/sequence.js/packages/wallet/primitives
3
+ > @0xsequence/wallet-primitives@3.0.0-beta.4 build /Users/taylan/Development/Horizon/sequence.js/packages/wallet/primitives
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @0xsequence/wallet-primitives
2
2
 
3
+ ## 3.0.0-beta.4
4
+
5
+ ### Patch Changes
6
+
7
+ - RC5 upgrade
8
+
9
+ ## 3.0.0-beta.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 3.0.0-beta.3 with fixes
14
+
3
15
  ## 3.0.0-beta.2
4
16
 
5
17
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  export declare const ZeroAddress: "0x0000000000000000000000000000000000000000";
2
2
  export declare const PlaceholderAddress: "0xffff0000ffff0000ffff0000ffff0000ffff0000";
3
- export declare const DefaultGuestAddress: "0x0000000000601fcA38f0cCA649453F6739436d6C";
3
+ export declare const DefaultGuestAddress: "0x0000000000006Ac72ed1d192fa28f0058D3F8806";
4
4
  export declare const IS_VALID_SIGNATURE: {
5
5
  readonly name: "isValidSignature";
6
6
  readonly type: "function";
package/dist/constants.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Abi } from 'ox';
2
2
  export const ZeroAddress = '0x0000000000000000000000000000000000000000';
3
3
  export const PlaceholderAddress = '0xffff0000ffff0000ffff0000ffff0000ffff0000';
4
- export const DefaultGuestAddress = '0x0000000000601fcA38f0cCA649453F6739436d6C';
4
+ export const DefaultGuestAddress = '0x0000000000006Ac72ed1d192fa28f0058D3F8806';
5
5
  // ERC1271
6
6
  export const IS_VALID_SIGNATURE = Abi.from([
7
7
  'function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)',
package/dist/context.d.ts CHANGED
@@ -18,6 +18,8 @@ export declare const Rc3: Context;
18
18
  export declare const Rc3_4337: Context;
19
19
  export declare const Rc4: Context;
20
20
  export declare const Rc4_4337: Context;
21
+ export declare const Rc5: Context;
22
+ export declare const Rc5_4337: Context;
21
23
  export type KnownContext = Context & {
22
24
  name: string;
23
25
  development: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,OAAO,CAAC,OAAO,CAAA;KAC5B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,OAKlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,OAKlB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,OAUvB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAUtB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAUtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAQvC,CAAA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAExE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,OAAO,CAAC,OAAO,CAAA;KAC5B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,OAKlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,OAKlB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,OAUvB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAUtB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAUtB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,OAUtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAUvC,CAAA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAExE"}
package/dist/context.js CHANGED
@@ -45,7 +45,7 @@ export const Rc4 = {
45
45
  creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
46
46
  };
47
47
  export const Rc4_4337 = {
48
- factory: '0x00000000000003c0C955C8AE06FB13cDd19a7ac6',
48
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
49
49
  stage1: '0x0000000000003add039FF84b064B7347Fc23C444',
50
50
  stage2: '0x4B3E5735665057A0A15eE448A7293bC01e3b4De9',
51
51
  creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
@@ -55,6 +55,23 @@ export const Rc4_4337 = {
55
55
  },
56
56
  },
57
57
  };
58
+ export const Rc5 = {
59
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
60
+ stage1: '0x0000000000001f3C39d61698ab21131a12134454',
61
+ stage2: '0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C',
62
+ creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
63
+ };
64
+ export const Rc5_4337 = {
65
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
66
+ stage1: '0x0000000000009caFdeDb6f64Bf5F31a22124B2a8',
67
+ stage2: '0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92',
68
+ creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
69
+ capabilities: {
70
+ erc4337: {
71
+ entrypoint: '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
72
+ },
73
+ },
74
+ };
58
75
  export const KnownContexts = [
59
76
  { name: 'Dev1', development: true, ...Dev1 },
60
77
  { name: 'Dev2', development: true, ...Dev2 },
@@ -63,6 +80,8 @@ export const KnownContexts = [
63
80
  { name: 'Rc3_4337', development: true, ...Rc3_4337 },
64
81
  { name: 'Rc4', development: false, ...Rc4 },
65
82
  { name: 'Rc4_4337', development: false, ...Rc4_4337 },
83
+ { name: 'Rc5', development: false, ...Rc5 },
84
+ { name: 'Rc5_4337', development: false, ...Rc5_4337 },
66
85
  ];
67
86
  export function isKnownContext(context) {
68
87
  return context.name !== undefined && context.development !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,4FAA4F;CAC3G,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAOD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE;IACtD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE;IAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE;IAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE;CACtD,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAQ,OAAwB,CAAC,IAAI,KAAK,SAAS,IAAK,OAAwB,CAAC,WAAW,KAAK,SAAS,CAAA;AAC5G,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,4FAA4F;CAC3G,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;CACjH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,YAAY,EAAE,kGAAkG;IAChH,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,4CAA4C;SACzD;KACF;CACF,CAAA;AAOD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE;IACtD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE;IAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE;IACpD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE;IAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE;IACrD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE;IAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE;CACtD,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAQ,OAAwB,CAAC,IAAI,KAAK,SAAS,IAAK,OAAwB,CAAC,WAAW,KAAK,SAAS,CAAA;AAC5G,CAAC"}
package/dist/erc-6492.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AbiFunction, AbiParameters, Bytes, Hex } from 'ox';
2
- import { WrappedSignature } from 'ox/erc6492';
2
+ import { SignatureErc6492 } from 'ox/erc6492';
3
3
  import { DEPLOY } from './constants.js';
4
4
  const EIP_6492_OFFCHAIN_DEPLOY_CODE = '0x608060405234801561001057600080fd5b5060405161124a38038061124a83398101604081905261002f91610124565b600060405161003d906100dd565b604051809103906000f080158015610059573d6000803e3d6000fd5b5090506000816001600160a01b0316638f0684308686866040518463ffffffff1660e01b815260040161008e939291906101fb565b6020604051808303816000875af11580156100ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d19190610244565b9050806000526001601ff35b610fdc8061026e83390190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561011b578181015183820152602001610103565b50506000910152565b60008060006060848603121561013957600080fd5b83516001600160a01b038116811461015057600080fd5b6020850151604086015191945092506001600160401b038082111561017457600080fd5b818601915086601f83011261018857600080fd5b81518181111561019a5761019a6100ea565b604051601f8201601f19908116603f011681019083821181831017156101c2576101c26100ea565b816040528281528960208487010111156101db57600080fd5b6101ec836020830160208801610100565b80955050505050509250925092565b60018060a01b0384168152826020820152606060408201526000825180606084015261022e816080850160208701610100565b601f01601f191691909101608001949350505050565b60006020828403121561025657600080fd5b8151801515811461026657600080fd5b939250505056fe608060405234801561001057600080fd5b50610fbc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806376be4cea1161005057806376be4cea146100a65780638f068430146100b957806398ef1ed8146100cc57600080fd5b80631c6453271461006c5780633d787b6314610093575b600080fd5b61007f61007a366004610ad4565b6100df565b604051901515815260200160405180910390f35b61007f6100a1366004610ad4565b61023d565b61007f6100b4366004610b3e565b61031e565b61007f6100c7366004610ad4565b6108e1565b61007f6100da366004610ad4565b61096e565b6040517f76be4cea00000000000000000000000000000000000000000000000000000000815260009030906376be4cea9061012890889088908890889088908190600401610bc3565b6020604051808303816000875af1925050508015610181575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261017e91810190610c45565b60015b610232573d8080156101af576040519150601f19603f3d011682016040523d82523d6000602084013e6101b4565b606091505b508051600181900361022757816000815181106101d3576101d3610c69565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000149250610235915050565b600092505050610235565b90505b949350505050565b6040517f76be4cea00000000000000000000000000000000000000000000000000000000815260009030906376be4cea906102879088908890889088906001908990600401610bc3565b6020604051808303816000875af19250505080156102e0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526102dd91810190610c45565b60015b610232573d80801561030e576040519150601f19603f3d011682016040523d82523d6000602084013e610313565b606091505b506000915050610235565b600073ffffffffffffffffffffffffffffffffffffffff87163b6060827f64926492649264926492649264926492649264926492649264926492649264928888610369602082610c98565b610375928b9290610cd8565b61037e91610d02565b1490508015610484576000606089828a610399602082610c98565b926103a693929190610cd8565b8101906103b39190610e18565b955090925090508415806103c45750865b1561047d576000808373ffffffffffffffffffffffffffffffffffffffff16836040516103f19190610eb2565b6000604051808303816000865af19150503d806000811461042e576040519150601f19603f3d011682016040523d82523d6000602084013e610433565b606091505b50915091508161047a57806040517f9d0d6e2d0000000000000000000000000000000000000000000000000000000081526004016104719190610f18565b60405180910390fd5b50505b50506104be565b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b80806104ca5750600083115b156106bb576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b1690631626ba7e90610523908c908690600401610f2b565b602060405180830381865afa92505050801561057a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261057791810190610f44565b60015b61060f573d8080156105a8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ad565b606091505b50851580156105bc5750600084115b156105db576105d08b8b8b8b8b600161031e565b9450505050506108d7565b806040517f6f2a95990000000000000000000000000000000000000000000000000000000081526004016104719190610f18565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e000000000000000000000000000000000000000000000000000000001480158161065f575086155b801561066b5750600085115b1561068b5761067f8c8c8c8c8c600161031e565b955050505050506108d7565b841580156106965750825b80156106a0575087155b156106af57806000526001601ffd5b94506108d79350505050565b6041871461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f72237265636f7665725369676e657260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610471565b600061075a6020828a8c610cd8565b61076391610d02565b90506000610775604060208b8d610cd8565b61077e91610d02565b905060008a8a604081811061079557610795610c69565b919091013560f81c915050601b81148015906107b557508060ff16601c14155b15610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f5369676e617475726556616c696461746f723a20696e76616c6964207369676e60448201527f617475726520762076616c7565000000000000000000000000000000000000006064820152608401610471565b6040805160008152602081018083528e905260ff831691810191909152606081018490526080810183905273ffffffffffffffffffffffffffffffffffffffff8e169060019060a0016020604051602081039080840390855afa1580156108ad573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161496505050505050505b9695505050505050565b6040517f76be4cea00000000000000000000000000000000000000000000000000000000815260009030906376be4cea9061092b9088908890889088906001908990600401610bc3565b6020604051808303816000875af115801561094a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102329190610c45565b6040517f76be4cea00000000000000000000000000000000000000000000000000000000815260009030906376be4cea906109b790889088908890889088908190600401610bc3565b6020604051808303816000875af1925050508015610a10575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610a0d91810190610c45565b60015b610232573d808015610a3e576040519150601f19603f3d011682016040523d82523d6000602084013e610a43565b606091505b5080516001819003610a6257816000815181106101d3576101d3610c69565b8082fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610a8857600080fd5b50565b60008083601f840112610a9d57600080fd5b50813567ffffffffffffffff811115610ab557600080fd5b602083019150836020828501011115610acd57600080fd5b9250929050565b60008060008060608587031215610aea57600080fd5b8435610af581610a66565b935060208501359250604085013567ffffffffffffffff811115610b1857600080fd5b610b2487828801610a8b565b95989497509550505050565b8015158114610a8857600080fd5b60008060008060008060a08789031215610b5757600080fd5b8635610b6281610a66565b955060208701359450604087013567ffffffffffffffff811115610b8557600080fd5b610b9189828a01610a8b565b9095509350506060870135610ba581610b30565b91506080870135610bb581610b30565b809150509295509295509295565b73ffffffffffffffffffffffffffffffffffffffff8716815285602082015260a060408201528360a0820152838560c0830137600060c085830181019190915292151560608201529015156080820152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909101019392505050565b600060208284031215610c5757600080fd5b8151610c6281610b30565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610cd2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b60008085851115610ce857600080fd5b83861115610cf557600080fd5b5050820193919092039150565b80356020831015610cd2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610d7e57600080fd5b813567ffffffffffffffff80821115610d9957610d99610d3e565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610ddf57610ddf610d3e565b81604052838152866020858801011115610df857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610e2d57600080fd5b8335610e3881610a66565b9250602084013567ffffffffffffffff80821115610e5557600080fd5b610e6187838801610d6d565b93506040860135915080821115610e7757600080fd5b50610e8486828701610d6d565b9150509250925092565b60005b83811015610ea9578181015183820152602001610e91565b50506000910152565b60008251610ec4818460208701610e8e565b9190910192915050565b60008151808452610ee6816020860160208601610e8e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c626020830184610ece565b8281526040602082015260006102356040830184610ece565b600060208284031215610f5657600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6257600080fdfea26469706673582212201a72aed4b15ffb05b6502997a9bb655992e06590bd26b336dfbb153d7ff6f34b64736f6c63430008120033';
5
5
  export function deploy(deployHash, context) {
@@ -12,7 +12,7 @@ export function deploy(deployHash, context) {
12
12
  }
13
13
  }
14
14
  export function wrap(signature, { to, data }) {
15
- const encoded = Hex.concat(AbiParameters.encode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], [to, Hex.from(data), Hex.from(signature)]), WrappedSignature.magicBytes);
15
+ const encoded = Hex.concat(AbiParameters.encode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], [to, Hex.from(data), Hex.from(signature)]), SignatureErc6492.magicBytes);
16
16
  switch (typeof signature) {
17
17
  case 'object':
18
18
  return Hex.toBytes(encoded);
@@ -23,18 +23,18 @@ export function wrap(signature, { to, data }) {
23
23
  export function decode(signature) {
24
24
  switch (typeof signature) {
25
25
  case 'object':
26
- if (Bytes.toHex(signature.subarray(-WrappedSignature.magicBytes.slice(2).length / 2)) ===
27
- WrappedSignature.magicBytes) {
28
- const [to, data, decoded] = AbiParameters.decode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature.subarray(0, -WrappedSignature.magicBytes.slice(2).length / 2));
26
+ if (Bytes.toHex(signature.subarray(-SignatureErc6492.magicBytes.slice(2).length / 2)) ===
27
+ SignatureErc6492.magicBytes) {
28
+ const [to, data, decoded] = AbiParameters.decode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature.subarray(0, -SignatureErc6492.magicBytes.slice(2).length / 2));
29
29
  return { signature: Hex.toBytes(decoded), erc6492: { to, data: Hex.toBytes(data) } };
30
30
  }
31
31
  else {
32
32
  return { signature };
33
33
  }
34
34
  case 'string':
35
- if (signature.endsWith(WrappedSignature.magicBytes.slice(2))) {
35
+ if (signature.endsWith(SignatureErc6492.magicBytes.slice(2))) {
36
36
  try {
37
- const [to, data, decoded] = AbiParameters.decode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature.slice(0, -WrappedSignature.magicBytes.slice(2).length));
37
+ const [to, data, decoded] = AbiParameters.decode([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature.slice(0, -SignatureErc6492.magicBytes.slice(2).length));
38
38
  return { signature: decoded, erc6492: { to, data: data } };
39
39
  }
40
40
  catch {
@@ -8,6 +8,7 @@ export declare const Dev1: Extensions;
8
8
  export declare const Dev2: Extensions;
9
9
  export declare const Rc3: Extensions;
10
10
  export declare const Rc4: Extensions;
11
+ export declare const Rc5: Extensions;
11
12
  export * as Passkeys from './passkeys.js';
12
13
  export * as Recovery from './recovery.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,UAIlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,UAIlB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,UAIjB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,UAIjB,CAAA;AAED,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,UAIlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,UAIlB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,UAIjB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,UAIjB,CAAA;AAED,eAAO,MAAM,GAAG,EAAE,UAIjB,CAAA;AAED,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
@@ -18,6 +18,11 @@ export const Rc4 = {
18
18
  recovery: '0x000000000001FC499c3E177DD56Febb0A4bc15b7',
19
19
  sessions: '0x00000000000030Bcc832F7d657f50D6Be35C92b3',
20
20
  };
21
+ export const Rc5 = {
22
+ passkeys: '0x0000000000005204F3711851EAD52CC9c241499a',
23
+ recovery: '0x000000000000AB36D17eB1150116371520565205',
24
+ sessions: '0x00000000000030Bcc832F7d657f50D6Be35C92b3',
25
+ };
21
26
  export * as Passkeys from './passkeys.js';
22
27
  export * as Recovery from './recovery.js';
23
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/wallet-primitives",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.4",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -14,13 +14,13 @@
14
14
  }
15
15
  },
16
16
  "devDependencies": {
17
- "@vitest/coverage-v8": "^3.2.4",
18
- "typescript": "^5.8.3",
19
- "vitest": "^3.2.1",
20
- "@repo/typescript-config": "^0.0.0"
17
+ "@vitest/coverage-v8": "^4.0.14",
18
+ "typescript": "^5.9.3",
19
+ "vitest": "^4.0.14",
20
+ "@repo/typescript-config": "^0.0.1-beta.0"
21
21
  },
22
22
  "dependencies": {
23
- "ox": "^0.7.2"
23
+ "ox": "^0.9.17"
24
24
  },
25
25
  "scripts": {
26
26
  "build": "tsc",
package/src/constants.ts CHANGED
@@ -3,7 +3,7 @@ import { Abi } from 'ox'
3
3
  export const ZeroAddress = '0x0000000000000000000000000000000000000000' as const
4
4
  export const PlaceholderAddress = '0xffff0000ffff0000ffff0000ffff0000ffff0000' as const
5
5
 
6
- export const DefaultGuestAddress = '0x0000000000601fcA38f0cCA649453F6739436d6C' as const
6
+ export const DefaultGuestAddress = '0x0000000000006Ac72ed1d192fa28f0058D3F8806' as const
7
7
 
8
8
  // ERC1271
9
9
  export const IS_VALID_SIGNATURE = Abi.from([
package/src/context.ts CHANGED
@@ -67,7 +67,7 @@ export const Rc4: Context = {
67
67
  }
68
68
 
69
69
  export const Rc4_4337: Context = {
70
- factory: '0x00000000000003c0C955C8AE06FB13cDd19a7ac6',
70
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
71
71
  stage1: '0x0000000000003add039FF84b064B7347Fc23C444',
72
72
  stage2: '0x4B3E5735665057A0A15eE448A7293bC01e3b4De9',
73
73
  creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
@@ -78,6 +78,25 @@ export const Rc4_4337: Context = {
78
78
  },
79
79
  }
80
80
 
81
+ export const Rc5: Context = {
82
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
83
+ stage1: '0x0000000000001f3C39d61698ab21131a12134454',
84
+ stage2: '0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C',
85
+ creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
86
+ }
87
+
88
+ export const Rc5_4337: Context = {
89
+ factory: '0x00000000000018A77519fcCCa060c2537c9D6d3F',
90
+ stage1: '0x0000000000009caFdeDb6f64Bf5F31a22124B2a8',
91
+ stage2: '0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92',
92
+ creationCode: '0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3',
93
+ capabilities: {
94
+ erc4337: {
95
+ entrypoint: '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
96
+ },
97
+ },
98
+ }
99
+
81
100
  export type KnownContext = Context & {
82
101
  name: string
83
102
  development: boolean
@@ -91,6 +110,8 @@ export const KnownContexts: KnownContext[] = [
91
110
  { name: 'Rc3_4337', development: true, ...Rc3_4337 },
92
111
  { name: 'Rc4', development: false, ...Rc4 },
93
112
  { name: 'Rc4_4337', development: false, ...Rc4_4337 },
113
+ { name: 'Rc5', development: false, ...Rc5 },
114
+ { name: 'Rc5_4337', development: false, ...Rc5_4337 },
94
115
  ]
95
116
 
96
117
  export function isKnownContext(context: Context): context is KnownContext {
package/src/erc-6492.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AbiFunction, AbiParameters, Address, Bytes, Hex, Provider } from 'ox'
2
- import { WrappedSignature } from 'ox/erc6492'
2
+ import { SignatureErc6492 } from 'ox/erc6492'
3
3
  import { DEPLOY } from './constants.js'
4
4
  import { Context } from './context.js'
5
5
 
@@ -29,7 +29,7 @@ export function wrap<T extends Bytes.Bytes | Hex.Hex>(
29
29
  [{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
30
30
  [to, Hex.from(data), Hex.from(signature)],
31
31
  ),
32
- WrappedSignature.magicBytes,
32
+ SignatureErc6492.magicBytes,
33
33
  )
34
34
 
35
35
  switch (typeof signature) {
@@ -46,12 +46,12 @@ export function decode<T extends Bytes.Bytes | Hex.Hex>(
46
46
  switch (typeof signature) {
47
47
  case 'object':
48
48
  if (
49
- Bytes.toHex(signature.subarray(-WrappedSignature.magicBytes.slice(2).length / 2)) ===
50
- WrappedSignature.magicBytes
49
+ Bytes.toHex(signature.subarray(-SignatureErc6492.magicBytes.slice(2).length / 2)) ===
50
+ SignatureErc6492.magicBytes
51
51
  ) {
52
52
  const [to, data, decoded] = AbiParameters.decode(
53
53
  [{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
54
- signature.subarray(0, -WrappedSignature.magicBytes.slice(2).length / 2),
54
+ signature.subarray(0, -SignatureErc6492.magicBytes.slice(2).length / 2),
55
55
  )
56
56
  return { signature: Hex.toBytes(decoded) as T, erc6492: { to, data: Hex.toBytes(data) as T } }
57
57
  } else {
@@ -59,11 +59,11 @@ export function decode<T extends Bytes.Bytes | Hex.Hex>(
59
59
  }
60
60
 
61
61
  case 'string':
62
- if (signature.endsWith(WrappedSignature.magicBytes.slice(2))) {
62
+ if (signature.endsWith(SignatureErc6492.magicBytes.slice(2))) {
63
63
  try {
64
64
  const [to, data, decoded] = AbiParameters.decode(
65
65
  [{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
66
- signature.slice(0, -WrappedSignature.magicBytes.slice(2).length) as Hex.Hex,
66
+ signature.slice(0, -SignatureErc6492.magicBytes.slice(2).length) as Hex.Hex,
67
67
  )
68
68
  return { signature: decoded as T, erc6492: { to, data: data as T } }
69
69
  } catch {
@@ -30,5 +30,11 @@ export const Rc4: Extensions = {
30
30
  sessions: '0x00000000000030Bcc832F7d657f50D6Be35C92b3',
31
31
  }
32
32
 
33
+ export const Rc5: Extensions = {
34
+ passkeys: '0x0000000000005204F3711851EAD52CC9c241499a',
35
+ recovery: '0x000000000000AB36D17eB1150116371520565205',
36
+ sessions: '0x00000000000030Bcc832F7d657f50D6Be35C92b3',
37
+ }
38
+
33
39
  export * as Passkeys from './passkeys.js'
34
40
  export * as Recovery from './recovery.js'
@@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'
2
2
  import { Address, Bytes, Hash, Hex } from 'ox'
3
3
 
4
4
  import { from } from '../src/address.js'
5
- import { Context, Dev1, Dev2, Rc3, Rc4 } from '../src/context.js'
5
+ import { Context, Dev1, Dev2, Rc3, Rc4, Rc5 } from '../src/context.js'
6
6
  import { Config, hashConfiguration } from '../src/config.js'
7
7
 
8
8
  describe('Address', () => {
@@ -134,6 +134,19 @@ describe('Address', () => {
134
134
  expect(address).not.toBe(dev2Address)
135
135
  })
136
136
 
137
+ it('should work with Rc5 context', () => {
138
+ const { stage2, ...rc5Context } = Rc5
139
+ const address = from(sampleConfig, rc5Context)
140
+
141
+ expect(() => Address.assert(address)).not.toThrow()
142
+ expect(address).toMatch(/^0x[a-fA-F0-9]{40}$/)
143
+
144
+ // Should be different from Dev2
145
+ const { stage2: _, ...dev2Context } = Dev2
146
+ const dev2Address = from(sampleConfig, dev2Context)
147
+ expect(address).not.toBe(dev2Address)
148
+ })
149
+
137
150
  it('should handle complex topology configurations', () => {
138
151
  const complexConfig: Config = {
139
152
  threshold: 2n,
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it, vi } from 'vitest'
2
2
  import { Address, Bytes, Hex, Provider } from 'ox'
3
- import { WrappedSignature } from 'ox/erc6492'
3
+ import { SignatureErc6492 } from 'ox/erc6492'
4
4
 
5
5
  import { deploy, wrap, decode, isValid } from '../src/erc-6492.js'
6
6
  import { Context } from '../src/context.js'
@@ -82,7 +82,7 @@ describe('ERC-6492', () => {
82
82
  expect(result.startsWith('0x')).toBe(true)
83
83
 
84
84
  // Should end with the magic bytes
85
- expect(result.endsWith(WrappedSignature.magicBytes.slice(2))).toBe(true)
85
+ expect(result.endsWith(SignatureErc6492.magicBytes.slice(2))).toBe(true)
86
86
 
87
87
  // Should contain the original signature data somewhere
88
88
  expect(result.length).toBeGreaterThan(testSignature.length)
@@ -96,7 +96,7 @@ describe('ERC-6492', () => {
96
96
 
97
97
  // Convert to hex to check magic bytes
98
98
  const resultHex = Bytes.toHex(result)
99
- expect(resultHex.endsWith(WrappedSignature.magicBytes.slice(2))).toBe(true)
99
+ expect(resultHex.endsWith(SignatureErc6492.magicBytes.slice(2))).toBe(true)
100
100
  })
101
101
 
102
102
  it('should return same type as input signature', () => {
@@ -133,7 +133,7 @@ describe('ERC-6492', () => {
133
133
  // The wrapped signature should contain encoded: address, bytes (data), bytes (signature)
134
134
  expect(result.length).toBeGreaterThan(testSignature.length + deployData.data.length)
135
135
  expect(result).toContain(testAddress.slice(2)) // Address without 0x
136
- expect(result.endsWith(WrappedSignature.magicBytes.slice(2))).toBe(true)
136
+ expect(result.endsWith(SignatureErc6492.magicBytes.slice(2))).toBe(true)
137
137
  })
138
138
  })
139
139
 
@@ -209,7 +209,7 @@ describe('ERC-6492', () => {
209
209
 
210
210
  it('should handle malformed wrapped signature gracefully', () => {
211
211
  // Create a signature that ends with magic bytes but has invalid encoding
212
- const malformedSig = ('0x1234' + WrappedSignature.magicBytes.slice(2)) as Hex.Hex
212
+ const malformedSig = ('0x1234' + SignatureErc6492.magicBytes.slice(2)) as Hex.Hex
213
213
  const result = decode(malformedSig)
214
214
 
215
215
  // Should return original signature when decoding fails
@@ -391,7 +391,7 @@ describe('ERC-6492', () => {
391
391
 
392
392
  // 2. Wrap signature with deploy data
393
393
  const wrappedSig = wrap(testSignature, deployCall)
394
- expect(wrappedSig.endsWith(WrappedSignature.magicBytes.slice(2))).toBe(true)
394
+ expect(wrappedSig.endsWith(SignatureErc6492.magicBytes.slice(2))).toBe(true)
395
395
 
396
396
  // 3. Decode wrapped signature
397
397
  const decoded = decode(wrappedSig)
@@ -457,7 +457,7 @@ describe('ERC-6492', () => {
457
457
 
458
458
  it('should handle signatures that accidentally contain magic bytes', () => {
459
459
  // Create a signature that contains the magic bytes but isn't wrapped
460
- const magicInSignature = (testSignature + WrappedSignature.magicBytes.slice(2) + '1234') as Hex.Hex
460
+ const magicInSignature = (testSignature + SignatureErc6492.magicBytes.slice(2) + '1234') as Hex.Hex
461
461
  const result = decode(magicInSignature)
462
462
 
463
463
  // Should try to decode, but if it fails, should return original