FTM Price: $0.41176 (+6.77%)
 

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

FTM Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Set Value741466382024-01-13 4:55:31239 days ago1705121731IN
0xdb547398...8e0d039F7
0 FTM0.0008337825.65504876
Set Value741097992024-01-12 11:46:10239 days ago1705059970IN
0xdb547398...8e0d039F7
0 FTM0.0010672532.83847698
Set Value741072772024-01-12 9:45:13240 days ago1705052713IN
0xdb547398...8e0d039F7
0 FTM0.0009900630.46353292
Set Value741072732024-01-12 9:45:03240 days ago1705052703IN
0xdb547398...8e0d039F7
0 FTM0.0009894630.44507834
Set Value741065672024-01-12 9:14:52240 days ago1705050892IN
0xdb547398...8e0d039F7
0 FTM0.0009450929.0799165
Set Value741000072024-01-12 3:55:23240 days ago1705031723IN
0xdb547398...8e0d039F7
0 FTM0.0008975127.61577221
Set Value740715612024-01-11 13:51:30240 days ago1704981090IN
0xdb547398...8e0d039F7
0 FTM0.0016876951.928965
Set Value740715582024-01-11 13:51:28240 days ago1704981088IN
0xdb547398...8e0d039F7
0 FTM0.0016946852.14428742
Set Value740636002024-01-11 8:40:18241 days ago1704962418IN
0xdb547398...8e0d039F7
0 FTM0.0011512835.42416031
Set Value738228722024-01-07 3:54:13245 days ago1704599653IN
0xdb547398...8e0d039F7
0 FTM0.0026949182.92045739
Set Value737951802024-01-06 17:14:19245 days ago1704561259IN
0xdb547398...8e0d039F7
0 FTM0.0005796517.83547578
Set Value736971862024-01-04 10:42:19247 days ago1704364939IN
0xdb547398...8e0d039F7
0 FTM0.0014437244.42244587
Set Value736971842024-01-04 10:42:18247 days ago1704364938IN
0xdb547398...8e0d039F7
0 FTM0.0014433944.41223329
Set Value716405102023-11-28 9:28:00285 days ago1701163680IN
0xdb547398...8e0d039F7
0 FTM0.0016373412.66096311
Set Value668034312023-08-09 17:23:48395 days ago1691601828IN
0xdb547398...8e0d039F7
0 FTM0.0022065517.0625
Set Value664376732023-07-30 3:55:27406 days ago1690689327IN
0xdb547398...8e0d039F7
0 FTM0.000905257
Set Value664206652023-07-29 15:09:41406 days ago1690643381IN
0xdb547398...8e0d039F7
0 FTM0.0018286114.14
Set Value664110912023-07-29 8:01:28407 days ago1690617688IN
0xdb547398...8e0d039F7
0 FTM0.000810056.26384314
Set Value663733432023-07-28 3:53:28408 days ago1690516408IN
0xdb547398...8e0d039F7
0 FTM0.0019680815.2185119
Set Value663733402023-07-28 3:53:23408 days ago1690516403IN
0xdb547398...8e0d039F7
0 FTM0.0019673415.21279875
Set Value663663712023-07-27 22:37:25408 days ago1690497445IN
0xdb547398...8e0d039F7
0 FTM0.0028990822.41758754
Set Value662105282023-07-23 8:25:50413 days ago1690100750IN
0xdb547398...8e0d039F7
0 FTM0.0031293124.19989782
Set Value584020902023-03-26 7:33:31532 days ago1679816011IN
0xdb547398...8e0d039F7
0 FTM0.0024089118.62727574
Set Value584008142023-03-26 7:04:44532 days ago1679814284IN
0xdb547398...8e0d039F7
0 FTM0.0026135220.2094459
Set Value583937622023-03-26 4:26:42532 days ago1679804802IN
0xdb547398...8e0d039F7
0 FTM0.0027869421.55039826
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
473573422022-09-20 19:50:15718 days ago1663703415  Contract Creation0 FTM
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x0CdE131b...76d93529c
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
DIAOracleV2

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at ftmscan.com on 2022-03-30
*/

