@venusprotocol/venus-protocol 2.1.0-dev.1 → 2.2.0

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 (102) hide show
  1. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/access/Ownable2Step.sol/Ownable2Step.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.dbg.json +4 -0
  5. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/{draft-IERC20Permit.sol → IERC20Permit.sol}/IERC20Permit.json +1 -1
  6. package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  7. package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +2 -2
  8. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  9. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +2 -2
  10. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  11. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
  12. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  13. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  14. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +1 -1
  15. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  16. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/{draft-IERC20PermitUpgradeable.sol → IERC20PermitUpgradeable.sol}/IERC20PermitUpgradeable.json +1 -1
  18. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +1 -1
  19. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +2 -2
  20. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  21. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
  22. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  23. package/artifacts/build-info/45072faf155daedac86eba59991e6efb.json +1 -0
  24. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/IComptroller.dbg.json +1 -1
  25. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/IPriceOracle.dbg.json +1 -1
  26. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/IVToken.dbg.json +1 -1
  27. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.dbg.json +1 -1
  28. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.json +2 -2
  29. package/artifacts/contracts/Liquidator/Liquidator.sol/IComptroller.dbg.json +1 -1
  30. package/artifacts/contracts/Liquidator/Liquidator.sol/IVAIController.dbg.json +1 -1
  31. package/artifacts/contracts/Liquidator/Liquidator.sol/IVBNB.dbg.json +1 -1
  32. package/artifacts/contracts/Liquidator/Liquidator.sol/IVBep20.dbg.json +1 -1
  33. package/artifacts/contracts/Liquidator/Liquidator.sol/IVToken.dbg.json +1 -1
  34. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.dbg.json +1 -1
  35. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
  36. package/artifacts/contracts/Oracle/AggregatorV2V3Interface.sol/AggregatorV2V3Interface.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/SwapRouter.sol/SwapRouter.json +2 -2
  41. package/artifacts/contracts/Swap/interfaces/IPancakePair.sol/IPancakePair.dbg.json +1 -1
  42. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Factory.sol/IPancakeSwapV2Factory.dbg.json +1 -1
  43. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Router.sol/IPancakeSwapV2Router.dbg.json +1 -1
  44. package/artifacts/contracts/Swap/interfaces/IVBNB.sol/IVBNB.dbg.json +1 -1
  45. package/artifacts/contracts/Swap/interfaces/IVtoken.sol/IVToken.dbg.json +1 -1
  46. package/artifacts/contracts/Swap/interfaces/IWBNB.sol/IWBNB.dbg.json +1 -1
  47. package/artifacts/contracts/Swap/interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  48. package/artifacts/contracts/Swap/lib/PancakeLibrary.sol/PancakeLibrary.dbg.json +1 -1
  49. package/artifacts/contracts/Swap/lib/TransferHelper.sol/TransferHelper.dbg.json +1 -1
  50. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.dbg.json +1 -1
  51. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
  52. package/deploy/000-lenses.ts +48 -0
  53. package/deploy/001-comptroller.ts +27 -0
  54. package/deploy/002-interest-rate-model.ts +29 -0
  55. package/deploy/003-deploy-VBep20.ts +66 -0
  56. package/deploy/004-support-markets.ts +21 -0
  57. package/deploy/005-update-governance.ts +132 -0
  58. package/deploy/006-deploy-swaprouter.ts +38 -0
  59. package/dist/hardhat.config.d.ts +0 -1
  60. package/dist/hardhat.config.js +0 -1
  61. package/dist/networks/mainnet.json +12 -5
  62. package/dist/networks/testnet.json +16 -4
  63. package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/{draft-IERC20Permit.sol/IERC20Permit.d.ts → IERC20Permit.d.ts} +1 -1
  64. package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -2
  65. package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/index.js +0 -1
  66. package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/{draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.d.ts → IERC20PermitUpgradeable.d.ts} +1 -1
  67. package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts +1 -2
  68. package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.js +0 -1
  69. package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/{draft-IERC20Permit.sol/IERC20Permit__factory.d.ts → IERC20Permit__factory.d.ts} +1 -1
  70. package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -1
  71. package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js +3 -25
  72. package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/{draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.d.ts → IERC20PermitUpgradeable__factory.d.ts} +1 -1
  73. package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts +1 -1
  74. package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.js +3 -25
  75. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate__factory.d.ts +1 -1
  76. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate__factory.js +1 -1
  77. package/dist/typechain/factories/contracts/Liquidator/Liquidator.sol/Liquidator__factory.d.ts +1 -1
  78. package/dist/typechain/factories/contracts/Liquidator/Liquidator.sol/Liquidator__factory.js +1 -1
  79. package/dist/typechain/factories/contracts/Swap/SwapRouter__factory.d.ts +1 -1
  80. package/dist/typechain/factories/contracts/Swap/SwapRouter__factory.js +1 -1
  81. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.d.ts +1 -1
  82. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.js +1 -1
  83. package/dist/typechain/index.d.ts +4 -4
  84. package/dist/typechain/index.js +2 -2
  85. package/networks/mainnet.json +12 -5
  86. package/networks/testnet.json +16 -4
  87. package/package.json +13 -5
  88. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +0 -4
  89. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +0 -4
  90. package/artifacts/build-info/14ca42f83adc3440386c76c5f6608b44.json +0 -1
  91. package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +0 -1
  92. package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +0 -2
  93. package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.d.ts +0 -1
  94. package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.js +0 -2
  95. package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +0 -1
  96. package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +0 -8
  97. package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.d.ts +0 -1
  98. package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.js +0 -8
  99. /package/dist/typechain/@openzeppelin/contracts/token/ERC20/extensions/{draft-IERC20Permit.sol/IERC20Permit.js → IERC20Permit.js} +0 -0
  100. /package/dist/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/{draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.js → IERC20PermitUpgradeable.js} +0 -0
  101. /package/dist/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/{draft-IERC20Permit.sol/IERC20Permit__factory.js → IERC20Permit__factory.js} +0 -0
  102. /package/dist/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/{draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.js → IERC20PermitUpgradeable__factory.js} +0 -0
