@aztec/aztec.js 0.0.1-commit.d6f2b3f94 → 0.0.1-commit.db765a8

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.
Files changed (71) hide show
  1. package/dest/api/abi.d.ts +2 -2
  2. package/dest/api/abi.d.ts.map +1 -1
  3. package/dest/api/contract.d.ts +3 -3
  4. package/dest/api/contract.d.ts.map +1 -1
  5. package/dest/api/contract.js +1 -1
  6. package/dest/api/wallet.d.ts +2 -2
  7. package/dest/api/wallet.d.ts.map +1 -1
  8. package/dest/contract/base_contract_interaction.d.ts +3 -3
  9. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  10. package/dest/contract/batch_call.d.ts +3 -3
  11. package/dest/contract/batch_call.d.ts.map +1 -1
  12. package/dest/contract/batch_call.js +17 -8
  13. package/dest/contract/contract_function_interaction.d.ts +5 -5
  14. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  15. package/dest/contract/contract_function_interaction.js +102 -13
  16. package/dest/contract/deploy_method.d.ts +37 -12
  17. package/dest/contract/deploy_method.d.ts.map +1 -1
  18. package/dest/contract/deploy_method.js +42 -21
  19. package/dest/contract/get_gas_limits.js +3 -3
  20. package/dest/contract/interaction_options.d.ts +62 -21
  21. package/dest/contract/interaction_options.d.ts.map +1 -1
  22. package/dest/contract/interaction_options.js +33 -0
  23. package/dest/contract/protocol_contracts/auth-registry.d.ts +10 -1
  24. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
  25. package/dest/contract/protocol_contracts/auth-registry.js +506 -59
  26. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +1 -1
  27. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -1
  28. package/dest/contract/protocol_contracts/contract-class-registry.js +12 -0
  29. package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -1
  30. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
  31. package/dest/contract/protocol_contracts/fee-juice.js +8 -0
  32. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +1 -1
  33. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
  34. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +17 -1
  35. package/dest/contract/protocol_contracts/public-checks.d.ts +1 -1
  36. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
  37. package/dest/contract/protocol_contracts/public-checks.js +17 -1
  38. package/dest/utils/abi_types.d.ts +6 -1
  39. package/dest/utils/abi_types.d.ts.map +1 -1
  40. package/dest/utils/abi_types.js +1 -1
  41. package/dest/utils/authwit.d.ts +5 -5
  42. package/dest/utils/authwit.d.ts.map +1 -1
  43. package/dest/utils/authwit.js +10 -6
  44. package/dest/wallet/capabilities.d.ts +13 -5
  45. package/dest/wallet/capabilities.d.ts.map +1 -1
  46. package/dest/wallet/deploy_account_method.d.ts +15 -4
  47. package/dest/wallet/deploy_account_method.d.ts.map +1 -1
  48. package/dest/wallet/deploy_account_method.js +26 -0
  49. package/dest/wallet/wallet.d.ts +163 -16
  50. package/dest/wallet/wallet.d.ts.map +1 -1
  51. package/dest/wallet/wallet.js +33 -7
  52. package/package.json +10 -10
  53. package/src/api/abi.ts +1 -0
  54. package/src/api/contract.ts +8 -1
  55. package/src/api/wallet.ts +1 -0
  56. package/src/contract/base_contract_interaction.ts +3 -2
  57. package/src/contract/batch_call.ts +17 -14
  58. package/src/contract/contract_function_interaction.ts +101 -20
  59. package/src/contract/deploy_method.ts +77 -32
  60. package/src/contract/get_gas_limits.ts +3 -3
  61. package/src/contract/interaction_options.ts +96 -23
  62. package/src/contract/protocol_contracts/auth-registry.ts +239 -37
  63. package/src/contract/protocol_contracts/contract-class-registry.ts +3 -0
  64. package/src/contract/protocol_contracts/fee-juice.ts +2 -0
  65. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +5 -1
  66. package/src/contract/protocol_contracts/public-checks.ts +5 -1
  67. package/src/utils/abi_types.ts +7 -0
  68. package/src/utils/authwit.ts +20 -22
  69. package/src/wallet/capabilities.ts +13 -4
  70. package/src/wallet/deploy_account_method.ts +39 -2
  71. package/src/wallet/wallet.ts +46 -6
package/dest/api/abi.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { type ContractArtifact, type FunctionArtifact, type FunctionAbi, EventSelector, FunctionType, FunctionSelector, FunctionCall, NoteSelector, type ABIParameter, decodeFromAbi, encodeArguments, type AbiType, isAddressStruct, isAztecAddressStruct, isEthAddressStruct, isWrappedFieldStruct, isFunctionSelectorStruct, loadContractArtifact, loadContractArtifactForPublic, getAllFunctionAbis, contractArtifactToBuffer, contractArtifactFromBuffer, } from '@aztec/stdlib/abi';
2
2
  export { type NoirCompiledContract } from '@aztec/stdlib/noir';
3
- export { type AztecAddressLike, type EthAddressLike, type EventSelectorLike, type FieldLike, type FunctionSelectorLike, type U128Like, type WrappedFieldLike, } from '../utils/abi_types.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBQ2hCLGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxZQUFZLEVBQ2pCLGFBQWEsRUFDYixlQUFlLEVBQ2YsS0FBSyxPQUFPLEVBQ1osZUFBZSxFQUNmLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsMEJBQTBCLEdBQzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvRCxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxjQUFjLEVBQ25CLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssU0FBUyxFQUNkLEtBQUssb0JBQW9CLEVBQ3pCLEtBQUssUUFBUSxFQUNiLEtBQUssZ0JBQWdCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUMifQ==
3
+ export { type AztecAddressLike, type EthAddressLike, type EventSelectorLike, type FieldLike, type FunctionSelectorLike, type OptionLike, type U128Like, type WrappedFieldLike, } from '../utils/abi_types.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBQ2hCLGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxZQUFZLEVBQ2pCLGFBQWEsRUFDYixlQUFlLEVBQ2YsS0FBSyxPQUFPLEVBQ1osZUFBZSxFQUNmLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsMEJBQTBCLEdBQzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvRCxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxjQUFjLEVBQ25CLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssU0FBUyxFQUNkLEtBQUssb0JBQW9CLEVBQ3pCLEtBQUssVUFBVSxFQUNmLEtBQUssUUFBUSxFQUNiLEtBQUssZ0JBQWdCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/api/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,aAAa,EACb,eAAe,EACf,KAAK,OAAO,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/api/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,aAAa,EACb,eAAe,EACf,KAAK,OAAO,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC"}
@@ -44,12 +44,12 @@
44
44
  */
