@venusprotocol/venus-protocol 7.4.0-dev.5 → 7.4.0-dev.6

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 (101) hide show
  1. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  2. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  3. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +1 -1
  4. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +1 -1
  5. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +1 -1
  6. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +1 -1
  7. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  8. package/artifacts/@venusprotocol/solidity-utilities/contracts/TimeManagerV8.sol/TimeManagerV8.dbg.json +1 -1
  9. package/artifacts/build-info/{3fcb4458b14043ddc0dd00a393da0b6e.json → db82b17d0da6752b00ad696fe36aa8fb.json} +1 -1
  10. package/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.dbg.json +1 -1
  11. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IProtocolShareReserve.dbg.json +1 -1
  12. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IWBNB.dbg.json +1 -1
  13. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VBNBAdminStorage.dbg.json +1 -1
  14. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VTokenInterface.dbg.json +1 -1
  15. package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.dbg.json +1 -1
  16. package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.json +2 -2
  17. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.dbg.json +1 -1
  18. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.json +2 -2
  19. package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.dbg.json +1 -1
  20. package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.json +41 -2
  21. package/artifacts/contracts/InterfacesV8.sol/IComptroller.dbg.json +1 -1
  22. package/artifacts/contracts/InterfacesV8.sol/ILiquidator.dbg.json +1 -1
  23. package/artifacts/contracts/InterfacesV8.sol/IProtocolShareReserve.dbg.json +1 -1
  24. package/artifacts/contracts/InterfacesV8.sol/IVAIController.dbg.json +1 -1
  25. package/artifacts/contracts/InterfacesV8.sol/IVBNB.dbg.json +1 -1
  26. package/artifacts/contracts/InterfacesV8.sol/IVBep20.dbg.json +1 -1
  27. package/artifacts/contracts/InterfacesV8.sol/IVBep20.json +19 -0
  28. package/artifacts/contracts/InterfacesV8.sol/IVToken.dbg.json +1 -1
  29. package/artifacts/contracts/InterfacesV8.sol/IWBNB.dbg.json +1 -1
  30. package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.dbg.json +1 -1
  31. package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.json +2 -2
  32. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.dbg.json +1 -1
  33. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
  34. package/artifacts/contracts/Liquidator/LiquidatorStorage.sol/LiquidatorStorage.dbg.json +1 -1
  35. package/artifacts/contracts/PegStability/IVAI.sol/IVAI.dbg.json +1 -1
  36. package/artifacts/contracts/PegStability/PegStability.sol/PegStability.dbg.json +1 -1
  37. package/artifacts/contracts/Swap/IRouterHelper.sol/IRouterHelper.dbg.json +1 -1
  38. package/artifacts/contracts/Swap/RouterHelper.sol/RouterHelper.dbg.json +1 -1
  39. package/artifacts/contracts/Swap/SwapRouter.sol/SwapRouter.dbg.json +1 -1
  40. package/artifacts/contracts/Swap/interfaces/IPancakePair.sol/IPancakePair.dbg.json +1 -1
  41. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Factory.sol/IPancakeSwapV2Factory.dbg.json +1 -1
  42. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Router.sol/IPancakeSwapV2Router.dbg.json +1 -1
  43. package/artifacts/contracts/Swap/interfaces/IVBNB.sol/IVBNB.dbg.json +1 -1
  44. package/artifacts/contracts/Swap/interfaces/IVtoken.sol/IVToken.dbg.json +1 -1
  45. package/artifacts/contracts/Swap/interfaces/IWBNB.sol/IWBNB.dbg.json +1 -1
  46. package/artifacts/contracts/Swap/interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  47. package/artifacts/contracts/Swap/lib/PancakeLibrary.sol/PancakeLibrary.dbg.json +1 -1
  48. package/artifacts/contracts/Swap/lib/TransferHelper.sol/TransferHelper.dbg.json +1 -1
  49. package/artifacts/contracts/Tokens/Prime/Interfaces/IPoolRegistry.sol/PoolRegistryInterface.dbg.json +1 -1
  50. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrime.sol/IPrime.dbg.json +1 -1
  51. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrimeLiquidityProvider.sol/IPrimeLiquidityProvider.dbg.json +1 -1
  52. package/artifacts/contracts/Tokens/Prime/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
  53. package/artifacts/contracts/Tokens/Prime/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
  54. package/artifacts/contracts/Tokens/Prime/Interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  55. package/artifacts/contracts/Tokens/Prime/Prime.sol/Prime.dbg.json +1 -1
  56. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProvider.sol/PrimeLiquidityProvider.dbg.json +1 -1
  57. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProviderStorage.sol/PrimeLiquidityProviderStorageV1.dbg.json +1 -1
  58. package/artifacts/contracts/Tokens/Prime/PrimeStorage.sol/PrimeStorageV1.dbg.json +1 -1
  59. package/artifacts/contracts/Tokens/Prime/libs/FixedMath.sol/FixedMath.dbg.json +1 -1
  60. package/artifacts/contracts/Tokens/Prime/libs/FixedMath0x.sol/FixedMath0x.dbg.json +1 -1
  61. package/artifacts/contracts/Tokens/Prime/libs/Scores.sol/Scores.dbg.json +1 -1
  62. package/artifacts/contracts/test/AccessControlManagerMock.sol/AccessControlManagerMock.dbg.json +1 -1
  63. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.dbg.json +1 -1
  64. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
  65. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IComptroller.dbg.json +1 -1
  66. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IIncomeDestination.dbg.json +1 -1
  67. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IMockProtocolShareReserve.dbg.json +1 -1
  68. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPoolRegistry.dbg.json +1 -1
  69. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPrime.dbg.json +1 -1
  70. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IVToken.dbg.json +1 -1
  71. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  72. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.dbg.json +1 -1
  73. package/artifacts/contracts/test/PrimeScenario.sol/PrimeScenario.dbg.json +1 -1
  74. package/contracts/Governance/TokenRedeemer.sol +27 -0
  75. package/contracts/InterfacesV8.sol +2 -0
  76. package/deploy/012-deploy-token-redeemer.ts +25 -0
  77. package/deployments/bscmainnet/TokenRedeemer.json +322 -0
  78. package/deployments/bscmainnet/solcInputs/eefae10a33ea111415f1fe2e880a8e70.json +69 -0
  79. package/deployments/bscmainnet.json +198 -0
  80. package/deployments/bscmainnet_addresses.json +1 -0
  81. package/dist/deploy/012-deploy-token-redeemer.d.ts +3 -0
  82. package/dist/deploy/012-deploy-token-redeemer.js +22 -0
  83. package/dist/deployments/bscmainnet.json +198 -0
  84. package/dist/deployments/bscmainnet_addresses.json +1 -0
  85. package/dist/typechain/contracts/Governance/TokenRedeemer.d.ts +23 -2
  86. package/dist/typechain/contracts/InterfacesV8.sol/IVBep20.d.ts +17 -1
  87. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.d.ts +1 -1
  88. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.js +1 -1
  89. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.d.ts +1 -1
  90. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.js +1 -1
  91. package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.d.ts +31 -1
  92. package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.js +40 -1
  93. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.d.ts +14 -0
  94. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.js +19 -0
  95. package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.d.ts +1 -1
  96. package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.js +1 -1
  97. package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.d.ts +1 -1
  98. package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.js +1 -1
  99. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.d.ts +1 -1
  100. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.js +1 -1
  101. package/package.json +1 -1
