@aztec/accounts 0.24.0 → 0.26.1

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 (32) hide show
  1. package/dest/artifacts/EcdsaAccount.json +1 -3273
  2. package/dest/artifacts/SchnorrAccount.json +1 -3265
  3. package/dest/artifacts/SchnorrSingleKeyAccount.json +1 -3180
  4. package/dest/defaults/account_interface.d.ts.map +1 -1
  5. package/dest/defaults/account_interface.js +2 -2
  6. package/dest/defaults/index.d.ts +0 -3
  7. package/dest/defaults/index.d.ts.map +1 -1
  8. package/dest/defaults/index.js +1 -4
  9. package/dest/testing/configuration.d.ts.map +1 -1
  10. package/dest/testing/configuration.js +6 -2
  11. package/dest/testing/create_account.d.ts.map +1 -1
  12. package/dest/testing/create_account.js +6 -2
  13. package/package.json +10 -9
  14. package/src/artifacts/EcdsaAccount.json +1 -3273
  15. package/src/artifacts/SchnorrAccount.json +1 -3265
  16. package/src/artifacts/SchnorrSingleKeyAccount.json +1 -3180
  17. package/src/defaults/account_interface.ts +1 -2
  18. package/src/defaults/index.ts +0 -3
  19. package/src/testing/configuration.ts +5 -1
  20. package/src/testing/create_account.ts +7 -1
  21. package/dest/defaults/account_entrypoint.d.ts +0 -17
  22. package/dest/defaults/account_entrypoint.d.ts.map +0 -1
  23. package/dest/defaults/account_entrypoint.js +0 -129
  24. package/dest/defaults/constants.d.ts +0 -5
  25. package/dest/defaults/constants.d.ts.map +0 -1
  26. package/dest/defaults/constants.js +0 -5
  27. package/dest/defaults/entrypoint_payload.d.ts +0 -37
  28. package/dest/defaults/entrypoint_payload.d.ts.map +0 -1
  29. package/dest/defaults/entrypoint_payload.js +0 -67
  30. package/src/defaults/account_entrypoint.ts +0 -141
  31. package/src/defaults/constants.ts +0 -4
  32. package/src/defaults/entrypoint_payload.ts +0 -112
@@ -1,10 +1,9 @@
1
1
  import { AccountInterface, AuthWitnessProvider, EntrypointInterface, FeeOptions } from '@aztec/aztec.js/account';
2
2
  import { AuthWitness, FunctionCall, TxExecutionRequest } from '@aztec/circuit-types';
3
3
  import { CompleteAddress, Fr } from '@aztec/circuits.js';
4
+ import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
4
5
  import { NodeInfo } from '@aztec/types/interfaces';
5
6
 