@@ -696,8 +696,8 @@
696
696
  "type": "function"
697
697
  }
698
698
  ],
699
- "bytecode": "0x6101006040523480156200001257600080fd5b5060405162002050380380620020508339810160408190526200003591620001fc565b8282826200004382620000f9565b6200004e83620000f9565b6200005981620000f9565b6001600160a01b03808316608052831660a081905260408051639254f5e560e01b81529051639254f5e5916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d0919062000250565b6001600160a01b0390811660c052811660e052620000ed62000124565b50505050505062000277565b6001600160a01b038116620001215760405163f5bf603960e01b815260040160405180910390fd5b50565b600054610100900460ff1615620001915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620001e4576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200012157600080fd5b6000806000606084860312156200021257600080fd5b83516200021f81620001e6565b60208501519093506200023281620001e6565b60408501519092506200024581620001e6565b809150509250925092565b6000602082840312156200026357600080fd5b81516200027081620001e6565b9392505050565b60805160a05160c05160e051611d52620002fe60003960008181610253015281816111d401526112710152600081816103660152818161076201528181610e3101528181610ed701528181610f0c0152610f6201526000818161021f015281816112d201526113900152600081816101d30152818161064e01526106d50152611d526000f3fe60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a77565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9b565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9b565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad4565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9b565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a77565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b27565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a77565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b40565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b27565b610b3b565b34801561043757600080fd5b5061014f610446366004611a77565b610b50565b34801561045757600080fd5b5061014f610466366004611b27565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6c565b9050600061082e8383611b9b565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e5760405163f5bf603960e01b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb2565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bcf565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb2565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6c565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf3565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf3565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6c565b61135c9190611b9b565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6c565b90508060c954856114219190611c15565b61142b9190611c34565b92506114378385611b9b565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c56565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6c565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6c565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6c565b6117259190611b9b565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c56565b6108c56118e8565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c56565b6108c5611918565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c56565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661193f9092919063ffffffff16565b8051909150156115ff57808060200190518101906118899190611bf3565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff1661190f5760405162461bcd60e51b81526004016104b490611c56565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c56565b6060611729848460008585600080866001600160a01b031685876040516119669190611ccd565b60006040518083038185875af1925050503d80600081146119a3576040519150601f19603f3d011682016040523d82523d6000602084013e6119a8565b606091505b50915091506119b9878383876119c4565b979650505050505050565b60608315611a33578251600003611a2c576001600160a01b0385163b611a2c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a485781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611ce9565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8957600080fd5b8135611a9481611a62565b9392505050565b60008060408385031215611aae57600080fd5b8235611ab981611a62565b91506020830135611ac981611a62565b809150509250929050565b60008060008060808587031215611aea57600080fd5b8435611af581611a62565b93506020850135611b0581611a62565b9250604085013591506060850135611b1c81611a62565b939692955090935050565b600060208284031215611b3957600080fd5b5035919050565b60008060408385031215611b5357600080fd5b8235611b5e81611a62565b946020939093013593505050565b600060208284031215611b7e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bad57611bad611b85565b500390565b600060208284031215611bc457600080fd5b8151611a9481611a62565b60008060408385031215611be257600080fd5b505080516020909101519092909150565b600060208284031215611c0557600080fd5b81518015158114611a9457600080fd5b6000816000190483118215151615611c2f57611c2f611b85565b500290565b600082611c5157634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbc578181015183820152602001611ca4565b838111156108ad5750506000910152565b60008251611cdf818460208701611ca1565b9190910192915050565b6020815260008251806020840152611d08816040850160208701611ca1565b601f01601f1916919091016040019291505056fea2646970667358221220d3de73d34894b1118a03f2a70b978836ab65d3954260123ab3287eb44b8f6c3d64736f6c634300080d0033",
700
- "deployedBytecode": "0x60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a77565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9b565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9b565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad4565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9b565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a77565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b27565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a77565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b40565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b27565b610b3b565b34801561043757600080fd5b5061014f610446366004611a77565b610b50565b34801561045757600080fd5b5061014f610466366004611b27565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6c565b9050600061082e8383611b9b565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e5760405163f5bf603960e01b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb2565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bcf565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb2565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6c565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf3565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf3565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6c565b61135c9190611b9b565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6c565b90508060c954856114219190611c15565b61142b9190611c34565b92506114378385611b9b565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c56565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6c565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6c565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6c565b6117259190611b9b565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c56565b6108c56118e8565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c56565b6108c5611918565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c56565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661193f9092919063ffffffff16565b8051909150156115ff57808060200190518101906118899190611bf3565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff1661190f5760405162461bcd60e51b81526004016104b490611c56565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c56565b6060611729848460008585600080866001600160a01b031685876040516119669190611ccd565b60006040518083038185875af1925050503d80600081146119a3576040519150601f19603f3d011682016040523d82523d6000602084013e6119a8565b606091505b50915091506119b9878383876119c4565b979650505050505050565b60608315611a33578251600003611a2c576001600160a01b0385163b611a2c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a485781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611ce9565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8957600080fd5b8135611a9481611a62565b9392505050565b60008060408385031215611aae57600080fd5b8235611ab981611a62565b91506020830135611ac981611a62565b809150509250929050565b60008060008060808587031215611aea57600080fd5b8435611af581611a62565b93506020850135611b0581611a62565b9250604085013591506060850135611b1c81611a62565b939692955090935050565b600060208284031215611b3957600080fd5b5035919050565b60008060408385031215611b5357600080fd5b8235611b5e81611a62565b946020939093013593505050565b600060208284031215611b7e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bad57611bad611b85565b500390565b600060208284031215611bc457600080fd5b8151611a9481611a62565b60008060408385031215611be257600080fd5b505080516020909101519092909150565b600060208284031215611c0557600080fd5b81518015158114611a9457600080fd5b6000816000190483118215151615611c2f57611c2f611b85565b500290565b600082611c5157634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbc578181015183820152602001611ca4565b838111156108ad5750506000910152565b60008251611cdf818460208701611ca1565b9190910192915050565b6020815260008251806020840152611d08816040850160208701611ca1565b601f01601f1916919091016040019291505056fea2646970667358221220d3de73d34894b1118a03f2a70b978836ab65d3954260123ab3287eb44b8f6c3d64736f6c634300080d0033",
699
+ "bytecode": "0x6101006040523480156200001257600080fd5b5060405162002052380380620020528339810160408190526200003591620001fb565b8282826200004382620000f9565b6200004e83620000f9565b6200005981620000f9565b6001600160a01b03808316608052831660a081905260408051639254f5e560e01b81529051639254f5e5916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200024f565b6001600160a01b0390811660c052811660e052620000ed62000124565b50505050505062000276565b6001600160a01b038116620001215760405163f5bf603960e01b815260040160405180910390fd5b50565b600054610100900460ff1615620001915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620001e3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200012157600080fd5b6000806000606084860312156200021157600080fd5b83516200021e81620001e5565b60208501519093506200023181620001e5565b60408501519092506200024481620001e5565b809150509250925092565b6000602082840312156200026257600080fd5b81516200026f81620001e5565b9392505050565b60805160a05160c05160e051611d55620002fd60003960008181610253015281816111d401526112710152600081816103660152818161076201528181610e3101528181610ed701528181610f0c0152610f6201526000818161021f015281816112d201526113900152600081816101d30152818161064e01526106d50152611d556000f3fe60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e5760405163f5bf603960e01b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220d698dc1ff5f149752ec61525375516099734f4917c8a03826621ca11839cf8df64736f6c634300080d0033",
700
+ "deployedBytecode": "0x60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e5760405163f5bf603960e01b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220d698dc1ff5f149752ec61525375516099734f4917c8a03826621ca11839cf8df64736f6c634300080d0033",
701
701
  "linkReferences": {},
