@artblocks/contracts 0.0.1

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 (196) hide show
  1. package/.env.example +10 -0
  2. package/LICENSE +165 -0
  3. package/README.md +286 -0
  4. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +164 -0
  5. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +248 -0
  6. package/artifacts/contracts/BasicRandomizer.sol/BasicRandomizer.json +24 -0
  7. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +102 -0
  8. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +1020 -0
  9. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +1928 -0
  10. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1942 -0
  11. package/artifacts/contracts/engine/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +1708 -0
  12. package/artifacts/contracts/engine/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +1410 -0
  13. package/artifacts/contracts/engine/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +1436 -0
  14. package/artifacts/contracts/engine/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +437 -0
  15. package/artifacts/contracts/engine/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +508 -0
  16. package/artifacts/contracts/engine/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +381 -0
  17. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +109 -0
  18. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +109 -0
  19. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +1902 -0
  20. package/artifacts/contracts/interfaces/0.5.x/IBonusContract.sol/IBonusContract.json +47 -0
  21. package/artifacts/contracts/interfaces/0.5.x/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +413 -0
  22. package/artifacts/contracts/interfaces/0.5.x/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +392 -0
  23. package/artifacts/contracts/interfaces/0.5.x/IRandomizer.sol/IRandomizer.json +26 -0
  24. package/artifacts/contracts/interfaces/0.8.x/IAdminACLV0.sol/IAdminACLV0.json +122 -0
  25. package/artifacts/contracts/interfaces/0.8.x/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +59 -0
  26. package/artifacts/contracts/interfaces/0.8.x/IBonusContract.sol/IBonusContract.json +43 -0
  27. package/artifacts/contracts/interfaces/0.8.x/IDelegationRegistry.sol/IDelegationRegistry.json +510 -0
  28. package/artifacts/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +53 -0
  29. package/artifacts/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +350 -0
  30. package/artifacts/contracts/interfaces/0.8.x/IEngineRegistryV0.sol/IEngineRegistryV0.json +85 -0
  31. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +730 -0
  32. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +311 -0
  33. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +617 -0
  34. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +292 -0
  35. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +598 -0
  36. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +355 -0
  37. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +368 -0
  38. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +674 -0
  39. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +551 -0
  40. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +564 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +601 -0
  42. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV0.sol/IFilteredMinterV0.json +216 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV1.sol/IFilteredMinterV1.json +485 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV2.sol/IFilteredMinterV2.json +522 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +299 -0
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +609 -0
  47. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +448 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +649 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +362 -0
  50. package/artifacts/contracts/interfaces/0.8.x/IManifold.sol/IManifold.json +35 -0
  51. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV0.sol/IMinterFilterV0.json +192 -0
  52. package/artifacts/contracts/interfaces/0.8.x/IRandomizer.sol/IRandomizer.json +24 -0
  53. package/artifacts/contracts/interfaces/0.8.x/IRandomizerV2.sol/IRandomizerV2.json +37 -0
  54. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +10 -0
  55. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +10 -0
  56. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
  57. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC165.json +38 -0
  58. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +322 -0
  59. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
  60. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +1773 -0
  61. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC165.json +32 -0
  62. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721.json +316 -0
  63. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
  64. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
  65. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +10 -0
  66. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +10 -0
  67. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +338 -0
  68. package/artifacts/contracts/libs/0.5.x/CustomERC721Metadata.sol/CustomERC721Metadata.json +425 -0
  69. package/artifacts/contracts/libs/0.5.x/IERC20.sol/IERC20.json +206 -0
  70. package/artifacts/contracts/libs/0.5.x/SafeMath.sol/SafeMath.json +10 -0
  71. package/artifacts/contracts/libs/0.5.x/Strings.sol/Strings.json +10 -0
  72. package/artifacts/contracts/libs/0.8.x/BytecodeStorage.sol/BytecodeStorage.json +10 -0
  73. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +10 -0
  74. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +357 -0
  75. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +529 -0
  76. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +1037 -0
  77. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +172 -0
  78. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +24 -0
  79. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +342 -0
  80. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +322 -0
  81. package/artifacts/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +550 -0
  82. package/artifacts/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +856 -0
  83. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +1053 -0
  84. package/artifacts/contracts/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +526 -0
  85. package/artifacts/contracts/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +832 -0
  86. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
  87. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +1100 -0
  88. package/artifacts/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +1002 -0
  89. package/artifacts/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +1039 -0
  90. package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +365 -0
  91. package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +671 -0
  92. package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/deprecated/MinterSetPriceV1.sol/MinterSetPriceV1.json +288 -0
  93. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +436 -0
  94. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +742 -0
  95. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/deprecated/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +461 -0
  96. package/artifacts/contracts/mock/BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json +194 -0
  97. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +15 -0
  98. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +292 -0
  99. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +165 -0
  100. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +128 -0
  101. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +118 -0
  102. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +87 -0
  103. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +82 -0
  104. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +208 -0
  105. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +301 -0
  106. package/contracts/AdminACLV0.sol +103 -0
  107. package/contracts/AdminACLV1.sol +193 -0
  108. package/contracts/BasicRandomizer.sol +23 -0
  109. package/contracts/BasicRandomizerV2.sol +36 -0
  110. package/contracts/DependencyRegistryV0.sol +893 -0
  111. package/contracts/GenArt721CoreV3.sol +2001 -0
  112. package/contracts/GenArt721CoreV3_Engine.sol +2061 -0
  113. package/contracts/engine/GenArt721CoreV2_ENGINE_FLEX.sol +887 -0
  114. package/contracts/engine/GenArt721CoreV2_PBAB.sol +695 -0
  115. package/contracts/engine/GenArt721CoreV2_PRTNR.sol +749 -0
  116. package/contracts/engine/GenArt721MinterBurner_PBAB.sol +467 -0
  117. package/contracts/engine/GenArt721MinterDAExp_PBAB.sol +614 -0
  118. package/contracts/engine/GenArt721Minter_PBAB.sol +420 -0
  119. package/contracts/engine-registry/EngineRegistryV0.sol +72 -0
  120. package/contracts/engine-registry/future/EngineRegistryV1.sol +86 -0
  121. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +1989 -0
  122. package/contracts/interfaces/0.5.x/IBonusContract.sol +10 -0
  123. package/contracts/interfaces/0.5.x/IGenArt721CoreContractV1.sol +91 -0
  124. package/contracts/interfaces/0.5.x/IGenArt721CoreV2_PBAB.sol +92 -0
  125. package/contracts/interfaces/0.5.x/IRandomizer.sol +8 -0
  126. package/contracts/interfaces/0.8.x/IAdminACLV0.sol +51 -0
  127. package/contracts/interfaces/0.8.x/IArtblocksRoyaltyOverride.sol +34 -0
  128. package/contracts/interfaces/0.8.x/IBonusContract.sol +10 -0
  129. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +221 -0
  130. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +31 -0
  131. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +95 -0
  132. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +38 -0
  133. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +70 -0
  134. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpV0.sol +35 -0
  135. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpV1.sol +16 -0
  136. package/contracts/interfaces/0.8.x/IFilteredMinterDALinV0.sol +32 -0
  137. package/contracts/interfaces/0.8.x/IFilteredMinterDALinV1.sol +16 -0
  138. package/contracts/interfaces/0.8.x/IFilteredMinterHolderV0.sol +68 -0
  139. package/contracts/interfaces/0.8.x/IFilteredMinterHolderV1.sol +19 -0
  140. package/contracts/interfaces/0.8.x/IFilteredMinterHolderV2.sol +19 -0
  141. package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV0.sol +37 -0
  142. package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV1.sol +19 -0
  143. package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV2.sol +19 -0
  144. package/contracts/interfaces/0.8.x/IFilteredMinterV0.sol +74 -0
  145. package/contracts/interfaces/0.8.x/IFilteredMinterV1.sol +127 -0
  146. package/contracts/interfaces/0.8.x/IFilteredMinterV2.sol +30 -0
  147. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV1.sol +73 -0
  148. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol +79 -0
  149. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +127 -0
  150. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +80 -0
  151. package/contracts/interfaces/0.8.x/IGenArt721CoreV2_PBAB.sol +91 -0
  152. package/contracts/interfaces/0.8.x/IManifold.sol +24 -0
  153. package/contracts/interfaces/0.8.x/IMinterFilterV0.sol +47 -0
  154. package/contracts/interfaces/0.8.x/IRandomizer.sol +8 -0
  155. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +15 -0
  156. package/contracts/legacy/GenArt721CoreV1.sol +1593 -0
  157. package/contracts/legacy/GenArt721LegacyMinter.sol +275 -0
  158. package/contracts/libs/0.5.x/CustomERC721Metadata.sol +52 -0
  159. package/contracts/libs/0.5.x/IERC20.sol +96 -0
  160. package/contracts/libs/0.5.x/SafeMath.sol +98 -0
  161. package/contracts/libs/0.5.x/Strings.sol +92 -0
  162. package/contracts/libs/0.8.x/BytecodeStorage.sol +314 -0
  163. package/contracts/libs/0.8.x/Bytes32Strings.sol +66 -0
  164. package/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol +514 -0
  165. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +663 -0
  166. package/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol +6 -0
  167. package/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol +6 -0
  168. package/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol +6 -0
  169. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +291 -0
  170. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +320 -0
  171. package/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +571 -0
  172. package/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +622 -0
  173. package/contracts/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1066 -0
  174. package/contracts/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +527 -0
  175. package/contracts/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +576 -0
  176. package/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +749 -0
  177. package/contracts/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +798 -0
  178. package/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +682 -0
  179. package/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +733 -0
  180. package/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +350 -0
  181. package/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +401 -0
  182. package/contracts/minter-suite/Minters/MinterSetPrice/deprecated/MinterSetPriceV1.sol +274 -0
  183. package/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +491 -0
  184. package/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +542 -0
  185. package/contracts/minter-suite/Minters/MinterSetPriceERC20/deprecated/MinterSetPriceERC20V0.sol +470 -0
  186. package/contracts/mock/BytecodeTextCR_DMock.sol +184 -0
  187. package/contracts/mock/DeadReceiverMock.sol +13 -0
  188. package/contracts/mock/ERC20Mock.sol +11 -0
  189. package/contracts/mock/MockAdminACLV0.sol +65 -0
  190. package/contracts/mock/RandomizerV2_NoAssignMock.sol +43 -0
  191. package/contracts/mock/ReentrancyHolderMock.sol +50 -0
  192. package/contracts/mock/ReentrancyMerkleMock.sol +64 -0
  193. package/contracts/mock/ReentrancyMock.sol +44 -0
  194. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +168 -0
  195. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +221 -0
  196. package/package.json +83 -0
