-
Notifications
You must be signed in to change notification settings - Fork 291
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(aztec-js): remove sender from execution request and add batching (…
…#1415) A few clean ups in aztec-js: - Remove `from` in `ExecutionRequest` and rename it to `FunctionCall` to avoid confusion with `TxExecutionRequest` and `CallStackItem.isExecutionRequest`. - Remove `TxContext` argument from `AccountImp.createAuthenticatedTx` and rename it to `createTxExecutionRequest`. - Remove unused `nonce` in method send options. - Remove unused function to get a contract instance in deploy method given we now have #1360. - Extracts a base class for `contract_function_interaction` and `deploy_method` so we can remove the `DeployWallet`. - Adds a new `BatchCall` method for nicer batch calls. Fixes #1343.
- v0.5.1
- v0.1.0-alpha63
- v0.1.0-alpha62
- v0.1.0-alpha61
- v0.1.0-alpha60
- v0.1.0-alpha59
- v0.1.0-alpha58
- v0.1.0-alpha57
- v0.1.0-alpha56
- v0.1.0-alpha55
- v0.1.0-alpha54
- v0.1.0-alpha53
- v0.1.0-alpha52
- v0.1.0-alpha51
- v0.1.0-alpha50
- v0.1.0-alpha49
- v0.1.0-alpha48
- v0.1.0-alpha47
- v0.1.0-alpha46
- v0.1.0-alpha45
- v0.1.0-alpha44
- v0.1.0-alpha43
- v0.1.0-alpha42
- v0.1.0-alpha41
- v0.1.0-alpha40
- v0.1.0-alpha39
- v0.1.0-alpha38
- v0.1.0-alpha37
- v0.1.0-alpha36
- v0.1.0-alpha35
- v0.1.0-alpha34
- v0.1.0-alpha33
- v0.1.0-alpha32
- v0.1.0-alpha31
- nightly
- dev-net
- chore-docs-preview-tag
- barretenberg-v0.69.1
- barretenberg-v0.69.0
- barretenberg-v0.68.2
- barretenberg-v0.68.1
- barretenberg-v0.68.0
- barretenberg-v0.67.1
- barretenberg-v0.67.0
- barretenberg-v0.66.0
- barretenberg-v0.65.2
- barretenberg-v0.65.1
- barretenberg-v0.65.0
- barretenberg-v0.64.0
- barretenberg-v0.63.1
- barretenberg-v0.63.0
- barretenberg-v0.62.0
- barretenberg-v0.61.0
- barretenberg-v0.60.0
- barretenberg-v0.59.0
- barretenberg-v0.58.0
- barretenberg-v0.57.0
- barretenberg-v0.56.0
- barretenberg-v0.55.1
- barretenberg-v0.55.0
- barretenberg-v0.54.0
- barretenberg-v0.53.0
- barretenberg-v0.52.0
- barretenberg-v0.51.1
- barretenberg-v0.51.0
- barretenberg-v0.50.1
- barretenberg-v0.50.0
- barretenberg-v0.49.2
- barretenberg-v0.49.1
- barretenberg-v0.49.0
- barretenberg-v0.48.0
- barretenberg-v0.47.1
- barretenberg-v0.47.0
- barretenberg-v0.46.7
- barretenberg-v0.46.6
- barretenberg-v0.46.5
- barretenberg-v0.46.4
- barretenberg-v0.46.3
- barretenberg-v0.46.2
- barretenberg-v0.46.1
- barretenberg-v0.46.0
- barretenberg-v0.45.1
- barretenberg-v0.45.0
- barretenberg-v0.44.0
- barretenberg-v0.43.0
- barretenberg-v0.42.0
- barretenberg-v0.41.0
- barretenberg-v0.40.1
- barretenberg-v0.40.0
- barretenberg-v0.39.0
- barretenberg-v0.38.0
- barretenberg-v0.37.0
- barretenberg-v0.36.0
- barretenberg-v0.35.1
- barretenberg-v0.35.0
- barretenberg-v0.34.0
- barretenberg-v0.33.0
- barretenberg-v0.32.1
- barretenberg-v0.32.0
- barretenberg-v0.31.0
- barretenberg-v0.30.1
- barretenberg-v0.30.0
- barretenberg-v0.29.0
- barretenberg-v0.28.1
- barretenberg-v0.28.0
- barretenberg-v0.27.2
- barretenberg-v0.27.1
- barretenberg-v0.27.0
- barretenberg-v0.26.6
- barretenberg-v0.26.5
- barretenberg-v0.26.4
- barretenberg-v0.26.3
- barretenberg-v0.26.2
- barretenberg-v0.26.1
- barretenberg-v0.26.0
- barretenberg-v0.25.0
- barretenberg-v0.24.0
- barretenberg-v0.23.0
- barretenberg-v0.22.0
- barretenberg-v0.21.0
- barretenberg-v0.20.0
- barretenberg-v0.19.0
- barretenberg-v0.18.0
- barretenberg-v0.17.0
- barretenberg-v0.16.9
- barretenberg-v0.16.8
- barretenberg-v0.16.7
- barretenberg-v0.16.6
- barretenberg-v0.16.5
- barretenberg-v0.16.4
- barretenberg-v0.16.3
- barretenberg-v0.16.2
- barretenberg-v0.16.1
- barretenberg-v0.16.0
- barretenberg-v0.15.1
- barretenberg-v0.15.0
- barretenberg-v0.14.2
- barretenberg-v0.14.1
- barretenberg-v0.14.0
- barretenberg-v0.13.1
- barretenberg-v0.13.0
- barretenberg-v0.12.0
- barretenberg-v0.11.1
- barretenberg-v0.11.0
- barretenberg-v0.10.1
- barretenberg-v0.10.0
- barretenberg-v0.9.0
- barretenberg-v0.8.14
- barretenberg-v0.8.13
- barretenberg-v0.8.12
- barretenberg-v0.8.11
- barretenberg-v0.8.10
- barretenberg-v0.8.9
- barretenberg-v0.8.8
- barretenberg-v0.8.7
- barretenberg-v0.8.6
- barretenberg-v0.8.5
- barretenberg-v0.8.4
- barretenberg-v0.8.3
- barretenberg-v0.8.2
- barretenberg-v0.8.1
- barretenberg-v0.8.0
- barretenberg-v0.7.10
- barretenberg-v0.7.9
- barretenberg-v0.7.8
- barretenberg-v0.7.7
- barretenberg-v0.7.6
- barretenberg-v0.7.5
- barretenberg-v0.7.4
- barretenberg-v0.7.3
- barretenberg-v0.7.2
- barretenberg-v0.7.1
- barretenberg-v0.7.0
- barretenberg-v0.6.7
- barretenberg-v0.6.6
- barretenberg-v0.6.5
- barretenberg-v0.6.4
- barretenberg-v0.6.3
- barretenberg-v0.6.2
- barretenberg-v0.6.1
- barretenberg-v0.6.0
- barretenberg-v0.5.2
- barretenberg-v0.5.1
- barretenberg.js-v0.69.1
- barretenberg.js-v0.69.0
- barretenberg.js-v0.68.2
- barretenberg.js-v0.68.1
- barretenberg.js-v0.68.0
- barretenberg.js-v0.67.1
- barretenberg.js-v0.67.0
- barretenberg.js-v0.66.0
- barretenberg.js-v0.65.2
- barretenberg.js-v0.65.1
- barretenberg.js-v0.65.0
- barretenberg.js-v0.64.0
- barretenberg.js-v0.63.1
- barretenberg.js-v0.63.0
- barretenberg.js-v0.62.0
- barretenberg.js-v0.61.0
- barretenberg.js-v0.60.0
- barretenberg.js-v0.59.0
- barretenberg.js-v0.58.0
- barretenberg.js-v0.57.0
- barretenberg.js-v0.56.0
- barretenberg.js-v0.55.1
- barretenberg.js-v0.55.0
- barretenberg.js-v0.54.0
- barretenberg.js-v0.53.0
- barretenberg.js-v0.52.0
- barretenberg.js-v0.51.1
- barretenberg.js-v0.51.0
- barretenberg.js-v0.50.1
- barretenberg.js-v0.50.0
- barretenberg.js-v0.49.2
- barretenberg.js-v0.49.1
- barretenberg.js-v0.49.0
- barretenberg.js-v0.48.0
- barretenberg.js-v0.47.1
- barretenberg.js-v0.47.0
- barretenberg.js-v0.46.7
- barretenberg.js-v0.46.6
- barretenberg.js-v0.46.5
- barretenberg.js-v0.46.4
- barretenberg.js-v0.46.3
- barretenberg.js-v0.46.2
- barretenberg.js-v0.46.1
- barretenberg.js-v0.46.0
- barretenberg.js-v0.45.1
- barretenberg.js-v0.45.0
- barretenberg.js-v0.44.0
- barretenberg.js-v0.43.0
- barretenberg.js-v0.42.0
- barretenberg.js-v0.41.0
- barretenberg.js-v0.40.1
- barretenberg.js-v0.40.0
- barretenberg.js-v0.39.0
- barretenberg.js-v0.38.0
- barretenberg.js-v0.37.0
- barretenberg.js-v0.36.0
- barretenberg.js-v0.35.1
- barretenberg.js-v0.35.0
- barretenberg.js-v0.34.0
- barretenberg.js-v0.33.0
- barretenberg.js-v0.32.1
- barretenberg.js-v0.32.0
- barretenberg.js-v0.31.0
- barretenberg.js-v0.30.1
- barretenberg.js-v0.30.0
- barretenberg.js-v0.29.0
- barretenberg.js-v0.28.1
- barretenberg.js-v0.28.0
- barretenberg.js-v0.27.2
- barretenberg.js-v0.27.1
- barretenberg.js-v0.27.0
- barretenberg.js-v0.26.6
- barretenberg.js-v0.26.5
- barretenberg.js-v0.26.4
- barretenberg.js-v0.26.3
- barretenberg.js-v0.26.2
- barretenberg.js-v0.26.1
- barretenberg.js-v0.26.0
- barretenberg.js-v0.25.0
- barretenberg.js-v0.24.0
- barretenberg.js-v0.23.0
- barretenberg.js-v0.22.0
- barretenberg.js-v0.21.0
- barretenberg.js-v0.20.0
- barretenberg.js-v0.19.0
- barretenberg.js-v0.18.0
- barretenberg.js-v0.17.0
- barretenberg.js-v0.16.9
- barretenberg.js-v0.16.8
- barretenberg.js-v0.16.7
- barretenberg.js-v0.16.6
- barretenberg.js-v0.16.5
- barretenberg.js-v0.16.4
- barretenberg.js-v0.16.3
- barretenberg.js-v0.16.2
- barretenberg.js-v0.16.1
- barretenberg.js-v0.16.0
- barretenberg.js-v0.15.1
- barretenberg.js-v0.15.0
- barretenberg.js-v0.14.2
- barretenberg.js-v0.14.1
- barretenberg.js-v0.14.0
- barretenberg.js-v0.13.1
- barretenberg.js-v0.13.0
- barretenberg.js-v0.12.0
- barretenberg.js-v0.11.1
- barretenberg.js-v0.11.0
- barretenberg.js-v0.10.1
- barretenberg.js-v0.10.0
- barretenberg.js-v0.9.0
- barretenberg.js-v0.8.14
- barretenberg.js-v0.8.13
- barretenberg.js-v0.8.12
- barretenberg.js-v0.8.11
- barretenberg.js-v0.8.10
- barretenberg.js-v0.8.9
- barretenberg.js-v0.8.8
- barretenberg.js-v0.8.7
- barretenberg.js-v0.8.6
- barretenberg.js-v0.8.5
- barretenberg.js-v0.8.4
- barretenberg.js-v0.8.3
- barretenberg.js-v0.8.2
- barretenberg.js-v0.8.1
- barretenberg.js-v0.8.0
- barretenberg.js-v0.7.10
- barretenberg.js-v0.7.9
- barretenberg.js-v0.7.8
- barretenberg.js-v0.7.7
- barretenberg.js-v0.7.6
- barretenberg.js-v0.7.5
- barretenberg.js-v0.7.4
- barretenberg.js-v0.7.3
- barretenberg.js-v0.7.2
- barretenberg.js-v0.7.1
- barretenberg.js-v0.7.0
- barretenberg.js-v0.6.7
- barretenberg.js-v0.6.6
- barretenberg.js-v0.6.5
- barretenberg.js-v0.6.4
- barretenberg.js-v0.6.3
- barretenberg.js-v0.6.2
- barretenberg.js-v0.6.1
- barretenberg.js-v0.6.0
- barretenberg.js-v0.5.2
- barretenberg.js-v0.5.1
- backup-4096-2024-03-01
- aztec-packages-v0.69.1
- aztec-packages-v0.69.0
- aztec-packages-v0.68.2
- aztec-packages-v0.68.1
- aztec-packages-v0.68.0
- aztec-packages-v0.67.1
- aztec-packages-v0.67.0
- aztec-packages-v0.66.0
- aztec-packages-v0.65.2
- aztec-packages-v0.65.1
- aztec-packages-v0.65.0
- aztec-packages-v0.64.0
- aztec-packages-v0.63.1
- aztec-packages-v0.63.0
- aztec-packages-v0.62.0
- aztec-packages-v0.61.0
- aztec-packages-v0.60.0
- aztec-packages-v0.59.0
- aztec-packages-v0.58.0
- aztec-packages-v0.57.0
- aztec-packages-v0.56.0
- aztec-packages-v0.55.1
- aztec-packages-v0.55.0
- aztec-packages-v0.54.0
- aztec-packages-v0.53.0
- aztec-packages-v0.52.0
- aztec-packages-v0.51.1
- aztec-packages-v0.51.0
- aztec-packages-v0.50.1
- aztec-packages-v0.50.0
- aztec-packages-v0.49.2
- aztec-packages-v0.49.1
- aztec-packages-v0.49.0
- aztec-packages-v0.48.0
- aztec-packages-v0.47.1
- aztec-packages-v0.47.0
- aztec-packages-v0.46.7
- aztec-packages-v0.46.6
- aztec-packages-v0.46.5
- aztec-packages-v0.46.4
- aztec-packages-v0.46.3
- aztec-packages-v0.46.2
- aztec-packages-v0.46.1
- aztec-packages-v0.46.0
- aztec-packages-v0.45.1
- aztec-packages-v0.45.0
- aztec-packages-v0.44.0
- aztec-packages-v0.43.0
- aztec-packages-v0.42.0
- aztec-packages-v0.41.0
- aztec-packages-v0.40.1
- aztec-packages-v0.40.0
- aztec-packages-v0.39.0
- aztec-packages-v0.38.0
- aztec-packages-v0.37.0
- aztec-packages-v0.36.0
- aztec-packages-v0.35.1
- aztec-packages-v0.35.0
- aztec-packages-v0.34.0
- aztec-packages-v0.33.0
- aztec-packages-v0.32.1
- aztec-packages-v0.32.0
- aztec-packages-v0.31.0
- aztec-packages-v0.30.1
- aztec-packages-v0.30.0
- aztec-packages-v0.29.0
- aztec-packages-v0.28.1
- aztec-packages-v0.28.0
- aztec-packages-v0.27.2
- aztec-packages-v0.27.1
- aztec-packages-v0.27.0
- aztec-packages-v0.26.6
- aztec-packages-v0.26.5
- aztec-packages-v0.26.4
- aztec-packages-v0.26.3
- aztec-packages-v0.26.2
- aztec-packages-v0.26.1
- aztec-packages-v0.26.0
- aztec-packages-v0.25.0
- aztec-packages-v0.24.0
- aztec-packages-v0.23.0
- aztec-packages-v0.22.0
- aztec-packages-v0.21.0
- aztec-packages-v0.20.0
- aztec-packages-v0.19.0
- aztec-packages-v0.18.0
- aztec-packages-v0.17.0
- aztec-packages-v0.16.9
- aztec-packages-v0.16.8
- aztec-packages-v0.16.7
- aztec-packages-v0.16.6
- aztec-packages-v0.16.5
- aztec-packages-v0.16.4
- aztec-packages-v0.16.3
- aztec-packages-v0.16.2
- aztec-packages-v0.16.1
- aztec-packages-v0.16.0
- aztec-packages-v0.15.1
- aztec-packages-v0.15.0
- aztec-packages-v0.14.2
- aztec-packages-v0.14.1
- aztec-packages-v0.14.0
- aztec-packages-v0.13.1
- aztec-packages-v0.13.0
- aztec-packages-v0.12.0
- aztec-packages-v0.11.1
- aztec-packages-v0.11.0
- aztec-packages-v0.10.1
- aztec-packages-v0.10.0
- aztec-packages-v0.9.0
- aztec-packages-v0.8.14
- aztec-packages-v0.8.13
- aztec-packages-v0.8.12
- aztec-packages-v0.8.11
- aztec-packages-v0.8.10
- aztec-packages-v0.8.9
- aztec-packages-v0.8.8
- aztec-packages-v0.8.7
- aztec-packages-v0.8.6
- aztec-packages-v0.8.5
- aztec-packages-v0.8.4
- aztec-packages-v0.8.3
- aztec-packages-v0.8.2
- aztec-packages-v0.8.1
- aztec-packages-v0.8.0
- aztec-packages-v0.7.10
- aztec-packages-v0.7.9
- aztec-packages-v0.7.8
- aztec-packages-v0.7.7
- aztec-packages-v0.7.6
- aztec-packages-v0.7.5
- aztec-packages-v0.7.4
- aztec-packages-v0.7.3
- aztec-packages-v0.7.2
- aztec-packages-v0.7.1
- aztec-packages-v0.7.0
- aztec-packages-v0.6.7
- aztec-packages-v0.6.6
- aztec-packages-v0.6.5
- aztec-packages-v0.6.4
- aztec-packages-v0.6.3
- aztec-packages-v0.6.2
- aztec-packages-v0.6.1
- aztec-packages-v0.6.0
- aztec-packages-v0.5.2
- aztec-packages-v0.5.1
- aztec-package-v0.69.1
- aztec-package-v0.69.0
- aztec-package-v0.68.2
- aztec-package-v0.68.1
- aztec-package-v0.68.0
- aztec-package-v0.67.1
- aztec-package-v0.67.0
- aztec-package-v0.66.0
- aztec-package-v0.65.2
- aztec-package-v0.65.1
- aztec-package-v0.65.0
- aztec-package-v0.64.0
- aztec-package-v0.63.1
- aztec-package-v0.63.0
- aztec-package-v0.62.0
- aztec-package-v0.61.0
- aztec-package-v0.60.0
- aztec-package-v0.59.0
- aztec-package-v0.58.0
- aztec-package-v0.57.0
- aztec-package-v0.56.0
- aztec-package-v0.55.1
- aztec-package-v0.55.0
- aztec-package-v0.54.0
- aztec-package-v0.53.0
- aztec-package-v0.52.0
- aztec-package-v0.51.1
- aztec-package-v0.51.0
- aztec-package-v0.50.1
- aztec-package-v0.50.0
- aztec-package-v0.49.2
- aztec-package-v0.49.1
- aztec-package-v0.49.0
- aztec-package-v0.48.0
- aztec-package-v0.47.1
- aztec-package-v0.47.0
- aztec-package-v0.46.7
- aztec-package-v0.46.6
- aztec-package-v0.46.5
- aztec-package-v0.46.4
- aztec-package-v0.46.3
- aztec-package-v0.46.2
- aztec-package-v0.46.1
- aztec-package-v0.46.0
- aztec-package-v0.45.1
- aztec-package-v0.45.0
- aztec-package-v0.44.0
- aztec-package-v0.43.0
- aztec-package-v0.42.0
- aztec-package-v0.41.0
- aztec-package-v0.40.1
- aztec-package-v0.40.0
- aztec-package-v0.39.0
- aztec-package-v0.38.0
- aztec-package-v0.37.0
- aztec-package-v0.36.0
- aztec-package-v0.35.1
- aztec-package-v0.35.0
- aztec-package-v0.34.0
- aztec-package-v0.33.0
- aztec-package-v0.32.1
- aztec-package-v0.32.0
- aztec-package-v0.31.0
- aztec-package-v0.30.1
- aztec-package-v0.30.0
- aztec-package-v0.29.0
- aztec-package-v0.28.1
- aztec-package-v0.28.0
- aztec-package-v0.27.2
- aztec-package-v0.27.1
- aztec-package-v0.27.0
- aztec-package-v0.26.6
- aztec-package-v0.26.5
- aztec-package-v0.26.4
- aztec-package-v0.26.3
- aztec-package-v0.26.2
- aztec-package-v0.26.1
- aztec-package-v0.26.0
- aztec-cli-v0.35.1
- aztec-cli-v0.35.0
- aztec-cli-v0.34.0
- aztec-cli-v0.33.0
- aztec-cli-v0.32.1
- aztec-cli-v0.32.0
- aztec-cli-v0.31.0
- aztec-cli-v0.30.1
- aztec-cli-v0.30.0
- aztec-cli-v0.29.0
- aztec-cli-v0.28.1
- aztec-cli-v0.28.0
- aztec-cli-v0.27.2
- aztec-cli-v0.27.1
- aztec-cli-v0.27.0
- aztec-cli-v0.26.6
- aztec-cli-v0.26.5
- aztec-cli-v0.26.4
- aztec-cli-v0.26.3
- aztec-cli-v0.26.2
- aztec-cli-v0.26.1
- aztec-cli-v0.26.0
1 parent
801f6a5
commit 05b6e86
Showing
27 changed files
with
253 additions
and
303 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
yarn-project/aztec.js/src/contract/base_contract_interaction.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
import { AztecAddress } from '@aztec/circuits.js'; | ||
import { AztecRPC, Tx, TxExecutionRequest } from '@aztec/types'; | ||
|
||
import { SentTx } from './sent_tx.js'; | ||
|
||
/** | ||
* Represents options for calling a (constrained) function in a contract. | ||
* Allows the user to specify the sender address and nonce for a transaction. | ||
*/ | ||
export interface SendMethodOptions { | ||
/** | ||
* Sender's address initiating the transaction. | ||
*/ | ||
origin?: AztecAddress; | ||
} | ||
|
||
/** | ||
* Base class for an interaction with a contract, be it a deployment, a function call, or a batch. | ||
* Implements the sequence create/simulate/send. | ||
*/ | ||
export abstract class BaseContractInteraction { | ||
protected tx?: Tx; | ||
protected txRequest?: TxExecutionRequest; | ||
|
||
constructor(protected rpc: AztecRPC) {} | ||
|
||
/** | ||
* Create a transaction execution request ready to be simulated. | ||
* @param options - An optional object containing additional configuration for the transaction. | ||
* @returns A transaction execution request. | ||
*/ | ||
public abstract create(options?: SendMethodOptions): Promise<TxExecutionRequest>; | ||
|
||
/** | ||
* Simulates a transaction execution request and returns a tx object ready to be sent. | ||
* @param options - optional arguments to be used in the creation of the transaction | ||
* @returns The resulting transaction | ||
*/ | ||
public async simulate(options: SendMethodOptions = {}): Promise<Tx> { | ||
const txRequest = this.txRequest ?? (await this.create(options)); | ||
this.tx = await this.rpc.simulateTx(txRequest); | ||
return this.tx; | ||
} | ||
|
||
/** | ||
* Sends a transaction to the contract function with the specified options. | ||
* This function throws an error if called on an unconstrained function. | ||
* It creates and signs the transaction if necessary, and returns a SentTx instance, | ||
* which can be used to track the transaction status, receipt, and events. | ||
* @param options - An optional object containing 'from' property representing | ||
* the AztecAddress of the sender. If not provided, the default address is used. | ||
* @returns A SentTx instance for tracking the transaction status and information. | ||
*/ | ||
public send(options: SendMethodOptions = {}) { | ||
const promise = (async () => { | ||
const tx = this.tx ?? (await this.simulate(options)); | ||
return this.rpc.sendTx(tx); | ||
})(); | ||
|
||
return new SentTx(this.rpc, promise); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import { FunctionCall, TxExecutionRequest, Wallet } from '../index.js'; | ||
import { BaseContractInteraction, SendMethodOptions } from './base_contract_interaction.js'; | ||
|
||
/** A batch of function calls to be sent as a single transaction through a wallet. */ | ||
export class BatchCall extends BaseContractInteraction { | ||
constructor(protected wallet: Wallet, protected calls: FunctionCall[]) { | ||
super(wallet); | ||
} | ||
|
||
/** | ||
* Create a transaction execution request that represents this batch, encoded and authenticated by the | ||
* user's wallet, ready to be simulated. | ||
* @param options - An optional object containing additional configuration for the transaction. | ||
* @returns A Promise that resolves to a transaction instance. | ||
*/ | ||
public async create(options?: SendMethodOptions | undefined): Promise<TxExecutionRequest> { | ||
if (!this.txRequest) { | ||
this.txRequest = await this.wallet.createTxExecutionRequest(this.calls, options); | ||
} | ||
return this.txRequest; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */ | ||
export const DEFAULT_CHAIN_ID = 31337; | ||
/** Default protocol version to use. */ | ||
export const DEFAULT_VERSION = 1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters