@gooddollar/goodprotocol 1.0.30-beta.2 → 1.0.30-beta.3

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 (727) hide show
  1. package/README.md +25 -0
  2. package/artifacts/abis/AaveMock.min.json +1 -1
  3. package/artifacts/abis/AaveStakingFactory.min.json +1 -1
  4. package/artifacts/abis/AdminWallet.min.json +1 -1
  5. package/artifacts/abis/BuyAndBridgeHelper.min.json +1 -0
  6. package/artifacts/abis/ClaimersDistribution.min.json +1 -1
  7. package/artifacts/abis/CompoundStakingFactory.min.json +1 -1
  8. package/artifacts/abis/CompoundVotingMachine.min.json +1 -1
  9. package/artifacts/abis/DAIMock.min.json +1 -1
  10. package/artifacts/abis/DAOUpgradeableContract.min.json +1 -1
  11. package/artifacts/abis/DecimalsMock.min.json +1 -1
  12. package/artifacts/abis/DistributionHelper.min.json +1 -1
  13. package/artifacts/abis/DistributionHelperTest.min.json +1 -1
  14. package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -1
  15. package/artifacts/abis/DonationsStaking.min.json +1 -1
  16. package/artifacts/abis/ERC20Permit.min.json +1 -0
  17. package/artifacts/abis/ERC20PresetMinterPauserUpgradeable.min.json +1 -0
  18. package/artifacts/abis/ERC677.min.json +1 -0
  19. package/artifacts/abis/ERC677Receiver.min.json +1 -0
  20. package/artifacts/abis/ExchangeHelper.min.json +1 -1
  21. package/artifacts/abis/Faucet.min.json +1 -0
  22. package/artifacts/abis/FeesFormulaMock.min.json +1 -0
  23. package/artifacts/abis/FuseFaucet.min.json +1 -1
  24. package/artifacts/abis/FuseStakingV3.min.json +1 -1
  25. package/artifacts/abis/GReputation.min.json +1 -1
  26. package/artifacts/abis/GoodAaveStaking.min.json +1 -1
  27. package/artifacts/abis/GoodAaveStakingV2.min.json +1 -1
  28. package/artifacts/abis/GoodCompoundStaking.min.json +1 -1
  29. package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
  30. package/artifacts/abis/GoodCompoundStakingV2.min.json +1 -1
  31. package/artifacts/abis/GoodDollar.min.json +1 -0
  32. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -1
  33. package/artifacts/abis/GoodDollarStaking.min.json +1 -1
  34. package/artifacts/abis/GoodDollarStakingMock.min.json +1 -1
  35. package/artifacts/abis/GoodFundManager.min.json +1 -1
  36. package/artifacts/abis/GoodFundManagerTest.min.json +1 -1
  37. package/artifacts/abis/GoodMarketMaker.min.json +1 -1
  38. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  39. package/artifacts/abis/GovernanceStaking.min.json +1 -1
  40. package/artifacts/abis/IFeesFormula.min.json +1 -0
  41. package/artifacts/abis/IGoodDollar.min.json +1 -1
  42. package/artifacts/abis/IGoodDollarCustom.min.json +1 -0
  43. package/artifacts/abis/IGovernanceStaking.min.json +1 -0
  44. package/artifacts/abis/IIdentity.min.json +1 -1
  45. package/artifacts/abis/IIdentityV2.min.json +1 -0
  46. package/artifacts/abis/IStakingUpgrade.min.json +1 -0
  47. package/artifacts/abis/ISuperGoodDollar.min.json +1 -0
  48. package/artifacts/abis/IdentityMock.min.json +1 -0
  49. package/artifacts/abis/IdentityV2.min.json +1 -0
  50. package/artifacts/abis/InvitesV1.min.json +1 -1
  51. package/artifacts/abis/InvitesV2.min.json +1 -0
  52. package/artifacts/abis/LendingPoolMock.min.json +1 -1
  53. package/artifacts/abis/NameService.min.json +1 -1
  54. package/artifacts/abis/PayableMock.min.json +1 -0
  55. package/artifacts/abis/Proxy.min.json +1 -0
  56. package/artifacts/abis/Reputation.min.json +1 -1
  57. package/artifacts/abis/SelfApprove.min.json +1 -0
  58. package/artifacts/abis/SimpleStaking.min.json +1 -1
  59. package/artifacts/abis/SimpleStakingV2.min.json +1 -1
  60. package/artifacts/abis/SixteenDecimalsTokenMock.min.json +1 -1
  61. package/artifacts/abis/StakersDistribution.min.json +1 -1
  62. package/artifacts/abis/SuperGoodDollar.min.json +1 -0
  63. package/artifacts/abis/SuperToken.min.json +1 -0
  64. package/artifacts/abis/SuperfluidToken.min.json +1 -0
  65. package/artifacts/abis/TwentyDecimalsTokenMock.min.json +1 -1
  66. package/artifacts/abis/UBIScheme.min.json +1 -1
  67. package/artifacts/abis/USDCMock.min.json +1 -1
  68. package/artifacts/abis/UUPSProxiable.min.json +1 -0
  69. package/artifacts/abis/UUPSProxy.min.json +1 -0
  70. package/artifacts/abis/UUPSUtils.min.json +1 -0
  71. package/artifacts/abis/UpgradableMock.min.json +1 -1
  72. package/artifacts/abis/UpgradableMock2.min.json +1 -1
  73. package/artifacts/abis/UpgradableMock3.min.json +1 -1
  74. package/artifacts/abis/UpgradableMock4.min.json +1 -1
  75. package/artifacts/abis/cBATMock.min.json +1 -1
  76. package/artifacts/abis/cDAILowWorthMock.min.json +1 -1
  77. package/artifacts/abis/cDAIMock.min.json +1 -1
  78. package/artifacts/abis/cDAINonMintableMock.min.json +1 -1
  79. package/artifacts/abis/cDecimalsMock.min.json +1 -1
  80. package/artifacts/abis/cSDTMock.min.json +1 -1
  81. package/artifacts/abis/cUSDCMock.min.json +1 -1
  82. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  83. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  84. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  85. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  86. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  87. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  88. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  89. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  90. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  91. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  92. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  93. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  94. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  95. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  96. package/artifacts/contracts/Interfaces.sol/IGoodDollar.json +184 -0
  97. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  98. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  99. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  100. package/artifacts/contracts/Interfaces.sol/IIdentity.json +70 -0
  101. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
  102. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +300 -0
  103. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  104. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  105. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  106. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  107. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  108. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  109. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  110. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  111. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  112. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  113. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  114. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +4 -0
  115. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +736 -0
  116. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  117. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +15 -2
  118. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  119. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +28 -2
  120. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  121. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +28 -2
  122. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  123. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +78 -3
  124. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  125. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +71 -2
  126. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +4 -0
  127. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.json +24 -0
  128. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +4 -0
  129. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.json +35 -0
  130. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  131. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  132. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +31 -5
  133. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  134. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  135. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +28 -2
  136. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  137. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +28 -2
  138. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +4 -0
  139. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1081 -0
  140. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  141. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +15 -2
  142. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +4 -0
  143. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +640 -0
  144. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  145. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +18 -5
  146. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  147. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
  148. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  149. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
  150. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  151. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
  152. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  153. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +18 -5
  154. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  155. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
  156. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  157. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +18 -5
  158. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  159. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  160. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  161. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +35 -2
  162. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  163. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +35 -2
  164. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  165. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
  166. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +4 -0
  167. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.json +69 -0
  168. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  169. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
  170. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  171. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +22 -9
  172. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  173. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +95 -2
  174. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  175. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +28 -2
  176. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +4 -0
  177. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +277 -0
  178. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  179. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
  180. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  181. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +18 -5
  182. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  183. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  184. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  185. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  186. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  187. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  188. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  189. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  190. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +4 -0
  191. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.json +18 -0
  192. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  193. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +18 -5
  194. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  195. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +2 -2
  196. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  197. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  198. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  199. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +18 -5
  200. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  201. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +28 -2
  202. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  203. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +28 -2
  204. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  205. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +28 -2
  206. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  207. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +28 -2
  208. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  209. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +18 -5
  210. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  211. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +18 -5
  212. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  213. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +18 -5
  214. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  215. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +18 -5
  216. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  217. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +18 -5
  218. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  219. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +18 -5
  220. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  221. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +18 -5
  222. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  223. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +18 -5
  224. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  225. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +35 -2
  226. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  227. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +28 -2
  228. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  229. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +28 -2
  230. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  231. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  232. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +37 -5
  233. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  234. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  235. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  236. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  237. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  238. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +32 -6
  239. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  240. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +44 -83
  241. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  242. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  243. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  244. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +28 -2
  245. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  246. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.json +16 -3
  247. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  248. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.json +16 -3
  249. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  250. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  251. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  252. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -3
  253. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  254. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +20 -7
  255. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  256. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +20 -7
  257. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  258. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -4
  259. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  260. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +22 -9
  261. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  262. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +22 -9
  263. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  264. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +2 -2
  265. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  266. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +4 -0
  267. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +768 -0
  268. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +4 -0
  269. package/artifacts/contracts/token/ERC677.sol/ERC677.json +66 -0
  270. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +4 -0
  271. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.json +40 -0
  272. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +4 -0
  273. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.json +45 -0
  274. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +4 -0
  275. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +1206 -0
  276. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +4 -0
  277. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.json +99 -0
  278. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +4 -0
  279. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.json +34 -0
  280. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +4 -0
  281. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.json +355 -0
  282. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +4 -0
  283. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.json +2132 -0
  284. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +4 -0
  285. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2590 -0
  286. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +4 -0
  287. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.json +1759 -0
  288. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +4 -0
  289. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.json +682 -0
  290. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +4 -0
  291. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.json +89 -0
  292. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +4 -0
  293. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.json +19 -0
  294. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +4 -0
  295. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +32 -0
  296. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +4 -0
  297. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.json +10 -0
  298. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  299. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +41 -22
  300. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  301. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +94 -48
  302. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  303. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
  304. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  305. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  306. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +4 -0
  307. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +184 -0
  308. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  309. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  310. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  311. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +28 -2
  312. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  313. package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
  314. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  315. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
  316. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  317. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +35 -2
  318. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  319. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  320. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  321. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  322. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  323. package/artifacts/contracts/utils/MultiCall.sol/Multicall.json +2 -2
  324. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  325. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  326. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  327. package/artifacts/contracts/utils/NameService.sol/NameService.json +28 -2
  328. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  329. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  330. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  331. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  332. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  333. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  334. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  335. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  336. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  337. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  338. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  339. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  340. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  341. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  342. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  343. package/contracts/Interfaces.sol +57 -3
  344. package/contracts/fuseFaucet/Faucet.sol +258 -0
  345. package/contracts/fuseFaucet/FuseFaucet.sol +1 -2
  346. package/contracts/governance/GReputation.sol +104 -16
  347. package/contracts/governance/GoodDollarStaking.sol +139 -53
  348. package/contracts/governance/GovernanceStaking.sol +2 -2
  349. package/contracts/identity/IdentityV2.sol +559 -0
  350. package/contracts/invite/InvitesV1.sol +6 -24
  351. package/contracts/invite/InvitesV2.sol +338 -0
  352. package/contracts/mocks/AaveMock.sol +1 -1
  353. package/contracts/mocks/DAIMock.sol +1 -1
  354. package/contracts/mocks/DecimalsMock.sol +1 -1
  355. package/contracts/mocks/FeesFormularMock.sol +21 -0
  356. package/contracts/mocks/GoodDollarStakingMock.sol +16 -0
  357. package/contracts/mocks/GoodFundManagerTest.sol +1 -1
  358. package/contracts/mocks/IdentityMock.sol +58 -0
  359. package/contracts/mocks/LendingPoolMock.sol +1 -1
  360. package/contracts/mocks/PayableMock.sol +3 -0
  361. package/contracts/mocks/SixteenDecimalsTokenMock.sol +1 -6
  362. package/contracts/mocks/TwentyDecimalsTokenMock.sol +1 -6
  363. package/contracts/mocks/UpgradableMocks.sol +5 -3
  364. package/contracts/mocks/UsdcMock.sol +1 -6
  365. package/contracts/mocks/cBATMock.sol +7 -12
  366. package/contracts/mocks/cDAILowWorthMock.sol +8 -12
  367. package/contracts/mocks/cDAIMock.sol +1 -1
  368. package/contracts/mocks/cDAINonMintableMock.sol +7 -12
  369. package/contracts/mocks/cDecimalsMock.sol +1 -1
  370. package/contracts/mocks/cSDTMock.sol +3 -3
  371. package/contracts/mocks/cUSDCMock.sol +5 -5
  372. package/contracts/reserve/DistributionHelper.sol +5 -1
  373. package/contracts/reserve/GoodReserveCDai.sol +15 -5
  374. package/contracts/staking/FuseStakingV3.sol +42 -112
  375. package/contracts/staking/GoodFundManager.sol +2 -2
  376. package/contracts/token/ERC20PresetMinterPauserUpgradeable.sol +140 -0
  377. package/contracts/token/ERC677.sol +74 -0
  378. package/contracts/token/FeesFormula.sol +10 -0
  379. package/contracts/token/GoodDollar.sol +234 -0
  380. package/contracts/token/superfluid/ERC20Permit.sol +101 -0
  381. package/contracts/token/superfluid/ISuperGoodDollar.sol +84 -0
  382. package/contracts/token/superfluid/SuperGoodDollar.sol +348 -0
  383. package/contracts/token/superfluid/SuperToken.sol +712 -0
  384. package/contracts/token/superfluid/SuperfluidToken.sol +402 -0
  385. package/contracts/token/superfluid/UUPSProxiable.sol +55 -0
  386. package/contracts/token/superfluid/UUPSProxy.sol +153 -0
  387. package/contracts/ubi/UBIScheme.sol +88 -68
  388. package/contracts/utils/AdminWallet.sol +42 -11
  389. package/contracts/utils/BuyAndBridgeHelper.sol +108 -0
  390. package/contracts/utils/GoodDollarMintBurnWrapper.sol +19 -1
  391. package/hardhat.config.ts +60 -9
  392. package/package.json +19 -10
  393. package/releases/deploy-settings.json +47 -3
  394. package/releases/deployment.json +67 -196
  395. package/scripts/analytics/activeWalletsStats.ts +4 -0
  396. package/scripts/analytics/gdinflow.ts +3 -0
  397. package/scripts/analytics/p2pTxs.ts +582 -0
  398. package/scripts/analytics/tokenInOutStats.ts +3 -1
  399. package/scripts/deployFullDAO.ts +39 -19
  400. package/scripts/deployGnosisSafe.ts +21 -21
  401. package/scripts/gdx/gdxAirdropCalculation.ts +11 -12
  402. package/scripts/governance/airdropCalculationRecover.ts +43 -33
  403. package/scripts/governance/airdropCalculationSorted.ts +438 -0
  404. package/scripts/governance/goodCheckpointSorted.ts +377 -0
  405. package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +100 -0
  406. package/scripts/multichain-deploy/{basicdao-deploy.ts → 1_basicdao-deploy.ts} +123 -93
  407. package/scripts/multichain-deploy/2_helpers-deploy.ts +152 -0
  408. package/scripts/multichain-deploy/{gdSavings-deploy.ts → 3_gdSavings-deploy.ts} +106 -76
  409. package/scripts/multichain-deploy/4_ubi-deploy.ts +147 -0
  410. package/scripts/multichain-deploy/5_gov-deploy.ts +147 -0
  411. package/scripts/multichain-deploy/fulldeploy.sh +26 -0
  412. package/scripts/multichain-deploy/helpers.ts +205 -7
  413. package/scripts/multichain-deploy/verifyEtherscan.ts +197 -0
  414. package/scripts/staking/stakersGdRewardsCalculation.ts +57 -46
  415. package/scripts/test/localOldDaoDeploy.ts +10 -3
  416. package/scripts/upgradeToV3/v3-fix.ts +120 -0
  417. package/scripts/upgradeToV3/v3-upgrade.ts +219 -0
  418. package/scripts/upgrades/celo-deploy.ts +6 -0
  419. package/scripts/upgrades/identity-upgrade.ts +153 -0
  420. package/scripts/{multichain-deploy → upgrades}/nonubiDistribution-deploy.ts +2 -5
  421. package/scripts/upgrades/transferDaoToGuardians.ts +80 -0
  422. package/test/faucet/Faucet.test.ts +184 -0
  423. package/test/{FuseFaucet.test.ts → faucet/FuseFaucet.test.ts} +4 -3
  424. package/test/governance/ClaimersDistribution.test.ts +58 -6
  425. package/test/governance/CompoundVotingMachine.castvote.test.ts +3 -3
  426. package/test/governance/CompoundVotingMachine.crossblockchain.ts +3 -2
  427. package/test/governance/CompoundVotingMachine.daoscheme.ts +8 -10
  428. package/test/governance/CompoundVotingMachine.delegate.test.ts +4 -5
  429. package/test/governance/CompoundVotingMachine.guardian.test.ts +5 -11
  430. package/test/governance/CompoundVotingMachine.propose.test.ts +3 -2
  431. package/test/governance/CompoundVotingMachine.state.test.ts +3 -2
  432. package/test/governance/GReputation.test.ts +78 -32
  433. package/test/governance/GReputation.v2merkle.test.ts +186 -0
  434. package/test/governance/GoodDollarStaking.gd.test.ts +83 -1
  435. package/test/governance/GoodDollarStaking.good.test.ts +2 -1
  436. package/test/governance/GovernanceStaking.test.ts +4 -4
  437. package/test/governance/Reputation.test.ts +2 -1
  438. package/test/governance/StakersDistribution.test.ts +26 -13
  439. package/test/helpers.ts +145 -52
  440. package/test/identity/IdentityV2.test.ts +539 -0
  441. package/test/{InvitesV1.test.ts → invite/InvitesV1.test.ts} +10 -5
  442. package/test/invite/InvitesV2.test.ts +499 -0
  443. package/test/reserve/DistributionHelper.test.ts +2 -1
  444. package/test/reserve/GoodMarketMaker.test.ts +20 -19
  445. package/test/reserve/GoodReserveCDai.cap.test.ts +8 -1
  446. package/test/reserve/GoodReserveCDai.distribution.test.ts +2 -1
  447. package/test/reserve/GoodReserveCDai.gdx.test.ts +2 -2
  448. package/test/reserve/GoodReserveCDai.pause.test.ts +2 -1
  449. package/test/reserve/GoodReserveCDai.test.ts +14 -38
  450. package/test/reserve/GoodReserveCDai.uniswap.test.ts +21 -19
  451. package/test/staking/CompoundStakingFactory.test.ts +8 -5
  452. package/test/staking/DifferentStakingTokens.test.ts +3 -2
  453. package/test/staking/DonationsStaking.test.ts +33 -24
  454. package/test/staking/FuseStaking.test.ts +11 -13
  455. package/test/staking/GoodAaveStakingFactory.test.ts +36 -31
  456. package/test/staking/SimpleDAIStaking.test.ts +13 -19
  457. package/test/staking/StakingRewards.test.ts +32 -32
  458. package/test/staking/StakingRewardsFixedAPY.test.ts +2 -1
  459. package/test/staking/SwapHelper.test.ts +20 -17
  460. package/test/staking/UsdcAaveStaking.test.ts +36 -33
  461. package/test/token/GoodDollar.test.ts +342 -0
  462. package/test/token/SuperGoodDollar.test.ts +422 -0
  463. package/test/ubi/UBIScheme.e2e.test.ts +6 -5
  464. package/test/ubi/UBIScheme.test.ts +37 -36
  465. package/test/ubi/UBISchemeCycle.test.ts +11 -8
  466. package/test/utils/AdminWallet.test.ts +34 -11
  467. package/test/utils/BuyAndBridgeHelper.test.ts +249 -0
  468. package/test/utils/DAOUpgradeableContract.test.ts +3 -2
  469. package/test/utils/GoodDollarMintBurnWrapper.test.ts +3 -2
  470. package/test/utils/NameService.test.ts +37 -21
  471. package/test/utils/ProtocolUpgrade.test.ts +1 -1
  472. package/test/utils/ProxyFactory.test.ts +12 -10
  473. package/truffle-config.js +13 -4
  474. package/types/AaveMock.ts +24 -15
  475. package/types/AccessControlEnumerableUpgradeable.ts +9 -0
  476. package/types/AccessControlUpgradeable.ts +9 -0
  477. package/types/AdminWallet.ts +149 -110
  478. package/types/BuyAndBridgeHelper.ts +279 -0
  479. package/types/CBATMock.ts +24 -15
  480. package/types/CDAILowWorthMock.ts +24 -15
  481. package/types/CDAIMock.ts +24 -15
  482. package/types/CDAINonMintableMock.ts +24 -15
  483. package/types/CDecimalsMock.ts +24 -15
  484. package/types/CSDTMock.ts +24 -15
  485. package/types/CUSDCMock.ts +24 -15
  486. package/types/ClaimersDistribution.ts +28 -0
  487. package/types/CompoundVotingMachine.ts +28 -0
  488. package/types/ContextUpgradeable.ts +77 -0
  489. package/types/DAIMock.ts +24 -15
  490. package/types/DAOUpgradeableContract.ts +28 -0
  491. package/types/DecimalsMock.ts +24 -15
  492. package/types/DistributionHelper.ts +55 -0
  493. package/types/DistributionHelperTest.ts +55 -0
  494. package/types/DistributionHelperTestHelper.ts +55 -0
  495. package/types/DonationsStaking.ts +28 -0
  496. package/types/EIP712Upgradeable.ts +77 -0
  497. package/types/ERC165Upgradeable.ts +13 -2
  498. package/types/ERC1967UpgradeUpgradeable.ts +9 -0
  499. package/types/ERC20BurnableUpgradeable.ts +24 -15
  500. package/types/ERC20PausableUpgradeable.ts +24 -15
  501. package/types/ERC20Permit.ts +186 -0
  502. package/types/ERC20PermitUpgradeable.ts +531 -0
  503. package/types/ERC20PresetMinterPauserUpgradeable.ts +129 -16
  504. package/types/ERC20Upgradeable.ts +24 -15
  505. package/types/ERC20WithTokenInfo.ts +339 -0
  506. package/types/ERC677.ts +131 -0
  507. package/types/ERC677Receiver.ts +115 -0
  508. package/types/EventsEmitter.ts +88 -0
  509. package/types/ExchangeHelper.ts +28 -0
  510. package/types/Faucet.ts +1107 -0
  511. package/types/FeesFormulaMock.ts +130 -0
  512. package/types/FuseFaucet.ts +9 -0
  513. package/types/FuseStakingV3.ts +75 -208
  514. package/types/GReputation.ts +103 -4
  515. package/types/GoodAaveStaking.ts +24 -15
  516. package/types/GoodAaveStakingV2.ts +24 -15
  517. package/types/GoodCompoundStaking.ts +24 -15
  518. package/types/GoodCompoundStakingTest.ts +24 -15
  519. package/types/GoodCompoundStakingV2.ts +24 -15
  520. package/types/GoodDollar.ts +1733 -0
  521. package/types/GoodDollarMintBurnWrapper.ts +55 -0
  522. package/types/GoodDollarStaking.ts +92 -0
  523. package/types/GoodDollarStakingMock.ts +131 -0
  524. package/types/GoodFundManager.ts +28 -0
  525. package/types/GoodFundManagerTest.ts +28 -0
  526. package/types/GoodMarketMaker.ts +28 -0
  527. package/types/GoodReserveCDai.ts +55 -21
  528. package/types/GovernanceStaking.ts +43 -15
  529. package/types/IERC1271Upgradeable.ts +109 -0
  530. package/types/IERC1820Registry.ts +398 -0
  531. package/types/IERC1822ProxiableUpgradeable.ts +90 -0
  532. package/types/IERC20MetadataUpgradeable.ts +15 -15
  533. package/types/IERC20Permit.ts +175 -0
  534. package/types/IERC20PermitUpgradeable.ts +176 -0
  535. package/types/IERC20Upgradeable.ts +15 -15
  536. package/types/IERC777.ts +586 -0
  537. package/types/IERC777Recipient.ts +130 -0
  538. package/types/IERC777Sender.ts +130 -0
  539. package/types/IFeesFormula.ts +111 -0
  540. package/types/IGoodDollar.ts +304 -7
  541. package/types/IGoodDollarCustom.ts +618 -0
  542. package/types/IGovernanceStaking.ts +98 -0
  543. package/types/IIdentity.ts +106 -0
  544. package/types/IIdentityV2.ts +557 -0
  545. package/types/IStakingUpgrade.ts +110 -0
  546. package/types/ISuperAgreement.ts +151 -0
  547. package/types/ISuperApp.ts +410 -0
  548. package/types/ISuperGoodDollar.ts +3029 -0
  549. package/types/ISuperToken.ts +2326 -0
  550. package/types/ISuperTokenFactory.ts +415 -0
  551. package/types/ISuperfluid.ts +1565 -0
  552. package/types/ISuperfluidGovernance.ts +455 -0
  553. package/types/ISuperfluidToken.ts +951 -0
  554. package/types/IdentityMock.ts +493 -0
  555. package/types/IdentityV2.ts +1743 -0
  556. package/types/Initializable.ts +77 -0
  557. package/types/InvitesV1.ts +9 -0
  558. package/types/InvitesV2.ts +1015 -0
  559. package/types/LendingPoolMock.ts +24 -15
  560. package/types/NameService.ts +28 -0
  561. package/types/OwnableUpgradeable.ts +9 -0
  562. package/types/PausableUpgradeable.ts +9 -0
  563. package/types/PayableMock.ts +92 -0
  564. package/types/ReentrancyGuardUpgradeable.ts +78 -0
  565. package/types/Reputation.ts +28 -0
  566. package/types/SelfApprove.ts +115 -0
  567. package/types/SimpleStaking.ts +24 -15
  568. package/types/SimpleStakingV2.ts +24 -15
  569. package/types/SixteenDecimalsTokenMock.ts +24 -15
  570. package/types/StakersDistribution.ts +28 -0
  571. package/types/SuperGoodDollar.ts +3632 -0
  572. package/types/SuperToken.ts +2434 -0
  573. package/types/SuperfluidToken.ts +951 -0
  574. package/types/TokenInfo.ts +109 -0
  575. package/types/TwentyDecimalsTokenMock.ts +24 -15
  576. package/types/UBIScheme.ts +47 -40
  577. package/types/USDCMock.ts +24 -15
  578. package/types/UUPSProxiable.ts +183 -0
  579. package/types/UUPSProxy.ts +105 -0
  580. package/types/UUPSUpgradeable.ts +28 -0
  581. package/types/UpgradableMock.ts +28 -0
  582. package/types/UpgradableMock2.ts +28 -0
  583. package/types/UpgradableMock3.ts +28 -0
  584. package/types/UpgradableMock4.ts +28 -0
  585. package/types/factories/AaveMock__factory.ts +17 -4
  586. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  587. package/types/factories/AaveUSDMockOracle__factory.ts +1 -1
  588. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +13 -0
  589. package/types/factories/AccessControlUpgradeable__factory.ts +13 -0
  590. package/types/factories/AdminWallet__factory.ts +93 -47
  591. package/types/factories/BancorFormula__factory.ts +1 -1
  592. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  593. package/types/factories/BaseShareField__factory.ts +1 -1
  594. package/types/factories/BatUSDMockOracle__factory.ts +1 -1
  595. package/types/factories/BuyAndBridgeHelper__factory.ts +237 -0
  596. package/types/factories/CBATMock__factory.ts +17 -4
  597. package/types/factories/CDAILowWorthMock__factory.ts +17 -4
  598. package/types/factories/CDAIMock__factory.ts +17 -4
  599. package/types/factories/CDAINonMintableMock__factory.ts +17 -4
  600. package/types/factories/CDecimalsMock__factory.ts +17 -4
  601. package/types/factories/CSDTMock__factory.ts +17 -4
  602. package/types/factories/CUSDCMock__factory.ts +17 -4
  603. package/types/factories/ClaimersDistribution__factory.ts +27 -1
  604. package/types/factories/CompUSDMockOracle__factory.ts +1 -1
  605. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  606. package/types/factories/CompoundVotingMachine__factory.ts +27 -1
  607. package/types/factories/ContextUpgradeable__factory.ts +39 -0
  608. package/types/factories/DAIMock__factory.ts +17 -4
  609. package/types/factories/DAOContract__factory.ts +1 -1
  610. package/types/factories/DAOUpgradeableContract__factory.ts +27 -1
  611. package/types/factories/DaiEthPriceMockOracle__factory.ts +1 -1
  612. package/types/factories/DecimalsMock__factory.ts +17 -4
  613. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  614. package/types/factories/DistributionHelperTestHelper__factory.ts +34 -1
  615. package/types/factories/DistributionHelperTest__factory.ts +34 -1
  616. package/types/factories/DistributionHelper__factory.ts +34 -1
  617. package/types/factories/DonationsStaking__factory.ts +27 -1
  618. package/types/factories/EIP712Upgradeable__factory.ts +39 -0
  619. package/types/factories/ERC165Upgradeable__factory.ts +13 -0
  620. package/types/factories/ERC1967Proxy__factory.ts +1 -1
  621. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +13 -0
  622. package/types/factories/ERC20BurnableUpgradeable__factory.ts +16 -3
  623. package/types/factories/ERC20PausableUpgradeable__factory.ts +16 -3
  624. package/types/factories/ERC20PermitUpgradeable__factory.ts +388 -0
  625. package/types/factories/ERC20Permit__factory.ts +111 -0
  626. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +99 -5
  627. package/types/factories/ERC20Upgradeable__factory.ts +17 -4
  628. package/types/factories/ERC20WithTokenInfo__factory.ts +248 -0
  629. package/types/factories/ERC677Receiver__factory.ts +55 -0
  630. package/types/factories/ERC677__factory.ts +75 -0
  631. package/types/factories/EthUSDMockOracle__factory.ts +1 -1
  632. package/types/factories/EventsEmitter__factory.ts +84 -0
  633. package/types/factories/ExchangeHelper__factory.ts +27 -1
  634. package/types/factories/Faucet__factory.ts +781 -0
  635. package/types/factories/FeesFormulaMock__factory.ts +132 -0
  636. package/types/factories/FuseFaucet__factory.ts +14 -1
  637. package/types/factories/FuseStakingV3__factory.ts +43 -82
  638. package/types/factories/GReputation__factory.ts +77 -2
  639. package/types/factories/GasPriceMockOracle__factory.ts +1 -1
  640. package/types/factories/GoodAaveStakingV2__factory.ts +17 -4
  641. package/types/factories/GoodAaveStaking__factory.ts +17 -4
  642. package/types/factories/GoodCompoundStakingTest__factory.ts +17 -4
  643. package/types/factories/GoodCompoundStakingV2__factory.ts +17 -4
  644. package/types/factories/GoodCompoundStaking__factory.ts +17 -4
  645. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +34 -1
  646. package/types/factories/GoodDollarStakingMock__factory.ts +94 -1
  647. package/types/factories/GoodDollarStaking__factory.ts +70 -1
  648. package/types/factories/GoodDollar__factory.ts +1254 -0
  649. package/types/factories/GoodFundManagerTest__factory.ts +27 -1
  650. package/types/factories/GoodFundManager__factory.ts +27 -1
  651. package/types/factories/GoodMarketMaker__factory.ts +27 -1
  652. package/types/factories/GoodReserveCDai__factory.ts +36 -4
  653. package/types/factories/GovernanceStaking__factory.ts +30 -4
  654. package/types/factories/IERC1271Upgradeable__factory.ts +50 -0
  655. package/types/factories/IERC1820Registry__factory.ts +239 -0
  656. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  657. package/types/factories/IERC20MetadataUpgradeable__factory.ts +3 -3
  658. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  659. package/types/factories/IERC20Permit__factory.ts +98 -0
  660. package/types/factories/IERC20Upgradeable__factory.ts +3 -3
  661. package/types/factories/IERC777Recipient__factory.ts +64 -0
  662. package/types/factories/IERC777Sender__factory.ts +61 -0
  663. package/types/factories/IERC777__factory.ts +414 -0
  664. package/types/factories/IFeesFormula__factory.ts +57 -0
  665. package/types/factories/IGoodDollarCustom__factory.ts +370 -0
  666. package/types/factories/IGoodDollar__factory.ts +184 -0
  667. package/types/factories/IGovernanceStaking__factory.ts +39 -0
  668. package/types/factories/IIdentityV2__factory.ts +312 -0
  669. package/types/factories/IIdentity__factory.ts +70 -0
  670. package/types/factories/IStakingUpgrade__factory.ts +50 -0
  671. package/types/factories/ISuperAgreement__factory.ts +78 -0
  672. package/types/factories/ISuperApp__factory.ts +272 -0
  673. package/types/factories/ISuperGoodDollar__factory.ts +2147 -0
  674. package/types/factories/ISuperTokenFactory__factory.ts +271 -0
  675. package/types/factories/ISuperToken__factory.ts +1682 -0
  676. package/types/factories/ISuperfluidGovernance__factory.ts +264 -0
  677. package/types/factories/ISuperfluidToken__factory.ts +697 -0
  678. package/types/factories/ISuperfluid__factory.ts +1143 -0
  679. package/types/factories/IdentityMock__factory.ts +327 -0
  680. package/types/factories/IdentityV2__factory.ts +1129 -0
  681. package/types/factories/IncentiveControllerMock__factory.ts +1 -1
  682. package/types/factories/Initializable__factory.ts +36 -0
  683. package/types/factories/InvitesV1__factory.ts +14 -1
  684. package/types/factories/InvitesV2__factory.ts +688 -0
  685. package/types/factories/LendingPoolMock__factory.ts +17 -4
  686. package/types/factories/Multicall__factory.ts +1 -1
  687. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  688. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  689. package/types/factories/NameService__factory.ts +27 -1
  690. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  691. package/types/factories/OverMintTester__factory.ts +1 -1
  692. package/types/factories/OwnableUpgradeable__factory.ts +13 -0
  693. package/types/factories/PausableUpgradeable__factory.ts +13 -0
  694. package/types/factories/PayableMock__factory.ts +66 -0
  695. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  696. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  697. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  698. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  699. package/types/factories/ProxyFactory1967__factory.ts +1 -1
  700. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  701. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  702. package/types/factories/Reputation__factory.ts +27 -1
  703. package/types/factories/SelfApprove__factory.ts +46 -0
  704. package/types/factories/SimpleStakingV2__factory.ts +16 -3
  705. package/types/factories/SimpleStaking__factory.ts +16 -3
  706. package/types/factories/SixteenDecimalsTokenMock__factory.ts +17 -4
  707. package/types/factories/StakersDistribution__factory.ts +27 -1
  708. package/types/factories/StakingMockFixedAPY__factory.ts +1 -1
  709. package/types/factories/SuperGoodDollar__factory.ts +2643 -0
  710. package/types/factories/SuperToken__factory.ts +1809 -0
  711. package/types/factories/SuperfluidToken__factory.ts +697 -0
  712. package/types/factories/SwapHelperTest__factory.ts +1 -1
  713. package/types/factories/TokenInfo__factory.ts +62 -0
  714. package/types/factories/TwentyDecimalsTokenMock__factory.ts +17 -4
  715. package/types/factories/UBIScheme__factory.ts +40 -21
  716. package/types/factories/USDCMock__factory.ts +17 -4
  717. package/types/factories/UUPSProxiable__factory.ts +101 -0
  718. package/types/factories/UUPSProxy__factory.ts +80 -0
  719. package/types/factories/UUPSUpgradeable__factory.ts +26 -0
  720. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  721. package/types/factories/UpgradableMock2__factory.ts +27 -1
  722. package/types/factories/UpgradableMock3__factory.ts +27 -1
  723. package/types/factories/UpgradableMock4__factory.ts +27 -1
  724. package/types/factories/UpgradableMock__factory.ts +27 -1
  725. package/types/hardhat.d.ts +432 -0
  726. package/types/index.ts +92 -0
  727. package/yarn.lock +2348 -864
