@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.
- package/README.md +40 -16
- package/dist/src/artifacts/Counter.d.ts +9 -9
- package/dist/src/artifacts/Counter.d.ts.map +1 -1
- package/dist/src/artifacts/{BridgedFPC.d.ts → PrivateFPC.d.ts} +19 -19
- package/dist/src/artifacts/PrivateFPC.d.ts.map +1 -0
- package/dist/src/artifacts/{BridgedFPC.js → PrivateFPC.js} +12 -12
- package/dist/src/ts/fee-payment-methods/index.d.ts +2 -2
- package/dist/src/ts/fee-payment-methods/index.d.ts.map +1 -1
- package/dist/src/ts/fee-payment-methods/index.js +3 -3
- package/dist/src/ts/fee-payment-methods/{bridged.d.ts → private.d.ts} +7 -7
- package/dist/src/ts/fee-payment-methods/{bridged.d.ts.map → private.d.ts.map} +1 -1
- package/dist/src/ts/fee-payment-methods/{bridged.js → private.js} +8 -8
- package/dist/src/ts/fee-payment-methods/shared.d.ts +0 -16
- package/dist/src/ts/fee-payment-methods/shared.d.ts.map +1 -1
- package/dist/src/ts/fee-payment-methods/shared.js +1 -37
- package/dist/src/ts/index.d.ts +8 -7
- package/dist/src/ts/index.d.ts.map +1 -1
- package/dist/src/ts/index.js +9 -9
- package/dist/src/ts/utils/deploy.d.ts +7 -7
- package/dist/src/ts/utils/deploy.d.ts.map +1 -1
- package/dist/src/ts/utils/deploy.js +9 -10
- package/dist/src/ts/utils/gas.d.ts +61 -25
- package/dist/src/ts/utils/gas.d.ts.map +1 -1
- package/dist/src/ts/utils/gas.js +85 -28
- package/dist/src/ts/utils/index.d.ts +3 -2
- package/dist/src/ts/utils/index.d.ts.map +1 -1
- package/dist/src/ts/utils/index.js +3 -3
- package/dist/target/counter_contract-Counter.json +4451 -455
- package/dist/target/private_contract-PrivateFPC.json +14170 -0
- package/package.json +5 -5
- package/target/counter_contract-Counter.json +4451 -455
- package/target/counter_contract-Counter.json.bak +1 -1
- package/target/private_contract-PrivateFPC.json +14170 -0
- package/target/private_contract-PrivateFPC.json.bak +1 -0
- package/dist/src/artifacts/BridgedFPC.d.ts.map +0 -1
- package/dist/target/bridged_contract-BridgedFPC.json +0 -8821
- package/target/bridged_contract-BridgedFPC.json +0 -8821
- 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
|
|
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
|
-
| **
|
|
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
|
-
│ │ └──
|
|
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
|
|
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
|
-
##
|
|
69
|
+
## Deployment
|
|
70
70
|
|
|
71
|
-
|
|
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
|
-
|
|
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
|
-
|
|
107
|
+
PrivateFPCContract,
|
|
84
108
|
FPCFeePaymentMethod,
|
|
85
|
-
|
|
86
|
-
|
|
109
|
+
PrivateMintAndPayFeePaymentMethod,
|
|
110
|
+
registerPrivateContract,
|
|
87
111
|
} from '@defi-wonderland/aztec-fee-payment';
|
|
88
112
|
|
|
89
|
-
// Register the
|
|
90
|
-
const fpc = await
|
|
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
|
|
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
|
|
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
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
6
|
+
export declare const PrivateFPCContractArtifact: ContractArtifact;
|
|
7
7
|
/**
|
|
8
|
-
* Type-safe interface for contract
|
|
8
|
+
* Type-safe interface for contract PrivateFPC;
|
|
9
9
|
*/
|
|
10
|
-
export declare class
|
|
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):
|
|
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<
|
|
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<
|
|
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
|
|
30
|
+
static deployWithOpts<M extends keyof PrivateFPCContract['methods']>(opts: {
|
|
31
31
|
publicKeys?: PublicKeys;
|
|
32
32
|
method?: M;
|
|
33
33
|
wallet: Wallet;
|
|
34
|
-
}, ...args: Parameters<
|
|
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=
|
|
67
|
+
//# sourceMappingURL=PrivateFPC.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivateFPC.d.ts","sourceRoot":"","sources":["../../../src/artifacts/PrivateFPC.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
7
|
-
export const
|
|
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
|
|
9
|
+
* Type-safe interface for contract PrivateFPC;
|
|
10
10
|
*/
|
|
11
|
-
export class
|
|
11
|
+
export class PrivateFPCContract extends ContractBase {
|
|
12
12
|
constructor(address, wallet) {
|
|
13
|
-
super(address,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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(
|
|
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,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUZQQy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcnRpZmFjdHMvUHJpdmF0ZUZQQy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxzQ0FBc0M7QUFJdEMsT0FBTyxFQUE0SixvQkFBb0IsRUFBRSw2QkFBNkIsRUFBb0YsTUFBTSxxQkFBcUIsQ0FBQztBQUN0VSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBZ0YsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0osT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyw4QkFBOEIsTUFBTSwrQ0FBK0MsQ0FBQyxPQUFPLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNqSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxvQkFBb0IsQ0FBQyw4QkFBc0QsQ0FBQyxDQUFDO0FBSXZIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFFbEQsWUFDRSxPQUFxQixFQUNyQixNQUFjO1FBRWQsS0FBSyxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQXFCLEVBQ3JCLE1BQWM7UUFFZCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQXVCLENBQUM7SUFDekYsQ0FBQztJQUdEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ2pDLE9BQU8sSUFBSSxZQUFZLENBQXFCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9NLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUFzQixFQUFFLE1BQWM7UUFDdkUsT0FBTyxJQUFJLFlBQVksQ0FBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDck0sQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsSUFBNkQsRUFDN0QsR0FBRyxJQUFrRDtRQUVyRCxPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFDdkMsSUFBSSxDQUFDLE1BQU0sRUFDWCwwQkFBMEIsRUFDMUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFDckUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQzlCLElBQUksQ0FBQyxNQUFNLElBQUksYUFBYSxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssaUJBQWlCO1FBQ2pDLE9BQU8sNkJBQTZCLENBQUMsOEJBQXNELENBQUMsQ0FBQztJQUMvRixDQUFDO0lBR00sTUFBTSxLQUFLLE9BQU87UUFDckIsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2pCO1NBQ3VDLENBQUM7SUFDekMsQ0FBQztDQTZCSiJ9
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FPCFeePaymentMethod
|
|
2
|
-
export {
|
|
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,
|
|
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
|
|
2
|
-
export {
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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/
|
|
5
|
+
import { Fr } from "@aztec/aztec.js/fields";
|
|
6
6
|
/**
|
|
7
|
-
* Fee payment method for
|
|
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
|
|
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.
|
|
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
|
|
20
|
+
* - Sets PrivateFPC as fee payer and ends setup.
|
|
21
21
|
*/
|
|
22
|
-
export declare class
|
|
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=
|
|
34
|
+
//# sourceMappingURL=private.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
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/
|
|
3
|
+
import { Fr } from "@aztec/aztec.js/fields";
|
|
4
4
|
import { ProtocolContractAddress } from "@aztec/protocol-contracts";
|
|
5
5
|
/**
|
|
6
|
-
* Fee payment method for
|
|
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
|
|
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.
|
|
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
|
|
19
|
+
* - Sets PrivateFPC as fee payer and ends setup.
|
|
20
20
|
*/
|
|
21
|
-
export class
|
|
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
|
|
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,
|
|
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
|
|
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==
|
package/dist/src/ts/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @defi-wonderland/aztec-fee-payment
|
|
3
3
|
*
|
|
4
|
-
* Fee Payment Contracts (FPCs) for Aztec - enables
|
|
4
|
+
* Fee Payment Contracts (FPCs) for Aztec - enables private fee payment strategies.
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
8
|
* import {
|
|
9
|
-
*
|
|
9
|
+
* PrivateFPCContract,
|
|
10
10
|
* FPCFeePaymentMethod,
|
|
11
|
-
*
|
|
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
|
|
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 {
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
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;
|
|
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"}
|
package/dist/src/ts/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @defi-wonderland/aztec-fee-payment
|
|
3
3
|
*
|
|
4
|
-
* Fee Payment Contracts (FPCs) for Aztec - enables
|
|
4
|
+
* Fee Payment Contracts (FPCs) for Aztec - enables private fee payment strategies.
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
8
|
* import {
|
|
9
|
-
*
|
|
9
|
+
* PrivateFPCContract,
|
|
10
10
|
* FPCFeePaymentMethod,
|
|
11
|
-
*
|
|
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
|
|
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 {
|
|
25
|
+
export { PrivateFPCContract, PrivateFPCContractArtifact, } from "../artifacts/PrivateFPC.js";
|
|
26
26
|
// Fee payment method implementations
|
|
27
|
-
export { FPCFeePaymentMethod,
|
|
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,
|
|
31
|
+
DEFAULT_FEE_MULTIPLIER, DEFAULT_GAS_ESTIMATE_PADDING, estimateGasSettings, maxFeesPerGasFromBaseFees, maxPriorityFeesPerGasFromMaxFees, maxGasCostFor,
|
|
32
32
|
// Deployment
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
registerPrivateContract, } from "./utils/index.js";
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFJSCw0Q0FBNEM7QUFDNUMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxxQ0FBcUM7QUFDckMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4Qyw0QkFBNEI7QUFDNUIsT0FBTztBQUNMLG1CQUFtQjtBQUNuQixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLGFBQWE7QUFDYixhQUFhO0FBQ2IsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUMifQ==
|