702
702
  "deployedLinkReferences": {}
703
703
  }
@@ -0,0 +1,48 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { deployments, getNamedAccounts } = hre;
6
+ const { deploy } = deployments;
7
+
8
+ const { deployer } = await getNamedAccounts();
9
+
10
+ await deploy("ComptrollerLens", {
11
+ from: deployer,
12
+ args: [],
13
+ log: true,
14
+ autoMine: true,
15
+ });
16
+
17
+ await deploy("InterestRateModelLens", {
18
+ from: deployer,
19
+ args: [],
20
+ log: true,
21
+ autoMine: true,
22
+ });
23
+
24
+ await deploy("SnapshotLens", {
25
+ from: deployer,
26
+ args: [],
27
+ log: true,
28
+ autoMine: true,
29
+ });
30
+
31
+ await deploy("VenusLens", {
32
+ from: deployer,
33
+ args: [],
34
+ log: true,
35
+ autoMine: true,
36
+ });
37
+
38
+ await deploy("XVSStakingLens", {
39
+ from: deployer,
40
+ args: [],
41
+ log: true,
42
+ autoMine: true,
43
+ });
44
+ };
45
+
46
+ func.tags = ["Lens"];
47
+
48
+ export default func;
@@ -0,0 +1,27 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { deployments, getNamedAccounts } = hre;
6
+ const { deploy } = deployments;
7
+
8
+ const { deployer } = await getNamedAccounts();
9
+
10
+ await deploy("AccessControlManager", {
11
+ from: deployer,
12
+ args: [],
13
+ log: true,
14
+ autoMine: true,
15
+ });
16
+
17
+ await deploy("Comptroller", {
18
+ from: deployer,
19
+ log: true,
20
+ autoMine: true,
21
+ args: [],
22
+ });
23
+ };
24
+
25
+ func.tags = ["Comptroller"];
26
+
27
+ export default func;
@@ -0,0 +1,29 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { deployments, getNamedAccounts } = hre;
6
+ const { deploy } = deployments;
7
+
8
+ const { deployer } = await getNamedAccounts();
9
+
10
+ await deploy("InterestRateModelVUSDC", {
11
+ contract: "JumpRateModel",
12
+ from: deployer,
13
+ log: true,
14
+ autoMine: true,
15
+ args: [0, "50000000000000000", "1090000000000000000", "800000000000000000"],
16
+ });
17
+
18
+ await deploy("InterestRateModelVETH", {
19
+ contract: "JumpRateModel",
20
+ from: deployer,
21
+ log: true,
22
+ autoMine: true,
23
+ args: [0, "40000000000000000", "1080000000000000000", "700000000000000000"],
24
+ });
25
+ };
26
+
27
+ func.tags = ["InterestRateModel"];
28
+
29
+ export default func;
@@ -0,0 +1,66 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { deployments, getNamedAccounts } = hre;
6
+ const { deploy } = deployments;
7
+
8
+ const { deployer } = await getNamedAccounts();
9
+
10
+ const usdcDeployment = await deploy("USDC", {
11
+ contract: "MockToken",
12
+ from: deployer,
13
+ args: ["US Dollar coin", "USDC", 18],
14
+ log: true,
15
+ autoMine: true,
16
+ });
17
+
18
+ const ethDeployment = await deploy("ETH", {
19
+ contract: "MockToken",
20
+ from: deployer,
21
+ args: ["Ethereum", "ETH", 18],
22
+ log: true,
23
+ autoMine: true,
24
+ });
25
+
26
+ const comptrollerDeployment = await deployments.get("Comptroller");
27
+
28
+ const interestRateModelVUSDCDeployment = await deployments.get("InterestRateModelVUSDC");
29
+ await deploy("vUSDC", {
30
+ contract: "VBep20Immutable",
31
+ from: deployer,
32
+ args: [
33
+ usdcDeployment.address,
34
+ comptrollerDeployment.address,
35
+ interestRateModelVUSDCDeployment.address,
36
+ "2000000000000000000",
37
+ "Venus USDC",
38
+ "vUSDC",
39
+ 18,
40
+ deployer,
41
+ ],
42
+ log: true,
43
+ autoMine: true,
44
+ });
45
+
46
+ await deploy("vETH", {
47
+ contract: "VBep20Immutable",
48
+ from: deployer,
49
+ args: [
50
+ ethDeployment.address,
51
+ comptrollerDeployment.address,
52
+ interestRateModelVUSDCDeployment.address,
53
+ "1500000000000000000",
54
+ "Venus Ethereum",
55
+ "vETH",
56
+ 18,
57
+ deployer,
58
+ ],
59
+ log: true,
60
+ autoMine: true,
61
+ });
62
+ };
63
+
64
+ func.tags = ["VBep20"];
65
+
66
+ export default func;
@@ -0,0 +1,21 @@
1
+ import { DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { deployments, getNamedAccounts, ethers } = hre;
6
+ const { deployer } = await getNamedAccounts();
7
+ const deployerSigner = await hre.ethers.getSigner(deployer);
8
+
9
+ const vUSDC = await deployments.get("vUSDC");
10
+ const vETH = await deployments.get("vETH");
11
+
12
+ const comptrollerDeployment = await deployments.get("Comptroller");
13
+ const comptroller = await ethers.getContractAt("Comptroller", comptrollerDeployment.address);
14
+
15
+ await comptroller.connect(deployerSigner)._supportMarket(vUSDC.address);
16
+ await comptroller.connect(deployerSigner)._supportMarket(vETH.address);
17
+ };
18
+
19
+ func.tags = ["VBep20"];
20
+
21
+ export default func;
@@ -0,0 +1,132 @@
1
+ import { parseUnits } from "ethers/lib/utils";
2
+ import { network } from "hardhat";
3
+ import { DeployFunction } from "hardhat-deploy/types";
4
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
5
+
6
+ import { Contracts as Mainnet } from "../networks/mainnet.json";
7
+ //TESTNET DEPLOYED CONTRACTS
8
+ import { Contracts as Testnet } from "../networks/testnet.json";
9
+ //MAINNET DEPLOYED CONTRACTS
10
+ import { GovernorBravoDelegate } from "../typechain/contracts/Governance/";
11
+
12
+ const networkName: string = network.name === "bscmainnet" ? "bscmainnet" : "bsctestnet";
13
+
14
+ interface Address {
15
+ [key: string]: string;
16
+ }
17
+
18
+ interface Delay {
19
+ [key: string]: number;
20
+ }
21
+
22
+ interface AddressConfig {
23
+ [key: string]: Address;
24
+ }
25
+
26
+ interface DelayConfig {
27
+ [key: string]: Delay;
28
+ }
29
+
30
+ const addresses: AddressConfig = {
31
+ bsctestnet: {
32
+ governorProxy: Testnet.GovernorBravoDelegator,
33
+ normalVipTimelock: Testnet.Timelock,
34
+ xvsVault: Testnet.XVSVaultProxy,
35
+ },
36
+ bscmainnet: {
37
+ governorProxy: "0x2d56dC077072B53571b8252008C60e945108c75a",
38
+ normalVipTimelock: Mainnet.Timelock,
39
+ xvsVault: Mainnet.XVSVaultProxy,
40
+ },
41
+ };
42
+
43
+ const PROPOSAL_CONFIGS = [
44
+ // ProposalType.NORMAL
45
+ {
46
+ votingDelay: 150,
47
+ votingPeriod: 150,
48
+ proposalThreshold: parseUnits("150000", 18),
49
+ },
50
+ // ProposalType.FASTTRACK
51
+ {
52
+ votingDelay: 100,
53
+ votingPeriod: 100,
54
+ proposalThreshold: parseUnits("200000", 18),
55
+ },
56
+ // ProposalType.CRITICAL
57
+ {
58
+ votingDelay: 50,
59
+ votingPeriod: 50,
60
+ proposalThreshold: parseUnits("250000", 18),
61
+ },
62
+ ];
63
+
64
+ const timelockDelays: DelayConfig = {
65
+ bsctestnet: {
66
+ NORMAL: 600,
67
+ FAST_TRACK: 300,
68
+ CRITICAL: 100,
69
+ },
70
+ bscmainnet: {
71
+ NORMAL: 172800,
72
+ FAST_TRACK: 21600,
73
+ CRITICAL: 3600,
74
+ },
75
+ };
76
+
77
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
78
+ const { deployments, getNamedAccounts, ethers } = hre;
79
+ const { deployer } = await getNamedAccounts();
80
+ const { deploy } = deployments;
81
+ const governorProxy = await ethers.getContractAt("GovernorBravoDelegator", addresses[networkName].governorProxy);
82
+
83
+ const timeLockFastTrack = await deploy("Timelock_FastTrack", {
84
+ contract: "Timelock",
85
+ from: deployer,
86
+ args: [addresses[networkName].governorProxy, timelockDelays[networkName].FAST_TRACK],
87
+ log: true,
88
+ autoMine: true,
89
+ });
90
+
91
+ const timeLockCritical = await deploy("Timelock_Critical", {
92
+ contract: "Timelock",
93
+ from: deployer,
94
+ args: [addresses[networkName].governorProxy, timelockDelays[networkName].CRITICAL],
95
+ log: true,
96
+ autoMine: true,
97
+ });
98
+
99
+ const newImplementation = await deploy("GovernorBravoV4", {
100
+ contract: "GovernorBravoDelegate",
101
+ from: deployer,
102
+ args: [],
103
+ log: true,
104
+ autoMine: true,
105
+ });
106
+ if (newImplementation.address) {
107
+ let tx;
108
+ if (newImplementation.newlyDeployed) {
109
+ tx = await governorProxy._setImplementation(newImplementation.address);
110
+ await tx.wait();
111
+ console.log("New implementation successfully set to: " + newImplementation.address);
112
+ }
113
+ const governorProxy_Impl = (await ethers.getContractAt(
114
+ "GovernorBravoDelegate",
115
+ addresses[networkName].governorProxy,
116
+ )) as GovernorBravoDelegate;
117
+ tx = await governorProxy_Impl.initialize(
118
+ addresses[networkName].xvsVault,
119
+ PROPOSAL_CONFIGS,
120
+ [addresses[networkName].normalVipTimelock, timeLockFastTrack.address, timeLockCritical.address],
121
+ deployer,
122
+ );
123
+ await tx.wait();
124
+ console.log("Sucessfully initialized new governance via proxy: " + governorProxy.address);
125
+ } else {
126
+ console.log("Could not get implementation address");
127
+ }
128
+ };
129
+
130
+ func.tags = ["UpdateGovernanceV4"];
131
+
132
+ export default func;
@@ -0,0 +1,38 @@
1
+ import { Address, DeployFunction } from "hardhat-deploy/types";
2
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
3
+
4
+ import { Contracts as Mainnet } from "../networks/mainnet.json";
5
+ import { Contracts as Testnet } from "../networks/testnet.json";
6
+
7
+ interface AddressConfig {
8
+ [key: string]: {
9
+ [key: string]: Address;
10
+ };
11
+ }
12
+
13
+ const ADDRESSES: AddressConfig = {
14
+ bsctestnet: Testnet,
15
+ bscmainnet: Mainnet,
16
+ };
17
+
18
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
19
+ const { deployments, network, getNamedAccounts } = hre;
20
+ const { deploy } = deployments;
21
+ const { deployer } = await getNamedAccounts();
22
+
23
+ const networkName = network.name === "bscmainnet" ? "bscmainnet" : "bsctestnet";
24
+ const WBNBAddress = ADDRESSES[networkName].WBNB;
25
+ const pancakeFactoryAddress = ADDRESSES[networkName].pancakeFactory;
26
+
27
+ await deploy("SwapRouter", {
28
+ contract: "SwapRouter",
29
+ from: deployer,
30
+ args: [WBNBAddress, pancakeFactoryAddress, ADDRESSES[networkName].Unitroller],
31
+ log: true,
32
+ autoMine: true,
33
+ });
34
+ };
35
+
36
+ func.tags = ["SwapRouter"];
37
+
38
+ export default func;
@@ -8,6 +8,5 @@ import "@typechain/hardhat";
8
8
  import "hardhat-deploy";
