@gooddollar/goodprotocol 2.0.32-beta.0 → 2.0.32

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 (303) hide show
  1. package/artifacts/abis/CeloDistributionHelper.min.json +1 -0
  2. package/artifacts/abis/CeloDistributionHelperTest.min.json +1 -0
  3. package/artifacts/abis/CeloDistributionHelperTestHelper.min.json +1 -0
  4. package/artifacts/abis/IBancorExchangeProvider.min.json +1 -0
  5. package/artifacts/abis/IBroker.min.json +1 -0
  6. package/artifacts/abis/IGoodDollarExchangeProvider.min.json +1 -0
  7. package/artifacts/abis/IGoodDollarExpansionController.min.json +1 -0
  8. package/artifacts/abis/IMentoReserve.min.json +1 -0
  9. package/artifacts/abis/ITradingLimits.min.json +1 -0
  10. package/artifacts/abis/MentoExchange.min.json +1 -0
  11. package/artifacts/abis/ProtocolUpgradeV4Mento.min.json +1 -0
  12. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  14. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  15. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  16. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  17. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  43. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +4 -0
  44. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.json +282 -0
  45. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +4 -0
  46. package/artifacts/contracts/MentoInterfaces.sol/IBroker.json +491 -0
  47. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +4 -0
  48. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.json +164 -0
  49. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +4 -0
  50. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.json +333 -0
  51. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +4 -0
  52. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.json +927 -0
  53. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +4 -0
  54. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.json +10 -0
  55. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  56. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  57. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  58. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  59. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  60. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  61. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  62. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  63. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  64. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  65. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  66. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  67. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  68. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  69. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  70. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  71. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  72. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  73. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  74. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  75. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +4 -0
  80. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.json +864 -0
  81. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +4 -0
  82. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.json +890 -0
  83. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  90. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  92. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  97. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  100. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  109. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  118. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  120. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  123. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  124. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  125. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  126. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +4 -0
  127. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.json +864 -0
  128. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  129. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  130. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  131. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  132. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  133. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  134. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  135. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  136. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  137. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  138. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  139. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  140. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  141. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  142. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  143. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  144. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  145. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  146. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  147. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  148. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  149. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  150. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  151. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  152. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  153. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  154. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  155. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  156. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  157. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  158. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  159. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  160. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  161. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  162. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  163. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  164. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  165. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  166. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  167. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  168. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  169. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  170. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  171. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  172. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  173. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  174. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  175. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  176. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  177. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  178. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  179. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  180. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  181. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  182. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  183. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  184. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  185. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  186. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  187. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  188. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  189. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  190. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
  191. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  192. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  193. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  194. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  195. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  196. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  197. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  198. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  199. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  200. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  201. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  202. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  203. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  204. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  205. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  206. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  207. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  208. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  209. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  210. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  211. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.json +2 -2
  212. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  213. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  214. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  215. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  216. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  217. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +4 -0
  218. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.json +24 -0
  219. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +4 -0
  220. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +92 -0
  221. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  222. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  223. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  224. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  225. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  226. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  227. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  228. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  229. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  230. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.json +2 -2
  231. package/contracts/MentoInterfaces.sol +746 -0
  232. package/contracts/mocks/CeloDistributionHelperTest.sol +25 -0
  233. package/contracts/reserve/CeloDistributionHelper.sol +286 -0
  234. package/contracts/reserve/GoodMarketMaker.sol +11 -1
  235. package/contracts/staking/GoodFundManager.sol +5 -2
  236. package/contracts/utils/ProtoclUpgradeV4Mento.sol +99 -0
  237. package/contracts/utils/ReserveRestore.sol +171 -147
  238. package/hardhat.config.ts +4 -4
  239. package/package.json +5 -2
  240. package/releases/deployment.json +7 -5
  241. package/scripts/multichain-deploy/helpers.ts +45 -24
  242. package/scripts/proposals/reserveRestore.ts +130 -85
  243. package/scripts/proposals/v4Upgrade.ts +845 -0
  244. package/test/reserve/CeloDistributionHelper.test.ts +377 -0
  245. package/test/reserve/GoodMarketMaker.test.ts +98 -35
  246. package/test/zzz - e2e/CeloDistributionHelper.e2e.test.ts +0 -0
  247. package/types/contracts/MentoInterfaces.sol/IBancorExchangeProvider.ts +422 -0
  248. package/types/contracts/MentoInterfaces.sol/IBroker.ts +727 -0
  249. package/types/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.ts +341 -0
  250. package/types/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.ts +617 -0
  251. package/types/contracts/MentoInterfaces.sol/IMentoReserve.ts +1700 -0
  252. package/types/contracts/MentoInterfaces.sol/index.ts +8 -0
  253. package/types/contracts/index.ts +2 -0
  254. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.ts +1226 -0
  255. package/types/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +1279 -0
  256. package/types/contracts/mocks/CeloDistributionHelperTest.sol/index.ts +5 -0
  257. package/types/contracts/mocks/index.ts +2 -0
  258. package/types/contracts/reserve/CeloDistributionHelper.ts +1226 -0
  259. package/types/contracts/reserve/index.ts +1 -0
  260. package/types/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.ts +81 -0
  261. package/types/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts +161 -0
  262. package/types/contracts/utils/ProtoclUpgradeV4Mento.sol/index.ts +5 -0
  263. package/types/contracts/utils/index.ts +2 -0
  264. package/types/factories/contracts/MentoInterfaces.sol/IBancorExchangeProvider__factory.ts +301 -0
  265. package/types/factories/contracts/MentoInterfaces.sol/IBroker__factory.ts +506 -0
  266. package/types/factories/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider__factory.ts +183 -0
  267. package/types/factories/contracts/MentoInterfaces.sol/IGoodDollarExpansionController__factory.ts +352 -0
  268. package/types/factories/contracts/MentoInterfaces.sol/IMentoReserve__factory.ts +942 -0
  269. package/types/factories/contracts/MentoInterfaces.sol/index.ts +8 -0
  270. package/types/factories/contracts/governance/StakersDistribution__factory.ts +1 -1
  271. package/types/factories/contracts/index.ts +1 -0
  272. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +949 -0
  273. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest__factory.ts +919 -0
  274. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/index.ts +5 -0
  275. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +1 -1
  276. package/types/factories/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest__factory.ts +1 -1
  277. package/types/factories/contracts/mocks/GoodCompoundStakingTest__factory.ts +1 -1
  278. package/types/factories/contracts/mocks/GoodFundManagerTest__factory.ts +1 -1
  279. package/types/factories/contracts/mocks/OverMintTesterRegularStake__factory.ts +1 -1
  280. package/types/factories/contracts/mocks/index.ts +1 -0
  281. package/types/factories/contracts/reserve/CeloDistributionHelper__factory.ts +919 -0
  282. package/types/factories/contracts/reserve/DistributionHelper__factory.ts +1 -1
  283. package/types/factories/contracts/reserve/ExchangeHelper__factory.ts +1 -1
  284. package/types/factories/contracts/reserve/GoodMarketMaker__factory.ts +1 -1
  285. package/types/factories/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai__factory.ts +1 -1
  286. package/types/factories/contracts/reserve/index.ts +1 -0
  287. package/types/factories/contracts/staking/DonationsStaking__factory.ts +1 -1
  288. package/types/factories/contracts/staking/GoodFundManager__factory.ts +1 -1
  289. package/types/factories/contracts/staking/aave/AaveStakingFactory__factory.ts +1 -1
  290. package/types/factories/contracts/staking/aave/GoodAaveStakingV2__factory.ts +1 -1
  291. package/types/factories/contracts/staking/aave/GoodAaveStaking__factory.ts +1 -1
  292. package/types/factories/contracts/staking/compound/CompoundStakingFactory__factory.ts +1 -1
  293. package/types/factories/contracts/staking/compound/GoodCompoundStakingV2__factory.ts +1 -1
  294. package/types/factories/contracts/staking/compound/GoodCompoundStaking__factory.ts +1 -1
  295. package/types/factories/contracts/utils/BuyAndBridgeHelper__factory.ts +1 -1
  296. package/types/factories/contracts/utils/LastauthReduction__factory.ts +1 -1
  297. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange__factory.ts +39 -0
  298. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +152 -0
  299. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/index.ts +5 -0
  300. package/types/factories/contracts/utils/ReserveRestore__factory.ts +1 -1
  301. package/types/factories/contracts/utils/index.ts +1 -0
  302. package/types/hardhat.d.ts +90 -0
  303. package/types/index.ts +20 -0
