@wonderland/aztec-fee-payment 4.1.0-rc.4 → 4.2.0

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 (38) hide show
  1. package/README.md +40 -16
  2. package/dist/src/artifacts/Counter.d.ts +9 -9
  3. package/dist/src/artifacts/Counter.d.ts.map +1 -1
  4. package/dist/src/artifacts/{BridgedFPC.d.ts → PrivateFPC.d.ts} +19 -19
  5. package/dist/src/artifacts/PrivateFPC.d.ts.map +1 -0
  6. package/dist/src/artifacts/{BridgedFPC.js → PrivateFPC.js} +12 -12
  7. package/dist/src/ts/fee-payment-methods/index.d.ts +2 -2
  8. package/dist/src/ts/fee-payment-methods/index.d.ts.map +1 -1
  9. package/dist/src/ts/fee-payment-methods/index.js +3 -3
  10. package/dist/src/ts/fee-payment-methods/{bridged.d.ts → private.d.ts} +7 -7
  11. package/dist/src/ts/fee-payment-methods/{bridged.d.ts.map → private.d.ts.map} +1 -1
  12. package/dist/src/ts/fee-payment-methods/{bridged.js → private.js} +8 -8
  13. package/dist/src/ts/fee-payment-methods/shared.d.ts +0 -16
  14. package/dist/src/ts/fee-payment-methods/shared.d.ts.map +1 -1
  15. package/dist/src/ts/fee-payment-methods/shared.js +1 -37
  16. package/dist/src/ts/index.d.ts +8 -7
  17. package/dist/src/ts/index.d.ts.map +1 -1
  18. package/dist/src/ts/index.js +9 -9
  19. package/dist/src/ts/utils/deploy.d.ts +7 -7
  20. package/dist/src/ts/utils/deploy.d.ts.map +1 -1
  21. package/dist/src/ts/utils/deploy.js +9 -10
  22. package/dist/src/ts/utils/gas.d.ts +61 -25
  23. package/dist/src/ts/utils/gas.d.ts.map +1 -1
  24. package/dist/src/ts/utils/gas.js +85 -28
  25. package/dist/src/ts/utils/index.d.ts +3 -2
  26. package/dist/src/ts/utils/index.d.ts.map +1 -1
  27. package/dist/src/ts/utils/index.js +3 -3
  28. package/dist/target/counter_contract-Counter.json +4451 -455
  29. package/dist/target/private_contract-PrivateFPC.json +14170 -0
  30. package/package.json +5 -5
  31. package/target/counter_contract-Counter.json +4451 -455
  32. package/target/counter_contract-Counter.json.bak +1 -1
  33. package/target/private_contract-PrivateFPC.json +14170 -0
  34. package/target/private_contract-PrivateFPC.json.bak +1 -0
  35. package/dist/src/artifacts/BridgedFPC.d.ts.map +0 -1
  36. package/dist/target/bridged_contract-BridgedFPC.json +0 -8821
  37. package/target/bridged_contract-BridgedFPC.json +0 -8821
  38. package/target/bridged_contract-BridgedFPC.json.bak +0 -1
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Aztec Fee Payment Contracts
2
2
 
3
- A Fee Payment Contract (FPC) for Aztec that enables transaction fee sponsorship via bridged FeeJuice.
3
+ A Fee Payment Contract (FPC) for Aztec that enables private transaction fee sponsorship via FeeJuice.
4
4
 
5
5
  ## Overview
6
6
 
7
7
  | Contract | Description | Auth model |
8
8
  |----------|-------------|-----------|
9
- | **BridgedFPC** | Fully private. Users bridge FeeJuice from L1; the bridge claim converts to internal wFJ balance for fee sponsorship. | Cryptographic bridge proof (no owner, no agent) |
9
+ | **PrivateFPC** | Fully private. Users bridge FeeJuice from L1; the bridge claim converts to internal FJ balance for fee sponsorship. | Cryptographic bridge proof (no owner, no agent) |
10
10
 
11
11
  ## Project Structure
12
12
 
@@ -15,7 +15,7 @@ A Fee Payment Contract (FPC) for Aztec that enables transaction fee sponsorship
15
15
  │ ├── artifacts/ # Generated contract bindings
16
16
  │ ├── nr/ # Noir smart contracts
17
17
  │ │ ├── counter_contract/ # Test utility contract
18
- │ │ └── bridged_contract/ # BridgedFPC
18
+ │ │ └── private_contract/ # PrivateFPC
19
19
  │ └── ts/ # TypeScript package
20
20
  │ ├── fee-payment-methods/ # Fee payment method classes
21
21
  │ ├── utils/ # Utilities (gas, deploy)
@@ -29,7 +29,7 @@ A Fee Payment Contract (FPC) for Aztec that enables transaction fee sponsorship
29
29
 
30
30
  ### Prerequisites
31
31
 
