UNPKG

@pollum-io/pegasys-protocol

Version:

Contracts for the Pegasys Dex.

144 lines (143 loc) 15.6 kB
{ "_format": "hh-sol-artifact-1", "contractName": "MerkleAirdrop", "sourceName": "contracts/earn/MerkleAirdrop.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "contract IERC20", "name": "_token", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "index", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Claimed", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "isClaimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sender", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60e06040523480156200001157600080fd5b5060405162000d7238038062000d7283398181016040528101906200003791906200019a565b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508060c08181525050505050620001f6565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000e282620000b5565b9050919050565b620000f481620000d5565b81146200010057600080fd5b50565b6000815190506200011481620000e9565b92915050565b60006200012782620000d5565b9050919050565b62000139816200011a565b81146200014557600080fd5b50565b60008151905062000159816200012e565b92915050565b6000819050919050565b62000174816200015f565b81146200018057600080fd5b50565b600081519050620001948162000169565b92915050565b600080600060608486031215620001b657620001b5620000b0565b5b6000620001c68682870162000103565b9350506020620001d98682870162000148565b9250506040620001ec8682870162000183565b9150509250925092565b60805160a05160c051610b376200023b600039600081816101c1015261033f01526000818161023b01526103a401526000818161027701526103630152610b376000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632e7ba6ef1461005c5780632eb4a7ab1461007857806367e404ce146100965780639e34070f146100b4578063fc0c546a146100e4575b600080fd5b610076600480360381019061007191906105e6565b610102565b005b61008061033d565b60405161008d9190610687565b60405180910390f35b61009e610361565b6040516100ab91906106b1565b60405180910390f35b6100ce60048036038101906100c991906106cc565b610385565b6040516100db9190610714565b60405180910390f35b6100ec6103a2565b6040516100f9919061078e565b60405180910390f35b61010b85610385565b1561014b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101429061082c565b60405180910390fd5b6000858585604051602001610162939291906108b5565b6040516020818303038152906040528051906020012090506101e6838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050507f0000000000000000000000000000000000000000000000000000000000000000836103c6565b610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021c90610964565b60405180910390fd5b6102398660006103dd90919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd7f000000000000000000000000000000000000000000000000000000000000000087876040518463ffffffff1660e01b81526004016102b693929190610993565b6020604051808303816000875af11580156102d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f991906109f6565b507f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed02686868660405161032d93929190610a23565b60405180910390a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061039b82600061041b90919063ffffffff16565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000826103d38584610457565b1490509392505050565b6000600882901c9050600060ff83166001901b9050808460000160008481526020019081526020016000206000828254179250508190555050505050565b600080600883901c9050600060ff84166001901b9050600081866000016000858152602001908152602001600020541614159250505092915050565b60008082905060005b84518110156104c157600085828151811061047e5761047d610a5a565b5b602002602001015190508083116104a05761049983826104cc565b92506104ad565b6104aa81846104cc565b92505b5080806104b990610ab8565b915050610460565b508091505092915050565b600082600052816020526040600020905092915050565b600080fd5b600080fd5b6000819050919050565b610500816104ed565b811461050b57600080fd5b50565b60008135905061051d816104f7565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061054e82610523565b9050919050565b61055e81610543565b811461056957600080fd5b50565b60008135905061057b81610555565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126105a6576105a5610581565b5b8235905067ffffffffffffffff8111156105c3576105c2610586565b5b6020830191508360208202830111156105df576105de61058b565b5b9250929050565b600080600080600060808688031215610602576106016104e3565b5b60006106108882890161050e565b95505060206106218882890161056c565b94505060406106328882890161050e565b935050606086013567ffffffffffffffff811115610653576106526104e8565b5b61065f88828901610590565b92509250509295509295909350565b6000819050919050565b6106818161066e565b82525050565b600060208201905061069c6000830184610678565b92915050565b6106ab81610543565b82525050565b60006020820190506106c660008301846106a2565b92915050565b6000602082840312156106e2576106e16104e3565b5b60006106f08482850161050e565b91505092915050565b60008115159050919050565b61070e816106f9565b82525050565b60006020820190506107296000830184610705565b92915050565b6000819050919050565b600061075461074f61074a84610523565b61072f565b610523565b9050919050565b600061076682610739565b9050919050565b60006107788261075b565b9050919050565b6107888161076d565b82525050565b60006020820190506107a3600083018461077f565b92915050565b600082825260208201905092915050565b7f4d65726b6c6541697264726f703a20546f6b656e7320616c726561647920636c60008201527f61696d65642e0000000000000000000000000000000000000000000000000000602082015250565b60006108166026836107a9565b9150610821826107ba565b604082019050919050565b6000602082019050818103600083015261084581610809565b9050919050565b6000819050919050565b610867610862826104ed565b61084c565b82525050565b60008160601b9050919050565b60006108858261086d565b9050919050565b60006108978261087a565b9050919050565b6108af6108aa82610543565b61088c565b82525050565b60006108c18286610856565b6020820191506108d1828561089e565b6014820191506108e18284610856565b602082019150819050949350505050565b7f4d65726b6c6541697264726f703a2056616c69642070726f6f6620726571756960008201527f7265642e00000000000000000000000000000000000000000000000000000000602082015250565b600061094e6024836107a9565b9150610959826108f2565b604082019050919050565b6000602082019050818103600083015261097d81610941565b9050919050565b61098d816104ed565b82525050565b60006060820190506109a860008301866106a2565b6109b560208301856106a2565b6109c26040830184610984565b949350505050565b6109d3816106f9565b81146109de57600080fd5b50565b6000815190506109f0816109ca565b92915050565b600060208284031215610a0c57610a0b6104e3565b5b6000610a1a848285016109e1565b91505092915050565b6000606082019050610a386000830186610984565b610a4560208301856106a2565b610a526040830184610984565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ac3826104ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610af657610af5610a89565b5b60018201905091905056fea264697066735822122090622201ce7ad4fb60a0a2361efa87bae9de631a16b92f8e183b5e289593dcce64736f6c634300080a0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632e7ba6ef1461005c5780632eb4a7ab1461007857806367e404ce146100965780639e34070f146100b4578063fc0c546a146100e4575b600080fd5b610076600480360381019061007191906105e6565b610102565b005b61008061033d565b60405161008d9190610687565b60405180910390f35b61009e610361565b6040516100ab91906106b1565b60405180910390f35b6100ce60048036038101906100c991906106cc565b610385565b6040516100db9190610714565b60405180910390f35b6100ec6103a2565b6040516100f9919061078e565b60405180910390f35b61010b85610385565b1561014b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101429061082c565b60405180910390fd5b6000858585604051602001610162939291906108b5565b6040516020818303038152906040528051906020012090506101e6838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050507f0000000000000000000000000000000000000000000000000000000000000000836103c6565b610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021c90610964565b60405180910390fd5b6102398660006103dd90919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd7f000000000000000000000000000000000000000000000000000000000000000087876040518463ffffffff1660e01b81526004016102b693929190610993565b6020604051808303816000875af11580156102d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f991906109f6565b507f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed02686868660405161032d93929190610a23565b60405180910390a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061039b82600061041b90919063ffffffff16565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000826103d38584610457565b1490509392505050565b6000600882901c9050600060ff83166001901b9050808460000160008481526020019081526020016000206000828254179250508190555050505050565b600080600883901c9050600060ff84166001901b9050600081866000016000858152602001908152602001600020541614159250505092915050565b60008082905060005b84518110156104c157600085828151811061047e5761047d610a5a565b5b602002602001015190508083116104a05761049983826104cc565b92506104ad565b6104aa81846104cc565b92505b5080806104b990610ab8565b915050610460565b508091505092915050565b600082600052816020526040600020905092915050565b600080fd5b600080fd5b6000819050919050565b610500816104ed565b811461050b57600080fd5b50565b60008135905061051d816104f7565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061054e82610523565b9050919050565b61055e81610543565b811461056957600080fd5b50565b60008135905061057b81610555565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126105a6576105a5610581565b5b8235905067ffffffffffffffff8111156105c3576105c2610586565b5b6020830191508360208202830111156105df576105de61058b565b5b9250929050565b600080600080600060808688031215610602576106016104e3565b5b60006106108882890161050e565b95505060206106218882890161056c565b94505060406106328882890161050e565b935050606086013567ffffffffffffffff811115610653576106526104e8565b5b61065f88828901610590565b92509250509295509295909350565b6000819050919050565b6106818161066e565b82525050565b600060208201905061069c6000830184610678565b92915050565b6106ab81610543565b82525050565b60006020820190506106c660008301846106a2565b92915050565b6000602082840312156106e2576106e16104e3565b5b60006106f08482850161050e565b91505092915050565b60008115159050919050565b61070e816106f9565b82525050565b60006020820190506107296000830184610705565b92915050565b6000819050919050565b600061075461074f61074a84610523565b61072f565b610523565b9050919050565b600061076682610739565b9050919050565b60006107788261075b565b9050919050565b6107888161076d565b82525050565b60006020820190506107a3600083018461077f565b92915050565b600082825260208201905092915050565b7f4d65726b6c6541697264726f703a20546f6b656e7320616c726561647920636c60008201527f61696d65642e0000000000000000000000000000000000000000000000000000602082015250565b60006108166026836107a9565b9150610821826107ba565b604082019050919050565b6000602082019050818103600083015261084581610809565b9050919050565b6000819050919050565b610867610862826104ed565b61084c565b82525050565b60008160601b9050919050565b60006108858261086d565b9050919050565b60006108978261087a565b9050919050565b6108af6108aa82610543565b61088c565b82525050565b60006108c18286610856565b6020820191506108d1828561089e565b6014820191506108e18284610856565b602082019150819050949350505050565b7f4d65726b6c6541697264726f703a2056616c69642070726f6f6620726571756960008201527f7265642e00000000000000000000000000000000000000000000000000000000602082015250565b600061094e6024836107a9565b9150610959826108f2565b604082019050919050565b6000602082019050818103600083015261097d81610941565b9050919050565b61098d816104ed565b82525050565b60006060820190506109a860008301866106a2565b6109b560208301856106a2565b6109c26040830184610984565b949350505050565b6109d3816106f9565b81146109de57600080fd5b50565b6000815190506109f0816109ca565b92915050565b600060208284031215610a0c57610a0b6104e3565b5b6000610a1a848285016109e1565b91505092915050565b6000606082019050610a386000830186610984565b610a4560208301856106a2565b610a526040830184610984565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ac3826104ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610af657610af5610a89565b5b60018201905091905056fea264697066735822122090622201ce7ad4fb60a0a2361efa87bae9de631a16b92f8e183b5e289593dcce64736f6c634300080a0033", "linkReferences": {}, "deployedLinkReferences": {} }