@feelyourprotocol/block 8141.0.0
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/LICENSE +373 -0
- package/README.md +466 -0
- package/dist/cjs/block/block.d.ts +147 -0
- package/dist/cjs/block/block.d.ts.map +1 -0
- package/dist/cjs/block/block.js +415 -0
- package/dist/cjs/block/block.js.map +1 -0
- package/dist/cjs/block/constructors.d.ts +77 -0
- package/dist/cjs/block/constructors.d.ts.map +1 -0
- package/dist/cjs/block/constructors.js +298 -0
- package/dist/cjs/block/constructors.js.map +1 -0
- package/dist/cjs/block/index.d.ts +3 -0
- package/dist/cjs/block/index.d.ts.map +1 -0
- package/dist/cjs/block/index.js +19 -0
- package/dist/cjs/block/index.js.map +1 -0
- package/dist/cjs/consensus/clique.d.ts +52 -0
- package/dist/cjs/consensus/clique.d.ts.map +1 -0
- package/dist/cjs/consensus/clique.js +144 -0
- package/dist/cjs/consensus/clique.js.map +1 -0
- package/dist/cjs/consensus/ethash.d.ts +9 -0
- package/dist/cjs/consensus/ethash.d.ts.map +1 -0
- package/dist/cjs/consensus/ethash.js +13 -0
- package/dist/cjs/consensus/ethash.js.map +1 -0
- package/dist/cjs/consensus/index.d.ts +3 -0
- package/dist/cjs/consensus/index.d.ts.map +1 -0
- package/dist/cjs/consensus/index.js +29 -0
- package/dist/cjs/consensus/index.js.map +1 -0
- package/dist/cjs/from-beacon-payload.d.ts +36 -0
- package/dist/cjs/from-beacon-payload.d.ts.map +1 -0
- package/dist/cjs/from-beacon-payload.js +48 -0
- package/dist/cjs/from-beacon-payload.js.map +1 -0
- package/dist/cjs/header/constructors.d.ts +39 -0
- package/dist/cjs/header/constructors.d.ts.map +1 -0
- package/dist/cjs/header/constructors.js +127 -0
- package/dist/cjs/header/constructors.js.map +1 -0
- package/dist/cjs/header/header.d.ts +134 -0
- package/dist/cjs/header/header.d.ts.map +1 -0
- package/dist/cjs/header/header.js +699 -0
- package/dist/cjs/header/header.js.map +1 -0
- package/dist/cjs/header/index.d.ts +3 -0
- package/dist/cjs/header/index.d.ts.map +1 -0
- package/dist/cjs/header/index.js +19 -0
- package/dist/cjs/header/index.js.map +1 -0
- package/dist/cjs/helpers.d.ts +59 -0
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +172 -0
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +31 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/params.d.ts +3 -0
- package/dist/cjs/params.d.ts.map +1 -0
- package/dist/cjs/params.js +97 -0
- package/dist/cjs/params.js.map +1 -0
- package/dist/cjs/types.d.ts +228 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/block/block.d.ts +147 -0
- package/dist/esm/block/block.d.ts.map +1 -0
- package/dist/esm/block/block.js +411 -0
- package/dist/esm/block/block.js.map +1 -0
- package/dist/esm/block/constructors.d.ts +77 -0
- package/dist/esm/block/constructors.d.ts.map +1 -0
- package/dist/esm/block/constructors.js +286 -0
- package/dist/esm/block/constructors.js.map +1 -0
- package/dist/esm/block/index.d.ts +3 -0
- package/dist/esm/block/index.d.ts.map +1 -0
- package/dist/esm/block/index.js +3 -0
- package/dist/esm/block/index.js.map +1 -0
- package/dist/esm/consensus/clique.d.ts +52 -0
- package/dist/esm/consensus/clique.d.ts.map +1 -0
- package/dist/esm/consensus/clique.js +132 -0
- package/dist/esm/consensus/clique.js.map +1 -0
- package/dist/esm/consensus/ethash.d.ts +9 -0
- package/dist/esm/consensus/ethash.d.ts.map +1 -0
- package/dist/esm/consensus/ethash.js +10 -0
- package/dist/esm/consensus/ethash.js.map +1 -0
- package/dist/esm/consensus/index.d.ts +3 -0
- package/dist/esm/consensus/index.d.ts.map +1 -0
- package/dist/esm/consensus/index.js +3 -0
- package/dist/esm/consensus/index.js.map +1 -0
- package/dist/esm/from-beacon-payload.d.ts +36 -0
- package/dist/esm/from-beacon-payload.d.ts.map +1 -0
- package/dist/esm/from-beacon-payload.js +45 -0
- package/dist/esm/from-beacon-payload.js.map +1 -0
- package/dist/esm/header/constructors.d.ts +39 -0
- package/dist/esm/header/constructors.d.ts.map +1 -0
- package/dist/esm/header/constructors.js +120 -0
- package/dist/esm/header/constructors.js.map +1 -0
- package/dist/esm/header/header.d.ts +134 -0
- package/dist/esm/header/header.d.ts.map +1 -0
- package/dist/esm/header/header.js +695 -0
- package/dist/esm/header/header.js.map +1 -0
- package/dist/esm/header/index.d.ts +3 -0
- package/dist/esm/header/index.d.ts.map +1 -0
- package/dist/esm/header/index.js +3 -0
- package/dist/esm/header/index.js.map +1 -0
- package/dist/esm/helpers.d.ts +59 -0
- package/dist/esm/helpers.d.ts.map +1 -0
- package/dist/esm/helpers.js +161 -0
- package/dist/esm/helpers.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/params.d.ts +3 -0
- package/dist/esm/params.d.ts.map +1 -0
- package/dist/esm/params.js +94 -0
- package/dist/esm/params.js.map +1 -0
- package/dist/esm/types.d.ts +228 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.prod.esm.tsbuildinfo +1 -0
- package/package.json +75 -0
- package/src/block/block.ts +526 -0
- package/src/block/constructors.ts +407 -0
- package/src/block/index.ts +2 -0
- package/src/consensus/clique.ts +171 -0
- package/src/consensus/ethash.ts +11 -0
- package/src/consensus/index.ts +12 -0
- package/src/from-beacon-payload.ts +82 -0
- package/src/header/constructors.ts +169 -0
- package/src/header/header.ts +890 -0
- package/src/header/index.ts +2 -0
- package/src/helpers.ts +223 -0
- package/src/index.ts +13 -0
- package/src/params.ts +95 -0
- package/src/types.ts +254 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/header/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/header/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = 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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./constructors.js"), exports);
|
|
18
|
+
__exportStar(require("./header.js"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/header/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,8CAA2B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { MerklePatriciaTrie } from '@feelyourprotocol/mpt';
|
|
2
|
+
import { type Common } from '@feelyourprotocol/common';
|
|
3
|
+
import type { TypedTransaction } from '@feelyourprotocol/tx';
|
|
4
|
+
import type { CLRequest, CLRequestType, PrefixedHexString, Withdrawal } from '@feelyourprotocol/util';
|
|
5
|
+
import type { BlockHeaderBytes, HeaderData } from './types.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Returns a 0x-prefixed hex number string from a hex string or string integer.
|
|
8
|
+
* @param {string} input string to check, convert, and return
|
|
9
|
+
*/
|
|
10
|
+
export declare const numberToHex: (input?: string) => PrefixedHexString | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Converts the canonical byte-array representation of a header into structured {@link HeaderData}.
|
|
13
|
+
* @param values Header field values in canonical order
|
|
14
|
+
* @returns Parsed header data
|
|
15
|
+
*/
|
|
16
|
+
export declare function valuesArrayToHeaderData(values: BlockHeaderBytes): HeaderData;
|
|
17
|
+
/**
|
|
18
|
+
* Retrieves the header difficulty as a bigint if the field is provided.
|
|
19
|
+
* @param headerData Header data potentially containing a difficulty value
|
|
20
|
+
* @returns Difficulty as bigint, or `null` when unset
|
|
21
|
+
*/
|
|
22
|
+
export declare function getDifficulty(headerData: HeaderData): bigint | null;
|
|
23
|
+
/**
|
|
24
|
+
* Counts the total number of blob commitments contained in the provided transactions.
|
|
25
|
+
* @param transactions Transactions to inspect for blob data
|
|
26
|
+
* @returns Number of blob versioned hashes referenced
|
|
27
|
+
*/
|
|
28
|
+
export declare const getNumBlobs: (transactions: TypedTransaction[]) => number;
|
|
29
|
+
/**
|
|
30
|
+
* Approximates `factor * e ** (numerator / denominator)` using Taylor expansion
|
|
31
|
+
*/
|
|
32
|
+
export declare const fakeExponential: (factor: bigint, numerator: bigint, denominator: bigint) => bigint;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the blob gas price depending upon the `excessBlobGas` value
|
|
35
|
+
* @param excessBlobGas
|
|
36
|
+
* @param common
|
|
37
|
+
*/
|
|
38
|
+
export declare const computeBlobGasPrice: (excessBlobGas: bigint, common: Common) => bigint;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the withdrawals trie root for array of Withdrawal.
|
|
41
|
+
* @param wts array of Withdrawal to compute the root of
|
|
42
|
+
* @param emptyTrie Optional trie used to generate the root
|
|
43
|
+
*/
|
|
44
|
+
export declare function genWithdrawalsTrieRoot(wts: Withdrawal[], emptyTrie?: MerklePatriciaTrie): Promise<Uint8Array<ArrayBufferLike>>;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the txs trie root for array of TypedTransaction
|
|
47
|
+
* @param txs array of TypedTransaction to compute the root of
|
|
48
|
+
* @param emptyTrie Optional trie used to generate the root
|
|
49
|
+
*/
|
|
50
|
+
export declare function genTransactionsTrieRoot(txs: TypedTransaction[], emptyTrie?: MerklePatriciaTrie): Promise<Uint8Array<ArrayBufferLike>>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the requests trie root for an array of CLRequests
|
|
53
|
+
* @param requests - an array of CLRequests
|
|
54
|
+
* @param sha256Function Hash function used to derive the requests root
|
|
55
|
+
* @param emptyTrie optional empty trie used to generate the root
|
|
56
|
+
* @returns a 32 byte Uint8Array representing the requests trie root
|
|
57
|
+
*/
|
|
58
|
+
export declare function genRequestsRoot(requests: CLRequest<CLRequestType>[], sha256Function: (msg: Uint8Array) => Uint8Array): Uint8Array<ArrayBufferLike>;
|
|
59
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAapD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC9D;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAa,QAAQ,MAAM,KAAG,iBAAiB,GAAG,SAWzE,CAAA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA+D5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAMnE;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,cAAc,gBAAgB,EAAE,WAQ3D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,aAAa,MAAM,WAWrF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,QAAQ,MAAM,WAMxE,CAAA;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,kBAAkB,wCAM7F;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,gBAAgB,EAAE,EACvB,SAAS,CAAC,EAAE,kBAAkB,wCAO/B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,EACpC,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,UAAU,+BAuBhD"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeBlobGasPrice = exports.fakeExponential = exports.getNumBlobs = exports.numberToHex = void 0;
|
|
4
|
+
exports.valuesArrayToHeaderData = valuesArrayToHeaderData;
|
|
5
|
+
exports.getDifficulty = getDifficulty;
|
|
6
|
+
exports.genWithdrawalsTrieRoot = genWithdrawalsTrieRoot;
|
|
7
|
+
exports.genTransactionsTrieRoot = genTransactionsTrieRoot;
|
|
8
|
+
exports.genRequestsRoot = genRequestsRoot;
|
|
9
|
+
const mpt_1 = require("@feelyourprotocol/mpt");
|
|
10
|
+
const rlp_1 = require("@feelyourprotocol/rlp");
|
|
11
|
+
const tx_1 = require("@feelyourprotocol/tx");
|
|
12
|
+
const util_1 = require("@feelyourprotocol/util");
|
|
13
|
+
/**
|
|
14
|
+
* Returns a 0x-prefixed hex number string from a hex string or string integer.
|
|
15
|
+
* @param {string} input string to check, convert, and return
|
|
16
|
+
*/
|
|
17
|
+
const numberToHex = function (input) {
|
|
18
|
+
if (input === undefined)
|
|
19
|
+
return undefined;
|
|
20
|
+
if (!(0, util_1.isHexString)(input)) {
|
|
21
|
+
const regex = new RegExp(/^\d+$/); // test to make sure input contains only digits
|
|
22
|
+
if (!regex.test(input)) {
|
|
23
|
+
const msg = `Cannot convert string to hex string. numberToHex only supports 0x-prefixed hex or integer strings but the given string was: ${input}`;
|
|
24
|
+
throw (0, util_1.EthereumJSErrorWithoutCode)(msg);
|
|
25
|
+
}
|
|
26
|
+
return `0x${parseInt(input, 10).toString(16)}`;
|
|
27
|
+
}
|
|
28
|
+
return input;
|
|
29
|
+
};
|
|
30
|
+
exports.numberToHex = numberToHex;
|
|
31
|
+
/**
|
|
32
|
+
* Converts the canonical byte-array representation of a header into structured {@link HeaderData}.
|
|
33
|
+
* @param values Header field values in canonical order
|
|
34
|
+
* @returns Parsed header data
|
|
35
|
+
*/
|
|
36
|
+
function valuesArrayToHeaderData(values) {
|
|
37
|
+
const [parentHash, uncleHash, coinbase, stateRoot, transactionsTrie, receiptTrie, logsBloom, difficulty, number, gasLimit, gasUsed, timestamp, extraData, mixHash, nonce, baseFeePerGas, withdrawalsRoot, blobGasUsed, excessBlobGas, parentBeaconBlockRoot, requestsHash, blockAccessListHash, slotNumber,] = values;
|
|
38
|
+
if (values.length > 23) {
|
|
39
|
+
throw (0, util_1.EthereumJSErrorWithoutCode)(`invalid header. More values than expected were received. Max: 23, got: ${values.length}`);
|
|
40
|
+
}
|
|
41
|
+
if (values.length < 15) {
|
|
42
|
+
throw (0, util_1.EthereumJSErrorWithoutCode)(`invalid header. Less values than expected were received. Min: 15, got: ${values.length}`);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
parentHash,
|
|
46
|
+
uncleHash,
|
|
47
|
+
coinbase,
|
|
48
|
+
stateRoot,
|
|
49
|
+
transactionsTrie,
|
|
50
|
+
receiptTrie,
|
|
51
|
+
logsBloom,
|
|
52
|
+
difficulty,
|
|
53
|
+
number,
|
|
54
|
+
gasLimit,
|
|
55
|
+
gasUsed,
|
|
56
|
+
timestamp,
|
|
57
|
+
extraData,
|
|
58
|
+
mixHash,
|
|
59
|
+
nonce,
|
|
60
|
+
baseFeePerGas,
|
|
61
|
+
withdrawalsRoot,
|
|
62
|
+
blobGasUsed,
|
|
63
|
+
excessBlobGas,
|
|
64
|
+
parentBeaconBlockRoot,
|
|
65
|
+
requestsHash,
|
|
66
|
+
blockAccessListHash,
|
|
67
|
+
slotNumber,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves the header difficulty as a bigint if the field is provided.
|
|
72
|
+
* @param headerData Header data potentially containing a difficulty value
|
|
73
|
+
* @returns Difficulty as bigint, or `null` when unset
|
|
74
|
+
*/
|
|
75
|
+
function getDifficulty(headerData) {
|
|
76
|
+
const { difficulty } = headerData;
|
|
77
|
+
if (difficulty !== undefined) {
|
|
78
|
+
return (0, util_1.toType)(difficulty, util_1.TypeOutput.BigInt);
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Counts the total number of blob commitments contained in the provided transactions.
|
|
84
|
+
* @param transactions Transactions to inspect for blob data
|
|
85
|
+
* @returns Number of blob versioned hashes referenced
|
|
86
|
+
*/
|
|
87
|
+
const getNumBlobs = (transactions) => {
|
|
88
|
+
let numBlobs = 0;
|
|
89
|
+
for (const tx of transactions) {
|
|
90
|
+
if (tx instanceof tx_1.Blob4844Tx) {
|
|
91
|
+
numBlobs += tx.blobVersionedHashes.length;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return numBlobs;
|
|
95
|
+
};
|
|
96
|
+
exports.getNumBlobs = getNumBlobs;
|
|
97
|
+
/**
|
|
98
|
+
* Approximates `factor * e ** (numerator / denominator)` using Taylor expansion
|
|
99
|
+
*/
|
|
100
|
+
const fakeExponential = (factor, numerator, denominator) => {
|
|
101
|
+
let i = util_1.BIGINT_1;
|
|
102
|
+
let output = util_1.BIGINT_0;
|
|
103
|
+
let numerator_accumulator = factor * denominator;
|
|
104
|
+
while (numerator_accumulator > util_1.BIGINT_0) {
|
|
105
|
+
output += numerator_accumulator;
|
|
106
|
+
numerator_accumulator = (numerator_accumulator * numerator) / (denominator * i);
|
|
107
|
+
i++;
|
|
108
|
+
}
|
|
109
|
+
return output / denominator;
|
|
110
|
+
};
|
|
111
|
+
exports.fakeExponential = fakeExponential;
|
|
112
|
+
/**
|
|
113
|
+
* Returns the blob gas price depending upon the `excessBlobGas` value
|
|
114
|
+
* @param excessBlobGas
|
|
115
|
+
* @param common
|
|
116
|
+
*/
|
|
117
|
+
const computeBlobGasPrice = (excessBlobGas, common) => {
|
|
118
|
+
return (0, exports.fakeExponential)(common.param('minBlobGas'), excessBlobGas, common.param('blobGasPriceUpdateFraction'));
|
|
119
|
+
};
|
|
120
|
+
exports.computeBlobGasPrice = computeBlobGasPrice;
|
|
121
|
+
/**
|
|
122
|
+
* Returns the withdrawals trie root for array of Withdrawal.
|
|
123
|
+
* @param wts array of Withdrawal to compute the root of
|
|
124
|
+
* @param emptyTrie Optional trie used to generate the root
|
|
125
|
+
*/
|
|
126
|
+
async function genWithdrawalsTrieRoot(wts, emptyTrie) {
|
|
127
|
+
const trie = emptyTrie ?? new mpt_1.MerklePatriciaTrie();
|
|
128
|
+
for (const [i, wt] of wts.entries()) {
|
|
129
|
+
await trie.put(rlp_1.RLP.encode(i), rlp_1.RLP.encode(wt.raw()));
|
|
130
|
+
}
|
|
131
|
+
return trie.root();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Returns the txs trie root for array of TypedTransaction
|
|
135
|
+
* @param txs array of TypedTransaction to compute the root of
|
|
136
|
+
* @param emptyTrie Optional trie used to generate the root
|
|
137
|
+
*/
|
|
138
|
+
async function genTransactionsTrieRoot(txs, emptyTrie) {
|
|
139
|
+
const trie = emptyTrie ?? new mpt_1.MerklePatriciaTrie();
|
|
140
|
+
for (const [i, tx] of txs.entries()) {
|
|
141
|
+
await trie.put(rlp_1.RLP.encode(i), tx.serialize());
|
|
142
|
+
}
|
|
143
|
+
return trie.root();
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Returns the requests trie root for an array of CLRequests
|
|
147
|
+
* @param requests - an array of CLRequests
|
|
148
|
+
* @param sha256Function Hash function used to derive the requests root
|
|
149
|
+
* @param emptyTrie optional empty trie used to generate the root
|
|
150
|
+
* @returns a 32 byte Uint8Array representing the requests trie root
|
|
151
|
+
*/
|
|
152
|
+
function genRequestsRoot(requests, sha256Function) {
|
|
153
|
+
// Requests should be sorted in monotonically ascending order based on type
|
|
154
|
+
// and whatever internal sorting logic is defined by each request type
|
|
155
|
+
if (requests.length > 1) {
|
|
156
|
+
for (let x = 1; x < requests.length; x++) {
|
|
157
|
+
if (requests[x].type < requests[x - 1].type)
|
|
158
|
+
throw (0, util_1.EthereumJSErrorWithoutCode)('requests are not sorted in ascending order');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// def compute_requests_hash(list):
|
|
162
|
+
// return keccak_256(rlp.encode([rlp.encode(req) for req in list]))
|
|
163
|
+
let flatRequests = new Uint8Array();
|
|
164
|
+
for (const req of requests) {
|
|
165
|
+
if (req.bytes.length > 1) {
|
|
166
|
+
// Only append requests if they have content
|
|
167
|
+
flatRequests = (0, util_1.concatBytes)(flatRequests, sha256Function(req.bytes));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return sha256Function(flatRequests);
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAuCA,0DA+DC;AAOD,sCAMC;AAmDD,wDAMC;AAOD,0DASC;AASD,0CAyBC;AA9ND,yCAAoD;AACpD,yCAAqC;AACrC,uCAA2C;AAC3C,2CAQyB;AAMzB;;;GAGG;AACI,MAAM,WAAW,GAAG,UAAU,KAAc;IACjD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,CAAC,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA,CAAC,+CAA+C;QACjF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,+HAA+H,KAAK,EAAE,CAAA;YAClJ,MAAM,IAAA,iCAA0B,EAAC,GAAG,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,MAAwB;IAC9D,MAAM,CACJ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACX,GAAG,MAAM,CAAA;IAEV,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,IAAA,iCAA0B,EAC9B,0EAA0E,MAAM,CAAC,MAAM,EAAE,CAC1F,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,IAAA,iCAA0B,EAC9B,0EAA0E,MAAM,CAAC,MAAM,EAAE,CAC1F,CAAA;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,SAAS;QACT,QAAQ;QACR,SAAS;QACT,gBAAgB;QAChB,WAAW;QACX,SAAS;QACT,UAAU;QACV,MAAM;QACN,QAAQ;QACR,OAAO;QACP,SAAS;QACT,SAAS;QACT,OAAO;QACP,KAAK;QACL,aAAa;QACb,eAAe;QACf,WAAW;QACX,aAAa;QACb,qBAAqB;QACrB,YAAY;QACZ,mBAAmB;QACnB,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,UAAsB;IAClD,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAA,aAAM,EAAC,UAAU,EAAE,iBAAU,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,YAAgC,EAAE,EAAE;IAC9D,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAI,EAAE,YAAY,eAAU,EAAE,CAAC;YAC7B,QAAQ,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB;AAED;;GAEG;AACI,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAE;IACxF,IAAI,CAAC,GAAG,eAAQ,CAAA;IAChB,IAAI,MAAM,GAAG,eAAQ,CAAA;IACrB,IAAI,qBAAqB,GAAG,MAAM,GAAG,WAAW,CAAA;IAChD,OAAO,qBAAqB,GAAG,eAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,qBAAqB,CAAA;QAC/B,qBAAqB,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC,EAAE,CAAA;IACL,CAAC;IAED,OAAO,MAAM,GAAG,WAAW,CAAA;AAC7B,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAED;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,aAAqB,EAAE,MAAc,EAAE,EAAE;IAC3E,OAAO,IAAA,uBAAe,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAC1B,aAAa,EACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAC3C,CAAA;AACH,CAAC,CAAA;AANY,QAAA,mBAAmB,uBAM/B;AAED;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAAC,GAAiB,EAAE,SAA8B;IAC5F,MAAM,IAAI,GAAG,SAAS,IAAI,IAAI,wBAAkB,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,uBAAuB,CAC3C,GAAuB,EACvB,SAA8B;IAE9B,MAAM,IAAI,GAAG,SAAS,IAAI,IAAI,wBAAkB,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,QAAoC,EACpC,cAA+C;IAE/C,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBACzC,MAAM,IAAA,iCAA0B,EAAC,4CAA4C,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,sEAAsE;IAEtE,IAAI,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,4CAA4C;YAC5C,YAAY,GAAG,IAAA,kBAAW,EAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,YAAY,CAAC,CAAA;AACrC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './block/index.ts';
|
|
2
|
+
export * from './consensus/index.ts';
|
|
3
|
+
export { type BeaconPayloadJSON, executionPayloadFromBeaconPayload } from './from-beacon-payload.ts';
|
|
4
|
+
export * from './header/index.ts';
|
|
5
|
+
export { genRequestsRoot, genTransactionsTrieRoot, genWithdrawalsTrieRoot, getDifficulty, valuesArrayToHeaderData, } from './helpers.ts';
|
|
6
|
+
export * from './params.ts';
|
|
7
|
+
export * from './types.ts';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,KAAK,iBAAiB,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAA;AACpG,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = 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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.valuesArrayToHeaderData = exports.getDifficulty = exports.genWithdrawalsTrieRoot = exports.genTransactionsTrieRoot = exports.genRequestsRoot = exports.executionPayloadFromBeaconPayload = void 0;
|
|
18
|
+
__exportStar(require("./block/index.js"), exports);
|
|
19
|
+
__exportStar(require("./consensus/index.js"), exports);
|
|
20
|
+
var from_beacon_payload_ts_1 = require("./from-beacon-payload.js");
|
|
21
|
+
Object.defineProperty(exports, "executionPayloadFromBeaconPayload", { enumerable: true, get: function () { return from_beacon_payload_ts_1.executionPayloadFromBeaconPayload; } });
|
|
22
|
+
__exportStar(require("./header/index.js"), exports);
|
|
23
|
+
var helpers_ts_1 = require("./helpers.js");
|
|
24
|
+
Object.defineProperty(exports, "genRequestsRoot", { enumerable: true, get: function () { return helpers_ts_1.genRequestsRoot; } });
|
|
25
|
+
Object.defineProperty(exports, "genTransactionsTrieRoot", { enumerable: true, get: function () { return helpers_ts_1.genTransactionsTrieRoot; } });
|
|
26
|
+
Object.defineProperty(exports, "genWithdrawalsTrieRoot", { enumerable: true, get: function () { return helpers_ts_1.genWithdrawalsTrieRoot; } });
|
|
27
|
+
Object.defineProperty(exports, "getDifficulty", { enumerable: true, get: function () { return helpers_ts_1.getDifficulty; } });
|
|
28
|
+
Object.defineProperty(exports, "valuesArrayToHeaderData", { enumerable: true, get: function () { return helpers_ts_1.valuesArrayToHeaderData; } });
|
|
29
|
+
__exportStar(require("./params.js"), exports);
|
|
30
|
+
__exportStar(require("./types.js"), exports);
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,uDAAoC;AACpC,mEAAoG;AAAnE,2IAAA,iCAAiC,OAAA;AAClE,oDAAiC;AACjC,2CAMqB;AALnB,6GAAA,eAAe,OAAA;AACf,qHAAA,uBAAuB,OAAA;AACvB,oHAAA,sBAAsB,OAAA;AACtB,2GAAA,aAAa,OAAA;AACb,qHAAA,uBAAuB,OAAA;AAEzB,8CAA2B;AAC3B,6CAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,eAAO,MAAM,WAAW,EAAE,UA4FzB,CAAA"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.paramsBlock = void 0;
|
|
4
|
+
exports.paramsBlock = {
|
|
5
|
+
/**
|
|
6
|
+
* Frontier/Chainstart
|
|
7
|
+
*/
|
|
8
|
+
1: {
|
|
9
|
+
// gasConfig
|
|
10
|
+
minGasLimit: 5000, // Minimum the gas limit may ever be
|
|
11
|
+
gasLimitBoundDivisor: 1024, // The bound divisor of the gas limit, used in update calculations
|
|
12
|
+
targetBlobGasPerBlock: 0, // Base value needed here since called pre-4844 in BlockHeader.calcNextExcessBlobGas()
|
|
13
|
+
blobGasPerBlob: 0,
|
|
14
|
+
maxBlobGasPerBlock: 0,
|
|
15
|
+
// format
|
|
16
|
+
maxExtraDataSize: 32, // Maximum size extra data may be after Genesis
|
|
17
|
+
// pow
|
|
18
|
+
minimumDifficulty: 131072, // The minimum that the difficulty may ever be
|
|
19
|
+
difficultyBoundDivisor: 2048, // The bound divisor of the difficulty, used in the update calculations
|
|
20
|
+
durationLimit: 13, // The decision boundary on the blocktime duration used to determine whether difficulty should go up or not
|
|
21
|
+
difficultyBombDelay: 0, // the amount of blocks to delay the difficulty bomb with
|
|
22
|
+
},
|
|
23
|
+
/**
|
|
24
|
+
* Byzantium HF Meta EIP
|
|
25
|
+
*/
|
|
26
|
+
609: {
|
|
27
|
+
// pow
|
|
28
|
+
difficultyBombDelay: 3000000, // the amount of blocks to delay the difficulty bomb with
|
|
29
|
+
},
|
|
30
|
+
/**
|
|
31
|
+
* Constantinople HF Meta EIP
|
|
32
|
+
*/
|
|
33
|
+
1013: {
|
|
34
|
+
// pow
|
|
35
|
+
difficultyBombDelay: 5000000, // the amount of blocks to delay the difficulty bomb with
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* MuirGlacier HF Meta EIP
|
|
39
|
+
*/
|
|
40
|
+
2384: {
|
|
41
|
+
// pow
|
|
42
|
+
difficultyBombDelay: 9000000, // the amount of blocks to delay the difficulty bomb with
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* Fee market change for ETH 1.0 chain
|
|
46
|
+
*/
|
|
47
|
+
1559: {
|
|
48
|
+
// gasConfig
|
|
49
|
+
baseFeeMaxChangeDenominator: 8, // Maximum base fee change denominator
|
|
50
|
+
elasticityMultiplier: 2, // Maximum block gas target elasticity
|
|
51
|
+
initialBaseFee: 1000000000, // Initial base fee on first EIP1559 block
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* Difficulty Bomb Delay to December 1st 2021
|
|
55
|
+
*/
|
|
56
|
+
3554: {
|
|
57
|
+
// pow
|
|
58
|
+
difficultyBombDelay: 9500000, // the amount of blocks to delay the difficulty bomb with
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* Difficulty Bomb Delay to June 2022
|
|
62
|
+
*/
|
|
63
|
+
4345: {
|
|
64
|
+
// pow
|
|
65
|
+
difficultyBombDelay: 10700000, // the amount of blocks to delay the difficulty bomb with
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Shard Blob Transactions
|
|
69
|
+
*/
|
|
70
|
+
4844: {
|
|
71
|
+
// gasConfig
|
|
72
|
+
targetBlobGasPerBlock: 393216, // The target blob gas consumed per block
|
|
73
|
+
blobGasPerBlob: 131072, // The base fee for blob gas per blob
|
|
74
|
+
maxBlobGasPerBlock: 786432, // The max blob gas allowable per block
|
|
75
|
+
blobGasPriceUpdateFraction: 3338477, // The denominator used in the exponential when calculating a blob gas price
|
|
76
|
+
// gasPrices
|
|
77
|
+
minBlobGas: 1, // The minimum fee per blob gas
|
|
78
|
+
blobBaseCost: 8192, // EIP-7918: Blob base fee bounded by execution cost (2^13)
|
|
79
|
+
},
|
|
80
|
+
/**
|
|
81
|
+
* Delaying Difficulty Bomb to mid-September 2022
|
|
82
|
+
*/
|
|
83
|
+
5133: {
|
|
84
|
+
// pow
|
|
85
|
+
difficultyBombDelay: 11400000, // the amount of blocks to delay the difficulty bomb with
|
|
86
|
+
},
|
|
87
|
+
/**
|
|
88
|
+
* Blob throughput increase
|
|
89
|
+
*/
|
|
90
|
+
7691: {
|
|
91
|
+
// gasConfig
|
|
92
|
+
targetBlobGasPerBlock: 786432, // The target blob gas consumed per block
|
|
93
|
+
maxBlobGasPerBlock: 1179648, // The max blob gas allowable per block
|
|
94
|
+
blobGasPriceUpdateFraction: 5007716, // The denominator used in the exponential when calculating a blob gas price
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/params.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAe;IACrC;;OAEG;IACH,CAAC,EAAE;QACD,YAAY;QACZ,WAAW,EAAE,IAAI,EAAE,oCAAoC;QACvD,oBAAoB,EAAE,IAAI,EAAE,kEAAkE;QAC9F,qBAAqB,EAAE,CAAC,EAAE,sFAAsF;QAChH,cAAc,EAAE,CAAC;QACjB,kBAAkB,EAAE,CAAC;QACrB,SAAS;QACT,gBAAgB,EAAE,EAAE,EAAE,+CAA+C;QACrE,MAAM;QACN,iBAAiB,EAAE,MAAM,EAAE,8CAA8C;QACzE,sBAAsB,EAAE,IAAI,EAAE,uEAAuE;QACrG,aAAa,EAAE,EAAE,EAAE,2GAA2G;QAC9H,mBAAmB,EAAE,CAAC,EAAE,yDAAyD;KAClF;IACD;;OAEG;IACH,GAAG,EAAE;QACH,MAAM;QACN,mBAAmB,EAAE,OAAO,EAAE,yDAAyD;KACxF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM;QACN,mBAAmB,EAAE,OAAO,EAAE,yDAAyD;KACxF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM;QACN,mBAAmB,EAAE,OAAO,EAAE,yDAAyD;KACxF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,YAAY;QACZ,2BAA2B,EAAE,CAAC,EAAE,sCAAsC;QACtE,oBAAoB,EAAE,CAAC,EAAE,sCAAsC;QAC/D,cAAc,EAAE,UAAU,EAAE,0CAA0C;KACvE;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM;QACN,mBAAmB,EAAE,OAAO,EAAE,yDAAyD;KACxF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM;QACN,mBAAmB,EAAE,QAAQ,EAAE,yDAAyD;KACzF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,YAAY;QACZ,qBAAqB,EAAE,MAAM,EAAE,yCAAyC;QACxE,cAAc,EAAE,MAAM,EAAE,qCAAqC;QAC7D,kBAAkB,EAAE,MAAM,EAAE,uCAAuC;QACnE,0BAA0B,EAAE,OAAO,EAAE,4EAA4E;QACjH,YAAY;QACZ,UAAU,EAAE,CAAC,EAAE,+BAA+B;QAC9C,YAAY,EAAE,IAAI,EAAE,2DAA2D;KAChF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM;QACN,mBAAmB,EAAE,QAAQ,EAAE,yDAAyD;KACzF;IACD;;OAEG;IACH,IAAI,EAAE;QACJ,YAAY;QACZ,qBAAqB,EAAE,MAAM,EAAE,yCAAyC;QACxE,kBAAkB,EAAE,OAAO,EAAE,uCAAuC;QACpE,0BAA0B,EAAE,OAAO,EAAE,4EAA4E;KAClH;CACF,CAAA"}
|