// compiled using solidity 0.7.4

pragma solidity 0.7.4;

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 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);
    }
}

Contract Security Audit

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"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635a9ade8b146100515780636aa45efc146101095780637898e0c214610131578063960384a0146101ed575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102c2945050505050565b60408051918252519081900360200190f35b61012f6004803603602081101561011f57600080fd5b50356001600160a01b03166102df565b005b61012f6004803603606081101561014757600080fd5b81019060208101813564010000000081111561016257600080fd5b82018360208201111561017457600080fd5b8035906020019184600183028401116401000000008311171561019657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160801b03833581169450602090930135909216915061034a9050565b6102936004803603602081101561020357600080fd5b81019060208101813564010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061049a945050505050565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b805160208183018101805160008252928201919093012091525481565b6001546001600160a01b031633146102f657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f9181900360200190a150565b6001546001600160a01b0316331461036157600080fd5b6000816001600160801b03166080846001600160801b0316901b019050806000856040518082805190602001908083835b602083106103b15780518252601f199092019160209182019101610392565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520959095556001600160801b03888116858301528716948401949094525050606080825286519082015285517fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee2291782928792879287928291608083019187019080838360005b83811015610458578181015183820152602001610440565b50505050905090810190601f1680156104855780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150505050565b600080600080846040518082805190602001908083835b602083106104d05780518252601f1990920191602091820191016104b1565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054608081901c976001600160801b03909116965094505050505056fea26469706673582212201dbd2d2595871132685a64fa9a76d5dd82fe4b43c7a277a026abb7353f1e33a464736f6c63430007040033

Deployed Bytecode Sourcemap

62:1131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;90:41:0;;-1:-1:-1;90:41:0;;-1:-1:-1;;;;;90:41:0:i;:::-;;;;;;;;;;;;;;;;948:242;;;;;;;;;;;;;;;;-1:-1:-1;948:242:0;-1:-1:-1;;;;;948:242:0;;:::i;:::-;;373:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;373:282:0;;-1:-1:-1;;;;;;;373:282:0;;;;;-1:-1:-1;373:282:0;;;;;;;;;-1:-1:-1;373:282:0;;-1:-1:-1;373:282:0:i;667:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;667:269:0;;-1:-1:-1;667:269:0;;-1:-1:-1;;;;;667:269:0:i;:::-;;;;;-1:-1:-1;;;;;667:269:0;;;;;;-1:-1:-1;;;;;667:269:0;;;;;;;;;;;;;;;;90:41;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;948:242::-;1057:13;;-1:-1:-1;;;;;1057:13:0;1043:10;:27;1035:36;;;;;;1082:13;:39;;-1:-1:-1;;;;;1082:39:0;;-1:-1:-1;;;;;;1082:39:0;;;;;;;;1137:45;;;;;;;;;;;;;;;;948:242;:::o;373:282::-;484:13;;-1:-1:-1;;;;;484:13:0;470:10;:27;462:36;;;;;;509:14;556:9;-1:-1:-1;;;;;526:39:0;549:3;538:5;-1:-1:-1;;;;;528:16:0;527:25;;526:39;509:56;;590:6;576;583:3;576:11;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;576:11:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;576:11:0;;;;;;;;;;;;;;;;-1:-1:-1;576:11:0;;;;;;;;;;;:20;;;;-1:-1:-1;;;;;612:35:0;;;;;;;;;;;;;;;;-1:-1:-1;;612:35:0;;;;;;;;;;;;;;;;;;;;576:11;;612:35;;;;;;;;;;-1:-1:-1;612:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;373:282;;;;:::o;667:269::-;727:7;736;756:14;773:6;780:3;773:11;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;773:11:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;773:11:0;;;;;;;;;;;;;;;;-1:-1:-1;773:11:0;;;;;;;;;;;888:3;878:13;;;;-1:-1:-1;;;;;825:15:0;;;;-1:-1:-1;878:13:0;-1:-1:-1;;;;;667:269:0:o

Swarm Source

ipfs://1dbd2d2595871132685a64fa9a76d5dd82fe4b43c7a277a026abb7353f1e33a4

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

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