@aztec/aztec.js 0.8.8 → 0.8.10

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 (64) hide show
  1. package/README.md +3 -3
  2. package/dest/account/contract/base_account_contract.d.ts +4 -4
  3. package/dest/account/contract/base_account_contract.d.ts.map +1 -1
  4. package/dest/account/contract/base_account_contract.js +5 -5
  5. package/dest/account/contract/ecdsa_account_contract.js +3 -3
  6. package/dest/account/contract/index.d.ts +4 -4
  7. package/dest/account/contract/index.d.ts.map +1 -1
  8. package/dest/account/contract/schnorr_account_contract.js +3 -3
  9. package/dest/account/contract/single_key_account_contract.js +3 -3
  10. package/dest/account/defaults/default_entrypoint.js +1 -1
  11. package/dest/account/manager/index.js +3 -3
  12. package/dest/{abis → artifacts}/ecdsa_account_contract.json +2 -1
  13. package/dest/{abis → artifacts}/schnorr_account_contract.json +2 -1
  14. package/dest/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
  15. package/dest/contract/checker.d.ts +5 -5
  16. package/dest/contract/checker.d.ts.map +1 -1
  17. package/dest/contract/checker.js +9 -9
  18. package/dest/contract/contract.d.ts +7 -7
  19. package/dest/contract/contract.d.ts.map +1 -1
  20. package/dest/contract/contract.js +10 -10
  21. package/dest/contract/contract_base.d.ts +3 -3
  22. package/dest/contract/contract_base.d.ts.map +1 -1
  23. package/dest/contract/contract_base.js +5 -5
  24. package/dest/contract/contract_function_interaction.d.ts +3 -3
  25. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  26. package/dest/contract/contract_function_interaction.js +1 -1
  27. package/dest/contract/index.d.ts +2 -2
  28. package/dest/contract/index.js +2 -2
  29. package/dest/contract_deployer/contract_deployer.d.ts +4 -4
  30. package/dest/contract_deployer/contract_deployer.d.ts.map +1 -1
  31. package/dest/contract_deployer/contract_deployer.js +5 -5
  32. package/dest/contract_deployer/deploy_method.d.ts +4 -4
  33. package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
  34. package/dest/contract_deployer/deploy_method.js +12 -12
  35. package/dest/contract_deployer/deploy_sent_tx.d.ts +3 -3
  36. package/dest/contract_deployer/deploy_sent_tx.d.ts.map +1 -1
  37. package/dest/contract_deployer/deploy_sent_tx.js +4 -4
  38. package/dest/sandbox/index.d.ts +1 -0
  39. package/dest/sandbox/index.d.ts.map +1 -1
  40. package/dest/sandbox/index.js +3 -3
  41. package/dest/utils/authwit.d.ts.map +1 -1
  42. package/dest/utils/authwit.js +3 -1
  43. package/package.json +5 -5
  44. package/src/account/contract/base_account_contract.ts +4 -4
  45. package/src/account/contract/ecdsa_account_contract.ts +3 -3
  46. package/src/account/contract/index.ts +4 -4
  47. package/src/account/contract/schnorr_account_contract.ts +3 -3
  48. package/src/account/contract/single_key_account_contract.ts +3 -3
  49. package/src/account/defaults/default_entrypoint.ts +2 -2
  50. package/src/account/manager/index.ts +2 -2
  51. package/src/{abis → artifacts}/ecdsa_account_contract.json +2 -1
  52. package/src/{abis → artifacts}/schnorr_account_contract.json +2 -1
  53. package/src/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
  54. package/src/contract/checker.ts +9 -9
  55. package/src/contract/contract.ts +10 -10
  56. package/src/contract/contract_base.ts +4 -4
  57. package/src/contract/contract_function_interaction.ts +2 -2
  58. package/src/contract/index.ts +2 -2
  59. package/src/contract_deployer/contract_deployer.ts +4 -4
  60. package/src/contract_deployer/deploy_method.ts +17 -12
  61. package/src/contract_deployer/deploy_sent_tx.ts +3 -3
  62. package/src/sandbox/index.ts +2 -2
  63. package/src/utils/authwit.ts +2 -0
  64. package/src/wallet/account_wallet.ts +2 -2
@@ -694,5 +694,6 @@
694
694
  "bytecode": "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",
695
695
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
696
696
  }
697
- ]
697
+ ],
698
+ "events": []
698
699
  }
@@ -682,5 +682,6 @@
682
682
  "bytecode": "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",
683
683
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
684
684
  }
685
- ]
685
+ ],
686
+ "events": []
686
687
  }
