Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 51 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Token Delega... | 5262595 | 2524 days ago | IN | 0 ETH | 0.00082289 | ||||
Set Token Delega... | 5262591 | 2524 days ago | IN | 0 ETH | 0.00082289 | ||||
Set Token Delega... | 5262588 | 2524 days ago | IN | 0 ETH | 0.00082289 | ||||
Set Token Delega... | 5261252 | 2524 days ago | IN | 0 ETH | 0.00082289 | ||||
Set Token Delega... | 5197828 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197828 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197820 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197816 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197811 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197805 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197804 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197799 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197795 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197791 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197787 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197784 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197781 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197778 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197768 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197763 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197759 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197750 | 2535 days ago | IN | 0 ETH | 0.00065805 | ||||
Set Token Delega... | 5197750 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197740 | 2535 days ago | IN | 0 ETH | 0.00065831 | ||||
Set Token Delega... | 5197731 | 2535 days ago | IN | 0 ETH | 0.00065831 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SVDelegation
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-02-28 */ pragma solidity ^0.4.19; // DELEGATION SC // (c) SecureVote 2018 // Released under MIT licence contract SVDelegation { address public owner; struct Delegation { uint256 thisDelegationId; address dlgt; uint256 setAtBlock; uint256 prevDelegation; } mapping (address => mapping (address => Delegation)) tokenDlgts; mapping (address => Delegation) globalDlgts; mapping (uint256 => Delegation) public historicalDelegations; uint256 public totalDelegations = 0; event SetGlobalDelegation(address voter, address delegate); event SetTokenDelegation(address voter, address tokenContract, address delegate); function SVDelegation() public { owner = msg.sender; // commit the genesis historical delegation to history (like genesis block) createDelegation(address(0), 0); } function createDelegation(address dlgtAddress, uint256 prevDelegationId) internal returns(Delegation) { uint256 myDelegationId = totalDelegations; historicalDelegations[myDelegationId] = Delegation(myDelegationId, dlgtAddress, block.number, prevDelegationId); totalDelegations += 1; return historicalDelegations[myDelegationId]; } // get previous delegation, create new delegation via function and then commit to globalDlgts function setGlobalDelegation(address dlgtAddress) public { uint256 prevDelegationId = globalDlgts[msg.sender].thisDelegationId; globalDlgts[msg.sender] = createDelegation(dlgtAddress, prevDelegationId); SetGlobalDelegation(msg.sender, dlgtAddress); } // get previous delegation, create new delegation via function and then commit to tokenDlgts function setTokenDelegation(address tokenContract, address dlgtAddress) public { uint256 prevDelegationId = tokenDlgts[tokenContract][msg.sender].thisDelegationId; tokenDlgts[tokenContract][msg.sender] = createDelegation(dlgtAddress, prevDelegationId); SetTokenDelegation(msg.sender, tokenContract, dlgtAddress); } function resolveDelegation(address voter, address tokenContract) public constant returns(uint256, address, uint256, uint256) { Delegation memory _tokenDlgt = tokenDlgts[tokenContract][voter]; // probs simplest test to check if we have a valid delegation if (_tokenDlgt.setAtBlock > 0) { return _dlgtRet(_tokenDlgt); } else { return _dlgtRet(globalDlgts[voter]); } } function _rawGetGlobalDelegation(address _voter) public constant returns(uint256, address, uint256, uint256) { return _dlgtRet(globalDlgts[_voter]); } function _rawGetTokenDelegation(address _voter, address _tokenContract) public constant returns(uint256, address, uint256, uint256) { return _dlgtRet(tokenDlgts[_tokenContract][_voter]); } function _dlgtRet(Delegation d) internal pure returns(uint256, address, uint256, uint256) { return (d.thisDelegationId, d.dlgt, d.setAtBlock, d.prevDelegation); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalDelegations","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"historicalDelegations","outputs":[{"name":"thisDelegationId","type":"uint256"},{"name":"dlgt","type":"address"},{"name":"setAtBlock","type":"uint256"},{"name":"prevDelegation","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_tokenContract","type":"address"}],"name":"_rawGetTokenDelegation","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"voter","type":"address"},{"name":"tokenContract","type":"address"}],"name":"resolveDelegation","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dlgtAddress","type":"address"}],"name":"setGlobalDelegation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenContract","type":"address"},{"name":"dlgtAddress","type":"address"}],"name":"setTokenDelegation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"_rawGetGlobalDelegation","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"voter","type":"address"},{"indexed":false,"name":"delegate","type":"address"}],"name":"SetGlobalDelegation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"voter","type":"address"},{"indexed":false,"name":"tokenContract","type":"address"},{"indexed":false,"name":"delegate","type":"address"}],"name":"SetTokenDelegation","type":"event"}]
Contract Creation Code
60606040526000600455341561001457600080fd5b60008054600160a060020a03191633600160a060020a0316178155610046908064010000000061004c810261060a1704565b5061015e565b61005461012c565b60045460806040519081016040908152828252600160a060020a0386166020808401919091524382840152606083018690526000848152600390915220815181556020820151600182018054600160a060020a031916600160a060020a039290921691909117905560408201518160020155606082015160039182015560048054600101905560008381526020919091526040908190209150608090519081016040908152825482526001830154600160a060020a031660208301526002830154908201526003909101546060820152949350505050565b608060405190810160405280600081526020016000600160a060020a0316815260200160008152602001600081525090565b6107558061016d6000396000f30060606040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305b9cb3c81146100925780631f0b2f32146100b75780635fc31aeb1461010157806361efc7db146101265780638da5cb5b1461014b578063b1194bc41461017a578063df6e7a5f1461019b578063efc63bd3146101c0575b600080fd5b341561009d57600080fd5b6100a56101df565b60405190815260200160405180910390f35b34156100c257600080fd5b6100cd6004356101e5565b604051938452600160a060020a03909216602084015260408084019190915260608301919091526080909101905180910390f35b341561010c57600080fd5b6100cd600160a060020a0360043581169060243516610217565b341561013157600080fd5b6100cd600160a060020a0360043581169060243516610296565b341561015657600080fd5b61015e61038b565b604051600160a060020a03909116815260200160405180910390f35b341561018557600080fd5b610199600160a060020a036004351661039a565b005b34156101a657600080fd5b610199600160a060020a036004358116906024351661046d565b34156101cb57600080fd5b6100cd600160a060020a036004351661056b565b60045481565b600360208190526000918252604090912080546001820154600283015492909301549092600160a060020a0316919084565b600160a060020a0380821660009081526001602090815260408083209386168352929052818120909182918291829161028691608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b9299919850965090945092505050565b6000806000806102a46106f7565b600160a060020a038087166000908152600160209081526040808320938b16835292905281902090608090519081016040908152825482526001830154600160a060020a031660208301526002830154908201908152600390920154606082015291506000905111156103275761031a816105e5565b9450945094509450610381565b600160a060020a0387166000908152600260205260409081902061031a91608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b5092959194509250565b600054600160a060020a031681565b600160a060020a0333166000908152600260205260409020546103bd828261060a565b600160a060020a033316600090815260026020526040902081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600390910155507f80e8ffc3c5dd5acf237f5c6e5855a312b8778e3df8ac7346f51155bcfeacf7cd3383604051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a038083166000908152600160209081526040808320339094168352929052205461049e828261060a565b600160a060020a0380851660009081526001602090815260408083203390941683529290522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600390910155507f74d96c2392d2b95d269942d650f623d0c7fb1f54a58e773709f4284f7b449cd7338484604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b6000806000806105d66002600087600160a060020a0316600160a060020a0316815260200190815260200160002060806040519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b93509350935093509193509193565b6000808080845185602001518660400151876060015193509350935093509193509193565b6106126106f7565b60045460806040519081016040908152828252600160a060020a038616602080840191909152438284015260608301869052600084815260039091522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160039182015560048054600101905560008381526020919091526040908190209150608090519081016040908152825482526001830154600160a060020a031660208301526002830154908201526003909101546060820152949350505050565b608060405190810160405280600081526020016000600160a060020a03168152602001600081526020016000815250905600a165627a7a7230582042931361f348110e80191acdbca2ca81a77aca990fbacc38e7df08b44841e2f10029
Deployed Bytecode
0x60606040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305b9cb3c81146100925780631f0b2f32146100b75780635fc31aeb1461010157806361efc7db146101265780638da5cb5b1461014b578063b1194bc41461017a578063df6e7a5f1461019b578063efc63bd3146101c0575b600080fd5b341561009d57600080fd5b6100a56101df565b60405190815260200160405180910390f35b34156100c257600080fd5b6100cd6004356101e5565b604051938452600160a060020a03909216602084015260408084019190915260608301919091526080909101905180910390f35b341561010c57600080fd5b6100cd600160a060020a0360043581169060243516610217565b341561013157600080fd5b6100cd600160a060020a0360043581169060243516610296565b341561015657600080fd5b61015e61038b565b604051600160a060020a03909116815260200160405180910390f35b341561018557600080fd5b610199600160a060020a036004351661039a565b005b34156101a657600080fd5b610199600160a060020a036004358116906024351661046d565b34156101cb57600080fd5b6100cd600160a060020a036004351661056b565b60045481565b600360208190526000918252604090912080546001820154600283015492909301549092600160a060020a0316919084565b600160a060020a0380821660009081526001602090815260408083209386168352929052818120909182918291829161028691608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b9299919850965090945092505050565b6000806000806102a46106f7565b600160a060020a038087166000908152600160209081526040808320938b16835292905281902090608090519081016040908152825482526001830154600160a060020a031660208301526002830154908201908152600390920154606082015291506000905111156103275761031a816105e5565b9450945094509450610381565b600160a060020a0387166000908152600260205260409081902061031a91608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b5092959194509250565b600054600160a060020a031681565b600160a060020a0333166000908152600260205260409020546103bd828261060a565b600160a060020a033316600090815260026020526040902081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600390910155507f80e8ffc3c5dd5acf237f5c6e5855a312b8778e3df8ac7346f51155bcfeacf7cd3383604051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a038083166000908152600160209081526040808320339094168352929052205461049e828261060a565b600160a060020a0380851660009081526001602090815260408083203390941683529290522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600390910155507f74d96c2392d2b95d269942d650f623d0c7fb1f54a58e773709f4284f7b449cd7338484604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b6000806000806105d66002600087600160a060020a0316600160a060020a0316815260200190815260200160002060806040519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460608201526105e5565b93509350935093509193509193565b6000808080845185602001518660400151876060015193509350935093509193509193565b6106126106f7565b60045460806040519081016040908152828252600160a060020a038616602080840191909152438284015260608301869052600084815260039091522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160039182015560048054600101905560008381526020919091526040908190209150608090519081016040908152825482526001830154600160a060020a031660208301526002830154908201526003909101546060820152949350505050565b608060405190810160405280600081526020016000600160a060020a03168152602001600081526020016000815250905600a165627a7a7230582042931361f348110e80191acdbca2ca81a77aca990fbacc38e7df08b44841e2f10029
Swarm Source
bzzr://42931361f348110e80191acdbca2ca81a77aca990fbacc38e7df08b44841e2f1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.