@@ -32649,6 +32649,204 @@
32649
32649
  }
32650
32650
  ]
32651
32651
  },
32652
+ "TokenRedeemer": {
32653
+ "address": "0x67B10f3BC6B141D67c598C73CEe45E6635292Acd",
32654
+ "abi": [
32655
+ {
32656
+ "inputs": [
32657
+ {
32658
+ "internalType": "address",
32659
+ "name": "owner_",
32660
+ "type": "address"
32661
+ }
32662
+ ],
32663
+ "stateMutability": "nonpayable",
32664
+ "type": "constructor"
32665
+ },
32666
+ {
32667
+ "inputs": [
32668
+ {
32669
+ "internalType": "uint256",
32670
+ "name": "errCode",
32671
+ "type": "uint256"
32672
+ }
32673
+ ],
32674
+ "name": "RedeemFailed",
32675
+ "type": "error"
32676
+ },
32677
+ {
32678
+ "inputs": [
32679
+ {
32680
+ "internalType": "uint256",
32681
+ "name": "errCode",
32682
+ "type": "uint256"
32683
+ }
32684
+ ],
32685
+ "name": "RepaymentFailed",
32686
+ "type": "error"
32687
+ },
32688
+ {
32689
+ "inputs": [],
32690
+ "name": "ZeroAddressNotAllowed",
32691
+ "type": "error"
32692
+ },
32693
+ {
32694
+ "anonymous": false,
32695
+ "inputs": [
32696
+ {
32697
+ "indexed": true,
32698
+ "internalType": "address",
32699
+ "name": "previousOwner",
32700
+ "type": "address"
32701
+ },
32702
+ {
32703
+ "indexed": true,
32704
+ "internalType": "address",
32705
+ "name": "newOwner",
32706
+ "type": "address"
32707
+ }
32708
+ ],
32709
+ "name": "OwnershipTransferStarted",
32710
+ "type": "event"
32711
+ },
32712
+ {
32713
+ "anonymous": false,
32714
+ "inputs": [
32715
+ {
32716
+ "indexed": true,
32717
+ "internalType": "address",
32718
+ "name": "previousOwner",
32719
+ "type": "address"
32720
+ },
32721
+ {
32722
+ "indexed": true,
32723
+ "internalType": "address",
32724
+ "name": "newOwner",
32725
+ "type": "address"
32726
+ }
32727
+ ],
32728
+ "name": "OwnershipTransferred",
32729
+ "type": "event"
32730
+ },
32731
+ {
32732
+ "inputs": [],
32733
+ "name": "acceptOwnership",
32734
+ "outputs": [],
32735
+ "stateMutability": "nonpayable",
32736
+ "type": "function"
32737
+ },
32738
+ {
32739
+ "inputs": [],
32740
+ "name": "owner",
32741
+ "outputs": [
32742
+ {
32743
+ "internalType": "address",
32744
+ "name": "",
32745
+ "type": "address"
32746
+ }
32747
+ ],
32748
+ "stateMutability": "view",
32749
+ "type": "function"
32750
+ },
32751
+ {
32752
+ "inputs": [],
32753
+ "name": "pendingOwner",
32754
+ "outputs": [
32755
+ {
32756
+ "internalType": "address",
32757
+ "name": "",
32758
+ "type": "address"
32759
+ }
32760
+ ],
32761
+ "stateMutability": "view",
32762
+ "type": "function"
32763
+ },
32764
+ {
32765
+ "inputs": [
32766
+ {
32767
+ "internalType": "contract IVBep20",
32768
+ "name": "vToken",
32769
+ "type": "address"
32770
+ },
32771
+ {
32772
+ "internalType": "address",
32773
+ "name": "destination",
32774
+ "type": "address"
32775
+ }
32776
+ ],
32777
+ "name": "redeemAndTransfer",
32778
+ "outputs": [],
32779
+ "stateMutability": "nonpayable",
32780
+ "type": "function"
32781
+ },
32782
+ {
32783
+ "inputs": [
32784
+ {
32785
+ "internalType": "contract IVBep20",
32786
+ "name": "vToken",
32787
+ "type": "address"
32788
+ },
32789
+ {
32790
+ "internalType": "address",
32791
+ "name": "borrower",
32792
+ "type": "address"
32793
+ },
32794
+ {
32795
+ "internalType": "uint256",
32796
+ "name": "amount",
32797
+ "type": "uint256"
32798
+ },
32799
+ {
32800
+ "internalType": "address",
32801
+ "name": "receiver",
32802
+ "type": "address"
32803
+ }
32804
+ ],
32805
+ "name": "redeemUnderlyingAndRepayBorrowBehalf",
32806
+ "outputs": [],
32807
+ "stateMutability": "nonpayable",
32808
+ "type": "function"
32809
+ },
32810
+ {
32811
+ "inputs": [],
32812
+ "name": "renounceOwnership",
32813
+ "outputs": [],
32814
+ "stateMutability": "nonpayable",
32815
+ "type": "function"
32816
+ },
32817
+ {
32818
+ "inputs": [
32819
+ {
32820
+ "internalType": "contract IERC20",
32821
+ "name": "token",
32822
+ "type": "address"
32823
+ },
32824
+ {
32825
+ "internalType": "address",
32826
+ "name": "destination",
32827
+ "type": "address"
32828
+ }
32829
+ ],
32830
+ "name": "sweepTokens",
32831
+ "outputs": [],
32832
+ "stateMutability": "nonpayable",
32833
+ "type": "function"
32834
+ },
32835
+ {
32836
+ "inputs": [
32837
+ {
32838
+ "internalType": "address",
32839
+ "name": "newOwner",
32840
+ "type": "address"
32841
+ }
32842
+ ],
32843
+ "name": "transferOwnership",
32844
+ "outputs": [],
32845
+ "stateMutability": "nonpayable",
32846
+ "type": "function"
32847
+ }
32848
+ ]
32849
+ },
32652
32850
  "USDC": {
32653
32851
  "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
32654
32852
  "abi": [
@@ -65,6 +65,7 @@
65
65
  "TUSDOLD_Proxy": "0x14016E85a25aeb13065688cAFB43044C2ef86784",
66
66
  "TUSD_Implementation": "0x0d7adc70a18a5aef0bd6ecb098e1da0244c57711",
67
67
  "TUSD_Proxy": "0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9",
68
+ "TokenRedeemer": "0x67B10f3BC6B141D67c598C73CEe45E6635292Acd",
68
69
  "USDC": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
69
70
  "USDC_Implementation": "0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c",
70
71
  "USDC_Proxy": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
@@ -0,0 +1,3 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ declare const func: DeployFunction;
3
+ export default func;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const address_1 = __importDefault(require("../helpers/address"));
7
+ const func = async function (hre) {
8
+ const { deployments, getNamedAccounts } = hre;
9
+ const { deploy } = deployments;
10
+ const { deployer } = await getNamedAccounts();
11
+ const { normalVipTimelock } = address_1.default[hre.network.name];
12
+ console.log(normalVipTimelock);
13
+ await deploy("TokenRedeemer", {
14
+ contract: "TokenRedeemer",
15
+ from: deployer,
16
+ log: true,
17
+ autoMine: true,
18
+ args: [normalVipTimelock],
19
+ });
20
+ };
21
+ func.tags = ["TokenRedeemer"];
22
+ exports.default = func;
@@ -32649,6 +32649,204 @@
32649
32649
  }
32650
32650
  ]
