@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.b655e406
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 +1 -1
- package/dest/account/account.d.ts +60 -0
- package/dest/account/account.d.ts.map +1 -0
- package/dest/account/account.js +59 -0
- package/dest/account/{contract.d.ts → account_contract.d.ts} +16 -10
- package/dest/account/account_contract.d.ts.map +1 -0
- package/dest/account/{contract.js → account_contract.js} +7 -4
- package/dest/{wallet/account_wallet_with_private_key.d.ts → account/account_with_secret_key.d.ts} +7 -8
- package/dest/account/account_with_secret_key.d.ts.map +1 -0
- package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +5 -5
- package/dest/account/index.d.ts +3 -7
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/index.js +2 -6
- package/dest/account/interface.d.ts +1 -13
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/interface.js +1 -0
- package/dest/account/signerless_account.d.ts +24 -0
- package/dest/account/signerless_account.d.ts.map +1 -0
- package/dest/account/signerless_account.js +27 -0
- package/dest/api/abi.d.ts +2 -1
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/abi.js +1 -1
- package/dest/api/account.d.ts +5 -2
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +3 -1
- package/dest/api/addresses.d.ts +1 -0
- package/dest/api/addresses.d.ts.map +1 -1
- package/dest/api/addresses.js +1 -0
- package/dest/api/authorization.d.ts +5 -0
- package/dest/api/authorization.d.ts.map +1 -0
- package/dest/api/authorization.js +4 -0
- package/dest/api/block.d.ts +3 -0
- package/dest/api/block.d.ts.map +1 -0
- package/dest/api/block.js +2 -0
- package/dest/{contract/index.d.ts → api/contract.d.ts} +15 -11
- package/dest/api/contract.d.ts.map +1 -0
- package/dest/{contract/index.js → api/contract.js} +14 -10
- package/dest/api/crypto.d.ts +2 -0
- package/dest/api/crypto.d.ts.map +1 -0
- package/dest/api/crypto.js +1 -0
- package/dest/api/deployment.d.ts +4 -3
- package/dest/api/deployment.d.ts.map +1 -1
- package/dest/api/deployment.js +4 -3
- package/dest/api/ethereum.d.ts +2 -0
- package/dest/api/ethereum.d.ts.map +1 -0
- package/dest/api/ethereum.js +1 -0
- package/dest/api/events.d.ts +12 -0
- package/dest/api/events.d.ts.map +1 -0
- package/dest/api/events.js +30 -0
- package/dest/api/fee.d.ts +1 -1
- package/dest/api/fee.d.ts.map +1 -1
- package/dest/api/fee.js +1 -1
- package/dest/api/fee_testing.d.ts +2 -0
- package/dest/api/fee_testing.d.ts.map +1 -0
- package/dest/api/fee_testing.js +1 -0
- package/dest/api/keys.d.ts +4 -0
- package/dest/api/keys.d.ts.map +1 -0
- package/dest/api/keys.js +3 -0
- package/dest/api/log.d.ts +1 -0
- package/dest/api/log.d.ts.map +1 -1
- package/dest/api/log.js +1 -0
- package/dest/api/messaging.d.ts +3 -0
- package/dest/api/messaging.d.ts.map +1 -0
- package/dest/api/messaging.js +2 -0
- package/dest/api/node.d.ts +21 -0
- package/dest/api/node.d.ts.map +1 -0
- package/dest/api/node.js +18 -0
- package/dest/api/note.d.ts +2 -0
- package/dest/api/note.d.ts.map +1 -0
- package/dest/api/note.js +1 -0
- package/dest/api/protocol.d.ts +3 -0
- package/dest/api/protocol.d.ts.map +1 -0
- package/dest/api/protocol.js +2 -0
- package/dest/api/trees.d.ts +3 -0
- package/dest/api/trees.d.ts.map +1 -0
- package/dest/api/trees.js +2 -0
- package/dest/api/tx.d.ts +2 -0
- package/dest/api/tx.d.ts.map +1 -0
- package/dest/api/tx.js +1 -0
- package/dest/api/utils.d.ts +13 -0
- package/dest/api/utils.d.ts.map +1 -0
- package/dest/api/utils.js +12 -0
- package/dest/api/wallet.d.ts +4 -1
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +4 -1
- package/dest/authorization/call_authorization_request.d.ts +67 -0
- package/dest/authorization/call_authorization_request.d.ts.map +1 -0
- package/dest/authorization/call_authorization_request.js +49 -0
- package/dest/contract/base_contract_interaction.d.ts +16 -79
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +15 -128
- package/dest/contract/batch_call.d.ts +13 -14
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +60 -60
- package/dest/contract/checker.d.ts +1 -1
- package/dest/contract/checker.d.ts.map +1 -1
- package/dest/contract/checker.js +2 -2
- package/dest/contract/contract.d.ts +7 -6
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +7 -16
- package/dest/contract/contract_base.d.ts +3 -9
- 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 +52 -44
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +75 -74
- package/dest/contract/deploy_method.d.ts +102 -57
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +122 -132
- package/dest/contract/deploy_sent_tx.d.ts +3 -5
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +10 -13
- package/dest/contract/get_gas_limits.d.ts +5 -6
- package/dest/contract/get_gas_limits.d.ts.map +1 -1
- package/dest/contract/get_gas_limits.js +9 -3
- package/dest/contract/interaction_options.d.ts +114 -0
- package/dest/contract/interaction_options.d.ts.map +1 -0
- package/dest/contract/interaction_options.js +52 -0
- package/dest/contract/protocol_contracts.d.ts +6 -6
- package/dest/contract/protocol_contracts.d.ts.map +1 -1
- package/dest/contract/protocol_contracts.js +7 -7
- package/dest/contract/sent_tx.d.ts +8 -18
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +30 -42
- package/dest/contract/unsafe_contract.d.ts +1 -1
- package/dest/contract/unsafe_contract.d.ts.map +1 -1
- package/dest/contract/wait_for_proven.d.ts +17 -0
- package/dest/contract/wait_for_proven.d.ts.map +1 -0
- package/dest/contract/wait_for_proven.js +17 -0
- 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 +27 -23
- package/dest/deployment/contract_deployer.d.ts +1 -1
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/deployment/publish_class.d.ts +6 -0
- package/dest/deployment/publish_class.d.ts.map +1 -0
- package/dest/deployment/publish_class.js +17 -0
- package/dest/deployment/publish_instance.d.ts +10 -0
- package/dest/deployment/publish_instance.d.ts.map +1 -0
- package/dest/deployment/publish_instance.js +11 -0
- package/dest/{api/ethereum → ethereum}/portal_manager.d.ts +29 -25
- package/dest/ethereum/portal_manager.d.ts.map +1 -0
- package/dest/{api/ethereum → ethereum}/portal_manager.js +106 -73
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts +16 -11
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.js +26 -16
- package/dest/fee/fee_payment_method.d.ts +11 -7
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.d.ts +25 -8
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +43 -21
- package/dest/fee/public_fee_payment_method.d.ts +26 -9
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +45 -23
- package/dest/fee/sponsored_fee_payment.d.ts +17 -0
- package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
- package/dest/fee/sponsored_fee_payment.js +34 -0
- package/dest/utils/abi_types.d.ts +0 -2
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +81 -24
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +226 -40
- package/dest/utils/cross_chain.d.ts +24 -0
- package/dest/utils/cross_chain.d.ts.map +1 -0
- package/dest/utils/cross_chain.js +30 -0
- package/dest/utils/fee_juice.d.ts +3 -2
- package/dest/utils/fee_juice.d.ts.map +1 -1
- package/dest/utils/fee_juice.js +3 -2
- package/dest/utils/field_compressed_string.d.ts.map +1 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +1 -1
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +1 -2
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
- package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
- package/dest/wallet/account_manager.d.ts +69 -0
- package/dest/wallet/account_manager.d.ts.map +1 -0
- package/dest/wallet/account_manager.js +113 -0
- package/dest/wallet/base_wallet.d.ts +81 -63
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +221 -106
- package/dest/wallet/deploy_account_method.d.ts +52 -0
- package/dest/wallet/deploy_account_method.d.ts.map +1 -0
- package/dest/wallet/deploy_account_method.js +77 -0
- package/dest/wallet/index.d.ts +3 -16
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +3 -20
- package/dest/wallet/wallet.d.ts +2478 -0
- package/dest/wallet/wallet.d.ts.map +1 -0
- package/dest/wallet/wallet.js +202 -0
- package/package.json +40 -32
- package/src/account/account.ts +97 -0
- package/src/account/{contract.ts → account_contract.ts} +24 -13
- package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +6 -8
- package/src/account/index.ts +3 -7
- package/src/account/interface.ts +1 -12
- package/src/account/signerless_account.ts +46 -0
- package/src/api/abi.ts +26 -0
- package/src/api/account.ts +5 -9
- package/src/api/addresses.ts +1 -0
- package/src/api/authorization.ts +14 -0
- package/src/api/block.ts +2 -0
- package/src/{contract/index.ts → api/contract.ts} +37 -13
- package/src/api/crypto.ts +1 -0
- package/src/api/deployment.ts +4 -3
- package/src/api/ethereum.ts +10 -0
- package/src/api/events.ts +44 -0
- package/src/api/fee.ts +1 -1
- package/src/api/fee_testing.ts +1 -0
- package/src/api/keys.ts +8 -0
- package/src/api/log.ts +1 -0
- package/src/api/messaging.ts +2 -0
- package/src/api/node.ts +20 -0
- package/src/api/note.ts +1 -0
- package/src/api/protocol.ts +2 -0
- package/src/api/trees.ts +2 -0
- package/src/api/tx.ts +11 -0
- package/src/api/utils.ts +14 -0
- package/src/api/wallet.ts +33 -5
- package/src/authorization/call_authorization_request.ts +63 -0
- package/src/contract/base_contract_interaction.ts +24 -166
- package/src/contract/batch_call.ts +81 -49
- package/src/contract/checker.ts +8 -3
- package/src/contract/contract.ts +8 -17
- package/src/contract/contract_base.ts +4 -11
- package/src/contract/contract_function_interaction.ts +136 -106
- package/src/contract/deploy_method.ts +199 -129
- package/src/contract/deploy_sent_tx.ts +9 -15
- package/src/contract/get_gas_limits.ts +15 -8
- package/src/contract/interaction_options.ts +169 -0
- package/src/contract/protocol_contracts.ts +10 -10
- package/src/contract/sent_tx.ts +40 -51
- package/src/contract/unsafe_contract.ts +1 -1
- package/src/contract/wait_for_proven.ts +38 -0
- package/src/deployment/broadcast_function.ts +57 -57
- package/src/deployment/contract_deployer.ts +1 -1
- package/src/deployment/publish_class.ts +34 -0
- package/src/deployment/publish_instance.ts +26 -0
- package/src/{api/ethereum → ethereum}/portal_manager.ts +120 -74
- package/src/fee/fee_juice_payment_method_with_claim.ts +46 -33
- package/src/fee/fee_payment_method.ts +11 -7
- package/src/fee/private_fee_payment_method.ts +77 -57
- package/src/fee/public_fee_payment_method.ts +91 -67
- package/src/fee/sponsored_fee_payment.ts +44 -0
- package/src/utils/authwit.ts +255 -53
- package/src/utils/cross_chain.ts +53 -0
- package/src/utils/fee_juice.ts +4 -4
- package/src/utils/node.ts +1 -1
- package/src/utils/pub_key.ts +1 -2
- package/src/wallet/account_entrypoint_meta_payment_method.ts +105 -0
- package/src/wallet/account_manager.ts +154 -0
- package/src/wallet/base_wallet.ts +295 -143
- package/src/wallet/deploy_account_method.ts +125 -0
- package/src/wallet/index.ts +3 -33
- package/src/wallet/wallet.ts +362 -0
- package/dest/account/contract.d.ts.map +0 -1
- package/dest/account/wallet.d.ts +0 -11
- package/dest/account/wallet.d.ts.map +0 -1
- package/dest/account/wallet.js +0 -3
- package/dest/account_manager/deploy_account_method.d.ts +0 -15
- package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
- package/dest/account_manager/deploy_account_method.js +0 -43
- package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
- package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
- package/dest/account_manager/deploy_account_sent_tx.js +0 -29
- package/dest/account_manager/index.d.ts +0 -108
- package/dest/account_manager/index.d.ts.map +0 -1
- package/dest/account_manager/index.js +0 -159
- package/dest/api/cheat_codes.d.ts +0 -26
- package/dest/api/cheat_codes.d.ts.map +0 -1
- package/dest/api/cheat_codes.js +0 -25
- package/dest/api/entrypoint.d.ts +0 -2
- package/dest/api/entrypoint.d.ts.map +0 -1
- package/dest/api/entrypoint.js +0 -1
- package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
- package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
- package/dest/api/ethereum/anvil_test_watcher.js +0 -133
- package/dest/api/ethereum/chain_monitor.d.ts +0 -25
- package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
- package/dest/api/ethereum/chain_monitor.js +0 -74
- package/dest/api/ethereum/cheat_codes.d.ts +0 -63
- package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
- package/dest/api/ethereum/cheat_codes.js +0 -162
- package/dest/api/ethereum/index.d.ts +0 -7
- package/dest/api/ethereum/index.d.ts.map +0 -1
- package/dest/api/ethereum/index.js +0 -6
- package/dest/api/ethereum/l1_contracts.d.ts +0 -3
- package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
- package/dest/api/ethereum/l1_contracts.js +0 -13
- package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
- package/dest/api/interfaces/pxe.d.ts +0 -2
- package/dest/api/interfaces/pxe.d.ts.map +0 -1
- package/dest/api/interfaces/pxe.js +0 -1
- package/dest/api/log_id.d.ts +0 -2
- package/dest/api/log_id.d.ts.map +0 -1
- package/dest/api/log_id.js +0 -1
- package/dest/api/tx_hash.d.ts +0 -2
- package/dest/api/tx_hash.d.ts.map +0 -1
- package/dest/api/tx_hash.js +0 -1
- package/dest/contract/deploy_proven_tx.d.ts +0 -21
- package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
- package/dest/contract/deploy_proven_tx.js +0 -19
- package/dest/contract/index.d.ts.map +0 -1
- package/dest/contract/proven_tx.d.ts +0 -17
- package/dest/contract/proven_tx.d.ts.map +0 -1
- package/dest/contract/proven_tx.js +0 -22
- package/dest/deployment/deploy_instance.d.ts +0 -10
- package/dest/deployment/deploy_instance.d.ts.map +0 -1
- package/dest/deployment/deploy_instance.js +0 -14
- package/dest/deployment/index.d.ts +0 -2
- package/dest/deployment/index.d.ts.map +0 -1
- package/dest/deployment/index.js +0 -1
- package/dest/deployment/register_class.d.ts +0 -6
- package/dest/deployment/register_class.d.ts.map +0 -1
- package/dest/deployment/register_class.js +0 -22
- package/dest/entrypoint/default_entrypoint.d.ts +0 -12
- package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
- package/dest/entrypoint/default_entrypoint.js +0 -28
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
- package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
- package/dest/entrypoint/entrypoint.d.ts +0 -35
- package/dest/entrypoint/entrypoint.d.ts.map +0 -1
- package/dest/entrypoint/entrypoint.js +0 -4
- package/dest/entrypoint/payload.d.ts +0 -128
- package/dest/entrypoint/payload.d.ts.map +0 -1
- package/dest/entrypoint/payload.js +0 -143
- package/dest/fee/fee_juice_payment_method.d.ts +0 -14
- package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
- package/dest/fee/fee_juice_payment_method.js +0 -20
- package/dest/index.d.ts +0 -66
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -69
- package/dest/rpc_clients/index.d.ts +0 -3
- package/dest/rpc_clients/index.d.ts.map +0 -1
- package/dest/rpc_clients/index.js +0 -2
- package/dest/rpc_clients/node/index.d.ts +0 -12
- package/dest/rpc_clients/node/index.d.ts.map +0 -1
- package/dest/rpc_clients/node/index.js +0 -78
- package/dest/rpc_clients/pxe_client.d.ts +0 -10
- package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
- package/dest/rpc_clients/pxe_client.js +0 -23
- package/dest/utils/aztec_cheatcodes.d.ts +0 -59
- package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
- package/dest/utils/aztec_cheatcodes.js +0 -62
- package/dest/utils/index.d.ts +0 -8
- package/dest/utils/index.d.ts.map +0 -1
- package/dest/utils/index.js +0 -6
- package/dest/utils/pxe.d.ts +0 -4
- package/dest/utils/pxe.d.ts.map +0 -1
- package/dest/utils/pxe.js +0 -14
- package/dest/wallet/account_wallet.d.ts +0 -76
- package/dest/wallet/account_wallet.d.ts.map +0 -1
- package/dest/wallet/account_wallet.js +0 -231
- package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
- package/dest/wallet/signerless_wallet.d.ts +0 -25
- package/dest/wallet/signerless_wallet.d.ts.map +0 -1
- package/dest/wallet/signerless_wallet.js +0 -36
- package/src/account/wallet.ts +0 -13
- package/src/account_manager/deploy_account_method.ts +0 -86
- package/src/account_manager/deploy_account_sent_tx.ts +0 -42
- package/src/account_manager/index.ts +0 -229
- package/src/api/cheat_codes.ts +0 -35
- package/src/api/entrypoint.ts +0 -1
- package/src/api/ethereum/anvil_test_watcher.ts +0 -158
- package/src/api/ethereum/chain_monitor.ts +0 -88
- package/src/api/ethereum/cheat_codes.ts +0 -184
- package/src/api/ethereum/index.ts +0 -19
- package/src/api/ethereum/l1_contracts.ts +0 -21
- package/src/api/interfaces/pxe.ts +0 -1
- package/src/api/log_id.ts +0 -1
- package/src/api/tx_hash.ts +0 -1
- package/src/contract/deploy_proven_tx.ts +0 -34
- package/src/contract/proven_tx.ts +0 -42
- package/src/deployment/deploy_instance.ts +0 -31
- package/src/deployment/index.ts +0 -1
- package/src/deployment/register_class.ts +0 -44
- package/src/entrypoint/default_entrypoint.ts +0 -39
- package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
- package/src/entrypoint/entrypoint.ts +0 -39
- package/src/entrypoint/payload.ts +0 -238
- package/src/fee/fee_juice_payment_method.ts +0 -26
- package/src/index.ts +0 -106
- package/src/rpc_clients/index.ts +0 -2
- package/src/rpc_clients/node/index.ts +0 -77
- package/src/rpc_clients/pxe_client.ts +0 -25
- package/src/utils/aztec_cheatcodes.ts +0 -77
- package/src/utils/index.ts +0 -21
- package/src/utils/pxe.ts +0 -17
- package/src/wallet/account_wallet.ts +0 -242
- package/src/wallet/signerless_wallet.ts +0 -52
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
3
|
-
import { type ABIParameterVisibility, type FunctionAbi, FunctionType } from '@aztec/stdlib/abi';
|
|
4
|
-
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
5
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
7
|
-
import type { TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
8
|
-
|
|
9
|
-
import type { AccountInterface } from '../account/interface.js';
|
|
10
|
-
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
11
|
-
import type { ExecutionRequestInit } from '../entrypoint/entrypoint.js';
|
|
12
|
-
import {
|
|
13
|
-
type IntentAction,
|
|
14
|
-
type IntentInnerHash,
|
|
15
|
-
computeAuthWitMessageHash,
|
|
16
|
-
computeInnerAuthWitHashFromAction,
|
|
17
|
-
} from '../utils/authwit.js';
|
|
18
|
-
import { BaseWallet } from './base_wallet.js';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* A wallet implementation that forwards authentication requests to a provided account.
|
|
22
|
-
*/
|
|
23
|
-
export class AccountWallet extends BaseWallet {
|
|
24
|
-
constructor(pxe: PXE, protected account: AccountInterface) {
|
|
25
|
-
super(pxe, [account.getAddress()]);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
29
|
-
return this.account.createTxExecutionRequest(exec);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
getChainId(): Fr {
|
|
33
|
-
return this.account.getChainId();
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getVersion(): Fr {
|
|
37
|
-
return this.account.getVersion();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
override isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean> {
|
|
41
|
-
return this.pxe.isL1ToL2MessageSynced(l1ToL2Message);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Computes an authentication witness from either a message hash or an intent.
|
|
46
|
-
*
|
|
47
|
-
* If a message hash is provided, it will create a witness for the hash directly.
|
|
48
|
-
* Otherwise, it will compute the message hash using the intent, along with the
|
|
49
|
-
* chain id and the version values provided by the wallet.
|
|
50
|
-
*
|
|
51
|
-
* @param messageHashOrIntent - The message hash of the intent to approve
|
|
52
|
-
* @returns The authentication witness
|
|
53
|
-
*/
|
|
54
|
-
async createAuthWit(messageHashOrIntent: Fr | Buffer | IntentAction | IntentInnerHash): Promise<AuthWitness> {
|
|
55
|
-
let messageHash: Fr;
|
|
56
|
-
if (Buffer.isBuffer(messageHashOrIntent)) {
|
|
57
|
-
messageHash = Fr.fromBuffer(messageHashOrIntent);
|
|
58
|
-
} else if (messageHashOrIntent instanceof Fr) {
|
|
59
|
-
messageHash = messageHashOrIntent;
|
|
60
|
-
} else {
|
|
61
|
-
messageHash = await this.getMessageHash(messageHashOrIntent);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const witness = await this.account.createAuthWit(messageHash);
|
|
65
|
-
await this.pxe.addAuthWitness(witness);
|
|
66
|
-
return witness;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Returns a function interaction to set a message hash as authorized or revoked in this account.
|
|
71
|
-
*
|
|
72
|
-
* Public calls can then consume this authorization.
|
|
73
|
-
*
|
|
74
|
-
* @param messageHashOrIntent - The message hash or intent to authorize/revoke
|
|
75
|
-
* @param authorized - True to authorize, false to revoke authorization.
|
|
76
|
-
* @returns - A function interaction.
|
|
77
|
-
*/
|
|
78
|
-
public async setPublicAuthWit(
|
|
79
|
-
messageHashOrIntent: Fr | Buffer | IntentInnerHash | IntentAction,
|
|
80
|
-
authorized: boolean,
|
|
81
|
-
): Promise<ContractFunctionInteraction> {
|
|
82
|
-
let messageHash: Fr;
|
|
83
|
-
if (Buffer.isBuffer(messageHashOrIntent)) {
|
|
84
|
-
messageHash = Fr.fromBuffer(messageHashOrIntent);
|
|
85
|
-
} else if (messageHashOrIntent instanceof Fr) {
|
|
86
|
-
messageHash = messageHashOrIntent;
|
|
87
|
-
} else {
|
|
88
|
-
messageHash = await this.getMessageHash(messageHashOrIntent);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return new ContractFunctionInteraction(this, ProtocolContractAddress.AuthRegistry, this.getSetAuthorizedAbi(), [
|
|
92
|
-
messageHash,
|
|
93
|
-
authorized,
|
|
94
|
-
]);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
private async getInnerHashAndConsumer(intent: IntentInnerHash | IntentAction): Promise<{
|
|
98
|
-
/** The inner hash */
|
|
99
|
-
innerHash: Fr;
|
|
100
|
-
/** The consumer of the authwit */
|
|
101
|
-
consumer: AztecAddress;
|
|
102
|
-
}> {
|
|
103
|
-
if ('caller' in intent && 'action' in intent) {
|
|
104
|
-
const action =
|
|
105
|
-
intent.action instanceof ContractFunctionInteraction ? await intent.action.request() : intent.action;
|
|
106
|
-
return {
|
|
107
|
-
innerHash: await computeInnerAuthWitHashFromAction(intent.caller, action),
|
|
108
|
-
consumer: action.to,
|
|
109
|
-
};
|
|
110
|
-
} else if (Buffer.isBuffer(intent.innerHash)) {
|
|
111
|
-
return { innerHash: Fr.fromBuffer(intent.innerHash), consumer: intent.consumer };
|
|
112
|
-
}
|
|
113
|
-
return { innerHash: intent.innerHash, consumer: intent.consumer };
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Returns the message hash for the given intent
|
|
118
|
-
*
|
|
119
|
-
* @param intent - A tuple of (consumer and inner hash) or (caller and action)
|
|
120
|
-
* @returns The message hash
|
|
121
|
-
*/
|
|
122
|
-
private getMessageHash(intent: IntentInnerHash | IntentAction): Promise<Fr> {
|
|
123
|
-
const chainId = this.getChainId();
|
|
124
|
-
const version = this.getVersion();
|
|
125
|
-
return computeAuthWitMessageHash(intent, { chainId, version });
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Lookup the validity of an authwit in private and public contexts.
|
|
130
|
-
*
|
|
131
|
-
* Uses the chain id and version of the wallet.
|
|
132
|
-
*
|
|
133
|
-
* @param onBehalfOf - The address of the "approver"
|
|
134
|
-
* @param intent - The consumer and inner hash or the caller and action to lookup
|
|
135
|
-
*
|
|
136
|
-
* @returns - A struct containing the validity of the authwit in private and public contexts.
|
|
137
|
-
*/
|
|
138
|
-
async lookupValidity(
|
|
139
|
-
onBehalfOf: AztecAddress,
|
|
140
|
-
intent: IntentInnerHash | IntentAction,
|
|
141
|
-
): Promise<{
|
|
142
|
-
/** boolean flag indicating if the authwit is valid in private context */
|
|
143
|
-
isValidInPrivate: boolean;
|
|
144
|
-
/** boolean flag indicating if the authwit is valid in public context */
|
|
145
|
-
isValidInPublic: boolean;
|
|
146
|
-
}> {
|
|
147
|
-
const { innerHash, consumer } = await this.getInnerHashAndConsumer(intent);
|
|
148
|
-
|
|
149
|
-
const messageHash = await this.getMessageHash(intent);
|
|
150
|
-
const results = { isValidInPrivate: false, isValidInPublic: false };
|
|
151
|
-
|
|
152
|
-
// Check private
|
|
153
|
-
const witness = await this.getAuthWitness(messageHash);
|
|
154
|
-
if (witness !== undefined) {
|
|
155
|
-
results.isValidInPrivate = (await new ContractFunctionInteraction(this, onBehalfOf, this.getLookupValidityAbi(), [
|
|
156
|
-
consumer,
|
|
157
|
-
innerHash,
|
|
158
|
-
]).simulate()) as boolean;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// check public
|
|
162
|
-
results.isValidInPublic = (await new ContractFunctionInteraction(
|
|
163
|
-
this,
|
|
164
|
-
ProtocolContractAddress.AuthRegistry,
|
|
165
|
-
this.getIsConsumableAbi(),
|
|
166
|
-
[onBehalfOf, messageHash],
|
|
167
|
-
).simulate()) as boolean;
|
|
168
|
-
|
|
169
|
-
return results;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/** Returns the complete address of the account that implements this wallet. */
|
|
173
|
-
public getCompleteAddress() {
|
|
174
|
-
return this.account.getCompleteAddress();
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/** Returns the address of the account that implements this wallet. */
|
|
178
|
-
public override getAddress() {
|
|
179
|
-
return this.getCompleteAddress().address;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
private getSetAuthorizedAbi(): FunctionAbi {
|
|
183
|
-
return {
|
|
184
|
-
name: 'set_authorized',
|
|
185
|
-
isInitializer: false,
|
|
186
|
-
functionType: FunctionType.PUBLIC,
|
|
187
|
-
isInternal: true,
|
|
188
|
-
isStatic: false,
|
|
189
|
-
parameters: [
|
|
190
|
-
{
|
|
191
|
-
name: 'message_hash',
|
|
192
|
-
type: { kind: 'field' },
|
|
193
|
-
visibility: 'private' as ABIParameterVisibility,
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
name: 'authorize',
|
|
197
|
-
type: { kind: 'boolean' },
|
|
198
|
-
visibility: 'private' as ABIParameterVisibility,
|
|
199
|
-
},
|
|
200
|
-
],
|
|
201
|
-
returnTypes: [],
|
|
202
|
-
errorTypes: {},
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
private getLookupValidityAbi(): FunctionAbi {
|
|
207
|
-
return {
|
|
208
|
-
name: 'lookup_validity',
|
|
209
|
-
isInitializer: false,
|
|
210
|
-
functionType: FunctionType.UNCONSTRAINED,
|
|
211
|
-
isInternal: false,
|
|
212
|
-
isStatic: false,
|
|
213
|
-
parameters: [{ name: 'message_hash', type: { kind: 'field' }, visibility: 'private' as ABIParameterVisibility }],
|
|
214
|
-
returnTypes: [{ kind: 'boolean' }],
|
|
215
|
-
errorTypes: {},
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
private getIsConsumableAbi(): FunctionAbi {
|
|
220
|
-
return {
|
|
221
|
-
name: 'unconstrained_is_consumable',
|
|
222
|
-
isInitializer: false,
|
|
223
|
-
functionType: FunctionType.UNCONSTRAINED,
|
|
224
|
-
isInternal: false,
|
|
225
|
-
isStatic: false,
|
|
226
|
-
parameters: [
|
|
227
|
-
{
|
|
228
|
-
name: 'address',
|
|
229
|
-
type: {
|
|
230
|
-
fields: [{ name: 'inner', type: { kind: 'field' } }],
|
|
231
|
-
kind: 'struct',
|
|
232
|
-
path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress',
|
|
233
|
-
},
|
|
234
|
-
visibility: 'private' as ABIParameterVisibility,
|
|
235
|
-
},
|
|
236
|
-
{ name: 'message_hash', type: { kind: 'field' }, visibility: 'private' as ABIParameterVisibility },
|
|
237
|
-
],
|
|
238
|
-
returnTypes: [{ kind: 'boolean' }],
|
|
239
|
-
errorTypes: {},
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
import { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
3
|
-
import type { CompleteAddress } from '@aztec/stdlib/contract';
|
|
4
|
-
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
5
|
-
import type { TxExecutionRequest } from '@aztec/stdlib/tx';
|
|
6
|
-
|
|
7
|
-
import { DefaultEntrypoint } from '../entrypoint/default_entrypoint.js';
|
|
8
|
-
import type { EntrypointInterface, ExecutionRequestInit } from '../entrypoint/entrypoint.js';
|
|
9
|
-
import type { IntentAction, IntentInnerHash } from '../utils/authwit.js';
|
|
10
|
-
import { BaseWallet } from './base_wallet.js';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Wallet implementation which creates a transaction request directly to the requested contract without any signing.
|
|
14
|
-
*/
|
|
15
|
-
export class SignerlessWallet extends BaseWallet {
|
|
16
|
-
constructor(pxe: PXE, private entrypoint?: EntrypointInterface) {
|
|
17
|
-
super(pxe);
|
|
18
|
-
}
|
|
19
|
-
async createTxExecutionRequest(execution: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
20
|
-
let entrypoint = this.entrypoint;
|
|
21
|
-
if (!entrypoint) {
|
|
22
|
-
const { l1ChainId: chainId, protocolVersion } = await this.pxe.getNodeInfo();
|
|
23
|
-
entrypoint = new DefaultEntrypoint(chainId, protocolVersion);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return entrypoint.createTxExecutionRequest(execution);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getChainId(): Fr {
|
|
30
|
-
throw new Error('SignerlessWallet: Method getChainId not implemented.');
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
getVersion(): Fr {
|
|
34
|
-
throw new Error('SignerlessWallet: Method getVersion not implemented.');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
getPublicKeysHash(): Fr {
|
|
38
|
-
throw new Error('SignerlessWallet: Method getPublicKeysHash not implemented.');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getCompleteAddress(): CompleteAddress {
|
|
42
|
-
throw new Error('SignerlessWallet: Method getCompleteAddress not implemented.');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
createAuthWit(_intent: Fr | Buffer | IntentInnerHash | IntentAction): Promise<AuthWitness> {
|
|
46
|
-
throw new Error('SignerlessWallet: Method createAuthWit not implemented.');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
override isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean> {
|
|
50
|
-
return this.pxe.isL1ToL2MessageSynced(l1ToL2Message);
|
|
51
|
-
}
|
|
52
|
-
}
|