ocean-contracts 1.1.14__tar.gz → 2.0.0__tar.gz

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.
Files changed (87) hide show
  1. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/PKG-INFO +2 -3
  2. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/README.md +1 -2
  3. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/addresses/address.json +80 -5
  4. ocean-contracts-2.0.0/artifacts/Distribute.json +57 -0
  5. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC20Template.json +2 -2
  6. ocean-contracts-2.0.0/artifacts/ERC20Template3.json +2113 -0
  7. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC20TemplateEnterprise.json +2 -2
  8. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/FactoryRouter.json +2 -2
  9. ocean-contracts-2.0.0/artifacts/FixedRateExchange.json +1155 -0
  10. ocean-contracts-2.0.0/artifacts/IERC20Template3.json +971 -0
  11. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IFixedRateExchange.json +13 -0
  12. ocean-contracts-2.0.0/artifacts/ISplitter.json +24 -0
  13. ocean-contracts-2.0.0/artifacts/IVestingContract.json +24 -0
  14. ocean-contracts-2.0.0/artifacts/IveFeeDistributor.json +85 -0
  15. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/MockERC20.json +2 -2
  16. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/MockERC20Decimals.json +2 -2
  17. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/MockOcean.json +2 -2
  18. ocean-contracts-2.0.0/artifacts/OPFCommunityFeeCollector.json +120 -0
  19. ocean-contracts-2.0.0/artifacts/PredictoorHelper.json +191 -0
  20. ocean-contracts-2.0.0/artifacts/Splitter.json +340 -0
  21. ocean-contracts-2.0.0/artifacts/VestingWalletHalving.json +435 -0
  22. ocean-contracts-2.0.0/artifacts/VestingWalletLinear.json +362 -0
  23. ocean-contracts-2.0.0/artifacts/veFeeDistributorOwner.json +226 -0
  24. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/ocean_contracts.egg-info/PKG-INFO +2 -3
  25. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/ocean_contracts.egg-info/SOURCES.txt +11 -2
  26. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/setup.cfg +1 -1
  27. ocean-contracts-1.1.14/artifacts/FixedRateExchange.json +0 -1110
  28. ocean-contracts-1.1.14/artifacts/OPFCommunityFeeCollector.json +0 -120
  29. ocean-contracts-1.1.14/artifacts/SideStaking.json +0 -502
  30. ocean-contracts-1.1.14/artifacts/veDelegationProxy.json +0 -195
  31. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/addresses/__init__.py +0 -0
  32. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Address.json +0 -0
  33. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BConst.json +0 -0
  34. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BFactory.json +0 -0
  35. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BMath.json +0 -0
  36. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BNum.json +0 -0
  37. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BPool.json +0 -0
  38. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BToken.json +0 -0
  39. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/BTokenBase.json +0 -0
  40. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Context.json +0 -0
  41. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/DFRewards.json +0 -0
  42. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/DFStrategyV1.json +0 -0
  43. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Deployer.json +0 -0
  44. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Dispenser.json +0 -0
  45. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC165.json +0 -0
  46. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC20Roles.json +0 -0
  47. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC721.json +0 -0
  48. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC721Factory.json +0 -0
  49. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC721RolesAddress.json +0 -0
  50. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC721Template.json +0 -0
  51. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ERC725Ocean.json +0 -0
  52. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/EnumerableMap.json +0 -0
  53. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/EnumerableSet.json +0 -0
  54. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IDFRewards.json +0 -0
  55. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IDispenser.json +0 -0
  56. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC165.json +0 -0
  57. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC20.json +0 -0
  58. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC20Template.json +0 -0
  59. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC721.json +0 -0
  60. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC721Enumerable.json +0 -0
  61. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC721Metadata.json +0 -0
  62. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC721Receiver.json +0 -0
  63. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC721Template.json +0 -0
  64. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC725X.json +0 -0
  65. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IERC725Y.json +0 -0
  66. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IFactory.json +0 -0
  67. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IFactoryRouter.json +0 -0
  68. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IPool.json +0 -0
  69. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/ISideStaking.json +0 -0
  70. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/IveOCEAN.json +0 -0
  71. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/MockExchange.json +0 -0
  72. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/MockOldDT.json +0 -0
  73. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/OceanToken.json +0 -0
  74. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Ownable.json +0 -0
  75. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/SafeERC20.json +0 -0
  76. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/SmartWalletChecker.json +0 -0
  77. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/Strings.json +0 -0
  78. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/UtilsLib.json +0 -0
  79. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/__init__.py +0 -0
  80. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/veAllocate.json +0 -0
  81. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/veDelegation.json +0 -0
  82. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/veFeeDistributor.json +0 -0
  83. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/veFeeEstimate.json +0 -0
  84. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/artifacts/veOCEAN.json +0 -0
  85. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/ocean_contracts.egg-info/dependency_links.txt +0 -0
  86. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/ocean_contracts.egg-info/top_level.txt +0 -0
  87. {ocean-contracts-1.1.14 → ocean-contracts-2.0.0}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ocean-contracts
