Source Code
Overview
S Balance
More Info
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Initialize Next ... | 22744571 | 14 days ago | IN | 0 S | 0.00128981 |
Latest 14 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744571 | 14 days ago | 0 S | ||||
22744559 | 14 days ago | 0 S |
Loading...
Loading
Contract Name:
DisposableMCR
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-only pragma solidity ^0.8.18; import "../../interfaces/IMasterAware.sol"; import "../../interfaces/IMCR.sol"; contract DisposableMCR is IMCR { uint80 public mcr; uint80 public desiredMCR; uint32 public lastUpdateTime; uint16 public maxMCRIncrement; uint24 public gearingFactor; uint16 public minUpdateTime; constructor( uint80 _mcr, uint80 _desiredMCR, uint32 _lastUpdateTime, uint16 _maxMCRIncrement, uint24 _gearingFactor, uint16 _minUpdateTime ) { require(_lastUpdateTime < block.timestamp, "_lastUpdateTime is in the future"); // values mcr = _mcr; desiredMCR = _desiredMCR; lastUpdateTime = _lastUpdateTime; // parameters maxMCRIncrement = _maxMCRIncrement; gearingFactor = _gearingFactor; minUpdateTime = _minUpdateTime; currentMcrAddress = address(this); } function getMCR() external pure returns (uint) { revert("MCRMockMCRAndFakeMaster: Unexpected getLatestAddress() call"); } function updateMCRInternal(bool) external pure { revert("MCRMockMCRAndFakeMaster: Unexpected updateMCRInternal() call"); } /* fake master functions */ address internal currentMcrAddress = address(this); function getLatestAddress(bytes2) external view returns (address) { return currentMcrAddress; } // update from fake master (this contract) to the real one and trigger initialization function initializeNextMcr(IMasterAware mcrContract, address newMasterAddress) external { currentMcrAddress = address(mcrContract); mcrContract.changeDependentContractAddress(); mcrContract.changeMasterAddress(newMasterAddress); mcrContract.changeDependentContractAddress(); } /* end fake master functions */ }
// SPDX-License-Identifier: GPL-3.0-only pragma solidity >=0.5.0; interface IMasterAware { function changeMasterAddress(address masterAddress) external; function changeDependentContractAddress() external; }
// SPDX-License-Identifier: GPL-3.0-only pragma solidity >=0.5.0; interface IMCR { function updateMCRInternal(bool forceUpdate) external; function getMCR() external view returns (uint); function mcr() external view returns (uint80); function desiredMCR() external view returns (uint80); function lastUpdateTime() external view returns (uint32); function maxMCRIncrement() external view returns (uint16); function gearingFactor() external view returns (uint24); function minUpdateTime() external view returns (uint16); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract ABI
API[{"inputs":[{"internalType":"uint80","name":"_mcr","type":"uint80"},{"internalType":"uint80","name":"_desiredMCR","type":"uint80"},{"internalType":"uint32","name":"_lastUpdateTime","type":"uint32"},{"internalType":"uint16","name":"_maxMCRIncrement","type":"uint16"},{"internalType":"uint24","name":"_gearingFactor","type":"uint24"},{"internalType":"uint16","name":"_minUpdateTime","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"desiredMCR","outputs":[{"internalType":"uint80","name":"","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gearingFactor","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes2","name":"","type":"bytes2"}],"name":"getLatestAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMCR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract IMasterAware","name":"mcrContract","type":"address"},{"internalType":"address","name":"newMasterAddress","type":"address"}],"name":"initializeNextMcr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMCRIncrement","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mcr","outputs":[{"internalType":"uint80","name":"","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minUpdateTime","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"","type":"bool"}],"name":"updateMCRInternal","outputs":[],"stateMutability":"pure","type":"function"}]
Contract Creation Code
6080604052600180546001600160a01b0319163017905534801561002257600080fd5b506040516106ed3803806106ed8339810160408190526100419161017b565b428463ffffffff161061009a5760405162461bcd60e51b815260206004820181905260248201527f5f6c61737455706461746554696d6520697320696e2074686520667574757265604482015260640160405180910390fd5b600080546001600160501b039788166001600160a01b0319918216176a010000000000000000000097909816969096029690961765ffffffffffff60a01b1916600160a01b63ffffffff959095169490940261ffff60c01b191693909317600160c01b61ffff938416021764ffffffffff60d01b1916600160d01b62ffffff929092169190910261ffff60e81b191617600160e81b92909116919091021790915560018054309216919091179055610204565b80516001600160501b038116811461016457600080fd5b919050565b805161ffff8116811461016457600080fd5b60008060008060008060c0878903121561019457600080fd5b61019d8761014d565b95506101ab6020880161014d565b9450604087015163ffffffff811681146101c457600080fd5b93506101d260608801610169565b9250608087015162ffffff811681146101ea57600080fd5b91506101f860a08801610169565b90509295509295509295565b6104da806102136000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a399af0f11610066578063a399af0f14610169578063a8a41a681461017e578063b8caedc4146101a8578063c8f33c91146101be578063d467804b146101ea57600080fd5b806301382858146100a3578063017e7d8f146100de578063364c45fe1461011657806344936b101461012b57806369da148d14610141575b600080fd5b6100c16100b1366004610400565b506001546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b6000546100fb90600160501b900469ffffffffffffffffffff1681565b60405169ffffffffffffffffffff90911681526020016100d5565b610129610124366004610431565b6101fd565b005b610133610270565b6040519081526020016100d5565b60005461015690600160e81b900461ffff1681565b60405161ffff90911681526020016100d5565b60005461015690600160c01b900461ffff1681565b60005461019490600160d01b900462ffffff1681565b60405162ffffff90911681526020016100d5565b6000546100fb9069ffffffffffffffffffff1681565b6000546101d590600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016100d5565b6101296101f836600461046b565b6102e1565b60405162461bcd60e51b815260206004820152603c60248201527f4d43524d6f636b4d4352416e6446616b654d61737465723a20556e657870656360448201527f746564207570646174654d4352496e7465726e616c28292063616c6c0000000060648201526084015b60405180910390fd5b60405162461bcd60e51b815260206004820152603b60248201527f4d43524d6f636b4d4352416e6446616b654d61737465723a20556e657870656360448201527f746564206765744c61746573744164647265737328292063616c6c00000000006064820152600090608401610267565b600180546001600160a01b0319166001600160a01b038416908117909155604080516303aa726160e21b81529051630ea9c9849160048082019260009290919082900301818387803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b5050604051633519957d60e21b81526001600160a01b0384811660048301528516925063d46655f49150602401600060405180830381600087803b15801561039157600080fd5b505af11580156103a5573d6000803e3d6000fd5b50505050816001600160a01b0316630ea9c9846040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103e457600080fd5b505af11580156103f8573d6000803e3d6000fd5b505050505050565b60006020828403121561041257600080fd5b81356001600160f01b03198116811461042a57600080fd5b9392505050565b60006020828403121561044357600080fd5b8135801515811461042a57600080fd5b6001600160a01b038116811461046857600080fd5b50565b6000806040838503121561047e57600080fd5b823561048981610453565b9150602083013561049981610453565b80915050925092905056fea26469706673582212203fb3f8cbeefe1d35c96d29b44e0c296eb30974f88fd94b2a68f603166c41bf3464736f6c6343000812003300000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000067bc99bc00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000e10
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a399af0f11610066578063a399af0f14610169578063a8a41a681461017e578063b8caedc4146101a8578063c8f33c91146101be578063d467804b146101ea57600080fd5b806301382858146100a3578063017e7d8f146100de578063364c45fe1461011657806344936b101461012b57806369da148d14610141575b600080fd5b6100c16100b1366004610400565b506001546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b6000546100fb90600160501b900469ffffffffffffffffffff1681565b60405169ffffffffffffffffffff90911681526020016100d5565b610129610124366004610431565b6101fd565b005b610133610270565b6040519081526020016100d5565b60005461015690600160e81b900461ffff1681565b60405161ffff90911681526020016100d5565b60005461015690600160c01b900461ffff1681565b60005461019490600160d01b900462ffffff1681565b60405162ffffff90911681526020016100d5565b6000546100fb9069ffffffffffffffffffff1681565b6000546101d590600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016100d5565b6101296101f836600461046b565b6102e1565b60405162461bcd60e51b815260206004820152603c60248201527f4d43524d6f636b4d4352416e6446616b654d61737465723a20556e657870656360448201527f746564207570646174654d4352496e7465726e616c28292063616c6c0000000060648201526084015b60405180910390fd5b60405162461bcd60e51b815260206004820152603b60248201527f4d43524d6f636b4d4352416e6446616b654d61737465723a20556e657870656360448201527f746564206765744c61746573744164647265737328292063616c6c00000000006064820152600090608401610267565b600180546001600160a01b0319166001600160a01b038416908117909155604080516303aa726160e21b81529051630ea9c9849160048082019260009290919082900301818387803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b5050604051633519957d60e21b81526001600160a01b0384811660048301528516925063d46655f49150602401600060405180830381600087803b15801561039157600080fd5b505af11580156103a5573d6000803e3d6000fd5b50505050816001600160a01b0316630ea9c9846040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103e457600080fd5b505af11580156103f8573d6000803e3d6000fd5b505050505050565b60006020828403121561041257600080fd5b81356001600160f01b03198116811461042a57600080fd5b9392505050565b60006020828403121561044357600080fd5b8135801515811461042a57600080fd5b6001600160a01b038116811461046857600080fd5b50565b6000806040838503121561047e57600080fd5b823561048981610453565b9150602083013561049981610453565b80915050925092905056fea26469706673582212203fb3f8cbeefe1d35c96d29b44e0c296eb30974f88fd94b2a68f603166c41bf3464736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000067bc99bc00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000e10
-----Decoded View---------------
Arg [0] : _mcr (uint80): 10000000000000000000000
Arg [1] : _desiredMCR (uint80): 10000000000000000000000
Arg [2] : _lastUpdateTime (uint32): 1740413372
Arg [3] : _maxMCRIncrement (uint16): 500
Arg [4] : _gearingFactor (uint24): 48000
Arg [5] : _minUpdateTime (uint16): 3600
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000021e19e0c9bab2400000
Arg [1] : 00000000000000000000000000000000000000000000021e19e0c9bab2400000
Arg [2] : 0000000000000000000000000000000000000000000000000000000067bc99bc
Arg [3] : 00000000000000000000000000000000000000000000000000000000000001f4
Arg [4] : 000000000000000000000000000000000000000000000000000000000000bb80
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000e10
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.