32651
32651
  },
32652
+ "TokenRedeemer": {
32653
+ "address": "0x67B10f3BC6B141D67c598C73CEe45E6635292Acd",
32654
+ "abi": [
32655
+ {
32656
+ "inputs": [
32657
+ {
32658
+ "internalType": "address",
32659
+ "name": "owner_",
32660
+ "type": "address"
32661
+ }
32662
+ ],
32663
+ "stateMutability": "nonpayable",
32664
+ "type": "constructor"
32665
+ },
32666
+ {
32667
+ "inputs": [
32668
+ {
32669
+ "internalType": "uint256",
32670
+ "name": "errCode",
32671
+ "type": "uint256"
32672
+ }
32673
+ ],
32674
+ "name": "RedeemFailed",
32675
+ "type": "error"
32676
+ },
32677
+ {
32678
+ "inputs": [
32679
+ {
32680
+ "internalType": "uint256",
32681
+ "name": "errCode",
32682
+ "type": "uint256"
32683
+ }
32684
+ ],
32685
+ "name": "RepaymentFailed",
32686
+ "type": "error"
32687
+ },
32688
+ {
32689
+ "inputs": [],
32690
+ "name": "ZeroAddressNotAllowed",
32691
+ "type": "error"
32692
+ },
32693
+ {
32694
+ "anonymous": false,
32695
+ "inputs": [
32696
+ {
32697
+ "indexed": true,
32698
+ "internalType": "address",
32699
+ "name": "previousOwner",
32700
+ "type": "address"
32701
+ },
32702
+ {
32703
+ "indexed": true,
32704
+ "internalType": "address",
32705
+ "name": "newOwner",
32706
+ "type": "address"
32707
+ }
32708
+ ],
32709
+ "name": "OwnershipTransferStarted",
32710
+ "type": "event"
32711
+ },
32712
+ {
32713
+ "anonymous": false,
32714
+ "inputs": [
32715
+ {
32716
+ "indexed": true,
32717
+ "internalType": "address",
32718
+ "name": "previousOwner",
32719
+ "type": "address"
32720
+ },
32721
+ {
32722
+ "indexed": true,
32723
+ "internalType": "address",
32724
+ "name": "newOwner",
32725
+ "type": "address"
32726
+ }
32727
+ ],
32728
+ "name": "OwnershipTransferred",
32729
+ "type": "event"
32730
+ },
32731
+ {
32732
+ "inputs": [],
32733
+ "name": "acceptOwnership",
32734
+ "outputs": [],
32735
+ "stateMutability": "nonpayable",
32736
+ "type": "function"
32737
+ },
32738
+ {
32739
+ "inputs": [],
32740
+ "name": "owner",
32741
+ "outputs": [
32742
+ {
32743
+ "internalType": "address",
32744
+ "name": "",
32745
+ "type": "address"
32746
+ }
32747
+ ],
32748
+ "stateMutability": "view",
32749
+ "type": "function"
32750
+ },
32751
+ {
32752
+ "inputs": [],
32753
+ "name": "pendingOwner",
32754
+ "outputs": [
32755
+ {
32756
+ "internalType": "address",
32757
+ "name": "",
32758
+ "type": "address"
32759
+ }
32760
+ ],
32761
+ "stateMutability": "view",
32762
+ "type": "function"
32763
+ },
32764
+ {
32765
+ "inputs": [
32766
+ {
32767
+ "internalType": "contract IVBep20",
32768
+ "name": "vToken",
32769
+ "type": "address"
32770
+ },
32771
+ {
32772
+ "internalType": "address",
32773
+ "name": "destination",
32774
+ "type": "address"
32775
+ }
32776
+ ],
32777
+ "name": "redeemAndTransfer",
32778
+ "outputs": [],
32779
+ "stateMutability": "nonpayable",
32780
+ "type": "function"
32781
+ },
32782
+ {
32783
+ "inputs": [
32784
+ {
32785
+ "internalType": "contract IVBep20",
32786
+ "name": "vToken",
32787
+ "type": "address"
32788
+ },
32789
+ {
32790
+ "internalType": "address",
32791
+ "name": "borrower",
32792
+ "type": "address"
32793
+ },
32794
+ {
32795
+ "internalType": "uint256",
32796
+ "name": "amount",
32797
+ "type": "uint256"
32798
+ },
32799
+ {
32800
+ "internalType": "address",
32801
+ "name": "receiver",
32802
+ "type": "address"
32803
+ }
32804
+ ],
32805
+ "name": "redeemUnderlyingAndRepayBorrowBehalf",
32806
+ "outputs": [],
32807
+ "stateMutability": "nonpayable",
32808
+ "type": "function"
32809
+ },
32810
+ {
32811
+ "inputs": [],
32812
+ "name": "renounceOwnership",
32813
+ "outputs": [],
32814
+ "stateMutability": "nonpayable",
32815
+ "type": "function"
32816
+ },
32817
+ {
32818
+ "inputs": [
32819
+ {
32820
+ "internalType": "contract IERC20",
32821
+ "name": "token",
32822
+ "type": "address"
32823
+ },
32824
+ {
32825
+ "internalType": "address",
32826
+ "name": "destination",
32827
+ "type": "address"
32828
+ }
32829
+ ],
32830
+ "name": "sweepTokens",
32831
+ "outputs": [],
32832
+ "stateMutability": "nonpayable",
32833
+ "type": "function"
32834
+ },
32835
+ {
32836
+ "inputs": [
32837
+ {
32838
+ "internalType": "address",
32839
+ "name": "newOwner",
32840
+ "type": "address"
32841
+ }
32842
+ ],
32843
+ "name": "transferOwnership",
32844
+ "outputs": [],
32845
+ "stateMutability": "nonpayable",
32846
+ "type": "function"
32847
+ }
32848
+ ]
32849
+ },
32652
32850
  "USDC": {
32653
32851
  "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
32654
32852
  "abi": [
@@ -65,6 +65,7 @@
65
65
  "TUSDOLD_Proxy": "0x14016E85a25aeb13065688cAFB43044C2ef86784",
66
66
  "TUSD_Implementation": "0x0d7adc70a18a5aef0bd6ecb098e1da0244c57711",
67
67
  "TUSD_Proxy": "0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9",
68
+ "TokenRedeemer": "0x67B10f3BC6B141D67c598C73CEe45E6635292Acd",
68
69
  "USDC": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
69
70
  "USDC_Implementation": "0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c",
70
71
  "USDC_Proxy": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
@@ -1,22 +1,29 @@
1
1
  import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
- import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
4
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
5
  export interface TokenRedeemerInterface extends utils.Interface {
6
6
  functions: {
7
7
  "acceptOwnership()": FunctionFragment;
8
8
  "owner()": FunctionFragment;
9
9
  "pendingOwner()": FunctionFragment;
10
10
  "redeemAndTransfer(address,address)": FunctionFragment;
11
+ "redeemUnderlyingAndRepayBorrowBehalf(address,address,uint256,address)": FunctionFragment;
11
12
  "renounceOwnership()": FunctionFragment;
12
13
  "sweepTokens(address,address)": FunctionFragment;
13
14
  "transferOwnership(address)": FunctionFragment;
14
15
  };
15
- getFunction(nameOrSignatureOrTopic: "acceptOwnership" | "owner" | "pendingOwner" | "redeemAndTransfer" | "renounceOwnership" | "sweepTokens" | "transferOwnership"): FunctionFragment;
16
+ getFunction(nameOrSignatureOrTopic: "acceptOwnership" | "owner" | "pendingOwner" | "redeemAndTransfer" | "redeemUnderlyingAndRepayBorrowBehalf" | "renounceOwnership" | "sweepTokens" | "transferOwnership"): FunctionFragment;
16
17
  encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
17
18
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
18
19
  encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
19
20
  encodeFunctionData(functionFragment: "redeemAndTransfer", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
21
+ encodeFunctionData(functionFragment: "redeemUnderlyingAndRepayBorrowBehalf", values: [
22
+ PromiseOrValue<string>,
23
+ PromiseOrValue<string>,
24
+ PromiseOrValue<BigNumberish>,
25
+ PromiseOrValue<string>
26
+ ]): string;
20
27
  encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
21
28
  encodeFunctionData(functionFragment: "sweepTokens", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
22
29
  encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
@@ -24,6 +31,7 @@ export interface TokenRedeemerInterface extends utils.Interface {
24
31
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
25
32
  decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
26
33
  decodeFunctionResult(functionFragment: "redeemAndTransfer", data: BytesLike): Result;
34
+ decodeFunctionResult(functionFragment: "redeemUnderlyingAndRepayBorrowBehalf", data: BytesLike): Result;
27
35
  decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
28
36
  decodeFunctionResult(functionFragment: "sweepTokens", data: BytesLike): Result;
29
37
  decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
@@ -75,6 +83,9 @@ export interface TokenRedeemer extends BaseContract {
75
83
  redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
76
84
  from?: PromiseOrValue<string>;
77
85
  }): Promise<ContractTransaction>;
86
+ redeemUnderlyingAndRepayBorrowBehalf(vToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
87
+ from?: PromiseOrValue<string>;
88
+ }): Promise<ContractTransaction>;
78
89
  renounceOwnership(overrides?: Overrides & {
79
90
  from?: PromiseOrValue<string>;
80
91
  }): Promise<ContractTransaction>;
@@ -93,6 +104,9 @@ export interface TokenRedeemer extends BaseContract {
93
104
  redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
94
105
  from?: PromiseOrValue<string>;
95
106
  }): Promise<ContractTransaction>;
107
+ redeemUnderlyingAndRepayBorrowBehalf(vToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
108
+ from?: PromiseOrValue<string>;
109
+ }): Promise<ContractTransaction>;
96
110
  renounceOwnership(overrides?: Overrides & {
97
111
  from?: PromiseOrValue<string>;
98
112
  }): Promise<ContractTransaction>;
@@ -107,6 +121,7 @@ export interface TokenRedeemer extends BaseContract {
107
121
  owner(overrides?: CallOverrides): Promise<string>;
108
122
  pendingOwner(overrides?: CallOverrides): Promise<string>;
109
123
  redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
124
+ redeemUnderlyingAndRepayBorrowBehalf(vToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
110
125
  renounceOwnership(overrides?: CallOverrides): Promise<void>;
111
126
  sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
112
127
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
@@ -126,6 +141,9 @@ export interface TokenRedeemer extends BaseContract {
126
141
  redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
127
142
  from?: PromiseOrValue<string>;
128
143
  }): Promise<BigNumber>;
144
+ redeemUnderlyingAndRepayBorrowBehalf(vToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
145
+ from?: PromiseOrValue<string>;
146
+ }): Promise<BigNumber>;
129
147
  renounceOwnership(overrides?: Overrides & {
130
148
  from?: PromiseOrValue<string>;
131
149
  }): Promise<BigNumber>;
@@ -145,6 +163,9 @@ export interface TokenRedeemer extends BaseContract {
145
163
  redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
146
164
  from?: PromiseOrValue<string>;
147
165
  }): Promise<PopulatedTransaction>;
166
+ redeemUnderlyingAndRepayBorrowBehalf(vToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
167
+ from?: PromiseOrValue<string>;
168
+ }): Promise<PopulatedTransaction>;
148
169
  renounceOwnership(overrides?: Overrides & {
149
170
  from?: PromiseOrValue<string>;
150
171
  }): Promise<PopulatedTransaction>;
@@ -12,13 +12,14 @@ export interface IVBep20Interface extends utils.Interface {
12
12
  "comptroller()": FunctionFragment;
13
13
  "liquidateBorrow(address,uint256,address)": FunctionFragment;
14
14
  "redeem(uint256)": FunctionFragment;
15
+ "redeemUnderlying(uint256)": FunctionFragment;
15
16
  "repayBorrowBehalf(address,uint256)": FunctionFragment;
16
17
  "totalSupply()": FunctionFragment;
17
18
  "transfer(address,uint256)": FunctionFragment;
18
19
  "transferFrom(address,address,uint256)": FunctionFragment;
19
20
  "underlying()": FunctionFragment;
20
21
  };
21
- getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "borrowBehalf" | "comptroller" | "liquidateBorrow" | "redeem" | "repayBorrowBehalf" | "totalSupply" | "transfer" | "transferFrom" | "underlying"): FunctionFragment;
22
+ getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "borrowBehalf" | "comptroller" | "liquidateBorrow" | "redeem" | "redeemUnderlying" | "repayBorrowBehalf" | "totalSupply" | "transfer" | "transferFrom" | "underlying"): FunctionFragment;
22
23
  encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
23
24
  encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
24
25
  encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
@@ -31,6 +32,7 @@ export interface IVBep20Interface extends utils.Interface {
31
32
  PromiseOrValue<string>
32
33
  ]): string;
