Contract
0x0534f6c156f4c8360b9def989aab93243beb34f5
2
Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
UnstakeProxy
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-01-17 */ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity 0.7.5; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function burn(uint256 amount) external; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } function sqrrt(uint256 a) internal pure returns (uint c) { if (a > 3) { c = a; uint b = add( div( a, 2), 1 ); while (b < c) { c = b; b = div( add( div( a, b ), b), 2 ); } } else if (a != 0) { c = 1; } } function percentageAmount( uint256 total_, uint8 percentage_ ) internal pure returns ( uint256 percentAmount_ ) { return div( mul( total_, percentage_ ), 1000 ); } function substractPercentage( uint256 total_, uint8 percentageToSub_ ) internal pure returns ( uint256 result_ ) { return sub( total_, div( mul( total_, percentageToSub_ ), 1000 ) ); } function percentageOfTotal( uint256 part_, uint256 total_ ) internal pure returns ( uint256 percent_ ) { return div( mul(part_, 100) , total_ ); } function average(uint256 a, uint256 b) internal pure returns (uint256) { // (a + b) / 2 can overflow, so we distribute return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); } function quadraticPricing( uint256 payment_, uint256 multiplier_ ) internal pure returns (uint256) { return sqrrt( mul( multiplier_, payment_ ) ); } function bondingCurve( uint256 supply_, uint256 multiplier_ ) internal pure returns (uint256) { return mul( multiplier_, supply_ ); } } interface IERC20Mintable { function mint( uint256 amount_ ) external; function mint( address account_, uint256 ammount_ ) external; function approve(address spender, uint256 amount) external returns (bool); } library Address { function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } function _verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function _callOptionalReturn(IERC20 token, bytes memory data) private { bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } interface IStaking { function stake( uint _amount, address _recipient ) external returns ( bool ); function unstake( uint256 _amount, bool _trigger ) external; function claim( address _recipient ) external; } contract UnstakeProxy { using SafeMath for uint256; using SafeERC20 for IERC20; address public Memories; address public token; address public stake; bool public enabled = false; address private owner; uint256 public burnAmount = 0; uint256 public constant MAX = ~uint256(0); constructor (address _token, address _memories, address _stake) public { require( _memories != address(0) ); require( _token != address(0) ); require( _stake != address(0) ); owner = address(msg.sender); token = _token; Memories = _memories; stake = _stake; IERC20(Memories).approve( stake, MAX); } function unstake( uint256 _amount, bool _trigger ) external { require(enabled, "proxy disabled"); IERC20(Memories).safeTransferFrom( msg.sender, address(this), _amount ); IStaking(stake).unstake(_amount, _trigger); IERC20Mintable(token).mint( msg.sender, _amount ); uint256 _burnAmount = IERC20(token).balanceOf(address(this)); IERC20(token).burn(_burnAmount); burnAmount = burnAmount.add(_burnAmount); } function enableDisable(bool _value) external { require(owner == msg.sender, "only owner"); enabled = _value; } function burnTokens() external { require(owner == msg.sender, "only owner"); uint256 _burnAmount = IERC20(token).balanceOf(address(this)); IERC20(token).burn(_burnAmount); burnAmount = burnAmount.add(_burnAmount); } function refreshApprove() external { require(owner == msg.sender, "only owner"); IERC20(Memories).approve( stake, MAX); } }
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_memories","type":"address"},{"internalType":"address","name":"_stake","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"MAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Memories","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableDisable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stake","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_trigger","type":"bool"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526002805460ff60a01b19169055600060045534801561002257600080fd5b50604051610b68380380610b688339818101604052606081101561004557600080fd5b50805160208201516040909201519091906001600160a01b03821661006957600080fd5b6001600160a01b03831661007c57600080fd5b6001600160a01b03811661008f57600080fd5b60038054336001600160a01b0319918216179091556001805482166001600160a01b0386811691909117909155600080548316858316178082556002805490941685841617938490556040805163095ea7b360e01b8152948416600486015260001960248601525192169263095ea7b39260448083019360209383900390910190829087803b15801561012157600080fd5b505af1158015610135573d6000803e3d6000fd5b505050506040513d602081101561014b57600080fd5b5050505050610a098061015f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80639ebea88c116100665780639ebea88c1461010f578063aed0b1e514610134578063ba4f377f1461013c578063d49d51811461015b578063fc0c546a146101635761009e565b806308003f78146100a3578063238dafe0146100ad578063367efb62146100c95780633a4b66f1146100ed578063486a7e6b146100f5575b600080fd5b6100ab61016b565b005b6100b56102aa565b604080519115158252519081900360200190f35b6100d16102ba565b604080516001600160a01b039092168252519081900360200190f35b6100d16102c9565b6100fd6102d8565b60408051918252519081900360200190f35b6100ab6004803603604081101561012557600080fd5b508035906020013515156102de565b6100ab610514565b6100ab6004803603602081101561015257600080fd5b503515156105eb565b6100fd610655565b6100d161065b565b6003546001600160a01b031633146101b7576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d602081101561022c57600080fd5b505160015460408051630852cd8d60e31b81526004810184905290519293506001600160a01b03909116916342966c689160248082019260009290919082900301818387803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b50506004546102a4925090508261066a565b60045550565b600254600160a01b900460ff1681565b6000546001600160a01b031681565b6002546001600160a01b031681565b60045481565b600254600160a01b900460ff1661032d576040805162461bcd60e51b815260206004820152600e60248201526d1c1c9bde1e48191a5cd8589b195960921b604482015290519081900360640190fd5b600054610345906001600160a01b03163330856106cb565b600254604080516327afaa2360e21b815260048101859052831515602482015290516001600160a01b0390921691639ebea88c9160448082019260009290919082900301818387803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b5050600154604080516340c10f1960e01b81523360048201526024810187905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b15801561040557600080fd5b505af1158015610419573d6000803e3d6000fd5b5050600154604080516370a0823160e01b81523060048201529051600094506001600160a01b0390921692506370a08231916024808301926020929190829003018186803b15801561046a57600080fd5b505afa15801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b505160015460408051630852cd8d60e31b81526004810184905290519293506001600160a01b03909116916342966c689160248082019260009290919082900301818387803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b505060045461050c925090508261066a565b600455505050565b6003546001600160a01b03163314610560576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600080546002546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169263095ea7b392604480820193602093909283900390910190829087803b1580156105bd57600080fd5b505af11580156105d1573d6000803e3d6000fd5b505050506040513d60208110156105e757600080fd5b5050565b6003546001600160a01b03163314610637576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b60028054911515600160a01b0260ff60a01b19909216919091179055565b60001981565b6001546001600160a01b031681565b6000828201838110156106c4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261072590859061072b565b50505050565b6060610780826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107e19092919063ffffffff16565b8051909150156107dc5780806020019051602081101561079f57600080fd5b50516107dc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806109aa602a913960400191505060405180910390fd5b505050565b60606107f084846000856107f8565b949350505050565b6060610803856109a3565b610854576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106108935780518252601f199092019160209182019101610874565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146108f5576040519150601f19603f3d011682016040523d82523d6000602084013e6108fa565b606091505b5091509150811561090e5791506107f09050565b80511561091e5780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610968578181015183820152602001610950565b50505050905090810190601f1680156109955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220ff8f0195ede79eac41ed7eb11f414ab9f5389e86aaf5303051b4a7e6e1698fd164736f6c6343000705003300000000000000000000000039912d83acb4a373321387300f4fbe88aa5d6f14000000000000000000000000643d3707fba05962821e0d0838a82c0ab40d95490000000000000000000000009619bc1306b94130fbc70cf07e311e69949f07d4
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000039912d83acb4a373321387300f4fbe88aa5d6f14000000000000000000000000643d3707fba05962821e0d0838a82c0ab40d95490000000000000000000000009619bc1306b94130fbc70cf07e311e69949f07d4
-----Decoded View---------------
Arg [0] : _token (address): 0x39912d83acb4a373321387300f4fbe88aa5d6f14
Arg [1] : _memories (address): 0x643d3707fba05962821e0d0838a82c0ab40d9549
Arg [2] : _stake (address): 0x9619bc1306b94130fbc70cf07e311e69949f07d4
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000039912d83acb4a373321387300f4fbe88aa5d6f14
Arg [1] : 000000000000000000000000643d3707fba05962821e0d0838a82c0ab40d9549
Arg [2] : 0000000000000000000000009619bc1306b94130fbc70cf07e311e69949f07d4
Deployed ByteCode Sourcemap
7324:1780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8685:262;;;:::i;:::-;;7507:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;7421:23;;;:::i;:::-;;;;-1:-1:-1;;;;;7421:23:0;;;;;;;;;;;;;;7478:20;;;:::i;7571:29::-;;;:::i;:::-;;;;;;;;;;;;;;;;8044:492;;;;;;;;;;;;;;;;-1:-1:-1;8044:492:0;;;;;;;;;:::i;8955:144::-;;;:::i;8544:133::-;;;;;;;;;;;;;;;;-1:-1:-1;8544:133:0;;;;:::i;7607:41::-;;;:::i;7451:20::-;;;:::i;8685:262::-;8735:5;;-1:-1:-1;;;;;8735:5:0;8744:10;8735:19;8727:42;;;;;-1:-1:-1;;;8727:42:0;;;;;;;;;;;;-1:-1:-1;;;8727:42:0;;;;;;;;;;;;;;;8811:5;;8804:38;;;-1:-1:-1;;;8804:38:0;;8836:4;8804:38;;;;;;8782:19;;-1:-1:-1;;;;;8811:5:0;;8804:23;;:38;;;;;;;;;;;;;;8811:5;8804:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8804:38:0;8860:5;;8853:31;;;-1:-1:-1;;;8853:31:0;;;;;;;;;;8804:38;;-1:-1:-1;;;;;;8860:5:0;;;;8853:18;;:31;;;;;8860:5;;8853:31;;;;;;;;8860:5;;8853:31;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8910:10:0;;:27;;-1:-1:-1;8910:10:0;-1:-1:-1;8925:11:0;8910:14;:27::i;:::-;8897:10;:40;-1:-1:-1;8685:262:0:o;7507:27::-;;;-1:-1:-1;;;7507:27:0;;;;;:::o;7421:23::-;;;-1:-1:-1;;;;;7421:23:0;;:::o;7478:20::-;;;-1:-1:-1;;;;;7478:20:0;;:::o;7571:29::-;;;;:::o;8044:492::-;8123:7;;-1:-1:-1;;;8123:7:0;;;;8115:34;;;;;-1:-1:-1;;;8115:34:0;;;;;;;;;;;;-1:-1:-1;;;8115:34:0;;;;;;;;;;;;;;;8169:8;;8162:71;;-1:-1:-1;;;;;8169:8:0;8197:10;8217:4;8224:7;8162:33;:71::i;:::-;8263:5;;8254:42;;;-1:-1:-1;;;8254:42:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8263:5:0;;;;8254:23;;:42;;;;;8263:5;;8254:42;;;;;;;;8263:5;;8254:42;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8324:5:0;;8309:49;;;-1:-1:-1;;;8309:49:0;;8337:10;8309:49;;;;;;;;;;;;-1:-1:-1;;;;;8324:5:0;;;;-1:-1:-1;8309:26:0;;-1:-1:-1;8309:49:0;;;;;8324:5;;8309:49;;;;;;;;8324:5;;8309:49;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8400:5:0;;8393:38;;;-1:-1:-1;;;8393:38:0;;8425:4;8393:38;;;;;;8371:19;;-1:-1:-1;;;;;;8400:5:0;;;;-1:-1:-1;8393:23:0;;:38;;;;;;;;;;;;;;8400:5;8393:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8393:38:0;8449:5;;8442:31;;;-1:-1:-1;;;8442:31:0;;;;;;;;;;8393:38;;-1:-1:-1;;;;;;8449:5:0;;;;8442:18;;:31;;;;;8449:5;;8442:31;;;;;;;;8449:5;;8442:31;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8499:10:0;;:27;;-1:-1:-1;8499:10:0;-1:-1:-1;8514:11:0;8499:14;:27::i;:::-;8486:10;:40;-1:-1:-1;;;8044:492:0:o;8955:144::-;9009:5;;-1:-1:-1;;;;;9009:5:0;9018:10;9009:19;9001:42;;;;;-1:-1:-1;;;9001:42:0;;;;;;;;;;;;-1:-1:-1;;;9001:42:0;;;;;;;;;;;;;;;9061:8;;;9080:5;;9054:37;;;-1:-1:-1;;;9054:37:0;;-1:-1:-1;;;;;9080:5:0;;;9054:37;;;;-1:-1:-1;;9054:37:0;;;;;;9061:8;;;;;9054:24;;:37;;;;;;;;;;;;;;;;;;9061:8;9054:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8955:144:0:o;8544:133::-;8608:5;;-1:-1:-1;;;;;8608:5:0;8617:10;8608:19;8600:42;;;;;-1:-1:-1;;;8600:42:0;;;;;;;;;;;;-1:-1:-1;;;8600:42:0;;;;;;;;;;;;;;;8653:7;:16;;;;;-1:-1:-1;;;8653:16:0;-1:-1:-1;;;;8653:16:0;;;;;;;;;8544:133::o;7607:41::-;-1:-1:-1;;7607:41:0;:::o;7451:20::-;;;-1:-1:-1;;;;;7451:20:0;;:::o;819:181::-;877:7;909:5;;;933:6;;;;925:46;;;;;-1:-1:-1;;;925:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:1;819:181;-1:-1:-1;;;819:181:0:o;6454:205::-;6582:68;;;-1:-1:-1;;;;;6582:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6582:68:0;-1:-1:-1;;;6582:68:0;;;6555:96;;6575:5;;6555:19;:96::i;:::-;6454:205;;;;:::o;6667:418::-;6748:23;6774:69;6802:4;6774:69;;;;;;;;;;;;;;;;;6782:5;-1:-1:-1;;;;;6774:27:0;;;:69;;;;;:::i;:::-;6858:17;;6748:95;;-1:-1:-1;6858:21:0;6854:224;;7000:10;6989:30;;;;;;;;;;;;;;;-1:-1:-1;6989:30:0;6981:85;;;;-1:-1:-1;;;6981:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6667:418;;;:::o;4450:230::-;4587:12;4619:53;4642:6;4650:4;4656:1;4659:12;4619:22;:53::i;:::-;4612:60;4450:230;-1:-1:-1;;;;4450:230:0:o;4688:860::-;4861:12;4894:18;4905:6;4894:10;:18::i;:::-;4886:60;;;;;-1:-1:-1;;;4886:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5020:12;5034:23;5061:6;-1:-1:-1;;;;;5061:11:0;5081:8;5092:4;5061:36;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5061:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5019:78;;;;5112:7;5108:433;;;5143:10;-1:-1:-1;5136:17:0;;-1:-1:-1;5136:17:0;5108:433;5190:17;;:21;5186:344;;5358:10;5352:17;5419:15;5406:10;5402:2;5398:19;5391:44;5306:148;5501:12;5494:20;;-1:-1:-1;;;5494:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4020:422;4387:20;4426:8;;;4020:422::o
Swarm Source
ipfs://ff8f0195ede79eac41ed7eb11f414ab9f5389e86aaf5303051b4a7e6e1698fd1
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.