ox 0.9.0 → 0.9.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # ox
2
2
 
3
+ ## 0.9.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9be7919`](https://github.com/wevm/ox/commit/9be791906d9496111a1607344ddb02077f02f6a6) Thanks [@jxom](https://github.com/jxom)! - Updated `ox/erc8010` to latest spec changes.
8
+
9
+ ## 0.9.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`dec161a`](https://github.com/wevm/ox/commit/dec161ac7b3089bd6a0647d91e02f174ac421d65) Thanks [@jxom](https://github.com/jxom)! - Fixed `signature` type on ERC-6492 and ERC-8010.
14
+
3
15
  ## 0.9.0
4
16
 
5
17
  ### Minor Changes
@@ -51,10 +51,17 @@ function fromTupleList(tupleList) {
51
51
  return list;
52
52
  }
53
53
  function getSignPayload(authorization) {
54
- return hash(authorization);
54
+ return hash(authorization, { presign: true });
55
55
  }
56
- function hash(authorization) {
57
- return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(authorization))));
56
+ function hash(authorization, options = {}) {
57
+ const { presign } = options;
58
+ return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(presign
59
+ ? {
60
+ address: authorization.address,
61
+ chainId: authorization.chainId,
62
+ nonce: authorization.nonce,
63
+ }
64
+ : authorization))));
58
65
  }
