@aztec/archiver 0.76.4 → 0.77.0-testnet-ignition.21

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.
Files changed (91) hide show
  1. package/README.md +1 -1
  2. package/dest/archiver/archiver.d.ts +22 -10
  3. package/dest/archiver/archiver.d.ts.map +1 -1
  4. package/dest/archiver/archiver.js +762 -713
  5. package/dest/archiver/archiver_store.d.ts +20 -7
  6. package/dest/archiver/archiver_store.d.ts.map +1 -1
  7. package/dest/archiver/archiver_store.js +4 -2
  8. package/dest/archiver/archiver_store_test_suite.d.ts +2 -2
  9. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  10. package/dest/archiver/archiver_store_test_suite.js +398 -227
  11. package/dest/archiver/config.d.ts +1 -1
  12. package/dest/archiver/config.d.ts.map +1 -1
  13. package/dest/archiver/config.js +10 -12
  14. package/dest/archiver/data_retrieval.d.ts +17 -14
  15. package/dest/archiver/data_retrieval.d.ts.map +1 -1
  16. package/dest/archiver/data_retrieval.js +90 -88
  17. package/dest/archiver/errors.js +1 -2
  18. package/dest/archiver/index.d.ts +1 -1
  19. package/dest/archiver/index.d.ts.map +1 -1
  20. package/dest/archiver/index.js +0 -1
  21. package/dest/archiver/instrumentation.d.ts +3 -1
  22. package/dest/archiver/instrumentation.d.ts.map +1 -1
  23. package/dest/archiver/instrumentation.js +37 -17
  24. package/dest/archiver/kv_archiver_store/block_store.d.ts +5 -3
  25. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  26. package/dest/archiver/kv_archiver_store/block_store.js +125 -130
  27. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -1
  28. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  29. package/dest/archiver/kv_archiver_store/contract_class_store.js +45 -37
  30. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +10 -2
  31. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
  32. package/dest/archiver/kv_archiver_store/contract_instance_store.js +54 -15
  33. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +16 -9
  34. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  35. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +143 -160
  36. package/dest/archiver/kv_archiver_store/log_store.d.ts +5 -3
  37. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  38. package/dest/archiver/kv_archiver_store/log_store.js +296 -255
  39. package/dest/archiver/kv_archiver_store/message_store.d.ts +3 -3
  40. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  41. package/dest/archiver/kv_archiver_store/message_store.js +45 -50
  42. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +2 -2
  43. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +1 -1
  44. package/dest/archiver/kv_archiver_store/nullifier_store.js +36 -43
  45. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +2 -2
  46. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +1 -1
  47. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +17 -26
  48. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +16 -7
  49. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
  50. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +287 -247
  51. package/dest/archiver/structs/data_retrieval.js +5 -2
  52. package/dest/archiver/structs/published.js +1 -2
  53. package/dest/factory.d.ts +20 -6
  54. package/dest/factory.d.ts.map +1 -1
  55. package/dest/factory.js +54 -30
  56. package/dest/index.js +0 -1
  57. package/dest/rpc/index.d.ts +2 -1
  58. package/dest/rpc/index.d.ts.map +1 -1
  59. package/dest/rpc/index.js +8 -4
  60. package/dest/test/index.js +0 -1
  61. package/dest/test/mock_archiver.d.ts +3 -2
  62. package/dest/test/mock_archiver.d.ts.map +1 -1
  63. package/dest/test/mock_archiver.js +8 -13
  64. package/dest/test/mock_l1_to_l2_message_source.d.ts +2 -2
  65. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  66. package/dest/test/mock_l1_to_l2_message_source.js +4 -4
  67. package/dest/test/mock_l2_block_source.d.ts +5 -3
  68. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  69. package/dest/test/mock_l2_block_source.js +71 -68
  70. package/package.json +15 -16
  71. package/src/archiver/archiver.ts +149 -89
  72. package/src/archiver/archiver_store.ts +27 -27
  73. package/src/archiver/archiver_store_test_suite.ts +22 -15
  74. package/src/archiver/config.ts +1 -1
  75. package/src/archiver/data_retrieval.ts +32 -44
  76. package/src/archiver/index.ts +1 -1
  77. package/src/archiver/instrumentation.ts +11 -1
  78. package/src/archiver/kv_archiver_store/block_store.ts +10 -4
  79. package/src/archiver/kv_archiver_store/contract_class_store.ts +9 -9
  80. package/src/archiver/kv_archiver_store/contract_instance_store.ts +81 -3
  81. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +44 -29
  82. package/src/archiver/kv_archiver_store/log_store.ts +56 -32
  83. package/src/archiver/kv_archiver_store/message_store.ts +4 -3
  84. package/src/archiver/kv_archiver_store/nullifier_store.ts +3 -2
  85. package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +3 -3
  86. package/src/archiver/memory_archiver_store/memory_archiver_store.ts +110 -57
  87. package/src/factory.ts +44 -25
  88. package/src/rpc/index.ts +2 -6
  89. package/src/test/mock_archiver.ts +3 -2
  90. package/src/test/mock_l1_to_l2_message_source.ts +2 -2
  91. package/src/test/mock_l2_block_source.ts +16 -15
