@aztec/aztec.js 0.1.0-alpha30 → 0.1.0-alpha31

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 (59) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/dest/account_impl/account_collection.d.ts +4 -4
  3. package/dest/account_impl/account_collection.d.ts.map +1 -1
  4. package/dest/account_impl/account_collection.js +4 -5
  5. package/dest/account_impl/entrypoint_payload.d.ts +2 -2
  6. package/dest/account_impl/entrypoint_payload.d.ts.map +1 -1
  7. package/dest/account_impl/entrypoint_payload.js +4 -4
  8. package/dest/account_impl/index.d.ts +11 -6
  9. package/dest/account_impl/index.d.ts.map +1 -1
  10. package/dest/account_impl/index.js +2 -2
  11. package/dest/account_impl/single_key_account_contract.d.ts +7 -7
  12. package/dest/account_impl/single_key_account_contract.d.ts.map +1 -1
  13. package/dest/account_impl/single_key_account_contract.js +11 -18
  14. package/dest/account_impl/stored_key_account_contract.d.ts +7 -7
  15. package/dest/account_impl/stored_key_account_contract.d.ts.map +1 -1
  16. package/dest/account_impl/stored_key_account_contract.js +11 -18
  17. package/dest/aztec_rpc_client/wallet.d.ts +5 -5
  18. package/dest/aztec_rpc_client/wallet.d.ts.map +1 -1
  19. package/dest/aztec_rpc_client/wallet.js +3 -3
  20. package/dest/contract/base_contract_interaction.d.ts +46 -0
  21. package/dest/contract/base_contract_interaction.d.ts.map +1 -0
  22. package/dest/contract/base_contract_interaction.js +37 -0
  23. package/dest/contract/batch_call.d.ts +16 -0
  24. package/dest/contract/batch_call.d.ts.map +1 -0
  25. package/dest/contract/batch_call.js +22 -0
  26. package/dest/contract/contract.test.js +6 -7
  27. package/dest/contract/contract_function_interaction.d.ts +10 -47
  28. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  29. package/dest/contract/contract_function_interaction.js +14 -59
  30. package/dest/contract/index.d.ts +1 -0
  31. package/dest/contract/index.d.ts.map +1 -1
  32. package/dest/contract/index.js +2 -1
  33. package/dest/contract_deployer/deploy_method.d.ts +8 -15
  34. package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
  35. package/dest/contract_deployer/deploy_method.js +28 -53
  36. package/dest/contract_deployer/deploy_sent_tx.js +2 -2
  37. package/dest/index.d.ts +1 -1
  38. package/dest/index.d.ts.map +1 -1
  39. package/dest/index.js +2 -2
  40. package/dest/main.js +1 -1
  41. package/dest/utils/defaults.d.ts +5 -0
  42. package/dest/utils/defaults.d.ts.map +1 -0
  43. package/dest/utils/defaults.js +5 -0
  44. package/package.json +4 -4
  45. package/src/account_impl/account_collection.ts +8 -9
  46. package/src/account_impl/entrypoint_payload.ts +5 -5
  47. package/src/account_impl/index.ts +12 -6
  48. package/src/account_impl/single_key_account_contract.ts +12 -23
  49. package/src/account_impl/stored_key_account_contract.ts +17 -24
  50. package/src/aztec_rpc_client/wallet.ts +8 -9
  51. package/src/contract/base_contract_interaction.ts +62 -0
  52. package/src/contract/batch_call.ts +22 -0
  53. package/src/contract/contract.test.ts +5 -8
  54. package/src/contract/contract_function_interaction.ts +15 -82
  55. package/src/contract/index.ts +1 -0
  56. package/src/contract_deployer/deploy_method.ts +31 -62
  57. package/src/contract_deployer/deploy_sent_tx.ts +1 -1
  58. package/src/index.ts +2 -2
  59. package/src/utils/defaults.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint_payload.d.ts","sourceRoot":"","sources":["../../src/account_impl/entrypoint_payload.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAyB,MAAM,cAAc,CAAC;AAMxF,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG;IAE9B,4CAA4C;IAC5C,qBAAqB,EAAE,EAAE,EAAE,CAAC;IAE5B,4CAA4C;IAC5C,mBAAmB,EAAE,EAAE,EAAE,CAAC;IAE1B,mDAAmD;IACnD,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACxB,oCAAoC;IACpC,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,sFAAsF;AACtF,wBAAsB,YAAY,CAChC,YAAY,EAAE,gBAAgB,EAAE,EAChC,WAAW,EAAE,gBAAgB,EAAE,GAC9B,OAAO,CAAC;IACT,8CAA8C;IAC9C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+CAA+C;IAC/C,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC,CAAC,CA2BD;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,UAGrD;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,QAOxD"}
