ox 0.14.51 → 0.14.53
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 +31 -0
- package/_cjs/core/Transaction.js +8 -0
- package/_cjs/core/Transaction.js.map +1 -1
- package/_cjs/core/TransactionRequest.js +5 -0
- package/_cjs/core/TransactionRequest.js.map +1 -1
- package/_cjs/core/TxEnvelopeEip8141.js +37 -8
- package/_cjs/core/TxEnvelopeEip8141.js.map +1 -1
- package/_cjs/core/internal/frameNonce.js +57 -0
- package/_cjs/core/internal/frameNonce.js.map +1 -0
- package/_cjs/version.js +1 -1
- package/_esm/core/Transaction.js +8 -0
- package/_esm/core/Transaction.js.map +1 -1
- package/_esm/core/TransactionRequest.js +5 -0
- package/_esm/core/TransactionRequest.js.map +1 -1
- package/_esm/core/TxEnvelopeEip8141.js +37 -8
- package/_esm/core/TxEnvelopeEip8141.js.map +1 -1
- package/_esm/core/internal/frameNonce.js +62 -0
- package/_esm/core/internal/frameNonce.js.map +1 -0
- package/_esm/version.js +1 -1
- package/_types/core/Transaction.d.ts +5 -2
- package/_types/core/Transaction.d.ts.map +1 -1
- package/_types/core/TransactionRequest.d.ts +5 -2
- package/_types/core/TransactionRequest.d.ts.map +1 -1
- package/_types/core/TxEnvelopeEip8141.d.ts +18 -7
- package/_types/core/TxEnvelopeEip8141.d.ts.map +1 -1
- package/_types/core/internal/frameNonce.d.ts +21 -0
- package/_types/core/internal/frameNonce.d.ts.map +1 -0
- package/_types/core/internal/rpcSchemas/eth.d.ts +11 -2
- package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/Transaction.ts +17 -0
- package/core/TransactionRequest.ts +9 -0
- package/core/TxEnvelopeEip8141.ts +61 -13
- package/core/internal/frameNonce.ts +70 -0
- package/core/internal/rpcSchemas/eth.ts +10 -1
- package/package.json +1 -1
- package/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# ox
|
|
2
2
|
|
|
3
|
+
## 0.14.53
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#494](https://github.com/wevm/ox/pull/494) [`5c4e554`](https://github.com/wevm/ox/commit/5c4e554c2a3501b2a3d69d168d0f1eac8091821a) Thanks [@jxom](https://github.com/jxom)! - Added optional `nonceKeys` to `eth_getTransactionCount` requests.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
const nonce = await provider.request({
|
|
11
|
+
method: "eth_getTransactionCount",
|
|
12
|
+
params: [address, "pending", ["0x1", "0x2"]],
|
|
13
|
+
});
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 0.14.52
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [#490](https://github.com/wevm/ox/pull/490) [`e5056e3`](https://github.com/wevm/ox/commit/e5056e3dd9cb6f3ad15fdebda67a21690b0a4d7d) Thanks [@jxom](https://github.com/jxom)! - Added EIP-8250 keyed frame nonces with shared `nonce` sequences while preserving the original EIP-8141 encoding when `nonceKeys` is omitted.
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import { TxEnvelopeEip8141 } from "ox";
|
|
24
|
+
|
|
25
|
+
const envelope = TxEnvelopeEip8141.from({
|
|
26
|
+
chainId: 1,
|
|
27
|
+
sender: "0x1111111111111111111111111111111111111111",
|
|
28
|
+
frames: [{ mode: "sender", executionGas: 50_000n }],
|
|
29
|
+
nonceKeys: [1n, 2n],
|
|
30
|
+
nonce: 0n,
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
3
34
|
## 0.14.51
|
|
4
35
|
|
|
5
36
|
### Patch Changes
|
package/_cjs/core/Transaction.js
CHANGED
|
@@ -7,6 +7,7 @@ const Authorization = require("./Authorization.js");
|
|
|
7
7
|
const Frame = require("./Frame.js");
|
|
8
8
|
const FrameSignature = require("./FrameSignature.js");
|
|
9
9
|
const Hex = require("./Hex.js");
|
|
10
|
+
const FrameNonce = require("./internal/frameNonce.js");
|
|
10
11
|
const Signature = require("./Signature.js");
|
|
11
12
|
exports.toRpcType = {
|
|
12
13
|
legacy: '0x0',
|
|
@@ -48,6 +49,11 @@ function fromRpc(transaction, _options = {}) {
|
|
|
48
49
|
? Number(transaction.transactionIndex)
|
|
49
50
|
: null;
|
|
50
51
|
transaction_.value = BigInt(transaction.value ?? 0n);
|
|
52
|
+
if (transaction.type === '0x6' && transaction.nonceKeys !== undefined) {
|
|
53
|
+
if (transaction.nonce === undefined)
|
|
54
|
+
throw new FrameNonce.InvalidError('A keyed transaction result requires nonce.');
|
|
55
|
+
transaction_.nonceKeys = FrameNonce.fromRpc(transaction.nonceKeys, transaction.nonce);
|
|
56
|
+
}
|
|
51
57
|
if (transaction.frames)
|
|
52
58
|
transaction_.frames = transaction.frames.map(Frame.fromRpc);
|
|
53
59
|
if (transaction.signatures)
|
|
@@ -97,6 +103,8 @@ function toRpc(transaction, _options) {
|
|
|
97
103
|
: null;
|
|
98
104
|
rpc.type = exports.toRpcType[transaction.type] ?? transaction.type;
|
|
99
105
|
rpc.value = Hex.fromNumber(transaction.value ?? 0n);
|
|
106
|
+
if (transaction.type === 'eip8141' && transaction.nonceKeys !== undefined)
|
|
107
|
+
rpc.nonceKeys = FrameNonce.toRpc(transaction.nonceKeys, transaction.nonce);
|
|
100
108
|
if (transaction.frames)
|
|
101
109
|
rpc.frames = transaction.frames.map(Frame.toRpc);
|
|
102
110
|
if (transaction.signatures)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../core/Transaction.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../core/Transaction.ts"],"names":[],"mappings":";;;AAqUA,0BAuEC;AAkDD,sBAyDC;AArfD,oDAAmD;AAEnD,oCAAmC;AACnC,sDAAqD;AACrD,gCAA+B;AAC/B,uDAAsD;AAEtD,4CAA2C;AA4P9B,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACN,CAAA;AAQG,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;CACR,CAAA;AA0CV,SAAgB,OAAO,CAIrB,WAA8C,EAC9C,WAAqC,EAAE;IAEvC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAa,CAAA;IAEtC,MAAM,SAAS,GACb,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAEzE,MAAM,YAAY,GAAG;QACnB,GAAG,WAAW;QACd,GAAG,SAAS;KACsB,CAAA;IAEpC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW;QAChD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,IAAI,CAAA;IACR,IAAI,gBAAgB,IAAI,WAAW;QACjC,YAAY,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc;YACtD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;YACpC,CAAC,CAAC,WAAW,CAAC,cAAc,KAAK,IAAI;gBACnC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS,CAAA;IACjB,YAAY,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAA;IACrC,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAChD,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACpD,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB;QAC1D,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;QACtC,CAAC,CAAC,IAAI,CAAA;IACR,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAEpD,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACtE,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS;YACjC,MAAM,IAAI,UAAU,CAAC,YAAY,CAC/B,4CAA4C,CAC7C,CAAA;QACH,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,OAAO,CACzC,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,KAAK,CAClB,CAAA;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM;QACpB,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,WAAW,CAAC,UAAU;QACxB,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC9E,IAAI,WAAW,CAAC,iBAAiB;QAC/B,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,WAAW,CACxD,WAAW,CAAC,iBAAiB,CAC9B,CAAA;IACH,IAAI,WAAW,CAAC,OAAO;QACrB,YAAY,CAAC,OAAO;YAClB,WAAW,CAAC,IAAI,KAAK,KAAK;gBAC1B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACnC,IAAI,WAAW,CAAC,QAAQ;QAAE,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC9E,IAAI,WAAW,CAAC,gBAAgB;QAC9B,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACtE,IAAI,WAAW,CAAC,YAAY;QAC1B,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC9D,IAAI,WAAW,CAAC,oBAAoB;QAClC,YAAY,CAAC,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAC9E,IAAI,WAAW,CAAC,IAAI;QAClB,YAAY,CAAC,IAAI;YACd,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAA;IAC9D,IAAI,SAAS;QAAE,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAEvE,OAAO,YAAqB,CAAA;AAC9B,CAAC;AAkDD,SAAgB,KAAK,CACnB,WAAiC,EACjC,QAAiC;IAEjC,MAAM,GAAG,GAAG,EAAkB,CAAA;IAE9B,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAA;IACrC,GAAG,CAAC,WAAW;QACb,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ;YACzC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,IAAI,CAAA;IACV,IAAI,OAAO,WAAW,CAAC,cAAc,KAAK,QAAQ;QAChD,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;SAC5D,IAAI,WAAW,CAAC,cAAc,KAAK,IAAI;QAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAA;IACvE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;IAC3B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;IAC3B,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;IAC7B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACnD,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAA;IACvB,GAAG,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB;QACjD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAA;IACR,GAAG,CAAC,IAAI,GAAI,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAA;IACnE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAEnD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS;QACvE,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IAC5E,IAAI,WAAW,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxE,IAAI,WAAW,CAAC,UAAU;QACxB,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACnE,IAAI,WAAW,CAAC,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;IACnE,IAAI,WAAW,CAAC,iBAAiB;QAC/B,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAC7C,WAAW,CAAC,iBAAiB,CAC9B,CAAA;IACH,IAAI,WAAW,CAAC,mBAAmB;QACjC,GAAG,CAAC,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAA;IAC3D,IAAI,WAAW,CAAC,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAC1E,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ;QAC1C,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,OAAO,WAAW,CAAC,gBAAgB,KAAK,QAAQ;QAClD,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACrE,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,QAAQ;QAC9C,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,OAAO,WAAW,CAAC,oBAAoB,KAAK,QAAQ;QACtD,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAC7E,IAAI,OAAO,WAAW,CAAC,CAAC,KAAK,QAAQ;QACnC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,WAAW,CAAC,CAAC,KAAK,QAAQ;QACnC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,WAAW,CAAC,CAAC,KAAK,QAAQ;QACnC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;IACpD,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;QACzC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAEzD,OAAO,GAAmB,CAAA;AAC5B,CAAC"}
|
|
@@ -6,6 +6,7 @@ const Authorization = require("./Authorization.js");
|
|
|
6
6
|
const FrameRequest = require("./FrameRequest.js");
|
|
7
7
|
const FrameSignature = require("./FrameSignature.js");
|
|
8
8
|
const Hex = require("./Hex.js");
|
|
9
|
+
const FrameNonce = require("./internal/frameNonce.js");
|
|
9
10
|
const Transaction = require("./Transaction.js");
|
|
10
11
|
function fromRpc(request) {
|
|
11
12
|
const request_ = { ...request };
|
|
@@ -29,6 +30,8 @@ function fromRpc(request) {
|
|
|
29
30
|
request_.maxPriorityFeePerGas = Hex.toBigInt(request.maxPriorityFeePerGas);
|
|
30
31
|
if (typeof request.nonce !== 'undefined')
|
|
31
32
|
request_.nonce = Hex.toBigInt(request.nonce);
|
|
33
|
+
if (request.nonceKeys !== undefined)
|
|
34
|
+
request_.nonceKeys = FrameNonce.fromRpc(request.nonceKeys, request.nonce);
|
|
32
35
|
if (typeof request.type !== 'undefined')
|
|
33
36
|
request_.type =
|
|
34
37
|
Transaction.fromRpcType[request.type] || request.type;
|
|
@@ -76,6 +79,8 @@ function toRpc(request) {
|
|
|
76
79
|
request_rpc.maxPriorityFeePerGas = Hex.fromNumber(request.maxPriorityFeePerGas);
|
|
77
80
|
if (typeof request.nonce !== 'undefined')
|
|
78
81
|
request_rpc.nonce = Hex.fromNumber(request.nonce);
|
|
82
|
+
if (request.nonceKeys !== undefined)
|
|
83
|
+
request_rpc.nonceKeys = FrameNonce.toRpc(request.nonceKeys, request.nonce);
|
|
79
84
|
if (typeof request.to !== 'undefined')
|
|
80
85
|
request_rpc.to = request.to;
|
|
81
86
|
if (typeof request.type !== 'undefined')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,17 +18,20 @@ const Frame = require("./Frame.js");
|
|
|
18
18
|
const FrameSignature = require("./FrameSignature.js");
|
|
19
19
|
const Hash = require("./Hash.js");
|
|
20
20
|
const Hex = require("./Hex.js");
|
|
21
|
+
const FrameNonce = require("./internal/frameNonce.js");
|
|
21
22
|
const Quantity = require("./internal/quantity.js");
|
|
22
23
|
const Rlp = require("./Rlp.js");
|
|
23
24
|
exports.serializedType = '0x06';
|
|
24
25
|
exports.type = 'eip8141';
|
|
25
26
|
function assert(envelope) {
|
|
26
|
-
const { blobVersionedHashes = [], chainId, frames, maxFeePerBlobGas = 0n, maxFeePerGas = 0n, maxPriorityFeePerGas = 0n, nonce = 0n, sender, signatures = [], } = envelope;
|
|
27
|
+
const { blobVersionedHashes = [], chainId, frames, maxFeePerBlobGas = 0n, maxFeePerGas = 0n, maxPriorityFeePerGas = 0n, nonce = 0n, nonceKeys, sender, signatures = [], } = envelope;
|
|
27
28
|
if ((typeof chainId !== 'bigint' &&
|
|
28
29
|
(typeof chainId !== 'number' || !Number.isSafeInteger(chainId))) ||
|
|
29
30
|
BigInt(chainId) < 0n ||
|
|
30
31
|
BigInt(chainId) >= 2n ** 256n)
|
|
31
32
|
throw new InvalidError('chainId must be an unsigned 256-bit integer; use bigint for large IDs.');
|
|
33
|
+
if (nonceKeys !== undefined)
|
|
34
|
+
FrameNonce.assert(nonceKeys, nonce);
|
|
32
35
|
Address.assert(sender, { strict: false });
|
|
33
36
|
for (const [field, value, bits] of [
|
|
34
37
|
['maxFeePerBlobGas', maxFeePerBlobGas, 256n],
|
|
@@ -63,6 +66,10 @@ function assert(envelope) {
|
|
|
63
66
|
tokens += byte === 0 ? 1n : 4n;
|
|
64
67
|
size += BigInt(Hex.size(data));
|
|
65
68
|
};
|
|
69
|
+
if (nonceKeys !== undefined) {
|
|
70
|
+
count(Rlp.fromHex(nonceKeys.map((key) => key === 0n ? '0x' : Hex.fromBytes(Bytes.fromNumber(key)))));
|
|
71
|
+
count(Rlp.fromHex(nonce === 0n ? '0x' : Hex.fromBytes(Bytes.fromNumber(nonce))));
|
|
72
|
+
}
|
|
66
73
|
for (const [index, frame] of frames.entries()) {
|
|
67
74
|
Frame.assert(frame);
|
|
68
75
|
const flags = typeof frame.flags === 'string'
|
|
@@ -120,9 +127,14 @@ function deserialize(serialized) {
|
|
|
120
127
|
throw new InvalidError('Expected a transaction list.');
|
|
121
128
|
const wrapped = Array.isArray(decoded[0]);
|
|
122
129
|
const body = wrapped ? decoded[0] : decoded;
|
|
123
|
-
if (!Array.isArray(body) || body.length !== 7)
|
|
124
|
-
throw new InvalidError('Expected seven transaction fields.');
|
|
125
|
-
const
|
|
130
|
+
if (!Array.isArray(body) || (body.length !== 7 && body.length !== 8))
|
|
131
|
+
throw new InvalidError('Expected seven or eight transaction fields.');
|
|
132
|
+
const keyed = body.length === 8;
|
|
133
|
+
const [chainId, ...fields] = body;
|
|
134
|
+
const keys = keyed ? fields.shift() : undefined;
|
|
135
|
+
if (keyed && !Array.isArray(keys))
|
|
136
|
+
throw new InvalidError('Expected a nonce key list.');
|
|
137
|
+
const [nonce, sender, frames, signatures, fees, hashes] = fields;
|
|
126
138
|
if (typeof sender !== 'string' ||
|
|
127
139
|
!Array.isArray(frames) ||
|
|
128
140
|
!Array.isArray(signatures) ||
|
|
@@ -146,6 +158,7 @@ function deserialize(serialized) {
|
|
|
146
158
|
maxFeePerGas: integer(fees[1]),
|
|
147
159
|
maxPriorityFeePerGas: integer(fees[0]),
|
|
148
160
|
nonce: integer(nonce),
|
|
161
|
+
...(Array.isArray(keys) ? { nonceKeys: keys.map(integer) } : {}),
|
|
149
162
|
sender: sender,
|
|
150
163
|
signatures: signatures.map((entry) => FrameSignature.fromTuple(entry)),
|
|
151
164
|
type: exports.type,
|
|
@@ -183,6 +196,9 @@ function fromRpc(envelope) {
|
|
|
183
196
|
maxFeePerGas: Hex.toBigInt(envelope.maxFeePerGas),
|
|
184
197
|
maxPriorityFeePerGas: Hex.toBigInt(envelope.maxPriorityFeePerGas),
|
|
185
198
|
nonce: Hex.toBigInt(envelope.nonce),
|
|
199
|
+
...(envelope.nonceKeys !== undefined
|
|
200
|
+
? { nonceKeys: FrameNonce.fromRpc(envelope.nonceKeys, envelope.nonce) }
|
|
201
|
+
: {}),
|
|
186
202
|
sender: envelope.from,
|
|
187
203
|
signatures: envelope.signatures.map(FrameSignature.fromRpc),
|
|
188
204
|
});
|
|
@@ -197,6 +213,9 @@ function toRpc(envelope) {
|
|
|
197
213
|
maxFeePerGas: Quantity.fromNumberish(envelope.maxFeePerGas ?? 0n),
|
|
198
214
|
maxPriorityFeePerGas: Quantity.fromNumberish(envelope.maxPriorityFeePerGas ?? 0n),
|
|
199
215
|
nonce: Quantity.fromNumberish(envelope.nonce ?? 0n),
|
|
216
|
+
...(envelope.nonceKeys !== undefined
|
|
217
|
+
? { nonceKeys: FrameNonce.toRpc(envelope.nonceKeys, envelope.nonce) }
|
|
218
|
+
: {}),
|
|
200
219
|
signatures: (envelope.signatures ?? []).map(FrameSignature.toRpc),
|
|
201
220
|
type: '0x6',
|
|
202
221
|
};
|
|
@@ -207,8 +226,12 @@ function getSignPayload(envelope) {
|
|
|
207
226
|
function hash(envelope, options = {}) {
|
|
208
227
|
assert(envelope);
|
|
209
228
|
const body = toTuple(envelope);
|
|
210
|
-
if (options.presign)
|
|
211
|
-
|
|
229
|
+
if (options.presign) {
|
|
230
|
+
const signatures = body.length === 8 ? body[5] : body[4];
|
|
231
|
+
for (const [index, entry] of signatures.entries())
|
|
232
|
+
if (entry[2] === '0x')
|
|
233
|
+
signatures[index] = [entry[0], entry[1], entry[2], '0x'];
|
|
234
|
+
}
|
|
212
235
|
return Hash.keccak256(Hex.concat(exports.serializedType, Rlp.fromHex(body)));
|
|
213
236
|
}
|
|
214
237
|
function serialize(envelope) {
|
|
@@ -265,8 +288,7 @@ class InvalidError extends Errors.BaseError {
|
|
|
265
288
|
exports.InvalidError = InvalidError;
|
|
266
289
|
function toTuple(envelope) {
|
|
267
290
|
const quantity = (value) => value ? Hex.fromBytes(Bytes.fromNumber(value)) : '0x';
|
|
268
|
-
|
|
269
|
-
quantity(envelope.chainId),
|
|
291
|
+
const fields = [
|
|
270
292
|
quantity(envelope.nonce),
|
|
271
293
|
envelope.sender,
|
|
272
294
|
envelope.frames.map((frame) => Frame.toTuple(frame)),
|
|
@@ -278,5 +300,12 @@ function toTuple(envelope) {
|
|
|
278
300
|
],
|
|
279
301
|
envelope.blobVersionedHashes ?? [],
|
|
280
302
|
];
|
|
303
|
+
return envelope.nonceKeys === undefined
|
|
304
|
+
? [quantity(envelope.chainId), ...fields]
|
|
305
|
+
: [
|
|
306
|
+
quantity(envelope.chainId),
|
|
307
|
+
envelope.nonceKeys.map(quantity),
|
|
308
|
+
...fields,
|
|
309
|
+
];
|
|
281
310
|
}
|
|
282
311
|
//# sourceMappingURL=TxEnvelopeEip8141.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxEnvelopeEip8141.js","sourceRoot":"","sources":["../../core/TxEnvelopeEip8141.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TxEnvelopeEip8141.js","sourceRoot":"","sources":["../../core/TxEnvelopeEip8141.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidError = void 0;
|
|
4
|
+
exports.assert = assert;
|
|
5
|
+
exports.fromRpc = fromRpc;
|
|
6
|
+
exports.toRpc = toRpc;
|
|
7
|
+
const Errors = require("../Errors.js");
|
|
8
|
+
const Hex = require("../Hex.js");
|
|
9
|
+
const Quantity = require("./quantity.js");
|
|
10
|
+
function assert(keys, nonce) {
|
|
11
|
+
if (!Array.isArray(keys) || keys.length < 1 || keys.length > 16)
|
|
12
|
+
throw new InvalidError('Expected between 1 and 16 nonce keys.');
|
|
13
|
+
for (const [index, key] of keys.entries()) {
|
|
14
|
+
if (typeof key !== 'bigint' || key < 0n || key >= 2n ** 256n)
|
|
15
|
+
throw new InvalidError('Nonce keys must be unsigned 256-bit integers.');
|
|
16
|
+
if (index > 0 && key <= keys[index - 1])
|
|
17
|
+
throw new InvalidError('Nonce keys must be strictly increasing.');
|
|
18
|
+
}
|
|
19
|
+
if (keys.length > 1 && keys[0] === 0n)
|
|
20
|
+
throw new InvalidError('The zero nonce key cannot be combined with other keys.');
|
|
21
|
+
if (nonce !== undefined &&
|
|
22
|
+
(typeof nonce !== 'bigint' || nonce < 0n || nonce >= 2n ** 64n - 1n))
|
|
23
|
+
throw new InvalidError('Nonce must be less than 2^64 - 1 and nonnegative.');
|
|
24
|
+
}
|
|
25
|
+
function fromRpc(keys, nonce) {
|
|
26
|
+
if (!Array.isArray(keys))
|
|
27
|
+
throw new InvalidError('Expected a nonce key list.');
|
|
28
|
+
const integer = (value) => {
|
|
29
|
+
if (typeof value !== 'string' ||
|
|
30
|
+
!/^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$/.test(value))
|
|
31
|
+
throw new InvalidError('Expected a canonical RPC nonce quantity.');
|
|
32
|
+
return Hex.toBigInt(value);
|
|
33
|
+
};
|
|
34
|
+
const decoded = keys.map(integer);
|
|
35
|
+
assert(decoded, nonce === undefined ? undefined : integer(nonce));
|
|
36
|
+
return decoded;
|
|
37
|
+
}
|
|
38
|
+
function toRpc(keys, nonce) {
|
|
39
|
+
if (!Array.isArray(keys))
|
|
40
|
+
throw new InvalidError('Expected a nonce key list.');
|
|
41
|
+
const encoded = keys.map((key) => Quantity.fromNumberish(key));
|
|
42
|
+
fromRpc(encoded, nonce === undefined ? undefined : Quantity.fromNumberish(nonce));
|
|
43
|
+
return encoded;
|
|
44
|
+
}
|
|
45
|
+
class InvalidError extends Errors.BaseError {
|
|
46
|
+
constructor() {
|
|
47
|
+
super(...arguments);
|
|
48
|
+
Object.defineProperty(this, "name", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
value: 'FrameNonce.InvalidError'
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.InvalidError = InvalidError;
|
|
57
|
+
//# sourceMappingURL=frameNonce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameNonce.js","sourceRoot":"","sources":["../../../core/internal/frameNonce.ts"],"names":[],"mappings":";;;AAQA,wBAkBC;AAMD,0BAgBC;AAMD,sBAWC;AAjED,uCAAsC;AACtC,iCAAgC;AAChC,0CAAyC;AAMzC,SAAgB,MAAM,CAAC,IAAuB,EAAE,KAAc;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAC7D,MAAM,IAAI,YAAY,CAAC,uCAAuC,CAAC,CAAA;IACjE,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI;YAC1D,MAAM,IAAI,YAAY,CAAC,+CAA+C,CAAC,CAAA;QACzE,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE;YACtC,MAAM,IAAI,YAAY,CAAC,yCAAyC,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;QACnC,MAAM,IAAI,YAAY,CACpB,wDAAwD,CACzD,CAAA;IACH,IACE,KAAK,KAAK,SAAS;QACnB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;QAEpE,MAAM,IAAI,YAAY,CAAC,mDAAmD,CAAC,CAAA;AAC/E,CAAC;AAMD,SAAgB,OAAO,CACrB,IAAwB,EACxB,KAAe;IAEf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE;QACzC,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC;YAEhD,MAAM,IAAI,YAAY,CAAC,0CAA0C,CAAC,CAAA;QACpE,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,OAAO,OAAO,CAAA;AAChB,CAAC;AAMD,SAAgB,KAAK,CACnB,IAA4C,EAC5C,KAAiC;IAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,OAAO,CACL,OAAO,EACP,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAChE,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAa,YAAa,SAAQ,MAAM,CAAC,SAAS;IAAlD;;QACoB;;;;mBAAO,yBAAyB;WAAA;IACpD,CAAC;CAAA;AAFD,oCAEC"}
|
package/_cjs/version.js
CHANGED
package/_esm/core/Transaction.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as Authorization from './Authorization.js';
|
|
|
2
2
|
import * as Frame from './Frame.js';
|
|
3
3
|
import * as FrameSignature from './FrameSignature.js';
|
|
4
4
|
import * as Hex from './Hex.js';
|
|
5
|
+
import * as FrameNonce from './internal/frameNonce.js';
|
|
5
6
|
import * as Signature from './Signature.js';
|
|
6
7
|
/** Type to RPC Type mapping. */
|
|
7
8
|
export const toRpcType = {
|
|
@@ -79,6 +80,11 @@ export function fromRpc(transaction, _options = {}) {
|
|
|
79
80
|
? Number(transaction.transactionIndex)
|
|
80
81
|
: null;
|
|
81
82
|
transaction_.value = BigInt(transaction.value ?? 0n);
|
|
83
|
+
if (transaction.type === '0x6' && transaction.nonceKeys !== undefined) {
|
|
84
|
+
if (transaction.nonce === undefined)
|
|
85
|
+
throw new FrameNonce.InvalidError('A keyed transaction result requires nonce.');
|
|
86
|
+
transaction_.nonceKeys = FrameNonce.fromRpc(transaction.nonceKeys, transaction.nonce);
|
|
87
|
+
}
|
|
82
88
|
if (transaction.frames)
|
|
83
89
|
transaction_.frames = transaction.frames.map(Frame.fromRpc);
|
|
84
90
|
if (transaction.signatures)
|
|
@@ -163,6 +169,8 @@ export function toRpc(transaction, _options) {
|
|
|
163
169
|
: null;
|
|
164
170
|
rpc.type = toRpcType[transaction.type] ?? transaction.type;
|
|
165
171
|
rpc.value = Hex.fromNumber(transaction.value ?? 0n);
|
|
172
|
+
if (transaction.type === 'eip8141' && transaction.nonceKeys !== undefined)
|
|
173
|
+
rpc.nonceKeys = FrameNonce.toRpc(transaction.nonceKeys, transaction.nonce);
|
|
166
174
|
if (transaction.frames)
|
|
167
175
|
rpc.frames = transaction.frames.map(Frame.toRpc);
|
|
168
176
|
if (transaction.signatures)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../core/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../core/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as Authorization from './Authorization.js';
|
|
|
2
2
|
import * as FrameRequest from './FrameRequest.js';
|
|
3
3
|
import * as FrameSignature from './FrameSignature.js';
|
|
4
4
|
import * as Hex from './Hex.js';
|
|
5
|
+
import * as FrameNonce from './internal/frameNonce.js';
|
|
5
6
|
import * as Transaction from './Transaction.js';
|
|
6
7
|
/**
|
|
7
8
|
* Converts a {@link ox#TransactionRequest.Rpc} to a {@link ox#TransactionRequest.TransactionRequest}.
|
|
@@ -41,6 +42,8 @@ export function fromRpc(request) {
|
|
|
41
42
|
request_.maxPriorityFeePerGas = Hex.toBigInt(request.maxPriorityFeePerGas);
|
|
42
43
|
if (typeof request.nonce !== 'undefined')
|
|
43
44
|
request_.nonce = Hex.toBigInt(request.nonce);
|
|
45
|
+
if (request.nonceKeys !== undefined)
|
|
46
|
+
request_.nonceKeys = FrameNonce.fromRpc(request.nonceKeys, request.nonce);
|
|
44
47
|
if (typeof request.type !== 'undefined')
|
|
45
48
|
request_.type =
|
|
46
49
|
Transaction.fromRpcType[request.type] || request.type;
|
|
@@ -127,6 +130,8 @@ export function toRpc(request) {
|
|
|
127
130
|
request_rpc.maxPriorityFeePerGas = Hex.fromNumber(request.maxPriorityFeePerGas);
|
|
128
131
|
if (typeof request.nonce !== 'undefined')
|
|
129
132
|
request_rpc.nonce = Hex.fromNumber(request.nonce);
|
|
133
|
+
if (request.nonceKeys !== undefined)
|
|
134
|
+
request_rpc.nonceKeys = FrameNonce.toRpc(request.nonceKeys, request.nonce);
|
|
130
135
|
if (typeof request.to !== 'undefined')
|
|
131
136
|
request_rpc.to = request.to;
|
|
132
137
|
if (typeof request.type !== 'undefined')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import * as Frame from './Frame.js';
|
|
|
6
6
|
import * as FrameSignature from './FrameSignature.js';
|
|
7
7
|
import * as Hash from './Hash.js';
|
|
8
8
|
import * as Hex from './Hex.js';
|
|
9
|
+
import * as FrameNonce from './internal/frameNonce.js';
|
|
9
10
|
import * as Quantity from './internal/quantity.js';
|
|
10
11
|
import * as Rlp from './Rlp.js';
|
|
11
12
|
/** Serialized EIP-8141 transaction type prefix. */
|
|
@@ -34,12 +35,14 @@ export const type = 'eip8141';
|
|
|
34
35
|
* @param envelope - The transaction envelope to assert.
|
|
35
36
|
*/
|
|
36
37
|
export function assert(envelope) {
|
|
37
|
-
const { blobVersionedHashes = [], chainId, frames, maxFeePerBlobGas = 0n, maxFeePerGas = 0n, maxPriorityFeePerGas = 0n, nonce = 0n, sender, signatures = [], } = envelope;
|
|
38
|
+
const { blobVersionedHashes = [], chainId, frames, maxFeePerBlobGas = 0n, maxFeePerGas = 0n, maxPriorityFeePerGas = 0n, nonce = 0n, nonceKeys, sender, signatures = [], } = envelope;
|
|
38
39
|
if ((typeof chainId !== 'bigint' &&
|
|
39
40
|
(typeof chainId !== 'number' || !Number.isSafeInteger(chainId))) ||
|
|
40
41
|
BigInt(chainId) < 0n ||
|
|
41
42
|
BigInt(chainId) >= 2n ** 256n)
|
|
42
43
|
throw new InvalidError('chainId must be an unsigned 256-bit integer; use bigint for large IDs.');
|
|
44
|
+
if (nonceKeys !== undefined)
|
|
45
|
+
FrameNonce.assert(nonceKeys, nonce);
|
|
43
46
|
Address.assert(sender, { strict: false });
|
|
44
47
|
for (const [field, value, bits] of [
|
|
45
48
|
['maxFeePerBlobGas', maxFeePerBlobGas, 256n],
|
|
@@ -74,6 +77,10 @@ export function assert(envelope) {
|
|
|
74
77
|
tokens += byte === 0 ? 1n : 4n;
|
|
75
78
|
size += BigInt(Hex.size(data));
|
|
76
79
|
};
|
|
80
|
+
if (nonceKeys !== undefined) {
|
|
81
|
+
count(Rlp.fromHex(nonceKeys.map((key) => key === 0n ? '0x' : Hex.fromBytes(Bytes.fromNumber(key)))));
|
|
82
|
+
count(Rlp.fromHex(nonce === 0n ? '0x' : Hex.fromBytes(Bytes.fromNumber(nonce))));
|
|
83
|
+
}
|
|
77
84
|
for (const [index, frame] of frames.entries()) {
|
|
78
85
|
Frame.assert(frame);
|
|
79
86
|
const flags = typeof frame.flags === 'string'
|
|
@@ -153,9 +160,14 @@ export function deserialize(serialized) {
|
|
|
153
160
|
throw new InvalidError('Expected a transaction list.');
|
|
154
161
|
const wrapped = Array.isArray(decoded[0]);
|
|
155
162
|
const body = wrapped ? decoded[0] : decoded;
|
|
156
|
-
if (!Array.isArray(body) || body.length !== 7)
|
|
157
|
-
throw new InvalidError('Expected seven transaction fields.');
|
|
158
|
-
const
|
|
163
|
+
if (!Array.isArray(body) || (body.length !== 7 && body.length !== 8))
|
|
164
|
+
throw new InvalidError('Expected seven or eight transaction fields.');
|
|
165
|
+
const keyed = body.length === 8;
|
|
166
|
+
const [chainId, ...fields] = body;
|
|
167
|
+
const keys = keyed ? fields.shift() : undefined;
|
|
168
|
+
if (keyed && !Array.isArray(keys))
|
|
169
|
+
throw new InvalidError('Expected a nonce key list.');
|
|
170
|
+
const [nonce, sender, frames, signatures, fees, hashes] = fields;
|
|
159
171
|
if (typeof sender !== 'string' ||
|
|
160
172
|
!Array.isArray(frames) ||
|
|
161
173
|
!Array.isArray(signatures) ||
|
|
@@ -179,6 +191,7 @@ export function deserialize(serialized) {
|
|
|
179
191
|
maxFeePerGas: integer(fees[1]),
|
|
180
192
|
maxPriorityFeePerGas: integer(fees[0]),
|
|
181
193
|
nonce: integer(nonce),
|
|
194
|
+
...(Array.isArray(keys) ? { nonceKeys: keys.map(integer) } : {}),
|
|
182
195
|
sender: sender,
|
|
183
196
|
signatures: signatures.map((entry) => FrameSignature.fromTuple(entry)),
|
|
184
197
|
type,
|
|
@@ -264,6 +277,9 @@ export function fromRpc(envelope) {
|
|
|
264
277
|
maxFeePerGas: Hex.toBigInt(envelope.maxFeePerGas),
|
|
265
278
|
maxPriorityFeePerGas: Hex.toBigInt(envelope.maxPriorityFeePerGas),
|
|
266
279
|
nonce: Hex.toBigInt(envelope.nonce),
|
|
280
|
+
...(envelope.nonceKeys !== undefined
|
|
281
|
+
? { nonceKeys: FrameNonce.fromRpc(envelope.nonceKeys, envelope.nonce) }
|
|
282
|
+
: {}),
|
|
267
283
|
sender: envelope.from,
|
|
268
284
|
signatures: envelope.signatures.map(FrameSignature.fromRpc),
|
|
269
285
|
});
|
|
@@ -298,6 +314,9 @@ export function toRpc(envelope) {
|
|
|
298
314
|
maxFeePerGas: Quantity.fromNumberish(envelope.maxFeePerGas ?? 0n),
|
|
299
315
|
maxPriorityFeePerGas: Quantity.fromNumberish(envelope.maxPriorityFeePerGas ?? 0n),
|
|
300
316
|
nonce: Quantity.fromNumberish(envelope.nonce ?? 0n),
|
|
317
|
+
...(envelope.nonceKeys !== undefined
|
|
318
|
+
? { nonceKeys: FrameNonce.toRpc(envelope.nonceKeys, envelope.nonce) }
|
|
319
|
+
: {}),
|
|
301
320
|
signatures: (envelope.signatures ?? []).map(FrameSignature.toRpc),
|
|
302
321
|
type: '0x6',
|
|
303
322
|
};
|
|
@@ -375,8 +394,12 @@ export function getSignPayload(envelope) {
|
|
|
375
394
|
export function hash(envelope, options = {}) {
|
|
376
395
|
assert(envelope);
|
|
377
396
|
const body = toTuple(envelope);
|
|
378
|
-
if (options.presign)
|
|
379
|
-
|
|
397
|
+
if (options.presign) {
|
|
398
|
+
const signatures = body.length === 8 ? body[5] : body[4];
|
|
399
|
+
for (const [index, entry] of signatures.entries())
|
|
400
|
+
if (entry[2] === '0x')
|
|
401
|
+
signatures[index] = [entry[0], entry[1], entry[2], '0x'];
|
|
402
|
+
}
|
|
380
403
|
return Hash.keccak256(Hex.concat(serializedType, Rlp.fromHex(body)));
|
|
381
404
|
}
|
|
382
405
|
/**
|
|
@@ -472,8 +495,7 @@ export class InvalidError extends Errors.BaseError {
|
|
|
472
495
|
}
|
|
473
496
|
function toTuple(envelope) {
|
|
474
497
|
const quantity = (value) => value ? Hex.fromBytes(Bytes.fromNumber(value)) : '0x';
|
|
475
|
-
|
|
476
|
-
quantity(envelope.chainId),
|
|
498
|
+
const fields = [
|
|
477
499
|
quantity(envelope.nonce),
|
|
478
500
|
envelope.sender,
|
|
479
501
|
envelope.frames.map((frame) => Frame.toTuple(frame)),
|
|
@@ -485,5 +507,12 @@ function toTuple(envelope) {
|
|
|
485
507
|
],
|
|
486
508
|
envelope.blobVersionedHashes ?? [],
|
|
487
509
|
];
|
|
510
|
+
return envelope.nonceKeys === undefined
|
|
511
|
+
? [quantity(envelope.chainId), ...fields]
|
|
512
|
+
: [
|
|
513
|
+
quantity(envelope.chainId),
|
|
514
|
+
envelope.nonceKeys.map(quantity),
|
|
515
|
+
...fields,
|
|
516
|
+
];
|
|
488
517
|
}
|
|
489
518
|
//# sourceMappingURL=TxEnvelopeEip8141.js.map
|