ocean-contracts 2.1.0__py3-none-any.whl → 2.2.1__py3-none-any.whl

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.
addresses/address.json CHANGED
@@ -269,14 +269,16 @@
269
269
  "1": "0x519d462294958A935D34351b3ad9F98cCAB0b7f8",
270
270
  "2": "0x2bCa501a6f9FB8a96f1b7B09D4f74A32ACAa7584",
271
271
  "3": "0xf00c16665b79F23c04e5c8652Fe9853046b987c8",
272
- "4": "0x89b752C3e272feBA17B363EaaBFe0d653cF75bE7"
272
+ "4": "0x89b752C3e272feBA17B363EaaBFe0d653cF75bE7",
273
+ "5": "0xb4914dfeC7f70C708673620eDF6d8839F81E7612"
273
274
  },
274
275
  "ERC721Template": {
275
276
  "1": "0x9Ab15cc945b2B58A51384539211dE8a88a1355E8"
276
277
  },
277
278
  "Dispenser": "0xbde8224d15885c2E46Be665b9392E619cD142de8",
278
279
  "ERC721Factory": "0x315ef329D214cde5cE7C206104aC35B1fe66bb8c",
279
- "PredictoorHelper": "0x2e4cb19faD077768fDcB04Bc0549AB76BE8eA63F"
280
+ "PredictoorHelper": "0x2e4cb19faD077768fDcB04Bc0549AB76BE8eA63F",
281
+ "AccessListFactory": "0xdA412123a3Cc0D921bcf7246f8742e3b7c3E7b94"
280
282
  },
281
283
  "sepolia": {
282
284
  "chainId": 11155111,
@@ -307,7 +309,8 @@
307
309
  "1": "0xDBDa486d8fE29F75e9Ca858F438b380Fc14b1232",
308
310
  "2": "0xF6410bf5d773C7a41ebFf972f38e7463FA242477",
309
311
  "3": "0x1B083D8584dd3e6Ff37d04a6e7e82b5F622f3985",
310
- "4": "0x4dD281EB67DED07E76E413Df16176D66ae69e240"
312
+ "4": "0x4dD281EB67DED07E76E413Df16176D66ae69e240",
313
+ "5": "0xA4E108a4fa07C931cFe4bF2c1c6f9C1579d5a819"
311
314
  },
312
315
  "ERC721Template": {
313
316
  "1": "0x69B6E54Ad2b3c2801d11d8Ad56ea1d892555b776"
@@ -316,7 +319,9 @@
316
319
  "ERC721Factory": "0x80E63f73cAc60c1662f27D2DFd2EA834acddBaa8",
317
320
  "DFRewards": "0xc37F8341Ac6e4a94538302bCd4d49Cf0852D30C0",
318
321
  "DFStrategyV1": "0x3c21a90599b5B7f37014cA5Bf30d3f1b73d7e391",
319
- "PredictoorHelper": "0xE9397625Df9B63f0C152f975234b7988b54710B8"
322
+ "PredictoorHelper": "0xE9397625Df9B63f0C152f975234b7988b54710B8",
323
+ "AccessListFactory": "0x12bB8D85a091A69A07E22E52d4567dBB91568f52",
324
+ "BatchPayments": "0x9497d1d64F2aFeBcd4f9916Eef3d9094E5Df962f"
320
325
  },
321
326
  "optimism_sepolia": {
322
327
  "chainId": 11155420,
@@ -359,7 +364,7 @@
359
364
  "Router": "0x4Ede1776D6B75de6c907172Abc0453a3C8AB372a",
360
365
  "FixedPrice": "0x8372715D834d286c9aECE1AcD51Da5755B32D505",
361
366
  "ERC20Template": {
362
- "1": "0x02eCd3850B53b1BA8dbCdD146C963cC27f27Dd3C",
367
+ "1": "0x02eCd3850B53b1BA8dbCdD146C963cC27f27Dd3C",
363
368
  "2": "0x23Efb300c8778d6842bB0cCBD07D356eCeB97070"
364
369
  },
365
370
  "ERC721Template": {
artifacts/AccessList.json CHANGED
@@ -4,18 +4,7 @@
4
4
  "sourceName": "contracts/accesslists/AccessList.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_name",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_symbol",
16
- "type": "string"
17
- }
18
- ],
7
+ "inputs": [],
19
8
  "stateMutability": "nonpayable",
20
9
  "type": "constructor"
21
10
  },
@@ -133,25 +122,6 @@
133
122
  "name": "MetadataUpdate",
134
123
  "type": "event"
135
124
  },