59
66
  function toRpc(authorization) {
60
67
  const { address, chainId, nonce, ...signature } = authorization;
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":";;AAsHA,oBAUC;AA+CD,0BAUC;AA0BD,kCAEC;AAoDD,8BAYC;AAoED,sCAMC;AAqCD,wCAEC;AAyBD,oBAEC;AA+BD,sBASC;AA0BD,8BAEC;AA8BD,0BAWC;AA6CD,kCAWC;AApkBD,kCAAiC;AACjC,gCAA+B;AAE/B,gCAA+B;AAC/B,4CAA2C;AAgH3C,SAAgB,IAAI,CAIlB,aAA4C,EAC5C,UAAmC,EAAE;IAErC,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ;QAC3C,OAAO,OAAO,CAAC,aAAa,CAAU,CAAA;IACxC,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,EAAW,CAAA;AAC5D,CAAC;AA+CD,SAAgB,OAAO,CAAC,aAAkB;IACxC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,aAAa,CAAA;IACjD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAE,CAAA;IAEnD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,GAAG,SAAS;KACb,CAAA;AACH,CAAC;AA0BD,SAAgB,WAAW,CAAC,iBAA0B;IACpD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAoDD,SAAgB,SAAS,CACvB,KAAY;IAEZ,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;IACtD,IAAI,IAAI,GAAG;QACT,OAAO;QACP,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/C,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC3C,CAAA;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAU,CAAA;AAC5B,CAAC;AAoED,SAAgB,aAAa,CAC3B,SAAoB;IAEpB,MAAM,IAAI,GAAkB,EAAE,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1D,OAAO,IAAa,CAAA;AACtB,CAAC;AAqCD,SAAgB,cAAc,CAAC,aAA4B;IACzD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAA;AAC5B,CAAC;AAyBD,SAAgB,IAAI,CAAC,aAA4B;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,CAAC;AA+BD,SAAgB,KAAK,CAAC,aAAqB;IACzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,CAAA;IAE/D,OAAO;QACL,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5B,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;KAC9B,CAAA;AACH,CAAC;AA0BD,SAAgB,SAAS,CAAC,iBAA6B;IACrD,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACrC,CAAC;AA8BD,SAAgB,OAAO,CACrB,aAA4B;IAE5B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,aAAa,CAAA;IACjD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAClD,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QACxC,OAAO;QACP,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QACpC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAA;AACZ,CAAC;AA6CD,SAAgB,WAAW,CAIzB,IAAuB;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEzC,MAAM,SAAS,GAAuB,EAAE,CAAA;IACxC,KAAK,MAAM,aAAa,IAAI,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAExE,OAAO,SAAkB,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ exports.validate = validate;
9
9
  const AbiParameters = require("../core/AbiParameters.js");
10
10
  const Errors = require("../core/Errors.js");
11
11
  const Hex = require("../core/Hex.js");
12
- const Signature = require("../core/Signature.js");
13
12
  exports.magicBytes = '0x6492649264926492649264926492649264926492649264926492649264926492';
14
13
  exports.universalSignatureValidatorBytecode = '0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';
15
14
  exports.universalSignatureValidatorAbi = [
@@ -67,8 +66,7 @@ function from(wrapped) {
67
66
  }
68
67
  function unwrap(wrapped) {
69
68
  assert(wrapped);
70
- const [to, data, signature_hex] = AbiParameters.decode(AbiParameters.from('address, bytes, bytes'), wrapped);
71
- const signature = Signature.from(signature_hex);
69
+ const [to, data, signature] = AbiParameters.decode(AbiParameters.from('address, bytes, bytes'), wrapped);
72
70
  return { data, signature, to };
73
71
  }
74
72
  function wrap(value) {
@@ -76,7 +74,7 @@ function wrap(value) {
76
74
  return Hex.concat(AbiParameters.encode(AbiParameters.from('address, bytes, bytes'), [
77
75
  to,
78
76
  data,
79
- Signature.toHex(signature),
77
+ signature,
80
78
  ]), exports.magicBytes);
81
79
  }
82
80
  function validate(wrapped) {
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":";;;AA+FA,wBAGC;AAuCD,oBAGC;AAyBD,wBAWC;AAiCD,oBAWC;AAwBD,4BAOC;AA1PD,0DAAyD;AAEzD,4CAA2C;AAC3C,sCAAqC;AACrC,kDAAiD;AAkBpC,QAAA,UAAU,GACrB,oEAA6E,CAAA;AAKlE,QAAA,mCAAmC,GAC9C,4yGAA4yG,CAAA;AAOjyG,QAAA,8BAA8B,GAAG;IAC5C;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;KACnB;CACyB,CAAA;AAe5B,SAAgB,MAAM,CAAC,OAAgB;IACrC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,kBAAU;QACxC,MAAM,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAA;AACnD,CAAC;AAuCD,SAAgB,IAAI,CAAC,OAA4B;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,OAAO,CAAA;AAChB,CAAC;AAyBD,SAAgB,MAAM,CAAC,OAAgB;IACrC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEf,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,MAAM,CACpD,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAC3C,OAAO,CACR,CAAA;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE/C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AAChC,CAAC;AAiCD,SAAgB,IAAI,CAAC,KAAgB;IACnC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,KAAK,CAAA;IAErC,OAAO,GAAG,CAAC,MAAM,CACf,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;QAChE,EAAE;QACF,IAAI;QACJ,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;KAC3B,CAAC,EACF,kBAAU,CACX,CAAA;AACH,CAAC;AAwBD,SAAgB,QAAQ,CAAC,OAAgB;IACvC,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAOD,MAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAGhE,YAAY,OAAgB;QAC1B,KAAK,CAAC,WAAW,OAAO,8CAA8C,CAAC,CAAA;QAHvD;;;;mBAAO,+CAA+C;WAAA;IAIxE,CAAC;CACF;AAND,oEAMC"}
1
+ {"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":";;;AA+FA,wBAGC;AAuCD,oBAGC;AAyBD,wBASC;AAiCD,oBAWC;AAwBD,4BAOC;AAxPD,0DAAyD;AAEzD,4CAA2C;AAC3C,sCAAqC;AAmBxB,QAAA,UAAU,GACrB,oEAA6E,CAAA;AAKlE,QAAA,mCAAmC,GAC9C,4yGAA4yG,CAAA;AAOjyG,QAAA,8BAA8B,GAAG;IAC5C;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;KACnB;CACyB,CAAA;AAe5B,SAAgB,MAAM,CAAC,OAAgB;IACrC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,kBAAU;QACxC,MAAM,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAA;AACnD,CAAC;AAuCD,SAAgB,IAAI,CAAC,OAA4B;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,OAAO,CAAA;AAChB,CAAC;AAyBD,SAAgB,MAAM,CAAC,OAAgB;IACrC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEf,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,MAAM,CAChD,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAC3C,OAAO,CACR,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AAChC,CAAC;AAiCD,SAAgB,IAAI,CAAC,KAAgB;IACnC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,KAAK,CAAA;IAErC,OAAO,GAAG,CAAC,MAAM,CACf,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;QAChE,EAAE;QACF,IAAI;QACJ,SAAS;KACV,CAAC,EACF,kBAAU,CACX,CAAA;AACH,CAAC;AAwBD,SAAgB,QAAQ,CAAC,OAAgB;IACvC,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAOD,MAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAGhE,YAAY,OAAgB;QAC1B,KAAK,CAAC,WAAW,OAAO,8CAA8C,CAAC,CAAA;QAHvD;;;;mBAAO,+CAA+C;WAAA;IAIxE,CAAC;CACF;AAND,oEAMC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidWrappedSignatureError = exports.magicBytes = void 0;
3
+ exports.InvalidWrappedSignatureError = exports.suffixParameters = exports.magicBytes = void 0;
4
4
  exports.assert = assert;
5
5
  exports.from = from;
6
6
  exports.unwrap = unwrap;
@@ -10,17 +10,17 @@ const AbiParameters = require("../core/AbiParameters.js");
10
10
  const Authorization = require("../core/Authorization.js");
11
11
  const Errors = require("../core/Errors.js");
12
12
  const Hex = require("../core/Hex.js");
13
+ const Secp256k1 = require("../core/Secp256k1.js");
13
14
  const Signature = require("../core/Signature.js");
14
15
  exports.magicBytes = '0x8010801080108010801080108010801080108010801080108010801080108010';
16
+ exports.suffixParameters = AbiParameters.from('(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data');
15
17
  function assert(value) {
16
18
  if (typeof value === 'string') {
17
19
  if (Hex.slice(value, -32) !== exports.magicBytes)
18
20
  throw new InvalidWrappedSignatureError(value);
19
21
  }
20
- else {
22
+ else
21
23
  Signature.assert(value.authorization);
22
- Signature.assert(value.signature);
23
- }
24
24
  }
25
25
  function from(value) {
26
26
  if (typeof value === 'string')
@@ -31,45 +31,40 @@ function unwrap(wrapped) {
31
31
  assert(wrapped);
32
32
  const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
33
33
  const suffix = Hex.slice(wrapped, -suffixLength - 64, -64);
34
- const signature = Signature.from(Hex.slice(wrapped, 0, -suffixLength - 64));
35
- const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32));
36
- const delegation = Hex.slice(suffix, 32, 52);
37
- const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84));
38
- const yParity = Hex.toNumber(Hex.slice(suffix, 84, 85));
39
- const r = Hex.toBigInt(Hex.slice(suffix, 85, 117));
40
- const s = Hex.toBigInt(Hex.slice(suffix, 117, 149));
34
+ const signature = Hex.slice(wrapped, 0, -suffixLength - 64);
35
+ const [auth, to, data] = AbiParameters.decode(exports.suffixParameters, suffix);
41
36
  const authorization = Authorization.from({
42
- address: delegation,
43
- chainId,
44
- nonce,
45
- yParity,
46
- r,
47
- s,
37
+ address: auth.delegation,
38
+ chainId: Number(auth.chainId),
39
+ nonce: auth.nonce,
40
+ yParity: auth.yParity,
41
+ r: auth.r,
42
+ s: auth.s,
48
43
  });
49
- const data = (() => {
50
- try {
51
- return Hex.slice(suffix, 149);
52
- }
53
- catch {
54
- return undefined;
55
- }
56
- })();
57
- return { authorization, data, signature };
44
+ return {
45
+ authorization,
46
+ signature,
47
+ ...(data && data !== '0x' ? { data, to } : {}),
48
+ };
58
49
  }
59
50
  function wrap(value) {
60
- assert(value);
61
51
  const { data, signature } = value;
62
- const authorization = AbiParameters.encodePacked(['uint256', 'address', 'uint256', 'uint8', 'uint256', 'uint256'], [
63
- BigInt(value.authorization.chainId),
64
- value.authorization.address,
65
- BigInt(value.authorization.nonce),
66
- value.authorization.yParity,
67
- value.authorization.r,
68
- value.authorization.s,
52
+ assert(value);
53
+ const self = Secp256k1.recoverAddress({
54
+ payload: Authorization.getSignPayload(value.authorization),
55
+ signature: Signature.from(value.authorization),
56
+ });
57
+ const suffix = AbiParameters.encode(exports.suffixParameters, [
58
+ {
59
+ ...value.authorization,
60
+ delegation: value.authorization.address,
61
+ chainId: BigInt(value.authorization.chainId),
62
+ },
63
+ value.to ?? self,
64
+ data ?? '0x',
69
65
  ]);
70
- const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
71
66
  const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
72
- return Hex.concat(Signature.toHex(signature), suffix, suffixLength, exports.magicBytes);
67
+ return Hex.concat(signature, suffix, suffixLength, exports.magicBytes);
73
68
  }
74
69
  function validate(value) {
75
70
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
package/_cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.9.0';
4
+ exports.version = '0.9.2';
5
5
  //# sourceMappingURL=version.js.map
@@ -252,7 +252,7 @@ export function fromTupleList(tupleList) {
252
252
  * @returns The sign payload.
253
253
  */
254
254
  export function getSignPayload(authorization) {
255
- return hash(authorization);
255
+ return hash(authorization, { presign: true });
256
256
  }
257
257
  /**
258
258
  * Computes the hash for an {@link ox#Authorization.Authorization} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
@@ -273,8 +273,15 @@ export function getSignPayload(authorization) {
273
273
  * @param authorization - The {@link ox#Authorization.Authorization}.
274
274
  * @returns The hash.
275
275
  */
276
- export function hash(authorization) {
277
- return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(authorization))));
276
+ export function hash(authorization, options = {}) {
277
+ const { presign } = options;
278
+ return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(presign
279
+ ? {
280
+ address: authorization.address,
281
+ chainId: authorization.chainId,
282
+ nonce: authorization.nonce,
283
+ }
284
+ : authorization))));
278
285
  }
279
286
  /**
280
287
  * Converts an {@link ox#Authorization.Authorization} to an {@link ox#Authorization.Rpc}.
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import * as AbiParameters from '../core/AbiParameters.js';
2
2
  import * as Errors from '../core/Errors.js';
3
3
  import * as Hex from '../core/Hex.js';
4
- import * as Signature from '../core/Signature.js';
5
4
  /**
6
5
  * Magic bytes used to identify ERC-6492 wrapped signatures.
7
6
  */
@@ -126,8 +125,7 @@ export function from(wrapped) {
126
125
  */
127
126
  export function unwrap(wrapped) {
128
127
  assert(wrapped);
129
- const [to, data, signature_hex] = AbiParameters.decode(AbiParameters.from('address, bytes, bytes'), wrapped);
130
- const signature = Signature.from(signature_hex);
128
+ const [to, data, signature] = AbiParameters.decode(AbiParameters.from('address, bytes, bytes'), wrapped);
131
129
  return { data, signature, to };
132
130
  }
133
131
  /**
@@ -158,7 +156,7 @@ export function wrap(value) {
158
156
  return Hex.concat(AbiParameters.encode(AbiParameters.from('address, bytes, bytes'), [
159
157
  to,
160
158
  data,
161
- Signature.toHex(signature),
159
+ signature,
162
160
  ]), magicBytes);
163
161
  }
164
162
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,14 @@ import * as AbiParameters from '../core/AbiParameters.js';
2
2
  import * as Authorization from '../core/Authorization.js';
3
3
  import * as Errors from '../core/Errors.js';
4
4
  import * as Hex from '../core/Hex.js';
5
+ import * as Secp256k1 from '../core/Secp256k1.js';
5
6
  import * as Signature from '../core/Signature.js';
6
7
  /**
7
8
  * Magic bytes used to identify ERC-8010 wrapped signatures.
8
9
  */
9
10
  export const magicBytes = '0x8010801080108010801080108010801080108010801080108010801080108010';
11
+ /** Suffix ABI parameters for the ERC-8010 wrapped signature. */
12
+ export const suffixParameters = AbiParameters.from('(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data');
10
13
  /**
11
14
  * Asserts that the wrapped signature is valid.
12
15
  *
@@ -25,10 +28,8 @@ export function assert(value) {
25
28
  if (Hex.slice(value, -32) !== magicBytes)
26
29
  throw new InvalidWrappedSignatureError(value);
27
30
  }
28
- else {
31
+ else
29
32
  Signature.assert(value.authorization);
30
- Signature.assert(value.signature);
31
- }
32
33
  }
33
34
  /**
34
35
  * Parses an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
@@ -82,30 +83,21 @@ export function unwrap(wrapped) {
82
83
  assert(wrapped);
83
84
  const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
84
85
  const suffix = Hex.slice(wrapped, -suffixLength - 64, -64);
85
- const signature = Signature.from(Hex.slice(wrapped, 0, -suffixLength - 64));
86
- const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32));
87
- const delegation = Hex.slice(suffix, 32, 52);
88
- const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84));
89
- const yParity = Hex.toNumber(Hex.slice(suffix, 84, 85));
90
- const r = Hex.toBigInt(Hex.slice(suffix, 85, 117));
91
- const s = Hex.toBigInt(Hex.slice(suffix, 117, 149));
86
+ const signature = Hex.slice(wrapped, 0, -suffixLength - 64);
87
+ const [auth, to, data] = AbiParameters.decode(suffixParameters, suffix);
92
88
  const authorization = Authorization.from({
93
- address: delegation,
94
- chainId,
95
- nonce,
96
- yParity,
97
- r,
98
- s,
89
+ address: auth.delegation,
90
+ chainId: Number(auth.chainId),
91
+ nonce: auth.nonce,
92
+ yParity: auth.yParity,
93
+ r: auth.r,
94
+ s: auth.s,
99
95
  });
100
- const data = (() => {
101
- try {
102
- return Hex.slice(suffix, 149);
103
- }
104
- catch {
105
- return undefined;
106
- }
107
- })();
108
- return { authorization, data, signature };
96
+ return {
97
+ authorization,
98
+ signature,
99
+ ...(data && data !== '0x' ? { data, to } : {}),
100
+ };
109
101
  }
110
102
  /**
111
103
  * Wraps a signature into [ERC-8010 format](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md).
@@ -132,19 +124,23 @@ export function unwrap(wrapped) {
132
124
  * @returns Wrapped signature.
133
125
  */
134
126
  export function wrap(value) {
135
- assert(value);
136
127
  const { data, signature } = value;
137
- const authorization = AbiParameters.encodePacked(['uint256', 'address', 'uint256', 'uint8', 'uint256', 'uint256'], [
138
- BigInt(value.authorization.chainId),
139
- value.authorization.address,
140
- BigInt(value.authorization.nonce),
141
- value.authorization.yParity,
142
- value.authorization.r,
143
- value.authorization.s,
128
+ assert(value);
129
+ const self = Secp256k1.recoverAddress({
130
+ payload: Authorization.getSignPayload(value.authorization),
131
+ signature: Signature.from(value.authorization),
132
+ });
133
+ const suffix = AbiParameters.encode(suffixParameters, [
134
+ {
135
+ ...value.authorization,
136
+ delegation: value.authorization.address,
137
+ chainId: BigInt(value.authorization.chainId),
138
+ },
139
+ value.to ?? self,
140
+ data ?? '0x',
144
141
  ]);
145
- const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
146
142
  const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
147
- return Hex.concat(Signature.toHex(signature), suffix, suffixLength, magicBytes);
143
+ return Hex.concat(signature, suffix, suffixLength, magicBytes);
148
144
  }
149
145
  /**
150
146
  * Validates a wrapped signature. Returns `true` if the wrapped signature is valid, `false` otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
package/_esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export const version = '0.9.0';
2
+ export const version = '0.9.2';
3
3
  //# sourceMappingURL=version.js.map
@@ -303,9 +303,13 @@ export declare namespace getSignPayload {
303
303
  * @param authorization - The {@link ox#Authorization.Authorization}.
304
304
  * @returns The hash.
305
305
  */
306
- export declare function hash(authorization: Authorization): Hex.Hex;
306
+ export declare function hash(authorization: Authorization, options?: hash.Options): Hex.Hex;
307
307
  export declare namespace hash {
308
308
  type ErrorType = toTuple.ErrorType | Hash.keccak256.ErrorType | Hex.concat.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
309
+ type Options = {
310
+ /** Whether to hash this authorization for signing. @default false */
311
+ presign?: boolean | undefined;
312
+ };
309
313
  }
310
314
  /**
311
315
  * Converts an {@link ox#Authorization.Authorization} to an {@link ox#Authorization.Rpc}.
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAW,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,+CAA+C;AAC/C,MAAM,MAAM,aAAa,CACvB,MAAM,SAAS,OAAO,GAAG,OAAO,EAChC,UAAU,GAAG,MAAM,EACnB,UAAU,GAAG,MAAM,IACjB,OAAO,CACT;IACE,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,6BAA6B;IAC7B,OAAO,EAAE,UAAU,CAAA;IACnB,2CAA2C;IAC3C,KAAK,EAAE,UAAU,CAAA;CAClB,GAAG,CAAC,MAAM,SAAS,IAAI,GACpB,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GACjD,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CACpC,CAAA;AAED,uEAAuE;AACvE,MAAM,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAEvD,sDAAsD;AACtD,MAAM,MAAM,IAAI,CACd,MAAM,SAAS,OAAO,GAAG,OAAO,EAChC,UAAU,GAAG,MAAM,EACnB,UAAU,GAAG,MAAM,IACjB,OAAO,CAAC,SAAS,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;AAErE,8DAA8D;AAC9D,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAElD,iFAAiF;AACjF,MAAM,MAAM,UAAU,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,IAAI,CACrE,IAAI,EACJ,UAAU,EACV,UAAU,CACX,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,aAAa,CAC1E,IAAI,EACJ,UAAU,EACV,UAAU,CACX,CAAA;AAED,yEAAyE;AACzE,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,MAAM,SAAS,IAAI,GACrE,SAAS;IACP,OAAO,EAAE,GAAG,CAAC,GAAG;IAChB,OAAO,EAAE,GAAG,CAAC,GAAG;IAChB,KAAK,EAAE,GAAG,CAAC,GAAG;IACd,OAAO,EAAE,GAAG,CAAC,GAAG;IAChB,CAAC,EAAE,GAAG,CAAC,GAAG;IACV,CAAC,EAAE,GAAG,CAAC,GAAG;CACX,GACD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAEjE,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;AAErC,gFAAgF;AAChF,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IACpD,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,CAAA;AAE1B,uFAAuF;AACvF,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,IAAI,CAClB,KAAK,CAAC,aAAa,SAAS,aAAa,GAAG,GAAG,EAC/C,KAAK,CAAC,SAAS,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,EAEnE,aAAa,EAAE,aAAa,GAAG,aAAa,EAC5C,OAAO,GAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAM,GACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAI3C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,OAAO,CACV,SAAS,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,GAC7C,SAAS,CAAC,SAAS,GACnB,SAAS,IACX;QACF,yEAAyE;QACzE,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;KACxD,CAAA;IAED,KAAK,UAAU,CACb,aAAa,SAAS,aAAa,GAAG,GAAG,GAAG,aAAa,EACzD,SAAS,SAAS,SAAS,CAAC,SAAS,GAAG,SAAS,GAC7C,SAAS,CAAC,SAAS,GACnB,SAAS,IACX,OAAO,CACT,aAAa,SAAS,GAAG,GACrB,MAAM,GACN,aAAa,GACX,CAAC,SAAS,SAAS,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CACzE,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM,CAUlD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,iBAAiB,EAAE,OAAO,GAAG,UAAU,CAElE;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,EACjD,KAAK,EAAE,KAAK,GACX,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAU7B;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,UAAU,CAAC,aAAa,SAAS,KAAK,GAAG,KAAK,IAAI,OAAO,CAC5D,aAAa,CAAC,aAAa,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAChE,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,SAAS,SAAS,SAAS,EAC7D,SAAS,EAAE,SAAS,GACnB,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAIrC;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,KAAK,UAAU,CAAC,SAAS,SAAS,SAAS,IAAI,OAAO,CACpD,SAAS,CAAC,SAAS,SAAS,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAC5D,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,GAAG,CAEpE;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,GAAG,CAE1D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GACV,OAAO,CAAC,SAAS,GACjB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAShD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAEhE;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,aAAa,SAAS,aAAa,EAC/D,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CASnC;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,CAAC,aAAa,SAAS,aAAa,GAAG,aAAa,IACjE,OAAO,CAAC,KAAK,CAAC,aAAa,SAAS,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAA;IAE1E,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,WAAW,CACzB,KAAK,CAAC,IAAI,SACN,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,GAC9B,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,EACnC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAOvD;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,UAAU,CACb,IAAI,SACA,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,GAC9B,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,IACjC,OAAO,CACT,SAAS,CAAC,IAAI,SAAS,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,CACtE,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC"}
1
+ {"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../core/Authorization.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import * as AbiParameters from '../core/AbiParameters.js';
2
2
  import type * as Address from '../core/Address.js';
3
3
  import * as Errors from '../core/Errors.js';
4
4
  import * as Hex from '../core/Hex.js';
5
- import * as Signature from '../core/Signature.js';
5
+ import type * as Signature from '../core/Signature.js';
6
6
  /** Unwrapped ERC-6492 signature. */
7
7
  export type Unwrapped = {
8
8
  /** Calldata to pass to the target address for counterfactual verification. */
9
9
  data: Hex.Hex;
10
10
  /** The original signature. */
11
- signature: Signature.Signature;
11
+ signature: Hex.Hex;
12
12
  /** The target address to use for counterfactual verification. */
13
13
  to: Address.Address;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc6492.d.ts","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IACtB,8EAA8E;IAC9E,IAAI,EAAE,GAAG,CAAC,GAAG,CAAA;IACb,8BAA8B;IAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAA;IAC9B,iEAAiE;IACjE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;CACpB,CAAA;AAED,kCAAkC;AAClC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,UAAU,sEACwD,CAAA;AAE/E;;GAEG;AACH,eAAO,MAAM,mCAAmC,+yGAC8vG,CAAA;AAE9yG;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Cf,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,QAGtC;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,4BAA4B,GAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAG5D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,UAAU,GAAG,SAAS,CAAA;IAE3B,KAAK,SAAS,GACV,aAAa,CAAC,IAAI,CAAC,SAAS,GAC5B,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,GAC3B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAWlD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,aAAa,CAAC,IAAI,CAAC,SAAS,GAC5B,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,GAC3B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAW9C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GACV,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,SAAS,CAAC,KAAK,CAAC,SAAS,GACzB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAOlD;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED,6DAA6D;AAC7D,qBAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAChE,SAAkB,IAAI,mDAAkD;gBAE5D,OAAO,EAAE,OAAO;CAG7B"}
1
+ {"version":3,"file":"SignatureErc6492.d.ts","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEtD,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IACtB,8EAA8E;IAC9E,IAAI,EAAE,GAAG,CAAC,GAAG,CAAA;IACb,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;IAClB,iEAAiE;IACjE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;CACpB,CAAA;AAED,kCAAkC;AAClC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,UAAU,sEACwD,CAAA;AAE/E;;GAEG;AACH,eAAO,MAAM,mCAAmC,+yGAC8vG,CAAA;AAE9yG;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Cf,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,QAGtC;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,4BAA4B,GAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAG5D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,UAAU,GAAG,SAAS,CAAA;IAE3B,KAAK,SAAS,GACV,aAAa,CAAC,IAAI,CAAC,SAAS,GAC5B,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,GAC3B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CASlD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,aAAa,CAAC,IAAI,CAAC,SAAS,GAC5B,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,GAC3B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAW9C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GACV,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,SAAS,CAAC,KAAK,CAAC,SAAS,GACzB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAOlD;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED,6DAA6D;AAC7D,qBAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAChE,SAAkB,IAAI,mDAAkD;gBAE5D,OAAO,EAAE,OAAO;CAG7B"}
@@ -1,7 +1,7 @@
1
+ import type * as Address from '../core/Address.js';
1
2
  import * as Authorization from '../core/Authorization.js';
2
3
  import * as Errors from '../core/Errors.js';
3
4
  import * as Hex from '../core/Hex.js';
4
- import * as Signature from '../core/Signature.js';
5
5
  /** Unwrapped ERC-8010 signature. */
6
6
  export type Unwrapped = {
7
7
  /** Authorization signed by the delegatee. */
@@ -9,7 +9,9 @@ export type Unwrapped = {
9
9
  /** Data to initialize the delegation. */
10
10
  data?: Hex.Hex | undefined;
11
11
  /** The original signature. */
12
- signature: Signature.Signature;
12
+ signature: Hex.Hex;
13
+ /** Address of the initializer. */
14
+ to?: Address.Address | undefined;
13
15
  };
14
16
  /** Wrapped ERC-8010 signature. */
15
17
  export type Wrapped = Hex.Hex;
@@ -17,6 +19,35 @@ export type Wrapped = Hex.Hex;
17
19
  * Magic bytes used to identify ERC-8010 wrapped signatures.
18
20
  */
19
21
  export declare const magicBytes: "0x8010801080108010801080108010801080108010801080108010801080108010";
22
+ /** Suffix ABI parameters for the ERC-8010 wrapped signature. */
23
+ export declare const suffixParameters: readonly [{
24
+ readonly type: "tuple";
25
+ readonly components: readonly [{
26
+ readonly type: "uint256";
27
+ readonly name: "chainId";
28
+ }, {
29
+ readonly type: "address";
30
+ readonly name: "delegation";
31
+ }, {
32
+ readonly type: "uint256";
33
+ readonly name: "nonce";
34
+ }, {
35
+ readonly type: "uint8";
36
+ readonly name: "yParity";
37
+ }, {
38
+ readonly type: "uint256";
39
+ readonly name: "r";
40
+ }, {
41
+ readonly type: "uint256";
42
+ readonly name: "s";
43
+ }];
44
+ }, {
45
+ readonly type: "address";
46
+ readonly name: "to";
47
+ }, {
48
+ readonly type: "bytes";
49
+ readonly name: "data";
50
+ }];
20
51
  /**
21
52
  * Asserts that the wrapped signature is valid.
22
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureErc8010.d.ts","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IACtB,6CAA6C;IAC7C,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAChD,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAA;CAC/B,CAAA;AAED,kCAAkC;AAClC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,UAAU,sEACwD,CAAA;AAE/E;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,QAQhD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,4BAA4B,GAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAG1D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CA+BlD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CA0B9C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAO5D;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED,6DAA6D;AAC7D,qBAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAChE,SAAkB,IAAI,mDAAkD;gBAE5D,OAAO,EAAE,OAAO;CAG7B"}
1
+ {"version":3,"file":"SignatureErc8010.d.ts","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAIrC,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IACtB,6CAA6C;IAC7C,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAChD,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;IAClB,kCAAkC;IAClC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,kCAAkC;AAClC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,UAAU,sEACwD,CAAA;AAE/E,gEAAgE;AAChE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,QAKhD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,4BAA4B,GAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAG1D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAuBlD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAqB9C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAO5D;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED,6DAA6D;AAC7D,qBAAa,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAChE,SAAkB,IAAI,mDAAkD;gBAE5D,OAAO,EAAE,OAAO;CAG7B"}
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.9.0";
2
+ export declare const version = "0.9.2";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -387,7 +387,7 @@ export declare namespace fromTupleList {
387
387
  * @returns The sign payload.
388
388
  */
389
389
  export function getSignPayload(authorization: Authorization): Hex.Hex {
390
- return hash(authorization)
390
+ return hash(authorization, { presign: true })
391
391
  }
392
392
 
393
393
  export declare namespace getSignPayload {
@@ -413,8 +413,27 @@ export declare namespace getSignPayload {
413
413
  * @param authorization - The {@link ox#Authorization.Authorization}.
414
414
  * @returns The hash.
415
415
  */
416
- export function hash(authorization: Authorization): Hex.Hex {
417
- return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(authorization))))
416
+ export function hash(
417
+ authorization: Authorization,
418
+ options: hash.Options = {},
419
+ ): Hex.Hex {
420
+ const { presign } = options
421
+ return Hash.keccak256(
422
+ Hex.concat(
423
+ '0x05',
424
+ Rlp.fromHex(
425
+ toTuple(
426
+ presign
427
+ ? {
428
+ address: authorization.address,
429
+ chainId: authorization.chainId,
430
+ nonce: authorization.nonce,
431
+ }
432
+ : authorization,
433
+ ),
434
+ ),
435
+ ),
436
+ )
418
437
  }
419
438
 
420
439
  export declare namespace hash {
@@ -424,6 +443,11 @@ export declare namespace hash {
424
443
  | Hex.concat.ErrorType
425
444
  | Rlp.fromHex.ErrorType
426
445
  | Errors.GlobalErrorType
446
+
447
+ type Options = {
448
+ /** Whether to hash this authorization for signing. @default false */
449
+ presign?: boolean | undefined
450
+ }
427
451
  }
428
452
 
429
453
  /**
@@ -3,14 +3,14 @@ import * as AbiParameters from '../core/AbiParameters.js'
3
3
  import type * as Address from '../core/Address.js'
4
4
  import * as Errors from '../core/Errors.js'
5
5
  import * as Hex from '../core/Hex.js'
6
- import * as Signature from '../core/Signature.js'
6
+ import type * as Signature from '../core/Signature.js'
7
7
 
8
8
  /** Unwrapped ERC-6492 signature. */
9
9
  export type Unwrapped = {
10
10
  /** Calldata to pass to the target address for counterfactual verification. */
11
11
  data: Hex.Hex
12
12
  /** The original signature. */
13
- signature: Signature.Signature
13
+ signature: Hex.Hex
14
14
  /** The target address to use for counterfactual verification. */
15
15
  to: Address.Address
16
16
  }
@@ -166,13 +166,11 @@ export declare namespace from {
166
166
  export function unwrap(wrapped: Wrapped): Unwrapped {
167
167
  assert(wrapped)
168
168
 
169
- const [to, data, signature_hex] = AbiParameters.decode(
169
+ const [to, data, signature] = AbiParameters.decode(
170
170
  AbiParameters.from('address, bytes, bytes'),
171
171
  wrapped,
172
172
  )
173
173
 
174
- const signature = Signature.from(signature_hex)
175
-
176
174
  return { data, signature, to }
177
175
  }
178
176
 
@@ -214,7 +212,7 @@ export function wrap(value: Unwrapped): Wrapped {
214
212
  AbiParameters.encode(AbiParameters.from('address, bytes, bytes'), [
215
213
  to,
216
214
  data,
217
- Signature.toHex(signature),
215
+ signature,
218
216
  ]),
219
217
  magicBytes,
220
218
  )
@@ -1,7 +1,9 @@
1
1
  import * as AbiParameters from '../core/AbiParameters.js'
2
+ import type * as Address from '../core/Address.js'
2
3
  import * as Authorization from '../core/Authorization.js'
3
4
  import * as Errors from '../core/Errors.js'
4
5
  import * as Hex from '../core/Hex.js'
6
+ import * as Secp256k1 from '../core/Secp256k1.js'
5
7
  import * as Signature from '../core/Signature.js'
6
8
 
7
9
  /** Unwrapped ERC-8010 signature. */
@@ -11,7 +13,9 @@ export type Unwrapped = {
11
13
  /** Data to initialize the delegation. */
12
14
  data?: Hex.Hex | undefined
13
15
  /** The original signature. */
14
- signature: Signature.Signature
16
+ signature: Hex.Hex
17
+ /** Address of the initializer. */
18
+ to?: Address.Address | undefined
15
19
  }
16
20
 
17
21
  /** Wrapped ERC-8010 signature. */
@@ -23,6 +27,11 @@ export type Wrapped = Hex.Hex
23
27
  export const magicBytes =
24
28
  '0x8010801080108010801080108010801080108010801080108010801080108010' as const
25
29
 
30
+ /** Suffix ABI parameters for the ERC-8010 wrapped signature. */
31
+ export const suffixParameters = AbiParameters.from(
32
+ '(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data',
33
+ )
34
+
26
35
  /**
27
36
  * Asserts that the wrapped signature is valid.
28
37
  *
@@ -40,10 +49,7 @@ export function assert(value: Unwrapped | Wrapped) {
40
49
  if (typeof value === 'string') {
41
50
  if (Hex.slice(value, -32) !== magicBytes)
42
51
  throw new InvalidWrappedSignatureError(value)
43
- } else {
44
- Signature.assert(value.authorization)
45
- Signature.assert(value.signature)
46
- }
52
+ } else Signature.assert(value.authorization)
47
53
  }
48
54
 
49
55
  export declare namespace assert {
@@ -110,32 +116,24 @@ export function unwrap(wrapped: Wrapped): Unwrapped {
110
116
 
111
117
  const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32))
112
118
  const suffix = Hex.slice(wrapped, -suffixLength - 64, -64)
113
- const signature = Signature.from(Hex.slice(wrapped, 0, -suffixLength - 64))
119
+ const signature = Hex.slice(wrapped, 0, -suffixLength - 64)
114
120
 
115
- const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32))
116
- const delegation = Hex.slice(suffix, 32, 52)
117
- const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84))
118
- const yParity = Hex.toNumber(Hex.slice(suffix, 84, 85))
119
- const r = Hex.toBigInt(Hex.slice(suffix, 85, 117))
120
- const s = Hex.toBigInt(Hex.slice(suffix, 117, 149))
121
+ const [auth, to, data] = AbiParameters.decode(suffixParameters, suffix)
121
122
 
122
123
  const authorization = Authorization.from({
123
- address: delegation,
124
- chainId,
125
- nonce,
126
- yParity,
127
- r,
128
- s,
124
+ address: auth.delegation,
125
+ chainId: Number(auth.chainId),
126
+ nonce: auth.nonce,
127
+ yParity: auth.yParity,
128
+ r: auth.r,
129
+ s: auth.s,
129
130
  })
130
- const data = (() => {
131
- try {
132
- return Hex.slice(suffix, 149)
133
- } catch {
134
- return undefined
135
- }
136
- })()
137
-
138
- return { authorization, data, signature }
131
+
132
+ return {
133
+ authorization,
134
+ signature,
135
+ ...(data && data !== '0x' ? { data, to } : {}),
136
+ }
139
137
  }
140
138
 
141
139
  export declare namespace unwrap {
@@ -167,31 +165,26 @@ export declare namespace unwrap {
167
165
  * @returns Wrapped signature.
168
166
  */
169
167
  export function wrap(value: Unwrapped): Wrapped {
168
+ const { data, signature } = value
169
+
170
170
  assert(value)
171
171
 
172
- const { data, signature } = value
173
- const authorization = AbiParameters.encodePacked(
174
- ['uint256', 'address', 'uint256', 'uint8', 'uint256', 'uint256'],
175
- [
176
- BigInt(value.authorization.chainId),
177
- value.authorization.address,
178
- BigInt(value.authorization.nonce),
179
- value.authorization.yParity,
180
- value.authorization.r,
181
- value.authorization.s,
182
- ],
183
- )
184
- const suffix = AbiParameters.encodePacked(
185
- ['bytes', 'bytes'],
186
- [authorization, data ?? '0x'],
187
- )
172
+ const self = Secp256k1.recoverAddress({
173
+ payload: Authorization.getSignPayload(value.authorization),
174
+ signature: Signature.from(value.authorization),
175
+ })
176
+
177
+ const suffix = AbiParameters.encode(suffixParameters, [
178
+ {
179
+ ...value.authorization,
180
+ delegation: value.authorization.address,
181
+ chainId: BigInt(value.authorization.chainId),
182
+ },
183
+ value.to ?? self,
184
+ data ?? '0x',
185
+ ])
188
186
  const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 })
189
- return Hex.concat(
190
- Signature.toHex(signature),
191
- suffix,
192
- suffixLength,
193
- magicBytes,
194
- )
187
+ return Hex.concat(signature, suffix, suffixLength, magicBytes)
195
188
  }
196
189
 
197
190
  export declare namespace wrap {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ox",
3
3
  "description": "Ethereum Standard Library",
4
- "version": "0.9.0",
4
+ "version": "0.9.2",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** @internal */
2
- export const version = '0.9.0'
2
+ export const version = '0.9.2'