@@ -617,5 +617,6 @@
617
617
  "bytecode": "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",
618
618
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
619
619
  }
620
- ]
620
+ ],
621
+ "events": []
621
622
  }
@@ -1,4 +1,4 @@
1
- import { ABIType, BasicType, ContractAbi, StructType } from '@aztec/foundation/abi';
1
+ import { ABIType, BasicType, ContractArtifact, StructType } from '@aztec/foundation/abi';
2
2
 
3
3
  /**
4
4
  * Represents a type derived from input type T with the 'kind' property removed.
@@ -7,19 +7,19 @@ import { ABIType, BasicType, ContractAbi, StructType } from '@aztec/foundation/a
7
7
  type TypeWithoutKind<T> = Omit<{ [key in keyof T]: any }, 'kind'>;
8
8
 
9
9
  /**
10
- * Validates the given ContractAbi object by checking its functions and their parameters.
10
+ * Validates the given ContractArtifact object by checking its functions and their parameters.
11
11
  * Ensures that the ABI has at least one function, a constructor, valid bytecode, and correct parameter types.
12
12
  * Throws an error if any inconsistency is detected during the validation process.
13
13
  *
14
- * @param abi - The ContractAbi object to be validated.
15
- * @returns A boolean value indicating whether the ABI is valid or not.
14
+ * @param artifact - The ContractArtifact object to be validated.
15
+ * @returns A boolean value indicating whether the artifact is valid or not.
16
16
  */
