erc20-faucet

ERC20 token faucet
Log | Files | Refs

commit a87fca3d1f331f8a744bcca11ae2d2fc713de795
parent 8bbc23b5c3ee01545dd551cd160526ee417a8df5
Author: lash <dev@holbrook.no>
Date:   Mon, 20 Mar 2023 08:50:55 +0000

rename cooldown to nextTime

Diffstat:
Mpython/CHANGELOG | 3+++
Mpython/erc20_faucet/data/ERC20Faucet.bin | 4++--
Mpython/erc20_faucet/data/ERC20Faucet.json | 2+-
Mpython/erc20_faucet/data/ERC20FaucetStorage.bin | 4++--
Mpython/erc20_faucet/interface.py | 16++++++++++++++--
Rpython/erc20_faucet/runnable/deploy.py -> python/erc20_faucet/runnable/publish.py | 0
Mpython/setup.cfg | 7+++----
Mpython/test_requirements.txt | 2+-
Msolidity/ERC20Faucet.sol | 8++++++--
Msolidity/ERC20FaucetStorage.sol | 2+-
10 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/python/CHANGELOG b/python/CHANGELOG @@ -1,3 +1,6 @@ +- 0.6.0 + * Rename cooldown to nextTime in solidity contract. + * Rename usable_for to next_time in python interface - 0.5.0 * upgrade chainlib to 0.4.7 [...] diff --git a/python/erc20_faucet/data/ERC20Faucet.bin b/python/erc20_faucet/data/ERC20Faucet.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051620018143803806200181483398181016040528101906200003791906200031f565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b845181101562000165576001806000878481518110620000f657620000f5620004f9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806200015c906200047c565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006819055505050505062000596565b6000620002716200026b84620003d9565b620003b0565b905080838252602082019050828560208602820111156200029757620002966200055c565b5b60005b85811015620002cb5781620002b08882620002d5565b8452602084019350602083019250506001810190506200029a565b5050509392505050565b600081519050620002e6816200057c565b92915050565b600082601f83011262000304576200030362000557565b5b8151620003168482602086016200025a565b91505092915050565b600080600080608085870312156200033c576200033b62000566565b5b600085015167ffffffffffffffff8111156200035d576200035c62000561565b5b6200036b87828801620002ec565b94505060206200037e87828801620002d5565b93505060406200039187828801620002d5565b9250506060620003a487828801620002d5565b91505092959194509250565b6000620003bc620003cf565b9050620003ca828262000446565b919050565b6000604051905090565b600067ffffffffffffffff821115620003f757620003f662000528565b5b602082029050602081019050919050565b600062000415826200041c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b62000451826200056b565b810181811067ffffffffffffffff8211171562000473576200047262000528565b5b80604052505050565b600062000489826200043c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004bf57620004be620004ca565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620005878162000408565b81146200059357600080fd5b50565b61126e80620005a66000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c010000000000000000000000000000000000000000000000000000000090048063271f88b41461008457806363e4bff4146100b4578063aa8c217c146100e4578063b222e0c214610102578063eec7faa114610132578063fc0c546a14610150575b600080fd5b61009e60048036038101906100999190610d90565b61016e565b6040516100ab9190610f48565b60405180910390f35b6100ce60048036038101906100c99190610d63565b61020d565b6040516100db9190610f48565b60405180910390f35b6100ec610add565b6040516100f99190611023565b60405180910390f35b61011c60048036038101906101179190610d63565b610ae3565b6040516101299190611023565b60405180910390f35b61013a610d09565b6040516101479190611023565b60405180910390f35b610158610d13565b6040516101659190610f04565b60405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166101c657600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516101fc9190611023565b60405180910390a160019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029390610f83565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104fb57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016103409190610f04565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103ca9190610eed565b6000604051808303816000865af19150503d8060008114610407576040519150601f19603f3d011682016040523d82523d6000602084013e61040c565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061044d5761044c6110e0565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f190610f63565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105459190610f04565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105cf9190610eed565b6000604051808303816000865af19150503d806000811461060c576040519150601f19603f3d011682016040523d82523d6000602084013e610611565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610652576106516110e0565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f590611003565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016107489190610f04565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107d29190610eed565b6000604051808303816000865af19150503d806000811461080f576040519150601f19603f3d011682016040523d82523d6000602084013e610814565b606091505b5080925081935050508161085d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085490610fc3565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846002546040516024016108ab929190610f1f565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109359190610eed565b6000604051808303816000865af19150503d8060008114610972576040519150601f19603f3d011682016040523d82523d6000602084013e610977565b606091505b50809250819350505081610a4957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610a069190611023565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4090610fa3565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610aca9190611023565b60405180910390a3600192505050919050565b60025481565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610b329190610f04565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bbc9190610eed565b6000604051808303816000865af19150503d8060008114610bf9576040519150601f19603f3d011682016040523d82523d6000602084013e610bfe565b606091505b50809250819350505081610c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3e90610fe3565b60405180910390fd5b60017f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610c7f57610c7e6110e0565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415610cfd5760065492505050610d04565b6000925050505b919050565b6000600254905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081359050610d488161120a565b92915050565b600081359050610d5d81611221565b92915050565b600060208284031215610d7957610d7861110f565b5b6000610d8784828501610d39565b91505092915050565b600060208284031215610da657610da561110f565b5b6000610db484828501610d4e565b91505092915050565b610dc681611065565b82525050565b610dd581611077565b82525050565b6000610de68261103e565b610df08185611049565b9350610e008185602086016110ad565b80840191505092915050565b6000610e19601883611054565b9150610e2482611114565b602082019050919050565b6000610e3c600a83611054565b9150610e478261113d565b602082019050919050565b6000610e5f600c83611054565b9150610e6a82611166565b602082019050919050565b6000610e82600d83611054565b9150610e8d8261118f565b602082019050919050565b6000610ea5600e83611054565b9150610eb0826111b8565b602082019050919050565b6000610ec8601083611054565b9150610ed3826111e1565b602082019050919050565b610ee7816110a3565b82525050565b6000610ef98284610ddb565b915081905092915050565b6000602082019050610f196000830184610dbd565b92915050565b6000604082019050610f346000830185610dbd565b610f416020830184610ede565b9392505050565b6000602082019050610f5d6000830184610dcc565b92915050565b60006020820190508181036000830152610f7c81610e0c565b9050919050565b60006020820190508181036000830152610f9c81610e2f565b9050919050565b60006020820190508181036000830152610fbc81610e52565b9050919050565b60006020820190508181036000830152610fdc81610e75565b9050919050565b60006020820190508181036000830152610ffc81610e98565b9050919050565b6000602082019050818103600083015261101c81610ebb565b9050919050565b60006020820190506110386000830184610ede565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061107082611083565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156110cb5780820151818401526020810190506110b0565b838111156110da576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f4552525f4143434f554e545f4e4f545f494e5f494e4445580000000000000000600082015250565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b7f4552525f4d41524b5f4641494c00000000000000000000000000000000000000600082015250565b7f4552525f53544f52455f4641494c000000000000000000000000000000000000600082015250565b7f4552525f4143434f554e545f5553454400000000000000000000000000000000600082015250565b61121381611065565b811461121e57600080fd5b50565b61122a816110a3565b811461123557600080fd5b5056fea264697066735822122005aad6a96e51197bb508fbcebfdef727d4b5a18b7d660419f43d9fbee48ec16064736f6c63430008060033 -\ No newline at end of file +60806040523480156200001157600080fd5b5060405162001bc038038062001bc0833981810160405281019062000037919062000448565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b845181101562000165576001806000878481518110620000f657620000f5620004d9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806200015c9062000541565b915050620000d1565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600781905550505050506200058e565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002be8262000273565b810181811067ffffffffffffffff82111715620002e057620002df62000284565b5b80604052505050565b6000620002f56200025a565b9050620003038282620002b3565b919050565b600067ffffffffffffffff82111562000326576200032562000284565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000369826200033c565b9050919050565b6200037b816200035c565b81146200038757600080fd5b50565b6000815190506200039b8162000370565b92915050565b6000620003b8620003b28462000308565b620002e9565b90508083825260208201905060208402830185811115620003de57620003dd62000337565b5b835b818110156200040b5780620003f688826200038a565b845260208401935050602081019050620003e0565b5050509392505050565b600082601f8301126200042d576200042c6200026e565b5b81516200043f848260208601620003a1565b91505092915050565b6000806000806080858703121562000465576200046462000264565b5b600085015167ffffffffffffffff81111562000486576200048562000269565b5b620004948782880162000415565b9450506020620004a7878288016200038a565b9350506040620004ba878288016200038a565b9250506060620004cd878288016200038a565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200054e8262000537565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000583576200058262000508565b5b600182019050919050565b611622806200059e6000396000f3fe608060405234801561001057600080fd5b50600436106100b0576000357c010000000000000000000000000000000000000000000000000000000090048063b222e0c211610083578063b222e0c214610175578063da2824a8146101a5578063de82efb4146101d5578063eec7faa1146101f3578063fc0c546a14610211576100b0565b806301ffc9a7146100b5578063271f88b4146100e55780635ae06f7e1461011557806363e4bff414610145575b600080fd5b6100cf60048036038101906100ca91906110ce565b61022f565b6040516100dc9190611116565b60405180910390f35b6100ff60048036038101906100fa9190611167565b610331565b60405161010c9190611116565b60405180910390f35b61012f600480360381019061012a91906111f2565b6103d0565b60405161013c9190611116565b60405180910390f35b61015f600480360381019061015a91906111f2565b610482565b60405161016c9190611116565b60405180910390f35b61018f600480360381019061018a91906111f2565b610d51565b60405161019c919061122e565b60405180910390f35b6101bf60048036038101906101ba91906111f2565b610f76565b6040516101cc9190611116565b60405180910390f35b6101dd611031565b6040516101ea9190611116565b60405180910390f35b6101fb611041565b604051610208919061122e565b60405180910390f35b61021961104b565b6040516102269190611258565b60405180910390f35b60006301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610283576001905061032c565b63de3445477c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102d5576001905061032c565b6380c84bd67c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610327576001905061032c565b600090505b919050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661038957600080fd5b816002819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e826040516103bf919061122e565b60405180910390a160019050919050565b60003373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042a57600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905560019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610511576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610508906112d0565b60405180910390fd5b60006060600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076f57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016105b59190611258565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161063f9190611361565b6000604051808303816000865af19150503d806000811461067c576040519150601f19603f3d011682016040523d82523d6000602084013e610681565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f815181106106c2576106c1611378565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361076e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610765906113f3565b60405180910390fd5b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016107b99190611258565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516108439190611361565b6000604051808303816000865af19150503d8060008114610880576040519150601f19603f3d011682016040523d82523d6000602084013e610885565b606091505b50809250819350505060007f01000000000000000000000000000000000000000000000000000000000000000281601f815181106108c6576108c5611378565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699061145f565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016109bc9190611258565b6040516020818303038152906040527f0a3b0a4f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610a469190611361565b6000604051808303816000865af19150503d8060008114610a83576040519150601f19603f3d011682016040523d82523d6000602084013e610a88565b606091505b50809250819350505081610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac8906114cb565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684600254604051602401610b1f9291906114eb565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610ba99190611361565b6000604051808303816000865af19150503d8060008114610be6576040519150601f19603f3d011682016040523d82523d6000602084013e610beb565b606091505b50809250819350505081610cbd57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600254604051610c7a919061122e565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490611560565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa600254604051610d3e919061122e565b60405180910390a3600192505050919050565b6000806060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610da09190611258565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e2a9190611361565b6000604051808303816000865af19150503d8060008114610e67576040519150601f19603f3d011682016040523d82523d6000602084013e610e6c565b606091505b50809250819350505081610eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eac906115cc565b60405180910390fd5b60017f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610eed57610eec611378565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f6a5760075492505050610f71565b6000925050505b919050565b60003373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd057600080fd5b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600061103c33610482565b905090565b6000600254905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110ab81611076565b81146110b657600080fd5b50565b6000813590506110c8816110a2565b92915050565b6000602082840312156110e4576110e3611071565b5b60006110f2848285016110b9565b91505092915050565b60008115159050919050565b611110816110fb565b82525050565b600060208201905061112b6000830184611107565b92915050565b6000819050919050565b61114481611131565b811461114f57600080fd5b50565b6000813590506111618161113b565b92915050565b60006020828403121561117d5761117c611071565b5b600061118b84828501611152565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111bf82611194565b9050919050565b6111cf816111b4565b81146111da57600080fd5b50565b6000813590506111ec816111c6565b92915050565b60006020828403121561120857611207611071565b5b6000611216848285016111dd565b91505092915050565b61122881611131565b82525050565b6000602082019050611243600083018461121f565b92915050565b611252816111b4565b82525050565b600060208201905061126d6000830184611249565b92915050565b600082825260208201905092915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b60006112ba600a83611273565b91506112c582611284565b602082019050919050565b600060208201905081810360008301526112e9816112ad565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015611324578082015181840152602081019050611309565b60008484015250505050565b600061133b826112f0565b61134581856112fb565b9350611355818560208601611306565b80840191505092915050565b600061136d8284611330565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4143434f554e545f4e4f545f494e5f494e4445580000000000000000600082015250565b60006113dd601883611273565b91506113e8826113a7565b602082019050919050565b6000602082019050818103600083015261140c816113d0565b9050919050565b7f4552525f4143434f554e545f5553454400000000000000000000000000000000600082015250565b6000611449601083611273565b915061145482611413565b602082019050919050565b600060208201905081810360008301526114788161143c565b9050919050565b7f4552525f4d41524b5f4641494c00000000000000000000000000000000000000600082015250565b60006114b5600d83611273565b91506114c08261147f565b602082019050919050565b600060208201905081810360008301526114e4816114a8565b9050919050565b60006040820190506115006000830185611249565b61150d602083018461121f565b9392505050565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b600061154a600c83611273565b915061155582611514565b602082019050919050565b600060208201905081810360008301526115798161153d565b9050919050565b7f4552525f53544f52455f4641494c000000000000000000000000000000000000600082015250565b60006115b6600e83611273565b91506115c182611580565b602082019050919050565b600060208201905081810360008301526115e5816115a9565b905091905056fea26469706673582212201c920db68424a309adce7ce93a59dd36c80fa2cfcd3095b3273160ff4f0f145464736f6c63430008120033 +\ No newline at end of file diff --git a/python/erc20_faucet/data/ERC20Faucet.json b/python/erc20_faucet/data/ERC20Faucet.json @@ -1 +1 @@ -[{"inputs":[{"internalType":"address[]","name":"_overriders","type":"address[]"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_store","type":"address"},{"internalType":"address","name":"_accountsIndex","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetAmountChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetFail","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetUsed","type":"event"},{"inputs":[],"name":"amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"giveTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}] +[{"inputs":[{"internalType":"address[]","name":"_overriders","type":"address[]"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_store","type":"address"},{"internalType":"address","name":"_accountsIndex","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetAmountChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetFail","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"FaucetUsed","type":"event"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_writer","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gimme","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"giveTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}] diff --git a/python/erc20_faucet/data/ERC20FaucetStorage.bin b/python/erc20_faucet/data/ERC20FaucetStorage.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610926806101096000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806379ba50971161007857806379ba50971461016a5780638da5cb5b14610188578063e2095c07146101a6578063f2fde38b146101d6576100a5565b806301ffc9a7146100aa5780630a3b0a4f146100da5780633ef250131461010a578063764b07e71461013a575b600080fd5b6100c460048036038101906100bf919061075a565b6101f2565b6040516100d191906107fc565b60405180910390f35b6100f460048036038101906100ef919061072d565b61034a565b60405161010191906107fc565b60405180910390f35b610124600480360381019061011f919061072d565b61044a565b60405161013191906107fc565b60405180910390f35b610154600480360381019061014f919061072d565b610495565b6040516101619190610817565b60405180910390f35b6101726104ad565b60405161017f91906107fc565b60405180910390f35b6101906105ef565b60405161019d91906107e1565b60405180910390f35b6101c060048036038101906101bb9190610787565b610613565b6040516101cd91906107e1565b60405180910390f35b6101f060048036038101906101eb919061072d565b610652565b005b600063cbdb05c77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156102475760019050610345565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561029a5760019050610345565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156102ed5760019050610345565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156103405760019050610345565b600090505b919050565b60008060038054905090506003839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808373ffffffffffffffffffffffffffffffffffffffff167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943060405160405180910390a36001915050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60026020528060005260406000206000915090505481565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461052d57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003818154811061062357600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106aa57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000813590506106fd816108ab565b92915050565b600081359050610712816108c2565b92915050565b600081359050610727816108d9565b92915050565b600060208284031215610743576107426108a6565b5b6000610751848285016106ee565b91505092915050565b6000602082840312156107705761076f6108a6565b5b600061077e84828501610703565b91505092915050565b60006020828403121561079d5761079c6108a6565b5b60006107ab84828501610718565b91505092915050565b6107bd81610832565b82525050565b6107cc81610844565b82525050565b6107db8161089c565b82525050565b60006020820190506107f660008301846107b4565b92915050565b600060208201905061081160008301846107c3565b92915050565b600060208201905061082c60008301846107d2565b92915050565b600061083d8261087c565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6108b481610832565b81146108bf57600080fd5b50565b6108cb81610850565b81146108d657600080fd5b50565b6108e28161089c565b81146108ed57600080fd5b5056fea26469706673582212202cc4968566df96a0025d12942f5630d0ff06f44c5f2ce3980df95cac4c743a6464736f6c63430008060033 -\ No newline at end of file +608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610922806101096000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806379ba50971161007857806379ba50971461016a5780638da5cb5b14610188578063e2095c07146101a6578063f2fde38b146101d6576100a5565b806301ffc9a7146100aa5780630a3b0a4f146100da5780633ef250131461010a578063764b07e71461013a575b600080fd5b6100c460048036038101906100bf9190610747565b6101f2565b6040516100d1919061078f565b60405180910390f35b6100f460048036038101906100ef9190610808565b610346565b604051610101919061078f565b60405180910390f35b610124600480360381019061011f9190610808565b610446565b604051610131919061078f565b60405180910390f35b610154600480360381019061014f9190610808565b610491565b604051610161919061084e565b60405180910390f35b6101726104a9565b60405161017f919061078f565b60405180910390f35b6101906105eb565b60405161019d9190610878565b60405180910390f35b6101c060048036038101906101bb91906108bf565b61060f565b6040516101cd9190610878565b60405180910390f35b6101f060048036038101906101eb9190610808565b61064e565b005b600063cbdb05c77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102465760019050610341565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102985760019050610341565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036102ea5760019050610341565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361033c5760019050610341565b600090505b919050565b60008060038054905090506003839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808373ffffffffffffffffffffffffffffffffffffffff167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943060405160405180910390a36001915050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b60026020528060005260406000206000915090505481565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461052957600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600191505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003818154811061061f57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610724816106ef565b811461072f57600080fd5b50565b6000813590506107418161071b565b92915050565b60006020828403121561075d5761075c6106ea565b5b600061076b84828501610732565b91505092915050565b60008115159050919050565b61078981610774565b82525050565b60006020820190506107a46000830184610780565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107d5826107aa565b9050919050565b6107e5816107ca565b81146107f057600080fd5b50565b600081359050610802816107dc565b92915050565b60006020828403121561081e5761081d6106ea565b5b600061082c848285016107f3565b91505092915050565b6000819050919050565b61084881610835565b82525050565b6000602082019050610863600083018461083f565b92915050565b610872816107ca565b82525050565b600060208201905061088d6000830184610869565b92915050565b61089c81610835565b81146108a757600080fd5b50565b6000813590506108b981610893565b92915050565b6000602082840312156108d5576108d46106ea565b5b60006108e3848285016108aa565b9150509291505056fea264697066735822122058651532266d933ce352b8a859b17bd5b5469759371648eec2c17de5e4c3f95564736f6c63430008120033 +\ No newline at end of file diff --git a/python/erc20_faucet/interface.py b/python/erc20_faucet/interface.py @@ -82,6 +82,16 @@ class Faucet(TxFactory): return tx + def gimme(self, contract_address, sender_address, tx_format=TxFormat.JSONRPC): + enc = ABIContractEncoder() + enc.method('gimme') + data = enc.get() + tx = self.template(sender_address, contract_address, use_nonce=True) + tx = self.set_code(tx, data) + tx = self.finalize(tx, tx_format) + return tx + + @classmethod def parse_give_to_request(self, v): v = strip_0x(v) @@ -115,12 +125,12 @@ class Faucet(TxFactory): return tx - def usable_for(self, contract_address, address, sender_address=ZERO_ADDRESS, id_generator=None): + def nxet_time(self, contract_address, address, sender_address=ZERO_ADDRESS, id_generator=None): j = JSONRPCRequest(id_generator) o = j.template() o['method'] = 'eth_call' enc = ABIContractEncoder() - enc.method('cooldown') + enc.method('nextTime') enc.typ(ABIContractType.ADDRESS) enc.address(address) data = add_0x(enc.get()) @@ -178,5 +188,7 @@ class Faucet(TxFactory): def parse_token_amount(self, v): return abi_decode_single(ABIContractType.UINT256, v) + + Faucet.build_signatures() diff --git a/python/erc20_faucet/runnable/deploy.py b/python/erc20_faucet/runnable/publish.py diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = erc20-faucet -version = 0.5.0 +version = 0.6.0 description = ERC20 token faucet author = Louis Holbrook author_email = dev@holbrook.no @@ -22,7 +22,7 @@ licence_files = [options] include_package_data = True -python_requires = >= 3.6 +python_requires = >= 3.8 packages = erc20_faucet erc20_faucet.runnable @@ -31,7 +31,6 @@ packages = testing = eth-tester==0.5.0b2 py-evm==0.3.0a20 - web3==5.12.2 [options.package_data] * = @@ -42,5 +41,5 @@ testing = [options.entry_points] console_scripts = - erc20-faucet-deploy = erc20_faucet.runnable.deploy:main + erc20-faucet-publish = erc20_faucet.runnable.publish:main erc20-faucet-list = erc20_faucet.runnable.list:main diff --git a/python/test_requirements.txt b/python/test_requirements.txt @@ -1,3 +1,3 @@ eth_tester==0.5.0b3 py-evm==0.3.0a20 -eth-erc20~=0.1.2a1 +eth-erc20~=0.6.1 diff --git a/solidity/ERC20Faucet.sol b/solidity/ERC20Faucet.sol @@ -17,7 +17,7 @@ contract SingleShotFaucet { event FaucetFail(address indexed _recipient, address indexed _token, uint256 _value); event FaucetAmountChange(uint256 _value); - constructor(address[] memory _overriders, address _token, address _store, address _accountsIndex) public { + constructor(address[] memory _overriders, address _token, address _store, address _accountsIndex) { owner = msg.sender; overriders[msg.sender] = true; for (uint i = 0; i < _overriders.length; i++) { @@ -67,6 +67,10 @@ contract SingleShotFaucet { return true; } + function gimme() public returns (bool) { + return giveTo(msg.sender); + } + // Implements Faucet function cooldown(address _recipient) public returns (uint256) { bool _ok; @@ -103,7 +107,7 @@ contract SingleShotFaucet { } // Implements EIP165 - function supportsInterface(bytes4 _sum) public returns (bool) { + function supportsInterface(bytes4 _sum) public pure returns (bool) { if (_sum == 0x01ffc9a7) { // EIP165 return true; } diff --git a/solidity/ERC20FaucetStorage.sol b/solidity/ERC20FaucetStorage.sol @@ -15,7 +15,7 @@ contract SingleShotFaucetStorage { event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event AddressAdded(address indexed addedAccount, uint256 indexed accountIndex); // AccountsIndex - constructor() public { + constructor() { owner = msg.sender; entry.push(address(0)); usedAccounts[address(0)] = 0;