9
9
  import { HardhatUserConfig } from "hardhat/config";
10
10
  import "solidity-docgen";
11
- import "solidity-docgen";
12
11
  declare const config: HardhatUserConfig;
13
12
  export default config;
@@ -15,7 +15,6 @@ const fs_1 = __importDefault(require("fs"));
15
15
  require("hardhat-deploy");
16
16
  const config_1 = require("hardhat/config");
17
17
  require("solidity-docgen");
18
- require("solidity-docgen");
19
18
  require("dotenv").config();
20
19
  const BSCSCAN_API_KEY = process.env.BSCSCAN_API_KEY;
21
20
  const DEPLOYER_PRIVATE_KEY = process.env.DEPLOYER_PRIVATE_KEY;
@@ -30,11 +30,13 @@
30
30
  "MATIC": "0xCC42724C6683B7E57334c4E856f4c9965ED682bD",
31
31
  "CAKE": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",
32
32
  "AAVE": "0xfb6115445Bff7b52FeB98650C87f44907E58f802",
33
- "TUSD": "0x14016E85a25aeb13065688cAFB43044C2ef86784",
33
+ "TUSDOLD": "0x14016E85a25aeb13065688cAFB43044C2ef86784",
34
+ "TUSD": "0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9",
34
35
  "TRX": "0xCE7de646e7208a4Ef112cb6ed5038FA6cC6b12e3",
