More Info
Private Name Tags
ContractCreator:
Latest 25 from a total of 26 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Swap And Transfe... | 64649426 | 277 days ago | IN | 0 FTM | 0.27116948 | ||||
Swap And Transfe... | 63296659 | 304 days ago | IN | 0 FTM | 3.5998446 | ||||
Swap And Transfe... | 63111649 | 307 days ago | IN | 0 FTM | 0.33723099 | ||||
Swap And Transfe... | 61166953 | 333 days ago | IN | 0 FTM | 0.59899589 | ||||
Swap And Transfe... | 58650394 | 365 days ago | IN | 0 FTM | 0.1615691 | ||||
Swap And Transfe... | 57509448 | 381 days ago | IN | 0 FTM | 0.12950744 | ||||
Swap And Transfe... | 27856487 | 805 days ago | IN | 0 FTM | 3.38358932 | ||||
Swap And Transfe... | 27547456 | 808 days ago | IN | 0 FTM | 1.3686405 | ||||
Swap And Transfe... | 27249944 | 811 days ago | IN | 0 FTM | 1.368292 | ||||
Swap And Transfe... | 26947998 | 814 days ago | IN | 0 FTM | 1.37044725 | ||||
Swap And Transfe... | 26653175 | 817 days ago | IN | 0 FTM | 1.29552575 | ||||
Swap And Transfe... | 26365690 | 820 days ago | IN | 0 FTM | 1.29524675 | ||||
Swap And Transfe... | 26066771 | 823 days ago | IN | 0 FTM | 1.2953895 | ||||
Swap And Transfe... | 25771987 | 826 days ago | IN | 0 FTM | 1.29087125 | ||||
Swap And Transfe... | 25480629 | 829 days ago | IN | 0 FTM | 1.22661525 | ||||
Swap And Transfe... | 25187654 | 832 days ago | IN | 0 FTM | 1.214747 | ||||
Swap And Transfe... | 24894114 | 835 days ago | IN | 0 FTM | 1.2125815 | ||||
Swap And Transfe... | 24605527 | 838 days ago | IN | 0 FTM | 1.1337105 | ||||
Swap And Transfe... | 24297618 | 842 days ago | IN | 0 FTM | 1.13647425 | ||||
Swap And Transfe... | 24002662 | 845 days ago | IN | 0 FTM | 1.13547 | ||||
Swap And Transfe... | 23705255 | 848 days ago | IN | 0 FTM | 1.1352005 | ||||
Swap And Transfe... | 23407151 | 851 days ago | IN | 0 FTM | 1.12723775 | ||||
Swap And Transfe... | 23102327 | 854 days ago | IN | 0 FTM | 1.13684925 | ||||
Swap And Transfe... | 22811274 | 857 days ago | IN | 0 FTM | 1.19222575 | ||||
Swap And Transfe... | 22811133 | 857 days ago | IN | 0 FTM | 0.798389 |
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
22437787 | 861 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
TreasuryConverter
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity 0.7.6; import "IERC20.sol"; interface CryptoSwap { function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy) external returns (uint256); } interface StableSwap { function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy) external; } interface ILendingPool { function deposit( address asset, uint256 amount, address onBehalfOf, uint16 referralCode ) external; function withdraw( address asset, uint256 amount, address to ) external returns (uint256); } contract TreasuryConverter { IERC20 constant gDAI = IERC20(0x07E6332dD090D287d3489245038daF987955DCFB); IERC20 constant gUSDC = IERC20(0xe578C856933D8e1082740bf7661e379Aa2A30b26); IERC20 constant gUSDT = IERC20(0x940F41F0ec9ba1A34CF001cc03347ac092F5F6B5); IERC20 constant gWBTC = IERC20(0x38aCa5484B8603373Acc6961Ecd57a6a594510A3); IERC20 constant WBTC = IERC20(0x321162Cd933E2Be498Cd2267a90534A804051b11); IERC20 constant USDT = IERC20(0x049d68029688eAbF473097a2fC38ef61633A3C7A); ILendingPool constant lendingPool = ILendingPool(0x9FAD24f572045c7869117160A571B2e50b10d068); StableSwap constant gPool = StableSwap(0x0fa949783947Bf6c1b171DB13AEACBB488845B3f); CryptoSwap constant triCrypto = CryptoSwap(0x3a1659Ddcf2339Be3aeA159cA010979FB49155FF); address constant feeDistributor = 0x49c93a95dbcc9A6A4D8f77E59c038ce5020e82f8; uint256 public lastSwapTimestamp; constructor() { gUSDT.approve(address(gPool), uint(-1)); gUSDC.approve(address(gPool), uint(-1)); WBTC.approve(address(triCrypto), uint(-1)); USDT.approve(address(lendingPool), uint(-1)); } function swapAndTransfer() public { require(block.timestamp > lastSwapTimestamp + 86400 * 3, "Can only call every 3 days"); uint balance = gUSDC.balanceOf(feeDistributor); if (balance > 20000 * 10**6) { balance -= 20000 * 10**6; if (balance > 50000 * 10**6) balance = 50000 * 10**6; gUSDC.transferFrom(feeDistributor, address(this), balance); } balance = gUSDT.balanceOf(feeDistributor); if (balance > 20000 * 10**6) { balance -= 20000 * 10**6; if (balance > 50000 * 10**6) balance = 50000 * 10**6; gUSDT.transferFrom(feeDistributor, address(this), balance); } balance = gWBTC.balanceOf(feeDistributor); if (balance > 0) { if (balance > 10**8) balance = 10**8; gWBTC.transferFrom(feeDistributor, address(this), balance); } balance = gWBTC.balanceOf(address(this)); if (balance > 0) { lendingPool.withdraw(address(WBTC), balance, address(this)); balance = triCrypto.exchange(1, 0, balance, 0); lendingPool.deposit(address(USDT), balance, address(this), 0); } balance = gUSDT.balanceOf(address(this)); if (balance > 0) { gPool.exchange(2, 0, balance, 0); } balance = gUSDC.balanceOf(address(this)); if (balance > 0) { gPool.exchange(1, 0, balance, 0); } balance = gDAI.balanceOf(address(this)); if (balance > 0) { gDAI.transfer(feeDistributor, balance); lastSwapTimestamp = block.timestamp; } } }
// SPDX-License-Identifier: agpl-3.0 pragma solidity 0.7.6; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
{ "evmVersion": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"lastSwapTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040805163095ea7b360e01b8152730fa949783947bf6c1b171db13aeacbb488845b3f60048201526000196024820152905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b59163095ea7b39160448083019260209291908290030181600087803b15801561008057600080fd5b505af1158015610094573d6000803e3d6000fd5b505050506040513d60208110156100aa57600080fd5b50506040805163095ea7b360e01b8152730fa949783947bf6c1b171db13aeacbb488845b3f60048201526000196024820152905173e578c856933d8e1082740bf7661e379aa2a30b269163095ea7b39160448083019260209291908290030181600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b505050506040513d602081101561014557600080fd5b50506040805163095ea7b360e01b8152733a1659ddcf2339be3aea159ca010979fb49155ff60048201526000196024820152905173321162cd933e2be498cd2267a90534a804051b119163095ea7b39160448083019260209291908290030181600087803b1580156101b657600080fd5b505af11580156101ca573d6000803e3d6000fd5b505050506040513d60208110156101e057600080fd5b50506040805163095ea7b360e01b8152739fad24f572045c7869117160a571b2e50b10d06860048201526000196024820152905173049d68029688eabf473097a2fc38ef61633a3c7a9163095ea7b39160448083019260209291908290030181600087803b15801561025157600080fd5b505af1158015610265573d6000803e3d6000fd5b505050506040513d602081101561027b57600080fd5b5050610a868061028c6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806358e4958e1461003b578063758c6c9d14610045575b600080fd5b61004361005f565b005b61004d610a4a565b60408051918252519081900360200190f35b6000546203f4800142116100ba576040805162461bcd60e51b815260206004820152601a60248201527f43616e206f6e6c792063616c6c20657665727920332064617973000000000000604482015290519081900360640190fd5b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f86004820152905160009173e578c856933d8e1082740bf7661e379aa2a30b26916370a0823191602480820192602092909190829003018186803b15801561012357600080fd5b505afa158015610137573d6000803e3d6000fd5b505050506040513d602081101561014d57600080fd5b505190506404a817c80081111561021c576404a817c7ff1901640ba43b740081111561017b5750640ba43b74005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015230602482015260448101839052905173e578c856933d8e1082740bf7661e379aa2a30b26916323b872dd9160648083019260209291908290030181600087803b1580156101ef57600080fd5b505af1158015610203573d6000803e3d6000fd5b505050506040513d602081101561021957600080fd5b50505b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f86004820152905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916370a08231916024808301926020929190829003018186803b15801561028157600080fd5b505afa158015610295573d6000803e3d6000fd5b505050506040513d60208110156102ab57600080fd5b505190506404a817c80081111561037a576404a817c7ff1901640ba43b74008111156102d95750640ba43b74005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015230602482015260448101839052905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916323b872dd9160648083019260209291908290030181600087803b15801561034d57600080fd5b505af1158015610361573d6000803e3d6000fd5b505050506040513d602081101561037757600080fd5b50505b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015290517338aca5484b8603373acc6961ecd57a6a594510a3916370a08231916024808301926020929190829003018186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d602081101561040957600080fd5b5051905080156104c7576305f5e10081111561042657506305f5e1005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f860048201523060248201526044810183905290517338aca5484b8603373acc6961ecd57a6a594510a3916323b872dd9160648083019260209291908290030181600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d60208110156104c457600080fd5b50505b604080516370a0823160e01b815230600482015290517338aca5484b8603373acc6961ecd57a6a594510a3916370a08231916024808301926020929190829003018186803b15801561051857600080fd5b505afa15801561052c573d6000803e3d6000fd5b505050506040513d602081101561054257600080fd5b50519050801561071b5760408051631a4ca37b60e21b815273321162cd933e2be498cd2267a90534a804051b116004820152602481018390523060448201529051739fad24f572045c7869117160a571b2e50b10d068916369328dec9160648083019260209291908290030181600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b505060408051630b68372160e31b81526001600482015260006024820181905260448201849052606482018190529151733a1659ddcf2339be3aea159ca010979fb49155ff92635b41b90892608480820193602093909283900390910190829087803b15801561065957600080fd5b505af115801561066d573d6000803e3d6000fd5b505050506040513d602081101561068357600080fd5b50516040805163e8eda9df60e01b815273049d68029688eabf473097a2fc38ef61633a3c7a6004820152602481018390523060448201526000606482018190529151929350739fad24f572045c7869117160a571b2e50b10d0689263e8eda9df9260848084019391929182900301818387803b15801561070257600080fd5b505af1158015610716573d6000803e3d6000fd5b505050505b604080516370a0823160e01b8152306004820152905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916370a08231916024808301926020929190829003018186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519050801561081f5760408051630f7c084960e21b81526002600482015260006024820181905260448201849052606482018190529151730fa949783947bf6c1b171db13aeacbb488845b3f92633df02124926084808201939182900301818387803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b505050505b604080516370a0823160e01b8152306004820152905173e578c856933d8e1082740bf7661e379aa2a30b26916370a08231916024808301926020929190829003018186803b15801561087057600080fd5b505afa158015610884573d6000803e3d6000fd5b505050506040513d602081101561089a57600080fd5b5051905080156109235760408051630f7c084960e21b81526001600482015260006024820181905260448201849052606482018190529151730fa949783947bf6c1b171db13aeacbb488845b3f92633df02124926084808201939182900301818387803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290517307e6332dd090d287d3489245038daf987955dcfb916370a08231916024808301926020929190829003018186803b15801561097457600080fd5b505afa158015610988573d6000803e3d6000fd5b505050506040513d602081101561099e57600080fd5b505190508015610a47576040805163a9059cbb60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f860048201526024810183905290517307e6332dd090d287d3489245038daf987955dcfb9163a9059cbb9160448083019260209291908290030181600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b5050426000555b50565b6000548156fea26469706673582212202e08791b5b8311e6c4b4e59ff1087dfac1daf59f270d969b9a84f8799202887864736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c806358e4958e1461003b578063758c6c9d14610045575b600080fd5b61004361005f565b005b61004d610a4a565b60408051918252519081900360200190f35b6000546203f4800142116100ba576040805162461bcd60e51b815260206004820152601a60248201527f43616e206f6e6c792063616c6c20657665727920332064617973000000000000604482015290519081900360640190fd5b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f86004820152905160009173e578c856933d8e1082740bf7661e379aa2a30b26916370a0823191602480820192602092909190829003018186803b15801561012357600080fd5b505afa158015610137573d6000803e3d6000fd5b505050506040513d602081101561014d57600080fd5b505190506404a817c80081111561021c576404a817c7ff1901640ba43b740081111561017b5750640ba43b74005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015230602482015260448101839052905173e578c856933d8e1082740bf7661e379aa2a30b26916323b872dd9160648083019260209291908290030181600087803b1580156101ef57600080fd5b505af1158015610203573d6000803e3d6000fd5b505050506040513d602081101561021957600080fd5b50505b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f86004820152905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916370a08231916024808301926020929190829003018186803b15801561028157600080fd5b505afa158015610295573d6000803e3d6000fd5b505050506040513d60208110156102ab57600080fd5b505190506404a817c80081111561037a576404a817c7ff1901640ba43b74008111156102d95750640ba43b74005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015230602482015260448101839052905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916323b872dd9160648083019260209291908290030181600087803b15801561034d57600080fd5b505af1158015610361573d6000803e3d6000fd5b505050506040513d602081101561037757600080fd5b50505b604080516370a0823160e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f8600482015290517338aca5484b8603373acc6961ecd57a6a594510a3916370a08231916024808301926020929190829003018186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d602081101561040957600080fd5b5051905080156104c7576305f5e10081111561042657506305f5e1005b604080516323b872dd60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f860048201523060248201526044810183905290517338aca5484b8603373acc6961ecd57a6a594510a3916323b872dd9160648083019260209291908290030181600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d60208110156104c457600080fd5b50505b604080516370a0823160e01b815230600482015290517338aca5484b8603373acc6961ecd57a6a594510a3916370a08231916024808301926020929190829003018186803b15801561051857600080fd5b505afa15801561052c573d6000803e3d6000fd5b505050506040513d602081101561054257600080fd5b50519050801561071b5760408051631a4ca37b60e21b815273321162cd933e2be498cd2267a90534a804051b116004820152602481018390523060448201529051739fad24f572045c7869117160a571b2e50b10d068916369328dec9160648083019260209291908290030181600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b505060408051630b68372160e31b81526001600482015260006024820181905260448201849052606482018190529151733a1659ddcf2339be3aea159ca010979fb49155ff92635b41b90892608480820193602093909283900390910190829087803b15801561065957600080fd5b505af115801561066d573d6000803e3d6000fd5b505050506040513d602081101561068357600080fd5b50516040805163e8eda9df60e01b815273049d68029688eabf473097a2fc38ef61633a3c7a6004820152602481018390523060448201526000606482018190529151929350739fad24f572045c7869117160a571b2e50b10d0689263e8eda9df9260848084019391929182900301818387803b15801561070257600080fd5b505af1158015610716573d6000803e3d6000fd5b505050505b604080516370a0823160e01b8152306004820152905173940f41f0ec9ba1a34cf001cc03347ac092f5f6b5916370a08231916024808301926020929190829003018186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519050801561081f5760408051630f7c084960e21b81526002600482015260006024820181905260448201849052606482018190529151730fa949783947bf6c1b171db13aeacbb488845b3f92633df02124926084808201939182900301818387803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b505050505b604080516370a0823160e01b8152306004820152905173e578c856933d8e1082740bf7661e379aa2a30b26916370a08231916024808301926020929190829003018186803b15801561087057600080fd5b505afa158015610884573d6000803e3d6000fd5b505050506040513d602081101561089a57600080fd5b5051905080156109235760408051630f7c084960e21b81526001600482015260006024820181905260448201849052606482018190529151730fa949783947bf6c1b171db13aeacbb488845b3f92633df02124926084808201939182900301818387803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290517307e6332dd090d287d3489245038daf987955dcfb916370a08231916024808301926020929190829003018186803b15801561097457600080fd5b505afa158015610988573d6000803e3d6000fd5b505050506040513d602081101561099e57600080fd5b505190508015610a47576040805163a9059cbb60e01b81527349c93a95dbcc9a6a4d8f77e59c038ce5020e82f860048201526024810183905290517307e6332dd090d287d3489245038daf987955dcfb9163a9059cbb9160448083019260209291908290030181600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b5050426000555b50565b6000548156fea26469706673582212202e08791b5b8311e6c4b4e59ff1087dfac1daf59f270d969b9a84f8799202887864736f6c63430007060033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.