@aztec/aztec.js 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/Dockerfile +15 -0
  2. package/package.json +6 -6
  3. package/src/abis/ecdsa_account_contract.json +1 -1
  4. package/src/abis/schnorr_account_contract.json +1 -1
  5. package/src/abis/schnorr_auth_witness_account_contract.json +542 -3
  6. package/src/abis/schnorr_single_key_account_contract.json +1 -1
  7. package/src/account/entrypoint/auth_witness_account_entrypoint.ts +38 -12
  8. package/src/account/entrypoint/entrypoint_payload.ts +1 -1
  9. package/src/aztec_rpc_client/wallet.ts +23 -2
  10. package/src/contract_deployer/contract_deployer.ts +1 -1
  11. package/src/utils/cheat_codes.ts +3 -3
  12. package/.tsbuildinfo +0 -1
  13. package/dest/abis/ecdsa_account_contract.json +0 -160
  14. package/dest/abis/schnorr_account_contract.json +0 -148
  15. package/dest/abis/schnorr_auth_witness_account_contract.json +0 -104
  16. package/dest/abis/schnorr_single_key_account_contract.json +0 -103
  17. package/dest/account/account.d.ts +0 -72
  18. package/dest/account/account.d.ts.map +0 -1
  19. package/dest/account/account.js +0 -115
  20. package/dest/account/contract/auth_witness_account_contract.d.ts +0 -17
  21. package/dest/account/contract/auth_witness_account_contract.d.ts.map +0 -1
  22. package/dest/account/contract/auth_witness_account_contract.js +0 -23
  23. package/dest/account/contract/ecdsa_account_contract.d.ts +0 -16
  24. package/dest/account/contract/ecdsa_account_contract.d.ts.map +0 -1
  25. package/dest/account/contract/ecdsa_account_contract.js +0 -24
  26. package/dest/account/contract/index.d.ts +0 -28
  27. package/dest/account/contract/index.d.ts.map +0 -1
  28. package/dest/account/contract/index.js +0 -6
  29. package/dest/account/contract/schnorr_account_contract.d.ts +0 -16
  30. package/dest/account/contract/schnorr_account_contract.d.ts.map +0 -1
  31. package/dest/account/contract/schnorr_account_contract.js +0 -25
  32. package/dest/account/contract/single_key_account_contract.d.ts +0 -16
  33. package/dest/account/contract/single_key_account_contract.d.ts.map +0 -1
  34. package/dest/account/contract/single_key_account_contract.js +0 -21
  35. package/dest/account/deploy_account_sent_tx.d.ts +0 -28
  36. package/dest/account/deploy_account_sent_tx.d.ts.map +0 -1
  37. package/dest/account/deploy_account_sent_tx.js +0 -29
  38. package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts +0 -51
  39. package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts.map +0 -1
  40. package/dest/account/entrypoint/auth_witness_account_entrypoint.js +0 -79
  41. package/dest/account/entrypoint/entrypoint_payload.d.ts +0 -28
  42. package/dest/account/entrypoint/entrypoint_payload.d.ts.map +0 -1
  43. package/dest/account/entrypoint/entrypoint_payload.js +0 -48
  44. package/dest/account/entrypoint/entrypoint_utils.d.ts +0 -14
  45. package/dest/account/entrypoint/entrypoint_utils.d.ts.map +0 -1
  46. package/dest/account/entrypoint/entrypoint_utils.js +0 -24
  47. package/dest/account/entrypoint/index.d.ts +0 -20
  48. package/dest/account/entrypoint/index.d.ts.map +0 -1
  49. package/dest/account/entrypoint/index.js +0 -7
  50. package/dest/account/entrypoint/single_key_account_entrypoint.d.ts +0 -19
  51. package/dest/account/entrypoint/single_key_account_entrypoint.d.ts.map +0 -1
  52. package/dest/account/entrypoint/single_key_account_entrypoint.js +0 -50
  53. package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts +0 -20
  54. package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts.map +0 -1
  55. package/dest/account/entrypoint/stored_key_account_entrypoint.js +0 -47
  56. package/dest/account/index.d.ts +0 -50
  57. package/dest/account/index.d.ts.map +0 -1
  58. package/dest/account/index.js +0 -66
  59. package/dest/aztec_rpc_client/aztec_rpc_client.d.ts +0 -5
  60. package/dest/aztec_rpc_client/aztec_rpc_client.d.ts.map +0 -1
  61. package/dest/aztec_rpc_client/aztec_rpc_client.js +0 -18
  62. package/dest/aztec_rpc_client/index.d.ts +0 -3
  63. package/dest/aztec_rpc_client/index.d.ts.map +0 -1
  64. package/dest/aztec_rpc_client/index.js +0 -3
  65. package/dest/aztec_rpc_client/wallet.d.ts +0 -96
  66. package/dest/aztec_rpc_client/wallet.d.ts.map +0 -1
  67. package/dest/aztec_rpc_client/wallet.js +0 -167
  68. package/dest/contract/base_contract_interaction.d.ts +0 -45
  69. package/dest/contract/base_contract_interaction.d.ts.map +0 -1
  70. package/dest/contract/base_contract_interaction.js +0 -37
  71. package/dest/contract/batch_call.d.ts +0 -15
  72. package/dest/contract/batch_call.d.ts.map +0 -1
  73. package/dest/contract/batch_call.js +0 -21
  74. package/dest/contract/checker.d.ts +0 -11
  75. package/dest/contract/checker.d.ts.map +0 -1
  76. package/dest/contract/checker.js +0 -98
  77. package/dest/contract/checker.test.d.ts +0 -2
  78. package/dest/contract/checker.test.d.ts.map +0 -1
  79. package/dest/contract/checker.test.js +0 -168
  80. package/dest/contract/contract.d.ts +0 -39
  81. package/dest/contract/contract.d.ts.map +0 -1
  82. package/dest/contract/contract.js +0 -45
  83. package/dest/contract/contract.test.d.ts +0 -2
  84. package/dest/contract/contract.test.d.ts.map +0 -1
  85. package/dest/contract/contract.test.js +0 -141
  86. package/dest/contract/contract_base.d.ts +0 -72
  87. package/dest/contract/contract_base.d.ts.map +0 -1
  88. package/dest/contract/contract_base.js +0 -74
  89. package/dest/contract/contract_function_interaction.d.ts +0 -49
  90. package/dest/contract/contract_function_interaction.d.ts.map +0 -1
  91. package/dest/contract/contract_function_interaction.js +0 -59
  92. package/dest/contract/index.d.ts +0 -6
  93. package/dest/contract/index.d.ts.map +0 -1
  94. package/dest/contract/index.js +0 -6
  95. package/dest/contract/sent_tx.d.ts +0 -58
  96. package/dest/contract/sent_tx.d.ts.map +0 -1
  97. package/dest/contract/sent_tx.js +0 -86
  98. package/dest/contract/sent_tx.test.d.ts +0 -2
  99. package/dest/contract/sent_tx.test.d.ts.map +0 -1
  100. package/dest/contract/sent_tx.test.js +0 -42
  101. package/dest/contract_deployer/contract_deployer.d.ts +0 -25
  102. package/dest/contract_deployer/contract_deployer.d.ts.map +0 -1
  103. package/dest/contract_deployer/contract_deployer.js +0 -26
  104. package/dest/contract_deployer/contract_deployer.test.d.ts +0 -2
  105. package/dest/contract_deployer/contract_deployer.test.d.ts.map +0 -1
  106. package/dest/contract_deployer/contract_deployer.test.js +0 -46
  107. package/dest/contract_deployer/deploy_method.d.ts +0 -63
  108. package/dest/contract_deployer/deploy_method.d.ts.map +0 -1
  109. package/dest/contract_deployer/deploy_method.js +0 -80
  110. package/dest/contract_deployer/deploy_sent_tx.d.ts +0 -35
  111. package/dest/contract_deployer/deploy_sent_tx.d.ts.map +0 -1
  112. package/dest/contract_deployer/deploy_sent_tx.js +0 -39
  113. package/dest/contract_deployer/index.d.ts +0 -2
  114. package/dest/contract_deployer/index.d.ts.map +0 -1
  115. package/dest/contract_deployer/index.js +0 -2
  116. package/dest/index.d.ts +0 -13
  117. package/dest/index.d.ts.map +0 -1
  118. package/dest/index.js +0 -13
  119. package/dest/main.js +0 -2
  120. package/dest/main.js.LICENSE.txt +0 -10
  121. package/dest/sandbox/index.d.ts +0 -111
  122. package/dest/sandbox/index.d.ts.map +0 -1
  123. package/dest/sandbox/index.js +0 -69
  124. package/dest/utils/abi_types.d.ts +0 -7
  125. package/dest/utils/abi_types.d.ts.map +0 -1
  126. package/dest/utils/abi_types.js +0 -2
  127. package/dest/utils/account.d.ts +0 -23
  128. package/dest/utils/account.d.ts.map +0 -1
  129. package/dest/utils/account.js +0 -40
  130. package/dest/utils/cheat_codes.d.ts +0 -199
  131. package/dest/utils/cheat_codes.d.ts.map +0 -1
  132. package/dest/utils/cheat_codes.js +0 -279
  133. package/dest/utils/defaults.d.ts +0 -5
  134. package/dest/utils/defaults.d.ts.map +0 -1
  135. package/dest/utils/defaults.js +0 -5
  136. package/dest/utils/index.d.ts +0 -8
  137. package/dest/utils/index.d.ts.map +0 -1
  138. package/dest/utils/index.js +0 -8
  139. package/dest/utils/l1_contracts.d.ts +0 -32
  140. package/dest/utils/l1_contracts.d.ts.map +0 -1
  141. package/dest/utils/l1_contracts.js +0 -16
  142. package/dest/utils/l2_contracts.d.ts +0 -10
  143. package/dest/utils/l2_contracts.d.ts.map +0 -1
  144. package/dest/utils/l2_contracts.js +0 -10
  145. package/dest/utils/pub_key.d.ts +0 -8
  146. package/dest/utils/pub_key.d.ts.map +0 -1
  147. package/dest/utils/pub_key.js +0 -11
  148. package/dest/utils/secrets.d.ts +0 -8
  149. package/dest/utils/secrets.d.ts.map +0 -1
  150. package/dest/utils/secrets.js +0 -12