@@ -0,0 +1,381 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GenArt721Minter_PBAB",
4
+ "sourceName": "contracts/engine/GenArt721Minter_PBAB.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "uint256",
21
+ "name": "_projectId",
22
+ "type": "uint256"
23
+ },
24
+ {
25
+ "internalType": "address",
26
+ "name": "_bonusContractAddress",
27
+ "type": "address"
28
+ }
29
+ ],
30
+ "name": "artistSetBonusContractAddress",
31
+ "outputs": [],
32
+ "stateMutability": "nonpayable",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "uint256",
39
+ "name": "_projectId",
40
+ "type": "uint256"
41
+ }
42
+ ],
43
+ "name": "artistToggleBonus",
44
+ "outputs": [],
45
+ "stateMutability": "nonpayable",
46
+ "type": "function"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "_projectId",
53
+ "type": "uint256"
54
+ }
55
+ ],
56
+ "name": "checkYourAllowanceOfProjectERC20",
57
+ "outputs": [
58
+ {
59
+ "internalType": "uint256",
60
+ "name": "",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "stateMutability": "view",
65
+ "type": "function"
66
+ },
67
+ {
68
+ "inputs": [
69
+ {
70
+ "internalType": "uint256",
71
+ "name": "",
72
+ "type": "uint256"
73
+ }
74
+ ],
75
+ "name": "contractFilterProject",
76
+ "outputs": [
77
+ {
78
+ "internalType": "bool",
79
+ "name": "",
80
+ "type": "bool"
81
+ }
82
+ ],
83
+ "stateMutability": "view",
84
+ "type": "function"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "genArtCoreContract",
89
+ "outputs": [
90
+ {
91
+ "internalType": "contract IGenArt721CoreV2_PBAB",
92
+ "name": "",
93
+ "type": "address"
94
+ }
95
+ ],
96
+ "stateMutability": "view",
97
+ "type": "function"
98
+ },
99
+ {
100
+ "inputs": [
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "_projectId",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "name": "getYourBalanceOfProjectERC20",
108
+ "outputs": [
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "",
112
+ "type": "uint256"
113
+ }
114
+ ],
115
+ "stateMutability": "view",
116
+ "type": "function"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "ownerAddress",
121
+ "outputs": [
122
+ {
123
+ "internalType": "address payable",
124
+ "name": "",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "stateMutability": "view",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "ownerPercentage",
134
+ "outputs": [
135
+ {
136
+ "internalType": "uint256",
137
+ "name": "",
138
+ "type": "uint256"
139
+ }
140
+ ],
141
+ "stateMutability": "view",
142
+ "type": "function"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "uint256",
148
+ "name": "",
149
+ "type": "uint256"
150
+ }
151
+ ],
152
+ "name": "projectIdToBonus",
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": "uint256",
167
+ "name": "",
168
+ "type": "uint256"
169
+ }
170
+ ],
171
+ "name": "projectIdToBonusContractAddress",
172
+ "outputs": [
173
+ {
174
+ "internalType": "address",
175
+ "name": "",
176
+ "type": "address"
177
+ }
178
+ ],
179
+ "stateMutability": "view",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "inputs": [
184
+ {
185
+ "internalType": "uint256",
186
+ "name": "",
187
+ "type": "uint256"
188
+ }
189
+ ],
190
+ "name": "projectMaxHasBeenInvoked",
191
+ "outputs": [
192
+ {
193
+ "internalType": "bool",
194
+ "name": "",
195
+ "type": "bool"
196
+ }
197
+ ],
198
+ "stateMutability": "view",
199
+ "type": "function"
200
+ },
201
+ {
202
+ "inputs": [
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "",
206
+ "type": "uint256"
207
+ }
208
+ ],
209
+ "name": "projectMaxInvocations",
210
+ "outputs": [
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "",
214
+ "type": "uint256"
215
+ }
216
+ ],
217
+ "stateMutability": "view",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "address",
224
+ "name": "",
225
+ "type": "address"
226
+ },
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "",
230
+ "type": "uint256"
231
+ }
232
+ ],
233
+ "name": "projectMintCounter",
234
+ "outputs": [
235
+ {
236
+ "internalType": "uint256",
237
+ "name": "",
238
+ "type": "uint256"
239
+ }
240
+ ],
241
+ "stateMutability": "view",
242
+ "type": "function"
243
+ },
244
+ {
245
+ "inputs": [
246
+ {
247
+ "internalType": "uint256",
248
+ "name": "",
249
+ "type": "uint256"
250
+ }
251
+ ],
252
+ "name": "projectMintLimit",
253
+ "outputs": [
254
+ {
255
+ "internalType": "uint256",
256
+ "name": "",
257
+ "type": "uint256"
258
+ }
259
+ ],
260
+ "stateMutability": "view",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [
265
+ {
266
+ "internalType": "uint256",
267
+ "name": "_projectId",
268
+ "type": "uint256"
269
+ }
270
+ ],
271
+ "name": "purchase",
272
+ "outputs": [
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "_tokenId",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "stateMutability": "payable",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "address",
286
+ "name": "_to",
287
+ "type": "address"
288
+ },
289
+ {
290
+ "internalType": "uint256",
291
+ "name": "_projectId",
292
+ "type": "uint256"
293
+ }
294
+ ],
295
+ "name": "purchaseTo",
296
+ "outputs": [
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "_tokenId",
300
+ "type": "uint256"
301
+ }
302
+ ],
303
+ "stateMutability": "payable",
304
+ "type": "function"
305
+ },
306
+ {
307
+ "inputs": [
308
+ {
309
+ "internalType": "address payable",
310
+ "name": "_ownerAddress",
311
+ "type": "address"
312
+ }
313
+ ],
314
+ "name": "setOwnerAddress",
315
+ "outputs": [],
316
+ "stateMutability": "nonpayable",
317
+ "type": "function"
318
+ },
319
+ {
320
+ "inputs": [
321
+ {
322
+ "internalType": "uint256",
323
+ "name": "_ownerPercentage",
324
+ "type": "uint256"
325
+ }
326
+ ],
327
+ "name": "setOwnerPercentage",
328
+ "outputs": [],
329
+ "stateMutability": "nonpayable",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "_projectId",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "name": "setProjectMaxInvocations",
341
+ "outputs": [],
342
+ "stateMutability": "nonpayable",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "_projectId",
350
+ "type": "uint256"
351
+ },
352
+ {
353
+ "internalType": "uint8",
354
+ "name": "_limit",
355
+ "type": "uint8"
356
+ }
357
+ ],
358
+ "name": "setProjectMintLimit",
359
+ "outputs": [],
360
+ "stateMutability": "nonpayable",
361
+ "type": "function"
362
+ },
363
+ {
364
+ "inputs": [
365
+ {
366
+ "internalType": "uint256",
367
+ "name": "_projectId",
368
+ "type": "uint256"
369
+ }
370
+ ],
371
+ "name": "toggleContractFilter",
372
+ "outputs": [],
373
+ "stateMutability": "nonpayable",
374
+ "type": "function"
375
+ }
376
+ ],
377
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002ad038038062002ad083398101604081905262000034916200005f565b6001600081905580546001600160a01b0319166001600160a01b039290921691909117905562000091565b6000602082840312156200007257600080fd5b81516001600160a01b03811681146200008a57600080fd5b9392505050565b612a2f80620000a16000396000f3fe6080604052600436106100fa5760003560e01c8063231c2281146100ff578063331a6bf514610121578063393b011c146101415780633a4657b4146101615780633c34b9f0146101ac57806341da7555146101cc578063462add46146101e257806356690aaf14610222578063569f6f921461024f57806362f7a7ed1461026f578063737094171461029c5780637e6906de146102cc5780637f38902b1461030f578063891407c01461032f5780638f84aa091461034257806395e3b0de14610362578063a980960014610382578063efef39a1146103a2578063f4632103146103b5578063f7bd4b88146103d5578063f9f96b9e146103f5575b600080fd5b34801561010b57600080fd5b5061011f61011a36600461258f565b610425565b005b34801561012d57600080fd5b5061011f61013c3660046125da565b6104e2565b34801561014d57600080fd5b5061011f61015c3660046125f7565b6105a0565b34801561016d57600080fd5b5061019961017c366004612610565b600760209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156101b857600080fd5b5061011f6101c736600461263c565b610641565b3480156101d857600080fd5b5061019960035481565b3480156101ee57600080fd5b506102126101fd3660046125f7565b60096020526000908152604090205460ff1681565b60405190151581526020016101a3565b34801561022e57600080fd5b5061019961023d3660046125f7565b600a6020526000908152604090205481565b34801561025b57600080fd5b5061011f61026a3660046125f7565b61071b565b34801561027b57600080fd5b5061019961028a3660046125f7565b60086020526000908152604090205481565b3480156102a857600080fd5b506102126102b73660046125f7565b60046020526000908152604090205460ff1681565b3480156102d857600080fd5b506103026102e73660046125f7565b6005602052600090815260409020546001600160a01b031681565b6040516101a39190612661565b34801561031b57600080fd5b50600154610302906001600160a01b031681565b61019961033d366004612610565b6107d7565b34801561034e57600080fd5b50600254610302906001600160a01b031681565b34801561036e57600080fd5b5061011f61037d3660046125f7565b6111c3565b34801561038e57600080fd5b5061019961039d3660046125f7565b61128f565b6101996103b03660046125f7565b611392565b3480156103c157600080fd5b506101996103d03660046125f7565b6113a4565b3480156103e157600080fd5b5061011f6103f03660046125f7565b611452565b34801561040157600080fd5b506102126104103660046125f7565b60066020526000908152604090205460ff1681565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610455903390600401612661565b60206040518083038186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a5919061268a565b6104ca5760405162461bcd60e51b81526004016104c1906126a5565b60405180910390fd5b60009182526008602052604090912060ff9091169055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610512903390600401612661565b60206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610562919061268a565b61057e5760405162461bcd60e51b81526004016104c1906126a5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf906105d0903390600401612661565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610620919061268a565b61063c5760405162461bcd60e51b81526004016104c1906126a5565b600355565b60015460405163a47d29cb60e01b8152600481018490526001600160a01b039091169063a47d29cb9060240160206040518083038186803b15801561068557600080fd5b505afa158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd91906126d7565b6001600160a01b0316336001600160a01b0316146106ed5760405162461bcd60e51b81526004016104c1906126f4565b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061074b903390600401612661565b60206040518083038186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b919061268a565b6107b75760405162461bcd60e51b81526004016104c1906126a5565b6000908152600660205260409020805460ff19811660ff90911615179055565b60006002600054141561082c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104c1565b600260009081558281526009602052604090205460ff161561089e5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b60648201526084016104c1565b60008281526006602052604090205460ff16156108f7573332146108f75760405162461bcd60e51b815260206004820152601060248201526f4e6f20436f6e7472616374204275797360801b60448201526064016104c1565b600082815260086020526040902054156109a2576000828152600860209081526040808320543384526007835281842086855290925290912054106109765760405162461bcd60e51b815260206004820152601560248201527414995858da1959081b5a5b9d1a5b99c81b1a5b5a5d605a1b60448201526064016104c1565b336000908152600760209081526040808320858452909152812080549161099c8361273d565b91905055505b600154604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301526000921690630d4d151390606401602060405180830381600087803b1580156109f757600080fd5b505af1158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190612758565b6000848152600a602052604090205490915015801590610a7457506000838152600a6020526040902054610a6590600190612771565b610a72620f42408361279e565b145b15610a93576000838152600960205260409020805460ff191660011790555b60008381526004602052604090205460ff1615610c05576000838152600560209081526040918290205482516305e667fd60e21b815292516001600160a01b03909116926317999ff4926004808301939192829003018186803b158015610af957600080fd5b505afa158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b31919061268a565b610b745760405162461bcd60e51b8152602060048201526014602482015273626f6e7573206d7573742062652061637469766560601b60448201526064016104c1565b6000838152600560205260409081902054905163f473237d60e01b81526001600160a01b039091169063f473237d90610bb1903390600401612661565b602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c03919061268a565b505b6040516208aa8960eb1b602082015260230160408051808303601f190181529082905280516020909101206001546320927ec960e01b83526004830186905290916001600160a01b03909116906320927ec99060240160006040518083038186803b158015610c7357600080fd5b505afa158015610c87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610caf919081019061287f565b604051602001610cbf91906128bb565b60405160208183030381529060405280519060200120146110e3573415610d4e5760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f7420616363657074204554480060648201526084016104c1565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190612758565b60015460405163498dd0c160e01b8152600481018690526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015610e0e57600080fd5b505afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906126d7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610e739291906128d7565b60206040518083038186803b158015610e8b57600080fd5b505afa158015610e9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec39190612758565b1015610f1c5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b60648201526084016104c1565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b158015610f6057600080fd5b505afa158015610f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f989190612758565b60015460405163498dd0c160e01b8152600481018690526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101491906126d7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161103f9190612661565b60206040518083038186803b15801561105757600080fd5b505afa15801561106b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108f9190612758565b10156110d55760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b60448201526064016104c1565b6110de836115b5565b6111b7565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b15801561112757600080fd5b505afa15801561113b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115f9190612758565b3410156111ae5760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e742160448201526064016104c1565b6111b783611dd8565b60016000559392505050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb9060240160206040518083038186803b15801561120757600080fd5b505afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f91906126d7565b6001600160a01b0316336001600160a01b03161461126f5760405162461bcd60e51b81526004016104c1906126f4565b6000908152600460205260409020805460ff19811660ff90911615179055565b60015460405163498dd0c160e01b81526004810183905260009182916001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156112d857600080fd5b505afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131091906126d7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161133b9190612661565b60206040518083038186803b15801561135357600080fd5b505afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190612758565b9392505050565b600061139e33836107d7565b92915050565b60015460405163498dd0c160e01b81526004810183905260009182916001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156113ed57600080fd5b505afa158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142591906126d7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161133b9291906128d7565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90611482903390600401612661565b60206040518083038186803b15801561149a57600080fd5b505afa1580156114ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d2919061268a565b6114ee5760405162461bcd60e51b81526004016104c1906126a5565b6001546040516346161b1160e11b81526004810183905260009182916001600160a01b0390911690638c2c36229060240160006040518083038186803b15801561153757600080fd5b505afa15801561154b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261157391908101906128f1565b5050506000898152600a6020526040902083905550909550909350505050818110156115b0576000838152600960205260409020805460ff191690555b505050565b600154604051633dc303c160e21b8152600481018390526000916001600160a01b03169063f70c0f049060240160206040518083038186803b1580156115fa57600080fd5b505afa15801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190612758565b905060006064600160009054906101000a90046001600160a01b03166001600160a01b0316632e9eb74f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116be9190612758565b6116c890846129a2565b6116d291906129c1565b9050801561185e5760015460405163498dd0c160e01b8152600481018590526001600160a01b039091169063498dd0c19060240160206040518083038186803b15801561171e57600080fd5b505afa158015611732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175691906126d7565b6001600160a01b03166323b872dd33600160009054906101000a90046001600160a01b03166001600160a01b031663cfbf4d976040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b357600080fd5b505afa1580156117c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117eb91906126d7565b846040518463ffffffff1660e01b815260040161180a939291906129d5565b602060405180830381600087803b15801561182457600080fd5b505af1158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061268a565b505b600061186a8284612771565b9050600060646003548361187e91906129a2565b61188891906129c1565b905080156119965760015460405163498dd0c160e01b8152600481018790526001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156118d457600080fd5b505afa1580156118e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190c91906126d7565b6002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926119429233929091169086906004016129d5565b602060405180830381600087803b15801561195c57600080fd5b505af1158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061268a565b505b6000816119a38587612771565b6119ad9190612771565b60015460405163cc74234b60e01b81526004810189905291925060009182916001600160a01b03169063cc74234b9060240160206040518083038186803b1580156119f757600080fd5b505afa158015611a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2f9190612758565b1115611c445760015460405163cc74234b60e01b8152600481018990526064916001600160a01b03169063cc74234b9060240160206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190612758565b611abc90846129a2565b611ac691906129c1565b90508015611c445760015460405163498dd0c160e01b8152600481018990526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015611b1257600080fd5b505afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a91906126d7565b600154604051636bd8225b60e11b8152600481018a90526001600160a01b03928316926323b872dd92339291169063d7b044b69060240160206040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd191906126d7565b846040518463ffffffff1660e01b8152600401611bf0939291906129d5565b602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c42919061268a565b505b6000611c508284612771565b90508015611dce5760015460405163498dd0c160e01b8152600481018a90526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015611c9c57600080fd5b505afa158015611cb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd491906126d7565b60015460405163a47d29cb60e01b8152600481018b90526001600160a01b03928316926323b872dd92339291169063a47d29cb9060240160206040518083038186803b158015611d2357600080fd5b505afa158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5b91906126d7565b846040518463ffffffff1660e01b8152600401611d7a939291906129d5565b602060405180830381600087803b158015611d9457600080fd5b505af1158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc919061268a565b505b5050505050505050565b341561258c57600154604051633dc303c160e21b8152600481018390526000916001600160a01b03169063f70c0f049060240160206040518083038186803b158015611e2357600080fd5b505afa158015611e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5b9190612758565b600154604051633dc303c160e21b8152600481018590529192506000916001600160a01b039091169063f70c0f049060240160206040518083038186803b158015611ea557600080fd5b505afa158015611eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edd9190612758565b611ee79034612771565b90508015611f7957604051600090339083908381818185875af1925050503d8060008114611f31576040519150601f19603f3d011682016040523d82523d6000602084013e611f36565b606091505b5050905080611f775760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016104c1565b505b60006064600160009054906101000a90046001600160a01b03166001600160a01b0316632e9eb74f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fcb57600080fd5b505afa158015611fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120039190612758565b61200d90856129a2565b61201791906129c1565b90508015612138576001546040805163cfbf4d9760e01b815290516000926001600160a01b03169163cfbf4d97916004808301926020929190829003018186803b15801561206457600080fd5b505afa158015612078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209c91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146120e6576040519150601f19603f3d011682016040523d82523d6000602084013e6120eb565b606091505b50509050806121365760405162461bcd60e51b815260206004820152601760248201527614995b99195c995c881c185e5b595b9d0819985a5b1959604a1b60448201526064016104c1565b505b60006121448285612771565b9050600060646003548361215891906129a2565b61216291906129c1565b90508015612206576002546040516000916001600160a01b03169083908381818185875af1925050503d80600081146121b7576040519150601f19603f3d011682016040523d82523d6000602084013e6121bc565b606091505b50509050806122045760405162461bcd60e51b815260206004820152601460248201527313dddb995c881c185e5b595b9d0819985a5b195960621b60448201526064016104c1565b505b6000816122138588612771565b61221d9190612771565b60015460405163cc74234b60e01b8152600481018a905291925060009182916001600160a01b03169063cc74234b9060240160206040518083038186803b15801561226757600080fd5b505afa15801561227b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229f9190612758565b11156124595760015460405163cc74234b60e01b8152600481018a90526064916001600160a01b03169063cc74234b9060240160206040518083038186803b1580156122ea57600080fd5b505afa1580156122fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123229190612758565b61232c90846129a2565b61233691906129c1565b9050801561245957600154604051636bd8225b60e11b8152600481018a90526000916001600160a01b03169063d7b044b69060240160206040518083038186803b15801561238357600080fd5b505afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114612405576040519150601f19603f3d011682016040523d82523d6000602084013e61240a565b606091505b50509050806124575760405162461bcd60e51b81526020600482015260196024820152781059191a5d1a5bdb985b081c185e5b595b9d0819985a5b1959603a1b60448201526064016104c1565b505b60006124658284612771565b90508015611dcc5760015460405163a47d29cb60e01b8152600481018b90526000916001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156124b257600080fd5b505afa1580156124c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ea91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114612534576040519150601f19603f3d011682016040523d82523d6000602084013e612539565b606091505b50509050806125825760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016104c1565b5050505050505050505b50565b600080604083850312156125a257600080fd5b82359150602083013560ff811681146125ba57600080fd5b809150509250929050565b6001600160a01b038116811461258c57600080fd5b6000602082840312156125ec57600080fd5b813561138b816125c5565b60006020828403121561260957600080fd5b5035919050565b6000806040838503121561262357600080fd5b823561262e816125c5565b946020939093013593505050565b6000806040838503121561264f57600080fd5b8235915060208301356125ba816125c5565b6001600160a01b0391909116815260200190565b8051801515811461268557600080fd5b919050565b60006020828403121561269c57600080fd5b61138b82612675565b60208082526018908201527731b0b71037b7363c9031329039b2ba10313c9030b236b4b760411b604082015260600190565b6000602082840312156126e957600080fd5b815161138b816125c5565b60208082526019908201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060001982141561275157612751612727565b5060010190565b60006020828403121561276a57600080fd5b5051919050565b60008282101561278357612783612727565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826127ad576127ad612788565b500690565b634e487b7160e01b600052604160045260246000fd5b60005b838110156127e35781810151838201526020016127cb565b838111156127f2576000848401525b50505050565b600082601f83011261280957600080fd5b81516001600160401b0380821115612823576128236127b2565b604051601f8301601f19908116603f0116810190828211818310171561284b5761284b6127b2565b8160405283815286602085880101111561286457600080fd5b6128758460208301602089016127c8565b9695505050505050565b60006020828403121561289157600080fd5b81516001600160401b038111156128a757600080fd5b6128b3848285016127f8565b949350505050565b600082516128cd8184602087016127c8565b9190910192915050565b6001600160a01b0392831681529116602082015260400190565b60008060008060008060008060006101208a8c03121561291057600080fd5b895161291b816125c5565b8099505060208a0151975060408a0151965060608a0151955061294060808b01612675565b945060a08a0151612950816125c5565b60c08b015160e08c015191955093506001600160401b0381111561297357600080fd5b61297f8c828d016127f8565b9250506101008a0151612991816125c5565b809150509295985092959850929598565b60008160001904831182151516156129bc576129bc612727565b500290565b6000826129d0576129d0612788565b500490565b6001600160a01b03938416815291909216602082015260408101919091526060019056fea26469706673582212209f0126d9d5bf3d6bf8533b9fa5f44da5c973a1865a71e9247382e12b114254c464736f6c63430008090033",
378
+ "deployedBytecode": "0x6080604052600436106100fa5760003560e01c8063231c2281146100ff578063331a6bf514610121578063393b011c146101415780633a4657b4146101615780633c34b9f0146101ac57806341da7555146101cc578063462add46146101e257806356690aaf14610222578063569f6f921461024f57806362f7a7ed1461026f578063737094171461029c5780637e6906de146102cc5780637f38902b1461030f578063891407c01461032f5780638f84aa091461034257806395e3b0de14610362578063a980960014610382578063efef39a1146103a2578063f4632103146103b5578063f7bd4b88146103d5578063f9f96b9e146103f5575b600080fd5b34801561010b57600080fd5b5061011f61011a36600461258f565b610425565b005b34801561012d57600080fd5b5061011f61013c3660046125da565b6104e2565b34801561014d57600080fd5b5061011f61015c3660046125f7565b6105a0565b34801561016d57600080fd5b5061019961017c366004612610565b600760209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156101b857600080fd5b5061011f6101c736600461263c565b610641565b3480156101d857600080fd5b5061019960035481565b3480156101ee57600080fd5b506102126101fd3660046125f7565b60096020526000908152604090205460ff1681565b60405190151581526020016101a3565b34801561022e57600080fd5b5061019961023d3660046125f7565b600a6020526000908152604090205481565b34801561025b57600080fd5b5061011f61026a3660046125f7565b61071b565b34801561027b57600080fd5b5061019961028a3660046125f7565b60086020526000908152604090205481565b3480156102a857600080fd5b506102126102b73660046125f7565b60046020526000908152604090205460ff1681565b3480156102d857600080fd5b506103026102e73660046125f7565b6005602052600090815260409020546001600160a01b031681565b6040516101a39190612661565b34801561031b57600080fd5b50600154610302906001600160a01b031681565b61019961033d366004612610565b6107d7565b34801561034e57600080fd5b50600254610302906001600160a01b031681565b34801561036e57600080fd5b5061011f61037d3660046125f7565b6111c3565b34801561038e57600080fd5b5061019961039d3660046125f7565b61128f565b6101996103b03660046125f7565b611392565b3480156103c157600080fd5b506101996103d03660046125f7565b6113a4565b3480156103e157600080fd5b5061011f6103f03660046125f7565b611452565b34801561040157600080fd5b506102126104103660046125f7565b60066020526000908152604090205460ff1681565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610455903390600401612661565b60206040518083038186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a5919061268a565b6104ca5760405162461bcd60e51b81526004016104c1906126a5565b60405180910390fd5b60009182526008602052604090912060ff9091169055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610512903390600401612661565b60206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610562919061268a565b61057e5760405162461bcd60e51b81526004016104c1906126a5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf906105d0903390600401612661565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610620919061268a565b61063c5760405162461bcd60e51b81526004016104c1906126a5565b600355565b60015460405163a47d29cb60e01b8152600481018490526001600160a01b039091169063a47d29cb9060240160206040518083038186803b15801561068557600080fd5b505afa158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd91906126d7565b6001600160a01b0316336001600160a01b0316146106ed5760405162461bcd60e51b81526004016104c1906126f4565b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061074b903390600401612661565b60206040518083038186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b919061268a565b6107b75760405162461bcd60e51b81526004016104c1906126a5565b6000908152600660205260409020805460ff19811660ff90911615179055565b60006002600054141561082c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104c1565b600260009081558281526009602052604090205460ff161561089e5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b60648201526084016104c1565b60008281526006602052604090205460ff16156108f7573332146108f75760405162461bcd60e51b815260206004820152601060248201526f4e6f20436f6e7472616374204275797360801b60448201526064016104c1565b600082815260086020526040902054156109a2576000828152600860209081526040808320543384526007835281842086855290925290912054106109765760405162461bcd60e51b815260206004820152601560248201527414995858da1959081b5a5b9d1a5b99c81b1a5b5a5d605a1b60448201526064016104c1565b336000908152600760209081526040808320858452909152812080549161099c8361273d565b91905055505b600154604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301526000921690630d4d151390606401602060405180830381600087803b1580156109f757600080fd5b505af1158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190612758565b6000848152600a602052604090205490915015801590610a7457506000838152600a6020526040902054610a6590600190612771565b610a72620f42408361279e565b145b15610a93576000838152600960205260409020805460ff191660011790555b60008381526004602052604090205460ff1615610c05576000838152600560209081526040918290205482516305e667fd60e21b815292516001600160a01b03909116926317999ff4926004808301939192829003018186803b158015610af957600080fd5b505afa158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b31919061268a565b610b745760405162461bcd60e51b8152602060048201526014602482015273626f6e7573206d7573742062652061637469766560601b60448201526064016104c1565b6000838152600560205260409081902054905163f473237d60e01b81526001600160a01b039091169063f473237d90610bb1903390600401612661565b602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c03919061268a565b505b6040516208aa8960eb1b602082015260230160408051808303601f190181529082905280516020909101206001546320927ec960e01b83526004830186905290916001600160a01b03909116906320927ec99060240160006040518083038186803b158015610c7357600080fd5b505afa158015610c87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610caf919081019061287f565b604051602001610cbf91906128bb565b60405160208183030381529060405280519060200120146110e3573415610d4e5760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f7420616363657074204554480060648201526084016104c1565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190612758565b60015460405163498dd0c160e01b8152600481018690526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015610e0e57600080fd5b505afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906126d7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610e739291906128d7565b60206040518083038186803b158015610e8b57600080fd5b505afa158015610e9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec39190612758565b1015610f1c5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b60648201526084016104c1565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b158015610f6057600080fd5b505afa158015610f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f989190612758565b60015460405163498dd0c160e01b8152600481018690526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101491906126d7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161103f9190612661565b60206040518083038186803b15801561105757600080fd5b505afa15801561106b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108f9190612758565b10156110d55760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b60448201526064016104c1565b6110de836115b5565b6111b7565b600154604051633dc303c160e21b8152600481018590526001600160a01b039091169063f70c0f049060240160206040518083038186803b15801561112757600080fd5b505afa15801561113b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115f9190612758565b3410156111ae5760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e742160448201526064016104c1565b6111b783611dd8565b60016000559392505050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb9060240160206040518083038186803b15801561120757600080fd5b505afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f91906126d7565b6001600160a01b0316336001600160a01b03161461126f5760405162461bcd60e51b81526004016104c1906126f4565b6000908152600460205260409020805460ff19811660ff90911615179055565b60015460405163498dd0c160e01b81526004810183905260009182916001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156112d857600080fd5b505afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131091906126d7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161133b9190612661565b60206040518083038186803b15801561135357600080fd5b505afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190612758565b9392505050565b600061139e33836107d7565b92915050565b60015460405163498dd0c160e01b81526004810183905260009182916001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156113ed57600080fd5b505afa158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142591906126d7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161133b9291906128d7565b600154604051633af32abf60e01b81526001600160a01b0390911690633af32abf90611482903390600401612661565b60206040518083038186803b15801561149a57600080fd5b505afa1580156114ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d2919061268a565b6114ee5760405162461bcd60e51b81526004016104c1906126a5565b6001546040516346161b1160e11b81526004810183905260009182916001600160a01b0390911690638c2c36229060240160006040518083038186803b15801561153757600080fd5b505afa15801561154b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261157391908101906128f1565b5050506000898152600a6020526040902083905550909550909350505050818110156115b0576000838152600960205260409020805460ff191690555b505050565b600154604051633dc303c160e21b8152600481018390526000916001600160a01b03169063f70c0f049060240160206040518083038186803b1580156115fa57600080fd5b505afa15801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190612758565b905060006064600160009054906101000a90046001600160a01b03166001600160a01b0316632e9eb74f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116be9190612758565b6116c890846129a2565b6116d291906129c1565b9050801561185e5760015460405163498dd0c160e01b8152600481018590526001600160a01b039091169063498dd0c19060240160206040518083038186803b15801561171e57600080fd5b505afa158015611732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175691906126d7565b6001600160a01b03166323b872dd33600160009054906101000a90046001600160a01b03166001600160a01b031663cfbf4d976040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b357600080fd5b505afa1580156117c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117eb91906126d7565b846040518463ffffffff1660e01b815260040161180a939291906129d5565b602060405180830381600087803b15801561182457600080fd5b505af1158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061268a565b505b600061186a8284612771565b9050600060646003548361187e91906129a2565b61188891906129c1565b905080156119965760015460405163498dd0c160e01b8152600481018790526001600160a01b039091169063498dd0c19060240160206040518083038186803b1580156118d457600080fd5b505afa1580156118e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190c91906126d7565b6002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926119429233929091169086906004016129d5565b602060405180830381600087803b15801561195c57600080fd5b505af1158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061268a565b505b6000816119a38587612771565b6119ad9190612771565b60015460405163cc74234b60e01b81526004810189905291925060009182916001600160a01b03169063cc74234b9060240160206040518083038186803b1580156119f757600080fd5b505afa158015611a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2f9190612758565b1115611c445760015460405163cc74234b60e01b8152600481018990526064916001600160a01b03169063cc74234b9060240160206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190612758565b611abc90846129a2565b611ac691906129c1565b90508015611c445760015460405163498dd0c160e01b8152600481018990526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015611b1257600080fd5b505afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a91906126d7565b600154604051636bd8225b60e11b8152600481018a90526001600160a01b03928316926323b872dd92339291169063d7b044b69060240160206040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd191906126d7565b846040518463ffffffff1660e01b8152600401611bf0939291906129d5565b602060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c42919061268a565b505b6000611c508284612771565b90508015611dce5760015460405163498dd0c160e01b8152600481018a90526001600160a01b039091169063498dd0c19060240160206040518083038186803b158015611c9c57600080fd5b505afa158015611cb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd491906126d7565b60015460405163a47d29cb60e01b8152600481018b90526001600160a01b03928316926323b872dd92339291169063a47d29cb9060240160206040518083038186803b158015611d2357600080fd5b505afa158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5b91906126d7565b846040518463ffffffff1660e01b8152600401611d7a939291906129d5565b602060405180830381600087803b158015611d9457600080fd5b505af1158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc919061268a565b505b5050505050505050565b341561258c57600154604051633dc303c160e21b8152600481018390526000916001600160a01b03169063f70c0f049060240160206040518083038186803b158015611e2357600080fd5b505afa158015611e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5b9190612758565b600154604051633dc303c160e21b8152600481018590529192506000916001600160a01b039091169063f70c0f049060240160206040518083038186803b158015611ea557600080fd5b505afa158015611eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edd9190612758565b611ee79034612771565b90508015611f7957604051600090339083908381818185875af1925050503d8060008114611f31576040519150601f19603f3d011682016040523d82523d6000602084013e611f36565b606091505b5050905080611f775760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016104c1565b505b60006064600160009054906101000a90046001600160a01b03166001600160a01b0316632e9eb74f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fcb57600080fd5b505afa158015611fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120039190612758565b61200d90856129a2565b61201791906129c1565b90508015612138576001546040805163cfbf4d9760e01b815290516000926001600160a01b03169163cfbf4d97916004808301926020929190829003018186803b15801561206457600080fd5b505afa158015612078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209c91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146120e6576040519150601f19603f3d011682016040523d82523d6000602084013e6120eb565b606091505b50509050806121365760405162461bcd60e51b815260206004820152601760248201527614995b99195c995c881c185e5b595b9d0819985a5b1959604a1b60448201526064016104c1565b505b60006121448285612771565b9050600060646003548361215891906129a2565b61216291906129c1565b90508015612206576002546040516000916001600160a01b03169083908381818185875af1925050503d80600081146121b7576040519150601f19603f3d011682016040523d82523d6000602084013e6121bc565b606091505b50509050806122045760405162461bcd60e51b815260206004820152601460248201527313dddb995c881c185e5b595b9d0819985a5b195960621b60448201526064016104c1565b505b6000816122138588612771565b61221d9190612771565b60015460405163cc74234b60e01b8152600481018a905291925060009182916001600160a01b03169063cc74234b9060240160206040518083038186803b15801561226757600080fd5b505afa15801561227b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229f9190612758565b11156124595760015460405163cc74234b60e01b8152600481018a90526064916001600160a01b03169063cc74234b9060240160206040518083038186803b1580156122ea57600080fd5b505afa1580156122fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123229190612758565b61232c90846129a2565b61233691906129c1565b9050801561245957600154604051636bd8225b60e11b8152600481018a90526000916001600160a01b03169063d7b044b69060240160206040518083038186803b15801561238357600080fd5b505afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114612405576040519150601f19603f3d011682016040523d82523d6000602084013e61240a565b606091505b50509050806124575760405162461bcd60e51b81526020600482015260196024820152781059191a5d1a5bdb985b081c185e5b595b9d0819985a5b1959603a1b60448201526064016104c1565b505b60006124658284612771565b90508015611dcc5760015460405163a47d29cb60e01b8152600481018b90526000916001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156124b257600080fd5b505afa1580156124c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ea91906126d7565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114612534576040519150601f19603f3d011682016040523d82523d6000602084013e612539565b606091505b50509050806125825760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016104c1565b5050505050505050505b50565b600080604083850312156125a257600080fd5b82359150602083013560ff811681146125ba57600080fd5b809150509250929050565b6001600160a01b038116811461258c57600080fd5b6000602082840312156125ec57600080fd5b813561138b816125c5565b60006020828403121561260957600080fd5b5035919050565b6000806040838503121561262357600080fd5b823561262e816125c5565b946020939093013593505050565b6000806040838503121561264f57600080fd5b8235915060208301356125ba816125c5565b6001600160a01b0391909116815260200190565b8051801515811461268557600080fd5b919050565b60006020828403121561269c57600080fd5b61138b82612675565b60208082526018908201527731b0b71037b7363c9031329039b2ba10313c9030b236b4b760411b604082015260600190565b6000602082840312156126e957600080fd5b815161138b816125c5565b60208082526019908201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060001982141561275157612751612727565b5060010190565b60006020828403121561276a57600080fd5b5051919050565b60008282101561278357612783612727565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826127ad576127ad612788565b500690565b634e487b7160e01b600052604160045260246000fd5b60005b838110156127e35781810151838201526020016127cb565b838111156127f2576000848401525b50505050565b600082601f83011261280957600080fd5b81516001600160401b0380821115612823576128236127b2565b604051601f8301601f19908116603f0116810190828211818310171561284b5761284b6127b2565b8160405283815286602085880101111561286457600080fd5b6128758460208301602089016127c8565b9695505050505050565b60006020828403121561289157600080fd5b81516001600160401b038111156128a757600080fd5b6128b3848285016127f8565b949350505050565b600082516128cd8184602087016127c8565b9190910192915050565b6001600160a01b0392831681529116602082015260400190565b60008060008060008060008060006101208a8c03121561291057600080fd5b895161291b816125c5565b8099505060208a0151975060408a0151965060608a0151955061294060808b01612675565b945060a08a0151612950816125c5565b60c08b015160e08c015191955093506001600160401b0381111561297357600080fd5b61297f8c828d016127f8565b9250506101008a0151612991816125c5565b809150509295985092959850929598565b60008160001904831182151516156129bc576129bc612727565b500290565b6000826129d0576129d0612788565b500490565b6001600160a01b03938416815291909216602082015260408101919091526060019056fea26469706673582212209f0126d9d5bf3d6bf8533b9fa5f44da5c973a1865a71e9247382e12b114254c464736f6c63430008090033",
379
+ "linkReferences": {},
380
+ "deployedLinkReferences": {}
381
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EngineRegistryV0",
4
+ "sourceName": "contracts/engine-registry/EngineRegistryV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "_contractAddress",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "bytes32",
23
+ "name": "_coreVersion",
24
+ "type": "bytes32"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "bytes32",
29
+ "name": "_coreType",
30
+ "type": "bytes32"
31
+ }
32
+ ],
33
+ "name": "ContractRegistered",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "_contractAddress",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "ContractUnregistered",
47
+ "type": "event"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "_contractAddress",
54
+ "type": "address"
55
+ },
56
+ {
57
+ "internalType": "bytes32",
58
+ "name": "_coreVersion",
59
+ "type": "bytes32"
60
+ },
61
+ {
62
+ "internalType": "bytes32",
63
+ "name": "_coreType",
64
+ "type": "bytes32"
65
+ }
66
+ ],
67
+ "name": "registerContract",
68
+ "outputs": [],
69
+ "stateMutability": "nonpayable",
70
+ "type": "function"
71
+ },
72
+ {
73
+ "inputs": [
74
+ {
75
+ "internalType": "bytes4",
76
+ "name": "interfaceId",
77
+ "type": "bytes4"
78
+ }
79
+ ],
80
+ "name": "supportsInterface",
81
+ "outputs": [
82
+ {
83
+ "internalType": "bool",
84
+ "name": "",
85
+ "type": "bool"
86
+ }
87
+ ],
88
+ "stateMutability": "view",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "address",
95
+ "name": "_contractAddress",
96
+ "type": "address"
97
+ }
98
+ ],
99
+ "name": "unregisterContract",
100
+ "outputs": [],
101
+ "stateMutability": "nonpayable",
102
+ "type": "function"
103
+ }
104
+ ],
105
+ "bytecode": "0x60a060405234801561001057600080fd5b50326080526080516103936100366000396000818160b1015261016c01526103936000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063f889b3ed1461007e578063fac2c62114610093575b600080fd5b61006a61005436600461027b565b6001600160e01b0319166301ffc9a760e01b1490565b604051901515815260200160405180910390f35b61009161008c3660046102c8565b6100a6565b005b6100916100a13660046102fb565b610161565b326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100f75760405162461bcd60e51b81526004016100ee90610316565b60405180910390fd5b60408051838152602081018390526001600160a01b038516917f961dc2d336161fe3b9b4b3966ee713e56cdc9143f77c75a4334e85d6e96bc158910160405180910390a250506001600160a01b03166000908152602081905260409020805460ff19166001179055565b326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a95760405162461bcd60e51b81526004016100ee90610316565b6001600160a01b03811660009081526020819052604090205460ff166102265760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920756e726567697374657220616c726561647920726567697374657260448201526b656420636f6e74726163747360a01b60648201526084016100ee565b6040516001600160a01b038216907f3475b9891ecf29e996feed01eeb42a860ec225283a439d214ffaeac5e006be7d90600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b60006020828403121561028d57600080fd5b81356001600160e01b0319811681146102a557600080fd5b9392505050565b80356001600160a01b03811681146102c357600080fd5b919050565b6000806000606084860312156102dd57600080fd5b6102e6846102ac565b95602085013595506040909401359392505050565b60006020828403121561030d57600080fd5b6102a5826102ac565b60208082526027908201527f4f6e6c7920616c6c6f776564206465706c6f7965722d616464726573732054586040820152661037b934b3b4b760c91b60608201526080019056fea2646970667358221220154e61c347027e11a13324d16beb23489881e3b244026ab64c6d32a1532c88f064736f6c63430008110033",
106
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063f889b3ed1461007e578063fac2c62114610093575b600080fd5b61006a61005436600461027b565b6001600160e01b0319166301ffc9a760e01b1490565b604051901515815260200160405180910390f35b61009161008c3660046102c8565b6100a6565b005b6100916100a13660046102fb565b610161565b326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100f75760405162461bcd60e51b81526004016100ee90610316565b60405180910390fd5b60408051838152602081018390526001600160a01b038516917f961dc2d336161fe3b9b4b3966ee713e56cdc9143f77c75a4334e85d6e96bc158910160405180910390a250506001600160a01b03166000908152602081905260409020805460ff19166001179055565b326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a95760405162461bcd60e51b81526004016100ee90610316565b6001600160a01b03811660009081526020819052604090205460ff166102265760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920756e726567697374657220616c726561647920726567697374657260448201526b656420636f6e74726163747360a01b60648201526084016100ee565b6040516001600160a01b038216907f3475b9891ecf29e996feed01eeb42a860ec225283a439d214ffaeac5e006be7d90600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b60006020828403121561028d57600080fd5b81356001600160e01b0319811681146102a557600080fd5b9392505050565b80356001600160a01b03811681146102c357600080fd5b919050565b6000806000606084860312156102dd57600080fd5b6102e6846102ac565b95602085013595506040909401359392505050565b60006020828403121561030d57600080fd5b6102a5826102ac565b60208082526027908201527f4f6e6c7920616c6c6f776564206465706c6f7965722d616464726573732054586040820152661037b934b3b4b760c91b60608201526080019056fea2646970667358221220154e61c347027e11a13324d16beb23489881e3b244026ab64c6d32a1532c88f064736f6c63430008110033",
107
+ "linkReferences": {},
108
+ "deployedLinkReferences": {}
109
+ }