32
- - [Aztec Sandbox](https://docs.aztec.network/getting_started) v3.0.0 or later
32
+ - [Aztec CLI](https://docs.aztec.network/getting_started) v4.2.0
33
33
  - Node.js 22+
34
34
  - Yarn 1.22+
35
35
 
@@ -66,28 +66,52 @@ yarn test:nr # Noir unit tests only
66
66
  yarn test:js # JS integration tests only
67
67
  ```
68
68
 
69
- ## External Usage
69
+ ## Deployment
70
70
 
71
- See [src/ts/README.md](src/ts/README.md) for detailed documentation on using the published NPM package.
71
+ PrivateFPC is a **fully private** contract — it has no public functions and no constructor. This means **no on-chain deployment transaction is required**. The contract address is computed deterministically from its class hash and a salt, and users interact with it privately by address.
72
+
73
+ ### Compute the address
74
+
75
+ 1. Copy `.env.example` to `.env` and set `PRIVATE_FPC_SALT`:
76
+ ```bash
77
+ cp .env.example .env
78
+ ```
79
+
80
+ 2. Compile the contracts (required on first run):
81
+ ```bash
82
+ yarn ccc
83
+ ```
84
+
85
+ 3. Run the compute script:
86
+ ```bash
87
+ yarn compute
88
+ ```
89
+
90
+ > **DANGER:** The address is derived from compiled bytecode. A different Aztec version produces different bytecode and a **different address**. Sending funds to the wrong address means **unrecoverable loss**. Before using this address, verify the target network runs the same Aztec version as the one shown in the script output:
91
+ > ```bash
92
+ > curl -s -X POST <NODE_URL> -H 'Content-Type: application/json' \
93
+ > -d '{"jsonrpc":"2.0","method":"node_getNodeInfo","id":1,"params":[]}' \
94
+ > | jq .result.nodeVersion
95
+ > ```
96
+
97
+ ## Usage
72
98
 
73
99
  ```bash
74
100
  yarn add @defi-wonderland/aztec-fee-payment
75
101
  ```
76
102
 
77
- ### BridgedFPC
78
-
79
- Fully private; no owner and no off-chain agent. Users bridge FeeJuice from L1 to the FPC address, then call `mint` to convert the bridge claim into private wFJ balance.
103
+ See [src/ts/README.md](src/ts/README.md) for detailed SDK documentation.
80
104
 
81
105
  ```typescript
82
106
  import {
83
- BridgedFPCContract,
107
+ PrivateFPCContract,
84
108
  FPCFeePaymentMethod,
85
- BridgedMintAndPayFeePaymentMethod,
86
- registerBridgedContract,
109
+ PrivateMintAndPayFeePaymentMethod,
110
+ registerPrivateContract,
87
111
  } from '@defi-wonderland/aztec-fee-payment';
88
112
 
89
- // Register the BridgedFPC — no deployment transaction needed (fully private contract)
90
- const fpc = await registerBridgedContract(wallet);
113
+ // Register the PrivateFPC — no deployment transaction needed (fully private contract)
114
+ const fpc = await registerPrivateContract(wallet, salt);
91
115
 
92
116
  // --- L1: deposit to FeeJuicePortal with a claimer-bound secretHash ---
93
117
  // secretHash = computeSecretHash(poseidon2([salt, claimerAddress], DOM_SEP))
@@ -97,7 +121,7 @@ const fpc = await registerBridgedContract(wallet);
97
121
  // Step 1: claim FeeJuice on L2 (emits FeeJuice nullifier)
98
122
  await feeJuice.methods.claim(fpc.address, amount, secret, leafIndex).send();
99
123
 
100
- // Step 2: mint internal wFJ balance by proving the bridge claim
124
+ // Step 2: mint internal FJ balance by proving the bridge claim
101
125
  await fpc.methods.mint(amount, salt, leafIndex).send();
102
126
 
103
127
  // User sponsors a transaction from their internal balance
@@ -108,7 +132,7 @@ await myContract.methods.doSomething()
108
132
  await myContract.methods.doSomething()
109
133
  .send({
110
134
  fee: {
111
- paymentMethod: new BridgedMintAndPayFeePaymentMethod(
135
+ paymentMethod: new PrivateMintAndPayFeePaymentMethod(
112
136
  fpc.address, amount, secret, salt, leafIndex,
113
137
  ),
114
138
  },
@@ -1,5 +1,5 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { type AztecAddressLike, type ContractArtifact, type FieldLike } from '@aztec/aztec.js/abi';
2
+ import { type AztecAddressLike, type ContractArtifact, type FieldLike, type OptionLike } from '@aztec/aztec.js/abi';
3
3
  import { ContractBase, ContractFunctionInteraction, type ContractMethod, type ContractStorageLayout, DeployMethod } from '@aztec/aztec.js/contracts';
4
4
  import { PublicKeys } from '@aztec/aztec.js/keys';
5
5
  import type { Wallet } from '@aztec/aztec.js/wallet';
@@ -47,17 +47,17 @@ export declare class CounterContract extends ContractBase {
47
47
  get_counter: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
48
48
  /** increment() */
49
49
  increment: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
50
- /** process_message(message_ciphertext: struct, message_context: struct) */
51
- process_message: ((message_ciphertext: FieldLike[], message_context: {
52
- tx_hash: FieldLike;
53
- unique_note_hashes_in_tx: FieldLike[];
54
- first_nullifier_in_tx: FieldLike;
50
+ /** offchain_receive(messages: struct) */
51
+ offchain_receive: ((messages: {
52
+ ciphertext: FieldLike[];
55
53
  recipient: AztecAddressLike;
56
- }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
54
+ tx_hash: OptionLike<FieldLike>;
55
+ anchor_block_timestamp: (bigint | number);
56
+ }[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
57
57
  /** public_dispatch(selector: field) */
58
58
  public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
59
- /** sync_state() */
60
- sync_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
59
+ /** sync_state(scope: struct) */
60
+ sync_state: ((scope: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
61
61
  };
62
62
  }
63
63
  //# sourceMappingURL=Counter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../src/artifacts/Counter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAqD,KAAK,SAAS,EAAoK,MAAM,qBAAqB,CAAC;AACtU,OAAO,EAAY,YAAY,EAAE,2BAA2B,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG/J,OAAO,EAAkB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,uBAAuB,kBAA4E,CAAC;AAIjH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAE/C,OAAO;IASP;;;;;OAKG;WACW,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACb,eAAe;IAKlB;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,MAAM;IAInC;;OAEG;WACW,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAIzE;;OAEG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,SAAS,CAAC,EACrE,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAcpD;;OAEG;IACH,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED;;OAEG;IACH,WAAkB,iBAAiB,IAAI,gBAAgB,CAEtD;IAGD,WAAkB,OAAO,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAM1D;IAGH,yEAAyE;IAC1D,OAAO,EAAE;QAEtB,oBAAoB;QACpB,WAAW,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEpF,kBAAkB;QAClB,SAAS,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAElF,2EAA2E;QAC3E,eAAe,EAAE,CAAC,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE;YAAE,OAAO,EAAE,SAAS,CAAC;YAAC,wBAAwB,EAAE,SAAS,EAAE,CAAC;YAAC,qBAAqB,EAAE,SAAS,CAAC;YAAC,SAAS,EAAE,gBAAgB,CAAA;SAAE,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEtQ,uCAAuC;QACvC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3G,mBAAmB;QACnB,UAAU,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KACpF,CAAC;CAGH"}
1
+ {"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../src/artifacts/Counter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAqD,KAAK,SAAS,EAA6G,KAAK,UAAU,EAAwC,MAAM,qBAAqB,CAAC;AACtU,OAAO,EAAY,YAAY,EAAE,2BAA2B,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG/J,OAAO,EAAkB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,uBAAuB,kBAA4E,CAAC;AAIjH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAE/C,OAAO;IASP;;;;;OAKG;WACW,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACb,eAAe;IAKlB;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,MAAM;IAInC;;OAEG;WACW,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAIzE;;OAEG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,SAAS,CAAC,EACrE,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAcpD;;OAEG;IACH,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED;;OAEG;IACH,WAAkB,iBAAiB,IAAI,gBAAgB,CAEtD;IAGD,WAAkB,OAAO,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAM1D;IAGH,yEAAyE;IAC1D,OAAO,EAAE;QAEtB,oBAAoB;QACpB,WAAW,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEpF,kBAAkB;QAClB,SAAS,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAElF,yCAAyC;QACzC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE;YAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAAC,SAAS,EAAE,gBAAgB,CAAC;YAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAAC,sBAAsB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,EAAE,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAExO,uCAAuC;QACvC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3G,gCAAgC;QAChC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KAC3G,CAAC;CAGH"}
@@ -1,13 +1,13 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { type AztecAddressLike, type ContractArtifact, type FieldLike } from '@aztec/aztec.js/abi';
2
+ import { type AztecAddressLike, type ContractArtifact, type FieldLike, type OptionLike } from '@aztec/aztec.js/abi';
3
3
  import { ContractBase, ContractFunctionInteraction, type ContractMethod, type ContractStorageLayout, DeployMethod } from '@aztec/aztec.js/contracts';
4
4
  import { PublicKeys } from '@aztec/aztec.js/keys';
5
5
  import type { Wallet } from '@aztec/aztec.js/wallet';
6
- export declare const BridgedFPCContractArtifact: ContractArtifact;
6
+ export declare const PrivateFPCContractArtifact: ContractArtifact;
7
7
  /**
8
- * Type-safe interface for contract BridgedFPC;
8
+ * Type-safe interface for contract PrivateFPC;
9
9
  */
10
- export declare class BridgedFPCContract extends ContractBase {
10
+ export declare class PrivateFPCContract extends ContractBase {
11
11
  private constructor();
12
12
  /**
13
13
  * Creates a contract instance.
@@ -15,23 +15,23 @@ export declare class BridgedFPCContract extends ContractBase {
15
15
  * @param wallet - The wallet to use when interacting with the contract.
16
16
  * @returns A new Contract instance.
17
17
  */
18
- static at(address: AztecAddress, wallet: Wallet): BridgedFPCContract;
18
+ static at(address: AztecAddress, wallet: Wallet): PrivateFPCContract;
19
19
  /**
20
20
  * Creates a tx to deploy a new instance of this contract.
21
21
  */
22
- static deploy(wallet: Wallet): DeployMethod<BridgedFPCContract>;
22
+ static deploy(wallet: Wallet): DeployMethod<PrivateFPCContract>;
23
23
  /**
24
24
  * Creates a tx to deploy a new instance of this contract using the specified public keys hash to derive the address.
25
25
  */
26
- static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet): DeployMethod<BridgedFPCContract>;
26
+ static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet): DeployMethod<PrivateFPCContract>;
27
27
  /**
28
28
  * Creates a tx to deploy a new instance of this contract using the specified constructor method.
29
29
  */
30
- static deployWithOpts<M extends keyof BridgedFPCContract['methods']>(opts: {
30
+ static deployWithOpts<M extends keyof PrivateFPCContract['methods']>(opts: {
31
31
  publicKeys?: PublicKeys;
32
32
  method?: M;
33
33
  wallet: Wallet;
34
- }, ...args: Parameters<BridgedFPCContract['methods'][M]>): DeployMethod<BridgedFPCContract>;
34
+ }, ...args: Parameters<PrivateFPCContract['methods'][M]>): DeployMethod<PrivateFPCContract>;
35
35
  /**
36
36
  * Returns this contract's artifact.
37
37
  */
@@ -49,19 +49,19 @@ export declare class BridgedFPCContract extends ContractBase {
49
49
  mint: ((amount: (bigint | number), salt: FieldLike, leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
50
50
  /** mint_and_pay_fee(amount: integer, salt: field, leaf_index: field) */
51
51
  mint_and_pay_fee: ((amount: (bigint | number), salt: FieldLike, leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
52
+ /** offchain_receive(messages: struct) */
53
+ offchain_receive: ((messages: {
54
+ ciphertext: FieldLike[];
55
+ recipient: AztecAddressLike;
56
+ tx_hash: OptionLike<FieldLike>;
57
+ anchor_block_timestamp: (bigint | number);
58
+ }[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
52
59
  /** pay_fee() */
53
60
  pay_fee: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
54
- /** process_message(message_ciphertext: struct, message_context: struct) */
55
- process_message: ((message_ciphertext: FieldLike[], message_context: {
56
- tx_hash: FieldLike;
57
- unique_note_hashes_in_tx: FieldLike[];
58
- first_nullifier_in_tx: FieldLike;
59
- recipient: AztecAddressLike;
60
- }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
61
61
  /** public_dispatch(selector: field) */
62
62
  public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
63
- /** sync_state() */
64
- sync_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
63
+ /** sync_state(scope: struct) */
64
+ sync_state: ((scope: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
65
65
  };
66
66
  }
67
- //# sourceMappingURL=BridgedFPC.d.ts.map
67
+ //# sourceMappingURL=PrivateFPC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivateFPC.d.ts","sourceRoot":"","sources":["../../../src/artifacts/PrivateFPC.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAqD,KAAK,SAAS,EAA6G,KAAK,UAAU,EAAwC,MAAM,qBAAqB,CAAC;AACtU,OAAO,EAAY,YAAY,EAAE,2BAA2B,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG/J,OAAO,EAAkB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,0BAA0B,kBAA+E,CAAC;AAIvH;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAElD,OAAO;IASP;;;;;OAKG;WACW,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACb,kBAAkB;IAKrB;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,MAAM;IAInC;;OAEG;WACW,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAIzE;;OAEG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,SAAS,CAAC,EACxE,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAcvD;;OAEG;IACH,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED;;OAEG;IACH,WAAkB,iBAAiB,IAAI,gBAAgB,CAEtD;IAGD,WAAkB,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAM3D;IAGH,yEAAyE;IAC1D,OAAO,EAAE;QAEtB,kCAAkC;QAClC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,gBAAgB,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE5G,4DAA4D;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE9I,wEAAwE;QACxE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE1J,yCAAyC;QACzC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE;YAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAAC,SAAS,EAAE,gBAAgB,CAAC;YAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAAC,sBAAsB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,EAAE,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAExO,gBAAgB;QAChB,OAAO,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEhF,uCAAuC;QACvC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3G,gCAAgC;QAChC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KAC3G,CAAC;CAGH"}
@@ -3,14 +3,14 @@ import { loadContractArtifact, loadContractArtifactForPublic } from '@aztec/azte
3
3
  import { Contract, ContractBase, DeployMethod } from '@aztec/aztec.js/contracts';
4
4
  import { Fr } from '@aztec/aztec.js/fields';
5
5
  import { PublicKeys } from '@aztec/aztec.js/keys';
6
- import BridgedFPCContractArtifactJson from '../../target/bridged_contract-BridgedFPC.json' with { type: 'json' };
7
- export const BridgedFPCContractArtifact = loadContractArtifact(BridgedFPCContractArtifactJson);
6
+ import PrivateFPCContractArtifactJson from '../../target/private_contract-PrivateFPC.json' with { type: 'json' };
7
+ export const PrivateFPCContractArtifact = loadContractArtifact(PrivateFPCContractArtifactJson);
8
8
  /**
9
- * Type-safe interface for contract BridgedFPC;
9
+ * Type-safe interface for contract PrivateFPC;
10
10
  */
11
- export class BridgedFPCContract extends ContractBase {
11
+ export class PrivateFPCContract extends ContractBase {
12
12
  constructor(address, wallet) {
13
- super(address, BridgedFPCContractArtifact, wallet);
13
+ super(address, PrivateFPCContractArtifact, wallet);
14
14
  }
15
15
  /**
16
16
  * Creates a contract instance.
@@ -19,37 +19,37 @@ export class BridgedFPCContract extends ContractBase {
19
19
  * @returns A new Contract instance.
20
20
  */
21
21
  static at(address, wallet) {
22
- return Contract.at(address, BridgedFPCContract.artifact, wallet);
22
+ return Contract.at(address, PrivateFPCContract.artifact, wallet);
23
23
  }
24
24
  /**
25
25
  * Creates a tx to deploy a new instance of this contract.
26
26
  */
27
27
  static deploy(wallet) {
28
- return new DeployMethod(PublicKeys.default(), wallet, BridgedFPCContractArtifact, (instance, wallet) => BridgedFPCContract.at(instance.address, wallet), Array.from(arguments).slice(1));
28
+ return new DeployMethod(PublicKeys.default(), wallet, PrivateFPCContractArtifact, (instance, wallet) => PrivateFPCContract.at(instance.address, wallet), Array.from(arguments).slice(1));
29
29
  }
30
30
  /**
31
31
  * Creates a tx to deploy a new instance of this contract using the specified public keys hash to derive the address.
32
32
  */
33
33
  static deployWithPublicKeys(publicKeys, wallet) {
34
- return new DeployMethod(publicKeys, wallet, BridgedFPCContractArtifact, (instance, wallet) => BridgedFPCContract.at(instance.address, wallet), Array.from(arguments).slice(2));
34
+ return new DeployMethod(publicKeys, wallet, PrivateFPCContractArtifact, (instance, wallet) => PrivateFPCContract.at(instance.address, wallet), Array.from(arguments).slice(2));
35
35
  }
36
36
  /**
37
37
  * Creates a tx to deploy a new instance of this contract using the specified constructor method.
38
38
  */
39
39
  static deployWithOpts(opts, ...args) {
40
- return new DeployMethod(opts.publicKeys ?? PublicKeys.default(), opts.wallet, BridgedFPCContractArtifact, (instance, wallet) => BridgedFPCContract.at(instance.address, wallet), Array.from(arguments).slice(1), opts.method ?? 'constructor');
40
+ return new DeployMethod(opts.publicKeys ?? PublicKeys.default(), opts.wallet, PrivateFPCContractArtifact, (instance, wallet) => PrivateFPCContract.at(instance.address, wallet), Array.from(arguments).slice(1), opts.method ?? 'constructor');
41
41
  }
42
42
  /**
43
43
  * Returns this contract's artifact.
44
44
  */
45
45
  static get artifact() {
46
- return BridgedFPCContractArtifact;
46
+ return PrivateFPCContractArtifact;
47
47
  }
48
48
  /**
49
49
  * Returns this contract's artifact with public bytecode.
50
50
  */
51
51
  static get artifactForPublic() {
52
- return loadContractArtifactForPublic(BridgedFPCContractArtifactJson);
52
+ return loadContractArtifactForPublic(PrivateFPCContractArtifactJson);
53
53
  }
54
54
  static get storage() {
55
55
  return {
@@ -59,4 +59,4 @@ export class BridgedFPCContract extends ContractBase {
59
59
  };
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJpZGdlZEZQQy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcnRpZmFjdHMvQnJpZGdlZEZQQy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxzQ0FBc0M7QUFJdEMsT0FBTyxFQUE0SixvQkFBb0IsRUFBRSw2QkFBNkIsRUFBb0YsTUFBTSxxQkFBcUIsQ0FBQztBQUN0VSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBZ0YsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0osT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyw4QkFBOEIsTUFBTSwrQ0FBK0MsQ0FBQyxPQUFPLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNqSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxvQkFBb0IsQ0FBQyw4QkFBc0QsQ0FBQyxDQUFDO0FBSXZIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFFbEQsWUFDRSxPQUFxQixFQUNyQixNQUFjO1FBRWQsS0FBSyxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQXFCLEVBQ3JCLE1BQWM7UUFFZCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQXVCLENBQUM7SUFDekYsQ0FBQztJQUdEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ2pDLE9BQU8sSUFBSSxZQUFZLENBQXFCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9NLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUFzQixFQUFFLE1BQWM7UUFDdkUsT0FBTyxJQUFJLFlBQVksQ0FBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDck0sQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsSUFBNkQsRUFDN0QsR0FBRyxJQUFrRDtRQUVyRCxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFDdkMsSUFBSSxDQUFDLE1BQU0sRUFDWCwwQkFBMEIsRUFDMUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFDckUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQzlCLElBQUksQ0FBQyxNQUFNLElBQUksYUFBYSxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssaUJBQWlCO1FBQ2pDLE9BQU8sNkJBQTZCLENBQUMsOEJBQXNELENBQUMsQ0FBQztJQUMvRixDQUFDO0lBR00sTUFBTSxLQUFLLE9BQU87UUFDckIsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2pCO1NBQ3VDLENBQUM7SUFDekMsQ0FBQztDQTZCSiJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUZQQy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcnRpZmFjdHMvUHJpdmF0ZUZQQy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxzQ0FBc0M7QUFJdEMsT0FBTyxFQUE0SixvQkFBb0IsRUFBRSw2QkFBNkIsRUFBb0YsTUFBTSxxQkFBcUIsQ0FBQztBQUN0VSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBZ0YsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0osT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyw4QkFBOEIsTUFBTSwrQ0FBK0MsQ0FBQyxPQUFPLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNqSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxvQkFBb0IsQ0FBQyw4QkFBc0QsQ0FBQyxDQUFDO0FBSXZIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFFbEQsWUFDRSxPQUFxQixFQUNyQixNQUFjO1FBRWQsS0FBSyxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQXFCLEVBQ3JCLE1BQWM7UUFFZCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQXVCLENBQUM7SUFDekYsQ0FBQztJQUdEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ2pDLE9BQU8sSUFBSSxZQUFZLENBQXFCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9NLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUFzQixFQUFFLE1BQWM7UUFDdkUsT0FBTyxJQUFJLFlBQVksQ0FBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDck0sQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsSUFBNkQsRUFDN0QsR0FBRyxJQUFrRDtRQUVyRCxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFDdkMsSUFBSSxDQUFDLE1BQU0sRUFDWCwwQkFBMEIsRUFDMUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFDckUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQzlCLElBQUksQ0FBQyxNQUFNLElBQUksYUFBYSxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssaUJBQWlCO1FBQ2pDLE9BQU8sNkJBQTZCLENBQUMsOEJBQXNELENBQUMsQ0FBQztJQUMvRixDQUFDO0lBR00sTUFBTSxLQUFLLE9BQU87UUFDckIsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2pCO1NBQ3VDLENBQUM7SUFDekMsQ0FBQztDQTZCSiJ9
@@ -1,3 +1,3 @@
1
- export { FPCFeePaymentMethod, FPCExactFeePaymentMethod } from "./shared.js";
2
- export { BridgedMintAndPayFeePaymentMethod } from "./bridged.js";
1
+ export { FPCFeePaymentMethod } from "./shared.js";
2
+ export { PrivateMintAndPayFeePaymentMethod } from "./private.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC"}
@@ -1,3 +1,3 @@
1
- export { FPCFeePaymentMethod, FPCExactFeePaymentMethod } from "./shared.js";
2
- export { BridgedMintAndPayFeePaymentMethod } from "./bridged.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHMvZmVlLXBheW1lbnQtbWV0aG9kcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sY0FBYyxDQUFDIn0=
1
+ export { FPCFeePaymentMethod } from "./shared.js";
2
+ export { PrivateMintAndPayFeePaymentMethod } from "./private.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHMvZmVlLXBheW1lbnQtbWV0aG9kcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sY0FBYyxDQUFDIn0=
@@ -2,24 +2,24 @@ import type { FeePaymentMethod } from "@aztec/aztec.js/fee";
2
2
  import { AztecAddress } from "@aztec/stdlib/aztec-address";
3
3
  import type { GasSettings } from "@aztec/stdlib/gas";
4
4
  import { ExecutionPayload } from "@aztec/stdlib/tx";
5
- import { Fr } from "@aztec/foundation/curves/bn254";
5
+ import { Fr } from "@aztec/aztec.js/fields";
6
6
  /**
7
- * Fee payment method for BridgedFPC that bundles FeeJuice.claim +
7
+ * Fee payment method for PrivateFPC that bundles FeeJuice.claim +
8
8
  * mint_and_pay_fee in a single transaction setup phase.
9
9
  *
10
10
  * Enables cold-start fee sponsorship directly from a L1 bridge deposit,
11
11
  * with no prior `mint` call needed. The caller's wallet only needs to
12
- * have done the L1 deposit; the L2 claim and wFJ credit happen atomically here.
12
+ * have done the L1 deposit; the L2 claim and FJ credit happen atomically here.
13
13
  *
14
14
  * The payment calls (in order):
15
15
  * 1. FeeJuice.claim(fpcAddress, amount, secret, leafIndex)
16
16
  * - Consumes the L1→L2 message; emits the FeeJuice nullifier.
17
- * 2. BridgedFPC.mint_and_pay_fee(amount, salt, leafIndex)
17
+ * 2. PrivateFPC.mint_and_pay_fee(amount, salt, leafIndex)
18
18
  * - Asserts the FeeJuice nullifier exists (pending from step 1).
19
19
  * - Credits (amount - max_gas_cost) to msg_sender.
20
- * - Sets BridgedFPC as fee payer and ends setup.
20
+ * - Sets PrivateFPC as fee payer and ends setup.
21
21
  */
22
- export declare class BridgedMintAndPayFeePaymentMethod implements FeePaymentMethod {
22
+ export declare class PrivateMintAndPayFeePaymentMethod implements FeePaymentMethod {
23
23
  private readonly fpcAddress;
24
24
  private readonly amount;
25
25
  private readonly secret;
@@ -31,4 +31,4 @@ export declare class BridgedMintAndPayFeePaymentMethod implements FeePaymentMeth
31
31
  getExecutionPayload(): Promise<ExecutionPayload>;
32
32
  getGasSettings(): GasSettings | undefined;
33
33
  }
34
- //# sourceMappingURL=bridged.d.ts.map
34
+ //# sourceMappingURL=private.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridged.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/bridged.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iCAAkC,YAAW,gBAAgB;IAEtE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,EAAE;IAGhC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA0CtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
1
+ {"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAG5C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iCAAkC,YAAW,gBAAgB;IAEtE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,EAAE;IAGhC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA0CtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -1,24 +1,24 @@
1
1
  import { FunctionCall, FunctionSelector, FunctionType, } from "@aztec/stdlib/abi";
2
2
  import { ExecutionPayload } from "@aztec/stdlib/tx";
3
- import { Fr } from "@aztec/foundation/curves/bn254";
3
+ import { Fr } from "@aztec/aztec.js/fields";
4
4
  import { ProtocolContractAddress } from "@aztec/protocol-contracts";
5
5
  /**
6
- * Fee payment method for BridgedFPC that bundles FeeJuice.claim +
6
+ * Fee payment method for PrivateFPC that bundles FeeJuice.claim +
7
7
  * mint_and_pay_fee in a single transaction setup phase.
8
8
  *
9
9
  * Enables cold-start fee sponsorship directly from a L1 bridge deposit,
10
10
  * with no prior `mint` call needed. The caller's wallet only needs to
11
- * have done the L1 deposit; the L2 claim and wFJ credit happen atomically here.
11
+ * have done the L1 deposit; the L2 claim and FJ credit happen atomically here.
12
12
  *
13
13
  * The payment calls (in order):
14
14
  * 1. FeeJuice.claim(fpcAddress, amount, secret, leafIndex)
15
15
  * - Consumes the L1→L2 message; emits the FeeJuice nullifier.
16
- * 2. BridgedFPC.mint_and_pay_fee(amount, salt, leafIndex)
16
+ * 2. PrivateFPC.mint_and_pay_fee(amount, salt, leafIndex)
17
17
  * - Asserts the FeeJuice nullifier exists (pending from step 1).
18
18
  * - Credits (amount - max_gas_cost) to msg_sender.
19
- * - Sets BridgedFPC as fee payer and ends setup.
19
+ * - Sets PrivateFPC as fee payer and ends setup.
20
20
  */
21
- export class BridgedMintAndPayFeePaymentMethod {
21
+ export class PrivateMintAndPayFeePaymentMethod {
22
22
  constructor(fpcAddress, amount, secret, salt, leafIndex) {
23
23
  this.fpcAddress = fpcAddress;
24
24
  this.amount = amount;
@@ -27,7 +27,7 @@ export class BridgedMintAndPayFeePaymentMethod {
27
27
  this.leafIndex = leafIndex;
28
28
  }
29
29
  getAsset() {
30
- throw new Error("Asset is not required for bridged fee payment.");
30
+ throw new Error("Asset is not required for private fee payment.");
31
31
  }
32
32
  getFeePayer() {
33
33
  return Promise.resolve(this.fpcAddress);
@@ -66,4 +66,4 @@ export class BridgedMintAndPayFeePaymentMethod {
66
66
  return;
67
67
  }
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cy9mZWUtcGF5bWVudC1tZXRob2RzL2JyaWRnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsWUFBWSxHQUNiLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDbUIsVUFBd0IsRUFDeEIsTUFBYyxFQUNkLE1BQVUsRUFDVixJQUFRLEVBQ1IsU0FBYTtRQUpiLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQUk7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFJO1FBQ1IsY0FBUyxHQUFULFNBQVMsQ0FBSTtJQUM3QixDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUI7UUFDdkIsTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBRXpELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekI7WUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsT0FBTztnQkFDYixFQUFFLEVBQUUsZUFBZTtnQkFDbkIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUM1QyxpQ0FBaUMsQ0FDbEM7Z0JBQ0QsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPO2dCQUMxQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFO29CQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO29CQUN6QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNuQixJQUFJLENBQUMsTUFBTTtvQkFDWCxJQUFJLENBQUMsU0FBUztpQkFDZjtnQkFDRCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1lBQ0YsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNuQixRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQzVDLG9DQUFvQyxDQUNyQztnQkFDRCxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87Z0JBQzFCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN0RCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1NBQ0gsRUFDRCxFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPO0lBQ1QsQ0FBQztDQUNGIn0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cy9mZWUtcGF5bWVudC1tZXRob2RzL3ByaXZhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsWUFBWSxHQUNiLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDbUIsVUFBd0IsRUFDeEIsTUFBYyxFQUNkLE1BQVUsRUFDVixJQUFRLEVBQ1IsU0FBYTtRQUpiLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQUk7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFJO1FBQ1IsY0FBUyxHQUFULFNBQVMsQ0FBSTtJQUM3QixDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUI7UUFDdkIsTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBRXpELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekI7WUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsT0FBTztnQkFDYixFQUFFLEVBQUUsZUFBZTtnQkFDbkIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUM1QyxpQ0FBaUMsQ0FDbEM7Z0JBQ0QsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPO2dCQUMxQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFO29CQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO29CQUN6QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNuQixJQUFJLENBQUMsTUFBTTtvQkFDWCxJQUFJLENBQUMsU0FBUztpQkFDZjtnQkFDRCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1lBQ0YsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNuQixRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQzVDLG9DQUFvQyxDQUNyQztnQkFDRCxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87Z0JBQzFCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN0RCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1NBQ0gsRUFDRCxFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPO0lBQ1QsQ0FBQztDQUNGIn0=
@@ -6,8 +6,6 @@ import { ExecutionPayload } from "@aztec/stdlib/tx";
6
6
  * Generic fee payment method compatible with any FPC contract that implements pay_fee().
7
7
  * Deducts max gas cost from the sender's internal balance. Does not refund unused gas.
8
8
  * Suitable for any FPC that implements pay_fee().
9
- *
10
- * Use FPCExactFeePaymentMethod for transactions that need unused gas refunded.
11
9
  */
12
10
  export declare class FPCFeePaymentMethod implements FeePaymentMethod {
13
11
  private readonly fpcAddress;
@@ -17,18 +15,4 @@ export declare class FPCFeePaymentMethod implements FeePaymentMethod {
17
15
  getExecutionPayload(): Promise<ExecutionPayload>;
18
16
  getGasSettings(): GasSettings | undefined;
19
17
  }
20
- /**
21
- * Generic fee payment method compatible with any FPC contract that implements pay_fee_exact().
22
- * Deducts max gas cost upfront, then refunds (max - actual) in the teardown phase via a partial note.
23
- *
24
- * Use REASONABLE_TEARDOWN_GAS_LIMITS in the transaction's gasSettings to budget the teardown phase.
25
- */
26
- export declare class FPCExactFeePaymentMethod implements FeePaymentMethod {
27
- private readonly fpcAddress;
28
- constructor(fpcAddress: AztecAddress);
29
- getAsset(): Promise<AztecAddress>;
30
- getFeePayer(): Promise<AztecAddress>;
31
- getExecutionPayload(): Promise<ExecutionPayload>;
32
- getGasSettings(): GasSettings | undefined;
33
- }
34
18
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,YAAY;IAErD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAqBtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,YAAY;IAErD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAqBtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/ts/fee-payment-methods/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,YAAY;IAErD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAqBtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -4,8 +4,6 @@ import { ExecutionPayload } from "@aztec/stdlib/tx";
4
4
  * Generic fee payment method compatible with any FPC contract that implements pay_fee().
5
5
  * Deducts max gas cost from the sender's internal balance. Does not refund unused gas.
6
6
  * Suitable for any FPC that implements pay_fee().
7
- *
8
- * Use FPCExactFeePaymentMethod for transactions that need unused gas refunded.
9
7
  */
10
8
  export class FPCFeePaymentMethod {
11
9
  constructor(fpcAddress) {
@@ -35,38 +33,4 @@ export class FPCFeePaymentMethod {
35
33
  return;
36
34
  }
37
35
  }
38
- /**
39
- * Generic fee payment method compatible with any FPC contract that implements pay_fee_exact().
40
- * Deducts max gas cost upfront, then refunds (max - actual) in the teardown phase via a partial note.
41
- *
42
- * Use REASONABLE_TEARDOWN_GAS_LIMITS in the transaction's gasSettings to budget the teardown phase.
43
- */
44
- export class FPCExactFeePaymentMethod {
45
- constructor(fpcAddress) {
46
- this.fpcAddress = fpcAddress;
47
- }
48
- getAsset() {
49
- throw new Error("Asset is not required for FPC fee payment.");
50
- }
51
- getFeePayer() {
52
- return Promise.resolve(this.fpcAddress);
53
- }
54
- async getExecutionPayload() {
55
- return new ExecutionPayload([
56
- FunctionCall.from({
57
- name: "pay_fee_exact",
58
- to: this.fpcAddress,
59
- selector: await FunctionSelector.fromSignature("pay_fee_exact()"),
60
- type: FunctionType.PRIVATE,
61
- hideMsgSender: false,
62
- isStatic: false,
63
- args: [],
64
- returnTypes: [],
65
- }),
66
- ], [], [], [], this.fpcAddress);
67
- }
68
- getGasSettings() {
69
- return;
70
- }
71
- }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RzL2ZlZS1wYXltZW50LW1ldGhvZHMvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLG1CQUFtQixDQUFDO0FBRzNCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBNkIsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUI7UUFDdkIsT0FBTyxJQUFJLGdCQUFnQixDQUN6QjtZQUNFLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksRUFBRSxTQUFTO2dCQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztnQkFDM0QsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPO2dCQUMxQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFLEVBQUU7YUFDaEIsQ0FBQztTQUNILEVBQ0QsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLEVBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTztJQUNULENBQUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUE2QixVQUF3QjtRQUF4QixlQUFVLEdBQVYsVUFBVSxDQUFjO0lBQUcsQ0FBQztJQUV6RCxRQUFRO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixPQUFPLElBQUksZ0JBQWdCLENBQ3pCO1lBQ0UsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO2dCQUNqRSxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87Z0JBQzFCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUUsRUFBRTtnQkFDUixXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1NBQ0gsRUFDRCxFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPO0lBQ1QsQ0FBQztDQUNGIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RzL2ZlZS1wYXltZW50LW1ldGhvZHMvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLG1CQUFtQixDQUFDO0FBRzNCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQTZCLFVBQXdCO1FBQXhCLGVBQVUsR0FBVixVQUFVLENBQWM7SUFBRyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CO1FBQ3ZCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekI7WUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsU0FBUztnQkFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ25CLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7Z0JBQzNELElBQUksRUFBRSxZQUFZLENBQUMsT0FBTztnQkFDMUIsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRSxFQUFFO2dCQUNSLFdBQVcsRUFBRSxFQUFFO2FBQ2hCLENBQUM7U0FDSCxFQUNELEVBQUUsRUFDRixFQUFFLEVBQ0YsRUFBRSxFQUNGLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU87SUFDVCxDQUFDO0NBQ0YifQ==
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * @defi-wonderland/aztec-fee-payment
3
3
  *
4
- * Fee Payment Contracts (FPCs) for Aztec - enables bridged fee payment strategies.
4
+ * Fee Payment Contracts (FPCs) for Aztec - enables private fee payment strategies.
5
5
  *
6
6
  * @example
7
7
  * ```typescript
8
8
  * import {
9
- * BridgedFPCContract,
9
+ * PrivateFPCContract,
10
10
  * FPCFeePaymentMethod,
11
- * registerBridgedContract,
11
+ * registerPrivateContract,
12
12
  * } from '@defi-wonderland/aztec-fee-payment';
13
13
  *
14
14
  * // Register (no deploy needed — fully private contract)
15
- * const fpc = await registerBridgedContract(wallet);
15
+ * const fpc = await registerPrivateContract(wallet, salt);
16
16
  *
17
17
  * // Use FPCFeePaymentMethod after minting internal balance
18
18
  * await someContract.methods.doSomething()
@@ -21,7 +21,8 @@
21
21
  * });
22
22
  * ```
23
23
  */
24
- export { BridgedFPCContract, BridgedFPCContractArtifact, } from "../artifacts/BridgedFPC.js";
25
- export { FPCFeePaymentMethod, FPCExactFeePaymentMethod, BridgedMintAndPayFeePaymentMethod, } from "./fee-payment-methods/index.js";
26
- export { DEFAULT_FEE_MULTIPLIER, REASONABLE_GAS_LIMITS, REASONABLE_TEARDOWN_GAS_LIMITS, maxFeesPerGasFromBaseFees, maxGasCostFor, registerBridgedContract, } from "./utils/index.js";
24
+ export type { FeeMultiplier } from "./utils/index.js";
25
+ export { PrivateFPCContract, PrivateFPCContractArtifact, } from "../artifacts/PrivateFPC.js";
26
+ export { FPCFeePaymentMethod, PrivateMintAndPayFeePaymentMethod, } from "./fee-payment-methods/index.js";
27
+ export { DEFAULT_FEE_MULTIPLIER, DEFAULT_GAS_ESTIMATE_PADDING, estimateGasSettings, maxFeesPerGasFromBaseFees, maxPriorityFeesPerGasFromMaxFees, maxGasCostFor, registerPrivateContract, } from "./utils/index.js";
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,aAAa,EAEb,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,mBAAmB,EACnB,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAEL,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACnB,yBAAyB,EACzB,gCAAgC,EAChC,aAAa,EAEb,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * @defi-wonderland/aztec-fee-payment
3
3
  *
4
- * Fee Payment Contracts (FPCs) for Aztec - enables bridged fee payment strategies.
4
+ * Fee Payment Contracts (FPCs) for Aztec - enables private fee payment strategies.
5
5
  *
6
6
  * @example
7
7
  * ```typescript
8
8
  * import {
9
- * BridgedFPCContract,
9
+ * PrivateFPCContract,
10
10
  * FPCFeePaymentMethod,
11
- * registerBridgedContract,
11
+ * registerPrivateContract,
12
12
  * } from '@defi-wonderland/aztec-fee-payment';
13
13
  *
14
14
  * // Register (no deploy needed — fully private contract)
15
- * const fpc = await registerBridgedContract(wallet);
15
+ * const fpc = await registerPrivateContract(wallet, salt);
16
16
  *
17
17
  * // Use FPCFeePaymentMethod after minting internal balance
18
18
  * await someContract.methods.doSomething()
@@ -22,13 +22,13 @@
22
22
  * ```
23
23
  */
24
24
  // Contract artifacts and type-safe wrappers
25
- export { BridgedFPCContract, BridgedFPCContractArtifact, } from "../artifacts/BridgedFPC.js";
25
+ export { PrivateFPCContract, PrivateFPCContractArtifact, } from "../artifacts/PrivateFPC.js";
26
26
  // Fee payment method implementations
27
- export { FPCFeePaymentMethod, FPCExactFeePaymentMethod, BridgedMintAndPayFeePaymentMethod, } from "./fee-payment-methods/index.js";
27
+ export { FPCFeePaymentMethod, PrivateMintAndPayFeePaymentMethod, } from "./fee-payment-methods/index.js";
28
28
  // Utilities for integrators
29
29
  export {
30
30
  // Gas calculations
31
- DEFAULT_FEE_MULTIPLIER, REASONABLE_GAS_LIMITS, REASONABLE_TEARDOWN_GAS_LIMITS, maxFeesPerGasFromBaseFees, maxGasCostFor,
31
+ DEFAULT_FEE_MULTIPLIER, DEFAULT_GAS_ESTIMATE_PADDING, estimateGasSettings, maxFeesPerGasFromBaseFees, maxPriorityFeesPerGasFromMaxFees, maxGasCostFor,
32
32
  // Deployment
33
- registerBridgedContract, } from "./utils/index.js";
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCw0Q0FBNEM7QUFDNUMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxxQ0FBcUM7QUFDckMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsaUNBQWlDLEdBQ2xDLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsNEJBQTRCO0FBQzVCLE9BQU87QUFDTCxtQkFBbUI7QUFDbkIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLGFBQWE7QUFDYixhQUFhO0FBQ2IsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUMifQ==
33
+ registerPrivateContract, } from "./utils/index.js";
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFJSCw0Q0FBNEM7QUFDNUMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxxQ0FBcUM7QUFDckMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4Qyw0QkFBNEI7QUFDNUIsT0FBTztBQUNMLG1CQUFtQjtBQUNuQixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLGFBQWE7QUFDYixhQUFhO0FBQ2IsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUMifQ==