@aztec/aztec.js 0.35.1 → 0.37.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 +3 -1
- package/dest/account/contract.d.ts.map +1 -1
- package/dest/account/contract.js +1 -1
- package/dest/account/interface.d.ts +2 -0
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/interface.js +1 -1
- package/dest/account_manager/deploy_account_method.d.ts +2 -2
- package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_method.js +3 -3
- package/dest/account_manager/deploy_account_sent_tx.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_sent_tx.js +1 -1
- package/dest/account_manager/index.d.ts +9 -9
- package/dest/account_manager/index.d.ts.map +1 -1
- package/dest/account_manager/index.js +15 -18
- package/dest/api/abi.d.ts +1 -1
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/abi.js +2 -2
- package/dest/api/wallet.d.ts +1 -1
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +2 -2
- package/dest/contract/contract.d.ts +4 -5
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +7 -8
- package/dest/contract/contract_base.d.ts +2 -30
- 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 +0 -1
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +11 -13
- package/dest/contract/deploy_method.d.ts +6 -9
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +6 -7
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +1 -1
- package/dest/deployment/contract_deployer.d.ts +3 -3
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/deployment/contract_deployer.js +5 -5
- package/dest/deployment/deploy_instance.d.ts.map +1 -1
- package/dest/deployment/deploy_instance.js +3 -3
- package/dest/entrypoint/default_entrypoint.js +4 -3
- package/dest/entrypoint/default_multi_call_entrypoint.js +5 -5
- package/dest/fee/private_fee_payment_method.js +3 -3
- package/dest/index.d.ts +3 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +4 -3
- package/dest/wallet/account_wallet.d.ts +1 -0
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +4 -1
- package/dest/wallet/account_wallet_with_private_key.d.ts +5 -5
- package/dest/wallet/account_wallet_with_private_key.d.ts.map +1 -1
- package/dest/wallet/account_wallet_with_private_key.js +6 -6
- package/dest/wallet/base_wallet.d.ts +4 -2
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +6 -3
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +6 -2
- package/dest/wallet/signerless_wallet.d.ts +1 -0
- package/dest/wallet/signerless_wallet.d.ts.map +1 -1
- package/dest/wallet/signerless_wallet.js +4 -1
- package/package.json +15 -7
- package/src/account/contract.ts +3 -1
- package/src/account/interface.ts +3 -0
- package/src/account_manager/deploy_account_method.ts +4 -5
- package/src/account_manager/deploy_account_sent_tx.ts +1 -1
- package/src/account_manager/index.ts +18 -26
- package/src/api/abi.ts +1 -1
- package/src/api/wallet.ts +7 -1
- package/src/contract/contract.ts +7 -9
- package/src/contract/contract_base.ts +8 -30
- package/src/contract/contract_function_interaction.ts +10 -13
- package/src/contract/deploy_method.ts +8 -12
- package/src/contract/deploy_sent_tx.ts +1 -1
- package/src/deployment/contract_deployer.ts +3 -4
- package/src/deployment/deploy_instance.ts +1 -2
- package/src/entrypoint/default_entrypoint.ts +2 -2
- package/src/entrypoint/default_multi_call_entrypoint.ts +4 -4
- package/src/fee/private_fee_payment_method.ts +2 -2
- package/src/index.ts +9 -2
- package/src/wallet/account_wallet.ts +5 -1
- package/src/wallet/account_wallet_with_private_key.ts +5 -5
- package/src/wallet/base_wallet.ts +8 -9
- package/src/wallet/index.ts +5 -1
- package/src/wallet/signerless_wallet.ts +4 -0
|
@@ -4,17 +4,17 @@ import { AccountWallet } from './account_wallet.js';
|
|
|
4
4
|
* implementing the wallet interface but useful for testing purposes or exporting
|
|
5
5
|
* an account to another pxe.
|
|
6
6
|
*/
|
|
7
|
-
export class
|
|
8
|
-
constructor(pxe, account,
|
|
7
|
+
export class AccountWalletWithSecretKey extends AccountWallet {
|
|
8
|
+
constructor(pxe, account, secretKey,
|
|
9
9
|
/** Deployment salt for this account contract. */
|
|
10
10
|
salt) {
|
|
11
11
|
super(pxe, account);
|
|
12
|
-
this.
|
|
12
|
+
this.secretKey = secretKey;
|
|
13
13
|
this.salt = salt;
|
|
14
14
|
}
|
|
15
15
|
/** Returns the encryption private key associated with this account. */
|
|
16
|
-
|
|
17
|
-
return this.
|
|
16
|
+
getSecretKey() {
|
|
17
|
+
return this.secretKey;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXRfd2l0aF9wcml2YXRlX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvYWNjb3VudF93YWxsZXRfd2l0aF9wcml2YXRlX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBQzNELFlBQ0UsR0FBUSxFQUNSLE9BQXlCLEVBQ2pCLFNBQWE7SUFDckIsaURBQWlEO0lBQ2pDLElBQVU7UUFFMUIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUpaLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFFTCxTQUFJLEdBQUosSUFBSSxDQUFNO0lBRzVCLENBQUM7SUFFRCx1RUFBdUU7SUFDaEUsWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { type AuthWitness, type ExtendedNote, type FunctionCall, type GetUnencryptedLogsResponse, type L2Block, type LogFilter, type NoteFilter, type PXE, type SimulatedTx, type SyncStatus, type Tx, type TxEffect, type TxExecutionRequest, type TxHash, type TxReceipt } from '@aztec/circuit-types';
|
|
3
|
-
import { type AztecAddress, type CompleteAddress, type Fr, type
|
|
3
|
+
import { type AztecAddress, type CompleteAddress, type Fr, type PartialAddress } from '@aztec/circuits.js';
|
|
4
4
|
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
5
5
|
import { type ContractClassWithId, type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
6
6
|
import { type NodeInfo } from '@aztec/types/interfaces';
|
|
@@ -14,6 +14,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
14
14
|
protected readonly pxe: PXE;
|
|
15
15
|
constructor(pxe: PXE);
|
|
16
16
|
abstract getCompleteAddress(): CompleteAddress;
|
|
17
|
+
abstract getPublicKeysHash(): Fr;
|
|
17
18
|
abstract getChainId(): Fr;
|
|
18
19
|
abstract getVersion(): Fr;
|
|
19
20
|
abstract createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest>;
|
|
@@ -31,10 +32,11 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
31
32
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
32
33
|
getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
|
|
33
34
|
addCapsule(capsule: Fr[]): Promise<void>;
|
|
34
|
-
registerAccount(
|
|
35
|
+
registerAccount(secretKey: Fr, partialAddress: PartialAddress): Promise<CompleteAddress>;
|
|
35
36
|
registerRecipient(account: CompleteAddress): Promise<void>;
|
|
36
37
|
getRegisteredAccounts(): Promise<CompleteAddress[]>;
|
|
37
38
|
getRegisteredAccount(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
39
|
+
getRegisteredAccountPublicKeysHash(address: AztecAddress): Promise<Fr | undefined>;
|
|
38
40
|
getRecipients(): Promise<CompleteAddress[]>;
|
|
39
41
|
getRecipient(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
40
42
|
registerContract(contract: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;GAEG;AACH,8BAAsB,UAAW,YAAW,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;gBAAR,GAAG,EAAE,GAAG;IAEvC,QAAQ,CAAC,kBAAkB,IAAI,eAAe;IAE9C,QAAQ,CAAC,iBAAiB,IAAI,EAAE;IAEhC,QAAQ,CAAC,UAAU,IAAI,EAAE;IAEzB,QAAQ,CAAC,UAAU,IAAI,EAAE;IAEzB,QAAQ,CAAC,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE1F,QAAQ,CAAC,aAAa,CACpB,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;QACnD,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GACJ,OAAO,CAAC,WAAW,CAAC;IAEvB,UAAU;IAGV,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAG5F,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAGlE,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAGxC,eAAe,CAAC,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAGxF,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAG1D,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAGnD,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAGjF,kCAAkC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAGlF,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAG3C,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAGzE,gBAAgB,CAAC,QAAQ,EAAE;QACzB,eAAe,CAAC,QAAQ,EAAE,2BAA2B,CAAC;QACtD,0BAA0B,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KACxD,GAAG,OAAO,CAAC,IAAI,CAAC;IAGjB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAGhE,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAGvC,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;IAG5E,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAGjH,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAG/B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAG1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAGhD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIrD,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAGhD,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGzE,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAG1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAGtD,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAG1G,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAG1E,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAGjC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAGhC,yBAAyB;IAGzB,0BAA0B,CAAC,OAAO,EAAE,YAAY;IAGhD,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAGpC,cAAc,CAAC,WAAW,EAAE,WAAW;IAGvC,cAAc,CAAC,WAAW,EAAE,EAAE;IAG9B,iCAAiC,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAG3D,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE"}
|
|
@@ -17,8 +17,8 @@ export class BaseWallet {
|
|
|
17
17
|
addCapsule(capsule) {
|
|
18
18
|
return this.pxe.addCapsule(capsule);
|
|
19
19
|
}
|
|
20
|
-
registerAccount(
|
|
21
|
-
return this.pxe.registerAccount(
|
|
20
|
+
registerAccount(secretKey, partialAddress) {
|
|
21
|
+
return this.pxe.registerAccount(secretKey, partialAddress);
|
|
22
22
|
}
|
|
23
23
|
registerRecipient(account) {
|
|
24
24
|
return this.pxe.registerRecipient(account);
|
|
@@ -29,6 +29,9 @@ export class BaseWallet {
|
|
|
29
29
|
getRegisteredAccount(address) {
|
|
30
30
|
return this.pxe.getRegisteredAccount(address);
|
|
31
31
|
}
|
|
32
|
+
getRegisteredAccountPublicKeysHash(address) {
|
|
33
|
+
return this.pxe.getRegisteredAccountPublicKeysHash(address);
|
|
34
|
+
}
|
|
32
35
|
getRecipients() {
|
|
33
36
|
return this.pxe.getRecipients();
|
|
34
37
|
}
|
|
@@ -109,4 +112,4 @@ export class BaseWallet {
|
|
|
109
112
|
return this.pxe.isContractPubliclyDeployed(address);
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUE0QjNDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQWEsRUFBRSxjQUE4QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELG9CQUFvQixDQUFDLE9BQXFCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,YAAY,EACrB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,YAAY,EACrB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,aAAa,CAAC,CAYxB"}
|
package/dest/wallet/index.js
CHANGED
|
@@ -15,8 +15,12 @@ export async function getWallet(pxe, address, accountContract) {
|
|
|
15
15
|
if (!completeAddress) {
|
|
16
16
|
throw new Error(`Account ${address} not found`);
|
|
17
17
|
}
|
|
18
|
+
const publicKeysHash = await pxe.getRegisteredAccountPublicKeysHash(address);
|
|
19
|
+
if (!publicKeysHash) {
|
|
20
|
+
throw new Error(`Public keys hash for account ${address} not found`);
|
|
21
|
+
}
|
|
18
22
|
const nodeInfo = await pxe.getNodeInfo();
|
|
19
|
-
const entrypoint = accountContract.getInterface(completeAddress, nodeInfo);
|
|
23
|
+
const entrypoint = accountContract.getInterface(completeAddress, publicKeysHash, nodeInfo);
|
|
20
24
|
return new AccountWallet(pxe, entrypoint);
|
|
21
25
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdCQUF3QixDQUFDO0FBRXZDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUM3QixHQUFRLEVBQ1IsT0FBcUIsRUFDckIsZUFBZ0M7SUFFaEMsTUFBTSxlQUFlLEdBQUcsTUFBTSxHQUFHLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxPQUFPLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsT0FBTyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzVDLENBQUMifQ==
|
|
@@ -11,6 +11,7 @@ export declare class SignerlessWallet extends BaseWallet {
|
|
|
11
11
|
createTxExecutionRequest(execution: ExecutionRequestInit): Promise<TxExecutionRequest>;
|
|
12
12
|
getChainId(): Fr;
|
|
13
13
|
getVersion(): Fr;
|
|
14
|
+
getPublicKeysHash(): Fr;
|
|
14
15
|
getCompleteAddress(): CompleteAddress;
|
|
15
16
|
createAuthWit(_messageHash: Fr): Promise<AuthWitness>;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxB,OAAO,CAAC,UAAU,CAAC;gBAA7B,GAAG,EAAE,GAAG,EAAU,UAAU,CAAC,iCAAqB;IAIxD,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU5F,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAGtD"}
|
|
1
|
+
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxB,OAAO,CAAC,UAAU,CAAC;gBAA7B,GAAG,EAAE,GAAG,EAAU,UAAU,CAAC,iCAAqB;IAIxD,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU5F,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB,iBAAiB,IAAI,EAAE;IAIvB,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAGtD"}
|
|
@@ -22,6 +22,9 @@ export class SignerlessWallet extends BaseWallet {
|
|
|
22
22
|
getVersion() {
|
|
23
23
|
throw new Error('Method not implemented.');
|
|
24
24
|
}
|
|
25
|
+
getPublicKeysHash() {
|
|
26
|
+
throw new Error('Method not implemented.');
|
|
27
|
+
}
|
|
25
28
|
getCompleteAddress() {
|
|
26
29
|
throw new Error('Method not implemented.');
|
|
27
30
|
}
|
|
@@ -29,4 +32,4 @@ export class SignerlessWallet extends BaseWallet {
|
|
|
29
32
|
throw new Error('Method not implemented.');
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksR0FBUSxFQUFVLFVBQWdDO1FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURpQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUU5RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQStCO1FBQzVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xFLFVBQVUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFlBQWdCO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YifQ==
|
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.
|
|
4
|
+
"version": "0.37.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dest/index.js",
|
|
@@ -54,15 +54,23 @@
|
|
|
54
54
|
},
|
|
55
55
|
"extensionsToTreatAsEsm": [
|
|
56
56
|
".ts"
|
|
57
|
+
],
|
|
58
|
+
"reporters": [
|
|
59
|
+
[
|
|
60
|
+
"default",
|
|
61
|
+
{
|
|
62
|
+
"summaryThreshold": 9999
|
|
63
|
+
}
|
|
64
|
+
]
|
|
57
65
|
]
|
|
58
66
|
},
|
|
59
67
|
"dependencies": {
|
|
60
|
-
"@aztec/circuit-types": "0.
|
|
61
|
-
"@aztec/circuits.js": "0.
|
|
62
|
-
"@aztec/ethereum": "0.
|
|
63
|
-
"@aztec/foundation": "0.
|
|
64
|
-
"@aztec/protocol-contracts": "0.
|
|
65
|
-
"@aztec/types": "0.
|
|
68
|
+
"@aztec/circuit-types": "0.37.0",
|
|
69
|
+
"@aztec/circuits.js": "0.37.0",
|
|
70
|
+
"@aztec/ethereum": "0.37.0",
|
|
71
|
+
"@aztec/foundation": "0.37.0",
|
|
72
|
+
"@aztec/protocol-contracts": "0.37.0",
|
|
73
|
+
"@aztec/types": "0.37.0",
|
|
66
74
|
"tslib": "^2.4.0"
|
|
67
75
|
},
|
|
68
76
|
"devDependencies": {
|
package/src/account/contract.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type CompleteAddress } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
2
3
|
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
3
4
|
import { type NodeInfo } from '@aztec/types/interfaces';
|
|
4
5
|
|
|
@@ -25,10 +26,11 @@ export interface AccountContract {
|
|
|
25
26
|
* The account interface is responsible for assembling tx requests given requested function calls, and
|
|
26
27
|
* for creating signed auth witnesses given action identifiers (message hashes).
|
|
27
28
|
* @param address - Address where this account contract is deployed.
|
|
29
|
+
* @param publicKeysHash - Hash of the public keys used to authorize actions.
|
|
28
30
|
* @param nodeInfo - Info on the chain where it is deployed.
|
|
29
31
|
* @returns An account interface instance for creating tx requests and authorizing actions.
|
|
30
32
|
*/
|
|
31
|
-
getInterface(address: CompleteAddress, nodeInfo: NodeInfo): AccountInterface;
|
|
33
|
+
getInterface(address: CompleteAddress, publicKeysHash: Fr, nodeInfo: NodeInfo): AccountInterface;
|
|
32
34
|
|
|
33
35
|
/**
|
|
34
36
|
* Returns the auth witness provider for the given address.
|
package/src/account/interface.ts
CHANGED
|
@@ -42,6 +42,9 @@ export interface AccountInterface extends AuthWitnessProvider, EntrypointInterfa
|
|
|
42
42
|
/** Returns the complete address for this account. */
|
|
43
43
|
getCompleteAddress(): CompleteAddress;
|
|
44
44
|
|
|
45
|
+
/** Returns the public keys hash for this account. */
|
|
46
|
+
getPublicKeysHash(): Fr;
|
|
47
|
+
|
|
45
48
|
/** Returns the address for this account. */
|
|
46
49
|
getAddress(): AztecAddress;
|
|
47
50
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { FunctionData } from '@aztec/circuits.js';
|
|
1
|
+
import { type Fr, FunctionData } from '@aztec/circuits.js';
|
|
3
2
|
import {
|
|
4
3
|
type ContractArtifact,
|
|
5
4
|
type FunctionArtifact,
|
|
@@ -23,7 +22,7 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
23
22
|
|
|
24
23
|
constructor(
|
|
25
24
|
authWitnessProvider: AuthWitnessProvider,
|
|
26
|
-
|
|
25
|
+
publicKeysHash: Fr,
|
|
27
26
|
wallet: Wallet,
|
|
28
27
|
artifact: ContractArtifact,
|
|
29
28
|
args: any[] = [],
|
|
@@ -31,7 +30,7 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
31
30
|
feePaymentNameOrArtifact?: string | FunctionArtifact,
|
|
32
31
|
) {
|
|
33
32
|
super(
|
|
34
|
-
|
|
33
|
+
publicKeysHash,
|
|
35
34
|
wallet,
|
|
36
35
|
artifact,
|
|
37
36
|
(address, wallet) => Contract.at(address, artifact, wallet),
|
|
@@ -46,7 +45,7 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
46
45
|
: feePaymentNameOrArtifact;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
protected async getInitializeFunctionCalls(options: DeployOptions): Promise<ExecutionRequestInit> {
|
|
48
|
+
protected override async getInitializeFunctionCalls(options: DeployOptions): Promise<ExecutionRequestInit> {
|
|
50
49
|
const exec = await super.getInitializeFunctionCalls(options);
|
|
51
50
|
|
|
52
51
|
if (options.fee && this.#feePaymentArtifact) {
|
|
@@ -34,7 +34,7 @@ export class DeployAccountSentTx extends SentTx {
|
|
|
34
34
|
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
35
35
|
* @returns The transaction receipt with the wallet for the deployed account contract.
|
|
36
36
|
*/
|
|
37
|
-
public async wait(opts: WaitOpts = DefaultWaitOpts): Promise<DeployAccountTxReceipt> {
|
|
37
|
+
public override async wait(opts: WaitOpts = DefaultWaitOpts): Promise<DeployAccountTxReceipt> {
|
|
38
38
|
const receipt = await super.wait(opts);
|
|
39
39
|
const wallet = await this.getWalletPromise;
|
|
40
40
|
await waitForAccountSynch(this.pxe, wallet.getCompleteAddress(), opts);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CompleteAddress, type
|
|
2
|
-
import {
|
|
1
|
+
import { CompleteAddress, type PXE } from '@aztec/circuit-types';
|
|
2
|
+
import { deriveKeys, getContractInstanceFromDeployParams } from '@aztec/circuits.js';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
5
5
|
|
|
@@ -10,8 +10,7 @@ import { type DeployOptions } from '../contract/deploy_method.js';
|
|
|
10
10
|
import { DefaultWaitOpts, type WaitOpts } from '../contract/sent_tx.js';
|
|
11
11
|
import { DefaultMultiCallEntrypoint } from '../entrypoint/default_multi_call_entrypoint.js';
|
|
12
12
|
import { waitForAccountSynch } from '../utils/account.js';
|
|
13
|
-
import {
|
|
14
|
-
import { AccountWalletWithPrivateKey, SignerlessWallet } from '../wallet/index.js';
|
|
13
|
+
import { AccountWalletWithSecretKey, SignerlessWallet } from '../wallet/index.js';
|
|
15
14
|
import { DeployAccountMethod } from './deploy_account_method.js';
|
|
16
15
|
import { DeployAccountSentTx } from './deploy_account_sent_tx.js';
|
|
17
16
|
|
|
@@ -31,23 +30,18 @@ export class AccountManager {
|
|
|
31
30
|
// TODO(@spalladino): Does it make sense to have both completeAddress and instance?
|
|
32
31
|
private completeAddress?: CompleteAddress;
|
|
33
32
|
private instance?: ContractInstanceWithAddress;
|
|
34
|
-
private
|
|
33
|
+
private publicKeysHash?: Fr;
|
|
35
34
|
private deployMethod?: DeployAccountMethod;
|
|
36
35
|
|
|
37
|
-
constructor(
|
|
38
|
-
private pxe: PXE,
|
|
39
|
-
private encryptionPrivateKey: GrumpkinPrivateKey,
|
|
40
|
-
private accountContract: AccountContract,
|
|
41
|
-
salt?: Salt,
|
|
42
|
-
) {
|
|
36
|
+
constructor(private pxe: PXE, private secretKey: Fr, private accountContract: AccountContract, salt?: Salt) {
|
|
43
37
|
this.salt = salt !== undefined ? new Fr(salt) : Fr.random();
|
|
44
38
|
}
|
|
45
39
|
|
|
46
|
-
protected
|
|
47
|
-
if (!this.
|
|
48
|
-
this.
|
|
40
|
+
protected getPublicKeysHash() {
|
|
41
|
+
if (!this.publicKeysHash) {
|
|
42
|
+
this.publicKeysHash = deriveKeys(this.secretKey).publicKeysHash;
|
|
49
43
|
}
|
|
50
|
-
return this.
|
|
44
|
+
return this.publicKeysHash;
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
/**
|
|
@@ -57,7 +51,7 @@ export class AccountManager {
|
|
|
57
51
|
public async getAccount(): Promise<AccountInterface> {
|
|
58
52
|
const nodeInfo = await this.pxe.getNodeInfo();
|
|
59
53
|
const completeAddress = this.getCompleteAddress();
|
|
60
|
-
return this.accountContract.getInterface(completeAddress, nodeInfo);
|
|
54
|
+
return this.accountContract.getInterface(completeAddress, this.getPublicKeysHash(), nodeInfo);
|
|
61
55
|
}
|
|
62
56
|
|
|
63
57
|
/**
|
|
@@ -67,9 +61,8 @@ export class AccountManager {
|
|
|
67
61
|
*/
|
|
68
62
|
public getCompleteAddress(): CompleteAddress {
|
|
69
63
|
if (!this.completeAddress) {
|
|
70
|
-
const encryptionPublicKey = generatePublicKey(this.encryptionPrivateKey);
|
|
71
64
|
const instance = this.getInstance();
|
|
72
|
-
this.completeAddress = CompleteAddress.
|
|
65
|
+
this.completeAddress = CompleteAddress.fromSecretKeyAndInstance(this.secretKey, instance);
|
|
73
66
|
}
|
|
74
67
|
return this.completeAddress;
|
|
75
68
|
}
|
|
@@ -81,11 +74,10 @@ export class AccountManager {
|
|
|
81
74
|
*/
|
|
82
75
|
public getInstance(): ContractInstanceWithAddress {
|
|
83
76
|
if (!this.instance) {
|
|
84
|
-
const encryptionPublicKey = generatePublicKey(this.encryptionPrivateKey);
|
|
85
77
|
this.instance = getContractInstanceFromDeployParams(this.accountContract.getContractArtifact(), {
|
|
86
78
|
constructorArgs: this.accountContract.getDeploymentArgs(),
|
|
87
79
|
salt: this.salt,
|
|
88
|
-
|
|
80
|
+
publicKeysHash: this.getPublicKeysHash(),
|
|
89
81
|
});
|
|
90
82
|
}
|
|
91
83
|
return this.instance;
|
|
@@ -96,9 +88,9 @@ export class AccountManager {
|
|
|
96
88
|
* instances to be interacted with from this account.
|
|
97
89
|
* @returns A Wallet instance.
|
|
98
90
|
*/
|
|
99
|
-
public async getWallet(): Promise<
|
|
91
|
+
public async getWallet(): Promise<AccountWalletWithSecretKey> {
|
|
100
92
|
const entrypoint = await this.getAccount();
|
|
101
|
-
return new
|
|
93
|
+
return new AccountWalletWithSecretKey(this.pxe, entrypoint, this.secretKey, this.salt);
|
|
102
94
|
}
|
|
103
95
|
|
|
104
96
|
/**
|
|
@@ -108,7 +100,7 @@ export class AccountManager {
|
|
|
108
100
|
* @param opts - Options to wait for the account to be synched.
|
|
109
101
|
* @returns A Wallet instance.
|
|
110
102
|
*/
|
|
111
|
-
public async register(opts: WaitOpts = DefaultWaitOpts): Promise<
|
|
103
|
+
public async register(opts: WaitOpts = DefaultWaitOpts): Promise<AccountWalletWithSecretKey> {
|
|
112
104
|
await this.#register();
|
|
113
105
|
await this.pxe.registerContract({
|
|
114
106
|
artifact: this.accountContract.getContractArtifact(),
|
|
@@ -133,7 +125,7 @@ export class AccountManager {
|
|
|
133
125
|
);
|
|
134
126
|
}
|
|
135
127
|
await this.#register();
|
|
136
|
-
const encryptionPublicKey = this.
|
|
128
|
+
const encryptionPublicKey = this.getPublicKeysHash();
|
|
137
129
|
const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
|
|
138
130
|
const deployWallet = new SignerlessWallet(this.pxe, new DefaultMultiCallEntrypoint(chainId, protocolVersion));
|
|
139
131
|
|
|
@@ -185,7 +177,7 @@ export class AccountManager {
|
|
|
185
177
|
* @param opts - Options to wait for the tx to be mined.
|
|
186
178
|
* @returns A Wallet instance.
|
|
187
179
|
*/
|
|
188
|
-
public async waitSetup(opts: WaitOpts = DefaultWaitOpts): Promise<
|
|
180
|
+
public async waitSetup(opts: WaitOpts = DefaultWaitOpts): Promise<AccountWalletWithSecretKey> {
|
|
189
181
|
await (this.isDeployable() ? this.deploy().wait(opts) : this.register());
|
|
190
182
|
return this.getWallet();
|
|
191
183
|
}
|
|
@@ -199,6 +191,6 @@ export class AccountManager {
|
|
|
199
191
|
|
|
200
192
|
async #register(): Promise<void> {
|
|
201
193
|
const completeAddress = this.getCompleteAddress();
|
|
202
|
-
await this.pxe.registerAccount(this.
|
|
194
|
+
await this.pxe.registerAccount(this.secretKey, completeAddress.partialAddress);
|
|
203
195
|
}
|
|
204
196
|
}
|
package/src/api/abi.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { ContractArtifact, FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
|
-
export { loadContractArtifact } from '@aztec/types/abi';
|
|
2
|
+
export { loadContractArtifact, contractArtifactToBuffer, contractArtifactFromBuffer } from '@aztec/types/abi';
|
|
3
3
|
export { NoirCompiledContract } from '@aztec/types/noir';
|
package/src/api/wallet.ts
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {
|
|
2
|
+
AccountWallet,
|
|
3
|
+
AccountWalletWithSecretKey as AccountWalletWithSecretKey,
|
|
4
|
+
SignerlessWallet,
|
|
5
|
+
Wallet,
|
|
6
|
+
getWallet,
|
|
7
|
+
} from '../wallet/index.js';
|
package/src/contract/contract.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { type PublicKey } from '@aztec/circuit-types';
|
|
2
1
|
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
3
2
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
|
-
import {
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
4
|
|
|
6
5
|
import { type Wallet } from '../account/index.js';
|
|
7
6
|
import { ContractBase } from './contract_base.js';
|
|
@@ -20,7 +19,6 @@ export class Contract extends ContractBase {
|
|
|
20
19
|
* @param address - The deployed contract's address.
|
|
21
20
|
* @param artifact - Build artifact of the contract.
|
|
22
21
|
* @param wallet - The wallet to use when interacting with the contract.
|
|
23
|
-
* @param portalContract - The portal contract address on L1, if any.
|
|
24
22
|
* @returns A promise that resolves to a new Contract instance.
|
|
25
23
|
*/
|
|
26
24
|
public static async at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Promise<Contract> {
|
|
@@ -40,25 +38,25 @@ export class Contract extends ContractBase {
|
|
|
40
38
|
*/
|
|
41
39
|
public static deploy(wallet: Wallet, artifact: ContractArtifact, args: any[], constructorName?: string) {
|
|
42
40
|
const postDeployCtor = (address: AztecAddress, wallet: Wallet) => Contract.at(address, artifact, wallet);
|
|
43
|
-
return new DeployMethod(
|
|
41
|
+
return new DeployMethod(Fr.ZERO, wallet, artifact, postDeployCtor, args, constructorName);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
/**
|
|
47
|
-
* Creates a tx to deploy a new instance of a contract using the specified public
|
|
48
|
-
* @param
|
|
45
|
+
* Creates a tx to deploy a new instance of a contract using the specified public keys hash to derive the address.
|
|
46
|
+
* @param publicKeysHash - Hash of public keys to use for deriving the address.
|
|
49
47
|
* @param wallet - The wallet for executing the deployment.
|
|
50
48
|
* @param artifact - Build artifact of the contract.
|
|
51
49
|
* @param args - Arguments for the constructor.
|
|
52
50
|
* @param constructorName - The name of the constructor function to call.
|
|
53
51
|
*/
|
|
54
|
-
public static
|
|
55
|
-
|
|
52
|
+
public static deployWithPublicKeysHash(
|
|
53
|
+
publicKeysHash: Fr,
|
|
56
54
|
wallet: Wallet,
|
|
57
55
|
artifact: ContractArtifact,
|
|
58
56
|
args: any[],
|
|
59
57
|
constructorName?: string,
|
|
60
58
|
) {
|
|
61
59
|
const postDeployCtor = (address: AztecAddress, wallet: Wallet) => Contract.at(address, artifact, wallet);
|
|
62
|
-
return new DeployMethod(
|
|
60
|
+
return new DeployMethod(publicKeysHash, wallet, artifact, postDeployCtor, args, constructorName);
|
|
63
61
|
}
|
|
64
62
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { computePartialAddress } from '@aztec/circuits.js';
|
|
2
|
+
import {
|
|
3
|
+
type ContractArtifact,
|
|
4
|
+
type ContractNote,
|
|
5
|
+
type FieldLayout,
|
|
6
|
+
type FunctionArtifact,
|
|
7
|
+
FunctionSelector,
|
|
8
|
+
} from '@aztec/foundation/abi';
|
|
3
9
|
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
4
10
|
|
|
5
11
|
import { type Wallet } from '../account/index.js';
|
|
@@ -16,34 +22,6 @@ export type ContractMethod = ((...args: any[]) => ContractFunctionInteraction) &
|
|
|
16
22
|
readonly selector: FunctionSelector;
|
|
17
23
|
};
|
|
18
24
|
|
|
19
|
-
/**
|
|
20
|
-
* Type representing a field layout in the storage of a contract.
|
|
21
|
-
*/
|
|
22
|
-
type FieldLayout = {
|
|
23
|
-
/**
|
|
24
|
-
* Slot in which the field is stored.
|
|
25
|
-
*/
|
|
26
|
-
slot: Fr;
|
|
27
|
-
/**
|
|
28
|
-
* Type being stored at the slot
|
|
29
|
-
*/
|
|
30
|
-
typ: string;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Type representing a note in use in the contract.
|
|
35
|
-
*/
|
|
36
|
-
type ContractNote = {
|
|
37
|
-
/**
|
|
38
|
-
* Note identifier
|
|
39
|
-
*/
|
|
40
|
-
id: Fr;
|
|
41
|
-
/**
|
|
42
|
-
* Type of the note
|
|
43
|
-
*/
|
|
44
|
-
typ: string;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
25
|
/**
|
|
48
26
|
* Type representing the storage layout of a contract.
|
|
49
27
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type FunctionCall, PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, FunctionData, GasSettings, TxContext } from '@aztec/circuits.js';
|
|
3
|
-
import { type FunctionAbi, FunctionType, encodeArguments } from '@aztec/foundation/abi';
|
|
3
|
+
import { type FunctionAbi, FunctionType, decodeReturnValues, encodeArguments } from '@aztec/foundation/abi';
|
|
4
4
|
|
|
5
5
|
import { type Wallet } from '../account/wallet.js';
|
|
6
6
|
import { BaseContractInteraction, type SendMethodOptions } from './base_contract_interaction.js';
|
|
@@ -73,7 +73,6 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
73
73
|
* 2. It supports `unconstrained`, `private` and `public` functions
|
|
74
74
|
* 3. For `private` execution it:
|
|
75
75
|
* 3.a SKIPS the entrypoint and starts directly at the function
|
|
76
|
-
* 3.b SKIPS public execution entirely
|
|
77
76
|
* 4. For `public` execution it:
|
|
78
77
|
* 4.a Removes the `txRequest` value after ended simulation
|
|
79
78
|
* 4.b Ignores the `from` in the options
|
|
@@ -86,30 +85,28 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
86
85
|
return this.wallet.viewTx(this.functionDao.name, this.args, this.contractAddress, options.from);
|
|
87
86
|
}
|
|
88
87
|
|
|
89
|
-
// TODO: If not unconstrained, we return a size 4 array of fields.
|
|
90
|
-
// TODO: It should instead return the correctly decoded value
|
|
91
|
-
// TODO: The return type here needs to be fixed! @LHerskind
|
|
92
|
-
|
|
93
88
|
if (this.functionDao.functionType == FunctionType.SECRET) {
|
|
94
89
|
const nodeInfo = await this.wallet.getNodeInfo();
|
|
95
90
|
const packedArgs = PackedValues.fromValues(encodeArguments(this.functionDao, this.args));
|
|
91
|
+
const gasSettings = options.gasSettings ?? GasSettings.simulation();
|
|
96
92
|
|
|
97
93
|
const txRequest = TxExecutionRequest.from({
|
|
98
|
-
|
|
94
|
+
firstCallArgsHash: packedArgs.hash,
|
|
99
95
|
origin: this.contractAddress,
|
|
100
96
|
functionData: FunctionData.fromAbi(this.functionDao),
|
|
101
|
-
txContext: TxContext
|
|
102
|
-
|
|
97
|
+
txContext: new TxContext(nodeInfo.chainId, nodeInfo.protocolVersion, gasSettings),
|
|
98
|
+
argsOfCalls: [packedArgs],
|
|
103
99
|
authWitnesses: [],
|
|
104
|
-
gasSettings: options.gasSettings ?? GasSettings.simulation(),
|
|
105
100
|
});
|
|
106
|
-
const simulatedTx = await this.pxe.simulateTx(txRequest,
|
|
107
|
-
|
|
101
|
+
const simulatedTx = await this.pxe.simulateTx(txRequest, true, options.from ?? this.wallet.getAddress());
|
|
102
|
+
const flattened = simulatedTx.privateReturnValues;
|
|
103
|
+
return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
|
|
108
104
|
} else {
|
|
109
105
|
const txRequest = await this.create();
|
|
110
106
|
const simulatedTx = await this.pxe.simulateTx(txRequest, true);
|
|
111
107
|
this.txRequest = undefined;
|
|
112
|
-
|
|
108
|
+
const flattened = simulatedTx.publicOutput?.publicReturnValues;
|
|
109
|
+
return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
|
|
113
110
|
}
|
|
114
111
|
}
|
|
115
112
|
}
|