35
36
  "TRXOLD": "0x85EAC5Ac2F758618dFa09bDbe0cf174e7d574D5B",
36
37
  "UST": "0x3d4350cD54aeF9f9b2C29435e0fa809957B3F30a",
37
38
  "LUNA": "0x156ab3346823B651294766e23e6Cf87254d68962",
39
+ "WBETH": "0xa2e3356610840701bdf5611a53974510ae27e2e1",
38
40
  "vUSDC": "0xecA88125a5ADbe82614ffC12D0DB554E2e2867C8",
39
41
  "vUSDT": "0xfD5840Cd36d94D7229439859C0112a4185BC0255",
40
42
  "vBUSD": "0x95c78222B3D6e262426483D42CfA53685A67Ab9D",
@@ -59,15 +61,17 @@
59
61
  "vMATIC": "0x5c9476FcD6a4F9a3654139721c949c2233bBbBc8",
60
62
  "vCAKE": "0x86aC3974e2BD0d60825230fa6F355fF11409df5c",
61
63
  "vAAVE": "0x26DA28954763B92139ED49283625ceCAf52C6f94",
62
- "vTUSD": "0x08CEB3F4a7ed3500cA0982bcd0FC7816688084c3",
64
+ "vTUSDOLD": "0x08CEB3F4a7ed3500cA0982bcd0FC7816688084c3",
65
+ "vTUSD": "0xBf762cd5991cA1DCdDaC9ae5C638F5B5Dc3Bee6E",
63
66
  "vUST": "0x78366446547D062f45b4C0f320cDaa6d710D87bb",
