@lodestar/prover 1.10.0-dev.fef5c9c119 → 1.10.0-rc.1

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.
@@ -1,8 +1,8 @@
1
1
  export declare class OrderedMap<T> extends Map<number, T> {
2
- private _min;
3
- private _max;
4
- get min(): number;
5
- get max(): number;
2
+ private _min?;
3
+ private _max?;
4
+ get min(): number | undefined;
5
+ get max(): number | undefined;
6
6
  set(key: number, value: T): this;
7
7
  }
8
8
  //# sourceMappingURL=ordered_map.d.ts.map
@@ -1,9 +1,4 @@
1
1
  export class OrderedMap extends Map {
2
- constructor() {
3
- super(...arguments);
4
- this._min = 0;
5
- this._max = 0;
6
- }
7
2
  get min() {
8
3
  return this._min;
9
4
  }
@@ -11,10 +6,10 @@ export class OrderedMap extends Map {
11
6
  return this._max;
12
7
  }
13
8
  set(key, value) {
14
- if (key < this._min) {
9
+ if (this._min === undefined || key < this._min) {
15
10
  this._min = key;
16
11
  }
17
- if (key > this._max) {
12
+ if (this._max === undefined || key > this._max) {
18
13
  this._max = key;
19
14
  }
20
15
  super.set(key, value);
@@ -1 +1 @@
1
- {"version":3,"file":"ordered_map.js","sourceRoot":"","sources":["../../src/proof_provider/ordered_map.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAc,SAAQ,GAAc;IAAjD;;QACU,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;IAsBnB,CAAC;IApBC,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"ordered_map.js","sourceRoot":"","sources":["../../src/proof_provider/ordered_map.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAc,SAAQ,GAAc;IAI/C,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;YAC9C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;YAC9C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -17,9 +17,9 @@ export declare class PayloadStore {
17
17
  get finalized(): allForks.ExecutionPayload | undefined;
18
18
  get latest(): allForks.ExecutionPayload | undefined;
19
19
  get(blockId: number | string): Promise<allForks.ExecutionPayload | undefined>;
20
- getOrFetchFinalizedPayload(blockNumber: number): Promise<allForks.ExecutionPayload | undefined>;
20
+ protected getOrFetchFinalizedPayload(blockNumber: number): Promise<allForks.ExecutionPayload | undefined>;
21
21
  set(payload: allForks.ExecutionPayload, finalized: boolean): void;
22
22
  processLCHeader(header: capella.LightClientHeader, finalized?: boolean): Promise<void>;
23
- private prune;
23
+ prune(): void;
24
24
  }
25
25
  //# sourceMappingURL=payload_store.d.ts.map
@@ -8,16 +8,24 @@ import { OrderedMap } from "./ordered_map.js";
8
8
  export class PayloadStore {
9
9
  constructor(opts) {
10
10
  this.opts = opts;
11
- // We store the block numbers only for finalized blocks
11
+ // We store the block root from execution for finalized blocks
12
+ // As these blocks are finalized, so not to be worried about conflicting roots
12
13
  this.finalizedRoots = new OrderedMap();
13
- // Unfinalized blocks are stored by the roots of the beacon chain
14
+ // Unfinalized blocks may change over time and may have conflicting roots
15
+ // We can receive multiple light-client headers for the same block of execution
16
+ // So we why store unfinalized payloads by their CL root, which is only used
17
+ // in processing the light-client headers
14
18
  this.unfinalizedRoots = new Map();
15
19
  // Payloads store with BlockELRoot as key
16
20
  this.payloads = new Map();
17
21
  this.latestBlockRoot = null;
18
22
  }
19
23
  get finalized() {
20
- const finalizedMaxRoot = this.finalizedRoots.get(this.finalizedRoots.max);
24
+ const maxBlockNumberForFinalized = this.finalizedRoots.max;
25
+ if (maxBlockNumberForFinalized === undefined) {
26
+ return;
27
+ }
28
+ const finalizedMaxRoot = this.finalizedRoots.get(maxBlockNumberForFinalized);
21
29
  if (finalizedMaxRoot) {
22
30
  return this.payloads.get(finalizedMaxRoot);
23
31
  }
@@ -49,13 +57,18 @@ export class PayloadStore {
49
57
  return undefined;
50
58
  }
51
59
  async getOrFetchFinalizedPayload(blockNumber) {
52
- if (blockNumber > this.finalizedRoots.max) {
60
+ const maxBlockNumberForFinalized = this.finalizedRoots.max;
61
+ const minBlockNumberForFinalized = this.finalizedRoots.min;
62
+ if (maxBlockNumberForFinalized === undefined || minBlockNumberForFinalized === undefined) {
63
+ return;
64
+ }
65
+ if (blockNumber > maxBlockNumberForFinalized) {
53
66
  throw new Error(`Block number ${blockNumber} is higher than the latest finalized block number. We recommend to use block hash for unfinalized blocks.`);
54
67
  }
55
68
  let blockELRoot = this.finalizedRoots.get(blockNumber);
56
69
  // check if we have payload cached locally else fetch from api
57
70
  if (!blockELRoot) {
58
- const payloads = await getExecutionPayloadForBlockNumber(this.opts.api, this.finalizedRoots.min, blockNumber);
71
+ const payloads = await getExecutionPayloadForBlockNumber(this.opts.api, minBlockNumberForFinalized, blockNumber);
59
72
  for (const payload of Object.values(payloads)) {
60
73
  this.set(payload, true);
61
74
  }
@@ -99,7 +112,7 @@ export class PayloadStore {
99
112
  }
100
113
  // If the block is finalized and we do not have the payload
101
114
  // We need to fetch and set the payload
102
- else if (finalized && !existingELRoot) {
115
+ else {
103
116
  this.payloads.set(bufferToHex(header.execution.blockHash), (await getExecutionPayloads({
104
117
  api: this.opts.api,
105
118
  startSlot: blockSlot,
@@ -117,8 +130,9 @@ export class PayloadStore {
117
130
  // Re-org happened, we need to update the payload
118
131
  if (existingELRoot && existingELRoot !== blockELRoot) {
119
132
  this.payloads.delete(existingELRoot);
120
- this.unfinalizedRoots.set(blockCLRoot, blockELRoot);
121
133
  }
134
+ // This is unfinalized header we need to store it's root related to cl root
135
+ this.unfinalizedRoots.set(blockCLRoot, blockELRoot);
122
136
  // We do not have the payload for this block, we need to fetch it
123
137
  const payload = (await getExecutionPayloads({
124
138
  api: this.opts.api,
@@ -132,7 +146,10 @@ export class PayloadStore {
132
146
  prune() {
133
147
  if (this.finalizedRoots.size <= MAX_PAYLOAD_HISTORY)
134
148
  return;
135
- for (let blockNumber = this.finalizedRoots.max - MAX_PAYLOAD_HISTORY; blockNumber > this.finalizedRoots.min; blockNumber--) {
149
+ // Store doe not have any finalized blocks means it's recently initialized
150
+ if (this.finalizedRoots.max === undefined || this.finalizedRoots.min === undefined)
151
+ return;
152
+ for (let blockNumber = this.finalizedRoots.max - MAX_PAYLOAD_HISTORY; blockNumber >= this.finalizedRoots.min; blockNumber--) {
136
153
  const blockELRoot = this.finalizedRoots.get(blockNumber);
137
154
  if (blockELRoot) {
138
155
  this.payloads.delete(blockELRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"payload_store.js","sourceRoot":"","sources":["../../src/proof_provider/payload_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload_store.js","sourceRoot":"","sources":["../../src/proof_provider/payload_store.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export async function getExecutionPayloads({ api, startSlot, endSlot, logger, })
31
31
  let slot = endSlot;
32
32
  let block = await fetchNearestBlock(api, slot, "down");
33
33
  payloads[block.message.slot] = block.message.body.executionPayload;
34
+ slot = block.message.slot - 1;
34
35
  while (slot >= startSlot) {
35
36
  const previousBlock = await fetchNearestBlock(api, block.message.slot - 1, "down");
36
37
  if (block.message.body.executionPayload.parentHash === previousBlock.message.body.executionPayload.blockHash) {
@@ -48,6 +49,7 @@ export async function getExecutionPayloadForBlockNumber(api, startSlot, blockNum
48
49
  while (payloads[block.message.slot].blockNumber !== blockNumber) {
49
50
  const previousBlock = await fetchNearestBlock(api, block.message.slot - 1, "down");
50
51
  block = previousBlock;
52
+ payloads[block.message.slot] = block.message.body.executionPayload;
51
53
  }
52
54
  return payloads;
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.js","sourceRoot":"","sources":["../../src/utils/consensus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus.js","sourceRoot":"","sources":["../../src/utils/consensus.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,10 @@ export async function isValidStorageKeys({ storageKeys, proof, logger, }) {
40
40
  const key = keccak256(padLeft(hexToBuffer(storageKeys[i]), storageKeyLength));
41
41
  try {
42
42
  const expectedStorageRLP = await trie.verifyProof(hexToBuffer(proof.storageHash), Buffer.from(key), sp.proof.map(hexToBuffer));
43
+ // buffer.equals is not compatible with Uint8Array for browser
44
+ // so we need to convert the output of RLP.encode to Buffer first
43
45
  const isStorageValid = (!expectedStorageRLP && sp.value === "0x0") ||
44
- (!!expectedStorageRLP && expectedStorageRLP.equals(RLP.encode(sp.value)));
46
+ (!!expectedStorageRLP && expectedStorageRLP.equals(Buffer.from(RLP.encode(sp.value))));
45
47
  if (!isStorageValid)
46
48
  return false;
47
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.10.0-dev.fef5c9c119",
14
+ "version": "1.10.0-rc.1",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -69,13 +69,13 @@
69
69
  "@ethereumjs/tx": "^4.1.2",
70
70
  "@ethereumjs/util": "^8.0.6",
71
71
  "@ethereumjs/vm": "^6.4.2",
72
- "@lodestar/api": "1.10.0-dev.fef5c9c119",
73
- "@lodestar/config": "1.10.0-dev.fef5c9c119",
74
- "@lodestar/light-client": "1.10.0-dev.fef5c9c119",
75
- "@lodestar/logger": "1.10.0-dev.fef5c9c119",
76
- "@lodestar/params": "1.10.0-dev.fef5c9c119",
77
- "@lodestar/types": "1.10.0-dev.fef5c9c119",
78
- "@lodestar/utils": "1.10.0-dev.fef5c9c119",
72
+ "@lodestar/api": "1.10.0-rc.1",
73
+ "@lodestar/config": "1.10.0-rc.1",
74
+ "@lodestar/light-client": "1.10.0-rc.1",
75
+ "@lodestar/logger": "1.10.0-rc.1",
76
+ "@lodestar/params": "1.10.0-rc.1",
77
+ "@lodestar/types": "1.10.0-rc.1",
78
+ "@lodestar/utils": "1.10.0-rc.1",
79
79
  "ethereum-cryptography": "^1.2.0",
80
80
  "find-up": "^6.3.0",
81
81
  "http-proxy": "^1.18.1",
@@ -84,7 +84,7 @@
84
84
  "yargs": "^17.7.1"
85
85
  },
86
86
  "devDependencies": {
87
- "@lodestar/test-utils": "1.10.0-dev.fef5c9c119",
87
+ "@lodestar/test-utils": "1.10.0-rc.1",
88
88
  "@types/http-proxy": "^1.17.10",
89
89
  "@types/yargs": "^17.0.24",
90
90
  "axios": "^1.3.4",
@@ -99,5 +99,5 @@
99
99
  "blockchain",
100
100
  "prover"
101
101
  ],
102
- "gitHead": "c003232a6588637b2b152642d3defe89f12e5c4e"
102
+ "gitHead": "35ded229841fa7bdd65bace1ecf7afd64ae6727e"
103
103
  }