-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbaseSepolia.txt
More file actions
267 lines (267 loc) · 36.6 KB
/
baseSepolia.txt
File metadata and controls
267 lines (267 loc) · 36.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
Deploying with provided CLI arguments to baseSepolia
Nothing to compile
No need to generate any newer typings.
reusing "ChamaGroupV5" at 0x86A21436887050432159153E00d8bA8674aD6576
👋 ChamaGroupV5 contract deployed 0x86A21436887050432159153E00d8bA8674aD6576
📄 ChamaGroupV5 contract details {
address: '0x86A21436887050432159153E00d8bA8674aD6576',
abi: [
{ inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
{
anonymous: false,
inputs: [Array],
name: 'ContributionMade',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'GranteeSelected',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'GroupArchived',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'GroupCreated',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'GroupUpdated',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'MemberAddedByOwner',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'MemberApproved',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'MemberRemoved',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'MemberRevoked',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'MembersAddedByOwner',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'OwnershipTransferred',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'TokenAdded',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'TokensRemoved',
type: 'event'
},
{
anonymous: false,
inputs: [Array],
name: 'Withdrawal',
type: 'event'
},
{ stateMutability: 'payable', type: 'fallback' },
{
inputs: [Array],
name: 'addAllowedToken',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'archiveGroup',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'contribute',
outputs: [],
stateMutability: 'payable',
type: 'function'
},
{
inputs: [Array],
name: 'createGroup',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'getGroupById',
outputs: [Array],
stateMutability: 'view',
type: 'function'
},
{
inputs: [Array],
name: 'getGroupsByContributor',
outputs: [Array],
stateMutability: 'view',
type: 'function'
},
{
inputs: [],
name: 'maxBatchSize',
outputs: [Array],
stateMutability: 'view',
type: 'function'
},
{
inputs: [],
name: 'nextId',
outputs: [Array],
stateMutability: 'view',
type: 'function'
},
{
inputs: [],
name: 'owner',
outputs: [Array],
stateMutability: 'view',
type: 'function'
},
{
inputs: [Array],
name: 'removeAllowedTokens',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'removeMember',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [],
name: 'renounceOwnership',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'transferOwnership',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'updateGroup',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [Array],
name: 'withdraw',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{ stateMutability: 'payable', type: 'receive' }
],
transactionHash: '0xf346a31fd806a01e4a13d2ee50eaad34f4e96df3523d23f4ae078a6253e54d26',
receipt: {
to: null,
from: '0x54Bc458B429AFD4D66670fD55c8922CBceCF57ce',
contractAddress: '0x86A21436887050432159153E00d8bA8674aD6576',
transactionIndex: 6,
gasUsed: '2464798',
logsBloom: '0x00000000000000000000000000000000000000000000000000800000000000000000000000000200000000000000000000000000800000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000008000000000000000000000000000000000001000000000000',
blockHash: '0x906ebc47ad38b61bbe6bdac19074daae74537475e5a535bcc5f617bc62fe2617',
transactionHash: '0xf346a31fd806a01e4a13d2ee50eaad34f4e96df3523d23f4ae078a6253e54d26',
logs: [ [Object] ],
blockNumber: 13811615,
cumulativeGasUsed: '5288812',
status: 1,
byzantium: true
},
args: [],
numDeployments: 1,
solcInputHash: '79e021bee9f52b14a3883b83a333f1ac',
metadata: `{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"contributor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"}],"name":"ContributionMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"}],"name":"GranteeSelected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":false,"internalType":"address","name":"groupCreator","type":"address"},{"indexed":false,"internalType":"enum ChamaGroupV5.STATUS","name":"status","type":"uint8"}],"name":"GroupArchived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":false,"internalType":"address","name":"groupCreator","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"enum ChamaGroupV5.STATUS","name":"status","type":"uint8"}],"name":"GroupCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"uint256","name":"contributionAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"contributionTimeline","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"savingsRatio","type":"uint256"}],"name":"GroupUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"MemberAddedByOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"MemberApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"MemberRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"MemberRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfMembers","type":"uint256"}],"name":"MembersAddedByOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":true,"internalType":"address","name":"tokenAddress","type":"address"}],"name":"TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"groupId","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"tokenAddresses","type":"address[]"}],"name":"TokensRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contributor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"}],"name":"Withdrawal","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"addAllowedToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"}],"name":"archiveGroup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"contribute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_contributionAmount","type":"uint256"},{"internalType":"uint256","name":"_contributionTimelineInSeconds","type":"uint256"},{"internalType":"uint256","name":"_savingsRatio","type":"uint256"},{"internalType":"address[]","name":"_allowedTokens","type":"address[]"}],"name":"createGroup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"}],"name":"getGroupById","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"enum ChamaGroupV5.STATUS","name":"status","type":"uint8"},{"internalType":"uint256","name":"contributionAmount","type":"uint256"},{"internalType":"uint256","name":"contributionTimeline","type":"uint256"},{"internalType":"uint256","name":"savingsRatio","type":"uint256"},{"internalType":"address","name":"selectedGrantee","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contributor","type":"address"}],"name":"getGroupsByContributor","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBatchSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextId","outputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"address[]","name":"tokenAddresses","type":"address[]"}],"name":"removeAllowedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"address","name":"member","type":"address"}],"name":"removeMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_contributionAmount","type":"uint256"},{"internalType":"uint256","name":"_contributionTimelineInSeconds","type":"uint256"},{"internalType":"uint256","name":"_savingsRatio","type":"uint256"}],"name":"updateGroup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"details":"A smart contract for managing savings groups (Chamas) where members can contribute Ether or ERC20 tokens. The contract includes functionalities for group creation, contributions, grantee selection, withdrawals, and group archiving.","kind":"dev","methods":{"addAllowedToken(uint256,address)":{"details":"Adds a new token to the allowed tokens list for a group.","params":{"groupId":"The ID of the group.","tokenAddress":"The address of the ERC20 token to add."}},"archiveGroup(uint256)":{"details":"Archives a group and marks it as inactive.","params":{"groupId":"The ID of the group."}},"contribute(uint256,address,uint256)":{"details":"Allows an approved member to contribute Ether or ERC20 tokens to the specified group.","params":{"groupId":"The ID of the group.","tokenAddress":"The address of the ERC20 token (use 0x0000000000000000000000000000000000000000 for Ether).","tokenAmount":"The amount of ERC20 tokens to contribute, in the token's smallest unit."}},"createGroup(string,string,uint256,uint256,uint256,address[])":{"details":"Creates a new savings group with the specified parameters.","params":{"_allowedTokens":"An array of allowed ERC20 token addresses for contributions.","_contributionAmount":"The fixed contribution amount for all members, denoted in the smallest unit (e.g., wei for Ether, or token decimals for ERC20).","_contributionTimelineInSeconds":"The timeline for contributions, in seconds.","_description":"The description of the group.","_name":"The name of the group.","_savingsRatio":"The percentage out of 10000 for the savings split."}},"getGroupById(uint256)":{"details":"Retrieves the details of a group by its ID.","params":{"groupId":"The ID of the group."},"returns":{"contributionAmount":"The fixed contribution amount for the gr`... 54855 more characters,
bytecode: '0x608060405260646005553480156200001657600080fd5b506001600055620000273362000044565b6200003e60026200009660201b6200184e1760201c565b6200009f565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80546001019055565b6129f180620000af6000396000f3fe6080604052600436106100eb5760003560e01c80636cc29ea01161008a578063a4b1aa7911610059578063a4b1aa791461031a578063b56bb68d1461033a578063bd01c9a71461035a578063f2fde38b1461038757610154565b80636cc29ea014610295578063715018a6146102ca5780638952ac1e146102df5780638da5cb5b146102f257610154565b80632913daa0116100c65780632913daa01461021557806361b8ce8c1461023e57806363eb7b4d146102555780636be7658b1461027557610154565b8062f714ce146101b357806309c9af3f146101d55780632731e949146101f557610154565b366101545760405162461bcd60e51b815260206004820152602e60248201527f436f6e747261637420646f6573206e6f7420616363657074206469726563742060448201526d4574686572207061796d656e747360901b60648201526084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602e60248201527f46616c6c6261636b2066756e6374696f6e207472696767657265642c206e6f2060448201526d115d1a195c881858d8d95c1d195960921b606482015260840161014b565b3480156101bf57600080fd5b506101d36101ce3660046120cc565b6103a7565b005b3480156101e157600080fd5b506101d36101f03660046120cc565b6105f3565b34801561020157600080fd5b506101d36102103660046121c6565b610733565b34801561022157600080fd5b5061022b60055481565b6040519081526020015b60405180910390f35b34801561024a57600080fd5b5060025461022b9081565b34801561026157600080fd5b506101d361027036600461227d565b610905565b34801561028157600080fd5b506101d36102903660046120cc565b610b7c565b3480156102a157600080fd5b506102b56102b0366004612321565b610d3b565b604051610235999897969594939291906123c2565b3480156102d657600080fd5b506101d3610f10565b6101d36102ed36600461243c565b610f24565b3480156102fe57600080fd5b506001546040516001600160a01b039091168152602001610235565b34801561032657600080fd5b506101d3610335366004612321565b611486565b34801561034657600080fd5b506101d3610355366004612471565b6115be565b34801561036657600080fd5b5061037a6103753660046124d3565b61176c565b60405161023591906124ee565b34801561039357600080fd5b506101d36103a23660046124d3565b6117d8565b6103af611857565b6000828152600360205260408120548391036103dd5760405162461bcd60e51b815260040161014b90612532565b600083815260036020526040812090600482015460ff1660018111156104055761040561238a565b148061042957506001600482015460ff1660018111156104275761042761238a565b145b6104755760405162461bcd60e51b815260206004820152601f60248201527f47726f7570206973206e6f7420616374697665206f7220617263686976656400604482015260640161014b565b6001600160a01b03831615600081156105005750336000908152600f83016020526040902054806104df5760405162461bcd60e51b81526020600482015260146024820152734e6f20457468657220746f20776974686472617760601b604482015260640161014b565b336000818152600f850160205260408120556104fb90826118b0565b61059f565b50336000908152600b8301602090815260408083206001600160a01b03881684529091529020548061056c5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015260640161014b565b336000818152600b8501602090815260408083206001600160a01b038a16808552925282209190915561059f91836119c9565b604080518281526001600160a01b038716602082015233917e1a143d5b175701cb3246058ffac3d63945192075a926ff73a19930f09d587a910160405180910390a2505050506105ef6001600055565b5050565b6105fb611857565b6000828152600360205260408120548391036106295760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b031633146106645760405162461bcd60e51b815260040161014b90612560565b600084815260036020526040902061067c8185611a2c565b156106c95760405162461bcd60e51b815260206004820152601860248201527f546f6b656e20697320616c726561647920616c6c6f7765640000000000000000604482015260640161014b565b6011810180546001810182556000918252602082200180546001600160a01b0319166001600160a01b038716908117909155604051909187917fca37a60f79854243dcab36b6ad6fcaafc7ae13448087ee70547943babc7dccf09190a35050506105ef6001600055565b61073b611857565b6000828152600360205260408120548391036107695760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b031633146107a45760405162461bcd60e51b815260040161014b90612560565b6000848152600360205260408120905b84518110156108bf5760008582815181106107d1576107d16125ae565b6020026020010151905060006107e78483611a9d565b60118501549091508110156108aa57601184018054610808906001906125da565b81548110610818576108186125ae565b6000918252602090912001546011850180546001600160a01b039092169183908110610846576108466125ae565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083601101805480610887576108876125ed565b600082815260209020810160001990810180546001600160a01b03191690550190555b505080806108b790612603565b9150506107b4565b50847f111b06d202096e6e7daf638fedcad7ee5eb78648092da57570b4a42bedf3d568856040516108f0919061261c565b60405180910390a25050506105ef6001600055565b61090d611857565b60008651116109575760405162461bcd60e51b81526020600482015260166024820152754e616d65206d757374206e6f7420626520656d70747960501b604482015260640161014b565b60008551116109a85760405162461bcd60e51b815260206004820152601d60248201527f4465736372697074696f6e206d757374206e6f7420626520656d707479000000604482015260640161014b565b600084116109c85760405162461bcd60e51b815260040161014b9061265d565b610e108310156109ea5760405162461bcd60e51b815260040161014b906126aa565b612710821115610a0c5760405162461bcd60e51b815260040161014b906126f7565b600060036000610a1b60025490565b81526020019081526020016000209050610a3460025490565b81556001810180546001600160a01b0319163317905560028101610a5888826127c3565b5060038101610a6787826127c3565b5060048101805460ff19908116909155600582018690556006820185905560078201849055600982018054600181810183556000928352602080842090920180546001600160a01b031916339081179091558352600c8501825260408084208054909516909117909355600e840181529190204290558251610af191601184019190850190612036565b50336000908152600460205260409020600254815460018101835560009283526020909220909101556002547f7f59872da60a4c019e3e167c8d5c5c0093bd0e199cfeca02250057a73b6a6d8a3389896000604051610b539493929190612883565b60405180910390a2610b69600280546001019055565b50610b746001600055565b505050505050565b610b84611857565b600082815260036020526040812054839103610bb25760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b03163314610bed5760405162461bcd60e51b815260040161014b90612560565b60008481526003602090815260408083206001600160a01b0387168452600c81019092529091205460ff16610c5a5760405162461bcd60e51b815260206004820152601360248201527213595b58995c881b9bdd08185c1c1c9bdd9959606a1b604482015260640161014b565b6000600482015460ff166001811115610c7557610c7561238a565b1480610c9957506001600482015460ff166001811115610c9757610c9761238a565b145b610ce55760405162461bcd60e51b815260206004820152601f60248201527f47726f7570206973206e6f7420616374697665206f7220617263686976656400604482015260640161014b565b6001600160a01b0384166000818152600c83016020526040808220805460ff191690555187917f1c4c9d2e56d0635d11bc47c997c6909a0d7061f55cbb8f4b27386db37553191c91a35050506105ef6001600055565b6000806060806000806000806000896003600082815260200190815260200160002060000154600003610d805760405162461bcd60e51b815260040161014b90612532565b60008b81526003602081905260409091208054600182015460048301546005840154600685015460078601546010870154600288018054989997986001600160a01b03978816989197918b019660ff1695949392909116908790610de390612743565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612743565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b50505050509650858054610e6f90612743565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9b90612743565b8015610ee85780601f10610ebd57610100808354040283529160200191610ee8565b820191906000526020600020905b815481529060010190602001808311610ecb57829003601f168201915b505050505095509a509a509a509a509a509a509a509a509a5050509193959799909294969850565b610f18611b09565b610f226000611b63565b565b610f2c611857565b600083815260036020526040812054849103610f5a5760405162461bcd60e51b815260040161014b90612532565b6000848152600360209081526040808320338452600c01909152902054849060ff16610fc85760405162461bcd60e51b815260206004820152601e60248201527f596f7520617265206e6f7420616e20617070726f766564206d656d6265720000604482015260640161014b565b600085815260036020526040812090600482015460ff166001811115610ff057610ff061238a565b146110335760405162461bcd60e51b815260206004820152601360248201527247726f7570206973206e6f742061637469766560681b604482015260640161014b565b8060060154816008015461104791906128d2565b4210156110965760405162461bcd60e51b815260206004820152601d60248201527f436f6e747269627574696f6e2074696d656c696e65206e6f74206d6574000000604482015260640161014b565b806006015481600801546110aa91906128d2565b6110b790620151806128d2565b42106111055760405162461bcd60e51b815260206004820152601d60248201527f436f6e747269627574696f6e20706572696f642068617320656e646564000000604482015260640161014b565b600581015460078201546001600160a01b03871615916000916127109161112b916128e5565b61113591906128fc565b9050600081846005015461114991906125da565b9050821561120f57836005015434146111b05760405162461bcd60e51b815260206004820152602360248201527f496e636f727265637420457468657220636f6e747269627574696f6e20616d6f6044820152621d5b9d60ea1b606482015260840161014b565b336000908152600f85016020526040812080548392906111d19084906128d2565b909155505060108401546001600160a01b03166000908152600f85016020526040812080548492906112049084906128d2565b909155506113579050565b8360050154871461126e5760405162461bcd60e51b815260206004820152602360248201527f496e636f727265637420746f6b656e20636f6e747269627574696f6e20616d6f6044820152621d5b9d60ea1b606482015260840161014b565b6112788489611a2c565b6112c45760405162461bcd60e51b815260206004820181905260248201527f546f6b656e206e6f7420616c6c6f77656420666f7220746869732067726f7570604482015260640161014b565b6112d96001600160a01b03891633308a611bb5'... 11826 more characters,
deployedBytecode: '0x6080604052600436106100eb5760003560e01c80636cc29ea01161008a578063a4b1aa7911610059578063a4b1aa791461031a578063b56bb68d1461033a578063bd01c9a71461035a578063f2fde38b1461038757610154565b80636cc29ea014610295578063715018a6146102ca5780638952ac1e146102df5780638da5cb5b146102f257610154565b80632913daa0116100c65780632913daa01461021557806361b8ce8c1461023e57806363eb7b4d146102555780636be7658b1461027557610154565b8062f714ce146101b357806309c9af3f146101d55780632731e949146101f557610154565b366101545760405162461bcd60e51b815260206004820152602e60248201527f436f6e747261637420646f6573206e6f7420616363657074206469726563742060448201526d4574686572207061796d656e747360901b60648201526084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602e60248201527f46616c6c6261636b2066756e6374696f6e207472696767657265642c206e6f2060448201526d115d1a195c881858d8d95c1d195960921b606482015260840161014b565b3480156101bf57600080fd5b506101d36101ce3660046120cc565b6103a7565b005b3480156101e157600080fd5b506101d36101f03660046120cc565b6105f3565b34801561020157600080fd5b506101d36102103660046121c6565b610733565b34801561022157600080fd5b5061022b60055481565b6040519081526020015b60405180910390f35b34801561024a57600080fd5b5060025461022b9081565b34801561026157600080fd5b506101d361027036600461227d565b610905565b34801561028157600080fd5b506101d36102903660046120cc565b610b7c565b3480156102a157600080fd5b506102b56102b0366004612321565b610d3b565b604051610235999897969594939291906123c2565b3480156102d657600080fd5b506101d3610f10565b6101d36102ed36600461243c565b610f24565b3480156102fe57600080fd5b506001546040516001600160a01b039091168152602001610235565b34801561032657600080fd5b506101d3610335366004612321565b611486565b34801561034657600080fd5b506101d3610355366004612471565b6115be565b34801561036657600080fd5b5061037a6103753660046124d3565b61176c565b60405161023591906124ee565b34801561039357600080fd5b506101d36103a23660046124d3565b6117d8565b6103af611857565b6000828152600360205260408120548391036103dd5760405162461bcd60e51b815260040161014b90612532565b600083815260036020526040812090600482015460ff1660018111156104055761040561238a565b148061042957506001600482015460ff1660018111156104275761042761238a565b145b6104755760405162461bcd60e51b815260206004820152601f60248201527f47726f7570206973206e6f7420616374697665206f7220617263686976656400604482015260640161014b565b6001600160a01b03831615600081156105005750336000908152600f83016020526040902054806104df5760405162461bcd60e51b81526020600482015260146024820152734e6f20457468657220746f20776974686472617760601b604482015260640161014b565b336000818152600f850160205260408120556104fb90826118b0565b61059f565b50336000908152600b8301602090815260408083206001600160a01b03881684529091529020548061056c5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015260640161014b565b336000818152600b8501602090815260408083206001600160a01b038a16808552925282209190915561059f91836119c9565b604080518281526001600160a01b038716602082015233917e1a143d5b175701cb3246058ffac3d63945192075a926ff73a19930f09d587a910160405180910390a2505050506105ef6001600055565b5050565b6105fb611857565b6000828152600360205260408120548391036106295760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b031633146106645760405162461bcd60e51b815260040161014b90612560565b600084815260036020526040902061067c8185611a2c565b156106c95760405162461bcd60e51b815260206004820152601860248201527f546f6b656e20697320616c726561647920616c6c6f7765640000000000000000604482015260640161014b565b6011810180546001810182556000918252602082200180546001600160a01b0319166001600160a01b038716908117909155604051909187917fca37a60f79854243dcab36b6ad6fcaafc7ae13448087ee70547943babc7dccf09190a35050506105ef6001600055565b61073b611857565b6000828152600360205260408120548391036107695760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b031633146107a45760405162461bcd60e51b815260040161014b90612560565b6000848152600360205260408120905b84518110156108bf5760008582815181106107d1576107d16125ae565b6020026020010151905060006107e78483611a9d565b60118501549091508110156108aa57601184018054610808906001906125da565b81548110610818576108186125ae565b6000918252602090912001546011850180546001600160a01b039092169183908110610846576108466125ae565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083601101805480610887576108876125ed565b600082815260209020810160001990810180546001600160a01b03191690550190555b505080806108b790612603565b9150506107b4565b50847f111b06d202096e6e7daf638fedcad7ee5eb78648092da57570b4a42bedf3d568856040516108f0919061261c565b60405180910390a25050506105ef6001600055565b61090d611857565b60008651116109575760405162461bcd60e51b81526020600482015260166024820152754e616d65206d757374206e6f7420626520656d70747960501b604482015260640161014b565b60008551116109a85760405162461bcd60e51b815260206004820152601d60248201527f4465736372697074696f6e206d757374206e6f7420626520656d707479000000604482015260640161014b565b600084116109c85760405162461bcd60e51b815260040161014b9061265d565b610e108310156109ea5760405162461bcd60e51b815260040161014b906126aa565b612710821115610a0c5760405162461bcd60e51b815260040161014b906126f7565b600060036000610a1b60025490565b81526020019081526020016000209050610a3460025490565b81556001810180546001600160a01b0319163317905560028101610a5888826127c3565b5060038101610a6787826127c3565b5060048101805460ff19908116909155600582018690556006820185905560078201849055600982018054600181810183556000928352602080842090920180546001600160a01b031916339081179091558352600c8501825260408084208054909516909117909355600e840181529190204290558251610af191601184019190850190612036565b50336000908152600460205260409020600254815460018101835560009283526020909220909101556002547f7f59872da60a4c019e3e167c8d5c5c0093bd0e199cfeca02250057a73b6a6d8a3389896000604051610b539493929190612883565b60405180910390a2610b69600280546001019055565b50610b746001600055565b505050505050565b610b84611857565b600082815260036020526040812054839103610bb25760405162461bcd60e51b815260040161014b90612532565b60008381526003602052604090206001015483906001600160a01b03163314610bed5760405162461bcd60e51b815260040161014b90612560565b60008481526003602090815260408083206001600160a01b0387168452600c81019092529091205460ff16610c5a5760405162461bcd60e51b815260206004820152601360248201527213595b58995c881b9bdd08185c1c1c9bdd9959606a1b604482015260640161014b565b6000600482015460ff166001811115610c7557610c7561238a565b1480610c9957506001600482015460ff166001811115610c9757610c9761238a565b145b610ce55760405162461bcd60e51b815260206004820152601f60248201527f47726f7570206973206e6f7420616374697665206f7220617263686976656400604482015260640161014b565b6001600160a01b0384166000818152600c83016020526040808220805460ff191690555187917f1c4c9d2e56d0635d11bc47c997c6909a0d7061f55cbb8f4b27386db37553191c91a35050506105ef6001600055565b6000806060806000806000806000896003600082815260200190815260200160002060000154600003610d805760405162461bcd60e51b815260040161014b90612532565b60008b81526003602081905260409091208054600182015460048301546005840154600685015460078601546010870154600288018054989997986001600160a01b03978816989197918b019660ff1695949392909116908790610de390612743565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612743565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b50505050509650858054610e6f90612743565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9b90612743565b8015610ee85780601f10610ebd57610100808354040283529160200191610ee8565b820191906000526020600020905b815481529060010190602001808311610ecb57829003601f168201915b505050505095509a509a509a509a509a509a509a509a509a5050509193959799909294969850565b610f18611b09565b610f226000611b63565b565b610f2c611857565b600083815260036020526040812054849103610f5a5760405162461bcd60e51b815260040161014b90612532565b6000848152600360209081526040808320338452600c01909152902054849060ff16610fc85760405162461bcd60e51b815260206004820152601e60248201527f596f7520617265206e6f7420616e20617070726f766564206d656d6265720000604482015260640161014b565b600085815260036020526040812090600482015460ff166001811115610ff057610ff061238a565b146110335760405162461bcd60e51b815260206004820152601360248201527247726f7570206973206e6f742061637469766560681b604482015260640161014b565b8060060154816008015461104791906128d2565b4210156110965760405162461bcd60e51b815260206004820152601d60248201527f436f6e747269627574696f6e2074696d656c696e65206e6f74206d6574000000604482015260640161014b565b806006015481600801546110aa91906128d2565b6110b790620151806128d2565b42106111055760405162461bcd60e51b815260206004820152601d60248201527f436f6e747269627574696f6e20706572696f642068617320656e646564000000604482015260640161014b565b600581015460078201546001600160a01b03871615916000916127109161112b916128e5565b61113591906128fc565b9050600081846005015461114991906125da565b9050821561120f57836005015434146111b05760405162461bcd60e51b815260206004820152602360248201527f496e636f727265637420457468657220636f6e747269627574696f6e20616d6f6044820152621d5b9d60ea1b606482015260840161014b565b336000908152600f85016020526040812080548392906111d19084906128d2565b909155505060108401546001600160a01b03166000908152600f85016020526040812080548492906112049084906128d2565b909155506113579050565b8360050154871461126e5760405162461bcd60e51b815260206004820152602360248201527f496e636f727265637420746f6b656e20636f6e747269627574696f6e20616d6f6044820152621d5b9d60ea1b606482015260840161014b565b6112788489611a2c565b6112c45760405162461bcd60e51b815260206004820181905260248201527f546f6b656e206e6f7420616c6c6f77656420666f7220746869732067726f7570604482015260640161014b565b6112d96001600160a01b03891633308a611bb5565b336000908152600b8501602090815260408083206001600160a01b038c1684529091528120805483929061130e9084906128d2565b909155505060108401546001600160a01b039081166000908152600b860160209081526040808320938c16835292905290812080548492906113519084906128d2565b90915550505b836005015484601201600082825461136f91906128d2565b909155505042600885015560138401805461ffff191660'... 11476 more characters,
devdoc: {
details: 'A smart contract for managing savings groups (Chamas) where members can contribute Ether or ERC20 tokens. The contract includes functionalities for group creation, contributions, grantee selection, withdrawals, and group archiving.',
kind: 'dev',
methods: {
'addAllowedToken(uint256,address)': [Object],
'archiveGroup(uint256)': [Object],
'contribute(uint256,address,uint256)': [Object],
'createGroup(string,string,uint256,uint256,uint256,address[])': [Object],
'getGroupById(uint256)': [Object],
'getGroupsByContributor(address)': [Object],
'owner()': [Object],
'removeAllowedTokens(uint256,address[])': [Object],
'removeMember(uint256,address)': [Object],
'renounceOwnership()': [Object],
'transferOwnership(address)': [Object],
'updateGroup(uint256,string,uint256,uint256,uint256)': [Object],
'withdraw(uint256,address)': [Object]
},
title: 'ChamaGroupV5',
version: 1
},
userdoc: { kind: 'user', methods: {}, version: 1 },
storageLayout: {
storage: [ [Object], [Object], [Object], [Object], [Object], [Object] ],
types: {
t_address: [Object],
't_array(t_address)dyn_storage': [Object],
't_array(t_uint256)dyn_storage': [Object],
t_bool: [Object],
't_enum(STATUS)6712': [Object],
't_mapping(t_address,t_array(t_uint256)dyn_storage)': [Object],
't_mapping(t_address,t_bool)': [Object],
't_mapping(t_address,t_mapping(t_address,t_uint256))': [Object],
't_mapping(t_address,t_uint256)': [Object],
't_mapping(t_uint256,t_struct(Group)6772_storage)': [Object],
t_string_storage: [Object],
't_struct(Counter)1637_storage': [Object],
't_struct(Group)6772_storage': [Object],
t_uint256: [Object]
}
},
newlyDeployed: false
}
📝 Updated TypeScript contract definition file on ../nextjs/contracts/deployedContracts.ts