More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x6c09140bce5e043c6955eaa3e2d59fde31dfa3abb1f5203f0e6c4015f55decd1 | Claim | (pending) | 27 mins ago | IN | 0 ETH | (Pending) | |||
0xb2c2920f4416a427d1fd18b110dfee95a29a308caa521098dd3f812cd62732e0 | Claim | (pending) | 42 mins ago | IN | 0 ETH | (Pending) | |||
0x2a61b9ec11ef6ac7d209bfe57dd989b9a2abdd17548ca26783642d07867625bc | Claim | (pending) | 42 mins ago | IN | 0 ETH | (Pending) | |||
0x4792eee2f63f6afe5f8e5e402c8ea67769ee0fd368a88a2c97bb422842af37d3 | Claim | (pending) | 3 hrs ago | IN | 0 ETH | (Pending) | |||
0x32638a4df7760188a7ec5cc98b028a8de56e81b50e38ef03351423489b4bbcfe | Claim | (pending) | 27 hrs ago | IN | 0 ETH | (Pending) | |||
0x75b554a4b3b7ed7800af02fe4005bc99ffaf59949939273b5c0dd6390244e77c | Claim | (pending) | 29 hrs ago | IN | 0 ETH | (Pending) | |||
0x95b9a3fd24edc1f13f69c4bdbdead837d40799fc9cb3a00bdc343f044df3f14c | Claim | (pending) | 4 days ago | IN | 0 ETH | (Pending) | |||
Claim | 21455059 | 28 hrs ago | IN | 0 ETH | 0.00054529 | ||||
Claim | 21452384 | 37 hrs ago | IN | 0 ETH | 0.00073052 | ||||
Claim | 21450703 | 43 hrs ago | IN | 0 ETH | 0.00073321 | ||||
Claim | 21401829 | 8 days ago | IN | 0 ETH | 0.00092053 | ||||
Claim | 21288247 | 24 days ago | IN | 0 ETH | 0.00111953 | ||||
Claim | 21028145 | 60 days ago | IN | 0 ETH | 0.00068865 | ||||
Claim | 20978845 | 67 days ago | IN | 0 ETH | 0.00158074 | ||||
Claim | 20968843 | 69 days ago | IN | 0 ETH | 0.00113854 | ||||
Claim | 20906926 | 77 days ago | IN | 0 ETH | 0.00086155 | ||||
Claim | 20906531 | 77 days ago | IN | 0 ETH | 0.0007179 | ||||
Claim | 20888167 | 80 days ago | IN | 0 ETH | 0.00044144 | ||||
Claim | 20867955 | 83 days ago | IN | 0 ETH | 0.00063222 | ||||
Claim | 20848229 | 85 days ago | IN | 0 ETH | 0.00083306 | ||||
Claim | 20846246 | 86 days ago | IN | 0 ETH | 0.00063464 | ||||
Claim | 20844870 | 86 days ago | IN | 0 ETH | 0.00068868 | ||||
Claim | 20746539 | 100 days ago | IN | 0 ETH | 0.00014425 | ||||
Claim | 20745897 | 100 days ago | IN | 0 ETH | 0.00016952 | ||||
Claim | 20741114 | 100 days ago | IN | 0 ETH | 0.00020635 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MSN_SIMPLE_CLAIM
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-13 */ // File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.9/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } // File: contracts/MSN_SIMPLE_CLAIM.sol pragma solidity ^0.8.0; contract MSN_SIMPLE_CLAIM { address public msn_contract_address; address public claim_signer; mapping(uint256 => uint256) private claim_sig_amount_map; // claim signature id => amount address public contract_owner; modifier onlyContractOwner() { require(msg.sender == contract_owner, "Only contractOwner"); _; } constructor(address _msn_contract_addr) { msn_contract_address = _msn_contract_addr; contract_owner = msg.sender; } function check_claim_amount_from_signature(uint256 sig_id) public view returns (uint256) { return claim_sig_amount_map[sig_id]; } event Set_claim_signer_log(address addr); function set_claim_signer(address _new_signer) external onlyContractOwner { require(address(_new_signer) != address(0)); claim_signer = _new_signer; emit Set_claim_signer_log(_new_signer); } /** * Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d * @dev Recover signer address from a message by using his signature * @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address. * @param sig bytes signature, the signature is generated using web3.eth.sign() */ function recover(bytes32 hash, bytes memory sig) public pure returns (address) { bytes32 r; bytes32 s; uint8 v; //Check the signature length if (sig.length != 65) { return (address(0)); } // Divide the signature in r, s and v variables assembly { r := mload(add(sig, 32)) s := mload(add(sig, 64)) v := byte(0, mload(add(sig, 96))) } // Version of signature should be 27 or 28, but 0 and 1 are also possible versions if (v < 27) { v += 27; } // If the version is correct return the signer address if (v != 27 && v != 28) { return (address(0)); } else { return ecrecover(hash, v, r, s); } } function check_claim_sig( uint256 sig_id, uint256 amount, bytes memory sig ) private view { bytes32 hash = keccak256(abi.encodePacked(sig_id, msg.sender, amount)); address msg_signer = recover(hash, sig); require(msg_signer == claim_signer, "signature error"); } function claim( uint256 signature_id, uint256 amount, bytes memory signature ) public { require(amount > 0, "claim amount should be bigger then 0"); require(claim_sig_amount_map[signature_id] == 0, "repeated claim"); claim_sig_amount_map[signature_id] = amount; check_claim_sig(signature_id, amount, signature); //transfer bool result = IERC20(msn_contract_address).transfer(msg.sender, amount); require(result == true, "transfer error"); } function forbid_claim(uint256 signature_id) public onlyContractOwner { require(claim_sig_amount_map[signature_id] == 0, "already claimed"); claim_sig_amount_map[signature_id] = 1; } function transfer_msn_to_owner(uint256 amount) public onlyContractOwner { bool result = IERC20(msn_contract_address).transfer( contract_owner, amount ); require(result == true, "transfer error"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_msn_contract_addr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"}],"name":"Set_claim_signer_log","type":"event"},{"inputs":[{"internalType":"uint256","name":"sig_id","type":"uint256"}],"name":"check_claim_amount_from_signature","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"signature_id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim_signer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contract_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"signature_id","type":"uint256"}],"name":"forbid_claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"msn_contract_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"recover","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_new_signer","type":"address"}],"name":"set_claim_signer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer_msn_to_owner","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620012ec380380620012ec8339818101604052810190620000379190620000d6565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000150565b600081519050620000d08162000136565b92915050565b600060208284031215620000e957600080fd5b6000620000f984828501620000bf565b91505092915050565b60006200010f8262000116565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620001418162000102565b81146200014d57600080fd5b50565b61118c80620001606000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80635455adad116100665780635455adad1461011e5780635eddd1571461013c5780638a45ff5014610158578063aaa76f2214610188578063e745b721146101a657610093565b8063132e4a831461009857806319045a25146100b457806334383704146100e4578063384f58eb14610100575b600080fd5b6100b260048036038101906100ad9190610a63565b6101c2565b005b6100ce60048036038101906100c99190610ab5565b610307565b6040516100db9190610de6565b60405180910390f35b6100fe60048036038101906100f99190610b09565b6103da565b005b6101086104dc565b6040516101159190610de6565b60405180910390f35b610126610502565b6040516101339190610de6565b60405180910390f35b61015660048036038101906101519190610b32565b610528565b005b610172600480360381019061016d9190610b09565b6106e3565b60405161017f9190610f2f565b60405180910390f35b610190610700565b60405161019d9190610de6565b60405180910390f35b6101c060048036038101906101bb9190610b09565b610724565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024990610e8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561028c57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f97b5f1630562c191acaaf84e065f8b3b2c43103d6a154b2f6b9410085773510a816040516102fc9190610de6565b60405180910390a150565b600080600080604185511461032257600093505050506103d4565b6020850151925060408501519150606085015160001a9050601b8160ff16101561035657601b816103539190610fbc565b90505b601b8160ff161415801561036e5750601c8160ff1614155b1561037f57600093505050506103d4565b600186828585604051600081526020016040526040516103a29493929190610e2a565b6020604051602081039080840390855afa1580156103c4573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046190610e8f565b60405180910390fd5b60006002600083815260200190815260200160002054146104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b790610eaf565b60405180910390fd5b6001600260008381526020019081526020016000208190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000821161056b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056290610f0f565b60405180910390fd5b60006002600085815260200190815260200160002054146105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890610e6f565b60405180910390fd5b8160026000858152602001908152602001600020819055506105e48383836108d3565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610642929190610e01565b602060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106949190610a8c565b905060011515811515146106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490610eef565b60405180910390fd5b50505050565b600060026000838152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab90610e8f565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610834929190610e01565b602060405180830381600087803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108869190610a8c565b905060011515811515146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690610eef565b60405180910390fd5b5050565b60008333846040516020016108ea93929190610da9565b604051602081830303815290604052805190602001209050600061090e8284610307565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790610ecf565b60405180910390fd5b5050505050565b60006109ba6109b584610f7b565b610f4a565b9050828152602081018484840111156109d257600080fd5b6109dd848285611052565b509392505050565b6000813590506109f4816110fa565b92915050565b600081519050610a0981611111565b92915050565b600081359050610a1e81611128565b92915050565b600082601f830112610a3557600080fd5b8135610a458482602086016109a7565b91505092915050565b600081359050610a5d8161113f565b92915050565b600060208284031215610a7557600080fd5b6000610a83848285016109e5565b91505092915050565b600060208284031215610a9e57600080fd5b6000610aac848285016109fa565b91505092915050565b60008060408385031215610ac857600080fd5b6000610ad685828601610a0f565b925050602083013567ffffffffffffffff811115610af357600080fd5b610aff85828601610a24565b9150509250929050565b600060208284031215610b1b57600080fd5b6000610b2984828501610a4e565b91505092915050565b600080600060608486031215610b4757600080fd5b6000610b5586828701610a4e565b9350506020610b6686828701610a4e565b925050604084013567ffffffffffffffff811115610b8357600080fd5b610b8f86828701610a24565b9150509250925092565b610ba281610ff3565b82525050565b610bb9610bb482610ff3565b611061565b82525050565b610bc881611011565b82525050565b6000610bdb600e83610fab565b91507f726570656174656420636c61696d0000000000000000000000000000000000006000830152602082019050919050565b6000610c1b601283610fab565b91507f4f6e6c7920636f6e74726163744f776e657200000000000000000000000000006000830152602082019050919050565b6000610c5b600f83610fab565b91507f616c726561647920636c61696d656400000000000000000000000000000000006000830152602082019050919050565b6000610c9b600f83610fab565b91507f7369676e6174757265206572726f7200000000000000000000000000000000006000830152602082019050919050565b6000610cdb600e83610fab565b91507f7472616e73666572206572726f720000000000000000000000000000000000006000830152602082019050919050565b6000610d1b602483610fab565b91507f636c61696d20616d6f756e742073686f756c642062652062696767657220746860008301527f656e2030000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610d7d8161103b565b82525050565b610d94610d8f8261103b565b611085565b82525050565b610da381611045565b82525050565b6000610db58286610d83565b602082019150610dc58285610ba8565b601482019150610dd58284610d83565b602082019150819050949350505050565b6000602082019050610dfb6000830184610b99565b92915050565b6000604082019050610e166000830185610b99565b610e236020830184610d74565b9392505050565b6000608082019050610e3f6000830187610bbf565b610e4c6020830186610d9a565b610e596040830185610bbf565b610e666060830184610bbf565b95945050505050565b60006020820190508181036000830152610e8881610bce565b9050919050565b60006020820190508181036000830152610ea881610c0e565b9050919050565b60006020820190508181036000830152610ec881610c4e565b9050919050565b60006020820190508181036000830152610ee881610c8e565b9050919050565b60006020820190508181036000830152610f0881610cce565b9050919050565b60006020820190508181036000830152610f2881610d0e565b9050919050565b6000602082019050610f446000830184610d74565b92915050565b6000604051905081810181811067ffffffffffffffff82111715610f7157610f706110be565b5b8060405250919050565b600067ffffffffffffffff821115610f9657610f956110be565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b6000610fc782611045565b9150610fd283611045565b92508260ff03821115610fe857610fe761108f565b5b828201905092915050565b6000610ffe8261101b565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b600061106c82611073565b9050919050565b600061107e826110ed565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008160601b9050919050565b61110381610ff3565b811461110e57600080fd5b50565b61111a81611005565b811461112557600080fd5b50565b61113181611011565b811461113c57600080fd5b50565b6111488161103b565b811461115357600080fd5b5056fea26469706673582212208b87d33bea534b357405e8bbbc54e04bcac4575408d07c466b1af7984cc2848c64736f6c63430008000033000000000000000000000000aa247c0d81b83812e1abf8bab078e4540d87e3fb
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c80635455adad116100665780635455adad1461011e5780635eddd1571461013c5780638a45ff5014610158578063aaa76f2214610188578063e745b721146101a657610093565b8063132e4a831461009857806319045a25146100b457806334383704146100e4578063384f58eb14610100575b600080fd5b6100b260048036038101906100ad9190610a63565b6101c2565b005b6100ce60048036038101906100c99190610ab5565b610307565b6040516100db9190610de6565b60405180910390f35b6100fe60048036038101906100f99190610b09565b6103da565b005b6101086104dc565b6040516101159190610de6565b60405180910390f35b610126610502565b6040516101339190610de6565b60405180910390f35b61015660048036038101906101519190610b32565b610528565b005b610172600480360381019061016d9190610b09565b6106e3565b60405161017f9190610f2f565b60405180910390f35b610190610700565b60405161019d9190610de6565b60405180910390f35b6101c060048036038101906101bb9190610b09565b610724565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024990610e8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561028c57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f97b5f1630562c191acaaf84e065f8b3b2c43103d6a154b2f6b9410085773510a816040516102fc9190610de6565b60405180910390a150565b600080600080604185511461032257600093505050506103d4565b6020850151925060408501519150606085015160001a9050601b8160ff16101561035657601b816103539190610fbc565b90505b601b8160ff161415801561036e5750601c8160ff1614155b1561037f57600093505050506103d4565b600186828585604051600081526020016040526040516103a29493929190610e2a565b6020604051602081039080840390855afa1580156103c4573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046190610e8f565b60405180910390fd5b60006002600083815260200190815260200160002054146104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b790610eaf565b60405180910390fd5b6001600260008381526020019081526020016000208190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000821161056b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056290610f0f565b60405180910390fd5b60006002600085815260200190815260200160002054146105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890610e6f565b60405180910390fd5b8160026000858152602001908152602001600020819055506105e48383836108d3565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610642929190610e01565b602060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106949190610a8c565b905060011515811515146106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490610eef565b60405180910390fd5b50505050565b600060026000838152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab90610e8f565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610834929190610e01565b602060405180830381600087803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108869190610a8c565b905060011515811515146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690610eef565b60405180910390fd5b5050565b60008333846040516020016108ea93929190610da9565b604051602081830303815290604052805190602001209050600061090e8284610307565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790610ecf565b60405180910390fd5b5050505050565b60006109ba6109b584610f7b565b610f4a565b9050828152602081018484840111156109d257600080fd5b6109dd848285611052565b509392505050565b6000813590506109f4816110fa565b92915050565b600081519050610a0981611111565b92915050565b600081359050610a1e81611128565b92915050565b600082601f830112610a3557600080fd5b8135610a458482602086016109a7565b91505092915050565b600081359050610a5d8161113f565b92915050565b600060208284031215610a7557600080fd5b6000610a83848285016109e5565b91505092915050565b600060208284031215610a9e57600080fd5b6000610aac848285016109fa565b91505092915050565b60008060408385031215610ac857600080fd5b6000610ad685828601610a0f565b925050602083013567ffffffffffffffff811115610af357600080fd5b610aff85828601610a24565b9150509250929050565b600060208284031215610b1b57600080fd5b6000610b2984828501610a4e565b91505092915050565b600080600060608486031215610b4757600080fd5b6000610b5586828701610a4e565b9350506020610b6686828701610a4e565b925050604084013567ffffffffffffffff811115610b8357600080fd5b610b8f86828701610a24565b9150509250925092565b610ba281610ff3565b82525050565b610bb9610bb482610ff3565b611061565b82525050565b610bc881611011565b82525050565b6000610bdb600e83610fab565b91507f726570656174656420636c61696d0000000000000000000000000000000000006000830152602082019050919050565b6000610c1b601283610fab565b91507f4f6e6c7920636f6e74726163744f776e657200000000000000000000000000006000830152602082019050919050565b6000610c5b600f83610fab565b91507f616c726561647920636c61696d656400000000000000000000000000000000006000830152602082019050919050565b6000610c9b600f83610fab565b91507f7369676e6174757265206572726f7200000000000000000000000000000000006000830152602082019050919050565b6000610cdb600e83610fab565b91507f7472616e73666572206572726f720000000000000000000000000000000000006000830152602082019050919050565b6000610d1b602483610fab565b91507f636c61696d20616d6f756e742073686f756c642062652062696767657220746860008301527f656e2030000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610d7d8161103b565b82525050565b610d94610d8f8261103b565b611085565b82525050565b610da381611045565b82525050565b6000610db58286610d83565b602082019150610dc58285610ba8565b601482019150610dd58284610d83565b602082019150819050949350505050565b6000602082019050610dfb6000830184610b99565b92915050565b6000604082019050610e166000830185610b99565b610e236020830184610d74565b9392505050565b6000608082019050610e3f6000830187610bbf565b610e4c6020830186610d9a565b610e596040830185610bbf565b610e666060830184610bbf565b95945050505050565b60006020820190508181036000830152610e8881610bce565b9050919050565b60006020820190508181036000830152610ea881610c0e565b9050919050565b60006020820190508181036000830152610ec881610c4e565b9050919050565b60006020820190508181036000830152610ee881610c8e565b9050919050565b60006020820190508181036000830152610f0881610cce565b9050919050565b60006020820190508181036000830152610f2881610d0e565b9050919050565b6000602082019050610f446000830184610d74565b92915050565b6000604051905081810181811067ffffffffffffffff82111715610f7157610f706110be565b5b8060405250919050565b600067ffffffffffffffff821115610f9657610f956110be565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b6000610fc782611045565b9150610fd283611045565b92508260ff03821115610fe857610fe761108f565b5b828201905092915050565b6000610ffe8261101b565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b600061106c82611073565b9050919050565b600061107e826110ed565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008160601b9050919050565b61110381610ff3565b811461110e57600080fd5b50565b61111a81611005565b811461112557600080fd5b50565b61113181611011565b811461113c57600080fd5b50565b6111488161103b565b811461115357600080fd5b5056fea26469706673582212208b87d33bea534b357405e8bbbc54e04bcac4575408d07c466b1af7984cc2848c64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000aa247c0d81b83812e1abf8bab078e4540d87e3fb
-----Decoded View---------------
Arg [0] : _msn_contract_addr (address): 0xaA247c0D81B83812e1ABf8bAB078E4540D87e3fB
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000aa247c0d81b83812e1abf8bab078e4540d87e3fb
Deployed Bytecode Sourcemap
2978:3603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3727:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4347:868;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6111:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3186:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3055:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5557:546;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3495:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3011:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6323:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3727:246;3284:14;;;;;;;;;;;3270:28;;:10;:28;;;3262:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3875:1:::1;3843:34;;3851:11;3843:34;;;;3835:43;;;::::0;::::1;;3905:11;3890:12;;:26;;;;;;;;;;;;;;;;;;3932:33;3953:11;3932:33;;;;;;:::i;:::-;;;;;;;;3727:246:::0;:::o;4347:868::-;4444:7;4469:9;4489;4509:7;4585:2;4571:3;:10;:16;4567:68;;4620:1;4604:19;;;;;;;4567:68;4748:2;4743:3;4739:12;4733:19;4728:24;;4786:2;4781:3;4777:12;4771:19;4766:24;;4832:2;4827:3;4823:12;4817:19;4814:1;4809:28;4804:33;;4960:2;4956:1;:6;;;4952:46;;;4984:2;4979:7;;;;;:::i;:::-;;;4952:46;5083:2;5078:1;:7;;;;:18;;;;;5094:2;5089:1;:7;;;;5078:18;5074:134;;;5129:1;5113:19;;;;;;;5074:134;5172:24;5182:4;5188:1;5191;5194;5172:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5165:31;;;;;4347:868;;;;;:::o;6111:204::-;3284:14;;;;;;;;;;;3270:28;;:10;:28;;;3262:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6237:1:::1;6199:20;:34;6220:12;6199:34;;;;;;;;;;;;:39;6191:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6306:1;6269:20;:34;6290:12;6269:34;;;;;;;;;;;:38;;;;6111:204:::0;:::o;3186:29::-;;;;;;;;;;;;;:::o;3055:27::-;;;;;;;;;;;;;:::o;5557:546::-;5703:1;5694:6;:10;5686:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;5804:1;5766:20;:34;5787:12;5766:34;;;;;;;;;;;;:39;5758:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5872:6;5835:20;:34;5856:12;5835:34;;;;;;;;;;;:43;;;;5891:48;5907:12;5921:6;5929:9;5891:15;:48::i;:::-;5972:11;5993:20;;;;;;;;;;;5986:37;;;6024:10;6036:6;5986:57;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5972:71;;6072:4;6062:14;;:6;:14;;;6054:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5557:546;;;;:::o;3495:175::-;3602:7;3634:20;:28;3655:6;3634:28;;;;;;;;;;;;3627:35;;3495:175;;;:::o;3011:35::-;;;;;;;;;;;;:::o;6323:255::-;3284:14;;;;;;;;;;;3270:28;;:10;:28;;;3262:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6406:11:::1;6427:20:::0;::::1;;;;;;;;;;6420:37;;;6472:14;;;;;;;;;;;6501:6;6420:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6406:112;;6547:4;6537:14;;:6;:14;;;6529:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;3332:1;6323:255:::0;:::o;5223:326::-;5356:12;5398:6;5406:10;5418:6;5381:44;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5371:55;;;;;;5356:70;;5437:18;5458;5466:4;5472:3;5458:7;:18::i;:::-;5437:39;;5509:12;;;;;;;;;;;5495:26;;:10;:26;;;5487:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;5223:326;;;;;:::o;7:342:1:-;;109:64;124:48;165:6;124:48;:::i;:::-;109:64;:::i;:::-;100:73;;196:6;189:5;182:21;234:4;227:5;223:16;272:3;263:6;258:3;254:16;251:25;248:2;;;289:1;286;279:12;248:2;302:41;336:6;331:3;326;302:41;:::i;:::-;90:259;;;;;;:::o;355:139::-;;439:6;426:20;417:29;;455:33;482:5;455:33;:::i;:::-;407:87;;;;:::o;500:137::-;;585:6;579:13;570:22;;601:30;625:5;601:30;:::i;:::-;560:77;;;;:::o;643:139::-;;727:6;714:20;705:29;;743:33;770:5;743:33;:::i;:::-;695:87;;;;:::o;801:271::-;;905:3;898:4;890:6;886:17;882:27;872:2;;923:1;920;913:12;872:2;963:6;950:20;988:78;1062:3;1054:6;1047:4;1039:6;1035:17;988:78;:::i;:::-;979:87;;862:210;;;;;:::o;1078:139::-;;1162:6;1149:20;1140:29;;1178:33;1205:5;1178:33;:::i;:::-;1130:87;;;;:::o;1223:262::-;;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;1347:1;1344;1337:12;1299:2;1390:1;1415:53;1460:7;1451:6;1440:9;1436:22;1415:53;:::i;:::-;1405:63;;1361:117;1289:196;;;;:::o;1491:278::-;;1607:2;1595:9;1586:7;1582:23;1578:32;1575:2;;;1623:1;1620;1613:12;1575:2;1666:1;1691:61;1744:7;1735:6;1724:9;1720:22;1691:61;:::i;:::-;1681:71;;1637:125;1565:204;;;;:::o;1775:518::-;;;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1925:1;1922;1915:12;1877:2;1968:1;1993:53;2038:7;2029:6;2018:9;2014:22;1993:53;:::i;:::-;1983:63;;1939:117;2123:2;2112:9;2108:18;2095:32;2154:18;2146:6;2143:30;2140:2;;;2186:1;2183;2176:12;2140:2;2214:62;2268:7;2259:6;2248:9;2244:22;2214:62;:::i;:::-;2204:72;;2066:220;1867:426;;;;;:::o;2299:262::-;;2407:2;2395:9;2386:7;2382:23;2378:32;2375:2;;;2423:1;2420;2413:12;2375:2;2466:1;2491:53;2536:7;2527:6;2516:9;2512:22;2491:53;:::i;:::-;2481:63;;2437:117;2365:196;;;;:::o;2567:663::-;;;;2718:2;2706:9;2697:7;2693:23;2689:32;2686:2;;;2734:1;2731;2724:12;2686:2;2777:1;2802:53;2847:7;2838:6;2827:9;2823:22;2802:53;:::i;:::-;2792:63;;2748:117;2904:2;2930:53;2975:7;2966:6;2955:9;2951:22;2930:53;:::i;:::-;2920:63;;2875:118;3060:2;3049:9;3045:18;3032:32;3091:18;3083:6;3080:30;3077:2;;;3123:1;3120;3113:12;3077:2;3151:62;3205:7;3196:6;3185:9;3181:22;3151:62;:::i;:::-;3141:72;;3003:220;2676:554;;;;;:::o;3236:118::-;3323:24;3341:5;3323:24;:::i;:::-;3318:3;3311:37;3301:53;;:::o;3360:157::-;3465:45;3485:24;3503:5;3485:24;:::i;:::-;3465:45;:::i;:::-;3460:3;3453:58;3443:74;;:::o;3523:118::-;3610:24;3628:5;3610:24;:::i;:::-;3605:3;3598:37;3588:53;;:::o;3647:312::-;;3810:67;3874:2;3869:3;3810:67;:::i;:::-;3803:74;;3907:16;3903:1;3898:3;3894:11;3887:37;3950:2;3945:3;3941:12;3934:19;;3793:166;;;:::o;3965:316::-;;4128:67;4192:2;4187:3;4128:67;:::i;:::-;4121:74;;4225:20;4221:1;4216:3;4212:11;4205:41;4272:2;4267:3;4263:12;4256:19;;4111:170;;;:::o;4287:313::-;;4450:67;4514:2;4509:3;4450:67;:::i;:::-;4443:74;;4547:17;4543:1;4538:3;4534:11;4527:38;4591:2;4586:3;4582:12;4575:19;;4433:167;;;:::o;4606:313::-;;4769:67;4833:2;4828:3;4769:67;:::i;:::-;4762:74;;4866:17;4862:1;4857:3;4853:11;4846:38;4910:2;4905:3;4901:12;4894:19;;4752:167;;;:::o;4925:312::-;;5088:67;5152:2;5147:3;5088:67;:::i;:::-;5081:74;;5185:16;5181:1;5176:3;5172:11;5165:37;5228:2;5223:3;5219:12;5212:19;;5071:166;;;:::o;5243:368::-;;5406:67;5470:2;5465:3;5406:67;:::i;:::-;5399:74;;5503:34;5499:1;5494:3;5490:11;5483:55;5569:6;5564:2;5559:3;5555:12;5548:28;5602:2;5597:3;5593:12;5586:19;;5389:222;;;:::o;5617:118::-;5704:24;5722:5;5704:24;:::i;:::-;5699:3;5692:37;5682:53;;:::o;5741:157::-;5846:45;5866:24;5884:5;5866:24;:::i;:::-;5846:45;:::i;:::-;5841:3;5834:58;5824:74;;:::o;5904:112::-;5987:22;6003:5;5987:22;:::i;:::-;5982:3;5975:35;5965:51;;:::o;6022:538::-;;6205:75;6276:3;6267:6;6205:75;:::i;:::-;6305:2;6300:3;6296:12;6289:19;;6318:75;6389:3;6380:6;6318:75;:::i;:::-;6418:2;6413:3;6409:12;6402:19;;6431:75;6502:3;6493:6;6431:75;:::i;:::-;6531:2;6526:3;6522:12;6515:19;;6551:3;6544:10;;6194:366;;;;;;:::o;6566:222::-;;6697:2;6686:9;6682:18;6674:26;;6710:71;6778:1;6767:9;6763:17;6754:6;6710:71;:::i;:::-;6664:124;;;;:::o;6794:332::-;;6953:2;6942:9;6938:18;6930:26;;6966:71;7034:1;7023:9;7019:17;7010:6;6966:71;:::i;:::-;7047:72;7115:2;7104:9;7100:18;7091:6;7047:72;:::i;:::-;6920:206;;;;;:::o;7132:545::-;;7343:3;7332:9;7328:19;7320:27;;7357:71;7425:1;7414:9;7410:17;7401:6;7357:71;:::i;:::-;7438:68;7502:2;7491:9;7487:18;7478:6;7438:68;:::i;:::-;7516:72;7584:2;7573:9;7569:18;7560:6;7516:72;:::i;:::-;7598;7666:2;7655:9;7651:18;7642:6;7598:72;:::i;:::-;7310:367;;;;;;;:::o;7683:419::-;;7887:2;7876:9;7872:18;7864:26;;7936:9;7930:4;7926:20;7922:1;7911:9;7907:17;7900:47;7964:131;8090:4;7964:131;:::i;:::-;7956:139;;7854:248;;;:::o;8108:419::-;;8312:2;8301:9;8297:18;8289:26;;8361:9;8355:4;8351:20;8347:1;8336:9;8332:17;8325:47;8389:131;8515:4;8389:131;:::i;:::-;8381:139;;8279:248;;;:::o;8533:419::-;;8737:2;8726:9;8722:18;8714:26;;8786:9;8780:4;8776:20;8772:1;8761:9;8757:17;8750:47;8814:131;8940:4;8814:131;:::i;:::-;8806:139;;8704:248;;;:::o;8958:419::-;;9162:2;9151:9;9147:18;9139:26;;9211:9;9205:4;9201:20;9197:1;9186:9;9182:17;9175:47;9239:131;9365:4;9239:131;:::i;:::-;9231:139;;9129:248;;;:::o;9383:419::-;;9587:2;9576:9;9572:18;9564:26;;9636:9;9630:4;9626:20;9622:1;9611:9;9607:17;9600:47;9664:131;9790:4;9664:131;:::i;:::-;9656:139;;9554:248;;;:::o;9808:419::-;;10012:2;10001:9;9997:18;9989:26;;10061:9;10055:4;10051:20;10047:1;10036:9;10032:17;10025:47;10089:131;10215:4;10089:131;:::i;:::-;10081:139;;9979:248;;;:::o;10233:222::-;;10364:2;10353:9;10349:18;10341:26;;10377:71;10445:1;10434:9;10430:17;10421:6;10377:71;:::i;:::-;10331:124;;;;:::o;10461:283::-;;10527:2;10521:9;10511:19;;10569:4;10561:6;10557:17;10676:6;10664:10;10661:22;10640:18;10628:10;10625:34;10622:62;10619:2;;;10687:18;;:::i;:::-;10619:2;10727:10;10723:2;10716:22;10501:243;;;;:::o;10750:331::-;;10901:18;10893:6;10890:30;10887:2;;;10923:18;;:::i;:::-;10887:2;11008:4;11004:9;10997:4;10989:6;10985:17;10981:33;10973:41;;11069:4;11063;11059:15;11051:23;;10816:265;;;:::o;11087:169::-;;11205:6;11200:3;11193:19;11245:4;11240:3;11236:14;11221:29;;11183:73;;;;:::o;11262:237::-;;11319:18;11335:1;11319:18;:::i;:::-;11314:23;;11351:18;11367:1;11351:18;:::i;:::-;11346:23;;11441:1;11435:4;11431:12;11428:1;11425:19;11422:2;;;11447:18;;:::i;:::-;11422:2;11491:1;11488;11484:9;11477:16;;11304:195;;;;:::o;11505:96::-;;11571:24;11589:5;11571:24;:::i;:::-;11560:35;;11550:51;;;:::o;11607:90::-;;11684:5;11677:13;11670:21;11659:32;;11649:48;;;:::o;11703:77::-;;11769:5;11758:16;;11748:32;;;:::o;11786:126::-;;11863:42;11856:5;11852:54;11841:65;;11831:81;;;:::o;11918:77::-;;11984:5;11973:16;;11963:32;;;:::o;12001:86::-;;12076:4;12069:5;12065:16;12054:27;;12044:43;;;:::o;12093:154::-;12177:6;12172:3;12167;12154:30;12239:1;12230:6;12225:3;12221:16;12214:27;12144:103;;;:::o;12253:100::-;;12321:26;12341:5;12321:26;:::i;:::-;12310:37;;12300:53;;;:::o;12359:94::-;;12427:20;12441:5;12427:20;:::i;:::-;12416:31;;12406:47;;;:::o;12459:79::-;;12527:5;12516:16;;12506:32;;;:::o;12544:180::-;12592:77;12589:1;12582:88;12689:4;12686:1;12679:15;12713:4;12710:1;12703:15;12730:180;12778:77;12775:1;12768:88;12875:4;12872:1;12865:15;12899:4;12896:1;12889:15;12916:94;;12997:5;12993:2;12989:14;12968:35;;12958:52;;;:::o;13016:122::-;13089:24;13107:5;13089:24;:::i;:::-;13082:5;13079:35;13069:2;;13128:1;13125;13118:12;13069:2;13059:79;:::o;13144:116::-;13214:21;13229:5;13214:21;:::i;:::-;13207:5;13204:32;13194:2;;13250:1;13247;13240:12;13194:2;13184:76;:::o;13266:122::-;13339:24;13357:5;13339:24;:::i;:::-;13332:5;13329:35;13319:2;;13378:1;13375;13368:12;13319:2;13309:79;:::o;13394:122::-;13467:24;13485:5;13467:24;:::i;:::-;13460:5;13457:35;13447:2;;13506:1;13503;13496:12;13447:2;13437:79;:::o
Swarm Source
ipfs://8b87d33bea534b357405e8bbbc54e04bcac4575408d07c466b1af7984cc2848c
Loading...
Loading
Loading...
Loading
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.