@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,529 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "DelegationRegistry",
4
+ "sourceName": "contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "vault",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "delegate",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "bool",
24
+ "name": "value",
25
+ "type": "bool"
26
+ }
27
+ ],
28
+ "name": "DelegateForAll",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": false,
36
+ "internalType": "address",
37
+ "name": "vault",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": false,
42
+ "internalType": "address",
43
+ "name": "delegate",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "address",
49
+ "name": "contract_",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "bool",
55
+ "name": "value",
56
+ "type": "bool"
57
+ }
58
+ ],
59
+ "name": "DelegateForContract",
60
+ "type": "event"
61
+ },
62
+ {
63
+ "anonymous": false,
64
+ "inputs": [
65
+ {
66
+ "indexed": false,
67
+ "internalType": "address",
68
+ "name": "vault",
69
+ "type": "address"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "address",
74
+ "name": "delegate",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "address",
80
+ "name": "contract_",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "tokenId",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "bool",
92
+ "name": "value",
93
+ "type": "bool"
94
+ }
95
+ ],
96
+ "name": "DelegateForToken",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": false,
104
+ "internalType": "address",
105
+ "name": "vault",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "RevokeAllDelegates",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": false,
117
+ "internalType": "address",
118
+ "name": "vault",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "address",
124
+ "name": "delegate",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "name": "RevokeDelegate",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "delegate",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "internalType": "address",
140
+ "name": "vault",
141
+ "type": "address"
142
+ }
143
+ ],
144
+ "name": "checkDelegateForAll",
145
+ "outputs": [
146
+ {
147
+ "internalType": "bool",
148
+ "name": "",
149
+ "type": "bool"
150
+ }
151
+ ],
152
+ "stateMutability": "view",
153
+ "type": "function"
154
+ },
155
+ {
156
+ "inputs": [
157
+ {
158
+ "internalType": "address",
159
+ "name": "delegate",
160
+ "type": "address"
161
+ },
162
+ {
163
+ "internalType": "address",
164
+ "name": "vault",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "internalType": "address",
169
+ "name": "contract_",
170
+ "type": "address"
171
+ }
172
+ ],
173
+ "name": "checkDelegateForContract",
174
+ "outputs": [
175
+ {
176
+ "internalType": "bool",
177
+ "name": "",
178
+ "type": "bool"
179
+ }
180
+ ],
181
+ "stateMutability": "view",
182
+ "type": "function"
183
+ },
184
+ {
185
+ "inputs": [
186
+ {
187
+ "internalType": "address",
188
+ "name": "delegate",
189
+ "type": "address"
190
+ },
191
+ {
192
+ "internalType": "address",
193
+ "name": "vault",
194
+ "type": "address"
195
+ },
196
+ {
197
+ "internalType": "address",
198
+ "name": "contract_",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "internalType": "uint256",
203
+ "name": "tokenId",
204
+ "type": "uint256"
205
+ }
206
+ ],
207
+ "name": "checkDelegateForToken",
208
+ "outputs": [
209
+ {
210
+ "internalType": "bool",
211
+ "name": "",
212
+ "type": "bool"
213
+ }
214
+ ],
215
+ "stateMutability": "view",
216
+ "type": "function"
217
+ },
218
+ {
219
+ "inputs": [
220
+ {
221
+ "internalType": "address",
222
+ "name": "delegate",
223
+ "type": "address"
224
+ },
225
+ {
226
+ "internalType": "bool",
227
+ "name": "value",
228
+ "type": "bool"
229
+ }
230
+ ],
231
+ "name": "delegateForAll",
232
+ "outputs": [],
233
+ "stateMutability": "nonpayable",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [
238
+ {
239
+ "internalType": "address",
240
+ "name": "delegate",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "internalType": "address",
245
+ "name": "contract_",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "bool",
250
+ "name": "value",
251
+ "type": "bool"
252
+ }
253
+ ],
254
+ "name": "delegateForContract",
255
+ "outputs": [],
256
+ "stateMutability": "nonpayable",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [
261
+ {
262
+ "internalType": "address",
263
+ "name": "delegate",
264
+ "type": "address"
265
+ },
266
+ {
267
+ "internalType": "address",
268
+ "name": "contract_",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "tokenId",
274
+ "type": "uint256"
275
+ },
276
+ {
277
+ "internalType": "bool",
278
+ "name": "value",
279
+ "type": "bool"
280
+ }
281
+ ],
282
+ "name": "delegateForToken",
283
+ "outputs": [],
284
+ "stateMutability": "nonpayable",
285
+ "type": "function"
286
+ },
287
+ {
288
+ "inputs": [
289
+ {
290
+ "internalType": "address",
291
+ "name": "vault",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "name": "getContractLevelDelegations",
296
+ "outputs": [
297
+ {
298
+ "components": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "contract_",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "internalType": "address",
306
+ "name": "delegate",
307
+ "type": "address"
308
+ }
309
+ ],
310
+ "internalType": "struct IDelegationRegistry.ContractDelegation[]",
311
+ "name": "contractDelegations",
312
+ "type": "tuple[]"
313
+ }
314
+ ],
315
+ "stateMutability": "view",
316
+ "type": "function"
317
+ },
318
+ {
319
+ "inputs": [
320
+ {
321
+ "internalType": "address",
322
+ "name": "vault",
323
+ "type": "address"
324
+ }
325
+ ],
326
+ "name": "getDelegatesForAll",
327
+ "outputs": [
328
+ {
329
+ "internalType": "address[]",
330
+ "name": "delegates",
331
+ "type": "address[]"
332
+ }
333
+ ],
334
+ "stateMutability": "view",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [
339
+ {
340
+ "internalType": "address",
341
+ "name": "vault",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "internalType": "address",
346
+ "name": "contract_",
347
+ "type": "address"
348
+ }
349
+ ],
350
+ "name": "getDelegatesForContract",
351
+ "outputs": [
352
+ {
353
+ "internalType": "address[]",
354
+ "name": "delegates",
355
+ "type": "address[]"
356
+ }
357
+ ],
358
+ "stateMutability": "view",
359
+ "type": "function"
360
+ },
361
+ {
362
+ "inputs": [
363
+ {
364
+ "internalType": "address",
365
+ "name": "vault",
366
+ "type": "address"
367
+ },
368
+ {
369
+ "internalType": "address",
370
+ "name": "contract_",
371
+ "type": "address"
372
+ },
373
+ {
374
+ "internalType": "uint256",
375
+ "name": "tokenId",
376
+ "type": "uint256"
377
+ }
378
+ ],
379
+ "name": "getDelegatesForToken",
380
+ "outputs": [
381
+ {
382
+ "internalType": "address[]",
383
+ "name": "delegates",
384
+ "type": "address[]"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "address",
394
+ "name": "delegate",
395
+ "type": "address"
396
+ }
397
+ ],
398
+ "name": "getDelegationsByDelegate",
399
+ "outputs": [
400
+ {
401
+ "components": [
402
+ {
403
+ "internalType": "enum IDelegationRegistry.DelegationType",
404
+ "name": "type_",
405
+ "type": "uint8"
406
+ },
407
+ {
408
+ "internalType": "address",
409
+ "name": "vault",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "internalType": "address",
414
+ "name": "delegate",
415
+ "type": "address"
416
+ },
417
+ {
418
+ "internalType": "address",
419
+ "name": "contract_",
420
+ "type": "address"
421
+ },
422
+ {
423
+ "internalType": "uint256",
424
+ "name": "tokenId",
425
+ "type": "uint256"
426
+ }
427
+ ],
428
+ "internalType": "struct IDelegationRegistry.DelegationInfo[]",
429
+ "name": "info",
430
+ "type": "tuple[]"
431
+ }
432
+ ],
433
+ "stateMutability": "view",
434
+ "type": "function"
435
+ },
436
+ {
437
+ "inputs": [
438
+ {
439
+ "internalType": "address",
440
+ "name": "vault",
441
+ "type": "address"
442
+ }
443
+ ],
444
+ "name": "getTokenLevelDelegations",
445
+ "outputs": [
446
+ {
447
+ "components": [
448
+ {
449
+ "internalType": "address",
450
+ "name": "contract_",
451
+ "type": "address"
452
+ },
453
+ {
454
+ "internalType": "uint256",
455
+ "name": "tokenId",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "internalType": "address",
460
+ "name": "delegate",
461
+ "type": "address"
462
+ }
463
+ ],
464
+ "internalType": "struct IDelegationRegistry.TokenDelegation[]",
465
+ "name": "tokenDelegations",
466
+ "type": "tuple[]"
467
+ }
468
+ ],
469
+ "stateMutability": "view",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [],
474
+ "name": "revokeAllDelegates",
475
+ "outputs": [],
476
+ "stateMutability": "nonpayable",
477
+ "type": "function"
478
+ },
479
+ {
480
+ "inputs": [
481
+ {
482
+ "internalType": "address",
483
+ "name": "delegate",
484
+ "type": "address"
485
+ }
486
+ ],
487
+ "name": "revokeDelegate",
488
+ "outputs": [],
489
+ "stateMutability": "nonpayable",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [
494
+ {
495
+ "internalType": "address",
496
+ "name": "vault",
497
+ "type": "address"
498
+ }
499
+ ],
500
+ "name": "revokeSelf",
501
+ "outputs": [],
502
+ "stateMutability": "nonpayable",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [
507
+ {
508
+ "internalType": "bytes4",
509
+ "name": "interfaceId",
510
+ "type": "bytes4"
511
+ }
512
+ ],
513
+ "name": "supportsInterface",
514
+ "outputs": [
515
+ {
516
+ "internalType": "bool",
517
+ "name": "",
518
+ "type": "bool"
519
+ }
520
+ ],
521
+ "stateMutability": "view",
522
+ "type": "function"
523
+ }
524
+ ],
525
+ "bytecode": "0x608060405234801561001057600080fd5b50611883806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d55780631221156b146100fd5780631b61f6751461011d578063219044b014610130578063361378721461014557806349c95d291461014d5780634fc6928214610160578063537a5c3d14610180578063685ee3e8146101935780636f007d87146101a657806390c9a2d0146101c65780639c395bc2146101d9578063aba69cf8146101ec578063ed4b878e146101ff578063f956cf9414610212578063fa352c0014610232575b600080fd5b6100e86100e336600461135f565b610245565b60405190151581526020015b60405180910390f35b61011061010b3660046113a5565b61027c565b6040516100f491906113e1565b61011061012b36600461142e565b610293565b61014361013e36600461142e565b6102a3565b005b6101436102b0565b61014361015b366004611459565b610306565b61017361016e36600461142e565b61037d565b6040516100f491906114b2565b61014361018e36600461154f565b6105b7565b6101436101a136600461159c565b610636565b6101b96101b436600461142e565b6106a3565b6040516100f491906115cf565b6100e86101d4366004611635565b61081b565b6100e86101e736600461166f565b6108cb565b6100e86101fa366004611699565b61095b565b61011061020d36600461166f565b610a10565b61022561022036600461142e565b610a27565b6040516100f491906116e4565b61014361024036600461142e565b610b86565b60006001600160e01b03198216630596d3d560e01b148061027657506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061028b8460038585610b90565b949350505050565b6060610276826001600080610b90565b6102ad3382610e09565b50565b33600090815260016020526040812080549091906102cd90611749565b909155506040513381527f32d74befd0b842e19694e3e3af46263e18bcce41352c8b600ff0002b49edf6629060200160405180910390a1565b6000610313338585610e87565b9050610326848284600233886000610ef3565b604080513381526001600160a01b038681166020830152851681830152831515606082015290517f8d6b2f5255b8d815cc368855b2251146e003bf4e2fcccaec66145fff5c174b4f9181900360800190a150505050565b6001600160a01b03811660009081526003602052604081206060916103a1826110d5565b90506000816001600160401b038111156103bd576103bd611762565b60405190808252806020026020018201604052801561041657816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282526000199092019101816103db5790505b50935060005b8281101561059c57600061043085836110df565b600081815260046020526040808220815160a0810190925280549394509192909190829060ff1660038111156104685761046861149c565b60038111156104795761047961149c565b815281546001600160a01b036101009091048116602080840191909152600180850154831660408501526002850154909216606084015260039093015460809092019190915290820151825192935091906000908260038111156104df576104df61149c565b036104fd576104ee838c6110eb565b85036104f8575060015b61055c565b60028260038111156105115761051161149c565b03610525576104ee838c8660600151610e87565b60038260038111156105395761053961149c565b0361055c57610552838c86606001518760800151611154565b850361055c575060015b801561058c57838a8861056e81611749565b99508151811061058057610580611778565b60200260200101819052505b856001019550505050505061041c565b50808211156105af578351818303900384525b505050919050565b60006105c533868686611154565b90506105d78582846003338989610ef3565b604080513381526001600160a01b03878116602083015286168183015260608101859052831515608082015290517fe89c6ba1e8957285aed22618f52aa1dcb9d5bb64e1533d8b55136c72fcf5aa5d9181900360a00190a15050505050565b600061064233846110eb565b9050610655838284600133600080610ef3565b604080513381526001600160a01b03851660208201528315158183015290517f58781eab4a0743ab1c285a238be846a235f06cdb5b968030573a635e5f8c92fa9181900360600190a1505050565b6001600160a01b0381166000908152602081815260408083206001835281842054845290915281206060916106d7826110d5565b90506000816001600160401b038111156106f3576106f3611762565b60405190808252806020026020018201604052801561073e57816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816107115790505b50935060005b8281101561059c57600061075885836110df565b60008181526004602052604090209091506003815460ff1660038111156107815761078161149c565b03610811576001810154600282015460038301546107af928b926001600160a01b0391821692911690611154565b8203610811576040805160608101825260028301546001600160a01b039081168252600384015460208301526001840154169181019190915287856107f381611749565b96508151811061080557610805611778565b60200260200101819052505b5050600101610744565b6001600160a01b03808316600090815260016020908152604080832054600283528184209488168452938252808320549051929384936108639389938993899390920161178e565b60408051601f1981840301815291815281516020928301206001600160a01b03871660009081528084528281206001855283822054825290935291209091506108ac90826111c3565b6108bf576108ba85856108cb565b6108c2565b60015b95945050505050565b6001600160a01b03808216600090815260016020908152604080832054600283528184209487168452938252808320549051929384936109129388938893929091016117c2565b60408051601f1981840301815291815281516020928301206001600160a01b038616600090815280845282812060018552838220548252909352912090915061028b90826111c3565b6001600160a01b03808416600090815260016020908152604080832054600283528184209489168452938252808320549051929384936109a6938a938a938a938a93919291016117eb565b60408051601f1981840301815291815281516020928301206001600160a01b03881660009081528084528281206001855283822054825290935291209091506109ef90826111c3565b610a03576109fe86868661081b565b610a06565b60015b9695505050505050565b6060610a20836002846000610b90565b9392505050565b6001600160a01b038116600090815260208181526040808320600183528184205484529091528120606091610a5b826110d5565b90506000816001600160401b03811115610a7757610a77611762565b604051908082528060200260200182016040528015610abc57816020015b6040805180820190915260008082526020820152815260200190600190039081610a955790505b50935060005b8281101561059c576000610ad685836110df565b60008181526004602052604090209091506002815460ff166003811115610aff57610aff61149c565b03610b7c5760018101546002820154610b26918a916001600160a01b039182169116610e87565b8203610b7c576040805180820190915260028201546001600160a01b03908116825260018301541660208201528785610b5e81611749565b965081518110610b7057610b70611778565b60200260200101819052505b5050600101610ac2565b6102ad8133610e09565b6001600160a01b038416600090815260208181526040808320600183528184205484529091528120606091610bc4826110d5565b90506000816001600160401b03811115610be057610be0611762565b604051908082528060200260200182016040528015610c09578160200160208202803683370190505b50935060005b82811015610deb576000610c2385836110df565b6000818152600460205260409020909150896003811115610c4657610c4661149c565b815460ff166003811115610c5c57610c5c61149c565b03610de15760018a6003811115610c7557610c7561149c565b03610cea576001810154610c93908c906001600160a01b03166110eb565b8203610ce55760018101546001600160a01b03168785610cb281611749565b965081518110610cc457610cc4611778565b60200260200101906001600160a01b031690816001600160a01b0316815250505b610de1565b60028a6003811115610cfe57610cfe61149c565b03610d345760028101546001600160a01b03808b16911603610ce5576001810154610c93908c906001600160a01b03168b610e87565b60038a6003811115610d4857610d4861149c565b03610de15760028101546001600160a01b038a81169116148015610d6f5750878160030154145b15610de1576001810154610d8f908c906001600160a01b03168b8b611154565b8203610de15760018101546001600160a01b03168785610dae81611749565b965081518110610dc057610dc0611778565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5050600101610c0f565b5080821115610dfe578351818303900384525b505050949350505050565b6001600160a01b03808216600090815260026020908152604080832093861683529290529081208054909190610e3e90611749565b90915550604080516001600160a01b03831681523360208201527f3e34a3ee53064fb79c0ee57448f03774a627a9270b0c41286efb7d8e32dcde93910160405180910390a15050565b6001600160a01b038084166000908152600160209081526040808320546002835281842094871684529382528083205490519293929091610ed291879189918891879187910161178e565b60405160208183030381529060405280519060200120925050509392505050565b8415611035576001600160a01b038316600090815260208181526040808320600183528184205484529091529020610f2b90876111db565b506001600160a01b0387166000908152600360205260409020610f4e90876111db565b506040518060a00160405280856003811115610f6c57610f6c61149c565b81526001600160a01b038086166020808401919091528a82166040808501919091529186166060840152608090920184905260008981526004909252902081518154829060ff19166001836003811115610fc857610fc861149c565b0217905550602082015181546001600160a01b0391821661010002610100600160a81b031990911617825560408301516001830180549183166001600160a01b031992831617905560608401516002840180549190931691161790556080909101516003909101556110cc565b6001600160a01b03831660009081526020818152604080832060018352818420548452909152902061106790876111e7565b506001600160a01b038716600090815260036020526040902061108a90876111e7565b50600086815260046020526040812080546001600160a81b03191681556001810180546001600160a01b03199081169091556002820180549091169055600301555b50505050505050565b6000610276825490565b6000610a2083836111f3565b6001600160a01b038083166000908152600160209081526040808320546002835281842094861684529382528083205490519293929091611134918691889186918691016117c2565b604051602081830303815290604052805190602001209250505092915050565b6001600160a01b0380851660009081526001602090815260408083205460028352818420948816845293825280832054905192939290916111a19188918a918991899188918891016117eb565b6040516020818303038152906040528051906020012092505050949350505050565b60008181526001830160205260408120541515610a20565b6000610a20838361121d565b6000610a20838361126c565b600082600001828154811061120a5761120a611778565b9060005260206000200154905092915050565b600081815260018301602052604081205461126457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610276565b506000610276565b60008181526001830160205260408120548015611355576000611290600183611824565b85549091506000906112a490600190611824565b90508181146113095760008660000182815481106112c4576112c4611778565b90600052602060002001549050808760000184815481106112e7576112e7611778565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061131a5761131a611837565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610276565b6000915050610276565b60006020828403121561137157600080fd5b81356001600160e01b031981168114610a2057600080fd5b80356001600160a01b03811681146113a057600080fd5b919050565b6000806000606084860312156113ba57600080fd5b6113c384611389565b92506113d160208501611389565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156114225783516001600160a01b0316835292840192918401916001016113fd565b50909695505050505050565b60006020828403121561144057600080fd5b610a2082611389565b803580151581146113a057600080fd5b60008060006060848603121561146e57600080fd5b61147784611389565b925061148560208501611389565b915061149360408501611449565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b60208082528251828201819052600091906040908185019086840185805b83811015611541578251805160048082106114f857634e487b7160e01b855260218152602485fd5b508652808801516001600160a01b039081168988015287820151811688880152606080830151909116908701526080908101519086015260a090940193918601916001016114d0565b509298975050505050505050565b6000806000806080858703121561156557600080fd5b61156e85611389565b935061157c60208601611389565b92506040850135915061159160608601611449565b905092959194509250565b600080604083850312156115af57600080fd5b6115b883611389565b91506115c660208401611449565b90509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561162857815180516001600160a01b0390811686528782015188870152908601511685850152606090930192908501906001016115ec565b5091979650505050505050565b60008060006060848603121561164a57600080fd5b61165384611389565b925061166160208501611389565b915061149360408501611389565b6000806040838503121561168257600080fd5b61168b83611389565b91506115c660208401611389565b600080600080608085870312156116af57600080fd5b6116b885611389565b93506116c660208601611389565b92506116d460408601611389565b9396929550929360600135925050565b602080825282518282018190526000919060409081850190868401855b8281101561162857815180516001600160a01b0390811686529087015116868501529284019290850190600101611701565b634e487b7160e01b600052601160045260246000fd5b60006001820161175b5761175b611733565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925260a081019190915260c00190565b8181038181111561027657610276611733565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220d4f7ae99e7c089aeb9ed4183ba06a183d7f2bc337199aa02aa7c3b8531997c1a64736f6c63430008110033",
526
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d55780631221156b146100fd5780631b61f6751461011d578063219044b014610130578063361378721461014557806349c95d291461014d5780634fc6928214610160578063537a5c3d14610180578063685ee3e8146101935780636f007d87146101a657806390c9a2d0146101c65780639c395bc2146101d9578063aba69cf8146101ec578063ed4b878e146101ff578063f956cf9414610212578063fa352c0014610232575b600080fd5b6100e86100e336600461135f565b610245565b60405190151581526020015b60405180910390f35b61011061010b3660046113a5565b61027c565b6040516100f491906113e1565b61011061012b36600461142e565b610293565b61014361013e36600461142e565b6102a3565b005b6101436102b0565b61014361015b366004611459565b610306565b61017361016e36600461142e565b61037d565b6040516100f491906114b2565b61014361018e36600461154f565b6105b7565b6101436101a136600461159c565b610636565b6101b96101b436600461142e565b6106a3565b6040516100f491906115cf565b6100e86101d4366004611635565b61081b565b6100e86101e736600461166f565b6108cb565b6100e86101fa366004611699565b61095b565b61011061020d36600461166f565b610a10565b61022561022036600461142e565b610a27565b6040516100f491906116e4565b61014361024036600461142e565b610b86565b60006001600160e01b03198216630596d3d560e01b148061027657506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061028b8460038585610b90565b949350505050565b6060610276826001600080610b90565b6102ad3382610e09565b50565b33600090815260016020526040812080549091906102cd90611749565b909155506040513381527f32d74befd0b842e19694e3e3af46263e18bcce41352c8b600ff0002b49edf6629060200160405180910390a1565b6000610313338585610e87565b9050610326848284600233886000610ef3565b604080513381526001600160a01b038681166020830152851681830152831515606082015290517f8d6b2f5255b8d815cc368855b2251146e003bf4e2fcccaec66145fff5c174b4f9181900360800190a150505050565b6001600160a01b03811660009081526003602052604081206060916103a1826110d5565b90506000816001600160401b038111156103bd576103bd611762565b60405190808252806020026020018201604052801561041657816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282526000199092019101816103db5790505b50935060005b8281101561059c57600061043085836110df565b600081815260046020526040808220815160a0810190925280549394509192909190829060ff1660038111156104685761046861149c565b60038111156104795761047961149c565b815281546001600160a01b036101009091048116602080840191909152600180850154831660408501526002850154909216606084015260039093015460809092019190915290820151825192935091906000908260038111156104df576104df61149c565b036104fd576104ee838c6110eb565b85036104f8575060015b61055c565b60028260038111156105115761051161149c565b03610525576104ee838c8660600151610e87565b60038260038111156105395761053961149c565b0361055c57610552838c86606001518760800151611154565b850361055c575060015b801561058c57838a8861056e81611749565b99508151811061058057610580611778565b60200260200101819052505b856001019550505050505061041c565b50808211156105af578351818303900384525b505050919050565b60006105c533868686611154565b90506105d78582846003338989610ef3565b604080513381526001600160a01b03878116602083015286168183015260608101859052831515608082015290517fe89c6ba1e8957285aed22618f52aa1dcb9d5bb64e1533d8b55136c72fcf5aa5d9181900360a00190a15050505050565b600061064233846110eb565b9050610655838284600133600080610ef3565b604080513381526001600160a01b03851660208201528315158183015290517f58781eab4a0743ab1c285a238be846a235f06cdb5b968030573a635e5f8c92fa9181900360600190a1505050565b6001600160a01b0381166000908152602081815260408083206001835281842054845290915281206060916106d7826110d5565b90506000816001600160401b038111156106f3576106f3611762565b60405190808252806020026020018201604052801561073e57816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816107115790505b50935060005b8281101561059c57600061075885836110df565b60008181526004602052604090209091506003815460ff1660038111156107815761078161149c565b03610811576001810154600282015460038301546107af928b926001600160a01b0391821692911690611154565b8203610811576040805160608101825260028301546001600160a01b039081168252600384015460208301526001840154169181019190915287856107f381611749565b96508151811061080557610805611778565b60200260200101819052505b5050600101610744565b6001600160a01b03808316600090815260016020908152604080832054600283528184209488168452938252808320549051929384936108639389938993899390920161178e565b60408051601f1981840301815291815281516020928301206001600160a01b03871660009081528084528281206001855283822054825290935291209091506108ac90826111c3565b6108bf576108ba85856108cb565b6108c2565b60015b95945050505050565b6001600160a01b03808216600090815260016020908152604080832054600283528184209487168452938252808320549051929384936109129388938893929091016117c2565b60408051601f1981840301815291815281516020928301206001600160a01b038616600090815280845282812060018552838220548252909352912090915061028b90826111c3565b6001600160a01b03808416600090815260016020908152604080832054600283528184209489168452938252808320549051929384936109a6938a938a938a938a93919291016117eb565b60408051601f1981840301815291815281516020928301206001600160a01b03881660009081528084528281206001855283822054825290935291209091506109ef90826111c3565b610a03576109fe86868661081b565b610a06565b60015b9695505050505050565b6060610a20836002846000610b90565b9392505050565b6001600160a01b038116600090815260208181526040808320600183528184205484529091528120606091610a5b826110d5565b90506000816001600160401b03811115610a7757610a77611762565b604051908082528060200260200182016040528015610abc57816020015b6040805180820190915260008082526020820152815260200190600190039081610a955790505b50935060005b8281101561059c576000610ad685836110df565b60008181526004602052604090209091506002815460ff166003811115610aff57610aff61149c565b03610b7c5760018101546002820154610b26918a916001600160a01b039182169116610e87565b8203610b7c576040805180820190915260028201546001600160a01b03908116825260018301541660208201528785610b5e81611749565b965081518110610b7057610b70611778565b60200260200101819052505b5050600101610ac2565b6102ad8133610e09565b6001600160a01b038416600090815260208181526040808320600183528184205484529091528120606091610bc4826110d5565b90506000816001600160401b03811115610be057610be0611762565b604051908082528060200260200182016040528015610c09578160200160208202803683370190505b50935060005b82811015610deb576000610c2385836110df565b6000818152600460205260409020909150896003811115610c4657610c4661149c565b815460ff166003811115610c5c57610c5c61149c565b03610de15760018a6003811115610c7557610c7561149c565b03610cea576001810154610c93908c906001600160a01b03166110eb565b8203610ce55760018101546001600160a01b03168785610cb281611749565b965081518110610cc457610cc4611778565b60200260200101906001600160a01b031690816001600160a01b0316815250505b610de1565b60028a6003811115610cfe57610cfe61149c565b03610d345760028101546001600160a01b03808b16911603610ce5576001810154610c93908c906001600160a01b03168b610e87565b60038a6003811115610d4857610d4861149c565b03610de15760028101546001600160a01b038a81169116148015610d6f5750878160030154145b15610de1576001810154610d8f908c906001600160a01b03168b8b611154565b8203610de15760018101546001600160a01b03168785610dae81611749565b965081518110610dc057610dc0611778565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5050600101610c0f565b5080821115610dfe578351818303900384525b505050949350505050565b6001600160a01b03808216600090815260026020908152604080832093861683529290529081208054909190610e3e90611749565b90915550604080516001600160a01b03831681523360208201527f3e34a3ee53064fb79c0ee57448f03774a627a9270b0c41286efb7d8e32dcde93910160405180910390a15050565b6001600160a01b038084166000908152600160209081526040808320546002835281842094871684529382528083205490519293929091610ed291879189918891879187910161178e565b60405160208183030381529060405280519060200120925050509392505050565b8415611035576001600160a01b038316600090815260208181526040808320600183528184205484529091529020610f2b90876111db565b506001600160a01b0387166000908152600360205260409020610f4e90876111db565b506040518060a00160405280856003811115610f6c57610f6c61149c565b81526001600160a01b038086166020808401919091528a82166040808501919091529186166060840152608090920184905260008981526004909252902081518154829060ff19166001836003811115610fc857610fc861149c565b0217905550602082015181546001600160a01b0391821661010002610100600160a81b031990911617825560408301516001830180549183166001600160a01b031992831617905560608401516002840180549190931691161790556080909101516003909101556110cc565b6001600160a01b03831660009081526020818152604080832060018352818420548452909152902061106790876111e7565b506001600160a01b038716600090815260036020526040902061108a90876111e7565b50600086815260046020526040812080546001600160a81b03191681556001810180546001600160a01b03199081169091556002820180549091169055600301555b50505050505050565b6000610276825490565b6000610a2083836111f3565b6001600160a01b038083166000908152600160209081526040808320546002835281842094861684529382528083205490519293929091611134918691889186918691016117c2565b604051602081830303815290604052805190602001209250505092915050565b6001600160a01b0380851660009081526001602090815260408083205460028352818420948816845293825280832054905192939290916111a19188918a918991899188918891016117eb565b6040516020818303038152906040528051906020012092505050949350505050565b60008181526001830160205260408120541515610a20565b6000610a20838361121d565b6000610a20838361126c565b600082600001828154811061120a5761120a611778565b9060005260206000200154905092915050565b600081815260018301602052604081205461126457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610276565b506000610276565b60008181526001830160205260408120548015611355576000611290600183611824565b85549091506000906112a490600190611824565b90508181146113095760008660000182815481106112c4576112c4611778565b90600052602060002001549050808760000184815481106112e7576112e7611778565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061131a5761131a611837565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610276565b6000915050610276565b60006020828403121561137157600080fd5b81356001600160e01b031981168114610a2057600080fd5b80356001600160a01b03811681146113a057600080fd5b919050565b6000806000606084860312156113ba57600080fd5b6113c384611389565b92506113d160208501611389565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156114225783516001600160a01b0316835292840192918401916001016113fd565b50909695505050505050565b60006020828403121561144057600080fd5b610a2082611389565b803580151581146113a057600080fd5b60008060006060848603121561146e57600080fd5b61147784611389565b925061148560208501611389565b915061149360408501611449565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b60208082528251828201819052600091906040908185019086840185805b83811015611541578251805160048082106114f857634e487b7160e01b855260218152602485fd5b508652808801516001600160a01b039081168988015287820151811688880152606080830151909116908701526080908101519086015260a090940193918601916001016114d0565b509298975050505050505050565b6000806000806080858703121561156557600080fd5b61156e85611389565b935061157c60208601611389565b92506040850135915061159160608601611449565b905092959194509250565b600080604083850312156115af57600080fd5b6115b883611389565b91506115c660208401611449565b90509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561162857815180516001600160a01b0390811686528782015188870152908601511685850152606090930192908501906001016115ec565b5091979650505050505050565b60008060006060848603121561164a57600080fd5b61165384611389565b925061166160208501611389565b915061149360408501611389565b6000806040838503121561168257600080fd5b61168b83611389565b91506115c660208401611389565b600080600080608085870312156116af57600080fd5b6116b885611389565b93506116c660208601611389565b92506116d460408601611389565b9396929550929360600135925050565b602080825282518282018190526000919060409081850190868401855b8281101561162857815180516001600160a01b0390811686529087015116868501529284019290850190600101611701565b634e487b7160e01b600052601160045260246000fd5b60006001820161175b5761175b611733565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925260a081019190915260c00190565b8181038181111561027657610276611733565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220d4f7ae99e7c089aeb9ed4183ba06a183d7f2bc337199aa02aa7c3b8531997c1a64736f6c63430008110033",
527
+ "linkReferences": {},
528
+ "deployedLinkReferences": {}
529
+ }