@@ -0,0 +1,2643 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
6
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
+ import type {
8
+ SuperGoodDollar,
9
+ SuperGoodDollarInterface,
10
+ } from "../SuperGoodDollar";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "contract ISuperfluid",
17
+ name: "_host",
18
+ type: "address",
19
+ },
20
+ ],
21
+ stateMutability: "nonpayable",
22
+ type: "constructor",
23
+ },
24
+ {
25
+ inputs: [],
26
+ name: "SF_TOKEN_AGREEMENT_ALREADY_EXISTS",
27
+ type: "error",
28
+ },
29
+ {
30
+ inputs: [],
31
+ name: "SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",
32
+ type: "error",
33
+ },
34
+ {
35
+ inputs: [],
36
+ name: "SF_TOKEN_BURN_INSUFFICIENT_BALANCE",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [],
41
+ name: "SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",
42
+ type: "error",
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: "SF_TOKEN_ONLY_HOST",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [],
51
+ name: "SF_TOKEN_ONLY_LISTED_AGREEMENT",
52
+ type: "error",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",
72
+ type: "error",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",
77
+ type: "error",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",
82
+ type: "error",
83
+ },
84
+ {
85
+ inputs: [],
86
+ name: "SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",
87
+ type: "error",
88
+ },
89
+ {
90
+ inputs: [],
91
+ name: "SUPER_TOKEN_NO_UNDERLYING_TOKEN",
92
+ type: "error",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "SUPER_TOKEN_ONLY_HOST",
97
+ type: "error",
98
+ },
99
+ {
100
+ inputs: [],
101
+ name: "SUPER_TOKEN_ONLY_SELF",
102
+ type: "error",
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: "SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",
107
+ type: "error",
108
+ },
109
+ {
110
+ inputs: [],
111
+ name: "SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",
112
+ type: "error",
113
+ },
114
+ {
115
+ anonymous: false,
116
+ inputs: [
117
+ {
118
+ indexed: true,
119
+ internalType: "address",
120
+ name: "agreementClass",
121
+ type: "address",
122
+ },
123
+ {
124
+ indexed: false,
125
+ internalType: "bytes32",
126
+ name: "id",
127
+ type: "bytes32",
128
+ },
129
+ {
130
+ indexed: false,
131
+ internalType: "bytes32[]",
132
+ name: "data",
133
+ type: "bytes32[]",
134
+ },
135
+ ],
136
+ name: "AgreementCreated",
137
+ type: "event",
138
+ },
139
+ {
140
+ anonymous: false,
141
+ inputs: [
142
+ {
143
+ indexed: true,
144
+ internalType: "address",
145
+ name: "agreementClass",
146
+ type: "address",
147
+ },
148
+ {
149
+ indexed: false,
150
+ internalType: "bytes32",
151
+ name: "id",
152
+ type: "bytes32",
153
+ },
154
+ {
155
+ indexed: true,
156
+ internalType: "address",
157
+ name: "penaltyAccount",
158
+ type: "address",
159
+ },
160
+ {
161
+ indexed: true,
162
+ internalType: "address",
163
+ name: "rewardAccount",
164
+ type: "address",
165
+ },
166
+ {
167
+ indexed: false,
168
+ internalType: "uint256",
169
+ name: "rewardAmount",
170
+ type: "uint256",
171
+ },
172
+ ],
173
+ name: "AgreementLiquidated",
174
+ type: "event",
175
+ },
176
+ {
177
+ anonymous: false,
178
+ inputs: [
179
+ {
180
+ indexed: false,
181
+ internalType: "address",
182
+ name: "liquidatorAccount",
183
+ type: "address",
184
+ },
185
+ {
186
+ indexed: true,
187
+ internalType: "address",
188
+ name: "agreementClass",
189
+ type: "address",
190
+ },
191
+ {
192
+ indexed: false,
193
+ internalType: "bytes32",
194
+ name: "id",
195
+ type: "bytes32",
196
+ },
197
+ {
198
+ indexed: true,
199
+ internalType: "address",
200
+ name: "penaltyAccount",
201
+ type: "address",
202
+ },
203
+ {
204
+ indexed: true,
205
+ internalType: "address",
206
+ name: "bondAccount",
207
+ type: "address",
208
+ },
209
+ {
210
+ indexed: false,
211
+ internalType: "uint256",
212
+ name: "rewardAmount",
213
+ type: "uint256",
214
+ },
215
+ {
216
+ indexed: false,
217
+ internalType: "uint256",
218
+ name: "bailoutAmount",
219
+ type: "uint256",
220
+ },
221
+ ],
222
+ name: "AgreementLiquidatedBy",
223
+ type: "event",
224
+ },
225
+ {
226
+ anonymous: false,
227
+ inputs: [
228
+ {
229
+ indexed: true,
230
+ internalType: "address",
231
+ name: "agreementClass",
232
+ type: "address",
233
+ },
234
+ {
235
+ indexed: false,
236
+ internalType: "bytes32",
237
+ name: "id",
238
+ type: "bytes32",
239
+ },
240
+ {
241
+ indexed: true,
242
+ internalType: "address",
243
+ name: "liquidatorAccount",
244
+ type: "address",
245
+ },
246
+ {
247
+ indexed: true,
248
+ internalType: "address",
249
+ name: "targetAccount",
250
+ type: "address",
251
+ },
252
+ {
253
+ indexed: false,
254
+ internalType: "address",
255
+ name: "rewardAmountReceiver",
256
+ type: "address",
257
+ },
258
+ {
259
+ indexed: false,
260
+ internalType: "uint256",
261
+ name: "rewardAmount",
262
+ type: "uint256",
263
+ },
264
+ {
265
+ indexed: false,
266
+ internalType: "int256",
267
+ name: "targetAccountBalanceDelta",
268
+ type: "int256",
269
+ },
270
+ {
271
+ indexed: false,
272
+ internalType: "bytes",
273
+ name: "liquidationTypeData",
274
+ type: "bytes",
275
+ },
276
+ ],
277
+ name: "AgreementLiquidatedV2",
278
+ type: "event",
279
+ },
280
+ {
281
+ anonymous: false,
282
+ inputs: [
283
+ {
284
+ indexed: true,
285
+ internalType: "address",
286
+ name: "agreementClass",
287
+ type: "address",
288
+ },
289
+ {
290
+ indexed: true,
291
+ internalType: "address",
292
+ name: "account",
293
+ type: "address",
294
+ },
295
+ {
296
+ indexed: false,
297
+ internalType: "uint256",
298
+ name: "slotId",
299
+ type: "uint256",
300
+ },
301
+ ],
302
+ name: "AgreementStateUpdated",
303
+ type: "event",
304
+ },
305
+ {
306
+ anonymous: false,
307
+ inputs: [
308
+ {
309
+ indexed: true,
310
+ internalType: "address",
311
+ name: "agreementClass",
312
+ type: "address",
313
+ },
314
+ {
315
+ indexed: false,
316
+ internalType: "bytes32",
317
+ name: "id",
318
+ type: "bytes32",
319
+ },
320
+ ],
321
+ name: "AgreementTerminated",
322
+ type: "event",
323
+ },
324
+ {
325
+ anonymous: false,
326
+ inputs: [
327
+ {
328
+ indexed: true,
329
+ internalType: "address",
330
+ name: "agreementClass",
331
+ type: "address",
332
+ },
333
+ {
334
+ indexed: false,
335
+ internalType: "bytes32",
336
+ name: "id",
337
+ type: "bytes32",
338
+ },
339
+ {
340
+ indexed: false,
341
+ internalType: "bytes32[]",
342
+ name: "data",
343
+ type: "bytes32[]",
344
+ },
345
+ ],
346
+ name: "AgreementUpdated",
347
+ type: "event",
348
+ },
349
+ {
350
+ anonymous: false,
351
+ inputs: [
352
+ {
353
+ indexed: true,
354
+ internalType: "address",
355
+ name: "owner",
356
+ type: "address",
357
+ },
358
+ {
359
+ indexed: true,
360
+ internalType: "address",
361
+ name: "spender",
362
+ type: "address",
363
+ },
364
+ {
365
+ indexed: false,
366
+ internalType: "uint256",
367
+ name: "value",
368
+ type: "uint256",
369
+ },
370
+ ],
371
+ name: "Approval",
372
+ type: "event",
373
+ },
374
+ {
375
+ anonymous: false,
376
+ inputs: [
377
+ {
378
+ indexed: true,
379
+ internalType: "address",
380
+ name: "operator",
381
+ type: "address",
382
+ },
383
+ {
384
+ indexed: true,
385
+ internalType: "address",
386
+ name: "tokenHolder",
387
+ type: "address",
388
+ },
389
+ ],
390
+ name: "AuthorizedOperator",
391
+ type: "event",
392
+ },
393
+ {
394
+ anonymous: false,
395
+ inputs: [
396
+ {
397
+ indexed: true,
398
+ internalType: "address",
399
+ name: "bailoutAccount",
400
+ type: "address",
401
+ },
402
+ {
403
+ indexed: false,
404
+ internalType: "uint256",
405
+ name: "bailoutAmount",
406
+ type: "uint256",
407
+ },
408
+ ],
409
+ name: "Bailout",
410
+ type: "event",
411
+ },
412
+ {
413
+ anonymous: false,
414
+ inputs: [
415
+ {
416
+ indexed: true,
417
+ internalType: "address",
418
+ name: "operator",
419
+ type: "address",
420
+ },
421
+ {
422
+ indexed: true,
423
+ internalType: "address",
424
+ name: "from",
425
+ type: "address",
426
+ },
427
+ {
428
+ indexed: false,
429
+ internalType: "uint256",
430
+ name: "amount",
431
+ type: "uint256",
432
+ },
433
+ {
434
+ indexed: false,
435
+ internalType: "bytes",
436
+ name: "data",
437
+ type: "bytes",
438
+ },
439
+ {
440
+ indexed: false,
441
+ internalType: "bytes",
442
+ name: "operatorData",
443
+ type: "bytes",
444
+ },
445
+ ],
446
+ name: "Burned",
447
+ type: "event",
448
+ },
449
+ {
450
+ anonymous: false,
451
+ inputs: [
452
+ {
453
+ indexed: false,
454
+ internalType: "bytes32",
455
+ name: "uuid",
456
+ type: "bytes32",
457
+ },
458
+ {
459
+ indexed: false,
460
+ internalType: "address",
461
+ name: "codeAddress",
462
+ type: "address",
463
+ },
464
+ ],
465
+ name: "CodeUpdated",
466
+ type: "event",
467
+ },
468
+ {
469
+ anonymous: false,
470
+ inputs: [
471
+ {
472
+ indexed: false,
473
+ internalType: "uint8",
474
+ name: "version",
475
+ type: "uint8",
476
+ },
477
+ ],
478
+ name: "Initialized",
479
+ type: "event",
480
+ },
481
+ {
482
+ anonymous: false,
483
+ inputs: [
484
+ {
485
+ indexed: true,
486
+ internalType: "address",
487
+ name: "operator",
488
+ type: "address",
489
+ },
490
+ {
491
+ indexed: true,
492
+ internalType: "address",
493
+ name: "to",
494
+ type: "address",
495
+ },
496
+ {
497
+ indexed: false,
498
+ internalType: "uint256",
499
+ name: "amount",
500
+ type: "uint256",
501
+ },
502
+ {
503
+ indexed: false,
504
+ internalType: "bytes",
505
+ name: "data",
506
+ type: "bytes",
507
+ },
508
+ {
509
+ indexed: false,
510
+ internalType: "bytes",
511
+ name: "operatorData",
512
+ type: "bytes",
513
+ },
514
+ ],
515
+ name: "Minted",
516
+ type: "event",
517
+ },
518
+ {
519
+ anonymous: false,
520
+ inputs: [
521
+ {
522
+ indexed: false,
523
+ internalType: "address",
524
+ name: "account",
525
+ type: "address",
526
+ },
527
+ ],
528
+ name: "Paused",
529
+ type: "event",
530
+ },
531
+ {
532
+ anonymous: false,
533
+ inputs: [
534
+ {
535
+ indexed: true,
536
+ internalType: "address",
537
+ name: "operator",
538
+ type: "address",
539
+ },
540
+ {
541
+ indexed: true,
542
+ internalType: "address",
543
+ name: "tokenHolder",
544
+ type: "address",
545
+ },
546
+ ],
547
+ name: "RevokedOperator",
548
+ type: "event",
549
+ },
550
+ {
551
+ anonymous: false,
552
+ inputs: [
553
+ {
554
+ indexed: true,
555
+ internalType: "bytes32",
556
+ name: "role",
557
+ type: "bytes32",
558
+ },
559
+ {
560
+ indexed: true,
561
+ internalType: "bytes32",
562
+ name: "previousAdminRole",
563
+ type: "bytes32",
564
+ },
565
+ {
566
+ indexed: true,
567
+ internalType: "bytes32",
568
+ name: "newAdminRole",
569
+ type: "bytes32",
570
+ },
571
+ ],
572
+ name: "RoleAdminChanged",
573
+ type: "event",
574
+ },
575
+ {
576
+ anonymous: false,
577
+ inputs: [
578
+ {
579
+ indexed: true,
580
+ internalType: "bytes32",
581
+ name: "role",
582
+ type: "bytes32",
583
+ },
584
+ {
585
+ indexed: true,
586
+ internalType: "address",
587
+ name: "account",
588
+ type: "address",
589
+ },
590
+ {
591
+ indexed: true,
592
+ internalType: "address",
593
+ name: "sender",
594
+ type: "address",
595
+ },
596
+ ],
597
+ name: "RoleGranted",
598
+ type: "event",
599
+ },
600
+ {
601
+ anonymous: false,
602
+ inputs: [
603
+ {
604
+ indexed: true,
605
+ internalType: "bytes32",
606
+ name: "role",
607
+ type: "bytes32",
608
+ },
609
+ {
610
+ indexed: true,
611
+ internalType: "address",
612
+ name: "account",
613
+ type: "address",
614
+ },
615
+ {
616
+ indexed: true,
617
+ internalType: "address",
618
+ name: "sender",
619
+ type: "address",
620
+ },
621
+ ],
622
+ name: "RoleRevoked",
623
+ type: "event",
624
+ },
625
+ {
626
+ anonymous: false,
627
+ inputs: [
628
+ {
629
+ indexed: true,
630
+ internalType: "address",
631
+ name: "operator",
632
+ type: "address",
633
+ },
634
+ {
635
+ indexed: true,
636
+ internalType: "address",
637
+ name: "from",
638
+ type: "address",
639
+ },
640
+ {
641
+ indexed: true,
642
+ internalType: "address",
643
+ name: "to",
644
+ type: "address",
645
+ },
646
+ {
647
+ indexed: false,
648
+ internalType: "uint256",
649
+ name: "amount",
650
+ type: "uint256",
651
+ },
652
+ {
653
+ indexed: false,
654
+ internalType: "bytes",
655
+ name: "data",
656
+ type: "bytes",
657
+ },
658
+ {
659
+ indexed: false,
660
+ internalType: "bytes",
661
+ name: "operatorData",
662
+ type: "bytes",
663
+ },
664
+ ],
665
+ name: "Sent",
666
+ type: "event",
667
+ },
668
+ {
669
+ anonymous: false,
670
+ inputs: [
671
+ {
672
+ indexed: true,
673
+ internalType: "address",
674
+ name: "account",
675
+ type: "address",
676
+ },
677
+ {
678
+ indexed: false,
679
+ internalType: "uint256",
680
+ name: "amount",
681
+ type: "uint256",
682
+ },
683
+ ],
684
+ name: "TokenDowngraded",
685
+ type: "event",
686
+ },
687
+ {
688
+ anonymous: false,
689
+ inputs: [
690
+ {
691
+ indexed: true,
692
+ internalType: "address",
693
+ name: "account",
694
+ type: "address",
695
+ },
696
+ {
697
+ indexed: false,
698
+ internalType: "uint256",
699
+ name: "amount",
700
+ type: "uint256",
701
+ },
702
+ ],
703
+ name: "TokenUpgraded",
704
+ type: "event",
705
+ },
706
+ {
707
+ anonymous: false,
708
+ inputs: [
709
+ {
710
+ indexed: true,
711
+ internalType: "address",
712
+ name: "from",
713
+ type: "address",
714
+ },
715
+ {
716
+ indexed: true,
717
+ internalType: "address",
718
+ name: "to",
719
+ type: "address",
720
+ },
721
+ {
722
+ indexed: false,
723
+ internalType: "uint256",
724
+ name: "value",
725
+ type: "uint256",
726
+ },
727
+ {
728
+ indexed: false,
729
+ internalType: "bytes",
730
+ name: "data",
731
+ type: "bytes",
732
+ },
733
+ ],
734
+ name: "Transfer",
735
+ type: "event",
736
+ },
737
+ {
738
+ anonymous: false,
739
+ inputs: [
740
+ {
741
+ indexed: true,
742
+ internalType: "address",
743
+ name: "from",
744
+ type: "address",
745
+ },
746
+ {
747
+ indexed: true,
748
+ internalType: "address",
749
+ name: "to",
750
+ type: "address",
751
+ },
752
+ {
753
+ indexed: false,
754
+ internalType: "uint256",
755
+ name: "value",
756
+ type: "uint256",
757
+ },
758
+ ],
759
+ name: "Transfer",
760
+ type: "event",
761
+ },
762
+ {
763
+ anonymous: false,
764
+ inputs: [
765
+ {
766
+ indexed: false,
767
+ internalType: "address",
768
+ name: "account",
769
+ type: "address",
770
+ },
771
+ ],
772
+ name: "Unpaused",
773
+ type: "event",
774
+ },
775
+ {
776
+ inputs: [],
777
+ name: "DEFAULT_ADMIN_ROLE",
778
+ outputs: [
779
+ {
780
+ internalType: "bytes32",
781
+ name: "",
782
+ type: "bytes32",
783
+ },
784
+ ],
785
+ stateMutability: "view",
786
+ type: "function",
787
+ },
788
+ {
789
+ inputs: [],
790
+ name: "DOMAIN_SEPARATOR",
791
+ outputs: [
792
+ {
793
+ internalType: "bytes32",
794
+ name: "",
795
+ type: "bytes32",
796
+ },
797
+ ],
798
+ stateMutability: "view",
799
+ type: "function",
800
+ },
801
+ {
802
+ inputs: [],
803
+ name: "MINTER_ROLE",
804
+ outputs: [
805
+ {
806
+ internalType: "bytes32",
807
+ name: "",
808
+ type: "bytes32",
809
+ },
810
+ ],
811
+ stateMutability: "view",
812
+ type: "function",
813
+ },
814
+ {
815
+ inputs: [],
816
+ name: "PAUSER_ROLE",
817
+ outputs: [
818
+ {
819
+ internalType: "bytes32",
820
+ name: "",
821
+ type: "bytes32",
822
+ },
823
+ ],
824
+ stateMutability: "view",
825
+ type: "function",
826
+ },
827
+ {
828
+ inputs: [
829
+ {
830
+ internalType: "address",
831
+ name: "_minter",
832
+ type: "address",
833
+ },
834
+ ],
835
+ name: "addMinter",
836
+ outputs: [],
837
+ stateMutability: "nonpayable",
838
+ type: "function",
839
+ },
840
+ {
841
+ inputs: [
842
+ {
843
+ internalType: "address",
844
+ name: "_pauser",
845
+ type: "address",
846
+ },
847
+ ],
848
+ name: "addPauser",
849
+ outputs: [],
850
+ stateMutability: "nonpayable",
851
+ type: "function",
852
+ },
853
+ {
854
+ inputs: [
855
+ {
856
+ internalType: "address",
857
+ name: "account",
858
+ type: "address",
859
+ },
860
+ {
861
+ internalType: "address",
862
+ name: "spender",
863
+ type: "address",
864
+ },
865
+ ],
866
+ name: "allowance",
867
+ outputs: [
868
+ {
869
+ internalType: "uint256",
870
+ name: "",
871
+ type: "uint256",
872
+ },
873
+ ],
874
+ stateMutability: "view",
875
+ type: "function",
876
+ },
877
+ {
878
+ inputs: [
879
+ {
880
+ internalType: "address",
881
+ name: "spender",
882
+ type: "address",
883
+ },
884
+ {
885
+ internalType: "uint256",
886
+ name: "amount",
887
+ type: "uint256",
888
+ },
889
+ ],
890
+ name: "approve",
891
+ outputs: [
892
+ {
893
+ internalType: "bool",
894
+ name: "",
895
+ type: "bool",
896
+ },
897
+ ],
898
+ stateMutability: "nonpayable",
899
+ type: "function",
900
+ },
901
+ {
902
+ inputs: [
903
+ {
904
+ internalType: "address",
905
+ name: "operator",
906
+ type: "address",
907
+ },
908
+ ],
909
+ name: "authorizeOperator",
910
+ outputs: [],
911
+ stateMutability: "nonpayable",
912
+ type: "function",
913
+ },
914
+ {
915
+ inputs: [
916
+ {
917
+ internalType: "address",
918
+ name: "account",
919
+ type: "address",
920
+ },
921
+ ],
922
+ name: "balanceOf",
923
+ outputs: [
924
+ {
925
+ internalType: "uint256",
926
+ name: "balance",
927
+ type: "uint256",
928
+ },
929
+ ],
930
+ stateMutability: "view",
931
+ type: "function",
932
+ },
933
+ {
934
+ inputs: [
935
+ {
936
+ internalType: "uint256",
937
+ name: "amount",
938
+ type: "uint256",
939
+ },
940
+ ],
941
+ name: "burn",
942
+ outputs: [],
943
+ stateMutability: "nonpayable",
944
+ type: "function",
945
+ },
946
+ {
947
+ inputs: [
948
+ {
949
+ internalType: "uint256",
950
+ name: "amount",
951
+ type: "uint256",
952
+ },
953
+ {
954
+ internalType: "bytes",
955
+ name: "data",
956
+ type: "bytes",
957
+ },
958
+ ],
959
+ name: "burn",
960
+ outputs: [],
961
+ stateMutability: "nonpayable",
962
+ type: "function",
963
+ },
964
+ {
965
+ inputs: [
966
+ {
967
+ internalType: "address",
968
+ name: "account",
969
+ type: "address",
970
+ },
971
+ {
972
+ internalType: "uint256",
973
+ name: "amount",
974
+ type: "uint256",
975
+ },
976
+ ],
977
+ name: "burnFrom",
978
+ outputs: [],
979
+ stateMutability: "nonpayable",
980
+ type: "function",
981
+ },
982
+ {
983
+ inputs: [],
984
+ name: "cap",
985
+ outputs: [
986
+ {
987
+ internalType: "uint256",
988
+ name: "",
989
+ type: "uint256",
990
+ },
991
+ ],
992
+ stateMutability: "view",
993
+ type: "function",
994
+ },
995
+ {
996
+ inputs: [],
997
+ name: "castrate",
998
+ outputs: [],
999
+ stateMutability: "nonpayable",
1000
+ type: "function",
1001
+ },
1002
+ {
1003
+ inputs: [
1004
+ {
1005
+ internalType: "bytes32",
1006
+ name: "id",
1007
+ type: "bytes32",
1008
+ },
1009
+ {
1010
+ internalType: "bytes32[]",
1011
+ name: "data",
1012
+ type: "bytes32[]",
1013
+ },
1014
+ ],
1015
+ name: "createAgreement",
1016
+ outputs: [],
1017
+ stateMutability: "nonpayable",
1018
+ type: "function",
1019
+ },
1020
+ {
1021
+ inputs: [],
1022
+ name: "decimals",
1023
+ outputs: [
1024
+ {
1025
+ internalType: "uint8",
1026
+ name: "",
1027
+ type: "uint8",
1028
+ },
1029
+ ],
1030
+ stateMutability: "pure",
1031
+ type: "function",
1032
+ },
1033
+ {
1034
+ inputs: [
1035
+ {
1036
+ internalType: "address",
1037
+ name: "spender",
1038
+ type: "address",
1039
+ },
1040
+ {
1041
+ internalType: "uint256",
1042
+ name: "subtractedValue",
1043
+ type: "uint256",
1044
+ },
1045
+ ],
1046
+ name: "decreaseAllowance",
1047
+ outputs: [
1048
+ {
1049
+ internalType: "bool",
1050
+ name: "",
1051
+ type: "bool",
1052
+ },
1053
+ ],
1054
+ stateMutability: "nonpayable",
1055
+ type: "function",
1056
+ },
1057
+ {
1058
+ inputs: [],
1059
+ name: "defaultOperators",
1060
+ outputs: [
1061
+ {
1062
+ internalType: "address[]",
1063
+ name: "",
1064
+ type: "address[]",
1065
+ },
1066
+ ],
1067
+ stateMutability: "view",
1068
+ type: "function",
1069
+ },
1070
+ {
1071
+ inputs: [],
1072
+ name: "disableHostOperations",
1073
+ outputs: [
1074
+ {
1075
+ internalType: "bool",
1076
+ name: "",
1077
+ type: "bool",
1078
+ },
1079
+ ],
1080
+ stateMutability: "view",
1081
+ type: "function",
1082
+ },
1083
+ {
1084
+ inputs: [
1085
+ {
1086
+ internalType: "uint256",
1087
+ name: "amount",
1088
+ type: "uint256",
1089
+ },
1090
+ ],
1091
+ name: "downgrade",
1092
+ outputs: [],
1093
+ stateMutability: "nonpayable",
1094
+ type: "function",
1095
+ },
1096
+ {
1097
+ inputs: [
1098
+ {
1099
+ internalType: "bool",
1100
+ name: "enabled",
1101
+ type: "bool",
1102
+ },
1103
+ ],
1104
+ name: "enableHostOperations",
1105
+ outputs: [],
1106
+ stateMutability: "nonpayable",
1107
+ type: "function",
1108
+ },
1109
+ {
1110
+ inputs: [],
1111
+ name: "feeRecipient",
1112
+ outputs: [
1113
+ {
1114
+ internalType: "address",
1115
+ name: "",
1116
+ type: "address",
1117
+ },
1118
+ ],
1119
+ stateMutability: "view",
1120
+ type: "function",
1121
+ },
1122
+ {
1123
+ inputs: [],
1124
+ name: "formula",
1125
+ outputs: [
1126
+ {
1127
+ internalType: "contract IFeesFormula",
1128
+ name: "",
1129
+ type: "address",
1130
+ },
1131
+ ],
1132
+ stateMutability: "view",
1133
+ type: "function",
1134
+ },
1135
+ {
1136
+ inputs: [
1137
+ {
1138
+ internalType: "address",
1139
+ name: "account",
1140
+ type: "address",
1141
+ },
1142
+ ],
1143
+ name: "getAccountActiveAgreements",
1144
+ outputs: [
1145
+ {
1146
+ internalType: "contract ISuperAgreement[]",
1147
+ name: "",
1148
+ type: "address[]",
1149
+ },
1150
+ ],
1151
+ stateMutability: "view",
1152
+ type: "function",
1153
+ },
1154
+ {
1155
+ inputs: [
1156
+ {
1157
+ internalType: "address",
1158
+ name: "agreementClass",
1159
+ type: "address",
1160
+ },
1161
+ {
1162
+ internalType: "bytes32",
1163
+ name: "id",
1164
+ type: "bytes32",
1165
+ },
1166
+ {
1167
+ internalType: "uint256",
1168
+ name: "dataLength",
1169
+ type: "uint256",
1170
+ },
1171
+ ],
1172
+ name: "getAgreementData",
1173
+ outputs: [
1174
+ {
1175
+ internalType: "bytes32[]",
1176
+ name: "data",
1177
+ type: "bytes32[]",
1178
+ },
1179
+ ],
1180
+ stateMutability: "view",
1181
+ type: "function",
1182
+ },
1183
+ {
1184
+ inputs: [
1185
+ {
1186
+ internalType: "address",
1187
+ name: "agreementClass",
1188
+ type: "address",
1189
+ },
1190
+ {
1191
+ internalType: "address",
1192
+ name: "account",
1193
+ type: "address",
1194
+ },
1195
+ {
1196
+ internalType: "uint256",
1197
+ name: "slotId",
1198
+ type: "uint256",
1199
+ },
1200
+ {
1201
+ internalType: "uint256",
1202
+ name: "dataLength",
1203
+ type: "uint256",
1204
+ },
1205
+ ],
1206
+ name: "getAgreementStateSlot",
1207
+ outputs: [
1208
+ {
1209
+ internalType: "bytes32[]",
1210
+ name: "slotData",
1211
+ type: "bytes32[]",
1212
+ },
1213
+ ],
1214
+ stateMutability: "view",
1215
+ type: "function",
1216
+ },
1217
+ {
1218
+ inputs: [],
1219
+ name: "getCodeAddress",
1220
+ outputs: [
1221
+ {
1222
+ internalType: "address",
1223
+ name: "codeAddress",
1224
+ type: "address",
1225
+ },
1226
+ ],
1227
+ stateMutability: "view",
1228
+ type: "function",
1229
+ },
1230
+ {
1231
+ inputs: [
1232
+ {
1233
+ internalType: "uint256",
1234
+ name: "amount",
1235
+ type: "uint256",
1236
+ },
1237
+ {
1238
+ internalType: "address",
1239
+ name: "sender",
1240
+ type: "address",
1241
+ },
1242
+ {
1243
+ internalType: "address",
1244
+ name: "recipient",
1245
+ type: "address",
1246
+ },
1247
+ ],
1248
+ name: "getFees",
1249
+ outputs: [
1250
+ {
1251
+ internalType: "uint256",
1252
+ name: "fee",
1253
+ type: "uint256",
1254
+ },
1255
+ {
1256
+ internalType: "bool",
1257
+ name: "senderPays",
1258
+ type: "bool",
1259
+ },
1260
+ ],
1261
+ stateMutability: "view",
1262
+ type: "function",
1263
+ },
1264
+ {
1265
+ inputs: [
1266
+ {
1267
+ internalType: "uint256",
1268
+ name: "amount",
1269
+ type: "uint256",
1270
+ },
1271
+ ],
1272
+ name: "getFees",
1273
+ outputs: [
1274
+ {
1275
+ internalType: "uint256",
1276
+ name: "fee",
1277
+ type: "uint256",
1278
+ },
1279
+ {
1280
+ internalType: "bool",
1281
+ name: "senderPays",
1282
+ type: "bool",
1283
+ },
1284
+ ],
1285
+ stateMutability: "view",
1286
+ type: "function",
1287
+ },
1288
+ {
1289
+ inputs: [],
1290
+ name: "getHost",
1291
+ outputs: [
1292
+ {
1293
+ internalType: "address",
1294
+ name: "host",
1295
+ type: "address",
1296
+ },
1297
+ ],
1298
+ stateMutability: "view",
1299
+ type: "function",
1300
+ },
1301
+ {
1302
+ inputs: [
1303
+ {
1304
+ internalType: "bytes32",
1305
+ name: "role",
1306
+ type: "bytes32",
1307
+ },
1308
+ ],
1309
+ name: "getRoleAdmin",
1310
+ outputs: [
1311
+ {
1312
+ internalType: "bytes32",
1313
+ name: "",
1314
+ type: "bytes32",
1315
+ },
1316
+ ],
1317
+ stateMutability: "view",
1318
+ type: "function",
1319
+ },
1320
+ {
1321
+ inputs: [
1322
+ {
1323
+ internalType: "bytes32",
1324
+ name: "role",
1325
+ type: "bytes32",
1326
+ },
1327
+ {
1328
+ internalType: "uint256",
1329
+ name: "index",
1330
+ type: "uint256",
1331
+ },
1332
+ ],
1333
+ name: "getRoleMember",
1334
+ outputs: [
1335
+ {
1336
+ internalType: "address",
1337
+ name: "",
1338
+ type: "address",
1339
+ },
1340
+ ],
1341
+ stateMutability: "view",
1342
+ type: "function",
1343
+ },
1344
+ {
1345
+ inputs: [
1346
+ {
1347
+ internalType: "bytes32",
1348
+ name: "role",
1349
+ type: "bytes32",
1350
+ },
1351
+ ],
1352
+ name: "getRoleMemberCount",
1353
+ outputs: [
1354
+ {
1355
+ internalType: "uint256",
1356
+ name: "",
1357
+ type: "uint256",
1358
+ },
1359
+ ],
1360
+ stateMutability: "view",
1361
+ type: "function",
1362
+ },
1363
+ {
1364
+ inputs: [],
1365
+ name: "getUnderlyingToken",
1366
+ outputs: [
1367
+ {
1368
+ internalType: "address",
1369
+ name: "",
1370
+ type: "address",
1371
+ },
1372
+ ],
1373
+ stateMutability: "view",
1374
+ type: "function",
1375
+ },
1376
+ {
1377
+ inputs: [
1378
+ {
1379
+ internalType: "bytes32",
1380
+ name: "role",
1381
+ type: "bytes32",
1382
+ },
1383
+ {
1384
+ internalType: "address",
1385
+ name: "account",
1386
+ type: "address",
1387
+ },
1388
+ ],
1389
+ name: "grantRole",
1390
+ outputs: [],
1391
+ stateMutability: "nonpayable",
1392
+ type: "function",
1393
+ },
1394
+ {
1395
+ inputs: [],
1396
+ name: "granularity",
1397
+ outputs: [
1398
+ {
1399
+ internalType: "uint256",
1400
+ name: "",
1401
+ type: "uint256",
1402
+ },
1403
+ ],
1404
+ stateMutability: "pure",
1405
+ type: "function",
1406
+ },
1407
+ {
1408
+ inputs: [
1409
+ {
1410
+ internalType: "bytes32",
1411
+ name: "role",
1412
+ type: "bytes32",
1413
+ },
1414
+ {
1415
+ internalType: "address",
1416
+ name: "account",
1417
+ type: "address",
1418
+ },
1419
+ ],
1420
+ name: "hasRole",
1421
+ outputs: [
1422
+ {
1423
+ internalType: "bool",
1424
+ name: "",
1425
+ type: "bool",
1426
+ },
1427
+ ],
1428
+ stateMutability: "view",
1429
+ type: "function",
1430
+ },
1431
+ {
1432
+ inputs: [],
1433
+ name: "identity",
1434
+ outputs: [
1435
+ {
1436
+ internalType: "contract IIdentity",
1437
+ name: "",
1438
+ type: "address",
1439
+ },
1440
+ ],
1441
+ stateMutability: "view",
1442
+ type: "function",
1443
+ },
1444
+ {
1445
+ inputs: [
1446
+ {
1447
+ internalType: "address",
1448
+ name: "spender",
1449
+ type: "address",
1450
+ },
1451
+ {
1452
+ internalType: "uint256",
1453
+ name: "addedValue",
1454
+ type: "uint256",
1455
+ },
1456
+ ],
1457
+ name: "increaseAllowance",
1458
+ outputs: [
1459
+ {
1460
+ internalType: "bool",
1461
+ name: "",
1462
+ type: "bool",
1463
+ },
1464
+ ],
1465
+ stateMutability: "nonpayable",
1466
+ type: "function",
1467
+ },
1468
+ {
1469
+ inputs: [
1470
+ {
1471
+ internalType: "contract IERC20",
1472
+ name: "underlyingToken",
1473
+ type: "address",
1474
+ },
1475
+ {
1476
+ internalType: "uint8",
1477
+ name: "underlyingDecimals",
1478
+ type: "uint8",
1479
+ },
1480
+ {
1481
+ internalType: "string",
1482
+ name: "n",
1483
+ type: "string",
1484
+ },
1485
+ {
1486
+ internalType: "string",
1487
+ name: "s",
1488
+ type: "string",
1489
+ },
1490
+ ],
1491
+ name: "initialize",
1492
+ outputs: [],
1493
+ stateMutability: "nonpayable",
1494
+ type: "function",
1495
+ },
1496
+ {
1497
+ inputs: [
1498
+ {
1499
+ internalType: "string",
1500
+ name: "n",
1501
+ type: "string",
1502
+ },
1503
+ {
1504
+ internalType: "string",
1505
+ name: "s",
1506
+ type: "string",
1507
+ },
1508
+ {
1509
+ internalType: "uint256",
1510
+ name: "_cap",
1511
+ type: "uint256",
1512
+ },
1513
+ {
1514
+ internalType: "contract IFeesFormula",
1515
+ name: "_formula",
1516
+ type: "address",
1517
+ },
1518
+ {
1519
+ internalType: "contract IIdentity",
1520
+ name: "_identity",
1521
+ type: "address",
1522
+ },
1523
+ {
1524
+ internalType: "address",
1525
+ name: "_feeRecipient",
1526
+ type: "address",
1527
+ },
1528
+ {
1529
+ internalType: "address",
1530
+ name: "_owner",
1531
+ type: "address",
1532
+ },
1533
+ ],
1534
+ name: "initialize",
1535
+ outputs: [],
1536
+ stateMutability: "nonpayable",
1537
+ type: "function",
1538
+ },
1539
+ {
1540
+ inputs: [
1541
+ {
1542
+ internalType: "address",
1543
+ name: "account",
1544
+ type: "address",
1545
+ },
1546
+ {
1547
+ internalType: "uint256",
1548
+ name: "timestamp",
1549
+ type: "uint256",
1550
+ },
1551
+ ],
1552
+ name: "isAccountCritical",
1553
+ outputs: [
1554
+ {
1555
+ internalType: "bool",
1556
+ name: "isCritical",
1557
+ type: "bool",
1558
+ },
1559
+ ],
1560
+ stateMutability: "view",
1561
+ type: "function",
1562
+ },
1563
+ {
1564
+ inputs: [
1565
+ {
1566
+ internalType: "address",
1567
+ name: "account",
1568
+ type: "address",
1569
+ },
1570
+ ],
1571
+ name: "isAccountCriticalNow",
1572
+ outputs: [
1573
+ {
1574
+ internalType: "bool",
1575
+ name: "isCritical",
1576
+ type: "bool",
1577
+ },
1578
+ ],
1579
+ stateMutability: "view",
1580
+ type: "function",
1581
+ },
1582
+ {
1583
+ inputs: [
1584
+ {
1585
+ internalType: "address",
1586
+ name: "account",
1587
+ type: "address",
1588
+ },
1589
+ {
1590
+ internalType: "uint256",
1591
+ name: "timestamp",
1592
+ type: "uint256",
1593
+ },
1594
+ ],
1595
+ name: "isAccountSolvent",
1596
+ outputs: [
1597
+ {
1598
+ internalType: "bool",
1599
+ name: "isSolvent",
1600
+ type: "bool",
1601
+ },
1602
+ ],
1603
+ stateMutability: "view",
1604
+ type: "function",
1605
+ },
1606
+ {
1607
+ inputs: [
1608
+ {
1609
+ internalType: "address",
1610
+ name: "account",
1611
+ type: "address",
1612
+ },
1613
+ ],
1614
+ name: "isAccountSolventNow",
1615
+ outputs: [
1616
+ {
1617
+ internalType: "bool",
1618
+ name: "isSolvent",
1619
+ type: "bool",
1620
+ },
1621
+ ],
1622
+ stateMutability: "view",
1623
+ type: "function",
1624
+ },
1625
+ {
1626
+ inputs: [
1627
+ {
1628
+ internalType: "address",
1629
+ name: "_minter",
1630
+ type: "address",
1631
+ },
1632
+ ],
1633
+ name: "isMinter",
1634
+ outputs: [
1635
+ {
1636
+ internalType: "bool",
1637
+ name: "",
1638
+ type: "bool",
1639
+ },
1640
+ ],
1641
+ stateMutability: "view",
1642
+ type: "function",
1643
+ },
1644
+ {
1645
+ inputs: [
1646
+ {
1647
+ internalType: "address",
1648
+ name: "operator",
1649
+ type: "address",
1650
+ },
1651
+ {
1652
+ internalType: "address",
1653
+ name: "tokenHolder",
1654
+ type: "address",
1655
+ },
1656
+ ],
1657
+ name: "isOperatorFor",
1658
+ outputs: [
1659
+ {
1660
+ internalType: "bool",
1661
+ name: "",
1662
+ type: "bool",
1663
+ },
1664
+ ],
1665
+ stateMutability: "view",
1666
+ type: "function",
1667
+ },
1668
+ {
1669
+ inputs: [
1670
+ {
1671
+ internalType: "address",
1672
+ name: "_pauser",
1673
+ type: "address",
1674
+ },
1675
+ ],
1676
+ name: "isPauser",
1677
+ outputs: [
1678
+ {
1679
+ internalType: "bool",
1680
+ name: "",
1681
+ type: "bool",
1682
+ },
1683
+ ],
1684
+ stateMutability: "view",
1685
+ type: "function",
1686
+ },
1687
+ {
1688
+ inputs: [
1689
+ {
1690
+ internalType: "bytes32",
1691
+ name: "id",
1692
+ type: "bytes32",
1693
+ },
1694
+ {
1695
+ internalType: "bytes",
1696
+ name: "liquidationTypeData",
1697
+ type: "bytes",
1698
+ },
1699
+ {
1700
+ internalType: "address",
1701
+ name: "liquidatorAccount",
1702
+ type: "address",
1703
+ },
1704
+ {
1705
+ internalType: "bool",
1706
+ name: "useDefaultRewardAccount",
1707
+ type: "bool",
1708
+ },
1709
+ {
1710
+ internalType: "address",
1711
+ name: "targetAccount",
1712
+ type: "address",
1713
+ },
1714
+ {
1715
+ internalType: "uint256",
1716
+ name: "rewardAmount",
1717
+ type: "uint256",
1718
+ },
1719
+ {
1720
+ internalType: "int256",
1721
+ name: "targetAccountBalanceDelta",
1722
+ type: "int256",
1723
+ },
1724
+ ],
1725
+ name: "makeLiquidationPayoutsV2",
1726
+ outputs: [],
1727
+ stateMutability: "nonpayable",
1728
+ type: "function",
1729
+ },
1730
+ {
1731
+ inputs: [
1732
+ {
1733
+ internalType: "address",
1734
+ name: "to",
1735
+ type: "address",
1736
+ },
1737
+ {
1738
+ internalType: "uint256",
1739
+ name: "amount",
1740
+ type: "uint256",
1741
+ },
1742
+ ],
1743
+ name: "mint",
1744
+ outputs: [
1745
+ {
1746
+ internalType: "bool",
1747
+ name: "",
1748
+ type: "bool",
1749
+ },
1750
+ ],
1751
+ stateMutability: "nonpayable",
1752
+ type: "function",
1753
+ },
1754
+ {
1755
+ inputs: [],
1756
+ name: "name",
1757
+ outputs: [
1758
+ {
1759
+ internalType: "string",
1760
+ name: "",
1761
+ type: "string",
1762
+ },
1763
+ ],
1764
+ stateMutability: "view",
1765
+ type: "function",
1766
+ },
1767
+ {
1768
+ inputs: [
1769
+ {
1770
+ internalType: "address",
1771
+ name: "owner",
1772
+ type: "address",
1773
+ },
1774
+ ],
1775
+ name: "nonces",
1776
+ outputs: [
1777
+ {
1778
+ internalType: "uint256",
1779
+ name: "",
1780
+ type: "uint256",
1781
+ },
1782
+ ],
1783
+ stateMutability: "view",
1784
+ type: "function",
1785
+ },
1786
+ {
1787
+ inputs: [
1788
+ {
1789
+ internalType: "address",
1790
+ name: "account",
1791
+ type: "address",
1792
+ },
1793
+ {
1794
+ internalType: "address",
1795
+ name: "spender",
1796
+ type: "address",
1797
+ },
1798
+ {
1799
+ internalType: "uint256",
1800
+ name: "amount",
1801
+ type: "uint256",
1802
+ },
1803
+ ],
1804
+ name: "operationApprove",
1805
+ outputs: [],
1806
+ stateMutability: "nonpayable",
1807
+ type: "function",
1808
+ },
1809
+ {
1810
+ inputs: [
1811
+ {
1812
+ internalType: "address",
1813
+ name: "account",
1814
+ type: "address",
1815
+ },
1816
+ {
1817
+ internalType: "uint256",
1818
+ name: "amount",
1819
+ type: "uint256",
1820
+ },
1821
+ ],
1822
+ name: "operationDowngrade",
1823
+ outputs: [],
1824
+ stateMutability: "nonpayable",
1825
+ type: "function",
1826
+ },
1827
+ {
1828
+ inputs: [
1829
+ {
1830
+ internalType: "address",
1831
+ name: "account",
1832
+ type: "address",
1833
+ },
1834
+ {
1835
+ internalType: "address",
1836
+ name: "spender",
1837
+ type: "address",
1838
+ },
1839
+ {
1840
+ internalType: "address",
1841
+ name: "recipient",
1842
+ type: "address",
1843
+ },
1844
+ {
1845
+ internalType: "uint256",
1846
+ name: "amount",
1847
+ type: "uint256",
1848
+ },
1849
+ ],
1850
+ name: "operationTransferFrom",
1851
+ outputs: [],
1852
+ stateMutability: "nonpayable",
1853
+ type: "function",
1854
+ },
1855
+ {
1856
+ inputs: [
1857
+ {
1858
+ internalType: "address",
1859
+ name: "account",
1860
+ type: "address",
1861
+ },
1862
+ {
1863
+ internalType: "uint256",
1864
+ name: "amount",
1865
+ type: "uint256",
1866
+ },
1867
+ ],
1868
+ name: "operationUpgrade",
1869
+ outputs: [],
1870
+ stateMutability: "nonpayable",
1871
+ type: "function",
1872
+ },
1873
+ {
1874
+ inputs: [
1875
+ {
1876
+ internalType: "address",
1877
+ name: "account",
1878
+ type: "address",
1879
+ },
1880
+ {
1881
+ internalType: "uint256",
1882
+ name: "amount",
1883
+ type: "uint256",
1884
+ },
1885
+ {
1886
+ internalType: "bytes",
1887
+ name: "data",
1888
+ type: "bytes",
1889
+ },
1890
+ {
1891
+ internalType: "bytes",
1892
+ name: "operatorData",
1893
+ type: "bytes",
1894
+ },
1895
+ ],
1896
+ name: "operatorBurn",
1897
+ outputs: [],
1898
+ stateMutability: "nonpayable",
1899
+ type: "function",
1900
+ },
1901
+ {
1902
+ inputs: [
1903
+ {
1904
+ internalType: "address",
1905
+ name: "sender",
1906
+ type: "address",
1907
+ },
1908
+ {
1909
+ internalType: "address",
1910
+ name: "recipient",
1911
+ type: "address",
1912
+ },
1913
+ {
1914
+ internalType: "uint256",
1915
+ name: "amount",
1916
+ type: "uint256",
1917
+ },
1918
+ {
1919
+ internalType: "bytes",
1920
+ name: "data",
1921
+ type: "bytes",
1922
+ },
1923
+ {
1924
+ internalType: "bytes",
1925
+ name: "operatorData",
1926
+ type: "bytes",
1927
+ },
1928
+ ],
1929
+ name: "operatorSend",
1930
+ outputs: [],
1931
+ stateMutability: "nonpayable",
1932
+ type: "function",
1933
+ },
1934
+ {
1935
+ inputs: [],
1936
+ name: "owner",
1937
+ outputs: [
1938
+ {
1939
+ internalType: "address",
1940
+ name: "",
1941
+ type: "address",
1942
+ },
1943
+ ],
1944
+ stateMutability: "view",
1945
+ type: "function",
1946
+ },
1947
+ {
1948
+ inputs: [],
1949
+ name: "pause",
1950
+ outputs: [],
1951
+ stateMutability: "nonpayable",
1952
+ type: "function",
1953
+ },
1954
+ {
1955
+ inputs: [],
1956
+ name: "paused",
1957
+ outputs: [
1958
+ {
1959
+ internalType: "bool",
1960
+ name: "",
1961
+ type: "bool",
1962
+ },
1963
+ ],
1964
+ stateMutability: "view",
1965
+ type: "function",
1966
+ },
1967
+ {
1968
+ inputs: [
1969
+ {
1970
+ internalType: "address",
1971
+ name: "owner",
1972
+ type: "address",
1973
+ },
1974
+ {
1975
+ internalType: "address",
1976
+ name: "spender",
1977
+ type: "address",
1978
+ },
1979
+ {
1980
+ internalType: "uint256",
1981
+ name: "value",
1982
+ type: "uint256",
1983
+ },
1984
+ {
1985
+ internalType: "uint256",
1986
+ name: "deadline",
1987
+ type: "uint256",
1988
+ },
1989
+ {
1990
+ internalType: "uint8",
1991
+ name: "v",
1992
+ type: "uint8",
1993
+ },
1994
+ {
1995
+ internalType: "bytes32",
1996
+ name: "r",
1997
+ type: "bytes32",
1998
+ },
1999
+ {
2000
+ internalType: "bytes32",
2001
+ name: "s",
2002
+ type: "bytes32",
2003
+ },
2004
+ ],
2005
+ name: "permit",
2006
+ outputs: [],
2007
+ stateMutability: "nonpayable",
2008
+ type: "function",
2009
+ },
2010
+ {
2011
+ inputs: [],
2012
+ name: "proxiableUUID",
2013
+ outputs: [
2014
+ {
2015
+ internalType: "bytes32",
2016
+ name: "",
2017
+ type: "bytes32",
2018
+ },
2019
+ ],
2020
+ stateMutability: "pure",
2021
+ type: "function",
2022
+ },
2023
+ {
2024
+ inputs: [
2025
+ {
2026
+ internalType: "address",
2027
+ name: "account",
2028
+ type: "address",
2029
+ },
2030
+ {
2031
+ internalType: "uint256",
2032
+ name: "timestamp",
2033
+ type: "uint256",
2034
+ },
2035
+ ],
2036
+ name: "realtimeBalanceOf",
2037
+ outputs: [
2038
+ {
2039
+ internalType: "int256",
2040
+ name: "availableBalance",
2041
+ type: "int256",
2042
+ },
2043
+ {
2044
+ internalType: "uint256",
2045
+ name: "deposit",
2046
+ type: "uint256",
2047
+ },
2048
+ {
2049
+ internalType: "uint256",
2050
+ name: "owedDeposit",
2051
+ type: "uint256",
2052
+ },
2053
+ ],
2054
+ stateMutability: "view",
2055
+ type: "function",
2056
+ },
2057
+ {
2058
+ inputs: [
2059
+ {
2060
+ internalType: "address",
2061
+ name: "account",
2062
+ type: "address",
2063
+ },
2064
+ ],
2065
+ name: "realtimeBalanceOfNow",
2066
+ outputs: [
2067
+ {
2068
+ internalType: "int256",
2069
+ name: "availableBalance",
2070
+ type: "int256",
2071
+ },
2072
+ {
2073
+ internalType: "uint256",
2074
+ name: "deposit",
2075
+ type: "uint256",
2076
+ },
2077
+ {
2078
+ internalType: "uint256",
2079
+ name: "owedDeposit",
2080
+ type: "uint256",
2081
+ },
2082
+ {
2083
+ internalType: "uint256",
2084
+ name: "timestamp",
2085
+ type: "uint256",
2086
+ },
2087
+ ],
2088
+ stateMutability: "view",
2089
+ type: "function",
2090
+ },
2091
+ {
2092
+ inputs: [],
2093
+ name: "renounceMinter",
2094
+ outputs: [],
2095
+ stateMutability: "nonpayable",
2096
+ type: "function",
2097
+ },
2098
+ {
2099
+ inputs: [
2100
+ {
2101
+ internalType: "bytes32",
2102
+ name: "role",
2103
+ type: "bytes32",
2104
+ },
2105
+ {
2106
+ internalType: "address",
2107
+ name: "account",
2108
+ type: "address",
2109
+ },
2110
+ ],
2111
+ name: "renounceRole",
2112
+ outputs: [],
2113
+ stateMutability: "nonpayable",
2114
+ type: "function",
2115
+ },
2116
+ {
2117
+ inputs: [
2118
+ {
2119
+ internalType: "address",
2120
+ name: "operator",
2121
+ type: "address",
2122
+ },
2123
+ ],
2124
+ name: "revokeOperator",
2125
+ outputs: [],
2126
+ stateMutability: "nonpayable",
2127
+ type: "function",
2128
+ },
2129
+ {
2130
+ inputs: [
2131
+ {
2132
+ internalType: "bytes32",
2133
+ name: "role",
2134
+ type: "bytes32",
2135
+ },
2136
+ {
2137
+ internalType: "address",
2138
+ name: "account",
2139
+ type: "address",
2140
+ },
2141
+ ],
2142
+ name: "revokeRole",
2143
+ outputs: [],
2144
+ stateMutability: "nonpayable",
2145
+ type: "function",
2146
+ },
2147
+ {
2148
+ inputs: [
2149
+ {
2150
+ internalType: "address",
2151
+ name: "account",
2152
+ type: "address",
2153
+ },
2154
+ {
2155
+ internalType: "address",
2156
+ name: "spender",
2157
+ type: "address",
2158
+ },
2159
+ {
2160
+ internalType: "uint256",
2161
+ name: "amount",
2162
+ type: "uint256",
2163
+ },
2164
+ ],
2165
+ name: "selfApproveFor",
2166
+ outputs: [],
2167
+ stateMutability: "nonpayable",
2168
+ type: "function",
2169
+ },
2170
+ {
2171
+ inputs: [
2172
+ {
2173
+ internalType: "address",
2174
+ name: "account",
2175
+ type: "address",
2176
+ },
2177
+ {
2178
+ internalType: "uint256",
2179
+ name: "amount",
2180
+ type: "uint256",
2181
+ },
2182
+ {
2183
+ internalType: "bytes",
2184
+ name: "userData",
2185
+ type: "bytes",
2186
+ },
2187
+ ],
2188
+ name: "selfBurn",
2189
+ outputs: [],
2190
+ stateMutability: "nonpayable",
2191
+ type: "function",
2192
+ },
2193
+ {
2194
+ inputs: [
2195
+ {
2196
+ internalType: "address",
2197
+ name: "account",
2198
+ type: "address",
2199
+ },
2200
+ {
2201
+ internalType: "uint256",
2202
+ name: "amount",
2203
+ type: "uint256",
2204
+ },
2205
+ {
2206
+ internalType: "bytes",
2207
+ name: "userData",
2208
+ type: "bytes",
2209
+ },
2210
+ ],
2211
+ name: "selfMint",
2212
+ outputs: [],
2213
+ stateMutability: "nonpayable",
2214
+ type: "function",
2215
+ },
2216
+ {
2217
+ inputs: [
2218
+ {
2219
+ internalType: "address",
2220
+ name: "holder",
2221
+ type: "address",
2222
+ },
2223
+ {
2224
+ internalType: "address",
2225
+ name: "spender",
2226
+ type: "address",
2227
+ },
2228
+ {
2229
+ internalType: "address",
2230
+ name: "recipient",
2231
+ type: "address",
2232
+ },
2233
+ {
2234
+ internalType: "uint256",
2235
+ name: "amount",
2236
+ type: "uint256",
2237
+ },
2238
+ ],
2239
+ name: "selfTransferFrom",
2240
+ outputs: [],
2241
+ stateMutability: "nonpayable",
2242
+ type: "function",
2243
+ },
2244
+ {
2245
+ inputs: [
2246
+ {
2247
+ internalType: "address",
2248
+ name: "recipient",
2249
+ type: "address",
2250
+ },
2251
+ {
2252
+ internalType: "uint256",
2253
+ name: "amount",
2254
+ type: "uint256",
2255
+ },
2256
+ {
2257
+ internalType: "bytes",
2258
+ name: "data",
2259
+ type: "bytes",
2260
+ },
2261
+ ],
2262
+ name: "send",
2263
+ outputs: [],
2264
+ stateMutability: "nonpayable",
2265
+ type: "function",
2266
+ },
2267
+ {
2268
+ inputs: [
2269
+ {
2270
+ internalType: "address",
2271
+ name: "_feeRecipient",
2272
+ type: "address",
2273
+ },
2274
+ ],
2275
+ name: "setFeeRecipient",
2276
+ outputs: [],
2277
+ stateMutability: "nonpayable",
2278
+ type: "function",
2279
+ },
2280
+ {
2281
+ inputs: [
2282
+ {
2283
+ internalType: "contract IFeesFormula",
2284
+ name: "_formula",
2285
+ type: "address",
2286
+ },
2287
+ ],
2288
+ name: "setFormula",
2289
+ outputs: [],
2290
+ stateMutability: "nonpayable",
2291
+ type: "function",
2292
+ },
2293
+ {
2294
+ inputs: [
2295
+ {
2296
+ internalType: "contract IIdentityV2",
2297
+ name: "_identity",
2298
+ type: "address",
2299
+ },
2300
+ ],
2301
+ name: "setIdentity",
2302
+ outputs: [],
2303
+ stateMutability: "nonpayable",
2304
+ type: "function",
2305
+ },
2306
+ {
2307
+ inputs: [
2308
+ {
2309
+ internalType: "address",
2310
+ name: "account",
2311
+ type: "address",
2312
+ },
2313
+ {
2314
+ internalType: "int256",
2315
+ name: "delta",
2316
+ type: "int256",
2317
+ },
2318
+ ],
2319
+ name: "settleBalance",
2320
+ outputs: [],
2321
+ stateMutability: "nonpayable",
2322
+ type: "function",
2323
+ },
2324
+ {
2325
+ inputs: [
2326
+ {
2327
+ internalType: "bytes4",
2328
+ name: "interfaceId",
2329
+ type: "bytes4",
2330
+ },
2331
+ ],
2332
+ name: "supportsInterface",
2333
+ outputs: [
2334
+ {
2335
+ internalType: "bool",
2336
+ name: "",
2337
+ type: "bool",
2338
+ },
2339
+ ],
2340
+ stateMutability: "view",
2341
+ type: "function",
2342
+ },
2343
+ {
2344
+ inputs: [],
2345
+ name: "symbol",
2346
+ outputs: [
2347
+ {
2348
+ internalType: "string",
2349
+ name: "",
2350
+ type: "string",
2351
+ },
2352
+ ],
2353
+ stateMutability: "view",
2354
+ type: "function",
2355
+ },
2356
+ {
2357
+ inputs: [
2358
+ {
2359
+ internalType: "bytes32",
2360
+ name: "id",
2361
+ type: "bytes32",
2362
+ },
2363
+ {
2364
+ internalType: "uint256",
2365
+ name: "dataLength",
2366
+ type: "uint256",
2367
+ },
2368
+ ],
2369
+ name: "terminateAgreement",
2370
+ outputs: [],
2371
+ stateMutability: "nonpayable",
2372
+ type: "function",
2373
+ },
2374
+ {
2375
+ inputs: [],
2376
+ name: "totalSupply",
2377
+ outputs: [
2378
+ {
2379
+ internalType: "uint256",
2380
+ name: "",
2381
+ type: "uint256",
2382
+ },
2383
+ ],
2384
+ stateMutability: "view",
2385
+ type: "function",
2386
+ },
2387
+ {
2388
+ inputs: [
2389
+ {
2390
+ internalType: "address",
2391
+ name: "to",
2392
+ type: "address",
2393
+ },
2394
+ {
2395
+ internalType: "uint256",
2396
+ name: "amount",
2397
+ type: "uint256",
2398
+ },
2399
+ ],
2400
+ name: "transfer",
2401
+ outputs: [
2402
+ {
2403
+ internalType: "bool",
2404
+ name: "",
2405
+ type: "bool",
2406
+ },
2407
+ ],
2408
+ stateMutability: "nonpayable",
2409
+ type: "function",
2410
+ },
2411
+ {
2412
+ inputs: [
2413
+ {
2414
+ internalType: "address",
2415
+ name: "recipient",
2416
+ type: "address",
2417
+ },
2418
+ ],
2419
+ name: "transferAll",
2420
+ outputs: [],
2421
+ stateMutability: "nonpayable",
2422
+ type: "function",
2423
+ },
2424
+ {
2425
+ inputs: [
2426
+ {
2427
+ internalType: "address",
2428
+ name: "to",
2429
+ type: "address",
2430
+ },
2431
+ {
2432
+ internalType: "uint256",
2433
+ name: "amount",
2434
+ type: "uint256",
2435
+ },
2436
+ {
2437
+ internalType: "bytes",
2438
+ name: "data",
2439
+ type: "bytes",
2440
+ },
2441
+ ],
2442
+ name: "transferAndCall",
2443
+ outputs: [
2444
+ {
2445
+ internalType: "bool",
2446
+ name: "",
2447
+ type: "bool",
2448
+ },
2449
+ ],
2450
+ stateMutability: "nonpayable",
2451
+ type: "function",
2452
+ },
2453
+ {
2454
+ inputs: [
2455
+ {
2456
+ internalType: "address",
2457
+ name: "holder",
2458
+ type: "address",
2459
+ },
2460
+ {
2461
+ internalType: "address",
2462
+ name: "recipient",
2463
+ type: "address",
2464
+ },
2465
+ {
2466
+ internalType: "uint256",
2467
+ name: "amount",
2468
+ type: "uint256",
2469
+ },
2470
+ ],
2471
+ name: "transferFrom",
2472
+ outputs: [
2473
+ {
2474
+ internalType: "bool",
2475
+ name: "",
2476
+ type: "bool",
2477
+ },
2478
+ ],
2479
+ stateMutability: "nonpayable",
2480
+ type: "function",
2481
+ },
2482
+ {
2483
+ inputs: [
2484
+ {
2485
+ internalType: "address",
2486
+ name: "_owner",
2487
+ type: "address",
2488
+ },
2489
+ ],
2490
+ name: "transferOwnership",
2491
+ outputs: [],
2492
+ stateMutability: "nonpayable",
2493
+ type: "function",
2494
+ },
2495
+ {
2496
+ inputs: [],
2497
+ name: "unpause",
2498
+ outputs: [],
2499
+ stateMutability: "nonpayable",
2500
+ type: "function",
2501
+ },
2502
+ {
2503
+ inputs: [
2504
+ {
2505
+ internalType: "bytes32",
2506
+ name: "id",
2507
+ type: "bytes32",
2508
+ },
2509
+ {
2510
+ internalType: "bytes32[]",
2511
+ name: "data",
2512
+ type: "bytes32[]",
2513
+ },
2514
+ ],
2515
+ name: "updateAgreementData",
2516
+ outputs: [],
2517
+ stateMutability: "nonpayable",
2518
+ type: "function",
2519
+ },
2520
+ {
2521
+ inputs: [
2522
+ {
2523
+ internalType: "address",
2524
+ name: "account",
2525
+ type: "address",
2526
+ },
2527
+ {
2528
+ internalType: "uint256",
2529
+ name: "slotId",
2530
+ type: "uint256",
2531
+ },
2532
+ {
2533
+ internalType: "bytes32[]",
2534
+ name: "slotData",
2535
+ type: "bytes32[]",
2536
+ },
2537
+ ],
2538
+ name: "updateAgreementStateSlot",
2539
+ outputs: [],
2540
+ stateMutability: "nonpayable",
2541
+ type: "function",
2542
+ },
2543
+ {
2544
+ inputs: [
2545
+ {
2546
+ internalType: "address",
2547
+ name: "newAddress",
2548
+ type: "address",
2549
+ },
2550
+ ],
2551
+ name: "updateCode",
2552
+ outputs: [],
2553
+ stateMutability: "nonpayable",
2554
+ type: "function",
2555
+ },
2556
+ {
2557
+ inputs: [
2558
+ {
2559
+ internalType: "uint256",
2560
+ name: "amount",
2561
+ type: "uint256",
2562
+ },
2563
+ ],
2564
+ name: "upgrade",
2565
+ outputs: [],
2566
+ stateMutability: "nonpayable",
2567
+ type: "function",
2568
+ },
2569
+ {
2570
+ inputs: [
2571
+ {
2572
+ internalType: "address",
2573
+ name: "to",
2574
+ type: "address",
2575
+ },
2576
+ {
2577
+ internalType: "uint256",
2578
+ name: "amount",
2579
+ type: "uint256",
2580
+ },
2581
+ {
2582
+ internalType: "bytes",
2583
+ name: "data",
2584
+ type: "bytes",
2585
+ },
2586
+ ],
2587
+ name: "upgradeTo",
2588
+ outputs: [],
2589
+ stateMutability: "nonpayable",
2590
+ type: "function",
2591
+ },
2592
+ ];
2593
+
2594
+ const _bytecode =
2595
+ "0x60a06040523480156200001157600080fd5b5060405162005c0738038062005c07833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051615b18620000ef6000396000818161050401528181610d4101528181610dc40152818161106c0152818161117e015281816112f10152818161184d015281816119e801528181611f1a0152818161203101528181612a0d01528181612ab401528181613fe0015261477f0152615b186000f3fe608060405234801561001057600080fd5b506004361061042a5760003560e01c806301ffc9a71461042f57806306e485381461045757806306fdde031461046c578063090c415e14610481578063095ea7b31461049657806311bcc81e146104a957806312a6a3f8146104b757806316d055d6146104ca57806318160ddd146104dd5780631863e809146104ef57806320bc44251461050257806323b872dd14610531578063245887fc14610544578063248a9ca314610557578063270483971461056a5780632c159a1a1461057d5780632ec8eec7146105915780632f2ff15d146105c4578063313ce567146105d7578063355274ea146105e65780633644e515146105f057806336568abe146105f8578063386fa2211461060b57806339364fd71461061e57806339509351146106465780633f4ba83a146106595780634000aea01461066157806340c10f191461067457806341b706be1461068757806342966c681461069a57806342fe0980146106ad5780634414744f146106c057806345977d03146104a957806346904840146106ce57806346951954146106e257806346fbf68e146106f55780634b61cc33146107085780634b75f54f1461072857806350d75d251461073c57806352d1902d14610744578063556f0dc71461074c5780635b9d09cc146107535780635c975abb146107615780635d5bf1781461076c57806362aa52871461077f57806362ad1b831461079257806366a12fb6146107a55780636c2d9f2f146107b857806370a08231146107cb57806379359f6f146107de57806379cc6790146107f15780637ecebe001461080457806382dc1ec41461082e5780638456cb59146108415780638da5cb5b146108495780639010d07c1461085157806391d1485414610864578063959b8c3f1461087757806395d89b411461088a578063983b2d561461089257806398650275146108a55780639903ad38146108ad5780639bd9bbc6146108b55780639d876741146108c8578063a1b2bf8b146108db578063a217fddf146108ee578063a3a7e7f3146108f6578063a457c2d714610909578063a9059cbb1461091c578063aa271e1a1461092f578063b84cdd4a14610942578063bb0d196e14610955578063c3187f6214610968578063c68d42831461097b578063ca15c8731461098e578063ca78946414610544578063cf97256d146109a1578063d505accf146109b4578063d5391393146109c7578063d547741f146109dc578063d5a06d4c146109ef578063d95b637114610a02578063d9d078d614610a15578063dd62ed3e14610a28578063dea7f11214610a61578063e63ab1e914610a74578063e74b981b14610a89578063eb3537cc14610a9c578063ecc06c7614610aca578063ee719bc814610add578063f2fde38b14610aee578063fad8b32a14610b01578063fc673c4f14610b14578063fe9d930314610b22575b600080fd5b61044261043d366004614876565b610b30565b60405190151581526020015b60405180910390f35b61045f610b5b565b60405161044e91906148a0565b610474610b6c565b60405161044e919061493d565b61049461048f3660046149b0565b610bfe565b005b6104426104a4366004614a0b565b610cb2565b61049461042a366004614a37565b6104946104c5366004614a50565b610cc8565b6104946104d8366004614a9b565b610d3f565b6003545b60405190815260200161044e565b6104946104fd366004614baf565b610dad565b7f00000000000000000000000000000000000000000000000000000000000000005b60405161044e9190614c41565b61044261053f366004614c55565b611052565b610494610552366004614a0b565b61106a565b6104e1610565366004614a37565b6110c5565b610494610578366004614c96565b6110da565b61015254610524906001600160a01b031681565b6105a461059f366004614cb8565b611176565b60408051948552602085019390935291830152606082015260800161044e565b6104946105d2366004614cd5565b611219565b6040516012815260200161044e565b6104e16101535481565b6104e1611235565b610494610606366004614cd5565b61123f565b61045f610619366004614cb8565b6112bd565b61063161062c366004614d05565b611360565b6040805192835290151560208301520161044e565b610442610654366004614a0b565b6113e6565b610494611422565b61044261066f366004614d88565b611460565b610442610682366004614a0b565b6114ac565b610494610695366004614a9b565b6115e8565b6104946106a8366004614a37565b611614565b6104946106bb366004614ded565b6116a1565b610154546104429060ff1681565b61015054610524906001600160a01b031681565b6104946106f0366004614cb8565b611744565b610442610703366004614cb8565b611774565b61071b610716366004614e7f565b61178e565b60405161044e9190614ec5565b61015154610524906001600160a01b031681565b6105246117d3565b6104e16117dd565b60016104e1565b61049461042a366004614d88565b60e85460ff16610442565b61049461077a366004614cb8565b611801565b61049461078d366004614c55565b61184b565b6104946107a0366004614efd565b6118b1565b6104946107b3366004614c55565b61195f565b61071b6107c6366004614f9b565b61197f565b6104e16107d9366004614cb8565b6119b8565b6104426107ec366004614cb8565b6119e0565b6104946107ff366004614a0b565b611a68565b6104e1610812366004614cb8565b6001600160a01b0316600090815261014e602052604090205490565b61049461083c366004614cb8565b611b0f565b610494611b27565b610524611b63565b61052461085f366004614c96565b611b6b565b610442610872366004614cd5565b611b83565b610494610885366004614cb8565b611bae565b610474611bff565b6104946108a0366004614cb8565b611c0e565b610494611c26565b610494611c3e565b6104946108c3366004614d88565b611cf5565b6104946108d6366004614fd0565b611d4f565b6104946108e9366004614a50565b611d7d565b6104e1600081565b610494610904366004614cb8565b611e36565b610442610917366004614a0b565b611e4a565b61044261092a366004614a0b565b611e99565b61044261093d366004614cb8565b611ea7565b610442610950366004614a0b565b611ec1565b610442610963366004614cb8565b611f12565b610494610976366004615028565b611f9a565b610494610989366004614fd0565b611fd4565b6104e161099c366004614a37565b612003565b6104946109af366004614a0b565b61201a565b6104946109c2366004615045565b612108565b6104e1600080516020615a7683398151915281565b6104946109ea366004614cd5565b61229d565b6106316109fd366004614a37565b6122b9565b610442610a103660046150b3565b61233c565b610442610a23366004614a0b565b61234a565b6104e1610a363660046150b3565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b610494610a6f3660046150e1565b612364565b6104e1600080516020615a5683398151915281565b610494610a97366004614cb8565b612504565b610aaf610aaa366004614a0b565b61254e565b6040805193845260208401929092529082015260600161044e565b610494610ad8366004614cb8565b61267d565b600e546001600160a01b0316610524565b610494610afc366004614cb8565b6126c7565b610494610b0f366004614cb8565b612704565b61049461042a3660046151a4565b61049461042a3660046151eb565b60006001600160e01b03198216635a05180f60e01b1480610b555750610b5582612755565b92915050565b6060610b67601261278a565b905090565b6060600f8054610b7b90615229565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba790615229565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b6000338585604051602001610c1593929190615263565b604051602081830303815290604052805190602001209050610c6a818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506127f092505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d5985906020015b60405180910390a35050505050565b6000610cbf338484612831565b50600192915050565b60e85460ff1615610d2f5760405162461bcd60e51b815260206004820152602660248201527f5061757361626c653a2063726561746541677265656d656e74207768696c65206044820152651c185d5cd95960d21b60648201526084015b60405180910390fd5b610d3a8383836128e1565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610d7c57506101545460ff1615155b15610d9a5760405163c51efddd60e01b815260040160405180910390fd5b610da6848484846129b5565b5050505050565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca4848490610df9903390600401614c41565b602060405180830381865afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a91906152ac565b610e575760405163327fd99160e21b815260040160405180910390fd5b6000610e61612a08565b90506001600160a01b038116610e745750845b600085610e815786610e83565b815b905060008313610f2057610e96836152df565b610e9f85612b47565b14610eac57610eac6152fb565b610eb584612b47565b6001600160a01b03821660009081526002602052604081208054909190610edd908490615311565b90915550506001600160a01b03851660009081526002602052604081208054859290610f0a908490615311565b90915550610f1b9050858286612bb5565b610fea565b8515610f2e57610f2e6152fb565b82610f3885612b47565b610f429190615311565b6001600160a01b03831660009081526002602052604081208054909190610f6a908490615339565b90915550610f79905084612b47565b6001600160a01b03881660009081526002602052604081208054909190610fa1908490615311565b90915550506001600160a01b03851660009081526002602052604081208054859290610fce908490615311565b90915550610fdf9050828886612bb5565b610fea828685612bb5565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f60405161103f959493929190615359565b60405180910390a4505050505050505050565b6000611060338585856129b5565b90505b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331415806110a757506101545460ff1615155b1561042a5760405163c51efddd60e01b815260040160405180910390fd5b60009081526084602052604090206001015490565b60405133906000906110f29083908690602001615397565b6040516020818303038152906040528051906020012090506111148184612be8565b6111315760405163dae1880960e01b815260040160405180910390fd5b61113b8184612c24565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fe91906153d4565b905061120a858261254e565b91979096509094509092509050565b611222826110c5565b61122b81612c45565b610d3a8383612c4f565b6000610b67612c71565b6001600160a01b03811633146112af5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610d26565b6112b98282612cee565b5050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611338573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5591908101906153ed565b61015154604051631eed540360e11b815260009182916001600160a01b0390911690633ddaa8069061139a9088908890889060040161549e565b6040805180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da91906154bd565b91509150935093915050565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610cbf91859061141d9086906154e2565b612831565b61143a600080516020615a5683398151915233611b83565b6114565760405162461bcd60e51b8152600401610d26906154f5565b61145e612d10565b565b60006114a3858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d5c92505050565b95945050505050565b60006114c6600080516020615a7683398151915233611b83565b6114ff5760405162461bcd60e51b815260206004820152600a6024820152693737ba1036b4b73a32b960b11b6044820152606401610d26565b60e85460ff16156115225760405162461bcd60e51b8152600401610d2690615519565b610153541561159b57610153548261153960035490565b61154391906154e2565b111561159b5760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f7420696e63726561736520737570706c79206265796f6e642063616044820152600760fc1b6064820152608401610d26565b60408051600080825260208201909252610cbf9133918691869160005b6040519080825280601f01601f1916602001820160405280156115e2576020820181803683370190505b50612e11565b33301461160857604051630fff4cc960e31b815260040160405180910390fd5b610da6838584846129b5565b60e85460ff16156116375760405162461bcd60e51b8152600401610d2690615519565b61169e33808360005b6040519080825280601f01601f19166020018201604052801561166a576020820181803683370190505b5060005b6040519080825280601f01601f191660200182016040528015611698576020820181803683370190505b50612ecd565b50565b600054610100900460ff166116c85760405162461bcd60e51b8152600401610d269061555e565b600e805460ff8716600160a01b026001600160a81b03199091166001600160a01b03891617179055600f6116fd8486836155f7565b50601061170b8284836155f7565b5061171530612f88565b6040516000808252908190600080516020615a96833981519152906020015b60405180910390a3505050505050565b61174f600033611b83565b61176b5760405162461bcd60e51b8152600401610d26906156b6565b61169e8161309e565b6000610b55600080516020615a5683398151915283611b83565b606060008585856040516020016117a793929190615263565b6040516020818303038152906040528051906020012090506117c98184613270565b9695505050505050565b6000610b676132ff565b7f596aa569dfde75b0375e5ba62bcfe0e1ce76eaca6130ef1c259fade04cb78b6890565b61180c600033611b83565b6118285760405162461bcd60e51b8152600401610d26906156b6565b61015280546001600160a01b0319166001600160a01b0392909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314158061188857506101545460ff1615155b156118a65760405163c51efddd60e01b815260040160405180910390fd5b610d3a838383612831565b336118be6012828a613312565b6118db5760405163f7f0222760e01b815260040160405180910390fd5b6119558189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506133bb915050565b5050505050505050565b3330146118a657604051630fff4cc960e31b815260040160405180910390fd5b606060008484604051602001611996929190615397565b6040516020818303038152906040528051906020012090506114a38184613270565b6000806119c483611176565b5050509050600081126119d75780611063565b60009392505050565b6000610b55827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2391906153d4565b6000611a748333610a36565b905081811015611ad25760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610d26565b60e85460ff1615611af55760405162461bcd60e51b8152600401610d2690615519565b611b028333848403612831565b610d3a3384846000611640565b61169e600080516020615a5683398151915282611219565b611b3f600080516020615a5683398151915233611b83565b611b5b5760405162461bcd60e51b8152600401610d26906154f5565b61145e61343d565b6000610b6781805b600082815260b660205260408120611063908361347a565b60009182526084602090815260408084206001600160a01b0393909316845291905290205460ff1690565b33611bbb60128284613486565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610b7b90615229565b61169e600080516020615a7683398151915282611219565b61145e600080516020615a768339815191523361123f565b600054610100900460ff1615808015611c5e5750600054600160ff909116105b80611c7f5750611c6d3061358a565b158015611c7f575060005460ff166001145b611c9b5760405162461bcd60e51b8152600401610d26906156d9565b6000805460ff191660011790558015611cbe576000805461ff0019166101001790555b801561169e576000805461ff001916905560405160018152600080516020615a36833981519152906020015b60405180910390a150565b611d493333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506133bb9050565b50505050565b333014611d6f57604051630fff4cc960e31b815260040160405180910390fd5b610d3a33848484600061166e565b6040513390600090611d959083908790602001615397565b604051602081830303815290604052805190602001209050611dea818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506127f092505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051611e2793929190615727565b60405180910390a25050505050565b6112b9333383611e45336119b8565b6129b5565b6000610cbf338461141d856040518060600160405280602a8152602001615a0c602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613599565b6000611063333385856129b5565b6000610b55600080516020615a7683398151915283611b83565b600080600080611ed1868661254e565b9250925092506000611ef9828411611eea576000612b47565b611ef48385615768565b612b47565b611f039085615311565b60001315979650505050505050565b6000610b55827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f76573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095091906153d4565b611fa5600033611b83565b611fc15760405162461bcd60e51b8152600401610d26906156b6565b610154805460ff19169115919091179055565b333014611ff457604051630fff4cc960e31b815260040160405180910390fd5b610d3a338484600085816115b8565b600081815260b660205260408120610b55906135c5565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca4848490612066903390600401614c41565b602060405180830381865afa158015612083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a791906152ac565b6120c45760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382166000908152600260205260409020546120e8908290615311565b6001600160a01b0390921660009081526002602052604090209190915550565b834211156121585760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610d26565b600061014f5488888861216a8c6135cf565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006121c582613601565b905060006121d58287878761364f565b9050896001600160a01b0316816001600160a01b0316146122385760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610d26565b60405163335097db60e11b815230906366a12fb69061225f908d908d908d9060040161577b565b600060405180830381600087803b15801561227957600080fd5b505af115801561228d573d6000803e3d6000fd5b5050505050505050505050505050565b6122a6826110c5565b6122af81612c45565b610d3a8383612cee565b61015154604051631eed540360e11b815260009182916001600160a01b0390911690633ddaa806906122f39086908590819060040161549e565b6040805180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233391906154bd565b91509150915091565b600061106360128484613312565b600080612357848461254e565b5050600013949350505050565b600054610100900460ff16158080156123845750600054600160ff909116105b806123a557506123933061358a565b1580156123a5575060005460ff166001145b6123c15760405162461bcd60e51b8152600401610d26906156d9565b6000805460ff1916600117905580156123e4576000805461ff0019166101001790555b6123f4600060128c8c8c8c6116a1565b6123fc613677565b61240461369e565b6124438a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136d192505050565b61244e600083613724565b612466600080516020615a7683398151915283613724565b61247e600080516020615a5683398151915283613724565b61015080546001600160a01b038086166001600160a01b031992831617909255610152805487841690831617905561015180549288169290911691909117905561015386905580156124f8576000805461ff001916905560405160018152600080516020615a368339815191529060200160405180910390a15b50505050505050505050565b61250f600033611b83565b61252b5760405162461bcd60e51b8152600401610d26906156b6565b61015080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216600090815260026020526040812054908080612573866112bd565b905060005b81518110156126745760008060008484815181106125985761259861579f565b60200260200101516001600160a01b0316639b2e48bc308c8c6040518463ffffffff1660e01b81526004016125cf9392919061577b565b606060405180830381865afa1580156125ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261091906157b5565b9194509250905061262182886154e2565b965061262d81876154e2565b955061264a818311612640576000612b47565b611ef48284615768565b612654848a615311565b61265e9190615339565b97505050508061266d906157e3565b9050612578565b50509250925092565b612688600033611b83565b6126a45760405162461bcd60e51b8152600401610d26906156b6565b61015180546001600160a01b0319166001600160a01b0392909216919091179055565b6126d2600033611b83565b6126ee5760405162461bcd60e51b8152600401610d26906156b6565b6126f9600082611219565b61169e60003361123f565b336127116012828461372e565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b60006001600160e01b03198216637965db0b60e01b1480610b5557506301ffc9a760e01b6001600160e01b0319831614610b55565b6060816000018054806020026020016040519081016040528092919081815260200182805480156127e457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116127c6575b50505050509050919050565b60005b8151811015610d3a5760008282815181106128105761281061579f565b602002602001015190508082850155508061282a906157e3565b90506127f3565b6001600160a01b03831661285857604051638163862760e01b815260040160405180910390fd5b6001600160a01b03821661287f576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60405133906000906128f99083908790602001615397565b60408051601f198184030181529190528051602090910120905061291d8184612be8565b1561293b5760405163782a90fb60e11b815260040160405180910390fd5b612978818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506127f092505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051611e2793929190615727565b60006129c360e85460ff1690565b156129e05760405162461bcd60e51b8152600401610d2690615519565b60006129ed858585613826565b90506129fb8686868461396d565b5060019695505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8d91906157fc565b604051638369a0f160e01b81529091506001600160a01b03821690638369a0f190612b00907f00000000000000000000000000000000000000000000000000000000000000009030907f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d099060040161577b565b602060405180830381865afa158015612b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4191906157fc565b91505090565b60006001600160ff1b03821115612bb15760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610d26565b5090565b816001600160a01b0316836001600160a01b0316600080516020615a96833981519152836040516128d491815260200190565b6000805b82811015612c1a57838101548015612c0957600192505050610b55565b50612c13816157e3565b9050612bec565b5060009392505050565b60005b81811015610d3a57600083820155612c3e816157e3565b9050612c27565b61169e8133613a8d565b612c598282613ae6565b600082815260b660205260409020610d3a9082613b6c565b6000610b677f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612ca161011a5490565b61011b546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b612cf88282613b81565b600082815260b660205260409020610d3a9082613be8565b612d18613bfd565b60e8805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051612d529190614c41565b60405180910390a1565b600080612d698585611e99565b9050846001600160a01b0316336001600160a01b03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168686604051612db0929190615819565b60405180910390a3843b1561106057612dca858585613c46565b6110605760405162461bcd60e51b815260206004820152601860248201527710dbdb9d1c9858dd0819985b1b189858dac819985a5b195960421b6044820152606401610d26565b6001600160a01b038516612e3857604051630d24315760e01b815260040160405180910390fd5b612e428585613d10565b612e528660008787868689613d6a565b846001600160a01b0316866001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d868585604051612e9993929190615832565b60405180910390a36040518481526001600160a01b03861690600090600080516020615a9683398151915290602001611734565b6001600160a01b038416612ef457604051632e8aac6160e21b815260040160405180910390fd5b612f0385856000868686613eb9565b612f0d8484613fd8565b836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051612f5493929190615832565b60405180910390a36040518381526000906001600160a01b03861690600080516020615a9683398151915290602001610ca3565b6040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90612fe39084907fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce217705490309060040161585d565b600060405180830381600087803b158015612ffd57600080fd5b505af1158015613011573d6000803e3d6000fd5b50506040516329965a1d60e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506130709084907faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a90309060040161585d565b600060405180830381600087803b15801561308a57600080fd5b505af1158015610da6573d6000803e3d6000fd5b60006130a86132ff565b6001600160a01b0316036130fe5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610d26565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561313c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316091906153d4565b6131686117dd565b146131c15760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610d26565b6001600160a01b03811630036132155760405162461bcd60e51b815260206004820152601960248201527805555505350726f786961626c653a2070726f7879206c6f6f7603c1b6044820152606401610d26565b61322b816000805160206159ec83398151915255565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc6132546117dd565b604080519182526001600160a01b038416602083015201611cea565b6060816001600160401b0381111561328a5761328a614aec565b6040519080825280602002602001820160405280156132b3578160200160208202803683370190505b50905060005b828110156132f8576000818501549050808383815181106132dc576132dc61579f565b6020908102919091010152506132f1816157e3565b90506132b9565b5092915050565b6000805160206159ec8339815191525490565b6000816001600160a01b0316836001600160a01b0316148061338157506001600160a01b038316600090815260018501602052604090205460ff16801561338157506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b8061106057506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166133e25760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166134095760405163e219bd3960e01b815260040160405180910390fd5b613417878787878787613eb9565b6134258787878787876140e8565b61343487878787878787613d6a565b50505050505050565b613445614187565b60e8805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612d453390565b600061106383836141cd565b806001600160a01b0316826001600160a01b0316036134fd5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401610d26565b6001600160a01b038116600090815260018401602052604090205460ff1615613553576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03163b151590565b600081848411156135bd5760405162461bcd60e51b8152600401610d26919061493d565b505050900390565b6000610b55825490565b6001600160a01b038116600090815261014e602052604081208054918291906135f7836157e3565b9190505550919050565b6000610b5561360e612c71565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000613660878787876141f7565b9150915061366d816142b1565b5095945050505050565b600054610100900460ff1661145e5760405162461bcd60e51b8152600401610d269061555e565b600054610100900460ff166136c55760405162461bcd60e51b8152600401610d269061555e565b60e8805460ff19169055565b600054610100900460ff166136f85760405162461bcd60e51b8152600401610d269061555e565b61371b81604051806040016040528060018152602001603160f81b8152506143f6565b61169e81614439565b6112b98282612c4f565b336001600160a01b038216036137995760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401610d26565b6001600160a01b038116600090815260018401602052604090205460ff16156137f3576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6000806000613836848787611360565b915091506000821180156138b957506101525460405163639e625760e11b81526001600160a01b039091169063c73cc4ae90613876903390600401614c41565b602060405180830381865afa158015613893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b791906152ac565b155b15613963578015806138dc57506138cf866119b8565b6138d983866154e2565b11155b6139285760405162461bcd60e51b815260206004820181905260248201527f4e6f7420656e6f7567682062616c616e636520746f20706179205458206665656044820152606401610d26565b6101505461394390879081906001600160a01b03168561396d565b5080613958576139538285615768565b61395a565b835b92505050611063565b5091949350505050565b60006001600160a01b0384166139965760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166139bd5760405163e219bd3960e01b815260040160405180910390fd5b60003390506139ee8186868660405180602001604052806000815250604051806020016040528060008152506140e8565b846001600160a01b0316866001600160a01b031614613a8157613a81858761141d866040518060600160405280602d8152602001615ab6602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546135999092919063ffffffff16565b50600195945050505050565b613a978282611b83565b6112b957613aa481614488565b613aaf83602061449a565b604051602001613ac0929190615880565b60408051601f198184030181529082905262461bcd60e51b8252610d269160040161493d565b613af08282611b83565b6112b95760008281526084602090815260408083206001600160a01b03851684529091529020805460ff19166001179055613b283390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611063836001600160a01b038416614635565b613b8b8282611b83565b156112b95760008281526084602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611063836001600160a01b038416614684565b60e85460ff1661145e5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610d26565b604051635260769b60e11b815260009084906001600160a01b0382169063a4c0ed3690613c7b903390889088906004016158ef565b6020604051808303816000875af1158015613c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cbe91906152ac565b613d055760405162461bcd60e51b815260206004820152601860248201527710dbdb9d1c9858dd0811985b1b189858dac819985a5b195960421b6044820152606401610d26565b506001949350505050565b613d1981612b47565b6001600160a01b038316600090815260026020526040902054613d3c9190615311565b6001600160a01b038316600090815260026020526040902055600354613d639082906154e2565b6003555050565b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90613dc69089907fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b90600401615916565b602060405180830381865afa158015613de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0791906157fc565b90506001600160a01b03811615613e83576040516223de2960e01b81526001600160a01b038216906223de2990613e4c908b908b908b908b908b908b9060040161592f565b600060405180830381600087803b158015613e6657600080fd5b505af1158015613e7a573d6000803e3d6000fd5b50505050611955565b811561195557613e9b866001600160a01b031661358a565b156119555760405163fe737d0560e01b815260040160405180910390fd5b60405163555ddc6560e11b8152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90613f159089907f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89590600401615916565b602060405180830381865afa158015613f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5691906157fc565b90506001600160a01b0381161561343457604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613f9d908a908a908a908a908a908a9060040161592f565b600060405180830381600087803b158015613fb757600080fd5b505af1158015613fcb573d6000803e3d6000fd5b5050505050505050505050565b6000614060837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561403c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906153d4565b5050905061406d82612b47565b81121561408d5760405163043b37d160e21b815260040160405180910390fd5b61409682612b47565b6001600160a01b0384166000908152600260205260409020546140b99190615339565b6001600160a01b0384166000908152600260205260409020556003546140e0908390615768565b600355505050565b6140fb85856140f686612b47565b614777565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161414c93929190615832565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020615a968339815191528560405161173491815260200190565b60e85460ff161561145e5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610d26565b60008260000182815481106141e4576141e461579f565b9060005260206000200154905092915050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b0383111561422457506000905060036142a8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015614278573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166142a1576000600192509250506142a8565b9150600090505b94509492505050565b60008160048111156142c5576142c5615989565b036142cd5750565b60018160048111156142e1576142e1615989565b036143295760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610d26565b600281600481111561433d5761433d615989565b0361438a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610d26565b600381600481111561439e5761439e615989565b0361169e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610d26565b600054610100900460ff1661441d5760405162461bcd60e51b8152600401610d269061555e565b81516020928301208151919092012061011a9190915561011b55565b600054610100900460ff166144605760405162461bcd60e51b8152600401610d269061555e565b507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961014f55565b6060610b556001600160a01b03831660145b606060006144a983600261599f565b6144b49060026154e2565b6001600160401b038111156144cb576144cb614aec565b6040519080825280601f01601f1916602001820160405280156144f5576020820181803683370190505b509050600360fc1b816000815181106145105761451061579f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061453f5761453f61579f565b60200101906001600160f81b031916908160001a905350600061456384600261599f565b61456e9060016154e2565b90505b60018111156145e6576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106145a2576145a261579f565b1a60f81b8282815181106145b8576145b861579f565b60200101906001600160f81b031916908160001a90535060049490941c936145df816159be565b9050614571565b5083156110635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d26565b600081815260018301602052604081205461467c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b55565b506000610b55565b6000818152600183016020526040812054801561476d5760006146a8600183615768565b85549091506000906146bc90600190615768565b90508181146147215760008660000182815481106146dc576146dc61579f565b90600052602060002001549050808760000184815481106146ff576146ff61579f565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080614732576147326159d5565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b55565b6000915050610b55565b60006147db847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561403c573d6000803e3d6000fd5b505090508181121561480057604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054614824908390615339565b6001600160a01b038086166000908152600260205260408082209390935590851681522054614854908390615311565b6001600160a01b03909316600090815260026020526040902092909255505050565b60006020828403121561488857600080fd5b81356001600160e01b03198116811461106357600080fd5b6020808252825182820181905260009190848201906040850190845b818110156148e15783516001600160a01b0316835292840192918401916001016148bc565b50909695505050505050565b60005b838110156149085781810151838201526020016148f0565b50506000910152565b600081518084526149298160208601602086016148ed565b601f01601f19169290920160200192915050565b6020815260006110636020830184614911565b6001600160a01b038116811461169e57600080fd5b60008083601f84011261497757600080fd5b5081356001600160401b0381111561498e57600080fd5b6020830191508360208260051b85010111156149a957600080fd5b9250929050565b600080600080606085870312156149c657600080fd5b84356149d181614950565b93506020850135925060408501356001600160401b038111156149f357600080fd5b6149ff87828801614965565b95989497509550505050565b60008060408385031215614a1e57600080fd5b8235614a2981614950565b946020939093013593505050565b600060208284031215614a4957600080fd5b5035919050565b600080600060408486031215614a6557600080fd5b8335925060208401356001600160401b03811115614a8257600080fd5b614a8e86828701614965565b9497909650939450505050565b60008060008060808587031215614ab157600080fd5b8435614abc81614950565b93506020850135614acc81614950565b92506040850135614adc81614950565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614b2a57614b2a614aec565b604052919050565b600082601f830112614b4357600080fd5b81356001600160401b03811115614b5c57614b5c614aec565b614b6f601f8201601f1916602001614b02565b818152846020838601011115614b8457600080fd5b816020850160208301376000918101602001919091529392505050565b801515811461169e57600080fd5b600080600080600080600060e0888a031215614bca57600080fd5b8735965060208801356001600160401b03811115614be757600080fd5b614bf38a828b01614b32565b9650506040880135614c0481614950565b94506060880135614c1481614ba1565b93506080880135614c2481614950565b9699959850939692959460a0840135945060c09093013592915050565b6001600160a01b0391909116815260200190565b600080600060608486031215614c6a57600080fd5b8335614c7581614950565b92506020840135614c8581614950565b929592945050506040919091013590565b60008060408385031215614ca957600080fd5b50508035926020909101359150565b600060208284031215614cca57600080fd5b813561106381614950565b60008060408385031215614ce857600080fd5b823591506020830135614cfa81614950565b809150509250929050565b600080600060608486031215614d1a57600080fd5b833592506020840135614d2c81614950565b91506040840135614d3c81614950565b809150509250925092565b60008083601f840112614d5957600080fd5b5081356001600160401b03811115614d7057600080fd5b6020830191508360208285010111156149a957600080fd5b60008060008060608587031215614d9e57600080fd5b8435614da981614950565b93506020850135925060408501356001600160401b03811115614dcb57600080fd5b6149ff87828801614d47565b803560ff81168114614de857600080fd5b919050565b60008060008060008060808789031215614e0657600080fd5b8635614e1181614950565b9550614e1f60208801614dd7565b945060408701356001600160401b0380821115614e3b57600080fd5b614e478a838b01614d47565b90965094506060890135915080821115614e6057600080fd5b50614e6d89828a01614d47565b979a9699509497509295939492505050565b60008060008060808587031215614e9557600080fd5b8435614ea081614950565b93506020850135614eb081614950565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b818110156148e157835183529284019291840191600101614ee1565b600080600080600080600060a0888a031215614f1857600080fd5b8735614f2381614950565b96506020880135614f3381614950565b95506040880135945060608801356001600160401b0380821115614f5657600080fd5b614f628b838c01614d47565b909650945060808a0135915080821115614f7b57600080fd5b50614f888a828b01614d47565b989b979a50959850939692959293505050565b600080600060608486031215614fb057600080fd5b8335614fbb81614950565b95602085013595506040909401359392505050565b600080600060608486031215614fe557600080fd5b8335614ff081614950565b92506020840135915060408401356001600160401b0381111561501257600080fd5b61501e86828701614b32565b9150509250925092565b60006020828403121561503a57600080fd5b813561106381614ba1565b600080600080600080600060e0888a03121561506057600080fd5b873561506b81614950565b9650602088013561507b81614950565b9550604088013594506060880135935061509760808901614dd7565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156150c657600080fd5b82356150d181614950565b91506020830135614cfa81614950565b600080600080600080600080600060e08a8c0312156150ff57600080fd5b89356001600160401b038082111561511657600080fd5b6151228d838e01614d47565b909b50995060208c013591508082111561513b57600080fd5b506151488c828d01614d47565b90985096505060408a0135945060608a013561516381614950565b935060808a013561517381614950565b925060a08a013561518381614950565b915060c08a013561519381614950565b809150509295985092959850929598565b600080600080600080608087890312156151bd57600080fd5b86356151c881614950565b95506020870135945060408701356001600160401b0380821115614e3b57600080fd5b60008060006040848603121561520057600080fd5b8335925060208401356001600160401b0381111561521d57600080fd5b614a8e86828701614d47565b600181811c9082168061523d57607f821691505b60208210810361525d57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6000602082840312156152be57600080fd5b815161106381614ba1565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016152f4576152f46152c9565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715615331576153316152c9565b505092915050565b81810360008312801583831316838312821617156132f8576132f86152c9565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061538c60a0830184614911565b979650505050505050565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b6000602082840312156153e657600080fd5b5051919050565b6000602080838503121561540057600080fd5b82516001600160401b038082111561541757600080fd5b818501915085601f83011261542b57600080fd5b81518181111561543d5761543d614aec565b8060051b915061544e848301614b02565b818152918301840191848101908884111561546857600080fd5b938501935b83851015615492578451925061548283614950565b828252938501939085019061546d565b98975050505050505050565b9283526001600160a01b03918216602084015216604082015260600190565b600080604083850312156154d057600080fd5b825191506020830151614cfa81614ba1565b80820180821115610b5557610b556152c9565b6020808252600a90820152693737ba103830bab9b2b960b11b604082015260600190565b60208082526025908201527f5061757361626c653a20746f6b656e207472616e73666572207768696c652070604082015264185d5cd95960da1b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f821115610d3a57600081815260208120601f850160051c810160208610156155d05750805b601f850160051c820191505b818110156155ef578281556001016155dc565b505050505050565b6001600160401b0383111561560e5761560e614aec565b6156228361561c8354615229565b836155a9565b6000601f841160018114615656576000851561563e5750838201355b600019600387901b1c1916600186901b178355610da6565b600083815260209020601f19861690835b828110156156875786850135825560209485019460019092019101615667565b50868210156156a45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b838152604060208201819052810182905260006001600160fb1b0383111561574e57600080fd5b8260051b8085606085013791909101606001949350505050565b81810381811115610b5557610b556152c9565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052603260045260246000fd5b6000806000606084860312156157ca57600080fd5b8351925060208401519150604084015190509250925092565b6000600182016157f5576157f56152c9565b5060010190565b60006020828403121561580e57600080fd5b815161106381614950565b8281526040602082015260006110606040830184614911565b83815260606020820152600061584b6060830185614911565b82810360408401526117c98185614911565b6001600160a01b0393841681526020810192909252909116604082015260600190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516158b28160178501602088016148ed565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516158e38160288401602088016148ed565b01602801949350505050565b60018060a01b03841681528260208201526060604082015260006114a36060830184614911565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009061596a90830185614911565b82810360a084015261597c8185614911565b9998505050505050505050565b634e487b7160e01b600052602160045260246000fd5b60008160001904831182151516156159b9576159b96152c9565b500290565b6000816159cd576159cd6152c9565b506000190190565b634e487b7160e01b600052603160045260246000fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249865d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eb3b258e80ed5fc1e267714a61f38a0fc10efb6f970dbc9be8964e7236394d4064736f6c63430008100033";
2596
+
2597
+ type SuperGoodDollarConstructorParams =
2598
+ | [signer?: Signer]
2599
+ | ConstructorParameters<typeof ContractFactory>;
2600
+
2601
+ const isSuperArgs = (
2602
+ xs: SuperGoodDollarConstructorParams
2603
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
2604
+
2605
+ export class SuperGoodDollar__factory extends ContractFactory {
2606
+ constructor(...args: SuperGoodDollarConstructorParams) {
2607
+ if (isSuperArgs(args)) {
2608
+ super(...args);
2609
+ } else {
2610
+ super(_abi, _bytecode, args[0]);
2611
+ }
2612
+ }
2613
+
2614
+ deploy(
2615
+ _host: string,
2616
+ overrides?: Overrides & { from?: string | Promise<string> }
2617
+ ): Promise<SuperGoodDollar> {
2618
+ return super.deploy(_host, overrides || {}) as Promise<SuperGoodDollar>;
2619
+ }
2620
+ getDeployTransaction(
2621
+ _host: string,
2622
+ overrides?: Overrides & { from?: string | Promise<string> }
2623
+ ): TransactionRequest {
2624
+ return super.getDeployTransaction(_host, overrides || {});
2625
+ }
2626
+ attach(address: string): SuperGoodDollar {
2627
+ return super.attach(address) as SuperGoodDollar;
2628
+ }
2629
+ connect(signer: Signer): SuperGoodDollar__factory {
2630
+ return super.connect(signer) as SuperGoodDollar__factory;
2631
+ }
2632
+ static readonly bytecode = _bytecode;
2633
+ static readonly abi = _abi;
2634
+ static createInterface(): SuperGoodDollarInterface {
2635
+ return new utils.Interface(_abi) as SuperGoodDollarInterface;
2636
+ }
2637
+ static connect(
2638
+ address: string,
2639
+ signerOrProvider: Signer | Provider
2640
+ ): SuperGoodDollar {
2641
+ return new Contract(address, _abi, signerOrProvider) as SuperGoodDollar;
2642
+ }
2643
+ }