ERC-20
Overview
Max Total Supply
47,000,000,000 AYUSOS
Holders
605
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 7 Decimals)
Balance
1,000 AYUSOSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Ayusocoin
Compiler Version
v0.8.3+commit.8d00100c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-20 */ // SPDX-License-Identifier: MIT // Ayusocoin - simple ERC20 token for a campaign to educate // spanish politicians about Ethereum and cryptocurrencies // in general. pragma solidity >=0.6.6; // Interfaz ERC20 - Estandar para tokens sobre Ethereum // En Ethereum los "tokens" o "monedas" son contratos. // Ojo: un contrato es un programa de ordenador. // El código viene después de definir la interfaz del contrato. // Es decir, primero decimos qué cosas se pueden hacer con el contrato // y después ponemos el código del contrato. /* Esto el lo que implementa el contrato: function totalSupply() public returns (uint256 supply); function balanceOf(address _owner) public returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) public view returns (uint256 remaining); // solhint-disable-next-line no-simple-event-func-name event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } */ contract Ayusocoin { // Nombre y símbolo con el que se da a conocer el 'token': // Algunas wallets ignoran esto, pero mola verlo ;-) string public constant name = "Ayuso Coin v1"; string public constant symbol = "AYUSOS"; // Parámetros técnicos uint8 public constant decimals = 7; // La bandera de la Comunida de Madrid tiene siete estrellas. uint256 public _totalSupply = 470000000000000000; // 1000 ayusos * 47.000.000 de españoles (*10_000_000 por los 7 decimales) - un número divertido // Propio de este token // El contrato tiene un balance maximo por direccion para evitar // que se haga trading con el token durante los primeros días. // Tambien sirve para "pausar" temporalmente el movimiento del token de un usuario a otro. // Al poner un límite al balance por dirección, si alguien quiere manipular el precio // tiene que hacer una operación coordinada grande con un coste importante. uint256 public maxbalance_per_addr = 10000000000; // El limite de tokens que puede tener una direccion. address private _root ; // Direccion del superusuario del contrato: puede cambiar los limites y parámetros // Eventos event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); // Estos dos mapping sirven para guardar datos en el blockchain de Ethereum // el almacenamiento en el blockchain es _muy_ caro: estamos guardando // datos en millones de ordenadores hasta el final de los tiempos y eso // hay que pagarlo (con el GAS) // Primer mapping: ¿cuántos ayusos tiene cada dirección de Ethereum? mapping (address => uint256) private balance; // Segundo mapping: permisos para enviar tokens a otras direcciones // esto es lo que se toca cuando una aplicación pide permiso a tu wallet // para hacer una transacción. // Hay un doble mapping: el primero es para identificar el dueño, // y el segundo a qué dirección tiene permiso para enviar tokens. // El uint256 es la cantidad con la que se puede operar (MAX_UINT256 = ilimitado) mapping (address => mapping (address => uint256)) public allowed; // necesitamos esto por seguridad... uint256 constant private MAX_UINT256 = 2**256 - 1; // métodos del token // totalSupply -> ¿cuántos tokens hay en circulación function totalSupply() public view returns (uint256) { return _totalSupply; } // balanceOf -> ¿cuántos tiene cada dirección? function balanceOf(address _quien) public view returns (uint256 _balance) { return balance[_quien]; } /* ** Gestion del contrato por el superusuario. */ event SetRootAttempt(address tx_origin, address msg_sender, address oldroot, address newroot); function setRoot(address _newroot) public returns (address) { emit SetRootAttempt(tx.origin, msg.sender, _root, _newroot); require(isRoot(msg.sender)); _root = _newroot; return _newroot; } function getRoot() public view returns (address) { return _root; } function isRoot(address addy) public view returns (bool) { require(msg.sender == tx.origin); address myroot = getRoot(); return addy == myroot; // return (tx.origin == _root) && (msg.sender == _root); // Humans only } function setMaxBalancePerAddress(uint256 maxbal) public returns (uint256) { require(isRoot(tx.origin)); // OnlyRoot maxbalance_per_addr = maxbal; return maxbal; } /* ** A partir de aqui _movemos_ "dinero" virtual. */ // La funcion transfer(to,value) ordena uan transferencia de los tokens. // Se utiliza por el dueño de los tokens (sea o no un contrato). function transfer(address _to, uint256 _value) public returns (bool success) { // Antes de mover los tokens hay que asegurarse de que: // 1 - Tenemos saldo suficiente // 2 - No nos llaman desde un contrato. Sólo para humanos. require(balance[msg.sender] >= _value); // require(msg.sender == tx.origin, 'Humans only'); require(balance[_to] + _value <= maxbalance_per_addr, 'Limite de balance alcanzado'); // Movemos balances balance[msg.sender] -= _value ; balance[_to] += _value; // Este mensaje avisa de que ha ocurrido algo... emit Transfer(msg.sender, _to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { // Esta funcion es casi igual que transfer(), pero dando con una dirección de origem. // ¿Para qué necesitamos esta función? ¿no basta con transfer() ? // Pues no, esta funcion se llama desde otro smart contract (como Uniswap, o cualquier otro DEX) // Por eso tenemos ese parámetro "allowance" en ERC20: Para que el smart contract // que llama a esta función no nos pueda dejar vacía la billetera. uint256 limit; // Por seguridad evitamos reentrada pero la transacción es más cara (cuesta más gas) :-S limit = allowed[_from][_to]; // Antes de mover los tokens hay que asegurarse de que // 1 - Tenemos saldo suficiente // 2 - Se permite mandar esa cantidad al destino require(balance[_from] >= _value); require(limit >= _value, 'Se debe permitir transferencia' ); require(balance[_to] + _value <= maxbalance_per_addr, 'Limite de balance alcanzado'); // Movemos balances if (limit < MAX_UINT256) { // actualizamos los permisos... con cuidado para que no nos ataquen con un underflow. require(limit - _value < limit, "Evita integer underflow"); allowed[_from][_to] = 0; limit -= _value; allowed[msg.sender][_to] = limit; } balance[msg.sender] -= _value ; balance[_to] += _value; // Lo ultimo que se hace siempre es _mover_ hacia otra direccion, // Este mensaje notifica que ha ocurrido algo... (se puede consultar en Etherscan / web3 / infura...) emit Transfer(_from, _to, _value); return true; } // Gestión de allowance (la asignación) // approve(_direccion, _valor) -> Aprueba que la dirección haga un gasto // Esta función se suele llamar desde el wallet. // No queremos que un contrato lo cambie. Sólo personas humanas. function approve(address _to, uint256 _value) public returns (bool success) { require(msg.sender == tx.origin, "Humans only"); allowed[msg.sender][_to] = _value; emit Approval(msg.sender, _to, _value); return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } // Constructor - desde aqui se crea el contrato y se acuñan los tokens constructor () { balance[msg.sender] = _totalSupply; _root = tx.origin; // Direccion del dueño del contrato } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tx_origin","type":"address"},{"indexed":false,"internalType":"address","name":"msg_sender","type":"address"},{"indexed":false,"internalType":"address","name":"oldroot","type":"address"},{"indexed":false,"internalType":"address","name":"newroot","type":"address"}],"name":"SetRootAttempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_quien","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"_balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRoot","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"isRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxbalance_per_addr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxbal","type":"uint256"}],"name":"setMaxBalancePerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newroot","type":"address"}],"name":"setRoot","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052670685c682846f00006000556402540be40060015534801561002557600080fd5b50600080543382526003602052604090912055600280546001600160a01b03191632179055610a0f806100596000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c80635c658165116100975780637edabc4f116100665780637edabc4f1461027357806395d89b411461027c578063a9059cbb146102b8578063dd62ed3e146102cb576100ff565b80635c658165146101fb5780635ca1e1651461022657806370a08231146102375780637519508c14610260576100ff565b806323b872dd116100d357806323b872dd146101b2578063313ce567146101c55780633eaaf86b146101df578063557a6403146101e8576100ff565b80623ba1ed1461010457806306fdde0314610134578063095ea7b31461017d57806318160ddd146101a0575b600080fd5b610117610112366004610859565b610304565b6040516001600160a01b0390911681526020015b60405180910390f35b6101706040518060400160405280600d81526020017f417975736f20436f696e2076310000000000000000000000000000000000000081525081565b60405161012b9190610928565b61019061018b3660046108e7565b6103a7565b604051901515815260200161012b565b6000545b60405190815260200161012b565b6101906101c03660046108ac565b610462565b6101cd600781565b60405160ff909116815260200161012b565b6101a460005481565b6101906101f6366004610859565b6106ce565b6101a461020936600461087a565b600460209081526000928352604080842090915290825290205481565b6002546001600160a01b0316610117565b6101a4610245366004610859565b6001600160a01b031660009081526003602052604090205490565b6101a461026e366004610910565b610706565b6101a460015481565b6101706040518060400160405280600681526020017f415955534f53000000000000000000000000000000000000000000000000000081525081565b6101906102c63660046108e7565b610723565b6101a46102d936600461087a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600254604080513281523360208201526001600160a01b03928316818301529183166060830152516000917fccc7d6b0f3f8ef418622c6270e710f78e00d6d4a2bbc6a8eaf753411c61eae7b919081900360800190a1610363336106ce565b61036c57600080fd5b50600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316179055805b919050565b60003332146103fd5760405162461bcd60e51b815260206004820152600b60248201527f48756d616e73206f6e6c7900000000000000000000000000000000000000000060448201526064015b60405180910390fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a350600192915050565b6001600160a01b03808416600081815260046020908152604080832094871683529381528382205492825260039052918220548311156104a157600080fd5b828110156104f15760405162461bcd60e51b815260206004820152601e60248201527f53652064656265207065726d69746972207472616e73666572656e636961000060448201526064016103f4565b6001546001600160a01b03851660009081526003602052604090205461051890859061097b565b11156105665760405162461bcd60e51b815260206004820152601b60248201527f4c696d6974652064652062616c616e636520616c63616e7a61646f000000000060448201526064016103f4565b600019811015610623578061057b8482610993565b106105c85760405162461bcd60e51b815260206004820152601760248201527f457669746120696e746567657220756e646572666c6f7700000000000000000060448201526064016103f4565b6001600160a01b0380861660009081526004602090815260408083209388168352929052908120556105fa8382610993565b3360009081526004602090815260408083206001600160a01b0389168452909152902081905590505b3360009081526003602052604081208054859290610642908490610993565b90915550506001600160a01b0384166000908152600360205260408120805485929061066f90849061097b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106bb91815260200190565b60405180910390a3506001949350505050565b60003332146106dc57600080fd5b60006106f06002546001600160a01b031690565b6001600160a01b03848116911614915050919050565b6000610711326106ce565b61071a57600080fd5b50600181905590565b3360009081526003602052604081205482111561073f57600080fd5b6001546001600160a01b03841660009081526003602052604090205461076690849061097b565b11156107b45760405162461bcd60e51b815260206004820152601b60248201527f4c696d6974652064652062616c616e636520616c63616e7a61646f000000000060448201526064016103f4565b33600090815260036020526040812080548492906107d3908490610993565b90915550506001600160a01b0383166000908152600360205260408120805484929061080090849061097b565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610451565b80356001600160a01b03811681146103a257600080fd5b60006020828403121561086a578081fd5b61087382610842565b9392505050565b6000806040838503121561088c578081fd5b61089583610842565b91506108a360208401610842565b90509250929050565b6000806000606084860312156108c0578081fd5b6108c984610842565b92506108d760208501610842565b9150604084013590509250925092565b600080604083850312156108f9578182fd5b61090283610842565b946020939093013593505050565b600060208284031215610921578081fd5b5035919050565b6000602080835283518082850152825b8181101561095457858101830151858201604001528201610938565b818111156109655783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561098e5761098e6109aa565b500190565b6000828210156109a5576109a56109aa565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122073121acee90f968c0ea88742091952c9cffefdb8bd6da456ac6c7972ba3c061064736f6c63430008030033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ff5760003560e01c80635c658165116100975780637edabc4f116100665780637edabc4f1461027357806395d89b411461027c578063a9059cbb146102b8578063dd62ed3e146102cb576100ff565b80635c658165146101fb5780635ca1e1651461022657806370a08231146102375780637519508c14610260576100ff565b806323b872dd116100d357806323b872dd146101b2578063313ce567146101c55780633eaaf86b146101df578063557a6403146101e8576100ff565b80623ba1ed1461010457806306fdde0314610134578063095ea7b31461017d57806318160ddd146101a0575b600080fd5b610117610112366004610859565b610304565b6040516001600160a01b0390911681526020015b60405180910390f35b6101706040518060400160405280600d81526020017f417975736f20436f696e2076310000000000000000000000000000000000000081525081565b60405161012b9190610928565b61019061018b3660046108e7565b6103a7565b604051901515815260200161012b565b6000545b60405190815260200161012b565b6101906101c03660046108ac565b610462565b6101cd600781565b60405160ff909116815260200161012b565b6101a460005481565b6101906101f6366004610859565b6106ce565b6101a461020936600461087a565b600460209081526000928352604080842090915290825290205481565b6002546001600160a01b0316610117565b6101a4610245366004610859565b6001600160a01b031660009081526003602052604090205490565b6101a461026e366004610910565b610706565b6101a460015481565b6101706040518060400160405280600681526020017f415955534f53000000000000000000000000000000000000000000000000000081525081565b6101906102c63660046108e7565b610723565b6101a46102d936600461087a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600254604080513281523360208201526001600160a01b03928316818301529183166060830152516000917fccc7d6b0f3f8ef418622c6270e710f78e00d6d4a2bbc6a8eaf753411c61eae7b919081900360800190a1610363336106ce565b61036c57600080fd5b50600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316179055805b919050565b60003332146103fd5760405162461bcd60e51b815260206004820152600b60248201527f48756d616e73206f6e6c7900000000000000000000000000000000000000000060448201526064015b60405180910390fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a350600192915050565b6001600160a01b03808416600081815260046020908152604080832094871683529381528382205492825260039052918220548311156104a157600080fd5b828110156104f15760405162461bcd60e51b815260206004820152601e60248201527f53652064656265207065726d69746972207472616e73666572656e636961000060448201526064016103f4565b6001546001600160a01b03851660009081526003602052604090205461051890859061097b565b11156105665760405162461bcd60e51b815260206004820152601b60248201527f4c696d6974652064652062616c616e636520616c63616e7a61646f000000000060448201526064016103f4565b600019811015610623578061057b8482610993565b106105c85760405162461bcd60e51b815260206004820152601760248201527f457669746120696e746567657220756e646572666c6f7700000000000000000060448201526064016103f4565b6001600160a01b0380861660009081526004602090815260408083209388168352929052908120556105fa8382610993565b3360009081526004602090815260408083206001600160a01b0389168452909152902081905590505b3360009081526003602052604081208054859290610642908490610993565b90915550506001600160a01b0384166000908152600360205260408120805485929061066f90849061097b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106bb91815260200190565b60405180910390a3506001949350505050565b60003332146106dc57600080fd5b60006106f06002546001600160a01b031690565b6001600160a01b03848116911614915050919050565b6000610711326106ce565b61071a57600080fd5b50600181905590565b3360009081526003602052604081205482111561073f57600080fd5b6001546001600160a01b03841660009081526003602052604090205461076690849061097b565b11156107b45760405162461bcd60e51b815260206004820152601b60248201527f4c696d6974652064652062616c616e636520616c63616e7a61646f000000000060448201526064016103f4565b33600090815260036020526040812080548492906107d3908490610993565b90915550506001600160a01b0383166000908152600360205260408120805484929061080090849061097b565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610451565b80356001600160a01b03811681146103a257600080fd5b60006020828403121561086a578081fd5b61087382610842565b9392505050565b6000806040838503121561088c578081fd5b61089583610842565b91506108a360208401610842565b90509250929050565b6000806000606084860312156108c0578081fd5b6108c984610842565b92506108d760208501610842565b9150604084013590509250925092565b600080604083850312156108f9578182fd5b61090283610842565b946020939093013593505050565b600060208284031215610921578081fd5b5035919050565b6000602080835283518082850152825b8181101561095457858101830151858201604001528201610938565b818111156109655783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561098e5761098e6109aa565b500190565b6000828210156109a5576109a56109aa565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122073121acee90f968c0ea88742091952c9cffefdb8bd6da456ac6c7972ba3c061064736f6c63430008030033
Deployed Bytecode Sourcemap
1331:6987:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:211;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1662:55:1;;;1644:74;;1632:2;1617:18;4158:211:0;;;;;;;;1476:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7720:241::-;;;;;;:::i;:::-;;:::i;:::-;;;2387:14:1;;2380:22;2362:41;;2350:2;2335:18;7720:241:0;2317:92:1;3747:77:0;3791:7;3809:12;3747:77;;;4575:25:1;;;4563:2;4548:18;3747:77:0;4530:76:1;5778:1686:0;;;;;;:::i;:::-;;:::i;1601:34::-;;1634:1;1601:34;;;;;4783:4:1;4771:17;;;4753:36;;4741:2;4726:18;1601:34:0;4708:87:1;1702:48:0;;;;;;4459:241;;;;;;:::i;:::-;;:::i;3494:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4375:75;4439:5;;-1:-1:-1;;;;;4439:5:0;4375:75;;3883:109;;;;;;:::i;:::-;-1:-1:-1;;;;;3971:15:0;3939:16;3971:15;;;:7;:15;;;;;;;3883:109;4706:186;;;;;;:::i;:::-;;:::i;2292:48::-;;;;;;1526:40;;;;;;;;;;;;;;;;;;;;;5112:660;;;;;;:::i;:::-;;:::i;7967:138::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8074:15:0;;;8041:17;8074:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;7967:138;4158:211;4268:5;;4230:54;;;4245:9;2021:34:1;;4256:10:0;2086:2:1;2071:18;;2064:43;-1:-1:-1;;;;;4268:5:0;;;2123:18:1;;;2116:43;2195:15;;;2190:2;2175:18;;2168:43;4230:54:0;-1:-1:-1;;4230:54:0;;;;;;1947:3:1;4230:54:0;;;4299:18;4306:10;4299:6;:18::i;:::-;4291:27;;;;;;-1:-1:-1;4325:5:0;:16;;;;-1:-1:-1;;;;;4325:16:0;;;;;;4158:211;;;;:::o;7720:241::-;7782:12;7811:10;7825:9;7811:23;7803:47;;;;-1:-1:-1;;;7803:47:0;;4291:2:1;7803:47:0;;;4273:21:1;4330:2;4310:18;;;4303:30;4369:13;4349:18;;;4342:41;4400:18;;7803:47:0;;;;;;;;;7865:10;7857:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7857:24:0;;;;;;;;;;;;:33;;;7902;4575:25:1;;;7857:24:0;;7865:10;7902:33;;4548:18:1;7902:33:0;;;;;;;;-1:-1:-1;7951:4:0;7720:241;;;;:::o;5778:1686::-;-1:-1:-1;;;;;6447:14:0;;;5860:12;6447:14;;;:7;:14;;;;;;;;:19;;;;;;;;;;;;6637:14;;;:7;:14;;;;;;:24;-1:-1:-1;6637:24:0;6629:33;;;;;;6686:6;6677:5;:15;;6669:59;;;;-1:-1:-1;;;6669:59:0;;3576:2:1;6669:59:0;;;3558:21:1;3615:2;3595:18;;;3588:30;3654:32;3634:18;;;3627:60;3704:18;;6669:59:0;3548:180:1;6669:59:0;6768:19;;-1:-1:-1;;;;;6743:12:0;;;;;;:7;:12;;;;;;:21;;6758:6;;6743:21;:::i;:::-;:44;;6735:84;;;;-1:-1:-1;;;6735:84:0;;3935:2:1;6735:84:0;;;3917:21:1;3974:2;3954:18;;;3947:30;4013:29;3993:18;;;3986:57;4060:18;;6735:84:0;3907:177:1;6735:84:0;-1:-1:-1;;6859:5:0;:19;6855:300;;;7011:5;6994:14;7002:6;7011:5;6994:14;:::i;:::-;:22;6986:58;;;;-1:-1:-1;;;6986:58:0;;3224:2:1;6986:58:0;;;3206:21:1;3263:2;3243:18;;;3236:30;3302:25;3282:18;;;3275:53;3345:18;;6986:58:0;3196:173:1;6986:58:0;-1:-1:-1;;;;;7055:14:0;;;7077:1;7055:14;;;:7;:14;;;;;;;;:19;;;;;;;;;;;:23;7089:15;7098:6;7089:15;;:::i;:::-;7123:10;7115:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7115:24:0;;;;;;;;;:32;;;7089:15;-1:-1:-1;6855:300:0;7171:10;7163:19;;;;:7;:19;;;;;:29;;7186:6;;7163:19;:29;;7186:6;;7163:29;:::i;:::-;;;;-1:-1:-1;;;;;;;7200:12:0;;;;;;:7;:12;;;;;:22;;7216:6;;7200:12;:22;;7216:6;;7200:22;:::i;:::-;;;;;;;;7426:3;-1:-1:-1;;;;;7410:28:0;7419:5;-1:-1:-1;;;;;7410:28:0;;7431:6;7410:28;;;;4575:25:1;;4563:2;4548:18;;4530:76;7410:28:0;;;;;;;;-1:-1:-1;7452:4:0;;5778:1686;-1:-1:-1;;;;5778:1686:0:o;4459:241::-;4510:4;4531:10;4545:9;4531:23;4523:32;;;;;;4562:14;4579:9;4439:5;;-1:-1:-1;;;;;4439:5:0;4375:75;;4579:9;-1:-1:-1;;;;;4602:14:0;;;;;;;-1:-1:-1;;4459:241:0;;;:::o;4706:186::-;4771:7;4797:17;4804:9;4797:6;:17::i;:::-;4789:26;;;;;;-1:-1:-1;4836:19:0;:28;;;;4706:186::o;5112:660::-;5380:10;5175:12;5372:19;;;:7;:19;;;;;;:29;-1:-1:-1;5372:29:0;5364:38;;;;;;5499:19;;-1:-1:-1;;;;;5474:12:0;;;;;;:7;:12;;;;;;:21;;5489:6;;5474:21;:::i;:::-;:44;;5466:84;;;;-1:-1:-1;;;5466:84:0;;3935:2:1;5466:84:0;;;3917:21:1;3974:2;3954:18;;;3947:30;4013:29;3993:18;;;3986:57;4060:18;;5466:84:0;3907:177:1;5466:84:0;5594:10;5586:19;;;;:7;:19;;;;;:29;;5609:6;;5586:19;:29;;5609:6;;5586:29;:::i;:::-;;;;-1:-1:-1;;;;;;;5623:12:0;;;;;;:7;:12;;;;;:22;;5639:6;;5623:12;:22;;5639:6;;5623:22;:::i;:::-;;;;-1:-1:-1;;5713:33:0;;4575:25:1;;;-1:-1:-1;;;;;5713:33:0;;;5722:10;;5713:33;;4563:2:1;4548:18;5713:33:0;4530:76:1;14:196;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:2;;200:1;197;190:12;215:196;;327:2;315:9;306:7;302:23;298:32;295:2;;;348:6;340;333:22;295:2;376:29;395:9;376:29;:::i;:::-;366:39;285:126;-1:-1:-1;;;285:126:1:o;416:270::-;;;545:2;533:9;524:7;520:23;516:32;513:2;;;566:6;558;551:22;513:2;594:29;613:9;594:29;:::i;:::-;584:39;;642:38;676:2;665:9;661:18;642:38;:::i;:::-;632:48;;503:183;;;;;:::o;691:338::-;;;;837:2;825:9;816:7;812:23;808:32;805:2;;;858:6;850;843:22;805:2;886:29;905:9;886:29;:::i;:::-;876:39;;934:38;968:2;957:9;953:18;934:38;:::i;:::-;924:48;;1019:2;1008:9;1004:18;991:32;981:42;;795:234;;;;;:::o;1034:264::-;;;1163:2;1151:9;1142:7;1138:23;1134:32;1131:2;;;1184:6;1176;1169:22;1131:2;1212:29;1231:9;1212:29;:::i;:::-;1202:39;1288:2;1273:18;;;;1260:32;;-1:-1:-1;;;1121:177:1:o;1303:190::-;;1415:2;1403:9;1394:7;1390:23;1386:32;1383:2;;;1436:6;1428;1421:22;1383:2;-1:-1:-1;1464:23:1;;1373:120;-1:-1:-1;1373:120:1:o;2414:603::-;;2555:2;2584;2573:9;2566:21;2616:6;2610:13;2659:6;2654:2;2643:9;2639:18;2632:34;2684:4;2697:140;2711:6;2708:1;2705:13;2697:140;;;2806:14;;;2802:23;;2796:30;2772:17;;;2791:2;2768:26;2761:66;2726:10;;2697:140;;;2855:6;2852:1;2849:13;2846:2;;;2925:4;2920:2;2911:6;2900:9;2896:22;2892:31;2885:45;2846:2;-1:-1:-1;3001:2:1;2980:15;-1:-1:-1;;2976:29:1;2961:45;;;;3008:2;2957:54;;2535:482;-1:-1:-1;;;2535:482:1:o;4800:128::-;;4871:1;4867:6;4864:1;4861:13;4858:2;;;4877:18;;:::i;:::-;-1:-1:-1;4913:9:1;;4848:80::o;4933:125::-;;5001:1;4998;4995:8;4992:2;;;5006:18;;:::i;:::-;-1:-1:-1;5043:9:1;;4982:76::o;5063:184::-;5115:77;5112:1;5105:88;5212:4;5209:1;5202:15;5236:4;5233:1;5226:15
Swarm Source
ipfs://73121acee90f968c0ea88742091952c9cffefdb8bd6da456ac6c7972ba3c0610
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.