@hanamesh/api-contracts 0.22.4 → 0.22.5

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.
@@ -23,6 +23,32 @@
23
23
  ],
24
24
  "stateMutability": "nonpayable"
25
25
  },
26
+ {
27
+ "type": "function",
28
+ "name": "CLOCK_MODE",
29
+ "inputs": [],
30
+ "outputs": [
31
+ {
32
+ "name": "",
33
+ "type": "string",
34
+ "internalType": "string"
35
+ }
36
+ ],
37
+ "stateMutability": "pure"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "DOMAIN_SEPARATOR",
42
+ "inputs": [],
43
+ "outputs": [
44
+ {
45
+ "name": "",
46
+ "type": "bytes32",
47
+ "internalType": "bytes32"
48
+ }
49
+ ],
50
+ "stateMutability": "view"
51
+ },
26
52
  {
27
53
  "type": "function",
28
54
  "name": "allowance",
@@ -92,271 +118,787 @@
92
118
  },
93
119
  {
94
120
  "type": "function",
95
- "name": "decimals",
96
- "inputs": [],
97
- "outputs": [
121
+ "name": "checkpoints",
122
+ "inputs": [
98
123
  {
99
- "name": "",
100
- "type": "uint8",
101
- "internalType": "uint8"
124
+ "name": "account",
125
+ "type": "address",
126
+ "internalType": "address"
127
+ },
128
+ {
129
+ "name": "pos",
130
+ "type": "uint32",
131
+ "internalType": "uint32"
102
132
  }
103
133
  ],
104
- "stateMutability": "view"
105
- },
106
- {
107
- "type": "function",
108
- "name": "launcher",
109
- "inputs": [],
110
134
  "outputs": [
111
135
  {
112
136
  "name": "",
113
- "type": "address",
114
- "internalType": "address"
137
+ "type": "tuple",
138
+ "internalType": "struct Checkpoints.Checkpoint208",
139
+ "components": [
140
+ {
141
+ "name": "_key",
142
+ "type": "uint48",
143
+ "internalType": "uint48"
144
+ },
145
+ {
146
+ "name": "_value",
147
+ "type": "uint208",
148
+ "internalType": "uint208"
149
+ }
150
+ ]
115
151
  }
116
152
  ],
117
153
  "stateMutability": "view"
118
154
  },
119
155
  {
120
156
  "type": "function",
121
- "name": "name",
157
+ "name": "clock",
122
158
  "inputs": [],
123
159
  "outputs": [
124
160
  {
125
161
  "name": "",
126
- "type": "string",
127
- "internalType": "string"
162
+ "type": "uint48",
163
+ "internalType": "uint48"
128
164
  }
129
165
  ],
130
166
  "stateMutability": "view"
131
167
  },
132
168
  {
133
169
  "type": "function",
134
- "name": "symbol",
170
+ "name": "decimals",
135
171
  "inputs": [],
136
172
  "outputs": [
137
173
  {
138
174
  "name": "",
139
- "type": "string",
140
- "internalType": "string"
175
+ "type": "uint8",
176
+ "internalType": "uint8"
141
177
  }
142
178
  ],
143
179
  "stateMutability": "view"
144
180
  },
145
181
  {
146
182
  "type": "function",
147
- "name": "totalSupply",
148
- "inputs": [],
149
- "outputs": [
183
+ "name": "delegate",
184
+ "inputs": [
150
185
  {
151
- "name": "",
152
- "type": "uint256",
153
- "internalType": "uint256"
186
+ "name": "delegatee",
187
+ "type": "address",
188
+ "internalType": "address"
154
189
  }
155
190
  ],
156
- "stateMutability": "view"
191
+ "outputs": [],
192
+ "stateMutability": "nonpayable"
157
193
  },
158
194
  {
159
195
  "type": "function",
160
- "name": "transfer",
196
+ "name": "delegateBySig",
161
197
  "inputs": [
162
198
  {
163
- "name": "to",
199
+ "name": "delegatee",
164
200
  "type": "address",
165
201
  "internalType": "address"
166
202
  },
167
203
  {
168
- "name": "value",
204
+ "name": "nonce",
169
205
  "type": "uint256",
170
206
  "internalType": "uint256"
171
- }
172
- ],
173
- "outputs": [
207
+ },
174
208
  {
175
- "name": "",
176
- "type": "bool",
177
- "internalType": "bool"
209
+ "name": "expiry",
210
+ "type": "uint256",
211
+ "internalType": "uint256"
212
+ },
213
+ {
214
+ "name": "v",
215
+ "type": "uint8",
216
+ "internalType": "uint8"
217
+ },
218
+ {
219
+ "name": "r",
220
+ "type": "bytes32",
221
+ "internalType": "bytes32"
222
+ },
223
+ {
224
+ "name": "s",
225
+ "type": "bytes32",
226
+ "internalType": "bytes32"
178
227
  }
179
228
  ],
229
+ "outputs": [],
180
230
  "stateMutability": "nonpayable"
181
231
  },
182
232
  {
183
233
  "type": "function",
184
- "name": "transferFrom",
234
+ "name": "delegates",
185
235
  "inputs": [
186
236
  {
187
- "name": "from",
188
- "type": "address",
189
- "internalType": "address"
190
- },
191
- {
192
- "name": "to",
237
+ "name": "account",
193
238
  "type": "address",
194
239
  "internalType": "address"
195
- },
196
- {
197
- "name": "value",
198
- "type": "uint256",
199
- "internalType": "uint256"
200
240
  }
201
241
  ],
202
242
  "outputs": [
203
243
  {
204
244
  "name": "",
205
- "type": "bool",
206
- "internalType": "bool"
245
+ "type": "address",
246
+ "internalType": "address"
207
247
  }
208
248
  ],
209
- "stateMutability": "nonpayable"
249
+ "stateMutability": "view"
210
250
  },
211
251
  {
212
- "type": "event",
213
- "name": "Approval",
214
- "inputs": [
252
+ "type": "function",
253
+ "name": "eip712Domain",
254
+ "inputs": [],
255
+ "outputs": [
215
256
  {
216
- "name": "owner",
217
- "type": "address",
218
- "indexed": true,
219
- "internalType": "address"
257
+ "name": "fields",
258
+ "type": "bytes1",
259
+ "internalType": "bytes1"
220
260
  },
221
261
  {
222
- "name": "spender",
223
- "type": "address",
224
- "indexed": true,
225
- "internalType": "address"
262
+ "name": "name",
263
+ "type": "string",
264
+ "internalType": "string"
226
265
  },
227
266
  {
228
- "name": "value",
267
+ "name": "version",
268
+ "type": "string",
269
+ "internalType": "string"
270
+ },
271
+ {
272
+ "name": "chainId",
229
273
  "type": "uint256",
230
- "indexed": false,
231
274
  "internalType": "uint256"
232
- }
233
- ],
234
- "anonymous": false
235
- },
236
- {
237
- "type": "event",
238
- "name": "Transfer",
239
- "inputs": [
275
+ },
240
276
  {
241
- "name": "from",
277
+ "name": "verifyingContract",
242
278
  "type": "address",
243
- "indexed": true,
244
279
  "internalType": "address"
245
280
  },
246
281
  {
247
- "name": "to",
248
- "type": "address",
249
- "indexed": true,
250
- "internalType": "address"
282
+ "name": "salt",
283
+ "type": "bytes32",
284
+ "internalType": "bytes32"
251
285
  },
252
286
  {
253
- "name": "value",
254
- "type": "uint256",
255
- "indexed": false,
256
- "internalType": "uint256"
287
+ "name": "extensions",
288
+ "type": "uint256[]",
289
+ "internalType": "uint256[]"
257
290
  }
258
291
  ],
259
- "anonymous": false
292
+ "stateMutability": "view"
260
293
  },
261
294
  {
262
- "type": "error",
263
- "name": "ERC20InsufficientAllowance",
295
+ "type": "function",
296
+ "name": "getPastTotalSupply",
264
297
  "inputs": [
265
298
  {
266
- "name": "spender",
267
- "type": "address",
268
- "internalType": "address"
269
- },
270
- {
271
- "name": "allowance",
299
+ "name": "timepoint",
272
300
  "type": "uint256",
273
301
  "internalType": "uint256"
274
- },
302
+ }
303
+ ],
304
+ "outputs": [
275
305
  {
276
- "name": "needed",
306
+ "name": "",
277
307
  "type": "uint256",
278
308
  "internalType": "uint256"
279
309
  }
280
- ]
310
+ ],
311
+ "stateMutability": "view"
281
312
  },
282
313
  {
283
- "type": "error",
284
- "name": "ERC20InsufficientBalance",
314
+ "type": "function",
315
+ "name": "getPastVotes",
285
316
  "inputs": [
286
317
  {
287
- "name": "sender",
318
+ "name": "account",
288
319
  "type": "address",
289
320
  "internalType": "address"
290
321
  },
291
322
  {
292
- "name": "balance",
323
+ "name": "timepoint",
293
324
  "type": "uint256",
294
325
  "internalType": "uint256"
295
- },
326
+ }
327
+ ],
328
+ "outputs": [
296
329
  {
297
- "name": "needed",
330
+ "name": "",
298
331
  "type": "uint256",
299
332
  "internalType": "uint256"
300
333
  }
301
- ]
334
+ ],
335
+ "stateMutability": "view"
302
336
  },
303
337
  {
304
- "type": "error",
305
- "name": "ERC20InvalidApprover",
338
+ "type": "function",
339
+ "name": "getVotes",
306
340
  "inputs": [
307
341
  {
308
- "name": "approver",
342
+ "name": "account",
309
343
  "type": "address",
310
344
  "internalType": "address"
311
345
  }
312
- ]
346
+ ],
347
+ "outputs": [
348
+ {
349
+ "name": "",
350
+ "type": "uint256",
351
+ "internalType": "uint256"
352
+ }
353
+ ],
354
+ "stateMutability": "view"
313
355
  },
314
356
  {
315
- "type": "error",
316
- "name": "ERC20InvalidReceiver",
317
- "inputs": [
357
+ "type": "function",
358
+ "name": "launcher",
359
+ "inputs": [],
360
+ "outputs": [
318
361
  {
319
- "name": "receiver",
362
+ "name": "",
320
363
  "type": "address",
321
364
  "internalType": "address"
322
365
  }
323
- ]
366
+ ],
367
+ "stateMutability": "view"
324
368
  },
325
369
  {
326
- "type": "error",
327
- "name": "ERC20InvalidSender",
370
+ "type": "function",
371
+ "name": "name",
372
+ "inputs": [],
373
+ "outputs": [
374
+ {
375
+ "name": "",
376
+ "type": "string",
377
+ "internalType": "string"
378
+ }
379
+ ],
380
+ "stateMutability": "view"
381
+ },
382
+ {
383
+ "type": "function",
384
+ "name": "nonces",
328
385
  "inputs": [
329
386
  {
330
- "name": "sender",
387
+ "name": "account",
331
388
  "type": "address",
332
389
  "internalType": "address"
333
390
  }
334
- ]
391
+ ],
392
+ "outputs": [
393
+ {
394
+ "name": "",
395
+ "type": "uint256",
396
+ "internalType": "uint256"
397
+ }
398
+ ],
399
+ "stateMutability": "view"
335
400
  },
