@aztec/aztec.js 0.0.1-commit.03f7ef2 → 0.0.1-commit.1142ef1
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/dest/contract/batch_call.d.ts +1 -1
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +3 -1
- package/dest/ethereum/portal_manager.d.ts +5 -4
- package/dest/ethereum/portal_manager.d.ts.map +1 -1
- package/dest/ethereum/portal_manager.js +15 -16
- package/package.json +8 -8
- package/src/contract/batch_call.ts +2 -0
- package/src/ethereum/portal_manager.ts +17 -21
|
@@ -23,4 +23,4 @@ export declare class BatchCall extends BaseContractInteraction {
|
|
|
23
23
|
simulate(options: SimulateInteractionOptions): Promise<any>;
|
|
24
24
|
protected getExecutionPayloads(): Promise<ExecutionPayload[]>;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2JhdGNoX2NhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFpQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxxRkFBcUY7QUFFckYscUJBQWEsU0FBVSxTQUFRLHVCQUF1QjtJQUdsRCxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtJQUZ4RSxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUd2RTtJQUdEOzs7O09BSUc7SUFDVSxPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQVN2RjtJQUVEOzs7Ozs7O09BT0c7SUFDVSxRQUFRLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0F5RnZFO0lBRUQsVUFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FFbEU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;
|
|
1
|
+
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;AAErF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE;IAFxE,YACE,MAAM,EAAE,MAAM,EACJ,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE,EAGvE;IAGD;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASvF;IAED;;;;;;;OAOG;IACU,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CAyFvE;IAED,UAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElE;CACF"}
|
|
@@ -2,11 +2,13 @@ import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
|
|
|
2
2
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
3
3
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
4
|
import { toSimulateOptions } from './interaction_options.js';
|
|
5
|
-
/** A batch of function calls to be sent as a single transaction through a wallet. */
|
|
5
|
+
/** A batch of function calls to be sent as a single transaction through a wallet. */ // docs:start:batch_call_class
|
|
6
|
+
export class BatchCall extends BaseContractInteraction {
|
|
6
7
|
interactions;
|
|
7
8
|
constructor(wallet, interactions){
|
|
8
9
|
super(wallet), this.interactions = interactions;
|
|
9
10
|
}
|
|
11
|
+
// docs:end:batch_call_class
|
|
10
12
|
/**
|
|
11
13
|
* Returns an execution request that represents this operation.
|
|
12
14
|
* @param options - An optional object containing additional configuration for the request generation.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExtendedViemWalletClient, ViemContract } from '@aztec/ethereum/types';
|
|
2
|
+
import type { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
5
|
import type { Logger } from '@aztec/foundation/log';
|
|
@@ -70,7 +71,7 @@ export declare class L1FeeJuicePortalManager {
|
|
|
70
71
|
private readonly logger;
|
|
71
72
|
private readonly tokenManager;
|
|
72
73
|
private readonly contract;
|
|
73
|
-
constructor(portalAddress: EthAddress, tokenAddress: EthAddress, handlerAddress: EthAddress, extendedClient: ExtendedViemWalletClient, logger: Logger);
|
|
74
|
+
constructor(portalAddress: EthAddress, tokenAddress: EthAddress, handlerAddress: EthAddress | undefined, extendedClient: ExtendedViemWalletClient, logger: Logger);
|
|
74
75
|
/** Returns the associated token manager for the L1 ERC20. */
|
|
75
76
|
getTokenManager(): L1TokenManager;
|
|
76
77
|
/**
|
|
@@ -121,11 +122,11 @@ export declare class L1TokenPortalManager extends L1ToL2TokenPortalManager {
|
|
|
121
122
|
* Withdraws funds from the portal by consuming an L2 to L1 message. Returns once the tx is mined on L1.
|
|
122
123
|
* @param amount - Amount to withdraw.
|
|
123
124
|
* @param recipient - Who will receive the funds.
|
|
124
|
-
* @param
|
|
125
|
+
* @param epochNumber - Epoch number of the message.
|
|
125
126
|
* @param messageIndex - Index of the message.
|
|
126
127
|
* @param siblingPath - Sibling path of the message.
|
|
127
128
|
*/
|
|
128
|
-
withdrawFunds(amount: bigint, recipient: EthAddress,
|
|
129
|
+
withdrawFunds(amount: bigint, recipient: EthAddress, epochNumber: EpochNumber, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
|
|
129
130
|
/**
|
|
130
131
|
* Computes the L2 to L1 message leaf for the given parameters.
|
|
131
132
|
* @param amount - Amount to bridge.
|
|
@@ -135,4 +136,4 @@ export declare class L1TokenPortalManager extends L1ToL2TokenPortalManager {
|
|
|
135
136
|
*/
|
|
136
137
|
getL2ToL1MessageLeaf(amount: bigint, recipient: EthAddress, l2Bridge: AztecAddress, callerOnL1?: EthAddress): Promise<Fr>;
|
|
137
138
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGhlcmV1bS9wb3J0YWxfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBRWpFLCtDQUErQztBQUMvQyxNQUFNLE1BQU0sT0FBTyxHQUFHO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLHVDQUF1QztJQUN2QyxlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsR0FBRyxDQUFDO0lBQ2pCLCtDQUErQztJQUMvQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGLG9FQUFvRTtBQUNwRSxNQUFNLE1BQU0sYUFBYSxHQUFHLE9BQU8sR0FBRztJQUF5QixXQUFXLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztBQUVyRiw4RkFBOEY7QUFDOUYsTUFBTSxNQUFNLDBCQUEwQixHQUFHLGFBQWEsR0FBRztJQUN2RCx3REFBd0QsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO0NBQ2xGLENBQUM7QUFPRiw4Q0FBOEM7QUFDOUMsd0JBQXNCLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FLNUU7QUFFRCwwQ0FBMEM7QUFDMUMscUJBQWEsY0FBYzthQU1QLFlBQVksRUFBRSxVQUFVO2FBRXhCLGNBQWMsRUFBRSxVQUFVLEdBQUcsU0FBUztJQUN0RCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFDL0IsT0FBTyxDQUFDLE1BQU07SUFUaEIsT0FBTyxDQUFDLFFBQVEsQ0FBb0M7SUFDcEQsT0FBTyxDQUFDLE9BQU8sQ0FBc0Q7SUFFckU7SUFDRSxxQ0FBcUM7SUFDckIsWUFBWSxFQUFFLFVBQVU7SUFDeEMsOENBQThDO0lBQzlCLGNBQWMsRUFBRSxVQUFVLEdBQUcsU0FBUyxFQUNyQyxjQUFjLEVBQUUsd0JBQXdCLEVBQ2pELE1BQU0sRUFBRSxNQUFNLEVBY3ZCO0lBRUQ7O09BRUc7SUFDVSxhQUFhLG9CQUt6QjtJQUVEOzs7T0FHRztJQUNVLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxHQUFHLG1CQUUxQztJQUVEOzs7O09BSUc7SUFDVSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFBRSxNQUFNLGlCQVFuRDtJQUVEOzs7OztPQUtHO0lBQ1UsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLFNBQUssaUJBS2xFO0NBQ0Y7QUFFRCw0REFBNEQ7QUFDNUQscUJBQWEsdUJBQXVCO0lBUWhDLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYztJQUMvQixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFSekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQWlCO0lBQzlDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUF5QztJQUVsRSxZQUNFLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLFlBQVksRUFBRSxVQUFVLEVBQ3hCLGNBQWMsRUFBRSxVQUFVLEdBQUcsU0FBUyxFQUNyQixjQUFjLEVBQUUsd0JBQXdCLEVBQ3hDLE1BQU0sRUFBRSxNQUFNLEVBUWhDO0lBRUQsNkRBQTZEO0lBQ3RELGVBQWUsbUJBRXJCO0lBRUQ7Ozs7O09BS0c7SUFDVSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUFFLElBQUksVUFBUSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0EwRGxIO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQ3JCLElBQUksRUFBRSxTQUFTLEVBQ2YsY0FBYyxFQUFFLHdCQUF3QixFQUN4QyxNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQWNsQztDQUNGO0FBRUQscUZBQXFGO0FBQ3JGLHFCQUFhLHdCQUF3QjtJQVFqQyxTQUFTLENBQUMsY0FBYyxFQUFFLHdCQUF3QjtJQUNsRCxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFSMUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUM7SUFDL0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO0lBRWhELFlBQ0UsYUFBYSxFQUFFLFVBQVUsRUFDekIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsY0FBYyxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQzVCLGNBQWMsRUFBRSx3QkFBd0IsRUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFRekI7SUFFRCw2REFBNkQ7SUFDdEQsZUFBZSxtQkFFckI7SUFFRDs7Ozs7T0FLRztJQUNVLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBMEN0RztJQUVEOzs7OztPQUtHO0lBQ1UsbUJBQW1CLENBQzlCLEVBQUUsRUFBRSxZQUFZLEVBQ2hCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxVQUFRLEdBQ1gsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBMENyQztZQUVhLFdBQVc7Q0FXMUI7QUFFRCx5R0FBeUc7QUFDekcscUJBQWEsb0JBQXFCLFNBQVEsd0JBQXdCO0lBQ2hFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFpQztJQUV4RCxZQUNFLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLFlBQVksRUFBRSxVQUFVLEVBQ3hCLGNBQWMsRUFBRSxVQUFVLEdBQUcsU0FBUyxFQUN0QyxhQUFhLEVBQUUsVUFBVSxFQUN6QixjQUFjLEVBQUUsd0JBQXdCLEVBQ3hDLE1BQU0sRUFBRSxNQUFNLEVBUWY7SUFFRDs7Ozs7OztPQU9HO0lBQ1UsYUFBYSxDQUN4QixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLGlCQWtDakM7SUFFRDs7Ozs7O09BTUc7SUFDVSxvQkFBb0IsQ0FDL0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxTQUFTLEVBQUUsVUFBVSxFQUNyQixRQUFRLEVBQUUsWUFBWSxFQUN0QixVQUFVLEdBQUUsVUFBNEIsR0FDdkMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQWlCYjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal_manager.d.ts","sourceRoot":"","sources":["../../src/ethereum/portal_manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"portal_manager.d.ts","sourceRoot":"","sources":["../../src/ethereum/portal_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,9 +118,9 @@ import { getContract, toFunctionSelector } from 'viem';
|
|
|
118
118
|
* @param mint - Whether to mint the tokens before sending (only during testing).
|
|
119
119
|
*/ async bridgeTokensPublic(to, amount, mint = false) {
|
|
120
120
|
const [claimSecret, claimSecretHash] = await generateClaimSecret();
|
|
121
|
-
const
|
|
122
|
-
const amountToBridge = amount ?? mintableAmount;
|
|
121
|
+
const amountToBridge = amount ?? await this.tokenManager.getMintAmount();
|
|
123
122
|
if (mint) {
|
|
123
|
+
const mintableAmount = await this.tokenManager.getMintAmount();
|
|
124
124
|
if (amountToBridge !== mintableAmount) {
|
|
125
125
|
throw new Error(`Minting amount must be ${mintableAmount}`);
|
|
126
126
|
}
|
|
@@ -170,10 +170,9 @@ import { getContract, toFunctionSelector } from 'viem';
|
|
|
170
170
|
if (feeJuiceAddress.isZero() || feeJuicePortalAddress.isZero()) {
|
|
171
171
|
throw new Error('Portal or token not deployed on L1');
|
|
172
172
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, feeAssetHandlerAddress, extendedClient, logger);
|
|
173
|
+
// Handler is optional - it's only needed for minting tokens during testing
|
|
174
|
+
const handlerAddress = feeAssetHandlerAddress && !feeAssetHandlerAddress.isZero() ? feeAssetHandlerAddress : undefined;
|
|
175
|
+
return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, handlerAddress, extendedClient, logger);
|
|
177
176
|
}
|
|
178
177
|
}
|
|
179
178
|
/** Helper for interacting with a test TokenPortal on L1 for sending tokens to L2. */ export class L1ToL2TokenPortalManager {
|
|
@@ -285,40 +284,40 @@ import { getContract, toFunctionSelector } from 'viem';
|
|
|
285
284
|
* Withdraws funds from the portal by consuming an L2 to L1 message. Returns once the tx is mined on L1.
|
|
286
285
|
* @param amount - Amount to withdraw.
|
|
287
286
|
* @param recipient - Who will receive the funds.
|
|
288
|
-
* @param
|
|
287
|
+
* @param epochNumber - Epoch number of the message.
|
|
289
288
|
* @param messageIndex - Index of the message.
|
|
290
289
|
* @param siblingPath - Sibling path of the message.
|
|
291
|
-
*/ async withdrawFunds(amount, recipient,
|
|
292
|
-
this.logger.info(`Sending L1 tx to consume message at
|
|
290
|
+
*/ async withdrawFunds(amount, recipient, epochNumber, messageIndex, siblingPath) {
|
|
291
|
+
this.logger.info(`Sending L1 tx to consume message at epoch ${epochNumber} index ${messageIndex} to withdraw ${amount}`);
|
|
293
292
|
const messageLeafId = getL2ToL1MessageLeafId({
|
|
294
293
|
leafIndex: messageIndex,
|
|
295
294
|
siblingPath
|
|
296
295
|
});
|
|
297
|
-
const isConsumedBefore = await this.outbox.read.
|
|
298
|
-
|
|
296
|
+
const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtEpoch([
|
|
297
|
+
BigInt(epochNumber),
|
|
299
298
|
messageLeafId
|
|
300
299
|
]);
|
|
301
300
|
if (isConsumedBefore) {
|
|
302
|
-
throw new Error(`
|
|
301
|
+
throw new Error(`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`);
|
|
303
302
|
}
|
|
304
303
|
// Call function on L1 contract to consume the message
|
|
305
304
|
const { request: withdrawRequest } = await this.portal.simulate.withdraw([
|
|
306
305
|
recipient.toString(),
|
|
307
306
|
amount,
|
|
308
307
|
false,
|
|
309
|
-
BigInt(
|
|
308
|
+
BigInt(epochNumber),
|
|
310
309
|
messageIndex,
|
|
311
310
|
siblingPath.toBufferArray().map((buf)=>`0x${buf.toString('hex')}`)
|
|
312
311
|
]);
|
|
313
312
|
await this.extendedClient.waitForTransactionReceipt({
|
|
314
313
|
hash: await this.extendedClient.writeContract(withdrawRequest)
|
|
315
314
|
});
|
|
316
|
-
const isConsumedAfter = await this.outbox.read.
|
|
317
|
-
|
|
315
|
+
const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtEpoch([
|
|
316
|
+
BigInt(epochNumber),
|
|
318
317
|
messageLeafId
|
|
319
318
|
]);
|
|
320
319
|
if (!isConsumedAfter) {
|
|
321
|
-
throw new Error(`
|
|
320
|
+
throw new Error(`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`);
|
|
322
321
|
}
|
|
323
322
|
}
|
|
324
323
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
|
|
4
|
-
"version": "0.0.1-commit.
|
|
4
|
+
"version": "0.0.1-commit.1142ef1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./abi": "./dest/api/abi.js",
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@aztec/constants": "0.0.1-commit.
|
|
88
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
89
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
90
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
91
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
92
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
93
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
87
|
+
"@aztec/constants": "0.0.1-commit.1142ef1",
|
|
88
|
+
"@aztec/entrypoints": "0.0.1-commit.1142ef1",
|
|
89
|
+
"@aztec/ethereum": "0.0.1-commit.1142ef1",
|
|
90
|
+
"@aztec/foundation": "0.0.1-commit.1142ef1",
|
|
91
|
+
"@aztec/l1-artifacts": "0.0.1-commit.1142ef1",
|
|
92
|
+
"@aztec/protocol-contracts": "0.0.1-commit.1142ef1",
|
|
93
|
+
"@aztec/stdlib": "0.0.1-commit.1142ef1",
|
|
94
94
|
"axios": "^1.12.0",
|
|
95
95
|
"tslib": "^2.4.0",
|
|
96
96
|
"viem": "npm:@aztec/viem@2.38.2",
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from './interaction_options.js';
|
|
16
16
|
|
|
17
17
|
/** A batch of function calls to be sent as a single transaction through a wallet. */
|
|
18
|
+
// docs:start:batch_call_class
|
|
18
19
|
export class BatchCall extends BaseContractInteraction {
|
|
19
20
|
constructor(
|
|
20
21
|
wallet: Wallet,
|
|
@@ -22,6 +23,7 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
22
23
|
) {
|
|
23
24
|
super(wallet);
|
|
24
25
|
}
|
|
26
|
+
// docs:end:batch_call_class
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* Returns an execution request that represents this operation.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ExtendedViemWalletClient, ViemContract } from '@aztec/ethereum/types';
|
|
2
2
|
import { extractEvent } from '@aztec/ethereum/utils';
|
|
3
|
+
import type { EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
4
|
import { sha256ToField } from '@aztec/foundation/crypto/sha256';
|
|
4
5
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
6
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -132,7 +133,7 @@ export class L1FeeJuicePortalManager {
|
|
|
132
133
|
constructor(
|
|
133
134
|
portalAddress: EthAddress,
|
|
134
135
|
tokenAddress: EthAddress,
|
|
135
|
-
handlerAddress: EthAddress,
|
|
136
|
+
handlerAddress: EthAddress | undefined,
|
|
136
137
|
private readonly extendedClient: ExtendedViemWalletClient,
|
|
137
138
|
private readonly logger: Logger,
|
|
138
139
|
) {
|
|
@@ -157,9 +158,9 @@ export class L1FeeJuicePortalManager {
|
|
|
157
158
|
*/
|
|
158
159
|
public async bridgeTokensPublic(to: AztecAddress, amount: bigint | undefined, mint = false): Promise<L2AmountClaim> {
|
|
159
160
|
const [claimSecret, claimSecretHash] = await generateClaimSecret();
|
|
160
|
-
const
|
|
161
|
-
const amountToBridge = amount ?? mintableAmount;
|
|
161
|
+
const amountToBridge = amount ?? (await this.tokenManager.getMintAmount());
|
|
162
162
|
if (mint) {
|
|
163
|
+
const mintableAmount = await this.tokenManager.getMintAmount();
|
|
163
164
|
if (amountToBridge !== mintableAmount) {
|
|
164
165
|
throw new Error(`Minting amount must be ${mintableAmount}`);
|
|
165
166
|
}
|
|
@@ -233,17 +234,12 @@ export class L1FeeJuicePortalManager {
|
|
|
233
234
|
if (feeJuiceAddress.isZero() || feeJuicePortalAddress.isZero()) {
|
|
234
235
|
throw new Error('Portal or token not deployed on L1');
|
|
235
236
|
}
|
|
236
|
-
if (!feeAssetHandlerAddress || feeAssetHandlerAddress.isZero()) {
|
|
237
|
-
throw new Error('Handler not deployed on L1, or handler address is zero');
|
|
238
|
-
}
|
|
239
237
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
logger,
|
|
246
|
-
);
|
|
238
|
+
// Handler is optional - it's only needed for minting tokens during testing
|
|
239
|
+
const handlerAddress =
|
|
240
|
+
feeAssetHandlerAddress && !feeAssetHandlerAddress.isZero() ? feeAssetHandlerAddress : undefined;
|
|
241
|
+
|
|
242
|
+
return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, handlerAddress, extendedClient, logger);
|
|
247
243
|
}
|
|
248
244
|
}
|
|
249
245
|
|
|
@@ -413,26 +409,26 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
|
|
|
413
409
|
* Withdraws funds from the portal by consuming an L2 to L1 message. Returns once the tx is mined on L1.
|
|
414
410
|
* @param amount - Amount to withdraw.
|
|
415
411
|
* @param recipient - Who will receive the funds.
|
|
416
|
-
* @param
|
|
412
|
+
* @param epochNumber - Epoch number of the message.
|
|
417
413
|
* @param messageIndex - Index of the message.
|
|
418
414
|
* @param siblingPath - Sibling path of the message.
|
|
419
415
|
*/
|
|
420
416
|
public async withdrawFunds(
|
|
421
417
|
amount: bigint,
|
|
422
418
|
recipient: EthAddress,
|
|
423
|
-
|
|
419
|
+
epochNumber: EpochNumber,
|
|
424
420
|
messageIndex: bigint,
|
|
425
421
|
siblingPath: SiblingPath<number>,
|
|
426
422
|
) {
|
|
427
423
|
this.logger.info(
|
|
428
|
-
`Sending L1 tx to consume message at
|
|
424
|
+
`Sending L1 tx to consume message at epoch ${epochNumber} index ${messageIndex} to withdraw ${amount}`,
|
|
429
425
|
);
|
|
430
426
|
|
|
431
427
|
const messageLeafId = getL2ToL1MessageLeafId({ leafIndex: messageIndex, siblingPath });
|
|
432
|
-
const isConsumedBefore = await this.outbox.read.
|
|
428
|
+
const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtEpoch([BigInt(epochNumber), messageLeafId]);
|
|
433
429
|
if (isConsumedBefore) {
|
|
434
430
|
throw new Error(
|
|
435
|
-
`
|
|
431
|
+
`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`,
|
|
436
432
|
);
|
|
437
433
|
}
|
|
438
434
|
|
|
@@ -441,7 +437,7 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
|
|
|
441
437
|
recipient.toString(),
|
|
442
438
|
amount,
|
|
443
439
|
false,
|
|
444
|
-
BigInt(
|
|
440
|
+
BigInt(epochNumber),
|
|
445
441
|
messageIndex,
|
|
446
442
|
siblingPath.toBufferArray().map((buf: Buffer): Hex => `0x${buf.toString('hex')}`),
|
|
447
443
|
]);
|
|
@@ -450,10 +446,10 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
|
|
|
450
446
|
hash: await this.extendedClient.writeContract(withdrawRequest),
|
|
451
447
|
});
|
|
452
448
|
|
|
453
|
-
const isConsumedAfter = await this.outbox.read.
|
|
449
|
+
const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtEpoch([BigInt(epochNumber), messageLeafId]);
|
|
454
450
|
if (!isConsumedAfter) {
|
|
455
451
|
throw new Error(
|
|
456
|
-
`
|
|
452
|
+
`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`,
|
|
457
453
|
);
|
|
458
454
|
}
|
|
459
455
|
}
|