ox 0.8.9 → 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 +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.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} +9 -11
- package/_cjs/erc6492/SignatureErc6492.js.map +1 -0
- package/_cjs/erc6492/index.js +2 -2
- package/_cjs/erc8010/SignatureErc8010.js +93 -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.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} +18 -20
- package/_esm/erc6492/SignatureErc6492.js.map +1 -0
- package/_esm/erc6492/index.js +3 -3
- package/_esm/erc8010/SignatureErc8010.js +182 -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} +28 -26
- package/_types/erc6492/SignatureErc6492.d.ts.map +1 -0
- package/_types/erc6492/index.d.ts +3 -3
- package/_types/erc8010/SignatureErc8010.d.ts +138 -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 +1 -1
- 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} +31 -30
- package/erc6492/index.ts +3 -3
- package/erc8010/SignatureErc8010/package.json +6 -0
- package/erc8010/SignatureErc8010.ts +227 -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/_esm/erc6492/WrappedSignature.js.map +0 -1
- package/_types/erc6492/WrappedSignature.d.ts.map +0 -1
- package/erc6492/WrappedSignature/package.json +0 -6
|
@@ -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
|
*/
|
|
@@ -64,9 +63,9 @@ export const universalSignatureValidatorAbi = [
|
|
|
64
63
|
*
|
|
65
64
|
* @example
|
|
66
65
|
* ```ts twoslash
|
|
67
|
-
* import {
|
|
66
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
68
67
|
*
|
|
69
|
-
*
|
|
68
|
+
* SignatureErc6492.assert('0xdeadbeef')
|
|
70
69
|
* // @error: InvalidWrappedSignatureError: Value `0xdeadbeef` is an invalid ERC-6492 wrapped signature.
|
|
71
70
|
* ```
|
|
72
71
|
*
|
|
@@ -83,7 +82,7 @@ export function assert(wrapped) {
|
|
|
83
82
|
* ```ts twoslash
|
|
84
83
|
* // @noErrors
|
|
85
84
|
* import { Secp256k1 } from 'ox'
|
|
86
|
-
* import {
|
|
85
|
+
* import { SignatureErc6492 } from 'ox/erc6492' // [!code focus]
|
|
87
86
|
*
|
|
88
87
|
* const signature = Secp256k1.sign({
|
|
89
88
|
* payload: '0x...',
|
|
@@ -91,11 +90,11 @@ export function assert(wrapped) {
|
|
|
91
90
|
* })
|
|
92
91
|
*
|
|
93
92
|
* // Instantiate from serialized format. // [!code focus]
|
|
94
|
-
* const wrapped =
|
|
93
|
+
* const wrapped = SignatureErc6492.from('0x...') // [!code focus]
|
|
95
94
|
* // @log: { data: '0x...', signature: { ... }, to: '0x...', } // [!code focus]
|
|
96
95
|
*
|
|
97
96
|
* // Instantiate from constituent parts. // [!code focus]
|
|
98
|
-
* const wrapped =
|
|
97
|
+
* const wrapped = SignatureErc6492.from({ // [!code focus]
|
|
99
98
|
* data: '0x...', // [!code focus]
|
|
100
99
|
* signature, // [!code focus]
|
|
101
100
|
* to: '0x...', // [!code focus]
|
|
@@ -108,7 +107,7 @@ export function assert(wrapped) {
|
|
|
108
107
|
*/
|
|
109
108
|
export function from(wrapped) {
|
|
110
109
|
if (typeof wrapped === 'string')
|
|
111
|
-
return
|
|
110
|
+
return unwrap(wrapped);
|
|
112
111
|
return wrapped;
|
|
113
112
|
}
|
|
114
113
|
/**
|
|
@@ -116,18 +115,17 @@ export function from(wrapped) {
|
|
|
116
115
|
*
|
|
117
116
|
* @example
|
|
118
117
|
* ```ts twoslash
|
|
119
|
-
* import {
|
|
118
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
120
119
|
*
|
|
121
|
-
* const { data, signature, to } =
|
|
120
|
+
* const { data, signature, to } = SignatureErc6492.unwrap('0x...')
|
|
122
121
|
* ```
|
|
123
122
|
*
|
|
124
123
|
* @param wrapped - Wrapped signature to parse.
|
|
125
124
|
* @returns Wrapped signature.
|
|
126
125
|
*/
|
|
127
|
-
export function
|
|
126
|
+
export function unwrap(wrapped) {
|
|
128
127
|
assert(wrapped);
|
|
129
|
-
const [to, data,
|
|
130
|
-
const signature = Signature.fromHex(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
|
/**
|
|
@@ -136,14 +134,14 @@ export function fromHex(wrapped) {
|
|
|
136
134
|
* @example
|
|
137
135
|
* ```ts twoslash
|
|
138
136
|
* import { Secp256k1 } from 'ox'
|
|
139
|
-
* import {
|
|
137
|
+
* import { SignatureErc6492 } from 'ox/erc6492' // [!code focus]
|
|
140
138
|
*
|
|
141
139
|
* const signature = Secp256k1.sign({
|
|
142
140
|
* payload: '0x...',
|
|
143
141
|
* privateKey: '0x...',
|
|
144
142
|
* })
|
|
145
143
|
*
|
|
146
|
-
* const wrapped =
|
|
144
|
+
* const wrapped = SignatureErc6492.wrap({ // [!code focus]
|
|
147
145
|
* data: '0xdeadbeef', // [!code focus]
|
|
148
146
|
* signature, // [!code focus]
|
|
149
147
|
* to: '0x00000000219ab540356cBB839Cbe05303d7705Fa', // [!code focus]
|
|
@@ -153,12 +151,12 @@ export function fromHex(wrapped) {
|
|
|
153
151
|
* @param value - Wrapped signature to serialize.
|
|
154
152
|
* @returns Serialized wrapped signature.
|
|
155
153
|
*/
|
|
156
|
-
export function
|
|
154
|
+
export function wrap(value) {
|
|
157
155
|
const { data, signature, to } = 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
|
/**
|
|
@@ -166,9 +164,9 @@ export function toHex(value) {
|
|
|
166
164
|
*
|
|
167
165
|
* @example
|
|
168
166
|
* ```ts twoslash
|
|
169
|
-
* import {
|
|
167
|
+
* import { SignatureErc6492 } from 'ox/erc6492'
|
|
170
168
|
*
|
|
171
|
-
* const valid =
|
|
169
|
+
* const valid = SignatureErc6492.validate('0xdeadbeef')
|
|
172
170
|
* // @log: false
|
|
173
171
|
* ```
|
|
174
172
|
*
|
|
@@ -192,8 +190,8 @@ export class InvalidWrappedSignatureError extends Errors.BaseError {
|
|
|
192
190
|
enumerable: true,
|
|
193
191
|
configurable: true,
|
|
194
192
|
writable: true,
|
|
195
|
-
value: '
|
|
193
|
+
value: 'SignatureErc6492.InvalidWrappedSignatureError'
|
|
196
194
|
});
|
|
197
195
|
}
|
|
198
196
|
}
|
|
199
|
-
//# sourceMappingURL=
|
|
197
|
+
//# sourceMappingURL=SignatureErc6492.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,182 @@
|
|
|
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
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Parses an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts twoslash
|
|
36
|
+
* // @noErrors
|
|
37
|
+
* import { Secp256k1 } from 'ox'
|
|
38
|
+
* import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]
|
|
39
|
+
*
|
|
40
|
+
* const signature = Secp256k1.sign({
|
|
41
|
+
* payload: '0x...',
|
|
42
|
+
* privateKey: '0x...',
|
|
43
|
+
* })
|
|
44
|
+
*
|
|
45
|
+
* // Instantiate from serialized format. // [!code focus]
|
|
46
|
+
* const wrapped = SignatureErc8010.from('0x...') // [!code focus]
|
|
47
|
+
* // @log: { authorization: { ... }, data: '0x...', signature: { ... } } // [!code focus]
|
|
48
|
+
*
|
|
49
|
+
* // Instantiate from constituent parts. // [!code focus]
|
|
50
|
+
* const wrapped = SignatureErc8010.from({ // [!code focus]
|
|
51
|
+
* authorization: { ... }, // [!code focus]
|
|
52
|
+
* data: '0x...', // [!code focus]
|
|
53
|
+
* signature, // [!code focus]
|
|
54
|
+
* })
|
|
55
|
+
* // @log: { authorization: { ... }, data: '0x...', signature: { ... } }
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @param value - Value to parse.
|
|
59
|
+
* @returns Parsed value.
|
|
60
|
+
*/
|
|
61
|
+
export function from(value) {
|
|
62
|
+
if (typeof value === 'string')
|
|
63
|
+
return unwrap(value);
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Unwraps an [ERC-8010 wrapped signature](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md) into its constituent parts.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts twoslash
|
|
71
|
+
* import { SignatureErc8010 } from 'ox/erc8010'
|
|
72
|
+
*
|
|
73
|
+
* const { authorization, data, signature } = SignatureErc8010.unwrap('0x...')
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @param wrapped - Wrapped signature to unwrap.
|
|
77
|
+
* @returns Unwrapped signature.
|
|
78
|
+
*/
|
|
79
|
+
export function unwrap(wrapped) {
|
|
80
|
+
assert(wrapped);
|
|
81
|
+
const suffixLength = Hex.toNumber(Hex.slice(wrapped, -64, -32));
|
|
82
|
+
const suffix = Hex.slice(wrapped, -suffixLength - 64, -64);
|
|
83
|
+
const signature = Hex.slice(wrapped, 0, -suffixLength - 64);
|
|
84
|
+
const chainId = Hex.toNumber(Hex.slice(suffix, 0, 32));
|
|
85
|
+
const delegation = Hex.slice(suffix, 32, 52);
|
|
86
|
+
const nonce = Hex.toBigInt(Hex.slice(suffix, 52, 84));
|
|
87
|
+
const yParity = Hex.toNumber(Hex.slice(suffix, 84, 85));
|
|
88
|
+
const r = Hex.toBigInt(Hex.slice(suffix, 85, 117));
|
|
89
|
+
const s = Hex.toBigInt(Hex.slice(suffix, 117, 149));
|
|
90
|
+
const authorization = Authorization.from({
|
|
91
|
+
address: delegation,
|
|
92
|
+
chainId,
|
|
93
|
+
nonce,
|
|
94
|
+
yParity,
|
|
95
|
+
r,
|
|
96
|
+
s,
|
|
97
|
+
});
|
|
98
|
+
const data = (() => {
|
|
99
|
+
try {
|
|
100
|
+
return Hex.slice(suffix, 149);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
})();
|
|
106
|
+
return { authorization, data, signature };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Wraps a signature into [ERC-8010 format](https://github.com/jxom/ERCs/blob/16f7e3891fff2e1e9c25dea0485497739db8a816/ERCS/erc-8010.md).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts twoslash
|
|
113
|
+
* // @noErrors
|
|
114
|
+
* import { Secp256k1 } from 'ox'
|
|
115
|
+
* import { SignatureErc8010 } from 'ox/erc8010' // [!code focus]
|
|
116
|
+
*
|
|
117
|
+
* const signature = Secp256k1.sign({
|
|
118
|
+
* payload: '0x...',
|
|
119
|
+
* privateKey: '0x...',
|
|
120
|
+
* })
|
|
121
|
+
*
|
|
122
|
+
* const wrapped = SignatureErc8010.wrap({ // [!code focus]
|
|
123
|
+
* authorization: { ... }, // [!code focus]
|
|
124
|
+
* data: '0xdeadbeef', // [!code focus]
|
|
125
|
+
* signature, // [!code focus]
|
|
126
|
+
* }) // [!code focus]
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @param value - Values to wrap.
|
|
130
|
+
* @returns Wrapped signature.
|
|
131
|
+
*/
|
|
132
|
+
export function wrap(value) {
|
|
133
|
+
assert(value);
|
|
134
|
+
const { data, signature } = value;
|
|
135
|
+
const authorization = AbiParameters.encodePacked(['uint256', 'address', 'uint256', 'uint8', 'uint256', 'uint256'], [
|
|
136
|
+
BigInt(value.authorization.chainId),
|
|
137
|
+
value.authorization.address,
|
|
138
|
+
BigInt(value.authorization.nonce),
|
|
139
|
+
value.authorization.yParity,
|
|
140
|
+
value.authorization.r,
|
|
141
|
+
value.authorization.s,
|
|
142
|
+
]);
|
|
143
|
+
const suffix = AbiParameters.encodePacked(['bytes', 'bytes'], [authorization, data ?? '0x']);
|
|
144
|
+
const suffixLength = Hex.fromNumber(Hex.size(suffix), { size: 32 });
|
|
145
|
+
return Hex.concat(signature, suffix, suffixLength, magicBytes);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Validates a wrapped signature. Returns `true` if the wrapped signature is valid, `false` otherwise.
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts twoslash
|
|
152
|
+
* import { SignatureErc8010 } from 'ox/erc8010'
|
|
153
|
+
*
|
|
154
|
+
* const valid = SignatureErc8010.validate('0xdeadbeef')
|
|
155
|
+
* // @log: false
|
|
156
|
+
* ```
|
|
157
|
+
*
|
|
158
|
+
* @param value - The value to validate.
|
|
159
|
+
* @returns `true` if the value is valid, `false` otherwise.
|
|
160
|
+
*/
|
|
161
|
+
export function validate(value) {
|
|
162
|
+
try {
|
|
163
|
+
assert(value);
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** Thrown when the ERC-8010 wrapped signature is invalid. */
|
|
171
|
+
export class InvalidWrappedSignatureError extends Errors.BaseError {
|
|
172
|
+
constructor(wrapped) {
|
|
173
|
+
super(`Value \`${wrapped}\` is an invalid ERC-8010 wrapped signature.`);
|
|
174
|
+
Object.defineProperty(this, "name", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
configurable: true,
|
|
177
|
+
writable: true,
|
|
178
|
+
value: 'SignatureErc8010.InvalidWrappedSignatureError'
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# 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"}
|