136
- {
137
- "anonymous": false,
138
- "inputs": [
139
- {
140
- "indexed": true,
141
- "internalType": "address",
142
- "name": "contractAddress",
143
- "type": "address"
144
- },
145
- {
146
- "indexed": true,
147
- "internalType": "address",
148
- "name": "owner",
149
- "type": "address"
150
- }
151
- ],
152
- "name": "NewAccessList",
153
- "type": "event"
154
- },
155
125
  {
156
126
  "anonymous": false,
157
127
  "inputs": [
@@ -283,6 +253,50 @@
283
253
  "stateMutability": "view",
284
254
  "type": "function"
285
255
  },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "address",
260
+ "name": "owner_",
261
+ "type": "address"
262
+ },
263
+ {
264
+ "internalType": "string",
265
+ "name": "name_",
266
+ "type": "string"
267
+ },
268
+ {
269
+ "internalType": "string",
270
+ "name": "symbol_",
271
+ "type": "string"
272
+ },
273
+ {
274
+ "internalType": "bool",
275
+ "name": "transferable_",
276
+ "type": "bool"
277
+ },
278
+ {
279
+ "internalType": "address[]",
280
+ "name": "user",
281
+ "type": "address[]"
282
+ },
283
+ {
284
+ "internalType": "string[]",
285
+ "name": "_tokenURI",
286
+ "type": "string[]"
287
+ }
288
+ ],
289
+ "name": "initialize",
290
+ "outputs": [
291
+ {
292
+ "internalType": "bool",
293
+ "name": "",
294
+ "type": "bool"
295
+ }
296
+ ],
297
+ "stateMutability": "nonpayable",
298
+ "type": "function"
299
+ },
286
300
  {
287
301
  "inputs": [
288
302
  {
@@ -594,10 +608,23 @@
594
608
  "outputs": [],
595
609
  "stateMutability": "nonpayable",
596
610
  "type": "function"
611
+ },
612
+ {
613
+ "inputs": [],
614
+ "name": "transferable",
615
+ "outputs": [
616
+ {
617
+ "internalType": "bool",
618
+ "name": "",
619
+ "type": "bool"
620
+ }
621
+ ],
622
+ "stateMutability": "view",
623
+ "type": "function"
597
624
  }
598
625
  ],
599
- "bytecode": "0x608060405234801561001057600080fd5b5060405161250e38038061250e83398101604081905261002f916101ad565b818161003a336100a4565b6001610046838261029f565b506002610053828261029f565b5061005e9150503390565b6001600160a01b0316306001600160a01b03167fd65bc8e3024bbad886df74eea79b6e118b7fbcffe1f3f98054e5a6b98dc8389160405160405180910390a3505061035d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261011b57600080fd5b81516001600160401b03811115610134576101346100f4565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610162576101626100f4565b60405281815283820160200185101561017a57600080fd5b60005b828110156101995760208186018101518383018201520161017d565b506000918101602001919091529392505050565b600080604083850312156101c057600080fd5b82516001600160401b038111156101d657600080fd5b6101e28582860161010a565b602085015190935090506001600160401b0381111561020057600080fd5b61020c8582860161010a565b9150509250929050565b600181811c9082168061022a57607f821691505b60208210810361024a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561029a57806000526020600020601f840160051c810160208510156102775750805b601f840160051c820191505b818110156102975760008155600101610283565b50505b505050565b81516001600160401b038111156102b8576102b86100f4565b6102cc816102c68454610216565b84610250565b6020601f82116001811461030057600083156102e85750848201515b600019600385901b1c1916600184901b178455610297565b600084815260208120601f198516915b828110156103305787850151825560209485019460019092019101610310565b508482101561034e5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6121a28061036c6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806364ba144e116100b8578063a22cb4651161007c578063a22cb4651461028f578063b88d4fde146102a2578063c87b56dd146102b5578063d0def521146102c8578063e985e9c5146102db578063f2fde38b1461031757600080fd5b806364ba144e1461024857806370a082311461025b578063715018a61461026e5780638da5cb5b1461027657806395d89b411461028757600080fd5b806323b872dd1161010a57806323b872dd146101d65780632f745c59146101e957806342842e0e146101fc57806342966c681461020f5780634f6ccce7146102225780636352211e1461023557600080fd5b806301ffc9a71461014757806306fdde031461016f578063081812fc14610184578063095ea7b3146101af57806318160ddd146101c4575b600080fd5b61015a6101553660046119ca565b61032a565b60405190151581526020015b60405180910390f35b61017761033b565b6040516101669190611a37565b610197610192366004611a4a565b6103cd565b6040516001600160a01b039091168152602001610166565b6101c26101bd366004611a7f565b6103f4565b005b6009545b604051908152602001610166565b6101c26101e4366004611aa9565b61050e565b6101c86101f7366004611a7f565b61053f565b6101c261020a366004611aa9565b6105d5565b6101c261021d366004611a4a565b6105f0565b6101c8610230366004611a4a565b61069e565b610197610243366004611a4a565b610731565b6101c2610256366004611c5f565b610791565b6101c8610269366004611d28565b6107fb565b6101c2610881565b6000546001600160a01b0316610197565b610177610895565b6101c261029d366004611d43565b6108a4565b6101c26102b0366004611d7f565b6108b3565b6101776102c3366004611a4a565b6108eb565b6101c86102d6366004611dfb565b6108f6565b61015a6102e9366004611e3f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6101c2610325366004611d28565b610911565b600061033582610987565b92915050565b60606001805461034a90611e72565b80601f016020809104026020016040519081016040528092919081815260200182805461037690611e72565b80156103c35780601f10610398576101008083540402835291602001916103c3565b820191906000526020600020905b8154815290600101906020018083116103a657829003601f168201915b5050505050905090565b60006103d8826109ac565b506000908152600560205260409020546001600160a01b031690565b60006103ff82610731565b9050806001600160a01b0316836001600160a01b0316036104715760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061048d575061048d81336102e9565b6104ff5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610468565b6105098383610a0b565b505050565b6105183382610a79565b6105345760405162461bcd60e51b815260040161046890611eac565b610509838383610af8565b600061054a836107fb565b82106105ac5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610468565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b610509838383604051806020016040528060008152506108b3565b6000546001600160a01b031633148061061f57506000818152600360205260409020546001600160a01b031633145b61065f5760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b6044820152606401610468565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a161069b81610c69565b50565b60006106a960095490565b821061070c5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610468565b6009828154811061071f5761071f611ef9565b90600052602060002001549050919050565b6000818152600360205260408120546001600160a01b0316806103355760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610468565b610799610c72565b600081518351146107a957600080fd5b5060005b8251811015610509576107f28382815181106107cb576107cb611ef9565b60200260200101518383815181106107e5576107e5611ef9565b6020026020010151610ccc565b506001016107ad565b60006001600160a01b0382166108655760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610468565b506001600160a01b031660009081526004602052604090205490565b610889610c72565b6108936000610d40565b565b60606002805461034a90611e72565b6108af338383610d90565b5050565b6108bd3383610a79565b6108d95760405162461bcd60e51b815260040161046890611eac565b6108e584848484610e5e565b50505050565b606061033582610e91565b6000610900610c72565b61090a8383610ccc565b9392505050565b610919610c72565b6001600160a01b03811661097e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610468565b61069b81610d40565b60006001600160e01b03198216632483248360e11b1480610335575061033582610f99565b6000818152600360205260409020546001600160a01b031661069b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610468565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610a4082610731565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a8583610731565b9050806001600160a01b0316846001600160a01b03161480610acc57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b80610af05750836001600160a01b0316610ae5846103cd565b6001600160a01b0316145b949350505050565b826001600160a01b0316610b0b82610731565b6001600160a01b031614610b315760405162461bcd60e51b815260040161046890611f0f565b6001600160a01b038216610b935760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610468565b610ba08383836001610fbe565b826001600160a01b0316610bb382610731565b6001600160a01b031614610bd95760405162461bcd60e51b815260040161046890611f0f565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61069b8161102c565b6000546001600160a01b031633146108935760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610468565b6000610cdc600c80546001019055565b6000610ce7600c5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610d2491815260200190565b60405180910390a2610d36848261106c565b61090a8184611205565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b031603610df15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610468565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610e69848484610af8565b610e75848484846112d0565b6108e55760405162461bcd60e51b815260040161046890611f54565b6060610e9c826109ac565b6000828152600b602052604081208054610eb590611e72565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee190611e72565b8015610f2e5780601f10610f0357610100808354040283529160200191610f2e565b820191906000526020600020905b815481529060010190602001808311610f1157829003601f168201915b505050505090506000610f4c60408051602081019091526000815290565b90508051600003610f5e575092915050565b815115610f90578082604051602001610f78929190611fa6565b60405160208183030381529060405292505050919050565b610af0846113d1565b60006001600160e01b0319821663780e9d6360e01b1480610335575061033582611444565b6001600160a01b0384161580610fdb57506001600160a01b038316155b6110205760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b6044820152606401610468565b6108e584848484611494565b611035816115c8565b6000818152600b60205260409020805461104e90611e72565b15905061069b576000818152600b6020526040812061069b91611966565b6001600160a01b0382166110c25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610468565b6000818152600360205260409020546001600160a01b0316156111275760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610468565b611135600083836001610fbe565b6000818152600360205260409020546001600160a01b03161561119a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610468565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600360205260409020546001600160a01b03166112805760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610468565b6000828152600b60205260409020611298828261201c565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b156113c657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906113149033908990889088906004016120db565b6020604051808303816000875af192505050801561134f575060408051601f3d908101601f1916820190925261134c91810190612118565b60015b6113ac573d80801561137d576040519150601f19603f3d011682016040523d82523d6000602084013e611382565b606091505b5080516000036113a45760405162461bcd60e51b815260040161046890611f54565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610af0565b506001949350505050565b60606113dc826109ac565b60006113f360408051602081019091526000815290565b90506000815111611413576040518060200160405280600081525061090a565b8061141d8461166b565b60405160200161142e929190611fa6565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b148061147557506001600160e01b03198216635b5e139f60e01b145b8061033557506301ffc9a760e01b6001600160e01b0319831614610335565b60018111156115035760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610468565b816001600160a01b03851661155f5761155a81600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b611582565b836001600160a01b0316856001600160a01b0316146115825761158285826116fe565b6001600160a01b03841661159e576115998161179b565b6115c1565b846001600160a01b0316846001600160a01b0316146115c1576115c1848261184a565b5050505050565b60006115d382610731565b90506115e3816000846001610fbe565b6115ec82610731565b600083815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526004845282852080546000190190558785526003909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006116788361188e565b600101905060008167ffffffffffffffff81111561169857611698611ae6565b6040519080825280601f01601f1916602001820160405280156116c2576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846116cc57509392505050565b6000600161170b846107fb565b6117159190612135565b600083815260086020526040902054909150808214611768576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b6009546000906117ad90600190612135565b6000838152600a6020526040812054600980549394509092849081106117d5576117d5611ef9565b9060005260206000200154905080600983815481106117f6576117f6611ef9565b6000918252602080832090910192909255828152600a9091526040808220849055858252812055600980548061182e5761182e612156565b6001900381819060005260206000200160009055905550505050565b6000611855836107fb565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118cd5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118f9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061191757662386f26fc10000830492506010015b6305f5e100831061192f576305f5e100830492506008015b612710831061194357612710830492506004015b60648310611955576064830492506002015b600a83106103355760010192915050565b50805461197290611e72565b6000825580601f10611982575050565b601f01602090049060005260206000209081019061069b91905b808211156119b0576000815560010161199c565b5090565b6001600160e01b03198116811461069b57600080fd5b6000602082840312156119dc57600080fd5b813561090a816119b4565b60005b83811015611a025781810151838201526020016119ea565b50506000910152565b60008151808452611a238160208601602086016119e7565b601f01601f19169290920160200192915050565b60208152600061090a6020830184611a0b565b600060208284031215611a5c57600080fd5b5035919050565b80356001600160a01b0381168114611a7a57600080fd5b919050565b60008060408385031215611a9257600080fd5b611a9b83611a63565b946020939093013593505050565b600080600060608486031215611abe57600080fd5b611ac784611a63565b9250611ad560208501611a63565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b2557611b25611ae6565b604052919050565b600067ffffffffffffffff821115611b4757611b47611ae6565b5060051b60200190565b60008067ffffffffffffffff841115611b6c57611b6c611ae6565b50601f8301601f1916602001611b8181611afc565b915050828152838383011115611b9657600080fd5b828260208301376000602084830101529392505050565b600082601f830112611bbe57600080fd5b61090a83833560208501611b51565b600082601f830112611bde57600080fd5b8135611bf1611bec82611b2d565b611afc565b8082825260208201915060208360051b860101925085831115611c1357600080fd5b602085015b83811015611c5557803567ffffffffffffffff811115611c3757600080fd5b611c46886020838a0101611bad565b84525060209283019201611c18565b5095945050505050565b60008060408385031215611c7257600080fd5b823567ffffffffffffffff811115611c8957600080fd5b8301601f81018513611c9a57600080fd5b8035611ca8611bec82611b2d565b8082825260208201915060208360051b850101925087831115611cca57600080fd5b6020840193505b82841015611cf357611ce284611a63565b825260209384019390910190611cd1565b9450505050602083013567ffffffffffffffff811115611d1257600080fd5b611d1e85828601611bcd565b9150509250929050565b600060208284031215611d3a57600080fd5b61090a82611a63565b60008060408385031215611d5657600080fd5b611d5f83611a63565b915060208301358015158114611d7457600080fd5b809150509250929050565b60008060008060808587031215611d9557600080fd5b611d9e85611a63565b9350611dac60208601611a63565b925060408501359150606085013567ffffffffffffffff811115611dcf57600080fd5b8501601f81018713611de057600080fd5b611def87823560208401611b51565b91505092959194509250565b60008060408385031215611e0e57600080fd5b611e1783611a63565b9150602083013567ffffffffffffffff811115611e3357600080fd5b611d1e85828601611bad565b60008060408385031215611e5257600080fd5b611e5b83611a63565b9150611e6960208401611a63565b90509250929050565b600181811c90821680611e8657607f821691505b602082108103611ea657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611fb88184602088016119e7565b835190830190611fcc8183602088016119e7565b01949350505050565b601f82111561050957806000526020600020601f840160051c81016020851015611ffc5750805b601f840160051c820191505b818110156115c15760008155600101612008565b815167ffffffffffffffff81111561203657612036611ae6565b61204a816120448454611e72565b84611fd5565b6020601f82116001811461207e57600083156120665750848201515b600019600385901b1c1916600184901b1784556115c1565b600084815260208120601f198516915b828110156120ae578785015182556020948501946001909201910161208e565b50848210156120cc5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061210e90830184611a0b565b9695505050505050565b60006020828403121561212a57600080fd5b815161090a816119b4565b8181038181111561033557634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e3d197f35505c31d959899902647ae665143ff57e68e9273a9acdee84aa86e0a64736f6c634300081a0033",
600
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806364ba144e116100b8578063a22cb4651161007c578063a22cb4651461028f578063b88d4fde146102a2578063c87b56dd146102b5578063d0def521146102c8578063e985e9c5146102db578063f2fde38b1461031757600080fd5b806364ba144e1461024857806370a082311461025b578063715018a61461026e5780638da5cb5b1461027657806395d89b411461028757600080fd5b806323b872dd1161010a57806323b872dd146101d65780632f745c59146101e957806342842e0e146101fc57806342966c681461020f5780634f6ccce7146102225780636352211e1461023557600080fd5b806301ffc9a71461014757806306fdde031461016f578063081812fc14610184578063095ea7b3146101af57806318160ddd146101c4575b600080fd5b61015a6101553660046119ca565b61032a565b60405190151581526020015b60405180910390f35b61017761033b565b6040516101669190611a37565b610197610192366004611a4a565b6103cd565b6040516001600160a01b039091168152602001610166565b6101c26101bd366004611a7f565b6103f4565b005b6009545b604051908152602001610166565b6101c26101e4366004611aa9565b61050e565b6101c86101f7366004611a7f565b61053f565b6101c261020a366004611aa9565b6105d5565b6101c261021d366004611a4a565b6105f0565b6101c8610230366004611a4a565b61069e565b610197610243366004611a4a565b610731565b6101c2610256366004611c5f565b610791565b6101c8610269366004611d28565b6107fb565b6101c2610881565b6000546001600160a01b0316610197565b610177610895565b6101c261029d366004611d43565b6108a4565b6101c26102b0366004611d7f565b6108b3565b6101776102c3366004611a4a565b6108eb565b6101c86102d6366004611dfb565b6108f6565b61015a6102e9366004611e3f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6101c2610325366004611d28565b610911565b600061033582610987565b92915050565b60606001805461034a90611e72565b80601f016020809104026020016040519081016040528092919081815260200182805461037690611e72565b80156103c35780601f10610398576101008083540402835291602001916103c3565b820191906000526020600020905b8154815290600101906020018083116103a657829003601f168201915b5050505050905090565b60006103d8826109ac565b506000908152600560205260409020546001600160a01b031690565b60006103ff82610731565b9050806001600160a01b0316836001600160a01b0316036104715760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061048d575061048d81336102e9565b6104ff5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610468565b6105098383610a0b565b505050565b6105183382610a79565b6105345760405162461bcd60e51b815260040161046890611eac565b610509838383610af8565b600061054a836107fb565b82106105ac5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610468565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b610509838383604051806020016040528060008152506108b3565b6000546001600160a01b031633148061061f57506000818152600360205260409020546001600160a01b031633145b61065f5760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b6044820152606401610468565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a161069b81610c69565b50565b60006106a960095490565b821061070c5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610468565b6009828154811061071f5761071f611ef9565b90600052602060002001549050919050565b6000818152600360205260408120546001600160a01b0316806103355760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610468565b610799610c72565b600081518351146107a957600080fd5b5060005b8251811015610509576107f28382815181106107cb576107cb611ef9565b60200260200101518383815181106107e5576107e5611ef9565b6020026020010151610ccc565b506001016107ad565b60006001600160a01b0382166108655760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610468565b506001600160a01b031660009081526004602052604090205490565b610889610c72565b6108936000610d40565b565b60606002805461034a90611e72565b6108af338383610d90565b5050565b6108bd3383610a79565b6108d95760405162461bcd60e51b815260040161046890611eac565b6108e584848484610e5e565b50505050565b606061033582610e91565b6000610900610c72565b61090a8383610ccc565b9392505050565b610919610c72565b6001600160a01b03811661097e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610468565b61069b81610d40565b60006001600160e01b03198216632483248360e11b1480610335575061033582610f99565b6000818152600360205260409020546001600160a01b031661069b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610468565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610a4082610731565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a8583610731565b9050806001600160a01b0316846001600160a01b03161480610acc57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b80610af05750836001600160a01b0316610ae5846103cd565b6001600160a01b0316145b949350505050565b826001600160a01b0316610b0b82610731565b6001600160a01b031614610b315760405162461bcd60e51b815260040161046890611f0f565b6001600160a01b038216610b935760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610468565b610ba08383836001610fbe565b826001600160a01b0316610bb382610731565b6001600160a01b031614610bd95760405162461bcd60e51b815260040161046890611f0f565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61069b8161102c565b6000546001600160a01b031633146108935760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610468565b6000610cdc600c80546001019055565b6000610ce7600c5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610d2491815260200190565b60405180910390a2610d36848261106c565b61090a8184611205565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b031603610df15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610468565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610e69848484610af8565b610e75848484846112d0565b6108e55760405162461bcd60e51b815260040161046890611f54565b6060610e9c826109ac565b6000828152600b602052604081208054610eb590611e72565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee190611e72565b8015610f2e5780601f10610f0357610100808354040283529160200191610f2e565b820191906000526020600020905b815481529060010190602001808311610f1157829003601f168201915b505050505090506000610f4c60408051602081019091526000815290565b90508051600003610f5e575092915050565b815115610f90578082604051602001610f78929190611fa6565b60405160208183030381529060405292505050919050565b610af0846113d1565b60006001600160e01b0319821663780e9d6360e01b1480610335575061033582611444565b6001600160a01b0384161580610fdb57506001600160a01b038316155b6110205760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b6044820152606401610468565b6108e584848484611494565b611035816115c8565b6000818152600b60205260409020805461104e90611e72565b15905061069b576000818152600b6020526040812061069b91611966565b6001600160a01b0382166110c25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610468565b6000818152600360205260409020546001600160a01b0316156111275760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610468565b611135600083836001610fbe565b6000818152600360205260409020546001600160a01b03161561119a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610468565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600360205260409020546001600160a01b03166112805760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610468565b6000828152600b60205260409020611298828261201c565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b156113c657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906113149033908990889088906004016120db565b6020604051808303816000875af192505050801561134f575060408051601f3d908101601f1916820190925261134c91810190612118565b60015b6113ac573d80801561137d576040519150601f19603f3d011682016040523d82523d6000602084013e611382565b606091505b5080516000036113a45760405162461bcd60e51b815260040161046890611f54565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610af0565b506001949350505050565b60606113dc826109ac565b60006113f360408051602081019091526000815290565b90506000815111611413576040518060200160405280600081525061090a565b8061141d8461166b565b60405160200161142e929190611fa6565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b148061147557506001600160e01b03198216635b5e139f60e01b145b8061033557506301ffc9a760e01b6001600160e01b0319831614610335565b60018111156115035760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610468565b816001600160a01b03851661155f5761155a81600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b611582565b836001600160a01b0316856001600160a01b0316146115825761158285826116fe565b6001600160a01b03841661159e576115998161179b565b6115c1565b846001600160a01b0316846001600160a01b0316146115c1576115c1848261184a565b5050505050565b60006115d382610731565b90506115e3816000846001610fbe565b6115ec82610731565b600083815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526004845282852080546000190190558785526003909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006116788361188e565b600101905060008167ffffffffffffffff81111561169857611698611ae6565b6040519080825280601f01601f1916602001820160405280156116c2576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846116cc57509392505050565b6000600161170b846107fb565b6117159190612135565b600083815260086020526040902054909150808214611768576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b6009546000906117ad90600190612135565b6000838152600a6020526040812054600980549394509092849081106117d5576117d5611ef9565b9060005260206000200154905080600983815481106117f6576117f6611ef9565b6000918252602080832090910192909255828152600a9091526040808220849055858252812055600980548061182e5761182e612156565b6001900381819060005260206000200160009055905550505050565b6000611855836107fb565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118cd5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118f9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061191757662386f26fc10000830492506010015b6305f5e100831061192f576305f5e100830492506008015b612710831061194357612710830492506004015b60648310611955576064830492506002015b600a83106103355760010192915050565b50805461197290611e72565b6000825580601f10611982575050565b601f01602090049060005260206000209081019061069b91905b808211156119b0576000815560010161199c565b5090565b6001600160e01b03198116811461069b57600080fd5b6000602082840312156119dc57600080fd5b813561090a816119b4565b60005b83811015611a025781810151838201526020016119ea565b50506000910152565b60008151808452611a238160208601602086016119e7565b601f01601f19169290920160200192915050565b60208152600061090a6020830184611a0b565b600060208284031215611a5c57600080fd5b5035919050565b80356001600160a01b0381168114611a7a57600080fd5b919050565b60008060408385031215611a9257600080fd5b611a9b83611a63565b946020939093013593505050565b600080600060608486031215611abe57600080fd5b611ac784611a63565b9250611ad560208501611a63565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b2557611b25611ae6565b604052919050565b600067ffffffffffffffff821115611b4757611b47611ae6565b5060051b60200190565b60008067ffffffffffffffff841115611b6c57611b6c611ae6565b50601f8301601f1916602001611b8181611afc565b915050828152838383011115611b9657600080fd5b828260208301376000602084830101529392505050565b600082601f830112611bbe57600080fd5b61090a83833560208501611b51565b600082601f830112611bde57600080fd5b8135611bf1611bec82611b2d565b611afc565b8082825260208201915060208360051b860101925085831115611c1357600080fd5b602085015b83811015611c5557803567ffffffffffffffff811115611c3757600080fd5b611c46886020838a0101611bad565b84525060209283019201611c18565b5095945050505050565b60008060408385031215611c7257600080fd5b823567ffffffffffffffff811115611c8957600080fd5b8301601f81018513611c9a57600080fd5b8035611ca8611bec82611b2d565b8082825260208201915060208360051b850101925087831115611cca57600080fd5b6020840193505b82841015611cf357611ce284611a63565b825260209384019390910190611cd1565b9450505050602083013567ffffffffffffffff811115611d1257600080fd5b611d1e85828601611bcd565b9150509250929050565b600060208284031215611d3a57600080fd5b61090a82611a63565b60008060408385031215611d5657600080fd5b611d5f83611a63565b915060208301358015158114611d7457600080fd5b809150509250929050565b60008060008060808587031215611d9557600080fd5b611d9e85611a63565b9350611dac60208601611a63565b925060408501359150606085013567ffffffffffffffff811115611dcf57600080fd5b8501601f81018713611de057600080fd5b611def87823560208401611b51565b91505092959194509250565b60008060408385031215611e0e57600080fd5b611e1783611a63565b9150602083013567ffffffffffffffff811115611e3357600080fd5b611d1e85828601611bad565b60008060408385031215611e5257600080fd5b611e5b83611a63565b9150611e6960208401611a63565b90509250929050565b600181811c90821680611e8657607f821691505b602082108103611ea657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611fb88184602088016119e7565b835190830190611fcc8183602088016119e7565b01949350505050565b601f82111561050957806000526020600020601f840160051c81016020851015611ffc5750805b601f840160051c820191505b818110156115c15760008155600101612008565b815167ffffffffffffffff81111561203657612036611ae6565b61204a816120448454611e72565b84611fd5565b6020601f82116001811461207e57600083156120665750848201515b600019600385901b1c1916600184901b1784556115c1565b600084815260208120601f198516915b828110156120ae578785015182556020948501946001909201910161208e565b50848210156120cc5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061210e90830184611a0b565b9695505050505050565b60006020828403121561212a57600080fd5b815161090a816119b4565b8181038181111561033557634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e3d197f35505c31d959899902647ae665143ff57e68e9273a9acdee84aa86e0a64736f6c634300081a0033",
626
+ "bytecode": "0x608060405234801561001057600080fd5b50604080516020808201835260008083528351918201909352828152909161003883826100ec565b50600161004582826100ec565b5050506101aa565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061007757607f821691505b60208210810361009757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156100e757806000526020600020601f840160051c810160208510156100c45750805b601f840160051c820191505b818110156100e457600081556001016100d0565b50505b505050565b81516001600160401b038111156101055761010561004d565b610119816101138454610063565b8461009d565b6020601f82116001811461014d57600083156101355750848201515b600019600385901b1c1916600184901b1784556100e4565b600084815260208120601f198516915b8281101561017d578785015182556020948501946001909201910161015d565b508482101561019b5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b61250c806101b96000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806364ba144e116100c3578063a22cb4651161007c578063a22cb465146102ca578063b88d4fde146102dd578063c87b56dd146102f0578063d0def52114610303578063e985e9c514610316578063f2fde38b1461035257600080fd5b806364ba144e1461027157806370a0823114610284578063715018a6146102975780638da5cb5b1461029f57806392ff0d31146102b557806395d89b41146102c257600080fd5b80632f745c59116101155780632f745c59146101ff57806342842e0e1461021257806342966c68146102255780634f6ccce71461023857806350e67fbc1461024b5780636352211e1461025e57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101ec575b600080fd5b61017061016b366004611b4a565b610365565b60405190151581526020015b60405180910390f35b61018d610376565b60405161017c9190611bb7565b6101ad6101a8366004611bca565b610408565b6040516001600160a01b03909116815260200161017c565b6101d86101d3366004611bff565b61042f565b005b6008545b60405190815260200161017c565b6101d86101fa366004611c29565b610549565b6101de61020d366004611bff565b61057a565b6101d8610220366004611c29565b610610565b6101d8610233366004611bca565b61062b565b6101de610246366004611bca565b6106f0565b610170610259366004611e98565b610783565b6101ad61026c366004611bca565b6108a0565b6101d861027f366004611f81565b610900565b6101de610292366004611fe8565b61095d565b6101d86109e3565b600c5461010090046001600160a01b03166101ad565b600f546101709060ff1681565b61018d6109f7565b6101d86102d8366004612003565b610a06565b6101d86102eb366004612036565b610a15565b61018d6102fe366004611bca565b610a4d565b6101de6103113660046120b1565b610a58565b6101706103243660046120f4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101d8610360366004611fe8565b610a73565b600061037082610ae9565b92915050565b6060600d80546103859061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b19061211e565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b600061041382610b0e565b506000908152600460205260409020546001600160a01b031690565b600061043a826108a0565b9050806001600160a01b0316836001600160a01b0316036104ac5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104c857506104c88133610324565b61053a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104a3565b6105448383610b6d565b505050565b6105533382610bdb565b61056f5760405162461bcd60e51b81526004016104a390612158565b610544838383610c5a565b60006105858361095d565b82106105e75760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104a3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61054483838360405180602001604052806000815250610a15565b600c5461010090046001600160a01b03166001600160a01b0316336001600160a01b0316148061067157506000818152600260205260409020546001600160a01b031633145b6106b15760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b60448201526064016104a3565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a16106ed81610dcb565b50565b60006106fb60085490565b821061075e5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104a3565b60088281548110610771576107716121a5565b90600052602060002001549050919050565b600c5460009060ff16156107cf5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104a3565b600d6107dc888a83612202565b50600e6107ea868883612202565b50600c805460ff196001600160a01b038c166101000281166001600160a81b031990921691909117600117909155600f8054861515921691909117905581518351148015610839575060008251115b156108915760005b835181101561088f5761088684828151811061085f5761085f6121a5565b6020026020010151848381518110610879576108796121a5565b6020026020010151610dd4565b50600101610841565b505b50600198975050505050505050565b6000818152600260205260408120546001600160a01b0316806103705760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b610908610e48565b6000815183511461091857600080fd5b5060005b82518110156105445761095483828151811061093a5761093a6121a5565b6020026020010151838381518110610879576108796121a5565b5060010161091c565b60006001600160a01b0382166109c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016104a3565b506001600160a01b031660009081526003602052604090205490565b6109eb610e48565b6109f56000610ea8565b565b6060600e80546103859061211e565b610a11338383610f02565b5050565b610a1f3383610bdb565b610a3b5760405162461bcd60e51b81526004016104a390612158565b610a4784848484610fd0565b50505050565b606061037082611003565b6000610a62610e48565b610a6c8383610dd4565b9392505050565b610a7b610e48565b6001600160a01b038116610ae05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a3565b6106ed81610ea8565b60006001600160e01b03198216632483248360e11b148061037057506103708261110b565b6000818152600260205260409020546001600160a01b03166106ed5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ba2826108a0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610be7836108a0565b9050806001600160a01b0316846001600160a01b03161480610c2e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610c525750836001600160a01b0316610c4784610408565b6001600160a01b0316145b949350505050565b826001600160a01b0316610c6d826108a0565b6001600160a01b031614610c935760405162461bcd60e51b81526004016104a3906122c1565b6001600160a01b038216610cf55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a3565b610d028383836001611130565b826001600160a01b0316610d15826108a0565b6001600160a01b031614610d3b5760405162461bcd60e51b81526004016104a3906122c1565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6106ed816111ad565b6000610de4600b80546001019055565b6000610def600b5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610e2c91815260200190565b60405180910390a2610e3e84826111ed565b610a6c8184611386565b600c546001600160a01b036101009091041633146109f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a3565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610f635760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104a3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610fdb848484610c5a565b610fe784848484611451565b610a475760405162461bcd60e51b81526004016104a390612306565b606061100e82610b0e565b6000828152600a6020526040812080546110279061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546110539061211e565b80156110a05780601f10611075576101008083540402835291602001916110a0565b820191906000526020600020905b81548152906001019060200180831161108357829003601f168201915b5050505050905060006110be60408051602081019091526000815290565b905080516000036110d0575092915050565b8151156111025780826040516020016110ea929190612358565b60405160208183030381529060405292505050919050565b610c5284611552565b60006001600160e01b0319821663780e9d6360e01b14806103705750610370826115c5565b600f5460ff1615156000036111a1576001600160a01b038416158061115c57506001600160a01b038316155b6111a15760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b60448201526064016104a3565b610a4784848484611615565b6111b681611749565b6000818152600a6020526040902080546111cf9061211e565b1590506106ed576000818152600a602052604081206106ed91611ae6565b6001600160a01b0382166112435760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a3565b6000818152600260205260409020546001600160a01b0316156112a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6112b6600083836001611130565b6000818152600260205260409020546001600160a01b03161561131b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166114015760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016104a3565b6000828152600a602052604090206114198282612387565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b1561154757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611495903390899088908890600401612445565b6020604051808303816000875af19250505080156114d0575060408051601f3d908101601f191682019092526114cd91810190612482565b60015b61152d573d8080156114fe576040519150601f19603f3d011682016040523d82523d6000602084013e611503565b606091505b5080516000036115255760405162461bcd60e51b81526004016104a390612306565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c52565b506001949350505050565b606061155d82610b0e565b600061157460408051602081019091526000815290565b905060008151116115945760405180602001604052806000815250610a6c565b8061159e846117ec565b6040516020016115af929190612358565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b14806115f657506001600160e01b03198216635b5e139f60e01b145b8061037057506301ffc9a760e01b6001600160e01b0319831614610370565b60018111156116845760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016104a3565b816001600160a01b0385166116e0576116db81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611703565b836001600160a01b0316856001600160a01b03161461170357611703858261187e565b6001600160a01b03841661171f5761171a8161191b565b611742565b846001600160a01b0316846001600160a01b0316146117425761174284826119ca565b5050505050565b6000611754826108a0565b9050611764816000846001611130565b61176d826108a0565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006117f983611a0e565b60010190506000816001600160401b0381111561181857611818611cbe565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461184c57509392505050565b6000600161188b8461095d565b611895919061249f565b6000838152600760205260409020549091508082146118e8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061192d9060019061249f565b60008381526009602052604081205460088054939450909284908110611955576119556121a5565b906000526020600020015490508060088381548110611976576119766121a5565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806119ae576119ae6124c0565b6001900381819060005260206000200160009055905550505050565b60006119d58361095d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a4d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a79576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611a9757662386f26fc10000830492506010015b6305f5e1008310611aaf576305f5e100830492506008015b6127108310611ac357612710830492506004015b60648310611ad5576064830492506002015b600a83106103705760010192915050565b508054611af29061211e565b6000825580601f10611b02575050565b601f0160209004906000526020600020908101906106ed91905b80821115611b305760008155600101611b1c565b5090565b6001600160e01b0319811681146106ed57600080fd5b600060208284031215611b5c57600080fd5b8135610a6c81611b34565b60005b83811015611b82578181015183820152602001611b6a565b50506000910152565b60008151808452611ba3816020860160208601611b67565b601f01601f19169290920160200192915050565b602081526000610a6c6020830184611b8b565b600060208284031215611bdc57600080fd5b5035919050565b80356001600160a01b0381168114611bfa57600080fd5b919050565b60008060408385031215611c1257600080fd5b611c1b83611be3565b946020939093013593505050565b600080600060608486031215611c3e57600080fd5b611c4784611be3565b9250611c5560208501611be3565b929592945050506040919091013590565b60008083601f840112611c7857600080fd5b5081356001600160401b03811115611c8f57600080fd5b602083019150836020828501011115611ca757600080fd5b9250929050565b80358015158114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611cfc57611cfc611cbe565b604052919050565b60006001600160401b03821115611d1d57611d1d611cbe565b5060051b60200190565b600082601f830112611d3857600080fd5b8135611d4b611d4682611d04565b611cd4565b8082825260208201915060208360051b860101925085831115611d6d57600080fd5b602085015b83811015611d9157611d8381611be3565b835260209283019201611d72565b5095945050505050565b6000806001600160401b03841115611db557611db5611cbe565b50601f8301601f1916602001611dca81611cd4565b915050828152838383011115611ddf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611e0757600080fd5b610a6c83833560208501611d9b565b600082601f830112611e2757600080fd5b8135611e35611d4682611d04565b8082825260208201915060208360051b860101925085831115611e5757600080fd5b602085015b83811015611d915780356001600160401b03811115611e7a57600080fd5b611e89886020838a0101611df6565b84525060209283019201611e5c565b60008060008060008060008060c0898b031215611eb457600080fd5b611ebd89611be3565b975060208901356001600160401b03811115611ed857600080fd5b611ee48b828c01611c66565b90985096505060408901356001600160401b03811115611f0357600080fd5b611f0f8b828c01611c66565b9096509450611f22905060608a01611cae565b925060808901356001600160401b03811115611f3d57600080fd5b611f498b828c01611d27565b92505060a08901356001600160401b03811115611f6557600080fd5b611f718b828c01611e16565b9150509295985092959890939650565b60008060408385031215611f9457600080fd5b82356001600160401b03811115611faa57600080fd5b611fb685828601611d27565b92505060208301356001600160401b03811115611fd257600080fd5b611fde85828601611e16565b9150509250929050565b600060208284031215611ffa57600080fd5b610a6c82611be3565b6000806040838503121561201657600080fd5b61201f83611be3565b915061202d60208401611cae565b90509250929050565b6000806000806080858703121561204c57600080fd5b61205585611be3565b935061206360208601611be3565b92506040850135915060608501356001600160401b0381111561208557600080fd5b8501601f8101871361209657600080fd5b6120a587823560208401611d9b565b91505092959194509250565b600080604083850312156120c457600080fd5b6120cd83611be3565b915060208301356001600160401b038111156120e857600080fd5b611fde85828601611df6565b6000806040838503121561210757600080fd5b61211083611be3565b915061202d60208401611be3565b600181811c9082168061213257607f821691505b60208210810361215257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f82111561054457806000526020600020601f840160051c810160208510156121e25750805b601f840160051c820191505b8181101561174257600081556001016121ee565b6001600160401b0383111561221957612219611cbe565b61222d83612227835461211e565b836121bb565b6000601f84116001811461226157600085156122495750838201355b600019600387901b1c1916600186901b178355611742565b600083815260209020601f19861690835b828110156122925786850135825560209485019460019092019101612272565b50868210156122af5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161236a818460208801611b67565b83519083019061237e818360208801611b67565b01949350505050565b81516001600160401b038111156123a0576123a0611cbe565b6123b4816123ae845461211e565b846121bb565b6020601f8211600181146123e857600083156123d05750848201515b600019600385901b1c1916600184901b178455611742565b600084815260208120601f198516915b8281101561241857878501518255602094850194600190920191016123f8565b50848210156124365786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061247890830184611b8b565b9695505050505050565b60006020828403121561249457600080fd5b8151610a6c81611b34565b8181038181111561037057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122022f104feca5359a096ed34571368d166e6a14d02d1e1020dda9227bcd177952b64736f6c634300081a0033",
627
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806364ba144e116100c3578063a22cb4651161007c578063a22cb465146102ca578063b88d4fde146102dd578063c87b56dd146102f0578063d0def52114610303578063e985e9c514610316578063f2fde38b1461035257600080fd5b806364ba144e1461027157806370a0823114610284578063715018a6146102975780638da5cb5b1461029f57806392ff0d31146102b557806395d89b41146102c257600080fd5b80632f745c59116101155780632f745c59146101ff57806342842e0e1461021257806342966c68146102255780634f6ccce71461023857806350e67fbc1461024b5780636352211e1461025e57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101ec575b600080fd5b61017061016b366004611b4a565b610365565b60405190151581526020015b60405180910390f35b61018d610376565b60405161017c9190611bb7565b6101ad6101a8366004611bca565b610408565b6040516001600160a01b03909116815260200161017c565b6101d86101d3366004611bff565b61042f565b005b6008545b60405190815260200161017c565b6101d86101fa366004611c29565b610549565b6101de61020d366004611bff565b61057a565b6101d8610220366004611c29565b610610565b6101d8610233366004611bca565b61062b565b6101de610246366004611bca565b6106f0565b610170610259366004611e98565b610783565b6101ad61026c366004611bca565b6108a0565b6101d861027f366004611f81565b610900565b6101de610292366004611fe8565b61095d565b6101d86109e3565b600c5461010090046001600160a01b03166101ad565b600f546101709060ff1681565b61018d6109f7565b6101d86102d8366004612003565b610a06565b6101d86102eb366004612036565b610a15565b61018d6102fe366004611bca565b610a4d565b6101de6103113660046120b1565b610a58565b6101706103243660046120f4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101d8610360366004611fe8565b610a73565b600061037082610ae9565b92915050565b6060600d80546103859061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b19061211e565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b600061041382610b0e565b506000908152600460205260409020546001600160a01b031690565b600061043a826108a0565b9050806001600160a01b0316836001600160a01b0316036104ac5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104c857506104c88133610324565b61053a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104a3565b6105448383610b6d565b505050565b6105533382610bdb565b61056f5760405162461bcd60e51b81526004016104a390612158565b610544838383610c5a565b60006105858361095d565b82106105e75760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104a3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61054483838360405180602001604052806000815250610a15565b600c5461010090046001600160a01b03166001600160a01b0316336001600160a01b0316148061067157506000818152600260205260409020546001600160a01b031633145b6106b15760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b60448201526064016104a3565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a16106ed81610dcb565b50565b60006106fb60085490565b821061075e5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104a3565b60088281548110610771576107716121a5565b90600052602060002001549050919050565b600c5460009060ff16156107cf5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104a3565b600d6107dc888a83612202565b50600e6107ea868883612202565b50600c805460ff196001600160a01b038c166101000281166001600160a81b031990921691909117600117909155600f8054861515921691909117905581518351148015610839575060008251115b156108915760005b835181101561088f5761088684828151811061085f5761085f6121a5565b6020026020010151848381518110610879576108796121a5565b6020026020010151610dd4565b50600101610841565b505b50600198975050505050505050565b6000818152600260205260408120546001600160a01b0316806103705760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b610908610e48565b6000815183511461091857600080fd5b5060005b82518110156105445761095483828151811061093a5761093a6121a5565b6020026020010151838381518110610879576108796121a5565b5060010161091c565b60006001600160a01b0382166109c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016104a3565b506001600160a01b031660009081526003602052604090205490565b6109eb610e48565b6109f56000610ea8565b565b6060600e80546103859061211e565b610a11338383610f02565b5050565b610a1f3383610bdb565b610a3b5760405162461bcd60e51b81526004016104a390612158565b610a4784848484610fd0565b50505050565b606061037082611003565b6000610a62610e48565b610a6c8383610dd4565b9392505050565b610a7b610e48565b6001600160a01b038116610ae05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a3565b6106ed81610ea8565b60006001600160e01b03198216632483248360e11b148061037057506103708261110b565b6000818152600260205260409020546001600160a01b03166106ed5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ba2826108a0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610be7836108a0565b9050806001600160a01b0316846001600160a01b03161480610c2e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610c525750836001600160a01b0316610c4784610408565b6001600160a01b0316145b949350505050565b826001600160a01b0316610c6d826108a0565b6001600160a01b031614610c935760405162461bcd60e51b81526004016104a3906122c1565b6001600160a01b038216610cf55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a3565b610d028383836001611130565b826001600160a01b0316610d15826108a0565b6001600160a01b031614610d3b5760405162461bcd60e51b81526004016104a3906122c1565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6106ed816111ad565b6000610de4600b80546001019055565b6000610def600b5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610e2c91815260200190565b60405180910390a2610e3e84826111ed565b610a6c8184611386565b600c546001600160a01b036101009091041633146109f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a3565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610f635760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104a3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610fdb848484610c5a565b610fe784848484611451565b610a475760405162461bcd60e51b81526004016104a390612306565b606061100e82610b0e565b6000828152600a6020526040812080546110279061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546110539061211e565b80156110a05780601f10611075576101008083540402835291602001916110a0565b820191906000526020600020905b81548152906001019060200180831161108357829003601f168201915b5050505050905060006110be60408051602081019091526000815290565b905080516000036110d0575092915050565b8151156111025780826040516020016110ea929190612358565b60405160208183030381529060405292505050919050565b610c5284611552565b60006001600160e01b0319821663780e9d6360e01b14806103705750610370826115c5565b600f5460ff1615156000036111a1576001600160a01b038416158061115c57506001600160a01b038316155b6111a15760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b60448201526064016104a3565b610a4784848484611615565b6111b681611749565b6000818152600a6020526040902080546111cf9061211e565b1590506106ed576000818152600a602052604081206106ed91611ae6565b6001600160a01b0382166112435760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a3565b6000818152600260205260409020546001600160a01b0316156112a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6112b6600083836001611130565b6000818152600260205260409020546001600160a01b03161561131b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166114015760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016104a3565b6000828152600a602052604090206114198282612387565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b1561154757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611495903390899088908890600401612445565b6020604051808303816000875af19250505080156114d0575060408051601f3d908101601f191682019092526114cd91810190612482565b60015b61152d573d8080156114fe576040519150601f19603f3d011682016040523d82523d6000602084013e611503565b606091505b5080516000036115255760405162461bcd60e51b81526004016104a390612306565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c52565b506001949350505050565b606061155d82610b0e565b600061157460408051602081019091526000815290565b905060008151116115945760405180602001604052806000815250610a6c565b8061159e846117ec565b6040516020016115af929190612358565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b14806115f657506001600160e01b03198216635b5e139f60e01b145b8061037057506301ffc9a760e01b6001600160e01b0319831614610370565b60018111156116845760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016104a3565b816001600160a01b0385166116e0576116db81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611703565b836001600160a01b0316856001600160a01b03161461170357611703858261187e565b6001600160a01b03841661171f5761171a8161191b565b611742565b846001600160a01b0316846001600160a01b0316146117425761174284826119ca565b5050505050565b6000611754826108a0565b9050611764816000846001611130565b61176d826108a0565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006117f983611a0e565b60010190506000816001600160401b0381111561181857611818611cbe565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461184c57509392505050565b6000600161188b8461095d565b611895919061249f565b6000838152600760205260409020549091508082146118e8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061192d9060019061249f565b60008381526009602052604081205460088054939450909284908110611955576119556121a5565b906000526020600020015490508060088381548110611976576119766121a5565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806119ae576119ae6124c0565b6001900381819060005260206000200160009055905550505050565b60006119d58361095d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a4d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a79576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611a9757662386f26fc10000830492506010015b6305f5e1008310611aaf576305f5e100830492506008015b6127108310611ac357612710830492506004015b60648310611ad5576064830492506002015b600a83106103705760010192915050565b508054611af29061211e565b6000825580601f10611b02575050565b601f0160209004906000526020600020908101906106ed91905b80821115611b305760008155600101611b1c565b5090565b6001600160e01b0319811681146106ed57600080fd5b600060208284031215611b5c57600080fd5b8135610a6c81611b34565b60005b83811015611b82578181015183820152602001611b6a565b50506000910152565b60008151808452611ba3816020860160208601611b67565b601f01601f19169290920160200192915050565b602081526000610a6c6020830184611b8b565b600060208284031215611bdc57600080fd5b5035919050565b80356001600160a01b0381168114611bfa57600080fd5b919050565b60008060408385031215611c1257600080fd5b611c1b83611be3565b946020939093013593505050565b600080600060608486031215611c3e57600080fd5b611c4784611be3565b9250611c5560208501611be3565b929592945050506040919091013590565b60008083601f840112611c7857600080fd5b5081356001600160401b03811115611c8f57600080fd5b602083019150836020828501011115611ca757600080fd5b9250929050565b80358015158114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611cfc57611cfc611cbe565b604052919050565b60006001600160401b03821115611d1d57611d1d611cbe565b5060051b60200190565b600082601f830112611d3857600080fd5b8135611d4b611d4682611d04565b611cd4565b8082825260208201915060208360051b860101925085831115611d6d57600080fd5b602085015b83811015611d9157611d8381611be3565b835260209283019201611d72565b5095945050505050565b6000806001600160401b03841115611db557611db5611cbe565b50601f8301601f1916602001611dca81611cd4565b915050828152838383011115611ddf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611e0757600080fd5b610a6c83833560208501611d9b565b600082601f830112611e2757600080fd5b8135611e35611d4682611d04565b8082825260208201915060208360051b860101925085831115611e5757600080fd5b602085015b83811015611d915780356001600160401b03811115611e7a57600080fd5b611e89886020838a0101611df6565b84525060209283019201611e5c565b60008060008060008060008060c0898b031215611eb457600080fd5b611ebd89611be3565b975060208901356001600160401b03811115611ed857600080fd5b611ee48b828c01611c66565b90985096505060408901356001600160401b03811115611f0357600080fd5b611f0f8b828c01611c66565b9096509450611f22905060608a01611cae565b925060808901356001600160401b03811115611f3d57600080fd5b611f498b828c01611d27565b92505060a08901356001600160401b03811115611f6557600080fd5b611f718b828c01611e16565b9150509295985092959890939650565b60008060408385031215611f9457600080fd5b82356001600160401b03811115611faa57600080fd5b611fb685828601611d27565b92505060208301356001600160401b03811115611fd257600080fd5b611fde85828601611e16565b9150509250929050565b600060208284031215611ffa57600080fd5b610a6c82611be3565b6000806040838503121561201657600080fd5b61201f83611be3565b915061202d60208401611cae565b90509250929050565b6000806000806080858703121561204c57600080fd5b61205585611be3565b935061206360208601611be3565b92506040850135915060608501356001600160401b0381111561208557600080fd5b8501601f8101871361209657600080fd5b6120a587823560208401611d9b565b91505092959194509250565b600080604083850312156120c457600080fd5b6120cd83611be3565b915060208301356001600160401b038111156120e857600080fd5b611fde85828601611df6565b6000806040838503121561210757600080fd5b61211083611be3565b915061202d60208401611be3565b600181811c9082168061213257607f821691505b60208210810361215257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f82111561054457806000526020600020601f840160051c810160208510156121e25750805b601f840160051c820191505b8181101561174257600081556001016121ee565b6001600160401b0383111561221957612219611cbe565b61222d83612227835461211e565b836121bb565b6000601f84116001811461226157600085156122495750838201355b600019600387901b1c1916600186901b178355611742565b600083815260209020601f19861690835b828110156122925786850135825560209485019460019092019101612272565b50868210156122af5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161236a818460208801611b67565b83519083019061237e818360208801611b67565b01949350505050565b81516001600160401b038111156123a0576123a0611cbe565b6123b4816123ae845461211e565b846121bb565b6020601f8211600181146123e857600083156123d05750848201515b600019600385901b1c1916600184901b178455611742565b600084815260208120601f198516915b8281101561241857878501518255602094850194600190920191016123f8565b50848210156124365786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061247890830184611b8b565b9695505050505050565b60006020828403121561249457600080fd5b8151610a6c81611b34565b8181038181111561037057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122022f104feca5359a096ed34571368d166e6a14d02d1e1020dda9227bcd177952b64736f6c634300081a0033",
601
628
  "linkReferences": {},
602
629
  "deployedLinkReferences": {}
603
630
  }
