@levxdao/airdrop
Version:
[](http://www.wtfpl.net/)
215 lines (214 loc) • 17.1 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "LevxAirdrop",
"sourceName": "contracts/LevxAirdrop.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_levx",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"name": "AddMerkleRoot",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Claim",
"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"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"name": "addMerkleRoot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "isValidMerkleRoot",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "levx",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "root",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "leaf",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "proof",
"type": "bytes32[]"
}
],
"name": "verify",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b50604051610ce0380380610ce083398101604081905261002f916100c6565b6100383361005a565b6001600160601b0319606082901b166080526100538261005a565b50506100f8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100c157600080fd5b919050565b600080604083850312156100d8578182fd5b6100e1836100aa565b91506100ef602084016100aa565b90509250929050565b60805160601c610bc461011c6000396000818160cf01526104e40152610bc46000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806389331e821161005b57806389331e82146101115780638da5cb5b14610124578063e9cd3b3714610135578063f2fde38b1461015857610088565b80633323c8071461008d5780633423e548146100a257806362df3472146100ca578063715018a614610109575b600080fd5b6100a061009b366004610934565b61016b565b005b6100b56100b03660046109cc565b61023b565b60405190151581526020015b60405180910390f35b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c1565b6100a06102fb565b6100a061011f36600461094c565b610331565b6000546001600160a01b03166100f1565b6100b5610143366004610934565b60016020526000908152604090205460ff1681565b6100a06101663660046108ed565b61054a565b6000546001600160a01b0316331461019e5760405162461bcd60e51b815260040161019590610af0565b60405180910390fd5b60008181526001602052604090205460ff16156101f55760405162461bcd60e51b815260206004820152601560248201527414d213d6554e88111554131250d0551157d493d3d5605a1b6044820152606401610195565b6000818152600160208190526040808320805460ff19169092179091555182917f8335f1ab0fe93a301747e8c2784fbbb5dc7bd3556e84e498c9c9aeac306d5df991a250565b600082815b83518110156102ee57600084828151811061026b57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808310156102ae5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506102db565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806102e681610b51565b915050610240565b50841490505b9392505050565b6000546001600160a01b031633146103255760405162461bcd60e51b815260040161019590610af0565b61032f60006105e5565b565b60008481526001602052604090205460ff166103855760405162461bcd60e51b815260206004820152601360248201527214d213d6554e881253959053125117d493d3d5606a1b6044820152606401610195565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152918152815160209283012060008881526002845282812082825290935291205490915060ff16156104205760405162461bcd60e51b815260206004820152601060248201526f29a427acaa9d102327a92124a22222a760811b6044820152606401610195565b61045e858286868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061023b92505050565b6104a15760405162461bcd60e51b815260206004820152601460248201527329a427acaa9d1024a72b20a624a22fa82927a7a360611b6044820152606401610195565b60008581526002602090815260408083208484529091529020805460ff1916600117905561050c6104da6000546001600160a01b031690565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903385610635565b604051828152339086907f46e470efd1d5601791612d2263f0a4437104a35be37a932cdc59dfe948c8dfbc9060200160405180910390a35050505050565b6000546001600160a01b031633146105745760405162461bcd60e51b815260040161019590610af0565b6001600160a01b0381166105d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610195565b6105e2816105e5565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261068f908590610695565b50505050565b60006106ea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661076c9092919063ffffffff16565b80519091501561076757808060200190518101906107089190610914565b6107675760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610195565b505050565b606061077b8484600085610783565b949350505050565b6060824710156107e45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610195565b6001600160a01b0385163b61083b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610195565b600080866001600160a01b031685876040516108579190610aa1565b60006040518083038185875af1925050503d8060008114610894576040519150601f19603f3d011682016040523d82523d6000602084013e610899565b606091505b50915091506108a98282866108b4565b979650505050505050565b606083156108c35750816102f4565b8251156108d35782518084602001fd5b8160405162461bcd60e51b81526004016101959190610abd565b6000602082840312156108fe578081fd5b81356001600160a01b03811681146102f4578182fd5b600060208284031215610925578081fd5b815180151581146102f4578182fd5b600060208284031215610945578081fd5b5035919050565b60008060008060608587031215610961578283fd5b84359350602085013567ffffffffffffffff8082111561097f578485fd5b818701915087601f830112610992578485fd5b8135818111156109a0578586fd5b8860208260051b85010111156109b4578586fd5b95986020929092019750949560400135945092505050565b6000806000606084860312156109e0578283fd5b833592506020808501359250604085013567ffffffffffffffff80821115610a06578384fd5b818701915087601f830112610a19578384fd5b813581811115610a2b57610a2b610b78565b8060051b604051601f19603f83011681018181108582111715610a5057610a50610b78565b604052828152858101935084860182860187018c1015610a6e578788fd5b8795505b83861015610a90578035855260019590950194938601938601610a72565b508096505050505050509250925092565b60008251610ab3818460208701610b25565b9190910192915050565b6000602082528251806020840152610adc816040850160208701610b25565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60005b83811015610b40578181015183820152602001610b28565b8381111561068f5750506000910152565b6000600019821415610b7157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220defaf9b7e7c9cad2c91691b09a6b29bcd2569543c9fd76e2d88a7ca4e00e16cb64736f6c63430008030033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806389331e821161005b57806389331e82146101115780638da5cb5b14610124578063e9cd3b3714610135578063f2fde38b1461015857610088565b80633323c8071461008d5780633423e548146100a257806362df3472146100ca578063715018a614610109575b600080fd5b6100a061009b366004610934565b61016b565b005b6100b56100b03660046109cc565b61023b565b60405190151581526020015b60405180910390f35b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c1565b6100a06102fb565b6100a061011f36600461094c565b610331565b6000546001600160a01b03166100f1565b6100b5610143366004610934565b60016020526000908152604090205460ff1681565b6100a06101663660046108ed565b61054a565b6000546001600160a01b0316331461019e5760405162461bcd60e51b815260040161019590610af0565b60405180910390fd5b60008181526001602052604090205460ff16156101f55760405162461bcd60e51b815260206004820152601560248201527414d213d6554e88111554131250d0551157d493d3d5605a1b6044820152606401610195565b6000818152600160208190526040808320805460ff19169092179091555182917f8335f1ab0fe93a301747e8c2784fbbb5dc7bd3556e84e498c9c9aeac306d5df991a250565b600082815b83518110156102ee57600084828151811061026b57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808310156102ae5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506102db565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806102e681610b51565b915050610240565b50841490505b9392505050565b6000546001600160a01b031633146103255760405162461bcd60e51b815260040161019590610af0565b61032f60006105e5565b565b60008481526001602052604090205460ff166103855760405162461bcd60e51b815260206004820152601360248201527214d213d6554e881253959053125117d493d3d5606a1b6044820152606401610195565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152918152815160209283012060008881526002845282812082825290935291205490915060ff16156104205760405162461bcd60e51b815260206004820152601060248201526f29a427acaa9d102327a92124a22222a760811b6044820152606401610195565b61045e858286868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061023b92505050565b6104a15760405162461bcd60e51b815260206004820152601460248201527329a427acaa9d1024a72b20a624a22fa82927a7a360611b6044820152606401610195565b60008581526002602090815260408083208484529091529020805460ff1916600117905561050c6104da6000546001600160a01b031690565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903385610635565b604051828152339086907f46e470efd1d5601791612d2263f0a4437104a35be37a932cdc59dfe948c8dfbc9060200160405180910390a35050505050565b6000546001600160a01b031633146105745760405162461bcd60e51b815260040161019590610af0565b6001600160a01b0381166105d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610195565b6105e2816105e5565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261068f908590610695565b50505050565b60006106ea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661076c9092919063ffffffff16565b80519091501561076757808060200190518101906107089190610914565b6107675760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610195565b505050565b606061077b8484600085610783565b949350505050565b6060824710156107e45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610195565b6001600160a01b0385163b61083b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610195565b600080866001600160a01b031685876040516108579190610aa1565b60006040518083038185875af1925050503d8060008114610894576040519150601f19603f3d011682016040523d82523d6000602084013e610899565b606091505b50915091506108a98282866108b4565b979650505050505050565b606083156108c35750816102f4565b8251156108d35782518084602001fd5b8160405162461bcd60e51b81526004016101959190610abd565b6000602082840312156108fe578081fd5b81356001600160a01b03811681146102f4578182fd5b600060208284031215610925578081fd5b815180151581146102f4578182fd5b600060208284031215610945578081fd5b5035919050565b60008060008060608587031215610961578283fd5b84359350602085013567ffffffffffffffff8082111561097f578485fd5b818701915087601f830112610992578485fd5b8135818111156109a0578586fd5b8860208260051b85010111156109b4578586fd5b95986020929092019750949560400135945092505050565b6000806000606084860312156109e0578283fd5b833592506020808501359250604085013567ffffffffffffffff80821115610a06578384fd5b818701915087601f830112610a19578384fd5b813581811115610a2b57610a2b610b78565b8060051b604051601f19603f83011681018181108582111715610a5057610a50610b78565b604052828152858101935084860182860187018c1015610a6e578788fd5b8795505b83861015610a90578035855260019590950194938601938601610a72565b508096505050505050509250925092565b60008251610ab3818460208701610b25565b9190910192915050565b6000602082528251806020840152610adc816040850160208701610b25565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60005b83811015610b40578181015183820152602001610b28565b8381111561068f5750506000910152565b6000600019821415610b7157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220defaf9b7e7c9cad2c91691b09a6b29bcd2569543c9fd76e2d88a7ca4e00e16cb64736f6c63430008030033",
"linkReferences": {},
"deployedLinkReferences": {}
}