64
67
  "vLUNA": "0xb91A659E88B51474767CD97EF3196A3e7cEDD2c8",
68
+ "vWBETH": "0x6CFdEc747f37DAf3b87a35a1D9c8AD3063A1A8A0",
65
69
  "Timelock": "0x939bD8d64c0A9583A7Dcea9933f7b21697ab6396",
66
70
  "GovernorAlpha": "0x406f48f47D25E9caa29f17e7Cfbd1dc6878F078f",
67
71
  "VenusPriceOracle": "0x516c18DC440f107f12619a6d2cc320622807d0eE",
68
72
  "WBNB": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
69
73
  "pancakeFactory": "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",
70
- "XVSVault": "0x6eF49b4e0772Fe78128F981d42D54172b55eCF9F",
74
+ "XVSVault": "0x4d067D2471406a778D103B5742eCC83668ea5345",
71
75
  "XVSVaultProxy": "0x051100480289e704d20e9DB4804837068f3f9204",
72
76
  "XVSStore": "0x1e25CF968f12850003Db17E0Dba32108509C4359",
73
77
  "SnapshotLens": "0x9802448Af040DA880Bf51bCbe4f2A4205ebC6d2C",
@@ -75,15 +79,18 @@
75
79
  "GovernorAlpha2": "0x388313BfEFEE8ddfeAD55b585F62812293Cf3A60",
