@gooddollar/goodcollective-contracts 1.0.1 → 1.0.2

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 (180) hide show
  1. package/contracts/DirectPayments/DirectPaymentsPool.sol +12 -2
  2. package/contracts/GoodCollective/GoodCollectiveSuperApp.sol +264 -0
  3. package/contracts/GoodCollective/SuperAppBaseFlow.sol +204 -0
  4. package/contracts/utils/SwapRouterMock.sol +32 -0
  5. package/package.json +4 -1
  6. package/releases/deployment.json +7984 -2746
  7. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/AggregatorV3Interface.ts +199 -0
  8. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/CERC20.ts +630 -0
  9. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/ERC20.ts +450 -0
  10. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IAaveIncentivesController.ts +161 -0
  11. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IAdminWallet.ts +189 -0
  12. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IDonationStaking.ts +98 -0
  13. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IERC2917.ts +750 -0
  14. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IFirstClaimPool.ts +144 -0
  15. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IGoodDollar.ts +1033 -0
  16. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IGoodStaking.ts +281 -0
  17. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IHasRouter.ts +81 -0
  18. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IIdentity.ts +598 -0
  19. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IIdentityV2.ts +689 -0
  20. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/ILendingPool.ts +257 -0
  21. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IMultichainRouter.ts +179 -0
  22. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/INameService.ts +100 -0
  23. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/IUBIScheme.ts +137 -0
  24. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/ProxyAdmin.ts +278 -0
  25. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/Reserve.ts +117 -0
  26. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/Staking.ts +175 -0
  27. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/Uniswap.ts +464 -0
  28. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/UniswapFactory.ts +105 -0
  29. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/UniswapPair.ts +209 -0
  30. package/typechain-types/@gooddollar/goodprotocol/contracts/Interfaces.sol/index.ts +26 -0
  31. package/typechain-types/@gooddollar/goodprotocol/contracts/index.ts +7 -0
  32. package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula.ts +115 -0
  33. package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +4 -0
  34. package/typechain-types/@gooddollar/goodprotocol/contracts/token/index.ts +7 -0
  35. package/typechain-types/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.ts +726 -0
  36. package/typechain-types/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.ts +3662 -0
  37. package/typechain-types/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/index.ts +5 -0
  38. package/typechain-types/@gooddollar/goodprotocol/contracts/token/superfluid/index.ts +5 -0
  39. package/typechain-types/@gooddollar/goodprotocol/index.ts +5 -0
  40. package/typechain-types/@gooddollar/index.ts +5 -0
  41. package/typechain-types/@openzeppelin/contracts/index.ts +4 -0
  42. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +342 -0
  43. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +4 -0
  44. package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.ts +559 -0
  45. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +619 -0
  46. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  47. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +6 -0
  48. package/typechain-types/@openzeppelin/contracts/token/ERC777/IERC777.ts +650 -0
  49. package/typechain-types/@openzeppelin/contracts/token/ERC777/index.ts +4 -0
  50. package/typechain-types/@openzeppelin/contracts/token/index.ts +9 -0
  51. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  52. package/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts +103 -0
  53. package/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts +4 -0
  54. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/index.ts +5 -0
  55. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1.ts +1390 -0
  56. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1.ts +1280 -0
  57. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/index.ts +5 -0
  58. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/index.ts +9 -0
  59. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT.ts +876 -0
  60. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT.ts +945 -0
  61. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase.ts +807 -0
  62. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement.ts +157 -0
  63. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp.ts +457 -0
  64. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken.ts +2806 -0
  65. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory.ts +465 -0
  66. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid.ts +1727 -0
  67. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance.ts +506 -0
  68. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.ts +1010 -0
  69. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/index.ts +13 -0
  70. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo.ts +384 -0
  71. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo.ts +109 -0
  72. package/typechain-types/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/index.ts +5 -0
  73. package/typechain-types/@superfluid-finance/ethereum-contracts/index.ts +5 -0
  74. package/typechain-types/@superfluid-finance/index.ts +5 -0
  75. package/typechain-types/@uniswap/index.ts +7 -0
  76. package/typechain-types/@uniswap/v3-core/contracts/index.ts +5 -0
  77. package/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.ts +122 -0
  78. package/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/index.ts +4 -0
  79. package/typechain-types/@uniswap/v3-core/contracts/interfaces/index.ts +5 -0
  80. package/typechain-types/@uniswap/v3-core/index.ts +5 -0
  81. package/typechain-types/@uniswap/v3-periphery/contracts/index.ts +5 -0
  82. package/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts +369 -0
  83. package/typechain-types/@uniswap/v3-periphery/contracts/interfaces/index.ts +4 -0
  84. package/typechain-types/@uniswap/v3-periphery/index.ts +5 -0
  85. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +763 -0
  86. package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.ts +843 -0
  87. package/typechain-types/contracts/GoodCollective/SuperAppBaseFlow.ts +523 -0
  88. package/typechain-types/contracts/GoodCollective/index.ts +5 -0
  89. package/typechain-types/contracts/index.ts +4 -1
  90. package/typechain-types/contracts/utils/SwapRouterMock.ts +194 -0
  91. package/typechain-types/contracts/utils/index.ts +4 -0
  92. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/AggregatorV3Interface__factory.ts +121 -0
  93. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/CERC20__factory.ts +384 -0
  94. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/ERC20__factory.ts +288 -0
  95. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IAaveIncentivesController__factory.ts +83 -0
  96. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IAdminWallet__factory.ts +78 -0
  97. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IDonationStaking__factory.ts +33 -0
  98. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IERC2917__factory.ts +496 -0
  99. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IFirstClaimPool__factory.ts +65 -0
  100. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IGoodDollar__factory.ts +598 -0
  101. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IGoodStaking__factory.ts +178 -0
  102. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IHasRouter__factory.ts +39 -0
  103. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IIdentityV2__factory.ts +334 -0
  104. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IIdentity__factory.ts +287 -0
  105. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/ILendingPool__factory.ts +171 -0
  106. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IMultichainRouter__factory.ts +82 -0
  107. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/INameService__factory.ts +45 -0
  108. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/IUBIScheme__factory.ts +71 -0
  109. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/ProxyAdmin__factory.ts +131 -0
  110. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/Reserve__factory.ts +55 -0
  111. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/Staking__factory.ts +77 -0
  112. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/UniswapFactory__factory.ts +50 -0
  113. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/UniswapPair__factory.ts +120 -0
  114. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/Uniswap__factory.ts +275 -0
  115. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/Interfaces.sol/index.ts +26 -0
  116. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/index.ts +5 -0
  117. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula__factory.ts +60 -0
  118. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +4 -0
  119. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/index.ts +5 -0
  120. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom__factory.ts +370 -0
  121. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar__factory.ts +2301 -0
  122. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/superfluid/ISuperGoodDollar.sol/index.ts +5 -0
  123. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/superfluid/index.ts +4 -0
  124. package/typechain-types/factories/@gooddollar/goodprotocol/index.ts +4 -0
  125. package/typechain-types/factories/@gooddollar/index.ts +4 -0
  126. package/typechain-types/factories/@openzeppelin/contracts/index.ts +2 -0
  127. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
  128. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +4 -0
  129. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +311 -0
  130. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +356 -0
  131. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  132. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  133. package/typechain-types/factories/@openzeppelin/contracts/token/ERC777/IERC777__factory.ts +417 -0
  134. package/typechain-types/factories/@openzeppelin/contracts/token/ERC777/index.ts +4 -0
  135. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +6 -0
  136. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
  137. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +45 -0
  138. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts +4 -0
  139. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/index.ts +4 -0
  140. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1__factory.ts +986 -0
  141. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.ts +1015 -0
  142. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/agreements/index.ts +5 -0
  143. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/index.ts +6 -0
  144. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantInflowNFT__factory.ts +551 -0
  145. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IConstantOutflowNFT__factory.ts +614 -0
  146. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/IFlowNFTBase__factory.ts +515 -0
  147. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperAgreement__factory.ts +78 -0
  148. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperApp__factory.ts +275 -0
  149. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperTokenFactory__factory.ts +276 -0
  150. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperToken__factory.ts +1839 -0
  151. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidGovernance__factory.ts +264 -0
  152. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken__factory.ts +697 -0
  153. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluid__factory.ts +1151 -0
  154. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/superfluid/index.ts +13 -0
  155. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/ERC20WithTokenInfo__factory.ts +248 -0
  156. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/TokenInfo__factory.ts +65 -0
  157. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/contracts/interfaces/tokens/index.ts +5 -0
  158. package/typechain-types/factories/@superfluid-finance/ethereum-contracts/index.ts +4 -0
  159. package/typechain-types/factories/@superfluid-finance/index.ts +4 -0
  160. package/typechain-types/factories/@uniswap/index.ts +5 -0
  161. package/typechain-types/factories/@uniswap/v3-core/contracts/index.ts +4 -0
  162. package/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory.ts +53 -0
  163. package/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/index.ts +4 -0
  164. package/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/index.ts +4 -0
  165. package/typechain-types/factories/@uniswap/v3-core/index.ts +4 -0
  166. package/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts +4 -0
  167. package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts +263 -0
  168. package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts +4 -0
  169. package/typechain-types/factories/@uniswap/v3-periphery/index.ts +4 -0
  170. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +1 -1
  171. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +581 -3
  172. package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory.ts +584 -0
  173. package/typechain-types/factories/contracts/GoodCollective/SuperAppBaseFlow__factory.ts +335 -0
  174. package/typechain-types/factories/contracts/GoodCollective/index.ts +5 -0
  175. package/typechain-types/factories/contracts/index.ts +2 -1
  176. package/typechain-types/factories/contracts/utils/SwapRouterMock__factory.ts +183 -0
  177. package/typechain-types/factories/contracts/utils/index.ts +4 -0
  178. package/typechain-types/factories/index.ts +3 -0
  179. package/typechain-types/hardhat.d.ts +445 -4
  180. package/typechain-types/index.ts +106 -4
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export * as contracts from "./contracts";
@@ -653,7 +653,7 @@ const _abi = [
653
653
  ] as const;
