@aztec/aztec.js 0.0.1-commit.358457c → 0.0.1-commit.3895657bc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/api/abi.d.ts +2 -2
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/contract.d.ts +3 -3
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +1 -1
- package/dest/contract/base_contract_interaction.d.ts +3 -3
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/batch_call.d.ts +1 -1
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +9 -3
- package/dest/contract/contract_function_interaction.d.ts +5 -5
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +98 -12
- package/dest/contract/deploy_method.d.ts +20 -8
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +17 -11
- package/dest/contract/interaction_options.d.ts +55 -21
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +33 -0
- package/dest/contract/protocol_contracts/auth-registry.d.ts +1 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.js +8 -0
- package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -1
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/fee-juice.js +8 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +8 -0
- package/dest/contract/protocol_contracts/public-checks.d.ts +1 -1
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/public-checks.js +8 -0
- package/dest/fee/private_fee_payment_method.d.ts +2 -1
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +1 -0
- package/dest/fee/public_fee_payment_method.d.ts +2 -1
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +1 -0
- package/dest/utils/abi_types.d.ts +6 -1
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/abi_types.js +1 -1
- package/dest/utils/authwit.d.ts +5 -5
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +10 -6
- package/dest/utils/cross_chain.d.ts +3 -8
- package/dest/utils/cross_chain.d.ts.map +1 -1
- package/dest/utils/cross_chain.js +8 -15
- package/dest/wallet/wallet.d.ts +2 -2
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +19 -2
- package/package.json +10 -10
- package/src/api/abi.ts +1 -0
- package/src/api/contract.ts +8 -1
- package/src/contract/base_contract_interaction.ts +3 -2
- package/src/contract/batch_call.ts +10 -2
- package/src/contract/contract_function_interaction.ts +97 -19
- package/src/contract/deploy_method.ts +37 -26
- package/src/contract/interaction_options.ts +89 -23
- package/src/contract/protocol_contracts/auth-registry.ts +2 -0
- package/src/contract/protocol_contracts/fee-juice.ts +2 -0
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +2 -0
- package/src/contract/protocol_contracts/public-checks.ts +2 -0
- package/src/fee/private_fee_payment_method.ts +1 -0
- package/src/fee/public_fee_payment_method.ts +1 -0
- package/src/utils/abi_types.ts +7 -0
- package/src/utils/authwit.ts +20 -22
- package/src/utils/cross_chain.ts +9 -18
- package/src/wallet/wallet.ts +22 -1
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,
|
|
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==
|
package/dest/api/abi.d.ts.map
CHANGED
|
@@ -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"}
|
package/dest/api/contract.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|
package/dest/api/contract.js
CHANGED
|
@@ -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,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,
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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,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,
|
|
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;
|
|
@@ -88,7 +88,10 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
88
88
|
const wrappedResult = batchResults[i];
|
|
89
89
|
if (wrappedResult.name === 'executeUtility') {
|
|
90
90
|
const rawReturnValues = wrappedResult.result.result;
|
|
91
|
-
results[resultIndex] =
|
|
91
|
+
results[resultIndex] = {
|
|
92
|
+
result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
|
|
93
|
+
...emptyOffchainOutput()
|
|
94
|
+
};
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
// Process tx simulation result (it comes last if present)
|
|
@@ -102,7 +105,10 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
102
105
|
// since we're interested in the first set of values AFTER the account entrypoint
|
|
103
106
|
// For public functions we retrieve the first values directly from the public output.
|
|
104
107
|
const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
|
|
105
|
-
results[callIndex] =
|
|
108
|
+
results[callIndex] = {
|
|
109
|
+
result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
|
|
110
|
+
...extractOffchainOutput(simulatedTx.offchainEffects)
|
|
111
|
+
};
|
|
106
112
|
});
|
|
107
113
|
}
|
|
108
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 {
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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
|
-
|
|
18
|
-
|
|
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,8 +68,18 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
52
68
|
]) : functionExecutionPayload;
|
|
53
69
|
return finalExecutionPayload;
|
|
54
70
|
}
|
|
55
|
-
//
|
|
56
|
-
|
|
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();
|
|
@@ -66,11 +92,14 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
66
92
|
if (options.includeMetadata) {
|
|
67
93
|
return {
|
|
68
94
|
stats: utilityResult.stats,
|
|
95
|
+
...emptyOffchainOutput(),
|
|
69
96
|
result: returnValue
|
|
70
97
|
};
|
|
71
|
-
} else {
|
|
72
|
-
return returnValue;
|
|
73
98
|
}
|
|
99
|
+
return {
|
|
100
|
+
result: returnValue,
|
|
101
|
+
...emptyOffchainOutput()
|
|
102
|
+
};
|
|
74
103
|
}
|
|
75
104
|
const executionPayload = await this.request(options);
|
|
76
105
|
const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
|
|
@@ -89,21 +118,24 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
89
118
|
rawReturnValues = simulatedTx.getPublicReturnValues()?.[0]?.values;
|
|
90
119
|
}
|
|
91
120
|
const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
|
|
121
|
+
const offchainOutput = extractOffchainOutput(simulatedTx.offchainEffects);
|
|
92
122
|
if (options.includeMetadata || options.fee?.estimateGas) {
|
|
93
123
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
94
124
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
95
125
|
return {
|
|
96
126
|
stats: simulatedTx.stats,
|
|
97
|
-
|
|
127
|
+
...offchainOutput,
|
|
98
128
|
result: returnValue,
|
|
99
129
|
estimatedGas: {
|
|
100
130
|
gasLimits,
|
|
101
131
|
teardownGasLimits
|
|
102
132
|
}
|
|
103
133
|
};
|
|
104
|
-
} else {
|
|
105
|
-
return returnValue;
|
|
106
134
|
}
|
|
135
|
+
return {
|
|
136
|
+
result: returnValue,
|
|
137
|
+
...offchainOutput
|
|
138
|
+
};
|
|
107
139
|
}
|
|
108
140
|
/**
|
|
109
141
|
* Simulate a transaction and profile the gate count for each function in the transaction.
|
|
@@ -127,3 +159,57 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
127
159
|
return new ContractFunctionInteraction(this.wallet, this.contractAddress, this.functionDao, this.args, this.authWitnesses.concat(authWitnesses), this.capsules.concat(capsules), this.extraHashedArgs.concat(extraHashedArgs));
|
|
128
160
|
}
|
|
129
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, HashedValues,
|
|
7
|
+
import { type Capsule, HashedValues, type TxProfileResult, type TxReceipt } from '@aztec/stdlib/tx';
|
|
8
8
|
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
9
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
|
|
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.
|
|
@@ -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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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.
|
|
@@ -176,7 +187,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
176
187
|
* @param options - An object containing various deployment options such as contractAddressSalt and from.
|
|
177
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)
|
|
178
189
|
*/
|
|
179
|
-
send(options: DeployOptionsWithoutWait): Promise<TContract
|
|
190
|
+
send(options: DeployOptionsWithoutWait): Promise<DeployResultMined<TContract>>;
|
|
180
191
|
send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
|
|
181
192
|
/**
|
|
182
193
|
* Builds the contract instance and returns it.
|
|
@@ -192,7 +203,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
192
203
|
* @returns A simulation result object containing metadata of the execution, including gas
|
|
193
204
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
194
205
|
*/
|
|
195
|
-
simulate(options: SimulateDeployOptions): Promise<
|
|
206
|
+
simulate(options: SimulateDeployOptions): Promise<SimulationResult>;
|
|
196
207
|
/**
|
|
197
208
|
* Simulate a deployment and profile the gate count for each function in the transaction.
|
|
198
209
|
* @param options - Same options as `send`, plus extra profiling options.
|
|
@@ -216,4 +227,5 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
216
227
|
capsules?: Capsule[];
|
|
217
228
|
}): DeployMethod;
|
|
218
229
|
}
|
|
219
|
-
|
|
230
|
+
export {};
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBSTVFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFFTCxLQUFLLE1BQU0sRUFDWCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxpQkFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAoB,KAAK,gBAAgB,EAAkB,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,2BAA2B,EAIjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,13 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import { getInitializer } from '@aztec/stdlib/abi';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
5
|
-
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
6
5
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
7
6
|
import { publishContractClass } from '../deployment/publish_class.js';
|
|
8
7
|
import { publishInstance } from '../deployment/publish_instance.js';
|
|
9
8
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
10
9
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
11
10
|
import { getGasLimits } from './get_gas_limits.js';
|
|
12
|
-
import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
11
|
+
import { NO_WAIT, extractOffchainOutput, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
13
12
|
/**
|
|
14
13
|
* Contract interaction for deployment.
|
|
15
14
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -155,11 +154,11 @@ import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './i
|
|
|
155
154
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
156
155
|
const sendOptions = this.convertDeployOptionsToSendOptions(options);
|
|
157
156
|
if (options.wait === NO_WAIT) {
|
|
158
|
-
const
|
|
159
|
-
this.log.debug(`Sent deployment tx ${txHash.hash} of ${this.artifact.name} contract`);
|
|
160
|
-
return
|
|
157
|
+
const result = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
158
|
+
this.log.debug(`Sent deployment tx ${result.txHash.hash} of ${this.artifact.name} contract`);
|
|
159
|
+
return result;
|
|
161
160
|
}
|
|
162
|
-
const receipt = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
161
|
+
const { receipt, ...offchainOutput } = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
163
162
|
this.log.debug(`Deployed ${this.artifact.name} contract in tx ${receipt.txHash}`);
|
|
164
163
|
// Attach contract instance
|
|
165
164
|
const instance = await this.getInstance(options);
|
|
@@ -167,12 +166,19 @@ import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './i
|
|
|
167
166
|
// Return full receipt if requested, otherwise just the contract
|
|
168
167
|
if (options.wait && typeof options.wait === 'object' && options.wait.returnReceipt) {
|
|
169
168
|
return {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
receipt: {
|
|
170
|
+
...receipt,
|
|
171
|
+
contract,
|
|
172
|
+
instance
|
|
173
|
+
},
|
|
174
|
+
...offchainOutput
|
|
173
175
|
};
|
|
174
176
|
}
|
|
175
|
-
return
|
|
177
|
+
return {
|
|
178
|
+
contract,
|
|
179
|
+
receipt,
|
|
180
|
+
...offchainOutput
|
|
181
|
+
};
|
|
176
182
|
}
|
|
177
183
|
/**
|
|
178
184
|
* Builds the contract instance and returns it.
|
|
@@ -204,7 +210,7 @@ import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './i
|
|
|
204
210
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
205
211
|
return {
|
|
206
212
|
stats: simulatedTx.stats,
|
|
207
|
-
|
|
213
|
+
...extractOffchainOutput(simulatedTx.offchainEffects),
|
|
208
214
|
result: undefined,
|
|
209
215
|
estimatedGas: {
|
|
210
216
|
gasLimits,
|