Latest 25 from a total of 16,182 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Approve | 78384698 | 50 mins ago | IN | 0 FTM | 0.0026573 | ||||
Approve | 78384691 | 50 mins ago | IN | 0 FTM | 0.0026573 | ||||
Approve | 78301947 | 27 hrs ago | IN | 0 FTM | 0.0073353 | ||||
Approve | 78285575 | 32 hrs ago | IN | 0 FTM | 0.00697632 | ||||
Approve | 78282760 | 33 hrs ago | IN | 0 FTM | 0.00689096 | ||||
Approve | 78249533 | 45 hrs ago | IN | 0 FTM | 0.00091067 | ||||
Approve | 78246933 | 46 hrs ago | IN | 0 FTM | 0.00154575 | ||||
Approve | 78219416 | 2 days ago | IN | 0 FTM | 0.0027277 | ||||
Approve | 78037048 | 5 days ago | IN | 0 FTM | 0.00445069 | ||||
Approve | 78032437 | 5 days ago | IN | 0 FTM | 0.00380565 | ||||
Approve | 78007063 | 5 days ago | IN | 0 FTM | 0.0024644 | ||||
Approve | 77993804 | 5 days ago | IN | 0 FTM | 0.00727745 | ||||
Approve | 77896482 | 7 days ago | IN | 0 FTM | 0.00436556 | ||||
Approve | 77862136 | 7 days ago | IN | 0 FTM | 0.00733313 | ||||
Approve | 77717801 | 9 days ago | IN | 0 FTM | 0.04284249 | ||||
Approve | 77637792 | 10 days ago | IN | 0 FTM | 0.00332246 | ||||
Approve | 77573928 | 11 days ago | IN | 0 FTM | 0.00219558 | ||||
Approve | 77530820 | 11 days ago | IN | 0 FTM | 0.00449192 | ||||
Approve | 77485125 | 12 days ago | IN | 0 FTM | 0.00491016 | ||||
Approve | 77319175 | 14 days ago | IN | 0 FTM | 0.00133079 | ||||
Approve | 77237411 | 15 days ago | IN | 0 FTM | 0.00071073 | ||||
Approve | 77237016 | 15 days ago | IN | 0 FTM | 0.00069807 | ||||
Approve | 77205893 | 16 days ago | IN | 0 FTM | 0.00163037 | ||||
Approve | 77155990 | 17 days ago | IN | 0 FTM | 0.00137055 | ||||
Approve | 77155899 | 17 days ago | IN | 0 FTM | 0.00127755 |
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
23452539 | 850 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
Charm
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2021-11-29 */ // SPDX-License-Identifier: MIT // Special thanks to: // @BoringCrypto for his great libraries @ https://github.com/boringcrypto/BoringSolidity pragma solidity 0.6.12; // Contract: BoringOwnable // Audit on 5-Jan-2021 by Keno and BoringCrypto // Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol // Edited by BoringCrypto contract BoringOwnableData { address public owner; address public pendingOwner; } contract BoringOwnable is BoringOwnableData { event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @notice `owner` defaults to msg.sender on construction. constructor() public { owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /// @notice Transfers ownership to `newOwner`. Either directly or claimable by the new pending owner. /// Can only be invoked by the current `owner`. /// @param newOwner Address of the new owner. /// @param direct True if `newOwner` should be set immediately. False if `newOwner` needs to use `claimOwnership`. /// @param renounce Allows the `newOwner` to be `address(0)` if `direct` and `renounce` is True. Has no effect otherwise. function transferOwnership( address newOwner, bool direct, bool renounce ) public onlyOwner { if (direct) { // Checks require(newOwner != address(0) || renounce, "Ownable: zero address"); // Effects emit OwnershipTransferred(owner, newOwner); owner = newOwner; pendingOwner = address(0); } else { // Effects pendingOwner = newOwner; } } /// @notice Needs to be called by `pendingOwner` to claim ownership. function claimOwnership() public { address _pendingOwner = pendingOwner; // Checks require(msg.sender == _pendingOwner, "Ownable: caller != pending owner"); // Effects emit OwnershipTransferred(owner, _pendingOwner); owner = _pendingOwner; pendingOwner = address(0); } /// @notice Only allows the `owner` to execute the function. modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } } contract Domain { bytes32 private constant DOMAIN_SEPARATOR_SIGNATURE_HASH = keccak256("EIP712Domain(uint256 chainId,address verifyingContract)"); // See https://eips.ethereum.org/EIPS/eip-191 string private constant EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA = "\x19\x01"; // solhint-disable var-name-mixedcase bytes32 private immutable _DOMAIN_SEPARATOR; uint256 private immutable DOMAIN_SEPARATOR_CHAIN_ID; /// @dev Calculate the DOMAIN_SEPARATOR function _calculateDomainSeparator(uint256 chainId) private view returns (bytes32) { return keccak256( abi.encode( DOMAIN_SEPARATOR_SIGNATURE_HASH, chainId, address(this) ) ); } constructor() public { uint256 chainId; assembly {chainId := chainid()} _DOMAIN_SEPARATOR = _calculateDomainSeparator(DOMAIN_SEPARATOR_CHAIN_ID = chainId); } /// @dev Return the DOMAIN_SEPARATOR // It's named internal to allow making it public from the contract that uses it by creating a simple view function // with the desired public name, such as DOMAIN_SEPARATOR or domainSeparator. // solhint-disable-next-line func-name-mixedcase function _domainSeparator() internal view returns (bytes32) { uint256 chainId; assembly {chainId := chainid()} return chainId == DOMAIN_SEPARATOR_CHAIN_ID ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(chainId); } function _getDigest(bytes32 dataHash) internal view returns (bytes32 digest) { digest = keccak256( abi.encodePacked( EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA, _domainSeparator(), dataHash ) ); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); /// @notice EIP 2612 function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; } // Data part taken out for building of contracts that receive delegate calls contract ERC20Data { /// @notice owner > balance mapping. mapping(address => uint256) public balanceOf; /// @notice owner > spender > allowance mapping. mapping(address => mapping(address => uint256)) public allowance; /// @notice owner > nonce mapping. Used in `permit`. mapping(address => uint256) public nonces; } abstract contract ERC20 is IERC20, Domain { /// @notice owner > balance mapping. mapping(address => uint256) public override balanceOf; /// @notice owner > spender > allowance mapping. mapping(address => mapping(address => uint256)) public override allowance; /// @notice owner > nonce mapping. Used in `permit`. mapping(address => uint256) public nonces; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); /// @notice Transfers `amount` tokens from `msg.sender` to `to`. /// @param to The address to move the tokens. /// @param amount of the tokens to move. /// @return (bool) Returns True if succeeded. function transfer(address to, uint256 amount) public returns (bool) { // If `amount` is 0, or `msg.sender` is `to` nothing happens if (amount != 0 || msg.sender == to) { uint256 srcBalance = balanceOf[msg.sender]; require(srcBalance >= amount, "ERC20: balance too low"); if (msg.sender != to) { require(to != address(0), "ERC20: no zero address"); // Moved down so low balance calls safe some gas balanceOf[msg.sender] = srcBalance - amount; // Underflow is checked balanceOf[to] += amount; } } emit Transfer(msg.sender, to, amount); return true; } /// @notice Transfers `amount` tokens from `from` to `to`. Caller needs approval for `from`. /// @param from Address to draw tokens from. /// @param to The address to move the tokens. /// @param amount The token amount to move. /// @return (bool) Returns True if succeeded. function transferFrom( address from, address to, uint256 amount ) public returns (bool) { // If `amount` is 0, or `from` is `to` nothing happens if (amount != 0) { uint256 srcBalance = balanceOf[from]; require(srcBalance >= amount, "ERC20: balance too low"); if (from != to) { uint256 spenderAllowance = allowance[from][msg.sender]; // If allowance is infinite, don't decrease it to save on gas (breaks with EIP-20). if (spenderAllowance != type(uint256).max) { require(spenderAllowance >= amount, "ERC20: allowance too low"); allowance[from][msg.sender] = spenderAllowance - amount; // Underflow is checked } require(to != address(0), "ERC20: no zero address"); // Moved down so other failed calls safe some gas balanceOf[from] = srcBalance - amount; // Underflow is checked balanceOf[to] += amount; } } emit Transfer(from, to, amount); return true; } /// @notice Approves `amount` from sender to be spend by `spender`. /// @param spender Address of the party that can draw from msg.sender's account. /// @param amount The maximum collective amount that `spender` can draw. /// @return (bool) Returns True if approved. function approve(address spender, uint256 amount) public override returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } // solhint-disable-next-line func-name-mixedcase function DOMAIN_SEPARATOR() external view returns (bytes32) { return _domainSeparator(); } // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); bytes32 private constant PERMIT_SIGNATURE_HASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; /// @notice Approves `value` from `owner_` to be spend by `spender`. /// @param owner_ Address of the owner. /// @param spender The address of the spender that gets approved to draw from `owner_`. /// @param value The maximum collective amount that `spender` can draw. /// @param deadline This permit must be redeemed before this deadline (UTC timestamp in seconds). function permit( address owner_, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external override { require(owner_ != address(0), "ERC20: Owner cannot be 0"); require(block.timestamp < deadline, "ERC20: Expired"); require( ecrecover(_getDigest(keccak256(abi.encode(PERMIT_SIGNATURE_HASH, owner_, spender, value, nonces[owner_]++, deadline))), v, r, s) == owner_, "ERC20: Invalid Signature" ); allowance[owner_][spender] = value; emit Approval(owner_, spender, value); } } // Contract: BoringMath /// @notice A library for performing overflow-/underflow-safe math, /// updated with awesomeness from of DappHub (https://github.com/dapphub/ds-math). library BoringMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a + b) >= b, "BoringMath: Add Overflow"); } function sub(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a - b) <= a, "BoringMath: Underflow"); } function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b == 0 || (c = a * b) / b == a, "BoringMath: Mul Overflow"); } } /// @title Charm /// @author 0xMerlin /// @dev This contract spreads Magic. contract Charm is ERC20, BoringOwnable { using BoringMath for uint256; // ERC20 'variables' string public constant symbol = "CHARM"; string public constant name = "Charm Token"; uint8 public constant decimals = 18; uint256 public override totalSupply; uint256 public constant MAX_SUPPLY = 210 * 1e27; function mint(address to, uint256 amount) public onlyOwner { require(to != address(0), "CHARM: no mint to zero address"); require(MAX_SUPPLY >= totalSupply.add(amount), "CHARM: Don't go over MAX"); totalSupply = totalSupply + amount; balanceOf[to] += amount; emit Transfer(address(0), to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b504660a081905261002081610069565b60805250600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100c2565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692186020808301919091528183019390935230606080830191909152825180830390910181526080909101909152805191012090565b60805160a0516110516100e560003980610e73525080610ea852506110516000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80634e71e0c8116100a257806395d89b411161007157806395d89b4114610332578063a9059cbb1461033a578063d505accf14610366578063dd62ed3e146103b7578063e30c3978146103e557610116565b80634e71e0c8146102ba57806370a08231146102c25780637ecebe00146102e85780638da5cb5b1461030e57610116565b806323b872dd116100e957806323b872dd1461022a578063313ce5671461026057806332cb6b0c1461027e5780633644e5151461028657806340c10f191461028e57610116565b806306fdde031461011b578063078dfbe714610198578063095ea7b3146101d057806318160ddd14610210575b600080fd5b6101236103ed565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ce600480360360608110156101ae57600080fd5b506001600160a01b03813516906020810135151590604001351515610414565b005b6101fc600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561055d565b604080519115158252519081900360200190f35b6102186105c4565b60408051918252519081900360200190f35b6101fc6004803603606081101561024057600080fd5b506001600160a01b038135811691602081013590911690604001356105ca565b6102686107d5565b6040805160ff9092168252519081900360200190f35b6102186107da565b6102186107eb565b6101ce600480360360408110156102a457600080fd5b506001600160a01b0381351690602001356107fa565b6101ce61097f565b610218600480360360208110156102d857600080fd5b50356001600160a01b0316610a42565b610218600480360360208110156102fe57600080fd5b50356001600160a01b0316610a54565b610316610a66565b604080516001600160a01b039092168252519081900360200190f35b610123610a75565b6101fc6004803603604081101561035057600080fd5b506001600160a01b038135169060200135610a96565b6101ce600480360360e081101561037c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bea565b610218600480360360408110156103cd57600080fd5b506001600160a01b0381358116916020013516610e42565b610316610e5f565b6040518060400160405280600b81526020016a21b430b936902a37b5b2b760a91b81525081565b6003546001600160a01b03163314610473576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b811561053c576001600160a01b03831615158061048d5750805b6104d6576040805162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015290519081900360640190fd5b6003546040516001600160a01b038086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055610558565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055481565b60008115610780576001600160a01b03841660009081526020819052604090205482811015610639576040805162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161461077e576001600160a01b038516600090815260016020908152604080832033845290915290205460001981146106fd57838110156106d4576040805162461bcd60e51b815260206004820152601860248201527f45524332303a20616c6c6f77616e636520746f6f206c6f770000000000000000604482015290519081900360640190fd5b6001600160a01b0386166000908152600160209081526040808320338452909152902084820390555b6001600160a01b038516610751576040805162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b604482015290519081900360640190fd5b506001600160a01b0380861660009081526020819052604080822086850390559186168152208054840190555b505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019392505050565b601281565b6c02a68bedbb190931f65000000081565b60006107f5610e6e565b905090565b6003546001600160a01b03163314610859576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0382166108b4576040805162461bcd60e51b815260206004820152601e60248201527f434841524d3a206e6f206d696e7420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6005546108c19082610ece565b6c02a68bedbb190931f6500000001015610922576040805162461bcd60e51b815260206004820152601860248201527f434841524d3a20446f6e277420676f206f766572204d41580000000000000000604482015290519081900360640190fd5b60058054820190556001600160a01b038216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b6004546001600160a01b03163381146109df576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b60006020819052908152604090205481565b60026020526000908152604090205481565b6003546001600160a01b031681565b60405180604001604052806005815260200164434841524d60d81b81525081565b600081151580610aae5750336001600160a01b038416145b15610ba1573360009081526020819052604090205482811015610b11576040805162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b604482015290519081900360640190fd5b336001600160a01b03851614610b9f576001600160a01b038416610b75576040805162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b604482015290519081900360640190fd5b3360009081526020819052604080822085840390556001600160a01b038616825290208054840190555b505b6040805183815290516001600160a01b0385169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b6001600160a01b038716610c45576040805162461bcd60e51b815260206004820152601860248201527f45524332303a204f776e65722063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b834210610c8a576040805162461bcd60e51b815260206004820152600e60248201526d115490cc8c0e88115e1c1a5c995960921b604482015290519081900360640190fd5b6001600160a01b038088166000818152600260209081526040918290208054600181810190925583517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808501869052958c166060870152608086018b905260a086015260c08086018a90528351808703909101815260e09095019092528351930192909220909190610d2090610f26565b85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d77573d6000803e3d6000fd5b505050602060405103516001600160a01b031614610ddc576040805162461bcd60e51b815260206004820152601860248201527f45524332303a20496e76616c6964205369676e61747572650000000000000000604482015290519081900360640190fd5b6001600160a01b038088166000818152600160209081526040808320948b1680845294825291829020899055815189815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350505050505050565b600160209081526000928352604080842090915290825290205481565b6004546001600160a01b031681565b6000467f00000000000000000000000000000000000000000000000000000000000000008114610ea657610ea181610fc2565b610ec8565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b818101818110156105be576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b600060405180604001604052806002815260200161190160f01b815250610f4b610e6e565b836040516020018084805190602001908083835b60208310610f7e5780518252601f199092019160209182019101610f5f565b51815160209384036101000a600019018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218602080830191909152818301939093523060608083019190915282518083039091018152608090910190915280519101209056fea2646970667358221220d80e33ce872f983a89710dcc7e2e4674a63770c88da5b986a65160b50e96251b64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80634e71e0c8116100a257806395d89b411161007157806395d89b4114610332578063a9059cbb1461033a578063d505accf14610366578063dd62ed3e146103b7578063e30c3978146103e557610116565b80634e71e0c8146102ba57806370a08231146102c25780637ecebe00146102e85780638da5cb5b1461030e57610116565b806323b872dd116100e957806323b872dd1461022a578063313ce5671461026057806332cb6b0c1461027e5780633644e5151461028657806340c10f191461028e57610116565b806306fdde031461011b578063078dfbe714610198578063095ea7b3146101d057806318160ddd14610210575b600080fd5b6101236103ed565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ce600480360360608110156101ae57600080fd5b506001600160a01b03813516906020810135151590604001351515610414565b005b6101fc600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561055d565b604080519115158252519081900360200190f35b6102186105c4565b60408051918252519081900360200190f35b6101fc6004803603606081101561024057600080fd5b506001600160a01b038135811691602081013590911690604001356105ca565b6102686107d5565b6040805160ff9092168252519081900360200190f35b6102186107da565b6102186107eb565b6101ce600480360360408110156102a457600080fd5b506001600160a01b0381351690602001356107fa565b6101ce61097f565b610218600480360360208110156102d857600080fd5b50356001600160a01b0316610a42565b610218600480360360208110156102fe57600080fd5b50356001600160a01b0316610a54565b610316610a66565b604080516001600160a01b039092168252519081900360200190f35b610123610a75565b6101fc6004803603604081101561035057600080fd5b506001600160a01b038135169060200135610a96565b6101ce600480360360e081101561037c57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610bea565b610218600480360360408110156103cd57600080fd5b506001600160a01b0381358116916020013516610e42565b610316610e5f565b6040518060400160405280600b81526020016a21b430b936902a37b5b2b760a91b81525081565b6003546001600160a01b03163314610473576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b811561053c576001600160a01b03831615158061048d5750805b6104d6576040805162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015290519081900360640190fd5b6003546040516001600160a01b038086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055610558565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055481565b60008115610780576001600160a01b03841660009081526020819052604090205482811015610639576040805162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161461077e576001600160a01b038516600090815260016020908152604080832033845290915290205460001981146106fd57838110156106d4576040805162461bcd60e51b815260206004820152601860248201527f45524332303a20616c6c6f77616e636520746f6f206c6f770000000000000000604482015290519081900360640190fd5b6001600160a01b0386166000908152600160209081526040808320338452909152902084820390555b6001600160a01b038516610751576040805162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b604482015290519081900360640190fd5b506001600160a01b0380861660009081526020819052604080822086850390559186168152208054840190555b505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019392505050565b601281565b6c02a68bedbb190931f65000000081565b60006107f5610e6e565b905090565b6003546001600160a01b03163314610859576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0382166108b4576040805162461bcd60e51b815260206004820152601e60248201527f434841524d3a206e6f206d696e7420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6005546108c19082610ece565b6c02a68bedbb190931f6500000001015610922576040805162461bcd60e51b815260206004820152601860248201527f434841524d3a20446f6e277420676f206f766572204d41580000000000000000604482015290519081900360640190fd5b60058054820190556001600160a01b038216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b6004546001600160a01b03163381146109df576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b60006020819052908152604090205481565b60026020526000908152604090205481565b6003546001600160a01b031681565b60405180604001604052806005815260200164434841524d60d81b81525081565b600081151580610aae5750336001600160a01b038416145b15610ba1573360009081526020819052604090205482811015610b11576040805162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b604482015290519081900360640190fd5b336001600160a01b03851614610b9f576001600160a01b038416610b75576040805162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b604482015290519081900360640190fd5b3360009081526020819052604080822085840390556001600160a01b038616825290208054840190555b505b6040805183815290516001600160a01b0385169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b6001600160a01b038716610c45576040805162461bcd60e51b815260206004820152601860248201527f45524332303a204f776e65722063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b834210610c8a576040805162461bcd60e51b815260206004820152600e60248201526d115490cc8c0e88115e1c1a5c995960921b604482015290519081900360640190fd5b6001600160a01b038088166000818152600260209081526040918290208054600181810190925583517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808501869052958c166060870152608086018b905260a086015260c08086018a90528351808703909101815260e09095019092528351930192909220909190610d2090610f26565b85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d77573d6000803e3d6000fd5b505050602060405103516001600160a01b031614610ddc576040805162461bcd60e51b815260206004820152601860248201527f45524332303a20496e76616c6964205369676e61747572650000000000000000604482015290519081900360640190fd5b6001600160a01b038088166000818152600160209081526040808320948b1680845294825291829020899055815189815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350505050505050565b600160209081526000928352604080842090915290825290205481565b6004546001600160a01b031681565b6000467f00000000000000000000000000000000000000000000000000000000000000fa8114610ea657610ea181610fc2565b610ec8565b7fa3413073824fb27d48ec02a8905bcef4fdcd8ece59b8360fca480a2e4c9a42565b91505090565b818101818110156105be576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b600060405180604001604052806002815260200161190160f01b815250610f4b610e6e565b836040516020018084805190602001908083835b60208310610f7e5780518252601f199092019160209182019101610f5f565b51815160209384036101000a600019018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218602080830191909152818301939093523060608083019190915282518083039091018152608090910190915280519101209056fea2646970667358221220d80e33ce872f983a89710dcc7e2e4674a63770c88da5b986a65160b50e96251b64736f6c634300060c0033
Deployed Bytecode Sourcemap
11115:697:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11268:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1315:506;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1315:506:0;;;;;;;;;;;;;;;;;:::i;:::-;;8685:214;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8685:214:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11360:35;;;:::i;:::-;;;;;;;;;;;;;;;;7239:1151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7239:1151:0;;;;;;;;;;;;;;;;;:::i;11318:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11402:47;;;:::i;8961:104::-;;;:::i;11458:351::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11458:351:0;;;;;;;;:::i;1903:340::-;;;:::i;5535:53::-;;;;;;;;;;;;;;;;-1:-1:-1;5535:53:0;-1:-1:-1;;;;;5535:53:0;;:::i;5787:41::-;;;;;;;;;;;;;;;;-1:-1:-1;5787:41:0;-1:-1:-1;;;;;5787:41:0;;:::i;461:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;461:20:0;;;;;;;;;;;;;;11222:39;;;:::i;6229:703::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6229:703:0;;;;;;;;:::i;9694:674::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9694:674:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5649:73::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5649:73:0;;;;;;;;;;:::i;488:27::-;;;:::i;11268:43::-;;;;;;;;;;;;;;-1:-1:-1;;;11268:43:0;;;;:::o;1315:506::-;2371:5;;-1:-1:-1;;;;;2371:5:0;2357:10;:19;2349:64;;;;;-1:-1:-1;;;2349:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1454:6:::1;1450:364;;;-1:-1:-1::0;;;;;1508:22:0;::::1;::::0;::::1;::::0;:34:::1;;;1534:8;1508:34;1500:68;;;::::0;;-1:-1:-1;;;1500:68:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1500:68:0;;;;;;;;;;;;;::::1;;1635:5;::::0;1614:37:::1;::::0;-1:-1:-1;;;;;1614:37:0;;::::1;::::0;1635:5:::1;::::0;1614:37:::1;::::0;1635:5:::1;::::0;1614:37:::1;1666:5;:16:::0;;-1:-1:-1;;;;;1666:16:0;::::1;-1:-1:-1::0;;;;;;1666:16:0;;::::1;;::::0;;;1697:12:::1;:25:::0;;;;::::1;::::0;;1450:364:::1;;;1779:12;:23:::0;;-1:-1:-1;;;;;;1779:23:0::1;-1:-1:-1::0;;;;;1779:23:0;::::1;;::::0;;1450:364:::1;1315:506:::0;;;:::o;8685:214::-;8787:10;8760:4;8777:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;8777:30:0;;;;;;;;;;;:39;;;8832:37;;;;;;;8760:4;;8777:30;;8787:10;;8832:37;;;;;;;;-1:-1:-1;8887:4:0;8685:214;;;;;:::o;11360:35::-;;;;:::o;7239:1151::-;7353:4;7438:11;;7434:885;;-1:-1:-1;;;;;7487:15:0;;7466:18;7487:15;;;;;;;;;;;7525:20;;;;7517:55;;;;;-1:-1:-1;;;7517:55:0;;;;;;;;;;;;-1:-1:-1;;;7517:55:0;;;;;;;;;;;;;;;7601:2;-1:-1:-1;;;;;7593:10:0;:4;-1:-1:-1;;;;;7593:10:0;;7589:719;;-1:-1:-1;;;;;7651:15:0;;7624:24;7651:15;;;:9;:15;;;;;;;;7667:10;7651:27;;;;;;;;-1:-1:-1;;7802:37:0;;7798:251;;7892:6;7872:16;:26;;7864:63;;;;;-1:-1:-1;;;7864:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7950:15:0;;;;;;:9;:15;;;;;;;;7966:10;7950:27;;;;;;;7980:25;;;7950:55;;7798:251;-1:-1:-1;;;;;8075:16:0;;8067:51;;;;;-1:-1:-1;;;8067:51:0;;;;;;;;;;;;-1:-1:-1;;;8067:51:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8189:15:0;;;:9;:15;;;;;;;;;;;8207:19;;;8189:37;;8269:13;;;;;;:23;;;;;;7589:719;7434:885;;8349:2;-1:-1:-1;;;;;8334:26:0;8343:4;-1:-1:-1;;;;;8334:26:0;;8353:6;8334:26;;;;;;;;;;;;;;;;;;-1:-1:-1;8378:4:0;7239:1151;;;;;:::o;11318:35::-;11351:2;11318:35;:::o;11402:47::-;11439:10;11402:47;:::o;8961:104::-;9012:7;9039:18;:16;:18::i;:::-;9032:25;;8961:104;:::o;11458:351::-;2371:5;;-1:-1:-1;;;;;2371:5:0;2357:10;:19;2349:64;;;;;-1:-1:-1;;;2349:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11536:16:0;::::1;11528:59;;;::::0;;-1:-1:-1;;;11528:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11620:11;::::0;:23:::1;::::0;11636:6;11620:15:::1;:23::i;:::-;11439:10;11606:37;;11598:74;;;::::0;;-1:-1:-1;;;11598:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11699:11;::::0;;:20;::::1;11685:34:::0;;-1:-1:-1;;;;;11730:13:0;::::1;-1:-1:-1::0;11730:13:0;;;::::1;::::0;;;;;;;:23;;;::::1;::::0;;11769:32;;;;;;;::::1;::::0;;;;;;;;;::::1;11458:351:::0;;:::o;1903:340::-;1971:12;;-1:-1:-1;;;;;1971:12:0;2023:10;:27;;2015:72;;;;;-1:-1:-1;;;2015:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:5;;2125:42;;-1:-1:-1;;;;;2125:42:0;;;;2146:5;;2125:42;;2146:5;;2125:42;2178:5;:21;;-1:-1:-1;;;;;2178:21:0;;;-1:-1:-1;;;;;;2178:21:0;;;;;;2210:12;:25;;;;;;;1903:340::o;5535:53::-;;;;;;;;;;;;;;:::o;5787:41::-;;;;;;;;;;;;;:::o;461:20::-;;;-1:-1:-1;;;;;461:20:0;;:::o;11222:39::-;;;;;;;;;;;;;;-1:-1:-1;;;11222:39:0;;;;:::o;6229:703::-;6291:4;6382:11;;;;:31;;-1:-1:-1;6397:10:0;-1:-1:-1;;;;;6397:16:0;;;6382:31;6378:477;;;6461:10;6430:18;6451:21;;;;;;;;;;;6495:20;;;;6487:55;;;;;-1:-1:-1;;;6487:55:0;;;;;;;;;;;;-1:-1:-1;;;6487:55:0;;;;;;;;;;;;;;;6561:10;-1:-1:-1;;;;;6561:16:0;;;6557:287;;-1:-1:-1;;;;;6606:16:0;;6598:51;;;;;-1:-1:-1;;;6598:51:0;;;;;;;;;;;;-1:-1:-1;;;6598:51:0;;;;;;;;;;;;;;;6729:10;6719:9;:21;;;;;;;;;;;6743:19;;;6719:43;;-1:-1:-1;;;;;6805:13:0;;;;;;:23;;;;;;6557:287;6378:477;;6870:32;;;;;;;;-1:-1:-1;;;;;6870:32:0;;;6879:10;;6870:32;;;;;;;;;-1:-1:-1;6920:4:0;6229:703;;;;:::o;9694:674::-;-1:-1:-1;;;;;9914:20:0;;9906:57;;;;;-1:-1:-1;;;9906:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10000:8;9982:15;:26;9974:53;;;;;-1:-1:-1;;;9974:53:0;;;;;;;;;;;;-1:-1:-1;;;9974:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10060:155:0;;;10102:21;10149:14;;;:6;:14;;;;;;;;;:16;;10060:128;10149:16;;;;;;10091:85;;9227:66;10091:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10081:96;;;;;;;;10060:155;;:128;10070:108;;:10;:108::i;:::-;10180:1;10183;10186;10060:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10060:155:0;;10038:229;;;;;-1:-1:-1;;;10038:229:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10278:17:0;;;;;;;:9;:17;;;;;;;;:26;;;;;;;;;;;;;:34;;;10328:32;;;;;;;;;;;;;;;;;9694:674;;;;;;;:::o;5649:73::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;488:27::-;;;-1:-1:-1;;;;;488:27:0;;:::o;3708:237::-;3759:7;3817:9;3855:25;3844:36;;:93;;3903:34;3929:7;3903:25;:34::i;:::-;3844:93;;;3883:17;3844:93;3837:100;;;3708:237;:::o;10579:141::-;10672:5;;;10667:16;;;;10659:53;;;;;-1:-1:-1;;;10659:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3953:331;4014:14;4130:40;;;;;;;;;;;;;-1:-1:-1;;;4130:40:0;;;4193:18;:16;:18::i;:::-;4234:8;4091:170;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4091:170:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4091:170:0;;;;;;;;;;;;;;;;-1:-1:-1;4091:170:0;;;;;;;-1:-1:-1;4091:170:0;;;;;;;;;;;;;;;4063:213;;;;;;;-1:-1:-1;;;3953:331:0:o;2936:277::-;3061:133;;;2522:68;3061:133;;;;;;;;;;;;;;;3174:4;3061:133;;;;;;;;;;;;;;;;;;;;;;;;;3037:168;;;;;;2936:277::o
Swarm Source
ipfs://d80e33ce872f983a89710dcc7e2e4674a63770c88da5b986a65160b50e96251b
Loading...
Loading
Loading...
Loading
OVERVIEW
Spartacadabra allows summoning charms that turn locked liquidity into magic crypto money.
[ 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.