654
654
 
655
655
  const _bytecode =
656
- "0x60a06040523060805234801561001457600080fd5b50608051612ddf61004c60003960008181610682015281816106c501528181610756015281816107990152610a4f0152612ddf6000f3fe608060405260043610620001045760003560e01c806301ffc9a71462000109578063038defd71462000143578063248a9ca314620001795780632f2ff15d14620001ad57806336568abe14620001d45780633659cfe614620001f957806347ccca02146200021e5780634f1ef28614620002595780634f962c8c146200027057806352d1902d1462000295578063592f7b0514620002ad5780638abf607714620002e257806391d1485414620003045780639cedd89b14620003295780639cf5c6131462000363578063a217fddf1462000388578063c0c53b8b146200039f578063d547741f14620003c4578063e04a70b914620003e9578063fcf1e009146200040e575b600080fd5b3480156200011657600080fd5b506200012e6200012836600462001c97565b62000433565b60405190151581526020015b60405180910390f35b3480156200015057600080fd5b50620001686200016236600462001ceb565b6200046b565b6040516200013a9392919062001d5f565b3480156200018657600080fd5b506200019e6200019836600462001d9a565b620005b6565b6040519081526020016200013a565b348015620001ba57600080fd5b50620001d2620001cc36600462001db4565b620005cb565b005b348015620001e157600080fd5b50620001d2620001f336600462001db4565b620005f2565b3480156200020657600080fd5b50620001d26200021836600462001ceb565b62000678565b3480156200022b57600080fd5b5060fc5462000240906001600160a01b031681565b6040516001600160a01b0390911681526020016200013a565b620001d26200026a36600462001ec5565b6200074c565b3480156200027d57600080fd5b50620001d26200028f36600462001f52565b6200080d565b348015620002a257600080fd5b506200019e62000a42565b348015620002ba57600080fd5b5060fc54620002d390600160a01b900463ffffffff1681565b6040516200013a919062001f9d565b348015620002ef57600080fd5b5060fb5462000240906001600160a01b031681565b3480156200031157600080fd5b506200012e6200032336600462001db4565b62000af3565b3480156200033657600080fd5b50620002406200034836600462001d9a565b60fe602052600090815260409020546001600160a01b031681565b3480156200037057600080fd5b50620001d26200038236600462001fbd565b62000b1e565b3480156200039557600080fd5b506200019e600081565b348015620003ac57600080fd5b50620001d2620003be36600462001ff0565b62000b8e565b348015620003d157600080fd5b50620001d2620003e336600462001db4565b62000e1a565b348015620003f657600080fd5b506200024062000408366004620021da565b62000e3c565b3480156200041b57600080fd5b50620001d26200042d36600462001ceb565b62001484565b60006001600160e01b03198216637965db0b60e01b14806200046557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fd60205260009081526040902080548190620004889062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b69062002339565b8015620005075780601f10620004db5761010080835404028352916020019162000507565b820191906000526020600020905b815481529060010190602001808311620004e957829003601f168201915b5050506001840154600285018054949560ff9092169491935091506200052d9062002339565b80601f01602080910402602001604051908101604052809291908181526020018280546200055b9062002339565b8015620005ac5780601f106200058057610100808354040283529160200191620005ac565b820191906000526020600020905b8154815290600101906020018083116200058e57829003601f168201915b5050505050905083565b60009081526065602052604090206001015490565b620005d682620005b6565b620005e181620014dc565b620005ed8383620014e8565b505050565b6001600160a01b0381163314620006685760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b62000674828262001572565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006c35760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006f7620015dc565b6001600160a01b031614620007205760405162461bcd60e51b81526004016200065f90620023b0565b6200072b81620015f9565b60408051600080825260208201909252620007499183919062001606565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620007975760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007cb620015dc565b6001600160a01b031614620007f45760405162461bcd60e51b81526004016200065f90620023b0565b620007ff82620015f9565b620006748282600162001606565b6001600160a01b038216600090815260fd60205260408120600201805484929190620008399062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620008679062002339565b8015620008b85780601f106200088c57610100808354040283529160200191620008b8565b820191906000526020600020905b8154815290600101906020018083116200089a57829003601f168201915b50508351602080860191909120600090815260fe825260409081902054815163a217fddf60e01b815291519697506001600160a01b0316958695506391d14854945085935063a217fddf926004808401939192918290030181865afa15801562000926573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200094c9190620023eb565b336040518363ffffffff1660e01b81526004016200096c92919062002405565b602060405180830381865afa1580156200098a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b091906200241c565b1515600003620009d357604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038516600090815260fd60205260409020620009f785826200248e565b50846001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8560405162000a3391906200255a565b60405180910390a25050505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000adf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200065f565b5060008051602062002d6383398151915290565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600062000b2b81620014dc565b6001600160a01b038316600081815260fd6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910160405180910390a2505050565b600054610100900460ff161580801562000baf5750600054600160ff909116105b8062000bd4575062000bc1306200177e565b15801562000bd4575060005460ff166001145b62000c395760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200065f565b6000805460ff19166001179055801562000c5d576000805461ff0019166101001790555b60fc805463ffffffff60a01b1916600160a01b17905560fb80546001600160a01b0385166001600160a01b031990911617905560408051602481018290526012606482015271111a5c9958dd14185e5b595b9d1cc813919560721b608482015260806044820152600560a482015264111413919560da1b60c4808301919091528251808303909101815260e490910182526020810180516001600160e01b031663266c45bb60e11b17905290518390829062000d199062001c89565b62000d269291906200256f565b604051809103906000f08015801562000d43573d6000803e3d6000fd5b5060fc80546001600160a01b0319166001600160a01b03929092169182179055604051632f2ff15d60e01b8152632f2ff15d9062000d8990600090899060040162002405565b600060405180830381600087803b15801562000da457600080fd5b505af115801562000db9573d6000803e3d6000fd5b5050505062000dcc6000801b866200178d565b50801562000e14576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b62000e2582620005b6565b62000e3081620014dc565b620005ed838362001572565b8351602080860191909120600090815260fe825260408082205481518083019092526017825276636f6e74726f6c3a25732073656e6465723a257320257360481b93820193909352909186916001600160a01b039091169062000ea190823362001799565b6001600160a01b0381161562000fac57806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000eff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f259190620023eb565b336040518363ffffffff1660e01b815260040162000f4592919062002405565b602060405180830381865afa15801562000f63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f8991906200241c565b151560000362000fac57604051631d799a6d60e21b815260040160405180910390fd5b60fc5463ffffffff600160a01b8204168652604051600091634cc351bb60e11b9162000fe9916001600160a01b03169089908990602401620025e3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925260fb5491519092506001600160a01b039091169082906200103c9062001c89565b620010499291906200256f565b604051809103906000f08015801562001066573d6000803e3d6000fd5b5060fc54604051634e93f47b60e01b81529195506001600160a01b03811691632f2ff15d918391634e93f47b91620010b091600160a01b90910463ffffffff169060040162001f9d565b602060405180830381865afa158015620010ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f49190620023eb565b88606001516040518363ffffffff1660e01b81526004016200111892919062002405565b600060405180830381600087803b1580156200113357600080fd5b505af115801562001148573d6000803e3d6000fd5b505060fc54604051634e93f47b60e01b81526001600160a01b0382169350632f2ff15d92508391634e93f47b916200119191600160a01b900463ffffffff169060040162001f9d565b602060405180830381865afa158015620011af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011d59190620023eb565b866040518363ffffffff1660e01b8152600401620011f592919062002405565b600060405180830381600087803b1580156200121057600080fd5b505af115801562001225573d6000803e3d6000fd5b50505050836001600160a01b0316632f2ff15d856001600160a01b031663d53913936040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129d9190620023eb565b88606001516040518363ffffffff1660e01b8152600401620012c192919062002405565b600060405180830381600087803b158015620012dc57600080fd5b505af1158015620012f1573d6000803e3d6000fd5b505089516020808c0191909120600090815260fe8252604080822080546001600160a01b0319166001600160a01b038b16908117909155825260fd90925220915062001340905088826200248e565b506001600160a01b038416600090815260fd602052604090206002016200136889826200248e565b50604051631b2b455f60e11b81526001600160a01b038516906336568abe906200139a90600090309060040162002405565b600060405180830381600087803b158015620013b557600080fd5b505af1158015620013ca573d6000803e3d6000fd5b505060fc54604051600160a01b90910463ffffffff169250620013f091508a90620026f4565b6040518091039020856001600160a01b03167f0199416f1f9cd64a5652eba0dfab9b2b07e50552e1f70e54e4100814306cc06a8a6040516200143391906200255a565b60405180910390a460fc8054600160a01b900463ffffffff169060146200145a8362002728565b91906101000a81548163ffffffff021916908363ffffffff16021790555050505050949350505050565b60006200149181620014dc565b60fb80546001600160a01b0319166001600160a01b0384169081179091556040517f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c790600090a25050565b620007498133620017e4565b620014f4828262000af3565b620006745760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200152e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6200157e828262000af3565b15620006745760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062002d63833981519152546001600160a01b031690565b60006200067481620014dc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200163c57620005ed8362001848565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001699575060408051601f3d908101601f191682019092526200169691810190620023eb565b60015b620016fe5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200065f565b60008051602062002d638339815191528114620017705760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200065f565b50620005ed838383620018e7565b6001600160a01b03163b151590565b620006748282620014e8565b620005ed838383604051602401620017b4939291906200274e565b60408051601f198184030181529190526020810180516001600160e01b03166307e763af60e51b17905262001912565b620017f0828262000af3565b6200067457620018008162001933565b6200180d83602062001946565b6040516020016200182092919062002783565b60408051601f198184030181529082905262461bcd60e51b82526200065f916004016200255a565b62001853816200177e565b620018b75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200065f565b60008051602062002d6383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620018f28362001b06565b600082511180620019005750805b15620005ed5762000e14838362001b48565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6060620004656001600160a01b03831660145b6060600062001957836002620027f6565b6200196490600262002810565b6001600160401b038111156200197e576200197e62001df4565b6040519080825280601f01601f191660200182016040528015620019a9576020820181803683370190505b509050600360fc1b81600081518110620019c757620019c762002826565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620019f957620019f962002826565b60200101906001600160f81b031916908160001a905350600062001a1f846002620027f6565b62001a2c90600162002810565b90505b600181111562001aae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001a645762001a6462002826565b1a60f81b82828151811062001a7d5762001a7d62002826565b60200101906001600160f81b031916908160001a90535060049490941c9362001aa6816200283c565b905062001a2f565b50831562001aff5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200065f565b9392505050565b62001b118162001848565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001b55836200177e565b62001bb25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200065f565b600080846001600160a01b03168460405162001bcf9190620026f4565b600060405180830381855af49150503d806000811462001c0c576040519150601f19603f3d011682016040523d82523d6000602084013e62001c11565b606091505b509150915062001c3c828260405180606001604052806027815260200162002d836027913962001c45565b95945050505050565b6060831562001c5657508162001aff565b62001aff838381511562001c6d5781518083602001fd5b8060405162461bcd60e51b81526004016200065f91906200255a565b6104ec806200285783390190565b60006020828403121562001caa57600080fd5b81356001600160e01b03198116811462001aff57600080fd5b6001600160a01b03811681146200074957600080fd5b803562001ce68162001cc3565b919050565b60006020828403121562001cfe57600080fd5b813562001aff8162001cc3565b60005b8381101562001d2857818101518382015260200162001d0e565b50506000910152565b6000815180845262001d4b81602086016020860162001d0b565b601f01601f19169290920160200192915050565b60608152600062001d74606083018662001d31565b8415156020840152828103604084015262001d90818562001d31565b9695505050505050565b60006020828403121562001dad57600080fd5b5035919050565b6000806040838503121562001dc857600080fd5b82359150602083013562001ddc8162001cc3565b809150509250929050565b6001600160a01b03169052565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171562001e2f5762001e2f62001df4565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001e605762001e6062001df4565b604052919050565b60006001600160401b0383111562001e845762001e8462001df4565b62001e99601f8401601f191660200162001e35565b905082815283838301111562001eae57600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562001ed957600080fd5b823562001ee68162001cc3565b915060208301356001600160401b0381111562001f0257600080fd5b8301601f8101851362001f1457600080fd5b62001f258582356020840162001e68565b9150509250929050565b600082601f83011262001f4157600080fd5b62001aff8383356020850162001e68565b6000806040838503121562001f6657600080fd5b823562001f738162001cc3565b915060208301356001600160401b0381111562001f8f57600080fd5b62001f258582860162001f2f565b63ffffffff91909116815260200190565b80151581146200074957600080fd5b6000806040838503121562001fd157600080fd5b823562001fde8162001cc3565b9150602083013562001ddc8162001fae565b6000806000606084860312156200200657600080fd5b8335620020138162001cc3565b92506020840135620020258162001cc3565b91506040840135620020378162001cc3565b809150509250925092565b803563ffffffff8116811462001ce657600080fd5b60006001600160401b0382111562002073576200207362001df4565b5060051b60200190565b600082601f8301126200208f57600080fd5b81356020620020a8620020a28362002057565b62001e35565b82815260059290921b84018101918181019086841115620020c857600080fd5b8286015b84811015620020f757803561ffff81168114620020e95760008081fd5b8352918301918301620020cc565b509695505050505050565b600082601f8301126200211457600080fd5b8135602062002127620020a28362002057565b82815260059290921b840181019181810190868411156200214757600080fd5b8286015b84811015620020f75780356001600160801b03811681146200216d5760008081fd5b83529183019183016200214b565b6000606082840312156200218e57600080fd5b604051606081016001600160401b0381118282101715620021b357620021b362001df4565b80604052508091508235815260208301356020820152604083013560408201525092915050565b60008060008060c08587031215620021f157600080fd5b84356001600160401b03808211156200220957600080fd5b620022178883890162001f2f565b955060208701359150808211156200222e57600080fd5b6200223c8883890162001f2f565b945060408701359150808211156200225357600080fd5b9086019060e082890312156200226857600080fd5b6200227262001e0a565b6200227d8362002042565b81526020830135828111156200229257600080fd5b620022a08a8286016200207d565b602083015250604083013582811115620022b957600080fd5b620022c78a82860162002102565b604083015250620022db6060840162001cd9565b6060820152620022ee6080840162001cd9565b60808201526200230160a0840162001cd9565b60a08201526200231460c0840162001cd9565b60c08201528094505050506200232e86606087016200217b565b905092959194509250565b600181811c908216806200234e57607f821691505b6020821081036200236f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c9082015260008051602062002d4383398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062002d4383398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215620023fe57600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200242f57600080fd5b815162001aff8162001fae565b601f821115620005ed57600081815260208120601f850160051c81016020861015620024655750805b601f850160051c820191505b81811015620024865782815560010162002471565b505050505050565b81516001600160401b03811115620024aa57620024aa62001df4565b620024c281620024bb845462002339565b846200243c565b602080601f831160018114620024fa5760008415620024e15750858301515b600019600386901b1c1916600185901b17855562002486565b600085815260208120601f198616915b828110156200252b578886015182559484019460019091019084016200250a565b50858210156200254a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001aff602083018462001d31565b6001600160a01b0383168152604060208201819052600090620025959083018462001d31565b949350505050565b600081518084526020808501945080840160005b83811015620025d85781516001600160801b031687529582019590820190600101620025b1565b509495945050505050565b6001600160a01b038416815260a06020808301829052845163ffffffff16918301919091528381015160e060c0840152805161018084018190526000929182019083906101a08601905b808310156200265357835161ffff1682529284019260019290920191908401906200262d565b506040880151868203609f190160e088015293506200267381856200259d565b935050505060608501516200268d61010085018262001de7565b506080850151620026a361012085018262001de7565b5060a0850151620026b961014085018262001de7565b5060c0850151620026cf61016085018262001de7565b5090506200259560408301848051825260208082015190830152604090810151910152565b600082516200270881846020870162001d0b565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681810362002744576200274462002712565b6001019392505050565b60608152600062002763606083018662001d31565b6001600160a01b0394851660208401529290931660409091015292915050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351620027b781601785016020880162001d0b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620027ea81602884016020880162001d0b565b01602801949350505050565b808202811582820484141762000465576200046562002712565b8082018082111562000465576200046562002712565b634e487b7160e01b600052603260045260246000fd5b6000816200284e576200284e62002712565b50600019019056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208d1b17126f5af997cd96454b6a46a9afe8804ec56c02c549bf89ae7ce363c4d164736f6c63430008130033";
656
+ "0x60a06040523060805234801561001457600080fd5b50608051612ddf61004c60003960008181610682015281816106c501528181610756015281816107990152610a4f0152612ddf6000f3fe608060405260043610620001045760003560e01c806301ffc9a71462000109578063038defd71462000143578063248a9ca314620001795780632f2ff15d14620001ad57806336568abe14620001d45780633659cfe614620001f957806347ccca02146200021e5780634f1ef28614620002595780634f962c8c146200027057806352d1902d1462000295578063592f7b0514620002ad5780638abf607714620002e257806391d1485414620003045780639cedd89b14620003295780639cf5c6131462000363578063a217fddf1462000388578063c0c53b8b146200039f578063d547741f14620003c4578063e04a70b914620003e9578063fcf1e009146200040e575b600080fd5b3480156200011657600080fd5b506200012e6200012836600462001c97565b62000433565b60405190151581526020015b60405180910390f35b3480156200015057600080fd5b50620001686200016236600462001ceb565b6200046b565b6040516200013a9392919062001d5f565b3480156200018657600080fd5b506200019e6200019836600462001d9a565b620005b6565b6040519081526020016200013a565b348015620001ba57600080fd5b50620001d2620001cc36600462001db4565b620005cb565b005b348015620001e157600080fd5b50620001d2620001f336600462001db4565b620005f2565b3480156200020657600080fd5b50620001d26200021836600462001ceb565b62000678565b3480156200022b57600080fd5b5060fc5462000240906001600160a01b031681565b6040516001600160a01b0390911681526020016200013a565b620001d26200026a36600462001ec5565b6200074c565b3480156200027d57600080fd5b50620001d26200028f36600462001f52565b6200080d565b348015620002a257600080fd5b506200019e62000a42565b348015620002ba57600080fd5b5060fc54620002d390600160a01b900463ffffffff1681565b6040516200013a919062001f9d565b348015620002ef57600080fd5b5060fb5462000240906001600160a01b031681565b3480156200031157600080fd5b506200012e6200032336600462001db4565b62000af3565b3480156200033657600080fd5b50620002406200034836600462001d9a565b60fe602052600090815260409020546001600160a01b031681565b3480156200037057600080fd5b50620001d26200038236600462001fbd565b62000b1e565b3480156200039557600080fd5b506200019e600081565b348015620003ac57600080fd5b50620001d2620003be36600462001ff0565b62000b8e565b348015620003d157600080fd5b50620001d2620003e336600462001db4565b62000e1a565b348015620003f657600080fd5b506200024062000408366004620021da565b62000e3c565b3480156200041b57600080fd5b50620001d26200042d36600462001ceb565b62001484565b60006001600160e01b03198216637965db0b60e01b14806200046557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fd60205260009081526040902080548190620004889062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b69062002339565b8015620005075780601f10620004db5761010080835404028352916020019162000507565b820191906000526020600020905b815481529060010190602001808311620004e957829003601f168201915b5050506001840154600285018054949560ff9092169491935091506200052d9062002339565b80601f01602080910402602001604051908101604052809291908181526020018280546200055b9062002339565b8015620005ac5780601f106200058057610100808354040283529160200191620005ac565b820191906000526020600020905b8154815290600101906020018083116200058e57829003601f168201915b5050505050905083565b60009081526065602052604090206001015490565b620005d682620005b6565b620005e181620014dc565b620005ed8383620014e8565b505050565b6001600160a01b0381163314620006685760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b62000674828262001572565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006c35760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006f7620015dc565b6001600160a01b031614620007205760405162461bcd60e51b81526004016200065f90620023b0565b6200072b81620015f9565b60408051600080825260208201909252620007499183919062001606565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620007975760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007cb620015dc565b6001600160a01b031614620007f45760405162461bcd60e51b81526004016200065f90620023b0565b620007ff82620015f9565b620006748282600162001606565b6001600160a01b038216600090815260fd60205260408120600201805484929190620008399062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620008679062002339565b8015620008b85780601f106200088c57610100808354040283529160200191620008b8565b820191906000526020600020905b8154815290600101906020018083116200089a57829003601f168201915b50508351602080860191909120600090815260fe825260409081902054815163a217fddf60e01b815291519697506001600160a01b0316958695506391d14854945085935063a217fddf926004808401939192918290030181865afa15801562000926573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200094c9190620023eb565b336040518363ffffffff1660e01b81526004016200096c92919062002405565b602060405180830381865afa1580156200098a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b091906200241c565b1515600003620009d357604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038516600090815260fd60205260409020620009f785826200248e565b50846001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8560405162000a3391906200255a565b60405180910390a25050505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000adf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200065f565b5060008051602062002d6383398151915290565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600062000b2b81620014dc565b6001600160a01b038316600081815260fd6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910160405180910390a2505050565b600054610100900460ff161580801562000baf5750600054600160ff909116105b8062000bd4575062000bc1306200177e565b15801562000bd4575060005460ff166001145b62000c395760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200065f565b6000805460ff19166001179055801562000c5d576000805461ff0019166101001790555b60fc805463ffffffff60a01b1916600160a01b17905560fb80546001600160a01b0385166001600160a01b031990911617905560408051602481018290526012606482015271111a5c9958dd14185e5b595b9d1cc813919560721b608482015260806044820152600560a482015264111413919560da1b60c4808301919091528251808303909101815260e490910182526020810180516001600160e01b031663266c45bb60e11b17905290518390829062000d199062001c89565b62000d269291906200256f565b604051809103906000f08015801562000d43573d6000803e3d6000fd5b5060fc80546001600160a01b0319166001600160a01b03929092169182179055604051632f2ff15d60e01b8152632f2ff15d9062000d8990600090899060040162002405565b600060405180830381600087803b15801562000da457600080fd5b505af115801562000db9573d6000803e3d6000fd5b5050505062000dcc6000801b866200178d565b50801562000e14576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b62000e2582620005b6565b62000e3081620014dc565b620005ed838362001572565b8351602080860191909120600090815260fe825260408082205481518083019092526017825276636f6e74726f6c3a25732073656e6465723a257320257360481b93820193909352909186916001600160a01b039091169062000ea190823362001799565b6001600160a01b0381161562000fac57806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000eff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f259190620023eb565b336040518363ffffffff1660e01b815260040162000f4592919062002405565b602060405180830381865afa15801562000f63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f8991906200241c565b151560000362000fac57604051631d799a6d60e21b815260040160405180910390fd5b60fc5463ffffffff600160a01b8204168652604051600091634cc351bb60e11b9162000fe9916001600160a01b03169089908990602401620025e3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925260fb5491519092506001600160a01b039091169082906200103c9062001c89565b620010499291906200256f565b604051809103906000f08015801562001066573d6000803e3d6000fd5b5060fc54604051634e93f47b60e01b81529195506001600160a01b03811691632f2ff15d918391634e93f47b91620010b091600160a01b90910463ffffffff169060040162001f9d565b602060405180830381865afa158015620010ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f49190620023eb565b88606001516040518363ffffffff1660e01b81526004016200111892919062002405565b600060405180830381600087803b1580156200113357600080fd5b505af115801562001148573d6000803e3d6000fd5b505060fc54604051634e93f47b60e01b81526001600160a01b0382169350632f2ff15d92508391634e93f47b916200119191600160a01b900463ffffffff169060040162001f9d565b602060405180830381865afa158015620011af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011d59190620023eb565b866040518363ffffffff1660e01b8152600401620011f592919062002405565b600060405180830381600087803b1580156200121057600080fd5b505af115801562001225573d6000803e3d6000fd5b50505050836001600160a01b0316632f2ff15d856001600160a01b031663d53913936040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129d9190620023eb565b88606001516040518363ffffffff1660e01b8152600401620012c192919062002405565b600060405180830381600087803b158015620012dc57600080fd5b505af1158015620012f1573d6000803e3d6000fd5b505089516020808c0191909120600090815260fe8252604080822080546001600160a01b0319166001600160a01b038b16908117909155825260fd90925220915062001340905088826200248e565b506001600160a01b038416600090815260fd602052604090206002016200136889826200248e565b50604051631b2b455f60e11b81526001600160a01b038516906336568abe906200139a90600090309060040162002405565b600060405180830381600087803b158015620013b557600080fd5b505af1158015620013ca573d6000803e3d6000fd5b505060fc54604051600160a01b90910463ffffffff169250620013f091508a90620026f4565b6040518091039020856001600160a01b03167f0199416f1f9cd64a5652eba0dfab9b2b07e50552e1f70e54e4100814306cc06a8a6040516200143391906200255a565b60405180910390a460fc8054600160a01b900463ffffffff169060146200145a8362002728565b91906101000a81548163ffffffff021916908363ffffffff16021790555050505050949350505050565b60006200149181620014dc565b60fb80546001600160a01b0319166001600160a01b0384169081179091556040517f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c790600090a25050565b620007498133620017e4565b620014f4828262000af3565b620006745760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200152e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6200157e828262000af3565b15620006745760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062002d63833981519152546001600160a01b031690565b60006200067481620014dc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200163c57620005ed8362001848565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001699575060408051601f3d908101601f191682019092526200169691810190620023eb565b60015b620016fe5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200065f565b60008051602062002d638339815191528114620017705760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200065f565b50620005ed838383620018e7565b6001600160a01b03163b151590565b620006748282620014e8565b620005ed838383604051602401620017b4939291906200274e565b60408051601f198184030181529190526020810180516001600160e01b03166307e763af60e51b17905262001912565b620017f0828262000af3565b6200067457620018008162001933565b6200180d83602062001946565b6040516020016200182092919062002783565b60408051601f198184030181529082905262461bcd60e51b82526200065f916004016200255a565b62001853816200177e565b620018b75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200065f565b60008051602062002d6383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620018f28362001b06565b600082511180620019005750805b15620005ed5762000e14838362001b48565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6060620004656001600160a01b03831660145b6060600062001957836002620027f6565b6200196490600262002810565b6001600160401b038111156200197e576200197e62001df4565b6040519080825280601f01601f191660200182016040528015620019a9576020820181803683370190505b509050600360fc1b81600081518110620019c757620019c762002826565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620019f957620019f962002826565b60200101906001600160f81b031916908160001a905350600062001a1f846002620027f6565b62001a2c90600162002810565b90505b600181111562001aae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001a645762001a6462002826565b1a60f81b82828151811062001a7d5762001a7d62002826565b60200101906001600160f81b031916908160001a90535060049490941c9362001aa6816200283c565b905062001a2f565b50831562001aff5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200065f565b9392505050565b62001b118162001848565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001b55836200177e565b62001bb25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200065f565b600080846001600160a01b03168460405162001bcf9190620026f4565b600060405180830381855af49150503d806000811462001c0c576040519150601f19603f3d011682016040523d82523d6000602084013e62001c11565b606091505b509150915062001c3c828260405180606001604052806027815260200162002d836027913962001c45565b95945050505050565b6060831562001c5657508162001aff565b62001aff838381511562001c6d5781518083602001fd5b8060405162461bcd60e51b81526004016200065f91906200255a565b6104ec806200285783390190565b60006020828403121562001caa57600080fd5b81356001600160e01b03198116811462001aff57600080fd5b6001600160a01b03811681146200074957600080fd5b803562001ce68162001cc3565b919050565b60006020828403121562001cfe57600080fd5b813562001aff8162001cc3565b60005b8381101562001d2857818101518382015260200162001d0e565b50506000910152565b6000815180845262001d4b81602086016020860162001d0b565b601f01601f19169290920160200192915050565b60608152600062001d74606083018662001d31565b8415156020840152828103604084015262001d90818562001d31565b9695505050505050565b60006020828403121562001dad57600080fd5b5035919050565b6000806040838503121562001dc857600080fd5b82359150602083013562001ddc8162001cc3565b809150509250929050565b6001600160a01b03169052565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171562001e2f5762001e2f62001df4565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001e605762001e6062001df4565b604052919050565b60006001600160401b0383111562001e845762001e8462001df4565b62001e99601f8401601f191660200162001e35565b905082815283838301111562001eae57600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562001ed957600080fd5b823562001ee68162001cc3565b915060208301356001600160401b0381111562001f0257600080fd5b8301601f8101851362001f1457600080fd5b62001f258582356020840162001e68565b9150509250929050565b600082601f83011262001f4157600080fd5b62001aff8383356020850162001e68565b6000806040838503121562001f6657600080fd5b823562001f738162001cc3565b915060208301356001600160401b0381111562001f8f57600080fd5b62001f258582860162001f2f565b63ffffffff91909116815260200190565b80151581146200074957600080fd5b6000806040838503121562001fd157600080fd5b823562001fde8162001cc3565b9150602083013562001ddc8162001fae565b6000806000606084860312156200200657600080fd5b8335620020138162001cc3565b92506020840135620020258162001cc3565b91506040840135620020378162001cc3565b809150509250925092565b803563ffffffff8116811462001ce657600080fd5b60006001600160401b0382111562002073576200207362001df4565b5060051b60200190565b600082601f8301126200208f57600080fd5b81356020620020a8620020a28362002057565b62001e35565b82815260059290921b84018101918181019086841115620020c857600080fd5b8286015b84811015620020f757803561ffff81168114620020e95760008081fd5b8352918301918301620020cc565b509695505050505050565b600082601f8301126200211457600080fd5b8135602062002127620020a28362002057565b82815260059290921b840181019181810190868411156200214757600080fd5b8286015b84811015620020f75780356001600160801b03811681146200216d5760008081fd5b83529183019183016200214b565b6000606082840312156200218e57600080fd5b604051606081016001600160401b0381118282101715620021b357620021b362001df4565b80604052508091508235815260208301356020820152604083013560408201525092915050565b60008060008060c08587031215620021f157600080fd5b84356001600160401b03808211156200220957600080fd5b620022178883890162001f2f565b955060208701359150808211156200222e57600080fd5b6200223c8883890162001f2f565b945060408701359150808211156200225357600080fd5b9086019060e082890312156200226857600080fd5b6200227262001e0a565b6200227d8362002042565b81526020830135828111156200229257600080fd5b620022a08a8286016200207d565b602083015250604083013582811115620022b957600080fd5b620022c78a82860162002102565b604083015250620022db6060840162001cd9565b6060820152620022ee6080840162001cd9565b60808201526200230160a0840162001cd9565b60a08201526200231460c0840162001cd9565b60c08201528094505050506200232e86606087016200217b565b905092959194509250565b600181811c908216806200234e57607f821691505b6020821081036200236f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c9082015260008051602062002d4383398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062002d4383398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215620023fe57600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200242f57600080fd5b815162001aff8162001fae565b601f821115620005ed57600081815260208120601f850160051c81016020861015620024655750805b601f850160051c820191505b81811015620024865782815560010162002471565b505050505050565b81516001600160401b03811115620024aa57620024aa62001df4565b620024c281620024bb845462002339565b846200243c565b602080601f831160018114620024fa5760008415620024e15750858301515b600019600386901b1c1916600185901b17855562002486565b600085815260208120601f198616915b828110156200252b578886015182559484019460019091019084016200250a565b50858210156200254a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001aff602083018462001d31565b6001600160a01b0383168152604060208201819052600090620025959083018462001d31565b949350505050565b600081518084526020808501945080840160005b83811015620025d85781516001600160801b031687529582019590820190600101620025b1565b509495945050505050565b6001600160a01b038416815260a06020808301829052845163ffffffff16918301919091528381015160e060c0840152805161018084018190526000929182019083906101a08601905b808310156200265357835161ffff1682529284019260019290920191908401906200262d565b506040880151868203609f190160e088015293506200267381856200259d565b935050505060608501516200268d61010085018262001de7565b506080850151620026a361012085018262001de7565b5060a0850151620026b961014085018262001de7565b5060c0850151620026cf61016085018262001de7565b5090506200259560408301848051825260208082015190830152604090810151910152565b600082516200270881846020870162001d0b565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681810362002744576200274462002712565b6001019392505050565b60608152600062002763606083018662001d31565b6001600160a01b0394851660208401529290931660409091015292915050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351620027b781601785016020880162001d0b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620027ea81602884016020880162001d0b565b01602801949350505050565b808202811582820484141762000465576200046562002712565b8082018082111562000465576200046562002712565b634e487b7160e01b600052603260045260246000fd5b6000816200284e576200284e62002712565b50600019019056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d9edd057b760474fffc2bce0e0b7a6f6dbbf0b1def5f26a539a70a7c5fed2a3064736f6c63430008130033";
657
657
 
658
658
  type DirectPaymentsFactoryConstructorParams =
659
659
  | [signer?: Signer]