6
- import { DefaultAccountEntrypoint } from './account_entrypoint.js';
7
-
8
7
  /**
9
8
  * Default implementation for an account interface. Requires that the account uses the default
10
9
  * entrypoint signature, which accept an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
@@ -6,8 +6,5 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
 
9
- export * from './entrypoint_payload.js';
10
- export * from './account_entrypoint.js';
11
9
  export * from './account_interface.js';
12
10
  export * from './account_contract.js';
13
- export * from './constants.js';
@@ -62,7 +62,11 @@ export async function deployInitialTestAccounts(pxe: PXE) {
62
62
  const deployMethods = await Promise.all(
63
63
  accounts.map(async x => {
64
64
  const deployMethod = await x.account.getDeployMethod();
65
- await deployMethod.create({ contractAddressSalt: x.account.salt });
65
+ await deployMethod.create({
66
+ contractAddressSalt: x.account.salt,
67
+ skipClassRegistration: true,
68
+ skipPublicDeployment: true,
69
+ });
66
70
  await deployMethod.simulate({});
67
71
  return deployMethod;
68
72
  }),
@@ -28,7 +28,13 @@ export async function createAccounts(pxe: PXE, numberOfAccounts = 1): Promise<Ac
28
28
  // Unfortunately the function below is not stateless and we call it here because it takes a long time to run and
29
29
  // the results get stored within the account object. By calling it here we increase the probability of all the
30
30
  // accounts being deployed in the same block because it makes the deploy() method basically instant.
31
- await account.getDeployMethod().then(d => d.simulate({ contractAddressSalt: account.salt }));
31
+ await account.getDeployMethod().then(d =>
32
+ d.simulate({
33
+ contractAddressSalt: account.salt,
34
+ skipClassRegistration: true,
35
+ skipPublicDeployment: true,
36
+ }),
37
+ );
32
38
  accounts.push(account);
33
39
  }
34
40
 
@@ -1,17 +0,0 @@
1
- import { AuthWitnessProvider, EntrypointInterface, FeeOptions } from '@aztec/aztec.js/account';
2
- import { FunctionCall, TxExecutionRequest } from '@aztec/circuit-types';
3
- import { AztecAddress } from '@aztec/circuits.js';
4
- /**
5
- * Implementation for an entrypoint interface that follows the default entrypoint signature
6
- * for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
7
- */
8
- export declare class DefaultAccountEntrypoint implements EntrypointInterface {
9
- private address;
10
- private auth;
11
- private chainId;
12
- private version;
13
- constructor(address: AztecAddress, auth: AuthWitnessProvider, chainId?: number, version?: number);
14
- createTxExecutionRequest(executions: FunctionCall[], feeOpts?: FeeOptions): Promise<TxExecutionRequest>;
15
- private getEntrypointAbi;
16
- }
17
- //# sourceMappingURL=account_entrypoint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account_entrypoint.d.ts","sourceRoot":"","sources":["../../src/defaults/account_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,YAAY,EAA+C,MAAM,oBAAoB,CAAC;AAM/F;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAEhE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAHP,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,MAAyB,EAClC,OAAO,GAAE,MAAwB;IAGrC,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0B7G,OAAO,CAAC,gBAAgB;CA8FzB"}
@@ -1,129 +0,0 @@
1
- import { PackedArguments, TxExecutionRequest } from '@aztec/circuit-types';
2
- import { Fr, FunctionData, GeneratorIndex, TxContext } from '@aztec/circuits.js';
3
- import { encodeArguments } from '@aztec/foundation/abi';
4
- import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
5
- import { buildAppPayload, buildFeePayload, hashPayload } from './entrypoint_payload.js';
6
- /**
7
- * Implementation for an entrypoint interface that follows the default entrypoint signature
8
- * for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
9
- */
10
- export class DefaultAccountEntrypoint {
11
- constructor(address, auth, chainId = DEFAULT_CHAIN_ID, version = DEFAULT_VERSION) {
12
- this.address = address;
13
- this.auth = auth;
14
- this.chainId = chainId;
15
- this.version = version;
16
- }
17
- async createTxExecutionRequest(executions, feeOpts) {
18
- const { payload: appPayload, packedArguments: appPackedArguments } = buildAppPayload(executions);
19
- const { payload: feePayload, packedArguments: feePackedArguments } = buildFeePayload(feeOpts);
20
- const abi = this.getEntrypointAbi();
21
- const entrypointPackedArgs = PackedArguments.fromArgs(encodeArguments(abi, [appPayload, feePayload]));
22
- const appAuthWitness = await this.auth.createAuthWitness(Fr.fromBuffer(hashPayload(appPayload, GeneratorIndex.SIGNATURE_PAYLOAD)));
23
- const feeAuthWitness = await this.auth.createAuthWitness(Fr.fromBuffer(hashPayload(feePayload, GeneratorIndex.FEE_PAYLOAD)));
24
- const txRequest = TxExecutionRequest.from({
25
- argsHash: entrypointPackedArgs.hash,
26
- origin: this.address,
27
- functionData: FunctionData.fromAbi(abi),
28
- txContext: TxContext.empty(this.chainId, this.version),
29
- packedArguments: [...appPackedArguments, ...feePackedArguments, entrypointPackedArgs],
30
- authWitnesses: [appAuthWitness, feeAuthWitness],
31
- });
32
- return txRequest;
33
- }
34
- getEntrypointAbi() {
35
- return {
36
- name: 'entrypoint',
37
- functionType: 'secret',
38
- isInternal: false,
39
- parameters: [
40
- {
41
- name: 'app_payload',
42
- type: {
43
- kind: 'struct',
44
- path: 'authwit::entrypoint::app::AppPayload',
45
- fields: [
46
- {
47
- name: 'function_calls',
48
- type: {
49
- kind: 'array',
50
- length: 4,
51
- type: {
52
- kind: 'struct',
53
- path: 'authwit::entrypoint::function_call::FunctionCall',
54
- fields: [
55
- { name: 'args_hash', type: { kind: 'field' } },
56
- {
57
- name: 'function_selector',
58
- type: {
59
- kind: 'struct',
60
- path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
61
- fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
62
- },
63
- },
64
- {
65
- name: 'target_address',
66
- type: {
67
- kind: 'struct',
68
- path: 'authwit::aztec::protocol_types::address::AztecAddress',
69
- fields: [{ name: 'inner', type: { kind: 'field' } }],
70
- },
71
- },
72
- { name: 'is_public', type: { kind: 'boolean' } },
73
- ],
74
- },
75
- },
76
- },
77
- { name: 'nonce', type: { kind: 'field' } },
78
- ],
79
- },
80
- visibility: 'public',
81
- },
82
- {
83
- name: 'fee_payload',
84
- type: {
85
- kind: 'struct',
86
- path: 'authwit::entrypoint::fee::FeePayload',
87
- fields: [
88
- {
89
- name: 'function_calls',
90
- type: {
91
- kind: 'array',
92
- length: 2,
93
- type: {
94
- kind: 'struct',
95
- path: 'authwit::entrypoint::function_call::FunctionCall',
96
- fields: [
97
- { name: 'args_hash', type: { kind: 'field' } },
98
- {
99
- name: 'function_selector',
100
- type: {
101
- kind: 'struct',
102
- path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
103
- fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
104
- },
105
- },
106
- {
107
- name: 'target_address',
108
- type: {
109
- kind: 'struct',
110
- path: 'authwit::aztec::protocol_types::address::AztecAddress',
111
- fields: [{ name: 'inner', type: { kind: 'field' } }],
112
- },
113
- },
114
- { name: 'is_public', type: { kind: 'boolean' } },
115
- ],
116
- },
117
- },
118
- },
119
- { name: 'nonce', type: { kind: 'field' } },
120
- ],
121
- },
122
- visibility: 'public',
123
- },
124
- ],
125
- returnTypes: [],
126
- };
127
- }
128
- }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlZmF1bHRzL2FjY291bnRfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBZ0IsRUFBRSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0YsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ1UsT0FBcUIsRUFDckIsSUFBeUIsRUFDekIsVUFBa0IsZ0JBQWdCLEVBQ2xDLFVBQWtCLGVBQWU7UUFIakMsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFxQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUN4QyxDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLFVBQTBCLEVBQUUsT0FBb0I7UUFDN0UsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JB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
@@ -1,5 +0,0 @@
1
- /** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */
2
- export declare const DEFAULT_CHAIN_ID = 31337;
3
- /** Default protocol version to use. */
4
- export declare const DEFAULT_VERSION = 1;
5
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/defaults/constants.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,uCAAuC;AACvC,eAAO,MAAM,eAAe,IAAI,CAAC"}
@@ -1,5 +0,0 @@
1
- /** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */
2
- export const DEFAULT_CHAIN_ID = 31337;
3
- /** Default protocol version to use. */
4
- export const DEFAULT_VERSION = 1;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlZmF1bHRzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RkFBOEY7QUFDOUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0FBQ3RDLHVDQUF1QztBQUN2QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDIn0=
@@ -1,37 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { FeeOptions } from '@aztec/aztec.js/account';
3
- import { Fr } from '@aztec/aztec.js/fields';
4
- import { FunctionCall, PackedArguments } from '@aztec/circuit-types';
5
- /** Encoded function call for account contract entrypoint */
6
- type EntrypointFunctionCall = {
7
- /** Arguments hash for the call */
8
- args_hash: Fr;
9
- /** Selector of the function to call */
10
- function_selector: Fr;
11
- /** Address of the contract to call */
12
- target_address: Fr;
13
- /** Whether the function is public or private */
14
- is_public: boolean;
15
- };
16
- /** Encoded payload for the account contract entrypoint */
17
- type EntrypointPayload = {
18
- /** Encoded function calls to execute */
19
- function_calls: EntrypointFunctionCall[];
20
- /** A nonce for replay protection */
21
- nonce: Fr;
22
- };
23
- /** Represents a generic payload to be executed in the context of an account contract */
24
- export type PayloadWithArguments = {
25
- /** The payload to be run */
26
- payload: EntrypointPayload;
27
- /** The packed arguments for the function calls */
28
- packedArguments: PackedArguments[];
29
- };
30
- /** Assembles an entrypoint app payload from a set of private and public function calls */
31
- export declare function buildAppPayload(calls: FunctionCall[]): PayloadWithArguments;
32
- /** Creates the payload for paying the fee for a transaction */
33
- export declare function buildFeePayload(feeOpts?: FeeOptions): PayloadWithArguments;
34
- /** Hashes a payload to a 32-byte buffer */
35
- export declare function hashPayload(payload: EntrypointPayload, generatorIndex: number): Buffer;
36
- export {};
37
- //# sourceMappingURL=entrypoint_payload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entrypoint_payload.d.ts","sourceRoot":"","sources":["../../src/defaults/entrypoint_payload.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAUxF,4DAA4D;AAC5D,KAAK,sBAAsB,GAAG;IAE5B,kCAAkC;IAClC,SAAS,EAAE,EAAE,CAAC;IAEd,uCAAuC;IACvC,iBAAiB,EAAE,EAAE,CAAC;IAEtB,sCAAsC;IACtC,cAAc,EAAE,EAAE,CAAC;IAEnB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,0DAA0D;AAC1D,KAAK,iBAAiB,GAAG;IAEvB,wCAAwC;IACxC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,oCAAoC;IACpC,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,oBAAoB,GAAG;IACjC,4BAA4B;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,kDAAkD;IAClD,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC,CAAC;AAsCF,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAE3E;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,oBAAoB,CAG1E;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAK7E"}
@@ -1,67 +0,0 @@
1
- import { Fr } from '@aztec/aztec.js/fields';
2
- import { PackedArguments, emptyFunctionCall } from '@aztec/circuit-types';
3
- import { padArrayEnd } from '@aztec/foundation/collection';
4
- import { pedersenHash } from '@aztec/foundation/crypto';
5
- // These must match the values defined in:
6
- // - noir-projects/aztec-nr/aztec/src/entrypoint/app.nr
7
- const ACCOUNT_MAX_CALLS = 4;
8
- // - and noir-projects/aztec-nr/aztec/src/entrypoint/fee.nr
9
- const FEE_MAX_CALLS = 2;
10
- /**
11
- * Builds a payload to be sent to the account contract
12
- * @param calls - The function calls to run
13
- * @param maxCalls - The maximum number of call expected to be run. Used for padding
14
- * @returns A payload object and packed arguments
15
- */
16
- function buildPayload(calls, maxCalls) {
17
- const nonce = Fr.random();
18
- const paddedCalls = padArrayEnd(calls, emptyFunctionCall(), maxCalls);
19
- const packedArguments = [];
20
- for (const call of paddedCalls) {
21
- packedArguments.push(PackedArguments.fromArgs(call.args));
22
- }
23
- const formattedCalls = paddedCalls.map((call, index) => ({
24
- // eslint-disable-next-line camelcase
25
- args_hash: packedArguments[index].hash,
26
- // eslint-disable-next-line camelcase
27
- function_selector: call.functionData.selector.toField(),
28
- // eslint-disable-next-line camelcase
29
- target_address: call.to.toField(),
30
- // eslint-disable-next-line camelcase
31
- is_public: !call.functionData.isPrivate,
32
- }));
33
- return {
34
- payload: {
35
- // eslint-disable-next-line camelcase
36
- function_calls: formattedCalls,
37
- nonce,
38
- },
39
- packedArguments,
40
- };
41
- }
42
- /** Assembles an entrypoint app payload from a set of private and public function calls */
43
- export function buildAppPayload(calls) {
44
- return buildPayload(calls, ACCOUNT_MAX_CALLS);
45
- }
46
- /** Creates the payload for paying the fee for a transaction */
47
- export function buildFeePayload(feeOpts) {
48
- const calls = feeOpts?.paymentMethod.getFunctionCalls(new Fr(feeOpts.maxFee)) ?? [];
49
- return buildPayload(calls, FEE_MAX_CALLS);
50
- }
51
- /** Hashes a payload to a 32-byte buffer */
52
- export function hashPayload(payload, generatorIndex) {
53
- return pedersenHash(flattenPayload(payload).map(fr => fr.toBuffer()), generatorIndex);
54
- }
55
- /** Flattens an payload */
56
- function flattenPayload(payload) {
57
- return [
58
- ...payload.function_calls.flatMap(call => [
59
- call.args_hash,
60
- call.function_selector,
61
- call.target_address,
62
- new Fr(call.is_public),
63
- ]),
64
- payload.nonce,
65
- ];
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludF9wYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlZmF1bHRzL2VudHJ5cG9pbnRfcGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFnQixlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELDBDQUEwQztBQUMxQyx1REFBdUQ7QUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7QUFDNUIsMkRBQTJEO0FBQzNELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQW1DeEI7Ozs7O0dBS0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFxQixFQUFFLFFBQWdCO0lBQzNELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUUxQixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEUsTUFBTSxlQUFlLEdBQXNCLEVBQUUsQ0FBQztJQUM5QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQy9CLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQTZCLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLHFDQUFxQztRQUNyQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7UUFDdEMscUNBQXFDO1FBQ3JDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUN2RCxxQ0FBcUM7UUFDckMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1FBQ2pDLHFDQUFxQztRQUNyQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7S0FDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AscUNBQXFDO1lBQ3JDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLEtBQUs7U0FDTjtRQUNELGVBQWU7S0FDaEIsQ0FBQztBQUNKLENBQUM7QUFFRCwwRkFBMEY7QUFDMUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFxQjtJQUNuRCxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBb0I7SUFDbEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEYsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCwyQ0FBMkM7QUFDM0MsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUEwQixFQUFFLGNBQXNCO0lBQzVFLE9BQU8sWUFBWSxDQUNqQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ2hELGNBQWMsQ0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELDBCQUEwQjtBQUMxQixTQUFTLGNBQWMsQ0FBQyxPQUEwQjtJQUNoRCxPQUFPO1FBQ0wsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQjtZQUN0QixJQUFJLENBQUMsY0FBYztZQUNuQixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3ZCLENBQUM7UUFDRixPQUFPLENBQUMsS0FBSztLQUNkLENBQUM7QUFDSixDQUFDIn0=
@@ -1,141 +0,0 @@
1
- import { AuthWitnessProvider, EntrypointInterface, FeeOptions } from '@aztec/aztec.js/account';
2
- import { FunctionCall, PackedArguments, TxExecutionRequest } from '@aztec/circuit-types';
3
- import { AztecAddress, Fr, FunctionData, GeneratorIndex, TxContext } from '@aztec/circuits.js';
4
- import { FunctionAbi, encodeArguments } from '@aztec/foundation/abi';
5
-
6
- import { DEFAULT_CHAIN_ID, DEFAULT_VERSION } from './constants.js';
7
- import { buildAppPayload, buildFeePayload, hashPayload } from './entrypoint_payload.js';
8
-
9
- /**
10
- * Implementation for an entrypoint interface that follows the default entrypoint signature
11
- * for an account, which accepts an AppPayload and a FeePayload as defined in noir-libs/aztec-noir/src/entrypoint module
12
- */
13
- export class DefaultAccountEntrypoint implements EntrypointInterface {
14
- constructor(
15
- private address: AztecAddress,
16
- private auth: AuthWitnessProvider,
17
- private chainId: number = DEFAULT_CHAIN_ID,
18
- private version: number = DEFAULT_VERSION,
19
- ) {}
20
-
21
- async createTxExecutionRequest(executions: FunctionCall[], feeOpts?: FeeOptions): Promise<TxExecutionRequest> {
22
- const { payload: appPayload, packedArguments: appPackedArguments } = buildAppPayload(executions);
23
- const { payload: feePayload, packedArguments: feePackedArguments } = buildFeePayload(feeOpts);
24
-
25
- const abi = this.getEntrypointAbi();
26
- const entrypointPackedArgs = PackedArguments.fromArgs(encodeArguments(abi, [appPayload, feePayload]));
27
-
28
- const appAuthWitness = await this.auth.createAuthWitness(
29
- Fr.fromBuffer(hashPayload(appPayload, GeneratorIndex.SIGNATURE_PAYLOAD)),
30
- );
31
- const feeAuthWitness = await this.auth.createAuthWitness(
32
- Fr.fromBuffer(hashPayload(feePayload, GeneratorIndex.FEE_PAYLOAD)),
33
- );
34
-
35
- const txRequest = TxExecutionRequest.from({
36
- argsHash: entrypointPackedArgs.hash,
37
- origin: this.address,
38
- functionData: FunctionData.fromAbi(abi),
39
- txContext: TxContext.empty(this.chainId, this.version),
40
- packedArguments: [...appPackedArguments, ...feePackedArguments, entrypointPackedArgs],
41
- authWitnesses: [appAuthWitness, feeAuthWitness],
42
- });
43
-
44
- return txRequest;
45
- }
46
-
47
- private getEntrypointAbi() {
48
- return {
49
- name: 'entrypoint',
50
- functionType: 'secret',
51
- isInternal: false,
52
- parameters: [
53
- {
54
- name: 'app_payload',
55
- type: {
56
- kind: 'struct',
57
- path: 'authwit::entrypoint::app::AppPayload',
58
- fields: [
59
- {
60
- name: 'function_calls',
61
- type: {
62
- kind: 'array',
63
- length: 4,
64
- type: {
65
- kind: 'struct',
66
- path: 'authwit::entrypoint::function_call::FunctionCall',
67
- fields: [
68
- { name: 'args_hash', type: { kind: 'field' } },
69
- {
70
- name: 'function_selector',
71
- type: {
72
- kind: 'struct',
73
- path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
74
- fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
75
- },
76
- },
77
- {
78
- name: 'target_address',
79
- type: {
80
- kind: 'struct',
81
- path: 'authwit::aztec::protocol_types::address::AztecAddress',
82
- fields: [{ name: 'inner', type: { kind: 'field' } }],
83
- },
84
- },
85
- { name: 'is_public', type: { kind: 'boolean' } },
86
- ],
87
- },
88
- },
89
- },
90
- { name: 'nonce', type: { kind: 'field' } },
91
- ],
92
- },
93
- visibility: 'public',
94
- },
95
- {
96
- name: 'fee_payload',
97
- type: {
98
- kind: 'struct',
99
- path: 'authwit::entrypoint::fee::FeePayload',
100
- fields: [
101
- {
102
- name: 'function_calls',
103
- type: {
104
- kind: 'array',
105
- length: 2,
106
- type: {
107
- kind: 'struct',
108
- path: 'authwit::entrypoint::function_call::FunctionCall',
109
- fields: [
110
- { name: 'args_hash', type: { kind: 'field' } },
111
- {
112
- name: 'function_selector',
113
- type: {
114
- kind: 'struct',
115
- path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
116
- fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
117
- },
118
- },
119
- {
120
- name: 'target_address',
121
- type: {
122
- kind: 'struct',
123
- path: 'authwit::aztec::protocol_types::address::AztecAddress',
124
- fields: [{ name: 'inner', type: { kind: 'field' } }],
125
- },
126
- },
127
- { name: 'is_public', type: { kind: 'boolean' } },
128
- ],
129
- },
130
- },
131
- },
132
- { name: 'nonce', type: { kind: 'field' } },
133
- ],
134
- },
135
- visibility: 'public',
136
- },
137
- ],
138
- returnTypes: [],
139
- } as FunctionAbi;
140
- }
141
- }
@@ -1,4 +0,0 @@
1
- /** Default L1 chain ID to use when constructing txs (matches hardhat and anvil's default). */
2
- export const DEFAULT_CHAIN_ID = 31337;
3
- /** Default protocol version to use. */
4
- export const DEFAULT_VERSION = 1;
@@ -1,112 +0,0 @@
1
- import { FeeOptions } from '@aztec/aztec.js/account';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import { FunctionCall, PackedArguments, emptyFunctionCall } from '@aztec/circuit-types';
4
- import { padArrayEnd } from '@aztec/foundation/collection';
5
- import { pedersenHash } from '@aztec/foundation/crypto';
6
-
7
- // These must match the values defined in:
8
- // - noir-projects/aztec-nr/aztec/src/entrypoint/app.nr
9
- const ACCOUNT_MAX_CALLS = 4;
10
- // - and noir-projects/aztec-nr/aztec/src/entrypoint/fee.nr
11
- const FEE_MAX_CALLS = 2;
12
-
13
- /** Encoded function call for account contract entrypoint */
14
- type EntrypointFunctionCall = {
15
- // eslint-disable-next-line camelcase
16
- /** Arguments hash for the call */
17
- args_hash: Fr;
18
- // eslint-disable-next-line camelcase
19
- /** Selector of the function to call */
20
- function_selector: Fr;
21
- // eslint-disable-next-line camelcase
22
- /** Address of the contract to call */
23
- target_address: Fr;
24
- // eslint-disable-next-line camelcase
25
- /** Whether the function is public or private */
26
- is_public: boolean;
27
- };
28
-
29
- /** Encoded payload for the account contract entrypoint */
30
- type EntrypointPayload = {
31
- // eslint-disable-next-line camelcase
32
- /** Encoded function calls to execute */
33
- function_calls: EntrypointFunctionCall[];
34
- /** A nonce for replay protection */
35
- nonce: Fr;
36
- };
37
-
38
- /** Represents a generic payload to be executed in the context of an account contract */
39
- export type PayloadWithArguments = {
40
- /** The payload to be run */
41
- payload: EntrypointPayload;
42
- /** The packed arguments for the function calls */
43
- packedArguments: PackedArguments[];
44
- };
45
-
46
- /**
47
- * Builds a payload to be sent to the account contract
48
- * @param calls - The function calls to run
49
- * @param maxCalls - The maximum number of call expected to be run. Used for padding
50
- * @returns A payload object and packed arguments
51
- */
52
- function buildPayload(calls: FunctionCall[], maxCalls: number): PayloadWithArguments {
53
- const nonce = Fr.random();
54
-
55
- const paddedCalls = padArrayEnd(calls, emptyFunctionCall(), maxCalls);
56
- const packedArguments: PackedArguments[] = [];
57
- for (const call of paddedCalls) {
58
- packedArguments.push(PackedArguments.fromArgs(call.args));
59
- }
60
-
61
- const formattedCalls: EntrypointFunctionCall[] = paddedCalls.map((call, index) => ({
62
- // eslint-disable-next-line camelcase
63
- args_hash: packedArguments[index].hash,
64
- // eslint-disable-next-line camelcase
65
- function_selector: call.functionData.selector.toField(),
66
- // eslint-disable-next-line camelcase
67
- target_address: call.to.toField(),
68
- // eslint-disable-next-line camelcase
69
- is_public: !call.functionData.isPrivate,
70
- }));
71
-
72
- return {
73
- payload: {
74
- // eslint-disable-next-line camelcase
75
- function_calls: formattedCalls,
76
- nonce,
77
- },
78
- packedArguments,
79
- };
80
- }
81
-
82
- /** Assembles an entrypoint app payload from a set of private and public function calls */
83
- export function buildAppPayload(calls: FunctionCall[]): PayloadWithArguments {
84
- return buildPayload(calls, ACCOUNT_MAX_CALLS);
85
- }
86
-
87
- /** Creates the payload for paying the fee for a transaction */
88
- export function buildFeePayload(feeOpts?: FeeOptions): PayloadWithArguments {
89
- const calls = feeOpts?.paymentMethod.getFunctionCalls(new Fr(feeOpts.maxFee)) ?? [];
90
- return buildPayload(calls, FEE_MAX_CALLS);
91
- }
92
-
93
- /** Hashes a payload to a 32-byte buffer */
94
- export function hashPayload(payload: EntrypointPayload, generatorIndex: number) {
95
- return pedersenHash(
96
- flattenPayload(payload).map(fr => fr.toBuffer()),
97
- generatorIndex,
98
- );
99
- }
100
-
101
- /** Flattens an payload */
102
- function flattenPayload(payload: EntrypointPayload) {
103
- return [
104
- ...payload.function_calls.flatMap(call => [
105
- call.args_hash,
106
- call.function_selector,
107
- call.target_address,
108
- new Fr(call.is_public),
109
- ]),
110
- payload.nonce,
111
- ];
112
- }