ox 1.8.9 → 1.8.12
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 +32 -0
- package/dist/core/AbiEvent.d.ts.map +1 -1
- package/dist/core/AbiEvent.js +32 -10
- package/dist/core/AbiEvent.js.map +1 -1
- package/dist/core/Authorization.d.ts.map +1 -1
- package/dist/core/Authorization.js +44 -6
- package/dist/core/Authorization.js.map +1 -1
- package/dist/core/Hex.d.ts +13 -1
- package/dist/core/Hex.d.ts.map +1 -1
- package/dist/core/Hex.js +5 -3
- package/dist/core/Hex.js.map +1 -1
- package/dist/core/RpcTransport.d.ts.map +1 -1
- package/dist/core/RpcTransport.js +21 -14
- package/dist/core/RpcTransport.js.map +1 -1
- package/dist/core/Signature.d.ts +1 -1
- package/dist/core/Signature.d.ts.map +1 -1
- package/dist/core/Signature.js +3 -2
- package/dist/core/Signature.js.map +1 -1
- package/dist/core/Siwe.d.ts.map +1 -1
- package/dist/core/Siwe.js +1 -1
- package/dist/core/Siwe.js.map +1 -1
- package/dist/core/TypedData.js +1 -1
- package/dist/core/TypedData.js.map +1 -1
- package/dist/core/internal/abiItem.d.ts.map +1 -1
- package/dist/core/internal/abiItem.js +45 -19
- package/dist/core/internal/abiItem.js.map +1 -1
- package/dist/tempo/AccountConfig.d.ts +7 -17
- package/dist/tempo/AccountConfig.d.ts.map +1 -1
- package/dist/tempo/AccountConfig.js +8 -26
- package/dist/tempo/AccountConfig.js.map +1 -1
- package/dist/tempo/AccountOperation.d.ts +1 -1
- package/dist/tempo/AccountOperation.js +1 -1
- package/dist/tempo/index.d.ts +1 -3
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +1 -3
- package/dist/tempo/index.js.map +1 -1
- package/dist/zod/Authorization.d.ts.map +1 -1
- package/dist/zod/Authorization.js +6 -9
- package/dist/zod/Authorization.js.map +1 -1
- package/package.json +1 -1
- package/src/core/AbiEvent.ts +61 -22
- package/src/core/Authorization.ts +43 -6
- package/src/core/Hex.ts +17 -3
- package/src/core/RpcTransport.ts +20 -16
- package/src/core/Signature.ts +5 -2
- package/src/core/Siwe.ts +1 -1
- package/src/core/TypedData.ts +1 -1
- package/src/core/_test/AbiEvent.test.ts +232 -1
- package/src/core/_test/AbiItem.test.ts +342 -0
- package/src/core/_test/Authorization.test.ts +166 -0
- package/src/core/_test/Hex.test.ts +31 -0
- package/src/core/_test/RpcTransport.test.ts +48 -0
- package/src/core/_test/Signature.test.ts +42 -1
- package/src/core/_test/Siwe.test.ts +53 -0
- package/src/core/_test/TransactionEnvelopeEip7702.test.ts +66 -0
- package/src/core/_test/TypedData.test.ts +29 -0
- package/src/core/internal/abiItem.ts +59 -25
- package/src/tempo/AccountConfig.test.ts +34 -47
- package/src/tempo/AccountConfig.ts +9 -37
- package/src/tempo/AccountOperation.test.ts +36 -37
- package/src/tempo/AccountOperation.ts +1 -1
- package/src/tempo/SignatureEnvelope.test.ts +1 -3
- package/src/tempo/configurableAccounts.e2e.test.ts +1 -2
- package/src/tempo/index.ts +1 -3
- package/src/version.ts +1 -1
- package/src/zod/Authorization.ts +6 -24
- package/src/zod/_test/Authorization.test.ts +35 -2
- package/src/zod/_test/TransactionRequest.test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountConfig.d.ts","sourceRoot":"","sources":["../../src/tempo/AccountConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AccountConfig.d.ts","sourceRoot":"","sources":["../../src/tempo/AccountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as Address from '../core/Address.js';
|
|
2
|
-
import * as ContractAddress from '../core/ContractAddress.js';
|
|
3
2
|
import * as Errors from '../core/Errors.js';
|
|
4
3
|
import * as Hash from '../core/Hash.js';
|
|
5
4
|
import * as Hex from '../core/Hex.js';
|
|
@@ -26,13 +25,6 @@ export const zeroSalt = `0x${'00'.repeat(32)}`;
|
|
|
26
25
|
const accountDomain = 'tempo:configurable-account:account';
|
|
27
26
|
/** Domain prefix for account configuration commitments. */
|
|
28
27
|
const configDomain = 'tempo:configurable-account:config';
|
|
29
|
-
/**
|
|
30
|
-
* Keccak-256 of the account proxy creation code.
|
|
31
|
-
*
|
|
32
|
-
* Placeholder until [TIP-1110](https://tips.sh/1110) fixes the canonical
|
|
33
|
-
* account proxy, which will change every derived address.
|
|
34
|
-
*/
|
|
35
|
-
const accountProxyInitCodeHash = '0x583cc63a2e37f645b43eac911b1a6d6de08b83abdc308c61364edda8cfc3bd37';
|
|
36
28
|
/** Domain prefix for configurable account owner approvals. */
|
|
37
29
|
const signatureDomain = 'tempo:configurable-account:signature';
|
|
38
30
|
/** Domain prefix for the salt of an account migrated in place. */
|
|
@@ -259,9 +251,9 @@ export function fromUpgrade(account, options) {
|
|
|
259
251
|
/**
|
|
260
252
|
* Derives the stable configurable account address.
|
|
261
253
|
*
|
|
262
|
-
* The
|
|
263
|
-
* big-endian fields, not RLP
|
|
264
|
-
*
|
|
254
|
+
* The address is the last 20 bytes of the keccak256 hash of the initial
|
|
255
|
+
* config, encoded with fixed-width big-endian fields, not RLP:
|
|
256
|
+
* `keccak256("tempo:configurable-account:account" || salt || uint8(threshold) || uint8(owners.length) || owners)`.
|
|
265
257
|
*
|
|
266
258
|
* The address is derived once from the initial version-0 config. Config
|
|
267
259
|
* updates do not change it.
|
|
@@ -280,31 +272,23 @@ export function fromUpgrade(account, options) {
|
|
|
280
272
|
* threshold: 1
|
|
281
273
|
* })
|
|
282
274
|
*
|
|
283
|
-
* const address = AccountConfig.getAddress(initialConfig
|
|
284
|
-
* factory: '0x7171717171717171717171717171717171717171'
|
|
285
|
-
* })
|
|
275
|
+
* const address = AccountConfig.getAddress(initialConfig)
|
|
286
276
|
* ```
|
|
287
277
|
*
|
|
288
278
|
* @param config - The initial account config.
|
|
289
|
-
* @param options - The recovery factory configured by the chain.
|
|
290
279
|
* @returns The configurable account address.
|
|
291
280
|
*/
|
|
292
|
-
export function getAddress(config
|
|
293
|
-
Address.assert(options.factory);
|
|
281
|
+
export function getAddress(config) {
|
|
294
282
|
assert(config);
|
|
295
283
|
if (BigInt(config.version ?? 0) !== 0n)
|
|
296
284
|
throw new InvalidConfigError({
|
|
297
285
|
reason: 'account address requires version zero',
|
|
298
286
|
});
|
|
299
|
-
const
|
|
287
|
+
const hash = Hash.keccak256(Hex.concat(Hex.fromString(accountDomain), Hex.padLeft(config.salt ?? zeroSalt, 32), Hex.fromNumber(config.threshold, { size: 1 }), Hex.fromNumber(config.owners.length, { size: 1 }), ...config.owners.flatMap((owner) => [
|
|
300
288
|
owner.owner,
|
|
301
289
|
Hex.fromNumber(owner.weight, { size: 1 }),
|
|
302
290
|
])));
|
|
303
|
-
const account =
|
|
304
|
-
bytecodeHash: accountProxyInitCodeHash,
|
|
305
|
-
from: options.factory,
|
|
306
|
-
salt: accountSalt,
|
|
307
|
-
});
|
|
291
|
+
const account = Hex.slice(hash, 12);
|
|
308
292
|
if (Hex.toBigInt(account) === 0n)
|
|
309
293
|
throw new InvalidConfigError({ reason: 'derived account cannot be zero' });
|
|
310
294
|
if (config.owners.some((owner) => Address.isEqual(owner.owner, account)))
|
|
@@ -376,9 +360,7 @@ export function getCommitment(config) {
|
|
|
376
360
|
* })
|
|
377
361
|
*
|
|
378
362
|
* const digest = AccountConfig.getSignPayload({
|
|
379
|
-
* account: AccountConfig.getAddress(config,
|
|
380
|
-
* factory: '0x7171717171717171717171717171717171717171'
|
|
381
|
-
* }),
|
|
363
|
+
* account: AccountConfig.getAddress(config),
|
|
382
364
|
* config,
|
|
383
365
|
* payload: TxEnvelopeTempo.getSignPayload(envelope)
|
|
384
366
|
* })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountConfig.js","sourceRoot":"","sources":["../../src/tempo/AccountConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccountConfig.js","sourceRoot":"","sources":["../../src/tempo/AccountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ export declare namespace getHash {
|
|
|
105
105
|
* The function retains one canonical approval per owner. It selects the
|
|
106
106
|
* smallest deterministic quorum by owner weight, then orders the selected
|
|
107
107
|
* approvals by owner address for serialization. The caller supplies the
|
|
108
|
-
* account and config; the chain validates their
|
|
108
|
+
* account and config; the chain validates their derived identity.
|
|
109
109
|
*
|
|
110
110
|
* @example
|
|
111
111
|
* ```ts twoslash
|
|
@@ -42,7 +42,7 @@ export function getHash(options) {
|
|
|
42
42
|
* The function retains one canonical approval per owner. It selects the
|
|
43
43
|
* smallest deterministic quorum by owner weight, then orders the selected
|
|
44
44
|
* approvals by owner address for serialization. The caller supplies the
|
|
45
|
-
* account and config; the chain validates their
|
|
45
|
+
* account and config; the chain validates their derived identity.
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ```ts twoslash
|
package/dist/tempo/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD;;;;;;;GAOG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;GAOG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AACjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
|
package/dist/tempo/index.js
CHANGED
package/dist/tempo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2DAA2D;AAE3D
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2DAA2D;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD;;;;;;;GAOG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;GAOG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AACjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../src/zod/Authorization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../src/zod/Authorization.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAM7B,8CAA8C;AAC9C,eAAO,MAAM,QAAQ;;;;;;;iBAAyD,CAAA;AAE9E,6FAA6F;AAC7F,eAAO,MAAM,aAAa;;;;;;;iBAEzB,CAAA;AAED,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;;;;;;iBAElB,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,WAAW;;;;;;;iBAEvB,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;mBAA8B,CAAA;AAExD,oFAAoF;AACpF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;mBAAwC,CAAA;AAEvE,0CAA0C;AAC1C,eAAO,MAAM,IAAI;;;;;;;;;;;;;;qBAAqC,CAAA;AAEtD,iDAAiD;AACjD,eAAO,MAAM,UAAU;;;;;;;mBAA8B,CAAA;AAErD,gGAAgG;AAChG,eAAO,MAAM,eAAe;;;;;;;mBAAmC,CAAA;AAE/D,oDAAoD;AACpD,eAAO,MAAM,aAAa,+KAEzB,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,WAAW,0SASvB,CAAA;AAED,2CAA2C;AAC3C,eAAO,MAAM,KAAK,ofAAwC,CAAA;AAE1D,gDAAgD;AAChD,eAAO,MAAM,SAAS,uhBAA6B,CAAA;AAEnD,uDAAuD;AACvD,eAAO,MAAM,eAAe,6UAAmC,CAAA"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
/* eslint-disable jsdoc-js/require-jsdoc, jsdoc-js/require-description, jsdoc-js/require-example */
|
|
2
2
|
import * as z_Address from './Address.js';
|
|
3
3
|
import * as z_Hex from './Hex.js';
|
|
4
|
+
import { quantityHex } from './internal/Integer.js';
|
|
4
5
|
import * as z_Number from './Number.js';
|
|
5
6
|
import * as z_Uint from './Uint.js';
|
|
6
7
|
import * as z from 'zod/mini';
|
|
7
|
-
|
|
8
|
+
// EIP-7702 permits any `y_parity` below 2**8 in an authorization tuple, so
|
|
9
|
+
// every authorization schema accepts an 8-bit `yParity`.
|
|
10
|
+
const yParityHex = quantityHex(8);
|
|
8
11
|
/** Unsigned EIP-7702 authorization schema. */
|
|
9
12
|
export const Unsigned = z.object(unsignedFields(z_Number.Number, z_Uint.Uint));
|
|
10
13
|
/** Encode-only unsigned EIP-7702 authorization schema accepting numberish `toRpc` inputs. */
|
|
11
14
|
export const UnsignedToRpc = z.object(unsignedFields(z_Number.NumberToRpc, z_Uint.UintToRpc));
|
|
12
15
|
/** Signed EIP-7702 authorization schema. */
|
|
13
|
-
export const Signed = z.object(signedFields(z_Number.Number, z_Uint.Uint,
|
|
16
|
+
export const Signed = z.object(signedFields(z_Number.Number, z_Uint.Uint, z_Uint.Uint8));
|
|
14
17
|
/** Encode-only signed EIP-7702 authorization schema accepting numberish `toRpc` inputs. */
|
|
15
|
-
export const SignedToRpc = z.object(signedFields(z_Number.NumberToRpc, z_Uint.UintToRpc,
|
|
18
|
+
export const SignedToRpc = z.object(signedFields(z_Number.NumberToRpc, z_Uint.UintToRpc, z_Uint.Uint8ToRpc));
|
|
16
19
|
/** EIP-7702 authorization schema. */
|
|
17
20
|
export const Authorization = z.union([Signed, Unsigned]);
|
|
18
21
|
/** Encode-only EIP-7702 authorization schema accepting numberish `toRpc` inputs. */
|
|
@@ -40,12 +43,6 @@ export const Tuple = z.union([TupleSigned, TupleUnsigned]);
|
|
|
40
43
|
export const TupleList = z.readonly(z.array(Tuple));
|
|
41
44
|
/** Signed EIP-7702 authorization tuple list schema. */
|
|
42
45
|
export const TupleListSigned = z.readonly(z.array(TupleSigned));
|
|
43
|
-
function yParityUint() {
|
|
44
|
-
return z_Uint.Uint8.check(z.refine((value) => value === 0 || value === 1, 'expected yParity'));
|
|
45
|
-
}
|
|
46
|
-
function yParityUintToRpc() {
|
|
47
|
-
return z_Uint.Uint8ToRpc.check(z.refine((value) => value === 0 || value === 1 || value === '0x0' || value === '0x1', 'expected yParity'));
|
|
48
|
-
}
|
|
49
46
|
function unsignedFields(num, uint) {
|
|
50
47
|
return {
|
|
51
48
|
address: z_Address.Address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../src/zod/Authorization.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../src/zod/Authorization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/core/AbiEvent.ts
CHANGED
|
@@ -13,6 +13,7 @@ import * as Cursor from './internal/cursor.js'
|
|
|
13
13
|
import { prettyPrint } from './internal/errors.js'
|
|
14
14
|
import * as formatAbiItem from './internal/human-readable/formatAbiItem.js'
|
|
15
15
|
import type { Compute, IsNarrowable } from './internal/types.js'
|
|
16
|
+
import * as Solidity from './Solidity.js'
|
|
16
17
|
|
|
17
18
|
/** Root type for an {@link ox#AbiItem.AbiItem} with an `event` type. */
|
|
18
19
|
export type AbiEvent = abitype.AbiEvent & {
|
|
@@ -208,6 +209,31 @@ export function assertArgs<const abiEvent extends AbiEvent>(
|
|
|
208
209
|
{ EnableUnion: true; IndexedOnly: false; Required: false }
|
|
209
210
|
>
|
|
210
211
|
: unknown,
|
|
212
|
+
) {
|
|
213
|
+
// `decode` reads every indexed input from its topic.
|
|
214
|
+
assertMatchingArgs(
|
|
215
|
+
abiEvent,
|
|
216
|
+
args,
|
|
217
|
+
matchArgs,
|
|
218
|
+
abiEvent.inputs.filter((input) => input.indexed),
|
|
219
|
+
)
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export declare namespace assertArgs {
|
|
223
|
+
type ErrorType =
|
|
224
|
+
| Address.isEqual.ErrorType
|
|
225
|
+
| Bytes.fromString.ErrorType
|
|
226
|
+
| Hash.keccak256.ErrorType
|
|
227
|
+
| ArgsMismatchError
|
|
228
|
+
| Errors.GlobalErrorType
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function assertMatchingArgs(
|
|
232
|
+
abiEvent: AbiEvent,
|
|
233
|
+
args: unknown,
|
|
234
|
+
matchArgs: unknown,
|
|
235
|
+
// Indexed inputs decoded from a topic, rather than from data.
|
|
236
|
+
topicInputs: readonly abitype.AbiEventParameter[],
|
|
211
237
|
) {
|
|
212
238
|
if (!args || !matchArgs)
|
|
213
239
|
throw new ArgsMismatchError({
|
|
@@ -223,17 +249,29 @@ export function assertArgs<const abiEvent extends AbiEvent>(
|
|
|
223
249
|
) {
|
|
224
250
|
if (input.type === 'address')
|
|
225
251
|
return Address.isEqual(value as Address.Address, arg as Address.Address)
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
252
|
+
// `string` and `bytes` topics hold the keccak256 of their contents.
|
|
253
|
+
// Values decoded from data hold the contents.
|
|
254
|
+
if (topicInputs.includes(input)) {
|
|
255
|
+
if (input.type === 'string')
|
|
256
|
+
return (
|
|
257
|
+
Hash.keccak256(Bytes.fromString(value as string), { as: 'Hex' }) ===
|
|
258
|
+
arg
|
|
259
|
+
)
|
|
260
|
+
if (input.type === 'bytes') {
|
|
261
|
+
const hex =
|
|
262
|
+
typeof value === 'string'
|
|
263
|
+
? (value as Hex.Hex)
|
|
264
|
+
: Hex.fromBytes(value as Bytes.Bytes)
|
|
265
|
+
return Hash.keccak256(hex, { as: 'Hex' }) === arg
|
|
266
|
+
}
|
|
236
267
|
}
|
|
268
|
+
// Decoded `bytes` and `bytesN` are lowercase hex, so match either case.
|
|
269
|
+
if (
|
|
270
|
+
typeof value === 'string' &&
|
|
271
|
+
typeof arg === 'string' &&
|
|
272
|
+
Solidity.bytesRegex.test(input.type)
|
|
273
|
+
)
|
|
274
|
+
return value.toLowerCase() === arg.toLowerCase()
|
|
237
275
|
return value === arg
|
|
238
276
|
}
|
|
239
277
|
|
|
@@ -285,15 +323,6 @@ export function assertArgs<const abiEvent extends AbiEvent>(
|
|
|
285
323
|
}
|
|
286
324
|
}
|
|
287
325
|
|
|
288
|
-
export declare namespace assertArgs {
|
|
289
|
-
type ErrorType =
|
|
290
|
-
| Address.isEqual.ErrorType
|
|
291
|
-
| Bytes.fromString.ErrorType
|
|
292
|
-
| Hash.keccak256.ErrorType
|
|
293
|
-
| ArgsMismatchError
|
|
294
|
-
| Errors.GlobalErrorType
|
|
295
|
-
}
|
|
296
|
-
|
|
297
326
|
/**
|
|
298
327
|
* ABI-Decodes the provided [Log Topics and Data](https://info.etherscan.com/what-is-event-logs/) according to the ABI Event's parameter types (`input`).
|
|
299
328
|
*
|
|
@@ -801,7 +830,7 @@ export function extractLogs<
|
|
|
801
830
|
|
|
802
831
|
if (!event) continue
|
|
803
832
|
if (eventName && !eventName.includes(event.event.name)) continue
|
|
804
|
-
if (!includesArgs(event.event, event.args, args)) continue
|
|
833
|
+
if (!includesArgs(event.event, event.args, args, log_.topics)) continue
|
|
805
834
|
|
|
806
835
|
out.push({
|
|
807
836
|
...log_,
|
|
@@ -1045,10 +1074,20 @@ function formatExtractLog<const log extends extractLogs.Log>(log: log) {
|
|
|
1045
1074
|
}
|
|
1046
1075
|
}
|
|
1047
1076
|
|
|
1048
|
-
function includesArgs(
|
|
1077
|
+
function includesArgs(
|
|
1078
|
+
abiEvent: AbiEvent,
|
|
1079
|
+
args: unknown,
|
|
1080
|
+
matchArgs: unknown,
|
|
1081
|
+
topics: readonly Hex.Hex[],
|
|
1082
|
+
) {
|
|
1049
1083
|
try {
|
|
1050
1084
|
if (!matchArgs) return true
|
|
1051
|
-
|
|
1085
|
+
// Topics hold the selector, then indexed inputs in order. Non-strict
|
|
1086
|
+
// decoding reads indexed inputs without a topic from data.
|
|
1087
|
+
const topicInputs = abiEvent.inputs
|
|
1088
|
+
.filter((input) => input.indexed)
|
|
1089
|
+
.slice(0, topics.length - 1)
|
|
1090
|
+
assertMatchingArgs(abiEvent, args, matchArgs, topicInputs)
|
|
1052
1091
|
return true
|
|
1053
1092
|
} catch {
|
|
1054
1093
|
return false
|
|
@@ -179,7 +179,11 @@ export declare namespace from {
|
|
|
179
179
|
*/
|
|
180
180
|
export function fromRpc(authorization: Rpc): Signed {
|
|
181
181
|
const { address, chainId, nonce } = authorization
|
|
182
|
-
|
|
182
|
+
// EIP-7702 permits any `y_parity` below 2**8 in an authorization tuple, so
|
|
183
|
+
// check `yParity` against one byte rather than against 0 or 1.
|
|
184
|
+
const signature = Signature.fromRpc(authorization)
|
|
185
|
+
Signature.assert({ r: signature.r, s: signature.s })
|
|
186
|
+
assertYParity(signature.yParity)
|
|
183
187
|
|
|
184
188
|
return {
|
|
185
189
|
address,
|
|
@@ -278,8 +282,18 @@ export function fromTuple<const tuple extends Tuple>(
|
|
|
278
282
|
chainId: chainId === '0x' ? 0 : Number(chainId),
|
|
279
283
|
nonce: nonce === '0x' ? 0n : BigInt(nonce),
|
|
280
284
|
}
|
|
281
|
-
if (yParity && r && s)
|
|
282
|
-
|
|
285
|
+
if (yParity && r && s) {
|
|
286
|
+
// EIP-7702 permits any `y_parity` below 2**8 in an authorization tuple, so
|
|
287
|
+
// check `yParity` against one byte rather than against 0 or 1.
|
|
288
|
+
const signature = {
|
|
289
|
+
r: Hex.padLeft(r, 32),
|
|
290
|
+
s: Hex.padLeft(s, 32),
|
|
291
|
+
yParity: yParity === '0x' ? 0 : Number(yParity),
|
|
292
|
+
}
|
|
293
|
+
Signature.assert({ r: signature.r, s: signature.s })
|
|
294
|
+
assertYParity(signature.yParity)
|
|
295
|
+
args = { ...args, ...signature }
|
|
296
|
+
}
|
|
283
297
|
return from(args) as never
|
|
284
298
|
}
|
|
285
299
|
|
|
@@ -500,6 +514,7 @@ export declare namespace hash {
|
|
|
500
514
|
*/
|
|
501
515
|
export function toRpc(authorization: toRpc.Input): Rpc {
|
|
502
516
|
const { address, chainId, nonce, ...signature } = authorization
|
|
517
|
+
assertYParity(Number(signature.yParity))
|
|
503
518
|
|
|
504
519
|
return {
|
|
505
520
|
address,
|
|
@@ -576,13 +591,23 @@ export declare namespace toRpcList {
|
|
|
576
591
|
export function toTuple<const authorization extends Authorization>(
|
|
577
592
|
authorization: authorization,
|
|
578
593
|
): toTuple.ReturnType<authorization> {
|
|
579
|
-
const { address, chainId, nonce } = authorization
|
|
580
|
-
const signature = Signature.extract(
|
|
594
|
+
const { address, chainId, nonce, r, s, yParity } = authorization
|
|
595
|
+
const signature = Signature.extract({ r, s })
|
|
596
|
+
if (signature && typeof yParity !== 'undefined') assertYParity(yParity)
|
|
581
597
|
return [
|
|
582
598
|
chainId ? Hex.fromNumber(chainId) : '0x',
|
|
583
599
|
address,
|
|
584
600
|
nonce ? Hex.fromNumber(nonce) : '0x',
|
|
585
|
-
|
|
601
|
+
// EIP-7702 permits any `y_parity` below 2**8 in an authorization tuple, and a
|
|
602
|
+
// tuple that fails recovery does not invalidate the transaction. Encode
|
|
603
|
+
// `yParity` as is, so that serialization preserves the transaction hash.
|
|
604
|
+
...(signature
|
|
605
|
+
? [
|
|
606
|
+
yParity ? Hex.fromNumber(yParity, { size: 1 }) : '0x',
|
|
607
|
+
Hex.trimLeft(signature.r),
|
|
608
|
+
Hex.trimLeft(signature.s),
|
|
609
|
+
]
|
|
610
|
+
: []),
|
|
586
611
|
] as never
|
|
587
612
|
}
|
|
588
613
|
|
|
@@ -656,3 +681,15 @@ export declare namespace toTupleList {
|
|
|
656
681
|
|
|
657
682
|
type ErrorType = Errors.GlobalErrorType
|
|
658
683
|
}
|
|
684
|
+
|
|
685
|
+
// Asserts that an EIP-7702 authorization `yParity` fits in one byte.
|
|
686
|
+
function assertYParity(yParity: number) {
|
|
687
|
+
if (Number.isInteger(yParity) && yParity >= 0 && yParity < 256) return
|
|
688
|
+
throw new Hex.IntegerOutOfRangeError({
|
|
689
|
+
max: '255',
|
|
690
|
+
min: '0',
|
|
691
|
+
signed: false,
|
|
692
|
+
size: 1,
|
|
693
|
+
value: `${yParity}`,
|
|
694
|
+
})
|
|
695
|
+
}
|
package/src/core/Hex.ts
CHANGED
|
@@ -35,16 +35,23 @@ export function assert(
|
|
|
35
35
|
value: unknown,
|
|
36
36
|
options: assert.Options = {},
|
|
37
37
|
): asserts value is Hex {
|
|
38
|
-
const { strict = false } = options
|
|
38
|
+
const { even = false, strict = false } = options
|
|
39
39
|
if (typeof value !== 'string') throw new InvalidHexTypeError(value)
|
|
40
40
|
if (strict) {
|
|
41
41
|
if (!/^0x[0-9a-fA-F]*$/.test(value)) throw new InvalidHexValueError(value)
|
|
42
42
|
}
|
|
43
43
|
if (!value.startsWith('0x')) throw new InvalidHexValueError(value)
|
|
44
|
+
if (even && value.length % 2 !== 0) throw new InvalidLengthError(value as Hex)
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export declare namespace assert {
|
|
47
48
|
type Options = {
|
|
49
|
+
/**
|
|
50
|
+
* Checks if the {@link ox#Hex.Hex} value has an even number of hexadecimal characters (whole bytes).
|
|
51
|
+
* Keep disabled for RPC quantities (e.g. `0x0`, `0x400`).
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
even?: boolean | undefined
|
|
48
55
|
/** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
|
|
49
56
|
strict?: boolean | undefined
|
|
50
57
|
}
|
|
@@ -52,6 +59,7 @@ export declare namespace assert {
|
|
|
52
59
|
type ErrorType =
|
|
53
60
|
| InvalidHexTypeError
|
|
54
61
|
| InvalidHexValueError
|
|
62
|
+
| InvalidLengthError
|
|
55
63
|
| Errors.GlobalErrorType
|
|
56
64
|
}
|
|
57
65
|
|
|
@@ -815,9 +823,9 @@ export function validate(
|
|
|
815
823
|
value: unknown,
|
|
816
824
|
options: validate.Options = {},
|
|
817
825
|
): value is Hex {
|
|
818
|
-
const { strict = false } = options
|
|
826
|
+
const { even = false, strict = false } = options
|
|
819
827
|
try {
|
|
820
|
-
assert(value, { strict })
|
|
828
|
+
assert(value, { even, strict })
|
|
821
829
|
return true
|
|
822
830
|
} catch {
|
|
823
831
|
return false
|
|
@@ -826,6 +834,12 @@ export function validate(
|
|
|
826
834
|
|
|
827
835
|
export declare namespace validate {
|
|
828
836
|
type Options = {
|
|
837
|
+
/**
|
|
838
|
+
* Checks if the {@link ox#Hex.Hex} value has an even number of hexadecimal characters (whole bytes).
|
|
839
|
+
* Keep disabled for RPC quantities (e.g. `0x0`, `0x400`).
|
|
840
|
+
* @default false
|
|
841
|
+
*/
|
|
842
|
+
even?: boolean | undefined
|
|
829
843
|
/** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
|
|
830
844
|
strict?: boolean | undefined
|
|
831
845
|
}
|
package/src/core/RpcTransport.ts
CHANGED
|
@@ -102,19 +102,20 @@ export function fromHttp<
|
|
|
102
102
|
? await fetchOptions_(body_)
|
|
103
103
|
: fetchOptions_
|
|
104
104
|
|
|
105
|
-
const response = await promise.withTimeout(
|
|
106
|
-
({ signal }) => {
|
|
105
|
+
const { response, text } = await promise.withTimeout(
|
|
106
|
+
async ({ signal }) => {
|
|
107
107
|
const externalSignal = fetchOptions?.signal
|
|
108
108
|
const timeoutSignal = timeout > 0 ? signal : null
|
|
109
109
|
const signals = [externalSignal, timeoutSignal].filter(
|
|
110
110
|
(s): s is AbortSignal => Boolean(s),
|
|
111
111
|
)
|
|
112
|
-
const composedSignal =
|
|
113
|
-
signals.length
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
const composedSignal = (() => {
|
|
113
|
+
if (signals.length < 2) return signals[0] ?? null
|
|
114
|
+
// Runtimes without `AbortSignal.any` (e.g. Node < 18.17) keep
|
|
115
|
+
// only the caller's signal.
|
|
116
|
+
if (typeof AbortSignal.any !== 'function') return signals[0]!
|
|
117
|
+
return AbortSignal.any(signals)
|
|
118
|
+
})()
|
|
118
119
|
const init: RequestInit = {
|
|
119
120
|
...fetchOptions,
|
|
120
121
|
body,
|
|
@@ -125,7 +126,10 @@ export function fromHttp<
|
|
|
125
126
|
method: fetchOptions?.method ?? 'POST',
|
|
126
127
|
signal: composedSignal,
|
|
127
128
|
}
|
|
128
|
-
|
|
129
|
+
const response = await fetchFn(url, init)
|
|
130
|
+
// Read the body within the timeout too, so a response that stalls
|
|
131
|
+
// after its headers cannot hang the request.
|
|
132
|
+
return { response, text: await response.text() }
|
|
129
133
|
},
|
|
130
134
|
{
|
|
131
135
|
timeout,
|
|
@@ -136,22 +140,22 @@ export function fromHttp<
|
|
|
136
140
|
// Always read as text so we can handle empty bodies and non-JSON
|
|
137
141
|
// payloads (some servers return `Content-Type: application/json` with
|
|
138
142
|
// an empty body for error responses).
|
|
139
|
-
const data =
|
|
140
|
-
if (
|
|
143
|
+
const data = (() => {
|
|
144
|
+
if (text === '') {
|
|
141
145
|
if (response.ok)
|
|
142
|
-
throw new MalformedResponseError({ response:
|
|
146
|
+
throw new MalformedResponseError({ response: text })
|
|
143
147
|
return { error: undefined }
|
|
144
148
|
}
|
|
145
149
|
try {
|
|
146
|
-
return JSON.parse(
|
|
150
|
+
return JSON.parse(text)
|
|
147
151
|
} catch {
|
|
148
152
|
if (response.ok)
|
|
149
153
|
throw new MalformedResponseError({
|
|
150
|
-
response:
|
|
154
|
+
response: text,
|
|
151
155
|
})
|
|
152
|
-
return { error:
|
|
156
|
+
return { error: text }
|
|
153
157
|
}
|
|
154
|
-
})
|
|
158
|
+
})()
|
|
155
159
|
|
|
156
160
|
if (!response.ok) {
|
|
157
161
|
const error = (data as { error?: unknown })?.error
|