@aztec-labs/pxe 6.0.0-nightly.20260922 → 6.0.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.
- package/dest/bin/check_oracle_version.js +14 -2
- package/dest/bin/oracle_version_helpers.d.ts +2 -2
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +11 -4
- package/dest/contract_function_simulator/index.d.ts +2 -1
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts +11 -6
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/acir_callback.js +46 -19
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +3 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +3 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +4 -4
- package/dest/contract_function_simulator/oracle/protocol_oracle_registry.d.ts +31 -0
- package/dest/contract_function_simulator/oracle/protocol_oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/protocol_oracle_registry.js +183 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +3 -1
- package/dest/oracle_version.d.ts +3 -1
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +9 -0
- 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 +2 -2
- package/package.json +19 -19
- package/src/bin/check_oracle_version.ts +18 -2
- package/src/bin/oracle_version_helpers.ts +3 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +11 -4
- package/src/contract_function_simulator/index.ts +1 -0
- package/src/contract_function_simulator/oracle/acir_callback.ts +60 -22
- package/src/contract_function_simulator/oracle/oracle_registry.ts +1 -1
- package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +5 -5
- package/src/contract_function_simulator/oracle/protocol_oracle_registry.ts +176 -0
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +5 -1
- package/src/oracle_version.ts +11 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +8 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { keccak256String } from '@aztec-labs/foundation/crypto/keccak';
|
|
2
|
-
import { ORACLE_REGISTRY } from '../contract_function_simulator/index.js';
|
|
3
|
-
import { ORACLE_INTERFACE_HASH } from '../oracle_version.js';
|
|
2
|
+
import { ORACLE_REGISTRY, PROTOCOL_ORACLE_REGISTRY } from '../contract_function_simulator/index.js';
|
|
3
|
+
import { ORACLE_INTERFACE_HASH, PROTOCOL_ORACLE_INTERFACE_HASH } from '../oracle_version.js';
|
|
4
4
|
import { getOracleRegistrySignature } from './oracle_version_helpers.js';
|
|
5
5
|
/**
|
|
6
6
|
* Verifies that the Oracle interface matches the expected interface hash.
|
|
@@ -19,4 +19,16 @@ import { getOracleRegistrySignature } from './oracle_version_helpers.js';
|
|
|
19
19
|
throw new Error(`The Oracle interface has changed. Update ORACLE_INTERFACE_HASH to ${oracleInterfaceHash} in pxe/src/oracle_version.ts and bump the oracle version (ORACLE_VERSION_MAJOR for breaking changes, ORACLE_VERSION_MINOR for oracle additions).`);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Verifies that the interface of the oracles served to the protocol contracts matches the expected interface hash.
|
|
24
|
+
*
|
|
25
|
+
* Protocol contracts are only redeployed on a protocol upgrade, so unlike the Aztec.nr oracle interface this one cannot
|
|
26
|
+
* change in between: a mismatch means deployed protocol contracts would stop working.
|
|
27
|
+
*/ function assertProtocolOracleInterfaceMatches() {
|
|
28
|
+
const protocolOracleInterfaceHash = keccak256String(getOracleRegistrySignature(PROTOCOL_ORACLE_REGISTRY));
|
|
29
|
+
if (protocolOracleInterfaceHash !== PROTOCOL_ORACLE_INTERFACE_HASH) {
|
|
30
|
+
throw new Error(`The protocol oracle interface has changed, which breaks the deployed protocol contracts. If this ships with a protocol upgrade that redeploys them, update PROTOCOL_ORACLE_INTERFACE_HASH to ${protocolOracleInterfaceHash} in pxe/src/oracle_version.ts and set PROTOCOL_ORACLE_VERSION to the new protocol version. Otherwise keep the interface as it was, adapting how PROTOCOL_ORACLE_REGISTRY serves it to the changed oracle handlers.`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
22
33
|
assertOracleInterfaceMatches();
|
|
34
|
+
assertProtocolOracleInterfaceMatches();
|
|
@@ -16,5 +16,5 @@ import type { OracleRegistryEntry } from '../contract_function_simulator/index.j
|
|
|
16
16
|
* // Returns (sorted, newline-joined):
|
|
17
17
|
* // "aztec_prv_bar(): void\naztec_utl_foo(a: u32): bool"
|
|
18
18
|
*/
|
|
19
|
-
export declare function getOracleRegistrySignature(registry: Record<string, OracleRegistryEntry
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
export declare function getOracleRegistrySignature(registry: Record<string, Pick<OracleRegistryEntry, 'params' | 'returnType'>>): string;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3ZlcnNpb25faGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9vcmFjbGVfdmVyc2lvbl9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCx3QkFBZ0IsMEJBQTBCLENBQ3hDLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FDM0UsTUFBTSxDQVVSIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle_version_helpers.d.ts","sourceRoot":"","sources":["../../src/bin/oracle_version_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"oracle_version_helpers.d.ts","sourceRoot":"","sources":["../../src/bin/oracle_version_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,GAC3E,MAAM,CAUR"}
|
|
@@ -111,4 +111,4 @@ export declare class ContractFunctionSimulator {
|
|
|
111
111
|
* @returns The simulated proving result.
|
|
112
112
|
*/
|
|
113
113
|
export declare function generateSimulatedProvingResult(privateExecutionResult: PrivateExecutionResult, debugFunctionNameGetter: (contractAddress: AztecAddress, functionSelector: FunctionSelector) => Promise<string>, node: AztecNode, minRevertibleSideEffectCounterOverride?: number): Promise<PrivateKernelExecutionProofOutput<PrivateKernelTailCircuitPublicInputs>>;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXpELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3RELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQWtCLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUy9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFLTCxLQUFLLGlDQUFpQyxFQUN0QyxvQ0FBb0MsRUFhckMsTUFBTSwyQkFBMkIsQ0FBQztBQUtuQyxPQUFPLEVBQ0wsV0FBVyxFQUVYLEtBQUssaUJBQWlCLEVBRXRCLEtBQUssY0FBYyxFQUNuQixzQkFBc0IsRUFFdEIsa0JBQWtCLEVBSW5CLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAKL,KAAK,iCAAiC,EACtC,oCAAoC,EAarC,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EACL,WAAW,EAEX,KAAK,iBAAiB,EAEtB,KAAK,cAAc,EACnB,sBAAsB,EAEtB,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAW1G,iDAAiD;AACjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,6GAA6G;IAC7G,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,0DAA0D;IAC1D,iBAAiB,EAAE,WAAW,CAAC;IAC/B,uEAAuE;IACvE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,2DAA2D;IAC3D,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,2CAA2C;IAC3C,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,yCAAyC;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,cAAc,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4B;IACtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD,YAAY,IAAI,EAAE,6BAA6B,EAoB9C;IAED;;;OAGG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,EACE,SAAwC,EACxC,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,WAAW,EACZ,EAAE,wBAAwB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAyIjC;IAED;;;;OAIG;IACU,UAAU,CACrB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,iBAAiB,EAAE,WAAW,EAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC;QAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAsF9D;CACF;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAsB,8BAA8B,CAClD,sBAAsB,EAAE,sBAAsB,EAC9C,uBAAuB,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,EAC/G,IAAI,EAAE,SAAS,EACf,sCAAsC,CAAC,EAAE,MAAM,GAC9C,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC,CAsRlF"}
|
|
@@ -11,7 +11,7 @@ import { ExecutionError, createSimulationError, extractCallStack, resolveAsserti
|
|
|
11
11
|
import { FunctionSelector, FunctionType } from '@aztec-labs/stdlib/abi';
|
|
12
12
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
13
13
|
import { Gas } from '@aztec-labs/stdlib/gas';
|
|
14
|
-
import { computeNoteHashNonce,
|
|
14
|
+
import { computeNoteHashNonce, computeSiloedPrivateLogFirstField, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec-labs/stdlib/hash';
|
|
15
15
|
import { ClaimedLengthArray, PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData, PublicCallRequest, ReadRequestActionEnum, ScopedLogHash, ScopedNoteHash, ScopedNullifier, ScopedReadRequest, buildTransientDataHints, getNoteHashReadRequestResetActions, getNullifierReadRequestResetActions } from '@aztec-labs/stdlib/kernel';
|
|
16
16
|
import { PrivateLog } from '@aztec-labs/stdlib/logs';
|
|
17
17
|
import { ScopedL2ToL1Message } from '@aztec-labs/stdlib/messaging';
|
|
@@ -89,7 +89,12 @@ import { TransientArrayService } from './transient_array_service.js';
|
|
|
89
89
|
// reserve the first side effect for the tx hash (inserted by the private kernel)
|
|
90
90
|
const startSideEffectCounter = 2;
|
|
91
91
|
const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
|
|
92
|
-
|
|
92
|
+
if (request.salt.isZero()) {
|
|
93
|
+
// Zero is what an unset field looks like. The kernel accepts it, so a wallet that never set the salt would see
|
|
94
|
+
// its first transaction succeed and every later one from this origin rejected as a duplicate nullifier.
|
|
95
|
+
this.log.warn('Tx request salt is zero. The salt is the transaction nonce: draw it fresh per transaction, or every other ' + `transaction from ${request.origin} with a zero salt will collide with this one on the protocol nullifier.`);
|
|
96
|
+
}
|
|
97
|
+
const protocolNullifier = await request.toTxRequest().computeProtocolNullifier();
|
|
93
98
|
const noteCache = new ExecutionNoteCache(protocolNullifier);
|
|
94
99
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
95
100
|
// One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
|
|
@@ -99,7 +104,7 @@ import { TransientArrayService } from './transient_array_service.js';
|
|
|
99
104
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
100
105
|
argsHash: request.firstCallArgsHash,
|
|
101
106
|
txContext: request.txContext,
|
|
102
|
-
|
|
107
|
+
protocolNullifier,
|
|
103
108
|
callContext,
|
|
104
109
|
anchorBlockHeader,
|
|
105
110
|
utilityExecutor: async (call, execScopes)=>{
|
|
@@ -217,7 +222,9 @@ import { TransientArrayService } from './transient_array_service.js';
|
|
|
217
222
|
selector: call.selector
|
|
218
223
|
});
|
|
219
224
|
const initialWitness = toACVMWitness(0, call.args);
|
|
220
|
-
const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle
|
|
225
|
+
const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle, {
|
|
226
|
+
contractAddress: call.to
|
|
227
|
+
})).catch((err)=>{
|
|
221
228
|
err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
|
|
222
229
|
throw new ExecutionError(err.message, {
|
|
223
230
|
contractAddress: call.to,
|
|
@@ -13,6 +13,7 @@ export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
13
13
|
export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
14
14
|
export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
|
|
15
15
|
export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
|
|
16
|
+
export { PROTOCOL_ORACLE_REGISTRY } from './oracle/protocol_oracle_registry.js';
|
|
16
17
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
17
18
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
18
19
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
@@ -33,4 +34,4 @@ export type { ResolvedTx } from './noir-structs/resolved_tx.js';
|
|
|
33
34
|
export type { NullifierMembershipWitnessData } from './noir-structs/nullifier_membership_witness_data.js';
|
|
34
35
|
export type { PublicDataWitnessData } from './noir-structs/public_data_witness_data.js';
|
|
35
36
|
export { TransientArrayService } from './transient_array_service.js';
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxVQUFVLEVBQ2YsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxVQUFVLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLEVBQUUsRUFDRixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGVBQWUsRUFDZixXQUFXLEVBQ1gsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsSUFBSSxFQUNKLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLGVBQWUsRUFDZixXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxHQUFHLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCxHQUFHLEVBQ0gsR0FBRyxFQUNILElBQUksRUFDSixNQUFNLEVBQ04sYUFBYSxFQUNiLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsS0FBSyxZQUFZLEVBQ2pCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssc0JBQXNCLEVBQzNCLEtBQUss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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
9
9
|
export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
10
10
|
export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
|
|
11
11
|
export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
|
|
12
|
+
export { PROTOCOL_ORACLE_REGISTRY } from './oracle/protocol_oracle_registry.js';
|
|
12
13
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
13
14
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
14
15
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ACIRCallback } from '@aztec-labs/simulator/client';
|
|
2
|
+
import type { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
2
3
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
3
4
|
import { type LegacyOracleEntry } from './legacy_oracle_registry.js';
|
|
4
5
|
import { type OracleRegistryEntry } from './oracle_registry.js';
|
|
6
|
+
import { type ProtocolOracleEntry } from './protocol_oracle_registry.js';
|
|
5
7
|
export declare class UnavailableOracleError extends Error {
|
|
6
8
|
constructor(oracleName: string);
|
|
7
9
|
}
|
|
@@ -9,13 +11,16 @@ export declare class UnavailableOracleError extends Error {
|
|
|
9
11
|
* Builds an ACIR callback from the oracle registry and a handler object.
|
|
10
12
|
*
|
|
11
13
|
* Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
|
|
12
|
-
* `aztec_{
|
|
13
|
-
* names produce enhanced error messages based on the contract's oracle version.
|
|
14
|
+
* `aztec_{oracleKind}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown
|
|
15
|
+
* oracle names produce enhanced error messages based on the contract's oracle version.
|
|
14
16
|
*/
|
|
15
|
-
export declare function buildACIRCallback(handler: OracleHandler,
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
export declare function buildACIRCallback(handler: OracleHandler, options?: {
|
|
18
|
+
/** The contract whose function the callback is built for. */
|
|
19
|
+
contractAddress?: AztecAddress;
|
|
20
|
+
currentRegistry?: Record<string, OracleRegistryEntry>;
|
|
21
|
+
legacyRegistry?: Record<string, LegacyOracleEntry>;
|
|
22
|
+
protocolRegistry?: Record<string, ProtocolOracleEntry>;
|
|
18
23
|
}): ACIRCallback;
|
|
19
24
|
type OracleHandler = IMiscOracle & (IUtilityExecutionOracle | IPrivateExecutionOracle);
|
|
20
25
|
export {};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNpcl9jYWxsYmFjay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvYWNpcl9jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQTBCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RixPQUFPLEVBQW9DLEtBQUssbUJBQW1CLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RyxPQUFPLEVBQTRCLEtBQUssbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuRyxxQkFBYSxzQkFBdUIsU0FBUSxLQUFLO0lBQy9DLFlBQVksVUFBVSxFQUFFLE1BQU0sRUFFN0I7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FDL0IsT0FBTyxFQUFFLGFBQWEsRUFDdEIsT0FBTyxHQUFFO0lBQ1AsNkRBQTZEO0lBQzdELGVBQWUsQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUMvQixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0NBQ25ELEdBQ0wsWUFBWSxDQStEZDtBQXNFRCxLQUFLLGFBQWEsR0FBRyxXQUFXLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acir_callback.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/acir_callback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"acir_callback.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/acir_callback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAoC,KAAK,mBAAmB,EAAa,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEnG,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IACP,6DAA6D;IAC7D,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACnD,GACL,YAAY,CA+Dd;AAsED,KAAK,aAAa,GAAG,WAAW,GAAG,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isProtocolContract } from '@aztec-labs/protocol-contracts';
|
|
2
|
+
import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR, PROTOCOL_ORACLE_VERSION } from '../../oracle_version.js';
|
|
2
3
|
import { LEGACY_ORACLE_REGISTRY } from './legacy_oracle_registry.js';
|
|
3
4
|
import { ORACLE_REGISTRY, makeEntry } from './oracle_registry.js';
|
|
5
|
+
import { PROTOCOL_ORACLE_REGISTRY } from './protocol_oracle_registry.js';
|
|
4
6
|
export class UnavailableOracleError extends Error {
|
|
5
7
|
constructor(oracleName){
|
|
6
8
|
super(`${oracleName} oracles not available with the current handler`);
|
|
@@ -10,15 +12,15 @@ export class UnavailableOracleError extends Error {
|
|
|
10
12
|
* Builds an ACIR callback from the oracle registry and a handler object.
|
|
11
13
|
*
|
|
12
14
|
* Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
|
|
13
|
-
* `aztec_{
|
|
14
|
-
* names produce enhanced error messages based on the contract's oracle version.
|
|
15
|
-
*/ export function buildACIRCallback(handler,
|
|
16
|
-
const {
|
|
15
|
+
* `aztec_{oracleKind}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown
|
|
16
|
+
* oracle names produce enhanced error messages based on the contract's oracle version.
|
|
17
|
+
*/ export function buildACIRCallback(handler, options = {}) {
|
|
18
|
+
const { contractAddress, currentRegistry = ORACLE_REGISTRY, legacyRegistry = LEGACY_ORACLE_REGISTRY, protocolRegistry = PROTOCOL_ORACLE_REGISTRY } = options;
|
|
17
19
|
const target = {};
|
|
18
|
-
for (const [oracleKey, entry] of Object.entries(
|
|
19
|
-
const {
|
|
20
|
+
for (const [oracleKey, entry] of Object.entries(currentRegistry)){
|
|
21
|
+
const { oracleKind, methodName } = parseOracleName(oracleKey, 'Oracle');
|
|
20
22
|
target[oracleKey] = async (...inputs)=>{
|
|
21
|
-
|
|
23
|
+
assertHandlerSupportsOracleKind(handler, oracleKind);
|
|
22
24
|
const named = entry.deserializeParams(inputs);
|
|
23
25
|
const positional = named.map((p)=>p.value);
|
|
24
26
|
const result = await handler[methodName](...positional);
|
|
@@ -28,11 +30,11 @@ export class UnavailableOracleError extends Error {
|
|
|
28
30
|
// Legacy oracle names: served for contracts compiled against a retired oracle version. Each reuses the current
|
|
29
31
|
// handler of its `modernOracle` and reshapes the wire (params and/or return) back to what the old bytecode expects.
|
|
30
32
|
for (const [legacyKey, legacy] of Object.entries(legacyRegistry)){
|
|
31
|
-
const {
|
|
33
|
+
const { oracleKind } = parseOracleName(legacyKey, 'Legacy oracle');
|
|
32
34
|
if (legacyKey in target) {
|
|
33
35
|
throw new Error(`Legacy oracle "${legacyKey}" collides with a live oracle of the same name in the registry`);
|
|
34
36
|
}
|
|
35
|
-
const modernEntry =
|
|
37
|
+
const modernEntry = currentRegistry[legacy.modernOracle];
|
|
36
38
|
const { methodName } = parseOracleName(legacy.modernOracle, 'Oracle');
|
|
37
39
|
// Override only the side whose wire changed; inherit the other from the modern entry.
|
|
38
40
|
const paramOverride = legacy.params;
|
|
@@ -46,29 +48,51 @@ export class UnavailableOracleError extends Error {
|
|
|
46
48
|
returnType: returnOverride.legacyType
|
|
47
49
|
}) : modernEntry;
|
|
48
50
|
target[legacyKey] = async (...inputs)=>{
|
|
49
|
-
|
|
51
|
+
assertHandlerSupportsOracleKind(handler, oracleKind);
|
|
50
52
|
const legacyArgs = paramSource.deserializeParams(inputs).map((p)=>p.value);
|
|
51
53
|
const positional = paramOverride ? await paramOverride.mapping(legacyArgs) : legacyArgs;
|
|
52
54
|
const result = await handler[methodName](...positional);
|
|
53
55
|
return returnSource.serializeReturn(returnOverride ? returnOverride.mapping(result) : result);
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
|
-
|
|
58
|
+
// Protocol oracle names: served to protocol contracts only, each with its own wire.
|
|
59
|
+
const calledByProtocolContract = contractAddress !== undefined && isProtocolContract(contractAddress);
|
|
60
|
+
for (const [protocolKey, protocol] of Object.entries(protocolRegistry)){
|
|
61
|
+
if (protocolKey in target) {
|
|
62
|
+
throw new Error(`Protocol oracle "${protocolKey}" collides with another oracle of the same name`);
|
|
63
|
+
}
|
|
64
|
+
const wire = makeEntry({
|
|
65
|
+
params: [
|
|
66
|
+
...protocol.params
|
|
67
|
+
],
|
|
68
|
+
returnType: protocol.returnType
|
|
69
|
+
});
|
|
70
|
+
target[protocolKey] = async (...inputs)=>{
|
|
71
|
+
if (!calledByProtocolContract) {
|
|
72
|
+
const caller = contractAddress ?? 'a caller that is not a contract';
|
|
73
|
+
throw new Error(`Oracle '${protocolKey}' can only be called by protocol contracts, but was called by ${caller}`);
|
|
74
|
+
}
|
|
75
|
+
assertHandlerSupportsOracleKind(handler, protocol.oracleKind);
|
|
76
|
+
const args = wire.deserializeParams(inputs).map((p)=>p.value);
|
|
77
|
+
return wire.serializeReturn(await protocol.serve(handler, args));
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return new Proxy(target, makeUnknownOracleTrap(handler, calledByProtocolContract));
|
|
57
81
|
}
|
|
58
|
-
/** Parses an `aztec_{
|
|
82
|
+
/** Parses an `aztec_{oracleKind}_{method}` oracle name into its parts, throwing if it doesn't follow the convention. */ function parseOracleName(key, label) {
|
|
59
83
|
const match = key.match(/^aztec_(\w+?)_(.+)$/);
|
|
60
84
|
if (!match) {
|
|
61
|
-
throw new Error(`${label} "${key}" does not follow the aztec_{
|
|
85
|
+
throw new Error(`${label} "${key}" does not follow the aztec_{oracleKind}_{method} convention`);
|
|
62
86
|
}
|
|
63
87
|
return {
|
|
64
|
-
|
|
88
|
+
oracleKind: match[1],
|
|
65
89
|
methodName: match[2]
|
|
66
90
|
};
|
|
67
91
|
}
|
|
68
92
|
/**
|
|
69
93
|
* Proxy trap for the callback table: a known oracle name passes through; an unknown one throws a diagnostic keyed on
|
|
70
94
|
* the contract's oracle version (version unknown, contract newer than this environment, or a same-version mismatch).
|
|
71
|
-
*/ function makeUnknownOracleTrap(handler) {
|
|
95
|
+
*/ function makeUnknownOracleTrap(handler, calledByProtocolContract) {
|
|
72
96
|
return {
|
|
73
97
|
get (obj, prop) {
|
|
74
98
|
// Own-property check only: `in` would match inherited `Object.prototype` keys (e.g. `constructor`, `toString`)
|
|
@@ -77,6 +101,9 @@ export class UnavailableOracleError extends Error {
|
|
|
77
101
|
return obj[prop];
|
|
78
102
|
}
|
|
79
103
|
return ()=>{
|
|
104
|
+
if (calledByProtocolContract) {
|
|
105
|
+
throw new Error(`Oracle '${prop}' not found. It was called by a protocol contract, whose oracles are those of protocol` + ` oracle version ${PROTOCOL_ORACLE_VERSION}.`);
|
|
106
|
+
}
|
|
80
107
|
let contractVersion = undefined;
|
|
81
108
|
if ('nonOracleFunctionGetContractOracleVersion' in handler) {
|
|
82
109
|
contractVersion = handler.nonOracleFunctionGetContractOracleVersion();
|
|
@@ -92,8 +119,8 @@ export class UnavailableOracleError extends Error {
|
|
|
92
119
|
}
|
|
93
120
|
};
|
|
94
121
|
}
|
|
95
|
-
function
|
|
96
|
-
switch(
|
|
122
|
+
function assertHandlerSupportsOracleKind(handler, oracleKind) {
|
|
123
|
+
switch(oracleKind){
|
|
97
124
|
case 'misc':
|
|
98
125
|
if (!('isMisc' in handler)) {
|
|
99
126
|
throw new UnavailableOracleError('Misc');
|
|
@@ -110,6 +137,6 @@ function assertHandlerSupportsScope(handler, scope) {
|
|
|
110
137
|
}
|
|
111
138
|
break;
|
|
112
139
|
default:
|
|
113
|
-
throw new Error(`Unknown oracle
|
|
140
|
+
throw new Error(`Unknown oracle kind: ${oracleKind}`);
|
|
114
141
|
}
|
|
115
142
|
}
|
|
@@ -128,7 +128,7 @@ export type ParamTypes<T extends readonly NamedValue[]> = {
|
|
|
128
128
|
export type InferDeserializedParams<T extends RegistryParam[]> = {
|
|
129
129
|
[K in keyof T]: T[K] extends RegistryParam<infer N, infer V> ? NamedValue<N, V> : never;
|
|
130
130
|
};
|
|
131
|
-
/** Strips the `aztec_{
|
|
131
|
+
/** Strips the `aztec_{oracleKind}_` prefix from an oracle key to get the handler method name. */
|
|
132
132
|
type StripOraclePrefix<K extends string> = K extends `aztec_${string}_${infer M}` ? M : never;
|
|
133
133
|
/** Derives the handler function signature from a registry entry's deserialization/serialization types. */
|
|
134
134
|
type HandlerFn<E extends OracleRegistryEntry> = (...args: ParamTypes<ReturnType<E['deserializeParams']>>) => MaybePromise<Parameters<E['serializeReturn']>[0]>;
|
|
@@ -136,4 +136,4 @@ type HandlerFn<E extends OracleRegistryEntry> = (...args: ParamTypes<ReturnType<
|
|
|
136
136
|
export type HandlersForPrefix<R extends Record<string, OracleRegistryEntry>, P extends string> = {
|
|
137
137
|
[K in keyof R as K extends `aztec_${P}_${string}` ? StripOraclePrefix<K & string> : never]: HandlerFn<R[K]>;
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3JlZ2lzdHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGVfcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR3pELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0UsT0FBTyxFQWlCTCxLQUFLLFNBQVMsRUFLZCxLQUFLLFlBQVksRUFPakIsS0FBSyxVQUFVLEVBWWYsS0FBSyxXQUFXLEVBTWpCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUNMLEtBQUssRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLEVBQUUsRUFDRixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxHQUFHLEVBQ0gsR0FBRyxFQUNILE9BQU8sRUFDUCxLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxVQUFVLEVBQ2YsS0FBSyxTQUFTLEVBQ2QsS0FBSyxXQUFXLEdBQ2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXVmbUIsQ0FBQztBQUloRDs7Ozs7R0FLRztBQUNILE1BQU0sV0FBVyxtQkFBbUIsQ0FDbEMsbUJBQW1CLFNBQVMsU0FBUyxVQUFVLEVBQUUsR0FBRyxTQUFTLFVBQVUsRUFBRSxFQUN6RSxZQUFZLEdBQUcsR0FBRztJQUVsQix3RUFBd0U7SUFDeEUsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLG1CQUFtQixDQUFDO0lBQzVELCtEQUErRDtJQUMvRCxlQUFlLENBQUMsTUFBTSxFQUFFLFlBQVksR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxtSEFBbUg7SUFDbkgsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLGFBQWEsRUFBRSxDQUFDO0lBQzFDLHNGQUFzRjtJQUN0RixRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0NBQ2pEO0FBRUQsd0JBQWdCLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxTQUFTLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEdBQUcsSUFBSSxFQUFFLEVBQ3pGLE1BQU0sRUFDTixVQUFVLEVBQ1gsR0FBRTtJQUNELE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0QixVQUFVLENBQUMsRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Q0FDbkMsR0FBRyxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLENBQUMsQ0F3QzNFO0FBRUQscURBQXFEO0FBQ3JELE1BQU0sV0FBVyxhQUFhLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUc7SUFDbkUsSUFBSSxFQUFFLEtBQUssQ0FBQztJQUNaLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDdEI7QUFFRCw2REFBNkQ7QUFDN0QsTUFBTSxNQUFNLFVBQVUsQ0FBQyxLQUFLLFNBQVMsTUFBTSxHQUFHLE1BQU0sRUFBRSxNQUFNLEdBQUcsR0FBRyxJQUFJO0lBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7SUFBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFdkg7Ozs7O0dBS0c7QUFDSCxNQUFNLE1BQU0sVUFBVSxDQUFDLENBQUMsU0FBUyxTQUFTLFVBQVUsRUFBRSxJQUFJO0tBQ3ZELENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLO0NBQ3JFLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixDQUFDLENBQUMsU0FBUyxhQUFhLEVBQUUsSUFBSTtLQUM5RCxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSztDQUN4RixDQUFDO0FBSUYsaUdBQWlHO0FBQ2pHLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxTQUFTLE1BQU0sSUFBSSxDQUFDLFNBQVMsU0FBUyxNQUFNLElBQUksTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBRTlGLDBHQUEwRztBQUMxRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLFNBQVMsbUJBQW1CLElBQUksQ0FDOUMsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQ3BELFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXZELDZGQUE2RjtBQUM3RixNQUFNLE1BQU0saUJBQWlCLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLFNBQVMsTUFBTSxJQUFJO0tBQzlGLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsU0FBUyxDQUFDLElBQUksTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzVHLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle_registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,9 @@ import { buildACIRCallback } from './acir_callback.js';
|
|
|
21
21
|
});
|
|
22
22
|
const initialWitness = privateExecutionOracle.getInitialWitness(artifact);
|
|
23
23
|
const timer = new Timer();
|
|
24
|
-
const acirExecutionResult = await simulator.executeUserCircuit(initialWitness, artifact, buildACIRCallback(privateExecutionOracle
|
|
24
|
+
const acirExecutionResult = await simulator.executeUserCircuit(initialWitness, artifact, buildACIRCallback(privateExecutionOracle, {
|
|
25
|
+
contractAddress
|
|
26
|
+
})).catch((err)=>{
|
|
25
27
|
err.message = resolveAssertionMessageFromError(err, artifact);
|
|
26
28
|
throw new ExecutionError(err.message, {
|
|
27
29
|
contractAddress,
|
|
@@ -19,7 +19,7 @@ import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utili
|
|
|
19
19
|
export type PrivateExecutionOracleArgs = UtilityExecutionOracleArgs & {
|
|
20
20
|
argsHash: Fr;
|
|
21
21
|
txContext: TxContext;
|
|
22
|
-
|
|
22
|
+
protocolNullifier: Fr;
|
|
23
23
|
executionCache: HashedValuesCache;
|
|
24
24
|
noteCache: ExecutionNoteCache;
|
|
25
25
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -48,7 +48,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
48
48
|
private nestedExecutionResults;
|
|
49
49
|
private readonly argsHash;
|
|
50
50
|
private readonly txContext;
|
|
51
|
-
private readonly
|
|
51
|
+
private readonly protocolNullifier;
|
|
52
52
|
private readonly executionCache;
|
|
53
53
|
private readonly noteCache;
|
|
54
54
|
private readonly taggingIndexCache;
|
|
@@ -223,4 +223,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
223
223
|
getDebugFunctionName(): Promise<string>;
|
|
224
224
|
protected get callerContext(): "private" | "private view";
|
|
225
225
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBS3pELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBRUwsb0JBQW9CLEVBR3BCLEtBQUssaUJBQWlCLEVBQ3ZCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sdUJBQXVCLENBQUM7QUFVL0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFB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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,qCAAqC,CAAC;AAKzD,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAGpB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAExG,mDAAmD;AACnD,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,GAAG;IACpE,QAAQ,EAAE,EAAE,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,
|
|
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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"}
|
|
@@ -36,7 +36,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
36
36
|
nestedExecutionResults = [];
|
|
37
37
|
argsHash;
|
|
38
38
|
txContext;
|
|
39
|
-
|
|
39
|
+
protocolNullifier;
|
|
40
40
|
executionCache;
|
|
41
41
|
noteCache;
|
|
42
42
|
taggingIndexCache;
|
|
@@ -51,7 +51,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
51
51
|
});
|
|
52
52
|
this.argsHash = args.argsHash;
|
|
53
53
|
this.txContext = args.txContext;
|
|
54
|
-
this.
|
|
54
|
+
this.protocolNullifier = args.protocolNullifier;
|
|
55
55
|
this.executionCache = args.executionCache;
|
|
56
56
|
this.noteCache = args.noteCache;
|
|
57
57
|
this.taggingIndexCache = args.taggingIndexCache;
|
|
@@ -61,7 +61,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
61
61
|
this.defaultSenderForTags = args.senderForTags;
|
|
62
62
|
}
|
|
63
63
|
getPrivateContextInputs() {
|
|
64
|
-
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter, this.
|
|
64
|
+
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter, this.protocolNullifier);
|
|
65
65
|
}
|
|
66
66
|
// We still need this function until we can get user-defined ordering of structs for fn arguments
|
|
67
67
|
// TODO When that is sorted out on noir side, we can use instead the utilities in serialize.ts
|
|
@@ -496,7 +496,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
496
496
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
497
497
|
argsHash,
|
|
498
498
|
txContext: derivedTxContext,
|
|
499
|
-
|
|
499
|
+
protocolNullifier: this.protocolNullifier,
|
|
500
500
|
callContext: derivedCallContext,
|
|
501
501
|
anchorBlockHeader: this.anchorBlockHeader,
|
|
502
502
|
utilityExecutor: this.utilityExecutor,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
2
|
+
import type { RegistryParam } from './oracle_registry.js';
|
|
3
|
+
import { type TypeMapping } from './oracle_type_mappings.js';
|
|
4
|
+
type OracleHandlers = {
|
|
5
|
+
misc: IMiscOracle;
|
|
6
|
+
utl: IUtilityExecutionOracle;
|
|
7
|
+
prv: IPrivateExecutionOracle;
|
|
8
|
+
};
|
|
9
|
+
/** An oracle served to the protocol contracts. */
|
|
10
|
+
export interface ProtocolOracleEntry<TOracleKind extends keyof OracleHandlers = keyof OracleHandlers> {
|
|
11
|
+
/** Which oracle handler `serve` takes. */
|
|
12
|
+
oracleKind: TOracleKind;
|
|
13
|
+
/** The ordered named parameters of the wire, with their {@link TypeMapping}s. */
|
|
14
|
+
params: readonly RegistryParam[];
|
|
15
|
+
/** The return {@link TypeMapping} of the wire, or `undefined` for oracles that return nothing. */
|
|
16
|
+
returnType?: TypeMapping;
|
|
17
|
+
/** Serves a call from its deserialized args, returning the value `returnType` serializes. */
|
|
18
|
+
serve: (handler: any, args: any) => unknown;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Oracles served to the protocol contracts, keyed by the name their bytecode calls. Protocol contracts are only
|
|
22
|
+
* redeployed on a protocol upgrade, so their oracle interface is versioned by `PROTOCOL_ORACLE_VERSION` rather than by
|
|
23
|
+
* the aztec.nr oracle version: the names and wires declared here must stay as they are no matter how `ORACLE_REGISTRY`
|
|
24
|
+
* changes.
|
|
25
|
+
*
|
|
26
|
+
* Each entry declares its full wire and how to serve it with the oracle handler, so that a change to the handler only
|
|
27
|
+
* requires adapting `serve`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const PROTOCOL_ORACLE_REGISTRY: Record<string, ProtocolOracleEntry<keyof OracleHandlers>>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfb3JhY2xlX3JlZ2lzdHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcm90b2NvbF9vcmFjbGVfcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckcsT0FBTyxLQUFLLEVBQXVDLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFTTCxLQUFLLFdBQVcsRUFFakIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxLQUFLLGNBQWMsR0FBRztJQUNwQixJQUFJLEVBQUUsV0FBVyxDQUFDO0lBQ2xCLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQztJQUM3QixHQUFHLEVBQUUsdUJBQXVCLENBQUM7Q0FDOUIsQ0FBQztBQUVGLGtEQUFrRDtBQUNsRCxNQUFNLFdBQVcsbUJBQW1CLENBQUMsV0FBVyxTQUFTLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYztJQUNsRywwQ0FBMEM7SUFDMUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixpRkFBaUY7SUFDakYsTUFBTSxFQUFFLFNBQVMsYUFBYSxFQUFFLENBQUM7SUFDakMsa0dBQWtHO0lBQ2xHLFVBQVUsQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUN6Qiw2RkFBNkY7SUFDN0YsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLE9BQU8sQ0FBQztDQUM3QztBQW1DRDs7Ozs7Ozs7R0FRRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsMkRBOEZuQyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol_oracle_registry.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/protocol_oracle_registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,KAAK,EAAuC,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EASL,KAAK,WAAW,EAEjB,MAAM,2BAA2B,CAAC;AAEnC,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,GAAG,EAAE,uBAAuB,CAAC;CAC9B,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,mBAAmB,CAAC,WAAW,SAAS,MAAM,cAAc,GAAG,MAAM,cAAc;IAClG,0CAA0C;IAC1C,UAAU,EAAE,WAAW,CAAC;IACxB,iFAAiF;IACjF,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,kGAAkG;IAClG,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,6FAA6F;IAC7F,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;CAC7C;AAmCD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,2DA8FnC,CAAC"}
|