@aztec/pxe 5.0.0-nightly.20260708 → 5.0.0-nightly.20260710
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/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +1 -1
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +7 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +3 -3
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +34 -1
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +4 -2
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle_registry.js +26 -8
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +2 -4
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +9 -6
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +21 -19
- package/dest/hooks/index.d.ts +2 -2
- package/dest/hooks/index.d.ts.map +1 -1
- package/dest/hooks/index.js +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +3 -1
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -1
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -3
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +2 -2
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +26 -2
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/package.json +17 -17
- package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +8 -0
- package/src/contract_function_simulator/oracle/acir_callback.ts +1 -1
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +30 -3
- package/src/contract_function_simulator/oracle/oracle_registry.ts +20 -3
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +5 -5
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +38 -23
- package/src/hooks/index.ts +1 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +3 -0
- package/src/oracle_version.ts +2 -2
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +1 -1
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +30 -1
- package/src/storage/metadata.ts +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import type { BlockHash, BlockParameter } from '@aztec/stdlib/block';
|
|
4
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/server';
|
|
5
|
+
import type { TxHash } from '@aztec/stdlib/tx';
|
|
6
|
+
/**
|
|
7
|
+
* Per-execution cache for immutable Aztec node reads.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AztecNodeReadCache {
|
|
10
|
+
#private;
|
|
11
|
+
private readonly aztecNode;
|
|
12
|
+
private readonly cache;
|
|
13
|
+
constructor(aztecNode: AztecNode);
|
|
14
|
+
/** Fetches a block without reissuing the same node request. */
|
|
15
|
+
getBlock(block: BlockParameter): Promise<{
|
|
16
|
+
header: import("@aztec/stdlib/tx").BlockHeader;
|
|
17
|
+
archive: import("@aztec/stdlib/trees").AppendOnlyTreeSnapshot;
|
|
18
|
+
hash: BlockHash;
|
|
19
|
+
checkpointNumber: import("@aztec/foundation/branded-types").CheckpointNumber;
|
|
20
|
+
indexWithinCheckpoint: import("@aztec/foundation/branded-types").IndexWithinCheckpoint;
|
|
21
|
+
number: import("@aztec/foundation/branded-types").BlockNumber;
|
|
22
|
+
body?: import("@aztec/stdlib/block").Body | undefined;
|
|
23
|
+
l1?: import("@aztec/stdlib/interfaces/server").L1PublishInfo | undefined;
|
|
24
|
+
attestations?: import("@aztec/stdlib/block").CommitteeAttestation[] | undefined;
|
|
25
|
+
} | undefined>;
|
|
26
|
+
/** Fetches a transaction receipt with its effect attached. */
|
|
27
|
+
getTxReceiptWithEffect(txHash: TxHash): Promise<import("@aztec/stdlib/tx").TxReceipt<{
|
|
28
|
+
readonly includeTxEffect: true;
|
|
29
|
+
}>>;
|
|
30
|
+
/** Fetches an archive-tree witness for a block hash. */
|
|
31
|
+
getBlockHashMembershipWitness(referenceBlock: BlockParameter, blockHash: BlockHash): Promise<import("@aztec/foundation/trees").MembershipWitness<30> | undefined>;
|
|
32
|
+
/** Fetches a public-data-tree witness for a leaf slot. */
|
|
33
|
+
getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<import("@aztec/stdlib/trees").PublicDataWitness | undefined>;
|
|
34
|
+
/** Fetches public storage for a single slot. */
|
|
35
|
+
getPublicStorageAt(referenceBlock: BlockParameter, contractAddress: AztecAddress, storageSlot: Fr): Promise<Fr>;
|
|
36
|
+
/** Fetches a contiguous public storage range, reusing cached reads for overlapping slots. */
|
|
37
|
+
getPublicStorageRange(referenceBlock: BlockParameter, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfbm9kZV9yZWFkX2NhY2hlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2F6dGVjX25vZGVfcmVhZF9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gscUJBQWEsa0JBQWtCOztJQUdqQixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFGdEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQXVDO0lBRTdELFlBQTZCLFNBQVMsRUFBRSxTQUFTLEVBQUk7SUFFckQsK0RBQStEO0lBQ3hELFFBQVEsQ0FBQyxLQUFLLEVBQUUsY0FBYzs7Ozs7Ozs7OzttQkFFcEM7SUFFRCw4REFBOEQ7SUFDdkQsc0JBQXNCLENBQUMsTUFBTSxFQUFFLE1BQU07O1FBSTNDO0lBRUQsd0RBQXdEO0lBQ2pELDZCQUE2QixDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFNBQVMsZ0ZBS3hGO0lBRUQsMERBQTBEO0lBQ25ELG9CQUFvQixDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEVBQUUsd0VBSXZFO0lBRUQsZ0RBQWdEO0lBQ3pDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxlQUt2RztJQUVELDZGQUE2RjtJQUN0RixxQkFBcUIsQ0FDMUIsY0FBYyxFQUFFLGNBQWMsRUFDOUIsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsRUFBRSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLGlCQU96QjtDQTJCRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aztec_node_read_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/aztec_node_read_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,qBAAa,kBAAkB;;IAGjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,YAA6B,SAAS,EAAE,SAAS,EAAI;IAErD,+DAA+D;IACxD,QAAQ,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;mBAEpC;IAED,8DAA8D;IACvD,sBAAsB,CAAC,MAAM,EAAE,MAAM;;QAI3C;IAED,wDAAwD;IACjD,6BAA6B,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,gFAKxF;IAED,0DAA0D;IACnD,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,wEAIvE;IAED,gDAAgD;IACzC,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,eAKvG;IAED,6FAA6F;IACtF,qBAAqB,CAC1B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,EAAE,EACpB,gBAAgB,EAAE,MAAM,iBAOzB;CA2BF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/**
|
|
3
|
+
* Per-execution cache for immutable Aztec node reads.
|
|
4
|
+
*/ export class AztecNodeReadCache {
|
|
5
|
+
aztecNode;
|
|
6
|
+
cache;
|
|
7
|
+
constructor(aztecNode){
|
|
8
|
+
this.aztecNode = aztecNode;
|
|
9
|
+
this.cache = new Map();
|
|
10
|
+
}
|
|
11
|
+
/** Fetches a block without reissuing the same node request. */ getBlock(block) {
|
|
12
|
+
return this.#cachedRead(`block:${this.#keyPart(block)}`, ()=>this.aztecNode.getBlock(block));
|
|
13
|
+
}
|
|
14
|
+
/** Fetches a transaction receipt with its effect attached. */ getTxReceiptWithEffect(txHash) {
|
|
15
|
+
return this.#cachedRead(`tx-receipt-with-effect:${txHash.toString()}`, ()=>this.aztecNode.getTxReceipt(txHash, {
|
|
16
|
+
includeTxEffect: true
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
/** Fetches an archive-tree witness for a block hash. */ getBlockHashMembershipWitness(referenceBlock, blockHash) {
|
|
20
|
+
return this.#cachedRead(`block-hash-membership-witness:${this.#keyPart(referenceBlock)}:${blockHash.toString()}`, ()=>this.aztecNode.getBlockHashMembershipWitness(referenceBlock, blockHash));
|
|
21
|
+
}
|
|
22
|
+
/** Fetches a public-data-tree witness for a leaf slot. */ getPublicDataWitness(referenceBlock, leafSlot) {
|
|
23
|
+
return this.#cachedRead(`public-data-witness:${this.#keyPart(referenceBlock)}:${leafSlot.toString()}`, ()=>this.aztecNode.getPublicDataWitness(referenceBlock, leafSlot));
|
|
24
|
+
}
|
|
25
|
+
/** Fetches public storage for a single slot. */ getPublicStorageAt(referenceBlock, contractAddress, storageSlot) {
|
|
26
|
+
return this.#cachedRead(`public-storage:${this.#keyPart(referenceBlock)}:${contractAddress.toString()}:${storageSlot.toString()}`, ()=>this.aztecNode.getPublicStorageAt(referenceBlock, contractAddress, storageSlot));
|
|
27
|
+
}
|
|
28
|
+
/** Fetches a contiguous public storage range, reusing cached reads for overlapping slots. */ getPublicStorageRange(referenceBlock, contractAddress, startStorageSlot, numberOfElements) {
|
|
29
|
+
const slots = Array(numberOfElements).fill(0).map((_, i)=>new Fr(startStorageSlot.value + BigInt(i)));
|
|
30
|
+
return Promise.all(slots.map((storageSlot)=>this.getPublicStorageAt(referenceBlock, contractAddress, storageSlot)));
|
|
31
|
+
}
|
|
32
|
+
#cachedRead(key, fetch) {
|
|
33
|
+
const cached = this.cache.get(key);
|
|
34
|
+
if (cached) {
|
|
35
|
+
return cached;
|
|
36
|
+
}
|
|
37
|
+
const promise = fetch();
|
|
38
|
+
promise.catch(()=>this.cache.delete(key));
|
|
39
|
+
this.cache.set(key, promise);
|
|
40
|
+
return promise;
|
|
41
|
+
}
|
|
42
|
+
#keyPart(value) {
|
|
43
|
+
if ([
|
|
44
|
+
'string',
|
|
45
|
+
'number',
|
|
46
|
+
'bigint',
|
|
47
|
+
'boolean'
|
|
48
|
+
].includes(typeof value)) {
|
|
49
|
+
return String(value);
|
|
50
|
+
}
|
|
51
|
+
if (value && typeof value === 'object') {
|
|
52
|
+
const toString = value.toString;
|
|
53
|
+
if (toString && toString !== Object.prototype.toString) {
|
|
54
|
+
return toString.call(value);
|
|
55
|
+
}
|
|
56
|
+
return JSON.stringify(value, (_key, nested)=>typeof nested === 'bigint' ? nested.toString() : nested);
|
|
57
|
+
}
|
|
58
|
+
return String(value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -25,4 +25,4 @@ export type ResolvedTaggingStrategy = {
|
|
|
25
25
|
export declare function resolvedTaggingStrategyToFields(resolved: ResolvedTaggingStrategy): Fr[];
|
|
26
26
|
/** Deserializes a {@link ResolvedTaggingStrategy} from its `kind` discriminant and `secret` field. */
|
|
27
27
|
export declare function resolvedTaggingStrategyFromFields(kind: number, secret: Fr): ResolvedTaggingStrategy;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZWRfdGFnZ2luZ19zdHJhdGVneS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvcmVzb2x2ZWRfdGFnZ2luZ19zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPcEQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUMvQjtJQUNFLDRHQUE0RztJQUM1RyxJQUFJLEVBQUUsMkJBQTJCLENBQUM7Q0FDbkMsR0FDRDtJQUNFOzs7O09BSUc7SUFDSCxJQUFJLEVBQUUsdUJBQXVCLENBQUM7Q0FDL0IsR0FDRDtJQUNFOztPQUVHO0lBQ0gsSUFBSSxFQUFFLHNCQUFzQixDQUFDO0lBQzdCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQUVOLDBIQUEwSDtBQUMxSCx3QkFBZ0IsK0JBQStCLENBQUMsUUFBUSxFQUFFLHVCQUF1QixHQUFHLEVBQUUsRUFBRSxDQVN2RjtBQUVELHNHQUFzRztBQUN0Ryx3QkFBZ0IsaUNBQWlDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLHVCQUF1QixDQWFuRyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved_tagging_strategy.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAOpD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,4GAA4G;IAC5G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;CAC/B,GACD;IACE;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEN,0HAA0H;AAC1H,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,EAAE,EAAE,CASvF;AAED,sGAAsG;AACtG,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"resolved_tagging_strategy.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAOpD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,4GAA4G;IAC5G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;CAC/B,GACD;IACE;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEN,0HAA0H;AAC1H,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,EAAE,EAAE,CASvF;AAED,sGAAsG;AACtG,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,uBAAuB,CAanG"}
|
|
@@ -25,10 +25,12 @@ const INTERACTIVE_HANDSHAKE = 3;
|
|
|
25
25
|
/** Deserializes a {@link ResolvedTaggingStrategy} from its `kind` discriminant and `secret` field. */ export function resolvedTaggingStrategyFromFields(kind, secret) {
|
|
26
26
|
switch(kind){
|
|
27
27
|
case NON_INTERACTIVE_HANDSHAKE:
|
|
28
|
+
assertAbsentSecret(kind, secret);
|
|
28
29
|
return {
|
|
29
30
|
type: 'non-interactive-handshake'
|
|
30
31
|
};
|
|
31
32
|
case INTERACTIVE_HANDSHAKE:
|
|
33
|
+
assertAbsentSecret(kind, secret);
|
|
32
34
|
return {
|
|
33
35
|
type: 'interactive-handshake'
|
|
34
36
|
};
|
|
@@ -41,3 +43,8 @@ const INTERACTIVE_HANDSHAKE = 3;
|
|
|
41
43
|
throw new Error(`Unrecognized resolved tagging strategy kind: ${kind}`);
|
|
42
44
|
}
|
|
43
45
|
}
|
|
46
|
+
function assertAbsentSecret(kind, secret) {
|
|
47
|
+
if (!secret.isZero()) {
|
|
48
|
+
throw new Error(`Resolved tagging strategy ${kind} must not include a secret`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -48,7 +48,7 @@ export class UnavailableOracleError extends Error {
|
|
|
48
48
|
target[legacyKey] = async (...inputs)=>{
|
|
49
49
|
assertHandlerSupportsScope(handler, scope);
|
|
50
50
|
const legacyArgs = paramSource.deserializeParams(inputs).map((p)=>p.value);
|
|
51
|
-
const positional = paramOverride ? paramOverride.mapping(legacyArgs) : legacyArgs;
|
|
51
|
+
const positional = paramOverride ? await paramOverride.mapping(legacyArgs) : legacyArgs;
|
|
52
52
|
const result = await handler[methodName](...positional);
|
|
53
53
|
return returnSource.serializeReturn(returnOverride ? returnOverride.mapping(result) : result);
|
|
54
54
|
};
|
|
@@ -20,11 +20,11 @@ export interface LegacyOracleEntry {
|
|
|
20
20
|
modernOracle: keyof Registry;
|
|
21
21
|
/**
|
|
22
22
|
* Old param wire. `legacyType` deserializes the old wire; `mapping` bridges the deserialized legacy args to the
|
|
23
|
-
* modern handler's args. Omit when the param wire is unchanged.
|
|
23
|
+
* modern handler's args. The mapping may be async. Omit when the param wire is unchanged.
|
|
24
24
|
*/
|
|
25
25
|
params?: {
|
|
26
26
|
legacyType: readonly RegistryParam[];
|
|
27
|
-
mapping: (legacyArgs: any) => readonly unknown[]
|
|
27
|
+
mapping: (legacyArgs: any) => readonly unknown[] | Promise<readonly unknown[]>;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
30
|
* Old return wire. `legacyType` serializes the subset the old contract reads; `mapping` bridges the handler's
|
|
@@ -36,4 +36,4 @@ export interface LegacyOracleEntry {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
export {};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5X29yYWNsZV9yZWdpc3RyeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvbGVnYWN5X29yYWNsZV9yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBRUwsZUFBZSxFQUdmLEtBQUssYUFBYSxFQUNuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFPTCxLQUFLLFdBQVcsRUFDakIsTUFBTSwyQkFBMkIsQ0FBQztBQXNCbkM7Ozs7Ozs7R0FPRztBQUNILGVBQU8sTUFBTSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQW9DcEUsQ0FBQztBQWNGLEtBQUssUUFBUSxHQUFHLE9BQU8sZUFBZSxDQUFDO0FBUXZDOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLHVHQUF1RztJQUN2RyxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7SUFDN0I7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEVBQUU7UUFDUCxVQUFVLEVBQUUsU0FBUyxhQUFhLEVBQUUsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNoRixDQUFDO0lBQ0Y7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEVBQUU7UUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxPQUFPLENBQUE7S0FBRSxDQUFDO0NBQzdFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy_oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/legacy_oracle_registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"legacy_oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/legacy_oracle_registry.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,eAAe,EAGf,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAsBnC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAoCpE,CAAC;AAcF,KAAK,QAAQ,GAAG,OAAO,eAAe,CAAC;AAQvC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,YAAY,EAAE,MAAM,QAAQ,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;KAChF,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAA;KAAE,CAAC;CAC7E"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable camelcase */ import { MAX_NOTE_HASHES_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
|
-
import {
|
|
2
|
+
import { computeFeeJuiceMessageNullifier } from '@aztec/stdlib/messaging';
|
|
3
|
+
import { Option } from '../noir-structs/option.js';
|
|
4
|
+
import { AZTEC_ADDRESS, EPHEMERAL_ARRAY, FIELD, FIXED_BOUNDED_VEC, STRUCT, TX_HASH } from './oracle_type_mappings.js';
|
|
3
5
|
const LEGACY_LOG_RETRIEVAL_RESPONSE = STRUCT([
|
|
4
6
|
{
|
|
5
7
|
name: 'logPayload',
|
|
@@ -52,6 +54,37 @@ const LEGACY_PENDING_TAGGED_LOG = STRUCT([
|
|
|
52
54
|
* Append-only. Drop an entry only once the `ORACLE_VERSION_MAJOR` that introduced its successor is retired, since
|
|
53
55
|
* older contracts can no longer run against this environment.
|
|
54
56
|
*/ export const LEGACY_ORACLE_REGISTRY = {
|
|
57
|
+
aztec_utl_getL1ToL2MembershipWitness: legacyOracle({
|
|
58
|
+
modernOracle: 'aztec_utl_getL1ToL2MembershipWitnessV2',
|
|
59
|
+
// The old wire passed the contract address and secret, the modern oracle takes the unsiloed nullifier (plus the
|
|
60
|
+
// address to silo it with) instead. We derive it here so already-deployed contracts that still emit the old call
|
|
61
|
+
// keep working.
|
|
62
|
+
//
|
|
63
|
+
// This is the fee juice message nullifier derivation: only contracts using that scheme call this retired oracle.
|
|
64
|
+
params: {
|
|
65
|
+
legacyType: [
|
|
66
|
+
{
|
|
67
|
+
name: 'contractAddress',
|
|
68
|
+
type: AZTEC_ADDRESS
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'messageHash',
|
|
72
|
+
type: FIELD
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'secret',
|
|
76
|
+
type: FIELD
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
mapping: async ([contractAddress, messageHash, secret])=>[
|
|
80
|
+
messageHash,
|
|
81
|
+
Option.some({
|
|
82
|
+
contractAddress,
|
|
83
|
+
nullifier: await computeFeeJuiceMessageNullifier(messageHash, secret)
|
|
84
|
+
})
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
55
88
|
aztec_utl_getLogsByTag: legacyOracle({
|
|
56
89
|
modernOracle: 'aztec_utl_getLogsByTagV2',
|
|
57
90
|
returnType: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { UnsiloedMessageNullifier } from '@aztec/stdlib/messaging';
|
|
2
3
|
import { type InputSlot, type MaybePromise, type OutputSlot, type TypeMapping } from './oracle_type_mappings.js';
|
|
3
4
|
export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_CLASS_LOG, DELIVERY_MODE, RESOLVED_TAGGING_STRATEGY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, RESOLVED_TX, STR, U32, slotsOf, type InputSlot, type MaybePromise, type OutputSlot, type SlotShape, type TypeMapping, } from './oracle_type_mappings.js';
|
|
4
5
|
export declare const ORACLE_REGISTRY: {
|
|
@@ -10,6 +11,7 @@ export declare const ORACLE_REGISTRY: {
|
|
|
10
11
|
aztec_utl_getContractInstance: OracleRegistryEntry<[NamedValue<"address", import("@aztec/stdlib/aztec-address").AztecAddress>], import("./oracle_type_mappings.js").ContractInstancePreimage>;
|
|
11
12
|
aztec_utl_getNoteHashMembershipWitness: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"noteHash", Fr>], import("./oracle_type_mappings.js").MembershipWitness<42>>;
|
|
12
13
|
aztec_utl_getBlockHashMembershipWitness: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>], import("../index.js").Option<import("./oracle_type_mappings.js").MembershipWitness<30>>>;
|
|
14
|
+
aztec_utl_areBlockHashesInArchive: OracleRegistryEntry<[NamedValue<"anchorBlockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"blockHashes", import("../index.js").EphemeralArray<import("./oracle_type_mappings.js").BlockHash>>], import("../index.js").EphemeralArray<boolean>>;
|
|
13
15
|
aztec_utl_getNullifierMembershipWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"nullifier", Fr>], import("./oracle_type_mappings.js").NullifierMembershipWitness>;
|
|
14
16
|
aztec_utl_getLowNullifierMembershipWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"nullifier", Fr>], import("./oracle_type_mappings.js").NullifierMembershipWitness>;
|
|
15
17
|
aztec_utl_getPublicDataWitness: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"leafSlot", Fr>], import("./oracle_type_mappings.js").PublicDataWitness>;
|
|
@@ -20,7 +22,7 @@ export declare const ORACLE_REGISTRY: {
|
|
|
20
22
|
partialAddress: Fr;
|
|
21
23
|
}>>;
|
|
22
24
|
aztec_utl_doesNullifierExist: OracleRegistryEntry<[NamedValue<"innerNullifier", Fr>], boolean>;
|
|
23
|
-
|
|
25
|
+
aztec_utl_getL1ToL2MembershipWitnessV2: OracleRegistryEntry<[NamedValue<"messageHash", Fr>, NamedValue<"nullifier", import("../index.js").Option<UnsiloedMessageNullifier>>], import("./message_load_oracle_inputs.js").MessageLoadOracleInputs<36>>;
|
|
24
26
|
aztec_utl_getFromPublicStorage: OracleRegistryEntry<[NamedValue<"blockHash", import("./oracle_type_mappings.js").BlockHash>, NamedValue<"contractAddress", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"startStorageSlot", Fr>, NamedValue<"numberOfElements", number>], Fr[]>;
|
|
25
27
|
aztec_utl_getNotes: OracleRegistryEntry<[NamedValue<"owner", import("../index.js").Option<import("@aztec/stdlib/aztec-address").AztecAddress>>, NamedValue<"storageSlot", Fr>, NamedValue<"numSelects", number>, NamedValue<"selectByIndexes", number[]>, NamedValue<"selectByOffsets", number[]>, NamedValue<"selectByLengths", number[]>, NamedValue<"selectValues", Fr[]>, NamedValue<"selectComparators", number[]>, NamedValue<"sortByIndexes", number[]>, NamedValue<"sortByOffsets", number[]>, NamedValue<"sortByLengths", number[]>, NamedValue<"sortOrder", number[]>, NamedValue<"limit", number>, NamedValue<"offset", number>, NamedValue<"status", number>, NamedValue<"maxNotes", number>, NamedValue<"packedHintedNoteLength", number>], import("../index.js").BoundedVec<import("../index.js").NoteData>>;
|
|
26
28
|
aztec_utl_getPendingTaggedLogsV2: OracleRegistryEntry<[NamedValue<"scope", import("@aztec/stdlib/aztec-address").AztecAddress>, NamedValue<"providedSecrets", import("../index.js").EphemeralArray<import("../index.js").ProvidedSecret>>], import("../index.js").EphemeralArray<import("./oracle_type_mappings.js").PendingTaggedLog>>;
|
|
@@ -133,4 +135,4 @@ type HandlerFn<E extends OracleRegistryEntry> = (...args: ParamTypes<ReturnType<
|
|
|
133
135
|
export type HandlersForPrefix<R extends Record<string, OracleRegistryEntry>, P extends string> = {
|
|
134
136
|
[K in keyof R as K extends `aztec_${P}_${string}` ? StripOraclePrefix<K & string> : never]: HandlerFn<R[K]>;
|
|
135
137
|
};
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3JlZ2lzdHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGVfcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEUsT0FBTyxFQW1CTCxLQUFLLFNBQVMsRUFNZCxLQUFLLFlBQVksRUFPakIsS0FBSyxVQUFVLEVBWWYsS0FBSyxXQUFXLEVBS2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUNMLEtBQUssRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sRUFDTixJQUFJLEVBQ0osa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixFQUN4QixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLEtBQUssRUFDTCxlQUFlLEVBQ2YsV0FBVyxFQUNYLEdBQUcsRUFDSCxHQUFHLEVBQ0gsT0FBTyxFQUNQLEtBQUssU0FBUyxFQUNkLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxLQUFLLFdBQVcsR0FDakIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxlQUFPLE1BQU0sZUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnZm1CLENBQUM7QUFJaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcsbUJBQW1C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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { FieldReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { toACVMField } from '@aztec/simulator/client';
|
|
5
|
-
import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FACT_COLLECTION, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, ORIGIN_BLOCK, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, RESOLVED_TAGGING_STRATEGY, RESOLVED_TX, STR, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed, slotsOf } from './oracle_type_mappings.js';
|
|
5
|
+
import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FACT_COLLECTION, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, ORIGIN_BLOCK, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, RESOLVED_TAGGING_STRATEGY, RESOLVED_TX, STR, STRUCT, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed, slotsOf } from './oracle_type_mappings.js';
|
|
6
6
|
export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_CLASS_LOG, DELIVERY_MODE, RESOLVED_TAGGING_STRATEGY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, RESOLVED_TX, STR, U32, slotsOf } from './oracle_type_mappings.js';
|
|
7
7
|
export const ORACLE_REGISTRY = {
|
|
8
8
|
aztec_misc_assertCompatibleOracleVersion: makeEntry({
|
|
@@ -91,6 +91,19 @@ export const ORACLE_REGISTRY = {
|
|
|
91
91
|
],
|
|
92
92
|
returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT))
|
|
93
93
|
}),
|
|
94
|
+
aztec_utl_areBlockHashesInArchive: makeEntry({
|
|
95
|
+
params: [
|
|
96
|
+
{
|
|
97
|
+
name: 'anchorBlockHash',
|
|
98
|
+
type: BLOCK_HASH
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'blockHashes',
|
|
102
|
+
type: EPHEMERAL_ARRAY(BLOCK_HASH)
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
returnType: EPHEMERAL_ARRAY(BOOL)
|
|
106
|
+
}),
|
|
94
107
|
aztec_utl_getNullifierMembershipWitness: makeEntry({
|
|
95
108
|
params: [
|
|
96
109
|
{
|
|
@@ -166,19 +179,24 @@ export const ORACLE_REGISTRY = {
|
|
|
166
179
|
],
|
|
167
180
|
returnType: BOOL
|
|
168
181
|
}),
|
|
169
|
-
|
|
182
|
+
aztec_utl_getL1ToL2MembershipWitnessV2: makeEntry({
|
|
170
183
|
params: [
|
|
171
|
-
{
|
|
172
|
-
name: 'contractAddress',
|
|
173
|
-
type: AZTEC_ADDRESS
|
|
174
|
-
},
|
|
175
184
|
{
|
|
176
185
|
name: 'messageHash',
|
|
177
186
|
type: FIELD
|
|
178
187
|
},
|
|
179
188
|
{
|
|
180
|
-
name: '
|
|
181
|
-
type:
|
|
189
|
+
name: 'nullifier',
|
|
190
|
+
type: OPTION(STRUCT([
|
|
191
|
+
{
|
|
192
|
+
name: 'contractAddress',
|
|
193
|
+
type: AZTEC_ADDRESS
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: 'nullifier',
|
|
197
|
+
type: FIELD
|
|
198
|
+
}
|
|
199
|
+
]))
|
|
182
200
|
}
|
|
183
201
|
],
|
|
184
202
|
returnType: MESSAGE_LOAD_ORACLE_INPUTS
|
|
@@ -220,4 +220,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
220
220
|
getDebugFunctionName(): Promise<string>;
|
|
221
221
|
protected get callerContext(): "private" | "private view";
|
|
222
222
|
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBRUwsb0JBQW9CLEVBR3BCLEtBQUssaUJBQWlCLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFTMUIsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsUUFBUSxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,oBAAoB,EAGpB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
|
9
9
|
import { AppTaggingSecret, AppTaggingSecretKind, ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
10
10
|
import { Note } from '@aztec/stdlib/note';
|
|
11
11
|
import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
|
|
12
|
+
import { DEFAULT_TAGGING_SECRET_STRATEGY } from '../../hooks/resolve_tagging_secret_strategy.js';
|
|
12
13
|
import { NoteService } from '../../notes/note_service.js';
|
|
13
14
|
import { syncSenderTaggingIndexes } from '../../tagging/index.js';
|
|
14
15
|
import { BoundedVec } from '../noir-structs/bounded_vec.js';
|
|
@@ -152,10 +153,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
152
153
|
async #chooseTaggingSecretStrategy(sender, recipient, deliveryMode) {
|
|
153
154
|
const hook = this.hooks?.resolveTaggingSecretStrategy;
|
|
154
155
|
if (!hook) {
|
|
155
|
-
|
|
156
|
-
return {
|
|
157
|
-
type: 'non-interactive-handshake'
|
|
158
|
-
};
|
|
156
|
+
return DEFAULT_TAGGING_SECRET_STRATEGY;
|
|
159
157
|
}
|
|
160
158
|
const contractClassId = await this.#getCurrentContractClassId(this.contractAddress);
|
|
161
159
|
return hook({
|
|
@@ -13,6 +13,7 @@ import type { CompleteAddress, ContractInstancePreimageWithAddress, PartialAddre
|
|
|
13
13
|
import type { AztecNode } from '@aztec/stdlib/interfaces/server';
|
|
14
14
|
import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
15
15
|
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
16
|
+
import { type UnsiloedMessageNullifier } from '@aztec/stdlib/messaging';
|
|
16
17
|
import type { NoteStatus } from '@aztec/stdlib/note';
|
|
17
18
|
import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
|
|
18
19
|
import { type BlockHeader, CallContext, type Capsule, type OffchainEffect, type TxHash } from '@aztec/stdlib/tx';
|
|
@@ -85,6 +86,7 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
85
86
|
private offchainEffects;
|
|
86
87
|
private readonly ephemeralArrayService;
|
|
87
88
|
protected readonly transientArrayService: TransientArrayService;
|
|
89
|
+
private readonly aztecNodeReadCache;
|
|
88
90
|
private contractOracleVersion;
|
|
89
91
|
protected readonly callContext: CallContext;
|
|
90
92
|
protected readonly authWitnesses: AuthWitness[];
|
|
@@ -146,6 +148,8 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
146
148
|
* @returns The membership witness containing the leaf index and sibling path
|
|
147
149
|
*/
|
|
148
150
|
getBlockHashMembershipWitness(referenceBlockHash: BlockHash, blockHash: BlockHash): Promise<Option<MembershipWitness<typeof ARCHIVE_HEIGHT>>>;
|
|
151
|
+
/** Returns whether each block hash is present in the archive tree at the referenced block. */
|
|
152
|
+
areBlockHashesInArchive(referenceBlockHash: BlockHash, blockHashes: EphemeralArray<BlockHash>): Promise<EphemeralArray<boolean>>;
|
|
149
153
|
/**
|
|
150
154
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
151
155
|
* @param blockHash - The block hash at which to get the index.
|
|
@@ -228,14 +232,13 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
228
232
|
*/
|
|
229
233
|
doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
|
|
230
234
|
/**
|
|
231
|
-
* Returns the membership witness of an
|
|
232
|
-
* @param contractAddress - Address of a contract by which the message was emitted.
|
|
235
|
+
* Returns the membership witness of an L1 to L2 message.
|
|
233
236
|
* @param messageHash - Hash of the message.
|
|
234
|
-
* @param
|
|
235
|
-
*
|
|
237
|
+
* @param nullifier - When present, the unsiloed nullifier of the message and the address to silo it with. The witness
|
|
238
|
+
* is only returned if the siloed nullifier is absent from the nullifier tree, i.e. the message has not been consumed.
|
|
236
239
|
* @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
|
|
237
240
|
*/
|
|
238
|
-
|
|
241
|
+
getL1ToL2MembershipWitnessV2(messageHash: Fr, nullifier: Option<UnsiloedMessageNullifier>): Promise<{
|
|
239
242
|
index: bigint;
|
|
240
243
|
siblingPath: import("@aztec/foundation/trees").SiblingPath<36>;
|
|
241
244
|
}>;
|
|
@@ -317,4 +320,4 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
317
320
|
/** The address of the contract whose function is being executed, from the call context. */
|
|
318
321
|
protected get contractAddress(): AztecAddress;
|
|
319
322
|
}
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBMEIsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBTXRCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNq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
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBMEIsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBTXRCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNq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
|