ox 0.8.8 → 0.9.0
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 +19 -0
- package/_cjs/core/AbiEvent.js +1 -1
- package/_cjs/core/AbiEvent.js.map +1 -1
- package/_cjs/core/AbiItem.js +1 -1
- package/_cjs/core/AbiItem.js.map +1 -1
- package/_cjs/core/AbiParameters.js +4 -4
- package/_cjs/core/AbiParameters.js.map +1 -1
- package/_cjs/core/Authorization.js +5 -4
- package/_cjs/core/Authorization.js.map +1 -1
- package/_cjs/core/Blobs.js +1 -1
- package/_cjs/core/Blobs.js.map +1 -1
- package/_cjs/core/Block.js.map +1 -1
- package/_cjs/core/Bytes.js +1 -1
- package/_cjs/core/Bytes.js.map +1 -1
- package/_cjs/core/ContractAddress.js.map +1 -1
- package/_cjs/core/HdKey.js.map +1 -1
- package/_cjs/core/Hex.js +1 -1
- package/_cjs/core/Hex.js.map +1 -1
- package/_cjs/core/Keystore.js.map +1 -1
- package/_cjs/core/Mnemonic.js +2 -2
- package/_cjs/core/Mnemonic.js.map +1 -1
- package/_cjs/core/P256.js +1 -1
- package/_cjs/core/P256.js.map +1 -1
- package/_cjs/core/Provider.js.map +1 -1
- package/_cjs/core/PublicKey.js +1 -1
- package/_cjs/core/PublicKey.js.map +1 -1
- package/_cjs/core/RpcTransport.js +1 -1
- package/_cjs/core/RpcTransport.js.map +1 -1
- package/_cjs/core/Secp256k1.js +1 -1
- package/_cjs/core/Secp256k1.js.map +1 -1
- package/_cjs/core/Signature.js.map +1 -1
- package/_cjs/core/Siwe.js +4 -4
- package/_cjs/core/Siwe.js.map +1 -1
- package/_cjs/core/Transaction.js.map +1 -1
- package/_cjs/core/TransactionEnvelope.js.map +1 -1
- package/_cjs/core/TransactionEnvelopeEip1559.js.map +1 -1
- package/_cjs/core/TransactionEnvelopeEip2930.js.map +1 -1
- package/_cjs/core/TransactionEnvelopeEip4844.js.map +1 -1
- package/_cjs/core/TransactionEnvelopeEip7702.js.map +1 -1
- package/_cjs/core/TransactionEnvelopeLegacy.js.map +1 -1
- package/_cjs/core/TransactionReceipt.js.map +1 -1
- package/_cjs/core/TypedData.js +3 -3
- package/_cjs/core/TypedData.js.map +1 -1
- package/_cjs/core/WebAuthnP256.js +1 -1
- package/_cjs/core/WebAuthnP256.js.map +1 -1
- package/_cjs/core/WebCryptoP256.js.map +1 -1
- package/_cjs/core/internal/abiParameters.js +4 -4
- package/_cjs/core/internal/abiParameters.js.map +1 -1
- package/_cjs/core/internal/promise.js.map +1 -1
- package/_cjs/erc4337/UserOperation.js.map +1 -1
- package/_cjs/erc6492/{WrappedSignature.js → SignatureErc6492.js} +8 -8
- package/_cjs/erc6492/SignatureErc6492.js.map +1 -0
- package/_cjs/erc6492/index.js +2 -2
- package/_cjs/erc8010/SignatureErc8010.js +95 -0
- package/_cjs/erc8010/SignatureErc8010.js.map +1 -0
- package/_cjs/erc8010/index.js +5 -0
- package/_cjs/erc8010/index.js.map +1 -0
- package/_cjs/index.docs.js +1 -0
- package/_cjs/index.docs.js.map +1 -1
- package/_cjs/index.js +6 -6
- package/_cjs/index.js.map +1 -1
- package/_cjs/trusted-setups/internal/paths.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/core/AbiEvent.js +1 -1
- package/_esm/core/AbiEvent.js.map +1 -1
- package/_esm/core/AbiItem.js +1 -1
- package/_esm/core/AbiItem.js.map +1 -1
- package/_esm/core/AbiParameters.js +4 -4
- package/_esm/core/AbiParameters.js.map +1 -1
- package/_esm/core/Authorization.js +5 -4
- package/_esm/core/Authorization.js.map +1 -1
- package/_esm/core/Blobs.js +1 -1
- package/_esm/core/Blobs.js.map +1 -1
- package/_esm/core/Block.js.map +1 -1
- package/_esm/core/Bytes.js +1 -1
- package/_esm/core/Bytes.js.map +1 -1
- package/_esm/core/ContractAddress.js.map +1 -1
- package/_esm/core/HdKey.js.map +1 -1
- package/_esm/core/Hex.js +1 -1
- package/_esm/core/Hex.js.map +1 -1
- package/_esm/core/Keystore.js +3 -2
- package/_esm/core/Keystore.js.map +1 -1
- package/_esm/core/Mnemonic.js +1 -1
- package/_esm/core/Mnemonic.js.map +1 -1
- package/_esm/core/P256.js +1 -1
- package/_esm/core/P256.js.map +1 -1
- package/_esm/core/Provider.js.map +1 -1
- package/_esm/core/PublicKey.js +1 -1
- package/_esm/core/PublicKey.js.map +1 -1
- package/_esm/core/RpcTransport.js +1 -1
- package/_esm/core/RpcTransport.js.map +1 -1
- package/_esm/core/Secp256k1.js +1 -1
- package/_esm/core/Secp256k1.js.map +1 -1
- package/_esm/core/Signature.js.map +1 -1
- package/_esm/core/Siwe.js +4 -4
- package/_esm/core/Siwe.js.map +1 -1
- package/_esm/core/Transaction.js.map +1 -1
- package/_esm/core/TransactionEnvelope.js.map +1 -1
- package/_esm/core/TransactionEnvelopeEip1559.js.map +1 -1
- package/_esm/core/TransactionEnvelopeEip2930.js.map +1 -1
- package/_esm/core/TransactionEnvelopeEip4844.js.map +1 -1
- package/_esm/core/TransactionEnvelopeEip7702.js.map +1 -1
- package/_esm/core/TransactionEnvelopeLegacy.js.map +1 -1
- package/_esm/core/TransactionReceipt.js.map +1 -1
- package/_esm/core/TypedData.js +3 -3
- package/_esm/core/TypedData.js.map +1 -1
- package/_esm/core/WebAuthnP256.js +1 -1
- package/_esm/core/WebAuthnP256.js.map +1 -1
- package/_esm/core/WebCryptoP256.js.map +1 -1
- package/_esm/core/internal/abiParameters.js +4 -4
- package/_esm/core/internal/abiParameters.js.map +1 -1
- package/_esm/core/internal/promise.js.map +1 -1
- package/_esm/erc4337/UserOperation.js.map +1 -1
- package/_esm/erc6492/{WrappedSignature.js → SignatureErc6492.js} +17 -17
- package/_esm/erc6492/{WrappedSignature.js.map → SignatureErc6492.js.map} +1 -1
- package/_esm/erc6492/index.js +3 -3
- package/_esm/erc8010/SignatureErc8010.js +184 -0
- package/_esm/erc8010/SignatureErc8010.js.map +1 -0
- package/_esm/erc8010/index.js +40 -0
- package/_esm/erc8010/index.js.map +1 -0
- package/_esm/index.docs.js +2 -0
- package/_esm/index.docs.js.map +1 -1
- package/_esm/index.js +236 -236
- package/_esm/index.js.map +1 -1
- package/_esm/trusted-setups/internal/paths.js +1 -0
- package/_esm/trusted-setups/internal/paths.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/core/AbiEvent.d.ts +1 -2
- package/_types/core/AbiEvent.d.ts.map +1 -1
- package/_types/core/AbiParameters.d.ts.map +1 -1
- package/_types/core/Authorization.d.ts +1 -1
- package/_types/core/Authorization.d.ts.map +1 -1
- package/_types/core/Blobs.d.ts +1 -1
- package/_types/core/Blobs.d.ts.map +1 -1
- package/_types/core/Block.d.ts +1 -1
- package/_types/core/Block.d.ts.map +1 -1
- package/_types/core/Bytes.d.ts.map +1 -1
- package/_types/core/ContractAddress.d.ts +1 -1
- package/_types/core/ContractAddress.d.ts.map +1 -1
- package/_types/core/HdKey.d.ts +1 -1
- package/_types/core/HdKey.d.ts.map +1 -1
- package/_types/core/Hex.d.ts.map +1 -1
- package/_types/core/Keystore.d.ts.map +1 -1
- package/_types/core/Mnemonic.d.ts +1 -1
- package/_types/core/Mnemonic.d.ts.map +1 -1
- package/_types/core/P256.d.ts.map +1 -1
- package/_types/core/Provider.d.ts +2 -2
- package/_types/core/Provider.d.ts.map +1 -1
- package/_types/core/PublicKey.d.ts.map +1 -1
- package/_types/core/RpcRequest.d.ts +1 -1
- package/_types/core/RpcRequest.d.ts.map +1 -1
- package/_types/core/RpcTransport.d.ts +2 -2
- package/_types/core/RpcTransport.d.ts.map +1 -1
- package/_types/core/Secp256k1.d.ts +1 -1
- package/_types/core/Secp256k1.d.ts.map +1 -1
- package/_types/core/Signature.d.ts.map +1 -1
- package/_types/core/Siwe.d.ts.map +1 -1
- package/_types/core/Transaction.d.ts +1 -2
- package/_types/core/Transaction.d.ts.map +1 -1
- package/_types/core/TransactionEnvelope.d.ts.map +1 -1
- package/_types/core/TransactionEnvelopeEip1559.d.ts +1 -1
- package/_types/core/TransactionEnvelopeEip1559.d.ts.map +1 -1
- package/_types/core/TransactionEnvelopeEip2930.d.ts +1 -1
- package/_types/core/TransactionEnvelopeEip2930.d.ts.map +1 -1
- package/_types/core/TransactionEnvelopeEip4844.d.ts +1 -1
- package/_types/core/TransactionEnvelopeEip4844.d.ts.map +1 -1
- package/_types/core/TransactionEnvelopeEip7702.d.ts +1 -3
- package/_types/core/TransactionEnvelopeEip7702.d.ts.map +1 -1
- package/_types/core/TransactionEnvelopeLegacy.d.ts +1 -1
- package/_types/core/TransactionEnvelopeLegacy.d.ts.map +1 -1
- package/_types/core/TransactionReceipt.d.ts +1 -1
- package/_types/core/TransactionReceipt.d.ts.map +1 -1
- package/_types/core/TypedData.d.ts +1 -1
- package/_types/core/TypedData.d.ts.map +1 -1
- package/_types/core/WebAuthnP256.d.ts +2 -2
- package/_types/core/WebAuthnP256.d.ts.map +1 -1
- package/_types/core/WebCryptoP256.d.ts +1 -1
- package/_types/core/WebCryptoP256.d.ts.map +1 -1
- package/_types/core/internal/abiParameters.d.ts +1 -1
- package/_types/core/internal/abiParameters.d.ts.map +1 -1
- package/_types/core/internal/promise.d.ts.map +1 -1
- package/_types/core/internal/register.d.ts +1 -2
- package/_types/core/internal/register.d.ts.map +1 -1
- package/_types/erc4337/UserOperation.d.ts +1 -1
- package/_types/erc4337/UserOperation.d.ts.map +1 -1
- package/_types/erc6492/{WrappedSignature.d.ts → SignatureErc6492.d.ts} +26 -24
- package/_types/erc6492/SignatureErc6492.d.ts.map +1 -0
- package/_types/erc6492/index.d.ts +3 -3
- package/_types/erc8010/SignatureErc8010.d.ts +139 -0
- package/_types/erc8010/SignatureErc8010.d.ts.map +1 -0
- package/_types/erc8010/index.d.ts +42 -0
- package/_types/erc8010/index.d.ts.map +1 -0
- package/_types/index.d.ts +237 -237
- package/_types/index.d.ts.map +1 -1
- package/_types/index.docs.d.ts +1 -0
- package/_types/index.docs.d.ts.map +1 -1
- package/_types/trusted-setups/internal/paths.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/AbiEvent.ts +3 -4
- package/core/AbiItem.ts +1 -1
- package/core/AbiParameters.ts +4 -4
- package/core/Authorization.ts +6 -6
- package/core/Blobs.ts +1 -1
- package/core/Block.ts +1 -1
- package/core/Bytes.ts +1 -1
- package/core/ContractAddress.ts +1 -1
- package/core/HdKey.ts +1 -1
- package/core/Hex.ts +1 -1
- package/core/Keystore.ts +3 -2
- package/core/Mnemonic.ts +1 -1
- package/core/P256.ts +1 -1
- package/core/Provider.ts +2 -2
- package/core/PublicKey.ts +2 -2
- package/core/RpcRequest.ts +1 -1
- package/core/RpcTransport.ts +3 -3
- package/core/Secp256k1.ts +2 -2
- package/core/Signature.ts +1 -1
- package/core/Siwe.ts +4 -5
- package/core/Transaction.ts +1 -2
- package/core/TransactionEnvelope.ts +1 -1
- package/core/TransactionEnvelopeEip1559.ts +3 -3
- package/core/TransactionEnvelopeEip2930.ts +3 -3
- package/core/TransactionEnvelopeEip4844.ts +5 -5
- package/core/TransactionEnvelopeEip7702.ts +6 -5
- package/core/TransactionEnvelopeLegacy.ts +3 -3
- package/core/TransactionReceipt.ts +1 -1
- package/core/TypedData.ts +4 -4
- package/core/WebAuthnP256.ts +2 -2
- package/core/WebCryptoP256.ts +1 -1
- package/core/internal/abiParameters.ts +5 -5
- package/core/internal/promise.ts +3 -1
- package/core/internal/register.ts +1 -2
- package/erc4337/UserOperation.ts +1 -1
- package/erc6492/SignatureErc6492/package.json +6 -0
- package/erc6492/{WrappedSignature.ts → SignatureErc6492.ts} +28 -25
- package/erc6492/index.ts +3 -3
- package/erc8010/SignatureErc8010/package.json +6 -0
- package/erc8010/SignatureErc8010.ts +235 -0
- package/erc8010/index.ts +43 -0
- package/erc8010/package.json +6 -0
- package/index.docs.ts +2 -0
- package/index.ts +237 -261
- package/package.json +15 -5
- package/trusted-setups/internal/paths.ts +1 -0
- package/version.ts +1 -1
- package/_cjs/erc6492/WrappedSignature.js.map +0 -1
- package/_types/erc6492/WrappedSignature.d.ts.map +0 -1
- package/erc6492/WrappedSignature/package.json +0 -6
|
@@ -64,9 +64,9 @@ export const universalSignatureValidatorAbi = [
|
|
|
64
64
|
*
|
|
65
65
|
* @example
|
|
66
66
|
* ```ts twoslash
|
|
67
|
-
* import {
|
|
67
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
68
68
|
*
|
|
69
|
-
*
|
|
69
|
+
* SignatureErc6492.assert('0xdeadbeef')
|
|
70
70
|
* // @error: InvalidWrappedSignatureError: Value `0xdeadbeef` is an invalid ERC-6492 wrapped signature.
|
|
71
71
|
* ```
|
|
72
72
|
*
|
|
@@ -83,7 +83,7 @@ export function assert(wrapped) {
|
|
|
83
83
|
* ```ts twoslash
|
|
84
84
|
* // @noErrors
|
|
85
85
|
* import { Secp256k1 } from 'ox'
|
|
86
|
-
* import {
|
|
86
|
+
* import { SignatureErc6492 } from 'ox/erc6492' // [!code focus]
|
|
87
87
|
*
|
|
88
88
|
* const signature = Secp256k1.sign({
|
|
89
89
|
* payload: '0x...',
|
|
@@ -91,11 +91,11 @@ export function assert(wrapped) {
|
|
|
91
91
|
* })
|
|
92
92
|
*
|
|
93
93
|
* // Instantiate from serialized format. // [!code focus]
|
|
94
|
-
* const wrapped =
|
|
94
|
+
* const wrapped = SignatureErc6492.from('0x...') // [!code focus]
|
|
95
95
|
* // @log: { data: '0x...', signature: { ... }, to: '0x...', } // [!code focus]
|
|
96
96
|
*
|
|
97
97
|
* // Instantiate from constituent parts. // [!code focus]
|
|
98
|
-
* const wrapped =
|
|
98
|
+
* const wrapped = SignatureErc6492.from({ // [!code focus]
|
|
99
99
|
* data: '0x...', // [!code focus]
|
|
100
100
|
* signature, // [!code focus]
|
|
101
101
|
* to: '0x...', // [!code focus]
|
|
@@ -108,7 +108,7 @@ export function assert(wrapped) {
|
|
|
108
108
|
*/
|
|
109
109
|
export function from(wrapped) {
|
|
110
110
|
if (typeof wrapped === 'string')
|
|
111
|
-
return
|
|
111
|
+
return unwrap(wrapped);
|
|
112
112
|
return wrapped;
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
@@ -116,18 +116,18 @@ export function from(wrapped) {
|
|
|
116
116
|
*
|
|
117
117
|
* @example
|
|
118
118
|
* ```ts twoslash
|
|
119
|
-
* import {
|
|
119
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
120
120
|
*
|
|
121
|
-
* const { data, signature, to } =
|
|
121
|
+
* const { data, signature, to } = SignatureErc6492.unwrap('0x...')
|
|
122
122
|
* ```
|
|
123
123
|
*
|
|
124
124
|
* @param wrapped - Wrapped signature to parse.
|
|
125
125
|
* @returns Wrapped signature.
|
|
126
126
|
*/
|
|
127
|
-
export function
|
|
127
|
+
export function unwrap(wrapped) {
|
|
128
128
|
assert(wrapped);
|
|
129
129
|
const [to, data, signature_hex] = AbiParameters.decode(AbiParameters.from('address, bytes, bytes'), wrapped);
|
|
130
|
-
const signature = Signature.
|
|
130
|
+
const signature = Signature.from(signature_hex);
|
|
131
131
|
return { data, signature, to };
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
@@ -136,14 +136,14 @@ export function fromHex(wrapped) {
|
|
|
136
136
|
* @example
|
|
137
137
|
* ```ts twoslash
|
|
138
138
|
* import { Secp256k1 } from 'ox'
|
|
139
|
-
* import {
|
|
139
|
+
* import { SignatureErc6492 } from 'ox/erc6492' // [!code focus]
|
|
140
140
|
*
|
|
141
141
|
* const signature = Secp256k1.sign({
|
|
142
142
|
* payload: '0x...',
|
|
143
143
|
* privateKey: '0x...',
|
|
144
144
|
* })
|
|
145
145
|
*
|
|
146
|
-
* const wrapped =
|
|
146
|
+
* const wrapped = SignatureErc6492.wrap({ // [!code focus]
|
|
147
147
|
* data: '0xdeadbeef', // [!code focus]
|
|
148
148
|
* signature, // [!code focus]
|
|
149
149
|
* to: '0x00000000219ab540356cBB839Cbe05303d7705Fa', // [!code focus]
|
|
@@ -153,7 +153,7 @@ export function fromHex(wrapped) {
|
|
|
153
153
|
* @param value - Wrapped signature to serialize.
|
|
154
154
|
* @returns Serialized wrapped signature.
|
|
155
155
|
*/
|
|
156
|
-
export function
|
|
156
|
+
export function wrap(value) {
|
|
157
157
|
const { data, signature, to } = value;
|
|
158
158
|
return Hex.concat(AbiParameters.encode(AbiParameters.from('address, bytes, bytes'), [
|
|
159
159
|
to,
|
|
@@ -166,9 +166,9 @@ export function toHex(value) {
|
|
|
166
166
|
*
|
|
167
167
|
* @example
|
|
168
168
|
* ```ts twoslash
|
|
169
|
-
* import {
|
|
169
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
170
170
|
*
|
|
171
|
-
* const valid =
|
|
171
|
+
* const valid = SignatureErc6492.validate('0xdeadbeef')
|
|
172
172
|
* // @log: false
|
|
173
173
|
* ```
|
|
174
174
|
*
|
|
@@ -192,8 +192,8 @@ export class InvalidWrappedSignatureError extends Errors.BaseError {
|
|
|
192
192
|
enumerable: true,
|
|
193
193
|
configurable: true,
|
|
194
194
|
writable: true,
|
|
195
|
-
value: '
|
|
195
|
+
value: 'SignatureErc6492.InvalidWrappedSignatureError'
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
|
-
//# sourceMappingURL=
|
|
199
|
+
//# sourceMappingURL=SignatureErc6492.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"SignatureErc6492.js","sourceRoot":"","sources":["../../erc6492/SignatureErc6492.ts"],"names":[],"mappings":"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"}
|
package/_esm/erc6492/index.js
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* @example
|
|
5
5
|
* ```ts twoslash
|
|
6
6
|
* import { Secp256k1, PersonalMessage } from 'ox'
|
|
7
|
-
* import {
|
|
7
|
+
* import { SignatureErc6492 } from 'ox/erc6492' // [!code focus]
|
|
8
8
|
*
|
|
9
9
|
* const signature = Secp256k1.sign({
|
|
10
10
|
* payload: PersonalMessage.getSignPayload('0xdeadbeef'),
|
|
11
11
|
* privateKey: '0x...',
|
|
12
12
|
* })
|
|
13
13
|
*
|
|
14
|
-
* const wrapped =
|
|
14
|
+
* const wrapped = SignatureErc6492.wrap({ // [!code focus]
|
|
15
15
|
* data: '0xcafebabe', // [!code focus]
|
|
16
16
|
* signature, // [!code focus]
|
|
17
17
|
* to: '0xcafebabecafebabecafebabecafebabecafebabe', // [!code focus]
|
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
*
|
|
22
22
|
* @category ERC-6492
|
|
23
23
|
*/
|
|
24
|
-
export * as
|
|
24
|
+
export * as SignatureErc6492 from './SignatureErc6492.js';
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import * as AbiParameters from '../core/AbiParameters.js';
|
|
2
|
+
import * as Authorization from '../core/Authorization.js';
|
|
3
|
+
import * as Errors from '../core/Errors.js';
|
|
4
|
+
import * as Hex from '../core/Hex.js';
|
|
5
|
+
import * as Signature from '../core/Signature.js';
|
|
6
|
+
/**
|
|
7
|
+
* Magic bytes used to identify ERC-8010 wrapped signatures.
|
|
8
|
+
*/
|
|
9
|
+
export const magicBytes = '0x8010801080108010801080108010801080108010801080108010801080108010';
|
|
10
|
+
/**
|
|
11
|
+
* Asserts that the wrapped signature is valid.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts twoslash
|
|
15
|
+
* import { SignatureErc8010 } from 'ox/erc8010'
|
|
16
|
+
*
|
|
17
|
+
* SignatureErc8010.assert('0xdeadbeef')
|
|
18
|
+
* // @error: InvalidWrappedSignatureError: Value `0xdeadbeef` is an invalid ERC-8010 wrapped signature.
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param value - The value to assert.
|
|
22
|
+
*/
|
|
23
|
+
export function assert(value) {
|
|
24
|
+
if (typeof value === 'string') {
|
|
25
|
+
if (Hex.slice(value, -32) !== magicBytes)
|
|
26
|
+
throw new InvalidWrappedSignatureError(value);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
Signature.assert(value.authorization);
|
|
30
|
+
Signature.assert(value.signature);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parses an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts twoslash
|
|
38
|
+
* // @noErrors
|
|
39
|
+
* import { Secp256k1 } from 'ox'
|
|
40
|
+
* import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]
|
|
41
|
+
*
|
|
42
|
+
* const signature = Secp256k1.sign({
|
|
43
|
+
* payload: '0x...',
|
|
44
|
+
* privateKey: '0x...',
|
|
45
|
+
* })
|
|
46
|
+
*
|
|
47
|
+
* // Instantiate from serialized format. // [!code focus]
|
|
48
|
+
* const wrapped = SignatureErc8010.from('0x...') // [!code focus]
|
|
49
|
+
* // @log: { authorization: { ... }, data: '0x...', signature: { ... } } // [!code focus]
|
|
50
|
+
*
|
|
51
|
+
* // Instantiate from constituent parts. // [!code focus]
|
|
52
|
+
* const wrapped = SignatureErc8010.from({ // [!code focus]
|
|
53
|
+
* authorization: { ... }, // [!code focus]
|
|
54
|
+
* data: '0x...', // [!code focus]
|
|
55
|
+
* signature, // [!code focus]
|
|
56
|
+
* })
|
|
57
|
+
* // @log: { authorization: { ... }, data: '0x...', signature: { ... } }
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @param value - Value to parse.
|
|
61
|
+
* @returns Parsed value.
|
|
62
|
+
*/
|
|
63
|
+
export function from(value) {
|
|
64
|
+
if (typeof value === 'string')
|
|
65
|
+
return unwrap(value);
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Unwraps an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts twoslash
|
|
73
|
+
* import { SignatureErc8010 } from 'ox/erc8010'
|
|
74
|
+
*
|
|
75
|
+
* const { authorization, data, signature } = SignatureErc8010.unwrap('0x...')
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @param wrapped - Wrapped signature to unwrap.
|
|
79
|
+
* @returns Unwrapped signature.
|
|
80
|
+
*/
|
|
81
|
+
export function unwrap(wrapped) {
|
|
82
|
+
assert(wrapped);
|
|
83
|
+
const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
|
|
84
|
+
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));
|
|
92
|
+
const authorization = Authorization.from({
|
|
93
|
+
address: delegation,
|
|
94
|
+
chainId,
|
|
95
|
+
nonce,
|
|
96
|
+
yParity,
|
|
97
|
+
r,
|
|
98
|
+
s,
|
|
99
|
+
});
|
|
100
|
+
const data = (() => {
|
|
101
|
+
try {
|
|
102
|
+
return Hex.slice(suffix, 149);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
})();
|
|
108
|
+
return { authorization, data, signature };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Wraps a signature into [ERC-8010 format](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md).
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts twoslash
|
|
115
|
+
* // @noErrors
|
|
116
|
+
* import { Secp256k1 } from 'ox'
|
|
117
|
+
* import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]
|
|
118
|
+
*
|
|
119
|
+
* const signature = Secp256k1.sign({
|
|
120
|
+
* payload: '0x...',
|
|
121
|
+
* privateKey: '0x...',
|
|
122
|
+
* })
|
|
123
|
+
*
|
|
124
|
+
* const wrapped = SignatureErc8010.wrap({ // [!code focus]
|
|
125
|
+
* authorization: { ... }, // [!code focus]
|
|
126
|
+
* data: '0xdeadbeef', // [!code focus]
|
|
127
|
+
* signature, // [!code focus]
|
|
128
|
+
* }) // [!code focus]
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @param value - Values to wrap.
|
|
132
|
+
* @returns Wrapped signature.
|
|
133
|
+
*/
|
|
134
|
+
export function wrap(value) {
|
|
135
|
+
assert(value);
|
|
136
|
+
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,
|
|
144
|
+
]);
|
|
145
|
+
const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
|
|
146
|
+
const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
|
|
147
|
+
return Hex.concat(Signature.toHex(signature), suffix, suffixLength, magicBytes);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validates a wrapped signature. Returns `true` if the wrapped signature is valid, `false` otherwise.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts twoslash
|
|
154
|
+
* import { SignatureErc8010 } from 'ox/erc8010'
|
|
155
|
+
*
|
|
156
|
+
* const valid = SignatureErc8010.validate('0xdeadbeef')
|
|
157
|
+
* // @log: false
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* @param value - The value to validate.
|
|
161
|
+
* @returns `true` if the value is valid, `false` otherwise.
|
|
162
|
+
*/
|
|
163
|
+
export function validate(value) {
|
|
164
|
+
try {
|
|
165
|
+
assert(value);
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/** Thrown when the ERC-8010 wrapped signature is invalid. */
|
|
173
|
+
export class InvalidWrappedSignatureError extends Errors.BaseError {
|
|
174
|
+
constructor(wrapped) {
|
|
175
|
+
super(`Value \`${wrapped}\` is an invalid ERC-8010 wrapped signature.`);
|
|
176
|
+
Object.defineProperty(this, "name", {
|
|
177
|
+
enumerable: true,
|
|
178
|
+
configurable: true,
|
|
179
|
+
writable: true,
|
|
180
|
+
value: 'SignatureErc8010.InvalidWrappedSignatureError'
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=SignatureErc8010.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignatureErc8010.js","sourceRoot":"","sources":["../../erc8010/SignatureErc8010.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for working with [ERC-8010 wrapped signatures](https://eips.ethereum.org/EIPS/eip-8010#specification).
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts twoslash
|
|
6
|
+
* import { Authorization, Secp256k1, PersonalMessage } from 'ox'
|
|
7
|
+
* import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]
|
|
8
|
+
*
|
|
9
|
+
* const authorization = Authorization.from({
|
|
10
|
+
* address: '0x1234567890abcdef1234567890abcdef12345678',
|
|
11
|
+
* chainId: 1,
|
|
12
|
+
* nonce: 69n,
|
|
13
|
+
* })
|
|
14
|
+
*
|
|
15
|
+
* const authorizationSignature = Secp256k1.sign({
|
|
16
|
+
* payload: Authorization.getSignPayload(authorization),
|
|
17
|
+
* privateKey: '0x...',
|
|
18
|
+
* })
|
|
19
|
+
*
|
|
20
|
+
* const authorizationSigned = Authorization.from(authorization, {
|
|
21
|
+
* signature: authorizationSignature,
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* const signature = Secp256k1.sign({
|
|
25
|
+
* payload: PersonalMessage.getSignPayload('0xdeadbeef'),
|
|
26
|
+
* privateKey: '0x...',
|
|
27
|
+
* })
|
|
28
|
+
*
|
|
29
|
+
* const wrapped = SignatureErc8010.wrap({ // [!code focus]
|
|
30
|
+
* authorization: authorizationSigned, // [!code focus]
|
|
31
|
+
* data: '0xcafebabe', // [!code focus]
|
|
32
|
+
* signature, // [!code focus]
|
|
33
|
+
* }) // [!code focus]
|
|
34
|
+
* // @log: '0x000000000000000000000000cafebabecafebabecafebabecafebabecafebabe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004deadbeef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041fa78c5905fb0b9d6066ef531f962a62bc6ef0d5eb59ecb134056d206f75aaed7780926ff2601a935c2c79707d9e1799948c9f19dcdde1e090e903b19a07923d01c000000000000000000000000000000000000000000000000000000000000008010801080108010801080108010801080108010801080108010801080108010'
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @category ERC-8010
|
|
38
|
+
*/
|
|
39
|
+
export * as SignatureErc8010 from './SignatureErc8010.js';
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../erc8010/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA"}
|
package/_esm/index.docs.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
/** Used by api-extractor for docgen. https://github.com/microsoft/rushstack/issues/3557 */
|
|
3
|
+
// biome-ignore assist/source/organizeImports: _
|
|
3
4
|
export * from './index.js';
|
|
4
5
|
export * from './erc4337/index.js';
|
|
5
6
|
export * from './erc6492/index.js';
|
|
7
|
+
export * from './erc8010/index.js';
|
|
6
8
|
//# sourceMappingURL=index.docs.js.map
|
package/_esm/index.docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,gDAAgD;AAChD,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
|