ox 0.9.0 → 0.9.1
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 +6 -0
- package/_cjs/erc6492/SignatureErc6492.js +2 -4
- package/_cjs/erc6492/SignatureErc6492.js.map +1 -1
- package/_cjs/erc8010/SignatureErc8010.js +3 -5
- package/_cjs/erc8010/SignatureErc8010.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/erc6492/SignatureErc6492.js +2 -4
- package/_esm/erc6492/SignatureErc6492.js.map +1 -1
- package/_esm/erc8010/SignatureErc8010.js +3 -5
- package/_esm/erc8010/SignatureErc8010.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/erc6492/SignatureErc6492.d.ts +2 -2
- package/_types/erc6492/SignatureErc6492.d.ts.map +1 -1
- package/_types/erc8010/SignatureErc8010.d.ts +1 -2
- package/_types/erc8010/SignatureErc8010.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/erc6492/SignatureErc6492.ts +4 -6
- package/erc8010/SignatureErc8010.ts +4 -12
- package/package.json +1 -1
- package/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# ox
|
|
2
2
|
|
|
3
|
+
## 0.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`dec161a`](https://github.com/wevm/ox/commit/dec161ac7b3089bd6a0647d91e02f174ac421d65) Thanks [@jxom](https://github.com/jxom)! - Fixed `signature` type on ERC-6492 and ERC-8010.
|
|
8
|
+
|
|
3
9
|
## 0.9.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -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,
|
|
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
|
-
|
|
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,
|
|
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"}
|
|
@@ -17,10 +17,8 @@ function assert(value) {
|
|
|
17
17
|
if (Hex.slice(value, -32) !== exports.magicBytes)
|
|
18
18
|
throw new InvalidWrappedSignatureError(value);
|
|
19
19
|
}
|
|
20
|
-
else
|
|
20
|
+
else
|
|
21
21
|
Signature.assert(value.authorization);
|
|
22
|
-
Signature.assert(value.signature);
|
|
23
|
-
}
|
|
24
22
|
}
|
|
25
23
|
function from(value) {
|
|
26
24
|
if (typeof value === 'string')
|
|
@@ -31,7 +29,7 @@ function unwrap(wrapped) {
|
|
|
31
29
|
assert(wrapped);
|
|
32
30
|
const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
|
|
33
31
|
const suffix = Hex.slice(wrapped, -suffixLength - 64, -64);
|
|
34
|
-
const signature =
|
|
32
|
+
const signature = Hex.slice(wrapped, 0, -suffixLength - 64);
|
|
35
33
|
const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32));
|
|
36
34
|
const delegation = Hex.slice(suffix, 32, 52);
|
|
37
35
|
const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84));
|
|
@@ -69,7 +67,7 @@ function wrap(value) {
|
|
|
69
67
|
]);
|
|
70
68
|
const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
|
|
71
69
|
const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
|
|
72
|
-
return Hex.concat(
|
|
70
|
+
return Hex.concat(signature, suffix, suffixLength, exports.magicBytes);
|
|
73
71
|
}
|
|
74
72
|
function validate(value) {
|
|
75
73
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":";;;AAsCA,
|
|
1
|
+
{"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
|
package/_cjs/version.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
159
|
+
signature,
|
|
162
160
|
]), magicBytes);
|
|
163
161
|
}
|
|
164
162
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,8 @@ export function assert(value) {
|
|
|
25
25
|
if (Hex.slice(value, -32) !== magicBytes)
|
|
26
26
|
throw new InvalidWrappedSignatureError(value);
|
|
27
27
|
}
|
|
28
|
-
else
|
|
28
|
+
else
|
|
29
29
|
Signature.assert(value.authorization);
|
|
30
|
-
Signature.assert(value.signature);
|
|
31
|
-
}
|
|
32
30
|
}
|
|
33
31
|
/**
|
|
34
32
|
* Parses an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
|
|
@@ -82,7 +80,7 @@ export function unwrap(wrapped) {
|
|
|
82
80
|
assert(wrapped);
|
|
83
81
|
const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
|
|
84
82
|
const suffix = Hex.slice(wrapped, -suffixLength - 64, -64);
|
|
85
|
-
const signature =
|
|
83
|
+
const signature = Hex.slice(wrapped, 0, -suffixLength - 64);
|
|
86
84
|
const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32));
|
|
87
85
|
const delegation = Hex.slice(suffix, 32, 52);
|
|
88
86
|
const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84));
|
|
@@ -144,7 +142,7 @@ export function wrap(value) {
|
|
|
144
142
|
]);
|
|
145
143
|
const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
|
|
146
144
|
const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
|
|
147
|
-
return Hex.concat(
|
|
145
|
+
return Hex.concat(signature, suffix, suffixLength, magicBytes);
|
|
148
146
|
}
|
|
149
147
|
/**
|
|
150
148
|
* 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":"AAAA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,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;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GACrB,oEAA6E,CAAA;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,MAAM,CAAC,KAA0B;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,UAAU;YACtC,MAAM,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC
|
|
1
|
+
{"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
|
package/_esm/version.js
CHANGED
|
@@ -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:
|
|
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;
|
|
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,6 @@
|
|
|
1
1
|
import * as Authorization from '../core/Authorization.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
|
/** Unwrapped ERC-8010 signature. */
|
|
6
5
|
export type Unwrapped = {
|
|
7
6
|
/** Authorization signed by the delegatee. */
|
|
@@ -9,7 +8,7 @@ export type Unwrapped = {
|
|
|
9
8
|
/** Data to initialize the delegation. */
|
|
10
9
|
data?: Hex.Hex | undefined;
|
|
11
10
|
/** The original signature. */
|
|
12
|
-
signature:
|
|
11
|
+
signature: Hex.Hex;
|
|
13
12
|
};
|
|
14
13
|
/** Wrapped ERC-8010 signature. */
|
|
15
14
|
export type Wrapped = Hex.Hex;
|
|
@@ -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;
|
|
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;AAGrC,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;CACnB,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,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,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,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"}
|
package/_types/version.d.ts
CHANGED
|
@@ -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:
|
|
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,
|
|
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
|
-
|
|
215
|
+
signature,
|
|
218
216
|
]),
|
|
219
217
|
magicBytes,
|
|
220
218
|
)
|
|
@@ -11,7 +11,7 @@ export type Unwrapped = {
|
|
|
11
11
|
/** Data to initialize the delegation. */
|
|
12
12
|
data?: Hex.Hex | undefined
|
|
13
13
|
/** The original signature. */
|
|
14
|
-
signature:
|
|
14
|
+
signature: Hex.Hex
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/** Wrapped ERC-8010 signature. */
|
|
@@ -40,10 +40,7 @@ export function assert(value: Unwrapped | Wrapped) {
|
|
|
40
40
|
if (typeof value === 'string') {
|
|
41
41
|
if (Hex.slice(value, -32) !== magicBytes)
|
|
42
42
|
throw new InvalidWrappedSignatureError(value)
|
|
43
|
-
} else
|
|
44
|
-
Signature.assert(value.authorization)
|
|
45
|
-
Signature.assert(value.signature)
|
|
46
|
-
}
|
|
43
|
+
} else Signature.assert(value.authorization)
|
|
47
44
|
}
|
|
48
45
|
|
|
49
46
|
export declare namespace assert {
|
|
@@ -110,7 +107,7 @@ export function unwrap(wrapped: Wrapped): Unwrapped {
|
|
|
110
107
|
|
|
111
108
|
const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32))
|
|
112
109
|
const suffix = Hex.slice(wrapped, -suffixLength - 64, -64)
|
|
113
|
-
const signature =
|
|
110
|
+
const signature = Hex.slice(wrapped, 0, -suffixLength - 64)
|
|
114
111
|
|
|
115
112
|
const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32))
|
|
116
113
|
const delegation = Hex.slice(suffix, 32, 52)
|
|
@@ -186,12 +183,7 @@ export function wrap(value: Unwrapped): Wrapped {
|
|
|
186
183
|
[authorization, data ?? '0x'],
|
|
187
184
|
)
|
|
188
185
|
const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 })
|
|
189
|
-
return Hex.concat(
|
|
190
|
-
Signature.toHex(signature),
|
|
191
|
-
suffix,
|
|
192
|
-
suffixLength,
|
|
193
|
-
magicBytes,
|
|
194
|
-
)
|
|
186
|
+
return Hex.concat(signature, suffix, suffixLength, magicBytes)
|
|
195
187
|
}
|
|
196
188
|
|
|
197
189
|
export declare namespace wrap {
|
package/package.json
CHANGED
package/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** @internal */
|
|
2
|
-
export const version = '0.9.
|
|
2
|
+
export const version = '0.9.1'
|