viem 0.0.0-main.20230820T195706 → 0.0.0-main.20230821T033310
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/dist/cjs/chains/celo/parsers.js +76 -0
- package/dist/cjs/chains/celo/parsers.js.map +1 -0
- package/dist/cjs/chains/celo/serializers.js +2 -1
- package/dist/cjs/chains/celo/serializers.js.map +1 -1
- package/dist/cjs/chains/utils.js +3 -1
- package/dist/cjs/chains/utils.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/transaction/parseTransaction.js +8 -3
- package/dist/cjs/utils/transaction/parseTransaction.js.map +1 -1
- package/dist/esm/chains/celo/parsers.js +72 -0
- package/dist/esm/chains/celo/parsers.js.map +1 -0
- package/dist/esm/chains/celo/serializers.js +1 -3
- package/dist/esm/chains/celo/serializers.js.map +1 -1
- package/dist/esm/chains/utils.js +1 -0
- package/dist/esm/chains/utils.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/utils/transaction/parseTransaction.js +6 -3
- package/dist/esm/utils/transaction/parseTransaction.js.map +1 -1
- package/dist/types/chains/celo/parsers.d.ts +6 -0
- package/dist/types/chains/celo/parsers.d.ts.map +1 -0
- package/dist/types/chains/celo/serializers.d.ts +3 -14
- package/dist/types/chains/celo/serializers.d.ts.map +1 -1
- package/dist/types/chains/celo/types.d.ts +16 -2
- package/dist/types/chains/celo/types.d.ts.map +1 -1
- package/dist/types/chains/utils.d.ts +3 -2
- package/dist/types/chains/utils.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/transaction/parseTransaction.d.ts +5 -1
- package/dist/types/utils/transaction/parseTransaction.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/chains/celo/parsers.ts +123 -0
- package/src/chains/celo/serializers.ts +13 -34
- package/src/chains/celo/types.ts +32 -0
- package/src/chains/utils.ts +6 -2
- package/src/errors/version.ts +1 -1
- package/src/utils/transaction/parseTransaction.ts +7 -9
@@ -0,0 +1,76 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.parseTransactionCelo = void 0;
|
4
|
+
const transaction_js_1 = require("../../errors/transaction.js");
|
5
|
+
const isHex_js_1 = require("../../utils/data/isHex.js");
|
6
|
+
const slice_js_1 = require("../../utils/data/slice.js");
|
7
|
+
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
|
8
|
+
const parseTransaction_js_1 = require("../../utils/transaction/parseTransaction.js");
|
9
|
+
const serializers_js_1 = require("./serializers.js");
|
10
|
+
function parseTransactionCelo(serializedTransaction) {
|
11
|
+
const serializedType = (0, slice_js_1.sliceHex)(serializedTransaction, 0, 1);
|
12
|
+
if (serializedType === '0x7c')
|
13
|
+
return parseTransactionCIP42(serializedTransaction);
|
14
|
+
return (0, parseTransaction_js_1.parseTransaction)(serializedTransaction);
|
15
|
+
}
|
16
|
+
exports.parseTransactionCelo = parseTransactionCelo;
|
17
|
+
function parseTransactionCIP42(serializedTransaction) {
|
18
|
+
const transactionArray = (0, parseTransaction_js_1.toTransactionArray)(serializedTransaction);
|
19
|
+
const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, feeCurrency, gatewayFeeRecipient, gatewayFee, to, value, data, accessList, v, r, s,] = transactionArray;
|
20
|
+
if (transactionArray.length !== 15 && transactionArray.length !== 12) {
|
21
|
+
throw new transaction_js_1.InvalidSerializedTransactionError({
|
22
|
+
attributes: {
|
23
|
+
chainId,
|
24
|
+
nonce,
|
25
|
+
maxPriorityFeePerGas,
|
26
|
+
maxFeePerGas,
|
27
|
+
gas,
|
28
|
+
feeCurrency,
|
29
|
+
to,
|
30
|
+
gatewayFeeRecipient,
|
31
|
+
gatewayFee,
|
32
|
+
value,
|
33
|
+
data,
|
34
|
+
accessList,
|
35
|
+
...(transactionArray.length > 12
|
36
|
+
? {
|
37
|
+
v,
|
38
|
+
r,
|
39
|
+
s,
|
40
|
+
}
|
41
|
+
: {}),
|
42
|
+
},
|
43
|
+
serializedTransaction,
|
44
|
+
type: 'cip42',
|
45
|
+
});
|
46
|
+
}
|
47
|
+
const transaction = {
|
48
|
+
chainId: (0, fromHex_js_1.hexToNumber)(chainId),
|
49
|
+
type: 'cip42',
|
50
|
+
};
|
51
|
+
if ((0, isHex_js_1.isHex)(to) && to !== '0x')
|
52
|
+
transaction.to = to;
|
53
|
+
if ((0, isHex_js_1.isHex)(gas) && gas !== '0x')
|
54
|
+
transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas);
|
55
|
+
if ((0, isHex_js_1.isHex)(data) && data !== '0x')
|
56
|
+
transaction.data = data;
|
57
|
+
if ((0, isHex_js_1.isHex)(nonce) && nonce !== '0x')
|
58
|
+
transaction.nonce = (0, fromHex_js_1.hexToNumber)(nonce);
|
59
|
+
if ((0, isHex_js_1.isHex)(value) && value !== '0x')
|
60
|
+
transaction.value = (0, fromHex_js_1.hexToBigInt)(value);
|
61
|
+
if ((0, isHex_js_1.isHex)(feeCurrency) && feeCurrency !== '0x')
|
62
|
+
transaction.feeCurrency = feeCurrency;
|
63
|
+
if ((0, isHex_js_1.isHex)(gatewayFeeRecipient) && gatewayFeeRecipient !== '0x')
|
64
|
+
transaction.gatewayFeeRecipient = gatewayFeeRecipient;
|
65
|
+
if ((0, isHex_js_1.isHex)(gatewayFee) && gatewayFee !== '0x')
|
66
|
+
transaction.gatewayFee = (0, fromHex_js_1.hexToBigInt)(gatewayFee);
|
67
|
+
if ((0, isHex_js_1.isHex)(maxFeePerGas) && maxFeePerGas !== '0x')
|
68
|
+
transaction.maxFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerGas);
|
69
|
+
if ((0, isHex_js_1.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')
|
70
|
+
transaction.maxPriorityFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGas);
|
71
|
+
if (accessList.length !== 0 && accessList !== '0x')
|
72
|
+
transaction.accessList = (0, parseTransaction_js_1.parseAccessList)(accessList);
|
73
|
+
(0, serializers_js_1.assertTransactionCIP42)(transaction);
|
74
|
+
return transaction;
|
75
|
+
}
|
76
|
+
//# sourceMappingURL=parsers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../../src/chains/celo/parsers.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.serializersCelo = exports.serializeTransactionCelo = void 0;
|
3
|
+
exports.assertTransactionCIP42 = exports.serializersCelo = exports.serializeTransactionCelo = void 0;
|
4
4
|
const address_js_1 = require("../../errors/address.js");
|
5
5
|
const base_js_1 = require("../../errors/base.js");
|
6
6
|
const chain_js_1 = require("../../errors/chain.js");
|
@@ -81,4 +81,5 @@ function assertTransactionCIP42(transaction) {
|
|
81
81
|
throw new base_js_1.BaseError('Either `feeCurrency` or `gatewayFeeRecipient` must be provided for CIP-42 transactions.');
|
82
82
|
}
|
83
83
|
}
|
84
|
+
exports.assertTransactionCIP42 = assertTransactionCIP42;
|
84
85
|
//# sourceMappingURL=serializers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/chains/utils.js
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.formattersOptimism = exports.serializersCelo = exports.serializeTransactionCelo = exports.formattersCelo = void 0;
|
3
|
+
exports.formattersOptimism = exports.parseTransactionCelo = exports.serializersCelo = exports.serializeTransactionCelo = exports.formattersCelo = void 0;
|
4
4
|
var formatters_js_1 = require("./celo/formatters.js");
|
5
5
|
Object.defineProperty(exports, "formattersCelo", { enumerable: true, get: function () { return formatters_js_1.formattersCelo; } });
|
6
6
|
var serializers_js_1 = require("./celo/serializers.js");
|
7
7
|
Object.defineProperty(exports, "serializeTransactionCelo", { enumerable: true, get: function () { return serializers_js_1.serializeTransactionCelo; } });
|
8
8
|
Object.defineProperty(exports, "serializersCelo", { enumerable: true, get: function () { return serializers_js_1.serializersCelo; } });
|
9
|
+
var parsers_js_1 = require("./celo/parsers.js");
|
10
|
+
Object.defineProperty(exports, "parseTransactionCelo", { enumerable: true, get: function () { return parsers_js_1.parseTransactionCelo; } });
|
9
11
|
var formatters_js_2 = require("./optimism/formatters.js");
|
10
12
|
Object.defineProperty(exports, "formattersOptimism", { enumerable: true, get: function () { return formatters_js_2.formattersOptimism; } });
|
11
13
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAqD;AAA5C,+GAAA,cAAc,OAAA;AACvB,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAqD;AAA5C,+GAAA,cAAc,OAAA;AACvB,wDAG8B;AAF5B,0HAAA,wBAAwB,OAAA;AACxB,iHAAA,eAAe,OAAA;AAEjB,gDAAwD;AAA/C,kHAAA,oBAAoB,OAAA;AAyB7B,0DAA6D;AAApD,mHAAA,kBAAkB,OAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.parseTransaction = void 0;
|
3
|
+
exports.parseAccessList = exports.toTransactionArray = exports.parseTransaction = void 0;
|
4
4
|
const address_js_1 = require("../../errors/address.js");
|
5
5
|
const transaction_js_1 = require("../../errors/transaction.js");
|
6
6
|
const isAddress_js_1 = require("../address/isAddress.js");
|
@@ -22,7 +22,7 @@ function parseTransaction(serializedTransaction) {
|
|
22
22
|
}
|
23
23
|
exports.parseTransaction = parseTransaction;
|
24
24
|
function parseTransactionEIP1559(serializedTransaction) {
|
25
|
-
const transactionArray = (
|
25
|
+
const transactionArray = toTransactionArray(serializedTransaction);
|
26
26
|
const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray;
|
27
27
|
if (!(transactionArray.length === 9 || transactionArray.length === 12))
|
28
28
|
throw new transaction_js_1.InvalidSerializedTransactionError({
|
@@ -74,7 +74,7 @@ function parseTransactionEIP1559(serializedTransaction) {
|
|
74
74
|
return { ...signature, ...transaction };
|
75
75
|
}
|
76
76
|
function parseTransactionEIP2930(serializedTransaction) {
|
77
|
-
const transactionArray = (
|
77
|
+
const transactionArray = toTransactionArray(serializedTransaction);
|
78
78
|
const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray;
|
79
79
|
if (!(transactionArray.length === 8 || transactionArray.length === 11))
|
80
80
|
throw new transaction_js_1.InvalidSerializedTransactionError({
|
@@ -182,6 +182,10 @@ function parseTransactionLegacy(serializedTransaction) {
|
|
182
182
|
transaction.r = r;
|
183
183
|
return transaction;
|
184
184
|
}
|
185
|
+
function toTransactionArray(serializedTransaction) {
|
186
|
+
return (0, fromRlp_js_1.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex');
|
187
|
+
}
|
188
|
+
exports.toTransactionArray = toTransactionArray;
|
185
189
|
function parseAccessList(accessList_) {
|
186
190
|
const accessList = [];
|
187
191
|
for (let i = 0; i < accessList_.length; i++) {
|
@@ -195,6 +199,7 @@ function parseAccessList(accessList_) {
|
|
195
199
|
}
|
196
200
|
return accessList;
|
197
201
|
}
|
202
|
+
exports.parseAccessList = parseAccessList;
|
198
203
|
function parseEIP155Signature(transactionArray) {
|
199
204
|
const signature = transactionArray.slice(-3);
|
200
205
|
const v = signature[0] === '0x' || (0, fromHex_js_1.hexToBigInt)(signature[0]) === 0n ? 27n : 28n;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":";;;AAAA,wDAA6D;AAC7D,gEAGoC;AAcpC,0DAAmD;AACnD,+CAAwC;AACxC,2CAAuC;AACvC,6CAAsC;AACtC,uDAAiE;AACjE,uDAAgD;AAEhD,iDAA0C;AAE1C,iEAI+B;AAC/B,uFAG0C;AAU1C,SAAgB,gBAAgB,CAC9B,qBAAkC;IAElC,MAAM,IAAI,GAAG,IAAA,8DAA4B,EAAC,qBAAqB,CAAC,CAAA;IAEhE,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,uBAAuB,CAC5B,qBAAqD,CACX,CAAA;IAE9C,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,uBAAuB,CAC5B,qBAAqD,CACX,CAAA;IAE9C,OAAO,sBAAsB,CAC3B,qBAAqB,CACqB,CAAA;AAC9C,CAAC;AAlBD,4CAkBC;AAED,SAAS,uBAAuB,CAC9B,qBAAmD;IAEnD,MAAM,gBAAgB,GAAG,
|
1
|
+
{"version":3,"file":"parseTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
import { InvalidSerializedTransactionError } from '../../errors/transaction.js';
|
2
|
+
import { isHex } from '../../utils/data/isHex.js';
|
3
|
+
import { sliceHex } from '../../utils/data/slice.js';
|
4
|
+
import { hexToBigInt, hexToNumber } from '../../utils/encoding/fromHex.js';
|
5
|
+
import { parseAccessList, parseTransaction, toTransactionArray, } from '../../utils/transaction/parseTransaction.js';
|
6
|
+
import { assertTransactionCIP42 } from './serializers.js';
|
7
|
+
export function parseTransactionCelo(serializedTransaction) {
|
8
|
+
const serializedType = sliceHex(serializedTransaction, 0, 1);
|
9
|
+
if (serializedType === '0x7c')
|
10
|
+
return parseTransactionCIP42(serializedTransaction);
|
11
|
+
return parseTransaction(serializedTransaction);
|
12
|
+
}
|
13
|
+
function parseTransactionCIP42(serializedTransaction) {
|
14
|
+
const transactionArray = toTransactionArray(serializedTransaction);
|
15
|
+
const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, feeCurrency, gatewayFeeRecipient, gatewayFee, to, value, data, accessList, v, r, s,] = transactionArray;
|
16
|
+
if (transactionArray.length !== 15 && transactionArray.length !== 12) {
|
17
|
+
throw new InvalidSerializedTransactionError({
|
18
|
+
attributes: {
|
19
|
+
chainId,
|
20
|
+
nonce,
|
21
|
+
maxPriorityFeePerGas,
|
22
|
+
maxFeePerGas,
|
23
|
+
gas,
|
24
|
+
feeCurrency,
|
25
|
+
to,
|
26
|
+
gatewayFeeRecipient,
|
27
|
+
gatewayFee,
|
28
|
+
value,
|
29
|
+
data,
|
30
|
+
accessList,
|
31
|
+
...(transactionArray.length > 12
|
32
|
+
? {
|
33
|
+
v,
|
34
|
+
r,
|
35
|
+
s,
|
36
|
+
}
|
37
|
+
: {}),
|
38
|
+
},
|
39
|
+
serializedTransaction,
|
40
|
+
type: 'cip42',
|
41
|
+
});
|
42
|
+
}
|
43
|
+
const transaction = {
|
44
|
+
chainId: hexToNumber(chainId),
|
45
|
+
type: 'cip42',
|
46
|
+
};
|
47
|
+
if (isHex(to) && to !== '0x')
|
48
|
+
transaction.to = to;
|
49
|
+
if (isHex(gas) && gas !== '0x')
|
50
|
+
transaction.gas = hexToBigInt(gas);
|
51
|
+
if (isHex(data) && data !== '0x')
|
52
|
+
transaction.data = data;
|
53
|
+
if (isHex(nonce) && nonce !== '0x')
|
54
|
+
transaction.nonce = hexToNumber(nonce);
|
55
|
+
if (isHex(value) && value !== '0x')
|
56
|
+
transaction.value = hexToBigInt(value);
|
57
|
+
if (isHex(feeCurrency) && feeCurrency !== '0x')
|
58
|
+
transaction.feeCurrency = feeCurrency;
|
59
|
+
if (isHex(gatewayFeeRecipient) && gatewayFeeRecipient !== '0x')
|
60
|
+
transaction.gatewayFeeRecipient = gatewayFeeRecipient;
|
61
|
+
if (isHex(gatewayFee) && gatewayFee !== '0x')
|
62
|
+
transaction.gatewayFee = hexToBigInt(gatewayFee);
|
63
|
+
if (isHex(maxFeePerGas) && maxFeePerGas !== '0x')
|
64
|
+
transaction.maxFeePerGas = hexToBigInt(maxFeePerGas);
|
65
|
+
if (isHex(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')
|
66
|
+
transaction.maxPriorityFeePerGas = hexToBigInt(maxPriorityFeePerGas);
|
67
|
+
if (accessList.length !== 0 && accessList !== '0x')
|
68
|
+
transaction.accessList = parseAccessList(accessList);
|
69
|
+
assertTransactionCIP42(transaction);
|
70
|
+
return transaction;
|
71
|
+
}
|
72
|
+
//# sourceMappingURL=parsers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../../src/chains/celo/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAA;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG1E,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAezD,MAAM,UAAU,oBAAoB,CAGlC,qBAAkC;IAElC,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,qBAAqB,CAC1B,qBAAmD,CACL,CAAA;IAElD,OAAO,gBAAgB,CACrB,qBAAqB,CACyB,CAAA;AAClD,CAAC;AAED,SAAS,qBAAqB,CAC5B,qBAAiD;IAEjD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;IAElE,MAAM,CACJ,OAAO,EACP,KAAK,EACL,oBAAoB,EACpB,YAAY,EACZ,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,EAAE,EACF,KAAK,EACL,IAAI,EACJ,UAAU,EACV,CAAC,EACD,CAAC,EACD,CAAC,EACF,GAAG,gBAAgB,CAAA;IAEpB,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE;QACpE,MAAM,IAAI,iCAAiC,CAAC;YAC1C,UAAU,EAAE;gBACV,OAAO;gBACP,KAAK;gBACL,oBAAoB;gBACpB,YAAY;gBACZ,GAAG;gBACH,WAAW;gBACX,EAAE;gBACF,mBAAmB;gBACnB,UAAU;gBACV,KAAK;gBACL,IAAI;gBACJ,UAAU;gBACV,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE;oBAC9B,CAAC,CAAC;wBACE,CAAC;wBACD,CAAC;wBACD,CAAC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,qBAAqB;YACrB,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;KACH;IAED,MAAM,WAAW,GAA0C;QACzD,OAAO,EAAE,WAAW,CAAC,OAAc,CAAC;QACpC,IAAI,EAAE,OAAO;KACd,CAAA;IAED,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI;QAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IACjD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI;QAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAClE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI;QAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;IACzD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC1E,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC1E,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,IAAI;QAC5C,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACvC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,KAAK,IAAI;QAC5D,WAAW,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;IACvD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,IAAI;QAC1C,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,IAAI;QAC9C,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IACtD,IAAI,KAAK,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,KAAK,IAAI;QAC9D,WAAW,CAAC,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI;QAChD,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC,UAAiC,CAAC,CAAA;IAE7E,sBAAsB,CAAC,WAA2C,CAAC,CAAA;IAEnE,OAAO,WAA2C,CAAA;AACpD,CAAC"}
|
@@ -19,8 +19,6 @@ export const serializeTransactionCelo = (tx, signature) => {
|
|
19
19
|
export const serializersCelo = {
|
20
20
|
transaction: serializeTransactionCelo,
|
21
21
|
};
|
22
|
-
//////////////////////////////////////////////////////////////////////////////
|
23
|
-
// Serializers
|
24
22
|
// There shall be a typed transaction with the code 0x7c that has the following format:
|
25
23
|
// 0x7c || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, feecurrency, gatewayFeeRecipient, gatewayfee, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s]).
|
26
24
|
// This will be in addition to the type 0x02 transaction as specified in EIP-1559.
|
@@ -64,7 +62,7 @@ function isCIP42(transaction) {
|
|
64
62
|
}
|
65
63
|
// maxFeePerGas must be less than 2^256 - 1: however writing like that caused exceptions to be raised
|
66
64
|
const MAX_MAX_FEE_PER_GAS = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
|
67
|
-
function assertTransactionCIP42(transaction) {
|
65
|
+
export function assertTransactionCIP42(transaction) {
|
68
66
|
const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, feeCurrency, gatewayFee, gatewayFeeRecipient, } = transaction;
|
69
67
|
if (chainId <= 0)
|
70
68
|
throw new InvalidChainIdError({ chainId });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/chains/utils.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
export { formattersCelo } from './celo/formatters.js';
|
2
2
|
export { serializeTransactionCelo, serializersCelo, } from './celo/serializers.js';
|
3
|
+
export { parseTransactionCelo } from './celo/parsers.js';
|
3
4
|
export { formattersOptimism } from './optimism/formatters.js';
|
4
5
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,wBAAwB,EACxB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAyBxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20230821T033310';
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -18,7 +18,7 @@ export function parseTransaction(serializedTransaction) {
|
|
18
18
|
return parseTransactionLegacy(serializedTransaction);
|
19
19
|
}
|
20
20
|
function parseTransactionEIP1559(serializedTransaction) {
|
21
|
-
const transactionArray =
|
21
|
+
const transactionArray = toTransactionArray(serializedTransaction);
|
22
22
|
const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray;
|
23
23
|
if (!(transactionArray.length === 9 || transactionArray.length === 12))
|
24
24
|
throw new InvalidSerializedTransactionError({
|
@@ -70,7 +70,7 @@ function parseTransactionEIP1559(serializedTransaction) {
|
|
70
70
|
return { ...signature, ...transaction };
|
71
71
|
}
|
72
72
|
function parseTransactionEIP2930(serializedTransaction) {
|
73
|
-
const transactionArray =
|
73
|
+
const transactionArray = toTransactionArray(serializedTransaction);
|
74
74
|
const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray;
|
75
75
|
if (!(transactionArray.length === 8 || transactionArray.length === 11))
|
76
76
|
throw new InvalidSerializedTransactionError({
|
@@ -178,7 +178,10 @@ function parseTransactionLegacy(serializedTransaction) {
|
|
178
178
|
transaction.r = r;
|
179
179
|
return transaction;
|
180
180
|
}
|
181
|
-
function
|
181
|
+
export function toTransactionArray(serializedTransaction) {
|
182
|
+
return fromRlp(`0x${serializedTransaction.slice(4)}`, 'hex');
|
183
|
+
}
|
184
|
+
export function parseAccessList(accessList_) {
|
182
185
|
const accessList = [];
|
183
186
|
for (let i = 0; i < accessList_.length; i++) {
|
184
187
|
const [address, storageKeys] = accessList_[i];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,iCAAiC,GAClC,MAAM,6BAA6B,CAAA;AAcpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,4BAA4B,GAC7B,MAAM,mCAAmC,CAAA;AAU1C,MAAM,UAAU,gBAAgB,CAC9B,qBAAkC;IAElC,MAAM,IAAI,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,CAAA;IAEhE,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,uBAAuB,CAC5B,qBAAqD,CACX,CAAA;IAE9C,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,uBAAuB,CAC5B,qBAAqD,CACX,CAAA;IAE9C,OAAO,sBAAsB,CAC3B,qBAAqB,CACqB,CAAA;AAC9C,CAAC;AAED,SAAS,uBAAuB,CAC9B,qBAAmD;IAEnD,MAAM,gBAAgB,GAAG,
|
1
|
+
{"version":3,"file":"parseTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { GetSerializedTransactionType } from '../../utils/transaction/getSerializedTransactionType.js';
|
2
|
+
import { type ParseTransactionReturnType } from '../../utils/transaction/parseTransaction.js';
|
3
|
+
import type { CeloTransactionSerialized, CeloTransactionType, TransactionSerializableCIP42, TransactionSerializedCIP42 } from './types.js';
|
4
|
+
export type ParseTransactionCeloReturnType<TSerialized extends CeloTransactionSerialized = CeloTransactionSerialized, TType extends CeloTransactionType = GetSerializedTransactionType<TSerialized>> = TSerialized extends TransactionSerializedCIP42 ? TransactionSerializableCIP42 : ParseTransactionReturnType<TSerialized, TType>;
|
5
|
+
export declare function parseTransactionCelo<TSerialized extends CeloTransactionSerialized>(serializedTransaction: TSerialized): ParseTransactionCeloReturnType<TSerialized>;
|
6
|
+
//# sourceMappingURL=parsers.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../../src/chains/celo/parsers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yDAAyD,CAAA;AAC3G,OAAO,EACL,KAAK,0BAA0B,EAIhC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,8BAA8B,CACxC,WAAW,SAAS,yBAAyB,GAAG,yBAAyB,EACzE,KAAK,SAAS,mBAAmB,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAC3E,WAAW,SAAS,0BAA0B,GAC9C,4BAA4B,GAC5B,0BAA0B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAElD,wBAAgB,oBAAoB,CAClC,WAAW,SAAS,yBAAyB,EAE7C,qBAAqB,EAAE,WAAW,GACjC,8BAA8B,CAAC,WAAW,CAAC,CAW7C"}
|
@@ -1,20 +1,9 @@
|
|
1
|
-
import type { Address } from 'abitype';
|
2
|
-
import type { FeeValuesEIP1559 } from '../../types/fee.js';
|
3
|
-
import type { AccessList, TransactionSerializable, TransactionSerializableBase } from '../../types/transaction.js';
|
4
1
|
import { type SerializeTransactionFn } from '../../utils/transaction/serializeTransaction.js';
|
2
|
+
import type { CeloTransactionSerializable, TransactionSerializableCIP42, TransactionSerializedCIP42 } from './types.js';
|
5
3
|
export declare const serializeTransactionCelo: SerializeTransactionFn<CeloTransactionSerializable>;
|
6
4
|
export declare const serializersCelo: {
|
7
5
|
readonly transaction: SerializeTransactionFn<CeloTransactionSerializable>;
|
8
6
|
};
|
9
|
-
export type
|
10
|
-
|
11
|
-
gasPrice?: never;
|
12
|
-
feeCurrency?: Address;
|
13
|
-
gatewayFeeRecipient?: Address;
|
14
|
-
gatewayFee?: TQuantity;
|
15
|
-
chainId: number;
|
16
|
-
type?: 'cip42';
|
17
|
-
};
|
18
|
-
export type CeloTransactionSerializable = TransactionSerializableCIP42 | TransactionSerializable;
|
19
|
-
export type SerializedCIP42TransactionReturnType = `0x7c${string}`;
|
7
|
+
export type SerializeTransactionCIP42ReturnType = TransactionSerializedCIP42;
|
8
|
+
export declare function assertTransactionCIP42(transaction: TransactionSerializableCIP42): void;
|
20
9
|
//# sourceMappingURL=serializers.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../../../src/chains/celo/serializers.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,wBAAwB,EAAE,sBAAsB,CAC3D,2BAA2B,CAW5B,CAAA;AAED,eAAO,MAAM,eAAe;;CAES,CAAA;AAKrC,MAAM,MAAM,mCAAmC,GAAG,0BAA0B,CAAA;AA0E5E,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,4BAA4B,QAiD1C"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { Address } from 'abitype';
|
2
2
|
import type { Block, BlockTag } from '../../types/block.js';
|
3
|
+
import type { FeeValuesEIP1559 } from '../../types/fee.js';
|
3
4
|
import type { Hex } from '../../types/misc.js';
|
4
|
-
import type { RpcBlock, RpcTransaction, RpcTransactionReceipt, RpcTransactionRequest } from '../../types/rpc.js';
|
5
|
-
import type { Transaction, TransactionReceipt, TransactionRequest } from '../../types/transaction.js';
|
5
|
+
import type { RpcBlock, RpcTransaction, RpcTransactionReceipt, RpcTransactionRequest, TransactionType } from '../../types/rpc.js';
|
6
|
+
import type { AccessList, Transaction, TransactionReceipt, TransactionRequest, TransactionSerializable, TransactionSerializableBase, TransactionSerialized } from '../../types/transaction.js';
|
6
7
|
import type { NeverBy } from '../../types/utils.js';
|
7
8
|
import type { OptimismRpcTransaction } from '../optimism/types.js';
|
8
9
|
type CeloBlockExclude = 'difficulty' | 'gasLimit' | 'mixHash' | 'nonce' | 'uncles';
|
@@ -56,5 +57,18 @@ export type CeloTransactionRequestOverrides = {
|
|
56
57
|
gatewayFeeRecipient?: Address;
|
57
58
|
};
|
58
59
|
export type CeloTransactionRequest = TransactionRequest & CeloTransactionRequestOverrides;
|
60
|
+
export type CeloTransactionSerializable = TransactionSerializableCIP42 | TransactionSerializable;
|
61
|
+
export type CeloTransactionSerialized<TType extends CeloTransactionType = 'legacy'> = TransactionSerialized<TType> | TransactionSerializedCIP42;
|
62
|
+
export type CeloTransactionType = TransactionType | 'cip42';
|
63
|
+
export type TransactionSerializableCIP42<TQuantity = bigint, TIndex = number> = TransactionSerializableBase<TQuantity, TIndex> & FeeValuesEIP1559<TQuantity> & {
|
64
|
+
accessList?: AccessList;
|
65
|
+
gasPrice?: never;
|
66
|
+
feeCurrency?: Address;
|
67
|
+
gatewayFeeRecipient?: Address;
|
68
|
+
gatewayFee?: TQuantity;
|
69
|
+
chainId: number;
|
70
|
+
type?: 'cip42';
|
71
|
+
};
|
72
|
+
export type TransactionSerializedCIP42 = `0x7c${string}`;
|
59
73
|
export {};
|
60
74
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chains/celo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,qBAAqB,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chains/celo/types.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
export { formattersCelo } from './celo/formatters.js';
|
2
|
-
export {
|
3
|
-
export
|
2
|
+
export { serializeTransactionCelo, serializersCelo, } from './celo/serializers.js';
|
3
|
+
export { parseTransactionCelo } from './celo/parsers.js';
|
4
|
+
export type { CeloBlock, CeloBlockOverrides, CeloRpcBlock, CeloRpcBlockOverrides, CeloRpcTransaction, CeloRpcTransactionOverrides, CeloRpcTransactionReceipt, CeloRpcTransactionReceiptOverrides, CeloRpcTransactionRequest, CeloRpcTransactionRequestOverrides, CeloTransaction, CeloTransactionOverrides, CeloTransactionReceipt, CeloTransactionReceiptOverrides, CeloTransactionRequest, CeloTransactionRequestOverrides, CeloTransactionSerializable, CeloTransactionSerialized, CeloTransactionType, TransactionSerializableCIP42, TransactionSerializedCIP42, } from './celo/types.js';
|
4
5
|
export { formattersOptimism } from './optimism/formatters.js';
|
5
6
|
export type { OptimismBlock, OptimismBlockOverrides, OptimismDepositTransaction, OptimismRpcBlock, OptimismRpcBlockOverrides, OptimismRpcDepositTransaction, OptimismRpcTransaction, OptimismRpcTransactionReceipt, OptimismRpcTransactionReceiptOverrides, OptimismTransaction, OptimismTransactionReceipt, OptimismTransactionReceiptOverrides, } from './optimism/types.js';
|
6
7
|
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,wBAAwB,EACxB,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,kCAAkC,EAClC,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,+BAA+B,EAC/B,sBAAsB,EACtB,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,6BAA6B,EAC7B,sCAAsC,EACtC,mBAAmB,EACnB,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAA"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "0.0.0-main.
|
1
|
+
export declare const version = "0.0.0-main.20230821T033310";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1,5 +1,9 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Hex } from '../../types/misc.js';
|
2
|
+
import type { AccessList, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableLegacy, TransactionSerialized, TransactionType } from '../../types/transaction.js';
|
3
|
+
import type { RecursiveArray } from '../encoding/toRlp.js';
|
2
4
|
import { type GetSerializedTransactionType } from './getSerializedTransactionType.js';
|
3
5
|
export type ParseTransactionReturnType<TSerialized extends TransactionSerialized = TransactionSerialized, TType extends TransactionType = GetSerializedTransactionType<TSerialized>> = (TType extends 'eip1559' ? TransactionSerializableEIP1559 : never) | (TType extends 'eip2930' ? TransactionSerializableEIP2930 : never) | (TType extends 'legacy' ? TransactionSerializableLegacy : never);
|
4
6
|
export declare function parseTransaction<TSerialized extends TransactionSerialized>(serializedTransaction: TSerialized): ParseTransactionReturnType<TSerialized>;
|
7
|
+
export declare function toTransactionArray(serializedTransaction: string): RecursiveArray<`0x${string}`>;
|
8
|
+
export declare function parseAccessList(accessList_: RecursiveArray<Hex>): AccessList;
|
5
9
|
//# sourceMappingURL=parseTransaction.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/transaction/parseTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,UAAU,EAGV,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EAGrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AAOnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQ1D,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,0BAA0B,CACpC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EACjE,KAAK,SAAS,eAAe,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAEvE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,QAAQ,GAAG,6BAA6B,GAAG,KAAK,CAAC,CAAA;AAEpE,wBAAgB,gBAAgB,CAAC,WAAW,SAAS,qBAAqB,EACxE,qBAAqB,EAAE,WAAW,GACjC,0BAA0B,CAAC,WAAW,CAAC,CAgBzC;AAoMD,wBAAgB,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,iCAE/D;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAa5E"}
|
package/package.json
CHANGED
@@ -0,0 +1,123 @@
|
|
1
|
+
import { InvalidSerializedTransactionError } from '../../errors/transaction.js'
|
2
|
+
import type { Hex } from '../../types/misc.js'
|
3
|
+
import { isHex } from '../../utils/data/isHex.js'
|
4
|
+
import { sliceHex } from '../../utils/data/slice.js'
|
5
|
+
import { hexToBigInt, hexToNumber } from '../../utils/encoding/fromHex.js'
|
6
|
+
import type { RecursiveArray } from '../../utils/encoding/toRlp.js'
|
7
|
+
import type { GetSerializedTransactionType } from '../../utils/transaction/getSerializedTransactionType.js'
|
8
|
+
import {
|
9
|
+
type ParseTransactionReturnType,
|
10
|
+
parseAccessList,
|
11
|
+
parseTransaction,
|
12
|
+
toTransactionArray,
|
13
|
+
} from '../../utils/transaction/parseTransaction.js'
|
14
|
+
import { assertTransactionCIP42 } from './serializers.js'
|
15
|
+
import type {
|
16
|
+
CeloTransactionSerialized,
|
17
|
+
CeloTransactionType,
|
18
|
+
TransactionSerializableCIP42,
|
19
|
+
TransactionSerializedCIP42,
|
20
|
+
} from './types.js'
|
21
|
+
|
22
|
+
export type ParseTransactionCeloReturnType<
|
23
|
+
TSerialized extends CeloTransactionSerialized = CeloTransactionSerialized,
|
24
|
+
TType extends CeloTransactionType = GetSerializedTransactionType<TSerialized>,
|
25
|
+
> = TSerialized extends TransactionSerializedCIP42
|
26
|
+
? TransactionSerializableCIP42
|
27
|
+
: ParseTransactionReturnType<TSerialized, TType>
|
28
|
+
|
29
|
+
export function parseTransactionCelo<
|
30
|
+
TSerialized extends CeloTransactionSerialized,
|
31
|
+
>(
|
32
|
+
serializedTransaction: TSerialized,
|
33
|
+
): ParseTransactionCeloReturnType<TSerialized> {
|
34
|
+
const serializedType = sliceHex(serializedTransaction, 0, 1)
|
35
|
+
|
36
|
+
if (serializedType === '0x7c')
|
37
|
+
return parseTransactionCIP42(
|
38
|
+
serializedTransaction as TransactionSerializedCIP42,
|
39
|
+
) as ParseTransactionCeloReturnType<TSerialized>
|
40
|
+
|
41
|
+
return parseTransaction(
|
42
|
+
serializedTransaction,
|
43
|
+
) as ParseTransactionCeloReturnType<TSerialized>
|
44
|
+
}
|
45
|
+
|
46
|
+
function parseTransactionCIP42(
|
47
|
+
serializedTransaction: TransactionSerializedCIP42,
|
48
|
+
): TransactionSerializableCIP42 {
|
49
|
+
const transactionArray = toTransactionArray(serializedTransaction)
|
50
|
+
|
51
|
+
const [
|
52
|
+
chainId,
|
53
|
+
nonce,
|
54
|
+
maxPriorityFeePerGas,
|
55
|
+
maxFeePerGas,
|
56
|
+
gas,
|
57
|
+
feeCurrency,
|
58
|
+
gatewayFeeRecipient,
|
59
|
+
gatewayFee,
|
60
|
+
to,
|
61
|
+
value,
|
62
|
+
data,
|
63
|
+
accessList,
|
64
|
+
v,
|
65
|
+
r,
|
66
|
+
s,
|
67
|
+
] = transactionArray
|
68
|
+
|
69
|
+
if (transactionArray.length !== 15 && transactionArray.length !== 12) {
|
70
|
+
throw new InvalidSerializedTransactionError({
|
71
|
+
attributes: {
|
72
|
+
chainId,
|
73
|
+
nonce,
|
74
|
+
maxPriorityFeePerGas,
|
75
|
+
maxFeePerGas,
|
76
|
+
gas,
|
77
|
+
feeCurrency,
|
78
|
+
to,
|
79
|
+
gatewayFeeRecipient,
|
80
|
+
gatewayFee,
|
81
|
+
value,
|
82
|
+
data,
|
83
|
+
accessList,
|
84
|
+
...(transactionArray.length > 12
|
85
|
+
? {
|
86
|
+
v,
|
87
|
+
r,
|
88
|
+
s,
|
89
|
+
}
|
90
|
+
: {}),
|
91
|
+
},
|
92
|
+
serializedTransaction,
|
93
|
+
type: 'cip42',
|
94
|
+
})
|
95
|
+
}
|
96
|
+
|
97
|
+
const transaction: Partial<TransactionSerializableCIP42> = {
|
98
|
+
chainId: hexToNumber(chainId as Hex),
|
99
|
+
type: 'cip42',
|
100
|
+
}
|
101
|
+
|
102
|
+
if (isHex(to) && to !== '0x') transaction.to = to
|
103
|
+
if (isHex(gas) && gas !== '0x') transaction.gas = hexToBigInt(gas)
|
104
|
+
if (isHex(data) && data !== '0x') transaction.data = data
|
105
|
+
if (isHex(nonce) && nonce !== '0x') transaction.nonce = hexToNumber(nonce)
|
106
|
+
if (isHex(value) && value !== '0x') transaction.value = hexToBigInt(value)
|
107
|
+
if (isHex(feeCurrency) && feeCurrency !== '0x')
|
108
|
+
transaction.feeCurrency = feeCurrency
|
109
|
+
if (isHex(gatewayFeeRecipient) && gatewayFeeRecipient !== '0x')
|
110
|
+
transaction.gatewayFeeRecipient = gatewayFeeRecipient
|
111
|
+
if (isHex(gatewayFee) && gatewayFee !== '0x')
|
112
|
+
transaction.gatewayFee = hexToBigInt(gatewayFee)
|
113
|
+
if (isHex(maxFeePerGas) && maxFeePerGas !== '0x')
|
114
|
+
transaction.maxFeePerGas = hexToBigInt(maxFeePerGas)
|
115
|
+
if (isHex(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')
|
116
|
+
transaction.maxPriorityFeePerGas = hexToBigInt(maxPriorityFeePerGas)
|
117
|
+
if (accessList.length !== 0 && accessList !== '0x')
|
118
|
+
transaction.accessList = parseAccessList(accessList as RecursiveArray<Hex>)
|
119
|
+
|
120
|
+
assertTransactionCIP42(transaction as TransactionSerializableCIP42)
|
121
|
+
|
122
|
+
return transaction as TransactionSerializableCIP42
|
123
|
+
}
|
@@ -1,17 +1,10 @@
|
|
1
|
-
import type { Address } from 'abitype'
|
2
|
-
|
3
1
|
import { InvalidAddressError } from '../../errors/address.js'
|
4
2
|
import { BaseError } from '../../errors/base.js'
|
5
3
|
import { InvalidChainIdError } from '../../errors/chain.js'
|
6
4
|
import { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js'
|
7
5
|
import type { ChainSerializers } from '../../types/chain.js'
|
8
|
-
import type { FeeValuesEIP1559 } from '../../types/fee.js'
|
9
6
|
import type { Signature } from '../../types/misc.js'
|
10
|
-
import type {
|
11
|
-
AccessList,
|
12
|
-
TransactionSerializable,
|
13
|
-
TransactionSerializableBase,
|
14
|
-
} from '../../types/transaction.js'
|
7
|
+
import type { TransactionSerializable } from '../../types/transaction.js'
|
15
8
|
import { isAddress } from '../../utils/address/isAddress.js'
|
16
9
|
import { concatHex } from '../../utils/data/concat.js'
|
17
10
|
import { trim } from '../../utils/data/trim.js'
|
@@ -22,6 +15,11 @@ import {
|
|
22
15
|
type SerializeTransactionFn,
|
23
16
|
serializeTransaction,
|
24
17
|
} from '../../utils/transaction/serializeTransaction.js'
|
18
|
+
import type {
|
19
|
+
CeloTransactionSerializable,
|
20
|
+
TransactionSerializableCIP42,
|
21
|
+
TransactionSerializedCIP42,
|
22
|
+
} from './types.js'
|
25
23
|
|
26
24
|
export const serializeTransactionCelo: SerializeTransactionFn<
|
27
25
|
CeloTransactionSerializable
|
@@ -41,39 +39,18 @@ export const serializersCelo = {
|
|
41
39
|
transaction: serializeTransactionCelo,
|
42
40
|
} as const satisfies ChainSerializers
|
43
41
|
|
44
|
-
//////////////////////////////////////////////////////////////////////////////
|
45
|
-
// Types
|
46
|
-
|
47
|
-
export type TransactionSerializableCIP42<
|
48
|
-
TQuantity = bigint,
|
49
|
-
TIndex = number,
|
50
|
-
> = TransactionSerializableBase<TQuantity, TIndex> &
|
51
|
-
FeeValuesEIP1559<TQuantity> & {
|
52
|
-
accessList?: AccessList
|
53
|
-
gasPrice?: never
|
54
|
-
feeCurrency?: Address
|
55
|
-
gatewayFeeRecipient?: Address
|
56
|
-
gatewayFee?: TQuantity
|
57
|
-
chainId: number
|
58
|
-
type?: 'cip42'
|
59
|
-
}
|
60
|
-
|
61
|
-
export type CeloTransactionSerializable =
|
62
|
-
| TransactionSerializableCIP42
|
63
|
-
| TransactionSerializable
|
64
|
-
|
65
|
-
export type SerializedCIP42TransactionReturnType = `0x7c${string}`
|
66
|
-
|
67
42
|
//////////////////////////////////////////////////////////////////////////////
|
68
43
|
// Serializers
|
69
44
|
|
45
|
+
export type SerializeTransactionCIP42ReturnType = TransactionSerializedCIP42
|
46
|
+
|
70
47
|
// There shall be a typed transaction with the code 0x7c that has the following format:
|
71
48
|
// 0x7c || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, feecurrency, gatewayFeeRecipient, gatewayfee, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s]).
|
72
49
|
// This will be in addition to the type 0x02 transaction as specified in EIP-1559.
|
73
50
|
function serializeTransactionCIP42(
|
74
51
|
transaction: TransactionSerializableCIP42,
|
75
52
|
signature?: Signature,
|
76
|
-
):
|
53
|
+
): SerializeTransactionCIP42ReturnType {
|
77
54
|
assertTransactionCIP42(transaction)
|
78
55
|
const {
|
79
56
|
chainId,
|
@@ -116,7 +93,7 @@ function serializeTransactionCIP42(
|
|
116
93
|
return concatHex([
|
117
94
|
'0x7c',
|
118
95
|
toRlp(serializedTransaction),
|
119
|
-
]) as
|
96
|
+
]) as SerializeTransactionCIP42ReturnType
|
120
97
|
}
|
121
98
|
|
122
99
|
//////////////////////////////////////////////////////////////////////////////
|
@@ -139,7 +116,9 @@ function isCIP42(transaction: CeloTransactionSerializable) {
|
|
139
116
|
const MAX_MAX_FEE_PER_GAS =
|
140
117
|
115792089237316195423570985008687907853269984665640564039457584007913129639935n
|
141
118
|
|
142
|
-
function assertTransactionCIP42(
|
119
|
+
export function assertTransactionCIP42(
|
120
|
+
transaction: TransactionSerializableCIP42,
|
121
|
+
) {
|
143
122
|
const {
|
144
123
|
chainId,
|
145
124
|
maxPriorityFeePerGas,
|
package/src/chains/celo/types.ts
CHANGED
@@ -1,17 +1,23 @@
|
|
1
1
|
import type { Address } from 'abitype'
|
2
2
|
|
3
3
|
import type { Block, BlockTag } from '../../types/block.js'
|
4
|
+
import type { FeeValuesEIP1559 } from '../../types/fee.js'
|
4
5
|
import type { Hex } from '../../types/misc.js'
|
5
6
|
import type {
|
6
7
|
RpcBlock,
|
7
8
|
RpcTransaction,
|
8
9
|
RpcTransactionReceipt,
|
9
10
|
RpcTransactionRequest,
|
11
|
+
TransactionType,
|
10
12
|
} from '../../types/rpc.js'
|
11
13
|
import type {
|
14
|
+
AccessList,
|
12
15
|
Transaction,
|
13
16
|
TransactionReceipt,
|
14
17
|
TransactionRequest,
|
18
|
+
TransactionSerializable,
|
19
|
+
TransactionSerializableBase,
|
20
|
+
TransactionSerialized,
|
15
21
|
} from '../../types/transaction.js'
|
16
22
|
import type { NeverBy } from '../../types/utils.js'
|
17
23
|
import type { OptimismRpcTransaction } from '../optimism/types.js'
|
@@ -109,3 +115,29 @@ export type CeloTransactionRequestOverrides = {
|
|
109
115
|
}
|
110
116
|
export type CeloTransactionRequest = TransactionRequest &
|
111
117
|
CeloTransactionRequestOverrides
|
118
|
+
|
119
|
+
export type CeloTransactionSerializable =
|
120
|
+
| TransactionSerializableCIP42
|
121
|
+
| TransactionSerializable
|
122
|
+
|
123
|
+
export type CeloTransactionSerialized<
|
124
|
+
TType extends CeloTransactionType = 'legacy',
|
125
|
+
> = TransactionSerialized<TType> | TransactionSerializedCIP42
|
126
|
+
|
127
|
+
export type CeloTransactionType = TransactionType | 'cip42'
|
128
|
+
|
129
|
+
export type TransactionSerializableCIP42<
|
130
|
+
TQuantity = bigint,
|
131
|
+
TIndex = number,
|
132
|
+
> = TransactionSerializableBase<TQuantity, TIndex> &
|
133
|
+
FeeValuesEIP1559<TQuantity> & {
|
134
|
+
accessList?: AccessList
|
135
|
+
gasPrice?: never
|
136
|
+
feeCurrency?: Address
|
137
|
+
gatewayFeeRecipient?: Address
|
138
|
+
gatewayFee?: TQuantity
|
139
|
+
chainId: number
|
140
|
+
type?: 'cip42'
|
141
|
+
}
|
142
|
+
|
143
|
+
export type TransactionSerializedCIP42 = `0x7c${string}`
|
package/src/chains/utils.ts
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
export { formattersCelo } from './celo/formatters.js'
|
2
2
|
export {
|
3
|
-
type CeloTransactionSerializable,
|
4
|
-
type TransactionSerializableCIP42,
|
5
3
|
serializeTransactionCelo,
|
6
4
|
serializersCelo,
|
7
5
|
} from './celo/serializers.js'
|
6
|
+
export { parseTransactionCelo } from './celo/parsers.js'
|
8
7
|
export type {
|
9
8
|
CeloBlock,
|
10
9
|
CeloBlockOverrides,
|
@@ -22,6 +21,11 @@ export type {
|
|
22
21
|
CeloTransactionReceiptOverrides,
|
23
22
|
CeloTransactionRequest,
|
24
23
|
CeloTransactionRequestOverrides,
|
24
|
+
CeloTransactionSerializable,
|
25
|
+
CeloTransactionSerialized,
|
26
|
+
CeloTransactionType,
|
27
|
+
TransactionSerializableCIP42,
|
28
|
+
TransactionSerializedCIP42,
|
25
29
|
} from './celo/types.js'
|
26
30
|
|
27
31
|
export { formattersOptimism } from './optimism/formatters.js'
|
package/src/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20230821T033310'
|
@@ -66,10 +66,7 @@ export function parseTransaction<TSerialized extends TransactionSerialized>(
|
|
66
66
|
function parseTransactionEIP1559(
|
67
67
|
serializedTransaction: TransactionSerializedEIP1559,
|
68
68
|
): TransactionSerializableEIP1559 {
|
69
|
-
const transactionArray =
|
70
|
-
`0x${serializedTransaction.slice(4)}` as Hex,
|
71
|
-
'hex',
|
72
|
-
)
|
69
|
+
const transactionArray = toTransactionArray(serializedTransaction)
|
73
70
|
|
74
71
|
const [
|
75
72
|
chainId,
|
@@ -140,10 +137,7 @@ function parseTransactionEIP2930(
|
|
140
137
|
serializedTransaction: TransactionSerializedEIP2930,
|
141
138
|
): Omit<TransactionRequestEIP2930, 'from'> &
|
142
139
|
({ chainId: number } | ({ chainId: number } & Signature)) {
|
143
|
-
const transactionArray =
|
144
|
-
`0x${serializedTransaction.slice(4)}` as Hex,
|
145
|
-
'hex',
|
146
|
-
)
|
140
|
+
const transactionArray = toTransactionArray(serializedTransaction)
|
147
141
|
|
148
142
|
const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] =
|
149
143
|
transactionArray
|
@@ -263,7 +257,11 @@ function parseTransactionLegacy(
|
|
263
257
|
return transaction
|
264
258
|
}
|
265
259
|
|
266
|
-
function
|
260
|
+
export function toTransactionArray(serializedTransaction: string) {
|
261
|
+
return fromRlp(`0x${serializedTransaction.slice(4)}` as Hex, 'hex')
|
262
|
+
}
|
263
|
+
|
264
|
+
export function parseAccessList(accessList_: RecursiveArray<Hex>): AccessList {
|
267
265
|
const accessList: AccessList = []
|
268
266
|
for (let i = 0; i < accessList_.length; i++) {
|
269
267
|
const [address, storageKeys] = accessList_[i] as [Hex, Hex[]]
|