@levxdao/airdrop
Version:
[](http://www.wtfpl.net/)
208 lines (207 loc) • 15.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC20Airdrops",
"sourceName": "contracts/ERC20Airdrops.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "AddMerkleRoot",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Claim",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "addMerkleRoot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"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": "address",
"name": "",
"type": "address"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "deadlineOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"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"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "walletOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610b1d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630e2216391461005c5780633423e5481461009757806372d9e80e146100ba578063dbc4428714610106578063e6bf2d2b1461011b575b600080fd5b61008461006a366004610852565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b6100aa6100a536600461095a565b61012e565b604051901515815260200161008e565b6100ee6100c8366004610852565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b03909116815260200161008e565b610119610114366004610908565b6101ee565b005b61011961012936600461087b565b6102e8565b600082815b83518110156101e157600084828151811061015e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808310156101a15760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506101ce565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806101d981610aaa565b915050610133565b50841490505b9392505050565b6001600160a01b03808416600090815260016020908152604080832086845290915290205416801561025e5760405162461bcd60e51b8152602060048201526014602482015273131155960e88111554131250d0551157d493d3d560621b60448201526064015b60405180910390fd5b6001600160a01b0384166000818152600160209081526040808320878452825280832080546001600160a01b0319163390811790915584845283835281842088855283529281902086905580519283529082018590528592917ff832bb2c734651ba6688258ddfd5a808b6a3bab0dd28cff55069b31f2fcadfb2910160405180910390a350505050565b6001600160a01b03808616600090815260016020908152604080832088845290915290205416806103505760405162461bcd60e51b8152602060048201526012602482015271131155960e881253959053125117d493d3d560721b6044820152606401610255565b6001600160a01b03861660009081526020818152604080832088845290915290205442106103b05760405162461bcd60e51b815260206004820152600d60248201526c131155960e8811561412549151609a1b6044820152606401610255565b6040516bffffffffffffffffffffffff193360601b1660208201526034810183905260009060540160408051601f1981840301815291815281516020928301206001600160a01b038a166000908152600284528281208a8252845282812082825290935291205490915060ff161561045c5760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b6044820152606401610255565b61049a868287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061012e92505050565b6104dc5760405162461bcd60e51b81526020600482015260136024820152722622ab2c1d1024a72b20a624a22fa82927a7a360691b6044820152606401610255565b6001600160a01b03871660008181526002602090815260408083208a845282528083208584529091529020805460ff1916600117905561051e90833386610572565b604080516001600160a01b0384811682526020820186905233928992918b16917f4e9280a30a7b8bf8cc9e40adaafc3a609b22232a82740710c4166afd8217c184910160405180910390a450505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526105cc9085906105d2565b50505050565b6000610627826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166106a99092919063ffffffff16565b8051909150156106a45780806020019051810190610645919061093a565b6106a45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b505050565b60606106b884846000856106c0565b949350505050565b6060824710156107215760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b61072a856107ef565b6107765760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b600080866001600160a01b031685876040516107929190610a2f565b60006040518083038185875af1925050503d80600081146107cf576040519150601f19603f3d011682016040523d82523d6000602084013e6107d4565b606091505b50915091506107e4828286610802565b979650505050505050565b6001600160a01b0381163b15155b919050565b606083156108115750816101e7565b8251156108215782518084602001fd5b8160405162461bcd60e51b81526004016102559190610a4b565b80356001600160a01b03811681146107fd57600080fd5b60008060408385031215610864578182fd5b61086d8361083b565b946020939093013593505050565b600080600080600060808688031215610892578081fd5b61089b8661083b565b945060208601359350604086013567ffffffffffffffff808211156108be578283fd5b818801915088601f8301126108d1578283fd5b8135818111156108df578384fd5b8960208260051b85010111156108f3578384fd5b96999598505060200195606001359392505050565b60008060006060848603121561091c578283fd5b6109258461083b565b95602085013595506040909401359392505050565b60006020828403121561094b578081fd5b815180151581146101e7578182fd5b60008060006060848603121561096e578283fd5b833592506020808501359250604085013567ffffffffffffffff80821115610994578384fd5b818701915087601f8301126109a7578384fd5b8135818111156109b9576109b9610ad1565b8060051b604051601f19603f830116810181811085821117156109de576109de610ad1565b604052828152858101935084860182860187018c10156109fc578788fd5b8795505b83861015610a1e578035855260019590950194938601938601610a00565b508096505050505050509250925092565b60008251610a41818460208701610a7e565b9190910192915050565b6000602082528251806020840152610a6a816040850160208701610a7e565b601f01601f19169190910160400192915050565b60005b83811015610a99578181015183820152602001610a81565b838111156105cc5750506000910152565b6000600019821415610aca57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fdfea26469706673582212204c6542f6786048578afe0a4bc57b9c6ea424d0e85a6514bff3d5ddd5f822bda264736f6c63430008030033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630e2216391461005c5780633423e5481461009757806372d9e80e146100ba578063dbc4428714610106578063e6bf2d2b1461011b575b600080fd5b61008461006a366004610852565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b6100aa6100a536600461095a565b61012e565b604051901515815260200161008e565b6100ee6100c8366004610852565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b03909116815260200161008e565b610119610114366004610908565b6101ee565b005b61011961012936600461087b565b6102e8565b600082815b83518110156101e157600084828151811061015e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808310156101a15760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506101ce565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806101d981610aaa565b915050610133565b50841490505b9392505050565b6001600160a01b03808416600090815260016020908152604080832086845290915290205416801561025e5760405162461bcd60e51b8152602060048201526014602482015273131155960e88111554131250d0551157d493d3d560621b60448201526064015b60405180910390fd5b6001600160a01b0384166000818152600160209081526040808320878452825280832080546001600160a01b0319163390811790915584845283835281842088855283529281902086905580519283529082018590528592917ff832bb2c734651ba6688258ddfd5a808b6a3bab0dd28cff55069b31f2fcadfb2910160405180910390a350505050565b6001600160a01b03808616600090815260016020908152604080832088845290915290205416806103505760405162461bcd60e51b8152602060048201526012602482015271131155960e881253959053125117d493d3d560721b6044820152606401610255565b6001600160a01b03861660009081526020818152604080832088845290915290205442106103b05760405162461bcd60e51b815260206004820152600d60248201526c131155960e8811561412549151609a1b6044820152606401610255565b6040516bffffffffffffffffffffffff193360601b1660208201526034810183905260009060540160408051601f1981840301815291815281516020928301206001600160a01b038a166000908152600284528281208a8252845282812082825290935291205490915060ff161561045c5760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b6044820152606401610255565b61049a868287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061012e92505050565b6104dc5760405162461bcd60e51b81526020600482015260136024820152722622ab2c1d1024a72b20a624a22fa82927a7a360691b6044820152606401610255565b6001600160a01b03871660008181526002602090815260408083208a845282528083208584529091529020805460ff1916600117905561051e90833386610572565b604080516001600160a01b0384811682526020820186905233928992918b16917f4e9280a30a7b8bf8cc9e40adaafc3a609b22232a82740710c4166afd8217c184910160405180910390a450505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526105cc9085906105d2565b50505050565b6000610627826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166106a99092919063ffffffff16565b8051909150156106a45780806020019051810190610645919061093a565b6106a45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b505050565b60606106b884846000856106c0565b949350505050565b6060824710156107215760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b61072a856107ef565b6107765760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b600080866001600160a01b031685876040516107929190610a2f565b60006040518083038185875af1925050503d80600081146107cf576040519150601f19603f3d011682016040523d82523d6000602084013e6107d4565b606091505b50915091506107e4828286610802565b979650505050505050565b6001600160a01b0381163b15155b919050565b606083156108115750816101e7565b8251156108215782518084602001fd5b8160405162461bcd60e51b81526004016102559190610a4b565b80356001600160a01b03811681146107fd57600080fd5b60008060408385031215610864578182fd5b61086d8361083b565b946020939093013593505050565b600080600080600060808688031215610892578081fd5b61089b8661083b565b945060208601359350604086013567ffffffffffffffff808211156108be578283fd5b818801915088601f8301126108d1578283fd5b8135818111156108df578384fd5b8960208260051b85010111156108f3578384fd5b96999598505060200195606001359392505050565b60008060006060848603121561091c578283fd5b6109258461083b565b95602085013595506040909401359392505050565b60006020828403121561094b578081fd5b815180151581146101e7578182fd5b60008060006060848603121561096e578283fd5b833592506020808501359250604085013567ffffffffffffffff80821115610994578384fd5b818701915087601f8301126109a7578384fd5b8135818111156109b9576109b9610ad1565b8060051b604051601f19603f830116810181811085821117156109de576109de610ad1565b604052828152858101935084860182860187018c10156109fc578788fd5b8795505b83861015610a1e578035855260019590950194938601938601610a00565b508096505050505050509250925092565b60008251610a41818460208701610a7e565b9190910192915050565b6000602082528251806020840152610a6a816040850160208701610a7e565b601f01601f19169190910160400192915050565b60005b83811015610a99578181015183820152602001610a81565b838111156105cc5750506000910152565b6000600019821415610aca57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fdfea26469706673582212204c6542f6786048578afe0a4bc57b9c6ea424d0e85a6514bff3d5ddd5f822bda264736f6c63430008030033",
"linkReferences": {},
"deployedLinkReferences": {}
}