@aztec/aztec.js 0.8.9 → 0.8.10
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/README.md +3 -3
- package/dest/account/contract/base_account_contract.d.ts +4 -4
- package/dest/account/contract/base_account_contract.d.ts.map +1 -1
- package/dest/account/contract/base_account_contract.js +5 -5
- package/dest/account/contract/ecdsa_account_contract.js +3 -3
- package/dest/account/contract/index.d.ts +4 -4
- package/dest/account/contract/index.d.ts.map +1 -1
- package/dest/account/contract/schnorr_account_contract.js +3 -3
- package/dest/account/contract/single_key_account_contract.js +3 -3
- package/dest/account/defaults/default_entrypoint.js +1 -1
- package/dest/account/manager/index.js +3 -3
- package/dest/{abis → artifacts}/ecdsa_account_contract.json +2 -1
- package/dest/{abis → artifacts}/schnorr_account_contract.json +2 -1
- package/dest/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
- package/dest/contract/checker.d.ts +5 -5
- package/dest/contract/checker.d.ts.map +1 -1
- package/dest/contract/checker.js +9 -9
- package/dest/contract/contract.d.ts +7 -7
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +10 -10
- package/dest/contract/contract_base.d.ts +3 -3
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +5 -5
- package/dest/contract/contract_function_interaction.d.ts +3 -3
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +1 -1
- package/dest/contract/index.d.ts +2 -2
- package/dest/contract/index.js +2 -2
- package/dest/contract_deployer/contract_deployer.d.ts +3 -3
- package/dest/contract_deployer/contract_deployer.d.ts.map +1 -1
- package/dest/contract_deployer/contract_deployer.js +4 -4
- package/dest/contract_deployer/deploy_method.d.ts +4 -4
- package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
- package/dest/contract_deployer/deploy_method.js +12 -12
- package/dest/contract_deployer/deploy_sent_tx.d.ts +3 -3
- package/dest/contract_deployer/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract_deployer/deploy_sent_tx.js +4 -4
- package/dest/sandbox/index.d.ts +1 -0
- package/dest/sandbox/index.d.ts.map +1 -1
- package/dest/sandbox/index.js +3 -3
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +3 -1
- package/package.json +5 -5
- package/src/account/contract/base_account_contract.ts +4 -4
- package/src/account/contract/ecdsa_account_contract.ts +3 -3
- package/src/account/contract/index.ts +4 -4
- package/src/account/contract/schnorr_account_contract.ts +3 -3
- package/src/account/contract/single_key_account_contract.ts +3 -3
- package/src/account/defaults/default_entrypoint.ts +2 -2
- package/src/account/manager/index.ts +2 -2
- package/src/{abis → artifacts}/ecdsa_account_contract.json +2 -1
- package/src/{abis → artifacts}/schnorr_account_contract.json +2 -1
- package/src/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
- package/src/contract/checker.ts +9 -9
- package/src/contract/contract.ts +10 -10
- package/src/contract/contract_base.ts +4 -4
- package/src/contract/contract_function_interaction.ts +2 -2
- package/src/contract/index.ts +2 -2
- package/src/contract_deployer/contract_deployer.ts +3 -3
- package/src/contract_deployer/deploy_method.ts +17 -12
- package/src/contract_deployer/deploy_sent_tx.ts +3 -3
- package/src/sandbox/index.ts +2 -2
- package/src/utils/authwit.ts +2 -0
- package/src/wallet/account_wallet.ts +2 -2
|
@@ -8,20 +8,20 @@ export class ContractBase {
|
|
|
8
8
|
/** The deployed contract's complete address. */
|
|
9
9
|
completeAddress,
|
|
10
10
|
/** The Application Binary Interface for the contract. */
|
|
11
|
-
|
|
11
|
+
artifact,
|
|
12
12
|
/** The wallet used for interacting with this contract. */
|
|
13
13
|
wallet,
|
|
14
14
|
/** The portal contract address on L1, if any. */
|
|
15
15
|
portalContract) {
|
|
16
16
|
this.completeAddress = completeAddress;
|
|
17
|
-
this.
|
|
17
|
+
this.artifact = artifact;
|
|
18
18
|
this.wallet = wallet;
|
|
19
19
|
this.portalContract = portalContract;
|
|
20
20
|
/**
|
|
21
21
|
* An object containing contract methods mapped to their respective names.
|
|
22
22
|
*/
|
|
23
23
|
this.methods = {};
|
|
24
|
-
|
|
24
|
+
artifact.functions.forEach((f) => {
|
|
25
25
|
const interactionFunction = (...args) => {
|
|
26
26
|
return new ContractFunctionInteraction(this.wallet, this.completeAddress.address, f, args);
|
|
27
27
|
};
|
|
@@ -48,7 +48,7 @@ export class ContractBase {
|
|
|
48
48
|
* @returns A new contract instance.
|
|
49
49
|
*/
|
|
50
50
|
withWallet(wallet) {
|
|
51
|
-
return new ContractBase(this.completeAddress, this.
|
|
51
|
+
return new ContractBase(this.completeAddress, this.artifact, wallet, this.portalContract);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWFqRjs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBTXZCO0lBQ0UsZ0RBQWdEO0lBQ2hDLGVBQWdDO0lBQ2hELHlEQUF5RDtJQUN6QyxRQUEwQjtJQUMxQywwREFBMEQ7SUFDaEQsTUFBYztJQUN4QixpREFBaUQ7SUFDakMsY0FBMEI7UUFOMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRWhDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBRWhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFUixtQkFBYyxHQUFkLGNBQWMsQ0FBWTtRQWI1Qzs7V0FFRztRQUNJLFlBQU8sR0FBdUMsRUFBRSxDQUFDO1FBWXRELFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBbUIsRUFBRSxFQUFFO1lBQ2pELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO2dCQUM3QyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUYsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRTtnQkFDeEQ7OzttQkFHRztnQkFDSCxJQUFJLFFBQVE7b0JBQ1YsT0FBTyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBUyxDQUFDO0lBQ3BHLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { FunctionAbi } from '@aztec/foundation/abi';
|
|
3
3
|
import { FunctionCall, TxExecutionRequest } from '@aztec/types';
|
|
4
4
|
import { Wallet } from '../wallet/index.js';
|
|
5
5
|
import { BaseContractInteraction, SendMethodOptions } from './base_contract_interaction.js';
|
|
@@ -21,9 +21,9 @@ export type ViewMethodOptions = {
|
|
|
21
21
|
export declare class ContractFunctionInteraction extends BaseContractInteraction {
|
|
22
22
|
protected wallet: Wallet;
|
|
23
23
|
protected contractAddress: AztecAddress;
|
|
24
|
-
protected functionDao:
|
|
24
|
+
protected functionDao: FunctionAbi;
|
|
25
25
|
protected args: any[];
|
|
26
|
-
constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao:
|
|
26
|
+
constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[]);
|
|
27
27
|
/**
|
|
28
28
|
* Create a transaction execution request that represents this call, encoded and authenticated by the
|
|
29
29
|
* user's wallet, ready to be simulated.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHX,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAUlD;;;;;OAKG;IACI,OAAO,IAAI,YAAY;IAM9B;;;;;;OAMG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;CAQ5C"}
|
|
@@ -56,4 +56,4 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
56
56
|
return this.wallet.viewTx(this.functionDao.name, this.args, this.contractAddress, from);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQWUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5GLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQWU1Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQ1ksTUFBYyxFQUNkLGVBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLElBQVc7UUFFckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTEosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFjO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQU87UUFHckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN2RztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQU07UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxVQUE2QixFQUFFO1FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRiJ9
|
package/dest/contract/index.d.ts
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
* or can be queried via `view()`.
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
|
-
* const contract = await Contract.deploy(wallet,
|
|
13
|
+
* const contract = await Contract.deploy(wallet, MyContractArtifact, [...constructorArgs]).send().deployed();
|
|
14
14
|
* console.log(`Contract deployed at ${contract.address}`);
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
* const contract = await Contract.at(address,
|
|
18
|
+
* const contract = await Contract.at(address, MyContractArtifact, wallet);
|
|
19
19
|
* await contract.methods.mint(1000, owner).send().wait();
|
|
20
20
|
* console.log(`Total supply is now ${await contract.methods.totalSupply().view()}`);
|
|
21
21
|
* ```
|
package/dest/contract/index.js
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
* or can be queried via `view()`.
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
|
-
* const contract = await Contract.deploy(wallet,
|
|
13
|
+
* const contract = await Contract.deploy(wallet, MyContractArtifact, [...constructorArgs]).send().deployed();
|
|
14
14
|
* console.log(`Contract deployed at ${contract.address}`);
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
* const contract = await Contract.at(address,
|
|
18
|
+
* const contract = await Contract.at(address, MyContractArtifact, wallet);
|
|
19
19
|
* await contract.methods.mint(1000, owner).send().wait();
|
|
20
20
|
* console.log(`Total supply is now ${await contract.methods.totalSupply().view()}`);
|
|
21
21
|
* ```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
2
|
import { Point } from '@aztec/foundation/fields';
|
|
3
3
|
import { PXE } from '@aztec/types';
|
|
4
4
|
import { DeployMethod } from './deploy_method.js';
|
|
@@ -7,10 +7,10 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
7
7
|
* @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
|
|
8
8
|
*/
|
|
9
9
|
export declare class ContractDeployer {
|
|
10
|
-
private
|
|
10
|
+
private artifact;
|
|
11
11
|
private pxe;
|
|
12
12
|
private publicKey?;
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(artifact: ContractArtifact, pxe: PXE, publicKey?: Point | undefined);
|
|
14
14
|
/**
|
|
15
15
|
* Deploy a contract using the provided ABI and constructor arguments.
|
|
16
16
|
* This function creates a new DeployMethod instance that can be used to send deployment transactions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,GAAG,EAAa,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ;IAAoB,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,SAAS,CAAC;gBAAhE,QAAQ,EAAE,gBAAgB,EAAU,GAAG,EAAE,GAAG,EAAU,SAAS,CAAC,mBAAW;IAE/F;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAG7B"}
|
|
@@ -5,8 +5,8 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
5
5
|
* @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
|
|
6
6
|
*/
|
|
7
7
|
export class ContractDeployer {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
8
|
+
constructor(artifact, pxe, publicKey) {
|
|
9
|
+
this.artifact = artifact;
|
|
10
10
|
this.pxe = pxe;
|
|
11
11
|
this.publicKey = publicKey;
|
|
12
12
|
}
|
|
@@ -20,7 +20,7 @@ export class ContractDeployer {
|
|
|
20
20
|
* @returns A DeployMethod instance configured with the ABI, PXE, and constructor arguments.
|
|
21
21
|
*/
|
|
22
22
|
deploy(...args) {
|
|
23
|
-
return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.
|
|
23
|
+
return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.artifact, args);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGVwbG95ZXIvY29udHJhY3RfZGVwbG95ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFFBQTBCLEVBQVUsR0FBUSxFQUFVLFNBQXFCO1FBQTNFLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFBRyxDQUFDO0lBRW5HOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsSUFBVztRQUMxQixPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompleteAddress } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { PXE, PublicKey, Tx, TxExecutionRequest } from '@aztec/types';
|
|
@@ -27,13 +27,13 @@ export type DeployOptions = {
|
|
|
27
27
|
export declare class DeployMethod<TContract extends ContractBase = Contract> extends BaseContractInteraction {
|
|
28
28
|
private publicKey;
|
|
29
29
|
protected pxe: PXE;
|
|
30
|
-
private
|
|
30
|
+
private artifact;
|
|
31
31
|
private args;
|
|
32
32
|
/** The complete address of the contract. */
|
|
33
33
|
completeAddress?: CompleteAddress;
|
|
34
34
|
/** Constructor function to call. */
|
|
35
|
-
private
|
|
36
|
-
constructor(publicKey: PublicKey, pxe: PXE,
|
|
35
|
+
private constructorArtifact;
|
|
36
|
+
constructor(publicKey: PublicKey, pxe: PXE, artifact: ContractArtifact, args?: any[]);
|
|
37
37
|
/**
|
|
38
38
|
* Create a contract deployment transaction, given the deployment options.
|
|
39
39
|
* This function internally calls `request()` and `sign()` methods to prepare
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAqC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAmB,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,CAAC;CAC1B,GAAG,iBAAiB,CAAC;AAEtB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,CAAE,SAAQ,uBAAuB;IAQhG,OAAO,CAAC,SAAS;IACjB,SAAS,CAAC,GAAG,EAAE,GAAG;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI;IAVd,4CAA4C;IACrC,eAAe,CAAC,EAAE,eAAe,CAAa;IAErD,oCAAoC;IACpC,OAAO,CAAC,mBAAmB,CAAmB;gBAGpC,SAAS,EAAE,SAAS,EAClB,GAAG,EAAE,GAAG,EACV,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,GAAG,EAAO;IAQ1B;;;;;;;;OAQG;IACU,MAAM,CAAC,OAAO,GAAE,aAAkB;IAoD/C;;;;;;;OAOG;IACI,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;IAKjE;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;CAGrD"}
|
|
@@ -10,18 +10,18 @@ import { DeploySentTx } from './deploy_sent_tx.js';
|
|
|
10
10
|
* Extends the ContractFunctionInteraction class.
|
|
11
11
|
*/
|
|
12
12
|
export class DeployMethod extends BaseContractInteraction {
|
|
13
|
-
constructor(publicKey, pxe,
|
|
13
|
+
constructor(publicKey, pxe, artifact, args = []) {
|
|
14
14
|
super(pxe);
|
|
15
15
|
this.publicKey = publicKey;
|
|
16
16
|
this.pxe = pxe;
|
|
17
|
-
this.
|
|
17
|
+
this.artifact = artifact;
|
|
18
18
|
this.args = args;
|
|
19
19
|
/** The complete address of the contract. */
|
|
20
20
|
this.completeAddress = undefined;
|
|
21
|
-
const
|
|
22
|
-
if (!
|
|
23
|
-
throw new Error('Cannot find constructor in the
|
|
24
|
-
this.
|
|
21
|
+
const constructorArtifact = artifact.functions.find(f => f.name === 'constructor');
|
|
22
|
+
if (!constructorArtifact)
|
|
23
|
+
throw new Error('Cannot find constructor in the artifact.');
|
|
24
|
+
this.constructorArtifact = constructorArtifact;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Create a contract deployment transaction, given the deployment options.
|
|
@@ -36,11 +36,11 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
36
36
|
const portalContract = options.portalContract ?? EthAddress.ZERO;
|
|
37
37
|
const contractAddressSalt = options.contractAddressSalt ?? Fr.random();
|
|
38
38
|
const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
|
|
39
|
-
const { completeAddress, constructorHash, functionTreeRoot } = await getContractDeploymentInfo(this.
|
|
39
|
+
const { completeAddress, constructorHash, functionTreeRoot } = await getContractDeploymentInfo(this.artifact, this.args, contractAddressSalt, this.publicKey);
|
|
40
40
|
const contractDeploymentData = new ContractDeploymentData(this.publicKey, constructorHash, functionTreeRoot, contractAddressSalt, portalContract);
|
|
41
41
|
const txContext = new TxContext(false, false, true, contractDeploymentData, new Fr(chainId), new Fr(protocolVersion));
|
|
42
|
-
const args = encodeArguments(this.
|
|
43
|
-
const functionData = FunctionData.fromAbi(this.
|
|
42
|
+
const args = encodeArguments(this.constructorArtifact, this.args);
|
|
43
|
+
const functionData = FunctionData.fromAbi(this.constructorArtifact);
|
|
44
44
|
const execution = { args, functionData, to: completeAddress.address };
|
|
45
45
|
const packedArguments = await PackedArguments.fromArgs(execution.args);
|
|
46
46
|
const txRequest = TxExecutionRequest.from({
|
|
@@ -54,7 +54,7 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
54
54
|
this.txRequest = txRequest;
|
|
55
55
|
this.completeAddress = completeAddress;
|
|
56
56
|
// TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
|
|
57
|
-
await this.pxe.addContracts([{
|
|
57
|
+
await this.pxe.addContracts([{ artifact: this.artifact, completeAddress, portalContract }]);
|
|
58
58
|
return this.txRequest;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
@@ -67,7 +67,7 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
67
67
|
*/
|
|
68
68
|
send(options = {}) {
|
|
69
69
|
const txHashPromise = super.send(options).getTxHash();
|
|
70
|
-
return new DeploySentTx(this.
|
|
70
|
+
return new DeploySentTx(this.artifact, this.pxe, txHashPromise);
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* Simulate the request.
|
|
@@ -78,4 +78,4 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
78
78
|
return super.simulate(options);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9kZXBsb3llci9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLFNBQVMsRUFDVCx5QkFBeUIsR0FDMUIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQXNDLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFPLGVBQWUsRUFBaUIsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBaUJuRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBd0QsU0FBUSx1QkFBdUI7SUFPbEcsWUFDVSxTQUFvQixFQUNsQixHQUFRLEVBQ1YsUUFBMEIsRUFDMUIsT0FBYyxFQUFFO1FBRXhCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNWLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFWMUIsNENBQTRDO1FBQ3JDLG9CQUFlLEdBQXFCLFNBQVMsQ0FBQztRQVluRCxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsbUJBQW1CO1lBQUUs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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldsOf } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { TxHash, TxReceipt } from '@aztec/types';
|
|
4
4
|
import { AztecAddress, Contract, ContractBase, PXE, SentTx, WaitOpts, Wallet } from '../index.js';
|
|
5
5
|
/** Options related to waiting for a deployment tx. */
|
|
@@ -16,8 +16,8 @@ export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsO
|
|
|
16
16
|
* A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
|
|
17
17
|
*/
|
|
18
18
|
export declare class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
|
|
19
|
-
private
|
|
20
|
-
constructor(
|
|
19
|
+
private artifact;
|
|
20
|
+
constructor(artifact: ContractArtifact, wallet: PXE | Wallet, txHashPromise: Promise<TxHash>);
|
|
21
21
|
/**
|
|
22
22
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
23
23
|
* @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_deployer/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/deploy_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElG,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;IACjE,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAIpG;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlE;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAM/E,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;CAO3F"}
|
|
@@ -3,9 +3,9 @@ import { Contract, SentTx } from '../index.js';
|
|
|
3
3
|
* A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
|
|
4
4
|
*/
|
|
5
5
|
export class DeploySentTx extends SentTx {
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(artifact, wallet, txHashPromise) {
|
|
7
7
|
super(wallet, txHashPromise);
|
|
8
|
-
this.
|
|
8
|
+
this.artifact = artifact;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
@@ -33,7 +33,7 @@ export class DeploySentTx extends SentTx {
|
|
|
33
33
|
throw new Error(`A wallet is required for creating a contract instance`);
|
|
34
34
|
if (!address)
|
|
35
35
|
throw new Error(`Contract address is missing from transaction receipt`);
|
|
36
|
-
return Contract.at(address, this.
|
|
36
|
+
return Contract.at(address, this.artifact, contractWallet);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3NlbnRfdHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGVwbG95ZXIvZGVwbG95X3NlbnRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFnQixRQUFRLEVBQXFCLE1BQU0sRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFjbEc7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBb0QsU0FBUSxNQUFNO0lBQzdFLFlBQW9CLFFBQTBCLEVBQUUsTUFBb0IsRUFBRSxhQUE4QjtRQUNsRyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRFgsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFFOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQXVCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RixPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVTLG1CQUFtQixDQUFDLE1BQWUsRUFBRSxPQUFzQjtRQUNuRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWlCLEVBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUUsR0FBYyxDQUFDLHdCQUF3QixDQUFDO1FBQ2xHLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxjQUFjO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQXVCLENBQUM7SUFDbkYsQ0FBQztDQUNGIn0=
|
package/dest/sandbox/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAsC,MAAM,aAAa,CAAC;AAEnG,eAAO,MAAM,+BAA+B,kBAI3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBAAkC,CAAC;AAE5E,eAAO,MAAM,qBAAqB,MAA8B,CAAC;AAEjE,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAsC,MAAM,aAAa,CAAC;AAEnG,eAAO,MAAM,+BAA+B,kBAI3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBAAkC,CAAC;AAE5E,eAAO,MAAM,qBAAqB,MAA8B,CAAC;AAEjE,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiC,CAAC;AAEnF,eAAO,MAAQ,OAAO,QAA0C,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAM1F;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,GAAG;;;KA4B1D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,iBAU7C"}
|
package/dest/sandbox/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Fr, GrumpkinScalar } from '@aztec/foundation/fields';
|
|
2
2
|
import { sleep } from '@aztec/foundation/sleep';
|
|
3
3
|
import zip from 'lodash.zip';
|
|
4
|
-
import
|
|
4
|
+
import SchnorrAccountContractArtifact from '../artifacts/schnorr_account_contract.json' assert { type: 'json' };
|
|
5
5
|
import { createPXEClient, getSchnorrAccount } from '../index.js';
|
|
6
6
|
export const INITIAL_SANDBOX_ENCRYPTION_KEYS = [
|
|
7
7
|
GrumpkinScalar.fromString('2153536ff6628eee01cf4024889ff977a18d9fa61d0e414422f7681cf085c281'),
|
|
@@ -10,7 +10,7 @@ export const INITIAL_SANDBOX_ENCRYPTION_KEYS = [
|
|
|
10
10
|
];
|
|
11
11
|
export const INITIAL_SANDBOX_SIGNING_KEYS = INITIAL_SANDBOX_ENCRYPTION_KEYS;
|
|
12
12
|
export const INITIAL_SANDBOX_SALTS = [Fr.ZERO, Fr.ZERO, Fr.ZERO];
|
|
13
|
-
export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI =
|
|
13
|
+
export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI = SchnorrAccountContractArtifact;
|
|
14
14
|
export const { PXE_URL = 'http://localhost:8080' } = process.env;
|
|
15
15
|
/**
|
|
16
16
|
* Gets a collection of wallets for the Aztec accounts that are initially stored in the sandbox.
|
|
@@ -66,4 +66,4 @@ export async function waitForSandbox(pxe) {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FuZGJveC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRCxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFFN0IsT0FBTyw4QkFBOEIsTUFBTSw0Q0FBNEMsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNoSCxPQUFPLEVBQW9DLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRyxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxjQUFjLENBQUMsVUFBVSxDQUFDLGtFQUFrRSxDQUFDO0lBQzdGLGNBQWMsQ0FBQyxVQUFVLENBQUMsaUVBQWlFLENBQUM7SUFDNUYsY0FBYyxDQUFDLFVBQVUsQ0FBQyxrRUFBa0UsQ0FBQztDQUM5RixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsK0JBQStCLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLDhCQUE4QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLHVCQUF1QixFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUVqRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEdBQVE7SUFDaEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixHQUFHLENBQUMsK0JBQStCLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQzNGLENBQUMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsYUFBYyxFQUFFLFVBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FDN0csQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDRCQUE0QixDQUFDLEdBQVE7SUFDekQsTUFBTSxRQUFRLEdBQUcsK0JBQStCLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RyxPQUFPO1lBQ0wsT0FBTztZQUNQLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSCxpREFBaUQ7SUFDakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNyQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsRUFBRTtRQUNyQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkQsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsMERBQTBEO0lBQzFELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDckMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsR0FBUztJQUM1QyxHQUFHLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxPQUFPLElBQUksRUFBRTtRQUNYLElBQUk7WUFDRixNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixNQUFNO1NBQ1A7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO0tBQ0Y7QUFDSCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAgC,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAgC,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAAkB,YAAY,WAAW,YAAY,oBAY1F,CAAC"}
|
package/dest/utils/authwit.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CircuitsWasm, GeneratorIndex } from '@aztec/circuits.js';
|
|
2
2
|
import { pedersenPlookupCompressWithHashIndex } from '@aztec/circuits.js/barretenberg';
|
|
3
3
|
import { PackedArguments } from '@aztec/types';
|
|
4
|
+
// docs:start:authwit_computeAuthWitMessageHash
|
|
4
5
|
/**
|
|
5
6
|
* Compute an authentication witness message hash from a caller and a request
|
|
6
7
|
* H(caller: AztecAddress, target: AztecAddress, selector: Field, args_hash: Field)
|
|
@@ -17,4 +18,5 @@ export const computeAuthWitMessageHash = async (caller, request) => {
|
|
|
17
18
|
(await PackedArguments.fromArgs(request.args, wasm)).hash,
|
|
18
19
|
].map(fr => fr.toBuffer()), GeneratorIndex.SIGNATURE_PAYLOAD);
|
|
19
20
|
};
|
|
20
|
-
|
|
21
|
+
// docs:end:authwit_computeAuthWitMessageHash
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELCtDQUErQztBQUMvQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsTUFBb0IsRUFBRSxPQUFxQixFQUFFLEVBQUU7SUFDN0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEMsT0FBTyxvQ0FBb0MsQ0FDekMsSUFBSSxFQUNKO1FBQ0UsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNoQixPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRTtRQUNwQixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7UUFDdkMsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7S0FDMUQsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDMUIsY0FBYyxDQUFDLGlCQUFpQixDQUNqQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsNkNBQTZDIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.10",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
"node": "./dest/index.js",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"rootDir": "./src"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@aztec/circuits.js": "0.8.
|
|
42
|
-
"@aztec/ethereum": "0.8.
|
|
43
|
-
"@aztec/foundation": "0.8.
|
|
44
|
-
"@aztec/types": "0.8.
|
|
41
|
+
"@aztec/circuits.js": "0.8.10",
|
|
42
|
+
"@aztec/ethereum": "0.8.10",
|
|
43
|
+
"@aztec/foundation": "0.8.10",
|
|
44
|
+
"@aztec/types": "0.8.10",
|
|
45
45
|
"lodash.every": "^4.6.0",
|
|
46
46
|
"lodash.partition": "^4.6.0",
|
|
47
47
|
"lodash.zip": "^4.2.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
2
|
import { CompleteAddress, NodeInfo } from '@aztec/types';
|
|
3
3
|
|
|
4
4
|
import { DefaultAccountInterface } from '../defaults/default_interface.js';
|
|
@@ -13,10 +13,10 @@ export abstract class BaseAccountContract implements AccountContract {
|
|
|
13
13
|
abstract getAuthWitnessProvider(address: CompleteAddress): AuthWitnessProvider;
|
|
14
14
|
abstract getDeploymentArgs(): Promise<any[]>;
|
|
15
15
|
|
|
16
|
-
constructor(private
|
|
16
|
+
constructor(private artifact: ContractArtifact) {}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
return this.
|
|
18
|
+
getContractArtifact(): ContractArtifact {
|
|
19
|
+
return this.artifact;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
getInterface(address: CompleteAddress, nodeInfo: NodeInfo): Promise<AccountInterface> {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Ecdsa } from '@aztec/circuits.js/barretenberg';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { AuthWitness, CompleteAddress } from '@aztec/types';
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import EcdsaAccountContractArtifact from '../../artifacts/ecdsa_account_contract.json' assert { type: 'json' };
|
|
7
7
|
import { AuthWitnessProvider } from '../interface.js';
|
|
8
8
|
import { BaseAccountContract } from './base_account_contract.js';
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ import { BaseAccountContract } from './base_account_contract.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export class EcdsaAccountContract extends BaseAccountContract {
|
|
15
15
|
constructor(private signingPrivateKey: Buffer) {
|
|
16
|
-
super(
|
|
16
|
+
super(EcdsaAccountContractArtifact as ContractArtifact);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
async getDeploymentArgs() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
2
|
import { CompleteAddress, NodeInfo } from '@aztec/types';
|
|
3
3
|
|
|
4
4
|
import { AccountInterface } from '../interface.js';
|
|
@@ -10,14 +10,14 @@ export * from './base_account_contract.js';
|
|
|
10
10
|
|
|
11
11
|
// docs:start:account-contract-interface
|
|
12
12
|
/**
|
|
13
|
-
* An account contract instance. Knows its
|
|
13
|
+
* An account contract instance. Knows its artifact, deployment arguments, how to create
|
|
14
14
|
* transaction execution requests out of function calls, and how to authorize actions.
|
|
15
15
|
*/
|
|
16
16
|
export interface AccountContract {
|
|
17
17
|
/**
|
|
18
|
-
* Returns the
|
|
18
|
+
* Returns the artifact of this account contract.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
getContractArtifact(): ContractArtifact;
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Returns the deployment arguments for this instance.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { AuthWitness, CompleteAddress, GrumpkinPrivateKey } from '@aztec/types';
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import SchnorrAccountContractArtifact from '../../artifacts/schnorr_account_contract.json' assert { type: 'json' };
|
|
7
7
|
import { AuthWitnessProvider } from '../interface.js';
|
|
8
8
|
import { BaseAccountContract } from './base_account_contract.js';
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ import { BaseAccountContract } from './base_account_contract.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export class SchnorrAccountContract extends BaseAccountContract {
|
|
15
15
|
constructor(private signingPrivateKey: GrumpkinPrivateKey) {
|
|
16
|
-
super(
|
|
16
|
+
super(SchnorrAccountContractArtifact as ContractArtifact);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
async getDeploymentArgs() {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PartialAddress } from '@aztec/circuits.js';
|
|
2
2
|
import { Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
3
|
-
import {
|
|
3
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { AuthWitness, CompleteAddress, GrumpkinPrivateKey } from '@aztec/types';
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import SchnorrSingleKeyAccountContractArtifact from '../../artifacts/schnorr_single_key_account_contract.json' assert { type: 'json' };
|
|
8
8
|
import { generatePublicKey } from '../../index.js';
|
|
9
9
|
import { AuthWitnessProvider } from '../interface.js';
|
|
10
10
|
import { BaseAccountContract } from './base_account_contract.js';
|
|
@@ -15,7 +15,7 @@ import { BaseAccountContract } from './base_account_contract.js';
|
|
|
15
15
|
*/
|
|
16
16
|
export class SingleKeyAccountContract extends BaseAccountContract {
|
|
17
17
|
constructor(private encryptionPrivateKey: GrumpkinPrivateKey) {
|
|
18
|
-
super(
|
|
18
|
+
super(SchnorrSingleKeyAccountContractArtifact as ContractArtifact);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
getDeploymentArgs(): Promise<any[]> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AztecAddress, Fr, FunctionData, TxContext } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { FunctionAbi, encodeArguments } from '@aztec/foundation/abi';
|
|
3
3
|
import { FunctionCall, PackedArguments, TxExecutionRequest } from '@aztec/types';
|
|
4
4
|
|
|
5
5
|
import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from '../../utils/defaults.js';
|
|
@@ -97,6 +97,6 @@ export class DefaultAccountEntrypoint implements EntrypointInterface {
|
|
|
97
97
|
},
|
|
98
98
|
],
|
|
99
99
|
returnTypes: [],
|
|
100
|
-
} as
|
|
100
|
+
} as FunctionAbi;
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -64,7 +64,7 @@ export class AccountManager {
|
|
|
64
64
|
if (!this.completeAddress) {
|
|
65
65
|
const encryptionPublicKey = await generatePublicKey(this.encryptionPrivateKey);
|
|
66
66
|
const contractDeploymentInfo = await getContractDeploymentInfo(
|
|
67
|
-
this.accountContract.
|
|
67
|
+
this.accountContract.getContractArtifact(),
|
|
68
68
|
await this.accountContract.getDeploymentArgs(),
|
|
69
69
|
this.salt!,
|
|
70
70
|
encryptionPublicKey,
|
|
@@ -107,7 +107,7 @@ export class AccountManager {
|
|
|
107
107
|
if (!this.salt) throw new Error(`Cannot deploy account contract without known salt.`);
|
|
108
108
|
await this.register();
|
|
109
109
|
const encryptionPublicKey = await this.getEncryptionPublicKey();
|
|
110
|
-
const deployer = new ContractDeployer(this.accountContract.
|
|
110
|
+
const deployer = new ContractDeployer(this.accountContract.getContractArtifact(), this.pxe, encryptionPublicKey);
|
|
111
111
|
const args = await this.accountContract.getDeploymentArgs();
|
|
112
112
|
this.deployMethod = deployer.deploy(...args);
|
|
113
113
|
}
|