Overview
GLMR Balance
GLMR Value
$0.00Latest 25 from a total of 37 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Set Oracle For A... | 1651242 | 1265 days ago | IN | 0 GLMR | 0.00347254 | ||||
| Set Oracle For A... | 1651239 | 1265 days ago | IN | 0 GLMR | 0.00341036 | ||||
| Set Oracle For A... | 1651233 | 1265 days ago | IN | 0 GLMR | 0.00350761 | ||||
| Set Oracle For A... | 1651226 | 1265 days ago | IN | 0 GLMR | 0.01017181 | ||||
| Set Oracle For A... | 1651225 | 1265 days ago | IN | 0 GLMR | 0.00341036 | ||||
| Set Oracle For A... | 1651220 | 1265 days ago | IN | 0 GLMR | 0.00341036 | ||||
| Set Oracle For A... | 1651146 | 1265 days ago | IN | 0 GLMR | 0.00341036 | ||||
| Set Oracle For A... | 1315923 | 1314 days ago | IN | 0 GLMR | 0.00341036 | ||||
| Set Oracle For A... | 1315885 | 1314 days ago | IN | 0 GLMR | 0.00341036 | ||||
| _set Pending Imp... | 1058991 | 1352 days ago | IN | 0 GLMR | 0.08098726 | ||||
| Set Oracle For A... | 705739 | 1403 days ago | IN | 0 GLMR | 0.0067576 | ||||
| Set Oracle For A... | 705677 | 1403 days ago | IN | 0 GLMR | 0.0067576 | ||||
| Set Oracle For A... | 705671 | 1403 days ago | IN | 0 GLMR | 0.0067576 | ||||
| Register New Ln | 673139 | 1408 days ago | IN | 0 GLMR | 0.0110048 | ||||
| Set Oracle For A... | 673057 | 1408 days ago | IN | 0 GLMR | 0.0107376 | ||||
| Set Oracle For A... | 673040 | 1408 days ago | IN | 0 GLMR | 0.0107376 | ||||
| Set Oracle For A... | 673037 | 1408 days ago | IN | 0 GLMR | 0.0107376 | ||||
| Set Oracle For A... | 673029 | 1408 days ago | IN | 0 GLMR | 0.0107376 | ||||
| _accept Admin | 416078 | 1445 days ago | IN | 0 GLMR | 0.0023148 | ||||
| _set Pending Adm... | 416065 | 1445 days ago | IN | 0 GLMR | 0.0047427 | ||||
| Register New Ln | 333530 | 1457 days ago | IN | 0 GLMR | 0.0047924 | ||||
| Set Oracle For A... | 333339 | 1457 days ago | IN | 0 GLMR | 0.0047888 | ||||
| Set Oracle For A... | 332056 | 1457 days ago | IN | 0 GLMR | 0.0047888 | ||||
| Set Oracle For A... | 332054 | 1457 days ago | IN | 0 GLMR | 0.0047888 | ||||
| Set Oracle For A... | 332052 | 1457 days ago | IN | 0 GLMR | 0.0047888 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5937413 | 657 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729956 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729954 | 686 days ago | 0 GLMR | ||||
| 5729948 | 686 days ago | 0 GLMR | ||||
| 5729948 | 686 days ago | 0 GLMR | ||||
| 5729948 | 686 days ago | 0 GLMR |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Ministry
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.5.16;
import "./RegistryStorage.sol";
/**
* @title RegistryCore
* @dev Storage for the Registry is at this address, while execution is delegated to the `implementation`.
* OTokens and Unitrollers should reference this contract as their Registry.
*/
contract Ministry is UnistryAdminStorage {
/**
* @notice Emitted when implementation is changed
*/
event NewPendingImplementation(address oldPendingImplementation, address newPendingImplementation);
/**
* @notice Emitted when pendingImplementation is accepted, which means Registry implementation is updated
*/
event NewImplementation(address oldImplementation, address newImplementation);
/**
* @notice Emitted when pendingAdmin is changed
*/
event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);
/**
* @notice Emitted when pendingAdmin is accepted, which means admin is updated
*/
event NewAdmin(address oldAdmin, address newAdmin);
constructor(bool _blocksBased) public {
// Set admin to caller
admin = msg.sender;
// Set the calculation base for this blockchain contracts
blocksBased = _blocksBased;
}
/*** Admin Functions ***/
function _setPendingImplementation(address newPendingImplementation) public returns (uint) {
require(msg.sender == admin, "Not Admin");
address oldPendingImplementation = pendingImplementation;
pendingImplementation = newPendingImplementation;
emit NewPendingImplementation(oldPendingImplementation, pendingImplementation);
// return uint(Error.NO_ERROR);
return 0;
}
/**
* @notice Accepts new implementation of Registry. msg.sender must be pendingImplementation
* @dev Admin function for new implementation to accept it's role as implementation
* @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
*/
function _acceptImplementation() public returns (uint) {
// Check caller is pendingImplementation and pendingImplementation ≠ address(0)
require(msg.sender == pendingImplementation && pendingImplementation != address(0), "Not the EXISTING registry implementation");
// Save current values for inclusion in log
address oldImplementation = implementation;
address oldPendingImplementation = pendingImplementation;
implementation = pendingImplementation;
pendingImplementation = address(0);
emit NewImplementation(oldImplementation, implementation);
emit NewPendingImplementation(oldPendingImplementation, pendingImplementation);
return 0;
}
/**
* @notice Begins transfer of admin rights. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
* @dev Admin function to begin change of admin. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
* @param newPendingAdmin New pending admin.
* @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
*/
function _setPendingAdmin(address newPendingAdmin) public returns (uint) {
// Check caller = admin
require(msg.sender == admin, "Not Admin");
// Save current value, if any, for inclusion in log
address oldPendingAdmin = pendingAdmin;
// Store pendingAdmin with value newPendingAdmin
pendingAdmin = newPendingAdmin;
// Emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin)
emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin);
// return uint(Error.NO_ERROR);
return 0;
}
/**
* @notice Accepts transfer of admin rights. msg.sender must be pendingAdmin
* @dev Admin function for pending admin to accept role and update admin
* @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
*/
function _acceptAdmin() public returns (uint) {
// Check caller is pendingAdmin and pendingAdmin ≠ address(0)
require(msg.sender == pendingAdmin && pendingAdmin != address(0), "Not the EXISTING pending admin");
// Save current values for inclusion in log
address oldAdmin = admin;
address oldPendingAdmin = pendingAdmin;
// Store admin with value pendingAdmin
admin = pendingAdmin;
// Clear the pending value
pendingAdmin = address(0);
emit NewAdmin(oldAdmin, admin);
emit NewPendingAdmin(oldPendingAdmin, pendingAdmin);
// return uint(Error.NO_ERROR);
return 0;
}
/**
* @dev Delegates execution to an implementation contract.
* It returns to the external caller whatever the implementation returns
* or forwards reverts.
*/
function () payable external {
// delegate all other functions to current implementation
(bool success, ) = implementation.delegatecall(msg.data);
assembly {
let free_mem_ptr := mload(0x40)
returndatacopy(free_mem_ptr, 0, returndatasize)
switch success
case 0 { revert(free_mem_ptr, returndatasize) }
default { return(free_mem_ptr, returndatasize) }
}
}
}pragma solidity ^0.5.16;
contract UnistryAdminStorage {
/**
* @notice Administrator for this contract
*/
address public admin;
/**
* @notice Pending administrator for this contract
*/
address public pendingAdmin;
/**
* @notice Active brains of Ministry
*/
address public implementation;
/**
* @notice Pending brains of Ministry
*/
address public pendingImplementation;
// Indicates if calculations should be block based or time based
bool public blocksBased;
}
contract RegistryV0Storage is UnistryAdminStorage {
// The address to send the 'Ola Part' when reducing reserves.
address public olaBankAddress;
// Part of reserves that are allocated to Ola (Deprecated)
uint256 public olaReservesFactorMantissa;
// Asset address -> Price oracle address
mapping(address => address) public priceOracles;
// The latest system version
uint256 public latestSystemVersion;
// Unitroller address -> System version (MAX_INT means always take latest)
mapping(address => uint256) public lnVersions;
// System version -> (contract name hash -> implementation)
mapping(uint256 => mapping(bytes32 => address)) public implementations;
// System versions => isSupported
mapping(uint256 => bool) public supportedSystemVersions;
// Interest rate model address => isSupported
mapping(address => bool) public supportedInterestRateModels;
}
contract RegistryV1Storage is RegistryV0Storage {
// System version -> OTokens Factory
mapping(uint256 => address) public tokenFactories;
// Contract name hash => Contract factory
mapping(bytes32 => address) public peripheralFactories;
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"bool","name":"_blocksBased","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"NewPendingImplementation","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"_acceptAdmin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"_acceptImplementation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"_setPendingAdmin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPendingImplementation","type":"address"}],"name":"_setPendingImplementation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blocksBased","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506040516107183803806107188339818101604052602081101561003357600080fd5b5051600080546001600160a01b0319163317905560038054911515600160a01b0260ff60a01b199092169190911790556106a6806100726000396000f3fe6080604052600436106100865760003560e01c8063b9ab55eb11610059578063b9ab55eb146101a9578063c1e80334146101d2578063e992a041146101e7578063e9c714f21461021a578063f851a4401461022f57610086565b80632678224714610109578063396f7b231461013a5780635c60da1b1461014f578063b71d1a0c14610164575b6002546040516000916001600160a01b031690829036908083838082843760405192019450600093509091505080830381855af49150503d80600081146100e9576040519150601f19603f3d011682016040523d82523d6000602084013e6100ee565b606091505b505090506040513d6000823e818015610105573d82f35b3d82fd5b34801561011557600080fd5b5061011e610244565b604080516001600160a01b039092168252519081900360200190f35b34801561014657600080fd5b5061011e610253565b34801561015b57600080fd5b5061011e610262565b34801561017057600080fd5b506101976004803603602081101561018757600080fd5b50356001600160a01b0316610271565b60408051918252519081900360200190f35b3480156101b557600080fd5b506101be610325565b604080519115158252519081900360200190f35b3480156101de57600080fd5b50610197610335565b3480156101f357600080fd5b506101976004803603602081101561020a57600080fd5b50356001600160a01b0316610453565b34801561022657600080fd5b50610197610506565b34801561023b57600080fd5b5061011e61063a565b6001546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b600080546001600160a01b031633146102bd576040805162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b604482015290519081900360640190fd5b600180546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a150600092915050565b600354600160a01b900460ff1681565b6003546000906001600160a01b03163314801561035c57506003546001600160a01b031615155b6103975760405162461bcd60e51b815260040180806020018281038252602881526020018061064a6028913960400191505060405180910390fd5b60028054600380546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a92908290030190a1600354604080516001600160a01b038085168252909216602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a160009250505090565b600080546001600160a01b0316331461049f576040805162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b604482015290519081900360640190fd5b600380546001600160a01b038481166001600160a01b0319831617928390556040805192821680845293909116602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a150600092915050565b6001546000906001600160a01b03163314801561052d57506001546001600160a01b031615155b61057e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e0000604482015290519081900360640190fd5b60008054600180546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600154604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b6000546001600160a01b03168156fe4e6f7420746865204558495354494e4720726567697374727920696d706c656d656e746174696f6ea265627a7a72315820aefd0e73eb5aee7b04569288d0d67abc4fcf37388faadd65751dce35c06c443664736f6c634300051000320000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100865760003560e01c8063b9ab55eb11610059578063b9ab55eb146101a9578063c1e80334146101d2578063e992a041146101e7578063e9c714f21461021a578063f851a4401461022f57610086565b80632678224714610109578063396f7b231461013a5780635c60da1b1461014f578063b71d1a0c14610164575b6002546040516000916001600160a01b031690829036908083838082843760405192019450600093509091505080830381855af49150503d80600081146100e9576040519150601f19603f3d011682016040523d82523d6000602084013e6100ee565b606091505b505090506040513d6000823e818015610105573d82f35b3d82fd5b34801561011557600080fd5b5061011e610244565b604080516001600160a01b039092168252519081900360200190f35b34801561014657600080fd5b5061011e610253565b34801561015b57600080fd5b5061011e610262565b34801561017057600080fd5b506101976004803603602081101561018757600080fd5b50356001600160a01b0316610271565b60408051918252519081900360200190f35b3480156101b557600080fd5b506101be610325565b604080519115158252519081900360200190f35b3480156101de57600080fd5b50610197610335565b3480156101f357600080fd5b506101976004803603602081101561020a57600080fd5b50356001600160a01b0316610453565b34801561022657600080fd5b50610197610506565b34801561023b57600080fd5b5061011e61063a565b6001546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b600080546001600160a01b031633146102bd576040805162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b604482015290519081900360640190fd5b600180546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a150600092915050565b600354600160a01b900460ff1681565b6003546000906001600160a01b03163314801561035c57506003546001600160a01b031615155b6103975760405162461bcd60e51b815260040180806020018281038252602881526020018061064a6028913960400191505060405180910390fd5b60028054600380546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a92908290030190a1600354604080516001600160a01b038085168252909216602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a160009250505090565b600080546001600160a01b0316331461049f576040805162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b604482015290519081900360640190fd5b600380546001600160a01b038481166001600160a01b0319831617928390556040805192821680845293909116602083015280517fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159281900390910190a150600092915050565b6001546000906001600160a01b03163314801561052d57506001546001600160a01b031615155b61057e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e0000604482015290519081900360640190fd5b60008054600180546001600160a01b038082166001600160a01b031980861682179687905590921690925560408051938316808552949092166020840152815190927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600154604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b6000546001600160a01b03168156fe4e6f7420746865204558495354494e4720726567697374727920696d706c656d656e746174696f6ea265627a7a72315820aefd0e73eb5aee7b04569288d0d67abc4fcf37388faadd65751dce35c06c443664736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _blocksBased (bool): False
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in GLMR
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.