@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.5daedc8
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 +59 -0
- package/dest/account/account.d.ts.map +1 -0
- package/dest/account/account.js +59 -0
- package/dest/account/account_contract.d.ts +43 -0
- package/dest/account/account_contract.d.ts.map +1 -0
- package/dest/account/{contract.js → account_contract.js} +7 -4
- package/dest/account/account_with_secret_key.d.ts +24 -0
- 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 +4 -8
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/index.js +2 -6
- package/dest/account/interface.d.ts +2 -14
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/interface.js +1 -0
- package/dest/account/signerless_account.d.ts +23 -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 +3 -2
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/abi.js +1 -1
- package/dest/api/account.d.ts +7 -3
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +4 -1
- package/dest/api/addresses.d.ts +2 -1
- 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/api/contract.d.ts +49 -0
- package/dest/api/contract.d.ts.map +1 -0
- package/dest/{contract/index.js → api/contract.js} +15 -11
- 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 +5 -4
- package/dest/api/deployment.d.ts.map +1 -1
- package/dest/api/deployment.js +4 -3
- package/dest/api/eth_address.d.ts +1 -1
- 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 +2 -2
- 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/fields.d.ts +1 -1
- 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 +2 -1
- 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 -2
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +3 -1
- package/dest/authorization/call_authorization_request.d.ts +46 -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 -80
- 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 +19 -21
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +86 -68
- package/dest/contract/checker.d.ts +2 -2
- package/dest/contract/checker.d.ts.map +1 -1
- package/dest/contract/checker.js +2 -2
- package/dest/contract/contract.d.ts +9 -8
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +10 -20
- package/dest/contract/contract_base.d.ts +7 -20
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +7 -14
- package/dest/contract/contract_function_interaction.d.ts +53 -45
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +78 -74
- package/dest/contract/deploy_method.d.ts +106 -60
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +125 -133
- package/dest/contract/deploy_sent_tx.d.ts +14 -11
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +18 -15
- package/dest/contract/get_gas_limits.d.ts +6 -7
- 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 +46 -0
- package/dest/contract/protocol_contracts.d.ts +7 -7
- 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 +9 -19
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +31 -43
- package/dest/contract/unsafe_contract.d.ts +2 -2
- package/dest/contract/unsafe_contract.d.ts.map +1 -1
- package/dest/contract/unsafe_contract.js +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 +4 -4
- 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 +2 -2
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/deployment/contract_deployer.js +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/ethereum/portal_manager.d.ts +138 -0
- package/dest/ethereum/portal_manager.d.ts.map +1 -0
- package/dest/{api/ethereum → ethereum}/portal_manager.js +136 -76
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
- 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 +12 -8
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.d.ts +26 -9
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +44 -22
- package/dest/fee/public_fee_payment_method.d.ts +27 -10
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +46 -24
- 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 +1 -3
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +82 -25
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +237 -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 +4 -3
- 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 +1 -1
- package/dest/utils/field_compressed_string.d.ts.map +1 -1
- package/dest/utils/node.d.ts +2 -2
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +1 -1
- package/dest/utils/pub_key.d.ts +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 +66 -0
- package/dest/wallet/account_manager.d.ts.map +1 -0
- package/dest/wallet/account_manager.js +113 -0
- 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 -17
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +2 -20
- package/dest/wallet/wallet.d.ts +1965 -0
- package/dest/wallet/wallet.d.ts.map +1 -0
- package/dest/wallet/wallet.js +186 -0
- package/package.json +44 -35
- package/src/account/account.ts +96 -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 +45 -0
- package/src/api/abi.ts +26 -0
- package/src/api/account.ts +6 -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} +39 -14
- 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 +13 -0
- package/src/api/utils.ts +14 -0
- package/src/api/wallet.ts +27 -5
- package/src/authorization/call_authorization_request.ts +63 -0
- package/src/contract/base_contract_interaction.ts +23 -166
- package/src/contract/batch_call.ts +106 -57
- package/src/contract/checker.ts +8 -3
- package/src/contract/contract.ts +14 -21
- package/src/contract/contract_base.ts +9 -26
- package/src/contract/contract_function_interaction.ts +135 -106
- package/src/contract/deploy_method.ts +205 -134
- package/src/contract/deploy_sent_tx.ts +24 -23
- package/src/contract/get_gas_limits.ts +15 -8
- package/src/contract/interaction_options.ts +163 -0
- package/src/contract/protocol_contracts.ts +10 -10
- package/src/contract/sent_tx.ts +41 -52
- package/src/contract/unsafe_contract.ts +2 -2
- package/src/contract/wait_for_proven.ts +38 -0
- package/src/deployment/broadcast_function.ts +57 -57
- package/src/deployment/contract_deployer.ts +4 -3
- package/src/deployment/publish_class.ts +34 -0
- package/src/deployment/publish_instance.ts +26 -0
- package/src/{api/ethereum → ethereum}/portal_manager.ts +164 -83
- package/src/fee/fee_juice_payment_method_with_claim.ts +48 -33
- package/src/fee/fee_payment_method.ts +11 -7
- package/src/fee/private_fee_payment_method.ts +79 -57
- package/src/fee/public_fee_payment_method.ts +93 -67
- package/src/fee/sponsored_fee_payment.ts +46 -0
- package/src/utils/authwit.ts +261 -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 +106 -0
- package/src/wallet/account_manager.ts +154 -0
- package/src/wallet/deploy_account_method.ts +126 -0
- package/src/wallet/index.ts +2 -33
- package/src/wallet/wallet.ts +318 -0
- package/dest/account/contract.d.ts +0 -37
- 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 +0 -136
- 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 +0 -45
- 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 +0 -26
- package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
- package/dest/wallet/base_wallet.d.ts +0 -73
- package/dest/wallet/base_wallet.d.ts.map +0 -1
- package/dest/wallet/base_wallet.js +0 -123
- 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/base_wallet.ts +0 -198
- package/src/wallet/signerless_wallet.ts +0 -52
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
2
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
4
|
-
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
5
3
|
import type { TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
6
|
-
import type { Wallet } from '../
|
|
7
|
-
import type { Contract } from './contract.js';
|
|
4
|
+
import type { Wallet } from '../wallet/wallet.js';
|
|
8
5
|
import type { ContractBase } from './contract_base.js';
|
|
9
6
|
import { SentTx, type WaitOpts } from './sent_tx.js';
|
|
10
7
|
/** Options related to waiting for a deployment tx. */
|
|
@@ -13,21 +10,28 @@ export type DeployedWaitOpts = WaitOpts & {
|
|
|
13
10
|
wallet?: Wallet;
|
|
14
11
|
};
|
|
15
12
|
/** Extends a transaction receipt with a contract instance that represents the newly deployed contract. */
|
|
16
|
-
export type DeployTxReceipt<TContract extends ContractBase =
|
|
13
|
+
export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = FieldsOf<TxReceipt> & {
|
|
17
14
|
/** Instance of the newly deployed contract. */
|
|
18
15
|
contract: TContract;
|
|
16
|
+
/** The deployed contract instance with address and metadata. */
|
|
17
|
+
instance: ContractInstanceWithAddress;
|
|
19
18
|
};
|
|
20
19
|
/**
|
|
21
|
-
* A contract deployment transaction sent to the network, extending SentTx with methods to
|
|
20
|
+
* A contract deployment transaction sent to the network, extending SentTx with methods to publish a contract instance.
|
|
22
21
|
*/
|
|
23
|
-
export declare class DeploySentTx<TContract extends
|
|
22
|
+
export declare class DeploySentTx<TContract extends ContractBase = ContractBase> extends SentTx {
|
|
24
23
|
private postDeployCtor;
|
|
25
24
|
/** A getter for the deployed contract instance */
|
|
26
|
-
instanceGetter
|
|
25
|
+
private instanceGetter;
|
|
27
26
|
private log;
|
|
28
|
-
constructor(
|
|
27
|
+
constructor(wallet: Wallet, sendTx: () => Promise<TxHash>, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract,
|
|
29
28
|
/** A getter for the deployed contract instance */
|
|
30
29
|
instanceGetter: () => Promise<ContractInstanceWithAddress>);
|
|
30
|
+
/**
|
|
31
|
+
* Returns the contract instance for this deployment.
|
|
32
|
+
* @returns The deployed contract instance with address and metadata.
|
|
33
|
+
*/
|
|
34
|
+
getInstance(): Promise<ContractInstanceWithAddress>;
|
|
31
35
|
/**
|
|
32
36
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
33
37
|
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
@@ -40,6 +44,5 @@ export declare class DeploySentTx<TContract extends Contract = Contract> extends
|
|
|
40
44
|
* @returns The transaction receipt with the deployed contract instance.
|
|
41
45
|
*/
|
|
42
46
|
wait(opts?: DeployedWaitOpts): Promise<DeployTxReceipt<TContract>>;
|
|
43
|
-
protected getContractObject(wallet?: Wallet): Promise<TContract>;
|
|
44
47
|
}
|
|
45
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3NlbnRfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfc2VudF90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELHNEQUFzRDtBQUN0RCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxHQUFHO0lBQ3hDLCtHQUErRztJQUMvRyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakIsQ0FBQztBQUVGLDBHQUEwRztBQUMxRyxNQUFNLE1BQU0sZUFBZSxDQUFDLFNBQVMsU0FBUyxZQUFZLEdBQUcsWUFBWSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztJQUNqRywrQ0FBK0M7SUFDL0MsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUNwQixnRUFBZ0U7SUFDaEUsUUFBUSxFQUFFLDJCQUEyQixDQUFDO0NBQ3ZDLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLFlBQVksQ0FBQyxTQUFTLFNBQVMsWUFBWSxHQUFHLFlBQVksQ0FBRSxTQUFRLE1BQU07SUFNbkYsT0FBTyxDQUFDLGNBQWM7SUFDdEIsa0RBQWtEO0lBQ2xELE9BQU8sQ0FBQyxjQUFjO0lBUHhCLE9BQU8sQ0FBQyxHQUFHLENBQTBDO0lBRXJELFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3JCLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLFNBQVM7SUFDNUYsa0RBQWtEO0lBQzFDLGNBQWMsRUFBRSxNQUFNLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxFQUduRTtJQUVEOzs7T0FHRztJQUNVLFdBQVcsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FFL0Q7SUFFRDs7OztPQUlHO0lBQ1UsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FJakU7SUFFRDs7OztPQUlHO0lBQ21CLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBVXZGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IACjG,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,2BAA2B,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,MAAM;IAMnF,OAAO,CAAC,cAAc;IACtB,kDAAkD;IAClD,OAAO,CAAC,cAAc;IAPxB,OAAO,CAAC,GAAG,CAA0C;IAErD,YACE,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACrB,cAAc,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS;IAC5F,kDAAkD;IAC1C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,EAGnE;IAED;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAE/D;IAED;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIjE;IAED;;;;OAIG;IACmB,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAUvF;CACF"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { SentTx } from './sent_tx.js';
|
|
3
3
|
/**
|
|
4
|
-
* A contract deployment transaction sent to the network, extending SentTx with methods to
|
|
4
|
+
* A contract deployment transaction sent to the network, extending SentTx with methods to publish a contract instance.
|
|
5
5
|
*/ export class DeploySentTx extends SentTx {
|
|
6
6
|
postDeployCtor;
|
|
7
7
|
instanceGetter;
|
|
8
8
|
log;
|
|
9
|
-
constructor(
|
|
10
|
-
super(
|
|
9
|
+
constructor(wallet, sendTx, postDeployCtor, /** A getter for the deployed contract instance */ instanceGetter){
|
|
10
|
+
super(wallet, sendTx), this.postDeployCtor = postDeployCtor, this.instanceGetter = instanceGetter, this.log = createLogger('aztecjs:deploy_sent_tx');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns the contract instance for this deployment.
|
|
14
|
+
* @returns The deployed contract instance with address and metadata.
|
|
15
|
+
*/ async getInstance() {
|
|
16
|
+
return await this.instanceGetter();
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
@@ -15,8 +21,7 @@ import { SentTx } from './sent_tx.js';
|
|
|
15
21
|
* @returns The deployed contract instance.
|
|
16
22
|
*/ async deployed(opts) {
|
|
17
23
|
const receipt = await this.wait(opts);
|
|
18
|
-
|
|
19
|
-
this.log.info(`Contract ${instance.address.toString()} successfully deployed.`);
|
|
24
|
+
this.log.info(`Contract ${receipt.instance.address.toString()} successfully deployed.`);
|
|
20
25
|
return receipt.contract;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
@@ -25,19 +30,17 @@ import { SentTx } from './sent_tx.js';
|
|
|
25
30
|
* @returns The transaction receipt with the deployed contract instance.
|
|
26
31
|
*/ async wait(opts) {
|
|
27
32
|
const receipt = await super.wait(opts);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
...receipt,
|
|
31
|
-
contract
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
async getContractObject(wallet) {
|
|
35
|
-
const isWallet = (pxeOrWallet)=>!!pxeOrWallet.createTxExecutionRequest;
|
|
36
|
-
const contractWallet = wallet ?? (isWallet(this.pxeOrNode) && this.pxeOrNode);
|
|
33
|
+
// In the case of DeploySentTx we have a guarantee that this.walletOrNode is a Wallet so we can cast it to Wallet.
|
|
34
|
+
const contractWallet = opts?.wallet ?? this.walletOrNode;
|
|
37
35
|
if (!contractWallet) {
|
|
38
36
|
throw new Error(`A wallet is required for creating a contract instance`);
|
|
39
37
|
}
|
|
40
38
|
const instance = await this.instanceGetter();
|
|
41
|
-
|
|
39
|
+
const contract = this.postDeployCtor(instance, contractWallet);
|
|
40
|
+
return {
|
|
41
|
+
...receipt,
|
|
42
|
+
contract,
|
|
43
|
+
instance
|
|
44
|
+
};
|
|
42
45
|
}
|
|
43
46
|
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Gas } from '@aztec/stdlib/gas';
|
|
2
2
|
import type { TxSimulationResult } from '@aztec/stdlib/tx';
|
|
3
3
|
/**
|
|
4
4
|
* Returns suggested total and teardown gas limits for a simulated tx.
|
|
5
|
-
* Note that public gas usage is only accounted for if the publicOutput is present.
|
|
6
5
|
* @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
|
|
7
6
|
*/
|
|
8
7
|
export declare function getGasLimits(simulationResult: TxSimulationResult, pad?: number): {
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Gas limit for the tx, excluding teardown gas
|
|
11
10
|
*/
|
|
12
|
-
|
|
11
|
+
gasLimits: Gas;
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
13
|
+
* Gas limit for the teardown phase
|
|
15
14
|
*/
|
|
16
|
-
|
|
15
|
+
teardownGasLimits: Gas;
|
|
17
16
|
};
|
|
18
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9nZXRfZ2FzX2xpbWl0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRDs7O0dBR0c7QUFDSCx3QkFBZ0IsWUFBWSxDQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDcEMsR0FBRyxTQUFNLEdBQ1I7SUFDRDs7T0FFRztJQUNILFNBQVMsRUFBRSxHQUFHLENBQUM7SUFDZjs7T0FFRztJQUNILGlCQUFpQixFQUFFLEdBQUcsQ0FBQztDQUN4QixDQVlBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,kBAAkB,EACpC,GAAG,SAAM,GACR;IACD;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;IACf;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC;CACxB,CAYA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
1
2
|
/**
|
|
2
3
|
* Returns suggested total and teardown gas limits for a simulated tx.
|
|
3
|
-
* Note that public gas usage is only accounted for if the publicOutput is present.
|
|
4
4
|
* @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
|
|
5
5
|
*/ export function getGasLimits(simulationResult, pad = 0.1) {
|
|
6
|
+
// Total gas does not use the teardown gas limit, but the actual total gas used by the tx.
|
|
7
|
+
const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
|
|
8
|
+
const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
|
|
9
|
+
if (gasLimits.l2Gas > AVM_MAX_PROCESSABLE_L2_GAS) {
|
|
10
|
+
throw new Error('Transaction consumes more gas than the AVM maximum processable gas');
|
|
11
|
+
}
|
|
6
12
|
return {
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
gasLimits,
|
|
14
|
+
teardownGasLimits
|
|
9
15
|
};
|
|
10
16
|
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
|
+
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
3
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
+
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
5
|
+
import type { Capsule, OffchainEffect, SimulationStats } from '@aztec/stdlib/tx';
|
|
6
|
+
import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
7
|
+
import type { ProfileOptions, SendOptions, SimulateOptions } from '../wallet/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Options used to tweak the simulation and add gas estimation capabilities
|
|
10
|
+
*/
|
|
11
|
+
export type FeeEstimationOptions = {
|
|
12
|
+
/** Whether to modify the fee settings of the simulation with high gas limit to figure out actual gas settings. */
|
|
13
|
+
estimateGas?: boolean;
|
|
14
|
+
/** Percentage to pad the estimated gas limits by, if empty, defaults to 0.1. Only relevant if estimateGas is set. */
|
|
15
|
+
estimatedGasPadding?: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Interactions allow configuring a custom fee payment method that gets bundled with the transaction before
|
|
19
|
+
* sending it to the wallet
|
|
20
|
+
*/
|
|
21
|
+
export type FeePaymentMethodOption = {
|
|
22
|
+
/** Fee payment method to embed in the interaction */
|
|
23
|
+
paymentMethod?: FeePaymentMethod;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* User-defined partial gas settings for the interaction. This type is completely optional since
|
|
27
|
+
* the wallet will fill in the missing options
|
|
28
|
+
*/
|
|
29
|
+
export type GasSettingsOption = {
|
|
30
|
+
/** The gas settings */
|
|
31
|
+
gasSettings?: Partial<FieldsOf<GasSettings>>;
|
|
32
|
+
};
|
|
33
|
+
/** Fee options as set by a user. */
|
|
34
|
+
export type InteractionFeeOptions = GasSettingsOption & FeePaymentMethodOption;
|
|
35
|
+
/** Fee options that can be set for simulation *only* */
|
|
36
|
+
export type SimulationInteractionFeeOptions = InteractionFeeOptions & FeeEstimationOptions;
|
|
37
|
+
/**
|
|
38
|
+
* Represents the options to configure a request from a contract interaction.
|
|
39
|
+
* Allows specifying additional auth witnesses and capsules to use during execution
|
|
40
|
+
*/
|
|
41
|
+
export type RequestInteractionOptions = {
|
|
42
|
+
/** Extra authwits to use during execution */
|
|
43
|
+
authWitnesses?: AuthWitness[];
|
|
44
|
+
/** Extra capsules to use during execution */
|
|
45
|
+
capsules?: Capsule[];
|
|
46
|
+
/** Fee payment method to embed in the interaction request */
|
|
47
|
+
fee?: FeePaymentMethodOption;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Represents options for calling a (constrained) function in a contract.
|
|
51
|
+
*/
|
|
52
|
+
export type SendInteractionOptions = RequestInteractionOptions & {
|
|
53
|
+
/** The sender's Aztec address. */
|
|
54
|
+
from: AztecAddress;
|
|
55
|
+
/** The fee options for the transaction. */
|
|
56
|
+
fee?: InteractionFeeOptions;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Represents the options for simulating a contract function interaction.
|
|
60
|
+
* Allows specifying the address from which the method should be called.
|
|
61
|
+
* Disregarded for simulation of public functions
|
|
62
|
+
*/
|
|
63
|
+
export type SimulateInteractionOptions = Omit<SendInteractionOptions, 'fee'> & {
|
|
64
|
+
/** The fee options for the transaction. */
|
|
65
|
+
fee?: SimulationInteractionFeeOptions;
|
|
66
|
+
/** Simulate without checking for the validity of the resulting transaction, e.g. whether it emits any existing nullifiers. */
|
|
67
|
+
skipTxValidation?: boolean;
|
|
68
|
+
/** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
|
|
69
|
+
skipFeeEnforcement?: boolean;
|
|
70
|
+
/** Whether to include metadata such as offchain effects and performance statistics (e.g. timing information of the different circuits and oracles) in
|
|
71
|
+
* the simulation result, instead of just the return value of the function */
|
|
72
|
+
includeMetadata?: boolean;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Represents the options for profiling an interaction.
|
|
76
|
+
*/
|
|
77
|
+
export type ProfileInteractionOptions = SimulateInteractionOptions & {
|
|
78
|
+
/** Whether to return gates information or the bytecode/witnesses. */
|
|
79
|
+
profileMode: 'gates' | 'execution-steps' | 'full';
|
|
80
|
+
/** Whether to generate a Chonk proof or not */
|
|
81
|
+
skipProofGeneration?: boolean;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Represents the result type of a simulation.
|
|
85
|
+
* By default, it will just be the return value of the simulated function
|
|
86
|
+
* If `includeMetadata` is set to true in `SimulateInteractionOptions` on the input of `simulate(...)`,
|
|
87
|
+
* it will provide extra information.
|
|
88
|
+
*/
|
|
89
|
+
export type SimulationReturn<T extends boolean | undefined> = T extends true ? {
|
|
90
|
+
/** Additional stats about the simulation */
|
|
91
|
+
stats: SimulationStats;
|
|
92
|
+
/** Offchain effects generated during the simulation */
|
|
93
|
+
offchainEffects: OffchainEffect[];
|
|
94
|
+
/** Return value of the function */
|
|
95
|
+
result: any;
|
|
96
|
+
/** Gas estimation results */
|
|
97
|
+
estimatedGas: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>;
|
|
98
|
+
} : any;
|
|
99
|
+
/**
|
|
100
|
+
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
101
|
+
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
102
|
+
*/
|
|
103
|
+
export declare function toSendOptions(options: SendInteractionOptions): SendOptions;
|
|
104
|
+
/**
|
|
105
|
+
* Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
|
|
106
|
+
* SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
107
|
+
*/
|
|
108
|
+
export declare function toSimulateOptions(options: SimulateInteractionOptions): SimulateOptions;
|
|
109
|
+
/**
|
|
110
|
+
* Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
|
|
111
|
+
* ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
112
|
+
*/
|
|
113
|
+
export declare function toProfileOptions(options: ProfileInteractionOptions): ProfileOptions;
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25fb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2ludGVyYWN0aW9uX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsa0hBQWtIO0lBQ2xILFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixxSEFBcUg7SUFDckgsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDOUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUNuQyxxREFBcUQ7SUFDckQsYUFBYSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7Q0FDbEMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5Qix1QkFBdUI7SUFDdkIsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0NBQzlDLENBQUM7QUFFRixvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBRS9FLHlEQUF5RDtBQUN6RCxNQUFNLE1BQU0sK0JBQStCLEdBQUcscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7QUFFM0Y7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLDZDQUE2QztJQUM3QyxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM5Qiw2Q0FBNkM7SUFDN0MsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDckIsNkRBQTZEO0lBQzdELEdBQUcsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO0NBQzlCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsR0FBRztJQUMvRCxrQ0FBa0M7SUFDbEMsSUFBSSxFQUFFLFlBQVksQ0FBQztJQUNuQiwyQ0FBMkM7SUFDM0MsR0FBRyxDQUFDLEVBQUUscUJBQXFCLENBQUM7Q0FDN0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxHQUFHO0lBQzdFLDJDQUEyQztJQUMzQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQztJQUN0Qyw4SEFBOEg7SUFDOUgsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IsOEZBQThGO0lBQzlGLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzdCO2lGQUM2RTtJQUM3RSxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLDBCQUEwQixHQUFHO0lBQ25FLHFFQUFxRTtJQUNyRSxXQUFXLEVBQUUsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUNsRCwrQ0FBK0M7SUFDL0MsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDL0IsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLGdCQUFnQixDQUFDLENBQUMsU0FBUyxPQUFPLEdBQUcsU0FBUyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQ3hFO0lBQ0UsNENBQTRDO0lBQzVDLEtBQUssRUFBRSxlQUFlLENBQUM7SUFDdkIsdURBQXVEO0lBQ3ZELGVBQWUsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsQyxvQ0FBb0M7SUFDcEMsTUFBTSxFQUFFLEdBQUcsQ0FBQztJQUNaLDZCQUE2QjtJQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztDQUNwRSxHQUNELEdBQUcsQ0FBQztBQUVSOzs7R0FHRztBQUNILHdCQUFnQixhQUFhLENBQUMsT0FBTyxFQUFFLHNCQUFzQixHQUFHLFdBQVcsQ0FhMUU7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLGVBQWUsQ0FldEY7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLGNBQWMsQ0FNbkYifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,kHAAkH;IAClH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qHAAqH;IACrH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAE/E,yDAAyD;AACzD,MAAM,MAAM,+BAA+B,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE3F;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAAG;IAC/D,kCAAkC;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG;IAC7E,2CAA2C;IAC3C,GAAG,CAAC,EAAE,+BAA+B,CAAC;IACtC,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;iFAC6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,GAAG;IACnE,qEAAqE;IACrE,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAClD,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,IAAI,GACxE;IACE,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oCAAoC;IACpC,MAAM,EAAE,GAAG,CAAC;IACZ,6BAA6B;IAC7B,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;CACpE,GACD,GAAG,CAAC;AAER;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW,CAa1E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,eAAe,CAetF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,cAAc,CAMnF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
3
|
+
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
4
|
+
*/ export function toSendOptions(options) {
|
|
5
|
+
return {
|
|
6
|
+
...options,
|
|
7
|
+
fee: {
|
|
8
|
+
// If a payment method that includes gas settings was used,
|
|
9
|
+
// try to reuse as much as possible while still allowing
|
|
10
|
+
// manual override. CAREFUL: this can cause mismatches during proving
|
|
11
|
+
gasSettings: {
|
|
12
|
+
...options.fee?.paymentMethod?.getGasSettings(),
|
|
13
|
+
...options.fee?.gasSettings
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
|
|
20
|
+
* SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
21
|
+
*/ export function toSimulateOptions(options) {
|
|
22
|
+
return {
|
|
23
|
+
...options,
|
|
24
|
+
fee: {
|
|
25
|
+
// If a payment method that includes gas settings was used,
|
|
26
|
+
// try to reuse as much as possible while still allowing
|
|
27
|
+
// manual override. CAREFUL: this can cause mismatches during proving
|
|
28
|
+
gasSettings: {
|
|
29
|
+
...options.fee?.paymentMethod?.getGasSettings(),
|
|
30
|
+
...options.fee?.gasSettings
|
|
31
|
+
},
|
|
32
|
+
estimateGas: options.fee?.estimateGas,
|
|
33
|
+
estimatedGasPadding: options.fee?.estimatedGasPadding
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
|
|
39
|
+
* ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
40
|
+
*/ export function toProfileOptions(options) {
|
|
41
|
+
return {
|
|
42
|
+
...toSimulateOptions(options),
|
|
43
|
+
profileMode: options.profileMode,
|
|
44
|
+
skipProofGeneration: options.skipProofGeneration
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Wallet } from '../wallet/
|
|
1
|
+
import type { Wallet } from '../wallet/wallet.js';
|
|
2
2
|
import { UnsafeContract } from './unsafe_contract.js';
|
|
3
|
-
/** Returns a Contract wrapper for the class
|
|
4
|
-
export declare function
|
|
5
|
-
/** Returns a Contract wrapper for the instance
|
|
6
|
-
export declare function
|
|
7
|
-
/** Returns a Contract wrapper for the fee juice */
|
|
3
|
+
/** Returns a Contract wrapper for the contract class registry. */
|
|
4
|
+
export declare function getClassRegistryContract(wallet: Wallet): Promise<UnsafeContract>;
|
|
5
|
+
/** Returns a Contract wrapper for the contract instance registry. */
|
|
6
|
+
export declare function getInstanceRegistryContract(wallet: Wallet): Promise<UnsafeContract>;
|
|
7
|
+
/** Returns a Contract wrapper for the fee juice contract */
|
|
8
8
|
export declare function getFeeJuice(wallet: Wallet): Promise<UnsafeContract>;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvcHJvdG9jb2xfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxrRUFBa0U7QUFDbEUsd0JBQXNCLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxNQUFNLDJCQVE1RDtBQUVELHFFQUFxRTtBQUNyRSx3QkFBc0IsMkJBQTJCLENBQUMsTUFBTSxFQUFFLE1BQU0sMkJBTy9EO0FBRUQsNERBQTREO0FBQzVELHdCQUFzQixXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sMkJBTy9DIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/contract/protocol_contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/contract/protocol_contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,kEAAkE;AAClE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,2BAQ5D;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,MAAM,2BAO/D;AAED,4DAA4D;AAC5D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,2BAO/C"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
2
2
|
import { UnsafeContract } from './unsafe_contract.js';
|
|
3
|
-
/** Returns a Contract wrapper for the class
|
|
4
|
-
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.
|
|
3
|
+
/** Returns a Contract wrapper for the contract class registry. */ export async function getClassRegistryContract(wallet) {
|
|
4
|
+
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractClassRegistry);
|
|
5
5
|
if (!contractInstance) {
|
|
6
|
-
throw new Error("
|
|
6
|
+
throw new Error("ContractClassRegistry is not registered in this wallet's instance");
|
|
7
7
|
}
|
|
8
8
|
const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
|
|
9
9
|
return new UnsafeContract(contractInstance, artifact, wallet);
|
|
10
10
|
}
|
|
11
|
-
/** Returns a Contract wrapper for the instance
|
|
12
|
-
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.
|
|
11
|
+
/** Returns a Contract wrapper for the contract instance registry. */ export async function getInstanceRegistryContract(wallet) {
|
|
12
|
+
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractInstanceRegistry);
|
|
13
13
|
if (!contractInstance) {
|
|
14
|
-
throw new Error("
|
|
14
|
+
throw new Error("ContractInstanceRegistry is not registered in this wallet's instance");
|
|
15
15
|
}
|
|
16
16
|
const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
|
|
17
17
|
return new UnsafeContract(contractInstance, artifact, wallet);
|
|
18
18
|
}
|
|
19
|
-
/** Returns a Contract wrapper for the fee juice */ export async function getFeeJuice(wallet) {
|
|
19
|
+
/** Returns a Contract wrapper for the fee juice contract */ export async function getFeeJuice(wallet) {
|
|
20
20
|
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.FeeJuice);
|
|
21
21
|
if (!contractInstance) {
|
|
22
22
|
throw new Error("FeeJuice is not registered in this wallet's instance");
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
|
-
import type { AztecNode
|
|
3
|
-
import {
|
|
2
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
3
|
+
import { TxHash, type TxReceipt } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { Wallet } from '../wallet/wallet.js';
|
|
4
5
|
/** Options related to waiting for a tx. */
|
|
5
6
|
export type WaitOpts = {
|
|
6
7
|
/** The amount of time to ignore TxStatus.DROPPED receipts (in seconds) due to the presumption that it is being propagated by the p2p network. Defaults to 5. */
|
|
7
8
|
ignoreDroppedReceiptsFor?: number;
|
|
8
9
|
/** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
|
|
9
10
|
timeout?: number;
|
|
10
|
-
/** The maximum time (in seconds) to wait for the transaction to be proven. Defaults to 600. */
|
|
11
|
-
provenTimeout?: number;
|
|
12
11
|
/** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
|
|
13
12
|
interval?: number;
|
|
14
|
-
/** Whether to wait for the tx to be proven. */
|
|
15
|
-
proven?: boolean;
|
|
16
|
-
/** Whether to include information useful for debugging/testing in the receipt. */
|
|
17
|
-
debug?: boolean;
|
|
18
13
|
/** Whether to accept a revert as a status code for the tx when waiting for it. If false, will throw if the tx reverts. */
|
|
19
14
|
dontThrowOnRevert?: boolean;
|
|
20
15
|
};
|
|
@@ -24,9 +19,11 @@ export declare const DefaultWaitOpts: WaitOpts;
|
|
|
24
19
|
* its hash, receipt, and mining status.
|
|
25
20
|
*/
|
|
26
21
|
export declare class SentTx {
|
|
27
|
-
protected
|
|
28
|
-
protected
|
|
29
|
-
|
|
22
|
+
protected walletOrNode: Wallet | AztecNode;
|
|
23
|
+
protected sendTxPromise: Promise<void>;
|
|
24
|
+
protected sendTxError?: Error;
|
|
25
|
+
protected txHash?: TxHash;
|
|
26
|
+
constructor(walletOrNode: Wallet | AztecNode, sendTx: () => Promise<TxHash>);
|
|
30
27
|
/**
|
|
31
28
|
* Retrieves the transaction hash of the SentTx instance.
|
|
32
29
|
* The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
|
|
@@ -49,13 +46,6 @@ export declare class SentTx {
|
|
|
49
46
|
* @returns The transaction receipt.
|
|
50
47
|
*/
|
|
51
48
|
wait(opts?: WaitOpts): Promise<FieldsOf<TxReceipt>>;
|
|
52
|
-
/**
|
|
53
|
-
* Gets public logs emitted by this tx.
|
|
54
|
-
* @remarks This function will wait for the tx to be mined if it hasn't been already.
|
|
55
|
-
* @returns The requested logs.
|
|
56
|
-
*/
|
|
57
|
-
getPublicLogs(): Promise<GetPublicLogsResponse>;
|
|
58
49
|
protected waitForReceipt(opts?: WaitOpts): Promise<TxReceipt>;
|
|
59
|
-
protected waitForProven(minedBlock: number, opts?: WaitOpts): Promise<number>;
|
|
60
50
|
}
|
|
61
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3NlbnRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBRXBFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELDJDQUEyQztBQUMzQyxNQUFNLE1BQU0sUUFBUSxHQUFHO0lBQ3JCLGdLQUFnSztJQUNoSyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyw2RkFBNkY7SUFDN0YsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLHNHQUFzRztJQUN0RyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMEhBQTBIO0lBQzFILGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQzdCLENBQUM7QUFFRixlQUFPLE1BQU0sZUFBZSxFQUFFLFFBSTdCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxxQkFBYSxNQUFNO0lBTWYsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsU0FBUztJQUw1QyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFMUIsWUFDWSxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDMUMsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQWM5QjtJQUVEOzs7Ozs7T0FNRztJQUNVLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBV3hDO0lBRUQ7Ozs7OztPQU1HO0lBQ1UsVUFBVSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHNUM7SUFFRDs7OztPQUlHO0lBQ1UsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBUS9EO0lBRUQsVUFBZ0IsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBNEJsRTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAEpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IAMf,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAL5C,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,YACY,YAAY,EAAE,MAAM,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAc9B;IAED;;;;;;OAMG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAWxC;IAED;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAG5C;IAED;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAQ/D;IAED,UAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CA4BlE;CACF"}
|
package/dest/contract/sent_tx.js
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
|
+
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
1
2
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
2
3
|
import { TxStatus } from '@aztec/stdlib/tx';
|
|
3
4
|
export const DefaultWaitOpts = {
|
|
4
5
|
ignoreDroppedReceiptsFor: 5,
|
|
5
|
-
timeout:
|
|
6
|
-
|
|
7
|
-
interval: 1,
|
|
8
|
-
debug: false
|
|
6
|
+
timeout: 300,
|
|
7
|
+
interval: 1
|
|
9
8
|
};
|
|
10
9
|
/**
|
|
11
10
|
* The SentTx class represents a sent transaction through the PXE (or directly to a node) providing methods to fetch
|
|
12
11
|
* its hash, receipt, and mining status.
|
|
13
12
|
*/ export class SentTx {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
walletOrNode;
|
|
14
|
+
sendTxPromise;
|
|
15
|
+
sendTxError;
|
|
16
|
+
txHash;
|
|
17
|
+
constructor(walletOrNode, sendTx){
|
|
18
|
+
this.walletOrNode = walletOrNode;
|
|
19
|
+
const { promise, resolve } = promiseWithResolvers();
|
|
20
|
+
this.sendTxPromise = promise;
|
|
21
|
+
sendTx().then((txHash)=>{
|
|
22
|
+
this.txHash = txHash;
|
|
23
|
+
resolve();
|
|
24
|
+
}).catch((err)=>{
|
|
25
|
+
this.sendTxError = err;
|
|
26
|
+
// Calling resolve instead of reject here because we want to throw the error when getTxHash is called.
|
|
27
|
+
resolve();
|
|
28
|
+
});
|
|
19
29
|
}
|
|
20
30
|
/**
|
|
21
31
|
* Retrieves the transaction hash of the SentTx instance.
|
|
@@ -23,8 +33,15 @@ export const DefaultWaitOpts = {
|
|
|
23
33
|
*
|
|
24
34
|
* @returns A promise that resolves to the transaction hash of the SentTx instance.
|
|
25
35
|
* TODO(#7717): Don't throw here.
|
|
26
|
-
*/ getTxHash() {
|
|
27
|
-
|
|
36
|
+
*/ async getTxHash() {
|
|
37
|
+
// Make sure sendTx has been resolved, which can be triggered when it returns a txHash or when it throws an error.
|
|
38
|
+
await this.sendTxPromise;
|
|
39
|
+
// If sendTx threw an error, throw it.
|
|
40
|
+
if (this.sendTxError) {
|
|
41
|
+
throw this.sendTxError;
|
|
42
|
+
}
|
|
43
|
+
// sendTx returned a txHash if it's been resolved and no error was set.
|
|
44
|
+
return Promise.resolve(this.txHash);
|
|
28
45
|
}
|
|
29
46
|
/**
|
|
30
47
|
* Retrieve the transaction receipt associated with the current SentTx instance.
|
|
@@ -34,7 +51,7 @@ export const DefaultWaitOpts = {
|
|
|
34
51
|
* @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
|
|
35
52
|
*/ async getReceipt() {
|
|
36
53
|
const txHash = await this.getTxHash();
|
|
37
|
-
return await this.
|
|
54
|
+
return await this.walletOrNode.getTxReceipt(txHash);
|
|
38
55
|
}
|
|
39
56
|
/**
|
|
40
57
|
* Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
|
|
@@ -43,39 +60,16 @@ export const DefaultWaitOpts = {
|
|
|
43
60
|
*/ async wait(opts) {
|
|
44
61
|
const receipt = await this.waitForReceipt(opts);
|
|
45
62
|
if (receipt.status !== TxStatus.SUCCESS && !opts?.dontThrowOnRevert) {
|
|
46
|
-
throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
|
|
47
|
-
}
|
|
48
|
-
if (opts?.proven && receipt.blockNumber !== undefined) {
|
|
49
|
-
await this.waitForProven(receipt.blockNumber, opts);
|
|
50
|
-
}
|
|
51
|
-
if (opts?.debug) {
|
|
52
|
-
const txHash = await this.getTxHash();
|
|
53
|
-
const { data: tx } = await this.pxeOrNode.getTxEffect(txHash);
|
|
54
|
-
receipt.debugInfo = {
|
|
55
|
-
noteHashes: tx.noteHashes,
|
|
56
|
-
nullifiers: tx.nullifiers,
|
|
57
|
-
publicDataWrites: tx.publicDataWrites,
|
|
58
|
-
l2ToL1Msgs: tx.l2ToL1Msgs
|
|
59
|
-
};
|
|
63
|
+
throw new Error(`Transaction ${(await this.getTxHash()).toString()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
|
|
60
64
|
}
|
|
61
65
|
return receipt;
|
|
62
66
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Gets public logs emitted by this tx.
|
|
65
|
-
* @remarks This function will wait for the tx to be mined if it hasn't been already.
|
|
66
|
-
* @returns The requested logs.
|
|
67
|
-
*/ async getPublicLogs() {
|
|
68
|
-
await this.wait();
|
|
69
|
-
return this.pxeOrNode.getPublicLogs({
|
|
70
|
-
txHash: await this.getTxHash()
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
67
|
async waitForReceipt(opts) {
|
|
74
68
|
const txHash = await this.getTxHash();
|
|
75
69
|
const startTime = Date.now();
|
|
76
70
|
const ignoreDroppedReceiptsFor = opts?.ignoreDroppedReceiptsFor ?? DefaultWaitOpts.ignoreDroppedReceiptsFor;
|
|
77
71
|
return await retryUntil(async ()=>{
|
|
78
|
-
const txReceipt = await this.
|
|
72
|
+
const txReceipt = await this.walletOrNode.getTxReceipt(txHash);
|
|
79
73
|
// If receipt is not yet available, try again
|
|
80
74
|
if (txReceipt.status === TxStatus.PENDING) {
|
|
81
75
|
return undefined;
|
|
@@ -93,10 +87,4 @@ export const DefaultWaitOpts = {
|
|
|
93
87
|
return txReceipt;
|
|
94
88
|
}, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
95
89
|
}
|
|
96
|
-
async waitForProven(minedBlock, opts) {
|
|
97
|
-
return await retryUntil(async ()=>{
|
|
98
|
-
const provenBlock = await this.pxeOrNode.getProvenBlockNumber();
|
|
99
|
-
return provenBlock >= minedBlock ? provenBlock : undefined;
|
|
100
|
-
}, 'isProven', opts?.provenTimeout ?? DefaultWaitOpts.provenTimeout, opts?.interval ?? DefaultWaitOpts.interval);
|
|
101
|
-
}
|
|
102
90
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
2
2
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
3
|
-
import type { Wallet } from '../wallet/
|
|
3
|
+
import type { Wallet } from '../wallet/wallet.js';
|
|
4
4
|
import { ContractBase } from './contract_base.js';
|
|
5
5
|
/** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */
|
|
6
6
|
export declare class UnsafeContract extends ContractBase {
|
|
@@ -12,4 +12,4 @@ export declare class UnsafeContract extends ContractBase {
|
|
|
12
12
|
/** The wallet used for interacting with this contract. */
|
|
13
13
|
wallet: Wallet);
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zYWZlX2NvbnRyYWN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvdW5zYWZlX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsaUhBQWlIO0FBQ2pILHFCQUFhLGNBQWUsU0FBUSxZQUFZO0lBQzlDO0lBQ0UsaURBQWlEO0lBQ2pELFFBQVEsRUFBRSwyQkFBMkI7SUFDckMseURBQXlEO0lBQ3pELFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsMERBQTBEO0lBQzFELE1BQU0sRUFBRSxNQUFNLEVBR2Y7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsafe_contract.d.ts","sourceRoot":"","sources":["../../src/contract/unsafe_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"unsafe_contract.d.ts","sourceRoot":"","sources":["../../src/contract/unsafe_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iHAAiH;AACjH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;IACE,iDAAiD;IACjD,QAAQ,EAAE,2BAA2B;IACrC,yDAAyD;IACzD,QAAQ,EAAE,gBAAgB;IAC1B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAGf;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ContractBase } from './contract_base.js';
|
|
2
2
|
/** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */ export class UnsafeContract extends ContractBase {
|
|
3
3
|
constructor(/** The deployed contract instance definition. */ instance, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
|
|
4
|
-
super(instance, artifact, wallet);
|
|
4
|
+
super(instance.address, artifact, wallet);
|
|
5
5
|
}
|
|
6
6
|
}
|