@@ -0,0 +1,220 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessListFactory",
4
+ "sourceName": "contracts/accesslists/AccessListFactory.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_template",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "instance",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "InstanceDeployed",
28
+ "type": "event"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": true,
35
+ "internalType": "address",
36
+ "name": "contractAddress",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "owner",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "NewAccessList",
47
+ "type": "event"
48
+ },
49
+ {
50
+ "anonymous": false,
51
+ "inputs": [
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "previousOwner",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": true,
60
+ "internalType": "address",
61
+ "name": "newOwner",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "name": "OwnershipTransferred",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "",
73
+ "type": "address"
74
+ }
75
+ ],
76
+ "name": "accessListDeployedContracts",
77
+ "outputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "",
81
+ "type": "address"
82
+ }
83
+ ],
84
+ "stateMutability": "view",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "internalType": "address",
91
+ "name": "_newTemplateAddress",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "name": "changeTemplateAddress",
96
+ "outputs": [],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "string",
104
+ "name": "name",
105
+ "type": "string"
106
+ },
107
+ {
108
+ "internalType": "string",
109
+ "name": "symbol",
110
+ "type": "string"
111
+ },
112
+ {
113
+ "internalType": "bool",
114
+ "name": "transferable",
115
+ "type": "bool"
116
+ },
117
+ {
118
+ "internalType": "address",
119
+ "name": "owner",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "internalType": "address[]",
124
+ "name": "user",
125
+ "type": "address[]"
126
+ },
127
+ {
128
+ "internalType": "string[]",
129
+ "name": "_tokenURI",
130
+ "type": "string[]"
131
+ }
132
+ ],
133
+ "name": "deployAccessListContract",
134
+ "outputs": [
135
+ {
136
+ "internalType": "address",
137
+ "name": "token",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "stateMutability": "nonpayable",
142
+ "type": "function"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "address",
148
+ "name": "contractAddress",
149
+ "type": "address"
150
+ }
151
+ ],
152
+ "name": "isDeployed",
153
+ "outputs": [
154
+ {
155
+ "internalType": "bool",
156
+ "name": "",
157
+ "type": "bool"
158
+ }
159
+ ],
160
+ "stateMutability": "view",
161
+ "type": "function"
162
+ },
163
+ {
164
+ "inputs": [
165
+ {
166
+ "internalType": "address",
167
+ "name": "contractAddress",
168
+ "type": "address"
169
+ }
170
+ ],
171
+ "name": "isSoulBound",
172
+ "outputs": [
173
+ {
174
+ "internalType": "bool",
175
+ "name": "",
176
+ "type": "bool"
177
+ }
178
+ ],
179
+ "stateMutability": "view",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "owner",
185
+ "outputs": [
186
+ {
187
+ "internalType": "address",
188
+ "name": "",
189
+ "type": "address"
190
+ }
191
+ ],
192
+ "stateMutability": "view",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "inputs": [],
197
+ "name": "renounceOwnership",
198
+ "outputs": [],
199
+ "stateMutability": "nonpayable",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [
204
+ {
205
+ "internalType": "address",
206
+ "name": "newOwner",
207
+ "type": "address"
208
+ }
209
+ ],
210
+ "name": "transferOwnership",
211
+ "outputs": [],
212
+ "stateMutability": "nonpayable",
213
+ "type": "function"
214
+ }
215
+ ],
216
+ "bytecode": "0x608060405234801561001057600080fd5b50604051610c6b380380610c6b83398101604081905261002f9161010c565b610038336100bc565b600180556001600160a01b038116158015906100545750803b15155b6100975760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642074656d706c61746560801b604482015260640160405180910390fd5b600280546001600160a01b0319166001600160a01b039290921691909117905561013c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561011e57600080fd5b81516001600160a01b038116811461013557600080fd5b9392505050565b610b208061014b6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806390184b021161005b57806390184b02146100fb5780639b0712f21461010e578063d91cb12214610137578063f2fde38b1461014a57600080fd5b80634a1fd0d01461008d578063715018a6146100b557806373282534146100bf5780638da5cb5b146100ea575b600080fd5b6100a061009b366004610659565b61015d565b60405190151581526020015b60405180910390f35b6100bd610227565b005b6100d26100cd36600461089e565b61023b565b6040516001600160a01b0390911681526020016100ac565b6000546001600160a01b03166100d2565b6100a0610109366004610659565b6103d6565b6100d261011c366004610659565b6003602052600090815260409020546001600160a01b031681565b6100bd610145366004610659565b610409565b6100bd610158366004610659565b61048a565b6000610168826103d6565b15156001146101be5760405162461bcd60e51b815260206004820152601760248201527f4e6f74206465706c6f79656420627920666163746f727900000000000000000060448201526064015b60405180910390fd5b816001600160a01b03166392ff0d316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610220919061097a565b1592915050565b61022f610503565b610239600061055d565b565b600254600090610253906001600160a01b03166105ad565b90506001600160a01b0381166102ab5760405162461bcd60e51b815260206004820181905260248201527f4661696c656420746f206465706c6f79206e657720616363657373206c69737460448201526064016101b5565b6001600160a01b0380821660008181526003602052604080822080546001600160a01b0319168417905551928716927fd65bc8e3024bbad886df74eea79b6e118b7fbcffe1f3f98054e5a6b98dc838919190a36040516314399fef60e21b815281906001600160a01b038216906350e67fbc9061033a9088908e908e908e908e908e908d908d90600401610a4e565b6020604051808303816000875af1158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d919061097a565b6103c95760405162461bcd60e51b815260206004820181905260248201527f556e61626c6520746f20696e697469616c697a6520616363657373206c69737460448201526064016101b5565b5098975050505050505050565b6001600160a01b03808216600081815260036020526040812054909216141561040157506001919050565b506000919050565b610411610503565b6001600160a01b038116158015906104295750803b15155b6104685760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642074656d706c61746560801b60448201526064016101b5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610492610503565b6001600160a01b0381166104f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101b5565b6105008161055d565b50565b6000546001600160a01b031633146102395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f06040516001600160a01b03821681529093507f117c72e6c25f0a072e36e148df71468ce2f3dbe7defec5b2c257a6e3eb65278c915060200160405180910390a150919050565b80356001600160a01b038116811461065457600080fd5b919050565b60006020828403121561066b57600080fd5b6106748261063d565b9392505050565b60008083601f84011261068d57600080fd5b50813567ffffffffffffffff8111156106a557600080fd5b6020830191508360208285010111156106bd57600080fd5b9250929050565b801515811461050057600080fd5b8035610654816106c4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561071c5761071c6106dd565b604052919050565b600067ffffffffffffffff82111561073e5761073e6106dd565b5060051b60200190565b600082601f83011261075957600080fd5b8135602061076e61076983610724565b6106f3565b82815260059290921b8401810191818101908684111561078d57600080fd5b8286015b848110156107af576107a28161063d565b8352918301918301610791565b509695505050505050565b6000601f83818401126107cc57600080fd5b823560206107dc61076983610724565b82815260059290921b850181019181810190878411156107fb57600080fd5b8287015b8481101561089257803567ffffffffffffffff808211156108205760008081fd5b818a0191508a603f8301126108355760008081fd5b8582013560408282111561084b5761084b6106dd565b61085c828b01601f191689016106f3565b92508183528c818386010111156108735760008081fd5b81818501898501375060009082018701528452509183019183016107ff565b50979650505050505050565b60008060008060008060008060c0898b0312156108ba57600080fd5b883567ffffffffffffffff808211156108d257600080fd5b6108de8c838d0161067b565b909a50985060208b01359150808211156108f757600080fd5b6109038c838d0161067b565b909850965086915061091760408c016106d2565b955061092560608c0161063d565b945060808b013591508082111561093b57600080fd5b6109478c838d01610748565b935060a08b013591508082111561095d57600080fd5b5061096a8b828c016107ba565b9150509295985092959890939650565b60006020828403121561098c57600080fd5b8151610674816106c4565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526020808501808196508360051b810191508286016000805b86811015610a40578385038a5282518051808752835b81811015610a10578281018901518882018a015288016109f5565b81811115610a20578489838a0101525b509a87019a601f01601f19169590950186019450918501916001016109df565b509298975050505050505050565b600060018060a01b03808b168352602060c081850152610a7260c085018b8d610997565b8481036040860152610a85818a8c610997565b88151560608701528581036080870152875180825283890192509083019060005b81811015610ac4578351861683529284019291840191600101610aa6565b505085810360a0870152610ad881886109c0565b9e9d505050505050505050505050505056fea2646970667358221220742b6e9c4b6bcf4bf7bf976a1fa0216f075abc51adf2cd9eafa6cc6076b5d4bf64736f6c634300080c0033",
217
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806390184b021161005b57806390184b02146100fb5780639b0712f21461010e578063d91cb12214610137578063f2fde38b1461014a57600080fd5b80634a1fd0d01461008d578063715018a6146100b557806373282534146100bf5780638da5cb5b146100ea575b600080fd5b6100a061009b366004610659565b61015d565b60405190151581526020015b60405180910390f35b6100bd610227565b005b6100d26100cd36600461089e565b61023b565b6040516001600160a01b0390911681526020016100ac565b6000546001600160a01b03166100d2565b6100a0610109366004610659565b6103d6565b6100d261011c366004610659565b6003602052600090815260409020546001600160a01b031681565b6100bd610145366004610659565b610409565b6100bd610158366004610659565b61048a565b6000610168826103d6565b15156001146101be5760405162461bcd60e51b815260206004820152601760248201527f4e6f74206465706c6f79656420627920666163746f727900000000000000000060448201526064015b60405180910390fd5b816001600160a01b03166392ff0d316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610220919061097a565b1592915050565b61022f610503565b610239600061055d565b565b600254600090610253906001600160a01b03166105ad565b90506001600160a01b0381166102ab5760405162461bcd60e51b815260206004820181905260248201527f4661696c656420746f206465706c6f79206e657720616363657373206c69737460448201526064016101b5565b6001600160a01b0380821660008181526003602052604080822080546001600160a01b0319168417905551928716927fd65bc8e3024bbad886df74eea79b6e118b7fbcffe1f3f98054e5a6b98dc838919190a36040516314399fef60e21b815281906001600160a01b038216906350e67fbc9061033a9088908e908e908e908e908e908d908d90600401610a4e565b6020604051808303816000875af1158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d919061097a565b6103c95760405162461bcd60e51b815260206004820181905260248201527f556e61626c6520746f20696e697469616c697a6520616363657373206c69737460448201526064016101b5565b5098975050505050505050565b6001600160a01b03808216600081815260036020526040812054909216141561040157506001919050565b506000919050565b610411610503565b6001600160a01b038116158015906104295750803b15155b6104685760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642074656d706c61746560801b60448201526064016101b5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610492610503565b6001600160a01b0381166104f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101b5565b6105008161055d565b50565b6000546001600160a01b031633146102395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f06040516001600160a01b03821681529093507f117c72e6c25f0a072e36e148df71468ce2f3dbe7defec5b2c257a6e3eb65278c915060200160405180910390a150919050565b80356001600160a01b038116811461065457600080fd5b919050565b60006020828403121561066b57600080fd5b6106748261063d565b9392505050565b60008083601f84011261068d57600080fd5b50813567ffffffffffffffff8111156106a557600080fd5b6020830191508360208285010111156106bd57600080fd5b9250929050565b801515811461050057600080fd5b8035610654816106c4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561071c5761071c6106dd565b604052919050565b600067ffffffffffffffff82111561073e5761073e6106dd565b5060051b60200190565b600082601f83011261075957600080fd5b8135602061076e61076983610724565b6106f3565b82815260059290921b8401810191818101908684111561078d57600080fd5b8286015b848110156107af576107a28161063d565b8352918301918301610791565b509695505050505050565b6000601f83818401126107cc57600080fd5b823560206107dc61076983610724565b82815260059290921b850181019181810190878411156107fb57600080fd5b8287015b8481101561089257803567ffffffffffffffff808211156108205760008081fd5b818a0191508a603f8301126108355760008081fd5b8582013560408282111561084b5761084b6106dd565b61085c828b01601f191689016106f3565b92508183528c818386010111156108735760008081fd5b81818501898501375060009082018701528452509183019183016107ff565b50979650505050505050565b60008060008060008060008060c0898b0312156108ba57600080fd5b883567ffffffffffffffff808211156108d257600080fd5b6108de8c838d0161067b565b909a50985060208b01359150808211156108f757600080fd5b6109038c838d0161067b565b909850965086915061091760408c016106d2565b955061092560608c0161063d565b945060808b013591508082111561093b57600080fd5b6109478c838d01610748565b935060a08b013591508082111561095d57600080fd5b5061096a8b828c016107ba565b9150509295985092959890939650565b60006020828403121561098c57600080fd5b8151610674816106c4565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526020808501808196508360051b810191508286016000805b86811015610a40578385038a5282518051808752835b81811015610a10578281018901518882018a015288016109f5565b81811115610a20578489838a0101525b509a87019a601f01601f19169590950186019450918501916001016109df565b509298975050505050505050565b600060018060a01b03808b168352602060c081850152610a7260c085018b8d610997565b8481036040860152610a85818a8c610997565b88151560608701528581036080870152875180825283890192509083019060005b81811015610ac4578351861683529284019291840191600101610aa6565b505085810360a0870152610ad881886109c0565b9e9d505050505050505050505050505056fea2646970667358221220742b6e9c4b6bcf4bf7bf976a1fa0216f075abc51adf2cd9eafa6cc6076b5d4bf64736f6c634300080c0033",
218
+ "linkReferences": {},
219
+ "deployedLinkReferences": {}
220
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BatchPayments",
4
+ "sourceName": "contracts/rewards/BatchPayments.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address[]",
10
+ "name": "list",
11
+ "type": "address[]"
12
+ },
13
+ {
14
+ "internalType": "uint256[]",
15
+ "name": "amounts",
16
+ "type": "uint256[]"
17
+ }
18
+ ],
19
+ "name": "sendEther",
20
+ "outputs": [],
21
+ "stateMutability": "payable",
22
+ "type": "function"
23
+ },
24
+ {
25
+ "inputs": [
26
+ {
27
+ "internalType": "contract IERC20",
28
+ "name": "token",
29
+ "type": "address"
30
+ },
31
+ {
32
+ "internalType": "address[]",
33
+ "name": "list",
34
+ "type": "address[]"
35
+ },
36
+ {
37
+ "internalType": "uint256[]",
38
+ "name": "amounts",
39
+ "type": "uint256[]"
40
+ }
41
+ ],
42
+ "name": "sendToken",
43
+ "outputs": [],
44
+ "stateMutability": "nonpayable",
45
+ "type": "function"
46
+ }
47
+ ],
48
+ "bytecode": "0x608060405234801561001057600080fd5b50610684806100206000396000f3fe6080604052600436106100295760003560e01c80630a333a0f1461002e578063bcc91d6114610050575b600080fd5b34801561003a57600080fd5b5061004e6100493660046104ec565b610063565b005b61004e61005e366004610562565b610265565b80518251146100b95760405162461bcd60e51b815260206004820152601c60248201527f417272617973206d75737420686176652073616d65206c656e6774680000000060448201526064015b60405180910390fd5b6000805b83518110156100ff578281815181106100d8576100d86105c6565b6020026020010151826100eb91906105f2565b9150806100f78161060a565b9150506100bd565b6040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b038616906323b872dd906064016020604051808303816000875af1158015610152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101769190610625565b61017f57600080fd5b5060005b835181101561025e57846001600160a01b031663a9059cbb8583815181106101ad576101ad6105c6565b60200260200101518584815181106101c7576101c76105c6565b60200260200101516040518363ffffffff1660e01b81526004016102009291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561021f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102439190610625565b61024c57600080fd5b806102568161060a565b915050610183565b5050505050565b80518251146102b65760405162461bcd60e51b815260206004820152601c60248201527f417272617973206d75737420686176652073616d65206c656e6774680000000060448201526064016100b0565b60005b8251811015610340578281815181106102d4576102d46105c6565b60200260200101516001600160a01b03166108fc8383815181106102fa576102fa6105c6565b60200260200101519081150290604051600060405180830381858888f1935050505015801561032d573d6000803e3d6000fd5b50806103388161060a565b9150506102b9565b50476159d88111156103955760405133908290600081818185875af1925050503d806000811461038c576040519150601f19603f3d011682016040523d82523d6000602084013e610391565b606091505b5050505b505050565b6001600160a01b03811681146103af57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103f1576103f16103b2565b604052919050565b600067ffffffffffffffff821115610413576104136103b2565b5060051b60200190565b600082601f83011261042e57600080fd5b8135602061044361043e836103f9565b6103c8565b82815260059290921b8401810191818101908684111561046257600080fd5b8286015b848110156104865780356104798161039a565b8352918301918301610466565b509695505050505050565b600082601f8301126104a257600080fd5b813560206104b261043e836103f9565b82815260059290921b840181019181810190868411156104d157600080fd5b8286015b8481101561048657803583529183019183016104d5565b60008060006060848603121561050157600080fd5b833561050c8161039a565b9250602084013567ffffffffffffffff8082111561052957600080fd5b6105358783880161041d565b9350604086013591508082111561054b57600080fd5b5061055886828701610491565b9150509250925092565b6000806040838503121561057557600080fd5b823567ffffffffffffffff8082111561058d57600080fd5b6105998683870161041d565b935060208501359150808211156105af57600080fd5b506105bc85828601610491565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115610605576106056105dc565b500190565b600060001982141561061e5761061e6105dc565b5060010190565b60006020828403121561063757600080fd5b8151801515811461064757600080fd5b939250505056fea2646970667358221220c3f936347fc88b506032682782c0819bbb7ce0a61b7eb11ae872964c34bbbbea64736f6c634300080c0033",
49
+ "deployedBytecode": "0x6080604052600436106100295760003560e01c80630a333a0f1461002e578063bcc91d6114610050575b600080fd5b34801561003a57600080fd5b5061004e6100493660046104ec565b610063565b005b61004e61005e366004610562565b610265565b80518251146100b95760405162461bcd60e51b815260206004820152601c60248201527f417272617973206d75737420686176652073616d65206c656e6774680000000060448201526064015b60405180910390fd5b6000805b83518110156100ff578281815181106100d8576100d86105c6565b6020026020010151826100eb91906105f2565b9150806100f78161060a565b9150506100bd565b6040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b038616906323b872dd906064016020604051808303816000875af1158015610152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101769190610625565b61017f57600080fd5b5060005b835181101561025e57846001600160a01b031663a9059cbb8583815181106101ad576101ad6105c6565b60200260200101518584815181106101c7576101c76105c6565b60200260200101516040518363ffffffff1660e01b81526004016102009291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561021f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102439190610625565b61024c57600080fd5b806102568161060a565b915050610183565b5050505050565b80518251146102b65760405162461bcd60e51b815260206004820152601c60248201527f417272617973206d75737420686176652073616d65206c656e6774680000000060448201526064016100b0565b60005b8251811015610340578281815181106102d4576102d46105c6565b60200260200101516001600160a01b03166108fc8383815181106102fa576102fa6105c6565b60200260200101519081150290604051600060405180830381858888f1935050505015801561032d573d6000803e3d6000fd5b50806103388161060a565b9150506102b9565b50476159d88111156103955760405133908290600081818185875af1925050503d806000811461038c576040519150601f19603f3d011682016040523d82523d6000602084013e610391565b606091505b5050505b505050565b6001600160a01b03811681146103af57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103f1576103f16103b2565b604052919050565b600067ffffffffffffffff821115610413576104136103b2565b5060051b60200190565b600082601f83011261042e57600080fd5b8135602061044361043e836103f9565b6103c8565b82815260059290921b8401810191818101908684111561046257600080fd5b8286015b848110156104865780356104798161039a565b8352918301918301610466565b509695505050505050565b600082601f8301126104a257600080fd5b813560206104b261043e836103f9565b82815260059290921b840181019181810190868411156104d157600080fd5b8286015b8481101561048657803583529183019183016104d5565b60008060006060848603121561050157600080fd5b833561050c8161039a565b9250602084013567ffffffffffffffff8082111561052957600080fd5b6105358783880161041d565b9350604086013591508082111561054b57600080fd5b5061055886828701610491565b9150509250925092565b6000806040838503121561057557600080fd5b823567ffffffffffffffff8082111561058d57600080fd5b6105998683870161041d565b935060208501359150808211156105af57600080fd5b506105bc85828601610491565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115610605576106056105dc565b500190565b600060001982141561061e5761061e6105dc565b5060010190565b60006020828403121561063757600080fd5b8151801515811461064757600080fd5b939250505056fea2646970667358221220c3f936347fc88b506032682782c0819bbb7ce0a61b7eb11ae872964c34bbbbea64736f6c634300080c0033",
50
+ "linkReferences": {},
51
+ "deployedLinkReferences": {}
52
+ }