45
45
  export { Contract } from '../contract/contract.js';
46
46
  export { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
47
- export { NO_WAIT, type NoWait, type RequestInteractionOptions, type SendInteractionOptions, type ProfileInteractionOptions, type SimulateInteractionOptions, type InteractionFeeOptions, type InteractionWaitOptions, type GasSettingsOption, type SendReturn, type SimulationReturn, toProfileOptions, toSendOptions, toSimulateOptions, } from '../contract/interaction_options.js';
47
+ export { NO_WAIT, type NoWait, type OffchainMessage, type OffchainOutput, type RequestInteractionOptions, type SendInteractionOptions, type ProfileInteractionOptions, type SimulateInteractionOptions, type InteractionFeeOptions, type InteractionWaitOptions, type GasSettingsOption, type SendReturn, type SimulationResult, type TxSendResultImmediate, type TxSendResultMined, emptyOffchainOutput, extractOffchainOutput, toProfileOptions, toSendOptions, toSimulateOptions, } from '../contract/interaction_options.js';
48
48
  export { DefaultWaitOpts, type WaitOpts } from '../contract/wait_opts.js';
49
49
  export { ContractBase, type ContractMethod, type ContractStorageLayout } from '../contract/contract_base.js';
50
50
  export { BatchCall } from '../contract/batch_call.js';
51
- export { type DeployOptions, type DeployReturn, type DeployTxReceipt, type DeployWaitOptions, type DeployInteractionWaitOptions, DeployMethod, type RequestDeployOptions, type SimulateDeployOptions, } from '../contract/deploy_method.js';
51
+ export { type DeployOptions, type DeployResultMined, type DeployReturn, type DeployTxReceipt, type DeployWaitOptions, type DeployInteractionWaitOptions, DeployMethod, type RequestDeployOptions, type SimulateDeployOptions, } from '../contract/deploy_method.js';
52
52
  export { waitForProven, type WaitForProvenOpts, DefaultWaitForProvenOpts } from '../contract/wait_for_proven.js';
53
53
  export { getGasLimits } from '../contract/get_gas_limits.js';
54
54
  export { type PartialAddress, type ContractClassWithId, type ContractInstanceWithAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams, type NodeInfo, } from '@aztec/stdlib/contract';
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLE1BQU0sRUFDWCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLHFCQUFxQixFQUMxQixLQUFLLHNCQUFzQixFQUMzQixLQUFLLGlCQUFpQixFQUN0QixLQUFLLFVBQVUsRUFDZixLQUFLLGdCQUFnQixFQUNyQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUsscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUNMLEtBQUssYUFBYSxFQUNsQixLQUFLLFlBQVksRUFDakIsS0FBSyxlQUFlLEVBQ3BCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssNEJBQTRCLEVBQ2pDLFlBQVksRUFDWixLQUFLLG9CQUFvQixFQUN6QixLQUFLLHFCQUFxQixHQUMzQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMkJBQTJCLEVBQ2hDLDRCQUE0QixFQUM1QiwwQ0FBMEMsRUFDMUMsS0FBSyxRQUFRLEdBQ2QsTUFBTSx3QkFBd0IsQ0FBQyJ9
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLE1BQU0sRUFDWCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxjQUFjLEVBQ25CLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssc0JBQXNCLEVBQzNCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssc0JBQXNCLEVBQzNCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssVUFBVSxFQUNmLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssaUJBQWlCLEVBQ3RCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxZQUFZLEVBQ2pCLEtBQUssZUFBZSxFQUNwQixLQUFLLGlCQUFpQixFQUN0QixLQUFLLDRCQUE0QixFQUNqQyxZQUFZLEVBQ1osS0FBSyxvQkFBb0IsRUFDekIsS0FBSyxxQkFBcUIsR0FDM0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0QsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUNuQixLQUFLLG1CQUFtQixFQUN4QixLQUFLLDJCQUEyQixFQUNoQyw0QkFBNEIsRUFDNUIsMENBQTBDLEVBQzFDLEtBQUssUUFBUSxHQUNkLE1BQU0sd0JBQXdCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/api/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,4BAA4B,EAC5B,0CAA0C,EAC1C,KAAK,QAAQ,GACd,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/api/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,4BAA4B,EAC5B,0CAA0C,EAC1C,KAAK,QAAQ,GACd,MAAM,wBAAwB,CAAC"}
@@ -43,7 +43,7 @@
43
43
  * @packageDocumentation
44
44
  */ export { Contract } from '../contract/contract.js';
45
45
  export { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
46
- export { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from '../contract/interaction_options.js';
46
+ export { NO_WAIT, emptyOffchainOutput, extractOffchainOutput, toProfileOptions, toSendOptions, toSimulateOptions } from '../contract/interaction_options.js';
47
47
  export { DefaultWaitOpts } from '../contract/wait_opts.js';
48
48
  export { ContractBase } from '../contract/contract_base.js';
49
49
  export { BatchCall } from '../contract/batch_call.js';
@@ -1,5 +1,5 @@
1
- export { type Aliased, type SimulateOptions, type ProfileOptions, type SendOptions, type BatchableMethods, type BatchedMethod, type BatchedMethodResult, type BatchedMethodResultWrapper, type BatchResults, type Wallet, type PrivateEvent, type PrivateEventFilter, type PublicEvent, type PublicEventFilter, type ContractMetadata, type ContractClassMetadata, AppCapabilitiesSchema, WalletCapabilitiesSchema, ExecutionPayloadSchema, GasSettingsOptionSchema, WalletSimulationFeeOptionSchema, WaitOptsSchema, SendOptionsSchema, SimulateOptionsSchema, ProfileOptionsSchema, MessageHashOrIntentSchema, BatchedMethodSchema, EventMetadataDefinitionSchema, PrivateEventSchema, PrivateEventFilterSchema, PublicEventSchema, PublicEventFilterSchema, ContractClassMetadataSchema, ContractMetadataSchema, WalletSchema, ContractFunctionPatternSchema, AccountsCapabilitySchema, GrantedAccountsCapabilitySchema, ContractsCapabilitySchema, GrantedContractsCapabilitySchema, ContractClassesCapabilitySchema, GrantedContractClassesCapabilitySchema, SimulationCapabilitySchema, GrantedSimulationCapabilitySchema, TransactionCapabilitySchema, GrantedTransactionCapabilitySchema, DataCapabilitySchema, GrantedDataCapabilitySchema, CapabilitySchema, GrantedCapabilitySchema, } from '../wallet/wallet.js';
1
+ export { type Aliased, type SimulateOptions, type ExecuteUtilityOptions, type ProfileOptions, type SendOptions, type BatchableMethods, type BatchedMethod, type BatchedMethodResult, type BatchedMethodResultWrapper, type BatchResults, type Wallet, type PrivateEvent, type PrivateEventFilter, type PublicEvent, type PublicEventFilter, type ContractMetadata, type ContractClassMetadata, AppCapabilitiesSchema, WalletCapabilitiesSchema, ExecutionPayloadSchema, GasSettingsOptionSchema, WalletSimulationFeeOptionSchema, WaitOptsSchema, SendOptionsSchema, SimulateOptionsSchema, ProfileOptionsSchema, MessageHashOrIntentSchema, BatchedMethodSchema, EventMetadataDefinitionSchema, PrivateEventSchema, PrivateEventFilterSchema, PublicEventSchema, PublicEventFilterSchema, ContractClassMetadataSchema, ContractMetadataSchema, WalletSchema, ContractFunctionPatternSchema, AccountsCapabilitySchema, GrantedAccountsCapabilitySchema, ContractsCapabilitySchema, GrantedContractsCapabilitySchema, ContractClassesCapabilitySchema, GrantedContractClassesCapabilitySchema, SimulationCapabilitySchema, GrantedSimulationCapabilitySchema, TransactionCapabilitySchema, GrantedTransactionCapabilitySchema, DataCapabilitySchema, GrantedDataCapabilitySchema, CapabilitySchema, GrantedCapabilitySchema, } from '../wallet/wallet.js';
2
2
  export { type AppCapabilities, type WalletCapabilities, CAPABILITY_VERSION, type Capability, type GrantedCapability, type ContractFunctionPattern, type AccountsCapability, type GrantedAccountsCapability, type ContractsCapability, type GrantedContractsCapability, type ContractClassesCapability, type GrantedContractClassesCapability, type SimulationCapability, type GrantedSimulationCapability, type TransactionCapability, type GrantedTransactionCapability, type DataCapability, type GrantedDataCapability, } from '../wallet/capabilities.js';
3
3
  export { AccountManager } from '../wallet/account_manager.js';
4
4
  export { type DeployAccountOptions, DeployAccountMethod } from '../wallet/deploy_account_method.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osS0FBSyxlQUFlLEVBQ3BCLEtBQUssY0FBYyxFQUNuQixLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUssWUFBWSxFQUNqQixLQUFLLE1BQU0sRUFDWCxLQUFLLFlBQVksRUFDakIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2hCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUsscUJBQXFCLEVBQzFCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QiwrQkFBK0IsRUFDL0IsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLFlBQVksRUFDWiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxrQkFBa0IsRUFDdkIsa0JBQWtCLEVBQ2xCLEtBQUssVUFBVSxFQUNmLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssb0JBQW9CLEVBQ3pCLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUssY0FBYyxFQUNuQixLQUFLLHFCQUFxQixHQUMzQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osS0FBSyxlQUFlLEVBQ3BCLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssY0FBYyxFQUNuQixLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUssWUFBWSxFQUNqQixLQUFLLE1BQU0sRUFDWCxLQUFLLFlBQVksRUFDakIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2hCLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUsscUJBQXFCLEVBQzFCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QiwrQkFBK0IsRUFDL0IsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLFlBQVksRUFDWiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxrQkFBa0IsRUFDdkIsa0JBQWtCLEVBQ2xCLEtBQUssVUFBVSxFQUNmLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssb0JBQW9CLEVBQ3pCLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUssY0FBYyxFQUNuQixLQUFLLHFCQUFxQixHQUMzQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/api/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,YAAY,EACZ,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,EAC/B,yBAAyB,EACzB,gCAAgC,EAChC,+BAA+B,EAC/B,sCAAsC,EACtC,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,kCAAkC,EAClC,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/api/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,YAAY,EACZ,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,EAC/B,yBAAyB,EACzB,gCAAgC,EAChC,+BAA+B,EAC/B,sCAAsC,EACtC,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,kCAAkC,EAClC,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
2
2
  import type { Capsule, ExecutionPayload, TxReceipt } from '@aztec/stdlib/tx';
3
3
  import type { Wallet } from '../wallet/wallet.js';
4
- import { type InteractionWaitOptions, type RequestInteractionOptions, type SendInteractionOptions, type SendInteractionOptionsWithoutWait, type SendReturn } from './interaction_options.js';
4
+ import { type InteractionWaitOptions, type RequestInteractionOptions, type SendInteractionOptions, type SendInteractionOptionsWithoutWait, type SendReturn, type TxSendResultMined } from './interaction_options.js';
5
5
  /**
6
6
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
7
7
  * Implements the sequence create/simulate/send.
@@ -26,7 +26,7 @@ export declare abstract class BaseContractInteraction {
26
26
  * the AztecAddress of the sender, optional fee configuration, and optional wait settings
27
27
  * @returns TReturn (if wait is undefined/WaitOpts) or TxHash (if wait is NO_WAIT)
28
28
  */
29
- send<TReturn = TxReceipt>(options: SendInteractionOptionsWithoutWait): Promise<TReturn>;
29
+ send<TReturn = TxReceipt>(options: SendInteractionOptionsWithoutWait): Promise<TxSendResultMined<TReturn>>;
30
30
  send<TReturn = TxReceipt, W extends InteractionWaitOptions = undefined>(options: SendInteractionOptions<W>): Promise<SendReturn<W, TReturn>>;
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2Jhc2VfY29udHJhY3RfaW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQUMzQixLQUFLLHlCQUF5QixFQUM5QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLGlDQUFpQyxFQUN0QyxLQUFLLFVBQVUsRUFFaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQzs7O0dBR0c7QUFDSCw4QkFBc0IsdUJBQXVCO0lBSXpDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtJQUN4QixTQUFTLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRTtJQUN0QyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUwvQixTQUFTLENBQUMsR0FBRyx5Q0FBZ0Q7SUFFN0QsWUFDWSxNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQztJQUVKOzs7OztPQUtHO0lBQ0gsU0FBZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBR3hGOzs7Ozs7T0FNRztJQUVJLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFHeEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQyxTQUFTLHNCQUFzQixHQUFHLFNBQVMsRUFDM0UsT0FBTyxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0NBV3BDIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2Jhc2VfY29udHJhY3RfaW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQUMzQixLQUFLLHlCQUF5QixFQUM5QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLGlDQUFpQyxFQUN0QyxLQUFLLFVBQVUsRUFDZixLQUFLLGlCQUFpQixFQUV2QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILDhCQUFzQix1QkFBdUI7SUFJekMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNO0lBQ3hCLFNBQVMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFO0lBQ3RDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFO0lBTC9CLFNBQVMsQ0FBQyxHQUFHLHlDQUFnRDtJQUU3RCxZQUNZLE1BQU0sRUFBRSxNQUFNLEVBQ2QsYUFBYSxHQUFFLFdBQVcsRUFBTyxFQUNqQyxRQUFRLEdBQUUsT0FBTyxFQUFPLEVBQ2hDO0lBRUo7Ozs7O09BS0c7SUFDSCxTQUFnQixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFHeEY7Ozs7OztPQU1HO0lBRUksSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRzNHLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxFQUFFLENBQUMsU0FBUyxzQkFBc0IsR0FBRyxTQUFTLEVBQzNFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FDakMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztDQVdwQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,UAAU,EAEhB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,8BAAsB,uBAAuB;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAL/B,SAAS,CAAC,GAAG,yCAAgD;IAE7D,YACY,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChC;IAEJ;;;;;OAKG;IACH,SAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGxF;;;;;;OAMG;IAEI,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGxF,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,SAAS,sBAAsB,GAAG,SAAS,EAC3E,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CAWpC"}
1
+ {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,8BAAsB,uBAAuB;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAL/B,SAAS,CAAC,GAAG,yCAAgD;IAE7D,YACY,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChC;IAEJ;;;;;OAKG;IACH,SAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGxF;;;;;;OAMG;IAEI,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAG3G,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,SAAS,sBAAsB,GAAG,SAAS,EAC3E,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CAWpC"}
@@ -13,9 +13,9 @@ export declare class BatchCall extends BaseContractInteraction {
13
13
  */
14
14
  request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
15
15
  /**
16
- * Simulates the batch, supporting private, public and utility functions. Although this is a single
16
+ * Simulates/executes the batch, supporting private, public and utility functions. Although this is a single
17
17
  * interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
18
- * that the wallet will simulate as a single transaction. Utility function calls will simply be executed
18
+ * that the wallet will simulate as a single transaction. Utility function calls will be executed
19
19
  * one by one.
20
20
  * @param options - An optional object containing additional configuration for the interaction.
21
21
  * @returns The results of all the interactions that make up the batch
@@ -23,4 +23,4 @@ export declare class BatchCall extends BaseContractInteraction {
23
23
  simulate(options: SimulateInteractionOptions): Promise<any>;
24
24
  protected getExecutionPayloads(): Promise<ExecutionPayload[]>;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2JhdGNoX2NhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFpQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxxRkFBcUY7QUFFckYscUJBQWEsU0FBVSxTQUFRLHVCQUF1QjtJQUdsRCxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtJQUZ4RSxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUd2RTtJQUdEOzs7O09BSUc7SUFDVSxPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQVN2RjtJQUVEOzs7Ozs7O09BT0c7SUFDVSxRQUFRLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0F5RnZFO0lBRUQsVUFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FFbEU7Q0FDRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2JhdGNoX2NhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFzRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhILE9BQU8sS0FBSyxFQUFpQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFJaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxxRkFBcUY7QUFFckYscUJBQWEsU0FBVSxTQUFRLHVCQUF1QjtJQUdsRCxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtJQUZ4RSxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUd2RTtJQUdEOzs7O09BSUc7SUFDVSxPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQVN2RjtJQUVEOzs7Ozs7O09BT0c7SUFDVSxRQUFRLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0ErRnZFO0lBRUQsVUFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FFbEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;AAErF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE;IAFxE,YACE,MAAM,EAAE,MAAM,EACJ,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE,EAGvE;IAGD;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASvF;IAED;;;;;;;OAOG;IACU,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CAyFvE;IAED,UAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElE;CACF"}
1
+ {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAsE,MAAM,kBAAkB,CAAC;AAExH,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAIhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;AAErF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE;IAFxE,YACE,MAAM,EAAE,MAAM,EACJ,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE,EAGvE;IAGD;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASvF;IAED;;;;;;;OAOG;IACU,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CA+FvE;IAED,UAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElE;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
2
2
  import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
3
3
  import { BaseContractInteraction } from './base_contract_interaction.js';
4
- import { toSimulateOptions } from './interaction_options.js';
4
+ import { emptyOffchainOutput, extractOffchainOutput, toSimulateOptions } from './interaction_options.js';
5
5
  /** A batch of function calls to be sent as a single transaction through a wallet. */ // docs:start:batch_call_class
6
6
  export class BatchCall extends BaseContractInteraction {
7
7
  interactions;
@@ -25,9 +25,9 @@ export class BatchCall extends BaseContractInteraction {
25
25
  return finalExecutionPayload;
26
26
  }
27
27
  /**
28
- * Simulates the batch, supporting private, public and utility functions. Although this is a single
28
+ * Simulates/executes the batch, supporting private, public and utility functions. Although this is a single
29
29
  * interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
30
- * that the wallet will simulate as a single transaction. Utility function calls will simply be executed
30
+ * that the wallet will simulate as a single transaction. Utility function calls will be executed
31
31
  * one by one.
32
32
  * @param options - An optional object containing additional configuration for the interaction.
33
33
  * @returns The results of all the interactions that make up the batch
@@ -57,10 +57,13 @@ export class BatchCall extends BaseContractInteraction {
57
57
  // Add utility calls to batch
58
58
  for (const [call] of utility){
59
59
  batchRequests.push({
60
- name: 'simulateUtility',
60
+ name: 'executeUtility',
61
61
  args: [
62
62
  call,
63
- options?.authWitnesses
63
+ {
64
+ scope: options.from,
65
+ authWitnesses: options.authWitnesses
66
+ }
64
67
  ]
65
68
  });
66
69
  }
@@ -83,9 +86,12 @@ export class BatchCall extends BaseContractInteraction {
83
86
  for(let i = 0; i < utility.length; i++){
84
87
  const [call, resultIndex] = utility[i];
85
88
  const wrappedResult = batchResults[i];
86
- if (wrappedResult.name === 'simulateUtility') {
89
+ if (wrappedResult.name === 'executeUtility') {
87
90
  const rawReturnValues = wrappedResult.result.result;
88
- results[resultIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
91
+ results[resultIndex] = {
92
+ result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
93
+ ...emptyOffchainOutput()
94
+ };
89
95
  }
90
96
  }
91
97
  // Process tx simulation result (it comes last if present)
@@ -99,7 +105,10 @@ export class BatchCall extends BaseContractInteraction {
99
105
  // since we're interested in the first set of values AFTER the account entrypoint
100
106
  // For public functions we retrieve the first values directly from the public output.
101
107
  const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
102
- results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
108
+ results[callIndex] = {
109
+ result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
110
+ ...extractOffchainOutput(simulatedTx.offchainEffects)
111
+ };
103
112
  });
104
113
  }
105
114
  }
@@ -1,11 +1,11 @@
1
1
  import { type FunctionAbi, FunctionCall } from '@aztec/stdlib/abi';
2
2
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
- import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
4
+ import type { Capsule, HashedValues, TxProfileResult } from '@aztec/stdlib/tx';
5
5
  import { ExecutionPayload } from '@aztec/stdlib/tx';
6
6
  import type { Wallet } from '../wallet/wallet.js';
7
7
  import { BaseContractInteraction } from './base_contract_interaction.js';
8
- import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationReturn } from './interaction_options.js';
8
+ import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationResult } from './interaction_options.js';
9
9
  /**
10
10
  * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
11
11
  * It contains available interactions one can call on a method, including view.
@@ -16,6 +16,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
16
16
  protected args: any[];
17
17
  private extraHashedArgs;
18
18
  constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[], authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
19
+ private hasInvalidNullOrUndefinedArguments;
19
20
  /**
20
21
  * Returns the encoded function call wrapped by this interaction
21
22
  * Useful when generating authwits
@@ -39,8 +40,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
39
40
  * function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
40
41
  * execution statistics and emitted offchain effects
41
42
  */
42
- simulate<T extends SimulateInteractionOptions>(options: T): Promise<SimulationReturn<Exclude<T['fee'], undefined>['estimateGas']>>;
43
- simulate<T extends SimulateInteractionOptions>(options: T): Promise<SimulationReturn<T['includeMetadata']>>;
43
+ simulate(options?: SimulateInteractionOptions): Promise<SimulationResult>;
44
44
  /**
45
45
  * Simulate a transaction and profile the gate count for each function in the transaction.
46
46
  * @param options - Same options as `simulate`, plus profiling method
@@ -64,4 +64,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
64
64
  extraHashedArgs?: HashedValues[];
65
65
  }): ContractFunctionInteraction;
66
66
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFLYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLGdCQUFnQixFQUd0QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILHFCQUFhLDJCQUE0QixTQUFRLHVCQUF1QjtJQUdwRSxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBR3JCLE9BQU8sQ0FBQyxlQUFlO0lBUHpCLFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDSixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ3JCLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBTTdDO0lBRUQ7Ozs7T0FJRztJQUNVLGVBQWUsMEJBWTNCO0lBRUQ7Ozs7T0FJRztJQUNtQixPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQWdCaEc7SUFHRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0QsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBMkRuRDs7Ozs7T0FLRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQU9qRjtJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxFQUNWLGFBQWtCLEVBQ2xCLFFBQWEsRUFDYixlQUFvQixFQUNyQixFQUFFO1FBQ0Qsa0RBQWtEO1FBQ2xELGFBQWEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLDZDQUE2QztRQUM3QyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQixzREFBc0Q7UUFDdEQsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7S0FDbEMsR0FBRywyQkFBMkIsQ0FVOUI7Q0FDRiJ9
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFPYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQzs7O0dBR0c7QUFDSCxxQkFBYSwyQkFBNEIsU0FBUSx1QkFBdUI7SUFHcEUsU0FBUyxDQUFDLGVBQWUsRUFBRSxZQUFZO0lBQ3ZDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVztJQUNsQyxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtJQUdyQixPQUFPLENBQUMsZUFBZTtJQVB6QixZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osZUFBZSxFQUFFLFlBQVksRUFDN0IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNyQixhQUFhLEdBQUUsV0FBVyxFQUFPLEVBQ2pDLFFBQVEsR0FBRSxPQUFPLEVBQU8sRUFDaEIsZUFBZSxHQUFFLFlBQVksRUFBTyxFQWdCN0M7SUFFRCxPQUFPLENBQUMsa0NBQWtDO0lBVzFDOzs7O09BSUc7SUFDVSxlQUFlLDBCQVkzQjtJQUVEOzs7O09BSUc7SUFDbUIsT0FBTyxDQUFDLE9BQU8sR0FBRSx5QkFBOEIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FnQmhHO0lBR0Q7Ozs7Ozs7Ozs7T0FVRztJQUNVLFFBQVEsQ0FDbkIsT0FBTyxHQUFFLDBCQUE2RCxHQUNyRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F3RDNCO0lBRUQ7Ozs7O09BS0c7SUFDVSxPQUFPLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FPakY7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsRUFDVixhQUFrQixFQUNsQixRQUFhLEVBQ2IsZUFBb0IsRUFDckIsRUFBRTtRQUNELGtEQUFrRDtRQUNsRCxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM5Qiw2Q0FBNkM7UUFDN0MsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsc0RBQXNEO1FBQ3RELGVBQWUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDO0tBQ2xDLEdBQUcsMkJBQTJCLENBVTlCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,YAAY,EAKb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAA0B,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EAGtB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;IAGrB,OAAO,CAAC,eAAe;IAPzB,YACE,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE,EACrB,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChB,eAAe,GAAE,YAAY,EAAO,EAM7C;IAED;;;;OAIG;IACU,eAAe,0BAY3B;IAED;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBhG;IAGD;;;;;;;;;;OAUG;IACU,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7D,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA2DnD;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CAOjF;IAED;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,EACrB,EAAE;QACD,kDAAkD;QAClD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,sDAAsD;QACtD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;KAClC,GAAG,2BAA2B,CAU9B;CACF"}
1
+ {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,YAAY,EAOb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EAKtB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;IAGrB,OAAO,CAAC,eAAe;IAPzB,YACE,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE,EACrB,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChB,eAAe,GAAE,YAAY,EAAO,EAgB7C;IAED,OAAO,CAAC,kCAAkC;IAW1C;;;;OAIG;IACU,eAAe,0BAY3B;IAED;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBhG;IAGD;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,OAAO,GAAE,0BAA6D,GACrE,OAAO,CAAC,gBAAgB,CAAC,CAwD3B;IAED;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CAOjF;IAED;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,EACrB,EAAE;QACD,kDAAkD;QAClD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,sDAAsD;QACtD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;KAClC,GAAG,2BAA2B,CAU9B;CACF"}
@@ -1,9 +1,8 @@
1
- import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
2
- import { collectOffchainEffects } from '@aztec/stdlib/tx';
1
+ import { FunctionCall, FunctionSelector, FunctionType, canBeMappedFromNullOrUndefined, decodeFromAbi, encodeArguments, isOptionStruct } from '@aztec/stdlib/abi';
3
2
  import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
4
3
  import { BaseContractInteraction } from './base_contract_interaction.js';
5
4
  import { getGasLimits } from './get_gas_limits.js';
6
- import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
5
+ import { emptyOffchainOutput, extractOffchainOutput, toProfileOptions, toSimulateOptions } from './interaction_options.js';
7
6
  /**
8
7
  * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
9
8
  * It contains available interactions one can call on a method, including view.
@@ -14,10 +13,27 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
14
13
  extraHashedArgs;
15
14
  constructor(wallet, contractAddress, functionDao, args, authWitnesses = [], capsules = [], extraHashedArgs = []){
16
15
  super(wallet, authWitnesses, capsules), this.contractAddress = contractAddress, this.functionDao = functionDao, this.args = args, this.extraHashedArgs = extraHashedArgs;
17
- if (args.some((arg)=>arg === undefined || arg === null)) {
18
- throw new Error(`All function interaction arguments must be defined and not null. Received: ${args}`);
16
+ // This may feel a bit ad-hoc here, so it warrants a comment. We accept Noir Option<T> parameters, and it's natural
17
+ // to map JS's null/undefined to Noir Option's None. One possible way to deal with null/undefined arguments at this
18
+ // point in the codebase is to conclude that they are accepted since at least one Noir type (ie: Option) can be
19
+ // encoded from them. Then we would let `encode` deal with potential mismatches. I chose not to do that because of
20
+ // the pervasiveness of null/undefined in JS, and how easy it is to inadvertently pass it around. Having this check
21
+ // here allows us to fail at a point where the boundaries and intent are clear.
22
+ if (this.hasInvalidNullOrUndefinedArguments(args)) {
23
+ const signature = formatFunctionSignature(this.functionDao.name, this.functionDao.parameters);
24
+ const received = args.map(formatArg).join(', ');
25
+ throw new Error(`Null or undefined arguments are only allowed for Option<T> parameters in ${signature}. Received: (${received}).`);
19
26
  }
20
27
  }
28
+ hasInvalidNullOrUndefinedArguments(args) {
29
+ return args.some((arg, index)=>{
30
+ if (arg !== undefined && arg !== null) {
31
+ return false;
32
+ }
33
+ const parameterType = this.functionDao.parameters[index]?.type;
34
+ return !parameterType || !canBeMappedFromNullOrUndefined(parameterType);
35
+ });
36
+ }
21
37
  /**
22
38
  * Returns the encoded function call wrapped by this interaction
23
39
  * Useful when generating authwits
@@ -52,22 +68,38 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
52
68
  ]) : functionExecutionPayload;
53
69
  return finalExecutionPayload;
54
70
  }
55
- // eslint-disable-next-line jsdoc/require-jsdoc
56
- async simulate(options) {
71
+ // docs:start:simulate
72
+ /**
73
+ * Simulate a transaction and get information from its execution.
74
+ * Differs from prove in a few important ways:
75
+ * 1. It returns the values of the function execution, plus additional metadata if requested
76
+ * 2. It supports `utility`, `private` and `public` functions
77
+ *
78
+ * @param options - An optional object containing additional configuration for the simulation.
79
+ * @returns Depending on the simulation options, this method directly returns the result value of the executed
80
+ * function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
81
+ * execution statistics and emitted offchain effects
82
+ */ async simulate(options = {}) {
57
83
  // docs:end:simulate
58
84
  if (this.functionDao.functionType == FunctionType.UTILITY) {
59
85
  const call = await this.getFunctionCall();
60
- const utilityResult = await this.wallet.simulateUtility(call, options.authWitnesses ?? []);
86
+ const utilityResult = await this.wallet.executeUtility(call, {
87
+ scope: options.from,
88
+ authWitnesses: options.authWitnesses
89
+ });
61
90
  // Decode the raw field elements to the actual return type
62
91
  const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
63
92
  if (options.includeMetadata) {
64
93
  return {
65
94
  stats: utilityResult.stats,
95
+ ...emptyOffchainOutput(),
66
96
  result: returnValue
67
97
  };
68
- } else {
69
- return returnValue;
70
98
  }
99
+ return {
100
+ result: returnValue,
101
+ ...emptyOffchainOutput()
102
+ };
71
103
  }
72
104
  const executionPayload = await this.request(options);
73
105
  const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
@@ -86,21 +118,24 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
86
118
  rawReturnValues = simulatedTx.getPublicReturnValues()?.[0]?.values;
87
119
  }
88
120
  const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
121
+ const offchainOutput = extractOffchainOutput(simulatedTx.offchainEffects);
89
122
  if (options.includeMetadata || options.fee?.estimateGas) {
90
123
  const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
91
124
  this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
92
125
  return {
93
126
  stats: simulatedTx.stats,
94
- offchainEffects: collectOffchainEffects(simulatedTx.privateExecutionResult),
127
+ ...offchainOutput,
95
128
  result: returnValue,
96
129
  estimatedGas: {
97
130
  gasLimits,
98
131
  teardownGasLimits
99
132
  }
100
133
  };
101
- } else {
102
- return returnValue;
103
134
  }
135
+ return {
136
+ result: returnValue,
137
+ ...offchainOutput
138
+ };
104
139
  }
105
140
  /**
106
141
  * Simulate a transaction and profile the gate count for each function in the transaction.
@@ -124,3 +159,57 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
124
159
  return new ContractFunctionInteraction(this.wallet, this.contractAddress, this.functionDao, this.args, this.authWitnesses.concat(authWitnesses), this.capsules.concat(capsules), this.extraHashedArgs.concat(extraHashedArgs));
125
160
  }
126
161
  }
162
+ /**
163
+ * Render an AbiType as a human readable string
164
+ * */ function formatAbiType(abiType) {
165
+ switch(abiType.kind){
166
+ case 'field':
167
+ return 'Field';
168
+ case 'boolean':
169
+ return 'bool';
170
+ case 'integer':
171
+ return `${abiType.sign === 'signed' ? 'i' : 'u'}${abiType.width}`;
172
+ case 'string':
173
+ return `str<${abiType.length}>`;
174
+ case 'array':
175
+ return `[${formatAbiType(abiType.type)}; ${abiType.length}]`;
176
+ case 'struct':
177
+ {
178
+ if (isOptionStruct(abiType)) {
179
+ const innerType = abiType.fields.find((f)=>f.name === '_value').type;
180
+ return `Option<${formatAbiType(innerType)}>`;
181
+ }
182
+ return `(${abiType.fields.map((f)=>`${f.name}: ${formatAbiType(f.type)}`).join(', ')})`;
183
+ }
184
+ case 'tuple':
185
+ return `(${abiType.fields.map(formatAbiType).join(', ')})`;
186
+ }
187
+ }
188
+ /**
189
+ * Pretty print a function signature
190
+ */ function formatFunctionSignature(name, parameters) {
191
+ const params = parameters.map((p)=>`${p.name}: ${formatAbiType(p.type)}`).join(', ');
192
+ return `${name}(${params})`;
193
+ }
194
+ /**
195
+ * Non-exhaustive pretty print of JS args to display in error messages in this module
196
+ */ function formatArg(arg) {
197
+ if (arg === undefined) {
198
+ return 'undefined';
199
+ }
200
+ if (arg === null) {
201
+ return 'null';
202
+ }
203
+ if (typeof arg === 'bigint') {
204
+ return `${arg}n`;
205
+ }
206
+ if (Array.isArray(arg)) {
207
+ return `[${arg.map(formatArg).join(', ')}]`;
208
+ }
209
+ if (typeof arg === 'object') {
210
+ const entries = Object.entries(arg).map(([k, v])=>`${k}: ${formatArg(v)}`);
211
+ return `{ ${entries.join(', ')} }`;
212
+ }
213
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
214
+ return String(arg);
215
+ }
@@ -4,12 +4,12 @@ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
5
  import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
6
  import type { PublicKeys } from '@aztec/stdlib/keys';
7
- import { type Capsule, TxHash, type TxProfileResult, type TxReceipt } from '@aztec/stdlib/tx';
7
+ import { type Capsule, HashedValues, type TxProfileResult, type TxReceipt } from '@aztec/stdlib/tx';
8
8
  import { ExecutionPayload } from '@aztec/stdlib/tx';
9
- import type { Wallet } from '../wallet/wallet.js';
9
+ import type { ProfileOptions, SendOptions, SimulateOptions, Wallet } from '../wallet/wallet.js';
10
10
  import { BaseContractInteraction } from './base_contract_interaction.js';
11
11
  import type { ContractBase } from './contract_base.js';
12
- import { type NoWait, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
12
+ import { type NoWait, type OffchainOutput, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationResult, type TxSendResultImmediate, type TxSendResultMined } from './interaction_options.js';
13
13
  import type { WaitOpts } from './wait_opts.js';
14
14
  /**
15
15
  * Wait options specific to deployment transactions.
@@ -57,7 +57,7 @@ export type DeployOptionsWithoutWait = Omit<RequestDeployOptions, 'deployer'> &
57
57
  * is mutually exclusive with "deployer"
58
58
  */
59
59
  universalDeploy?: boolean;
60
- } & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee'>;
60
+ } & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee' | 'additionalScopes'>;
61
61
  /**
62
62
  * Extends the deployment options with the required parameters to send the transaction.
63
63
  */
@@ -94,15 +94,26 @@ export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = TxR
94
94
  /** The deployed contract instance with address and metadata. */
95
95
  instance: ContractInstanceWithAddress;
96
96
  };
97
+ /** Wait options that request a full receipt instead of just the contract instance. */
98
+ type WaitWithReturnReceipt = {
99
+ /** Request the full receipt instead of just the contract instance. */
100
+ returnReceipt: true;
101
+ };
97
102
  /**
98
103
  * Represents the result type of deploying a contract.
99
104
  * - If wait is NO_WAIT, returns TxHash immediately.
100
105
  * - If wait has returnReceipt: true, returns DeployTxReceipt after waiting.
101
106
  * - Otherwise (undefined or DeployWaitOptions without returnReceipt), returns TContract after waiting.
102
107
  */
103
- export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxHash : W extends {
104
- returnReceipt: true;
105
- } ? DeployTxReceipt<TContract> : TContract;
108
+ /** Result of deploying a contract when waiting for mining (default case). */
109
+ export type DeployResultMined<TContract extends ContractBase> = {
110
+ /** The deployed contract instance. */
111
+ contract: TContract;
112
+ /** The deploy transaction receipt. */
113
+ receipt: DeployTxReceipt<TContract>;
114
+ } & OffchainOutput;
115
+ /** Conditional return type for deploy based on wait options. */
116
+ export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxSendResultImmediate : W extends WaitWithReturnReceipt ? TxSendResultMined<DeployTxReceipt<TContract>> : DeployResultMined<TContract>;
106
117
  /**
107
118
  * Contract interaction for deployment.
108
119
  * Handles class publication, instance publication, and initialization of the contract.
@@ -118,11 +129,12 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
118
129
  protected artifact: ContractArtifact;
119
130
  protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
120
131
  private args;
132
+ private extraHashedArgs;
121
133
  /** The contract instance to be deployed. */
122
134
  private instance?;
123
135
  /** Constructor function to call. */
124
136
  private constructorArtifact;
125
- constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
137
+ constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
126
138
  /**
127
139
  * Returns the execution payload that allows this operation to happen on chain.
128
140
  * @param options - Configuration options.
@@ -135,7 +147,19 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
135
147
  * @param options - Deploy options with wait parameter
136
148
  * @returns Send options with wait parameter
137
149
  */
138
- private convertDeployOptionsToSendOptions;
150
+ protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): SendOptions<W extends {
151
+ returnReceipt: true;
152
+ } ? WaitOpts : W>;
153
+ /**
154
+ * Converts deploy simulation options into wallet-level simulate options.
155
+ * @param options - The deploy simulation options to convert.
156
+ */
157
+ protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions;
158
+ /**
159
+ * Converts deploy profile options into wallet-level profile options.
160
+ * @param options - The deploy profile options to convert.
161
+ */
162
+ protected convertDeployOptionsToProfileOptions(options: DeployOptionsWithoutWait & ProfileInteractionOptions): ProfileOptions;
139
163
  /**
140
164
  * Adds this contract to the wallet and returns the Contract object.
141
165
  * @param options - Deployment options.
@@ -163,7 +187,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
163
187
  * @param options - An object containing various deployment options such as contractAddressSalt and from.
164
188
  * @returns TxHash (if wait is NO_WAIT), TContract (if wait is undefined or doesn't have returnReceipt), or DeployTxReceipt (if wait.returnReceipt is true)
165
189
  */
166
- send(options: DeployOptionsWithoutWait): Promise<TContract>;
190
+ send(options: DeployOptionsWithoutWait): Promise<DeployResultMined<TContract>>;
167
191
  send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
168
192
  /**
169
193
  * Builds the contract instance and returns it.
@@ -179,7 +203,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
179
203
  * @returns A simulation result object containing metadata of the execution, including gas
180
204
  * estimations (if requested via options), execution statistics and emitted offchain effects
181
205
  */
182
- simulate(options: SimulateDeployOptions): Promise<SimulationReturn<true>>;
206
+ simulate(options: SimulateDeployOptions): Promise<SimulationResult>;
183
207
  /**
184
208
  * Simulate a deployment and profile the gate count for each function in the transaction.
185
209
  * @param options - Same options as `send`, plus extra profiling options.
@@ -203,4 +227,5 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
203
227
  capsules?: Capsule[];
204
228
  }): DeployMethod;
205
229
  }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssU0FBUyxFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUk1RSxPQUFPLEtBQUssRUFBZSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd2RCxPQUFPLEVBRUwsS0FBSyxNQUFNLEVBQ1gsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxnQkFBZ0IsRUFJdEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQzs7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
230
+ export {};
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBSTVFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFFTCxLQUFLLE1BQU0sRUFDWCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxpQkFB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