76
80
  "GovernorBravoDelegate": "0x360ac19648efC29d2b7b70baC227C35e909272Fd",
77
81
  "GovernorBravoDelegator": "0x2d56dC077072B53571b8252008C60e945108c75a",
78
- "VRTVault": "0xA3EEA5e491AD45caE30F6E0a315A275cc99EE147",
82
+ "VRTVault": "0x1405899732Cfe963EaB935a8bBa49c47FE996048",
79
83
  "VRTVaultProxy": "0x98bF4786D72AAEF6c714425126Dd92f149e3F334",
84
+ "VAIVault": "0x0B4d7776b87deD4a0958E32D5155598057D2620D",
85
+ "VAIVaultProxy": "0x0667Eed0a0aAb930af74a3dfeDD263A73994f216",
80
86
  "VRTConverter": "0xF0fCB229031A386C672e291cE183390c1a7705dA",
81
87
  "VRTConverterProxy": "0x92572fB60f4874d37917C53599cAe5b085B9Facd",
82
88
  "XVSVesting": "0xA9dD0536Ab0699D60c28CE369Ff366a1e621BFf1",
83
89
  "XVSVestingProxy": "0xb28Dec7C7Ac80f4D0B6a1B711c39e444cDE8B2cE",
84
90
  "ComptrollerLens": "0x50F618A2EAb0fB55e87682BbFd89e38acb2735cD",
85
91
  "Liquidator": "0x0870793286aaDA55D39CE7f82fb2766e8004cF43",
86
- "VenusChainlinkOracle": "0x7FabdD617200C9CB4dcf3dd2C41273e60552068A"
92
+ "VenusChainlinkOracle": "0x7FabdD617200C9CB4dcf3dd2C41273e60552068A",
93
+ "SwapRouterCorePool": "0x8938E6dA30b59c1E27d5f70a94688A89F7c815a4"
87
94
  },