33
34
  encodeFunctionData(functionFragment: "redeem", values: [PromiseOrValue<BigNumberish>]): string;
35
+ encodeFunctionData(functionFragment: "redeemUnderlying", values: [PromiseOrValue<BigNumberish>]): string;
34
36
  encodeFunctionData(functionFragment: "repayBorrowBehalf", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
35
37
  encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
36
38
  encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
@@ -48,6 +50,7 @@ export interface IVBep20Interface extends utils.Interface {
48
50
  decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result;
49
51
  decodeFunctionResult(functionFragment: "liquidateBorrow", data: BytesLike): Result;
50
52
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
53
+ decodeFunctionResult(functionFragment: "redeemUnderlying", data: BytesLike): Result;
51
54
  decodeFunctionResult(functionFragment: "repayBorrowBehalf", data: BytesLike): Result;
52
55
  decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
53
56
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
@@ -115,6 +118,9 @@ export interface IVBep20 extends BaseContract {
115
118
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
116
119
  from?: PromiseOrValue<string>;
117
120
  }): Promise<ContractTransaction>;
121
+ redeemUnderlying(repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
122
+ from?: PromiseOrValue<string>;
123
+ }): Promise<ContractTransaction>;
118
124
  repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
119
125
  from?: PromiseOrValue<string>;
