@aztec/aztec.js 0.0.1-commit.9593d84 → 0.0.1-commit.96dac018d
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/account/account.d.ts +25 -40
- package/dest/account/account.d.ts.map +1 -1
- package/dest/account/account.js +19 -47
- package/dest/account/account_contract.d.ts +9 -10
- package/dest/account/account_contract.d.ts.map +1 -1
- package/dest/account/account_with_secret_key.d.ts +21 -9
- package/dest/account/account_with_secret_key.d.ts.map +1 -1
- package/dest/account/account_with_secret_key.js +21 -4
- package/dest/account/index.d.ts +4 -3
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/index.js +2 -0
- package/dest/account/signerless_account.d.ts +6 -7
- package/dest/account/signerless_account.d.ts.map +1 -1
- package/dest/account/signerless_account.js +8 -11
- package/dest/api/account.d.ts +2 -4
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +1 -3
- package/dest/api/authorization.d.ts +2 -2
- package/dest/api/authorization.d.ts.map +1 -1
- package/dest/api/authorization.js +1 -1
- package/dest/api/contract.d.ts +18 -12
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +16 -10
- package/dest/api/deployment.d.ts +1 -2
- package/dest/api/deployment.d.ts.map +1 -1
- package/dest/api/deployment.js +0 -1
- package/dest/api/events.d.ts +10 -6
- package/dest/api/events.d.ts.map +1 -1
- package/dest/api/events.js +30 -20
- package/dest/api/fields.d.ts +4 -2
- package/dest/api/fields.d.ts.map +1 -1
- package/dest/api/fields.js +3 -1
- package/dest/api/keys.d.ts +1 -1
- package/dest/api/keys.js +1 -1
- package/dest/api/node.d.ts +8 -4
- package/dest/api/node.d.ts.map +1 -1
- package/dest/api/node.js +7 -3
- package/dest/api/protocol.d.ts +7 -1
- package/dest/api/protocol.d.ts.map +1 -1
- package/dest/api/protocol.js +6 -0
- package/dest/api/tx.d.ts +2 -2
- package/dest/api/tx.d.ts.map +1 -1
- package/dest/api/tx.js +1 -1
- package/dest/api/wallet.d.ts +3 -2
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +2 -1
- package/dest/authorization/call_authorization_request.d.ts +23 -2
- package/dest/authorization/call_authorization_request.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.d.ts +8 -10
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +5 -17
- package/dest/contract/batch_call.d.ts +3 -3
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +11 -6
- package/dest/contract/contract_base.d.ts +4 -1
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.d.ts +3 -12
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +10 -7
- package/dest/contract/deploy_method.d.ts +79 -19
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +67 -34
- package/dest/contract/get_gas_limits.js +3 -3
- package/dest/contract/interaction_options.d.ts +49 -5
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +8 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts +36 -0
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/auth-registry.js +997 -0
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts +15 -0
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/contract-class-registry.js +139 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
- package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/fee-juice.js +426 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +593 -0
- package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
- package/dest/contract/protocol_contracts/public-checks.js +601 -0
- package/dest/contract/wait_for_proven.d.ts +2 -2
- package/dest/contract/wait_for_proven.d.ts.map +1 -1
- package/dest/contract/wait_for_proven.js +1 -1
- package/dest/contract/wait_opts.d.ts +16 -0
- package/dest/contract/wait_opts.d.ts.map +1 -0
- package/dest/contract/wait_opts.js +5 -0
- package/dest/deployment/publish_class.js +3 -3
- package/dest/deployment/publish_instance.d.ts +2 -2
- package/dest/deployment/publish_instance.d.ts.map +1 -1
- package/dest/deployment/publish_instance.js +3 -3
- package/dest/ethereum/portal_manager.d.ts +9 -6
- package/dest/ethereum/portal_manager.d.ts.map +1 -1
- package/dest/ethereum/portal_manager.js +17 -18
- package/dest/fee/fee_juice_payment_method_with_claim.js +7 -7
- package/dest/fee/private_fee_payment_method.js +11 -11
- package/dest/fee/public_fee_payment_method.js +11 -11
- package/dest/fee/sponsored_fee_payment.js +3 -3
- package/dest/scripts/generate_protocol_contract_types.d.ts +2 -0
- package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
- package/dest/scripts/generate_protocol_contract_types.js +120 -0
- package/dest/utils/abi_types.d.ts +2 -2
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +9 -7
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +6 -10
- package/dest/utils/cross_chain.d.ts +2 -2
- package/dest/utils/cross_chain.d.ts.map +1 -1
- package/dest/utils/fee_juice.js +1 -1
- package/dest/utils/field_compressed_string.js +1 -1
- package/dest/utils/node.d.ts +12 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +46 -0
- package/dest/utils/pub_key.d.ts +2 -2
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +5 -8
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.js +28 -43
- package/dest/wallet/account_manager.d.ts +6 -9
- package/dest/wallet/account_manager.d.ts.map +1 -1
- package/dest/wallet/account_manager.js +6 -12
- package/dest/wallet/capabilities.d.ts +452 -0
- package/dest/wallet/capabilities.d.ts.map +1 -0
- package/dest/wallet/capabilities.js +3 -0
- package/dest/wallet/deploy_account_method.d.ts +47 -8
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/deploy_account_method.js +34 -6
- package/dest/wallet/index.d.ts +2 -1
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +1 -0
- package/dest/wallet/wallet.d.ts +1817 -984
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +216 -101
- package/package.json +25 -14
- package/src/account/account.ts +34 -58
- package/src/account/account_contract.ts +7 -8
- package/src/account/account_with_secret_key.ts +34 -9
- package/src/account/index.ts +3 -2
- package/src/account/signerless_account.ts +14 -13
- package/src/api/account.ts +9 -3
- package/src/api/authorization.ts +1 -0
- package/src/api/contract.ts +24 -9
- package/src/api/deployment.ts +0 -1
- package/src/api/events.ts +35 -27
- package/src/api/fields.ts +3 -1
- package/src/api/keys.ts +2 -2
- package/src/api/node.ts +7 -3
- package/src/api/protocol.ts +7 -0
- package/src/api/tx.ts +2 -0
- package/src/api/wallet.ts +52 -3
- package/src/authorization/call_authorization_request.ts +1 -1
- package/src/contract/base_contract_interaction.ts +27 -15
- package/src/contract/batch_call.ts +10 -13
- package/src/contract/contract_function_interaction.ts +17 -7
- package/src/contract/deploy_method.ts +166 -39
- package/src/contract/get_gas_limits.ts +3 -3
- package/src/contract/interaction_options.ts +56 -4
- package/src/contract/protocol_contracts/auth-registry.ts +551 -0
- package/src/contract/protocol_contracts/contract-class-registry.ts +99 -0
- package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
- package/src/contract/protocol_contracts/fee-juice.ts +264 -0
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +334 -0
- package/src/contract/protocol_contracts/public-checks.ts +318 -0
- package/src/contract/wait_for_proven.ts +1 -1
- package/src/contract/wait_opts.ts +21 -0
- package/src/deployment/publish_class.ts +3 -3
- package/src/deployment/publish_instance.ts +3 -6
- package/src/ethereum/portal_manager.ts +20 -24
- package/src/fee/fee_juice_payment_method_with_claim.ts +6 -6
- package/src/fee/private_fee_payment_method.ts +8 -8
- package/src/fee/public_fee_payment_method.ts +9 -9
- package/src/fee/sponsored_fee_payment.ts +3 -3
- package/src/scripts/generate_protocol_contract_types.ts +150 -0
- package/src/utils/abi_types.ts +1 -1
- package/src/utils/authwit.ts +20 -8
- package/src/utils/cross_chain.ts +1 -1
- package/src/utils/fee_juice.ts +1 -1
- package/src/utils/field_compressed_string.ts +1 -1
- package/src/utils/node.ts +62 -0
- package/src/utils/pub_key.ts +2 -2
- package/src/wallet/account_entrypoint_meta_payment_method.ts +28 -60
- package/src/wallet/account_manager.ts +6 -14
- package/src/wallet/capabilities.ts +500 -0
- package/src/wallet/deploy_account_method.ts +75 -14
- package/src/wallet/index.ts +1 -0
- package/src/wallet/wallet.ts +375 -110
- package/dest/account/interface.d.ts +0 -19
- package/dest/account/interface.d.ts.map +0 -1
- package/dest/account/interface.js +0 -5
- package/dest/contract/deploy_sent_tx.d.ts +0 -48
- package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract/deploy_sent_tx.js +0 -46
- package/dest/contract/protocol_contracts.d.ts +0 -9
- package/dest/contract/protocol_contracts.d.ts.map +0 -1
- package/dest/contract/protocol_contracts.js +0 -26
- package/dest/contract/sent_tx.d.ts +0 -51
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -90
- package/dest/contract/unsafe_contract.d.ts +0 -15
- package/dest/contract/unsafe_contract.d.ts.map +0 -1
- package/dest/contract/unsafe_contract.js +0 -6
- package/dest/deployment/broadcast_function.d.ts +0 -24
- package/dest/deployment/broadcast_function.d.ts.map +0 -1
- package/dest/deployment/broadcast_function.js +0 -74
- package/src/account/interface.ts +0 -25
- package/src/contract/deploy_sent_tx.ts +0 -75
- package/src/contract/protocol_contracts.ts +0 -35
- package/src/contract/sent_tx.ts +0 -130
- package/src/contract/unsafe_contract.ts +0 -19
- package/src/deployment/broadcast_function.ts +0 -148
|
@@ -22,8 +22,11 @@ export type ContractStorageLayout<T extends string> = {
|
|
|
22
22
|
* Abstract implementation of a contract extended by the Contract class and generated contract types.
|
|
23
23
|
*/
|
|
24
24
|
export declare class ContractBase {
|
|
25
|
+
/** The contract's address. */
|
|
25
26
|
readonly address: AztecAddress;
|
|
27
|
+
/** The Application Binary Interface for the contract. */
|
|
26
28
|
readonly artifact: ContractArtifact;
|
|
29
|
+
/** The wallet used for interacting with this contract. */
|
|
27
30
|
wallet: Wallet;
|
|
28
31
|
/**
|
|
29
32
|
* An object containing contract methods mapped to their respective names.
|
|
@@ -45,4 +48,4 @@ export declare class ContractBase {
|
|
|
45
48
|
*/
|
|
46
49
|
withWallet(wallet: Wallet): this;
|
|
47
50
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssV0FBVyxFQUVoQixnQkFBZ0IsRUFFakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSywyQkFBMkIsQ0FBQyxHQUFHO0lBQy9FOztPQUVHO0lBQ0gsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDM0MsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixDQUFDLENBQUMsU0FBUyxNQUFNLElBQUk7S0FDbkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLFlBQVk7SUFPckIsOEJBQThCO2FBQ2QsT0FBTyxFQUFFLFlBQVk7SUFDckMseURBQXlEO2FBQ3pDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUMsMERBQTBEO0lBQ25ELE1BQU0sRUFBRSxNQUFNO0lBWHZCOztPQUVHO0lBQ0ksT0FBTyxFQUFFO1FBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLGNBQWMsQ0FBQTtLQUFFLENBQU07SUFFeEQsU0FBUztJQUNQLDhCQUE4QjtJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JDLHlEQUF5RDtJQUN6QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFDLDBEQUEwRDtJQUNuRCxNQUFNLEVBQUUsTUFBTSxFQWlCdEI7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUV0QztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IAOrB,8BAA8B;aACd,OAAO,EAAE,YAAY;IACrC,yDAAyD;aACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM;IAXvB;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP,8BAA8B;IACd,OAAO,EAAE,YAAY;IACrC,yDAAyD;IACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM,EAiBtB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FunctionAbi,
|
|
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
4
|
import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
@@ -21,16 +21,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
21
21
|
* Useful when generating authwits
|
|
22
22
|
* @returns An encoded function call
|
|
23
23
|
*/
|
|
24
|
-
getFunctionCall(): Promise<
|
|
25
|
-
name: string;
|
|
26
|
-
args: import("../api/fields.js").Fr[];
|
|
27
|
-
selector: FunctionSelector;
|
|
28
|
-
type: FunctionType;
|
|
29
|
-
to: AztecAddress;
|
|
30
|
-
isStatic: boolean;
|
|
31
|
-
hideMsgSender: boolean; /** Only set to `true` for enqueued public function calls */
|
|
32
|
-
returnTypes: import("@aztec/stdlib/abi").AbiType[];
|
|
33
|
-
}>;
|
|
24
|
+
getFunctionCall(): Promise<FunctionCall>;
|
|
34
25
|
/**
|
|
35
26
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
36
27
|
* @param options - Configuration options.
|
|
@@ -73,4 +64,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
73
64
|
extraHashedArgs?: HashedValues[];
|
|
74
65
|
}): ContractFunctionInteraction;
|
|
75
66
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFLYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLGdCQUFnQixFQUd0QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILHFCQUFhLDJCQUE0QixTQUFRLHVCQUF1QjtJQUdwRSxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBR3JCLE9BQU8sQ0FBQyxlQUFlO0lBUHpCLFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDSixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ3JCLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBTTdDO0lBRUQ7Ozs7T0FJRztJQUNVLGVBQWUsMEJBWTNCO0lBRUQ7Ozs7T0FJRztJQUNtQixPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQWdCaEc7SUFHRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0QsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBOERuRDs7Ozs7T0FLRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQU9qRjtJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxFQUNWLGFBQWtCLEVBQ2xCLFFBQWEsRUFDYixlQUFvQixFQUNyQixFQUFFO1FBQ0Qsa0RBQWtEO1FBQ2xELGFBQWEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLDZDQUE2QztRQUM3QyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQixzREFBc0Q7UUFDdEQsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7S0FDbEMsR0FBRywyQkFBMkIsQ0FVOUI7Q0FDRiJ9
|
|
@@ -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,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;IA8DnD;;;;;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,4 +1,4 @@
|
|
|
1
|
-
import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
1
|
+
import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
2
2
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
3
3
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
4
4
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
@@ -24,16 +24,16 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
24
24
|
* @returns An encoded function call
|
|
25
25
|
*/ async getFunctionCall() {
|
|
26
26
|
const args = encodeArguments(this.functionDao, this.args);
|
|
27
|
-
return {
|
|
27
|
+
return FunctionCall.from({
|
|
28
28
|
name: this.functionDao.name,
|
|
29
|
-
|
|
29
|
+
to: this.contractAddress,
|
|
30
30
|
selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
|
|
31
31
|
type: this.functionDao.functionType,
|
|
32
|
-
to: this.contractAddress,
|
|
33
|
-
isStatic: this.functionDao.isStatic,
|
|
34
32
|
hideMsgSender: false,
|
|
33
|
+
isStatic: this.functionDao.isStatic,
|
|
34
|
+
args,
|
|
35
35
|
returnTypes: this.functionDao.returnTypes
|
|
36
|
-
};
|
|
36
|
+
});
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
@@ -57,7 +57,10 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
57
57
|
// docs:end:simulate
|
|
58
58
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
59
59
|
const call = await this.getFunctionCall();
|
|
60
|
-
const utilityResult = await this.wallet.
|
|
60
|
+
const utilityResult = await this.wallet.executeUtility(call, {
|
|
61
|
+
scope: options.from,
|
|
62
|
+
authWitnesses: options.authWitnesses
|
|
63
|
+
});
|
|
61
64
|
// Decode the raw field elements to the actual return type
|
|
62
65
|
const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
|
|
63
66
|
if (options.includeMetadata) {
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { type ContractArtifact, type FunctionArtifact } from '@aztec/stdlib/abi';
|
|
3
3
|
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, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
7
|
+
import { type Capsule, HashedValues, TxHash, 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 {
|
|
13
|
-
import
|
|
12
|
+
import { type NoWait, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
|
|
13
|
+
import type { WaitOpts } from './wait_opts.js';
|
|
14
|
+
/**
|
|
15
|
+
* Wait options specific to deployment transactions.
|
|
16
|
+
* Extends WaitOpts with a flag to return the full receipt instead of just the contract.
|
|
17
|
+
*/
|
|
18
|
+
export type DeployWaitOptions = WaitOpts & {
|
|
19
|
+
/** If true, return the full DeployTxReceipt instead of just the contract. Defaults to false. */
|
|
20
|
+
returnReceipt?: boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Type for wait options in deployment interactions.
|
|
24
|
+
* - NO_WAIT symbol: Don't wait, return TxHash immediately
|
|
25
|
+
* - DeployWaitOptions: Wait with custom options
|
|
26
|
+
* - undefined: Wait with default options
|
|
27
|
+
*/
|
|
28
|
+
export type DeployInteractionWaitOptions = NoWait | DeployWaitOptions | undefined;
|
|
14
29
|
/**
|
|
15
30
|
* Options for deploying a contract on the Aztec network.
|
|
16
31
|
* Allows specifying a contract address salt and different options to tweak contract publication
|
|
@@ -34,20 +49,32 @@ export type RequestDeployOptions = RequestInteractionOptions & {
|
|
|
34
49
|
skipRegistration?: boolean;
|
|
35
50
|
};
|
|
36
51
|
/**
|
|
37
|
-
*
|
|
52
|
+
* Base deployment options without wait parameter.
|
|
38
53
|
*/
|
|
39
|
-
export type
|
|
54
|
+
export type DeployOptionsWithoutWait = Omit<RequestDeployOptions, 'deployer'> & {
|
|
40
55
|
/**
|
|
41
56
|
* Set to true to *not* include the sender in the address computation. This option
|
|
42
57
|
* is mutually exclusive with "deployer"
|
|
43
58
|
*/
|
|
44
59
|
universalDeploy?: boolean;
|
|
45
|
-
} & Pick<
|
|
60
|
+
} & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee' | 'additionalScopes'>;
|
|
61
|
+
/**
|
|
62
|
+
* Extends the deployment options with the required parameters to send the transaction.
|
|
63
|
+
*/
|
|
64
|
+
export type DeployOptions<W extends DeployInteractionWaitOptions = undefined> = DeployOptionsWithoutWait & {
|
|
65
|
+
/**
|
|
66
|
+
* Options for waiting for the transaction to be mined.
|
|
67
|
+
* - undefined (default): wait with default options and return the contract instance
|
|
68
|
+
* - DeployWaitOptions: wait with custom options and return contract or receipt based on returnReceipt flag
|
|
69
|
+
* - NO_WAIT: return TxHash immediately without waiting
|
|
70
|
+
*/
|
|
71
|
+
wait?: W;
|
|
72
|
+
};
|
|
46
73
|
/**
|
|
47
74
|
* Options for simulating the deployment of a contract
|
|
48
75
|
* Allows skipping certain validations and computing gas estimations
|
|
49
76
|
*/
|
|
50
|
-
export type SimulateDeployOptions = Omit<
|
|
77
|
+
export type SimulateDeployOptions = Omit<DeployOptionsWithoutWait, 'fee'> & {
|
|
51
78
|
/** The fee options for the transaction. */
|
|
52
79
|
fee?: SimulationInteractionFeeOptions;
|
|
53
80
|
/** Simulate without checking for the validity of the resulting transaction,
|
|
@@ -60,6 +87,22 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
60
87
|
* the simulation result, instead of just the return value of the function */
|
|
61
88
|
includeMetadata?: boolean;
|
|
62
89
|
};
|
|
90
|
+
/** Receipt for a deployment transaction with the deployed contract instance. */
|
|
91
|
+
export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = TxReceipt & {
|
|
92
|
+
/** Type-safe wrapper around the deployed contract instance, linked to the deployment wallet */
|
|
93
|
+
contract: TContract;
|
|
94
|
+
/** The deployed contract instance with address and metadata. */
|
|
95
|
+
instance: ContractInstanceWithAddress;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Represents the result type of deploying a contract.
|
|
99
|
+
* - If wait is NO_WAIT, returns TxHash immediately.
|
|
100
|
+
* - If wait has returnReceipt: true, returns DeployTxReceipt after waiting.
|
|
101
|
+
* - Otherwise (undefined or DeployWaitOptions without returnReceipt), returns TContract after waiting.
|
|
102
|
+
*/
|
|
103
|
+
export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxHash : W extends {
|
|
104
|
+
returnReceipt: true;
|
|
105
|
+
} ? DeployTxReceipt<TContract> : TContract;
|
|
63
106
|
/**
|
|
64
107
|
* Contract interaction for deployment.
|
|
65
108
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -69,26 +112,43 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
69
112
|
* then technically the contract has already been "created", and all of the contract's
|
|
70
113
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
71
114
|
* "deployment tx".
|
|
72
|
-
*
|
|
73
|
-
* Extends the BaseContractInteraction class.
|
|
74
115
|
*/
|
|
75
116
|
export declare class DeployMethod<TContract extends ContractBase = ContractBase> extends BaseContractInteraction {
|
|
76
117
|
private publicKeys;
|
|
77
118
|
protected artifact: ContractArtifact;
|
|
78
119
|
protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
|
|
79
120
|
private args;
|
|
121
|
+
private extraHashedArgs;
|
|
80
122
|
/** The contract instance to be deployed. */
|
|
81
123
|
private instance?;
|
|
82
124
|
/** Constructor function to call. */
|
|
83
125
|
private constructorArtifact;
|
|
84
|
-
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
|
|
126
|
+
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
|
|
85
127
|
/**
|
|
86
128
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
87
129
|
* @param options - Configuration options.
|
|
88
130
|
* @returns The execution payload for this operation
|
|
89
131
|
*/
|
|
90
132
|
request(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
91
|
-
convertDeployOptionsToRequestOptions(options:
|
|
133
|
+
convertDeployOptionsToRequestOptions(options: DeployOptionsWithoutWait): RequestDeployOptions;
|
|
134
|
+
/**
|
|
135
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
136
|
+
* @param options - Deploy options with wait parameter
|
|
137
|
+
* @returns Send options with wait parameter
|
|
138
|
+
*/
|
|
139
|
+
protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): SendOptions<W extends {
|
|
140
|
+
returnReceipt: true;
|
|
141
|
+
} ? WaitOpts : W>;
|
|
142
|
+
/**
|
|
143
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
144
|
+
* @param options - The deploy simulation options to convert.
|
|
145
|
+
*/
|
|
146
|
+
protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions;
|
|
147
|
+
/**
|
|
148
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
149
|
+
* @param options - The deploy profile options to convert.
|
|
150
|
+
*/
|
|
151
|
+
protected convertDeployOptionsToProfileOptions(options: DeployOptionsWithoutWait & ProfileInteractionOptions): ProfileOptions;
|
|
92
152
|
/**
|
|
93
153
|
* Adds this contract to the wallet and returns the Contract object.
|
|
94
154
|
* @param options - Deployment options.
|
|
@@ -111,13 +171,13 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
111
171
|
protected getInitializationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
112
172
|
/**
|
|
113
173
|
* Send a contract deployment transaction (initialize and/or publish) using the provided options.
|
|
114
|
-
*
|
|
115
|
-
* allowing us to send a transaction specifically for contract deployment.
|
|
174
|
+
* By default, waits for the transaction to be mined and returns the deployed contract instance.
|
|
116
175
|
*
|
|
117
176
|
* @param options - An object containing various deployment options such as contractAddressSalt and from.
|
|
118
|
-
* @returns
|
|
177
|
+
* @returns TxHash (if wait is NO_WAIT), TContract (if wait is undefined or doesn't have returnReceipt), or DeployTxReceipt (if wait.returnReceipt is true)
|
|
119
178
|
*/
|
|
120
|
-
send(options:
|
|
179
|
+
send(options: DeployOptionsWithoutWait): Promise<TContract>;
|
|
180
|
+
send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
|
|
121
181
|
/**
|
|
122
182
|
* Builds the contract instance and returns it.
|
|
123
183
|
*
|
|
@@ -139,7 +199,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
139
199
|
*
|
|
140
200
|
* @returns An object containing the function return value and profile result.
|
|
141
201
|
*/
|
|
142
|
-
profile(options:
|
|
202
|
+
profile(options: DeployOptionsWithoutWait & ProfileInteractionOptions): Promise<TxProfileResult>;
|
|
143
203
|
/** Return this deployment address. */
|
|
144
204
|
get address(): AztecAddress | undefined;
|
|
145
205
|
/** Returns the partial address for this deployment. */
|
|
@@ -156,4 +216,4 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
156
216
|
capsules?: Capsule[];
|
|
157
217
|
}): DeployMethod;
|
|
158
218
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBRWYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFJNUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUVMLEtBQUssTUFBTSxFQUNYLEtBQUsseUJBQXlCLEVBQzlCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssaUNBQWlDLEVBQ3RDLEtBQUssK0JBQStCLEVBQ3BDLEtBQUssZ0JBQWdCLEVBSXRCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxLQUFL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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,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
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
5
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
6
|
-
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
6
|
+
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
7
7
|
import { publishContractClass } from '../deployment/publish_class.js';
|
|
8
8
|
import { publishInstance } from '../deployment/publish_instance.js';
|
|
9
9
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
10
10
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
11
|
-
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
12
11
|
import { getGasLimits } from './get_gas_limits.js';
|
|
13
|
-
import { toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
12
|
+
import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
14
13
|
/**
|
|
15
14
|
* Contract interaction for deployment.
|
|
16
15
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -20,35 +19,40 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
20
19
|
* then technically the contract has already been "created", and all of the contract's
|
|
21
20
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
22
21
|
* "deployment tx".
|
|
23
|
-
*
|
|
24
|
-
* Extends the BaseContractInteraction class.
|
|
25
22
|
*/ export class DeployMethod extends BaseContractInteraction {
|
|
26
23
|
publicKeys;
|
|
27
24
|
artifact;
|
|
28
25
|
postDeployCtor;
|
|
29
26
|
args;
|
|
27
|
+
extraHashedArgs;
|
|
30
28
|
/** The contract instance to be deployed. */ instance;
|
|
31
29
|
/** Constructor function to call. */ constructorArtifact;
|
|
32
|
-
constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = []){
|
|
33
|
-
super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.instance = undefined;
|
|
30
|
+
constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = [], extraHashedArgs = []){
|
|
31
|
+
super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.extraHashedArgs = extraHashedArgs, this.instance = undefined;
|
|
34
32
|
this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
|
|
35
33
|
}
|
|
36
34
|
/**
|
|
37
35
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
38
36
|
* @param options - Configuration options.
|
|
39
37
|
* @returns The execution payload for this operation
|
|
40
|
-
*/ async request(options) {
|
|
38
|
+
*/ async request(options = {}) {
|
|
41
39
|
const publication = await this.getPublicationExecutionPayload(options);
|
|
42
40
|
if (!options?.skipRegistration) {
|
|
43
41
|
await this.wallet.registerContract(await this.getInstance(options), this.artifact);
|
|
44
42
|
}
|
|
43
|
+
const { authWitnesses, capsules } = options;
|
|
44
|
+
// Propagates the included authwitnesses, capsules, and extraHashedArgs
|
|
45
|
+
// potentially baked into the interaction
|
|
46
|
+
const initialExecutionPayload = new ExecutionPayload([], this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
|
|
45
47
|
const initialization = await this.getInitializationExecutionPayload(options);
|
|
46
48
|
const feeExecutionPayload = options?.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
|
|
47
49
|
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
50
|
+
initialExecutionPayload,
|
|
48
51
|
feeExecutionPayload,
|
|
49
52
|
publication,
|
|
50
53
|
initialization
|
|
51
54
|
]) : mergeExecutionPayloads([
|
|
55
|
+
initialExecutionPayload,
|
|
52
56
|
publication,
|
|
53
57
|
initialization
|
|
54
58
|
]);
|
|
@@ -64,6 +68,30 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
70
|
/**
|
|
71
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
72
|
+
* @param options - Deploy options with wait parameter
|
|
73
|
+
* @returns Send options with wait parameter
|
|
74
|
+
*/ convertDeployOptionsToSendOptions(options) {
|
|
75
|
+
return {
|
|
76
|
+
...toSendOptions({
|
|
77
|
+
...options,
|
|
78
|
+
wait: options.wait
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
84
|
+
* @param options - The deploy simulation options to convert.
|
|
85
|
+
*/ convertDeployOptionsToSimulateOptions(options) {
|
|
86
|
+
return toSimulateOptions(options);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
90
|
+
* @param options - The deploy profile options to convert.
|
|
91
|
+
*/ convertDeployOptionsToProfileOptions(options) {
|
|
92
|
+
return toProfileOptions(options);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
67
95
|
* Adds this contract to the wallet and returns the Contract object.
|
|
68
96
|
* @param options - Deployment options.
|
|
69
97
|
*/ async register(options) {
|
|
@@ -90,12 +118,13 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
90
118
|
}
|
|
91
119
|
// Publish the contract class if it hasn't been published already.
|
|
92
120
|
if (!options?.skipClassPublication) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
} else {
|
|
121
|
+
const classMetadata = await this.wallet.getContractClassMetadata(contractClass.id);
|
|
122
|
+
if (!classMetadata.isContractClassPubliclyRegistered) {
|
|
96
123
|
this.log.info(`Creating request for publishing contract class ${contractClass.id.toString()} as part of deployment for ${instance.address.toString()}`);
|
|
97
124
|
const registerContractClassInteraction = await publishContractClass(this.wallet, this.artifact);
|
|
98
125
|
calls.push(await registerContractClassInteraction.request());
|
|
126
|
+
} else {
|
|
127
|
+
this.log.debug(`Skipping contract class publication for ${contractClass.id.toString()} as it is already registered`);
|
|
99
128
|
}
|
|
100
129
|
}
|
|
101
130
|
// Publish the contract instance:
|
|
@@ -103,7 +132,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
103
132
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/15596):
|
|
104
133
|
// Read the artifact, and if there are no public functions, warn the caller that publication of the
|
|
105
134
|
// contract instance is not necessary (until such time as they wish to update the instance (i.e. change its class_id)).
|
|
106
|
-
const deploymentInteraction =
|
|
135
|
+
const deploymentInteraction = publishInstance(this.wallet, instance);
|
|
107
136
|
calls.push(await deploymentInteraction.request());
|
|
108
137
|
}
|
|
109
138
|
return mergeExecutionPayloads(calls);
|
|
@@ -121,21 +150,29 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
121
150
|
}
|
|
122
151
|
return mergeExecutionPayloads(executionsPayloads);
|
|
123
152
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
|
|
153
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
154
|
+
async send(options) {
|
|
155
|
+
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
156
|
+
const sendOptions = this.convertDeployOptionsToSendOptions(options);
|
|
157
|
+
if (options.wait === NO_WAIT) {
|
|
158
|
+
const txHash = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
159
|
+
this.log.debug(`Sent deployment tx ${txHash.hash} of ${this.artifact.name} contract`);
|
|
160
|
+
return txHash;
|
|
161
|
+
}
|
|
162
|
+
const receipt = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
163
|
+
this.log.debug(`Deployed ${this.artifact.name} contract in tx ${receipt.txHash}`);
|
|
164
|
+
// Attach contract instance
|
|
165
|
+
const instance = await this.getInstance(options);
|
|
166
|
+
const contract = this.postDeployCtor(instance, this.wallet);
|
|
167
|
+
// Return full receipt if requested, otherwise just the contract
|
|
168
|
+
if (options.wait && typeof options.wait === 'object' && options.wait.returnReceipt) {
|
|
169
|
+
return {
|
|
170
|
+
...receipt,
|
|
171
|
+
contract,
|
|
172
|
+
instance
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
return contract;
|
|
139
176
|
}
|
|
140
177
|
/**
|
|
141
178
|
* Builds the contract instance and returns it.
|
|
@@ -162,7 +199,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
162
199
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
163
200
|
*/ async simulate(options) {
|
|
164
201
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
165
|
-
const simulatedTx = await this.wallet.simulateTx(executionPayload,
|
|
202
|
+
const simulatedTx = await this.wallet.simulateTx(executionPayload, this.convertDeployOptionsToSimulateOptions(options));
|
|
166
203
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
167
204
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
168
205
|
return {
|
|
@@ -182,11 +219,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
182
219
|
* @returns An object containing the function return value and profile result.
|
|
183
220
|
*/ async profile(options) {
|
|
184
221
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
185
|
-
return await this.wallet.profileTx(executionPayload,
|
|
186
|
-
...toProfileOptions(options),
|
|
187
|
-
profileMode: options.profileMode,
|
|
188
|
-
skipProofGeneration: options.skipProofGeneration
|
|
189
|
-
});
|
|
222
|
+
return await this.wallet.profileTx(executionPayload, this.convertDeployOptionsToProfileOptions(options));
|
|
190
223
|
}
|
|
191
224
|
/** Return this deployment address. */ get address() {
|
|
192
225
|
return this.instance?.address;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
2
2
|
/**
|
|
3
3
|
* Returns suggested total and teardown gas limits for a simulated tx.
|
|
4
4
|
* @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
|
|
@@ -6,8 +6,8 @@ import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
|
6
6
|
// Total gas does not use the teardown gas limit, but the actual total gas used by the tx.
|
|
7
7
|
const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
|
|
8
8
|
const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
|
|
9
|
-
if (gasLimits.l2Gas >
|
|
10
|
-
throw new Error('Transaction consumes more gas than the
|
|
9
|
+
if (gasLimits.l2Gas > MAX_PROCESSABLE_L2_GAS) {
|
|
10
|
+
throw new Error('Transaction consumes more l2 gas than the maximum processable gas');
|
|
11
11
|
}
|
|
12
12
|
return {
|
|
13
13
|
gasLimits,
|