@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.0208eb9
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 +44 -0
- package/dest/account/account.d.ts.map +1 -0
- package/dest/account/account.js +31 -0
- package/dest/account/account_contract.d.ts +42 -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 +36 -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} +22 -5
- package/dest/account/index.d.ts +6 -9
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/index.js +4 -6
- package/dest/account/signerless_account.d.ts +22 -0
- package/dest/account/signerless_account.d.ts.map +1 -0
- package/dest/account/signerless_account.js +24 -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 +5 -3
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +3 -2
- 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 +55 -0
- package/dest/api/contract.d.ts.map +1 -0
- package/dest/api/contract.js +53 -0
- 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 +3 -2
- package/dest/api/fields.d.ts.map +1 -1
- package/dest/api/fields.js +2 -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 +25 -0
- package/dest/api/node.d.ts.map +1 -0
- package/dest/api/node.js +22 -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 +9 -0
- package/dest/api/protocol.d.ts.map +1 -0
- package/dest/api/protocol.js +8 -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 +5 -2
- 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 +18 -84
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +11 -136
- 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 +89 -69
- 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 +8 -18
- 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 +155 -62
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +152 -142
- 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 +151 -0
- package/dest/contract/interaction_options.d.ts.map +1 -0
- package/dest/contract/interaction_options.js +53 -0
- package/dest/contract/protocol_contracts/auth-registry.d.ts +27 -0
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/auth-registry.js +558 -0
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts +26 -0
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/contract-class-registry.js +385 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
- package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/fee-juice.js +426 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +585 -0
- package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/public-checks.js +593 -0
- 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/contract/wait_opts.d.ts +16 -0
- package/dest/contract/wait_opts.d.ts.map +1 -0
- package/dest/contract/wait_opts.js +5 -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 +28 -24
- 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 +141 -0
- package/dest/ethereum/portal_manager.d.ts.map +1 -0
- package/dest/ethereum/portal_manager.js +345 -0
- 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 +27 -17
- 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 +45 -23
- 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 +47 -25
- 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/scripts/generate_protocol_contract_types.d.ts +2 -0
- package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
- package/dest/scripts/generate_protocol_contract_types.js +120 -0
- package/dest/utils/abi_types.d.ts +2 -4
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +85 -26
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +234 -41
- 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 +4 -3
- package/dest/utils/field_compressed_string.d.ts +1 -1
- package/dest/utils/field_compressed_string.d.ts.map +1 -1
- package/dest/utils/field_compressed_string.js +1 -1
- package/dest/utils/node.d.ts +13 -2
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +47 -1
- package/dest/utils/pub_key.d.ts +2 -2
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +2 -3
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +31 -0
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
- package/dest/wallet/account_entrypoint_meta_payment_method.js +61 -0
- package/dest/wallet/account_manager.d.ts +63 -0
- package/dest/wallet/account_manager.d.ts.map +1 -0
- package/dest/wallet/account_manager.js +107 -0
- package/dest/wallet/capabilities.d.ts +444 -0
- package/dest/wallet/capabilities.d.ts.map +1 -0
- package/dest/wallet/capabilities.js +3 -0
- package/dest/wallet/deploy_account_method.d.ts +80 -0
- package/dest/wallet/deploy_account_method.d.ts.map +1 -0
- package/dest/wallet/deploy_account_method.js +79 -0
- package/dest/wallet/index.d.ts +4 -17
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +3 -20
- package/dest/wallet/wallet.d.ts +2590 -0
- package/dest/wallet/wallet.d.ts.map +1 -0
- package/dest/wallet/wallet.js +291 -0
- package/package.json +47 -36
- package/src/account/account.ts +72 -0
- package/src/account/account_contract.ts +66 -0
- package/src/account/account_with_secret_key.ts +63 -0
- package/src/account/index.ts +5 -8
- package/src/account/signerless_account.ts +46 -0
- package/src/api/abi.ts +26 -0
- package/src/api/account.ts +8 -5
- package/src/api/addresses.ts +1 -0
- package/src/api/authorization.ts +15 -0
- package/src/api/block.ts +2 -0
- package/src/api/contract.ts +88 -0
- 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/fields.ts +2 -1
- 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 +24 -0
- package/src/api/note.ts +1 -0
- package/src/api/protocol.ts +9 -0
- package/src/api/trees.ts +2 -0
- package/src/api/tx.ts +15 -0
- package/src/api/utils.ts +14 -0
- package/src/api/wallet.ts +72 -5
- package/src/authorization/call_authorization_request.ts +63 -0
- package/src/contract/base_contract_interaction.ts +40 -171
- package/src/contract/batch_call.ts +108 -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 +307 -143
- package/src/contract/get_gas_limits.ts +15 -8
- package/src/contract/interaction_options.ts +208 -0
- package/src/contract/protocol_contracts/auth-registry.ts +351 -0
- package/src/contract/protocol_contracts/contract-class-registry.ts +241 -0
- package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
- package/src/contract/protocol_contracts/fee-juice.ts +264 -0
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +332 -0
- package/src/contract/protocol_contracts/public-checks.ts +316 -0
- package/src/contract/wait_for_proven.ts +38 -0
- package/src/contract/wait_opts.ts +21 -0
- package/src/deployment/broadcast_function.ts +58 -58
- package/src/deployment/contract_deployer.ts +4 -3
- package/src/deployment/publish_class.ts +34 -0
- package/src/deployment/publish_instance.ts +23 -0
- package/src/{api/ethereum → ethereum}/portal_manager.ts +166 -89
- package/src/fee/fee_juice_payment_method_with_claim.ts +49 -34
- package/src/fee/fee_payment_method.ts +11 -7
- package/src/fee/private_fee_payment_method.ts +80 -58
- package/src/fee/public_fee_payment_method.ts +94 -68
- package/src/fee/sponsored_fee_payment.ts +46 -0
- package/src/scripts/generate_protocol_contract_types.ts +150 -0
- package/src/utils/abi_types.ts +1 -1
- package/src/utils/authwit.ts +274 -54
- package/src/utils/cross_chain.ts +53 -0
- package/src/utils/fee_juice.ts +5 -5
- package/src/utils/field_compressed_string.ts +1 -1
- package/src/utils/node.ts +63 -1
- package/src/utils/pub_key.ts +3 -4
- package/src/wallet/account_entrypoint_meta_payment_method.ts +74 -0
- package/src/wallet/account_manager.ts +146 -0
- package/src/wallet/capabilities.ts +491 -0
- package/src/wallet/deploy_account_method.ts +150 -0
- package/src/wallet/index.ts +3 -33
- package/src/wallet/wallet.ts +533 -0
- package/dest/account/contract.d.ts +0 -37
- package/dest/account/contract.d.ts.map +0 -1
- package/dest/account/interface.d.ts +0 -31
- package/dest/account/interface.d.ts.map +0 -1
- package/dest/account/interface.js +0 -4
- 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/ethereum/portal_manager.js +0 -286
- 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/deploy_sent_tx.d.ts +0 -45
- package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract/deploy_sent_tx.js +0 -43
- package/dest/contract/index.d.ts +0 -45
- package/dest/contract/index.d.ts.map +0 -1
- package/dest/contract/index.js +0 -43
- package/dest/contract/protocol_contracts.d.ts +0 -9
- package/dest/contract/protocol_contracts.d.ts.map +0 -1
- package/dest/contract/protocol_contracts.js +0 -26
- 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/contract/sent_tx.d.ts +0 -61
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -102
- package/dest/contract/unsafe_contract.d.ts +0 -15
- package/dest/contract/unsafe_contract.d.ts.map +0 -1
- package/dest/contract/unsafe_contract.js +0 -6
- 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/contract.ts +0 -56
- package/src/account/interface.ts +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/deploy_sent_tx.ts +0 -74
- package/src/contract/index.ts +0 -48
- package/src/contract/protocol_contracts.ts +0 -35
- package/src/contract/proven_tx.ts +0 -42
- package/src/contract/sent_tx.ts +0 -141
- package/src/contract/unsafe_contract.ts +0 -19
- 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/account_wallet_with_private_key.ts +0 -40
- package/src/wallet/base_wallet.ts +0 -198
- package/src/wallet/signerless_wallet.ts +0 -52
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import type { RollupContract } from '@aztec/ethereum/contracts';
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
-
|
|
4
|
-
import type { PublicClient } from 'viem';
|
|
5
|
-
|
|
6
|
-
/** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
|
|
7
|
-
export class ChainMonitor {
|
|
8
|
-
private readonly l1Client: PublicClient;
|
|
9
|
-
private handle: NodeJS.Timeout | undefined;
|
|
10
|
-
|
|
11
|
-
/** Current L1 block number */
|
|
12
|
-
public l1BlockNumber!: number;
|
|
13
|
-
/** Current L2 block number */
|
|
14
|
-
public l2BlockNumber!: number;
|
|
15
|
-
/** Current L2 proven block number */
|
|
16
|
-
public l2ProvenBlockNumber!: number;
|
|
17
|
-
/** L1 timestamp for the current L2 block */
|
|
18
|
-
public l2BlockTimestamp!: bigint;
|
|
19
|
-
/** L1 timestamp for the proven L2 block */
|
|
20
|
-
public l2ProvenBlockTimestamp!: bigint;
|
|
21
|
-
|
|
22
|
-
constructor(
|
|
23
|
-
private readonly rollup: RollupContract,
|
|
24
|
-
private logger = createLogger('aztecjs:utils:chain_monitor'),
|
|
25
|
-
private readonly intervalMs = 200,
|
|
26
|
-
) {
|
|
27
|
-
this.l1Client = rollup.client;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
start() {
|
|
31
|
-
if (this.handle) {
|
|
32
|
-
throw new Error('Chain monitor already started');
|
|
33
|
-
}
|
|
34
|
-
this.handle = setInterval(this.safeRun.bind(this), this.intervalMs);
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
stop() {
|
|
39
|
-
if (this.handle) {
|
|
40
|
-
clearInterval(this.handle!);
|
|
41
|
-
this.handle = undefined;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
private safeRun() {
|
|
46
|
-
void this.run().catch(error => {
|
|
47
|
-
this.logger.error('Error in chain monitor loop', error);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
async run() {
|
|
52
|
-
const newL1BlockNumber = Number(await this.l1Client.getBlockNumber({ cacheTime: 0 }));
|
|
53
|
-
if (this.l1BlockNumber === newL1BlockNumber) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
this.l1BlockNumber = newL1BlockNumber;
|
|
57
|
-
|
|
58
|
-
const block = await this.l1Client.getBlock({ blockNumber: BigInt(newL1BlockNumber), includeTransactions: false });
|
|
59
|
-
const timestamp = block.timestamp;
|
|
60
|
-
const timestampString = new Date(Number(timestamp) * 1000).toTimeString().split(' ')[0];
|
|
61
|
-
|
|
62
|
-
let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
|
|
63
|
-
|
|
64
|
-
const newL2BlockNumber = Number(await this.rollup.getBlockNumber());
|
|
65
|
-
if (this.l2BlockNumber !== newL2BlockNumber) {
|
|
66
|
-
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2BlockNumber));
|
|
67
|
-
msg += ` with new L2 block ${newL2BlockNumber} for epoch ${epochNumber}`;
|
|
68
|
-
this.l2BlockNumber = newL2BlockNumber;
|
|
69
|
-
this.l2BlockTimestamp = timestamp;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const newL2ProvenBlockNumber = Number(await this.rollup.getProvenBlockNumber());
|
|
73
|
-
if (this.l2ProvenBlockNumber !== newL2ProvenBlockNumber) {
|
|
74
|
-
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2ProvenBlockNumber));
|
|
75
|
-
msg += ` with proof up to L2 block ${newL2ProvenBlockNumber} for epoch ${epochNumber}`;
|
|
76
|
-
this.l2ProvenBlockNumber = newL2ProvenBlockNumber;
|
|
77
|
-
this.l2ProvenBlockTimestamp = timestamp;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
this.logger.info(msg, {
|
|
81
|
-
l1Timestamp: timestamp,
|
|
82
|
-
l1BlockNumber: this.l1BlockNumber,
|
|
83
|
-
l2SlotNumber: await this.rollup.getSlotNumber(),
|
|
84
|
-
l2BlockNumber: this.l2BlockNumber,
|
|
85
|
-
l2ProvenBlockNumber: this.l2ProvenBlockNumber,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import type { ViemPublicClient } from '@aztec/ethereum';
|
|
2
|
-
import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
|
|
3
|
-
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
4
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
6
|
-
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
7
|
-
|
|
8
|
-
import { type GetContractReturnType, type Hex, createPublicClient, fallback, getContract, http, keccak256 } from 'viem';
|
|
9
|
-
import { foundry } from 'viem/chains';
|
|
10
|
-
|
|
11
|
-
export { EthCheatCodes };
|
|
12
|
-
|
|
13
|
-
/** Cheat codes for the L1 rollup contract. */
|
|
14
|
-
export class RollupCheatCodes {
|
|
15
|
-
private client: ViemPublicClient;
|
|
16
|
-
private rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>;
|
|
17
|
-
|
|
18
|
-
private logger = createLogger('aztecjs:cheat_codes');
|
|
19
|
-
|
|
20
|
-
constructor(private ethCheatCodes: EthCheatCodes, addresses: Pick<L1ContractAddresses, 'rollupAddress'>) {
|
|
21
|
-
this.client = createPublicClient({
|
|
22
|
-
chain: foundry,
|
|
23
|
-
transport: fallback(ethCheatCodes.rpcUrls.map(url => http(url))),
|
|
24
|
-
});
|
|
25
|
-
this.rollup = getContract({
|
|
26
|
-
abi: RollupAbi,
|
|
27
|
-
address: addresses.rollupAddress.toString(),
|
|
28
|
-
client: this.client,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/** Returns the current slot */
|
|
33
|
-
public async getSlot() {
|
|
34
|
-
const ts = BigInt((await this.client.getBlock()).timestamp);
|
|
35
|
-
return await this.rollup.read.getSlotAt([ts]);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** Returns the current epoch */
|
|
39
|
-
public async getEpoch() {
|
|
40
|
-
const slotNumber = await this.getSlot();
|
|
41
|
-
return await this.rollup.read.getEpochAtSlot([slotNumber]);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Returns the pending and proven chain tips
|
|
46
|
-
* @returns The pending and proven chain tips
|
|
47
|
-
*/
|
|
48
|
-
public async getTips(): Promise<{
|
|
49
|
-
/** The pending chain tip */ pending: bigint;
|
|
50
|
-
/** The proven chain tip */ proven: bigint;
|
|
51
|
-
}> {
|
|
52
|
-
const res = await this.rollup.read.getTips();
|
|
53
|
-
return {
|
|
54
|
-
pending: res.pendingBlockNumber,
|
|
55
|
-
proven: res.provenBlockNumber,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** Fetches the epoch and slot duration config from the rollup contract */
|
|
60
|
-
public async getConfig(): Promise<{
|
|
61
|
-
/** Epoch duration */ epochDuration: bigint;
|
|
62
|
-
/** Slot duration */ slotDuration: bigint;
|
|
63
|
-
}> {
|
|
64
|
-
const [epochDuration, slotDuration] = await Promise.all([
|
|
65
|
-
this.rollup.read.getEpochDuration(),
|
|
66
|
-
this.rollup.read.getSlotDuration(),
|
|
67
|
-
]);
|
|
68
|
-
return { epochDuration, slotDuration };
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Warps time in L1 until the next epoch */
|
|
72
|
-
public async advanceToNextEpoch() {
|
|
73
|
-
const slot = await this.getSlot();
|
|
74
|
-
const { epochDuration, slotDuration } = await this.getConfig();
|
|
75
|
-
const slotsUntilNextEpoch = epochDuration - (slot % epochDuration) + 1n;
|
|
76
|
-
const timeToNextEpoch = slotsUntilNextEpoch * slotDuration;
|
|
77
|
-
const l1Timestamp = BigInt((await this.client.getBlock()).timestamp);
|
|
78
|
-
await this.ethCheatCodes.warp(Number(l1Timestamp + timeToNextEpoch), true);
|
|
79
|
-
this.logger.warn(`Advanced to next epoch`);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/** Warps time in L1 until the beginning of the next slot. */
|
|
83
|
-
public async advanceToNextSlot() {
|
|
84
|
-
const currentSlot = await this.getSlot();
|
|
85
|
-
const timestamp = await this.rollup.read.getTimestampForSlot([currentSlot + 1n]);
|
|
86
|
-
await this.ethCheatCodes.warp(Number(timestamp));
|
|
87
|
-
this.logger.warn(`Advanced to slot ${currentSlot + 1n}`);
|
|
88
|
-
return [timestamp, currentSlot + 1n];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Warps time in L1 equivalent to however many slots.
|
|
93
|
-
* @param howMany - The number of slots to advance.
|
|
94
|
-
*/
|
|
95
|
-
public async advanceSlots(howMany: number) {
|
|
96
|
-
const l1Timestamp = (await this.client.getBlock()).timestamp;
|
|
97
|
-
const slotDuration = await this.rollup.read.getSlotDuration();
|
|
98
|
-
const timeToWarp = BigInt(howMany) * slotDuration;
|
|
99
|
-
await this.ethCheatCodes.warp(l1Timestamp + timeToWarp, true);
|
|
100
|
-
const [slot, epoch] = await Promise.all([this.getSlot(), this.getEpoch()]);
|
|
101
|
-
this.logger.warn(`Advanced ${howMany} slots up to slot ${slot} in epoch ${epoch}`);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Marks the specified block (or latest if none) as proven
|
|
106
|
-
* @param maybeBlockNumber - The block number to mark as proven (defaults to latest pending)
|
|
107
|
-
*/
|
|
108
|
-
public async markAsProven(maybeBlockNumber?: number | bigint) {
|
|
109
|
-
const { pending, proven } = await this.getTips();
|
|
110
|
-
|
|
111
|
-
let blockNumber = maybeBlockNumber;
|
|
112
|
-
if (blockNumber === undefined || blockNumber > pending) {
|
|
113
|
-
blockNumber = pending;
|
|
114
|
-
}
|
|
115
|
-
if (blockNumber <= proven) {
|
|
116
|
-
this.logger.warn(`Block ${blockNumber} is already proven`);
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// @note @LHerskind this is heavily dependent on the storage layout and size of values
|
|
121
|
-
// The rollupStore is a struct and if the size of elements or the struct changes, this can break
|
|
122
|
-
|
|
123
|
-
// Convert string to bytes and then compute keccak256
|
|
124
|
-
const storageSlot = keccak256(Buffer.from('aztec.stf.storage', 'utf-8'));
|
|
125
|
-
const provenBlockNumberSlot = BigInt(storageSlot) + 1n;
|
|
126
|
-
|
|
127
|
-
const tipsBefore = await this.getTips();
|
|
128
|
-
|
|
129
|
-
await this.ethCheatCodes.store(
|
|
130
|
-
EthAddress.fromString(this.rollup.address),
|
|
131
|
-
provenBlockNumberSlot,
|
|
132
|
-
BigInt(blockNumber),
|
|
133
|
-
);
|
|
134
|
-
|
|
135
|
-
const tipsAfter = await this.getTips();
|
|
136
|
-
this.logger.info(
|
|
137
|
-
`Proven tip moved: ${tipsBefore.proven} -> ${tipsAfter.proven}. Pending tip: ${tipsAfter.pending}.`,
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Executes an action impersonated as the owner of the Rollup contract.
|
|
143
|
-
* @param action - The action to execute
|
|
144
|
-
*/
|
|
145
|
-
public async asOwner(
|
|
146
|
-
action: (owner: Hex, rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>) => Promise<void>,
|
|
147
|
-
) {
|
|
148
|
-
const owner = await this.rollup.read.owner();
|
|
149
|
-
await this.ethCheatCodes.startImpersonating(owner);
|
|
150
|
-
await action(owner, this.rollup);
|
|
151
|
-
await this.ethCheatCodes.stopImpersonating(owner);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/** Directly calls the L1 gas fee oracle. */
|
|
155
|
-
public async updateL1GasFeeOracle() {
|
|
156
|
-
await this.asOwner(async (account, rollup) => {
|
|
157
|
-
const hash = await rollup.write.updateL1GasFeeOracle({ account, chain: this.client.chain });
|
|
158
|
-
await this.client.waitForTransactionReceipt({ hash });
|
|
159
|
-
this.logger.warn(`Updated L1 gas fee oracle`);
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Bumps proving cost per mana.
|
|
165
|
-
* @param bumper - Callback to calculate the new proving cost per mana based on current value.
|
|
166
|
-
*/
|
|
167
|
-
public async bumpProvingCostPerMana(bumper: (before: bigint) => bigint) {
|
|
168
|
-
const currentCost = await this.rollup.read.getProvingCostPerManaInEth();
|
|
169
|
-
const newCost = bumper(currentCost);
|
|
170
|
-
await this.setProvingCostPerMana(newCost);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Directly updates proving cost per mana.
|
|
175
|
-
* @param ethValue - The new proving cost per mana in ETH
|
|
176
|
-
*/
|
|
177
|
-
public async setProvingCostPerMana(ethValue: bigint) {
|
|
178
|
-
await this.asOwner(async (account, rollup) => {
|
|
179
|
-
const hash = await rollup.write.setProvingCostPerMana([ethValue], { account, chain: this.client.chain });
|
|
180
|
-
await this.client.waitForTransactionReceipt({ hash });
|
|
181
|
-
this.logger.warn(`Updated proving cost per mana to ${ethValue}`);
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export {
|
|
2
|
-
L1FeeJuicePortalManager,
|
|
3
|
-
L1ToL2TokenPortalManager,
|
|
4
|
-
L1TokenManager,
|
|
5
|
-
L1TokenPortalManager,
|
|
6
|
-
type L2AmountClaim,
|
|
7
|
-
type L2AmountClaimWithRecipient,
|
|
8
|
-
type L2Claim,
|
|
9
|
-
generateClaimSecret,
|
|
10
|
-
} from './portal_manager.js';
|
|
11
|
-
export { getL1ContractAddresses } from './l1_contracts.js';
|
|
12
|
-
export { RollupCheatCodes, EthCheatCodes } from './cheat_codes.js';
|
|
13
|
-
export { ChainMonitor } from './chain_monitor.js';
|
|
14
|
-
export { AnvilTestWatcher } from './anvil_test_watcher.js';
|
|
15
|
-
export {
|
|
16
|
-
deployL1Contract,
|
|
17
|
-
deployL1Contracts,
|
|
18
|
-
type DeployL1ContractsReturnType,
|
|
19
|
-
} from '@aztec/ethereum/deploy-l1-contracts';
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
2
|
-
import { retryUntil } from '@aztec/foundation/retry';
|
|
3
|
-
|
|
4
|
-
import { createPXEClient } from '../../rpc_clients/index.js';
|
|
5
|
-
|
|
6
|
-
export const getL1ContractAddresses = async (url: string): Promise<L1ContractAddresses> => {
|
|
7
|
-
const pxeClient = createPXEClient(url, {});
|
|
8
|
-
const response = await retryUntil(
|
|
9
|
-
async () => {
|
|
10
|
-
try {
|
|
11
|
-
return (await pxeClient.getNodeInfo()).l1ContractAddresses;
|
|
12
|
-
} catch (err) {
|
|
13
|
-
// do nothing
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
'isNodeReady',
|
|
17
|
-
120,
|
|
18
|
-
1,
|
|
19
|
-
);
|
|
20
|
-
return response;
|
|
21
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type { PXE } from '@aztec/stdlib/interfaces/client';
|
package/src/api/log_id.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { LogId } from '@aztec/stdlib/logs';
|
package/src/api/tx_hash.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TxHash } from '@aztec/stdlib/tx';
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
-
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
3
|
-
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
4
|
-
import type { Tx } from '@aztec/stdlib/tx';
|
|
5
|
-
|
|
6
|
-
import type { Wallet } from '../account/index.js';
|
|
7
|
-
import type { Contract } from './contract.js';
|
|
8
|
-
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
9
|
-
import { ProvenTx } from './proven_tx.js';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A proven transaction that can be sent to the network. Returned by the `prove` method of a contract deployment.
|
|
13
|
-
*/
|
|
14
|
-
export class DeployProvenTx<TContract extends Contract = Contract> extends ProvenTx {
|
|
15
|
-
constructor(
|
|
16
|
-
wallet: PXE | Wallet,
|
|
17
|
-
tx: Tx,
|
|
18
|
-
private postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
19
|
-
private instanceGetter: () => Promise<ContractInstanceWithAddress>,
|
|
20
|
-
) {
|
|
21
|
-
super(wallet, tx);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Sends the transaction to the network via the provided wallet.
|
|
26
|
-
*/
|
|
27
|
-
public override send(): DeploySentTx<TContract> {
|
|
28
|
-
const promise = (() => {
|
|
29
|
-
return this.wallet.sendTx(this.getPlainDataTx());
|
|
30
|
-
})();
|
|
31
|
-
|
|
32
|
-
return new DeploySentTx(this.wallet, promise, this.postDeployCtor, this.instanceGetter);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
3
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
-
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
5
|
-
import type { AztecNode, PXE } from '@aztec/stdlib/interfaces/client';
|
|
6
|
-
import type { TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
7
|
-
|
|
8
|
-
import type { Wallet } from '../account/index.js';
|
|
9
|
-
import type { Contract } from './contract.js';
|
|
10
|
-
import type { ContractBase } from './contract_base.js';
|
|
11
|
-
import { SentTx, type WaitOpts } from './sent_tx.js';
|
|
12
|
-
|
|
13
|
-
/** Options related to waiting for a deployment tx. */
|
|
14
|
-
export type DeployedWaitOpts = WaitOpts & {
|
|
15
|
-
/** Wallet to use for creating a contract instance. Uses the one set in the deployer constructor if not set. */
|
|
16
|
-
wallet?: Wallet;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
/** Extends a transaction receipt with a contract instance that represents the newly deployed contract. */
|
|
20
|
-
export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsOf<TxReceipt> & {
|
|
21
|
-
/** Instance of the newly deployed contract. */
|
|
22
|
-
contract: TContract;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
|
|
27
|
-
*/
|
|
28
|
-
export class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
|
|
29
|
-
private log = createLogger('aztecjs:deploy_sent_tx');
|
|
30
|
-
|
|
31
|
-
constructor(
|
|
32
|
-
pxeOrWallet: PXE | Wallet,
|
|
33
|
-
txHashPromise: Promise<TxHash>,
|
|
34
|
-
private postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
35
|
-
/** A getter for the deployed contract instance */
|
|
36
|
-
public instanceGetter: () => Promise<ContractInstanceWithAddress>,
|
|
37
|
-
) {
|
|
38
|
-
super(pxeOrWallet, txHashPromise);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
|
|
43
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
44
|
-
* @returns The deployed contract instance.
|
|
45
|
-
*/
|
|
46
|
-
public async deployed(opts?: DeployedWaitOpts): Promise<TContract> {
|
|
47
|
-
const receipt = await this.wait(opts);
|
|
48
|
-
const instance = await this.instanceGetter();
|
|
49
|
-
this.log.info(`Contract ${instance.address.toString()} successfully deployed.`);
|
|
50
|
-
return receipt.contract;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Awaits for the tx to be mined and returns the receipt along with a contract instance. Throws if tx is not mined.
|
|
55
|
-
* @param opts - Options for configuring the waiting for the tx to be mined.
|
|
56
|
-
* @returns The transaction receipt with the deployed contract instance.
|
|
57
|
-
*/
|
|
58
|
-
public override async wait(opts?: DeployedWaitOpts): Promise<DeployTxReceipt<TContract>> {
|
|
59
|
-
const receipt = await super.wait(opts);
|
|
60
|
-
const contract = await this.getContractObject(opts?.wallet);
|
|
61
|
-
return { ...receipt, contract };
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
protected async getContractObject(wallet?: Wallet): Promise<TContract> {
|
|
65
|
-
const isWallet = (pxeOrWallet: PXE | Wallet | AztecNode): pxeOrWallet is Wallet =>
|
|
66
|
-
!!(pxeOrWallet as Wallet).createTxExecutionRequest;
|
|
67
|
-
const contractWallet = wallet ?? (isWallet(this.pxeOrNode) && this.pxeOrNode);
|
|
68
|
-
if (!contractWallet) {
|
|
69
|
-
throw new Error(`A wallet is required for creating a contract instance`);
|
|
70
|
-
}
|
|
71
|
-
const instance = await this.instanceGetter();
|
|
72
|
-
return this.postDeployCtor(instance.address, contractWallet) as Promise<TContract>;
|
|
73
|
-
}
|
|
74
|
-
}
|
package/src/contract/index.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `contract` module provides utilities for deploying and interacting with contracts, based on a
|
|
3
|
-
* `Wallet` instance and a compiled artifact. Refer to the {@link account} module for how to obtain a valid
|
|
4
|
-
* `Wallet` instance, and to the {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract | Compiling contracts}
|
|
5
|
-
* section of the documentation for how to generate an artifact out of your Noir source code.
|
|
6
|
-
*
|
|
7
|
-
* The {@link Contract} class is the main class in this module, and provides static methods for deploying
|
|
8
|
-
* a contract or interacting with an already deployed one. The `methods` property of the contract instance
|
|
9
|
-
* provides access to private, public, and simulate methods, that can be invoked in a transaction via `send()`,
|
|
10
|
-
* or can be queried via `simulate()`.
|
|
11
|
-
*
|
|
12
|
-
* ```ts
|
|
13
|
-
* const contract = await Contract.deploy(wallet, MyContractArtifact, [...constructorArgs]).send().deployed();
|
|
14
|
-
* console.log(`Contract deployed at ${contract.address}`);
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* ```ts
|
|
18
|
-
* const contract = await Contract.at(address, MyContractArtifact, wallet);
|
|
19
|
-
* await contract.methods.mint(1000, owner).send().wait();
|
|
20
|
-
* console.log(`Total supply is now ${await contract.methods.totalSupply().simulate()}`);
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* The result of calling a method in a contract instance, such as `contract.methods.mint(1000, owner)`
|
|
24
|
-
* in the example, is a {@link ContractFunctionInteraction} instance. Usually this will be just sent as
|
|
25
|
-
* a transaction to the network via the `send` method, but you can also `simulate` it without sending,
|
|
26
|
-
* or obtaining the `request` for aggregating into a {@link BatchCall}.
|
|
27
|
-
*
|
|
28
|
-
* The result of `send`ing a transaction is a {@link SentTx} object, from which you can get the
|
|
29
|
-
* transaction hash, or simply `wait` until the transaction is mined and the local PXE Service
|
|
30
|
-
* has synchronized its changes.
|
|
31
|
-
*
|
|
32
|
-
* @remarks If you are using typescript, consider using the
|
|
33
|
-
* {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract#typescript-interfaces | autogenerated type-safe interfaces}
|
|
34
|
-
* for interacting with your contracts.
|
|
35
|
-
*
|
|
36
|
-
* @packageDocumentation
|
|
37
|
-
*/
|
|
38
|
-
export { Contract } from './contract.js';
|
|
39
|
-
export {
|
|
40
|
-
ContractFunctionInteraction,
|
|
41
|
-
type ProfileResult,
|
|
42
|
-
type SendMethodOptions,
|
|
43
|
-
} from './contract_function_interaction.js';
|
|
44
|
-
export { DefaultWaitOpts, SentTx, type WaitOpts } from './sent_tx.js';
|
|
45
|
-
export { ContractBase, type ContractMethod, type ContractNotes, type ContractStorageLayout } from './contract_base.js';
|
|
46
|
-
export { BatchCall } from './batch_call.js';
|
|
47
|
-
export { type DeployOptions, DeployMethod } from './deploy_method.js';
|
|
48
|
-
export { DeploySentTx } from './deploy_sent_tx.js';
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
2
|
-
|
|
3
|
-
import type { Wallet } from '../wallet/index.js';
|
|
4
|
-
import { UnsafeContract } from './unsafe_contract.js';
|
|
5
|
-
|
|
6
|
-
/** Returns a Contract wrapper for the class registerer. */
|
|
7
|
-
export async function getRegistererContract(wallet: Wallet) {
|
|
8
|
-
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractClassRegisterer);
|
|
9
|
-
if (!contractInstance) {
|
|
10
|
-
throw new Error("ContractClassRegisterer is not registered in this wallet's instance");
|
|
11
|
-
}
|
|
12
|
-
const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
|
|
13
|
-
|
|
14
|
-
return new UnsafeContract(contractInstance!, artifact!, wallet);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Returns a Contract wrapper for the instance deployer. */
|
|
18
|
-
export async function getDeployerContract(wallet: Wallet) {
|
|
19
|
-
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractInstanceDeployer);
|
|
20
|
-
if (!contractInstance) {
|
|
21
|
-
throw new Error("ContractInstanceDeployer is not registered in this wallet's instance");
|
|
22
|
-
}
|
|
23
|
-
const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
|
|
24
|
-
return new UnsafeContract(contractInstance!, artifact!, wallet);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/** Returns a Contract wrapper for the fee juice */
|
|
28
|
-
export async function getFeeJuice(wallet: Wallet) {
|
|
29
|
-
const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.FeeJuice);
|
|
30
|
-
if (!contractInstance) {
|
|
31
|
-
throw new Error("FeeJuice is not registered in this wallet's instance");
|
|
32
|
-
}
|
|
33
|
-
const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
|
|
34
|
-
return new UnsafeContract(contractInstance!, artifact!, wallet);
|
|
35
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { PXE } from '@aztec/stdlib/interfaces/client';
|
|
2
|
-
import { Tx } from '@aztec/stdlib/tx';
|
|
3
|
-
|
|
4
|
-
import type { Wallet } from '../account/index.js';
|
|
5
|
-
import { SentTx } from './sent_tx.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* A proven transaction that can be sent to the network. Returned by the `prove` method of a contract interaction.
|
|
9
|
-
*/
|
|
10
|
-
export class ProvenTx extends Tx {
|
|
11
|
-
constructor(protected wallet: PXE | Wallet, tx: Tx) {
|
|
12
|
-
super(
|
|
13
|
-
tx.data,
|
|
14
|
-
tx.clientIvcProof,
|
|
15
|
-
tx.contractClassLogs,
|
|
16
|
-
tx.enqueuedPublicFunctionCalls,
|
|
17
|
-
tx.publicTeardownFunctionCall,
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// Clone the TX data to get a serializable object.
|
|
22
|
-
protected getPlainDataTx(): Tx {
|
|
23
|
-
return new Tx(
|
|
24
|
-
this.data,
|
|
25
|
-
this.clientIvcProof,
|
|
26
|
-
this.contractClassLogs,
|
|
27
|
-
this.enqueuedPublicFunctionCalls,
|
|
28
|
-
this.publicTeardownFunctionCall,
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Sends the transaction to the network via the provided wallet.
|
|
34
|
-
*/
|
|
35
|
-
public send(): SentTx {
|
|
36
|
-
const promise = (() => {
|
|
37
|
-
return this.wallet.sendTx(this.getPlainDataTx());
|
|
38
|
-
})();
|
|
39
|
-
|
|
40
|
-
return new SentTx(this.wallet, promise);
|
|
41
|
-
}
|
|
42
|
-
}
|