120
126
  }): Promise<ContractTransaction>;
@@ -145,6 +151,9 @@ export interface IVBep20 extends BaseContract {
145
151
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
146
152
  from?: PromiseOrValue<string>;
147
153
  }): Promise<ContractTransaction>;
154
+ redeemUnderlying(repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
155
+ from?: PromiseOrValue<string>;
156
+ }): Promise<ContractTransaction>;
148
157
  repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
149
158
  from?: PromiseOrValue<string>;
150
159
  }): Promise<ContractTransaction>;
@@ -165,6 +174,7 @@ export interface IVBep20 extends BaseContract {
165
174
  comptroller(overrides?: CallOverrides): Promise<string>;
166
175
  liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
167
176
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
177
+ redeemUnderlying(repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
168
178
  repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
169
179
  totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
170
180
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
@@ -196,6 +206,9 @@ export interface IVBep20 extends BaseContract {
196
206
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
197
207
  from?: PromiseOrValue<string>;
198
208
  }): Promise<BigNumber>;
209
+ redeemUnderlying(repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
210
+ from?: PromiseOrValue<string>;
211
+ }): Promise<BigNumber>;
199
212
  repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
200
213
  from?: PromiseOrValue<string>;
201
214
  }): Promise<BigNumber>;
@@ -227,6 +240,9 @@ export interface IVBep20 extends BaseContract {
227
240
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
228
241
  from?: PromiseOrValue<string>;
229
242
  }): Promise<PopulatedTransaction>;
243
+ redeemUnderlying(repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
244
+ from?: PromiseOrValue<string>;
245
+ }): Promise<PopulatedTransaction>;
230
246
  repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
231
247
  from?: PromiseOrValue<string>;
232
248
  }): Promise<PopulatedTransaction>;