88
95
  "Accounts": {
89
96
  "admin": "0x0000000000000000000000000000000000000000",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "Contracts": {
3
- "VenusLens": "0x4C97B56d596d5cCc11727c0AD7d171E7F0d5134e",
3
+ "VenusLens": "0x11c8dC3DcA87E8205ec01e6d79Be9442d31701d3",
4
4
  "SnapshotLens": "0x61610DeC84448Ed17A2a0317667a99ca0CC6f697",
5
5
  "WhitepaperInterestRateModel": "0xdE9beC5102ee897a2c934321309517dD6c0106F4",
6
6
  "Comptroller": "0xfd301ad2503b25a7670a45b11a043c20b04ee896",
@@ -19,6 +19,8 @@
19
19
  "ETH": "0x98f7A83361F7Ac8765CcEBAB1425da6b341958a7",
20
20
  "LTC": "0x969F147B6b8D81f86175de33206A4FD43dF17913",
21
21
  "XRP": "0x3022A32fdAdB4f02281E8Fab33e0A6811237aab0",
22
+ "WBETH": "0xf9F98365566F4D55234f24b99caA1AfBE6428D44",
23
+ "TUSD": "0xB32171ecD878607FFc4F8FC0bCcE6852BB3149E0",
22
24
  "vUSDC": "0xD5C4C2e2facBEB59D0216D0595d63FcDc6F9A1a7",
23
25
  "vUSDT": "0xb7526572FFE56AB9D7489838Bf2E18e3323b441A",
24
26
  "vBUSD": "0x08e0A5575De71037aE36AbfAfb516595fE68e5e4",
@@ -30,18 +32,22 @@
30
32
  "vETH": "0x162D005F0Fff510E54958Cfc5CF32A3180A84aab",
31
33
  "vLTC": "0xAfc13BC065ABeE838540823431055D2ea52eBA52",
32
34
  "vXRP": "0x488aB2826a154da01CC4CC16A8C83d4720D3cA2C",
35
+ "vWBETH": "0x35566ED3AF9E537Be487C98b1811cDf95ad0C32b",
36
+ "vTUSD": "0xEFAACF73CE2D38ED40991f29E72B12C74bd4cf23",
33
37
  "Timelock": "0xce10739590001705F7FF231611ba4A48B2820327",
34
38
  "GovernorAlpha": "0x7df10b2118eb04d9806b15198019f83741a9f8f4",
35
39
  "GovernorAlpha2": "0x7116894ed34FC4B27D5b84f46B70Af48397a6C24",
36
40
  "GovernorBravoDelegate": "0x0A79EEFA81098B8BD3c8B11Fc0113f1be088F1c0",
37
41
  "GovernorBravoDelegator": "0x5573422A1a59385C247ec3a66B93B7C08eC2f8f2",
38
- "XVSVault": "0xa4Fd54cACdA379FB7CaA783B83Cc846f8ac0Faa6",
42
+ "XVSVault": "0x7f32f15F1806B0EE04b946c7E1Ad9f1df06fEe81",
39
43
  "XVSVaultProxy": "0x9aB56bAD2D7631B2A857ccf36d998232A8b82280",
40
44
  "XVSStore": "0x7B4dba3b320E7D421A213e1a73bB9858bb6839F8",
41
45
  "VenusPriceOracle": "0x03cf8ff6262363010984b192dc654bd4825caffc",
42
46
  "VRT": "0x331F639B4F3CF6E391CD244e0b5027C5968Ec325",
43
- "VRTVault": "0x0543001bc1A2bDafB9dD6Cf7370616177CF7dCde",
47
+ "VRTVault": "0xa298713eCaE4e2C35C3af5241AAf81E0cc34Da84",
44
48
  "VRTVaultProxy": "0x1ffD1b8B67A1AE0C189c734B0F58B0954522FF71",
49
+ "VAIVault": "0x5c1c23ac038059c7B4EC1659728c166facab590b",
50
+ "VAIVaultProxy": "0x7Db4f5cC3bBA3e12FF1F528D2e3417afb0a57118",
45
51
  "VRTConverter": "0xF0fCB229031A386C672e291cE183390c1a7705dA",
46
52
  "VRTConverterProxy": "0xAb81e79F9607eC4C7b69Ab4f7cf6c0AF607aA131",
47
53
  "XVSVesting": "0x9667B6E438232925525F26CeC0acC3A39B9980C8",
@@ -49,7 +55,13 @@
49
55
  "ComptrollerLens": "0xc698edFbac7F4A3A2A06757860938e73260ed7a4",
50
56
  "Liquidator": "0x40FB27A83e52E7B213CC345f5b6ACA17bf7D5139",
51
57
  "WBNB": "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",
52
- "pancakeFactory": "0x182859893230dC89b114d6e2D547BFFE30474a21"
58
+ "pancakeFactory": "0x182859893230dC89b114d6e2D547BFFE30474a21",
59
+ "SwapRouterCorePool": "0x83edf1deE1B730b7e8e13C00ba76027D63a51ac0",
60
+ "SwapRouterLiquidStakedBNB": "0x7DcBd10E3479907e0B8C79d01D0572C8cc00227B",
61
+ "SwapRouterDefi": "0x76B88ff4579B35D2722B7383b9B9ce831dc89B72",
62
+ "SwapRouterStableCoins": "0x6cE131c2321e25d7b4C63283b75DB160Ce3Fb710",
63
+ "SwapRouterTronFamily": "0x51Fd03aD1132e8cb5a5a793528c9F4ec918667d4",
64
+ "SwapRouterGamefi": "0xFdeBF4530F9c7d352ffFE88cd0e96C8Bb7391BD9"
53
65
  },
54
66
  "Accounts": {
55
67
  "admin": "0xfea1c651a47fe29db9b1bf3cc1f224d8d9cff68c",