@aztec/aztec.js 0.76.4 → 0.77.0-testnet-ignition.21
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 +9 -5
- package/dest/account/contract.d.ts.map +1 -1
- package/dest/account/contract.js +15 -2
- package/dest/account/index.d.ts +2 -2
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/index.js +8 -1
- package/dest/account/interface.d.ts +5 -4
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/interface.js +4 -3
- package/dest/account/wallet.d.ts +4 -3
- package/dest/account/wallet.d.ts.map +1 -1
- package/dest/account/wallet.js +3 -2
- package/dest/account_manager/deploy_account_method.d.ts +5 -5
- package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_method.js +22 -25
- package/dest/account_manager/deploy_account_sent_tx.d.ts +4 -3
- package/dest/account_manager/deploy_account_sent_tx.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_sent_tx.js +16 -17
- package/dest/account_manager/index.d.ts +20 -11
- package/dest/account_manager/index.d.ts.map +1 -1
- package/dest/account_manager/index.js +89 -87
- package/dest/api/abi.d.ts +2 -3
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/abi.js +1 -3
- package/dest/api/account.d.ts +1 -2
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +1 -2
- package/dest/api/addresses.d.ts +2 -2
- package/dest/api/addresses.d.ts.map +1 -1
- package/dest/api/addresses.js +2 -3
- package/dest/api/cheat_codes.d.ts +4 -4
- package/dest/api/cheat_codes.d.ts.map +1 -1
- package/dest/api/cheat_codes.js +10 -15
- package/dest/api/deployment.js +0 -1
- package/dest/api/entrypoint.js +0 -1
- package/dest/api/eth_address.js +0 -1
- package/dest/api/ethereum/anvil_test_watcher.d.ts +10 -6
- package/dest/api/ethereum/anvil_test_watcher.d.ts.map +1 -1
- package/dest/api/ethereum/anvil_test_watcher.js +43 -18
- package/dest/api/ethereum/chain_monitor.d.ts +6 -2
- package/dest/api/ethereum/chain_monitor.d.ts.map +1 -1
- package/dest/api/ethereum/chain_monitor.js +24 -8
- package/dest/api/ethereum/cheat_codes.d.ts +14 -3
- package/dest/api/ethereum/cheat_codes.d.ts.map +1 -1
- package/dest/api/ethereum/cheat_codes.js +106 -53
- package/dest/api/ethereum/index.d.ts +1 -1
- package/dest/api/ethereum/index.d.ts.map +1 -1
- package/dest/api/ethereum/index.js +1 -2
- package/dest/api/ethereum/l1_contracts.d.ts +1 -1
- package/dest/api/ethereum/l1_contracts.d.ts.map +1 -1
- package/dest/api/ethereum/l1_contracts.js +4 -6
- package/dest/api/ethereum/portal_manager.d.ts +16 -12
- package/dest/api/ethereum/portal_manager.d.ts.map +1 -1
- package/dest/api/ethereum/portal_manager.js +134 -115
- package/dest/api/fee.d.ts +0 -1
- package/dest/api/fee.d.ts.map +1 -1
- package/dest/api/fee.js +0 -2
- package/dest/api/fields.js +0 -1
- package/dest/api/interfaces/pxe.d.ts +1 -1
- package/dest/api/interfaces/pxe.d.ts.map +1 -1
- package/dest/api/interfaces/pxe.js +1 -2
- package/dest/api/log.js +0 -1
- package/dest/api/log_id.d.ts +1 -1
- package/dest/api/log_id.d.ts.map +1 -1
- package/dest/api/log_id.js +1 -2
- package/dest/api/tx_hash.d.ts +1 -1
- package/dest/api/tx_hash.d.ts.map +1 -1
- package/dest/api/tx_hash.js +1 -2
- package/dest/api/wallet.d.ts +1 -1
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +1 -2
- package/dest/contract/base_contract_interaction.d.ts +21 -5
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +97 -55
- package/dest/contract/batch_call.d.ts +3 -2
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +64 -40
- package/dest/contract/checker.d.ts +1 -1
- package/dest/contract/checker.d.ts.map +1 -1
- package/dest/contract/checker.js +29 -20
- package/dest/contract/contract.d.ts +4 -4
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +30 -28
- package/dest/contract/contract_base.d.ts +5 -5
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +22 -31
- package/dest/contract/contract_function_interaction.d.ts +9 -8
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +63 -51
- package/dest/contract/deploy_method.d.ts +14 -11
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +115 -87
- package/dest/contract/deploy_proven_tx.d.ts +6 -4
- package/dest/contract/deploy_proven_tx.d.ts.map +1 -1
- package/dest/contract/deploy_proven_tx.js +8 -11
- package/dest/contract/deploy_sent_tx.d.ts +8 -6
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +19 -22
- package/dest/contract/get_gas_limits.d.ts +2 -2
- package/dest/contract/get_gas_limits.d.ts.map +1 -1
- package/dest/contract/get_gas_limits.js +2 -4
- package/dest/contract/index.js +2 -4
- package/dest/{deployment → contract}/protocol_contracts.d.ts +4 -2
- package/dest/contract/protocol_contracts.d.ts.map +1 -0
- package/dest/contract/protocol_contracts.js +26 -0
- package/dest/contract/proven_tx.d.ts +3 -2
- package/dest/contract/proven_tx.d.ts.map +1 -1
- package/dest/contract/proven_tx.js +8 -11
- package/dest/contract/sent_tx.d.ts +3 -2
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +33 -35
- package/dest/contract/unsafe_contract.d.ts +3 -3
- package/dest/contract/unsafe_contract.d.ts.map +1 -1
- package/dest/contract/unsafe_contract.js +2 -10
- package/dest/deployment/broadcast_function.d.ts +3 -3
- package/dest/deployment/broadcast_function.d.ts.map +1 -1
- package/dest/deployment/broadcast_function.js +39 -32
- 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 +16 -15
- package/dest/deployment/deploy_instance.d.ts +3 -3
- package/dest/deployment/deploy_instance.d.ts.map +1 -1
- package/dest/deployment/deploy_instance.js +3 -5
- package/dest/deployment/index.js +0 -1
- package/dest/deployment/register_class.d.ts +3 -3
- package/dest/deployment/register_class.d.ts.map +1 -1
- package/dest/deployment/register_class.js +19 -14
- package/dest/entrypoint/default_entrypoint.d.ts +2 -2
- package/dest/entrypoint/default_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_entrypoint.js +11 -9
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts +2 -2
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_multi_call_entrypoint.js +68 -25
- package/dest/entrypoint/entrypoint.d.ts +7 -3
- package/dest/entrypoint/entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/entrypoint.js +0 -1
- package/dest/entrypoint/payload.d.ts +8 -5
- package/dest/entrypoint/payload.d.ts.map +1 -1
- package/dest/entrypoint/payload.js +78 -85
- package/dest/fee/fee_juice_payment_method.d.ts +3 -3
- package/dest/fee/fee_juice_payment_method.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method.js +5 -4
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts +5 -4
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.js +18 -20
- package/dest/fee/fee_payment_method.d.ts +3 -3
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/fee_payment_method.js +3 -2
- package/dest/fee/private_fee_payment_method.d.ts +5 -5
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +40 -38
- package/dest/fee/public_fee_payment_method.d.ts +5 -5
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +38 -35
- package/dest/index.d.ts +25 -12
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +24 -14
- package/dest/rpc_clients/index.js +0 -1
- package/dest/rpc_clients/node/index.d.ts +2 -1
- package/dest/rpc_clients/node/index.d.ts.map +1 -1
- package/dest/rpc_clients/node/index.js +35 -18
- package/dest/rpc_clients/pxe_client.d.ts +2 -2
- package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
- package/dest/rpc_clients/pxe_client.js +9 -7
- package/dest/utils/abi_types.d.ts +4 -1
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/abi_types.js +1 -2
- package/dest/utils/authwit.d.ts +3 -2
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +18 -17
- package/dest/utils/aztec_cheatcodes.d.ts +4 -2
- package/dest/utils/aztec_cheatcodes.d.ts.map +1 -1
- package/dest/utils/aztec_cheatcodes.js +32 -41
- package/dest/utils/field_compressed_string.js +3 -5
- package/dest/utils/index.d.ts +1 -1
- package/dest/utils/index.d.ts.map +1 -1
- package/dest/utils/index.js +1 -2
- package/dest/utils/node.d.ts +3 -3
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +4 -6
- package/dest/utils/pub_key.d.ts +2 -1
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +2 -4
- package/dest/utils/pxe.d.ts +2 -2
- package/dest/utils/pxe.d.ts.map +1 -1
- package/dest/utils/pxe.js +3 -5
- package/dest/wallet/account_wallet.d.ts +8 -5
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +120 -83
- 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 +10 -16
- package/dest/wallet/base_wallet.d.ts +19 -10
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +12 -13
- package/dest/wallet/index.d.ts +3 -3
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +2 -4
- package/dest/wallet/signerless_wallet.d.ts +7 -4
- package/dest/wallet/signerless_wallet.d.ts.map +1 -1
- package/dest/wallet/signerless_wallet.js +4 -6
- package/package.json +10 -14
- package/src/account/contract.ts +22 -5
- package/src/account/index.ts +2 -2
- package/src/account/interface.ts +5 -4
- package/src/account/wallet.ts +4 -3
- package/src/account_manager/deploy_account_method.ts +5 -5
- package/src/account_manager/deploy_account_sent_tx.ts +4 -3
- package/src/account_manager/index.ts +51 -24
- package/src/api/abi.ts +10 -3
- package/src/api/account.ts +8 -3
- package/src/api/addresses.ts +2 -2
- package/src/api/cheat_codes.ts +6 -6
- package/src/api/ethereum/anvil_test_watcher.ts +31 -7
- package/src/api/ethereum/chain_monitor.ts +9 -2
- package/src/api/ethereum/cheat_codes.ts +65 -24
- package/src/api/ethereum/index.ts +5 -1
- package/src/api/ethereum/l1_contracts.ts +1 -1
- package/src/api/ethereum/portal_manager.ts +27 -32
- package/src/api/fee.ts +0 -1
- package/src/api/interfaces/pxe.ts +1 -1
- package/src/api/log_id.ts +1 -1
- package/src/api/tx_hash.ts +1 -1
- package/src/api/wallet.ts +1 -1
- package/src/contract/base_contract_interaction.ts +35 -9
- package/src/contract/batch_call.ts +9 -7
- package/src/contract/checker.ts +1 -1
- package/src/contract/contract.ts +11 -4
- package/src/contract/contract_base.ts +3 -3
- package/src/contract/contract_function_interaction.ts +24 -13
- package/src/contract/deploy_method.ts +27 -18
- package/src/contract/deploy_proven_tx.ts +6 -4
- package/src/contract/deploy_sent_tx.ts +8 -6
- package/src/contract/get_gas_limits.ts +2 -2
- package/src/contract/protocol_contracts.ts +35 -0
- package/src/contract/proven_tx.ts +3 -2
- package/src/contract/sent_tx.ts +3 -2
- package/src/contract/unsafe_contract.ts +3 -3
- package/src/deployment/broadcast_function.ts +47 -40
- package/src/deployment/contract_deployer.ts +4 -3
- package/src/deployment/deploy_instance.ts +5 -5
- package/src/deployment/register_class.ts +25 -18
- package/src/entrypoint/default_entrypoint.ts +5 -5
- package/src/entrypoint/default_multi_call_entrypoint.ts +5 -4
- package/src/entrypoint/entrypoint.ts +7 -3
- package/src/entrypoint/payload.ts +11 -6
- package/src/fee/fee_juice_payment_method.ts +5 -3
- package/src/fee/fee_juice_payment_method_with_claim.ts +11 -10
- package/src/fee/fee_payment_method.ts +3 -3
- package/src/fee/private_fee_payment_method.ts +10 -11
- package/src/fee/public_fee_payment_method.ts +11 -11
- package/src/index.ts +35 -58
- package/src/rpc_clients/node/index.ts +2 -1
- package/src/rpc_clients/pxe_client.ts +2 -2
- package/src/utils/abi_types.ts +4 -7
- package/src/utils/authwit.ts +5 -2
- package/src/utils/aztec_cheatcodes.ts +5 -3
- package/src/utils/field_compressed_string.ts +1 -1
- package/src/utils/index.ts +1 -1
- package/src/utils/node.ts +3 -3
- package/src/utils/pub_key.ts +3 -2
- package/src/utils/pxe.ts +2 -2
- package/src/wallet/account_wallet.ts +8 -5
- package/src/wallet/account_wallet_with_private_key.ts +5 -4
- package/src/wallet/base_wallet.ts +37 -46
- package/src/wallet/index.ts +3 -3
- package/src/wallet/signerless_wallet.ts +7 -4
- package/dest/deployment/protocol_contracts.d.ts.map +0 -1
- package/dest/deployment/protocol_contracts.js +0 -14
- package/dest/fee/no_fee_payment_method.d.ts +0 -13
- package/dest/fee/no_fee_payment_method.d.ts.map +0 -1
- package/dest/fee/no_fee_payment_method.js +0 -17
- package/src/deployment/protocol_contracts.ts +0 -17
- package/src/fee/no_fee_payment_method.ts +0 -23
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { Fr } from '@aztec/
|
|
2
|
-
import { FunctionType } from '@aztec/foundation/abi';
|
|
1
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
2
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
3
|
+
import { FunctionType } from '@aztec/stdlib/abi';
|
|
4
4
|
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
5
|
-
import { computeAuthWitMessageHash, computeInnerAuthWitHashFromAction
|
|
5
|
+
import { computeAuthWitMessageHash, computeInnerAuthWitHashFromAction } from '../utils/authwit.js';
|
|
6
6
|
import { BaseWallet } from './base_wallet.js';
|
|
7
7
|
/**
|
|
8
8
|
* A wallet implementation that forwards authentication requests to a provided account.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
constructor(pxe, account)
|
|
12
|
-
super(pxe, [
|
|
13
|
-
|
|
9
|
+
*/ export class AccountWallet extends BaseWallet {
|
|
10
|
+
account;
|
|
11
|
+
constructor(pxe, account){
|
|
12
|
+
super(pxe, [
|
|
13
|
+
account.getAddress()
|
|
14
|
+
]), this.account = account;
|
|
14
15
|
}
|
|
15
16
|
createTxExecutionRequest(exec) {
|
|
16
17
|
return this.account.createTxExecutionRequest(exec);
|
|
@@ -25,24 +26,21 @@ export class AccountWallet extends BaseWallet {
|
|
|
25
26
|
return this.pxe.isL1ToL2MessageSynced(l1ToL2Message);
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
async createAuthWit(messageHashOrIntent) {
|
|
29
|
+
* Computes an authentication witness from either a message hash or an intent.
|
|
30
|
+
*
|
|
31
|
+
* If a message hash is provided, it will create a witness for the hash directly.
|
|
32
|
+
* Otherwise, it will compute the message hash using the intent, along with the
|
|
33
|
+
* chain id and the version values provided by the wallet.
|
|
34
|
+
*
|
|
35
|
+
* @param messageHashOrIntent - The message hash of the intent to approve
|
|
36
|
+
* @returns The authentication witness
|
|
37
|
+
*/ async createAuthWit(messageHashOrIntent) {
|
|
38
38
|
let messageHash;
|
|
39
39
|
if (Buffer.isBuffer(messageHashOrIntent)) {
|
|
40
40
|
messageHash = Fr.fromBuffer(messageHashOrIntent);
|
|
41
|
-
}
|
|
42
|
-
else if (messageHashOrIntent instanceof Fr) {
|
|
41
|
+
} else if (messageHashOrIntent instanceof Fr) {
|
|
43
42
|
messageHash = messageHashOrIntent;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
43
|
+
} else {
|
|
46
44
|
messageHash = await this.getMessageHash(messageHashOrIntent);
|
|
47
45
|
}
|
|
48
46
|
const witness = await this.account.createAuthWit(messageHash);
|
|
@@ -50,28 +48,25 @@ export class AccountWallet extends BaseWallet {
|
|
|
50
48
|
return witness;
|
|
51
49
|
}
|
|
52
50
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
async setPublicAuthWit(messageHashOrIntent, authorized) {
|
|
51
|
+
* Returns a function interaction to set a message hash as authorized or revoked in this account.
|
|
52
|
+
*
|
|
53
|
+
* Public calls can then consume this authorization.
|
|
54
|
+
*
|
|
55
|
+
* @param messageHashOrIntent - The message hash or intent to authorize/revoke
|
|
56
|
+
* @param authorized - True to authorize, false to revoke authorization.
|
|
57
|
+
* @returns - A function interaction.
|
|
58
|
+
*/ async setPublicAuthWit(messageHashOrIntent, authorized) {
|
|
62
59
|
let messageHash;
|
|
63
60
|
if (Buffer.isBuffer(messageHashOrIntent)) {
|
|
64
61
|
messageHash = Fr.fromBuffer(messageHashOrIntent);
|
|
65
|
-
}
|
|
66
|
-
else if (messageHashOrIntent instanceof Fr) {
|
|
62
|
+
} else if (messageHashOrIntent instanceof Fr) {
|
|
67
63
|
messageHash = messageHashOrIntent;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
64
|
+
} else {
|
|
70
65
|
messageHash = await this.getMessageHash(messageHashOrIntent);
|
|
71
66
|
}
|
|
72
67
|
return new ContractFunctionInteraction(this, ProtocolContractAddress.AuthRegistry, this.getSetAuthorizedAbi(), [
|
|
73
68
|
messageHash,
|
|
74
|
-
authorized
|
|
69
|
+
authorized
|
|
75
70
|
]);
|
|
76
71
|
}
|
|
77
72
|
async getInnerHashAndConsumer(intent) {
|
|
@@ -79,57 +74,67 @@ export class AccountWallet extends BaseWallet {
|
|
|
79
74
|
const action = intent.action instanceof ContractFunctionInteraction ? await intent.action.request() : intent.action;
|
|
80
75
|
return {
|
|
81
76
|
innerHash: await computeInnerAuthWitHashFromAction(intent.caller, action),
|
|
82
|
-
consumer: action.to
|
|
77
|
+
consumer: action.to
|
|
78
|
+
};
|
|
79
|
+
} else if (Buffer.isBuffer(intent.innerHash)) {
|
|
80
|
+
return {
|
|
81
|
+
innerHash: Fr.fromBuffer(intent.innerHash),
|
|
82
|
+
consumer: intent.consumer
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
return {
|
|
86
|
+
innerHash: intent.innerHash,
|
|
87
|
+
consumer: intent.consumer
|
|
88
|
+
};
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
getMessageHash(intent) {
|
|
91
|
+
* Returns the message hash for the given intent
|
|
92
|
+
*
|
|
93
|
+
* @param intent - A tuple of (consumer and inner hash) or (caller and action)
|
|
94
|
+
* @returns The message hash
|
|
95
|
+
*/ getMessageHash(intent) {
|
|
97
96
|
const chainId = this.getChainId();
|
|
98
97
|
const version = this.getVersion();
|
|
99
|
-
return computeAuthWitMessageHash(intent, {
|
|
98
|
+
return computeAuthWitMessageHash(intent, {
|
|
99
|
+
chainId,
|
|
100
|
+
version
|
|
101
|
+
});
|
|
100
102
|
}
|
|
101
103
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
async lookupValidity(onBehalfOf, intent) {
|
|
104
|
+
* Lookup the validity of an authwit in private and public contexts.
|
|
105
|
+
*
|
|
106
|
+
* Uses the chain id and version of the wallet.
|
|
107
|
+
*
|
|
108
|
+
* @param onBehalfOf - The address of the "approver"
|
|
109
|
+
* @param intent - The consumer and inner hash or the caller and action to lookup
|
|
110
|
+
*
|
|
111
|
+
* @returns - A struct containing the validity of the authwit in private and public contexts.
|
|
112
|
+
*/ async lookupValidity(onBehalfOf, intent) {
|
|
112
113
|
const { innerHash, consumer } = await this.getInnerHashAndConsumer(intent);
|
|
113
114
|
const messageHash = await this.getMessageHash(intent);
|
|
114
|
-
const results = {
|
|
115
|
+
const results = {
|
|
116
|
+
isValidInPrivate: false,
|
|
117
|
+
isValidInPublic: false
|
|
118
|
+
};
|
|
115
119
|
// Check private
|
|
116
120
|
const witness = await this.getAuthWitness(messageHash);
|
|
117
121
|
if (witness !== undefined) {
|
|
118
|
-
results.isValidInPrivate =
|
|
122
|
+
results.isValidInPrivate = await new ContractFunctionInteraction(this, onBehalfOf, this.getLookupValidityAbi(), [
|
|
119
123
|
consumer,
|
|
120
|
-
innerHash
|
|
121
|
-
]).simulate()
|
|
124
|
+
innerHash
|
|
125
|
+
]).simulate();
|
|
122
126
|
}
|
|
123
127
|
// check public
|
|
124
|
-
results.isValidInPublic =
|
|
128
|
+
results.isValidInPublic = await new ContractFunctionInteraction(this, ProtocolContractAddress.AuthRegistry, this.getIsConsumableAbi(), [
|
|
129
|
+
onBehalfOf,
|
|
130
|
+
messageHash
|
|
131
|
+
]).simulate();
|
|
125
132
|
return results;
|
|
126
133
|
}
|
|
127
|
-
/** Returns the complete address of the account that implements this wallet. */
|
|
128
|
-
getCompleteAddress() {
|
|
134
|
+
/** Returns the complete address of the account that implements this wallet. */ getCompleteAddress() {
|
|
129
135
|
return this.account.getCompleteAddress();
|
|
130
136
|
}
|
|
131
|
-
/** Returns the address of the account that implements this wallet. */
|
|
132
|
-
getAddress() {
|
|
137
|
+
/** Returns the address of the account that implements this wallet. */ getAddress() {
|
|
133
138
|
return this.getCompleteAddress().address;
|
|
134
139
|
}
|
|
135
140
|
getSetAuthorizedAbi() {
|
|
@@ -142,17 +147,21 @@ export class AccountWallet extends BaseWallet {
|
|
|
142
147
|
parameters: [
|
|
143
148
|
{
|
|
144
149
|
name: 'message_hash',
|
|
145
|
-
type: {
|
|
146
|
-
|
|
150
|
+
type: {
|
|
151
|
+
kind: 'field'
|
|
152
|
+
},
|
|
153
|
+
visibility: 'private'
|
|
147
154
|
},
|
|
148
155
|
{
|
|
149
156
|
name: 'authorize',
|
|
150
|
-
type: {
|
|
151
|
-
|
|
152
|
-
|
|
157
|
+
type: {
|
|
158
|
+
kind: 'boolean'
|
|
159
|
+
},
|
|
160
|
+
visibility: 'private'
|
|
161
|
+
}
|
|
153
162
|
],
|
|
154
163
|
returnTypes: [],
|
|
155
|
-
errorTypes: {}
|
|
164
|
+
errorTypes: {}
|
|
156
165
|
};
|
|
157
166
|
}
|
|
158
167
|
getLookupValidityAbi() {
|
|
@@ -162,9 +171,21 @@ export class AccountWallet extends BaseWallet {
|
|
|
162
171
|
functionType: FunctionType.UNCONSTRAINED,
|
|
163
172
|
isInternal: false,
|
|
164
173
|
isStatic: false,
|
|
165
|
-
parameters: [
|
|
166
|
-
|
|
167
|
-
|
|
174
|
+
parameters: [
|
|
175
|
+
{
|
|
176
|
+
name: 'message_hash',
|
|
177
|
+
type: {
|
|
178
|
+
kind: 'field'
|
|
179
|
+
},
|
|
180
|
+
visibility: 'private'
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
returnTypes: [
|
|
184
|
+
{
|
|
185
|
+
kind: 'boolean'
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
errorTypes: {}
|
|
168
189
|
};
|
|
169
190
|
}
|
|
170
191
|
getIsConsumableAbi() {
|
|
@@ -178,17 +199,33 @@ export class AccountWallet extends BaseWallet {
|
|
|
178
199
|
{
|
|
179
200
|
name: 'address',
|
|
180
201
|
type: {
|
|
181
|
-
fields: [
|
|
202
|
+
fields: [
|
|
203
|
+
{
|
|
204
|
+
name: 'inner',
|
|
205
|
+
type: {
|
|
206
|
+
kind: 'field'
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
],
|
|
182
210
|
kind: 'struct',
|
|
183
|
-
path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress'
|
|
211
|
+
path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress'
|
|
184
212
|
},
|
|
185
|
-
visibility: 'private'
|
|
213
|
+
visibility: 'private'
|
|
186
214
|
},
|
|
187
|
-
{
|
|
215
|
+
{
|
|
216
|
+
name: 'message_hash',
|
|
217
|
+
type: {
|
|
218
|
+
kind: 'field'
|
|
219
|
+
},
|
|
220
|
+
visibility: 'private'
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
returnTypes: [
|
|
224
|
+
{
|
|
225
|
+
kind: 'boolean'
|
|
226
|
+
}
|
|
188
227
|
],
|
|
189
|
-
|
|
190
|
-
errorTypes: {},
|
|
228
|
+
errorTypes: {}
|
|
191
229
|
};
|
|
192
230
|
}
|
|
193
231
|
}
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFpRCxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUUzRixPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLGlDQUFpQyxHQUNsQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQUMzQyxZQUFZLEdBQVEsRUFBWSxPQUF5QjtRQUN2RCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURMLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRXpELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxJQUEwQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVRLHFCQUFxQixDQUFDLGFBQWlCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
3
|
+
import type { Salt } from '../account/index.js';
|
|
4
|
+
import type { AccountInterface } from '../account/interface.js';
|
|
5
5
|
import { AccountWallet } from './account_wallet.js';
|
|
6
6
|
/**
|
|
7
7
|
* Extends {@link AccountWallet} with the encryption private key. Not required for
|
|
@@ -21,6 +21,6 @@ export declare class AccountWalletWithSecretKey extends AccountWallet {
|
|
|
21
21
|
* note - this ensures that the address secret always corresponds to an address point with y being positive
|
|
22
22
|
* dev - this is also referred to as the address secret, which decrypts payloads encrypted to an address point
|
|
23
23
|
*/
|
|
24
|
-
getEncryptionSecret(): Promise<import("@aztec/
|
|
24
|
+
getEncryptionSecret(): Promise<import("@aztec/foundation/fields").Fq>;
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=account_wallet_with_private_key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_wallet_with_private_key.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet_with_private_key.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"account_wallet_with_private_key.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet_with_private_key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAG3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,aAAa;IAIzD,OAAO,CAAC,SAAS;IACjB,iDAAiD;aACjC,IAAI,EAAE,IAAI;gBAJ1B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,gBAAgB,EACjB,SAAS,EAAE,EAAE;IACrB,iDAAiD;IACjC,IAAI,EAAE,IAAI;IAK5B,uEAAuE;IAChE,YAAY;IAInB;;;OAGG;IACU,mBAAmB;CAMjC"}
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
import { computeAddressSecret, deriveMasterIncomingViewingSecretKey } from '@aztec/
|
|
1
|
+
import { computeAddressSecret, deriveMasterIncomingViewingSecretKey } from '@aztec/stdlib/keys';
|
|
2
2
|
import { AccountWallet } from './account_wallet.js';
|
|
3
3
|
/**
|
|
4
4
|
* Extends {@link AccountWallet} with the encryption private key. Not required for
|
|
5
5
|
* implementing the wallet interface but useful for testing purposes or exporting
|
|
6
6
|
* an account to another pxe.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/** Deployment salt for this account contract. */
|
|
11
|
-
|
|
12
|
-
super(pxe, account);
|
|
13
|
-
this.secretKey = secretKey;
|
|
14
|
-
this.salt = salt;
|
|
7
|
+
*/ export class AccountWalletWithSecretKey extends AccountWallet {
|
|
8
|
+
secretKey;
|
|
9
|
+
salt;
|
|
10
|
+
constructor(pxe, account, secretKey, /** Deployment salt for this account contract. */ salt){
|
|
11
|
+
super(pxe, account), this.secretKey = secretKey, this.salt = salt;
|
|
15
12
|
}
|
|
16
|
-
/** Returns the encryption private key associated with this account. */
|
|
17
|
-
getSecretKey() {
|
|
13
|
+
/** Returns the encryption private key associated with this account. */ getSecretKey() {
|
|
18
14
|
return this.secretKey;
|
|
19
15
|
}
|
|
20
16
|
/** Returns the encryption secret, the secret of the encryption point—the point that others use to encrypt messages to this account
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
async getEncryptionSecret() {
|
|
17
|
+
* note - this ensures that the address secret always corresponds to an address point with y being positive
|
|
18
|
+
* dev - this is also referred to as the address secret, which decrypts payloads encrypted to an address point
|
|
19
|
+
*/ async getEncryptionSecret() {
|
|
25
20
|
return computeAddressSecret(await this.getCompleteAddress().getPreaddress(), deriveMasterIncomingViewingSecretKey(this.getSecretKey()));
|
|
26
21
|
}
|
|
27
22
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXRfd2l0aF9wcml2YXRlX2tleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvYWNjb3VudF93YWxsZXRfd2l0aF9wcml2YXRlX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsb0JBQW9CLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBQzNELFlBQ0UsR0FBUSxFQUNSLE9BQXlCLEVBQ2pCLFNBQWE7SUFDckIsaURBQWlEO0lBQ2pDLElBQVU7UUFFMUIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUpaLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFFTCxTQUFJLEdBQUosSUFBSSxDQUFNO0lBRzVCLENBQUM7SUFFRCx1RUFBdUU7SUFDaEUsWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxtQkFBbUI7UUFDOUIsT0FBTyxvQkFBb0IsQ0FDekIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFDL0Msb0NBQW9DLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import type {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
3
|
+
import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
4
|
+
import type { Fr, Point } from '@aztec/foundation/fields';
|
|
5
|
+
import type { SiblingPath } from '@aztec/foundation/trees';
|
|
6
|
+
import type { AbiDecoded, ContractArtifact } from '@aztec/stdlib/abi';
|
|
7
|
+
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
8
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
9
|
+
import type { L2Block } from '@aztec/stdlib/block';
|
|
10
|
+
import type { CompleteAddress, ContractInstanceWithAddress, NodeInfo, PartialAddress } from '@aztec/stdlib/contract';
|
|
11
|
+
import type { GasFees } from '@aztec/stdlib/gas';
|
|
12
|
+
import type { ContractClassMetadata, ContractMetadata, EventMetadataDefinition, GetContractClassLogsResponse, GetPublicLogsResponse, PXE, PXEInfo } from '@aztec/stdlib/interfaces/client';
|
|
13
|
+
import type { LogFilter } from '@aztec/stdlib/logs';
|
|
14
|
+
import type { NotesFilter, UniqueNote } from '@aztec/stdlib/note';
|
|
15
|
+
import type { PrivateExecutionResult, Tx, TxExecutionRequest, TxHash, TxProvingResult, TxReceipt, TxSimulationResult } from '@aztec/stdlib/tx';
|
|
16
|
+
import type { Wallet } from '../account/wallet.js';
|
|
17
|
+
import type { ExecutionRequestInit } from '../entrypoint/entrypoint.js';
|
|
18
|
+
import type { IntentAction, IntentInnerHash } from '../utils/authwit.js';
|
|
9
19
|
/**
|
|
10
20
|
* A base class for Wallet implementations
|
|
11
21
|
*/
|
|
@@ -33,16 +43,15 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
33
43
|
/** Associated artifact */ artifact?: ContractArtifact;
|
|
34
44
|
}): Promise<void>;
|
|
35
45
|
registerContractClass(artifact: ContractArtifact): Promise<void>;
|
|
46
|
+
updateContract(contractAddress: AztecAddress, artifact: ContractArtifact): Promise<void>;
|
|
36
47
|
getContracts(): Promise<AztecAddress[]>;
|
|
37
48
|
proveTx(txRequest: TxExecutionRequest, privateExecutionResult: PrivateExecutionResult): Promise<TxProvingResult>;
|
|
38
|
-
simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean, msgSender?: AztecAddress, skipTxValidation?: boolean,
|
|
49
|
+
simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean, msgSender?: AztecAddress, skipTxValidation?: boolean, skipFeeEnforcement?: boolean, profile?: boolean): Promise<TxSimulationResult>;
|
|
39
50
|
sendTx(tx: Tx): Promise<TxHash>;
|
|
40
|
-
getTxEffect(txHash: TxHash): Promise<import("@aztec/
|
|
51
|
+
getTxEffect(txHash: TxHash): Promise<import("@aztec/stdlib/block").InBlock<import("@aztec/stdlib/tx").TxEffect> | undefined>;
|
|
41
52
|
getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
|
|
42
53
|
getNotes(filter: NotesFilter): Promise<UniqueNote[]>;
|
|
43
54
|
getPublicStorageAt(contract: AztecAddress, storageSlot: Fr): Promise<any>;
|
|
44
|
-
addNote(note: ExtendedNote): Promise<void>;
|
|
45
|
-
addNullifiedNote(note: ExtendedNote): Promise<void>;
|
|
46
55
|
getBlock(number: number): Promise<L2Block | undefined>;
|
|
47
56
|
getCurrentBaseFees(): Promise<GasFees>;
|
|
48
57
|
simulateUnconstrained(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<AbiDecoded>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A base class for Wallet implementations
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
*/ export class BaseWallet {
|
|
4
|
+
pxe;
|
|
5
|
+
scopes;
|
|
6
|
+
constructor(pxe, scopes){
|
|
6
7
|
this.pxe = pxe;
|
|
7
8
|
this.scopes = scopes;
|
|
8
9
|
}
|
|
@@ -39,14 +40,17 @@ export class BaseWallet {
|
|
|
39
40
|
registerContractClass(artifact) {
|
|
40
41
|
return this.pxe.registerContractClass(artifact);
|
|
41
42
|
}
|
|
43
|
+
updateContract(contractAddress, artifact) {
|
|
44
|
+
return this.pxe.updateContract(contractAddress, artifact);
|
|
45
|
+
}
|
|
42
46
|
getContracts() {
|
|
43
47
|
return this.pxe.getContracts();
|
|
44
48
|
}
|
|
45
49
|
proveTx(txRequest, privateExecutionResult) {
|
|
46
50
|
return this.pxe.proveTx(txRequest, privateExecutionResult);
|
|
47
51
|
}
|
|
48
|
-
simulateTx(txRequest, simulatePublic, msgSender, skipTxValidation,
|
|
49
|
-
return this.pxe.simulateTx(txRequest, simulatePublic, msgSender, skipTxValidation,
|
|
52
|
+
simulateTx(txRequest, simulatePublic, msgSender, skipTxValidation, skipFeeEnforcement, profile) {
|
|
53
|
+
return this.pxe.simulateTx(txRequest, simulatePublic, msgSender, skipTxValidation, skipFeeEnforcement, profile, this.scopes);
|
|
50
54
|
}
|
|
51
55
|
sendTx(tx) {
|
|
52
56
|
return this.pxe.sendTx(tx);
|
|
@@ -63,12 +67,6 @@ export class BaseWallet {
|
|
|
63
67
|
getPublicStorageAt(contract, storageSlot) {
|
|
64
68
|
return this.pxe.getPublicStorageAt(contract, storageSlot);
|
|
65
69
|
}
|
|
66
|
-
addNote(note) {
|
|
67
|
-
return this.pxe.addNote(note, this.getAddress());
|
|
68
|
-
}
|
|
69
|
-
addNullifiedNote(note) {
|
|
70
|
-
return this.pxe.addNullifiedNote(note);
|
|
71
|
-
}
|
|
72
70
|
getBlock(number) {
|
|
73
71
|
return this.pxe.getBlock(number);
|
|
74
72
|
}
|
|
@@ -108,7 +106,9 @@ export class BaseWallet {
|
|
|
108
106
|
getContractMetadata(address) {
|
|
109
107
|
return this.pxe.getContractMetadata(address);
|
|
110
108
|
}
|
|
111
|
-
getPrivateEvents(event, from, limit, vpks = [
|
|
109
|
+
getPrivateEvents(event, from, limit, vpks = [
|
|
110
|
+
this.getCompleteAddress().publicKeys.masterIncomingViewingPublicKey
|
|
111
|
+
]) {
|
|
112
112
|
return this.pxe.getPrivateEvents(event, from, limit, vpks);
|
|
113
113
|
}
|
|
114
114
|
getPublicEvents(event, from, limit) {
|
|
@@ -121,4 +121,3 @@ export class BaseWallet {
|
|
|
121
121
|
return this.pxe.getL2ToL1MembershipWitness(blockNumber, l2Tol1Message);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRLEVBQVUsTUFBdUI7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztJQWM1RSxTQUFTLENBQUMsTUFBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFFBQXNCLEVBQUUsV0FBZSxFQUFFLE9BQWE7UUFDakUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBYSxFQUFFLGNBQThCO1FBQzNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELGNBQWMsQ0FBQyxPQUFxQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxL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
|
package/dest/wallet/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
+
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
3
|
+
import type { AccountContract } from '../account/contract.js';
|
|
4
4
|
import { AccountWallet } from './account_wallet.js';
|
|
5
5
|
export * from '../account/wallet.js';
|
|
6
6
|
export * from './account_wallet.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,KAAK,EAAE,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,CAUxB"}
|
package/dest/wallet/index.js
CHANGED
|
@@ -9,9 +9,8 @@ export * from './signerless_wallet.js';
|
|
|
9
9
|
* @param address - Address for the account.
|
|
10
10
|
* @param accountContract - Account contract implementation.
|
|
11
11
|
* @returns A wallet for this account that can be used to interact with a contract instance.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
const completeAddress = (await pxe.getRegisteredAccounts()).find(completeAddress => completeAddress.address.equals(address));
|
|
12
|
+
*/ export async function getWallet(pxe, address, accountContract) {
|
|
13
|
+
const completeAddress = (await pxe.getRegisteredAccounts()).find((completeAddress)=>completeAddress.address.equals(address));
|
|
15
14
|
if (!completeAddress) {
|
|
16
15
|
throw new Error(`Account ${address} not found`);
|
|
17
16
|
}
|
|
@@ -19,4 +18,3 @@ export async function getWallet(pxe, address, accountContract) {
|
|
|
19
18
|
const entrypoint = accountContract.getInterface(completeAddress, nodeInfo);
|
|
20
19
|
return new AccountWallet(pxe, entrypoint);
|
|
21
20
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdCQUF3QixDQUFDO0FBRXZDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUM3QixHQUFRLEVBQ1IsT0FBcUIsRUFDckIsZUFBZ0M7SUFFaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQ2pGLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUN4QyxDQUFDO0lBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxPQUFPLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRSxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM1QyxDQUFDIn0=
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
3
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
5
|
+
import type { CompleteAddress } from '@aztec/stdlib/contract';
|
|
6
|
+
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
7
|
+
import type { TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
8
|
+
import type { EntrypointInterface, ExecutionRequestInit } from '../entrypoint/entrypoint.js';
|
|
9
|
+
import type { IntentAction, IntentInnerHash } from '../utils/authwit.js';
|
|
7
10
|
import { BaseWallet } from './base_wallet.js';
|
|
8
11
|
/**
|
|
9
12
|
* Wallet implementation which creates a transaction request directly to the requested contract without any signing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,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;IAGxD,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,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjF,qBAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE"}
|
|
@@ -2,11 +2,10 @@ import { DefaultEntrypoint } from '../entrypoint/default_entrypoint.js';
|
|
|
2
2
|
import { BaseWallet } from './base_wallet.js';
|
|
3
3
|
/**
|
|
4
4
|
* Wallet implementation which creates a transaction request directly to the requested contract without any signing.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
constructor(pxe, entrypoint)
|
|
8
|
-
super(pxe);
|
|
9
|
-
this.entrypoint = entrypoint;
|
|
5
|
+
*/ export class SignerlessWallet extends BaseWallet {
|
|
6
|
+
entrypoint;
|
|
7
|
+
constructor(pxe, entrypoint){
|
|
8
|
+
super(pxe), this.entrypoint = entrypoint;
|
|
10
9
|
}
|
|
11
10
|
async createTxExecutionRequest(execution) {
|
|
12
11
|
let entrypoint = this.entrypoint;
|
|
@@ -35,4 +34,3 @@ export class SignerlessWallet extends BaseWallet {
|
|
|
35
34
|
return this.pxe.isL1ToL2MessageSynced(l1ToL2Message);
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksR0FBUSxFQUFVLFVBQWdDO1FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURpQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUU5RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQStCO1FBQzVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3RSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFxRDtRQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVRLHFCQUFxQixDQUFDLGFBQWlCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YifQ==
|