@aztec/protocol-contracts 0.0.1-fake-ceab37513c → 0.0.2-commit.217f559981
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/artifacts/AuthRegistry.json +1625 -1630
- package/artifacts/ContractClassRegistry.json +897 -7230
- package/artifacts/ContractInstanceRegistry.json +1105 -1772
- package/artifacts/FeeJuice.json +2884 -1598
- package/artifacts/MultiCallEntrypoint.json +1190 -1129
- package/artifacts/PublicChecks.json +988 -0
- package/dest/auth-registry/index.d.ts +1 -1
- package/dest/auth-registry/index.d.ts.map +1 -1
- package/dest/auth-registry/index.js +3 -3
- package/dest/auth-registry/lazy.d.ts +1 -1
- package/dest/auth-registry/lazy.js +5 -5
- package/dest/class-registry/contract_class_published_event.d.ts +3 -2
- package/dest/class-registry/contract_class_published_event.d.ts.map +1 -1
- package/dest/class-registry/contract_class_published_event.js +4 -0
- package/dest/class-registry/index.d.ts +1 -1
- package/dest/class-registry/index.d.ts.map +1 -1
- package/dest/class-registry/index.js +3 -3
- package/dest/class-registry/lazy.d.ts +1 -1
- package/dest/class-registry/lazy.js +5 -5
- package/dest/class-registry/private_function_broadcasted_event.d.ts +2 -2
- package/dest/class-registry/private_function_broadcasted_event.d.ts.map +1 -1
- package/dest/class-registry/utility_function_broadcasted_event.d.ts +2 -2
- package/dest/class-registry/utility_function_broadcasted_event.d.ts.map +1 -1
- package/dest/class-registry/utility_function_broadcasted_event.js +1 -1
- package/dest/fee-juice/index.d.ts +2 -2
- package/dest/fee-juice/index.d.ts.map +1 -1
- package/dest/fee-juice/index.js +3 -3
- package/dest/fee-juice/lazy.d.ts +1 -1
- package/dest/fee-juice/lazy.js +5 -5
- package/dest/index.d.ts +1 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -1
- package/dest/instance-registry/contract_instance_published_event.d.ts +3 -2
- package/dest/instance-registry/contract_instance_published_event.d.ts.map +1 -1
- package/dest/instance-registry/contract_instance_published_event.js +4 -1
- package/dest/instance-registry/contract_instance_updated_event.d.ts +2 -2
- package/dest/instance-registry/contract_instance_updated_event.d.ts.map +1 -1
- package/dest/instance-registry/contract_instance_updated_event.js +5 -7
- package/dest/instance-registry/index.d.ts +1 -1
- package/dest/instance-registry/index.d.ts.map +1 -1
- package/dest/instance-registry/index.js +3 -3
- package/dest/instance-registry/lazy.d.ts +1 -1
- package/dest/instance-registry/lazy.js +5 -5
- package/dest/make_protocol_contract.d.ts +4 -4
- package/dest/make_protocol_contract.d.ts.map +1 -1
- package/dest/make_protocol_contract.js +28 -14
- package/dest/multi-call-entrypoint/index.d.ts +1 -1
- package/dest/multi-call-entrypoint/index.d.ts.map +1 -1
- package/dest/multi-call-entrypoint/index.js +3 -3
- package/dest/multi-call-entrypoint/lazy.d.ts +1 -1
- package/dest/multi-call-entrypoint/lazy.js +5 -5
- package/dest/protocol_contract.d.ts +1 -1
- package/dest/protocol_contract_data.d.ts +25 -11
- package/dest/protocol_contract_data.d.ts.map +1 -1
- package/dest/protocol_contract_data.js +113 -13
- package/dest/provider/bundle.d.ts +1 -1
- package/dest/provider/bundle.d.ts.map +1 -1
- package/dest/provider/bundle.js +3 -3
- package/dest/provider/lazy.d.ts +1 -1
- package/dest/provider/lazy.d.ts.map +1 -1
- package/dest/provider/lazy.js +3 -3
- package/dest/provider/protocol_contracts_provider.d.ts +1 -1
- package/dest/public-checks/index.d.ts +5 -0
- package/dest/public-checks/index.d.ts.map +1 -0
- package/dest/public-checks/index.js +13 -0
- package/dest/public-checks/lazy.d.ts +6 -0
- package/dest/public-checks/lazy.d.ts.map +1 -0
- package/dest/public-checks/lazy.js +23 -0
- package/dest/scripts/generate_data.js +88 -37
- package/dest/tests/fixtures.d.ts +1 -1
- package/package.json +9 -8
- package/src/auth-registry/index.ts +3 -3
- package/src/auth-registry/lazy.ts +5 -5
- package/src/class-registry/contract_class_published_event.ts +8 -1
- package/src/class-registry/index.ts +3 -3
- package/src/class-registry/lazy.ts +5 -5
- package/src/class-registry/private_function_broadcasted_event.ts +1 -1
- package/src/class-registry/utility_function_broadcasted_event.ts +1 -1
- package/src/fee-juice/index.ts +4 -4
- package/src/fee-juice/lazy.ts +5 -5
- package/src/index.ts +0 -1
- package/src/instance-registry/contract_instance_published_event.ts +7 -1
- package/src/instance-registry/contract_instance_updated_event.ts +6 -8
- package/src/instance-registry/index.ts +3 -3
- package/src/instance-registry/lazy.ts +5 -5
- package/src/make_protocol_contract.ts +37 -15
- package/src/multi-call-entrypoint/index.ts +3 -3
- package/src/multi-call-entrypoint/lazy.ts +5 -5
- package/src/protocol_contract_data.ts +91 -13
- package/src/provider/bundle.ts +3 -3
- package/src/provider/lazy.ts +3 -3
- package/src/{router → public-checks}/index.ts +5 -5
- package/src/public-checks/lazy.ts +29 -0
- package/artifacts/Router.json +0 -4629
- package/dest/build_protocol_contract_tree.d.ts +0 -10
- package/dest/build_protocol_contract_tree.d.ts.map +0 -1
- package/dest/build_protocol_contract_tree.js +0 -20
- package/dest/protocol_contract_tree.d.ts +0 -7
- package/dest/protocol_contract_tree.d.ts.map +0 -1
- package/dest/protocol_contract_tree.js +0 -34
- package/dest/router/index.d.ts +0 -5
- package/dest/router/index.d.ts.map +0 -1
- package/dest/router/index.js +0 -13
- package/dest/router/lazy.d.ts +0 -6
- package/dest/router/lazy.d.ts.map +0 -1
- package/dest/router/lazy.js +0 -23
- package/src/build_protocol_contract_tree.ts +0 -29
- package/src/protocol_contract_tree.ts +0 -44
- package/src/router/lazy.ts +0 -29
- /package/artifacts/{Router.d.json.ts → PublicChecks.d.json.ts} +0 -0
|
@@ -4,10 +4,10 @@ let protocolContract;
|
|
|
4
4
|
let protocolContractArtifact;
|
|
5
5
|
export async function getMultiCallEntrypointArtifact() {
|
|
6
6
|
if (!protocolContractArtifact) {
|
|
7
|
-
// Cannot assert this import as it's incompatible with
|
|
8
|
-
// https://
|
|
9
|
-
//
|
|
10
|
-
//
|
|
7
|
+
// Cannot assert this import as it's incompatible with bundlers like vite
|
|
8
|
+
// https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
|
|
9
|
+
// Even if now supported by al major browsers, the MIME type is replaced with
|
|
10
|
+
// "text/javascript"
|
|
11
11
|
// In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
|
|
12
12
|
const { default: multiCallEntrypointJson } = await import('../../artifacts/MultiCallEntrypoint.json');
|
|
13
13
|
protocolContractArtifact = loadContractArtifact(multiCallEntrypointJson);
|
|
@@ -17,7 +17,7 @@ export async function getMultiCallEntrypointArtifact() {
|
|
|
17
17
|
/** Returns the canonical deployment of the auth registry. */ export async function getCanonicalMultiCallEntrypoint() {
|
|
18
18
|
if (!protocolContract) {
|
|
19
19
|
const multiCallEntrypointArtifact = await getMultiCallEntrypointArtifact();
|
|
20
|
-
protocolContract =
|
|
20
|
+
protocolContract = makeProtocolContract('MultiCallEntrypoint', multiCallEntrypointArtifact);
|
|
21
21
|
}
|
|
22
22
|
return protocolContract;
|
|
23
23
|
}
|
|
@@ -14,4 +14,4 @@ export interface ProtocolContract {
|
|
|
14
14
|
}
|
|
15
15
|
export declare function isProtocolContract(address: AztecAddress): boolean;
|
|
16
16
|
export { type ProtocolContractsProvider } from './provider/protocol_contracts_provider.js';
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEgsdURBQXVEO0FBQ3ZELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsbUNBQW1DO0lBQ25DLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztJQUN0Qyx1Q0FBdUM7SUFDdkMsYUFBYSxFQUFFLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDO0lBQzdELGtDQUFrQztJQUNsQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0Isc0RBQXNEO0lBQ3RELE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksV0FFdkQ7QUFFRCxPQUFPLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDIn0=
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
2
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
-
|
|
4
|
+
import { ProtocolContracts } from '@aztec/stdlib/tx';
|
|
5
|
+
export declare const protocolContractNames: readonly ["AuthRegistry", "ContractInstanceRegistry", "ContractClassRegistry", "MultiCallEntrypoint", "FeeJuice", "PublicChecks"];
|
|
4
6
|
export type ProtocolContractName = typeof protocolContractNames[number];
|
|
5
7
|
export declare const ProtocolContractSalt: Record<ProtocolContractName, Fr>;
|
|
6
8
|
export declare const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>;
|
|
7
|
-
export declare const
|
|
8
|
-
AuthRegistry:
|
|
9
|
-
ContractInstanceRegistry:
|
|
10
|
-
ContractClassRegistry:
|
|
11
|
-
MultiCallEntrypoint:
|
|
12
|
-
FeeJuice:
|
|
13
|
-
|
|
9
|
+
export declare const ProtocolContractDerivedAddress: {
|
|
10
|
+
AuthRegistry: AztecAddress;
|
|
11
|
+
ContractInstanceRegistry: AztecAddress;
|
|
12
|
+
ContractClassRegistry: AztecAddress;
|
|
13
|
+
MultiCallEntrypoint: AztecAddress;
|
|
14
|
+
FeeJuice: AztecAddress;
|
|
15
|
+
PublicChecks: AztecAddress;
|
|
14
16
|
};
|
|
15
|
-
export declare const
|
|
17
|
+
export declare const ProtocolContractClassId: Record<ProtocolContractName, Fr>;
|
|
18
|
+
export declare const ProtocolContractClassIdPreimage: Record<ProtocolContractName, {
|
|
19
|
+
artifactHash: Fr;
|
|
20
|
+
privateFunctionsRoot: Fr;
|
|
21
|
+
publicBytecodeCommitment: Fr;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const ProtocolContractInitializationHash: Record<ProtocolContractName, Fr>;
|
|
24
|
+
export declare const ProtocolContractPrivateFunctions: Record<ProtocolContractName, {
|
|
25
|
+
selector: FunctionSelector;
|
|
26
|
+
vkHash: Fr;
|
|
27
|
+
}[]>;
|
|
28
|
+
export declare const ProtocolContractsList: ProtocolContracts;
|
|
29
|
+
export declare const protocolContractsHash: Fr;
|
|
16
30
|
export declare const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG: Fr;
|
|
17
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3RvY29sX2NvbnRyYWN0X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUksT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxlQUFPLE1BQU0scUJBQXFCLG1JQU94QixDQUFDO0FBRVgsTUFBTSxNQUFNLG9CQUFvQixHQUFHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFJeEUsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBT2pFLENBQUM7QUFJRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FPOUUsQ0FBQztBQUlGLGVBQU8sTUFBTSw4QkFBOEI7Ozs7Ozs7Q0FPMUMsQ0FBQztBQUlGLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU9wRSxDQUFDO0FBRUYsZUFBTyxNQUFNLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7SUFBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQStCdEosQ0FBQztBQUVGLGVBQU8sTUFBTSxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQU8vRSxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUFFLENBT3ZILENBQUM7QUFJRixlQUFPLE1BQU0scUJBQXFCLG1CQVloQyxDQUFDO0FBRUgsZUFBTyxNQUFNLHFCQUFxQixJQUFzRixDQUFDO0FBSTNILGVBQU8sTUFBTSxxQ0FBcUMsSUFBeUYsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"protocol_contract_data.d.ts","sourceRoot":"","sources":["../src/protocol_contract_data.ts"],"names":[],"mappings":"AAEI,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,eAAO,MAAM,qBAAqB,mIAOxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAO9E,CAAC;AAIF,eAAO,MAAM,8BAA8B;;;;;;;CAO1C,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAOpE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,YAAY,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAC;IAAC,wBAAwB,EAAE,EAAE,CAAA;CAAE,CA+BtJ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAO/E,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAOvH,CAAC;AAIF,eAAO,MAAM,qBAAqB,mBAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,IAAsF,CAAC;AAI3H,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// GENERATED FILE - DO NOT EDIT. RUN `yarn generate` or `yarn generate:data`
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
3
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { ProtocolContracts } from '@aztec/stdlib/tx';
|
|
4
6
|
export const protocolContractNames = [
|
|
5
7
|
'AuthRegistry',
|
|
6
8
|
'ContractInstanceRegistry',
|
|
7
9
|
'ContractClassRegistry',
|
|
8
10
|
'MultiCallEntrypoint',
|
|
9
11
|
'FeeJuice',
|
|
10
|
-
'
|
|
12
|
+
'PublicChecks'
|
|
11
13
|
];
|
|
12
14
|
export const ProtocolContractSalt = {
|
|
13
15
|
AuthRegistry: new Fr(1),
|
|
@@ -15,7 +17,7 @@ export const ProtocolContractSalt = {
|
|
|
15
17
|
ContractClassRegistry: new Fr(1),
|
|
16
18
|
MultiCallEntrypoint: new Fr(1),
|
|
17
19
|
FeeJuice: new Fr(1),
|
|
18
|
-
|
|
20
|
+
PublicChecks: new Fr(1)
|
|
19
21
|
};
|
|
20
22
|
export const ProtocolContractAddress = {
|
|
21
23
|
AuthRegistry: AztecAddress.fromBigInt(1n),
|
|
@@ -23,15 +25,113 @@ export const ProtocolContractAddress = {
|
|
|
23
25
|
ContractClassRegistry: AztecAddress.fromBigInt(3n),
|
|
24
26
|
MultiCallEntrypoint: AztecAddress.fromBigInt(4n),
|
|
25
27
|
FeeJuice: AztecAddress.fromBigInt(5n),
|
|
26
|
-
|
|
28
|
+
PublicChecks: AztecAddress.fromBigInt(6n)
|
|
27
29
|
};
|
|
28
|
-
export const
|
|
29
|
-
AuthRegistry:
|
|
30
|
-
ContractInstanceRegistry:
|
|
31
|
-
ContractClassRegistry:
|
|
32
|
-
MultiCallEntrypoint:
|
|
33
|
-
FeeJuice:
|
|
34
|
-
|
|
30
|
+
export const ProtocolContractDerivedAddress = {
|
|
31
|
+
AuthRegistry: AztecAddress.fromString('0x05738188c145f5ae1f85ba32c2955df6cdadf5142a4a6db36c7bbf7919f07630'),
|
|
32
|
+
ContractInstanceRegistry: AztecAddress.fromString('0x0e0e44c7fd88f06c1a52e67137d92be96399a7d47ee5ca033bb306ec8d2b54f3'),
|
|
33
|
+
ContractClassRegistry: AztecAddress.fromString('0x14d670efa326a07b99777b01fb706427ca776095246569150f2a3f17a7d4dc66'),
|
|
34
|
+
MultiCallEntrypoint: AztecAddress.fromString('0x15bff1f94c1c820c5f9384e45114ae5b4c25489f816fdc5b80bfb5f54d852077'),
|
|
35
|
+
FeeJuice: AztecAddress.fromString('0x06ecf77d30887d7b701ad2235f560248e7c3d572e8640279f9d26d87312557ac'),
|
|
36
|
+
PublicChecks: AztecAddress.fromString('0x289c56a961e343e67f77ed2a9119fdf8b50f63034d598c5bba8ff280129e1579')
|
|
35
37
|
};
|
|
36
|
-
export const
|
|
37
|
-
|
|
38
|
+
export const ProtocolContractClassId = {
|
|
39
|
+
AuthRegistry: Fr.fromString('0x07438c0ca498858064954149028e00a6038eb8ea5529373582574a77a0f913f1'),
|
|
40
|
+
ContractInstanceRegistry: Fr.fromString('0x2112df65cee9b5fc9d222613fc7df8d3e05dd542ad565c9f255ab7b728dd9cc0'),
|
|
41
|
+
ContractClassRegistry: Fr.fromString('0x013466b8a65dea98ad80c119cf236a0acf53acfede687769410cfd57876b8242'),
|
|
42
|
+
MultiCallEntrypoint: Fr.fromString('0x1f87f80a8331b63219e4b04f618b371c04b73b2246c058a0962d9848f15cf1d8'),
|
|
43
|
+
FeeJuice: Fr.fromString('0x0b0ee1791b48ea378c6aed2ccdc29c7a5e63a742d77871294174c6879509806f'),
|
|
44
|
+
PublicChecks: Fr.fromString('0x0f1f06f003dd2ccb739a1719b8dccc2800b4015e7387d1e6ab1126b480871c54')
|
|
45
|
+
};
|
|
46
|
+
export const ProtocolContractClassIdPreimage = {
|
|
47
|
+
AuthRegistry: {
|
|
48
|
+
artifactHash: Fr.fromString('0x2fcb5576b472becea02a1d5228473217bb2f63570d868abcf16205a23377ec70'),
|
|
49
|
+
privateFunctionsRoot: Fr.fromString('0x11900a485e3ffa03da98d89abb0c9419200644aaf17f5caa863953fccf1ed88f'),
|
|
50
|
+
publicBytecodeCommitment: Fr.fromString('0x2c9138ec76d2f7db9c313a411adb0855e334ba6bb1bbbe191fff14ee0799deea')
|
|
51
|
+
},
|
|
52
|
+
ContractInstanceRegistry: {
|
|
53
|
+
artifactHash: Fr.fromString('0x18601566bacdca7a5a40528f221b04ee7b74f382e6cd34fbdf69d31c50d5ee88'),
|
|
54
|
+
privateFunctionsRoot: Fr.fromString('0x136a6705c7ad1d47f65cb881a56909d4c78d3fa8944f5b103734cd91e654ed63'),
|
|
55
|
+
publicBytecodeCommitment: Fr.fromString('0x2ca33d0ab4d4cc2339aa7fa0788572ad32465cd461a222930e71b166aca83967')
|
|
56
|
+
},
|
|
57
|
+
ContractClassRegistry: {
|
|
58
|
+
artifactHash: Fr.fromString('0x232d868db8a4d1e0f013efa4bfe5c39d96e11f16a62e3e73abbbafc3028fc410'),
|
|
59
|
+
privateFunctionsRoot: Fr.fromString('0x2ac3bf890a7d534a768079aa86889caa1a86373c8e6fc2db48215b11bbb79106'),
|
|
60
|
+
publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
|
|
61
|
+
},
|
|
62
|
+
MultiCallEntrypoint: {
|
|
63
|
+
artifactHash: Fr.fromString('0x10292f802f1c5b7c6c813c003f6e068e4396892beeb195c9e031a841a4ce5800'),
|
|
64
|
+
privateFunctionsRoot: Fr.fromString('0x266505ecb7c02ce6e227227c0b6bdb44713c8ecd43164ee7bb00b8fb340e8b03'),
|
|
65
|
+
publicBytecodeCommitment: Fr.fromString('0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e')
|
|
66
|
+
},
|
|
67
|
+
FeeJuice: {
|
|
68
|
+
artifactHash: Fr.fromString('0x2eb476f12cce5207be118047fb7f603378b78aa619d6539a4d9eec4700ea2507'),
|
|
69
|
+
privateFunctionsRoot: Fr.fromString('0x0abef3cfc6ae314886c841b42dc33d3eed255ad3dee7773daabf05b229573759'),
|
|
70
|
+
publicBytecodeCommitment: Fr.fromString('0x140b663a54207869cc411e3731d38cd65ea323ac2fc6004d3d73b7f175bb0f33')
|
|
71
|
+
},
|
|
72
|
+
PublicChecks: {
|
|
73
|
+
artifactHash: Fr.fromString('0x003d3e0bff7456e270c38b0ae046cc77fa0b677df8d5bce6d7ff9bb7ecdfdbdd'),
|
|
74
|
+
privateFunctionsRoot: Fr.fromString('0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1'),
|
|
75
|
+
publicBytecodeCommitment: Fr.fromString('0x2d0834fc9468fd2092091852543a2fbd7b6b313c7e5e4defe8730c8065366a03')
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export const ProtocolContractInitializationHash = {
|
|
79
|
+
AuthRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
80
|
+
ContractInstanceRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
81
|
+
ContractClassRegistry: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
82
|
+
MultiCallEntrypoint: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
83
|
+
FeeJuice: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
84
|
+
PublicChecks: Fr.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
|
|
85
|
+
};
|
|
86
|
+
export const ProtocolContractPrivateFunctions = {
|
|
87
|
+
AuthRegistry: [
|
|
88
|
+
{
|
|
89
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000079a3d418')),
|
|
90
|
+
vkHash: Fr.fromString('0x185a64e85b31ece67103f33ec67ddef374308c0a5dc2b7f37e016bca0dce63fb')
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
ContractInstanceRegistry: [
|
|
94
|
+
{
|
|
95
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x0000000000000000000000000000000000000000000000000000000016ec12aa')),
|
|
96
|
+
vkHash: Fr.fromString('0x262f7a90ecf055779001b67dad01a3add1e549f6c27931f0e71e463ce2142b57')
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
ContractClassRegistry: [
|
|
100
|
+
{
|
|
101
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x000000000000000000000000000000000000000000000000000000006934ed0d')),
|
|
102
|
+
vkHash: Fr.fromString('0x1163f31e191528254c877fce0c7f62dd738f5552bbd2dda97512fe4777377f5b')
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
MultiCallEntrypoint: [
|
|
106
|
+
{
|
|
107
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000f04908a9')),
|
|
108
|
+
vkHash: Fr.fromString('0x21732ab3cecf633e4c31a030df62c93e35a005b89941fdab568d2818c1355192')
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
FeeJuice: [
|
|
112
|
+
{
|
|
113
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000cbe67243')),
|
|
114
|
+
vkHash: Fr.fromString('0x2ad6083b4595f8076c014e5152191013167ab1b5a31ad0cbb06490054c7c59ae')
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
selector: FunctionSelector.fromField(Fr.fromString('0x00000000000000000000000000000000000000000000000000000000e8d374b6')),
|
|
118
|
+
vkHash: Fr.fromString('0x05aaffffdf797625ff24575d939339303775c5db77fb6bdcecbf955f726fd071')
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
PublicChecks: []
|
|
122
|
+
};
|
|
123
|
+
export const ProtocolContractsList = new ProtocolContracts([
|
|
124
|
+
AztecAddress.fromString('0x05738188c145f5ae1f85ba32c2955df6cdadf5142a4a6db36c7bbf7919f07630'),
|
|
125
|
+
AztecAddress.fromString('0x0e0e44c7fd88f06c1a52e67137d92be96399a7d47ee5ca033bb306ec8d2b54f3'),
|
|
126
|
+
AztecAddress.fromString('0x14d670efa326a07b99777b01fb706427ca776095246569150f2a3f17a7d4dc66'),
|
|
127
|
+
AztecAddress.fromString('0x15bff1f94c1c820c5f9384e45114ae5b4c25489f816fdc5b80bfb5f54d852077'),
|
|
128
|
+
AztecAddress.fromString('0x06ecf77d30887d7b701ad2235f560248e7c3d572e8640279f9d26d87312557ac'),
|
|
129
|
+
AztecAddress.fromString('0x289c56a961e343e67f77ed2a9119fdf8b50f63034d598c5bba8ff280129e1579'),
|
|
130
|
+
AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
131
|
+
AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
132
|
+
AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
133
|
+
AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000'),
|
|
134
|
+
AztecAddress.fromString('0x0000000000000000000000000000000000000000000000000000000000000000')
|
|
135
|
+
]);
|
|
136
|
+
export const protocolContractsHash = Fr.fromString('0x1e13776ddffd17d2a72e97753ee4bdc8fa83f7c826e35421e3c0844ee732a82b');
|
|
137
|
+
export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8');
|
|
@@ -6,4 +6,4 @@ export declare const ProtocolContractArtifact: Record<ProtocolContractName, Cont
|
|
|
6
6
|
export declare class BundledProtocolContractsProvider implements ProtocolContractsProvider {
|
|
7
7
|
getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFRMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYsZUFBTyxNQUFNLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FPbkYsQ0FBQztBQUVGLHFCQUFhLGdDQUFpQyxZQUFXLHlCQUF5QjtJQUNoRiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRWpGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAOnF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/provider/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAOnF,CAAC;AAEF,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjF;CACF"}
|
package/dest/provider/bundle.js
CHANGED
|
@@ -4,17 +4,17 @@ import { FeeJuiceArtifact } from '../fee-juice/index.js';
|
|
|
4
4
|
import { ContractInstanceRegistryArtifact } from '../instance-registry/index.js';
|
|
5
5
|
import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
6
6
|
import { MultiCallEntrypointArtifact } from '../multi-call-entrypoint/index.js';
|
|
7
|
-
import {
|
|
7
|
+
import { PublicChecksArtifact } from '../public-checks/index.js';
|
|
8
8
|
export const ProtocolContractArtifact = {
|
|
9
9
|
AuthRegistry: AuthRegistryArtifact,
|
|
10
10
|
ContractInstanceRegistry: ContractInstanceRegistryArtifact,
|
|
11
11
|
ContractClassRegistry: ContractClassRegistryArtifact,
|
|
12
12
|
MultiCallEntrypoint: MultiCallEntrypointArtifact,
|
|
13
13
|
FeeJuice: FeeJuiceArtifact,
|
|
14
|
-
|
|
14
|
+
PublicChecks: PublicChecksArtifact
|
|
15
15
|
};
|
|
16
16
|
export class BundledProtocolContractsProvider {
|
|
17
17
|
getProtocolContractArtifact(name) {
|
|
18
|
-
return makeProtocolContract(name, ProtocolContractArtifact[name]);
|
|
18
|
+
return Promise.resolve(makeProtocolContract(name, ProtocolContractArtifact[name]));
|
|
19
19
|
}
|
|
20
20
|
}
|
package/dest/provider/lazy.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import type { ProtocolContractsProvider } from './protocol_contracts_provider.js
|
|
|
4
4
|
export declare class LazyProtocolContractsProvider implements ProtocolContractsProvider {
|
|
5
5
|
getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEYscUJBQWEsNkJBQThCLFlBQVcseUJBQXlCO0lBQzdFLDJCQUEyQixDQUFDLElBQUksRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FpQmpGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/provider/lazy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBjF;CACF"}
|
package/dest/provider/lazy.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getCanonicalClassRegistry } from '../class-registry/lazy.js';
|
|
|
3
3
|
import { getCanonicalFeeJuice } from '../fee-juice/lazy.js';
|
|
4
4
|
import { getCanonicalInstanceRegistry } from '../instance-registry/lazy.js';
|
|
5
5
|
import { getCanonicalMultiCallEntrypoint } from '../multi-call-entrypoint/lazy.js';
|
|
6
|
-
import {
|
|
6
|
+
import { getCanonicalPublicChecks } from '../public-checks/lazy.js';
|
|
7
7
|
export class LazyProtocolContractsProvider {
|
|
8
8
|
getProtocolContractArtifact(name) {
|
|
9
9
|
switch(name){
|
|
@@ -17,8 +17,8 @@ export class LazyProtocolContractsProvider {
|
|
|
17
17
|
return getCanonicalMultiCallEntrypoint();
|
|
18
18
|
case 'FeeJuice':
|
|
19
19
|
return getCanonicalFeeJuice();
|
|
20
|
-
case '
|
|
21
|
-
return
|
|
20
|
+
case 'PublicChecks':
|
|
21
|
+
return getCanonicalPublicChecks();
|
|
22
22
|
default:
|
|
23
23
|
throw new Error(`Unknown protocol contract name: ${name}`);
|
|
24
24
|
}
|
|
@@ -4,4 +4,4 @@ import type { ProtocolContractName } from '../protocol_contract_data.js';
|
|
|
4
4
|
export interface ProtocolContractsProvider {
|
|
5
5
|
getProtocolContractArtifact(name: ProtocolContractName): Promise<ProtocolContract>;
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIvcHJvdG9jb2xfY29udHJhY3RzX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RSw0REFBNEQ7QUFDNUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDcEYifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProtocolContract } from '../protocol_contract.js';
|
|
2
|
+
export declare const PublicChecksArtifact: import("@aztec/stdlib/abi").ContractArtifact;
|
|
3
|
+
/** Returns the canonical deployment of the contract. */
|
|
4
|
+
export declare function getCanonicalPublicChecks(): Promise<ProtocolContract>;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtY2hlY2tzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsZUFBTyxNQUFNLG9CQUFvQiw4Q0FBaUUsQ0FBQztBQUluRyx3REFBd0Q7QUFDeEQsd0JBQWdCLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUtwRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public-checks/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,oBAAoB,8CAAiE,CAAC;AAInG,wDAAwD;AACxD,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKpE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { loadContractArtifact } from '@aztec/stdlib/abi';
|
|
2
|
+
import PublicChecksJson from '../../artifacts/PublicChecks.json' with {
|
|
3
|
+
type: 'json'
|
|
4
|
+
};
|
|
5
|
+
import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
6
|
+
export const PublicChecksArtifact = loadContractArtifact(PublicChecksJson);
|
|
7
|
+
let protocolContract;
|
|
8
|
+
/** Returns the canonical deployment of the contract. */ export function getCanonicalPublicChecks() {
|
|
9
|
+
if (!protocolContract) {
|
|
10
|
+
protocolContract = makeProtocolContract('PublicChecks', PublicChecksArtifact);
|
|
11
|
+
}
|
|
12
|
+
return Promise.resolve(protocolContract);
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
2
|
+
import type { ProtocolContract } from '../protocol_contract.js';
|
|
3
|
+
export declare function getPublicChecksArtifact(): Promise<ContractArtifact>;
|
|
4
|
+
/** Returns the canonical deployment of the public checks contract. */
|
|
5
|
+
export declare function getCanonicalPublicChecks(): Promise<ProtocolContract>;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy1jaGVja3MvbGF6eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2hFLHdCQUFzQix1QkFBdUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FXekU7QUFFRCxzRUFBc0U7QUFDdEUsd0JBQXNCLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU0xRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/public-checks/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAWzE;AAED,sEAAsE;AACtE,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAM1E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { loadContractArtifact } from '@aztec/stdlib/abi';
|
|
2
|
+
import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
3
|
+
let protocolContract;
|
|
4
|
+
let protocolContractArtifact;
|
|
5
|
+
export async function getPublicChecksArtifact() {
|
|
6
|
+
if (!protocolContractArtifact) {
|
|
7
|
+
// Cannot assert this import as it's incompatible with bundlers like vite
|
|
8
|
+
// https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
|
|
9
|
+
// Even if now supported by al major browsers, the MIME type is replaced with
|
|
10
|
+
// "text/javascript"
|
|
11
|
+
// In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
|
|
12
|
+
const { default: publicChecksJson } = await import('../../artifacts/PublicChecks.json');
|
|
13
|
+
protocolContractArtifact = loadContractArtifact(publicChecksJson);
|
|
14
|
+
}
|
|
15
|
+
return protocolContractArtifact;
|
|
16
|
+
}
|
|
17
|
+
/** Returns the canonical deployment of the public checks contract. */ export async function getCanonicalPublicChecks() {
|
|
18
|
+
if (!protocolContract) {
|
|
19
|
+
const publicChecksArtifact = await getPublicChecksArtifact();
|
|
20
|
+
protocolContract = makeProtocolContract('PublicChecks', publicChecksArtifact);
|
|
21
|
+
}
|
|
22
|
+
return protocolContract;
|
|
23
|
+
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MULTI_CALL_ENTRYPOINT_ADDRESS,
|
|
2
|
-
import {
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MAX_PROTOCOL_CONTRACTS, MULTI_CALL_ENTRYPOINT_ADDRESS, PUBLIC_CHECKS_ADDRESS } from '@aztec/constants';
|
|
2
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { createConsoleLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { loadContractArtifact } from '@aztec/stdlib/abi';
|
|
6
6
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
-
import {
|
|
7
|
+
import { computeContractAddressFromInstance, computeInitializationHash, getContractClassFromArtifact } from '@aztec/stdlib/contract';
|
|
8
|
+
import { computeSiloedPrivateLogFirstField } from '@aztec/stdlib/hash';
|
|
9
|
+
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
10
|
+
import { ProtocolContracts } from '@aztec/stdlib/tx';
|
|
8
11
|
import { promises as fs } from 'fs';
|
|
9
12
|
import path from 'path';
|
|
10
|
-
import { buildProtocolContractTree } from '../build_protocol_contract_tree.js';
|
|
11
13
|
const log = createConsoleLogger('autogenerate');
|
|
12
14
|
const noirContractsRoot = '../../noir-projects/noir-contracts';
|
|
13
15
|
const srcPath = path.join(noirContractsRoot, './target');
|
|
@@ -20,7 +22,7 @@ const contractAddressMapping = {
|
|
|
20
22
|
ContractClassRegistry: CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS,
|
|
21
23
|
MultiCallEntrypoint: MULTI_CALL_ENTRYPOINT_ADDRESS,
|
|
22
24
|
FeeJuice: FEE_JUICE_ADDRESS,
|
|
23
|
-
|
|
25
|
+
PublicChecks: PUBLIC_CHECKS_ADDRESS
|
|
24
26
|
};
|
|
25
27
|
async function clearDestDir() {
|
|
26
28
|
try {
|
|
@@ -49,19 +51,32 @@ async function copyArtifact(srcName, destName) {
|
|
|
49
51
|
await fs.copyFile(src, dest);
|
|
50
52
|
return artifact;
|
|
51
53
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
54
|
+
// Precompute all the expensive contract data that can be obtained from the artifact, to avoid redundant computations in clients.
|
|
55
|
+
// Protocol contracts come from a trusted source, so no class verifications are needed.
|
|
56
|
+
async function computeContractData(artifact, deployer) {
|
|
57
|
+
const loaded = loadContractArtifact(artifact);
|
|
58
|
+
const contractClass = await getContractClassFromArtifact(loaded);
|
|
59
|
+
const constructorArtifact = loaded.functions.find((f)=>f.name === 'constructor');
|
|
60
|
+
const initializationHash = await computeInitializationHash(constructorArtifact, []);
|
|
61
|
+
const instance = {
|
|
62
|
+
version: 1,
|
|
63
|
+
currentContractClassId: contractClass.id,
|
|
64
|
+
originalContractClassId: contractClass.id,
|
|
65
|
+
initializationHash,
|
|
66
|
+
publicKeys: PublicKeys.default(),
|
|
67
|
+
salt,
|
|
68
|
+
deployer
|
|
69
|
+
};
|
|
70
|
+
const address = await computeContractAddressFromInstance(instance);
|
|
71
|
+
return {
|
|
72
|
+
address,
|
|
73
|
+
classId: contractClass.id,
|
|
74
|
+
artifactHash: contractClass.artifactHash,
|
|
75
|
+
privateFunctionsRoot: contractClass.privateFunctionsRoot,
|
|
76
|
+
publicBytecodeCommitment: contractClass.publicBytecodeCommitment,
|
|
77
|
+
initializationHash,
|
|
78
|
+
privateFunctions: contractClass.privateFunctions
|
|
79
|
+
};
|
|
65
80
|
}
|
|
66
81
|
async function generateDeclarationFile(destName) {
|
|
67
82
|
const content = `
|
|
@@ -95,33 +110,68 @@ function generateContractAddresses(names) {
|
|
|
95
110
|
};
|
|
96
111
|
`;
|
|
97
112
|
}
|
|
98
|
-
function
|
|
113
|
+
function generateDerivedAddresses(names, contractData) {
|
|
99
114
|
return `
|
|
100
|
-
export const
|
|
101
|
-
${
|
|
115
|
+
export const ProtocolContractDerivedAddress = {
|
|
116
|
+
${contractData.map((d, i)=>`${names[i]}: AztecAddress.fromString('${d.address.toString()}')`).join(',\n')}
|
|
117
|
+
};
|
|
118
|
+
`;
|
|
119
|
+
}
|
|
120
|
+
function generateClassIdPreimages(names, contractData) {
|
|
121
|
+
return `
|
|
122
|
+
export const ProtocolContractClassId: Record<ProtocolContractName, Fr> = {
|
|
123
|
+
${contractData.map((d, i)=>`${names[i]}: Fr.fromString('${d.classId.toString()}')`).join(',\n')}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export const ProtocolContractClassIdPreimage: Record<ProtocolContractName, { artifactHash: Fr; privateFunctionsRoot: Fr; publicBytecodeCommitment: Fr }> = {
|
|
127
|
+
${contractData.map((d, i)=>`${names[i]}: {
|
|
128
|
+
artifactHash: Fr.fromString('${d.artifactHash.toString()}'),
|
|
129
|
+
privateFunctionsRoot: Fr.fromString('${d.privateFunctionsRoot.toString()}'),
|
|
130
|
+
publicBytecodeCommitment: Fr.fromString('${d.publicBytecodeCommitment.toString()}'),
|
|
131
|
+
}`).join(',\n')}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export const ProtocolContractInitializationHash: Record<ProtocolContractName, Fr> = {
|
|
135
|
+
${contractData.map((d, i)=>`${names[i]}: Fr.fromString('${d.initializationHash.toString()}')`).join(',\n')}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export const ProtocolContractPrivateFunctions: Record<ProtocolContractName, { selector: FunctionSelector; vkHash: Fr }[]> = {
|
|
139
|
+
${contractData.map((d, i)=>`${names[i]}: [${d.privateFunctions.map((fn)=>`{ selector: FunctionSelector.fromField(Fr.fromString('${fn.selector.toField().toString()}')), vkHash: Fr.fromString('${fn.vkHash.toString()}') }`).join(', ')}]`).join(',\n')}
|
|
102
140
|
};
|
|
103
141
|
`;
|
|
104
142
|
}
|
|
105
|
-
async function
|
|
106
|
-
const
|
|
143
|
+
async function generateProtocolContractsList(names, contractData) {
|
|
144
|
+
const list = makeTuple(MAX_PROTOCOL_CONTRACTS, ()=>AztecAddress.zero());
|
|
145
|
+
for(let i = 0; i < names.length; i++){
|
|
146
|
+
const name = names[i];
|
|
147
|
+
const address = contractAddressMapping[name];
|
|
148
|
+
const derivedAddressIndex = address - 1;
|
|
149
|
+
if (!list[derivedAddressIndex].equals(AztecAddress.zero())) {
|
|
150
|
+
throw new Error(`Duplicate protocol contract address: ${address.toString()}`);
|
|
151
|
+
}
|
|
152
|
+
list[derivedAddressIndex] = contractData[i].address;
|
|
153
|
+
}
|
|
107
154
|
return `
|
|
108
|
-
export const
|
|
155
|
+
export const ProtocolContractsList = new ProtocolContracts([
|
|
156
|
+
${list.map((address)=>`AztecAddress.fromString('${address.toString()}')`).join(',\n')}
|
|
157
|
+
]);
|
|
158
|
+
|
|
159
|
+
export const protocolContractsHash = Fr.fromString('${(await new ProtocolContracts(list).hash()).toString()}');
|
|
109
160
|
`;
|
|
110
161
|
}
|
|
111
162
|
// Generate the siloed log tags for events emitted via private logs.
|
|
112
163
|
async function generateLogTags() {
|
|
113
164
|
return `
|
|
114
|
-
export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('${await
|
|
115
|
-
CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS,
|
|
116
|
-
CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE
|
|
117
|
-
])}');
|
|
165
|
+
export const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG = Fr.fromHexString('${await computeSiloedPrivateLogFirstField(new AztecAddress(new Fr(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS)), new Fr(CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE))}');
|
|
118
166
|
`;
|
|
119
167
|
}
|
|
120
|
-
async function generateOutputFile(names,
|
|
168
|
+
async function generateOutputFile(names, contractData) {
|
|
121
169
|
const content = `
|
|
122
170
|
// GENERATED FILE - DO NOT EDIT. RUN \`yarn generate\` or \`yarn generate:data\`
|
|
123
|
-
import { Fr } from '@aztec/foundation/
|
|
171
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
172
|
+
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
124
173
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
174
|
+
import { ProtocolContracts } from '@aztec/stdlib/tx';
|
|
125
175
|
|
|
126
176
|
${generateNames(names)}
|
|
127
177
|
|
|
@@ -129,9 +179,11 @@ async function generateOutputFile(names, leaves) {
|
|
|
129
179
|
|
|
130
180
|
${generateContractAddresses(names)}
|
|
131
181
|
|
|
132
|
-
${
|
|
182
|
+
${generateDerivedAddresses(names, contractData)}
|
|
183
|
+
|
|
184
|
+
${generateClassIdPreimages(names, contractData)}
|
|
133
185
|
|
|
134
|
-
${await
|
|
186
|
+
${await generateProtocolContractsList(names, contractData)}
|
|
135
187
|
|
|
136
188
|
${await generateLogTags()}
|
|
137
189
|
`;
|
|
@@ -140,17 +192,16 @@ async function generateOutputFile(names, leaves) {
|
|
|
140
192
|
async function main() {
|
|
141
193
|
await clearDestDir();
|
|
142
194
|
const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
|
|
143
|
-
const
|
|
195
|
+
const contractDataList = [];
|
|
144
196
|
const destNames = srcNames.map((n)=>n.split('-')[1]);
|
|
145
197
|
for(let i = 0; i < srcNames.length; i++){
|
|
146
198
|
const srcName = srcNames[i];
|
|
147
199
|
const destName = destNames[i];
|
|
148
200
|
const artifact = await copyArtifact(srcName, destName);
|
|
149
201
|
await generateDeclarationFile(destName);
|
|
150
|
-
|
|
151
|
-
leaves.push(contractLeaf.toField());
|
|
202
|
+
contractDataList.push(await computeContractData(artifact, AztecAddress.fromBigInt(BigInt(contractAddressMapping[destName]))));
|
|
152
203
|
}
|
|
153
|
-
await generateOutputFile(destNames,
|
|
204
|
+
await generateOutputFile(destNames, contractDataList);
|
|
154
205
|
}
|
|
155
206
|
try {
|
|
156
207
|
await main();
|
package/dest/tests/fixtures.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export declare function getSamplePrivateFunctionBroadcastedEventPayload(): Buffe
|
|
|
3
3
|
export declare function getSampleUtilityFunctionBroadcastedEventPayload(): Buffer;
|
|
4
4
|
export declare function getSampleContractInstancePublishedEventPayload(): Buffer;
|
|
5
5
|
export declare function getPathToFixture(name: string): string;
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSx3QkFBZ0IsMkNBQTJDLElBQUksTUFBTSxDQUdwRTtBQUdELHdCQUFnQiwrQ0FBK0MsSUFBSSxNQUFNLENBR3hFO0FBR0Qsd0JBQWdCLCtDQUErQyxJQUFJLE1BQU0sQ0FHeEU7QUFHRCx3QkFBZ0IsOENBQThDLElBQUksTUFBTSxDQUd2RTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxVQUU1QyJ9
|