@@ -1,72 +0,0 @@
1
- import { ContractAbi, FunctionSelector } from '@aztec/foundation/abi';
2
- import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { CompleteAddress, DeployedContract } from '@aztec/types';
4
- import { Wallet } from '../aztec_rpc_client/wallet.js';
5
- import { ContractFunctionInteraction } from './contract_function_interaction.js';
6
- /**
7
- * Type representing a contract method that returns a ContractFunctionInteraction instance
8
- * and has a readonly 'selector' property of type Buffer. Takes any number of arguments.
9
- */
10
- export type ContractMethod = ((...args: any[]) => ContractFunctionInteraction) & {
11
- /**
12
- * The unique identifier for a contract function in bytecode.
13
- */
14
- readonly selector: FunctionSelector;
15
- };
16
- /**
17
- * Abstract implementation of a contract extended by the Contract class and generated contract types.
18
- */
19
- export declare class ContractBase {
20
- /**
21
- * The deployed contract's complete address.
22
- */
23
- readonly completeAddress: CompleteAddress;
24
- /**
25
- * The Application Binary Interface for the contract.
26
- */
27
- readonly abi: ContractAbi;
28
- /**
29
- * The wallet.
30
- */
31
- protected wallet: Wallet;
32
- /**
33
- * An object containing contract methods mapped to their respective names.
34
- */
35
- methods: {
36
- [name: string]: ContractMethod;
37
- };
38
- protected constructor(
39
- /**
40
- * The deployed contract's complete address.
41
- */
42
- completeAddress: CompleteAddress,
43
- /**
44
- * The Application Binary Interface for the contract.
45
- */
46
- abi: ContractAbi,
47
- /**
48
- * The wallet.
49
- */
50
- wallet: Wallet);
51
- /**
52
- * Address of the contract.
53
- */
54
- get address(): import("@aztec/circuits.js").AztecAddress;
55
- /**
56
- * Creates a new instance of the contract wrapper attached to a different wallet.
57
- * @param wallet - Wallet to use for sending txs.
58
- * @returns A new contract instance.
59
- */
60
- withWallet(wallet: Wallet): this;
61
- /**
62
- * Attach the current contract instance to a portal contract and optionally add its dependencies.
63
- * The function will return a promise that resolves when all contracts have been added to the AztecRPCClient.
64
- * This is useful when you need to interact with a deployed contract that has multiple nested contracts.
65
- *
66
- * @param portalContract - The Ethereum address of the portal contract.
67
- * @param dependencies - An optional array of additional DeployedContract instances to be attached.
68
- * @returns A promise that resolves when all contracts are successfully added to the AztecRPCClient.
69
- */
70
- attach(portalContract: EthAddress, dependencies?: DeployedContract[]): Promise<void>;
71
- }
72
- //# sourceMappingURL=contract_base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,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,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IAOrB;;OAEG;aACa,eAAe,EAAE,eAAe;IAChD;;OAEG;aACa,GAAG,EAAE,WAAW;IAChC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAjB1B;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP;;OAEG;IACa,eAAe,EAAE,eAAe;IAChD;;OAEG;IACa,GAAG,EAAE,WAAW;IAChC;;OAEG;IACO,MAAM,EAAE,MAAM;IAmB1B;;OAEG;IACH,IAAW,OAAO,8CAEjB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,GAAE,gBAAgB,EAAO;CAQhF"}
@@ -1,74 +0,0 @@
1
- import { FunctionSelector } from '@aztec/foundation/abi';
2
- import { ContractFunctionInteraction } from './contract_function_interaction.js';
3
- /**
4
- * Abstract implementation of a contract extended by the Contract class and generated contract types.
5
- */
6
- export class ContractBase {
7
- constructor(
8
- /**
9
- * The deployed contract's complete address.
10
- */
11
- completeAddress,
12
- /**
13
- * The Application Binary Interface for the contract.
14
- */
15
- abi,
16
- /**
17
- * The wallet.
18
- */
19
- wallet) {
20
- this.completeAddress = completeAddress;
21
- this.abi = abi;
22
- this.wallet = wallet;
23
- /**
24
- * An object containing contract methods mapped to their respective names.
25
- */
26
- this.methods = {};
27
- abi.functions.forEach((f) => {
28
- const interactionFunction = (...args) => {
29
- return new ContractFunctionInteraction(this.wallet, this.completeAddress.address, f, args);
30
- };
31
- this.methods[f.name] = Object.assign(interactionFunction, {
32
- /**
33
- * A getter for users to fetch the function selector.
34
- * @returns Selector of the function.
35
- */
36
- get selector() {
37
- return FunctionSelector.fromNameAndParameters(f.name, f.parameters);
38
- },
39
- });
40
- });
41
- }
42
- /**
43
- * Address of the contract.
44
- */
45
- get address() {
46
- return this.completeAddress.address;
47
- }
48
- /**
49
- * Creates a new instance of the contract wrapper attached to a different wallet.
50
- * @param wallet - Wallet to use for sending txs.
51
- * @returns A new contract instance.
52
- */
53
- withWallet(wallet) {
54
- return new ContractBase(this.completeAddress, this.abi, wallet);
55
- }
56
- /**
57
- * Attach the current contract instance to a portal contract and optionally add its dependencies.
58
- * The function will return a promise that resolves when all contracts have been added to the AztecRPCClient.
59
- * This is useful when you need to interact with a deployed contract that has multiple nested contracts.
60
- *
61
- * @param portalContract - The Ethereum address of the portal contract.
62
- * @param dependencies - An optional array of additional DeployedContract instances to be attached.
63
- * @returns A promise that resolves when all contracts are successfully added to the AztecRPCClient.
64
- */
65
- attach(portalContract, dependencies = []) {
66
- const deployedContract = {
67
- abi: this.abi,
68
- completeAddress: this.completeAddress,
69
- portalContract,
70
- };
71
- return this.wallet.addContracts([deployedContract, ...dependencies]);
72
- }
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWFqRjs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBTXZCO0lBQ0U7O09BRUc7SUFDYSxlQUFnQztJQUNoRDs7T0FFRztJQUNhLEdBQWdCO0lBQ2hDOztPQUVHO0lBQ08sTUFBYztRQVJSLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUloQyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBSXRCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQjFCOztXQUVHO1FBQ0ksWUFBTyxHQUF1QyxFQUFFLENBQUM7UUFnQnRELEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7Z0JBQzdDLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RixDQUFDLENBQUM7WUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO2dCQUN4RDs7O21CQUdHO2dCQUNILElBQUksUUFBUTtvQkFDVixPQUFPLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBUyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxjQUEwQixFQUFFLGVBQW1DLEVBQUU7UUFDN0UsTUFBTSxnQkFBZ0IsR0FBcUI7WUFDekMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3JDLGNBQWM7U0FDZixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YifQ==
@@ -1,49 +0,0 @@
1
- import { AztecAddress } from '@aztec/circuits.js';
2
- import { FunctionAbi } from '@aztec/foundation/abi';
3
- import { FunctionCall, TxExecutionRequest } from '@aztec/types';
4
- import { Wallet } from '../aztec_rpc_client/wallet.js';
5
- import { BaseContractInteraction, SendMethodOptions } from './base_contract_interaction.js';
6
- export { SendMethodOptions };
7
- /**
8
- * Represents the options for a view method in a contract function interaction.
9
- * Allows specifying the address from which the view method should be called.
10
- */
11
- export interface ViewMethodOptions {
12
- /**
13
- * The sender's Aztec address.
14
- */
15
- from?: AztecAddress;
16
- }
17
- /**
18
- * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
19
- * It contains available interactions one can call on a method, including view.
20
- */
21
- export declare class ContractFunctionInteraction extends BaseContractInteraction {
22
- protected wallet: Wallet;
23
- protected contractAddress: AztecAddress;
24
- protected functionDao: FunctionAbi;
25
- protected args: any[];
26
- constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[]);
27
- /**
28
- * Create a transaction execution request that represents this call, encoded and authenticated by the
29
- * user's wallet, ready to be simulated.
30
- * @returns A Promise that resolves to a transaction instance.
31
- */
32
- create(): Promise<TxExecutionRequest>;
33
- /**
34
- * Returns an execution request that represents this operation. Useful as a building
35
- * block for constructing batch requests.
36
- * @param options - An optional object containing additional configuration for the transaction.
37
- * @returns An execution request wrapped in promise.
38
- */
39
- request(): FunctionCall;
40
- /**
41
- * Execute a view (read-only) transaction on an unconstrained function.
42
- * This method is used to call functions that do not modify the contract state and only return data.
43
- * Throws an error if called on a non-unconstrained function.
44
- * @param options - An optional object containing additional configuration for the transaction.
45
- * @returns The result of the view transaction as returned by the contract function.
46
- */
47
- view(options?: ViewMethodOptions): Promise<any>;
48
- }
49
- //# sourceMappingURL=contract_function_interaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHX,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAUlD;;;;;OAKG;IACI,OAAO,IAAI,YAAY;IAM9B;;;;;;OAMG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;CAQ5C"}
@@ -1,59 +0,0 @@
1
- import { FunctionData } from '@aztec/circuits.js';
2
- import { FunctionType, encodeArguments } from '@aztec/foundation/abi';
3
- import { BaseContractInteraction } from './base_contract_interaction.js';
4
- /**
5
- * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
6
- * It contains available interactions one can call on a method, including view.
7
- */
8
- export class ContractFunctionInteraction extends BaseContractInteraction {
9
- constructor(wallet, contractAddress, functionDao, args) {
10
- super(wallet);
11
- this.wallet = wallet;
12
- this.contractAddress = contractAddress;
13
- this.functionDao = functionDao;
14
- this.args = args;
15
- if (args.some(arg => arg === undefined || arg === null)) {
16
- throw new Error('All function interaction arguments must be defined and not null. Received: ' + args);
17
- }
18
- }
19
- /**
20
- * Create a transaction execution request that represents this call, encoded and authenticated by the
21
- * user's wallet, ready to be simulated.
22
- * @returns A Promise that resolves to a transaction instance.
23
- */
24
- async create() {
25
- if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
26
- throw new Error("Can't call `create` on an unconstrained function.");
27
- }
28
- if (!this.txRequest) {
29
- this.txRequest = await this.wallet.createTxExecutionRequest([this.request()]);
30
- }
31
- return this.txRequest;
32
- }
33
- /**
34
- * Returns an execution request that represents this operation. Useful as a building
35
- * block for constructing batch requests.
36
- * @param options - An optional object containing additional configuration for the transaction.
37
- * @returns An execution request wrapped in promise.
38
- */
39
- request() {
40
- const args = encodeArguments(this.functionDao, this.args);
41
- const functionData = FunctionData.fromAbi(this.functionDao);
42
- return { args, functionData, to: this.contractAddress };
43
- }
44
- /**
45
- * Execute a view (read-only) transaction on an unconstrained function.
46
- * This method is used to call functions that do not modify the contract state and only return data.
47
- * Throws an error if called on a non-unconstrained function.
48
- * @param options - An optional object containing additional configuration for the transaction.
49
- * @returns The result of the view transaction as returned by the contract function.
50
- */
51
- view(options = {}) {
52
- if (this.functionDao.functionType !== FunctionType.UNCONSTRAINED) {
53
- throw new Error('Can only call `view` on an unconstrained function.');
54
- }
55
- const { from } = options;
56
- return this.wallet.viewTx(this.functionDao.name, this.args, this.contractAddress, from);
57
- }
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQWUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5GLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQWU1Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQ1ksTUFBYyxFQUNkLGVBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLElBQVc7UUFFckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTEosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFjO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQU87UUFHckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN2RztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQU07UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRTtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxVQUE2QixFQUFFO1FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRiJ9
@@ -1,6 +0,0 @@
1
- export * from './contract.js';
2
- export * from './contract_function_interaction.js';
3
- export * from './sent_tx.js';
4
- export * from './contract_base.js';
5
- export * from './batch_call.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oCAAoC,CAAC;AACnD,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './contract.js';
2
- export * from './contract_function_interaction.js';
3
- export * from './sent_tx.js';
4
- export * from './contract_base.js';
5
- export * from './batch_call.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -1,58 +0,0 @@
1
- import { FieldsOf } from '@aztec/circuits.js';
2
- import { AztecRPC, TxHash, TxReceipt } from '@aztec/types';
3
- /** Options related to waiting for a tx. */
4
- export type WaitOpts = {
5
- /** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
6
- timeout?: number;
7
- /** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
8
- interval?: number;
9
- /**
10
- * Whether to wait for the RPC server to sync all notes up to the block in which this tx was mined.
11
- * If false, then any queries that depend on state set by this transaction may return stale data. Defaults to true.
12
- **/
13
- waitForNotesSync?: boolean;
14
- };
15
- /**
16
- * The SentTx class represents a sent transaction through the AztecRPCClient, providing methods to fetch
17
- * its hash, receipt, and mining status.
18
- */
19
- export declare class SentTx {
20
- protected arc: AztecRPC;
21
- protected txHashPromise: Promise<TxHash>;
22
- constructor(arc: AztecRPC, txHashPromise: Promise<TxHash>);
23
- /**
24
- * Retrieves the transaction hash of the SentTx instance.
25
- * The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
26
- *
27
- * @returns A promise that resolves to the transaction hash of the SentTx instance.
28
- */
29
- getTxHash(): Promise<TxHash>;
30
- /**
31
- * Retrieve the transaction receipt associated with the current SentTx instance.
32
- * The function fetches the transaction hash using 'getTxHash' and then queries
33
- * the AztecRPCClient to get the corresponding transaction receipt.
34
- *
35
- * @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
36
- */
37
- getReceipt(): Promise<TxReceipt>;
38
- /**
39
- * Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
40
- * @param opts - Options for configuring the waiting for the tx to be mined.
41
- * @returns The transaction receipt.
42
- */
43
- wait(opts?: WaitOpts): Promise<FieldsOf<TxReceipt>>;
44
- /**
45
- * Checks whether the transaction is mined or not within the specified timeout and retry interval.
46
- * Resolves to true if the transaction status is 'MINED', false otherwise.
47
- * Throws an error if the transaction receipt cannot be fetched after the given timeout.
48
- *
49
- * @deprecated Use wait() instead as it throws if the tx is not mined,
50
- * while this would silently fail if the return value isn't checked explicitly.
51
- *
52
- * @param opts - Options for configuring the waiting for the tx to be mined.
53
- * @returns A Promise that resolves to a boolean indicating if the transaction is mined or not.
54
- */
55
- isMined(opts?: WaitOpts): Promise<boolean>;
56
- protected waitForReceipt(opts?: WaitOpts): Promise<TxReceipt>;
57
- }
58
- //# sourceMappingURL=sent_tx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,cAAc,CAAC;AAIrE,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;QAGI;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAQF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,QAAQ;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAvD,GAAG,EAAE,QAAQ,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAE7E;;;;;OAKG;IACU,SAAS;IAItB;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAOhE;;;;;;;;;;OAUG;IACU,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;cAKvC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CAuBpE"}
@@ -1,86 +0,0 @@
1
- import { retryUntil } from '@aztec/foundation/retry';
2
- import { TxStatus } from '@aztec/types';
3
- import every from 'lodash.every';
4
- const DefaultWaitOpts = {
5
- timeout: 60,
6
- interval: 1,
7
- waitForNotesSync: true,
8
- };
9
- /**
10
- * The SentTx class represents a sent transaction through the AztecRPCClient, providing methods to fetch
11
- * its hash, receipt, and mining status.
12
- */
13
- export class SentTx {
14
- constructor(arc, txHashPromise) {
15
- this.arc = arc;
16
- this.txHashPromise = txHashPromise;
17
- }
18
- /**
19
- * Retrieves the transaction hash of the SentTx instance.
20
- * The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
21
- *
22
- * @returns A promise that resolves to the transaction hash of the SentTx instance.
23
- */
24
- async getTxHash() {
25
- return await this.txHashPromise;
26
- }
27
- /**
28
- * Retrieve the transaction receipt associated with the current SentTx instance.
29
- * The function fetches the transaction hash using 'getTxHash' and then queries
30
- * the AztecRPCClient to get the corresponding transaction receipt.
31
- *
32
- * @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
33
- */
34
- async getReceipt() {
35
- const txHash = await this.getTxHash();
36
- return await this.arc.getTxReceipt(txHash);
37
- }
38
- /**
39
- * Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
40
- * @param opts - Options for configuring the waiting for the tx to be mined.
41
- * @returns The transaction receipt.
42
- */
43
- async wait(opts) {
44
- const receipt = await this.waitForReceipt(opts);
45
- if (receipt.status !== TxStatus.MINED)
46
- throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}`);
47
- return receipt;
48
- }
49
- /**
50
- * Checks whether the transaction is mined or not within the specified timeout and retry interval.
51
- * Resolves to true if the transaction status is 'MINED', false otherwise.
52
- * Throws an error if the transaction receipt cannot be fetched after the given timeout.
53
- *
54
- * @deprecated Use wait() instead as it throws if the tx is not mined,
55
- * while this would silently fail if the return value isn't checked explicitly.
56
- *
57
- * @param opts - Options for configuring the waiting for the tx to be mined.
58
- * @returns A Promise that resolves to a boolean indicating if the transaction is mined or not.
59
- */
60
- async isMined(opts) {
61
- const receipt = await this.waitForReceipt(opts);
62
- return receipt.status === TxStatus.MINED;
63
- }
64
- async waitForReceipt(opts) {
65
- const txHash = await this.getTxHash();
66
- return await retryUntil(async () => {
67
- const txReceipt = await this.arc.getTxReceipt(txHash);
68
- // If receipt is not yet available, try again
69
- if (txReceipt.status === TxStatus.PENDING)
70
- return undefined;
71
- // If the tx was dropped, return it
72
- if (txReceipt.status === TxStatus.DROPPED)
73
- return txReceipt;
74
- // If we don't care about waiting for notes to be synced, return the receipt
75
- const waitForNotesSync = opts?.waitForNotesSync ?? DefaultWaitOpts.waitForNotesSync;
76
- if (!waitForNotesSync)
77
- return txReceipt;
78
- // Check if all sync blocks on the rpc server are greater or equal than the block in which the tx was mined
79
- const { blocks, notes } = await this.arc.getSyncStatus();
80
- const targetBlock = txReceipt.blockNumber;
81
- const areNotesSynced = blocks >= targetBlock && every(notes, block => block >= targetBlock);
82
- return areNotesSynced ? txReceipt : undefined;
83
- }, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
84
- }
85
- }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQStCLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRSxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFlakMsTUFBTSxlQUFlLEdBQWE7SUFDaEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBQ2pCLFlBQXNCLEdBQWEsRUFBWSxhQUE4QjtRQUF2RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVksa0JBQWEsR0FBYixhQUFhLENBQWlCO0lBQUcsQ0FBQztJQUVqRjs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQWU7UUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsS0FBSztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQWU7UUFDbEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFUyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQWU7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLFVBQVUsQ0FDckIsS0FBSyxJQUFJLEVBQUU7WUFDVCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELDZDQUE2QztZQUM3QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDNUQsbUNBQW1DO1lBQ25DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsT0FBTztnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUM1RCw0RUFBNEU7WUFDNUUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsZ0JBQWdCLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BGLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDeEMsMkdBQTJHO1lBQzNHLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFZLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDO1lBQzVGLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDLEVBQ0QsU0FBUyxFQUNULElBQUksRUFBRSxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFDeEMsSUFBSSxFQUFFLFFBQVEsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sent_tx.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sent_tx.test.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.test.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- import { TxHash, TxStatus } from '@aztec/types';
2
- import { mock } from 'jest-mock-extended';
3
- import { SentTx } from './sent_tx.js';
4
- describe('SentTx', () => {
5
- let rpc;
6
- let txHashPromise;
7
- let sentTx;
8
- beforeEach(() => {
9
- rpc = mock();
10
- txHashPromise = Promise.resolve(TxHash.fromBigInt(1n));
11
- sentTx = new SentTx(rpc, txHashPromise);
12
- });
13
- describe('wait', () => {
14
- let txReceipt;
15
- beforeEach(() => {
16
- txReceipt = { status: TxStatus.MINED, blockNumber: 20 };
17
- rpc.getTxReceipt.mockResolvedValue(txReceipt);
18
- });
19
- it('waits for all notes accounts to be synced', async () => {
20
- rpc.getSyncStatus
21
- .mockResolvedValueOnce({ blocks: 25, notes: { '0x1': 19, '0x2': 20 } })
22
- .mockResolvedValueOnce({ blocks: 25, notes: { '0x1': 20, '0x2': 20 } });
23
- const actual = await sentTx.wait({ timeout: 1, interval: 0.4 });
24
- expect(actual).toEqual(txReceipt);
25
- });
26
- it('fails if an account is not synced', async () => {
27
- rpc.getSyncStatus.mockResolvedValue({ blocks: 25, notes: { '0x1': 19, '0x2': 20 } });
28
- await expect(sentTx.wait({ timeout: 1, interval: 0.4 })).rejects.toThrowError(/timeout/i);
29
- });
30
- it('does not wait for notes sync', async () => {
31
- rpc.getSyncStatus.mockResolvedValue({ blocks: 19, notes: { '0x1': 19, '0x2': 19 } });
32
- const actual = await sentTx.wait({ timeout: 1, interval: 0.4, waitForNotesSync: false });
33
- expect(actual).toEqual(txReceipt);
34
- });
35
- it('throws if tx is dropped', async () => {
36
- rpc.getTxReceipt.mockResolvedValue({ ...txReceipt, status: TxStatus.DROPPED });
37
- rpc.getSyncStatus.mockResolvedValue({ blocks: 19, notes: { '0x1': 19, '0x2': 19 } });
38
- await expect(sentTx.wait({ timeout: 1, interval: 0.4 })).rejects.toThrowError(/dropped/);
39
- });
40
- });
41
- });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3NlbnRfdHgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksTUFBTSxFQUFhLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRSxPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtJQUN0QixJQUFJLEdBQXdCLENBQUM7SUFDN0IsSUFBSSxhQUE4QixDQUFDO0lBRW5DLElBQUksTUFBYyxDQUFDO0lBRW5CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDYixhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ3BCLElBQUksU0FBb0IsQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsU0FBUyxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBZSxDQUFDO1lBQ3JFLEdBQUcsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDekQsR0FBRyxDQUFDLGFBQWE7aUJBQ2QscUJBQXFCLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFB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
@@ -1,25 +0,0 @@
1
- import { Point } from '@aztec/circuits.js';
2
- import { ContractAbi } from '@aztec/foundation/abi';
3
- import { AztecRPC } from '@aztec/types';
4
- import { DeployMethod } from './deploy_method.js';
5
- /**
6
- * A class for deploying contract.
7
- * @remarks Keeping this around even though we have noir contract types because it can be useful for non-TS users.
8
- */
9
- export declare class ContractDeployer {
10
- private abi;
11
- private arc;
12
- private publicKey?;
13
- constructor(abi: ContractAbi, arc: AztecRPC, publicKey?: Point | undefined);
14
- /**
15
- * Deploy a contract using the provided ABI and constructor arguments.
16
- * This function creates a new DeployMethod instance that can be used to send deployment transactions
17
- * and query deployment status. The method accepts any number of constructor arguments, which will
18
- * be passed to the contract's constructor during deployment.
19
- *
20
- * @param args - The constructor arguments for the contract being deployed.
21
- * @returns A DeployMethod instance configured with the ABI, AztecRPCClient, and constructor arguments.
22
- */
23
- deploy(...args: any[]): DeployMethod<import("../index.js").Contract>;
24
- }
25
- //# sourceMappingURL=contract_deployer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,GAAG;IAAe,OAAO,CAAC,GAAG;IAAY,OAAO,CAAC,SAAS,CAAC;gBAA3D,GAAG,EAAE,WAAW,EAAU,GAAG,EAAE,QAAQ,EAAU,SAAS,CAAC,mBAAW;IAE1F;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAG7B"}
@@ -1,26 +0,0 @@
1
- import { Point } from '@aztec/circuits.js';
2
- import { DeployMethod } from './deploy_method.js';
3
- /**
4
- * A class for deploying contract.
5
- * @remarks Keeping this around even though we have noir contract types because it can be useful for non-TS users.
6
- */
7
- export class ContractDeployer {
8
- constructor(abi, arc, publicKey) {
9
- this.abi = abi;
10
- this.arc = arc;
11
- this.publicKey = publicKey;
12
- }
13
- /**
14
- * Deploy a contract using the provided ABI and constructor arguments.
15
- * This function creates a new DeployMethod instance that can be used to send deployment transactions
16
- * and query deployment status. The method accepts any number of constructor arguments, which will
17
- * be passed to the contract's constructor during deployment.
18
- *
19
- * @param args - The constructor arguments for the contract being deployed.
20
- * @returns A DeployMethod instance configured with the ABI, AztecRPCClient, and constructor arguments.
21
- */
22
- deploy(...args) {
23
- return new DeployMethod(this.publicKey ?? Point.ZERO, this.arc, this.abi, args);
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGVwbG95ZXIvY29udHJhY3RfZGVwbG95ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLEdBQWdCLEVBQVUsR0FBYSxFQUFVLFNBQXFCO1FBQXRFLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBWTtJQUFHLENBQUM7SUFFOUY7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsR0FBRyxJQUFXO1FBQzFCLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0YifQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=contract_deployer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract_deployer.test.d.ts","sourceRoot":"","sources":["../../src/contract_deployer/contract_deployer.test.ts"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- import { EthAddress, Fr, Point } from '@aztec/circuits.js';
2
- import { FunctionType } from '@aztec/foundation/abi';
3
- import { mock } from 'jest-mock-extended';
4
- import { ContractDeployer } from './contract_deployer.js';
5
- describe.skip('Contract Deployer', () => {
6
- let arc;
7
- const abi = {
8
- name: 'MyContract',
9
- functions: [
10
- {
11
- name: 'constructor',
12
- functionType: FunctionType.SECRET,
13
- isInternal: false,
14
- parameters: [],
15
- returnTypes: [],
16
- bytecode: '0af',
17
- },
18
- ],
19
- };
20
- const publicKey = Point.random();
21
- const portalContract = EthAddress.random();
22
- const contractAddressSalt = Fr.random();
23
- const args = [12, 345n];
24
- const mockTx = { type: 'Tx' };
25
- const mockTxHash = { type: 'TxHash' };
26
- const mockTxReceipt = { type: 'TxReceipt' };
27
- beforeEach(() => {
28
- arc = mock();
29
- arc.sendTx.mockResolvedValue(mockTxHash);
30
- arc.getTxReceipt.mockResolvedValue(mockTxReceipt);
31
- });
32
- it('should create and send a contract deployment tx', async () => {
33
- const deployer = new ContractDeployer(abi, arc, publicKey);
34
- const sentTx = deployer.deploy(args[0], args[1]).send({
35
- portalContract,
36
- contractAddressSalt,
37
- });
38
- const txHash = await sentTx.getTxHash();
39
- const receipt = await sentTx.getReceipt();
40
- expect(txHash).toBe(mockTxHash);
41
- expect(receipt).toBe(mockTxReceipt);
42
- expect(arc.sendTx).toHaveBeenCalledTimes(1);
43
- expect(arc.sendTx).toHaveBeenCalledWith(mockTx);
44
- });
45
- });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9kZXBsb3llci9jb250cmFjdF9kZXBsb3llci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRSxPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDdEMsSUFBSSxHQUF3QixDQUFDO0lBRTdCLE1BQU0sR0FBRyxHQUFnQjtRQUN2QixJQUFJLEVBQUUsWUFBWTtRQUNsQixTQUFTLEVBQUU7WUFDVDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO2dCQUNqQyxVQUFVLEVBQUUsS0FBSztnQkFDakIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRjtLQUNGLENBQUM7SUFFRixNQUFNLFNBQVMsR0FBYyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXhCLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBZSxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBbUIsQ0FBQztJQUN2RCxNQUFNLGFBQWEsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQXNCLENBQUM7SUFFaEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLEdBQUcsR0FBRyxJQUFJLEVBQVksQ0FBQztRQUN2QixHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwRCxjQUFjO1lBQ2QsbUJBQW1CO1NBQ3BCLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9