Avalanche Fuji Testnet

Contract

0x1cDFEfC93D97E1B09e040a1f2d04b170eb60F4f4

Overview

AVAX Balance

Avalanche C-Chain LogoAvalanche C-Chain LogoAvalanche C-Chain Logo0 AVAX

Token Holdings

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Set Value377371912025-01-22 15:37:5654 secs ago1737560276IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377371562025-01-22 15:35:562 mins ago1737560156IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377368982025-01-22 15:09:5528 mins ago1737558595IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377367072025-01-22 14:46:3852 mins ago1737557198IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035761.1
Set Value377367032025-01-22 14:46:2852 mins ago1737557188IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377367002025-01-22 14:46:1752 mins ago1737557177IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377366952025-01-22 14:45:5752 mins ago1737557157IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377365802025-01-22 14:31:561 hr ago1737556316IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377365022025-01-22 14:23:521 hr ago1737555832IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377364182025-01-22 14:11:551 hr ago1737555115IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377363832025-01-22 14:07:571 hr ago1737554877IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377362612025-01-22 13:53:541 hr ago1737554034IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377362452025-01-22 13:51:551 hr ago1737553915IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377362062025-01-22 13:46:291 hr ago1737553589IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035761.1
Set Value377362042025-01-22 13:46:181 hr ago1737553578IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377362022025-01-22 13:46:071 hr ago1737553567IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377361992025-01-22 13:45:551 hr ago1737553555IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377361472025-01-22 13:39:591 hr ago1737553199IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377360032025-01-22 13:29:532 hrs ago1737552593IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377353932025-01-22 12:46:152 hrs ago1737549975IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035761.1
Set Value377353912025-01-22 12:46:072 hrs ago1737549967IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377353882025-01-22 12:45:542 hrs ago1737549954IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035771.1
Set Value377352802025-01-22 12:31:543 hrs ago1737549114IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377352532025-01-22 12:29:543 hrs ago1737548994IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1
Set Value377350912025-01-22 12:17:533 hrs ago1737548273IN
0x1cDFEfC9...0eb60F4f4
0 AVAX0.000035751.1

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DIAOracle

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at testnet.snowscan.xyz on 2021-11-06
*/

pragma solidity 0.7.4;

contract DIAOracle {
    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 getValue(string memory key) public 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);
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"key","type":"string"},{"indexed":false,"internalType":"uint128","name":"value","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"timestamp","type":"uint128"}],"name":"OracleUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newUpdater","type":"address"}],"name":"UpdaterAddressChange","type":"event"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"getValue","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"},{"internalType":"uint128","name":"value","type":"uint128"},{"internalType":"uint128","name":"timestamp","type":"uint128"}],"name":"setValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOracleUpdaterAddress","type":"address"}],"name":"updateOracleUpdaterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"values","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50600180546001600160a01b0319163317905561054d806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635a9ade8b146100515780636aa45efc146101095780637898e0c214610131578063960384a0146101ed575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102c2945050505050565b60408051918252519081900360200190f35b61012f6004803603602081101561011f57600080fd5b50356001600160a01b03166102df565b005b61012f6004803603606081101561014757600080fd5b81019060208101813564010000000081111561016257600080fd5b82018360208201111561017457600080fd5b8035906020019184600183028401116401000000008311171561019657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160801b03833581169450602090930135909216915061034a9050565b6102936004803603602081101561020357600080fd5b81019060208101813564010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061049a945050505050565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b805160208183018101805160008252928201919093012091525481565b6001546001600160a01b031633146102f657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f9181900360200190a150565b6001546001600160a01b0316331461036157600080fd5b6000816001600160801b03166080846001600160801b0316901b019050806000856040518082805190602001908083835b602083106103b15780518252601f199092019160209182019101610392565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520959095556001600160801b03888116858301528716948401949094525050606080825286519082015285517fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee2291782928792879287928291608083019187019080838360005b83811015610458578181015183820152602001610440565b50505050905090810190601f1680156104855780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150505050565b600080600080846040518082805190602001908083835b602083106104d05780518252601f1990920191602091820191016104b1565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054608081901c976001600160801b03909116965094505050505056fea2646970667358221220173e1e0e4683f714af1a3b281da47c6b7975dd28084f2304133052d163c4907164736f6c63430007040033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635a9ade8b146100515780636aa45efc146101095780637898e0c214610131578063960384a0146101ed575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102c2945050505050565b60408051918252519081900360200190f35b61012f6004803603602081101561011f57600080fd5b50356001600160a01b03166102df565b005b61012f6004803603606081101561014757600080fd5b81019060208101813564010000000081111561016257600080fd5b82018360208201111561017457600080fd5b8035906020019184600183028401116401000000008311171561019657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160801b03833581169450602090930135909216915061034a9050565b6102936004803603602081101561020357600080fd5b81019060208101813564010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061049a945050505050565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b805160208183018101805160008252928201919093012091525481565b6001546001600160a01b031633146102f657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f9181900360200190a150565b6001546001600160a01b0316331461036157600080fd5b6000816001600160801b03166080846001600160801b0316901b019050806000856040518082805190602001908083835b602083106103b15780518252601f199092019160209182019101610392565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520959095556001600160801b03888116858301528716948401949094525050606080825286519082015285517fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee2291782928792879287928291608083019187019080838360005b83811015610458578181015183820152602001610440565b50505050905090810190601f1680156104855780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150505050565b600080600080846040518082805190602001908083835b602083106104d05780518252601f1990920191602091820191016104b1565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054608081901c976001600160801b03909116965094505050505056fea2646970667358221220173e1e0e4683f714af1a3b281da47c6b7975dd28084f2304133052d163c4907164736f6c63430007040033

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.