336
401
  {
337
- "type": "error",
338
- "name": "ERC20InvalidSpender",
402
+ "type": "function",
403
+ "name": "numCheckpoints",
339
404
  "inputs": [
340
405
  {
341
- "name": "spender",
406
+ "name": "account",
342
407
  "type": "address",
343
408
  "internalType": "address"
344
409
  }
345
- ]
346
- }
347
- ],
348
- "creationBytecode": "0x60a060405234801561001057600080fd5b50604051610bed380380610bed83398101604081905261002f91610287565b8282600361003d8382610382565b50600461004a8282610382565b505033608081905261005d915082610065565b505050610467565b6001600160a01b0382166100945760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6100a0600083836100a4565b5050565b6001600160a01b0383166100cf5780600260008282546100c49190610440565b909155506101419050565b6001600160a01b038316600090815260208190526040902054818110156101225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161008b565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661015d5760028054829003905561017c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101f557600080fd5b81516001600160401b0381111561020e5761020e6101ce565b604051601f8201601f19908116603f011681016001600160401b038111828210171561023c5761023c6101ce565b60405281815283820160200185101561025457600080fd5b60005b8281101561027357602081860181015183830182015201610257565b506000918101602001919091529392505050565b60008060006060848603121561029c57600080fd5b83516001600160401b038111156102b257600080fd5b6102be868287016101e4565b602086015190945090506001600160401b038111156102dc57600080fd5b6102e8868287016101e4565b925050604084015190509250925092565b600181811c9082168061030d57607f821691505b60208210810361032d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037d57806000526020600020601f840160051c8101602085101561035a5750805b601f840160051c820191505b8181101561037a5760008155600101610366565b50505b505050565b81516001600160401b0381111561039b5761039b6101ce565b6103af816103a984546102f9565b84610333565b6020601f8211600181146103e357600083156103cb5750848201515b600019600385901b1c1916600184901b17845561037a565b600084815260208120601f198516915b8281101561041357878501518255602094850194600190920191016103f3565b50848210156104315786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561046157634e487b7160e01b600052601160045260246000fd5b92915050565b60805161076c610481600039600060e9015261076c6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461014857806370a082311461015757806395d89b4114610180578063a9059cbb14610188578063dd62ed3e1461019b57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806316eebd1e146100e457806318160ddd1461012357806323b872dd14610135575b600080fd5b6100ab6101d4565b6040516100b891906105b5565b60405180910390f35b6100d46100cf36600461061f565b610266565b60405190151581526020016100b8565b61010b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b8565b6002545b6040519081526020016100b8565b6100d4610143366004610649565b610280565b604051601281526020016100b8565b610127610165366004610686565b6001600160a01b031660009081526020819052604090205490565b6100ab6102a4565b6100d461019636600461061f565b6102b3565b6101276101a93660046106a8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101e3906106db565b80601f016020809104026020016040519081016040528092919081815260200182805461020f906106db565b801561025c5780601f106102315761010080835404028352916020019161025c565b820191906000526020600020905b81548152906001019060200180831161023f57829003601f168201915b5050505050905090565b6000336102748185856102c1565b60019150505b92915050565b60003361028e8582856102d3565b610299858585610357565b506001949350505050565b6060600480546101e3906106db565b600033610274818585610357565b6102ce83838360016103b6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610351578181101561034257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610351848484840360006103b6565b50505050565b6001600160a01b03831661038157604051634b637e8f60e11b815260006004820152602401610339565b6001600160a01b0382166103ab5760405163ec442f0560e01b815260006004820152602401610339565b6102ce83838361048b565b6001600160a01b0384166103e05760405163e602df0560e01b815260006004820152602401610339565b6001600160a01b03831661040a57604051634a1406b160e11b815260006004820152602401610339565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561035157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161047d91815260200190565b60405180910390a350505050565b6001600160a01b0383166104b65780600260008282546104ab9190610715565b909155506105289050565b6001600160a01b038316600090815260208190526040902054818110156105095760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610339565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661054457600280548290039055610563565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105a891815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105e357602081860181015160408684010152016105c6565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461061a57600080fd5b919050565b6000806040838503121561063257600080fd5b61063b83610603565b946020939093013593505050565b60008060006060848603121561065e57600080fd5b61066784610603565b925061067560208501610603565b929592945050506040919091013590565b60006020828403121561069857600080fd5b6106a182610603565b9392505050565b600080604083850312156106bb57600080fd5b6106c483610603565b91506106d260208401610603565b90509250929050565b600181811c908216806106ef57607f821691505b60208210810361070f57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561027a57634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce274a90784d1b26745c238dfbf9f2b5591ab11bc683e82a49467155c3ad9e4364736f6c634300081a0033",
349
- "runtimeTemplate": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461014857806370a082311461015757806395d89b4114610180578063a9059cbb14610188578063dd62ed3e1461019b57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806316eebd1e146100e457806318160ddd1461012357806323b872dd14610135575b600080fd5b6100ab6101d4565b6040516100b891906105b5565b60405180910390f35b6100d46100cf36600461061f565b610266565b60405190151581526020016100b8565b61010b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b8565b6002545b6040519081526020016100b8565b6100d4610143366004610649565b610280565b604051601281526020016100b8565b610127610165366004610686565b6001600160a01b031660009081526020819052604090205490565b6100ab6102a4565b6100d461019636600461061f565b6102b3565b6101276101a93660046106a8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101e3906106db565b80601f016020809104026020016040519081016040528092919081815260200182805461020f906106db565b801561025c5780601f106102315761010080835404028352916020019161025c565b820191906000526020600020905b81548152906001019060200180831161023f57829003601f168201915b5050505050905090565b6000336102748185856102c1565b60019150505b92915050565b60003361028e8582856102d3565b610299858585610357565b506001949350505050565b6060600480546101e3906106db565b600033610274818585610357565b6102ce83838360016103b6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610351578181101561034257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610351848484840360006103b6565b50505050565b6001600160a01b03831661038157604051634b637e8f60e11b815260006004820152602401610339565b6001600160a01b0382166103ab5760405163ec442f0560e01b815260006004820152602401610339565b6102ce83838361048b565b6001600160a01b0384166103e05760405163e602df0560e01b815260006004820152602401610339565b6001600160a01b03831661040a57604051634a1406b160e11b815260006004820152602401610339565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561035157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161047d91815260200190565b60405180910390a350505050565b6001600160a01b0383166104b65780600260008282546104ab9190610715565b909155506105289050565b6001600160a01b038316600090815260208190526040902054818110156105095760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610339565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661054457600280548290039055610563565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105a891815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105e357602081860181015160408684010152016105c6565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461061a57600080fd5b919050565b6000806040838503121561063257600080fd5b61063b83610603565b946020939093013593505050565b60008060006060848603121561065e57600080fd5b61066784610603565b925061067560208501610603565b929592945050506040919091013590565b60006020828403121561069857600080fd5b6106a182610603565b9392505050565b600080604083850312156106bb57600080fd5b6106c483610603565b91506106d260208401610603565b90509250929050565b600181811c908216806106ef57607f821691505b60208210810361070f57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561027a57634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce274a90784d1b26745c238dfbf9f2b5591ab11bc683e82a49467155c3ad9e4364736f6c634300081a0033",
350
- "metadata": {
351
- "compiler": {
352
- "version": "0.8.26+commit.8a97fa7a"
353
- },
354
- "language": "Solidity",
355
- "output": {
356
- "abi": [
410
+ ],
411
+ "outputs": [
357
412
  {
358
- "inputs": [
359
- {
413
+ "name": "",
414
+ "type": "uint32",
415
+ "internalType": "uint32"
416
+ }
417
+ ],
418
+ "stateMutability": "view"
419
+ },
420
+ {
421
+ "type": "function",
422
+ "name": "permit",
423
+ "inputs": [
424
+ {
425
+ "name": "owner",
426
+ "type": "address",
427
+ "internalType": "address"
428
+ },
429
+ {
430
+ "name": "spender",
431
+ "type": "address",
432
+ "internalType": "address"
433
+ },
434
+ {
435
+ "name": "value",
436
+ "type": "uint256",
437
+ "internalType": "uint256"
438
+ },
439
+ {
440
+ "name": "deadline",
441
+ "type": "uint256",
442
+ "internalType": "uint256"
443
+ },
444
+ {
445
+ "name": "v",
446
+ "type": "uint8",
447
+ "internalType": "uint8"
448
+ },
449
+ {
450
+ "name": "r",
451
+ "type": "bytes32",
452
+ "internalType": "bytes32"
453
+ },
454
+ {
455
+ "name": "s",
456
+ "type": "bytes32",
457
+ "internalType": "bytes32"
458
+ }
459
+ ],
460
+ "outputs": [],
461
+ "stateMutability": "nonpayable"
462
+ },
463
+ {
464
+ "type": "function",
465
+ "name": "symbol",
466
+ "inputs": [],
467
+ "outputs": [
468
+ {
469
+ "name": "",
470
+ "type": "string",
471
+ "internalType": "string"
472
+ }
473
+ ],
474
+ "stateMutability": "view"
475
+ },
476
+ {
477
+ "type": "function",
478
+ "name": "totalSupply",
479
+ "inputs": [],
480
+ "outputs": [
481
+ {
482
+ "name": "",
483
+ "type": "uint256",
484
+ "internalType": "uint256"
485
+ }
486
+ ],
487
+ "stateMutability": "view"
488
+ },
489
+ {
490
+ "type": "function",
491
+ "name": "transfer",
492
+ "inputs": [
493
+ {
494
+ "name": "to",
495
+ "type": "address",
496
+ "internalType": "address"
497
+ },
498
+ {
499
+ "name": "value",
500
+ "type": "uint256",
501
+ "internalType": "uint256"
502
+ }
503
+ ],
504
+ "outputs": [
505
+ {
506
+ "name": "",
507
+ "type": "bool",
508
+ "internalType": "bool"
509
+ }
510
+ ],
511
+ "stateMutability": "nonpayable"
512
+ },
513
+ {
514
+ "type": "function",
515
+ "name": "transferFrom",
516
+ "inputs": [
517
+ {
518
+ "name": "from",
519
+ "type": "address",
520
+ "internalType": "address"
521
+ },
522
+ {
523
+ "name": "to",
524
+ "type": "address",
525
+ "internalType": "address"
526
+ },
527
+ {
528
+ "name": "value",
529
+ "type": "uint256",
530
+ "internalType": "uint256"
531
+ }
532
+ ],
533
+ "outputs": [
534
+ {
535
+ "name": "",
536
+ "type": "bool",
537
+ "internalType": "bool"
538
+ }
539
+ ],
540
+ "stateMutability": "nonpayable"
541
+ },
542
+ {
543
+ "type": "event",
544
+ "name": "Approval",
545
+ "inputs": [
546
+ {
547
+ "name": "owner",
548
+ "type": "address",
549
+ "indexed": true,
550
+ "internalType": "address"
551
+ },
552
+ {
553
+ "name": "spender",
554
+ "type": "address",
555
+ "indexed": true,
556
+ "internalType": "address"
557
+ },
558
+ {
559
+ "name": "value",
560
+ "type": "uint256",
561
+ "indexed": false,
562
+ "internalType": "uint256"
563
+ }
564
+ ],
565
+ "anonymous": false
566
+ },
567
+ {
568
+ "type": "event",
569
+ "name": "DelegateChanged",
570
+ "inputs": [
571
+ {
572
+ "name": "delegator",
573
+ "type": "address",
574
+ "indexed": true,
575
+ "internalType": "address"
576
+ },
577
+ {
578
+ "name": "fromDelegate",
579
+ "type": "address",
580
+ "indexed": true,
581
+ "internalType": "address"
582
+ },
583
+ {
584
+ "name": "toDelegate",
585
+ "type": "address",
586
+ "indexed": true,
587
+ "internalType": "address"
588
+ }
589
+ ],
590
+ "anonymous": false
591
+ },
592
+ {
593
+ "type": "event",
594
+ "name": "DelegateVotesChanged",
595
+ "inputs": [
596
+ {
597
+ "name": "delegate",
598
+ "type": "address",
599
+ "indexed": true,
600
+ "internalType": "address"
601
+ },
602
+ {
603
+ "name": "previousVotes",
604
+ "type": "uint256",
605
+ "indexed": false,
606
+ "internalType": "uint256"
607
+ },
608
+ {
609
+ "name": "newVotes",
610
+ "type": "uint256",
611
+ "indexed": false,
612
+ "internalType": "uint256"
613
+ }
614
+ ],
615
+ "anonymous": false
616
+ },
617
+ {
618
+ "type": "event",
619
+ "name": "EIP712DomainChanged",
620
+ "inputs": [],
621
+ "anonymous": false
622
+ },
623
+ {
624
+ "type": "event",
625
+ "name": "Transfer",
626
+ "inputs": [
627
+ {
628
+ "name": "from",
629
+ "type": "address",
630
+ "indexed": true,
631
+ "internalType": "address"
632
+ },
633
+ {
634
+ "name": "to",
635
+ "type": "address",
636
+ "indexed": true,
637
+ "internalType": "address"
638
+ },
639
+ {
640
+ "name": "value",
641
+ "type": "uint256",
642
+ "indexed": false,
643
+ "internalType": "uint256"
644
+ }
645
+ ],
646
+ "anonymous": false
647
+ },
648
+ {
649
+ "type": "error",
650
+ "name": "CheckpointUnorderedInsertion",
651
+ "inputs": []
652
+ },
653
+ {
654
+ "type": "error",
655
+ "name": "ECDSAInvalidSignature",
656
+ "inputs": []
657
+ },
658
+ {
659
+ "type": "error",
660
+ "name": "ECDSAInvalidSignatureLength",
661
+ "inputs": [
662
+ {
663
+ "name": "length",
664
+ "type": "uint256",
665
+ "internalType": "uint256"
666
+ }
667
+ ]
668
+ },
669
+ {
670
+ "type": "error",
671
+ "name": "ECDSAInvalidSignatureS",
672
+ "inputs": [
673
+ {
674
+ "name": "s",
675
+ "type": "bytes32",
676
+ "internalType": "bytes32"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "type": "error",
682
+ "name": "ERC20ExceededSafeSupply",
683
+ "inputs": [
684
+ {
685
+ "name": "increasedSupply",
686
+ "type": "uint256",
687
+ "internalType": "uint256"
688
+ },
689
+ {
690
+ "name": "cap",
691
+ "type": "uint256",
692
+ "internalType": "uint256"
693
+ }
694
+ ]
695
+ },
696
+ {
697
+ "type": "error",
698
+ "name": "ERC20InsufficientAllowance",
699
+ "inputs": [
700
+ {
701
+ "name": "spender",
702
+ "type": "address",
703
+ "internalType": "address"
704
+ },
705
+ {
706
+ "name": "allowance",
707
+ "type": "uint256",
708
+ "internalType": "uint256"
709
+ },
710
+ {
711
+ "name": "needed",
712
+ "type": "uint256",
713
+ "internalType": "uint256"
714
+ }
715
+ ]
716
+ },
717
+ {
718
+ "type": "error",
719
+ "name": "ERC20InsufficientBalance",
720
+ "inputs": [
721
+ {
722
+ "name": "sender",
723
+ "type": "address",
724
+ "internalType": "address"
725
+ },
726
+ {
727
+ "name": "balance",
728
+ "type": "uint256",
729
+ "internalType": "uint256"
730
+ },
731
+ {
732
+ "name": "needed",
733
+ "type": "uint256",
734
+ "internalType": "uint256"
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "type": "error",
740
+ "name": "ERC20InvalidApprover",
741
+ "inputs": [
742
+ {
743
+ "name": "approver",
744
+ "type": "address",
745
+ "internalType": "address"
746
+ }
747
+ ]
748
+ },
749
+ {
750
+ "type": "error",
751
+ "name": "ERC20InvalidReceiver",
752
+ "inputs": [
753
+ {
754
+ "name": "receiver",
755
+ "type": "address",
756
+ "internalType": "address"
757
+ }
758
+ ]
759
+ },
760
+ {
761
+ "type": "error",
762
+ "name": "ERC20InvalidSender",
763
+ "inputs": [
764
+ {
765
+ "name": "sender",
766
+ "type": "address",
767
+ "internalType": "address"
768
+ }
769
+ ]
770
+ },
771
+ {
772
+ "type": "error",
773
+ "name": "ERC20InvalidSpender",
774
+ "inputs": [
775
+ {
776
+ "name": "spender",
777
+ "type": "address",
778
+ "internalType": "address"
779
+ }
780
+ ]
781
+ },
782
+ {
783
+ "type": "error",
784
+ "name": "ERC2612ExpiredSignature",
785
+ "inputs": [
786
+ {
787
+ "name": "deadline",
788
+ "type": "uint256",
789
+ "internalType": "uint256"
790
+ }
791
+ ]
792
+ },
793
+ {
794
+ "type": "error",
795
+ "name": "ERC2612InvalidSigner",
796
+ "inputs": [
797
+ {
798
+ "name": "signer",
799
+ "type": "address",
800
+ "internalType": "address"
801
+ },
802
+ {
803
+ "name": "owner",
804
+ "type": "address",
805
+ "internalType": "address"
806
+ }
807
+ ]
808
+ },
809
+ {
810
+ "type": "error",
811
+ "name": "ERC5805FutureLookup",
812
+ "inputs": [
813
+ {
814
+ "name": "timepoint",
815
+ "type": "uint256",
816
+ "internalType": "uint256"
817
+ },
818
+ {
819
+ "name": "clock",
820
+ "type": "uint48",
821
+ "internalType": "uint48"
822
+ }
823
+ ]
824
+ },
825
+ {
826
+ "type": "error",
827
+ "name": "ERC6372InconsistentClock",
828
+ "inputs": []
829
+ },
830
+ {
831
+ "type": "error",
832
+ "name": "InvalidAccountNonce",
833
+ "inputs": [
834
+ {
835
+ "name": "account",
836
+ "type": "address",
837
+ "internalType": "address"
838
+ },
839
+ {
840
+ "name": "currentNonce",
841
+ "type": "uint256",
842
+ "internalType": "uint256"
843
+ }
844
+ ]
845
+ },
846
+ {
847
+ "type": "error",
848
+ "name": "InvalidShortString",
849
+ "inputs": []
850
+ },
851
+ {
852
+ "type": "error",
853
+ "name": "SafeCastOverflowedUintDowncast",
854
+ "inputs": [
855
+ {
856
+ "name": "bits",
857
+ "type": "uint8",
858
+ "internalType": "uint8"
859
+ },
860
+ {
861
+ "name": "value",
862
+ "type": "uint256",
863
+ "internalType": "uint256"
864
+ }
865
+ ]
866
+ },
867
+ {
868
+ "type": "error",
869
+ "name": "StringTooLong",
870
+ "inputs": [
871
+ {
872
+ "name": "str",
873
+ "type": "string",
874
+ "internalType": "string"
875
+ }
876
+ ]
877
+ },
878
+ {
879
+ "type": "error",
880
+ "name": "VotesExpiredSignature",
881
+ "inputs": [
882
+ {
883
+ "name": "expiry",
884
+ "type": "uint256",
885
+ "internalType": "uint256"
886
+ }
887
+ ]
888
+ }
889
+ ],
890
+ "creationBytecode": "0x61018060405234801561001157600080fd5b5060405161289938038061289983398101604081905261003091610861565b6040805180820190915260018152603160f81b6020820152839081908185600361005a838261095b565b506004610067828261095b565b5061007791508390506005610136565b61012052610086816006610136565b61014052815160208084019190912060e052815190820120610100524660a05261011360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052503361016081905261012e9082610169565b505050610aea565b60006020835110156101525761014b836101a8565b9050610163565b8161015d848261095b565b5060ff90505b92915050565b6001600160a01b0382166101985760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6101a4600083836101e6565b5050565b600080829050601f815111156101d3578260405163305a27a960e01b815260040161018f9190610a19565b80516101de82610a4c565b179392505050565b6101f18383836101f6565b505050565b61020183838361025d565b6001600160a01b03831661025257600061021a60025490565b90506001600160d01b038082111561024f57604051630e58ae9360e11b8152600481018390526024810182905260440161018f565b50505b6101f1838383610387565b6001600160a01b03831661028857806002600082825461027d9190610a86565b909155506102fa9050565b6001600160a01b038316600090815260208190526040902054818110156102db5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161018f565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661031657600280548290039055610335565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b60405180910390a3505050565b6001600160a01b0383166103b5576103b2600a61081561041060201b176103ad84610423565b61045b565b50505b6001600160a01b0382166103de576103db600a61082161048a60201b176103ad84610423565b50505b6001600160a01b038381166000908152600860205260408082205485841683529120546101f192918216911683610496565b600061041c8284610a99565b9392505050565b60006001600160d01b03821115610457576040516306dfcc6560e41b815260d060048201526024810183905260440161018f565b5090565b60008061047d4261047561046e886105eb565b868860201c565b879190610635565b915091505b935093915050565b600061041c8284610ab8565b816001600160a01b0316836001600160a01b0316141580156104b85750600081115b156101f1576001600160a01b03831615610552576001600160a01b0383166000908152600960209081526040822082916104ff919061048a901b610821176103ad86610423565b6001600160d01b031691506001600160d01b03169150846001600160a01b03166000805160206128798339815191528383604051610547929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156101f1576001600160a01b0382166000908152600960209081526040822082916105949190610410901b610815176103ad86610423565b6001600160d01b031691506001600160d01b03169150836001600160a01b031660008051602061287983398151915283836040516105dc929190918252602082015260400190565b60405180910390a25050505050565b8054600090801561062c5761061383610605600184610ad7565b600091825260209091200190565b54660100000000000090046001600160d01b031661041c565b60009392505050565b60008061047d85858582546000908190801561074057600061065c87610605600185610ad7565b805490915065ffffffffffff80821691660100000000000090046001600160d01b03169088168211156106a257604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff16036106de57825465ffffffffffff1666010000000000006001600160d01b03891602178355610732565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f815291909120945191519092166601000000000000029216919091179101555b945085935061048292505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081610482565b634e487b7160e01b600052604160045260246000fd5b60005b838110156107cf5781810151838201526020016107b7565b50506000910152565b600082601f8301126107e957600080fd5b81516001600160401b038111156108025761080261079e565b604051601f8201601f19908116603f011681016001600160401b03811182821017156108305761083061079e565b60405281815283820160200185101561084857600080fd5b6108598260208301602087016107b4565b949350505050565b60008060006060848603121561087657600080fd5b83516001600160401b0381111561088c57600080fd5b610898868287016107d8565b602086015190945090506001600160401b038111156108b657600080fd5b6108c2868287016107d8565b925050604084015190509250925092565b600181811c908216806108e757607f821691505b60208210810361090757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101f157806000526020600020601f840160051c810160208510156109345750805b601f840160051c820191505b818110156109545760008155600101610940565b5050505050565b81516001600160401b038111156109745761097461079e565b6109888161098284546108d3565b8461090d565b6020601f8211600181146109bc57600083156109a45750848201515b600019600385901b1c1916600184901b178455610954565b600084815260208120601f198516915b828110156109ec57878501518255602094850194600190920191016109cc565b5084821015610a0a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6020815260008251806020840152610a388160408501602087016107b4565b601f01601f19169190910160400192915050565b805160208083015191908110156109075760001960209190910360031b1b16919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561016357610163610a70565b6001600160d01b03818116838216019081111561016357610163610a70565b6001600160d01b03828116828216039081111561016357610163610a70565b8181038181111561016357610163610a70565b60805160a05160c05160e05161010051610120516101405161016051611d2a610b4f60003960006101a301526000610c2901526000610bfc015260006109f7015260006109cf0152600061092a015260006109540152600061097e0152611d2a6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c35780639ab24eb01161007c5780639ab24eb014610347578063a9059cbb1461035a578063c3cda5201461036d578063d505accf14610380578063dd62ed3e14610393578063f1127ed8146103cc57600080fd5b806370a08231146102bf5780637ecebe00146102e857806384b0196e146102fb5780638e539e8c1461031657806391ddadf41461032957806395d89b411461033f57600080fd5b80633644e515116101155780633644e515146102115780633a46b1a8146102195780634bf5d7e91461022c578063587cde1e146102565780635c19a95c146102825780636fcfff451461029757600080fd5b806306fdde031461015d578063095ea7b31461017b57806316eebd1e1461019e57806318160ddd146101dd57806323b872dd146101ef578063313ce56714610202575b600080fd5b61016561040b565b6040516101729190611933565b60405180910390f35b61018e610189366004611962565b61049d565b6040519015158152602001610172565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610172565b6002545b604051908152602001610172565b61018e6101fd36600461198c565b6104b7565b60405160128152602001610172565b6101e16104db565b6101e1610227366004611962565b6104ea565b60408051808201909152600e81526d06d6f64653d74696d657374616d760941b6020820152610165565b6101c56102643660046119c9565b6001600160a01b039081166000908152600860205260409020541690565b6102956102903660046119c9565b610526565b005b6102aa6102a53660046119c9565b610535565b60405163ffffffff9091168152602001610172565b6101e16102cd3660046119c9565b6001600160a01b031660009081526020819052604090205490565b6101e16102f63660046119c9565b610540565b61030361054b565b60405161017297969594939291906119e4565b6101e1610324366004611a7c565b610591565b60405165ffffffffffff42168152602001610172565b6101656105b6565b6101e16103553660046119c9565b6105c5565b61018e610368366004611962565b6105e6565b61029561037b366004611aa6565b6105f4565b61029561038e366004611afe565b6106b6565b6101e16103a1366004611b69565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6103df6103da366004611b9c565b6107f0565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610172565b60606003805461041a90611bdc565b80601f016020809104026020016040519081016040528092919081815260200182805461044690611bdc565b80156104935780601f1061046857610100808354040283529160200191610493565b820191906000526020600020905b81548152906001019060200180831161047657829003601f168201915b5050505050905090565b6000336104ab81858561082d565b60019150505b92915050565b6000336104c585828561083f565b6104d08585856108be565b506001949350505050565b60006104e561091d565b905090565b60006105166104f883610a48565b6001600160a01b038516600090815260096020526040902090610a8d565b6001600160d01b03169392505050565b336105318183610b43565b5050565b60006104b182610bb5565b60006104b182610bd7565b60006060806000806000606061055f610bf5565b610567610c22565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60006105a761059f83610a48565b600a90610a8d565b6001600160d01b031692915050565b60606004805461041a90611bdc565b6001600160a01b03811660009081526009602052604081206105a790610c4f565b6000336104ab8185856108be565b8342111561061d57604051632341d78760e11b8152600481018590526024015b60405180910390fd5b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906106979061068f9060a00160405160208183030381529060405280519060200120610c88565b858585610cb5565b90506106a38187610ce3565b6106ad8188610b43565b50505050505050565b834211156106da5760405163313c898160e11b815260048101859052602401610614565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886107278c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061078282610c88565b9050600061079282878787610cb5565b9050896001600160a01b0316816001600160a01b0316146107d9576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610614565b6107e48a8a8a61082d565b50505050505050505050565b604080518082019091526000808252602082015261080e8383610d36565b9392505050565b600061080e8284611c2c565b600061080e8284611c4b565b61083a8383836001610d6c565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156108b857818110156108a957604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610614565b6108b884848484036000610d6c565b50505050565b6001600160a01b0383166108e857604051634b637e8f60e11b815260006004820152602401610614565b6001600160a01b0382166109125760405163ec442f0560e01b815260006004820152602401610614565b61083a838383610e41565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561097657507f000000000000000000000000000000000000000000000000000000000000000046145b156109a057507f000000000000000000000000000000000000000000000000000000000000000090565b6104e5604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60004265ffffffffffff81168310610a8457604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610614565b61080e83610e4c565b815460009081816005811115610aec576000610aa884610e83565b610ab29085611c6a565b60008881526020902090915081015465ffffffffffff9081169087161015610adc57809150610aea565b610ae7816001611c7d565b92505b505b6000610afa87878585610fdc565b90508015610b3557610b1f87610b11600184611c6a565b600091825260209091200190565b54600160301b90046001600160d01b0316610b38565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461083a8183610bb08661103e565b61105c565b6001600160a01b0381166000908152600960205260408120546104b1906111c8565b6001600160a01b0381166000908152600760205260408120546104b1565b60606104e57f000000000000000000000000000000000000000000000000000000000000000060056111f9565b60606104e57f000000000000000000000000000000000000000000000000000000000000000060066111f9565b80546000908015610c7f57610c6983610b11600184611c6a565b54600160301b90046001600160d01b031661080e565b60009392505050565b60006104b1610c9561091d565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610cc7888888886112a4565b925092509250610cd78282611373565b50909695505050505050565b6001600160a01b038216600090815260076020526040902080546001810190915581811461083a576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610614565b60408051808201909152600080825260208201526001600160a01b038316600090815260096020526040902061080e908361142c565b6001600160a01b038416610d965760405163e602df0560e01b815260006004820152602401610614565b6001600160a01b038316610dc057604051634a1406b160e11b815260006004820152602401610614565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156108b857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610e3391815260200190565b60405180910390a350505050565b61083a83838361149c565b600065ffffffffffff821115610e7f576040516306dfcc6560e41b81526030600482015260248101839052604401610614565b5090565b600060018211610e91575090565b816001600160801b8210610eaa5760809190911c9060401b5b680100000000000000008210610ec55760409190911c9060201b5b6401000000008210610edc5760209190911c9060101b5b620100008210610ef15760109190911c9060081b5b6101008210610f055760089190911c9060041b5b60108210610f185760049190911c9060021b5b60048210610f245760011b5b600302600190811c90818581610f3c57610f3c611c90565b048201901c90506001818581610f5457610f54611c90565b048201901c90506001818581610f6c57610f6c611c90565b048201901c90506001818581610f8457610f84611c90565b048201901c90506001818581610f9c57610f9c611c90565b048201901c90506001818581610fb457610fb4611c90565b048201901c9050610fd3818581610fcd57610fcd611c90565b04821190565b90039392505050565b60005b81831015611036576000610ff38484611503565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561102257809250611030565b61102d816001611c7d565b93505b50610fdf565b509392505050565b6001600160a01b0381166000908152602081905260408120546104b1565b816001600160a01b0316836001600160a01b03161415801561107e5750600081115b1561083a576001600160a01b03831615611126576001600160a01b038316600090815260096020526040812081906110c1906108216110bc8661151e565b611552565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161111b929190918252602082015260400190565b60405180910390a250505b6001600160a01b0382161561083a576001600160a01b0382166000908152600960205260408120819061115f906108156110bc8661151e565b6001600160d01b031691506001600160d01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516111b9929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115610e7f576040516306dfcc6560e41b81526020600482015260248101839052604401610614565b606060ff83146112135761120c83611584565b90506104b1565b81805461121f90611bdc565b80601f016020809104026020016040519081016040528092919081815260200182805461124b90611bdc565b80156112985780601f1061126d57610100808354040283529160200191611298565b820191906000526020600020905b81548152906001019060200180831161127b57829003601f168201915b505050505090506104b1565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156112df5750600091506003905082611369565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611333573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661135f57506000925060019150829050611369565b9250600091508190505b9450945094915050565b600082600381111561138757611387611ca6565b03611390575050565b60018260038111156113a4576113a4611ca6565b036113c25760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156113d6576113d6611ca6565b036113f75760405163fce698f760e01b815260048101829052602401610614565b600382600381111561140b5761140b611ca6565b03610531576040516335e2f38360e21b815260048101829052602401610614565b6040805180820190915260008082526020820152826000018263ffffffff168154811061145b5761145b611cbc565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b6114a78383836115c3565b6001600160a01b0383166114f85760006114c060025490565b90506001600160d01b03808211156114f557604051630e58ae9360e11b81526004810183905260248101829052604401610614565b50505b61083a8383836116ed565b60006115126002848418611cd2565b61080e90848416611c7d565b60006001600160d01b03821115610e7f576040516306dfcc6560e41b815260d0600482015260248101839052604401610614565b6000806115774261156f61156588610c4f565b868863ffffffff16565b879190611763565b915091505b935093915050565b6060600061159183611771565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b0383166115ee5780600260008282546115e39190611c7d565b909155506116609050565b6001600160a01b038316600090815260208190526040902054818110156116415760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610614565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661167c5760028054829003905561169b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116e091815260200190565b60405180910390a3505050565b6001600160a01b03831661170f5761170c600a6108156110bc8461151e565b50505b6001600160a01b0382166117315761172e600a6108216110bc8461151e565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461083a9291821691168361105c565b600080611577858585611799565b600060ff8216601f8111156104b157604051632cd44ac360e21b815260040160405180910390fd5b8254600090819080156118925760006117b787610b11600185611c6a565b805490915065ffffffffffff80821691600160301b90046001600160d01b03169088168211156117fa57604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361183357825465ffffffffffff16600160301b6001600160d01b03891602178355611884565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f81529190912094519151909216600160301b029216919091179101555b945085935061157c92505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161157c565b6000815180845260005b81811015611913576020818501810151868301820152016118f7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061080e60208301846118ed565b80356001600160a01b038116811461195d57600080fd5b919050565b6000806040838503121561197557600080fd5b61197e83611946565b946020939093013593505050565b6000806000606084860312156119a157600080fd5b6119aa84611946565b92506119b860208501611946565b929592945050506040919091013590565b6000602082840312156119db57600080fd5b61080e82611946565b60ff60f81b8816815260e060208201526000611a0360e08301896118ed565b8281036040840152611a1581896118ed565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015611a6b578351835260209384019390920191600101611a4d565b50909b9a5050505050505050505050565b600060208284031215611a8e57600080fd5b5035919050565b803560ff8116811461195d57600080fd5b60008060008060008060c08789031215611abf57600080fd5b611ac887611946565b95506020870135945060408701359350611ae460608801611a95565b9598949750929560808101359460a0909101359350915050565b600080600080600080600060e0888a031215611b1957600080fd5b611b2288611946565b9650611b3060208901611946565b95506040880135945060608801359350611b4c60808901611a95565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611b7c57600080fd5b611b8583611946565b9150611b9360208401611946565b90509250929050565b60008060408385031215611baf57600080fd5b611bb883611946565b9150602083013563ffffffff81168114611bd157600080fd5b809150509250929050565b600181811c90821680611bf057607f821691505b602082108103611c1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b0381811683821601908111156104b1576104b1611c16565b6001600160d01b0382811682821603908111156104b1576104b1611c16565b818103818111156104b1576104b1611c16565b808201808211156104b1576104b1611c16565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600082611cef57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220f16dd8e74740a69dfd008fff0a52cbc6dbb50de1a5068c7470bd49cc4c6e905964736f6c634300081a0033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724",
891
+ "runtimeTemplate": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c35780639ab24eb01161007c5780639ab24eb014610347578063a9059cbb1461035a578063c3cda5201461036d578063d505accf14610380578063dd62ed3e14610393578063f1127ed8146103cc57600080fd5b806370a08231146102bf5780637ecebe00146102e857806384b0196e146102fb5780638e539e8c1461031657806391ddadf41461032957806395d89b411461033f57600080fd5b80633644e515116101155780633644e515146102115780633a46b1a8146102195780634bf5d7e91461022c578063587cde1e146102565780635c19a95c146102825780636fcfff451461029757600080fd5b806306fdde031461015d578063095ea7b31461017b57806316eebd1e1461019e57806318160ddd146101dd57806323b872dd146101ef578063313ce56714610202575b600080fd5b61016561040b565b6040516101729190611933565b60405180910390f35b61018e610189366004611962565b61049d565b6040519015158152602001610172565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610172565b6002545b604051908152602001610172565b61018e6101fd36600461198c565b6104b7565b60405160128152602001610172565b6101e16104db565b6101e1610227366004611962565b6104ea565b60408051808201909152600e81526d06d6f64653d74696d657374616d760941b6020820152610165565b6101c56102643660046119c9565b6001600160a01b039081166000908152600860205260409020541690565b6102956102903660046119c9565b610526565b005b6102aa6102a53660046119c9565b610535565b60405163ffffffff9091168152602001610172565b6101e16102cd3660046119c9565b6001600160a01b031660009081526020819052604090205490565b6101e16102f63660046119c9565b610540565b61030361054b565b60405161017297969594939291906119e4565b6101e1610324366004611a7c565b610591565b60405165ffffffffffff42168152602001610172565b6101656105b6565b6101e16103553660046119c9565b6105c5565b61018e610368366004611962565b6105e6565b61029561037b366004611aa6565b6105f4565b61029561038e366004611afe565b6106b6565b6101e16103a1366004611b69565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6103df6103da366004611b9c565b6107f0565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610172565b60606003805461041a90611bdc565b80601f016020809104026020016040519081016040528092919081815260200182805461044690611bdc565b80156104935780601f1061046857610100808354040283529160200191610493565b820191906000526020600020905b81548152906001019060200180831161047657829003601f168201915b5050505050905090565b6000336104ab81858561082d565b60019150505b92915050565b6000336104c585828561083f565b6104d08585856108be565b506001949350505050565b60006104e561091d565b905090565b60006105166104f883610a48565b6001600160a01b038516600090815260096020526040902090610a8d565b6001600160d01b03169392505050565b336105318183610b43565b5050565b60006104b182610bb5565b60006104b182610bd7565b60006060806000806000606061055f610bf5565b610567610c22565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60006105a761059f83610a48565b600a90610a8d565b6001600160d01b031692915050565b60606004805461041a90611bdc565b6001600160a01b03811660009081526009602052604081206105a790610c4f565b6000336104ab8185856108be565b8342111561061d57604051632341d78760e11b8152600481018590526024015b60405180910390fd5b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906106979061068f9060a00160405160208183030381529060405280519060200120610c88565b858585610cb5565b90506106a38187610ce3565b6106ad8188610b43565b50505050505050565b834211156106da5760405163313c898160e11b815260048101859052602401610614565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886107278c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061078282610c88565b9050600061079282878787610cb5565b9050896001600160a01b0316816001600160a01b0316146107d9576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610614565b6107e48a8a8a61082d565b50505050505050505050565b604080518082019091526000808252602082015261080e8383610d36565b9392505050565b600061080e8284611c2c565b600061080e8284611c4b565b61083a8383836001610d6c565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156108b857818110156108a957604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610614565b6108b884848484036000610d6c565b50505050565b6001600160a01b0383166108e857604051634b637e8f60e11b815260006004820152602401610614565b6001600160a01b0382166109125760405163ec442f0560e01b815260006004820152602401610614565b61083a838383610e41565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561097657507f000000000000000000000000000000000000000000000000000000000000000046145b156109a057507f000000000000000000000000000000000000000000000000000000000000000090565b6104e5604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60004265ffffffffffff81168310610a8457604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610614565b61080e83610e4c565b815460009081816005811115610aec576000610aa884610e83565b610ab29085611c6a565b60008881526020902090915081015465ffffffffffff9081169087161015610adc57809150610aea565b610ae7816001611c7d565b92505b505b6000610afa87878585610fdc565b90508015610b3557610b1f87610b11600184611c6a565b600091825260209091200190565b54600160301b90046001600160d01b0316610b38565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461083a8183610bb08661103e565b61105c565b6001600160a01b0381166000908152600960205260408120546104b1906111c8565b6001600160a01b0381166000908152600760205260408120546104b1565b60606104e57f000000000000000000000000000000000000000000000000000000000000000060056111f9565b60606104e57f000000000000000000000000000000000000000000000000000000000000000060066111f9565b80546000908015610c7f57610c6983610b11600184611c6a565b54600160301b90046001600160d01b031661080e565b60009392505050565b60006104b1610c9561091d565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610cc7888888886112a4565b925092509250610cd78282611373565b50909695505050505050565b6001600160a01b038216600090815260076020526040902080546001810190915581811461083a576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610614565b60408051808201909152600080825260208201526001600160a01b038316600090815260096020526040902061080e908361142c565b6001600160a01b038416610d965760405163e602df0560e01b815260006004820152602401610614565b6001600160a01b038316610dc057604051634a1406b160e11b815260006004820152602401610614565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156108b857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610e3391815260200190565b60405180910390a350505050565b61083a83838361149c565b600065ffffffffffff821115610e7f576040516306dfcc6560e41b81526030600482015260248101839052604401610614565b5090565b600060018211610e91575090565b816001600160801b8210610eaa5760809190911c9060401b5b680100000000000000008210610ec55760409190911c9060201b5b6401000000008210610edc5760209190911c9060101b5b620100008210610ef15760109190911c9060081b5b6101008210610f055760089190911c9060041b5b60108210610f185760049190911c9060021b5b60048210610f245760011b5b600302600190811c90818581610f3c57610f3c611c90565b048201901c90506001818581610f5457610f54611c90565b048201901c90506001818581610f6c57610f6c611c90565b048201901c90506001818581610f8457610f84611c90565b048201901c90506001818581610f9c57610f9c611c90565b048201901c90506001818581610fb457610fb4611c90565b048201901c9050610fd3818581610fcd57610fcd611c90565b04821190565b90039392505050565b60005b81831015611036576000610ff38484611503565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561102257809250611030565b61102d816001611c7d565b93505b50610fdf565b509392505050565b6001600160a01b0381166000908152602081905260408120546104b1565b816001600160a01b0316836001600160a01b03161415801561107e5750600081115b1561083a576001600160a01b03831615611126576001600160a01b038316600090815260096020526040812081906110c1906108216110bc8661151e565b611552565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161111b929190918252602082015260400190565b60405180910390a250505b6001600160a01b0382161561083a576001600160a01b0382166000908152600960205260408120819061115f906108156110bc8661151e565b6001600160d01b031691506001600160d01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516111b9929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115610e7f576040516306dfcc6560e41b81526020600482015260248101839052604401610614565b606060ff83146112135761120c83611584565b90506104b1565b81805461121f90611bdc565b80601f016020809104026020016040519081016040528092919081815260200182805461124b90611bdc565b80156112985780601f1061126d57610100808354040283529160200191611298565b820191906000526020600020905b81548152906001019060200180831161127b57829003601f168201915b505050505090506104b1565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156112df5750600091506003905082611369565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611333573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661135f57506000925060019150829050611369565b9250600091508190505b9450945094915050565b600082600381111561138757611387611ca6565b03611390575050565b60018260038111156113a4576113a4611ca6565b036113c25760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156113d6576113d6611ca6565b036113f75760405163fce698f760e01b815260048101829052602401610614565b600382600381111561140b5761140b611ca6565b03610531576040516335e2f38360e21b815260048101829052602401610614565b6040805180820190915260008082526020820152826000018263ffffffff168154811061145b5761145b611cbc565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b6114a78383836115c3565b6001600160a01b0383166114f85760006114c060025490565b90506001600160d01b03808211156114f557604051630e58ae9360e11b81526004810183905260248101829052604401610614565b50505b61083a8383836116ed565b60006115126002848418611cd2565b61080e90848416611c7d565b60006001600160d01b03821115610e7f576040516306dfcc6560e41b815260d0600482015260248101839052604401610614565b6000806115774261156f61156588610c4f565b868863ffffffff16565b879190611763565b915091505b935093915050565b6060600061159183611771565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b0383166115ee5780600260008282546115e39190611c7d565b909155506116609050565b6001600160a01b038316600090815260208190526040902054818110156116415760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610614565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661167c5760028054829003905561169b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116e091815260200190565b60405180910390a3505050565b6001600160a01b03831661170f5761170c600a6108156110bc8461151e565b50505b6001600160a01b0382166117315761172e600a6108216110bc8461151e565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461083a9291821691168361105c565b600080611577858585611799565b600060ff8216601f8111156104b157604051632cd44ac360e21b815260040160405180910390fd5b8254600090819080156118925760006117b787610b11600185611c6a565b805490915065ffffffffffff80821691600160301b90046001600160d01b03169088168211156117fa57604051632520601d60e01b815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361183357825465ffffffffffff16600160301b6001600160d01b03891602178355611884565b6040805180820190915265ffffffffffff808a1682526001600160d01b03808a1660208085019182528d54600181018f5560008f81529190912094519151909216600160301b029216919091179101555b945085935061157c92505050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161157c565b6000815180845260005b81811015611913576020818501810151868301820152016118f7565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061080e60208301846118ed565b80356001600160a01b038116811461195d57600080fd5b919050565b6000806040838503121561197557600080fd5b61197e83611946565b946020939093013593505050565b6000806000606084860312156119a157600080fd5b6119aa84611946565b92506119b860208501611946565b929592945050506040919091013590565b6000602082840312156119db57600080fd5b61080e82611946565b60ff60f81b8816815260e060208201526000611a0360e08301896118ed565b8281036040840152611a1581896118ed565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015611a6b578351835260209384019390920191600101611a4d565b50909b9a5050505050505050505050565b600060208284031215611a8e57600080fd5b5035919050565b803560ff8116811461195d57600080fd5b60008060008060008060c08789031215611abf57600080fd5b611ac887611946565b95506020870135945060408701359350611ae460608801611a95565b9598949750929560808101359460a0909101359350915050565b600080600080600080600060e0888a031215611b1957600080fd5b611b2288611946565b9650611b3060208901611946565b95506040880135945060608801359350611b4c60808901611a95565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611b7c57600080fd5b611b8583611946565b9150611b9360208401611946565b90509250929050565b60008060408385031215611baf57600080fd5b611bb883611946565b9150602083013563ffffffff81168114611bd157600080fd5b809150509250929050565b600181811c90821680611bf057607f821691505b602082108103611c1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b0381811683821601908111156104b1576104b1611c16565b6001600160d01b0382811682821603908111156104b1576104b1611c16565b818103818111156104b1576104b1611c16565b808201808211156104b1576104b1611c16565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600082611cef57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220f16dd8e74740a69dfd008fff0a52cbc6dbb50de1a5068c7470bd49cc4c6e905964736f6c634300081a0033",
892
+ "metadata": {
893
+ "compiler": {
894
+ "version": "0.8.26+commit.8a97fa7a"
895
+ },
896
+ "language": "Solidity",
897
+ "output": {
898
+ "abi": [
899
+ {
900
+ "inputs": [
901
+ {
360
902
  "internalType": "string",
361
903
  "name": "name_",
362
904
  "type": "string"
@@ -365,168 +907,640 @@
365
907
  "internalType": "string",
366
908
  "name": "symbol_",
367
909
  "type": "string"
368
- },
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "supply_",
914
+ "type": "uint256"
915
+ }
916
+ ],
917
+ "stateMutability": "nonpayable",
918
+ "type": "constructor"
919
+ },
920
+ {
921
+ "inputs": [],
922
+ "type": "error",
923
+ "name": "CheckpointUnorderedInsertion"
924
+ },
925
+ {
926
+ "inputs": [],
927
+ "type": "error",
928
+ "name": "ECDSAInvalidSignature"
929
+ },
930
+ {
931
+ "inputs": [
932
+ {
933
+ "internalType": "uint256",
934
+ "name": "length",
935
+ "type": "uint256"
936
+ }
937
+ ],
938
+ "type": "error",
939
+ "name": "ECDSAInvalidSignatureLength"
940
+ },
941
+ {
942
+ "inputs": [
943
+ {
944
+ "internalType": "bytes32",
945
+ "name": "s",
946
+ "type": "bytes32"
947
+ }
948
+ ],
949
+ "type": "error",
950
+ "name": "ECDSAInvalidSignatureS"
951
+ },
952
+ {
953
+ "inputs": [
954
+ {
955
+ "internalType": "uint256",
956
+ "name": "increasedSupply",
957
+ "type": "uint256"
958
+ },
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "cap",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "type": "error",
966
+ "name": "ERC20ExceededSafeSupply"
967
+ },
968
+ {
969
+ "inputs": [
970
+ {
971
+ "internalType": "address",
972
+ "name": "spender",
973
+ "type": "address"
974
+ },
975
+ {
976
+ "internalType": "uint256",
977
+ "name": "allowance",
978
+ "type": "uint256"
979
+ },
980
+ {
981
+ "internalType": "uint256",
982
+ "name": "needed",
983
+ "type": "uint256"
984
+ }
985
+ ],
986
+ "type": "error",
987
+ "name": "ERC20InsufficientAllowance"
988
+ },
989
+ {
990
+ "inputs": [
991
+ {
992
+ "internalType": "address",
993
+ "name": "sender",
994
+ "type": "address"
995
+ },
996
+ {
997
+ "internalType": "uint256",
998
+ "name": "balance",
999
+ "type": "uint256"
1000
+ },
1001
+ {
1002
+ "internalType": "uint256",
1003
+ "name": "needed",
1004
+ "type": "uint256"
1005
+ }
1006
+ ],
1007
+ "type": "error",
1008
+ "name": "ERC20InsufficientBalance"
1009
+ },
1010
+ {
1011
+ "inputs": [
1012
+ {
1013
+ "internalType": "address",
1014
+ "name": "approver",
1015
+ "type": "address"
1016
+ }
1017
+ ],
1018
+ "type": "error",
1019
+ "name": "ERC20InvalidApprover"
1020
+ },
1021
+ {
1022
+ "inputs": [
1023
+ {
1024
+ "internalType": "address",
1025
+ "name": "receiver",
1026
+ "type": "address"
1027
+ }
1028
+ ],
1029
+ "type": "error",
1030
+ "name": "ERC20InvalidReceiver"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "address",
1036
+ "name": "sender",
1037
+ "type": "address"
1038
+ }
1039
+ ],
1040
+ "type": "error",
1041
+ "name": "ERC20InvalidSender"
1042
+ },
1043
+ {
1044
+ "inputs": [
1045
+ {
1046
+ "internalType": "address",
1047
+ "name": "spender",
1048
+ "type": "address"
1049
+ }
1050
+ ],
1051
+ "type": "error",
1052
+ "name": "ERC20InvalidSpender"
1053
+ },
1054
+ {
1055
+ "inputs": [
1056
+ {
1057
+ "internalType": "uint256",
1058
+ "name": "deadline",
1059
+ "type": "uint256"
1060
+ }
1061
+ ],
1062
+ "type": "error",
1063
+ "name": "ERC2612ExpiredSignature"
1064
+ },
1065
+ {
1066
+ "inputs": [
1067
+ {
1068
+ "internalType": "address",
1069
+ "name": "signer",
1070
+ "type": "address"
1071
+ },
1072
+ {
1073
+ "internalType": "address",
1074
+ "name": "owner",
1075
+ "type": "address"
1076
+ }
1077
+ ],
1078
+ "type": "error",
1079
+ "name": "ERC2612InvalidSigner"
1080
+ },
1081
+ {
1082
+ "inputs": [
1083
+ {
1084
+ "internalType": "uint256",
1085
+ "name": "timepoint",
1086
+ "type": "uint256"
1087
+ },
1088
+ {
1089
+ "internalType": "uint48",
1090
+ "name": "clock",
1091
+ "type": "uint48"
1092
+ }
1093
+ ],
1094
+ "type": "error",
1095
+ "name": "ERC5805FutureLookup"
1096
+ },
1097
+ {
1098
+ "inputs": [],
1099
+ "type": "error",
1100
+ "name": "ERC6372InconsistentClock"
1101
+ },
1102
+ {
1103
+ "inputs": [
1104
+ {
1105
+ "internalType": "address",
1106
+ "name": "account",
1107
+ "type": "address"
1108
+ },
1109
+ {
1110
+ "internalType": "uint256",
1111
+ "name": "currentNonce",
1112
+ "type": "uint256"
1113
+ }
1114
+ ],
1115
+ "type": "error",
1116
+ "name": "InvalidAccountNonce"
1117
+ },
1118
+ {
1119
+ "inputs": [],
1120
+ "type": "error",
1121
+ "name": "InvalidShortString"
1122
+ },
1123
+ {
1124
+ "inputs": [
1125
+ {
1126
+ "internalType": "uint8",
1127
+ "name": "bits",
1128
+ "type": "uint8"
1129
+ },
1130
+ {
1131
+ "internalType": "uint256",
1132
+ "name": "value",
1133
+ "type": "uint256"
1134
+ }
1135
+ ],
1136
+ "type": "error",
1137
+ "name": "SafeCastOverflowedUintDowncast"
1138
+ },
1139
+ {
1140
+ "inputs": [
1141
+ {
1142
+ "internalType": "string",
1143
+ "name": "str",
1144
+ "type": "string"
1145
+ }
1146
+ ],
1147
+ "type": "error",
1148
+ "name": "StringTooLong"
1149
+ },
1150
+ {
1151
+ "inputs": [
369
1152
  {
370
1153
  "internalType": "uint256",
371
- "name": "supply_",
1154
+ "name": "expiry",
372
1155
  "type": "uint256"
373
1156
  }
374
1157
  ],
375
- "stateMutability": "nonpayable",
376
- "type": "constructor"
1158
+ "type": "error",
1159
+ "name": "VotesExpiredSignature"
377
1160
  },
378
1161
  {
379
1162
  "inputs": [
1163
+ {
1164
+ "internalType": "address",
1165
+ "name": "owner",
1166
+ "type": "address",
1167
+ "indexed": true
1168
+ },
380
1169
  {
381
1170
  "internalType": "address",
382
1171
  "name": "spender",
383
- "type": "address"
1172
+ "type": "address",
1173
+ "indexed": true
384
1174
  },
385
1175
  {
386
1176
  "internalType": "uint256",
387
- "name": "allowance",
388
- "type": "uint256"
1177
+ "name": "value",
1178
+ "type": "uint256",
1179
+ "indexed": false
1180
+ }
1181
+ ],
1182
+ "type": "event",
1183
+ "name": "Approval",
1184
+ "anonymous": false
1185
+ },
1186
+ {
1187
+ "inputs": [
1188
+ {
1189
+ "internalType": "address",
1190
+ "name": "delegator",
1191
+ "type": "address",
1192
+ "indexed": true
1193
+ },
1194
+ {
1195
+ "internalType": "address",
1196
+ "name": "fromDelegate",
1197
+ "type": "address",
1198
+ "indexed": true
1199
+ },
1200
+ {
1201
+ "internalType": "address",
1202
+ "name": "toDelegate",
1203
+ "type": "address",
1204
+ "indexed": true
1205
+ }
1206
+ ],
1207
+ "type": "event",
1208
+ "name": "DelegateChanged",
1209
+ "anonymous": false
1210
+ },
1211
+ {
1212
+ "inputs": [
1213
+ {
1214
+ "internalType": "address",
1215
+ "name": "delegate",
1216
+ "type": "address",
1217
+ "indexed": true
389
1218
  },
390
1219
  {
391
1220
  "internalType": "uint256",
392
- "name": "needed",
393
- "type": "uint256"
1221
+ "name": "previousVotes",
1222
+ "type": "uint256",
1223
+ "indexed": false
1224
+ },
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "newVotes",
1228
+ "type": "uint256",
1229
+ "indexed": false
394
1230
  }
395
1231
  ],
396
- "type": "error",
397
- "name": "ERC20InsufficientAllowance"
1232
+ "type": "event",
1233
+ "name": "DelegateVotesChanged",
1234
+ "anonymous": false
1235
+ },
1236
+ {
1237
+ "inputs": [],
1238
+ "type": "event",
1239
+ "name": "EIP712DomainChanged",
1240
+ "anonymous": false
398
1241
  },
399
1242
  {
400
1243
  "inputs": [
401
1244
  {
402
1245
  "internalType": "address",
403
- "name": "sender",
1246
+ "name": "from",
1247
+ "type": "address",
1248
+ "indexed": true
1249
+ },
1250
+ {
1251
+ "internalType": "address",
1252
+ "name": "to",
1253
+ "type": "address",
1254
+ "indexed": true
1255
+ },
1256
+ {
1257
+ "internalType": "uint256",
1258
+ "name": "value",
1259
+ "type": "uint256",
1260
+ "indexed": false
1261
+ }
1262
+ ],
1263
+ "type": "event",
1264
+ "name": "Transfer",
1265
+ "anonymous": false
1266
+ },
1267
+ {
1268
+ "inputs": [],
1269
+ "stateMutability": "pure",
1270
+ "type": "function",
1271
+ "name": "CLOCK_MODE",
1272
+ "outputs": [
1273
+ {
1274
+ "internalType": "string",
1275
+ "name": "",
1276
+ "type": "string"
1277
+ }
1278
+ ]
1279
+ },
1280
+ {
1281
+ "inputs": [],
1282
+ "stateMutability": "view",
1283
+ "type": "function",
1284
+ "name": "DOMAIN_SEPARATOR",
1285
+ "outputs": [
1286
+ {
1287
+ "internalType": "bytes32",
1288
+ "name": "",
1289
+ "type": "bytes32"
1290
+ }
1291
+ ]
1292
+ },
1293
+ {
1294
+ "inputs": [
1295
+ {
1296
+ "internalType": "address",
1297
+ "name": "owner",
404
1298
  "type": "address"
405
1299
  },
1300
+ {
1301
+ "internalType": "address",
1302
+ "name": "spender",
1303
+ "type": "address"
1304
+ }
1305
+ ],
1306
+ "stateMutability": "view",
1307
+ "type": "function",
1308
+ "name": "allowance",
1309
+ "outputs": [
406
1310
  {
407
1311
  "internalType": "uint256",
408
- "name": "balance",
1312
+ "name": "",
409
1313
  "type": "uint256"
1314
+ }
1315
+ ]
1316
+ },
1317
+ {
1318
+ "inputs": [
1319
+ {
1320
+ "internalType": "address",
1321
+ "name": "spender",
1322
+ "type": "address"
410
1323
  },
411
1324
  {
412
1325
  "internalType": "uint256",
413
- "name": "needed",
1326
+ "name": "value",
414
1327
  "type": "uint256"
415
1328
  }
416
1329
  ],
417
- "type": "error",
418
- "name": "ERC20InsufficientBalance"
1330
+ "stateMutability": "nonpayable",
1331
+ "type": "function",
1332
+ "name": "approve",
1333
+ "outputs": [
1334
+ {
1335
+ "internalType": "bool",
1336
+ "name": "",
1337
+ "type": "bool"
1338
+ }
1339
+ ]
419
1340
  },
420
1341
  {
421
1342
  "inputs": [
422
1343
  {
423
1344
  "internalType": "address",
424
- "name": "approver",
1345
+ "name": "account",
425
1346
  "type": "address"
426
1347
  }
427
1348
  ],
428
- "type": "error",
429
- "name": "ERC20InvalidApprover"
1349
+ "stateMutability": "view",
1350
+ "type": "function",
1351
+ "name": "balanceOf",
1352
+ "outputs": [
1353
+ {
1354
+ "internalType": "uint256",
1355
+ "name": "",
1356
+ "type": "uint256"
1357
+ }
1358
+ ]
430
1359
  },
431
1360
  {
432
1361
  "inputs": [
433
1362
  {
434
1363
  "internalType": "address",
435
- "name": "receiver",
1364
+ "name": "account",
436
1365
  "type": "address"
1366
+ },
1367
+ {
1368
+ "internalType": "uint32",
1369
+ "name": "pos",
1370
+ "type": "uint32"
437
1371
  }
438
1372
  ],
439
- "type": "error",
440
- "name": "ERC20InvalidReceiver"
1373
+ "stateMutability": "view",
1374
+ "type": "function",
1375
+ "name": "checkpoints",
1376
+ "outputs": [
1377
+ {
1378
+ "internalType": "struct Checkpoints.Checkpoint208",
1379
+ "name": "",
1380
+ "type": "tuple",
1381
+ "components": [
1382
+ {
1383
+ "internalType": "uint48",
1384
+ "name": "_key",
1385
+ "type": "uint48"
1386
+ },
1387
+ {
1388
+ "internalType": "uint208",
1389
+ "name": "_value",
1390
+ "type": "uint208"
1391
+ }
1392
+ ]
1393
+ }
1394
+ ]
1395
+ },
1396
+ {
1397
+ "inputs": [],
1398
+ "stateMutability": "view",
1399
+ "type": "function",
1400
+ "name": "clock",
1401
+ "outputs": [
1402
+ {
1403
+ "internalType": "uint48",
1404
+ "name": "",
1405
+ "type": "uint48"
1406
+ }
1407
+ ]
1408
+ },
1409
+ {
1410
+ "inputs": [],
1411
+ "stateMutability": "view",
1412
+ "type": "function",
1413
+ "name": "decimals",
1414
+ "outputs": [
1415
+ {
1416
+ "internalType": "uint8",
1417
+ "name": "",
1418
+ "type": "uint8"
1419
+ }
1420
+ ]
441
1421
  },
442
1422
  {
443
1423
  "inputs": [
444
1424
  {
445
1425
  "internalType": "address",
446
- "name": "sender",
1426
+ "name": "delegatee",
447
1427
  "type": "address"
448
1428
  }
449
1429
  ],
450
- "type": "error",
451
- "name": "ERC20InvalidSender"
1430
+ "stateMutability": "nonpayable",
1431
+ "type": "function",
1432
+ "name": "delegate"
452
1433
  },
453
1434
  {
454
1435
  "inputs": [
455
1436
  {
456
1437
  "internalType": "address",
457
- "name": "spender",
1438
+ "name": "delegatee",
458
1439
  "type": "address"
1440
+ },
1441
+ {
1442
+ "internalType": "uint256",
1443
+ "name": "nonce",
1444
+ "type": "uint256"
1445
+ },
1446
+ {
1447
+ "internalType": "uint256",
1448
+ "name": "expiry",
1449
+ "type": "uint256"
1450
+ },
1451
+ {
1452
+ "internalType": "uint8",
1453
+ "name": "v",
1454
+ "type": "uint8"
1455
+ },
1456
+ {
1457
+ "internalType": "bytes32",
1458
+ "name": "r",
1459
+ "type": "bytes32"
1460
+ },
1461
+ {
1462
+ "internalType": "bytes32",
1463
+ "name": "s",
1464
+ "type": "bytes32"
459
1465
  }
460
1466
  ],
461
- "type": "error",
462
- "name": "ERC20InvalidSpender"
1467
+ "stateMutability": "nonpayable",
1468
+ "type": "function",
1469
+ "name": "delegateBySig"
463
1470
  },
464
1471
  {
465
1472
  "inputs": [
466
1473
  {
467
- "internalType": "address",
468
- "name": "owner",
469
- "type": "address",
470
- "indexed": true
1474
+ "internalType": "address",
1475
+ "name": "account",
1476
+ "type": "address"
1477
+ }
1478
+ ],
1479
+ "stateMutability": "view",
1480
+ "type": "function",
1481
+ "name": "delegates",
1482
+ "outputs": [
1483
+ {
1484
+ "internalType": "address",
1485
+ "name": "",
1486
+ "type": "address"
1487
+ }
1488
+ ]
1489
+ },
1490
+ {
1491
+ "inputs": [],
1492
+ "stateMutability": "view",
1493
+ "type": "function",
1494
+ "name": "eip712Domain",
1495
+ "outputs": [
1496
+ {
1497
+ "internalType": "bytes1",
1498
+ "name": "fields",
1499
+ "type": "bytes1"
471
1500
  },
472
1501
  {
473
- "internalType": "address",
474
- "name": "spender",
475
- "type": "address",
476
- "indexed": true
1502
+ "internalType": "string",
1503
+ "name": "name",
1504
+ "type": "string"
1505
+ },
1506
+ {
1507
+ "internalType": "string",
1508
+ "name": "version",
1509
+ "type": "string"
477
1510
  },
478
1511
  {
479
1512
  "internalType": "uint256",
480
- "name": "value",
481
- "type": "uint256",
482
- "indexed": false
483
- }
484
- ],
485
- "type": "event",
486
- "name": "Approval",
487
- "anonymous": false
488
- },
489
- {
490
- "inputs": [
1513
+ "name": "chainId",
1514
+ "type": "uint256"
1515
+ },
491
1516
  {
492
1517
  "internalType": "address",
493
- "name": "from",
494
- "type": "address",
495
- "indexed": true
1518
+ "name": "verifyingContract",
1519
+ "type": "address"
496
1520
  },
497
1521
  {
498
- "internalType": "address",
499
- "name": "to",
500
- "type": "address",
501
- "indexed": true
1522
+ "internalType": "bytes32",
1523
+ "name": "salt",
1524
+ "type": "bytes32"
502
1525
  },
503
1526
  {
504
- "internalType": "uint256",
505
- "name": "value",
506
- "type": "uint256",
507
- "indexed": false
1527
+ "internalType": "uint256[]",
1528
+ "name": "extensions",
1529
+ "type": "uint256[]"
508
1530
  }
509
- ],
510
- "type": "event",
511
- "name": "Transfer",
512
- "anonymous": false
1531
+ ]
513
1532
  },
514
1533
  {
515
1534
  "inputs": [
516
1535
  {
517
- "internalType": "address",
518
- "name": "owner",
519
- "type": "address"
520
- },
521
- {
522
- "internalType": "address",
523
- "name": "spender",
524
- "type": "address"
1536
+ "internalType": "uint256",
1537
+ "name": "timepoint",
1538
+ "type": "uint256"
525
1539
  }
526
1540
  ],
527
1541
  "stateMutability": "view",
528
1542
  "type": "function",
529
- "name": "allowance",
1543
+ "name": "getPastTotalSupply",
530
1544
  "outputs": [
531
1545
  {
532
1546
  "internalType": "uint256",
@@ -539,23 +1553,23 @@
539
1553
  "inputs": [
540
1554
  {
541
1555
  "internalType": "address",
542
- "name": "spender",
1556
+ "name": "account",
543
1557
  "type": "address"
544
1558
  },
545
1559
  {
546
1560
  "internalType": "uint256",
547
- "name": "value",
1561
+ "name": "timepoint",
548
1562
  "type": "uint256"
549
1563
  }
550
1564
  ],
551
- "stateMutability": "nonpayable",
1565
+ "stateMutability": "view",
552
1566
  "type": "function",
553
- "name": "approve",
1567
+ "name": "getPastVotes",
554
1568
  "outputs": [
555
1569
  {
556
- "internalType": "bool",
1570
+ "internalType": "uint256",
557
1571
  "name": "",
558
- "type": "bool"
1572
+ "type": "uint256"
559
1573
  }
560
1574
  ]
561
1575
  },
@@ -569,7 +1583,7 @@
569
1583
  ],
570
1584
  "stateMutability": "view",
571
1585
  "type": "function",
572
- "name": "balanceOf",
1586
+ "name": "getVotes",
573
1587
  "outputs": [
574
1588
  {
575
1589
  "internalType": "uint256",
@@ -582,12 +1596,12 @@
582
1596
  "inputs": [],
583
1597
  "stateMutability": "view",
584
1598
  "type": "function",
585
- "name": "decimals",
1599
+ "name": "launcher",
586
1600
  "outputs": [
587
1601
  {
588
- "internalType": "uint8",
1602
+ "internalType": "address",
589
1603
  "name": "",
590
- "type": "uint8"
1604
+ "type": "address"
591
1605
  }
592
1606
  ]
593
1607
  },
@@ -595,28 +1609,95 @@
595
1609
  "inputs": [],
596
1610
  "stateMutability": "view",
597
1611
  "type": "function",
598
- "name": "launcher",
1612
+ "name": "name",
599
1613
  "outputs": [
600
1614
  {
601
- "internalType": "address",
1615
+ "internalType": "string",
602
1616
  "name": "",
1617
+ "type": "string"
1618
+ }
1619
+ ]
1620
+ },
1621
+ {
1622
+ "inputs": [
1623
+ {
1624
+ "internalType": "address",
1625
+ "name": "account",
603
1626
  "type": "address"
604
1627
  }
1628
+ ],
1629
+ "stateMutability": "view",
1630
+ "type": "function",
1631
+ "name": "nonces",
1632
+ "outputs": [
1633
+ {
1634
+ "internalType": "uint256",
1635
+ "name": "",
1636
+ "type": "uint256"
1637
+ }
605
1638
  ]
606
1639
  },
607
1640
  {
608
- "inputs": [],
1641
+ "inputs": [
1642
+ {
1643
+ "internalType": "address",
1644
+ "name": "account",
1645
+ "type": "address"
1646
+ }
1647
+ ],
609
1648
  "stateMutability": "view",
610
1649
  "type": "function",
611
- "name": "name",
1650
+ "name": "numCheckpoints",
612
1651
  "outputs": [
613
1652
  {
614
- "internalType": "string",
1653
+ "internalType": "uint32",
615
1654
  "name": "",
616
- "type": "string"
1655
+ "type": "uint32"
617
1656
  }
618
1657
  ]
619
1658
  },
1659
+ {
1660
+ "inputs": [
1661
+ {
1662
+ "internalType": "address",
1663
+ "name": "owner",
1664
+ "type": "address"
1665
+ },
1666
+ {
1667
+ "internalType": "address",
1668
+ "name": "spender",
1669
+ "type": "address"
1670
+ },
1671
+ {
1672
+ "internalType": "uint256",
1673
+ "name": "value",
1674
+ "type": "uint256"
1675
+ },
1676
+ {
1677
+ "internalType": "uint256",
1678
+ "name": "deadline",
1679
+ "type": "uint256"
1680
+ },
1681
+ {
1682
+ "internalType": "uint8",
1683
+ "name": "v",
1684
+ "type": "uint8"
1685
+ },
1686
+ {
1687
+ "internalType": "bytes32",
1688
+ "name": "r",
1689
+ "type": "bytes32"
1690
+ },
1691
+ {
1692
+ "internalType": "bytes32",
1693
+ "name": "s",
1694
+ "type": "bytes32"
1695
+ }
1696
+ ],
1697
+ "stateMutability": "nonpayable",
1698
+ "type": "function",
1699
+ "name": "permit"
1700
+ },
620
1701
  {
621
1702
  "inputs": [],
622
1703
  "stateMutability": "view",
@@ -700,6 +1781,12 @@
700
1781
  "devdoc": {
701
1782
  "kind": "dev",
702
1783
  "methods": {
1784
+ "CLOCK_MODE()": {
1785
+ "details": "Machine-readable description of the clock as specified in ERC-6372."
1786
+ },
1787
+ "DOMAIN_SEPARATOR()": {
1788
+ "details": "Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."
1789
+ },
703
1790
  "allowance(address,address)": {
704
1791
  "details": "See {IERC20-allowance}."
705
1792
  },
@@ -709,12 +1796,45 @@
709
1796
  "balanceOf(address)": {
710
1797
  "details": "See {IERC20-balanceOf}."
711
1798
  },
1799
+ "checkpoints(address,uint32)": {
1800
+ "details": "Get the `pos`-th checkpoint for `account`."
1801
+ },
1802
+ "clock()": {
1803
+ "details": "Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."
1804
+ },
712
1805
  "decimals()": {
713
1806
  "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
714
1807
  },
1808
+ "delegate(address)": {
1809
+ "details": "Delegates votes from the sender to `delegatee`."
1810
+ },
1811
+ "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": {
1812
+ "details": "Delegates votes from signer to `delegatee`."
1813
+ },
1814
+ "delegates(address)": {
1815
+ "details": "Returns the delegate that `account` has chosen."
1816
+ },
1817
+ "eip712Domain()": {
1818
+ "details": "returns the fields and values that describe the domain separator used by this contract for EIP-712 signature."
1819
+ },
1820
+ "getPastTotalSupply(uint256)": {
1821
+ "details": "Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."
1822
+ },
1823
+ "getPastVotes(address,uint256)": {
1824
+ "details": "Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."
1825
+ },
1826
+ "getVotes(address)": {
1827
+ "details": "Returns the current amount of votes that `account` has."
1828
+ },
715
1829
  "name()": {
716
1830
  "details": "Returns the name of the token."
717
1831
  },
1832
+ "numCheckpoints(address)": {
1833
+ "details": "Get number of checkpoints for `account`."
1834
+ },
1835
+ "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": {
1836
+ "details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."
1837
+ },
718
1838
  "symbol()": {
719
1839
  "details": "Returns the symbol of the token, usually a shorter version of the name."
720
1840
  },
@@ -755,6 +1875,46 @@
755
1875
  "libraries": {}
756
1876
  },
757
1877
  "sources": {
1878
+ "lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol": {
1879
+ "keccak256": "0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947",
1880
+ "urls": [
1881
+ "bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856",
1882
+ "dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"
1883
+ ],
1884
+ "license": "MIT"
1885
+ },
1886
+ "lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol": {
1887
+ "keccak256": "0x3f91c79d6f55db9e4fc36e1cfe6a483a7b0f5be60fecbd979555071673746d47",
1888
+ "urls": [
1889
+ "bzz-raw://9b1e3c64cbeb2757a2a1a45c69f7f3984a93b0eadd1016341b64f9d94f89d7c4",
1890
+ "dweb:/ipfs/QmP1Mj14U4vMTFa2rv2nodMbWSCov2ac9Md8W2aUcgYdKX"
1891
+ ],
1892
+ "license": "MIT"
1893
+ },
1894
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": {
1895
+ "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92",
1896
+ "urls": [
1897
+ "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a",
1898
+ "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"
1899
+ ],
1900
+ "license": "MIT"
1901
+ },
1902
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol": {
1903
+ "keccak256": "0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818",
1904
+ "urls": [
1905
+ "bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a",
1906
+ "dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"
1907
+ ],
1908
+ "license": "MIT"
1909
+ },
1910
+ "lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol": {
1911
+ "keccak256": "0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33",
1912
+ "urls": [
1913
+ "bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb",
1914
+ "dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"
1915
+ ],
1916
+ "license": "MIT"
1917
+ },
758
1918
  "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": {
759
1919
  "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b",
760
1920
  "urls": [
@@ -779,6 +1939,22 @@
779
1939
  ],
780
1940
  "license": "MIT"
781
1941
  },
1942
+ "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol": {
1943
+ "keccak256": "0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3",
1944
+ "urls": [
1945
+ "bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c",
1946
+ "dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD"
1947
+ ],
1948
+ "license": "MIT"
1949
+ },
1950
+ "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol": {
1951
+ "keccak256": "0x62dc9346044aabf22d78541bd495aa6ca05a7f5100aed26196ba35d40b59fcb5",
1952
+ "urls": [
1953
+ "bzz-raw://5221df4501c74cd4493fee1a0f0788e02c4dc78c3c601e9f557f557c5a53ea92",
1954
+ "dweb:/ipfs/QmZpzyYY9dKLrgvYhXSHT93jwqb1UGvtGNMQk5dpECY5pa"
1955
+ ],
1956
+ "license": "MIT"
1957
+ },
782
1958
  "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
783
1959
  "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330",
784
1960
  "urls": [
@@ -787,6 +1963,14 @@
787
1963
  ],
788
1964
  "license": "MIT"
789
1965
  },
1966
+ "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": {
1967
+ "keccak256": "0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6",
1968
+ "urls": [
1969
+ "bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3",
1970
+ "dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG"
1971
+ ],
1972
+ "license": "MIT"
1973
+ },
790
1974
  "lib/openzeppelin-contracts/contracts/utils/Context.sol": {
791
1975
  "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
792
1976
  "urls": [
@@ -795,11 +1979,115 @@
795
1979
  ],
796
1980
  "license": "MIT"
797
1981
  },
1982
+ "lib/openzeppelin-contracts/contracts/utils/Nonces.sol": {
1983
+ "keccak256": "0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f",
1984
+ "urls": [
1985
+ "bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e",
1986
+ "dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"
1987
+ ],
1988
+ "license": "MIT"
1989
+ },
1990
+ "lib/openzeppelin-contracts/contracts/utils/Panic.sol": {
1991
+ "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
1992
+ "urls": [
1993
+ "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
1994
+ "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
1995
+ ],
1996
+ "license": "MIT"
1997
+ },
1998
+ "lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol": {
1999
+ "keccak256": "0x1fcf8cceb1a67e6c8512267e780933c4a3f63ef44756e6c818fda79be51c8402",
2000
+ "urls": [
2001
+ "bzz-raw://617d7d57f6f9cd449068b4d23daf485676d083aae648e038d05eb3a13291de35",
2002
+ "dweb:/ipfs/QmPADWPiGaSzZDFNpFEUx4ZPqhzPkYncBpHyTfAGcfsqzy"
2003
+ ],
2004
+ "license": "MIT"
2005
+ },
2006
+ "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
2007
+ "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97",
2008
+ "urls": [
2009
+ "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b",
2010
+ "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"
2011
+ ],
2012
+ "license": "MIT"
2013
+ },
2014
+ "lib/openzeppelin-contracts/contracts/utils/Strings.sol": {
2015
+ "keccak256": "0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae",
2016
+ "urls": [
2017
+ "bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6",
2018
+ "dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb"
2019
+ ],
2020
+ "license": "MIT"
2021
+ },
2022
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": {
2023
+ "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84",
2024
+ "urls": [
2025
+ "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9",
2026
+ "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"
2027
+ ],
2028
+ "license": "MIT"
2029
+ },
2030
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol": {
2031
+ "keccak256": "0x0c60057e7351874f086db8dc9291b7ada9ad62cb7725befd2991430d04a74572",
2032
+ "urls": [
2033
+ "bzz-raw://33cdfd1fc36410d45046f88ff9864350146b194736c32834baa38d99b843ffbe",
2034
+ "dweb:/ipfs/QmdVmqgFKjgEBURy4KUwWDA6J1LEg1BKcHcXsx4nkeHAD2"
2035
+ ],
2036
+ "license": "MIT"
2037
+ },
2038
+ "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": {
2039
+ "keccak256": "0x26670fef37d4adf55570ba78815eec5f31cb017e708f61886add4fc4da665631",
2040
+ "urls": [
2041
+ "bzz-raw://b16d45febff462bafd8a5669f904796a835baf607df58a8461916d3bf4f08c59",
2042
+ "dweb:/ipfs/QmU2eJFpjmT4vxeJWJyLeQb8Xht1kdB8Y6MKLDPFA9WPux"
2043
+ ],
2044
+ "license": "MIT"
2045
+ },
2046
+ "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": {
2047
+ "keccak256": "0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6",
2048
+ "urls": [
2049
+ "bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3",
2050
+ "dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"
2051
+ ],
2052
+ "license": "MIT"
2053
+ },
2054
+ "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": {
2055
+ "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
2056
+ "urls": [
2057
+ "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
2058
+ "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
2059
+ ],
2060
+ "license": "MIT"
2061
+ },
2062
+ "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": {
2063
+ "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
2064
+ "urls": [
2065
+ "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
2066
+ "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
2067
+ ],
2068
+ "license": "MIT"
2069
+ },
2070
+ "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": {
2071
+ "keccak256": "0x93ce66a307d66cb14e95dbc8f20641cedf48b2d060bf3bda431d62a4493e6e8d",
2072
+ "urls": [
2073
+ "bzz-raw://10d4122ee13fd8dcd2f468a86031665345d2dfdda76993d1f51201bdeb746f9d",
2074
+ "dweb:/ipfs/QmWxbbYEgyDCjwT4ZtNwujJwB4vdnR2qEKwL2Zrz9JoSDU"
2075
+ ],
2076
+ "license": "MIT"
2077
+ },
2078
+ "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": {
2079
+ "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc",
2080
+ "urls": [
2081
+ "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6",
2082
+ "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"
2083
+ ],
2084
+ "license": "MIT"
2085
+ },
798
2086
  "src/HanaTokenQuoteV2.sol": {
799
- "keccak256": "0x29758263c9953033780294392d8530ec78b8cb2100481c43048746c634821dd9",
2087
+ "keccak256": "0x5c898aeb17f2f2371b826d4e69c4fa368de413de3fd6a8c75e4100f964109270",
800
2088
  "urls": [
801
- "bzz-raw://7c8512f5dccd687a749760d8317b050a0203c7f81dd8c9009e88c26886190e10",
802
- "dweb:/ipfs/QmWtgPLqePsgwCmvqU7KDcuN14M5mQ5W7ZBHxc1jXPgneu"
2089
+ "bzz-raw://b87bca8faee0e8b1a38a5418e6abfe2da7c558b33c112f561751d21ea13cb720",
2090
+ "dweb:/ipfs/Qma28jn6H81nde1TWkYB8XWVcHZT2i971YjKjRx4x5wGTb"
803
2091
  ],
804
2092
  "license": "MIT"
805
2093
  }
@@ -807,9 +2095,51 @@
807
2095
  "version": 1
808
2096
  },
809
2097
  "immutableReferences": {
810
- "15721": [
2098
+ "18628": [
2099
+ {
2100
+ "start": 419,
2101
+ "length": 32
2102
+ }
2103
+ ],
2104
+ "4653": [
2105
+ {
2106
+ "start": 2430,
2107
+ "length": 32
2108
+ }
2109
+ ],
2110
+ "4655": [
2111
+ {
2112
+ "start": 2388,
2113
+ "length": 32
2114
+ }
2115
+ ],
2116
+ "4657": [
2117
+ {
2118
+ "start": 2346,
2119
+ "length": 32
2120
+ }
2121
+ ],
2122
+ "4659": [
2123
+ {
2124
+ "start": 2511,
2125
+ "length": 32
2126
+ }
2127
+ ],
2128
+ "4661": [
2129
+ {
2130
+ "start": 2551,
2131
+ "length": 32
2132
+ }
2133
+ ],
2134
+ "4664": [
2135
+ {
2136
+ "start": 3068,
2137
+ "length": 32
2138
+ }
2139
+ ],
2140
+ "4667": [
811
2141
  {
812
- "start": 233,
2142
+ "start": 3113,
813
2143
  "length": 32
814
2144
  }
815
2145
  ]