3
- Version: 1.1.14
3
+ Version: 2.0.0
4
4
  Summary: 🐳 Ocean Protocol L1 - v4
5
5
  Home-page: https://github.com/oceanprotocol/contracts
6
6
  Author: leucothia
@@ -74,12 +74,11 @@ from artifacts import address
74
74
 
75
75
  - Base IP is now represented by an [NFT](https://blog.oceanprotocol.com/what-is-a-data-nft-5804a2d88671), from which a datapublisher can create multiple ERC20s representing different type of access for the same dataset.
76
76
 
77
- - An automated Datatoken [Staking](https://blog.oceanprotocol.com/ocean-v4-one-sided-staking-93988f65e378) helps with the initial DTs distribution and price stability. Goodbye rug pulls!
78
-
79
77
  - Help [Ocean Community Monetize](https://blog.oceanprotocol.com/how-to-make-money-from-ocean-v4-477b3decad51): there's a swap fee for the Ocean Community, if Ocean or allied tokens are the basetoken in a pool, Ocean Community will receive 0.1% swap fee, otherwhise it will be 0.2%.
80
78
 
81
79
  #### Flexibility
82
80
 
81
+ - Based on ERC721 and ERC20 [templates](contracts/templates/README.md) to provide different features
83
82
  - Introduce an advanced [Fee Structure](https://docs.oceanprotocol.com/core-concepts/fees) both for Market and Provider runners.
84
83
 
85
84
  - Roles Administration: there are now multiple roles for a more flexible administation both at NFT and ERC20 levels
@@ -57,12 +57,11 @@ from artifacts import address
57
57
 
58
58
  - Base IP is now represented by an [NFT](https://blog.oceanprotocol.com/what-is-a-data-nft-5804a2d88671), from which a datapublisher can create multiple ERC20s representing different type of access for the same dataset.
59
59
 
60
- - An automated Datatoken [Staking](https://blog.oceanprotocol.com/ocean-v4-one-sided-staking-93988f65e378) helps with the initial DTs distribution and price stability. Goodbye rug pulls!
61
-
62
60
  - Help [Ocean Community Monetize](https://blog.oceanprotocol.com/how-to-make-money-from-ocean-v4-477b3decad51): there's a swap fee for the Ocean Community, if Ocean or allied tokens are the basetoken in a pool, Ocean Community will receive 0.1% swap fee, otherwhise it will be 0.2%.
63
61
 
64
62
  #### Flexibility
65
63
 
64
+ - Based on ERC721 and ERC20 [templates](contracts/templates/README.md) to provide different features
66
65
  - Introduce an advanced [Fee Structure](https://docs.oceanprotocol.com/core-concepts/fees) both for Market and Provider runners.
67
66
 
68
67
  - Roles Administration: there are now multiple roles for a more flexible administation both at NFT and ERC20 levels
@@ -21,10 +21,11 @@
21
21
  "veOCEAN": "0x061955B6980A34fce74b235f90DBe20d76f087b1",
22
22
  "veDelegation": "0x96E3aE4247a01C3d40a261df1F8ead70E32E7C0c",
23
23
  "veFeeDistributor": "0x35F1e6765750E874EB9d0675393A1A394A4749b4",
24
- "veDelegationProxy": "0x51B1b14b8bfb43a2fB0b49843787Ca440200F6b7",
25
24
  "DFRewards": "0x4259c164eedA7483dda2b4b622D761A88674D31f",
26
25
  "DFStrategyV1": "0x1be9C72500B41c286C797D4FE727747Ae9C4E195",
27
- "veFeeEstimate": "0xCFeF55c6ae4d250586e293f29832967a04A9087d"
26
+ "veFeeEstimate": "0xCFeF55c6ae4d250586e293f29832967a04A9087d",
27
+ "Splitter": "0x648306FF10673e4eAad6F69473e49C973f9F5872",
28
+ "VestingWallet0": "0x4699B0f191C68975e89E70c5704537f7ad033f62"
28
29
  },
29
30
  "polygon": {
30
31
  "chainId": 137,
@@ -134,9 +135,10 @@
134
135
  "veAllocate": "0x55567E038b0a50283084ae773FA433a5029822d3",
135
136
  "veDelegation": "0xc768eDF2d21fe00ef5804A7Caa775E877e65A70E",
136
137
  "veFeeDistributor": "0x256c54219816603BB8327F9019533B020a76e936",
137
- "veDelegationProxy": "0x45E3BEc7D139Cd8Ed7FeB161F3B094688ddB0c20",
138
138
  "veFeeEstimate": "0x4aA261bC595abC6fDEf0255C83e2a9305261753f",
139
- "SmartWalletChecker": "0xd7ddf62257A41cc6cdAd7A3d36e4f1d925fD142a"
139
+ "SmartWalletChecker": "0xd7ddf62257A41cc6cdAd7A3d36e4f1d925fD142a",
140
+ "Splitter": "0xadF0D06e58E618de36Af0F1b52891b14FAA61187",
141
+ "VestingWallet0": "0x8D011915C437AD5f5e3B0E4c6dd6380c92599f99"
140
142
  },
141
143
  "goerli": {
142
144
  "chainId": 5,
@@ -159,7 +161,6 @@
159
161
  "veOCEAN": "0x8B8E187CF9c551e63f54AA04E21F48CDAF2296aE",
160
162
  "veDelegation": "0xE282492d50879b911844fA6dD87aAD6169963fC6",
161
163
  "veFeeDistributor": "0xd09789Ce05aa0f6feFc18315de4964Db07Cc0618",
162
- "veDelegationProxy": "0x257fe2e49530A4B7FC3Ed597465e2931db3f20b7",
163
164
  "DFRewards": "0x6fd867E5AEE6D62a24f97939db90C4e67A73A651",
164
165
  "DFStrategyV1": "0x1Af3CC30fD18af837f7630Aff12aE2b826bD3c5D",
165
166
  "veFeeEstimate": "0xB3AB945aa7553EbC8Ce234a53b03a1bbA23E8fAB"
@@ -254,6 +255,25 @@
254
255
  "Dispenser": "0xDEfD0018969cd2d4E648209F876ADe184815f038",
255
256
  "ERC721Factory": "0x9C9eE07b8Ce907D2f9244F8317C1Ed29A3193bAe"
256
257
  },
258
+ "oasis_saphire_testnet": {
259
+ "chainId": 23295,
260
+ "Ocean": "0x973e69303259B0c2543a38665122b773D28405fB",
261
+ "OPFCommunityFeeCollector": "0xe8c6Dc39602031A152440311e364818ba25C2Bc1",
262
+ "startBlock": 2565487,
263
+ "Router": "0x5FBC2A29f7C8e4533dECD14Dc1c561A8eF0d4e31",
264
+ "FixedPrice": "0x0846aec7aADD547131484Bf7fE548589b7F057fe",
265
+ "ERC20Template": {
266
+ "1": "0x519d462294958A935D34351b3ad9F98cCAB0b7f8",
267
+ "2": "0x2bCa501a6f9FB8a96f1b7B09D4f74A32ACAa7584",
268
+ "3": "0xf00c16665b79F23c04e5c8652Fe9853046b987c8"
269
+ },
270
+ "ERC721Template": {
271
+ "1": "0x9Ab15cc945b2B58A51384539211dE8a88a1355E8"
272
+ },
273
+ "Dispenser": "0xbde8224d15885c2E46Be665b9392E619cD142de8",
274
+ "ERC721Factory": "0x315ef329D214cde5cE7C206104aC35B1fe66bb8c",
275
+ "PredictoorHelper": "0x2e4cb19faD077768fDcB04Bc0549AB76BE8eA63F"
276
+ },
257
277
  "sepolia": {
258
278
  "chainId": 11155111,
259
279
  "Ocean": "0x1B083D8584dd3e6Ff37d04a6e7e82b5F622f3985",
@@ -271,5 +291,60 @@
271
291
  },
272
292
  "Dispenser": "0x2720d405ef7cDC8a2E2e5AeBC8883C99611d893C",
273
293
  "ERC721Factory": "0xEF62FB495266C72a5212A11Dce8baa79Ec0ABeB1"
294
+ },
295
+ "oasis_saphire": {
296
+ "chainId": 23294,
297
+ "Ocean": "0x39d22B78A7651A76Ffbde2aaAB5FD92666Aca520",
298
+ "OPFCommunityFeeCollector": "0x06100AB868206861a4D7936166A91668c2Ce1312",
299
+ "startBlock": 905232,
300
+ "Router": "0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8",
301
+ "FixedPrice": "0xf26c6C93f9f1d725e149d95f8E7B2334a406aD10",
302
+ "ERC20Template": {
303
+ "1": "0xDBDa486d8fE29F75e9Ca858F438b380Fc14b1232",
304
+ "2": "0xF6410bf5d773C7a41ebFf972f38e7463FA242477",
305
+ "3": "0x1B083D8584dd3e6Ff37d04a6e7e82b5F622f3985"
306
+ },
307
+ "ERC721Template": {
308
+ "1": "0x69B6E54Ad2b3c2801d11d8Ad56ea1d892555b776"
309
+ },
310
+ "Dispenser": "0x2112Eb973af1DBf83a4f11eda82f7a7527D7Fde5",
311
+ "ERC721Factory": "0x80E63f73cAc60c1662f27D2DFd2EA834acddBaa8",
312
+ "DFRewards": "0xc37F8341Ac6e4a94538302bCd4d49Cf0852D30C0",
313
+ "DFStrategyV1": "0x3c21a90599b5B7f37014cA5Bf30d3f1b73d7e391",
314
+ "PredictoorHelper": "0xE9397625Df9B63f0C152f975234b7988b54710B8"
315
+ },
316
+ "optimism_sepolia": {
317
+ "chainId": 11155420,
318
+ "Ocean": "0xf26c6C93f9f1d725e149d95f8E7B2334a406aD10",
319
+ "OPFCommunityFeeCollector": "0xF6410bf5d773C7a41ebFf972f38e7463FA242477",
320
+ "startBlock": 3867703,
321
+ "Router": "0x1B083D8584dd3e6Ff37d04a6e7e82b5F622f3985",
322
+ "FixedPrice": "0x69B6E54Ad2b3c2801d11d8Ad56ea1d892555b776",
323
+ "ERC20Template": {
324
+ "1": "0x2112Eb973af1DBf83a4f11eda82f7a7527D7Fde5",
325
+ "2": "0x80E63f73cAc60c1662f27D2DFd2EA834acddBaa8"
326
+ },
327
+ "ERC721Template": {
328
+ "1": "0x3C5605202eD47C162450AE975415473e73F93072"
329
+ },
330
+ "Dispenser": "0x30E4CC2C7A9c6aA2b2Ce93586E3Df24a3A00bcDD",
331
+ "ERC721Factory": "0xDEfD0018969cd2d4E648209F876ADe184815f038"
332
+ },
333
+ "optimism": {
334
+ "chainId": 10,
335
+ "Ocean": "0x2561aa2bB1d2Eb6629EDd7b0938d7679B8b49f9E",
336
+ "OPFCommunityFeeCollector": "0xd8992Ed72C445c35Cb4A2be468568Ed1079357c8",
337
+ "startBlock": 112181681,
338
+ "Router": "0xf26c6C93f9f1d725e149d95f8E7B2334a406aD10",
339
+ "FixedPrice": "0xDBDa486d8fE29F75e9Ca858F438b380Fc14b1232",
340
+ "ERC20Template": {
341
+ "1": "0xF6410bf5d773C7a41ebFf972f38e7463FA242477",
342
+ "2": "0x1B083D8584dd3e6Ff37d04a6e7e82b5F622f3985"
343
+ },
344
+ "ERC721Template": {
345
+ "1": "0x69B6E54Ad2b3c2801d11d8Ad56ea1d892555b776"
346
+ },
347
+ "Dispenser": "0x2112Eb973af1DBf83a4f11eda82f7a7527D7Fde5",
348
+ "ERC721Factory": "0x80E63f73cAc60c1662f27D2DFd2EA834acddBaa8"
274
349
  }
275
350
  }
@@ -0,0 +1,57 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Distribute",
4
+ "sourceName": "contracts/df/Distribute.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "token",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "vestingContract",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "splitterContract",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "name": "distribute",
25
+ "outputs": [],
26
+ "stateMutability": "nonpayable",
27
+ "type": "function"
28
+ },
29
+ {
30
+ "inputs": [
31
+ {
32
+ "internalType": "address",
33
+ "name": "token",
34
+ "type": "address"
35
+ },
36
+ {
37
+ "internalType": "address[]",
38
+ "name": "vestingContract",
39
+ "type": "address[]"
40
+ },
41
+ {
42
+ "internalType": "address",
43
+ "name": "splitterContract",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "distributeMultiple",
48
+ "outputs": [],
49
+ "stateMutability": "nonpayable",
50
+ "type": "function"
51
+ }
52
+ ],
53
+ "bytecode": "0x608060405234801561001057600080fd5b506103af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ed7f8b1461003b5780633c49798914610050575b600080fd5b61004e610049366004610202565b610063565b005b61004e61005e36600461025b565b61011f565b604051631916558760e01b81526001600160a01b038481166004830152831690631916558790602401600060405180830381600087803b1580156100a657600080fd5b505af11580156100ba573d6000803e3d6000fd5b5050604051631916558760e01b81526001600160a01b03868116600483015284169250631916558791506024015b600060405180830381600087803b15801561010257600080fd5b505af1158015610116573d6000803e3d6000fd5b50505050505050565b60005b82518110156101b75782818151811061013d5761013d61033a565b6020908102919091010151604051631916558760e01b81526001600160a01b03868116600483015290911690631916558790602401600060405180830381600087803b15801561018c57600080fd5b505af11580156101a0573d6000803e3d6000fd5b5050505080806101af90610350565b915050610122565b50604051631916558760e01b81526001600160a01b0384811660048301528216906319165587906024016100e8565b80356001600160a01b03811681146101fd57600080fd5b919050565b60008060006060848603121561021757600080fd5b610220846101e6565b925061022e602085016101e6565b915061023c604085016101e6565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027057600080fd5b610279846101e6565b925060208085013567ffffffffffffffff8082111561029757600080fd5b818701915087601f8301126102ab57600080fd5b8135818111156102bd576102bd610245565b8060051b604051601f19603f830116810181811085821117156102e2576102e2610245565b60405291825284820192508381018501918a83111561030057600080fd5b938501935b8285101561032557610316856101e6565b84529385019392850192610305565b80975050505050505061023c604085016101e6565b634e487b7160e01b600052603260045260246000fd5b600060001982141561037257634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220f608f727a2d786bb0e6ebc80d9cc9197d3fdad88fdfc0c2b19b1f1803883fa7d64736f6c634300080c0033",
54
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806301ed7f8b1461003b5780633c49798914610050575b600080fd5b61004e610049366004610202565b610063565b005b61004e61005e36600461025b565b61011f565b604051631916558760e01b81526001600160a01b038481166004830152831690631916558790602401600060405180830381600087803b1580156100a657600080fd5b505af11580156100ba573d6000803e3d6000fd5b5050604051631916558760e01b81526001600160a01b03868116600483015284169250631916558791506024015b600060405180830381600087803b15801561010257600080fd5b505af1158015610116573d6000803e3d6000fd5b50505050505050565b60005b82518110156101b75782818151811061013d5761013d61033a565b6020908102919091010151604051631916558760e01b81526001600160a01b03868116600483015290911690631916558790602401600060405180830381600087803b15801561018c57600080fd5b505af11580156101a0573d6000803e3d6000fd5b5050505080806101af90610350565b915050610122565b50604051631916558760e01b81526001600160a01b0384811660048301528216906319165587906024016100e8565b80356001600160a01b03811681146101fd57600080fd5b919050565b60008060006060848603121561021757600080fd5b610220846101e6565b925061022e602085016101e6565b915061023c604085016101e6565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561027057600080fd5b610279846101e6565b925060208085013567ffffffffffffffff8082111561029757600080fd5b818701915087601f8301126102ab57600080fd5b8135818111156102bd576102bd610245565b8060051b604051601f19603f830116810181811085821117156102e2576102e2610245565b60405291825284820192508381018501918a83111561030057600080fd5b938501935b8285101561032557610316856101e6565b84529385019392850192610305565b80975050505050505061023c604085016101e6565b634e487b7160e01b600052603260045260246000fd5b600060001982141561037257634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220f608f727a2d786bb0e6ebc80d9cc9197d3fdad88fdfc0c2b19b1f1803883fa7d64736f6c634300080c0033",
55
+ "linkReferences": {},
56
+ "deployedLinkReferences": {}
57
+ }