@aztec/aztec.js 0.71.0 → 0.73.0
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/account/contract.d.ts +1 -1
- package/dest/account/contract.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_method.js +7 -7
- package/dest/account_manager/index.d.ts +9 -6
- package/dest/account_manager/index.d.ts.map +1 -1
- package/dest/account_manager/index.js +28 -18
- package/dest/api/ethereum.d.ts +2 -1
- package/dest/api/ethereum.d.ts.map +1 -1
- package/dest/api/ethereum.js +3 -2
- package/dest/barretenberg-threads.wasm.gz +0 -0
- package/dest/barretenberg.wasm.gz +0 -0
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +3 -2
- package/dest/contract/contract.js +2 -2
- package/dest/contract/contract_base.d.ts +2 -2
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +2 -2
- package/dest/contract/contract_function_interaction.d.ts +1 -1
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +4 -4
- package/dest/contract/deploy_method.d.ts +2 -2
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +19 -19
- package/dest/contract/deploy_proven_tx.d.ts +2 -2
- package/dest/contract/deploy_proven_tx.d.ts.map +1 -1
- package/dest/contract/deploy_proven_tx.js +4 -4
- package/dest/contract/deploy_sent_tx.d.ts +4 -4
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +9 -7
- package/dest/contract/proven_tx.d.ts.map +1 -1
- package/dest/contract/proven_tx.js +3 -3
- package/dest/contract/sent_tx.d.ts +3 -3
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +4 -4
- package/dest/deployment/broadcast_function.d.ts +1 -1
- package/dest/deployment/broadcast_function.d.ts.map +1 -1
- package/dest/deployment/broadcast_function.js +23 -14
- package/dest/deployment/deploy_instance.d.ts +1 -1
- package/dest/deployment/deploy_instance.d.ts.map +1 -1
- package/dest/deployment/deploy_instance.js +3 -3
- package/dest/deployment/protocol_contracts.d.ts +2 -2
- package/dest/deployment/protocol_contracts.d.ts.map +1 -1
- package/dest/deployment/protocol_contracts.js +5 -5
- package/dest/deployment/register_class.js +3 -3
- package/dest/entrypoint/default_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_entrypoint.js +3 -3
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_multi_call_entrypoint.js +5 -5
- package/dest/entrypoint/payload.d.ts +22 -7
- package/dest/entrypoint/payload.d.ts.map +1 -1
- package/dest/entrypoint/payload.js +35 -28
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.js +6 -5
- package/dest/fee/private_fee_payment_method.js +8 -8
- package/dest/fee/public_fee_payment_method.js +20 -21
- package/dest/index.d.ts +4 -5
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +4 -5
- package/dest/main.js +2 -0
- package/dest/main.js.LICENSE.txt +25 -0
- package/dest/rpc_clients/pxe_client.d.ts +1 -1
- package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
- package/dest/utils/abi_types.d.ts +3 -1
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/anvil_test_watcher.d.ts +5 -1
- package/dest/utils/anvil_test_watcher.d.ts.map +1 -1
- package/dest/utils/anvil_test_watcher.js +47 -7
- package/dest/utils/authwit.d.ts +3 -3
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +9 -5
- package/dest/utils/chain_monitor.d.ts +2 -1
- package/dest/utils/chain_monitor.d.ts.map +1 -1
- package/dest/utils/chain_monitor.js +7 -2
- package/dest/utils/cheat_codes.d.ts +5 -2
- package/dest/utils/cheat_codes.d.ts.map +1 -1
- package/dest/utils/cheat_codes.js +9 -2
- package/dest/utils/l1_contracts.d.ts +1 -1
- package/dest/utils/l1_contracts.d.ts.map +1 -1
- package/dest/utils/portal_manager.d.ts +2 -2
- package/dest/utils/portal_manager.d.ts.map +1 -1
- package/dest/utils/portal_manager.js +8 -8
- package/dest/utils/pub_key.d.ts +1 -1
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/wallet/account_wallet.d.ts +1 -1
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +9 -9
- package/dest/wallet/account_wallet_with_private_key.d.ts +1 -1
- package/dest/wallet/account_wallet_with_private_key.d.ts.map +1 -1
- package/dest/wallet/account_wallet_with_private_key.js +3 -3
- package/dest/wallet/base_wallet.d.ts +8 -12
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +13 -25
- package/package.json +10 -9
- package/src/account/contract.ts +1 -1
- package/src/account_manager/deploy_account_method.ts +6 -6
- package/src/account_manager/index.ts +34 -25
- package/src/api/ethereum.ts +2 -1
- package/src/contract/base_contract_interaction.ts +3 -1
- package/src/contract/contract.ts +1 -1
- package/src/contract/contract_base.ts +2 -2
- package/src/contract/contract_function_interaction.ts +3 -3
- package/src/contract/deploy_method.ts +20 -20
- package/src/contract/deploy_proven_tx.ts +2 -2
- package/src/contract/deploy_sent_tx.ts +7 -5
- package/src/contract/proven_tx.ts +0 -2
- package/src/contract/sent_tx.ts +4 -4
- package/src/deployment/broadcast_function.ts +28 -14
- package/src/deployment/deploy_instance.ts +5 -2
- package/src/deployment/protocol_contracts.ts +4 -4
- package/src/deployment/register_class.ts +2 -2
- package/src/entrypoint/default_entrypoint.ts +2 -2
- package/src/entrypoint/default_multi_call_entrypoint.ts +4 -4
- package/src/entrypoint/payload.ts +53 -25
- package/src/fee/fee_juice_payment_method_with_claim.ts +6 -5
- package/src/fee/private_fee_payment_method.ts +7 -7
- package/src/fee/public_fee_payment_method.ts +23 -23
- package/src/index.ts +3 -5
- package/src/utils/abi_types.ts +4 -1
- package/src/utils/anvil_test_watcher.ts +54 -6
- package/src/utils/authwit.ts +9 -5
- package/src/utils/chain_monitor.ts +8 -2
- package/src/utils/cheat_codes.ts +11 -2
- package/src/utils/l1_contracts.ts +1 -1
- package/src/utils/portal_manager.ts +8 -8
- package/src/utils/pub_key.ts +1 -1
- package/src/wallet/account_wallet.ts +12 -11
- package/src/wallet/account_wallet_with_private_key.ts +2 -2
- package/src/wallet/base_wallet.ts +17 -27
- package/dest/api/init.d.ts +0 -7
- package/dest/api/init.d.ts.map +0 -1
- package/dest/api/init.js +0 -10
- package/src/api/init.ts +0 -10
|
@@ -56,7 +56,7 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
56
56
|
// in case the initializer is public. This hints at the need of having "transient" contracts scoped to a
|
|
57
57
|
// simulation, so we can run the simulation with a set of contracts, but only "commit" them to the wallet
|
|
58
58
|
// once this tx has gone through.
|
|
59
|
-
await this.wallet.registerContract({ artifact: this.artifact, instance: this.getInstance(options) });
|
|
59
|
+
await this.wallet.registerContract({ artifact: this.artifact, instance: await this.getInstance(options) });
|
|
60
60
|
const bootstrap = await this.getInitializeFunctionCalls(options);
|
|
61
61
|
if (deployment.calls.length + bootstrap.calls.length === 0) {
|
|
62
62
|
throw new Error(`No function calls needed to deploy contract ${this.artifact.name}`);
|
|
@@ -74,7 +74,7 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
74
74
|
* @param options - Deployment options.
|
|
75
75
|
*/
|
|
76
76
|
async register(options = {}) {
|
|
77
|
-
const instance = this.getInstance(options);
|
|
77
|
+
const instance = await this.getInstance(options);
|
|
78
78
|
await this.wallet.registerContract({ artifact: this.artifact, instance });
|
|
79
79
|
return this.postDeployCtor(instance.address, this.wallet);
|
|
80
80
|
}
|
|
@@ -86,26 +86,28 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
86
86
|
async getDeploymentFunctionCalls(options = {}) {
|
|
87
87
|
const calls = [];
|
|
88
88
|
// Set contract instance object so it's available for populating the DeploySendTx object
|
|
89
|
-
const instance = this.getInstance(options);
|
|
89
|
+
const instance = await this.getInstance(options);
|
|
90
90
|
// Obtain contract class from artifact and check it matches the reported one by the instance.
|
|
91
91
|
// TODO(@spalladino): We're unnecessarily calculating the contract class multiple times here.
|
|
92
|
-
const contractClass = getContractClassFromArtifact(this.artifact);
|
|
92
|
+
const contractClass = await getContractClassFromArtifact(this.artifact);
|
|
93
93
|
if (!instance.contractClassId.equals(contractClass.id)) {
|
|
94
94
|
throw new Error(`Contract class mismatch when deploying contract: got ${instance.contractClassId.toString()} from instance and ${contractClass.id.toString()} from artifact`);
|
|
95
95
|
}
|
|
96
96
|
// Register the contract class if it hasn't been published already.
|
|
97
97
|
if (!options.skipClassRegistration) {
|
|
98
|
-
if (await this.wallet.
|
|
98
|
+
if ((await this.wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
|
|
99
99
|
this.log.debug(`Skipping registration of already registered contract class ${contractClass.id.toString()} for ${instance.address.toString()}`);
|
|
100
100
|
}
|
|
101
101
|
else {
|
|
102
102
|
this.log.info(`Creating request for registering contract class ${contractClass.id.toString()} as part of deployment for ${instance.address.toString()}`);
|
|
103
|
-
|
|
103
|
+
const registerContractClassInteraction = await registerContractClass(this.wallet, this.artifact);
|
|
104
|
+
calls.push(await registerContractClassInteraction.request());
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
// Deploy the contract via the instance deployer.
|
|
107
108
|
if (!options.skipPublicDeployment) {
|
|
108
|
-
|
|
109
|
+
const deploymentInteraction = await deployInstance(this.wallet, instance);
|
|
110
|
+
calls.push(await deploymentInteraction.request());
|
|
109
111
|
}
|
|
110
112
|
return { calls };
|
|
111
113
|
}
|
|
@@ -114,14 +116,14 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
114
116
|
* @param options - Deployment options.
|
|
115
117
|
* @returns - An array of function calls.
|
|
116
118
|
*/
|
|
117
|
-
getInitializeFunctionCalls(options) {
|
|
118
|
-
const { address } = this.getInstance(options);
|
|
119
|
+
async getInitializeFunctionCalls(options) {
|
|
120
|
+
const { address } = await this.getInstance(options);
|
|
119
121
|
const calls = [];
|
|
120
122
|
if (this.constructorArtifact && !options.skipInitialization) {
|
|
121
123
|
const constructorCall = new ContractFunctionInteraction(this.wallet, address, this.constructorArtifact, this.args);
|
|
122
|
-
calls.push(constructorCall.request());
|
|
124
|
+
calls.push(await constructorCall.request());
|
|
123
125
|
}
|
|
124
|
-
return
|
|
126
|
+
return { calls };
|
|
125
127
|
}
|
|
126
128
|
/**
|
|
127
129
|
* Send the contract deployment transaction using the provided options.
|
|
@@ -133,9 +135,8 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
133
135
|
*/
|
|
134
136
|
send(options = {}) {
|
|
135
137
|
const txHashPromise = super.send(options).getTxHash();
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
return new DeploySentTx(this.wallet, txHashPromise, this.postDeployCtor, instance);
|
|
138
|
+
this.log.debug(`Sent deployment tx of ${this.artifact.name} contract`);
|
|
139
|
+
return new DeploySentTx(this.wallet, txHashPromise, this.postDeployCtor, () => this.getInstance(options));
|
|
139
140
|
}
|
|
140
141
|
/**
|
|
141
142
|
* Builds the contract instance to be deployed and returns it.
|
|
@@ -143,9 +144,9 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
143
144
|
* @param options - An object containing various deployment options.
|
|
144
145
|
* @returns An instance object.
|
|
145
146
|
*/
|
|
146
|
-
getInstance(options = {}) {
|
|
147
|
+
async getInstance(options = {}) {
|
|
147
148
|
if (!this.instance) {
|
|
148
|
-
this.instance = getContractInstanceFromDeployParams(this.artifact, {
|
|
149
|
+
this.instance = await getContractInstanceFromDeployParams(this.artifact, {
|
|
149
150
|
constructorArgs: this.args,
|
|
150
151
|
salt: options.contractAddressSalt,
|
|
151
152
|
publicKeys: this.publicKeys,
|
|
@@ -162,8 +163,7 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
162
163
|
*/
|
|
163
164
|
async prove(options) {
|
|
164
165
|
const txProvingResult = await this.proveInternal(options);
|
|
165
|
-
|
|
166
|
-
return new DeployProvenTx(this.wallet, txProvingResult.toTx(), this.postDeployCtor, instance);
|
|
166
|
+
return new DeployProvenTx(this.wallet, txProvingResult.toTx(), this.postDeployCtor, () => this.getInstance(options));
|
|
167
167
|
}
|
|
168
168
|
/**
|
|
169
169
|
* Estimates gas cost for this deployment operation.
|
|
@@ -181,4 +181,4 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
181
181
|
return this.instance && computePartialAddress(this.instance);
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBR1oscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1QixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQWdELGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW1CbkQsMEJBQTBCO0FBQzFCLG9EQUFvRDtBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBd0QsU0FBUSx1QkFBdUI7SUFPbEcsWUFDVSxVQUFzQixFQUM5QixNQUFjLEVBQ04sUUFBMEIsRUFDMUIsY0FBNkUsRUFDN0UsT0FBYyxFQUFFLEVBQ3hCLHlCQUFxRDtRQUVyRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFQTixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRXRCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUErRDtRQUM3RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBWDFCLDRDQUE0QztRQUNwQyxhQUFRLEdBQWlDLFNBQVMsQ0FBQztRQWN6RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSx5QkFB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
|
|
@@ -9,8 +9,8 @@ import { ProvenTx } from './proven_tx.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class DeployProvenTx<TContract extends Contract = Contract> extends ProvenTx {
|
|
11
11
|
private postDeployCtor;
|
|
12
|
-
private
|
|
13
|
-
constructor(wallet: PXE | Wallet, tx: Tx, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
12
|
+
private instanceGetter;
|
|
13
|
+
constructor(wallet: PXE | Wallet, tx: Tx, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, instanceGetter: () => Promise<ContractInstanceWithAddress>);
|
|
14
14
|
/**
|
|
15
15
|
* Sends the transaction to the network via the provided wallet.
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,qBAAa,cAAc,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,QAAQ;IAI/E,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"deploy_proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,qBAAa,cAAc,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,QAAQ;IAI/E,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;gBAHtB,MAAM,EAAE,GAAG,GAAG,MAAM,EACpB,EAAE,EAAE,EAAE,EACE,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,EAC7E,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC;IAKpE;;OAEG;IACa,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC;CAOhD"}
|
|
@@ -4,10 +4,10 @@ import { ProvenTx } from './proven_tx.js';
|
|
|
4
4
|
* A proven transaction that can be sent to the network. Returned by the `prove` method of a contract deployment.
|
|
5
5
|
*/
|
|
6
6
|
export class DeployProvenTx extends ProvenTx {
|
|
7
|
-
constructor(wallet, tx, postDeployCtor,
|
|
7
|
+
constructor(wallet, tx, postDeployCtor, instanceGetter) {
|
|
8
8
|
super(wallet, tx);
|
|
9
9
|
this.postDeployCtor = postDeployCtor;
|
|
10
|
-
this.
|
|
10
|
+
this.instanceGetter = instanceGetter;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Sends the transaction to the network via the provided wallet.
|
|
@@ -16,7 +16,7 @@ export class DeployProvenTx extends ProvenTx {
|
|
|
16
16
|
const promise = (() => {
|
|
17
17
|
return this.wallet.sendTx(this.getPlainDataTx());
|
|
18
18
|
})();
|
|
19
|
-
return new DeploySentTx(this.wallet, promise, this.postDeployCtor, this.
|
|
19
|
+
return new DeploySentTx(this.wallet, promise, this.postDeployCtor, this.instanceGetter);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3Byb3Zlbl90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfcHJvdmVuX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBc0QsU0FBUSxRQUFRO0lBQ2pGLFlBQ0UsTUFBb0IsRUFDcEIsRUFBTSxFQUNFLGNBQTZFLEVBQzdFLGNBQTBEO1FBRWxFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIVixtQkFBYyxHQUFkLGNBQWMsQ0FBK0Q7UUFDN0UsbUJBQWMsR0FBZCxjQUFjLENBQTRDO0lBR3BFLENBQUM7SUFFRDs7T0FFRztJQUNhLElBQUk7UUFDbEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRUwsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0YifQ==
|
|
@@ -20,12 +20,12 @@ export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsO
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
|
|
22
22
|
private postDeployCtor;
|
|
23
|
-
/**
|
|
24
|
-
|
|
23
|
+
/** A getter for the deployed contract instance */
|
|
24
|
+
instanceGetter: () => Promise<ContractInstanceWithAddress>;
|
|
25
25
|
private log;
|
|
26
26
|
constructor(wallet: PXE | Wallet, txHashPromise: Promise<TxHash>, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
27
|
-
/**
|
|
28
|
-
|
|
27
|
+
/** A getter for the deployed contract instance */
|
|
28
|
+
instanceGetter: () => Promise<ContractInstanceWithAddress>);
|
|
29
29
|
/**
|
|
30
30
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
31
31
|
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IAC7F,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,MAAM;IAM3E,OAAO,CAAC,cAAc;IACtB,
|
|
1
|
+
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IAC7F,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,MAAM;IAM3E,OAAO,CAAC,cAAc;IACtB,kDAAkD;IAC3C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC;IAPnE,OAAO,CAAC,GAAG,CAA0C;gBAGnD,MAAM,EAAE,GAAG,GAAG,MAAM,EACpB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC;IACrF,kDAAkD;IAC3C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC;IAKnE;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAOlE;;;;OAIG;IACmB,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;cAMxE,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CASvE"}
|
|
@@ -5,11 +5,11 @@ import { SentTx } from './sent_tx.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export class DeploySentTx extends SentTx {
|
|
7
7
|
constructor(wallet, txHashPromise, postDeployCtor,
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/** A getter for the deployed contract instance */
|
|
9
|
+
instanceGetter) {
|
|
10
10
|
super(wallet, txHashPromise);
|
|
11
11
|
this.postDeployCtor = postDeployCtor;
|
|
12
|
-
this.
|
|
12
|
+
this.instanceGetter = instanceGetter;
|
|
13
13
|
this.log = createLogger('aztecjs:deploy_sent_tx');
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
@@ -19,7 +19,8 @@ export class DeploySentTx extends SentTx {
|
|
|
19
19
|
*/
|
|
20
20
|
async deployed(opts) {
|
|
21
21
|
const receipt = await this.wait(opts);
|
|
22
|
-
|
|
22
|
+
const instance = await this.instanceGetter();
|
|
23
|
+
this.log.info(`Contract ${instance.address.toString()} successfully deployed.`);
|
|
23
24
|
return receipt.contract;
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
@@ -32,13 +33,14 @@ export class DeploySentTx extends SentTx {
|
|
|
32
33
|
const contract = await this.getContractObject(opts?.wallet);
|
|
33
34
|
return { ...receipt, contract };
|
|
34
35
|
}
|
|
35
|
-
getContractObject(wallet) {
|
|
36
|
+
async getContractObject(wallet) {
|
|
36
37
|
const isWallet = (pxe) => !!pxe.createTxExecutionRequest;
|
|
37
38
|
const contractWallet = wallet ?? (isWallet(this.pxe) && this.pxe);
|
|
38
39
|
if (!contractWallet) {
|
|
39
40
|
throw new Error(`A wallet is required for creating a contract instance`);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
const instance = await this.instanceGetter();
|
|
43
|
+
return this.postDeployCtor(instance.address, contractWallet);
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3NlbnRfdHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvZGVwbG95X3NlbnRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE9BQU8sRUFBRSxNQUFNLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBY3JEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQW9ELFNBQVEsTUFBTTtJQUc3RSxZQUNFLE1BQW9CLEVBQ3BCLGFBQThCLEVBQ3RCLGNBQTZFO0lBQ3JGLGtEQUFrRDtJQUMzQyxjQUEwRDtRQUVqRSxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSnJCLG1CQUFjLEdBQWQsY0FBYyxDQUErRDtRQUU5RSxtQkFBYyxHQUFkLGNBQWMsQ0FBNEM7UUFQM0QsUUFBRyxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBVXJELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUF1QjtRQUMzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNhLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBdUI7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFlO1FBQy9DLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBaUIsRUFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBRSxHQUFjLENBQUMsd0JBQXdCLENBQUM7UUFDbEcsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUF1QixDQUFDO0lBQ3JGLENBQUM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAE;IAClB,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;gBAApB,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAE;IAClB,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;gBAApB,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE;IAWlD,SAAS,CAAC,cAAc,IAAI,EAAE;IAU9B;;OAEG;IACI,IAAI,IAAI,MAAM;CAOtB"}
|
|
@@ -5,12 +5,12 @@ import { SentTx } from './sent_tx.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export class ProvenTx extends Tx {
|
|
7
7
|
constructor(wallet, tx) {
|
|
8
|
-
super(tx.data, tx.clientIvcProof, tx.
|
|
8
|
+
super(tx.data, tx.clientIvcProof, tx.contractClassLogs, tx.enqueuedPublicFunctionCalls, tx.publicTeardownFunctionCall);
|
|
9
9
|
this.wallet = wallet;
|
|
10
10
|
}
|
|
11
11
|
// Clone the TX data to get a serializable object.
|
|
12
12
|
getPlainDataTx() {
|
|
13
|
-
return new Tx(this.data, this.clientIvcProof, this.
|
|
13
|
+
return new Tx(this.data, this.clientIvcProof, this.contractClassLogs, this.enqueuedPublicFunctionCalls, this.publicTeardownFunctionCall);
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Sends the transaction to the network via the provided wallet.
|
|
@@ -22,4 +22,4 @@ export class ProvenTx extends Tx {
|
|
|
22
22
|
return new SentTx(this.wallet, promise);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVuX3R4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3Byb3Zlbl90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsRUFBRTtJQUM5QixZQUFzQixNQUFvQixFQUFFLEVBQU07UUFDaEQsS0FBSyxDQUNILEVBQUUsQ0FBQyxJQUFJLEVBQ1AsRUFBRSxDQUFDLGNBQWMsRUFDakIsRUFBRSxDQUFDLGlCQUFpQixFQUNwQixFQUFFLENBQUMsMkJBQTJCLEVBQzlCLEVBQUUsQ0FBQywwQkFBMEIsQ0FDOUIsQ0FBQztRQVBrQixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBUTFDLENBQUM7SUFFRCxrREFBa0Q7SUFDeEMsY0FBYztRQUN0QixPQUFPLElBQUksRUFBRSxDQUNYLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsMkJBQTJCLEVBQ2hDLElBQUksQ0FBQywwQkFBMEIsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type GetPublicLogsResponse, type PXE, type TxHash, type TxReceipt } from '@aztec/circuit-types';
|
|
2
2
|
import { type FieldsOf } from '@aztec/foundation/types';
|
|
3
3
|
/** Options related to waiting for a tx. */
|
|
4
4
|
export type WaitOpts = {
|
|
@@ -49,11 +49,11 @@ export declare class SentTx {
|
|
|
49
49
|
*/
|
|
50
50
|
wait(opts?: WaitOpts): Promise<FieldsOf<TxReceipt>>;
|
|
51
51
|
/**
|
|
52
|
-
* Gets
|
|
52
|
+
* Gets public logs emitted by this tx.
|
|
53
53
|
* @remarks This function will wait for the tx to be mined if it hasn't been already.
|
|
54
54
|
* @returns The requested logs.
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
getPublicLogs(): Promise<GetPublicLogsResponse>;
|
|
57
57
|
protected waitForReceipt(opts?: WaitOpts): Promise<TxReceipt>;
|
|
58
58
|
protected waitForProven(minedBlock: number, opts?: WaitOpts): Promise<number>;
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAM7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,GAAG;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAlD,GAAG,EAAE,GAAG,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAExE;;;;;;OAMG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAuBhE;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;cAK5C,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;cA8BnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ;CAWlE"}
|
package/dest/contract/sent_tx.js
CHANGED
|
@@ -63,13 +63,13 @@ export class SentTx {
|
|
|
63
63
|
return receipt;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Gets
|
|
66
|
+
* Gets public logs emitted by this tx.
|
|
67
67
|
* @remarks This function will wait for the tx to be mined if it hasn't been already.
|
|
68
68
|
* @returns The requested logs.
|
|
69
69
|
*/
|
|
70
|
-
async
|
|
70
|
+
async getPublicLogs() {
|
|
71
71
|
await this.wait();
|
|
72
|
-
return this.pxe.
|
|
72
|
+
return this.pxe.getPublicLogs({ txHash: await this.getTxHash() });
|
|
73
73
|
}
|
|
74
74
|
async waitForReceipt(opts) {
|
|
75
75
|
const txHash = await this.getTxHash();
|
|
@@ -101,4 +101,4 @@ export class SentTx {
|
|
|
101
101
|
}, 'isProven', opts?.provenTimeout ?? DefaultWaitOpts.provenTimeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBcUJyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDdkMsd0JBQXdCLEVBQUUsQ0FBQztJQUMzQixPQUFPLEVBQUUsRUFBRTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxDQUFDO0lBQ1gsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBc0IsR0FBUSxFQUFZLGFBQThCO1FBQWxELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBRyxDQUFDO0lBRTVFOzs7Ozs7T0FNRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBZTtRQUMvQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwRSxNQUFNLElBQUks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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ContractArtifact,
|
|
1
|
+
import { type ContractArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
2
|
import { type ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
3
3
|
import { type Wallet } from '../wallet/index.js';
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast_function.d.ts","sourceRoot":"","sources":["../../src/deployment/broadcast_function.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"broadcast_function.d.ts","sourceRoot":"","sources":["../../src/deployment/broadcast_function.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAI9G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,2BAA2B,CAAC,CA8CtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,2BAA2B,CAAC,CAuCtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, computeVerificationKeyHash, createPrivateFunctionMembershipProof, createUnconstrainedFunctionMembershipProof, getContractClassFromArtifact, } from '@aztec/circuits.js';
|
|
2
|
-
import { FunctionType, bufferAsFields } from '@aztec/foundation/abi';
|
|
2
|
+
import { FunctionSelector, FunctionType, bufferAsFields } from '@aztec/foundation/abi';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { getRegistererContract } from './protocol_contracts.js';
|
|
@@ -13,16 +13,21 @@ import { getRegistererContract } from './protocol_contracts.js';
|
|
|
13
13
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
14
14
|
*/
|
|
15
15
|
export async function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
16
|
-
const contractClass = getContractClassFromArtifact(artifact);
|
|
17
|
-
const
|
|
16
|
+
const contractClass = await getContractClassFromArtifact(artifact);
|
|
17
|
+
const privateFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.PRIVATE);
|
|
18
|
+
const functionsAndSelectors = await Promise.all(privateFunctions.map(async (fn) => ({
|
|
19
|
+
f: fn,
|
|
20
|
+
selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
|
|
21
|
+
})));
|
|
22
|
+
const privateFunctionArtifact = functionsAndSelectors.find(fn => selector.equals(fn.selector))?.f;
|
|
18
23
|
if (!privateFunctionArtifact) {
|
|
19
24
|
throw new Error(`Private function with selector ${selector.toString()} not found`);
|
|
20
25
|
}
|
|
21
|
-
const { artifactTreeSiblingPath, artifactTreeLeafIndex, artifactMetadataHash, functionMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, } = createPrivateFunctionMembershipProof(selector, artifact);
|
|
22
|
-
const vkHash = computeVerificationKeyHash(privateFunctionArtifact);
|
|
26
|
+
const { artifactTreeSiblingPath, artifactTreeLeafIndex, artifactMetadataHash, functionMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, } = await createPrivateFunctionMembershipProof(selector, artifact);
|
|
27
|
+
const vkHash = await computeVerificationKeyHash(privateFunctionArtifact);
|
|
23
28
|
const bytecode = bufferAsFields(privateFunctionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
24
29
|
await wallet.addCapsule(bytecode);
|
|
25
|
-
const registerer = getRegistererContract(wallet);
|
|
30
|
+
const registerer = await getRegistererContract(wallet);
|
|
26
31
|
return Promise.resolve(registerer.methods.broadcast_private_function(contractClass.id, artifactMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
|
|
27
32
|
// eslint-disable-next-line camelcase
|
|
28
33
|
{ selector, metadata_hash: functionMetadataHash, vk_hash: vkHash }));
|
|
@@ -37,18 +42,22 @@ export async function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
|
37
42
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
38
43
|
*/
|
|
39
44
|
export async function broadcastUnconstrainedFunction(wallet, artifact, selector) {
|
|
40
|
-
const contractClass = getContractClassFromArtifact(artifact);
|
|
41
|
-
const
|
|
42
|
-
|
|
45
|
+
const contractClass = await getContractClassFromArtifact(artifact);
|
|
46
|
+
const unconstrainedFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.UNCONSTRAINED);
|
|
47
|
+
const unconstrainedFunctionsAndSelectors = await Promise.all(unconstrainedFunctions.map(async (fn) => ({
|
|
48
|
+
f: fn,
|
|
49
|
+
selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
|
|
50
|
+
})));
|
|
51
|
+
const unconstrainedFunctionArtifact = unconstrainedFunctionsAndSelectors.find(fn => selector.equals(fn.selector))?.f;
|
|
52
|
+
if (!unconstrainedFunctionArtifact) {
|
|
43
53
|
throw new Error(`Unconstrained function with selector ${selector.toString()} not found`);
|
|
44
54
|
}
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const bytecode = bufferAsFields(functionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
55
|
+
const { artifactMetadataHash, artifactTreeLeafIndex, artifactTreeSiblingPath, functionMetadataHash, privateFunctionsArtifactTreeRoot, } = await createUnconstrainedFunctionMembershipProof(selector, artifact);
|
|
56
|
+
const bytecode = bufferAsFields(unconstrainedFunctionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
48
57
|
await wallet.addCapsule(bytecode);
|
|
49
|
-
const registerer = getRegistererContract(wallet);
|
|
58
|
+
const registerer = await getRegistererContract(wallet);
|
|
50
59
|
return registerer.methods.broadcast_unconstrained_function(contractClass.id, artifactMetadataHash, privateFunctionsArtifactTreeRoot, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
|
|
51
60
|
// eslint-disable-next-line camelcase
|
|
52
61
|
{ selector, metadata_hash: functionMetadataHash });
|
|
53
62
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0X2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvYnJvYWRjYXN0X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsdURBQXVELEVBQ3ZELDBCQUEwQixFQUMxQixvQ0FBb0MsRUFDcEMsMENBQTBDLEVBQzFDLDRCQUE0QixHQUM3QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBeUIsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFjLEVBQ2QsUUFBMEIsRUFDMUIsUUFBMEI7SUFFMUIsTUFBTSxhQUFhLEdBQUcsTUFBTSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzdDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsRUFBRSxFQUFFO1FBQ0wsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENB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
|
|
@@ -6,5 +6,5 @@ import { type Wallet } from '../wallet/index.js';
|
|
|
6
6
|
* @param wallet - The wallet to use for the deployment.
|
|
7
7
|
* @param instance - The instance to deploy.
|
|
8
8
|
*/
|
|
9
|
-
export declare function deployInstance(wallet: Wallet, instance: ContractInstanceWithAddress): ContractFunctionInteraction
|
|
9
|
+
export declare function deployInstance(wallet: Wallet, instance: ContractInstanceWithAddress): Promise<ContractFunctionInteraction>;
|
|
10
10
|
//# sourceMappingURL=deploy_instance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_instance.d.ts","sourceRoot":"","sources":["../../src/deployment/deploy_instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"deploy_instance.d.ts","sourceRoot":"","sources":["../../src/deployment/deploy_instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,2BAA2B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAgBtC"}
|
|
@@ -4,8 +4,8 @@ import { getDeployerContract } from './protocol_contracts.js';
|
|
|
4
4
|
* @param wallet - The wallet to use for the deployment.
|
|
5
5
|
* @param instance - The instance to deploy.
|
|
6
6
|
*/
|
|
7
|
-
export function deployInstance(wallet, instance) {
|
|
8
|
-
const deployerContract = getDeployerContract(wallet);
|
|
7
|
+
export async function deployInstance(wallet, instance) {
|
|
8
|
+
const deployerContract = await getDeployerContract(wallet);
|
|
9
9
|
const { salt, contractClassId, publicKeys, deployer } = instance;
|
|
10
10
|
const isUniversalDeploy = deployer.isZero();
|
|
11
11
|
if (!isUniversalDeploy && !wallet.getAddress().equals(deployer)) {
|
|
@@ -13,4 +13,4 @@ export function deployInstance(wallet, instance) {
|
|
|
13
13
|
}
|
|
14
14
|
return deployerContract.methods.deploy(salt, contractClassId, instance.initializationHash, publicKeys, isUniversalDeploy);
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2luc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvZGVwbG95X2luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsTUFBYyxFQUNkLFFBQXFDO0lBRXJDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ2pFLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxNQUFNLElBQUksS0FBSyxDQUNiLHFCQUFxQixRQUFRLENBQUMsUUFBUSxFQUFFLGlDQUFpQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDMUcsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3BDLElBQUksRUFDSixlQUFlLEVBQ2YsUUFBUSxDQUFDLGtCQUFrQixFQUMzQixVQUFVLEVBQ1YsaUJBQWlCLENBQ2xCLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UnsafeContract } from '../contract/unsafe_contract.js';
|
|
2
2
|
import { type Wallet } from '../wallet/index.js';
|
|
3
3
|
/** Returns a Contract wrapper for the class registerer. */
|
|
4
|
-
export declare function getRegistererContract(wallet: Wallet): UnsafeContract
|
|
4
|
+
export declare function getRegistererContract(wallet: Wallet): Promise<UnsafeContract>;
|
|
5
5
|
/** Returns a Contract wrapper for the instance deployer. */
|
|
6
|
-
export declare function getDeployerContract(wallet: Wallet): UnsafeContract
|
|
6
|
+
export declare function getDeployerContract(wallet: Wallet): Promise<UnsafeContract>;
|
|
7
7
|
//# sourceMappingURL=protocol_contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/deployment/protocol_contracts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,2DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/deployment/protocol_contracts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,2DAA2D;AAC3D,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,2BAGzD;AAED,4DAA4D;AAC5D,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,2BAGvD"}
|
|
@@ -2,13 +2,13 @@ import { getCanonicalClassRegisterer } from '@aztec/protocol-contracts/class-reg
|
|
|
2
2
|
import { getCanonicalInstanceDeployer } from '@aztec/protocol-contracts/instance-deployer';
|
|
3
3
|
import { UnsafeContract } from '../contract/unsafe_contract.js';
|
|
4
4
|
/** Returns a Contract wrapper for the class registerer. */
|
|
5
|
-
export function getRegistererContract(wallet) {
|
|
6
|
-
const { artifact, instance } = getCanonicalClassRegisterer();
|
|
5
|
+
export async function getRegistererContract(wallet) {
|
|
6
|
+
const { artifact, instance } = await getCanonicalClassRegisterer();
|
|
7
7
|
return new UnsafeContract(instance, artifact, wallet);
|
|
8
8
|
}
|
|
9
9
|
/** Returns a Contract wrapper for the instance deployer. */
|
|
10
|
-
export function getDeployerContract(wallet) {
|
|
11
|
-
const { artifact, instance } = getCanonicalInstanceDeployer();
|
|
10
|
+
export async function getDeployerContract(wallet) {
|
|
11
|
+
const { artifact, instance } = await getCanonicalInstanceDeployer();
|
|
12
12
|
return new UnsafeContract(instance, artifact, wallet);
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvcHJvdG9jb2xfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdoRSwyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxNQUFjO0lBQ3hELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSwyQkFBMkIsRUFBRSxDQUFDO0lBQ25FLE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsTUFBYztJQUN0RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sNEJBQTRCLEVBQUUsQ0FBQztJQUNwRSxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyJ9
|
|
@@ -8,10 +8,10 @@ typeof process === 'object' && typeof process.env === 'object'
|
|
|
8
8
|
: true;
|
|
9
9
|
/** Sets up a call to register a contract class given its artifact. */
|
|
10
10
|
export async function registerContractClass(wallet, artifact, emitPublicBytecode = defaultEmitPublicBytecode) {
|
|
11
|
-
const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } = getContractClassFromArtifact(artifact);
|
|
11
|
+
const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } = await getContractClassFromArtifact(artifact);
|
|
12
12
|
const encodedBytecode = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);
|
|
13
|
-
const registerer = getRegistererContract(wallet);
|
|
13
|
+
const registerer = await getRegistererContract(wallet);
|
|
14
14
|
await wallet.addCapsule(encodedBytecode);
|
|
15
15
|
return registerer.methods.register(artifactHash, privateFunctionsRoot, publicBytecodeCommitment, emitPublicBytecode);
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9yZWdpc3Rlcl9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE1BQU0seUJBQXlCO0FBQzdCLGtFQUFrRTtBQUNsRSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsR0FBRyxLQUFLLFFBQVE7SUFDNUQsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFWCxzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FDekMsTUFBYyxFQUNkLFFBQTBCLEVBQzFCLGtCQUFrQixHQUFHLHlCQUF5QjtJQUU5QyxNQUFNLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxHQUNwRixNQUFNLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxjQUFjLEVBQUUseUNBQXlDLENBQUMsQ0FBQztJQUNsRyxNQUFNLFVBQVUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3ZILENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC/C,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,eAAe;gBAAxC,OAAO,EAAE,MAAM,EAAU,eAAe,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC/C,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,eAAe;gBAAxC,OAAO,EAAE,MAAM,EAAU,eAAe,EAAE,MAAM;IAE9D,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA0BxF"}
|
|
@@ -9,7 +9,7 @@ export class DefaultEntrypoint {
|
|
|
9
9
|
this.chainId = chainId;
|
|
10
10
|
this.protocolVersion = protocolVersion;
|
|
11
11
|
}
|
|
12
|
-
createTxExecutionRequest(exec) {
|
|
12
|
+
async createTxExecutionRequest(exec) {
|
|
13
13
|
const { fee, calls, authWitnesses = [], hashedArguments = [] } = exec;
|
|
14
14
|
if (calls.length > 1) {
|
|
15
15
|
throw new Error(`Expected a single call, got ${calls.length}`);
|
|
@@ -18,9 +18,9 @@ export class DefaultEntrypoint {
|
|
|
18
18
|
if (call.type !== FunctionType.PRIVATE) {
|
|
19
19
|
throw new Error('Public entrypoints are not allowed');
|
|
20
20
|
}
|
|
21
|
-
const entrypointHashedValues = HashedValues.fromValues(call.args);
|
|
21
|
+
const entrypointHashedValues = await HashedValues.fromValues(call.args);
|
|
22
22
|
const txContext = new TxContext(this.chainId, this.protocolVersion, fee.gasSettings);
|
|
23
23
|
return Promise.resolve(new TxExecutionRequest(call.to, call.selector, entrypointHashedValues.hash, txContext, [...hashedArguments, entrypointHashedValues], authWitnesses));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudHJ5cG9pbnQvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUFlLEVBQVUsZUFBdUI7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQUcsQ0FBQztJQUV4RSxLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBMEI7UUFDdkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXRFLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUksa0JBQWtCLENBQ3BCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLFFBQVEsRUFDYixzQkFBc0IsQ0FBQyxJQUFJLEVBQzNCLFNBQVMsRUFDVCxDQUFDLEdBQUcsZUFBZSxFQUFFLHNCQUFzQixDQUFDLEVBQzVDLGFBQWEsQ0FDZCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|