@@ -1,44 +1,50 @@
1
- var _ContractClassStore_contractClasses, _ContractClassStore_bytecodeCommitments;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Fr, FunctionSelector, Vector, } from '@aztec/circuits.js';
1
+ import { Fr } from '@aztec/foundation/fields';
4
2
  import { toArray } from '@aztec/foundation/iterable';
5
3
  import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import { FunctionSelector } from '@aztec/stdlib/abi';
5
+ import { Vector } from '@aztec/stdlib/types';
6
6
  /**
7
7
  * LMDB implementation of the ArchiverDataStore interface.
8
- */
9
- export class ContractClassStore {
10
- constructor(db) {
8
+ */ export class ContractClassStore {
9
+ db;
10
+ #contractClasses;
11
+ #bytecodeCommitments;
12
+ constructor(db){
11
13
  this.db = db;
12
- _ContractClassStore_contractClasses.set(this, void 0);
13
- _ContractClassStore_bytecodeCommitments.set(this, void 0);
14
- __classPrivateFieldSet(this, _ContractClassStore_contractClasses, db.openMap('archiver_contract_classes'), "f");
15
- __classPrivateFieldSet(this, _ContractClassStore_bytecodeCommitments, db.openMap('archiver_bytecode_commitments'), "f");
14
+ this.#contractClasses = db.openMap('archiver_contract_classes');
15
+ this.#bytecodeCommitments = db.openMap('archiver_bytecode_commitments');
16
16
  }
17
17
  async addContractClass(contractClass, bytecodeCommitment, blockNumber) {
18
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").setIfNotExists(contractClass.id.toString(), serializeContractClassPublic({ ...contractClass, l2BlockNumber: blockNumber }));
19
- await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
18
+ await this.#contractClasses.setIfNotExists(contractClass.id.toString(), serializeContractClassPublic({
19
+ ...contractClass,
20
+ l2BlockNumber: blockNumber
21
+ }));
22
+ await this.#bytecodeCommitments.setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
20
23
  }
21
24
  async deleteContractClasses(contractClass, blockNumber) {
22
- const restoredContractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClass.id.toString());
25
+ const restoredContractClass = await this.#contractClasses.getAsync(contractClass.id.toString());
23
26
  if (restoredContractClass && deserializeContractClassPublic(restoredContractClass).l2BlockNumber >= blockNumber) {
24
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").delete(contractClass.id.toString());
25
- await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").delete(contractClass.id.toString());
27
+ await this.#contractClasses.delete(contractClass.id.toString());
28
+ await this.#bytecodeCommitments.delete(contractClass.id.toString());
26
29
  }
27
30
  }
28
31
  async getContractClass(id) {
29
- const contractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(id.toString());
30
- return contractClass && { ...deserializeContractClassPublic(contractClass), id };
32
+ const contractClass = await this.#contractClasses.getAsync(id.toString());
33
+ return contractClass && {
34
+ ...deserializeContractClassPublic(contractClass),
35
+ id
36
+ };
31
37
  }
