erc20-faucet

ERC20 token faucet
Log | Files | Refs

commit b71b79b8ed6ab3854ce8c3f1265e80453ed7ace9
parent 8508a75b26f6ffef048aff29ca90f5cb4c4f3e5e
Author: nolash <dev@holbrook.no>
Date:   Sun,  4 Apr 2021 14:39:10 +0200

Upgrade chainlib

Diffstat:
Mpython/erc20_single_shot_faucet/data/ERC20SingleShotFaucet.bin | 4++--
Mpython/erc20_single_shot_faucet/data/ERC20SingleShotFaucetStorage.bin | 4++--
Mpython/erc20_single_shot_faucet/faucet.py | 28++++++++++++++++++++++++++++
Mpython/erc20_single_shot_faucet/runnable/deploy.py | 1+
Mpython/requirements.txt | 4++--
Mpython/setup.cfg | 3++-
Msolidity/ERC20SingleShotFaucet.bin | 4++--
Msolidity/ERC20SingleShotFaucetStorage.bin | 4++--
Msolidity/ERC20SingleShotFaucetStorage.sol | 8++++----
9 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/python/erc20_single_shot_faucet/data/ERC20SingleShotFaucet.bin b/python/erc20_single_shot_faucet/data/ERC20SingleShotFaucet.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620015f2380380620015f2833981810160405281019062000037919062000337565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b8451811015620001895760018060008784815181106200011a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808062000180906200045d565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006819055505050505062000523565b6000620002956200028f84620003f0565b620003bc565b90508083825260208201905082856020860282011115620002b557600080fd5b60005b85811015620002e95781620002ce8882620002f3565b845260208401935060208301925050600181019050620002b8565b5050509392505050565b600081519050620003048162000509565b92915050565b600082601f8301126200031c57600080fd5b81516200032e8482602086016200027e565b91505092915050565b600080600080608085870312156200034e57600080fd5b600085015167ffffffffffffffff8111156200036957600080fd5b62000377878288016200030a565b94505060206200038a87828801620002f3565b93505060406200039d87828801620002f3565b9250506060620003b087828801620002f3565b91505092959194509250565b6000604051905081810181811067ffffffffffffffff82111715620003e657620003e5620004da565b5b8060405250919050565b600067ffffffffffffffff8211156200040e576200040d620004da565b5b602082029050602081019050919050565b60006200042c8262000433565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200046a8262000453565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004a0576200049f620004ab565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000514816200041f565b81146200052057600080fd5b50565b6110bf80620005336000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063271f88b41461007957806363e4bff4146100a9578063aa8c217c146100d9578063b222e0c2146100f7578063fc0c546a14610127575b600080fd5b610093600480360381019061008e9190610cc1565b610145565b6040516100a09190610ee3565b60405180910390f35b6100c360048036038101906100be9190610c98565b6101e4565b6040516100d09190610ee3565b60405180910390f35b6100e1610b00565b6040516100ee9190610f9e565b60405180910390f35b610111600480360381019061010c9190610c98565b610b06565b60405161011e9190610f9e565b60405180910390f35b61012f610c48565b60405161013c9190610e9f565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661019d57600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516101d39190610f9e565b60405180910390a160019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610f1e565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016103179190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103a19190610e88565b6000604051808303816000865af19150503d80600081146103de576040519150601f19603f3d011682016040523d82523d6000602084013e6103e3565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061044a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610efe565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105429190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105cc9190610e88565b6000604051808303816000865af19150503d8060008114610609576040519150601f19603f3d011682016040523d82523d6000602084013e61060e565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610675577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890610f7e565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161076b9190610e9f565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107f59190610e88565b6000604051808303816000865af19150503d8060008114610832576040519150601f19603f3d011682016040523d82523d6000602084013e610837565b606091505b50809250819350505081610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790610f5e565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846002546040516024016108ce929190610eba565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109589190610e88565b6000604051808303816000865af19150503d8060008114610995576040519150601f19603f3d011682016040523d82523d6000602084013e61099a565b606091505b50809250819350505081610a6c57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610a299190610f9e565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390610f3e565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610aed9190610f9e565b60405180910390a3600192505050919050565b60025481565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610b559190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bdf9190610e88565b6000604051808303816000865af19150503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5080925081935050508115610c3c5760065492505050610c43565b6000925050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081359050610c7d8161105b565b92915050565b600081359050610c9281611072565b92915050565b600060208284031215610caa57600080fd5b6000610cb884828501610c6e565b91505092915050565b600060208284031215610cd357600080fd5b6000610ce184828501610c83565b91505092915050565b610cf381610fe0565b82525050565b610d0281610ff2565b82525050565b6000610d1382610fb9565b610d1d8185610fc4565b9350610d2d818560208601611028565b80840191505092915050565b6000610d46601883610fcf565b91507f4552525f4143434f554e545f4e4f545f494e5f494e44455800000000000000006000830152602082019050919050565b6000610d86600a83610fcf565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b6000610dc6600c83610fcf565b91507f4552525f5452414e5346455200000000000000000000000000000000000000006000830152602082019050919050565b6000610e06600d83610fcf565b91507f4552525f4d41524b5f4641494c000000000000000000000000000000000000006000830152602082019050919050565b6000610e46601083610fcf565b91507f4552525f4143434f554e545f55534544000000000000000000000000000000006000830152602082019050919050565b610e828161101e565b82525050565b6000610e948284610d08565b915081905092915050565b6000602082019050610eb46000830184610cea565b92915050565b6000604082019050610ecf6000830185610cea565b610edc6020830184610e79565b9392505050565b6000602082019050610ef86000830184610cf9565b92915050565b60006020820190508181036000830152610f1781610d39565b9050919050565b60006020820190508181036000830152610f3781610d79565b9050919050565b60006020820190508181036000830152610f5781610db9565b9050919050565b60006020820190508181036000830152610f7781610df9565b9050919050565b60006020820190508181036000830152610f9781610e39565b9050919050565b6000602082019050610fb36000830184610e79565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610feb82610ffe565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561104657808201518184015260208101905061102b565b83811115611055576000848401525b50505050565b61106481610fe0565b811461106f57600080fd5b50565b61107b8161101e565b811461108657600080fd5b5056fea26469706673582212200e2828c8d7bd66aeccec34b87b9b8b4e17e8765d616631314197d2019366947764736f6c63430008000033 -\ No newline at end of file +60806040523480156200001157600080fd5b506040516200166a3803806200166a833981810160405281019062000037919062000337565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b8451811015620001895760018060008784815181106200011a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620001809062000488565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600681905550505050506200055f565b6000620002956200028f84620003e5565b620003bc565b90508083825260208201905082856020860282011115620002b557600080fd5b60005b85811015620002e95781620002ce8882620002f3565b845260208401935060208301925050600181019050620002b8565b5050509392505050565b600081519050620003048162000545565b92915050565b600082601f8301126200031c57600080fd5b81516200032e8482602086016200027e565b91505092915050565b600080600080608085870312156200034e57600080fd5b600085015167ffffffffffffffff8111156200036957600080fd5b62000377878288016200030a565b94505060206200038a87828801620002f3565b93505060406200039d87828801620002f3565b9250506060620003b087828801620002f3565b91505092959194509250565b6000620003c8620003db565b9050620003d6828262000452565b919050565b6000604051905090565b600067ffffffffffffffff82111562000403576200040262000505565b5b602082029050602081019050919050565b6000620004218262000428565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6200045d8262000534565b810181811067ffffffffffffffff821117156200047f576200047e62000505565b5b80604052505050565b6000620004958262000448565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004cb57620004ca620004d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b620005508162000414565b81146200055c57600080fd5b50565b6110fb806200056f6000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063271f88b41461007957806363e4bff4146100a9578063aa8c217c146100d9578063b222e0c2146100f7578063fc0c546a14610127575b600080fd5b610093600480360381019061008e9190610cc1565b610145565b6040516100a09190610e52565b60405180910390f35b6100c360048036038101906100be9190610c98565b6101e4565b6040516100d09190610e52565b60405180910390f35b6100e1610b00565b6040516100ee9190610f0d565b60405180910390f35b610111600480360381019061010c9190610c98565b610b06565b60405161011e9190610f0d565b60405180910390f35b61012f610c48565b60405161013c9190610e0e565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661019d57600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516101d39190610f0d565b60405180910390a160019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610e8d565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016103179190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103a19190610df7565b6000604051808303816000865af19150503d80600081146103de576040519150601f19603f3d011682016040523d82523d6000602084013e6103e3565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061044a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610e6d565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105429190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105cc9190610df7565b6000604051808303816000865af19150503d8060008114610609576040519150601f19603f3d011682016040523d82523d6000602084013e61060e565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610675577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890610eed565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161076b9190610e0e565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107f59190610df7565b6000604051808303816000865af19150503d8060008114610832576040519150601f19603f3d011682016040523d82523d6000602084013e610837565b606091505b50809250819350505081610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790610ecd565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846002546040516024016108ce929190610e29565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109589190610df7565b6000604051808303816000865af19150503d8060008114610995576040519150601f19603f3d011682016040523d82523d6000602084013e61099a565b606091505b50809250819350505081610a6c57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610a299190610f0d565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390610ead565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610aed9190610f0d565b60405180910390a3600192505050919050565b60025481565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610b559190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bdf9190610df7565b6000604051808303816000865af19150503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5080925081935050508115610c3c5760065492505050610c43565b6000925050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081359050610c7d81611097565b92915050565b600081359050610c92816110ae565b92915050565b600060208284031215610caa57600080fd5b6000610cb884828501610c6e565b91505092915050565b600060208284031215610cd357600080fd5b6000610ce184828501610c83565b91505092915050565b610cf381610f4f565b82525050565b610d0281610f61565b82525050565b6000610d1382610f28565b610d1d8185610f33565b9350610d2d818560208601610f97565b80840191505092915050565b6000610d46601883610f3e565b9150610d5182610fca565b602082019050919050565b6000610d69600a83610f3e565b9150610d7482610ff3565b602082019050919050565b6000610d8c600c83610f3e565b9150610d978261101c565b602082019050919050565b6000610daf600d83610f3e565b9150610dba82611045565b602082019050919050565b6000610dd2601083610f3e565b9150610ddd8261106e565b602082019050919050565b610df181610f8d565b82525050565b6000610e038284610d08565b915081905092915050565b6000602082019050610e236000830184610cea565b92915050565b6000604082019050610e3e6000830185610cea565b610e4b6020830184610de8565b9392505050565b6000602082019050610e676000830184610cf9565b92915050565b60006020820190508181036000830152610e8681610d39565b9050919050565b60006020820190508181036000830152610ea681610d5c565b9050919050565b60006020820190508181036000830152610ec681610d7f565b9050919050565b60006020820190508181036000830152610ee681610da2565b9050919050565b60006020820190508181036000830152610f0681610dc5565b9050919050565b6000602082019050610f226000830184610de8565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610f5a82610f6d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610fb5578082015181840152602081019050610f9a565b83811115610fc4576000848401525b50505050565b7f4552525f4143434f554e545f4e4f545f494e5f494e4445580000000000000000600082015250565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b7f4552525f4d41524b5f4641494c00000000000000000000000000000000000000600082015250565b7f4552525f4143434f554e545f5553454400000000000000000000000000000000600082015250565b6110a081610f4f565b81146110ab57600080fd5b50565b6110b781610f8d565b81146110c257600080fd5b5056fea2646970667358221220135b4f24beb644eaf0efda63eca977cf770cd32897d757e68029f074a2088df864736f6c63430008020033 +\ No newline at end of file diff --git a/python/erc20_single_shot_faucet/data/ERC20SingleShotFaucetStorage.bin b/python/erc20_single_shot_faucet/data/ERC20SingleShotFaucetStorage.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610564806100606000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c0100000000000000000000000000000000000000000000000000000000900480630a3b0a4f146100845780633ef25013146100b4578063764b07e7146100e457806379ba5097146101145780638da5cb5b14610132578063f2fde38b14610150575b600080fd5b61009e6004803603810190610099919061045c565b61016c565b6040516100ab91906104be565b60405180910390f35b6100ce60048036038101906100c9919061045c565b6101cf565b6040516100db91906104be565b60405180910390f35b6100fe60048036038101906100f9919061045c565b610225565b60405161010b91906104be565b60405180910390f35b61011c610245565b60405161012991906104be565b60405180910390f35b61013a610387565b60405161014791906104a3565b60405180910390f35b61016a6004803603810190610165919061045c565b6103ab565b005b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c557600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008135905061045681610517565b92915050565b60006020828403121561046e57600080fd5b600061047c84828501610447565b91505092915050565b61048e816104d9565b82525050565b61049d816104eb565b82525050565b60006020820190506104b86000830184610485565b92915050565b60006020820190506104d36000830184610494565b92915050565b60006104e4826104f7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610520816104d9565b811461052b57600080fd5b5056fea2646970667358221220a567f739e1266b917dd227567ff6caeede292b0bc481364bff4c7a1089bf66cd64736f6c63430008000033 -\ No newline at end of file +608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610564806100606000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c0100000000000000000000000000000000000000000000000000000000900480630a3b0a4f146100845780633ef25013146100b4578063764b07e7146100e457806379ba5097146101145780638da5cb5b14610132578063f2fde38b14610150575b600080fd5b61009e6004803603810190610099919061045c565b61016c565b6040516100ab91906104be565b60405180910390f35b6100ce60048036038101906100c9919061045c565b6101cf565b6040516100db91906104be565b60405180910390f35b6100fe60048036038101906100f9919061045c565b610225565b60405161010b91906104be565b60405180910390f35b61011c610245565b60405161012991906104be565b60405180910390f35b61013a610387565b60405161014791906104a3565b60405180910390f35b61016a6004803603810190610165919061045c565b6103ab565b005b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c557600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008135905061045681610517565b92915050565b60006020828403121561046e57600080fd5b600061047c84828501610447565b91505092915050565b61048e816104d9565b82525050565b61049d816104eb565b82525050565b60006020820190506104b86000830184610485565b92915050565b60006020820190506104d36000830184610494565b92915050565b60006104e4826104f7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610520816104d9565b811461052b57600080fd5b5056fea2646970667358221220b189a6aad23f49276da54f31084b200cfca809b834fcdd47126c4f6806780ac264736f6c63430008020033 +\ No newline at end of file diff --git a/python/erc20_single_shot_faucet/faucet.py b/python/erc20_single_shot_faucet/faucet.py @@ -10,6 +10,14 @@ import os # external imports from chainlib.eth.tx import TxFactory +from chainlib.eth.constant import ZERO_ADDRESS +from chainlib.eth.contract import ( + abi_decode_single, + ABIContractEncoder, + ABIContractType, + ) +from chainlib.jsonrpc import jsonrpc_template +from hexathon import add_0x logg = logging.getLogger() @@ -61,3 +69,23 @@ class SingleShotFaucet(TxFactory): tx = self.template(sender_address, None, use_nonce=True) tx = self.set_code(tx, code) return self.build(tx) + + + def usable_for(self, contract_address, address, sender_address=ZERO_ADDRESS): + o = jsonrpc_template() + o['method'] = 'eth_call' + enc = ABIContractEncoder() + enc.method('cooldown') + enc.typ(ABIContractType.ADDRESS) + enc.address(address) + data = add_0x(enc.get()) + tx = self.template(sender_address, contract_address) + tx = self.set_code(tx, data) + o['params'].append(self.normalize(tx)) + return o + + + @classmethod + def parse_usable_for(self, v): + r = abi_decode_single(ABIContractType.UINT256, v) + return r == 0 diff --git a/python/erc20_single_shot_faucet/runnable/deploy.py b/python/erc20_single_shot_faucet/runnable/deploy.py @@ -60,6 +60,7 @@ if args.y != None: logg.debug('now have key for signer address {}'.format(signer_address)) signer = EIP155Signer(keystore) + chain_pair = args.i.split(':') chain_id = int(chain_pair[1]) diff --git a/python/requirements.txt b/python/requirements.txt @@ -1,3 +1,3 @@ confini~=0.3.6rc3 -crypto-dev-signer~=0.4.14a9 -chainlib~=0.0.1a34 +crypto-dev-signer~=0.4.14a17 +chainlib~=0.0.2a1 diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = erc20-single-shot-faucet -version = 0.2.0a7 +version = 0.2.0a11 description = ERC20 token faucet that can be used once per account author = Louis Holbrook author_email = dev@holbrook.no @@ -42,3 +42,4 @@ testing = [options.entry_points] console_scripts = erc20-single-shot-faucet-deploy = erc20_single_shot_faucet.runnable.deploy:main + erc20-single-shot-faucet-list = erc20_single_shot_list.runnable.deploy:main diff --git a/solidity/ERC20SingleShotFaucet.bin b/solidity/ERC20SingleShotFaucet.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620015f2380380620015f2833981810160405281019062000037919062000337565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b8451811015620001895760018060008784815181106200011a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808062000180906200045d565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006819055505050505062000523565b6000620002956200028f84620003f0565b620003bc565b90508083825260208201905082856020860282011115620002b557600080fd5b60005b85811015620002e95781620002ce8882620002f3565b845260208401935060208301925050600181019050620002b8565b5050509392505050565b600081519050620003048162000509565b92915050565b600082601f8301126200031c57600080fd5b81516200032e8482602086016200027e565b91505092915050565b600080600080608085870312156200034e57600080fd5b600085015167ffffffffffffffff8111156200036957600080fd5b62000377878288016200030a565b94505060206200038a87828801620002f3565b93505060406200039d87828801620002f3565b9250506060620003b087828801620002f3565b91505092959194509250565b6000604051905081810181811067ffffffffffffffff82111715620003e657620003e5620004da565b5b8060405250919050565b600067ffffffffffffffff8211156200040e576200040d620004da565b5b602082029050602081019050919050565b60006200042c8262000433565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200046a8262000453565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004a0576200049f620004ab565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000514816200041f565b81146200052057600080fd5b50565b6110bf80620005336000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063271f88b41461007957806363e4bff4146100a9578063aa8c217c146100d9578063b222e0c2146100f7578063fc0c546a14610127575b600080fd5b610093600480360381019061008e9190610cc1565b610145565b6040516100a09190610ee3565b60405180910390f35b6100c360048036038101906100be9190610c98565b6101e4565b6040516100d09190610ee3565b60405180910390f35b6100e1610b00565b6040516100ee9190610f9e565b60405180910390f35b610111600480360381019061010c9190610c98565b610b06565b60405161011e9190610f9e565b60405180910390f35b61012f610c48565b60405161013c9190610e9f565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661019d57600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516101d39190610f9e565b60405180910390a160019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610f1e565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016103179190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103a19190610e88565b6000604051808303816000865af19150503d80600081146103de576040519150601f19603f3d011682016040523d82523d6000602084013e6103e3565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061044a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610efe565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105429190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105cc9190610e88565b6000604051808303816000865af19150503d8060008114610609576040519150601f19603f3d011682016040523d82523d6000602084013e61060e565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610675577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890610f7e565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161076b9190610e9f565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107f59190610e88565b6000604051808303816000865af19150503d8060008114610832576040519150601f19603f3d011682016040523d82523d6000602084013e610837565b606091505b50809250819350505081610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790610f5e565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846002546040516024016108ce929190610eba565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109589190610e88565b6000604051808303816000865af19150503d8060008114610995576040519150601f19603f3d011682016040523d82523d6000602084013e61099a565b606091505b50809250819350505081610a6c57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610a299190610f9e565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390610f3e565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610aed9190610f9e565b60405180910390a3600192505050919050565b60025481565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610b559190610e9f565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bdf9190610e88565b6000604051808303816000865af19150503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5080925081935050508115610c3c5760065492505050610c43565b6000925050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081359050610c7d8161105b565b92915050565b600081359050610c9281611072565b92915050565b600060208284031215610caa57600080fd5b6000610cb884828501610c6e565b91505092915050565b600060208284031215610cd357600080fd5b6000610ce184828501610c83565b91505092915050565b610cf381610fe0565b82525050565b610d0281610ff2565b82525050565b6000610d1382610fb9565b610d1d8185610fc4565b9350610d2d818560208601611028565b80840191505092915050565b6000610d46601883610fcf565b91507f4552525f4143434f554e545f4e4f545f494e5f494e44455800000000000000006000830152602082019050919050565b6000610d86600a83610fcf565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b6000610dc6600c83610fcf565b91507f4552525f5452414e5346455200000000000000000000000000000000000000006000830152602082019050919050565b6000610e06600d83610fcf565b91507f4552525f4d41524b5f4641494c000000000000000000000000000000000000006000830152602082019050919050565b6000610e46601083610fcf565b91507f4552525f4143434f554e545f55534544000000000000000000000000000000006000830152602082019050919050565b610e828161101e565b82525050565b6000610e948284610d08565b915081905092915050565b6000602082019050610eb46000830184610cea565b92915050565b6000604082019050610ecf6000830185610cea565b610edc6020830184610e79565b9392505050565b6000602082019050610ef86000830184610cf9565b92915050565b60006020820190508181036000830152610f1781610d39565b9050919050565b60006020820190508181036000830152610f3781610d79565b9050919050565b60006020820190508181036000830152610f5781610db9565b9050919050565b60006020820190508181036000830152610f7781610df9565b9050919050565b60006020820190508181036000830152610f9781610e39565b9050919050565b6000602082019050610fb36000830184610e79565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610feb82610ffe565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561104657808201518184015260208101905061102b565b83811115611055576000848401525b50505050565b61106481610fe0565b811461106f57600080fd5b50565b61107b8161101e565b811461108657600080fd5b5056fea26469706673582212200e2828c8d7bd66aeccec34b87b9b8b4e17e8765d616631314197d2019366947764736f6c63430008000033 -\ No newline at end of file +60806040523480156200001157600080fd5b506040516200166a3803806200166a833981810160405281019062000037919062000337565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b8451811015620001895760018060008784815181106200011a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620001809062000488565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600681905550505050506200055f565b6000620002956200028f84620003e5565b620003bc565b90508083825260208201905082856020860282011115620002b557600080fd5b60005b85811015620002e95781620002ce8882620002f3565b845260208401935060208301925050600181019050620002b8565b5050509392505050565b600081519050620003048162000545565b92915050565b600082601f8301126200031c57600080fd5b81516200032e8482602086016200027e565b91505092915050565b600080600080608085870312156200034e57600080fd5b600085015167ffffffffffffffff8111156200036957600080fd5b62000377878288016200030a565b94505060206200038a87828801620002f3565b93505060406200039d87828801620002f3565b9250506060620003b087828801620002f3565b91505092959194509250565b6000620003c8620003db565b9050620003d6828262000452565b919050565b6000604051905090565b600067ffffffffffffffff82111562000403576200040262000505565b5b602082029050602081019050919050565b6000620004218262000428565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6200045d8262000534565b810181811067ffffffffffffffff821117156200047f576200047e62000505565b5b80604052505050565b6000620004958262000448565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004cb57620004ca620004d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b620005508162000414565b81146200055c57600080fd5b50565b6110fb806200056f6000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063271f88b41461007957806363e4bff4146100a9578063aa8c217c146100d9578063b222e0c2146100f7578063fc0c546a14610127575b600080fd5b610093600480360381019061008e9190610cc1565b610145565b6040516100a09190610e52565b60405180910390f35b6100c360048036038101906100be9190610c98565b6101e4565b6040516100d09190610e52565b60405180910390f35b6100e1610b00565b6040516100ee9190610f0d565b60405180910390f35b610111600480360381019061010c9190610c98565b610b06565b60405161011e9190610f0d565b60405180910390f35b61012f610c48565b60405161013c9190610e0e565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661019d57600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516101d39190610f0d565b60405180910390a160019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a90610e8d565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016103179190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103a19190610df7565b6000604051808303816000865af19150503d80600081146103de576040519150601f19603f3d011682016040523d82523d6000602084013e6103e3565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061044a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee90610e6d565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105429190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105cc9190610df7565b6000604051808303816000865af19150503d8060008114610609576040519150601f19603f3d011682016040523d82523d6000602084013e61060e565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610675577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890610eed565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161076b9190610e0e565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107f59190610df7565b6000604051808303816000865af19150503d8060008114610832576040519150601f19603f3d011682016040523d82523d6000602084013e610837565b606091505b50809250819350505081610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790610ecd565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846002546040516024016108ce929190610e29565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109589190610df7565b6000604051808303816000865af19150503d8060008114610995576040519150601f19603f3d011682016040523d82523d6000602084013e61099a565b606091505b50809250819350505081610a6c57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610a299190610f0d565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390610ead565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610aed9190610f0d565b60405180910390a3600192505050919050565b60025481565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610b559190610e0e565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bdf9190610df7565b6000604051808303816000865af19150503d8060008114610c1c576040519150601f19603f3d011682016040523d82523d6000602084013e610c21565b606091505b5080925081935050508115610c3c5760065492505050610c43565b6000925050505b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081359050610c7d81611097565b92915050565b600081359050610c92816110ae565b92915050565b600060208284031215610caa57600080fd5b6000610cb884828501610c6e565b91505092915050565b600060208284031215610cd357600080fd5b6000610ce184828501610c83565b91505092915050565b610cf381610f4f565b82525050565b610d0281610f61565b82525050565b6000610d1382610f28565b610d1d8185610f33565b9350610d2d818560208601610f97565b80840191505092915050565b6000610d46601883610f3e565b9150610d5182610fca565b602082019050919050565b6000610d69600a83610f3e565b9150610d7482610ff3565b602082019050919050565b6000610d8c600c83610f3e565b9150610d978261101c565b602082019050919050565b6000610daf600d83610f3e565b9150610dba82611045565b602082019050919050565b6000610dd2601083610f3e565b9150610ddd8261106e565b602082019050919050565b610df181610f8d565b82525050565b6000610e038284610d08565b915081905092915050565b6000602082019050610e236000830184610cea565b92915050565b6000604082019050610e3e6000830185610cea565b610e4b6020830184610de8565b9392505050565b6000602082019050610e676000830184610cf9565b92915050565b60006020820190508181036000830152610e8681610d39565b9050919050565b60006020820190508181036000830152610ea681610d5c565b9050919050565b60006020820190508181036000830152610ec681610d7f565b9050919050565b60006020820190508181036000830152610ee681610da2565b9050919050565b60006020820190508181036000830152610f0681610dc5565b9050919050565b6000602082019050610f226000830184610de8565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610f5a82610f6d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610fb5578082015181840152602081019050610f9a565b83811115610fc4576000848401525b50505050565b7f4552525f4143434f554e545f4e4f545f494e5f494e4445580000000000000000600082015250565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b7f4552525f4d41524b5f4641494c00000000000000000000000000000000000000600082015250565b7f4552525f4143434f554e545f5553454400000000000000000000000000000000600082015250565b6110a081610f4f565b81146110ab57600080fd5b50565b6110b781610f8d565b81146110c257600080fd5b5056fea2646970667358221220135b4f24beb644eaf0efda63eca977cf770cd32897d757e68029f074a2088df864736f6c63430008020033 +\ No newline at end of file diff --git a/solidity/ERC20SingleShotFaucetStorage.bin b/solidity/ERC20SingleShotFaucetStorage.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610564806100606000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c0100000000000000000000000000000000000000000000000000000000900480630a3b0a4f146100845780633ef25013146100b4578063764b07e7146100e457806379ba5097146101145780638da5cb5b14610132578063f2fde38b14610150575b600080fd5b61009e6004803603810190610099919061045c565b61016c565b6040516100ab91906104be565b60405180910390f35b6100ce60048036038101906100c9919061045c565b6101cf565b6040516100db91906104be565b60405180910390f35b6100fe60048036038101906100f9919061045c565b610225565b60405161010b91906104be565b60405180910390f35b61011c610245565b60405161012991906104be565b60405180910390f35b61013a610387565b60405161014791906104a3565b60405180910390f35b61016a6004803603810190610165919061045c565b6103ab565b005b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c557600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008135905061045681610517565b92915050565b60006020828403121561046e57600080fd5b600061047c84828501610447565b91505092915050565b61048e816104d9565b82525050565b61049d816104eb565b82525050565b60006020820190506104b86000830184610485565b92915050565b60006020820190506104d36000830184610494565b92915050565b60006104e4826104f7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610520816104d9565b811461052b57600080fd5b5056fea2646970667358221220a567f739e1266b917dd227567ff6caeede292b0bc481364bff4c7a1089bf66cd64736f6c63430008000033 -\ No newline at end of file +608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610564806100606000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c0100000000000000000000000000000000000000000000000000000000900480630a3b0a4f146100845780633ef25013146100b4578063764b07e7146100e457806379ba5097146101145780638da5cb5b14610132578063f2fde38b14610150575b600080fd5b61009e6004803603810190610099919061045c565b61016c565b6040516100ab91906104be565b60405180910390f35b6100ce60048036038101906100c9919061045c565b6101cf565b6040516100db91906104be565b60405180910390f35b6100fe60048036038101906100f9919061045c565b610225565b60405161010b91906104be565b60405180910390f35b61011c610245565b60405161012991906104be565b60405180910390f35b61013a610387565b60405161014791906104a3565b60405180910390f35b61016a6004803603810190610165919061045c565b6103ab565b005b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c557600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008135905061045681610517565b92915050565b60006020828403121561046e57600080fd5b600061047c84828501610447565b91505092915050565b61048e816104d9565b82525050565b61049d816104eb565b82525050565b60006020820190506104b86000830184610485565b92915050565b60006020820190506104d36000830184610494565b92915050565b60006104e4826104f7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610520816104d9565b811461052b57600080fd5b5056fea2646970667358221220b189a6aad23f49276da54f31084b200cfca809b834fcdd47126c4f6806780ac264736f6c63430008020033 +\ No newline at end of file diff --git a/solidity/ERC20SingleShotFaucetStorage.sol b/solidity/ERC20SingleShotFaucetStorage.sol @@ -30,12 +30,12 @@ contract SingleShotFaucetStorage { return true; } + function have(address _account) external view returns (bool) { + return usedAccounts[_account]; + } + function add(address _account) external returns (bool) { usedAccounts[_account] = true; return true; } - - function have(address _account) external view returns (bool) { - return usedAccounts[_account]; - } }