Address Contract Verified
Address
0xD4D0DE1Cf72aD673a253dd6b5dd3f1feB666BdBf
Balance
0 ETH
Nonce
1
Code Size
3371 bytes
Creator
0x721fAC43...91A9 at tx 0xde254273...0cefc9
Indexed Transactions
0
Contract Bytecode
3371 bytes
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80635a9ade8b1461005c5780636aa45efc1461008c5780637898e0c2146100a85780638d241526146100c4578063960384a0146100e0575b600080fd5b6100766004803603810190610071919061064d565b610111565b60405161008391906106af565b60405180910390f35b6100a660048036038101906100a19190610728565b61013f565b005b6100c260048036038101906100bd919061079d565b610214565b005b6100de60048036038101906100d991906109e1565b61030a565b005b6100fa60048036038101906100f5919061064d565b610496565b604051610108929190610a68565b60405180910390f35b6000818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f816040516102099190610aa0565b60405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026e57600080fd5b6000816fffffffffffffffffffffffffffffffff166080846fffffffffffffffffffffffffffffffff16901b6102a49190610aea565b9050806000856040516102b79190610b8f565b9081526020016040518091039020819055507fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee22917828484846040516102fc93929190610bf0565b60405180910390a150505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036457600080fd5b805182511461037257600080fd5b60005b8251816fffffffffffffffffffffffffffffffff16101561049157600083826fffffffffffffffffffffffffffffffff16815181106103b7576103b6610c2e565b5b60200260200101519050600083836fffffffffffffffffffffffffffffffff16815181106103e8576103e7610c2e565b5b602002602001015190506000608082901c905060007001000000000000000000000000000000008361041a9190610c8c565b90508260008560405161042d9190610b8f565b9081526020016040518091039020819055507fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee229178284838360405161047293929190610bf0565b60405180910390a150505050808061048990610cbd565b915050610375565b505050565b600080600080846040516104aa9190610b8f565b90815260200160405180910390205490506000700100000000000000000000000000000000826104da9190610c8c565b90506000608083901c9050808294509450505050915091565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61055a82610511565b810181811067ffffffffffffffff8211171561057957610578610522565b5b80604052505050565b600061058c6104f3565b90506105988282610551565b919050565b600067ffffffffffffffff8211156105b8576105b7610522565b5b6105c182610511565b9050602081019050919050565b82818337600083830152505050565b60006105f06105eb8461059d565b610582565b90508281526020810184848401111561060c5761060b61050c565b5b6106178482856105ce565b509392505050565b600082601f83011261063457610633610507565b5b81356106448482602086016105dd565b91505092915050565b600060208284031215610663576106626104fd565b5b600082013567ffffffffffffffff81111561068157610680610502565b5b61068d8482850161061f565b91505092915050565b6000819050919050565b6106a981610696565b82525050565b60006020820190506106c460008301846106a0565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106f5826106ca565b9050919050565b610705816106ea565b811461071057600080fd5b50565b600081359050610722816106fc565b92915050565b60006020828403121561073e5761073d6104fd565b5b600061074c84828501610713565b91505092915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b61077a81610755565b811461078557600080fd5b50565b60008135905061079781610771565b92915050565b6000806000606084860312156107b6576107b56104fd565b5b600084013567ffffffffffffffff8111156107d4576107d3610502565b5b6107e08682870161061f565b93505060206107f186828701610788565b925050604061080286828701610788565b9150509250925092565b600067ffffffffffffffff82111561082757610826610522565b5b602082029050602081019050919050565b600080fd5b600061085061084b8461080c565b610582565b9050808382526020820190506020840283018581111561087357610872610838565b5b835b818110156108ba57803567ffffffffffffffff81111561089857610897610507565b5b8086016108a5898261061f565b85526020850194505050602081019050610875565b5050509392505050565b600082601f8301126108d9576108d8610507565b5b81356108e984826020860161083d565b91505092915050565b600067ffffffffffffffff82111561090d5761090c610522565b5b602082029050602081019050919050565b61092781610696565b811461093257600080fd5b50565b6000813590506109448161091e565b92915050565b600061095d610958846108f2565b610582565b905080838252602082019050602084028301858111156109805761097f610838565b5b835b818110156109a957806109958882610935565b845260208401935050602081019050610982565b5050509392505050565b600082601f8301126109c8576109c7610507565b5b81356109d884826020860161094a565b91505092915050565b600080604083850312156109f8576109f76104fd565b5b600083013567ffffffffffffffff811115610a1657610a15610502565b5b610a22858286016108c4565b925050602083013567ffffffffffffffff811115610a4357610a42610502565b5b610a4f858286016109b3565b9150509250929050565b610a6281610755565b82525050565b6000604082019050610a7d6000830185610a59565b610a8a6020830184610a59565b9392505050565b610a9a816106ea565b82525050565b6000602082019050610ab56000830184610a91565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610af582610696565b9150610b0083610696565b9250828201905080821115610b1857610b17610abb565b5b92915050565b600081519050919050565b600081905092915050565b60005b83811015610b52578082015181840152602081019050610b37565b60008484015250505050565b6000610b6982610b1e565b610b738185610b29565b9350610b83818560208601610b34565b80840191505092915050565b6000610b9b8284610b5e565b915081905092915050565b600082825260208201905092915050565b6000610bc282610b1e565b610bcc8185610ba6565b9350610bdc818560208601610b34565b610be581610511565b840191505092915050565b60006060820190508181036000830152610c0a8186610bb7565b9050610c196020830185610a59565b610c266040830184610a59565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610c9782610696565b9150610ca283610696565b925082610cb257610cb1610c5d565b5b828206905092915050565b6000610cc882610755565b91506fffffffffffffffffffffffffffffffff8203610cea57610ce9610abb565b5b60018201905091905056fea264697066735822122096e5eb13f0172bb20b069f03fe9ffde7076e5202691b7e7d22386add3a6144ba64736f6c63430008130033
Verified Source Code Full Match
Compiler: v0.8.19+commit.7dd6d404
EVM: paris
Optimization: No
DIAOracleV2Multiupdate.sol 50 lines
// compiled using solidity 0.8.19
pragma solidity 0.8.19;
contract DIAOracleV2 {
mapping (string => uint256) public values;
address oracleUpdater;
event OracleUpdate(string key, uint128 value, uint128 timestamp);
event UpdaterAddressChange(address newUpdater);
constructor() {
oracleUpdater = msg.sender;
}
function setValue(string memory key, uint128 value, uint128 timestamp) public {
require(msg.sender == oracleUpdater);
uint256 cValue = (((uint256)(value)) << 128) + timestamp;
values[key] = cValue;
emit OracleUpdate(key, value, timestamp);
}
function setMultipleValues(string[] memory keys, uint256[] memory compressedValues) public {
require(msg.sender == oracleUpdater);
require(keys.length == compressedValues.length);
for (uint128 i = 0; i < keys.length; i++) {
string memory currentKey = keys[i];
uint256 currentCvalue = compressedValues[i];
uint128 value = (uint128)(currentCvalue >> 128);
uint128 timestamp = (uint128)(currentCvalue % 2**128);
values[currentKey] = currentCvalue;
emit OracleUpdate(currentKey, value, timestamp);
}
}
function getValue(string memory key) external view returns (uint128, uint128) {
uint256 cValue = values[key];
uint128 timestamp = (uint128)(cValue % 2**128);
uint128 value = (uint128)(cValue >> 128);
return (value, timestamp);
}
function updateOracleUpdaterAddress(address newOracleUpdaterAddress) public {
require(msg.sender == oracleUpdater);
oracleUpdater = newOracleUpdaterAddress;
emit UpdaterAddressChange(newOracleUpdaterAddress);
}
}
Read Contract
getValue 0x960384a0 → uint128, uint128
values 0x5a9ade8b → uint256
Write Contract 3 functions
These functions modify contract state and require a wallet transaction to execute.
setMultipleValues 0x8d241526
string[] keys
uint256[] compressedValues
setValue 0x7898e0c2
string key
uint128 value
uint128 timestamp
updateOracleUpdaterAddress 0x6aa45efc
address newOracleUpdaterAddress
Recent Transactions
No transactions found for this address