32
38
  async getBytecodeCommitment(id) {
33
- const value = await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").getAsync(id.toString());
39
+ const value = await this.#bytecodeCommitments.getAsync(id.toString());
34
40
  return value === undefined ? undefined : Fr.fromBuffer(value);
35
41
  }
36
42
  async getContractClassIds() {
37
- return (await toArray(__classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").keysAsync())).map(key => Fr.fromHexString(key));
43
+ return (await toArray(this.#contractClasses.keysAsync())).map((key)=>Fr.fromHexString(key));
38
44
  }
39
45
  async addFunctions(contractClassId, newPrivateFunctions, newUnconstrainedFunctions) {
40
- await this.db.transactionAsync(async () => {
41
- const existingClassBuffer = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClassId.toString());
46
+ await this.db.transactionAsync(async ()=>{
47
+ const existingClassBuffer = await this.#contractClasses.getAsync(contractClassId.toString());
42
48
  if (!existingClassBuffer) {
43
49
  throw new Error(`Unknown contract class ${contractClassId} when adding private functions to store`);
44
50
  }
@@ -48,21 +54,20 @@ export class ContractClassStore {
48
54
  ...existingClass,
49
55
  privateFunctions: [
50
56
  ...existingPrivateFns,
51
- ...newPrivateFunctions.filter(newFn => !existingPrivateFns.some(f => f.selector.equals(newFn.selector))),
57
+ ...newPrivateFunctions.filter((newFn)=>!existingPrivateFns.some((f)=>f.selector.equals(newFn.selector)))
52
58
  ],
53
59
  unconstrainedFunctions: [
54
60
  ...existingUnconstrainedFns,
55
- ...newUnconstrainedFunctions.filter(newFn => !existingUnconstrainedFns.some(f => f.selector.equals(newFn.selector))),
56
- ],
61
+ ...newUnconstrainedFunctions.filter((newFn)=>!existingUnconstrainedFns.some((f)=>f.selector.equals(newFn.selector)))
62
+ ]
57
63
  };
58
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
64
+ await this.#contractClasses.set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
59
65
  });
60
66
  return true;
61
67
  }
62
68
  }
63
- _ContractClassStore_contractClasses = new WeakMap(), _ContractClassStore_bytecodeCommitments = new WeakMap();
64
69
  function serializeContractClassPublic(contractClass) {
65
- return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.publicFunctions.length, contractClass.publicFunctions?.map(f => serializeToBuffer(f.selector, f.bytecode.length, f.bytecode)) ?? [], contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.unconstrainedFunctions.length, contractClass.unconstrainedFunctions.map(serializeUnconstrainedFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
70
+ return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.publicFunctions.length, contractClass.publicFunctions?.map((f)=>serializeToBuffer(f.selector, f.bytecode.length, f.bytecode)) ?? [], contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.unconstrainedFunctions.length, contractClass.unconstrainedFunctions.map(serializeUnconstrainedFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
66
71
  }
67
72
  function serializePrivateFunction(fn) {
68
73
  return serializeToBuffer(fn.selector, fn.vkHash, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.unconstrainedFunctionsArtifactTreeRoot, new Vector(fn.privateFunctionTreeSiblingPath), fn.privateFunctionTreeLeafIndex, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
@@ -77,15 +82,19 @@ function deserializeContractClassPublic(buffer) {
77
82
  version: reader.readUInt8(),
78
83
  artifactHash: reader.readObject(Fr),
79
84
  publicFunctions: reader.readVector({
80
- fromBuffer: reader => ({
81
- selector: reader.readObject(FunctionSelector),
82
- bytecode: reader.readBuffer(),
83
- }),
85
+ fromBuffer: (reader)=>({
86
+ selector: reader.readObject(FunctionSelector),
87
+ bytecode: reader.readBuffer()
88
+ })
89
+ }),
90
+ privateFunctions: reader.readVector({
91
+ fromBuffer: deserializePrivateFunction
92
+ }),
93
+ unconstrainedFunctions: reader.readVector({
94
+ fromBuffer: deserializeUnconstrainedFunction
84
95
  }),
85
- privateFunctions: reader.readVector({ fromBuffer: deserializePrivateFunction }),
86
- unconstrainedFunctions: reader.readVector({ fromBuffer: deserializeUnconstrainedFunction }),
87
96
  packedBytecode: reader.readBuffer(),
88
- privateFunctionsRoot: reader.readObject(Fr),
97
+ privateFunctionsRoot: reader.readObject(Fr)
89
98
  };
90
99
  }
91
100
  function deserializePrivateFunction(buffer) {
@@ -100,7 +109,7 @@ function deserializePrivateFunction(buffer) {
100
109
  privateFunctionTreeSiblingPath: reader.readVector(Fr),
101
110
  privateFunctionTreeLeafIndex: reader.readNumber(),
102
111
  artifactTreeSiblingPath: reader.readVector(Fr),
103
- artifactTreeLeafIndex: reader.readNumber(),
112
+ artifactTreeLeafIndex: reader.readNumber()
104
113
  };
105
114
  }
106
115
  function deserializeUnconstrainedFunction(buffer) {
@@ -112,7 +121,6 @@ function deserializeUnconstrainedFunction(buffer) {
112
121
  artifactMetadataHash: reader.readObject(Fr),
113
122
  privateFunctionsArtifactTreeRoot: reader.readObject(Fr),
114
123
  artifactTreeSiblingPath: reader.readVector(Fr),
115
- artifactTreeLeafIndex: reader.readNumber(),
124
+ artifactTreeLeafIndex: reader.readNumber()
116
125
  };
117
126
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfY2xhc3Nfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixNQUFNLEdBQ1AsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRjs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFIekMsc0RBQWdEO1FBQ2hELDBEQUFvRDtRQUdsRCx1QkFBQSxJQUFJLHVDQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLE1BQUEsQ0FBQztRQUNoRSx1QkFBQSxJQUFJLDJDQUF3QixFQUFFLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLE1BQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixhQUFrQyxFQUNsQyxrQkFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsTUFBTSx1QkFBQSxJQUFJLDJDQUFpQixDQUFDLGNBQWMsQ0FDeEMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDM0IsNEJBQTRCLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FDL0UsQ0FBQztRQUNGLE1BQU0sdUJBQUEsSUFBSSwrQ0FBcUIsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxD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
@@ -1,5 +1,8 @@
1
- import { type AztecAddress, type ContractInstanceWithAddress } from '@aztec/circuits.js';
1
+ import type { Fr } from '@aztec/foundation/fields';
2
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { type ContractInstanceUpdateWithAddress, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
5
+ type ContractInstanceUpdateKey = [string, number] | [string, number, number];
3
6
  /**
4
7
  * LMDB implementation of the ArchiverDataStore interface.
5
8
  */
@@ -8,6 +11,11 @@ export declare class ContractInstanceStore {
8
11
  constructor(db: AztecAsyncKVStore);
9
12
  addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
10
13
  deleteContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
11
- getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
14
+ getUpdateKey(contractAddress: AztecAddress, blockNumber: number, logIndex?: number): ContractInstanceUpdateKey;
15
+ addContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress, blockNumber: number, logIndex: number): Promise<void>;
16
+ deleteContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress, blockNumber: number, logIndex: number): Promise<void>;
17
+ getCurrentContractInstanceClassId(address: AztecAddress, blockNumber: number, originalClassId: Fr): Promise<Fr>;
18
+ getContractInstance(address: AztecAddress, blockNumber: number): Promise<ContractInstanceWithAddress | undefined>;
12
19
  }
20
+ export {};
13
21
  //# sourceMappingURL=contract_instance_store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAgC,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE;;GAEG;AACH,qBAAa,qBAAqB;;gBAGpB,EAAE,EAAE,iBAAiB;IAIjC,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;CAInG"}
1
+ {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAEhC,KAAK,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7E;;GAEG;AACH,qBAAa,qBAAqB;;gBAIpB,EAAE,EAAE,iBAAiB;IAKjC,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,yBAAyB;IAQ9G,yBAAyB,CACvB,sBAAsB,EAAE,iCAAiC,EACzD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAOhB,4BAA4B,CAC1B,sBAAsB,EAAE,iCAAiC,EACzD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAMV,iCAAiC,CACrC,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC,EAAE,CAAC;IAqBR,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;CAcpD"}
@@ -1,24 +1,63 @@
1
- var _ContractInstanceStore_contractInstances;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { SerializableContractInstance } from '@aztec/circuits.js';
1
+ import { SerializableContractInstance, SerializableContractInstanceUpdate } from '@aztec/stdlib/contract';
4
2
  /**
5
3
  * LMDB implementation of the ArchiverDataStore interface.
6
- */
7
- export class ContractInstanceStore {
8
- constructor(db) {
9
- _ContractInstanceStore_contractInstances.set(this, void 0);
10
- __classPrivateFieldSet(this, _ContractInstanceStore_contractInstances, db.openMap('archiver_contract_instances'), "f");
4
+ */ export class ContractInstanceStore {
5
+ #contractInstances;
6
+ #contractInstanceUpdates;
7
+ constructor(db){
8
+ this.#contractInstances = db.openMap('archiver_contract_instances');
9
+ this.#contractInstanceUpdates = db.openMap('archiver_contract_instance_updates');
11
10
  }
12
11
  addContractInstance(contractInstance) {
13
- return __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").set(contractInstance.address.toString(), new SerializableContractInstance(contractInstance).toBuffer());
12
+ return this.#contractInstances.set(contractInstance.address.toString(), new SerializableContractInstance(contractInstance).toBuffer());
14
13
  }
15
14
  deleteContractInstance(contractInstance) {
16
- return __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").delete(contractInstance.address.toString());
15
+ return this.#contractInstances.delete(contractInstance.address.toString());
17
16
  }
18
- async getContractInstance(address) {
19
- const contractInstance = await __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").getAsync(address.toString());
20
- return contractInstance && SerializableContractInstance.fromBuffer(contractInstance).withAddress(address);
17
+ getUpdateKey(contractAddress, blockNumber, logIndex) {
18
+ if (logIndex === undefined) {
19
+ return [
20
+ contractAddress.toString(),
21
+ blockNumber
22
+ ];
23
+ } else {
24
+ return [
25
+ contractAddress.toString(),
26
+ blockNumber,
27
+ logIndex
28
+ ];
29
+ }
30
+ }
31
+ addContractInstanceUpdate(contractInstanceUpdate, blockNumber, logIndex) {
32
+ return this.#contractInstanceUpdates.set(this.getUpdateKey(contractInstanceUpdate.address, blockNumber, logIndex), new SerializableContractInstanceUpdate(contractInstanceUpdate).toBuffer());
33
+ }
34
+ deleteContractInstanceUpdate(contractInstanceUpdate, blockNumber, logIndex) {
35
+ return this.#contractInstanceUpdates.delete(this.getUpdateKey(contractInstanceUpdate.address, blockNumber, logIndex));
36
+ }
37
+ async getCurrentContractInstanceClassId(address, blockNumber, originalClassId) {
38
+ // We need to find the last update before the given block number
39
+ const queryResult = await this.#contractInstanceUpdates.valuesAsync({
40
+ reverse: true,
41
+ end: this.getUpdateKey(address, blockNumber + 1),
42
+ limit: 1
43
+ }).next();
44
+ if (queryResult.done) {
45
+ return originalClassId;
46
+ }
47
+ const serializedUpdate = queryResult.value;
48
+ const update = SerializableContractInstanceUpdate.fromBuffer(serializedUpdate);
49
+ if (blockNumber < update.blockOfChange) {
50
+ return update.prevContractClassId.isZero() ? originalClassId : update.prevContractClassId;
51
+ }
52
+ return update.newContractClassId;
53
+ }
54
+ async getContractInstance(address, blockNumber) {
55
+ const contractInstance = await this.#contractInstances.getAsync(address.toString());
56
+ if (!contractInstance) {
57
+ return undefined;
58
+ }
59
+ const instance = SerializableContractInstance.fromBuffer(contractInstance).withAddress(address);
60
+ instance.currentContractClassId = await this.getCurrentContractInstanceClassId(address, blockNumber, instance.originalContractClassId);
61
+ return instance;
21
62
  }
22
63
  }
23
- _ContractInstanceStore_contractInstances = new WeakMap();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXVELDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkg7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQVksRUFBcUI7UUFGakMsMkRBQWtEO1FBR2hELHVCQUFBLElBQUksNENBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsTUFBQSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBNkM7UUFDL0QsT0FBTyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FDaEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUNuQyxJQUFJLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsZ0JBQTZDO1FBQ2xFLE9BQU8sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFxQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsT0FBTyxnQkFBZ0IsSUFBSSw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUcsQ0FBQztDQUNGIn0=
@@ -1,11 +1,16 @@
1
- import { type GetContractClassLogsResponse, type GetPublicLogsResponse, type InBlock, type InboxLeaf, type L2Block, type LogFilter, type TxHash, type TxReceipt, type TxScopedL2Log } from '@aztec/circuit-types';
2
- import { type BlockHeader, type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type Fr, type PrivateLog, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
3
- import { FunctionSelector } from '@aztec/foundation/abi';
4
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
5
- import { type AztecAsyncKVStore, type StoreSize } from '@aztec/kv-store';
6
- import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
7
- import { type DataRetrieval } from '../structs/data_retrieval.js';
8
- import { type L1Published } from '../structs/published.js';
1
+ import type { Fr } from '@aztec/foundation/fields';
2
+ import type { AztecAsyncKVStore, StoreSize } from '@aztec/kv-store';
3
+ import { FunctionSelector } from '@aztec/stdlib/abi';
4
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import type { InBlock, L2Block } from '@aztec/stdlib/block';
6
+ import type { ContractClassPublic, ContractInstanceUpdateWithAddress, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UnconstrainedFunctionWithMembershipProof } from '@aztec/stdlib/contract';
7
+ import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
8
+ import { type LogFilter, PrivateLog, type TxScopedL2Log } from '@aztec/stdlib/logs';
9
+ import type { InboxLeaf } from '@aztec/stdlib/messaging';
10
+ import type { BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
11
+ import type { ArchiverDataStore, ArchiverL1SynchPoint } from '../archiver_store.js';
12
+ import type { DataRetrieval } from '../structs/data_retrieval.js';
13
+ import type { L1Published } from '../structs/published.js';
9
14
  /**
10
15
  * LMDB implementation of the ArchiverDataStore interface.
11
16
  */
@@ -25,6 +30,8 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
25
30
  addFunctions(contractClassId: Fr, privateFunctions: ExecutablePrivateFunctionWithMembershipProof[], unconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[]): Promise<boolean>;
26
31
  addContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
27
32
  deleteContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
33
+ addContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], blockNumber: number): Promise<boolean>;
34
+ deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], blockNumber: number): Promise<boolean>;
28
35
  /**
29
36
  * Append new blocks to the store's list.
30
37
  * @param blocks - The L2 blocks to be added to the store and the last processed L1 block.
@@ -60,7 +67,7 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
60
67
  * @param txHash - The txHash of the tx corresponding to the tx effect.
61
68
  * @returns The requested tx effect (or undefined if not found).
62
69
  */
63
- getTxEffect(txHash: TxHash): Promise<InBlock<import("@aztec/circuit-types").TxEffect> | undefined>;
70
+ getTxEffect(txHash: TxHash): Promise<InBlock<import("@aztec/stdlib/tx").TxEffect> | undefined>;
64
71
  /**
65
72
  * Gets a receipt of a settled tx.
66
73
  * @param txHash - The hash of a tx we try to get the receipt for.
@@ -1 +1 @@
1
- {"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}