@@ -2,8 +2,25 @@ import { Abi } from 'viem'
22
33// Same address on all supported chains https://www.multicall3.com/deployments
44export const MULTICALL3_ADDRESS = '0xcA11bde05977b3631167028862bE2a173976CA11'
5- export const SAFE_MULTISEND_SIGNATURE = 'multiSend(bytes)'
5+ export const SAFE_MULTISEND_SIGNATURE = '0x8d80ff0a'
6+
67export const SAFE_MULTISEND_ABI : Abi = [
8+ {
9+ inputs : [
10+ {
11+ internalType : 'bytes' ,
12+ name : 'transactions' ,
13+ type : 'bytes' ,
14+ } ,
15+ ] ,
16+ name : 'multiSend' ,
17+ outputs : [ ] ,
18+ stateMutability : 'payable' ,
19+ type : 'function' ,
20+ } ,
21+ ]
22+
23+ export const SAFE_MULTISEND_NESTED_ABI : Abi = [
724 {
825 name : 'transactions' ,
926 type : 'function' ,
@@ -39,3 +56,163 @@ export const SAFE_MULTISEND_ABI: Abi = [
3956 } ,
4057]
4158export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'
59+
60+ export const AA_ABIS : Record < string , Abi > = {
61+ '0xabc5345e' : [
62+ {
63+ name : 'executeBySender' ,
64+ type : 'function' ,
65+ stateMutability : 'nonpayable' ,
66+ inputs : [
67+ {
68+ name : 'calls' ,
69+ type : 'tuple[]' ,
70+ components : [
71+ { name : 'target' , type : 'address' } ,
72+ { name : 'value' , type : 'uint256' } ,
73+ { name : 'data' , type : 'bytes' } ,
74+ ] ,
75+ } ,
76+ ] ,
77+ outputs : [ ] ,
78+ } ,
79+ ] ,
80+ '0x34fcd5be' : [
81+ {
82+ inputs : [
83+ {
84+ components : [
85+ { name : 'target' , type : 'address' } ,
86+ { name : 'value' , type : 'uint256' } ,
87+ { name : 'data' , type : 'bytes' } ,
88+ ] ,
89+ name : 'calls' ,
90+ type : 'tuple[]' ,
91+ } ,
92+ ] ,
93+ name : 'executeBatch' ,
94+ outputs : [ ] ,
95+ stateMutability : 'payable' ,
96+ type : 'function' ,
97+ } ,
98+ ] ,
99+ '0x9e5d4c49' : [
100+ {
101+ type : 'function' ,
102+ inputs : [
103+ { name : 'to' , internalType : 'address' , type : 'address' } ,
104+ { name : 'value' , internalType : 'uint256' , type : 'uint256' } ,
105+ { name : 'data' , internalType : 'bytes' , type : 'bytes' } ,
106+ ] ,
107+ name : 'executeCall' ,
108+ outputs : [
109+ { name : 'success' , internalType : 'bool' , type : 'bool' } ,
110+ { name : 'returnData' , internalType : 'bytes' , type : 'bytes' } ,
111+ ] ,
112+ stateMutability : 'nonpayable' ,
113+ } ,
114+ ] ,
115+ '0x912ccaa3' : [
116+ {
117+ inputs : [
118+ {
119+ name : 'target' ,
120+ type : 'address[]' ,
121+ } ,
122+ {
123+ name : 'value' ,
124+ type : 'uint256[]' ,
125+ } ,
126+ {
127+ name : 'targetCallData' ,
128+ type : 'bytes[]' ,
129+ } ,
130+ ] ,
131+ name : 'executeBatchCall' ,
132+ outputs : [ ] ,
133+ stateMutability : 'nonpayable' ,
134+ type : 'function' ,
135+ } ,
136+ ] ,
137+ '0x18dfb3c7' : [
138+ {
139+ name : 'execute' ,
140+ type : 'function' ,
141+ inputs : [
142+ {
143+ name : 'target' ,
144+ type : 'address[]' ,
145+ } ,
146+ {
147+ name : 'callData' ,
148+ type : 'bytes[]' ,
149+ } ,
150+ ] ,
151+ outputs : [ ] ,
152+ stateMutability : 'nonpayable' ,
153+ } ,
154+ ] ,
155+ '0xb61d27f6' : [
156+ {
157+ name : 'execute' ,
158+ type : 'function' ,
159+ inputs : [
160+ {
161+ name : 'target' ,
162+ type : 'address' ,
163+ } ,
164+ {
165+ name : 'value' ,
166+ type : 'uint256' ,
167+ } ,
168+ {
169+ name : 'data' ,
170+ type : 'bytes' ,
171+ } ,
172+ ] ,
173+ outputs : [ ] ,
174+ stateMutability : 'nonpayable' ,
175+ } ,
176+ ] ,
177+ '0x51945447' : [
178+ {
179+ type : 'function' ,
180+ inputs : [
181+ { name : 'to' , internalType : 'address' , type : 'address' } ,
182+ { name : 'value' , internalType : 'uint256' , type : 'uint256' } ,
183+ { name : 'data' , internalType : 'bytes' , type : 'bytes' } ,
184+ { name : 'operation' , internalType : 'enum Operation' , type : 'uint8' } ,
185+ ] ,
186+ name : 'execute' ,
187+ outputs : [ ] ,
188+ stateMutability : 'payable' ,
189+ } ,
190+ ] ,
191+ '0xf34308ef' : [
192+ {
193+ name : 'execTransactionFromEntrypoint' ,
194+ type : 'function' ,
195+ stateMutability : 'payable' ,
196+ inputs : [
197+ { name : 'to' , type : 'address' } ,
198+ { name : 'value' , type : 'uint256' } ,
199+ { name : 'data' , type : 'bytes' } ,
200+ ] ,
201+ outputs : [ ] ,
202+ } ,
203+ ] ,
204+ '0x541d63c8' : [
205+ {
206+ name : 'executeUserOpWithErrorString' ,
207+ type : 'function' ,
208+ stateMutability : 'nonpayable' ,
209+ inputs : [
210+ { name : 'to' , type : 'address' } ,
211+ { name : 'value' , type : 'uint256' } ,
212+ { name : 'data' , type : 'bytes' } ,
213+ { name : 'operation' , type : 'uint8' } ,
214+ ] ,
215+ outputs : [ ] ,
216+ } ,
217+ ] ,
218+ }
0 commit comments