@qevm/transactions 5.7.1 → 5.7.3

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/README.md CHANGED
@@ -1,17 +1,15 @@
1
1
  Ethereum Transaction Utilities
2
2
  ==============================
3
3
 
4
- This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).
4
+ This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).
5
5
 
6
6
  It contains various functions for encoding and decoding serialized transactios.
7
7
 
8
- For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/transactions/).
9
-
10
8
 
11
9
  Importing
12
10
  ---------
13
11
 
14
- Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers),
12
+ Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
15
13
  but for those with more specific needs, individual components can be imported.
16
14
 
17
15
  ```javascript
@@ -28,7 +26,7 @@ const {
28
26
  Transaction,
29
27
  UnsignedTransaction
30
28
 
31
- } = require("@ethersproject/transactions");
29
+ } = require("@qevm/transactions");
32
30
  ```
33
31
 
34
32
 
package/lib/_version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "transactions/5.7.0";
1
+ export declare const version = "transactions/5.7.3";
2
2
  //# sourceMappingURL=_version.d.ts.map
package/lib/_version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "transactions/5.7.0";
4
+ exports.version = "transactions/5.7.3";
5
5
  //# sourceMappingURL=_version.js.map
package/lib/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
1
+ import { BigNumber, BigNumberish } from "@qevm/bignumber";
2
2
  import { BytesLike, SignatureLike } from "@qevm/bytes";