@@ -0,0 +1,727 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import type {
17
+ FunctionFragment,
18
+ Result,
19
+ EventFragment,
20
+ } from "@ethersproject/abi";
21
+ import type { Listener, Provider } from "@ethersproject/providers";
22
+ import type {
23
+ TypedEventFilter,
24
+ TypedEvent,
25
+ TypedListener,
26
+ OnEvent,
27
+ } from "../../common";
28
+
29
+ export declare namespace ITradingLimits {
30
+ export type ConfigStruct = {
31
+ timestep0: BigNumberish;
32
+ timestep1: BigNumberish;
33
+ limit0: BigNumberish;
34
+ limit1: BigNumberish;
35
+ limitGlobal: BigNumberish;
36
+ flags: BigNumberish;
37
+ };
38
+
39
+ export type ConfigStructOutput = [
40
+ number,
41
+ number,
42
+ number,
43
+ number,
44
+ number,
45
+ number
46
+ ] & {
47
+ timestep0: number;
48
+ timestep1: number;
49
+ limit0: number;
50
+ limit1: number;
51
+ limitGlobal: number;
52
+ flags: number;
53
+ };
54
+ }
55
+
56
+ export interface IBrokerInterface extends utils.Interface {
57
+ functions: {
58
+ "addExchangeProvider(address,address)": FunctionFragment;
59
+ "burnStableTokens(address,uint256)": FunctionFragment;
60
+ "configureTradingLimit(bytes32,address,(uint32,uint32,int48,int48,int48,uint8))": FunctionFragment;
61
+ "exchangeProviders(uint256)": FunctionFragment;
62
+ "getAmountIn(address,bytes32,address,address,uint256)": FunctionFragment;
63
+ "getAmountOut(address,bytes32,address,address,uint256)": FunctionFragment;
64
+ "getExchangeProviders()": FunctionFragment;
65
+ "initialize(address[],address[])": FunctionFragment;
66
+ "isExchangeProvider(address)": FunctionFragment;
67
+ "removeExchangeProvider(address,uint256)": FunctionFragment;
68
+ "setReserves(address[],address[])": FunctionFragment;
69
+ "swapIn(address,bytes32,address,address,uint256,uint256)": FunctionFragment;
70
+ "swapOut(address,bytes32,address,address,uint256,uint256)": FunctionFragment;
71
+ };
72
+
73
+ getFunction(
74
+ nameOrSignatureOrTopic:
75
+ | "addExchangeProvider"
76
+ | "burnStableTokens"
77
+ | "configureTradingLimit"
78
+ | "exchangeProviders"
79
+ | "getAmountIn"
80
+ | "getAmountOut"
81
+ | "getExchangeProviders"
82
+ | "initialize"
83
+ | "isExchangeProvider"
84
+ | "removeExchangeProvider"
85
+ | "setReserves"
86
+ | "swapIn"
87
+ | "swapOut"
88
+ ): FunctionFragment;
89
+
90
+ encodeFunctionData(
91
+ functionFragment: "addExchangeProvider",
92
+ values: [string, string]
93
+ ): string;
94
+ encodeFunctionData(
95
+ functionFragment: "burnStableTokens",
96
+ values: [string, BigNumberish]
97
+ ): string;
98
+ encodeFunctionData(
99
+ functionFragment: "configureTradingLimit",
100
+ values: [BytesLike, string, ITradingLimits.ConfigStruct]
101
+ ): string;
102
+ encodeFunctionData(
103
+ functionFragment: "exchangeProviders",
104
+ values: [BigNumberish]
105
+ ): string;
106
+ encodeFunctionData(
107
+ functionFragment: "getAmountIn",
108
+ values: [string, BytesLike, string, string, BigNumberish]
109
+ ): string;
110
+ encodeFunctionData(
111
+ functionFragment: "getAmountOut",
112
+ values: [string, BytesLike, string, string, BigNumberish]
113
+ ): string;
114
+ encodeFunctionData(
115
+ functionFragment: "getExchangeProviders",
116
+ values?: undefined
117
+ ): string;
118
+ encodeFunctionData(
119
+ functionFragment: "initialize",
120
+ values: [string[], string[]]
121
+ ): string;
122
+ encodeFunctionData(
123
+ functionFragment: "isExchangeProvider",
124
+ values: [string]
125
+ ): string;
126
+ encodeFunctionData(
127
+ functionFragment: "removeExchangeProvider",
128
+ values: [string, BigNumberish]
129
+ ): string;
130
+ encodeFunctionData(
131
+ functionFragment: "setReserves",
132
+ values: [string[], string[]]
133
+ ): string;
134
+ encodeFunctionData(
135
+ functionFragment: "swapIn",
136
+ values: [string, BytesLike, string, string, BigNumberish, BigNumberish]
137
+ ): string;
138
+ encodeFunctionData(
139
+ functionFragment: "swapOut",
140
+ values: [string, BytesLike, string, string, BigNumberish, BigNumberish]
141
+ ): string;
142
+
143
+ decodeFunctionResult(
144
+ functionFragment: "addExchangeProvider",
145
+ data: BytesLike
146
+ ): Result;
147
+ decodeFunctionResult(
148
+ functionFragment: "burnStableTokens",
149
+ data: BytesLike
150
+ ): Result;
151
+ decodeFunctionResult(
152
+ functionFragment: "configureTradingLimit",
153
+ data: BytesLike
154
+ ): Result;
155
+ decodeFunctionResult(
156
+ functionFragment: "exchangeProviders",
157
+ data: BytesLike
158
+ ): Result;
159
+ decodeFunctionResult(
160
+ functionFragment: "getAmountIn",
161
+ data: BytesLike
162
+ ): Result;
163
+ decodeFunctionResult(
164
+ functionFragment: "getAmountOut",
165
+ data: BytesLike
166
+ ): Result;
167
+ decodeFunctionResult(
168
+ functionFragment: "getExchangeProviders",
169
+ data: BytesLike
170
+ ): Result;
171
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
172
+ decodeFunctionResult(
173
+ functionFragment: "isExchangeProvider",
174
+ data: BytesLike
175
+ ): Result;
176
+ decodeFunctionResult(
177
+ functionFragment: "removeExchangeProvider",
178
+ data: BytesLike
179
+ ): Result;
180
+ decodeFunctionResult(
181
+ functionFragment: "setReserves",
182
+ data: BytesLike
183
+ ): Result;
184
+ decodeFunctionResult(functionFragment: "swapIn", data: BytesLike): Result;
185
+ decodeFunctionResult(functionFragment: "swapOut", data: BytesLike): Result;
186
+
187
+ events: {
188
+ "Swap(address,bytes32,address,address,address,uint256,uint256)": EventFragment;
189
+ "TradingLimitConfigured(bytes32,address,(uint32,uint32,int48,int48,int48,uint8))": EventFragment;
190
+ };
191
+
192
+ getEvent(nameOrSignatureOrTopic: "Swap"): EventFragment;
193
+ getEvent(nameOrSignatureOrTopic: "TradingLimitConfigured"): EventFragment;
194
+ }
195
+
196
+ export interface SwapEventObject {
197
+ exchangeProvider: string;
198
+ exchangeId: string;
199
+ trader: string;
200
+ tokenIn: string;
201
+ tokenOut: string;
202
+ amountIn: BigNumber;
203
+ amountOut: BigNumber;
204
+ }
205
+ export type SwapEvent = TypedEvent<
206
+ [string, string, string, string, string, BigNumber, BigNumber],
207
+ SwapEventObject
208
+ >;
209
+
210
+ export type SwapEventFilter = TypedEventFilter<SwapEvent>;
211
+
212
+ export interface TradingLimitConfiguredEventObject {
213
+ exchangeId: string;
214
+ token: string;
215
+ config: ITradingLimits.ConfigStructOutput;
216
+ }
217
+ export type TradingLimitConfiguredEvent = TypedEvent<
218
+ [string, string, ITradingLimits.ConfigStructOutput],
219
+ TradingLimitConfiguredEventObject
220
+ >;
221
+
222
+ export type TradingLimitConfiguredEventFilter =
223
+ TypedEventFilter<TradingLimitConfiguredEvent>;
224
+
225
+ export interface IBroker extends BaseContract {
226
+ connect(signerOrProvider: Signer | Provider | string): this;
227
+ attach(addressOrName: string): this;
228
+ deployed(): Promise<this>;
229
+
230
+ interface: IBrokerInterface;
231
+
232
+ queryFilter<TEvent extends TypedEvent>(
233
+ event: TypedEventFilter<TEvent>,
234
+ fromBlockOrBlockhash?: string | number | undefined,
235
+ toBlock?: string | number | undefined
236
+ ): Promise<Array<TEvent>>;
237
+
238
+ listeners<TEvent extends TypedEvent>(
239
+ eventFilter?: TypedEventFilter<TEvent>
240
+ ): Array<TypedListener<TEvent>>;
241
+ listeners(eventName?: string): Array<Listener>;
242
+ removeAllListeners<TEvent extends TypedEvent>(
243
+ eventFilter: TypedEventFilter<TEvent>
244
+ ): this;
245
+ removeAllListeners(eventName?: string): this;
246
+ off: OnEvent<this>;
247
+ on: OnEvent<this>;
248
+ once: OnEvent<this>;
249
+ removeListener: OnEvent<this>;
250
+
251
+ functions: {
252
+ addExchangeProvider(
253
+ exchangeProvider: string,
254
+ reserve: string,
255
+ overrides?: Overrides & { from?: string }
256
+ ): Promise<ContractTransaction>;
257
+
258
+ burnStableTokens(
259
+ token: string,
260
+ amount: BigNumberish,
261
+ overrides?: Overrides & { from?: string }
262
+ ): Promise<ContractTransaction>;
263
+
264
+ configureTradingLimit(
265
+ exchangeId: BytesLike,
266
+ token: string,
267
+ config: ITradingLimits.ConfigStruct,
268
+ overrides?: Overrides & { from?: string }
269
+ ): Promise<ContractTransaction>;
270
+
271
+ exchangeProviders(
272
+ index: BigNumberish,
273
+ overrides?: CallOverrides
274
+ ): Promise<[string] & { exchangeProvider: string }>;
275
+
276
+ getAmountIn(
277
+ exchangeProvider: string,
278
+ exchangeId: BytesLike,
279
+ tokenIn: string,
280
+ tokenOut: string,
281
+ amountOut: BigNumberish,
282
+ overrides?: CallOverrides
283
+ ): Promise<[BigNumber] & { amountIn: BigNumber }>;
284
+
285
+ getAmountOut(
286
+ exchangeProvider: string,
287
+ exchangeId: BytesLike,
288
+ tokenIn: string,
289
+ tokenOut: string,
290
+ amountIn: BigNumberish,
291
+ overrides?: CallOverrides
292
+ ): Promise<[BigNumber] & { amountOut: BigNumber }>;
293
+
294
+ getExchangeProviders(overrides?: CallOverrides): Promise<[string[]]>;
295
+
296
+ initialize(
297
+ _exchangeProviders: string[],
298
+ _reserves: string[],
299
+ overrides?: Overrides & { from?: string }
300
+ ): Promise<ContractTransaction>;
301
+
302
+ isExchangeProvider(
303
+ exchangeProvider: string,
304
+ overrides?: CallOverrides
305
+ ): Promise<[boolean]>;
306
+
307
+ removeExchangeProvider(
308
+ exchangeProvider: string,
309
+ index: BigNumberish,
310
+ overrides?: Overrides & { from?: string }
311
+ ): Promise<ContractTransaction>;
312
+
313
+ setReserves(
314
+ _exchangeProviders: string[],
315
+ _reserves: string[],
316
+ overrides?: Overrides & { from?: string }
317
+ ): Promise<ContractTransaction>;
318
+
319
+ swapIn(
320
+ exchangeProvider: string,
321
+ exchangeId: BytesLike,
322
+ tokenIn: string,
323
+ tokenOut: string,
324
+ amountIn: BigNumberish,
325
+ amountOutMin: BigNumberish,
326
+ overrides?: Overrides & { from?: string }
327
+ ): Promise<ContractTransaction>;
328
+
329
+ swapOut(
330
+ exchangeProvider: string,
331
+ exchangeId: BytesLike,
332
+ tokenIn: string,
333
+ tokenOut: string,
334
+ amountOut: BigNumberish,
335
+ amountInMax: BigNumberish,
336
+ overrides?: Overrides & { from?: string }
337
+ ): Promise<ContractTransaction>;
338
+ };
339
+
340
+ addExchangeProvider(
341
+ exchangeProvider: string,
342
+ reserve: string,
343
+ overrides?: Overrides & { from?: string }
344
+ ): Promise<ContractTransaction>;
345
+
346
+ burnStableTokens(
347
+ token: string,
348
+ amount: BigNumberish,
349
+ overrides?: Overrides & { from?: string }
350
+ ): Promise<ContractTransaction>;
351
+
352
+ configureTradingLimit(
353
+ exchangeId: BytesLike,
354
+ token: string,
355
+ config: ITradingLimits.ConfigStruct,
356
+ overrides?: Overrides & { from?: string }
357
+ ): Promise<ContractTransaction>;
358
+
359
+ exchangeProviders(
360
+ index: BigNumberish,
361
+ overrides?: CallOverrides
362
+ ): Promise<string>;
363
+
364
+ getAmountIn(
365
+ exchangeProvider: string,
366
+ exchangeId: BytesLike,
367
+ tokenIn: string,
368
+ tokenOut: string,
369
+ amountOut: BigNumberish,
370
+ overrides?: CallOverrides
371
+ ): Promise<BigNumber>;
372
+
373
+ getAmountOut(
374
+ exchangeProvider: string,
375
+ exchangeId: BytesLike,
376
+ tokenIn: string,
377
+ tokenOut: string,
378
+ amountIn: BigNumberish,
379
+ overrides?: CallOverrides
380
+ ): Promise<BigNumber>;
381
+
382
+ getExchangeProviders(overrides?: CallOverrides): Promise<string[]>;
383
+
384
+ initialize(
385
+ _exchangeProviders: string[],
386
+ _reserves: string[],
387
+ overrides?: Overrides & { from?: string }
388
+ ): Promise<ContractTransaction>;
389
+
390
+ isExchangeProvider(
391
+ exchangeProvider: string,
392
+ overrides?: CallOverrides
393
+ ): Promise<boolean>;
394
+
395
+ removeExchangeProvider(
396
+ exchangeProvider: string,
397
+ index: BigNumberish,
398
+ overrides?: Overrides & { from?: string }
399
+ ): Promise<ContractTransaction>;
400
+
401
+ setReserves(
402
+ _exchangeProviders: string[],
403
+ _reserves: string[],
404
+ overrides?: Overrides & { from?: string }
405
+ ): Promise<ContractTransaction>;
406
+
407
+ swapIn(
408
+ exchangeProvider: string,
409
+ exchangeId: BytesLike,
410
+ tokenIn: string,
411
+ tokenOut: string,
412
+ amountIn: BigNumberish,
413
+ amountOutMin: BigNumberish,
414
+ overrides?: Overrides & { from?: string }
415
+ ): Promise<ContractTransaction>;
416
+
417
+ swapOut(
418
+ exchangeProvider: string,
419
+ exchangeId: BytesLike,
420
+ tokenIn: string,
421
+ tokenOut: string,
422
+ amountOut: BigNumberish,
423
+ amountInMax: BigNumberish,
424
+ overrides?: Overrides & { from?: string }
425
+ ): Promise<ContractTransaction>;
426
+
427
+ callStatic: {
428
+ addExchangeProvider(
429
+ exchangeProvider: string,
430
+ reserve: string,
431
+ overrides?: CallOverrides
432
+ ): Promise<BigNumber>;
433
+
434
+ burnStableTokens(
435
+ token: string,
436
+ amount: BigNumberish,
437
+ overrides?: CallOverrides
438
+ ): Promise<boolean>;
439
+
440
+ configureTradingLimit(
441
+ exchangeId: BytesLike,
442
+ token: string,
443
+ config: ITradingLimits.ConfigStruct,
444
+ overrides?: CallOverrides
445
+ ): Promise<void>;
446
+
447
+ exchangeProviders(
448
+ index: BigNumberish,
449
+ overrides?: CallOverrides
450
+ ): Promise<string>;
451
+
452
+ getAmountIn(
453
+ exchangeProvider: string,
454
+ exchangeId: BytesLike,
455
+ tokenIn: string,
456
+ tokenOut: string,
457
+ amountOut: BigNumberish,
458
+ overrides?: CallOverrides
459
+ ): Promise<BigNumber>;
460
+
461
+ getAmountOut(
462
+ exchangeProvider: string,
463
+ exchangeId: BytesLike,
464
+ tokenIn: string,
465
+ tokenOut: string,
466
+ amountIn: BigNumberish,
467
+ overrides?: CallOverrides
468
+ ): Promise<BigNumber>;
469
+
470
+ getExchangeProviders(overrides?: CallOverrides): Promise<string[]>;
471
+
472
+ initialize(
473
+ _exchangeProviders: string[],
474
+ _reserves: string[],
475
+ overrides?: CallOverrides
476
+ ): Promise<void>;
477
+
478
+ isExchangeProvider(
479
+ exchangeProvider: string,
480
+ overrides?: CallOverrides
481
+ ): Promise<boolean>;
482
+
483
+ removeExchangeProvider(
484
+ exchangeProvider: string,
485
+ index: BigNumberish,
486
+ overrides?: CallOverrides
487
+ ): Promise<void>;
488
+
489
+ setReserves(
490
+ _exchangeProviders: string[],
491
+ _reserves: string[],
492
+ overrides?: CallOverrides
493
+ ): Promise<void>;
494
+
495
+ swapIn(
496
+ exchangeProvider: string,
497
+ exchangeId: BytesLike,
498
+ tokenIn: string,
499
+ tokenOut: string,
500
+ amountIn: BigNumberish,
501
+ amountOutMin: BigNumberish,
502
+ overrides?: CallOverrides
503
+ ): Promise<BigNumber>;
504
+
505
+ swapOut(
506
+ exchangeProvider: string,
507
+ exchangeId: BytesLike,
508
+ tokenIn: string,
509
+ tokenOut: string,
510
+ amountOut: BigNumberish,
511
+ amountInMax: BigNumberish,
512
+ overrides?: CallOverrides
513
+ ): Promise<BigNumber>;
514
+ };
515
+
516
+ filters: {
517
+ "Swap(address,bytes32,address,address,address,uint256,uint256)"(
518
+ exchangeProvider?: null,
519
+ exchangeId?: BytesLike | null,
520
+ trader?: string | null,
521
+ tokenIn?: string | null,
522
+ tokenOut?: null,
523
+ amountIn?: null,
524
+ amountOut?: null
525
+ ): SwapEventFilter;
526
+ Swap(
527
+ exchangeProvider?: null,
528
+ exchangeId?: BytesLike | null,
529
+ trader?: string | null,
530
+ tokenIn?: string | null,
531
+ tokenOut?: null,
532
+ amountIn?: null,
533
+ amountOut?: null
534
+ ): SwapEventFilter;
535
+
536
+ "TradingLimitConfigured(bytes32,address,(uint32,uint32,int48,int48,int48,uint8))"(
537
+ exchangeId?: null,
538
+ token?: null,
539
+ config?: null
540
+ ): TradingLimitConfiguredEventFilter;
541
+ TradingLimitConfigured(
542
+ exchangeId?: null,
543
+ token?: null,
544
+ config?: null
545
+ ): TradingLimitConfiguredEventFilter;
546
+ };
547
+
548
+ estimateGas: {
549
+ addExchangeProvider(
550
+ exchangeProvider: string,
551
+ reserve: string,
552
+ overrides?: Overrides & { from?: string }
553
+ ): Promise<BigNumber>;
554
+
555
+ burnStableTokens(
556
+ token: string,
557
+ amount: BigNumberish,
558
+ overrides?: Overrides & { from?: string }
559
+ ): Promise<BigNumber>;
560
+
561
+ configureTradingLimit(
562
+ exchangeId: BytesLike,
563
+ token: string,
564
+ config: ITradingLimits.ConfigStruct,
565
+ overrides?: Overrides & { from?: string }
566
+ ): Promise<BigNumber>;
567
+
568
+ exchangeProviders(
569
+ index: BigNumberish,
570
+ overrides?: CallOverrides
571
+ ): Promise<BigNumber>;
572
+
573
+ getAmountIn(
574
+ exchangeProvider: string,
575
+ exchangeId: BytesLike,
576
+ tokenIn: string,
577
+ tokenOut: string,
578
+ amountOut: BigNumberish,
579
+ overrides?: CallOverrides
580
+ ): Promise<BigNumber>;
581
+
582
+ getAmountOut(
583
+ exchangeProvider: string,
584
+ exchangeId: BytesLike,
585
+ tokenIn: string,
586
+ tokenOut: string,
587
+ amountIn: BigNumberish,
588
+ overrides?: CallOverrides
589
+ ): Promise<BigNumber>;
590
+
591
+ getExchangeProviders(overrides?: CallOverrides): Promise<BigNumber>;
592
+
593
+ initialize(
594
+ _exchangeProviders: string[],
595
+ _reserves: string[],
596
+ overrides?: Overrides & { from?: string }
597
+ ): Promise<BigNumber>;
598
+
599
+ isExchangeProvider(
600
+ exchangeProvider: string,
601
+ overrides?: CallOverrides
602
+ ): Promise<BigNumber>;
603
+
604
+ removeExchangeProvider(
605
+ exchangeProvider: string,
606
+ index: BigNumberish,
607
+ overrides?: Overrides & { from?: string }
608
+ ): Promise<BigNumber>;
609
+
610
+ setReserves(
611
+ _exchangeProviders: string[],
612
+ _reserves: string[],
613
+ overrides?: Overrides & { from?: string }
614
+ ): Promise<BigNumber>;
615
+
616
+ swapIn(
617
+ exchangeProvider: string,
618
+ exchangeId: BytesLike,
619
+ tokenIn: string,
620
+ tokenOut: string,
621
+ amountIn: BigNumberish,
622
+ amountOutMin: BigNumberish,
623
+ overrides?: Overrides & { from?: string }
624
+ ): Promise<BigNumber>;
625
+
626
+ swapOut(
627
+ exchangeProvider: string,
628
+ exchangeId: BytesLike,
629
+ tokenIn: string,
630
+ tokenOut: string,
631
+ amountOut: BigNumberish,
632
+ amountInMax: BigNumberish,
633
+ overrides?: Overrides & { from?: string }
634
+ ): Promise<BigNumber>;
635
+ };
636
+
637
+ populateTransaction: {
638
+ addExchangeProvider(
639
+ exchangeProvider: string,
640
+ reserve: string,
641
+ overrides?: Overrides & { from?: string }
642
+ ): Promise<PopulatedTransaction>;
643
+
644
+ burnStableTokens(
645
+ token: string,
646
+ amount: BigNumberish,
647
+ overrides?: Overrides & { from?: string }
648
+ ): Promise<PopulatedTransaction>;
649
+
650
+ configureTradingLimit(
651
+ exchangeId: BytesLike,
652
+ token: string,
653
+ config: ITradingLimits.ConfigStruct,
654
+ overrides?: Overrides & { from?: string }
655
+ ): Promise<PopulatedTransaction>;
656
+
657
+ exchangeProviders(
658
+ index: BigNumberish,
659
+ overrides?: CallOverrides
660
+ ): Promise<PopulatedTransaction>;
661
+
662
+ getAmountIn(
663
+ exchangeProvider: string,
664
+ exchangeId: BytesLike,
665
+ tokenIn: string,
666
+ tokenOut: string,
667
+ amountOut: BigNumberish,
668
+ overrides?: CallOverrides
669
+ ): Promise<PopulatedTransaction>;
670
+
671
+ getAmountOut(
672
+ exchangeProvider: string,
673
+ exchangeId: BytesLike,
674
+ tokenIn: string,
675
+ tokenOut: string,
676
+ amountIn: BigNumberish,
677
+ overrides?: CallOverrides
678
+ ): Promise<PopulatedTransaction>;
679
+
680
+ getExchangeProviders(
681
+ overrides?: CallOverrides
682
+ ): Promise<PopulatedTransaction>;
683
+
684
+ initialize(
685
+ _exchangeProviders: string[],
686
+ _reserves: string[],
687
+ overrides?: Overrides & { from?: string }
688
+ ): Promise<PopulatedTransaction>;
689
+
690
+ isExchangeProvider(
691
+ exchangeProvider: string,
692
+ overrides?: CallOverrides
693
+ ): Promise<PopulatedTransaction>;
694
+
695
+ removeExchangeProvider(
696
+ exchangeProvider: string,
697
+ index: BigNumberish,
698
+ overrides?: Overrides & { from?: string }
699
+ ): Promise<PopulatedTransaction>;
700
+
701
+ setReserves(
702
+ _exchangeProviders: string[],
703
+ _reserves: string[],
704
+ overrides?: Overrides & { from?: string }
705
+ ): Promise<PopulatedTransaction>;
706
+
707
+ swapIn(
708
+ exchangeProvider: string,
709
+ exchangeId: BytesLike,
710
+ tokenIn: string,
711
+ tokenOut: string,
712
+ amountIn: BigNumberish,
713
+ amountOutMin: BigNumberish,
714
+ overrides?: Overrides & { from?: string }
715
+ ): Promise<PopulatedTransaction>;
716
+
717
+ swapOut(
718
+ exchangeProvider: string,
719
+ exchangeId: BytesLike,
720
+ tokenIn: string,
721
+ tokenOut: string,
722
+ amountOut: BigNumberish,
723
+ amountInMax: BigNumberish,
724
+ overrides?: Overrides & { from?: string }
725
+ ): Promise<PopulatedTransaction>;
726
+ };
727
+ }