@@ -7,21 +7,43 @@ import {
77import { Contract , TransactionRequest , ZeroHash } from 'ethers' ;
88
99const bundler3Contracts = [
10- [ 'Mainnet' , [ [ 'Polygon' , '0x2d9C3A9E67c966C711208cc78b34fB9E9f8db589' ] ] ] ,
10+ [
11+ 'Mainnet' ,
12+ [
13+ [ 'Arbitrum' , '0x1FA4431bC113D308beE1d46B0e98Cb805FB48C13' ] ,
14+ [ 'Base' , '0x6BFd8137e702540E7A42B74178A4a49Ba43920C4' ] ,
15+ [ 'Ethereum' , '0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245' ] ,
16+ [ 'Optimism' , '0xFBCd3C258feB131D8E038F2A3a670A7bE0507C05' ] ,
17+ [ 'Polygon' , '0x2d9C3A9E67c966C711208cc78b34fB9E9f8db589' ] ,
18+ [ 'Scroll' , '0x60F9159d4dCd724e743212416FD57d8aC0B60768' ] ,
19+ [ 'Unichain' , '0x7DD85759182495AF7F6757DA75036d24A9B58bc3' ] ,
20+ [ 'Worldchain' , '0x3D07BF2FFb23248034bF704F3a4786F1ffE2a448' ] ,
21+ ] ,
22+ ] ,
1123] as const satisfies MapLevel < Network , MapLevel < Chain , string > > ;
1224
1325export const bundler3Contract = constMap ( bundler3Contracts ) ;
1426
27+ /**
28+ * Represents the data required to make a call.
29+ *
30+ * @property to - The target address for the call.
31+ * @property data - The calldata to be sent with the call.
32+ * @property value - The amount of native currency (in wei) to send with the call.
33+ * @property skipRevert - If true, the execution of other planned calls will continue even if this call reverts.
34+ * Note: `skipRevert` will ignore all reverts. Use with caution.
35+ * @property callbackHash - The hash of the reenter bundle data, required if the call triggers a reentrant operation.
36+ */
1537export interface Call {
1638 to : string ;
1739 data : string ;
1840 value : bigint ;
1941 skipRevert : boolean ;
20- callbackHash : string ; // bytes32
42+ callbackHash : string ;
2143}
2244
2345/**
24- * Populates a transaction request with a multicall to the bundler3 contract
46+ * Populates a transaction request with a call to the bundler3 multicall function
2547 * @param calls - Array of calls to be made in the multicall
2648 * @param bundler3Address - Address of the bundler3 contract
2749 * @returns Promise<TransactionRequest>
0 commit comments