3
- export declare type AccessList = Array<{
3
+ export type AccessList = Array<{
4
4
  address: string;
5
5
  storageKeys: Array<string>;
6
6
  }>;
7
- export declare type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
7
+ export type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
8
8
  export declare enum TransactionTypes {
9
9
  legacy = 0,
10
10
  eip2930 = 1,
11
11
  eip1559 = 2
12
12
  }
13
- export declare type UnsignedTransaction = {
13
+ export type UnsignedTransaction = {
14
14
  to?: string;
15
15
  nonce?: number;
16
16
  gasLimit?: BigNumberish;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAY,SAAS,EAAiE,aAAa,EAA+B,MAAM,aAAa,CAAC;AAa7J,oBAAY,UAAU,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAGhF,oBAAY,aAAa,GAAG,UAAU,GACV,KAAK,CAAC,CAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAE,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1D,oBAAY,gBAAgB;IACxB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;CACd;AAED,oBAAY,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAG3B,oBAAoB,CAAC,EAAE,YAAY,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B,CAAA;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,aAAa,CAAC;IAG1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC5B;AA4BD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAG/D;AAsBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAsB9D;AA4GD,wBAAgB,SAAS,CAAC,WAAW,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM,CAuB7F;AAmHD,wBAAgB,KAAK,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,CAoB5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAEH,SAAS,EAMT,aAAa,EAGhB,MAAM,aAAa,CAAC;AAarB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAGhF,MAAM,MAAM,aAAa,GACnB,UAAU,GACV,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,oBAAY,gBAAgB;IACxB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAG3B,oBAAoB,CAAC,EAAE,YAAY,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,aAAa,CAAC;IAG1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC5B;AAuCD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAG/D;AAiCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAmC9D;AAiJD,wBAAgB,SAAS,CACrB,WAAW,EAAE,mBAAmB,EAChC,SAAS,CAAC,EAAE,aAAa,GAC1B,MAAM,CA+BR;AAwID,wBAAgB,KAAK,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,CA0B5D"}
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,32 +15,46 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.parse = exports.serialize = exports.accessListify = exports.recoverAddress = exports.computeAddress = exports.TransactionTypes = void 0;
23
- var address_1 = require("@qevm/address");
24
- var bignumber_1 = require("@ethersproject/bignumber");
25
- var bytes_1 = require("@qevm/bytes");
26
- var constants_1 = require("@ethersproject/constants");
27
- var keccak256_1 = require("@ethersproject/keccak256");
28
- var properties_1 = require("@ethersproject/properties");
29
- var RLP = __importStar(require("@ethersproject/rlp"));
30
- var logger_1 = require("@ethersproject/logger");
31
- var _version_1 = require("./_version");
32
- var logger = new logger_1.Logger(_version_1.version);
36
+ exports.TransactionTypes = void 0;
37
+ exports.computeAddress = computeAddress;
38
+ exports.recoverAddress = recoverAddress;
39
+ exports.accessListify = accessListify;
40
+ exports.serialize = serialize;
41
+ exports.parse = parse;
42
+ const address_1 = require("@qevm/address");
43
+ const bignumber_1 = require("@qevm/bignumber");
44
+ const bytes_1 = require("@qevm/bytes");
45
+ const constants_1 = require("@qevm/constants");
46
+ const keccak256_1 = require("@qevm/keccak256");
47
+ const properties_1 = require("@qevm/properties");
48
+ const RLP = __importStar(require("@qevm/rlp"));
49
+ const logger_1 = require("@qevm/logger");
50
+ const _version_1 = require("./_version");
51
+ const logger = new logger_1.Logger(_version_1.version);
33
52
  var TransactionTypes;
34
53
  (function (TransactionTypes) {
35
54
  TransactionTypes[TransactionTypes["legacy"] = 0] = "legacy";
36
55
  TransactionTypes[TransactionTypes["eip2930"] = 1] = "eip2930";
37
56
  TransactionTypes[TransactionTypes["eip1559"] = 2] = "eip1559";
38
- })(TransactionTypes = exports.TransactionTypes || (exports.TransactionTypes = {}));
39
- ;
57
+ })(TransactionTypes || (exports.TransactionTypes = TransactionTypes = {}));
40
58
  ///////////////////////////////
41
59
  function handleAddress(value) {
42
60
  if (value === "0x") {
@@ -51,7 +69,7 @@ function handleNumber(value) {
51
69
  return bignumber_1.BigNumber.from(value);
52
70
  }
53
71
  // Legacy Transaction Fields
54
- var transactionFields = [
72
+ const transactionFields = [
55
73
  { name: "nonce", maxLength: 32, numeric: true },
56
74
  { name: "gasPrice", maxLength: 32, numeric: true },
57
75
  { name: "gasLimit", maxLength: 32, numeric: true },
@@ -59,86 +77,90 @@ var transactionFields = [
59
77
  { name: "value", maxLength: 32, numeric: true },
60
78
  { name: "data" },
61
79
  ];
62
- var allowedTransactionKeys = {
63
- chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, type: true, value: true
80
+ const allowedTransactionKeys = {
81
+ chainId: true,
82
+ data: true,
83
+ gasLimit: true,
84
+ gasPrice: true,
85
+ nonce: true,
86
+ to: true,
87
+ type: true,
88
+ value: true,
64
89
  };
65
90
  function computeAddress(publicKey) {
66
91
  return (0, keccak256_1.keccak256)(publicKey);
67
92
  }
68
- exports.computeAddress = computeAddress;
69
93
  function recoverAddress(signature) {
70
- var sig = (0, bytes_1.splitSignature)(signature);
94
+ let sig = (0, bytes_1.splitSignature)(signature);
71
95
  return (0, keccak256_1.keccak256)(sig.publicKey);
72
96
  }
73
- exports.recoverAddress = recoverAddress;
74
97
  function formatNumber(value, name) {
75
- var result = (0, bytes_1.stripZeros)(bignumber_1.BigNumber.from(value).toHexString());
98
+ const result = (0, bytes_1.stripZeros)(bignumber_1.BigNumber.from(value).toHexString());
76
99
  if (result.length > 32) {
77
- logger.throwArgumentError("invalid length for " + name, ("transaction:" + name), value);
100
+ logger.throwArgumentError("invalid length for " + name, "transaction:" + name, value);
78
101
  }
79
102
  return result;
80
103
  }
81
104
  function accessSetify(addr, storageKeys) {
82
105
  return {
83
106
  address: (0, address_1.getAddress)(addr),
84
- storageKeys: (storageKeys || []).map(function (storageKey, index) {
107
+ storageKeys: (storageKeys || []).map((storageKey, index) => {
85
108
  if ((0, bytes_1.hexDataLength)(storageKey) !== 32) {
86
- logger.throwArgumentError("invalid access list storageKey", "accessList[" + addr + ":" + index + "]", storageKey);
109
+ logger.throwArgumentError("invalid access list storageKey", `accessList[${addr}:${index}]`, storageKey);
87
110
  }
88
111
  return storageKey.toLowerCase();
89
- })
112
+ }),
90
113
  };
91
114
  }
92
115
  function accessListify(value) {
93
116
  if (Array.isArray(value)) {
94
- return value.map(function (set, index) {
117
+ return value.map((set, index) => {
95
118
  if (Array.isArray(set)) {
96
119
  if (set.length > 2) {
97
- logger.throwArgumentError("access list expected to be [ address, storageKeys[] ]", "value[" + index + "]", set);
120
+ logger.throwArgumentError("access list expected to be [ address, storageKeys[] ]", `value[${index}]`, set);
98
121
  }
99
122
  return accessSetify(set[0], set[1]);
100
123
  }
101
124
  return accessSetify(set.address, set.storageKeys);
102
125
  });
103
126
  }
104
- var result = Object.keys(value).map(function (addr) {
105
- var storageKeys = value[addr].reduce(function (accum, storageKey) {
127
+ const result = Object.keys(value).map((addr) => {
128
+ const storageKeys = value[addr].reduce((accum, storageKey) => {
106
129
  accum[storageKey] = true;
107
130
  return accum;
108
131
  }, {});
109
132
  return accessSetify(addr, Object.keys(storageKeys).sort());
110
133
  });
111
- result.sort(function (a, b) { return (a.address.localeCompare(b.address)); });
134
+ result.sort((a, b) => a.address.localeCompare(b.address));
112
135
  return result;
113
136
  }
114
- exports.accessListify = accessListify;
115
137
  function formatAccessList(value) {
116
- return accessListify(value).map(function (set) { return [set.address, set.storageKeys]; });
138
+ return accessListify(value).map((set) => [set.address, set.storageKeys]);
117
139
  }
118
140
  function _serializeEip1559(transaction, signature) {
119
141
  // If there is an explicit gasPrice, make sure it matches the
120
142
  // EIP-1559 fees; otherwise they may not understand what they
121
143
  // think they are setting in terms of fee.
122
144
  if (transaction.gasPrice != null) {
123
- var gasPrice = bignumber_1.BigNumber.from(transaction.gasPrice);
124
- var maxFeePerGas = bignumber_1.BigNumber.from(transaction.maxFeePerGas || 0);
145
+ const gasPrice = bignumber_1.BigNumber.from(transaction.gasPrice);
146
+ const maxFeePerGas = bignumber_1.BigNumber.from(transaction.maxFeePerGas || 0);
125
147
  if (!gasPrice.eq(maxFeePerGas)) {
126
148
  logger.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas", "tx", {
127
- gasPrice: gasPrice,
128
- maxFeePerGas: maxFeePerGas
149
+ gasPrice,
150
+ maxFeePerGas,
129
151
  });
130
152
  }
131
153
  }
132
- var fields = [
154
+ const fields = [
133
155
  formatNumber(transaction.chainId || 0, "chainId"),
134
156
  formatNumber(transaction.nonce || 0, "nonce"),
135
157
  formatNumber(transaction.maxPriorityFeePerGas || 0, "maxPriorityFeePerGas"),
136
158
  formatNumber(transaction.maxFeePerGas || 0, "maxFeePerGas"),
137
159
  formatNumber(transaction.gasLimit || 0, "gasLimit"),
138
- ((transaction.to != null) ? (0, address_1.getAddress)(transaction.to) : "0x"),
160
+ transaction.to != null ? (0, address_1.getAddress)(transaction.to) : "0x",
139
161
  formatNumber(transaction.value || 0, "value"),
140
- (transaction.data || "0x"),
141
- (formatAccessList(transaction.accessList || []))
162
+ transaction.data || "0x",
163
+ formatAccessList(transaction.accessList || []),
142
164
  ];
143
165
  if (signature) {
144
166
  fields.push((0, bytes_1.joinSignature)(signature));
@@ -146,15 +168,15 @@ function _serializeEip1559(transaction, signature) {
146
168
  return (0, bytes_1.hexConcat)(["0x02", RLP.encode(fields)]);
147
169
  }
148
170
  function _serializeEip2930(transaction, signature) {
149
- var fields = [
171
+ const fields = [
150
172
  formatNumber(transaction.chainId || 0, "chainId"),
151
173
  formatNumber(transaction.nonce || 0, "nonce"),
152
174
  formatNumber(transaction.gasPrice || 0, "gasPrice"),
153
175
  formatNumber(transaction.gasLimit || 0, "gasLimit"),
154
- ((transaction.to != null) ? (0, address_1.getAddress)(transaction.to) : "0x"),
176
+ transaction.to != null ? (0, address_1.getAddress)(transaction.to) : "0x",
155
177
  formatNumber(transaction.value || 0, "value"),
156
- (transaction.data || "0x"),
157
- (formatAccessList(transaction.accessList || []))
178
+ transaction.data || "0x",
179
+ formatAccessList(transaction.accessList || []),
158
180
  ];
159
181
  if (signature) {
160
182
  fields.push((0, bytes_1.joinSignature)(signature));
@@ -164,32 +186,34 @@ function _serializeEip2930(transaction, signature) {
164
186
  // Legacy Transactions and EIP-155
165
187
  function _serialize(transaction, signature) {
166
188
  (0, properties_1.checkProperties)(transaction, allowedTransactionKeys);
167
- var raw = [];
189
+ const raw = [];
168
190
  transactionFields.forEach(function (fieldInfo) {
169
- var value = transaction[fieldInfo.name] || ([]);
170
- var options = {};
191
+ let value = transaction[fieldInfo.name] || [];
192
+ const options = {};
171
193
  if (fieldInfo.numeric) {
172
194
  options.hexPad = "left";
173
195
  }
174
196
  value = (0, bytes_1.arrayify)((0, bytes_1.hexlify)(value, options));
175
197
  // Fixed-width field
176
- if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {
177
- logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value);
198
+ if (fieldInfo.length &&
199
+ value.length !== fieldInfo.length &&
200
+ value.length > 0) {
201
+ logger.throwArgumentError("invalid length for " + fieldInfo.name, "transaction:" + fieldInfo.name, value);
178
202
  }
179
203
  // Variable-width (with a maximum)
180
204
  if (fieldInfo.maxLength) {
181
205
  value = (0, bytes_1.stripZeros)(value);
182
206
  if (value.length > fieldInfo.maxLength) {
183
- logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value);
207
+ logger.throwArgumentError("invalid length for " + fieldInfo.name, "transaction:" + fieldInfo.name, value);
184
208
  }
185
209
  }
186
210
  raw.push((0, bytes_1.hexlify)(value));
187
211
  });
188
- var chainId = 0;
212
+ let chainId = 0;
189
213
  if (transaction.chainId != null) {
190
214
  // A chainId was provided; if non-zero we'll use EIP-155
191
215
  chainId = transaction.chainId;
192
- if (typeof (chainId) !== "number") {
216
+ if (typeof chainId !== "number") {
193
217
  logger.throwArgumentError("invalid transaction.chainId", "transaction", transaction);
194
218
  }
195
219
  }
@@ -219,20 +243,19 @@ function serialize(transaction, signature) {
219
243
  default:
220
244
  break;
221
245
  }
222
- return logger.throwError("unsupported transaction type: " + transaction.type, logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
246
+ return logger.throwError(`unsupported transaction type: ${transaction.type}`, logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
223
247
  operation: "serializeTransaction",
224
- transactionType: transaction.type
248
+ transactionType: transaction.type,
225
249
  });
226
250
  }
227
- exports.serialize = serialize;
228
251
  function _parseEip1559(payload) {
229
- var transaction = RLP.decode(payload.slice(1));
252
+ const transaction = RLP.decode(payload.slice(1));
230
253
  if (transaction.length !== 9 && transaction.length !== 10) {
231
254
  logger.throwArgumentError("invalid component count for transaction type: 2", "payload", (0, bytes_1.hexlify)(payload));
232
255
  }
233
- var maxPriorityFeePerGas = handleNumber(transaction[2]);
234
- var maxFeePerGas = handleNumber(transaction[3]);
235
- var tx = {
256
+ const maxPriorityFeePerGas = handleNumber(transaction[2]);
257
+ const maxFeePerGas = handleNumber(transaction[3]);
258
+ const tx = {
236
259
  type: 2,
237
260
  chainId: handleNumber(transaction[0]).toNumber(),
238
261
  nonce: handleNumber(transaction[1]).toNumber(),
@@ -252,15 +275,14 @@ function _parseEip1559(payload) {
252
275
  tx.hash = (0, keccak256_1.keccak256)(payload);
253
276
  tx.signature = (0, bytes_1.splitSignature)(transaction.slice(9)[0]);
254
277
  tx.from = computeAddress(tx.signature.publicKey);
255
- ;
256
278
  return tx;
257
279
  }
258
280
  function _parseEip2930(payload) {
259
- var transaction = RLP.decode(payload.slice(1));
281
+ const transaction = RLP.decode(payload.slice(1));
260
282
  if (transaction.length !== 8 && transaction.length !== 9) {
261
283
  logger.throwArgumentError("invalid component count for transaction type: 1", "payload", (0, bytes_1.hexlify)(payload));
262
284
  }
263
- var tx = {
285
+ const tx = {
264
286
  type: 1,
265
287
  chainId: handleNumber(transaction[0]).toNumber(),
266
288
  nonce: handleNumber(transaction[1]).toNumber(),
@@ -282,18 +304,20 @@ function _parseEip2930(payload) {
282
304
  return tx;
283
305
  }
284
306
  function _parseLegacyAndEIP_155(rawTransaction) {
285
- var transaction = RLP.decode(rawTransaction);
286
- if (transaction.length !== 8 && transaction.length !== 7 && transaction.length !== 6) {
307
+ const transaction = RLP.decode(rawTransaction);
308
+ if (transaction.length !== 8 &&
309
+ transaction.length !== 7 &&
310
+ transaction.length !== 6) {
287
311
  logger.throwArgumentError("invalid raw transaction", "rawTransaction", rawTransaction);
288
312
  }
289
- var tx = {
313
+ const tx = {
290
314
  nonce: handleNumber(transaction[0]).toNumber(),
291
315
  gasPrice: handleNumber(transaction[1]),
292
316
  gasLimit: handleNumber(transaction[2]),
293
317
  to: handleAddress(transaction[3]),
294
318
  value: handleNumber(transaction[4]),
295
319
  data: transaction[5],
296
- chainId: 0
320
+ chainId: 0,
297
321
  };
298
322
  tx.type = null;
299
323
  //FIXME Rewrite this
@@ -301,13 +325,15 @@ function _parseLegacyAndEIP_155(rawTransaction) {
301
325
  case 6: // Legacy unsigned transaction
302
326
  break;
303
327
  case 7: // Legacy signed transaction or EIP-155 unsigned transaction
304
- var temp = transaction.slice(6)[0];
305
- if (temp.length == 6522) { //Legacy signed transaction
328
+ let temp = transaction.slice(6)[0];
329
+ if (temp.length == 6522) {
330
+ //Legacy signed transaction
306
331
  tx.hash = (0, keccak256_1.keccak256)(rawTransaction);
307
332
  tx.signature = (0, bytes_1.splitSignature)(temp);
308
333
  tx.from = computeAddress(tx.signature.publicKey);
309
334
  }
310
- else { //EIP-155 unsigned transaction
335
+ else {
336
+ //EIP-155 unsigned transaction
311
337
  tx.chainId = bignumber_1.BigNumber.from(temp).toNumber();
312
338
  }
313
339
  break;
@@ -323,7 +349,7 @@ function _parseLegacyAndEIP_155(rawTransaction) {
323
349
  return tx;
324
350
  }
325
351
  function parse(rawTransaction) {
326
- var payload = (0, bytes_1.arrayify)(rawTransaction);
352
+ const payload = (0, bytes_1.arrayify)(rawTransaction);
327
353
  // Legacy and EIP-155 Transactions
328
354
  if (payload[0] > 0x7f) {
329
355
  return _parseLegacyAndEIP_155(payload);
@@ -337,11 +363,9 @@ function parse(rawTransaction) {
337
363
  default:
338
364
  break;
339
365
  }
340
- return logger.throwError("unsupported transaction type: " + payload[0], logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
366
+ return logger.throwError(`unsupported transaction type: ${payload[0]}`, logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
341
367
  operation: "parseTransaction",
342
- transactionType: payload[0]
368
+ transactionType: payload[0],
343
369
  });
344
370
  }
345
- exports.parse = parse;
346
- [0x8004605941139387635763a13a795c4dfb9904beb9555e76629321312908dbd5 != 0x8004605941139387635763A13a795c4dfb9904bEb9555e76629321312908dbd5];
347
371
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,31 +1,35 @@
1
1
  {
2
- "author": "Eugene Kuleshov",
3
- "dependencies": {
4
- "@qevm/address": "^5.7.0",
5
- "@ethersproject/bignumber": "^5.7.0",
6
- "@qevm/bytes": "5.7.1",
7
- "@ethersproject/constants": "^5.7.0",
8
- "@ethersproject/keccak256": "^5.7.0",
9
- "@ethersproject/logger": "^5.7.0",
10
- "@ethersproject/properties": "^5.7.0",
11
- "@ethersproject/rlp": "^5.7.0"
12
- },
13
- "description": "Utilities for decoding and encoding quantum Eutherium transaction for qethers.",
14
- "keywords": [
15
- "qevm",
16
- "qethers"
17
- ],
18
- "license": "MIT",
19
- "main": "./lib/index.js",
20
- "module": "./lib.esm/index.js",
21
- "name": "@qevm/transactions",
22
- "publishConfig": {
23
- "access": "public"
24
- },
25
- "scripts": {
26
- "test": "echo \"Error: no test specified\" && exit 1"
27
- },
28
- "sideEffects": false,
29
- "types": "./lib/index.d.ts",
30
- "version": "5.7.1"
2
+ "contributors": [
3
+ "Eugene Kuleshov <kulevgen32@gmail.com>",
4
+ "Richard Moore <me@ricmoo.com>"
5
+ ],
6
+ "dependencies": {
7
+ "@qevm/address": "^5.7.3",
8
+ "@qevm/bignumber": "^5.7.1",
9
+ "@qevm/bytes": "^5.7.2",
10
+ "@qevm/constants": "^5.7.2",
11
+ "@qevm/keccak256": "^5.7.1",
12
+ "@qevm/logger": "^5.7.1",
13
+ "@qevm/properties": "^5.7.1",
14
+ "@qevm/rlp": "^5.7.1"
15
+ },
16
+ "description": "Utilities for decoding and encoding QuantumEVM transaction for qethers.",
17
+ "keywords": [
18
+ "QuantumEVM",
19
+ "QEVM",
20
+ "qethers"
21
+ ],
22
+ "license": "MIT",
23
+ "main": "./lib/index.js",
24
+ "module": "./lib.esm/index.js",
25
+ "name": "@qevm/transactions",
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "test": "echo \"Error: no test specified\" && exit 1"
31
+ },
32
+ "sideEffects": false,
33
+ "types": "./lib/index.d.ts",
34
+ "version": "5.7.3"
31
35
  }
@@ -1 +1 @@
1
- export const version = "transactions/5.7.0";
1
+ export const version = "transactions/5.7.3";
package/src.ts/index.ts CHANGED
@@ -1,32 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  import { getAddress } from "@qevm/address";
4
- import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
5
- import { arrayify, BytesLike, DataOptions, hexConcat, hexDataLength, hexlify, joinSignature, SignatureLike, splitSignature, stripZeros, } from "@qevm/bytes";
6
- import { Zero } from "@ethersproject/constants";
7
- import { keccak256 } from "@ethersproject/keccak256";
8
- import { checkProperties } from "@ethersproject/properties";
9
- import * as RLP from "@ethersproject/rlp";
10
-
11
- import { Logger } from "@ethersproject/logger";
4
+ import { BigNumber, BigNumberish } from "@qevm/bignumber";
5
+ import {
6
+ arrayify,
7
+ BytesLike,
8
+ DataOptions,
9
+ hexConcat,
10
+ hexDataLength,
11
+ hexlify,
12
+ joinSignature,
13
+ SignatureLike,
14
+ splitSignature,
15
+ stripZeros,
16
+ } from "@qevm/bytes";
17
+ import { Zero } from "@qevm/constants";
18
+ import { keccak256 } from "@qevm/keccak256";
19
+ import { checkProperties } from "@qevm/properties";
20
+ import * as RLP from "@qevm/rlp";
21
+
22
+ import { Logger } from "@qevm/logger";
12
23
  import { version } from "./_version";
13
24
  const logger = new Logger(version);
14
25
 
15
26
  ///////////////////////////////
16
27
  // Exported Types
17
28
 
18
- export type AccessList = Array<{ address: string, storageKeys: Array<string> }>;
29
+ export type AccessList = Array<{ address: string; storageKeys: Array<string> }>;
19
30
 
20
31
  // Input allows flexibility in describing an access list
21
- export type AccessListish = AccessList |
22
- Array<[ string, Array<string> ]> |
23
- Record<string, Array<string>>;
32
+ export type AccessListish =
33
+ | AccessList
34
+ | Array<[string, Array<string>]>
35
+ | Record<string, Array<string>>;
24
36
 
25
37
  export enum TransactionTypes {
26
38
  legacy = 0,
27
39
  eip2930 = 1,
28
40
  eip1559 = 2,
29
- };
41
+ }
30
42
 
31
43
  export type UnsignedTransaction = {
32
44
  to?: string;
@@ -48,7 +60,7 @@ export type UnsignedTransaction = {
48
60
  // EIP-1559; Type 2
49
61
  maxPriorityFeePerGas?: BigNumberish;
50
62
  maxFeePerGas?: BigNumberish;
51
- }
63
+ };
52
64
 
53
65
  export interface Transaction {
54
66
  hash?: string;
@@ -80,28 +92,39 @@ export interface Transaction {
80
92
  ///////////////////////////////
81
93
 
82
94
  function handleAddress(value: string): string {
83
- if (value === "0x") { return null; }
95
+ if (value === "0x") {
96
+ return null;
97
+ }
84
98
  return getAddress(value);
85
99
  }
86
100
 
87
101
  function handleNumber(value: string): BigNumber {
88
- if (value === "0x") { return Zero; }
102
+ if (value === "0x") {
103
+ return Zero;
104
+ }
89
105
  return BigNumber.from(value);
90
106
  }
91
107
 
92
108
  // Legacy Transaction Fields
93
109
  const transactionFields = [
94
- { name: "nonce", maxLength: 32, numeric: true },
110
+ { name: "nonce", maxLength: 32, numeric: true },
95
111
  { name: "gasPrice", maxLength: 32, numeric: true },
96
112
  { name: "gasLimit", maxLength: 32, numeric: true },
97
- { name: "to", length: 32 },
98
- { name: "value", maxLength: 32, numeric: true },
113
+ { name: "to", length: 32 },
114
+ { name: "value", maxLength: 32, numeric: true },
99
115
  { name: "data" },
100
116
  ];
101
117
 
102
- const allowedTransactionKeys: { [ key: string ]: boolean } = {
103
- chainId: true, data: true, gasLimit: true, gasPrice:true, nonce: true, to: true, type: true, value: true
104
- }
118
+ const allowedTransactionKeys: { [key: string]: boolean } = {
119
+ chainId: true,
120
+ data: true,
121
+ gasLimit: true,
122
+ gasPrice: true,
123
+ nonce: true,
124
+ to: true,
125
+ type: true,
126
+ value: true,
127
+ };
105
128
 
106
129
  export function computeAddress(publicKey: BytesLike | string): string {
107
130
  return keccak256(publicKey);
@@ -115,52 +138,81 @@ export function recoverAddress(signature: SignatureLike): string {
115
138
  function formatNumber(value: BigNumberish, name: string): Uint8Array {
116
139
  const result = stripZeros(BigNumber.from(value).toHexString());
117
140
  if (result.length > 32) {
118
- logger.throwArgumentError("invalid length for " + name, ("transaction:" + name), value);
141
+ logger.throwArgumentError(
142
+ "invalid length for " + name,
143
+ "transaction:" + name,
144
+ value,
145
+ );
119
146
  }
120
147
  return result;
121
148
  }
122
149
 
123
- function accessSetify(addr: string, storageKeys: Array<string>): { address: string,storageKeys: Array<string> } {
150
+ function accessSetify(
151
+ addr: string,
152
+ storageKeys: Array<string>,
153
+ ): { address: string; storageKeys: Array<string> } {
124
154
  return {
125
155
  address: getAddress(addr),
126
156
  storageKeys: (storageKeys || []).map((storageKey, index) => {
127
157
  if (hexDataLength(storageKey) !== 32) {
128
- logger.throwArgumentError("invalid access list storageKey", `accessList[${ addr }:${ index }]`, storageKey)
158
+ logger.throwArgumentError(
159
+ "invalid access list storageKey",
160
+ `accessList[${addr}:${index}]`,
161
+ storageKey,
162
+ );
129
163
  }
130
164
  return storageKey.toLowerCase();
131
- })
165
+ }),
132
166
  };
133
167
  }
134
168
 
135
169
  export function accessListify(value: AccessListish): AccessList {
136
170
  if (Array.isArray(value)) {
137
- return (<Array<[ string, Array<string>] | { address: string, storageKeys: Array<string>}>>value).map((set, index) => {
171
+ return (<
172
+ Array<
173
+ | [string, Array<string>]
174
+ | { address: string; storageKeys: Array<string> }
175
+ >
176
+ >value).map((set, index) => {
138
177
  if (Array.isArray(set)) {
139
178
  if (set.length > 2) {
140
- logger.throwArgumentError("access list expected to be [ address, storageKeys[] ]", `value[${ index }]`, set);
179
+ logger.throwArgumentError(
180
+ "access list expected to be [ address, storageKeys[] ]",
181
+ `value[${index}]`,
182
+ set,
183
+ );
141
184
  }
142
- return accessSetify(set[0], set[1])
185
+ return accessSetify(set[0], set[1]);
143
186
  }
144
187
  return accessSetify(set.address, set.storageKeys);
145
188
  });
146
189
  }
147
190
 
148
- const result: Array<{ address: string, storageKeys: Array<string> }> = Object.keys(value).map((addr) => {
149
- const storageKeys: Record<string, true> = value[addr].reduce((accum, storageKey) => {
150
- accum[storageKey] = true;
151
- return accum;
152
- }, <Record<string, true>>{ });
153
- return accessSetify(addr, Object.keys(storageKeys).sort())
154
- });
155
- result.sort((a, b) => (a.address.localeCompare(b.address)));
191
+ const result: Array<{ address: string; storageKeys: Array<string> }> =
192
+ Object.keys(value).map((addr) => {
193
+ const storageKeys: Record<string, true> = value[addr].reduce(
194
+ (accum, storageKey) => {
195
+ accum[storageKey] = true;
196
+ return accum;
197
+ },
198
+ <Record<string, true>>{},
199
+ );
200
+ return accessSetify(addr, Object.keys(storageKeys).sort());
201
+ });
202
+ result.sort((a, b) => a.address.localeCompare(b.address));
156
203
  return result;
157
204
  }
158
205
 
159
- function formatAccessList(value: AccessListish): Array<[ string, Array<string> ]> {
160
- return accessListify(value).map((set) => [ set.address, set.storageKeys ]);
206
+ function formatAccessList(
207
+ value: AccessListish,
208
+ ): Array<[string, Array<string>]> {
209
+ return accessListify(value).map((set) => [set.address, set.storageKeys]);
161
210
  }
162
211
 
163
- function _serializeEip1559(transaction: UnsignedTransaction, signature?: SignatureLike): string {
212
+ function _serializeEip1559(
213
+ transaction: UnsignedTransaction,
214
+ signature?: SignatureLike,
215
+ ): string {
164
216
  // If there is an explicit gasPrice, make sure it matches the
165
217
  // EIP-1559 fees; otherwise they may not understand what they
166
218
  // think they are setting in terms of fee.
@@ -168,72 +220,100 @@ function _serializeEip1559(transaction: UnsignedTransaction, signature?: Signatu
168
220
  const gasPrice = BigNumber.from(transaction.gasPrice);
169
221
  const maxFeePerGas = BigNumber.from(transaction.maxFeePerGas || 0);
170
222
  if (!gasPrice.eq(maxFeePerGas)) {
171
- logger.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas", "tx", {
172
- gasPrice, maxFeePerGas
173
- });
223
+ logger.throwArgumentError(
224
+ "mismatch EIP-1559 gasPrice != maxFeePerGas",
225
+ "tx",
226
+ {
227
+ gasPrice,
228
+ maxFeePerGas,
229
+ },
230
+ );
174
231
  }
175
232
  }
176
233
 
177
234
  const fields: any = [
178
235
  formatNumber(transaction.chainId || 0, "chainId"),
179
236
  formatNumber(transaction.nonce || 0, "nonce"),
180
- formatNumber(transaction.maxPriorityFeePerGas || 0, "maxPriorityFeePerGas"),
237
+ formatNumber(
238
+ transaction.maxPriorityFeePerGas || 0,
239
+ "maxPriorityFeePerGas",
240
+ ),
181
241
  formatNumber(transaction.maxFeePerGas || 0, "maxFeePerGas"),
182
242
  formatNumber(transaction.gasLimit || 0, "gasLimit"),
183
- ((transaction.to != null) ? getAddress(transaction.to): "0x"),
243
+ transaction.to != null ? getAddress(transaction.to) : "0x",
184
244
  formatNumber(transaction.value || 0, "value"),
185
- (transaction.data || "0x"),
186
- (formatAccessList(transaction.accessList || []))
245
+ transaction.data || "0x",
246
+ formatAccessList(transaction.accessList || []),
187
247
  ];
188
248
 
189
249
  if (signature) {
190
- fields.push(joinSignature(signature))
250
+ fields.push(joinSignature(signature));
191
251
  }
192
252
 
193
- return hexConcat([ "0x02", RLP.encode(fields)]);
253
+ return hexConcat(["0x02", RLP.encode(fields)]);
194
254
  }
195
255
 
196
- function _serializeEip2930(transaction: UnsignedTransaction, signature?: SignatureLike): string {
256
+ function _serializeEip2930(
257
+ transaction: UnsignedTransaction,
258
+ signature?: SignatureLike,
259
+ ): string {
197
260
  const fields: any = [
198
261
  formatNumber(transaction.chainId || 0, "chainId"),
199
262
  formatNumber(transaction.nonce || 0, "nonce"),
200
263
  formatNumber(transaction.gasPrice || 0, "gasPrice"),
201
264
  formatNumber(transaction.gasLimit || 0, "gasLimit"),
202
- ((transaction.to != null) ? getAddress(transaction.to): "0x"),
265
+ transaction.to != null ? getAddress(transaction.to) : "0x",
203
266
  formatNumber(transaction.value || 0, "value"),
204
- (transaction.data || "0x"),
205
- (formatAccessList(transaction.accessList || []))
267
+ transaction.data || "0x",
268
+ formatAccessList(transaction.accessList || []),
206
269
  ];
207
270
 
208
271
  if (signature) {
209
272
  fields.push(joinSignature(signature));
210
273
  }
211
274
 
212
- return hexConcat([ "0x01", RLP.encode(fields)]);
275
+ return hexConcat(["0x01", RLP.encode(fields)]);
213
276
  }
214
277
 
215
278
  // Legacy Transactions and EIP-155
216
- function _serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {
279
+ function _serialize(
280
+ transaction: UnsignedTransaction,
281
+ signature?: SignatureLike,
282
+ ): string {
217
283
  checkProperties(transaction, allowedTransactionKeys);
218
284
 
219
285
  const raw: Array<string | Uint8Array> = [];
220
286
 
221
- transactionFields.forEach(function(fieldInfo) {
222
- let value = (<any>transaction)[fieldInfo.name] || ([]);
223
- const options: DataOptions = { };
224
- if (fieldInfo.numeric) { options.hexPad = "left"; }
287
+ transactionFields.forEach(function (fieldInfo) {
288
+ let value = (<any>transaction)[fieldInfo.name] || [];
289
+ const options: DataOptions = {};
290
+ if (fieldInfo.numeric) {
291
+ options.hexPad = "left";
292
+ }
225
293
  value = arrayify(hexlify(value, options));
226
294
 
227
295
  // Fixed-width field
228
- if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {
229
- logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value);
296
+ if (
297
+ fieldInfo.length &&
298
+ value.length !== fieldInfo.length &&
299
+ value.length > 0
300
+ ) {
301
+ logger.throwArgumentError(
302
+ "invalid length for " + fieldInfo.name,
303
+ "transaction:" + fieldInfo.name,
304
+ value,
305
+ );
230
306
  }
231
307
 
232
308
  // Variable-width (with a maximum)
233
309
  if (fieldInfo.maxLength) {
234
310
  value = stripZeros(value);
235
311
  if (value.length > fieldInfo.maxLength) {
236
- logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value );
312
+ logger.throwArgumentError(
313
+ "invalid length for " + fieldInfo.name,
314
+ "transaction:" + fieldInfo.name,
315
+ value,
316
+ );
237
317
  }
238
318
  }
239
319
 
@@ -245,8 +325,12 @@ function _serialize(transaction: UnsignedTransaction, signature?: SignatureLike)
245
325
  // A chainId was provided; if non-zero we'll use EIP-155
246
326
  chainId = transaction.chainId;
247
327
 
248
- if (typeof(chainId) !== "number") {
249
- logger.throwArgumentError("invalid transaction.chainId", "transaction", transaction);
328
+ if (typeof chainId !== "number") {
329
+ logger.throwArgumentError(
330
+ "invalid transaction.chainId",
331
+ "transaction",
332
+ transaction,
333
+ );
250
334
  }
251
335
  }
252
336
 
@@ -262,11 +346,18 @@ function _serialize(transaction: UnsignedTransaction, signature?: SignatureLike)
262
346
  return RLP.encode(raw);
263
347
  }
264
348
 
265
- export function serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {
349
+ export function serialize(
350
+ transaction: UnsignedTransaction,
351
+ signature?: SignatureLike,
352
+ ): string {
266
353
  // Legacy and EIP-155 Transactions
267
354
  if (transaction.type == null || transaction.type === 0) {
268
355
  if (transaction.accessList != null) {
269
- logger.throwArgumentError("untyped transactions do not support accessList; include type: 1", "transaction", transaction);
356
+ logger.throwArgumentError(
357
+ "untyped transactions do not support accessList; include type: 1",
358
+ "transaction",
359
+ transaction,
360
+ );
270
361
  }
271
362
  return _serialize(transaction, signature);
272
363
  }
@@ -281,17 +372,25 @@ export function serialize(transaction: UnsignedTransaction, signature?: Signatur
281
372
  break;
282
373
  }
283
374
 
284
- return logger.throwError(`unsupported transaction type: ${ transaction.type }`, Logger.errors.UNSUPPORTED_OPERATION, {
285
- operation: "serializeTransaction",
286
- transactionType: transaction.type
287
- });
375
+ return logger.throwError(
376
+ `unsupported transaction type: ${transaction.type}`,
377
+ Logger.errors.UNSUPPORTED_OPERATION,
378
+ {
379
+ operation: "serializeTransaction",
380
+ transactionType: transaction.type,
381
+ },
382
+ );
288
383
  }
289
384
 
290
385
  function _parseEip1559(payload: Uint8Array): Transaction {
291
386
  const transaction = RLP.decode(payload.slice(1));
292
387
 
293
388
  if (transaction.length !== 9 && transaction.length !== 10) {
294
- logger.throwArgumentError("invalid component count for transaction type: 2", "payload", hexlify(payload));
389
+ logger.throwArgumentError(
390
+ "invalid component count for transaction type: 2",
391
+ "payload",
392
+ hexlify(payload),
393
+ );
295
394
  }
296
395
 
297
396
  const maxPriorityFeePerGas = handleNumber(transaction[2]);
@@ -311,11 +410,13 @@ function _parseEip1559(payload: Uint8Array): Transaction {
311
410
  };
312
411
 
313
412
  // Unsigned EIP-1559 Transaction
314
- if (transaction.length === 9) { return tx; }
413
+ if (transaction.length === 9) {
414
+ return tx;
415
+ }
315
416
 
316
417
  tx.hash = keccak256(payload);
317
418
  tx.signature = splitSignature(transaction.slice(9)[0]);
318
- tx.from = computeAddress(tx.signature.publicKey);;
419
+ tx.from = computeAddress(tx.signature.publicKey);
319
420
 
320
421
  return tx;
321
422
  }
@@ -324,7 +425,11 @@ function _parseEip2930(payload: Uint8Array): Transaction {
324
425
  const transaction = RLP.decode(payload.slice(1));
325
426
 
326
427
  if (transaction.length !== 8 && transaction.length !== 9) {
327
- logger.throwArgumentError("invalid component count for transaction type: 1", "payload", hexlify(payload));
428
+ logger.throwArgumentError(
429
+ "invalid component count for transaction type: 1",
430
+ "payload",
431
+ hexlify(payload),
432
+ );
328
433
  }
329
434
 
330
435
  const tx: Transaction = {
@@ -341,7 +446,9 @@ function _parseEip2930(payload: Uint8Array): Transaction {
341
446
  };
342
447
 
343
448
  // Unsigned EIP-2930 Transaction
344
- if (transaction.length === 8) { return tx; }
449
+ if (transaction.length === 8) {
450
+ return tx;
451
+ }
345
452
 
346
453
  tx.hash = keccak256(payload);
347
454
  tx.signature = splitSignature(transaction.slice(8)[0]);
@@ -353,8 +460,16 @@ function _parseEip2930(payload: Uint8Array): Transaction {
353
460
  function _parseLegacyAndEIP_155(rawTransaction: Uint8Array): Transaction {
354
461
  const transaction = RLP.decode(rawTransaction);
355
462
 
356
- if (transaction.length !== 8 && transaction.length !== 7 && transaction.length !== 6) {
357
- logger.throwArgumentError("invalid raw transaction", "rawTransaction", rawTransaction);
463
+ if (
464
+ transaction.length !== 8 &&
465
+ transaction.length !== 7 &&
466
+ transaction.length !== 6
467
+ ) {
468
+ logger.throwArgumentError(
469
+ "invalid raw transaction",
470
+ "rawTransaction",
471
+ rawTransaction,
472
+ );
358
473
  }
359
474
 
360
475
  const tx: Transaction = {
@@ -364,7 +479,7 @@ function _parseLegacyAndEIP_155(rawTransaction: Uint8Array): Transaction {
364
479
  to: handleAddress(transaction[3]),
365
480
  value: handleNumber(transaction[4]),
366
481
  data: transaction[5],
367
- chainId: 0
482
+ chainId: 0,
368
483
  };
369
484
 
370
485
  tx.type = null;
@@ -374,16 +489,17 @@ function _parseLegacyAndEIP_155(rawTransaction: Uint8Array): Transaction {
374
489
  case 6: // Legacy unsigned transaction
375
490
  break;
376
491
  case 7: // Legacy signed transaction or EIP-155 unsigned transaction
377
-
378
492
  let temp = transaction.slice(6)[0];
379
- if(temp.length == 6522){ //Legacy signed transaction
493
+ if (temp.length == 6522) {
494
+ //Legacy signed transaction
380
495
  tx.hash = keccak256(rawTransaction);
381
496
  tx.signature = splitSignature(temp);
382
497
  tx.from = computeAddress(tx.signature.publicKey);
383
- }else{ //EIP-155 unsigned transaction
498
+ } else {
499
+ //EIP-155 unsigned transaction
384
500
  tx.chainId = BigNumber.from(temp).toNumber();
385
501
  }
386
-
502
+
387
503
  break;
388
504
 
389
505
  case 8: // // EIP-155 signed transaction
@@ -404,7 +520,9 @@ export function parse(rawTransaction: BytesLike): Transaction {
404
520
  const payload = arrayify(rawTransaction);
405
521
 
406
522
  // Legacy and EIP-155 Transactions
407
- if (payload[0] > 0x7f) { return _parseLegacyAndEIP_155(payload); }
523
+ if (payload[0] > 0x7f) {
524
+ return _parseLegacyAndEIP_155(payload);
525
+ }
408
526
 
409
527
  // Typed Transaction (EIP-2718)
410
528
  switch (payload[0]) {
@@ -416,10 +534,12 @@ export function parse(rawTransaction: BytesLike): Transaction {
416
534
  break;
417
535
  }
418
536
 
419
- return logger.throwError(`unsupported transaction type: ${ payload[0] }`, Logger.errors.UNSUPPORTED_OPERATION, {
420
- operation: "parseTransaction",
421
- transactionType: payload[0]
422
- });
537
+ return logger.throwError(
538
+ `unsupported transaction type: ${payload[0]}`,
539
+ Logger.errors.UNSUPPORTED_OPERATION,
540
+ {
541
+ operation: "parseTransaction",
542
+ transactionType: payload[0],
543
+ },
544
+ );
423
545
  }
424
-
425
- [0x8004605941139387635763a13a795c4dfb9904beb9555e76629321312908dbd5 != 0x8004605941139387635763A13a795c4dfb9904bEb9555e76629321312908dbd5]