17
- export function abiChecker(abi: ContractAbi) {
18
- if (!abi.functions || abi.functions.length === 0) {
19
- throw new Error('ABI has no functions');
17
+ export function abiChecker(artifact: ContractArtifact) {
18
+ if (!artifact.functions || artifact.functions.length === 0) {
19
+ throw new Error('artifact has no functions');
20
20
  }
21
21
 
22
- abi.functions.forEach(func => {
22
+ artifact.functions.forEach(func => {
23
23
  if (!('name' in func && typeof func.name === 'string' && func.name.length > 0)) {
24
24
  throw new Error('ABI function has no name');
25
25
  }
@@ -39,7 +39,7 @@ export function abiChecker(abi: ContractAbi) {
39
39
  });
40
40
 
41
41
  // TODO: implement a better check for constructor (right now only checks if it has it or not)
42
- if (!abi.functions.find(func => func.name === 'constructor')) {
42
+ if (!artifact.functions.find(func => func.name === 'constructor')) {
43
43
  throw new Error('ABI has no constructor');
44
44
  }
45
45
 
@@ -1,4 +1,4 @@
1
- import { ContractAbi } from '@aztec/foundation/abi';
1
+ import { ContractArtifact } from '@aztec/foundation/abi';
2
2
  import { AztecAddress } from '@aztec/foundation/aztec-address';
3
3
  import { PublicKey } from '@aztec/types';
4
4
 
@@ -17,19 +17,19 @@ export class Contract extends ContractBase {
17
17
  /**
18
18
  * Creates a contract instance.
19
19
  * @param address - The deployed contract's address.
20
- * @param abi - The Application Binary Interface for the contract.
20
+ * @param artifact - Build artifact of the contract.
21
21
  * @param wallet - The wallet to use when interacting with the contract.
22
22
  * @param portalContract - The portal contract address on L1, if any.
23
23
  * @returns A promise that resolves to a new Contract instance.
24
24
  */
25
- public static async at(address: AztecAddress, abi: ContractAbi, wallet: Wallet): Promise<Contract> {
25
+ public static async at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Promise<Contract> {
26
26
  const extendedContractData = await wallet.getExtendedContractData(address);
27
27
  if (extendedContractData === undefined) {
28
28
  throw new Error('Contract ' + address.toString() + ' is not deployed');
29
29
  }
30
30
  return new Contract(
31
31
  extendedContractData.getCompleteAddress(),
32
- abi,
32
+ artifact,
33
33
  wallet,
34
34
  extendedContractData.contractData.portalContractAddress,
35
35
  );
@@ -38,21 +38,21 @@ export class Contract extends ContractBase {
38
38
  /**
39
39
  * Creates a tx to deploy a new instance of a contract.
40
40
  * @param wallet - The wallet for executing the deployment.
41
- * @param abi - ABI of the contract to deploy.
41
+ * @param artifact - Build artifact of the contract to deploy
42
42
  * @param args - Arguments for the constructor.
43
43
  */
44
- public static deploy(wallet: Wallet, abi: ContractAbi, args: any[]) {
45
- return new DeployMethod(Point.ZERO, wallet, abi, args);
44
+ public static deploy(wallet: Wallet, artifact: ContractArtifact, args: any[]) {
45
+ return new DeployMethod(Point.ZERO, wallet, artifact, args);
46
46
  }
47
47
 
48
48
  /**
49
49
  * Creates a tx to deploy a new instance of a contract using the specified public key to derive the address.
50
50
  * @param publicKey - Public key for deriving the address.
51
51
  * @param wallet - The wallet for executing the deployment.
52
- * @param abi - ABI of the contract to deploy.
52
+ * @param artifact - Build artifact of the contract.
53
53
  * @param args - Arguments for the constructor.
54
54
  */
55
- public static deployWithPublicKey(publicKey: PublicKey, wallet: Wallet, abi: ContractAbi, args: any[]) {
56
- return new DeployMethod(publicKey, wallet, abi, args);
55
+ public static deployWithPublicKey(publicKey: PublicKey, wallet: Wallet, artifact: ContractArtifact, args: any[]) {
56
+ return new DeployMethod(publicKey, wallet, artifact, args);
57
57
  }
58
58
  }
@@ -1,4 +1,4 @@
1
- import { ContractAbi, FunctionAbi, FunctionSelector } from '@aztec/foundation/abi';
1
+ import { ContractArtifact, FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import { CompleteAddress, DeployedContract } from '@aztec/types';
4
4
 
@@ -29,13 +29,13 @@ export class ContractBase implements DeployedContract {
29
29
  /** The deployed contract's complete address. */
30
30
  public readonly completeAddress: CompleteAddress,
31
31
  /** The Application Binary Interface for the contract. */
32
- public readonly abi: ContractAbi,
32
+ public readonly artifact: ContractArtifact,
33
33
  /** The wallet used for interacting with this contract. */
34
34
  protected wallet: Wallet,
35
35
  /** The portal contract address on L1, if any. */
36
36
  public readonly portalContract: EthAddress,
37
37
  ) {
38
- abi.functions.forEach((f: FunctionAbi) => {
38
+ artifact.functions.forEach((f: FunctionArtifact) => {
39
39
  const interactionFunction = (...args: any[]) => {
40
40
  return new ContractFunctionInteraction(this.wallet, this.completeAddress.address!, f, args);
41
41
  };
@@ -65,6 +65,6 @@ export class ContractBase implements DeployedContract {
65
65
  * @returns A new contract instance.
66
66
  */
67
67
  public withWallet(wallet: Wallet): this {
68
- return new ContractBase(this.completeAddress, this.abi, wallet, this.portalContract) as this;
68
+ return new ContractBase(this.completeAddress, this.artifact, wallet, this.portalContract) as this;
69
69
  }
70
70
  }
@@ -1,5 +1,5 @@
1
1
  import { AztecAddress, FunctionData } from '@aztec/circuits.js';
2
- import { FunctionAbiHeader, FunctionType, encodeArguments } from '@aztec/foundation/abi';
2
+ import { FunctionAbi, FunctionType, encodeArguments } from '@aztec/foundation/abi';
3
3
  import { FunctionCall, TxExecutionRequest } from '@aztec/types';
4
4
 
5
5
  import { Wallet } from '../wallet/index.js';
@@ -26,7 +26,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
26
26
  constructor(
27
27
  protected wallet: Wallet,
28
28
  protected contractAddress: AztecAddress,
29
- protected functionDao: FunctionAbiHeader,
29
+ protected functionDao: FunctionAbi,
30
30
  protected args: any[],
31
31
  ) {
32
32
  super(wallet);
@@ -10,12 +10,12 @@
10
10
  * or can be queried via `view()`.
11
11
  *
12
12
  * ```ts
13
- * const contract = await Contract.deploy(wallet, MyContractAbi, [...constructorArgs]).send().deployed();
13
+ * const contract = await Contract.deploy(wallet, MyContractArtifact, [...constructorArgs]).send().deployed();
14
14
  * console.log(`Contract deployed at ${contract.address}`);
15
15
  * ```
16
16
  *
17
17
  * ```ts
18
- * const contract = await Contract.at(address, MyContractAbi, wallet);
18
+ * const contract = await Contract.at(address, MyContractArtifact, wallet);
19
19
  * await contract.methods.mint(1000, owner).send().wait();
20
20
  * console.log(`Total supply is now ${await contract.methods.totalSupply().view()}`);
21
21
  * ```
@@ -1,5 +1,5 @@
1
- import { Point } from '@aztec/circuits.js';
2
- import { ContractAbi } from '@aztec/foundation/abi';
1
+ import { ContractArtifact } from '@aztec/foundation/abi';
2
+ import { Point } from '@aztec/foundation/fields';
3
3
  import { PXE, PublicKey } from '@aztec/types';
4
4
 
5
5
  import { DeployMethod } from './deploy_method.js';
@@ -9,7 +9,7 @@ import { DeployMethod } from './deploy_method.js';
9
9
  * @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
10
10
  */
11
11
  export class ContractDeployer {
12
- constructor(private abi: ContractAbi, private pxe: PXE, private publicKey?: PublicKey) {}
12
+ constructor(private artifact: ContractArtifact, private pxe: PXE, private publicKey?: PublicKey) {}
13
13
 
14
14
  /**
15
15
  * Deploy a contract using the provided ABI and constructor arguments.
@@ -21,6 +21,6 @@ export class ContractDeployer {
21
21
  * @returns A DeployMethod instance configured with the ABI, PXE, and constructor arguments.
22
22
  */
23
23
  public deploy(...args: any[]) {
24
- return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.abi, args);
24
+ return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.artifact, args);
25
25
  }
26
26
  }
@@ -5,7 +5,7 @@ import {
5
5
  TxContext,
6
6
  getContractDeploymentInfo,
7
7
  } from '@aztec/circuits.js';
8
- import { ContractAbi, FunctionAbi, encodeArguments } from '@aztec/foundation/abi';
8
+ import { ContractArtifact, FunctionArtifact, encodeArguments } from '@aztec/foundation/abi';
9
9
  import { EthAddress } from '@aztec/foundation/eth-address';
10
10
  import { Fr } from '@aztec/foundation/fields';
11
11
  import { PXE, PackedArguments, PublicKey, Tx, TxExecutionRequest } from '@aztec/types';
@@ -38,13 +38,18 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
38
38
  public completeAddress?: CompleteAddress = undefined;
39
39
 
40
40
  /** Constructor function to call. */
41
- private constructorAbi: FunctionAbi;
42
-
43
- constructor(private publicKey: PublicKey, protected pxe: PXE, private abi: ContractAbi, private args: any[] = []) {
41
+ private constructorArtifact: FunctionArtifact;
42
+
43
+ constructor(
44
+ private publicKey: PublicKey,
45
+ protected pxe: PXE,
46
+ private artifact: ContractArtifact,
47
+ private args: any[] = [],
48
+ ) {
44
49
  super(pxe);
45
- const constructorAbi = abi.functions.find(f => f.name === 'constructor');
46
- if (!constructorAbi) throw new Error('Cannot find constructor in the ABI.');
47
- this.constructorAbi = constructorAbi;
50
+ const constructorArtifact = artifact.functions.find(f => f.name === 'constructor');
51
+ if (!constructorArtifact) throw new Error('Cannot find constructor in the artifact.');
52
+ this.constructorArtifact = constructorArtifact;
48
53
  }
49
54
 
50
55
  /**
@@ -63,7 +68,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
63
68
  const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
64
69
 
65
70
  const { completeAddress, constructorHash, functionTreeRoot } = await getContractDeploymentInfo(
66
- this.abi,
71
+ this.artifact,
67
72
  this.args,
68
73
  contractAddressSalt,
69
74
  this.publicKey,
@@ -85,8 +90,8 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
85
90
  new Fr(chainId),
86
91
  new Fr(protocolVersion),
87
92
  );
88
- const args = encodeArguments(this.constructorAbi, this.args);
89
- const functionData = FunctionData.fromAbi(this.constructorAbi);
93
+ const args = encodeArguments(this.constructorArtifact, this.args);
94
+ const functionData = FunctionData.fromAbi(this.constructorArtifact);
90
95
  const execution = { args, functionData, to: completeAddress.address };
91
96
  const packedArguments = await PackedArguments.fromArgs(execution.args);
92
97
 
@@ -103,7 +108,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
103
108
  this.completeAddress = completeAddress;
104
109
 
105
110
  // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
106
- await this.pxe.addContracts([{ abi: this.abi, completeAddress, portalContract }]);
111
+ await this.pxe.addContracts([{ artifact: this.artifact, completeAddress, portalContract }]);
107
112
 
108
113
  return this.txRequest;
109
114
  }
@@ -118,7 +123,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
118
123
  */
119
124
  public send(options: DeployOptions = {}): DeploySentTx<TContract> {
120
125
  const txHashPromise = super.send(options).getTxHash();
121
- return new DeploySentTx(this.abi, this.pxe, txHashPromise);
126
+ return new DeploySentTx(this.artifact, this.pxe, txHashPromise);
122
127
  }
123
128
 
124
129
  /**
@@ -1,5 +1,5 @@
1
1
  import { FieldsOf } from '@aztec/circuits.js';
2
- import { ContractAbi } from '@aztec/foundation/abi';
2
+ import { ContractArtifact } from '@aztec/foundation/abi';
3
3
  import { TxHash, TxReceipt } from '@aztec/types';
4
4
 
5
5
  import { AztecAddress, Contract, ContractBase, PXE, SentTx, WaitOpts, Wallet } from '../index.js';
@@ -20,7 +20,7 @@ export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsO
20
20
  * A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
21
21
  */
22
22
  export class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
23
- constructor(private abi: ContractAbi, wallet: PXE | Wallet, txHashPromise: Promise<TxHash>) {
23
+ constructor(private artifact: ContractArtifact, wallet: PXE | Wallet, txHashPromise: Promise<TxHash>) {
24
24
  super(wallet, txHashPromise);
25
25
  }
26
26
 
@@ -50,6 +50,6 @@ export class DeploySentTx<TContract extends Contract = Contract> extends SentTx
50
50
  const contractWallet = wallet ?? (isWallet(this.pxe) && this.pxe);
51
51
  if (!contractWallet) throw new Error(`A wallet is required for creating a contract instance`);
52
52
  if (!address) throw new Error(`Contract address is missing from transaction receipt`);
53
- return Contract.at(address, this.abi, contractWallet) as Promise<TContract>;
53
+ return Contract.at(address, this.artifact, contractWallet) as Promise<TContract>;
54
54
  }
55
55
  }
@@ -3,7 +3,7 @@ import { sleep } from '@aztec/foundation/sleep';
3
3
 
4
4
  import zip from 'lodash.zip';
5
5
 
6
- import SchnorrAccountContractAbi from '../abis/schnorr_account_contract.json' assert { type: 'json' };
6
+ import SchnorrAccountContractArtifact from '../artifacts/schnorr_account_contract.json' assert { type: 'json' };
7
7
  import { AccountWalletWithPrivateKey, PXE, createPXEClient, getSchnorrAccount } from '../index.js';
8
8
 
9
9
  export const INITIAL_SANDBOX_ENCRYPTION_KEYS = [
@@ -16,7 +16,7 @@ export const INITIAL_SANDBOX_SIGNING_KEYS = INITIAL_SANDBOX_ENCRYPTION_KEYS;
16
16
 
17
17
  export const INITIAL_SANDBOX_SALTS = [Fr.ZERO, Fr.ZERO, Fr.ZERO];
18
18
 
19
- export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI = SchnorrAccountContractAbi;
19
+ export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI = SchnorrAccountContractArtifact;
20
20
 
21
21
  export const { PXE_URL = 'http://localhost:8080' } = process.env;
22
22
 
@@ -2,6 +2,7 @@ import { AztecAddress, CircuitsWasm, GeneratorIndex } from '@aztec/circuits.js';
2
2
  import { pedersenPlookupCompressWithHashIndex } from '@aztec/circuits.js/barretenberg';
3
3
  import { FunctionCall, PackedArguments } from '@aztec/types';
4
4
 
5
+ // docs:start:authwit_computeAuthWitMessageHash
5
6
  /**
6
7
  * Compute an authentication witness message hash from a caller and a request
7
8
  * H(caller: AztecAddress, target: AztecAddress, selector: Field, args_hash: Field)
@@ -22,3 +23,4 @@ export const computeAuthWitMessageHash = async (caller: AztecAddress, request: F
22
23
  GeneratorIndex.SIGNATURE_PAYLOAD,
23
24
  );
24
25
  };
26
+ // docs:end:authwit_computeAuthWitMessageHash
@@ -1,5 +1,5 @@
1
1
  import { Fr, GrumpkinPrivateKey } from '@aztec/circuits.js';
2
- import { ABIParameterVisibility, FunctionAbiHeader, FunctionType } from '@aztec/foundation/abi';
2
+ import { ABIParameterVisibility, FunctionAbi, FunctionType } from '@aztec/foundation/abi';
3
3
  import { AuthWitness, FunctionCall, PXE, TxExecutionRequest } from '@aztec/types';
4
4
 
5
5
  import { AccountInterface } from '../account/interface.js';
@@ -47,7 +47,7 @@ export class AccountWallet extends BaseWallet {
47
47
  return this.getCompleteAddress().address;
48
48
  }
49
49
 
50
- private getSetIsValidStorageAbi(): FunctionAbiHeader {
50
+ private getSetIsValidStorageAbi(): FunctionAbi {
51
51
  return {
52
52
  name: 'set_is_valid_storage',
53
53
  functionType: 'open' as FunctionType,