@aztec/protocol-contracts 0.0.1-commit.a072138 → 0.0.1-commit.a4600f49
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/ContractClassRegistry.json +2608 -4410
- package/artifacts/ContractInstanceRegistry.json +3511 -936
- package/artifacts/FeeJuice.json +3868 -941
- package/dest/class-registry/contract_class_published_event.d.ts +6 -3
- package/dest/class-registry/contract_class_published_event.d.ts.map +1 -1
- package/dest/class-registry/contract_class_published_event.js +17 -17
- package/dest/class-registry/index.d.ts +1 -3
- package/dest/class-registry/index.d.ts.map +1 -1
- package/dest/class-registry/index.js +3 -5
- package/dest/class-registry/lazy.d.ts +1 -3
- package/dest/class-registry/lazy.d.ts.map +1 -1
- package/dest/class-registry/lazy.js +2 -4
- package/dest/fee-juice/index.d.ts +1 -1
- package/dest/fee-juice/index.d.ts.map +1 -1
- package/dest/fee-juice/index.js +3 -3
- package/dest/fee-juice/lazy.js +2 -2
- 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 +7 -3
- 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.js +2 -2
- 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 +30 -14
- package/dest/protocol_contract.d.ts +4 -1
- package/dest/protocol_contract.d.ts.map +1 -1
- package/dest/protocol_contract.js +5 -1
- package/dest/protocol_contract_data.d.ts +14 -5
- package/dest/protocol_contract_data.d.ts.map +1 -1
- package/dest/protocol_contract_data.js +73 -33
- package/dest/provider/bundle.d.ts +1 -1
- package/dest/provider/bundle.d.ts.map +1 -1
- package/dest/provider/bundle.js +2 -8
- package/dest/provider/lazy.d.ts +1 -1
- package/dest/provider/lazy.d.ts.map +1 -1
- package/dest/provider/lazy.js +0 -9
- package/dest/scripts/generate_data.js +75 -28
- package/dest/tests/fixtures.d.ts +1 -3
- package/dest/tests/fixtures.d.ts.map +1 -1
- package/dest/tests/fixtures.js +2 -12
- package/package.json +4 -4
- package/src/class-registry/contract_class_published_event.ts +16 -22
- package/src/class-registry/index.ts +3 -5
- package/src/class-registry/lazy.ts +2 -4
- package/src/fee-juice/index.ts +3 -3
- package/src/fee-juice/lazy.ts +2 -2
- package/src/instance-registry/contract_instance_published_event.ts +5 -1
- package/src/instance-registry/index.ts +3 -3
- package/src/instance-registry/lazy.ts +2 -2
- package/src/make_protocol_contract.ts +39 -15
- package/src/protocol_contract.ts +9 -1
- package/src/protocol_contract_data.ts +62 -35
- package/src/provider/bundle.ts +1 -7
- package/src/provider/lazy.ts +0 -9
- package/src/tests/fixtures.ts +2 -14
- package/artifacts/AuthRegistry.d.json.ts +0 -5
- package/artifacts/AuthRegistry.json +0 -2764
- package/artifacts/MultiCallEntrypoint.d.json.ts +0 -5
- package/artifacts/MultiCallEntrypoint.json +0 -2759
- package/artifacts/PublicChecks.d.json.ts +0 -5
- package/artifacts/PublicChecks.json +0 -970
- package/dest/auth-registry/index.d.ts +0 -6
- package/dest/auth-registry/index.d.ts.map +0 -1
- package/dest/auth-registry/index.js +0 -13
- package/dest/auth-registry/lazy.d.ts +0 -6
- package/dest/auth-registry/lazy.d.ts.map +0 -1
- package/dest/auth-registry/lazy.js +0 -23
- package/dest/class-registry/private_function_broadcasted_event.d.ts +0 -44
- package/dest/class-registry/private_function_broadcasted_event.d.ts.map +0 -1
- package/dest/class-registry/private_function_broadcasted_event.js +0 -85
- package/dest/class-registry/utility_function_broadcasted_event.d.ts +0 -38
- package/dest/class-registry/utility_function_broadcasted_event.d.ts.map +0 -1
- package/dest/class-registry/utility_function_broadcasted_event.js +0 -81
- package/dest/multi-call-entrypoint/index.d.ts +0 -5
- package/dest/multi-call-entrypoint/index.d.ts.map +0 -1
- package/dest/multi-call-entrypoint/index.js +0 -13
- package/dest/multi-call-entrypoint/lazy.d.ts +0 -6
- package/dest/multi-call-entrypoint/lazy.d.ts.map +0 -1
- package/dest/multi-call-entrypoint/lazy.js +0 -23
- package/dest/public-checks/index.d.ts +0 -5
- package/dest/public-checks/index.d.ts.map +0 -1
- package/dest/public-checks/index.js +0 -13
- package/dest/public-checks/lazy.d.ts +0 -6
- package/dest/public-checks/lazy.d.ts.map +0 -1
- package/dest/public-checks/lazy.js +0 -23
- package/src/auth-registry/index.ts +0 -18
- package/src/auth-registry/lazy.ts +0 -29
- package/src/class-registry/private_function_broadcasted_event.ts +0 -109
- package/src/class-registry/utility_function_broadcasted_event.ts +0 -103
- package/src/multi-call-entrypoint/index.ts +0 -18
- package/src/multi-call-entrypoint/lazy.ts +0 -29
- package/src/public-checks/index.ts +0 -18
- package/src/public-checks/lazy.ts +0 -29
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { type ContractClassPublic } from '@aztec/stdlib/contract';
|
|
2
|
+
import { type ContractClassPublic, type ContractClassPublicWithCommitment } from '@aztec/stdlib/contract';
|
|
3
3
|
import type { ContractClassLog } from '@aztec/stdlib/logs';
|
|
4
4
|
/** Event emitted from the ContractClassRegistry. */
|
|
5
5
|
export declare class ContractClassPublishedEvent {
|
|
@@ -11,7 +11,10 @@ export declare class ContractClassPublishedEvent {
|
|
|
11
11
|
constructor(contractClassId: Fr, version: number, artifactHash: Fr, privateFunctionsRoot: Fr, packedPublicBytecode: Buffer);
|
|
12
12
|
static isContractClassPublishedEvent(log: ContractClassLog): boolean;
|
|
13
13
|
static fromLog(log: ContractClassLog): ContractClassPublishedEvent;
|
|
14
|
-
|
|
14
|
+
/** Converts the event to a contract class, without computing or validating the bytecode commitment. */
|
|
15
|
+
toContractClassPublic(): ContractClassPublic;
|
|
16
|
+
/** Converts the event to a contract class with its bytecode commitment (expensive). */
|
|
17
|
+
toContractClassPublicWithBytecodeCommitment(): Promise<ContractClassPublicWithCommitment>;
|
|
15
18
|
static extractContractClassEvents(logs: ContractClassLog[]): ContractClassPublishedEvent[];
|
|
16
19
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3MtcmVnaXN0cnkvY29udHJhY3RfY2xhc3NfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxpQ0FBaUMsRUFFdkMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTNELG9EQUFvRDtBQUNwRCxxQkFBYSwyQkFBMkI7YUFFcEIsZUFBZSxFQUFFLEVBQUU7YUFDbkIsT0FBTyxFQUFFLE1BQU07YUFDZixZQUFZLEVBQUUsRUFBRTthQUNoQixvQkFBb0IsRUFBRSxFQUFFO2FBQ3hCLG9CQUFvQixFQUFFLE1BQU07SUFMOUMsWUFDa0IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixZQUFZLEVBQUUsRUFBRSxFQUNoQixvQkFBb0IsRUFBRSxFQUFFLEVBQ3hCLG9CQUFvQixFQUFFLE1BQU0sRUFDMUM7SUFFSixNQUFNLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLGdCQUFnQixXQUt6RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGdCQUFnQiwrQkFzQm5DO0lBRUQsdUdBQXVHO0lBQ3ZHLHFCQUFxQixJQUFJLG1CQUFtQixDQVEzQztJQUVELHVGQUF1RjtJQUNqRiwyQ0FBMkMsSUFBSSxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FHOUY7SUFFRCxPQUFjLDBCQUEwQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDJCQUEyQixFQUFFLENBSWhHO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_class_published_event.d.ts","sourceRoot":"","sources":["../../src/class-registry/contract_class_published_event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"contract_class_published_event.d.ts","sourceRoot":"","sources":["../../src/class-registry/contract_class_published_event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EAEvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,oDAAoD;AACpD,qBAAa,2BAA2B;aAEpB,eAAe,EAAE,EAAE;aACnB,OAAO,EAAE,MAAM;aACf,YAAY,EAAE,EAAE;aAChB,oBAAoB,EAAE,EAAE;aACxB,oBAAoB,EAAE,MAAM;IAL9C,YACkB,eAAe,EAAE,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,oBAAoB,EAAE,MAAM,EAC1C;IAEJ,MAAM,CAAC,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,WAKzD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,+BAsBnC;IAED,uGAAuG;IACvG,qBAAqB,IAAI,mBAAmB,CAQ3C;IAED,uFAAuF;IACjF,2CAA2C,IAAI,OAAO,CAAC,iCAAiC,CAAC,CAG9F;IAED,OAAc,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,2BAA2B,EAAE,CAIhG;CACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { FieldReader } from '@aztec/foundation/serialize';
|
|
3
4
|
import { bufferFromFields } from '@aztec/stdlib/abi';
|
|
4
|
-
import {
|
|
5
|
+
import { computePublicBytecodeCommitment } from '@aztec/stdlib/contract';
|
|
5
6
|
import { ProtocolContractAddress } from '../protocol_contract_data.js';
|
|
6
7
|
/** Event emitted from the ContractClassRegistry. */ export class ContractClassPublishedEvent {
|
|
7
8
|
contractClassId;
|
|
@@ -27,29 +28,28 @@ import { ProtocolContractAddress } from '../protocol_contract_data.js';
|
|
|
27
28
|
const version = reader.readField().toNumber();
|
|
28
29
|
const artifactHash = reader.readField();
|
|
29
30
|
const privateFunctionsRoot = reader.readField();
|
|
30
|
-
const
|
|
31
|
+
const bytecodeFields = reader.readFieldArray(fieldsWithoutTag.length - reader.cursor);
|
|
32
|
+
// The fixed-size class log can hold at most this many packed-bytecode bytes (every payload field
|
|
33
|
+
// carries 31 bytes). Bound the declared length to it so a malformed log can't declare a multi-MiB
|
|
34
|
+
// length backed by a tiny payload and force a large allocation during early (pre-proof) validation.
|
|
35
|
+
const maxByteLength = (bytecodeFields.length - 1) * (Fr.SIZE_IN_BYTES - 1);
|
|
36
|
+
const packedPublicBytecode = bufferFromFields(bytecodeFields, maxByteLength);
|
|
31
37
|
return new ContractClassPublishedEvent(contractClassId, version, artifactHash, privateFunctionsRoot, packedPublicBytecode);
|
|
32
38
|
}
|
|
33
|
-
|
|
34
|
-
const computedClassId = await computeContractClassId({
|
|
35
|
-
artifactHash: this.artifactHash,
|
|
36
|
-
privateFunctionsRoot: this.privateFunctionsRoot,
|
|
37
|
-
publicBytecodeCommitment: await computePublicBytecodeCommitment(this.packedPublicBytecode)
|
|
38
|
-
});
|
|
39
|
-
if (!computedClassId.equals(this.contractClassId)) {
|
|
40
|
-
throw new Error(`Invalid contract class id: computed ${computedClassId.toString()} but event broadcasted ${this.contractClassId.toString()}`);
|
|
41
|
-
}
|
|
42
|
-
if (this.version !== 1) {
|
|
43
|
-
throw new Error(`Unexpected contract class version ${this.version}`);
|
|
44
|
-
}
|
|
39
|
+
/** Converts the event to a contract class, without computing or validating the bytecode commitment. */ toContractClassPublic() {
|
|
45
40
|
return {
|
|
46
41
|
id: this.contractClassId,
|
|
47
42
|
artifactHash: this.artifactHash,
|
|
48
43
|
packedBytecode: this.packedPublicBytecode,
|
|
49
44
|
privateFunctionsRoot: this.privateFunctionsRoot,
|
|
50
|
-
version: this.version
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
version: this.version
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** Converts the event to a contract class with its bytecode commitment (expensive). */ async toContractClassPublicWithBytecodeCommitment() {
|
|
49
|
+
const publicBytecodeCommitment = await computePublicBytecodeCommitment(this.packedPublicBytecode);
|
|
50
|
+
return {
|
|
51
|
+
...this.toContractClassPublic(),
|
|
52
|
+
publicBytecodeCommitment
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
static extractContractClassEvents(logs) {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { ProtocolContract } from '../protocol_contract.js';
|
|
2
2
|
export * from './contract_class_published_event.js';
|
|
3
|
-
export * from './private_function_broadcasted_event.js';
|
|
4
|
-
export * from './utility_function_broadcasted_event.js';
|
|
5
3
|
export declare const ContractClassRegistryArtifact: import("@aztec/stdlib/abi").ContractArtifact;
|
|
6
4
|
/** Returns the canonical deployment of the contract. */
|
|
7
5
|
export declare function getCanonicalClassRegistry(): Promise<ProtocolContract>;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGFzcy1yZWdpc3RyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsZUFBTyxNQUFNLDZCQUE2Qiw4Q0FBMEUsQ0FBQztBQUlySCx3REFBd0Q7QUFDeEQsd0JBQWdCLHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU1yRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/class-registry/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/class-registry/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AAEpD,eAAO,MAAM,6BAA6B,8CAA0E,CAAC;AAIrH,wDAAwD;AACxD,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAMrE"}
|
|
@@ -4,14 +4,12 @@ import ContractClassRegistryJson from '../../artifacts/ContractClassRegistry.jso
|
|
|
4
4
|
};
|
|
5
5
|
import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
6
6
|
export * from './contract_class_published_event.js';
|
|
7
|
-
export * from './private_function_broadcasted_event.js';
|
|
8
|
-
export * from './utility_function_broadcasted_event.js';
|
|
9
7
|
export const ContractClassRegistryArtifact = loadContractArtifact(ContractClassRegistryJson);
|
|
10
8
|
let protocolContract;
|
|
11
|
-
/** Returns the canonical deployment of the contract. */ export
|
|
9
|
+
/** Returns the canonical deployment of the contract. */ export function getCanonicalClassRegistry() {
|
|
12
10
|
if (!protocolContract) {
|
|
13
11
|
const artifact = ContractClassRegistryArtifact;
|
|
14
|
-
protocolContract =
|
|
12
|
+
protocolContract = makeProtocolContract('ContractClassRegistry', artifact);
|
|
15
13
|
}
|
|
16
|
-
return protocolContract;
|
|
14
|
+
return Promise.resolve(protocolContract);
|
|
17
15
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
2
2
|
import type { ProtocolContract } from '../protocol_contract.js';
|
|
3
3
|
export * from './contract_class_published_event.js';
|
|
4
|
-
export * from './private_function_broadcasted_event.js';
|
|
5
|
-
export * from './utility_function_broadcasted_event.js';
|
|
6
4
|
export declare function getContractClassRegistryArtifact(): Promise<ContractArtifact>;
|
|
7
5
|
/** Returns the canonical deployment of the auth registry. */
|
|
8
6
|
export declare function getCanonicalClassRegistry(): Promise<ProtocolContract>;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsYXNzLXJlZ2lzdHJ5L2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFHaEYsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRSxjQUFjLHFDQUFxQyxDQUFDO0FBS3BELHdCQUFzQixnQ0FBZ0MsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FXbEY7QUFFRCw2REFBNkQ7QUFDN0Qsd0JBQXNCLHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU0zRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/class-registry/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/class-registry/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AAKpD,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAWlF;AAED,6DAA6D;AAC7D,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAM3E"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { loadContractArtifact } from '@aztec/stdlib/abi';
|
|
2
2
|
import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
3
3
|
export * from './contract_class_published_event.js';
|
|
4
|
-
export * from './private_function_broadcasted_event.js';
|
|
5
|
-
export * from './utility_function_broadcasted_event.js';
|
|
6
4
|
let protocolContract;
|
|
7
5
|
let protocolContractArtifact;
|
|
8
6
|
export async function getContractClassRegistryArtifact() {
|
|
9
7
|
if (!protocolContractArtifact) {
|
|
10
8
|
// Cannot assert this import as it's incompatible with bundlers like vite
|
|
11
9
|
// https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
|
|
12
|
-
// Even if now supported by
|
|
10
|
+
// Even if now supported by all major browsers, the MIME type is replaced with
|
|
13
11
|
// "text/javascript"
|
|
14
12
|
// In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
|
|
15
13
|
const { default: contractClassRegistryJson } = await import('../../artifacts/ContractClassRegistry.json');
|
|
@@ -20,7 +18,7 @@ export async function getContractClassRegistryArtifact() {
|
|
|
20
18
|
/** Returns the canonical deployment of the auth registry. */ export async function getCanonicalClassRegistry() {
|
|
21
19
|
if (!protocolContract) {
|
|
22
20
|
const contractClassRegistryArtifact = await getContractClassRegistryArtifact();
|
|
23
|
-
protocolContract =
|
|
21
|
+
protocolContract = makeProtocolContract('ContractClassRegistry', contractClassRegistryArtifact);
|
|
24
22
|
}
|
|
25
23
|
return protocolContract;
|
|
26
24
|
}
|
|
@@ -12,4 +12,4 @@ export declare function computeFeePayerBalanceStorageSlot(feePayer: AztecAddress
|
|
|
12
12
|
* Computes the leaf slot in the public data tree for the balance of the fee payer in the Fee Juice.
|
|
13
13
|
*/
|
|
14
14
|
export declare function computeFeePayerBalanceLeafSlot(feePayer: AztecAddress): Promise<Fr>;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUtanVpY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNaEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdoRSxlQUFPLE1BQU0sZ0JBQWdCLDhDQUE2RCxDQUFDO0FBSTNGLHdEQUF3RDtBQUN4RCx3QkFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBS2hFO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsaUNBQWlDLENBQUMsUUFBUSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXJGO0FBRUQ7O0dBRUc7QUFDSCx3QkFBc0IsOEJBQThCLENBQUMsUUFBUSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBR3hGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fee-juice/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAMhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,eAAO,MAAM,gBAAgB,8CAA6D,CAAC;AAI3F,wDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fee-juice/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAMhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,eAAO,MAAM,gBAAgB,8CAA6D,CAAC;AAI3F,wDAAwD;AACxD,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKhE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAErF;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAGxF"}
|
package/dest/fee-juice/index.js
CHANGED
|
@@ -7,11 +7,11 @@ import { makeProtocolContract } from '../make_protocol_contract.js';
|
|
|
7
7
|
import { ProtocolContractAddress } from '../protocol_contract_data.js';
|
|
8
8
|
export const FeeJuiceArtifact = loadContractArtifact(FeeJuiceJson);
|
|
9
9
|
let protocolContract;
|
|
10
|
-
/** Returns the canonical deployment of the contract. */ export
|
|
10
|
+
/** Returns the canonical deployment of the contract. */ export function getCanonicalFeeJuice() {
|
|
11
11
|
if (!protocolContract) {
|
|
12
|
-
protocolContract =
|
|
12
|
+
protocolContract = makeProtocolContract('FeeJuice', FeeJuiceArtifact);
|
|
13
13
|
}
|
|
14
|
-
return protocolContract;
|
|
14
|
+
return Promise.resolve(protocolContract);
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Computes the storage slot within the Fee Juice contract for the balance of the fee payer.
|
package/dest/fee-juice/lazy.js
CHANGED
|
@@ -6,7 +6,7 @@ export async function getFeeJuiceArtifact() {
|
|
|
6
6
|
if (!protocolContractArtifact) {
|
|
7
7
|
// Cannot assert this import as it's incompatible with bundlers like vite
|
|
8
8
|
// https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
|
|
9
|
-
// Even if now supported by
|
|
9
|
+
// Even if now supported by all major browsers, the MIME type is replaced with
|
|
10
10
|
// "text/javascript"
|
|
11
11
|
// In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
|
|
12
12
|
const { default: feeJuiceJson } = await import('../../artifacts/FeeJuice.json');
|
|
@@ -17,7 +17,7 @@ export async function getFeeJuiceArtifact() {
|
|
|
17
17
|
/** Returns the canonical deployment of the auth registry. */ export async function getCanonicalFeeJuice() {
|
|
18
18
|
if (!protocolContract) {
|
|
19
19
|
const feeJuiceArtifact = await getFeeJuiceArtifact();
|
|
20
|
-
protocolContract =
|
|
20
|
+
protocolContract = makeProtocolContract('FeeJuice', feeJuiceArtifact);
|
|
21
21
|
}
|
|
22
22
|
return protocolContract;
|
|
23
23
|
}
|
|
@@ -10,12 +10,13 @@ export declare class ContractInstancePublishedEvent {
|
|
|
10
10
|
readonly salt: Fr;
|
|
11
11
|
readonly contractClassId: Fr;
|
|
12
12
|
readonly initializationHash: Fr;
|
|
13
|
+
readonly immutablesHash: Fr;
|
|
13
14
|
readonly publicKeys: PublicKeys;
|
|
14
15
|
readonly deployer: AztecAddress;
|
|
15
|
-
constructor(address: AztecAddress, version: number, salt: Fr, contractClassId: Fr, initializationHash: Fr, publicKeys: PublicKeys, deployer: AztecAddress);
|
|
16
|
+
constructor(address: AztecAddress, version: number, salt: Fr, contractClassId: Fr, initializationHash: Fr, immutablesHash: Fr, publicKeys: PublicKeys, deployer: AztecAddress);
|
|
16
17
|
static isContractInstancePublishedEvent(log: PrivateLog): boolean;
|
|
17
18
|
static fromLog(log: PrivateLog): ContractInstancePublishedEvent;
|
|
18
19
|
toContractInstance(): ContractInstanceWithAddress;
|
|
19
20
|
static extractContractInstanceEvents(logs: PrivateLog[]): ContractInstancePublishedEvent[];
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5zdGFuY2UtcmVnaXN0cnkvY29udHJhY3RfaW5zdGFuY2VfcHVibGlzaGVkX2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJckQsdURBQXVEO0FBQ3ZELHFCQUFhLDhCQUE4QjthQUV2QixPQUFPLEVBQUUsWUFBWTthQUNyQixPQUFPLEVBQUUsTUFBTTthQUNmLElBQUksRUFBRSxFQUFFO2FBQ1IsZUFBZSxFQUFFLEVBQUU7YUFDbkIsa0JBQWtCLEVBQUUsRUFBRTthQUN0QixjQUFjLEVBQUUsRUFBRTthQUNsQixVQUFVLEVBQUUsVUFBVTthQUN0QixRQUFRLEVBQUUsWUFBWTtJQVJ4QyxZQUNrQixPQUFPLEVBQUUsWUFBWSxFQUNyQixPQUFPLEVBQUUsTUFBTSxFQUNmLElBQUksRUFBRSxFQUFFLEVBQ1IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixjQUFjLEVBQUUsRUFBRSxFQUNsQixVQUFVLEVBQUUsVUFBVSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUNwQztJQUVKLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUV0RDtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsa0NBc0I3QjtJQUVELGtCQUFrQixJQUFJLDJCQUEyQixDQWdCaEQ7SUFFRCxPQUFjLDZCQUE2QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyw4QkFBOEIsRUFBRSxDQUloRztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_instance_published_event.d.ts","sourceRoot":"","sources":["../../src/instance-registry/contract_instance_published_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,uDAAuD;AACvD,qBAAa,8BAA8B;aAEvB,OAAO,EAAE,YAAY;aACrB,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,EAAE;aACR,eAAe,EAAE,EAAE;aACnB,kBAAkB,EAAE,EAAE;aACtB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"contract_instance_published_event.d.ts","sourceRoot":"","sources":["../../src/instance-registry/contract_instance_published_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,uDAAuD;AACvD,qBAAa,8BAA8B;aAEvB,OAAO,EAAE,YAAY;aACrB,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,EAAE;aACR,eAAe,EAAE,EAAE;aACnB,kBAAkB,EAAE,EAAE;aACtB,cAAc,EAAE,EAAE;aAClB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,YAAY;IARxC,YACkB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,EAAE,EACnB,kBAAkB,EAAE,EAAE,EACtB,cAAc,EAAE,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,EACpC;IAEJ,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,UAAU,WAEtD;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,kCAsB7B;IAED,kBAAkB,IAAI,2BAA2B,CAgBhD;IAED,OAAc,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,8BAA8B,EAAE,CAIhG;CACF"}
|
|
@@ -9,14 +9,16 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
|
|
|
9
9
|
salt;
|
|
10
10
|
contractClassId;
|
|
11
11
|
initializationHash;
|
|
12
|
+
immutablesHash;
|
|
12
13
|
publicKeys;
|
|
13
14
|
deployer;
|
|
14
|
-
constructor(address, version, salt, contractClassId, initializationHash, publicKeys, deployer){
|
|
15
|
+
constructor(address, version, salt, contractClassId, initializationHash, immutablesHash, publicKeys, deployer){
|
|
15
16
|
this.address = address;
|
|
16
17
|
this.version = version;
|
|
17
18
|
this.salt = salt;
|
|
18
19
|
this.contractClassId = contractClassId;
|
|
19
20
|
this.initializationHash = initializationHash;
|
|
21
|
+
this.immutablesHash = immutablesHash;
|
|
20
22
|
this.publicKeys = publicKeys;
|
|
21
23
|
this.deployer = deployer;
|
|
22
24
|
}
|
|
@@ -31,12 +33,13 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
|
|
|
31
33
|
const salt = reader.readObject(Fr);
|
|
32
34
|
const contractClassId = reader.readObject(Fr);
|
|
33
35
|
const initializationHash = reader.readObject(Fr);
|
|
36
|
+
const immutablesHash = reader.readObject(Fr);
|
|
34
37
|
const publicKeys = reader.readObject(PublicKeys);
|
|
35
38
|
const deployer = reader.readObject(AztecAddress);
|
|
36
|
-
return new ContractInstancePublishedEvent(address, version, salt, contractClassId, initializationHash, publicKeys, deployer);
|
|
39
|
+
return new ContractInstancePublishedEvent(address, version, salt, contractClassId, initializationHash, immutablesHash, publicKeys, deployer);
|
|
37
40
|
}
|
|
38
41
|
toContractInstance() {
|
|
39
|
-
if (this.version !==
|
|
42
|
+
if (this.version !== 2) {
|
|
40
43
|
throw new Error(`Unexpected contract instance version ${this.version}`);
|
|
41
44
|
}
|
|
42
45
|
return {
|
|
@@ -45,6 +48,7 @@ import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '../protocol_contract_data
|
|
|
45
48
|
currentContractClassId: this.contractClassId,
|
|
46
49
|
originalContractClassId: this.contractClassId,
|
|
47
50
|
initializationHash: this.initializationHash,
|
|
51
|
+
immutablesHash: this.immutablesHash,
|
|
48
52
|
publicKeys: this.publicKeys,
|
|
49
53
|
salt: this.salt,
|
|
50
54
|
deployer: this.deployer
|
|
@@ -4,4 +4,4 @@ export * from './contract_instance_updated_event.js';
|
|
|
4
4
|
export declare const ContractInstanceRegistryArtifact: import("@aztec/stdlib/abi").ContractArtifact;
|
|
5
5
|
/** Returns the canonical deployment of the contract. */
|
|
6
6
|
export declare function getCanonicalInstanceRegistry(): Promise<ProtocolContract>;
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnN0YW5jZS1yZWdpc3RyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxlQUFPLE1BQU0sZ0NBQWdDLDhDQUU1QyxDQUFDO0FBSUYsd0RBQXdEO0FBQ3hELHdCQUFnQiw0QkFBNEIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FLeEUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instance-registry/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAErD,eAAO,MAAM,gCAAgC,8CAE5C,CAAC;AAIF,wDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instance-registry/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAErD,eAAO,MAAM,gCAAgC,8CAE5C,CAAC;AAIF,wDAAwD;AACxD,wBAAgB,4BAA4B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAKxE"}
|
|
@@ -7,9 +7,9 @@ export * from './contract_instance_published_event.js';
|
|
|
7
7
|
export * from './contract_instance_updated_event.js';
|
|
8
8
|
export const ContractInstanceRegistryArtifact = loadContractArtifact(ContractInstanceRegistryJson);
|
|
9
9
|
let protocolContract;
|
|
10
|
-
/** Returns the canonical deployment of the contract. */ export
|
|
10
|
+
/** Returns the canonical deployment of the contract. */ export function getCanonicalInstanceRegistry() {
|
|
11
11
|
if (!protocolContract) {
|
|
12
|
-
protocolContract =
|
|
12
|
+
protocolContract = makeProtocolContract('ContractInstanceRegistry', ContractInstanceRegistryArtifact);
|
|
13
13
|
}
|
|
14
|
-
return protocolContract;
|
|
14
|
+
return Promise.resolve(protocolContract);
|
|
15
15
|
}
|
|
@@ -8,7 +8,7 @@ export async function getContractInstanceRegistryArtifact() {
|
|
|
8
8
|
if (!protocolContractArtifact) {
|
|
9
9
|
// Cannot assert this import as it's incompatible with bundlers like vite
|
|
10
10
|
// https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
|
|
11
|
-
// Even if now supported by
|
|
11
|
+
// Even if now supported by all major browsers, the MIME type is replaced with
|
|
12
12
|
// "text/javascript"
|
|
13
13
|
// In the meantime, this lazy import is INCOMPATIBLE WITH NODEJS
|
|
14
14
|
const { default: contractInstanceRegistryJson } = await import('../../artifacts/ContractInstanceRegistry.json');
|
|
@@ -19,7 +19,7 @@ export async function getContractInstanceRegistryArtifact() {
|
|
|
19
19
|
/** Returns the canonical deployment of the auth registry. */ export async function getCanonicalInstanceRegistry() {
|
|
20
20
|
if (!protocolContract) {
|
|
21
21
|
const contractInstanceRegistryArtifact = await getContractInstanceRegistryArtifact();
|
|
22
|
-
protocolContract =
|
|
22
|
+
protocolContract = makeProtocolContract('ContractInstanceRegistry', contractInstanceRegistryArtifact);
|
|
23
23
|
}
|
|
24
24
|
return protocolContract;
|
|
25
25
|
}
|
|
@@ -2,8 +2,8 @@ import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
|
2
2
|
import type { ProtocolContract } from './protocol_contract.js';
|
|
3
3
|
import { type ProtocolContractName } from './protocol_contract_data.js';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Reconstructs a ProtocolContract from precomputed data without performing any hash computations.
|
|
6
|
+
* Internal to the protocol-contracts package — not part of the public API.
|
|
7
7
|
*/
|
|
8
|
-
export declare function makeProtocolContract(name: ProtocolContractName, artifact: ContractArtifact):
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
export declare function makeProtocolContract(name: ProtocolContractName, artifact: ContractArtifact): ProtocolContract;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm90b2NvbF9jb250cmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ha2VfcHJvdG9jb2xfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFLTCxLQUFLLG9CQUFvQixFQUcxQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDOzs7R0FHRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQThCN0cifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make_protocol_contract.d.ts","sourceRoot":"","sources":["../src/make_protocol_contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make_protocol_contract.d.ts","sourceRoot":"","sources":["../src/make_protocol_contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAKL,KAAK,oBAAoB,EAG1B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CA8B7G"}
|
|
@@ -1,21 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
3
|
+
import { ProtocolContractAddress, ProtocolContractClassId, ProtocolContractClassIdPreimage, ProtocolContractInitializationHash, ProtocolContractPrivateFunctions, ProtocolContractSalt } from './protocol_contract_data.js';
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*/ export
|
|
5
|
+
* Reconstructs a ProtocolContract from precomputed data without performing any hash computations.
|
|
6
|
+
* Internal to the protocol-contracts package — not part of the public API.
|
|
7
|
+
*/ export function makeProtocolContract(name, artifact) {
|
|
7
8
|
const address = ProtocolContractAddress[name];
|
|
8
9
|
const salt = ProtocolContractSalt[name];
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const classId = ProtocolContractClassId[name];
|
|
11
|
+
const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment } = ProtocolContractClassIdPreimage[name];
|
|
12
|
+
const initializationHash = ProtocolContractInitializationHash[name];
|
|
13
|
+
const contractClass = {
|
|
14
|
+
id: classId,
|
|
15
|
+
version: 1,
|
|
16
|
+
artifactHash,
|
|
17
|
+
privateFunctionsRoot,
|
|
18
|
+
publicBytecodeCommitment,
|
|
19
|
+
packedBytecode: artifact.functions.find((f)=>f.name === 'public_dispatch')?.bytecode ?? Buffer.alloc(0),
|
|
20
|
+
privateFunctions: ProtocolContractPrivateFunctions[name]
|
|
21
|
+
};
|
|
22
|
+
const instance = {
|
|
23
|
+
version: 2,
|
|
24
|
+
currentContractClassId: classId,
|
|
25
|
+
originalContractClassId: classId,
|
|
26
|
+
initializationHash,
|
|
27
|
+
immutablesHash: Fr.ZERO,
|
|
28
|
+
publicKeys: PublicKeys.default(),
|
|
29
|
+
salt,
|
|
30
|
+
deployer: address,
|
|
31
|
+
address
|
|
32
|
+
};
|
|
14
33
|
return {
|
|
15
|
-
instance
|
|
16
|
-
...instance,
|
|
17
|
-
address
|
|
18
|
-
},
|
|
34
|
+
instance,
|
|
19
35
|
contractClass,
|
|
20
36
|
artifact,
|
|
21
37
|
address
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
2
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
4
|
import type { ContractClassIdPreimage, ContractClassWithId, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -13,5 +14,7 @@ export interface ProtocolContract {
|
|
|
13
14
|
address: AztecAddress;
|
|
14
15
|
}
|
|
15
16
|
export declare function isProtocolContract(address: AztecAddress): boolean;
|
|
17
|
+
/** Returns whether the given contract class id belongs to a bundled protocol contract. */
|
|
18
|
+
export declare function isProtocolContractClass(classId: Fr): boolean;
|
|
16
19
|
export { type ProtocolContractsProvider } from './provider/protocol_contracts_provider.js';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm90b2NvbF9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEgsdURBQXVEO0FBQ3ZELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsbUNBQW1DO0lBQ25DLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztJQUN0Qyx1Q0FBdUM7SUFDdkMsYUFBYSxFQUFFLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDO0lBQzdELGtDQUFrQztJQUNsQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0Isc0RBQXNEO0lBQ3RELE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksV0FFdkQ7QUFJRCwwRkFBMEY7QUFDMUYsd0JBQWdCLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUU1RDtBQUVELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol_contract.d.ts","sourceRoot":"","sources":["../src/protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAIxH,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,uCAAuC;IACvC,aAAa,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC7D,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,WAEvD;AAED,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"protocol_contract.d.ts","sourceRoot":"","sources":["../src/protocol_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAIxH,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,uCAAuC;IACvC,aAAa,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC7D,kCAAkC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,WAEvD;AAID,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAE5D;AAED,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { ProtocolContractAddress } from './protocol_contract_data.js';
|
|
1
|
+
import { ProtocolContractAddress, ProtocolContractClassId } from './protocol_contract_data.js';
|
|
2
2
|
export function isProtocolContract(address) {
|
|
3
3
|
return Object.values(ProtocolContractAddress).some((a)=>a.equals(address));
|
|
4
4
|
}
|
|
5
|
+
const protocolContractClassIds = new Set(Object.values(ProtocolContractClassId).map((id)=>id.toString()));
|
|
6
|
+
/** Returns whether the given contract class id belongs to a bundled protocol contract. */ export function isProtocolContractClass(classId) {
|
|
7
|
+
return protocolContractClassIds.has(classId.toString());
|
|
8
|
+
}
|
|
@@ -1,19 +1,28 @@
|
|
|
1
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';
|
|
4
|
-
export declare const protocolContractNames: readonly ["
|
|
5
|
+
export declare const protocolContractNames: readonly ["ContractInstanceRegistry", "ContractClassRegistry", "FeeJuice"];
|
|
5
6
|
export type ProtocolContractName = typeof protocolContractNames[number];
|
|
6
7
|
export declare const ProtocolContractSalt: Record<ProtocolContractName, Fr>;
|
|
7
8
|
export declare const ProtocolContractAddress: Record<ProtocolContractName, AztecAddress>;
|
|
8
9
|
export declare const ProtocolContractDerivedAddress: {
|
|
9
|
-
AuthRegistry: AztecAddress;
|
|
10
10
|
ContractInstanceRegistry: AztecAddress;
|
|
11
11
|
ContractClassRegistry: AztecAddress;
|
|
12
|
-
MultiCallEntrypoint: AztecAddress;
|
|
13
12
|
FeeJuice: AztecAddress;
|
|
14
|
-
PublicChecks: AztecAddress;
|
|
15
13
|
};
|
|
14
|
+
export declare const ProtocolContractClassId: Record<ProtocolContractName, Fr>;
|
|
15
|
+
export declare const ProtocolContractClassIdPreimage: Record<ProtocolContractName, {
|
|
16
|
+
artifactHash: Fr;
|
|
17
|
+
privateFunctionsRoot: Fr;
|
|
18
|
+
publicBytecodeCommitment: Fr;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const ProtocolContractInitializationHash: Record<ProtocolContractName, Fr>;
|
|
21
|
+
export declare const ProtocolContractPrivateFunctions: Record<ProtocolContractName, {
|
|
22
|
+
selector: FunctionSelector;
|
|
23
|
+
vkHash: Fr;
|
|
24
|
+
}[]>;
|
|
16
25
|
export declare const ProtocolContractsList: ProtocolContracts;
|
|
17
26
|
export declare const protocolContractsHash: Fr;
|
|
18
27
|
export declare const CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG: Fr;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3RvY29sX2NvbnRyYWN0X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUksT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxlQUFPLE1BQU0scUJBQXFCLDRFQUl4QixDQUFDO0FBRVgsTUFBTSxNQUFNLG9CQUFvQixHQUFHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFJeEUsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBSWpFLENBQUM7QUFJRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FJOUUsQ0FBQztBQUlGLGVBQU8sTUFBTSw4QkFBOEI7Ozs7Q0FJMUMsQ0FBQztBQUlGLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUlwRSxDQUFDO0FBRUYsZUFBTyxNQUFNLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7SUFBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFBQyx3QkFBd0IsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQWdCdEosQ0FBQztBQUVGLGVBQU8sTUFBTSxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUkvRSxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtJQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUFFLENBSXZILENBQUM7QUFJRixlQUFPLE1BQU0scUJBQXFCLG1CQVloQyxDQUFDO0FBRUgsZUFBTyxNQUFNLHFCQUFxQixJQUFzRixDQUFDO0FBSTNILGVBQU8sTUFBTSxxQ0FBcUMsSUFBeUYsQ0FBQyJ9
|
|
@@ -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,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,eAAO,MAAM,qBAAqB,
|
|
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,4EAIxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAIxE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAIjE,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAI9E,CAAC;AAIF,eAAO,MAAM,8BAA8B;;;;CAI1C,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAIpE,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,CAgBtJ,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAI/E,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAIvH,CAAC;AAIF,eAAO,MAAM,qBAAqB,mBAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,IAAsF,CAAC;AAI3H,eAAO,MAAM,qCAAqC,IAAyF,CAAC"}
|