1
+ {"version":3,"file":"entrypoint_payload.d.ts","sourceRoot":"","sources":["../../src/account_impl/entrypoint_payload.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,cAAc,CAAC;AAMhF,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG;IAE9B,4CAA4C;IAC5C,qBAAqB,EAAE,EAAE,EAAE,CAAC;IAE5B,4CAA4C;IAC5C,mBAAmB,EAAE,EAAE,EAAE,CAAC;IAE1B,mDAAmD;IACnD,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACxB,oCAAoC;IACpC,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,sFAAsF;AACtF,wBAAsB,YAAY,CAChC,YAAY,EAAE,YAAY,EAAE,EAC5B,WAAW,EAAE,YAAY,EAAE,GAC1B,OAAO,CAAC;IACT,8CAA8C;IAC9C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+CAA+C;IAC/C,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC,CAAC,CA2BD;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,UAGrD;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,QAOxD"}
@@ -1,7 +1,7 @@
1
1
  import { CircuitsWasm, Fr } from '@aztec/circuits.js';
2
2
  import { padArrayEnd } from '@aztec/foundation/collection';
3
3
  import { sha256 } from '@aztec/foundation/crypto';
4
- import { PackedArguments, emptyExecutionRequest } from '@aztec/types';
4
+ import { PackedArguments, emptyFunctionCall } from '@aztec/types';
5
5
  // These must match the values defined in yarn-project/noir-libs/noir-aztec/src/entrypoint.nr
6
6
  const ACCOUNT_MAX_PRIVATE_CALLS = 2;
7
7
  const ACCOUNT_MAX_PUBLIC_CALLS = 2;
@@ -9,8 +9,8 @@ const ACCOUNT_MAX_PUBLIC_CALLS = 2;
9
9
  export async function buildPayload(privateCalls, publicCalls) {
10
10
  const nonce = Fr.random();
11
11
  const calls = [
12
- ...padArrayEnd(privateCalls, emptyExecutionRequest(), ACCOUNT_MAX_PRIVATE_CALLS),
13
- ...padArrayEnd(publicCalls, emptyExecutionRequest(), ACCOUNT_MAX_PUBLIC_CALLS),
12
+ ...padArrayEnd(privateCalls, emptyFunctionCall(), ACCOUNT_MAX_PRIVATE_CALLS),
13
+ ...padArrayEnd(publicCalls, emptyFunctionCall(), ACCOUNT_MAX_PUBLIC_CALLS),
14
14
  ];
15
15
  const packedArguments = [];
16
16
  const wasm = await CircuitsWasm.get();
@@ -44,4 +44,4 @@ export function flattenPayload(payload) {
44
44
  payload.nonce,
45
45
  ];
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludF9wYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9lbnRyeXBvaW50X3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBb0IsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXhGLDZGQUE2RjtBQUM3RixNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQWlCbkMsc0ZBQXNGO0FBQ3RGLE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUNoQyxZQUFnQyxFQUNoQyxXQUErQjtJQU8vQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFMUIsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQztRQUNoRixHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQztLQUMvRSxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRXRDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN2RTtJQUVELE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxxQ0FBcUM7WUFDckMscUJBQXFCLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDN0QscUNBQXFDO1lBQ3JDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMvRixxQ0FBcUM7WUFDckMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkQsS0FBSztTQUNOO1FBQ0QsZUFBZTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTBCO0lBQ3BELCtDQUErQztJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELHFDQUFxQztBQUNyQyxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQTBCO0lBQ3ZELE9BQU87UUFDTCxHQUFHLE9BQU8sQ0FBQyxxQkFBcUI7UUFDaEMsR0FBRyxPQUFPLENBQUMsbUJBQW1CO1FBQzlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLENBQUMsS0FBSztLQUNkLENBQUM7QUFDSixDQUFDIn0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludF9wYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9lbnRyeXBvaW50X3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhGLDZGQUE2RjtBQUM3RixNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQWlCbkMsc0ZBQXNGO0FBQ3RGLE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUNoQyxZQUE0QixFQUM1QixXQUEyQjtJQU8zQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFMUIsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQztRQUM1RSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQztLQUMzRSxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRXRDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN2RTtJQUVELE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxxQ0FBcUM7WUFDckMscUJBQXFCLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDN0QscUNBQXFDO1lBQ3JDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMvRixxQ0FBcUM7WUFDckMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkQsS0FBSztTQUNOO1FBQ0QsZUFBZTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTBCO0lBQ3BELCtDQUErQztJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELHFDQUFxQztBQUNyQyxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQTBCO0lBQ3ZELE9BQU87UUFDTCxHQUFHLE9BQU8sQ0FBQyxxQkFBcUI7UUFDaEMsR0FBRyxPQUFPLENBQUMsbUJBQW1CO1FBQzlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLENBQUMsS0FBSztLQUNkLENBQUM7QUFDSixDQUFDIn0=
@@ -1,8 +1,13 @@
1
- import { AztecAddress, TxContext } from '@aztec/circuits.js';
2
- import { ExecutionRequest, TxExecutionRequest } from '@aztec/types';
1
+ import { AztecAddress } from '@aztec/circuits.js';
2
+ import { FunctionCall, TxExecutionRequest } from '@aztec/types';
3
+ export * from './account_collection.js';
3
4
  export * from './single_key_account_contract.js';
4
5
  export * from './stored_key_account_contract.js';
5
- export * from './account_collection.js';
6
+ /** Options for creating a tx request out of a set of function calls. */
7
+ export type CreateTxRequestOpts = {
8
+ /** Origin of the tx. Needs to be an address managed by this account. */
9
+ origin?: AztecAddress;
10
+ };
6
11
  /** Represents an implementation for a user account contract. Knows how to encode and sign a tx for that particular implementation. */
7
12
  export interface AccountImplementation {
8
13
  /**
@@ -12,10 +17,10 @@ export interface AccountImplementation {
12
17
  getAddress(): AztecAddress;
13
18
  /**
14
19
  * Generates an authenticated request out of set of intents
15
- * @param executions - The execution intent to be authenticated.
16
- * @param txContext - The tx context under with the execution is to be made.
20
+ * @param executions - The execution intents to be run.
21
+ * @param opts - Options.
17
22
  * @returns The authenticated transaction execution request.
18
23
  */
19
- createAuthenticatedTxRequest(executions: ExecutionRequest[], txContext: TxContext): Promise<TxExecutionRequest>;
24
+ createTxExecutionRequest(executions: FunctionCall[], opts?: CreateTxRequestOpts): Promise<TxExecutionRequest>;
20
25
  }
21
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_impl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEpE,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,sIAAsI;AACtI,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,IAAI,YAAY,CAAC;IAE3B;;;;;OAKG;IACH,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_impl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AAEjD,wEAAwE;AACxE,MAAM,MAAM,mBAAmB,GAAG;IAChC,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,sIAAsI;AACtI,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,IAAI,YAAY,CAAC;IAE3B;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC/G"}
@@ -1,4 +1,4 @@
1
+ export * from './account_collection.js';
1
2
  export * from './single_key_account_contract.js';
2
3
  export * from './stored_key_account_contract.js';
3
- export * from './account_collection.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9pbXBsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDIn0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9pbXBsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIn0=
@@ -1,7 +1,7 @@
1
- import { AztecAddress, PartialContractAddress, PrivateKey, TxContext } from '@aztec/circuits.js';
1
+ import { AztecAddress, PartialContractAddress, PrivateKey } from '@aztec/circuits.js';
2
2
  import { Signer } from '@aztec/circuits.js/barretenberg';
3
- import { ExecutionRequest, TxExecutionRequest } from '@aztec/types';
4
- import { AccountImplementation } from './index.js';
3
+ import { FunctionCall, TxExecutionRequest } from '@aztec/types';
4
+ import { AccountImplementation, CreateTxRequestOpts } from './index.js';
5
5
  /**
6
6
  * Account contract implementation that uses a single key for signing and encryption. This public key is not
7
7
  * stored in the contract, but rather verified against the contract address. Note that this approach is not
@@ -12,11 +12,11 @@ export declare class SingleKeyAccountContract implements AccountImplementation {
12
12
  private partialContractAddress;
13
13
  private privateKey;
14
14
  private signer;
15
- constructor(address: AztecAddress, partialContractAddress: PartialContractAddress, privateKey: PrivateKey, signer: Signer);
15
+ private chainId;
16
+ private version;
17
+ constructor(address: AztecAddress, partialContractAddress: PartialContractAddress, privateKey: PrivateKey, signer: Signer, chainId?: number, version?: number);
16
18
  getAddress(): AztecAddress;
17
- createAuthenticatedTxRequest(executions: ExecutionRequest[], txContext: TxContext): Promise<TxExecutionRequest>;
19
+ createTxExecutionRequest(executions: FunctionCall[], opts?: CreateTxRequestOpts): Promise<TxExecutionRequest>;
18
20
  private getEntrypointAbi;
19
- private checkIsNotDeployment;
20
- private checkSender;
21
21
  }
22
22
  //# sourceMappingURL=single_key_account_contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"single_key_account_contract.d.ts","sourceRoot":"","sources":["../../src/account_impl/single_key_account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,sBAAsB,EACtB,UAAU,EACV,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAmB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,qBAAqB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;gBAHN,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,sBAAsB,EAC9C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAGxB,UAAU,IAAI,YAAY;IAIpB,4BAA4B,CAChC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAyB9B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"single_key_account_contract.d.ts","sourceRoot":"","sources":["../../src/account_impl/single_key_account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,sBAAsB,EACtB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAQjF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,qBAAqB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBALP,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,sBAAsB,EAC9C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB;IAG3C,UAAU,IAAI,YAAY;IAIpB,wBAAwB,CAC5B,UAAU,EAAE,YAAY,EAAE,EAC1B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IA0B9B,OAAO,CAAC,gBAAgB;CAQzB"}
@@ -1,9 +1,10 @@
1
- import { CircuitsWasm, FunctionData, } from '@aztec/circuits.js';
1
+ import { CircuitsWasm, FunctionData, TxContext, } from '@aztec/circuits.js';
2
2
  import { encodeArguments } from '@aztec/foundation/abi';
3
3
  import { PackedArguments, TxExecutionRequest } from '@aztec/types';
4
4
  import partition from 'lodash.partition';
5
5
  import SchnorrSingleKeyAccountContractAbi from '../abis/schnorr_single_key_account_contract.json' assert { type: 'json' };
6
6
  import { generatePublicKey } from '../index.js';
7
+ import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from '../utils/defaults.js';
7
8
  import { buildPayload, hashPayload } from './entrypoint_payload.js';
8
9
  /**
9
10
  * Account contract implementation that uses a single key for signing and encryption. This public key is not
@@ -11,18 +12,21 @@ import { buildPayload, hashPayload } from './entrypoint_payload.js';
11
12
  * secure and should not be used in real use cases.
12
13
  */
13
14
  export class SingleKeyAccountContract {
14
- constructor(address, partialContractAddress, privateKey, signer) {
15
+ constructor(address, partialContractAddress, privateKey, signer, chainId = DEFAULT_CHAIN_ID, version = DEFAULT_VERSION) {
15
16
  this.address = address;
16
17
  this.partialContractAddress = partialContractAddress;
17
18
  this.privateKey = privateKey;
18
19
  this.signer = signer;
20
+ this.chainId = chainId;
21
+ this.version = version;
19
22
  }
20
23
  getAddress() {
21
24
  return this.address;
22
25
  }
23
- async createAuthenticatedTxRequest(executions, txContext) {
24
- this.checkSender(executions);
25
- this.checkIsNotDeployment(txContext);
26
+ async createTxExecutionRequest(executions, opts = {}) {
27
+ if (opts.origin && !opts.origin.equals(this.address)) {
28
+ throw new Error(`Sender ${opts.origin.toString()} does not match account address ${this.address.toString()}`);
29
+ }
26
30
  const [privateCalls, publicCalls] = partition(executions, exec => exec.functionData.isPrivate);
27
31
  const wasm = await CircuitsWasm.get();
28
32
  const { payload, packedArguments: callsPackedArguments } = await buildPayload(privateCalls, publicCalls);
@@ -36,7 +40,7 @@ export class SingleKeyAccountContract {
36
40
  argsHash: packedArgs.hash,
37
41
  origin: this.address,
38
42
  functionData: FunctionData.fromAbi(abi),
39
- txContext,
43
+ txContext: TxContext.empty(this.chainId, this.version),
40
44
  packedArguments: [...callsPackedArguments, packedArgs],
41
45
  });
42
46
  return txRequest;
@@ -50,16 +54,5 @@ export class SingleKeyAccountContract {
50
54
  throw new Error(`Entrypoint abi for account contract not found`);
51
55
  return abi;
52
56
  }
53
- checkIsNotDeployment(txContext) {
54
- if (txContext.isContractDeploymentTx) {
55
- throw new Error(`Cannot yet deploy contracts from an account contract`);
56
- }
57
- }
58
- checkSender(executions) {
59
- const wrongSender = executions.find(e => !e.from.equals(this.address));
60
- if (wrongSender) {
61
- throw new Error(`Sender ${wrongSender.from.toString()} does not match account address ${this.address.toString()}`);
62
- }
63
- }
64
57
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlX2tleV9hY2NvdW50X2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9zaW5nbGVfa2V5X2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixZQUFZLEdBSWIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFvQixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFFekMsT0FBTyxrQ0FBa0MsTUFBTSxrREFBa0QsQ0FBQyxTQUFTLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdwRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLE9BQXFCLEVBQ3JCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixNQUFjO1FBSGQsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QixDQUNoQyxVQUE4QixFQUM5QixTQUFvQjtRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyQyxN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
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlX2tleV9hY2NvdW50X2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9zaW5nbGVfa2V5X2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixZQUFZLEVBR1osU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpGLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBRXpDLE9BQU8sa0NBQWtDLE1BQU0sa0RBQWtELENBQUMsU0FBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDMUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ1UsT0FBcUIsRUFDckIsc0JBQThDLEVBQzlDLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxVQUFrQixnQkFBZ0IsRUFDbEMsVUFBa0IsZUFBZTtRQUxqQyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFDeEMsQ0FBQztJQUVKLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFP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
@@ -1,7 +1,7 @@
1
- import { AztecAddress, PrivateKey, TxContext } from '@aztec/circuits.js';
1
+ import { AztecAddress, PrivateKey } from '@aztec/circuits.js';
2
2
  import { Signer } from '@aztec/circuits.js/barretenberg';
3
- import { ExecutionRequest, TxExecutionRequest } from '@aztec/types';
4
- import { AccountImplementation } from './index.js';
3
+ import { FunctionCall, TxExecutionRequest } from '@aztec/types';
4
+ import { AccountImplementation, CreateTxRequestOpts } from './index.js';
5
5
  /**
6
6
  * Account contract implementation that keeps a signing public key in storage, and is retrieved on
7
7
  * every new request in order to validate the payload signature.
@@ -10,12 +10,12 @@ export declare class StoredKeyAccountContract implements AccountImplementation {
10
10
  private address;
11
11
  private privateKey;
12
12
  private signer;
13
+ private chainId;
14
+ private version;
13
15
  private log;
14
- constructor(address: AztecAddress, privateKey: PrivateKey, signer: Signer);
16
+ constructor(address: AztecAddress, privateKey: PrivateKey, signer: Signer, chainId?: number, version?: number);
15
17
  getAddress(): AztecAddress;
16
- createAuthenticatedTxRequest(executions: ExecutionRequest[], txContext: TxContext): Promise<TxExecutionRequest>;
18
+ createTxExecutionRequest(executions: FunctionCall[], opts?: CreateTxRequestOpts): Promise<TxExecutionRequest>;
17
19
  private getEntrypointAbi;
18
- private checkIsNotDeployment;
19
- private checkSender;
20
20
  }
21
21
  //# sourceMappingURL=stored_key_account_contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stored_key_account_contract.d.ts","sourceRoot":"","sources":["../../src/account_impl/stored_key_account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAmB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,qBAAqB;IAGxD,OAAO,CAAC,OAAO;IAAgB,OAAO,CAAC,UAAU;IAAc,OAAO,CAAC,MAAM;IAFzF,OAAO,CAAC,GAAG,CAAc;gBAEL,OAAO,EAAE,YAAY,EAAU,UAAU,EAAE,UAAU,EAAU,MAAM,EAAE,MAAM;IAIjG,UAAU,IAAI,YAAY;IAIpB,4BAA4B,CAChC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAyB9B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"stored_key_account_contract.d.ts","sourceRoot":"","sources":["../../src/account_impl/stored_key_account_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,UAAU,EAAa,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOjF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAExE;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,qBAAqB;IAIlE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAPjB,OAAO,CAAC,GAAG,CAAc;gBAGf,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB;IAK3C,UAAU,IAAI,YAAY;IAIpB,wBAAwB,CAC5B,UAAU,EAAE,YAAY,EAAE,EAC1B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IA0B9B,OAAO,CAAC,gBAAgB;CAQzB"}
@@ -1,27 +1,31 @@
1
- import { CircuitsWasm, FunctionData } from '@aztec/circuits.js';
1
+ import { CircuitsWasm, FunctionData, TxContext } from '@aztec/circuits.js';
2
2
  import { encodeArguments } from '@aztec/foundation/abi';
3
3
  import { createDebugLogger } from '@aztec/foundation/log';
4
4
  import { PackedArguments, TxExecutionRequest } from '@aztec/types';
5
5
  import partition from 'lodash.partition';
6
6
  import EcdsaAccountContractAbi from '../abis/ecdsa_account_contract.json' assert { type: 'json' };
7
+ import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from '../utils/defaults.js';
7
8
  import { buildPayload, hashPayload } from './entrypoint_payload.js';
8
9
  /**
9
10
  * Account contract implementation that keeps a signing public key in storage, and is retrieved on
10
11
  * every new request in order to validate the payload signature.
11
12
  */
12
13
  export class StoredKeyAccountContract {
13
- constructor(address, privateKey, signer) {
14
+ constructor(address, privateKey, signer, chainId = DEFAULT_CHAIN_ID, version = DEFAULT_VERSION) {
14
15
  this.address = address;
15
16
  this.privateKey = privateKey;
16
17
  this.signer = signer;
18
+ this.chainId = chainId;
19
+ this.version = version;
17
20
  this.log = createDebugLogger('aztec:client:accounts:stored_key');
18
21
  }
19
22
  getAddress() {
20
23
  return this.address;
21
24
  }
22
- async createAuthenticatedTxRequest(executions, txContext) {
23
- this.checkSender(executions);
24
- this.checkIsNotDeployment(txContext);
25
+ async createTxExecutionRequest(executions, opts = {}) {
26
+ if (opts.origin && !opts.origin.equals(this.address)) {
27
+ throw new Error(`Sender ${opts.origin.toString()} does not match account address ${this.address.toString()}`);
28
+ }
25
29
  const [privateCalls, publicCalls] = partition(executions, exec => exec.functionData.isPrivate);
26
30
  const wasm = await CircuitsWasm.get();
27
31
  const { payload, packedArguments: callsPackedArguments } = await buildPayload(privateCalls, publicCalls);
@@ -35,7 +39,7 @@ export class StoredKeyAccountContract {
35
39
  argsHash: packedArgs.hash,
36
40
  origin: this.address,
37
41
  functionData: FunctionData.fromAbi(abi),
38
- txContext,
42
+ txContext: TxContext.empty(this.chainId, this.version),
39
43
  packedArguments: [...callsPackedArguments, packedArgs],
40
44
  });
41
45
  return txRequest;
@@ -49,16 +53,5 @@ export class StoredKeyAccountContract {
49
53
  throw new Error(`Entrypoint abi for account contract not found`);
50
54
  return abi;
51
55
  }
52
- checkIsNotDeployment(txContext) {
53
- if (txContext.isContractDeploymentTx) {
54
- throw new Error(`Cannot yet deploy contracts from an account contract`);
55
- }
56
- }
57
- checkSender(executions) {
58
- const wrongSender = executions.find(e => !e.from.equals(this.address));
59
- if (wrongSender) {
60
- throw new Error(`Sender ${wrongSender.from.toString()} does not match account address ${this.address.toString()}`);
61
- }
62
- }
63
56
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkX2tleV9hY2NvdW50X2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9zdG9yZWRfa2V5X2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsWUFBWSxFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBRXJHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQW9CLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRixPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLHVCQUF1QixNQUFNLHFDQUFxQyxDQUFDLFNBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHcEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixPQUFxQixFQUFVLFVBQXNCLEVBQVUsTUFBYztRQUE3RSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQ2hDLFVBQThCLEVBQzlCLFNBQW9CO1FBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekcsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRixJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXJGLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLE1BQU0sZUFBZSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN4QyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2QyxTQUFTO1lBQ1QsZUFBZSxFQUFFLENBQUMsR0FBRyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0Qiw4RkFBOEY7UUFDOUYsNEZBQTRGO1FBQzVGLHdCQUF3QjtRQUN4QixNQUFNLEdBQUcsR0FBSSx1QkFBOEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUMzRSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxTQUFvQjtRQUMvQyxJQUFJLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQThCO1FBQ2hELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksV0FBVyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDYixVQUFVLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLG1DQUFtQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2xHLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRiJ9
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkX2tleV9hY2NvdW50X2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfaW1wbC9zdG9yZWRfa2V5X2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsWUFBWSxFQUFjLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJHLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRixPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLHVCQUF1QixNQUFNLHFDQUFxQyxDQUFDLFNBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsWUFDVSxPQUFxQixFQUNyQixVQUFzQixFQUN0QixNQUFjLEVBQ2QsVUFBa0IsZ0JBQWdCLEVBQ2xDLFVBQWtCLGVBQWU7UUFKakMsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUV6QyxJQUFJLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElB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
@@ -1,6 +1,6 @@
1
- import { AztecAddress, Fr, PartialContractAddress, PrivateKey, PublicKey, TxContext } from '@aztec/circuits.js';
2
- import { AztecRPC, ContractData, ContractPublicData, DeployedContract, ExecutionRequest, L2BlockL2Logs, NodeInfo, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/types';
3
- import { AccountImplementation } from '../account_impl/index.js';
1
+ import { AztecAddress, Fr, PartialContractAddress, PrivateKey, PublicKey } from '@aztec/circuits.js';
2
+ import { AztecRPC, ContractData, ContractPublicData, DeployedContract, FunctionCall, L2BlockL2Logs, NodeInfo, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/types';
3
+ import { AccountImplementation, CreateTxRequestOpts } from '../account_impl/index.js';
4
4
  /**
5
5
  * The wallet interface.
6
6
  */
@@ -12,7 +12,7 @@ export declare abstract class BaseWallet implements Wallet {
12
12
  protected readonly rpc: AztecRPC;
13
13
  constructor(rpc: AztecRPC);
14
14
  abstract getAddress(): AztecAddress;
15
- abstract createAuthenticatedTxRequest(executions: ExecutionRequest[], txContext: TxContext): Promise<TxExecutionRequest>;
15
+ abstract createTxExecutionRequest(execs: FunctionCall[], opts?: CreateTxRequestOpts): Promise<TxExecutionRequest>;
16
16
  addAccount(privKey: PrivateKey, address: AztecAddress, partialContractAddress: Fr): Promise<AztecAddress>;
17
17
  addPublicKeyAndPartialAddress(address: AztecAddress, publicKey: PublicKey, partialAddress: PartialContractAddress): Promise<void>;
18
18
  getAccounts(): Promise<AztecAddress[]>;
@@ -42,6 +42,6 @@ export declare class AccountWallet extends BaseWallet {
42
42
  protected accountImpl: AccountImplementation;
43
43
  constructor(rpc: AztecRPC, accountImpl: AccountImplementation);
44
44
  getAddress(): AztecAddress;
45
- createAuthenticatedTxRequest(executions: ExecutionRequest[], txContext: TxContext): Promise<TxExecutionRequest>;
45
+ createTxExecutionRequest(executions: FunctionCall[], opts?: CreateTxRequestOpts): Promise<TxExecutionRequest>;
46
46
  }
47
47
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/wallet.ts"],"names":[],"mappings":"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"}
@@ -80,8 +80,8 @@ export class AccountWallet extends BaseWallet {
80
80
  getAddress() {
81
81
  return this.accountImpl.getAddress();
82
82
  }
83
- createAuthenticatedTxRequest(executions, txContext) {
84
- return this.accountImpl.createAuthenticatedTxRequest(executions, txContext);
83
+ createTxExecutionRequest(executions, opts = {}) {
84
+ return this.accountImpl.createTxExecutionRequest(executions, opts);
85
85
  }
86
86
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjX3JwY19jbGllbnQvd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFhO1FBQWIsUUFBRyxHQUFILEdBQUcsQ0FBVTtJQUFHLENBQUM7SUFNaEQsVUFBVSxDQUFDLE9BQW1CLEVBQUUsT0FBcUIsRUFBRSxzQkFBMEI7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELDZCQUE2QixDQUMzQixPQUFxQixFQUNyQixTQUFvQixFQUNwQixjQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFlBQVksQ0FBQyxTQUE2QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVUsQ0FBQyxTQUE2QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7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
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjX3JwY19jbGllbnQvd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFhO1FBQWIsUUFBRyxHQUFILEdBQUcsQ0FBVTtJQUFHLENBQUM7SUFLaEQsVUFBVSxDQUFDLE9BQW1CLEVBQUUsT0FBcUIsRUFBRSxzQkFBMEI7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELDZCQUE2QixDQUMzQixPQUFxQixFQUNyQixTQUFvQixFQUNwQixjQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFlBQVksQ0FBQyxTQUE2QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVUsQ0FBQyxTQUE2QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7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
@@ -0,0 +1,46 @@
1
+ import { AztecAddress } from '@aztec/circuits.js';
2
+ import { AztecRPC, Tx, TxExecutionRequest } from '@aztec/types';
3
+ import { SentTx } from './sent_tx.js';
4
+ /**
5
+ * Represents options for calling a (constrained) function in a contract.
6
+ * Allows the user to specify the sender address and nonce for a transaction.
7
+ */
8
+ export interface SendMethodOptions {
9
+ /**
10
+ * Sender's address initiating the transaction.
11
+ */
12
+ origin?: AztecAddress;
13
+ }
14
+ /**
15
+ * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
16
+ * Implements the sequence create/simulate/send.
17
+ */
18
+ export declare abstract class BaseContractInteraction {
19
+ protected rpc: AztecRPC;
20
+ protected tx?: Tx;
21
+ protected txRequest?: TxExecutionRequest;
22
+ constructor(rpc: AztecRPC);
23
+ /**
24
+ * Create a transaction execution request ready to be simulated.
25
+ * @param options - An optional object containing additional configuration for the transaction.
26
+ * @returns A transaction execution request.
27
+ */
28
+ abstract create(options?: SendMethodOptions): Promise<TxExecutionRequest>;
29
+ /**
30
+ * Simulates a transaction execution request and returns a tx object ready to be sent.
31
+ * @param options - optional arguments to be used in the creation of the transaction
32
+ * @returns The resulting transaction
33
+ */
34
+ simulate(options?: SendMethodOptions): Promise<Tx>;
35
+ /**
36
+ * Sends a transaction to the contract function with the specified options.
37
+ * This function throws an error if called on an unconstrained function.
38
+ * It creates and signs the transaction if necessary, and returns a SentTx instance,
39
+ * which can be used to track the transaction status, receipt, and events.
40
+ * @param options - An optional object containing 'from' property representing
41
+ * the AztecAddress of the sender. If not provided, the default address is used.
42
+ * @returns A SentTx instance for tracking the transaction status and information.
43
+ */
44
+ send(options?: SendMethodOptions): SentTx;
45
+ }
46
+ //# sourceMappingURL=base_contract_interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,8BAAsB,uBAAuB;IAI/B,SAAS,CAAC,GAAG,EAAE,QAAQ;IAHnC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClB,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;gBAEnB,GAAG,EAAE,QAAQ;IAEnC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;OAIG;IACU,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC;IAMnE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;CAQ5C"}
@@ -0,0 +1,37 @@
1
+ import { SentTx } from './sent_tx.js';
2
+ /**
3
+ * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
4
+ * Implements the sequence create/simulate/send.
5
+ */
6
+ export class BaseContractInteraction {
7
+ constructor(rpc) {
8
+ this.rpc = rpc;
9
+ }
10
+ /**
11
+ * Simulates a transaction execution request and returns a tx object ready to be sent.
12
+ * @param options - optional arguments to be used in the creation of the transaction
13
+ * @returns The resulting transaction
14
+ */
15
+ async simulate(options = {}) {
16
+ const txRequest = this.txRequest ?? (await this.create(options));
17
+ this.tx = await this.rpc.simulateTx(txRequest);
18
+ return this.tx;
19
+ }
20
+ /**
21
+ * Sends a transaction to the contract function with the specified options.
22
+ * This function throws an error if called on an unconstrained function.
23
+ * It creates and signs the transaction if necessary, and returns a SentTx instance,
24
+ * which can be used to track the transaction status, receipt, and events.
25
+ * @param options - An optional object containing 'from' property representing
26
+ * the AztecAddress of the sender. If not provided, the default address is used.
27
+ * @returns A SentTx instance for tracking the transaction status and information.
28
+ */
29
+ send(options = {}) {
30
+ const promise = (async () => {
31
+ const tx = this.tx ?? (await this.simulate(options));
32
+ return this.rpc.sendTx(tx);
33
+ })();
34
+ return new SentTx(this.rpc, promise);
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXNlX2NvbnRyYWN0X2ludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFhdEM7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQix1QkFBdUI7SUFJM0MsWUFBc0IsR0FBYTtRQUFiLFFBQUcsR0FBSCxHQUFHLENBQVU7SUFBRyxDQUFDO0lBU3ZDOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQTZCLEVBQUU7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksSUFBSSxDQUFDLFVBQTZCLEVBQUU7UUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRUwsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiJ9
@@ -0,0 +1,16 @@
1
+ import { FunctionCall, TxExecutionRequest, Wallet } from '../index.js';
2
+ import { BaseContractInteraction, SendMethodOptions } from './base_contract_interaction.js';
3
+ /** A batch of function calls to be sent as a single transaction through a wallet. */
4
+ export declare class BatchCall extends BaseContractInteraction {
5
+ protected wallet: Wallet;
6
+ protected calls: FunctionCall[];
7
+ constructor(wallet: Wallet, calls: FunctionCall[]);
8
+ /**
9
+ * Create a transaction execution request that represents this batch, encoded and authenticated by the
10
+ * user's wallet, ready to be simulated.
11
+ * @param options - An optional object containing additional configuration for the transaction.
12
+ * @returns A Promise that resolves to a transaction instance.
13
+ */
14
+ create(options?: SendMethodOptions | undefined): Promise<TxExecutionRequest>;
15
+ }
16
+ //# sourceMappingURL=batch_call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IACxC,SAAS,CAAC,MAAM,EAAE,MAAM;IAAE,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE;gBAA/C,MAAM,EAAE,MAAM,EAAY,KAAK,EAAE,YAAY,EAAE;IAIrE;;;;;OAKG;IACU,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAM1F"}
@@ -0,0 +1,22 @@
1
+ import { BaseContractInteraction } from './base_contract_interaction.js';
2
+ /** A batch of function calls to be sent as a single transaction through a wallet. */
3
+ export class BatchCall extends BaseContractInteraction {
4
+ constructor(wallet, calls) {
5
+ super(wallet);
6
+ this.wallet = wallet;
7
+ this.calls = calls;
8
+ }
9
+ /**
10
+ * Create a transaction execution request that represents this batch, encoded and authenticated by the
11
+ * user's wallet, ready to be simulated.
12
+ * @param options - An optional object containing additional configuration for the transaction.
13
+ * @returns A Promise that resolves to a transaction instance.
14
+ */
15
+ async create(options) {
16
+ if (!this.txRequest) {
17
+ this.txRequest = await this.wallet.createTxExecutionRequest(this.calls, options);
18
+ }
19
+ return this.txRequest;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXRjaF9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RixxRkFBcUY7QUFDckYsTUFBTSxPQUFPLFNBQVUsU0FBUSx1QkFBdUI7SUFDcEQsWUFBc0IsTUFBYyxFQUFZLEtBQXFCO1FBQ25FLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQURNLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUVyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQXVDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbEY7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUNGIn0=
@@ -82,13 +82,14 @@ describe('Contract Class', () => {
82
82
  });
83
83
  beforeEach(() => {
84
84
  wallet = mock();
85
- wallet.createAuthenticatedTxRequest.mockResolvedValue(mockTxRequest);
85
+ wallet.createTxExecutionRequest.mockResolvedValue(mockTxRequest);
86
86
  wallet.isContractDeployed.mockResolvedValue(true);
87
87
  wallet.sendTx.mockResolvedValue(mockTxHash);
88
88
  wallet.viewTx.mockResolvedValue(mockViewResultValue);
89
89
  wallet.getTxReceipt.mockResolvedValue(mockTxReceipt);
90
90
  wallet.getNodeInfo.mockResolvedValue(mockNodeInfo);
91
91
  wallet.simulateTx.mockResolvedValue(mockTx);
92
+ wallet.getAccounts.mockResolvedValue([account]);
92
93
  });
93
94
  it('should create and send a contract method tx', async () => {
94
95
  const fooContract = await Contract.create(contractAddress, defaultAbi, wallet);
@@ -101,7 +102,7 @@ describe('Contract Class', () => {
101
102
  const receipt = await sentTx.getReceipt();
102
103
  expect(txHash).toBe(mockTxHash);
103
104
  expect(receipt).toBe(mockTxReceipt);
104
- expect(wallet.createAuthenticatedTxRequest).toHaveBeenCalledTimes(1);
105
+ expect(wallet.createTxExecutionRequest).toHaveBeenCalledTimes(1);
105
106
  expect(wallet.sendTx).toHaveBeenCalledTimes(1);
106
107
  expect(wallet.sendTx).toHaveBeenCalledWith(mockTx);
107
108
  });
@@ -114,11 +115,9 @@ describe('Contract Class', () => {
114
115
  expect(wallet.viewTx).toHaveBeenCalledWith('qux', [123n], contractAddress, account);
115
116
  expect(result).toBe(mockViewResultValue);
116
117
  });
117
- it('should not call send on an unconstrained function', async () => {
118
+ it('should not call create on an unconstrained function', async () => {
118
119
  const fooContract = await Contract.create(contractAddress, defaultAbi, wallet);
119
- expect(() => fooContract.methods.qux().send({
120
- origin: account,
121
- })).toThrow();
120
+ await expect(fooContract.methods.qux().create({ origin: account })).rejects.toThrow();
122
121
  });
123
122
  it('should not call view on a secret or open function', async () => {
124
123
  const fooContract = await Contract.create(contractAddress, defaultAbi, wallet);
@@ -142,4 +141,4 @@ describe('Contract Class', () => {
142
141
  }
143
142
  });
144
143
  });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RCxPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksTUFBeUIsQ0FBQztJQUU5QixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRXRDLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBZSxDQUFDO0lBQzNDLE1BQU0sYUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBK0IsQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQW1CLENBQUM7SUFDdkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFzQixDQUFDO0lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sWUFBWSxHQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFMUQsTUFBTSxVQUFVLEdBQWdCO1FBQzlCLElBQUksRUFBRSxhQUFhO1FBQ25CLFNBQVMsRUFBRTtZQUNUO2dCQUNFLElBQUks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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RCxPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksTUFBeUIsQ0FBQztJQUU5QixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRXRDLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBZSxDQUFDO0lBQzNDLE1BQU0sYUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBK0IsQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQW1CLENBQUM7SUFDdkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFzQixDQUFDO0lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sWUFBWSxHQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFMUQsTUFBTSxVQUFVLEdBQWdCO1FBQzlCLElBQUksRUFBRSxhQUFhO1FBQ25CLFNBQVMsRUFBRTtZQUNUO2dCQUNFLElBQUks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