eth-faucet

Gas token gifter with controls from time intervals, amounts and access
Log | Files | Refs

commit f7a5a5a900cec07c1347d690087c7c06a1db72b1
parent c8aed1b35176d271210d84815ab75c3ff0afce96
Author: lash <dev@holbrook.no>
Date:   Mon, 20 Mar 2023 09:34:40 +0000

Rename events

Diffstat:
Mpython/eth_faucet/data/EthFaucet.bin | 4++--
Mpython/eth_faucet/data/EthFaucet.json | 2+-
Mpython/setup.cfg | 2+-
Msolidity/EthFaucet.sol | 18++++++------------
4 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/python/eth_faucet/data/EthFaucet.bin b/python/eth_faucet/data/EthFaucet.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d1e806100606000396000f3fe6080604052600436106100fe576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161009c578063d6eca01e11610076578063d6eca01e146102fe578063de82efb414610327578063eec7faa114610352578063fc0c546a1461037d57610105565b80638da5cb5b1461027f578063a91ee0dc146102aa578063cb10d59a146102d357610105565b80633b1bd134116100d85780633b1bd1341461019d57806363e4bff4146101da5780637b1039991461021757806386fe212d1461024257610105565b806318cbbcfc1461010a578063271f88b41461013557806331a5995d1461017257610105565b3661010557005b600080fd5b34801561011657600080fd5b5061011f6103a8565b60405161012c91906115eb565b60405180910390f35b34801561014157600080fd5b5061015c60048036038101906101579190611637565b6103ad565b60405161016991906115eb565b60405180910390f35b34801561017e57600080fd5b506101876104d3565b60405161019491906115eb565b60405180910390f35b3480156101a957600080fd5b506101c460048036038101906101bf91906116c2565b6104d9565b6040516101d191906115eb565b60405180910390f35b3480156101e657600080fd5b5061020160048036038101906101fc91906116c2565b610654565b60405161020e91906115eb565b60405180910390f35b34801561022357600080fd5b5061022c6106bb565b60405161023991906116fe565b60405180910390f35b34801561024e57600080fd5b5061026960048036038101906102649190611637565b6106e1565b60405161027691906115eb565b60405180910390f35b34801561028b57600080fd5b50610294610807565b6040516102a191906116fe565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc91906116c2565b61082b565b005b3480156102df57600080fd5b506102e86109c8565b6040516102f591906116fe565b60405180910390f35b34801561030a57600080fd5b50610325600480360381019061032091906116c2565b6109ee565b005b34801561033357600080fd5b5061033c610b8b565b60405161034991906115eb565b60405180910390f35b34801561035e57600080fd5b50610367610bf0565b60405161037491906115eb565b60405180910390f35b34801561038957600080fd5b50610392610bfa565b60405161039f91906116fe565b60405180910390f35b600781565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590611776565b60405180910390fd5b6000600460ff166003541614610489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610480906117e2565b60405180910390fd5b816004819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e6004546040516104c191906115eb565b60405180910390a16004549050919050565b60035481565b6000806060600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161052891906116fe565b6040516020818303038152906040527fab73e316000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105b29190611873565b6000604051808303816000865af19150503d80600081146105ef576040519150601f19603f3d011682016040523d82523d6000602084013e6105f4565b606091505b5080925081935050508161063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906118d6565b60405180910390fd5b8061064790611935565b6001900492505050919050565b600061065f82610bff565b61066857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc6004549081150290604051600060405180830381858888f193505050501580156106b0573d6000803e3d6000fd5b506004549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060088210610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d906119e8565b60405180910390fd5b600060035483161461076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490611a54565b60405180910390fd5b816003600082825417925050819055506003547fe4b3d0535ec4cfd7bbe7b41fc94f6ee6bd15e97724854e3c3db2beb336d23a95600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516107f5929190611a74565b60405180910390a26003549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090611776565b60405180910390fd5b6000600160ff166003541614610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb906117e2565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003547fe4b3d0535ec4cfd7bbe7b41fc94f6ee6bd15e97724854e3c3db2beb336d23a95600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516109bd929190611a74565b60405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7390611776565b60405180910390fd5b6000600260ff166003541614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe906117e2565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003547fe4b3d0535ec4cfd7bbe7b41fc94f6ee6bd15e97724854e3c3db2beb336d23a95600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b80929190611a74565b60405180910390a250565b6000610b9633610bff565b610b9f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc6004549081150290604051600060405180830381858888f19350505050158015610be7573d6000803e3d6000fd5b50600454905090565b6000600454905090565b600090565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6157610c5f82610cd3565b505b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc257610cc0826111bd565b505b610cca611548565b60019050919050565b6000806060600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610d2291906116fe565b6040516020818303038152906040527fc23697a8000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610dac9190611873565b6000604051808303816000865af19150503d8060008114610de9576040519150601f19603f3d011682016040523d82523d6000602084013e610dee565b606091505b50809250819350505081610e9f57600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600454604051610e5c91906115eb565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e96906118d6565b60405180910390fd5b60007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610ed757610ed6611a9d565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610feb57600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d6070600454604051610fa891906115eb565b60405180910390a36040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe290611b18565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161103591906116fe565b6040516020818303038152906040527fb1a997ac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516110bf9190611873565b6000604051808303816000865af19150503d80600081146110fc576040519150601f19603f3d011682016040523d82523d6000602084013e611101565b606091505b508092508193505050816111b257600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d607060045460405161116f91906115eb565b60405180910390a36040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a990611b84565b60405180910390fd5b600192505050919050565b6000806060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161120c91906116fe565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516112969190611873565b6000604051808303816000865af19150503d80600081146112d3576040519150601f19603f3d011682016040523d82523d6000602084013e6112d8565b606091505b5080925081935050508161138957600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d607060045460405161134691906115eb565b60405180910390a36040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090611bf0565b60405180910390fd5b60007f01000000000000000000000000000000000000000000000000000000000000000281601f815181106113c1576113c0611a9d565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036114d557600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2a56a00a5c532c49314f19361f71cdca8a5d10fdcb42c3fa52800d13419d607060045460405161149291906115eb565b60405180910390a36040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90611c5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f45c201a59ac545000ead84f30b2db67da23353aa1d58ac522c48505412143ffa60045460405161153591906115eb565b60405180910390a3600192505050919050565b3073ffffffffffffffffffffffffffffffffffffffff163160045411156115d0577fd5fc280270ad7a4858a11280d5228b85502cacf121cc91fd35436bed31bb659c60405160405180910390a16040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790611cc8565b60405180910390fd5b565b6000819050919050565b6115e5816115d2565b82525050565b600060208201905061160060008301846115dc565b92915050565b600080fd5b611614816115d2565b811461161f57600080fd5b50565b6000813590506116318161160b565b92915050565b60006020828403121561164d5761164c611606565b5b600061165b84828501611622565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061168f82611664565b9050919050565b61169f81611684565b81146116aa57600080fd5b50565b6000813590506116bc81611696565b92915050565b6000602082840312156116d8576116d7611606565b5b60006116e6848285016116ad565b91505092915050565b6116f881611684565b82525050565b600060208201905061171360008301846116ef565b92915050565b600082825260208201905092915050565b7f4552525f4e4f545f4f574e455200000000000000000000000000000000000000600082015250565b6000611760600d83611719565b915061176b8261172a565b602082019050919050565b6000602082019050818103600083015261178f81611753565b9050919050565b7f4552525f5345414c454400000000000000000000000000000000000000000000600082015250565b60006117cc600a83611719565b91506117d782611796565b602082019050919050565b600060208201905081810360008301526117fb816117bf565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561183657808201518184015260208101905061181b565b60008484015250505050565b600061184d82611802565b611857818561180d565b9350611867818560208601611818565b80840191505092915050565b600061187f8284611842565b915081905092915050565b7f4552525f504552494f445f4241434b454e445f4552524f520000000000000000600082015250565b60006118c0601883611719565b91506118cb8261188a565b602082019050919050565b600060208201905081810360008301526118ef816118b3565b9050919050565b6000819050602082019050919050565b6000819050919050565b600061191c8251611906565b80915050919050565b60008160020a8302905092915050565b600061194082611802565b8261194a846118f6565b905061195581611910565b92506020821015611995576119907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802611925565b831692505b5050919050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b60006119d2601183611719565b91506119dd8261199c565b602082019050919050565b60006020820190508181036000830152611a01816119c5565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b6000611a3e601283611719565b9150611a4982611a08565b602082019050919050565b60006020820190508181036000830152611a6d81611a31565b9050919050565b6000604082019050611a8960008301856116ef565b611a9660208301846116ef565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f504552494f445f434845434b00000000000000000000000000000000600082015250565b6000611b02601083611719565b9150611b0d82611acc565b602082019050919050565b60006020820190508181036000830152611b3181611af5565b9050919050565b7f4552525f52454749535452595f4241434b454e445f4552524f52000000000000600082015250565b6000611b6e601a83611719565b9150611b7982611b38565b602082019050919050565b60006020820190508181036000830152611b9d81611b61565b9050919050565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b6000611bda600c83611719565b9150611be582611ba4565b602082019050919050565b60006020820190508181036000830152611c0981611bcd565b9050919050565b7f4552525f52454749535452595f434845434b0000000000000000000000000000600082015250565b6000611c46601283611719565b9150611c5182611c10565b602082019050919050565b60006020820190508181036000830152611c7581611c39565b9050919050565b7f4552525f4954534e4f5441474153000000000000000000000000000000000000600082015250565b6000611cb2600e83611719565b9150611cbd82611c7c565b602082019050919050565b60006020820190508181036000830152611ce181611ca5565b905091905056fea264697066735822122078f747dfeac61407c9a6604f6972a7951abb4376b0ea35106f9eae89ea73df6364736f6c63430008120033 -\ No newline at end of file +608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b16806100606000396000f3fe6080604052600436106100fe576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161009c578063d6eca01e11610076578063d6eca01e146102fe578063de82efb414610327578063eec7faa114610352578063fc0c546a1461037d57610105565b80638da5cb5b1461027f578063a91ee0dc146102aa578063cb10d59a146102d357610105565b80633b1bd134116100d85780633b1bd1341461019d57806363e4bff4146101da5780637b1039991461021757806386fe212d1461024257610105565b806318cbbcfc1461010a578063271f88b41461013557806331a5995d1461017257610105565b3661010557005b600080fd5b34801561011657600080fd5b5061011f6103a8565b60405161012c91906113e3565b60405180910390f35b34801561014157600080fd5b5061015c6004803603810190610157919061142f565b6103ad565b60405161016991906113e3565b60405180910390f35b34801561017e57600080fd5b506101876104d3565b60405161019491906113e3565b60405180910390f35b3480156101a957600080fd5b506101c460048036038101906101bf91906114ba565b6104d9565b6040516101d191906113e3565b60405180910390f35b3480156101e657600080fd5b5061020160048036038101906101fc91906114ba565b610654565b60405161020e91906113e3565b60405180910390f35b34801561022357600080fd5b5061022c6106bb565b60405161023991906114f6565b60405180910390f35b34801561024e57600080fd5b506102696004803603810190610264919061142f565b6106e1565b60405161027691906113e3565b60405180910390f35b34801561028b57600080fd5b50610294610807565b6040516102a191906114f6565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc91906114ba565b61082b565b005b3480156102df57600080fd5b506102e86109c8565b6040516102f591906114f6565b60405180910390f35b34801561030a57600080fd5b50610325600480360381019061032091906114ba565b6109ee565b005b34801561033357600080fd5b5061033c610b8b565b60405161034991906113e3565b60405180910390f35b34801561035e57600080fd5b50610367610bf0565b60405161037491906113e3565b60405180910390f35b34801561038957600080fd5b50610392610bfa565b60405161039f91906114f6565b60405180910390f35b600781565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461043e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104359061156e565b60405180910390fd5b6000600460ff166003541614610489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610480906115da565b60405180910390fd5b816004819055507f748f1cf617bdc8ef4fcd1cb516dc05cedf269e8dcad82183846d57eeec4bba5e6004546040516104c191906113e3565b60405180910390a16004549050919050565b60035481565b6000806060600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405160240161052891906114f6565b6040516020818303038152906040527fab73e316000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105b2919061166b565b6000604051808303816000865af19150503d80600081146105ef576040519150601f19603f3d011682016040523d82523d6000602084013e6105f4565b606091505b5080925081935050508161063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906116ce565b60405180910390fd5b806106479061172d565b6001900492505050919050565b600061065f82610bff565b61066857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc6004549081150290604051600060405180830381858888f193505050501580156106b0573d6000803e3d6000fd5b506004549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060088210610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d906117e0565b60405180910390fd5b600060035483161461076d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107649061184c565b60405180910390fd5b816003600082825417925050819055506003547f829c15f635123f612942c5f6ba4c6c203609473dc8b2398f38ccda8866f6ff7d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516107f592919061186c565b60405180910390a26003549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b09061156e565b60405180910390fd5b6000600160ff166003541614610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb906115da565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003547f829c15f635123f612942c5f6ba4c6c203609473dc8b2398f38ccda8866f6ff7d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516109bd92919061186c565b60405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739061156e565b60405180910390fd5b6000600260ff166003541614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe906115da565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003547f829c15f635123f612942c5f6ba4c6c203609473dc8b2398f38ccda8866f6ff7d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b8092919061186c565b60405180910390a250565b6000610b9633610bff565b610b9f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc6004549081150290604051600060405180830381858888f19350505050158015610be7573d6000803e3d6000fd5b50600454905090565b6000600454905090565b600090565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6157610c5f82610cd3565b505b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc257610cc082611085565b505b610cca611340565b60019050919050565b6000806060600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610d2291906114f6565b6040516020818303038152906040527fc23697a8000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610dac919061166b565b6000604051808303816000865af19150503d8060008114610de9576040519150601f19603f3d011682016040523d82523d6000602084013e610dee565b606091505b50809250819350505081610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e906116ce565b60405180910390fd5b60007f01000000000000000000000000000000000000000000000000000000000000000281601f81518110610e6f57610e6e611895565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1290611910565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051602401610f6591906114f6565b6040516020818303038152906040527fb1a997ac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610fef919061166b565b6000604051808303816000865af19150503d806000811461102c576040519150601f19603f3d011682016040523d82523d6000602084013e611031565b606091505b5080925081935050508161107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110719061197c565b60405180910390fd5b600192505050919050565b6000806060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516024016110d491906114f6565b6040516020818303038152906040527f3ef25013000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161115e919061166b565b6000604051808303816000865af19150503d806000811461119b576040519150601f19603f3d011682016040523d82523d6000602084013e6111a0565b606091505b508092508193505050816111e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e0906119e8565b60405180910390fd5b60007f01000000000000000000000000000000000000000000000000000000000000000281601f8151811061122157611220611895565b5b60200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c490611a54565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f26162814817e23ec5035d6a2edc6c422da2da2119e27cfca6be65cc2dc55ca4c60045460405161132d91906113e3565b60405180910390a3600192505050919050565b3073ffffffffffffffffffffffffffffffffffffffff163160045411156113c8577fd5fc280270ad7a4858a11280d5228b85502cacf121cc91fd35436bed31bb659c60405160405180910390a16040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf90611ac0565b60405180910390fd5b565b6000819050919050565b6113dd816113ca565b82525050565b60006020820190506113f860008301846113d4565b92915050565b600080fd5b61140c816113ca565b811461141757600080fd5b50565b60008135905061142981611403565b92915050565b600060208284031215611445576114446113fe565b5b60006114538482850161141a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114878261145c565b9050919050565b6114978161147c565b81146114a257600080fd5b50565b6000813590506114b48161148e565b92915050565b6000602082840312156114d0576114cf6113fe565b5b60006114de848285016114a5565b91505092915050565b6114f08161147c565b82525050565b600060208201905061150b60008301846114e7565b92915050565b600082825260208201905092915050565b7f4552525f4e4f545f4f574e455200000000000000000000000000000000000000600082015250565b6000611558600d83611511565b915061156382611522565b602082019050919050565b600060208201905081810360008301526115878161154b565b9050919050565b7f4552525f5345414c454400000000000000000000000000000000000000000000600082015250565b60006115c4600a83611511565b91506115cf8261158e565b602082019050919050565b600060208201905081810360008301526115f3816115b7565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561162e578082015181840152602081019050611613565b60008484015250505050565b6000611645826115fa565b61164f8185611605565b935061165f818560208601611610565b80840191505092915050565b6000611677828461163a565b915081905092915050565b7f4552525f504552494f445f4241434b454e445f4552524f520000000000000000600082015250565b60006116b8601883611511565b91506116c382611682565b602082019050919050565b600060208201905081810360008301526116e7816116ab565b9050919050565b6000819050602082019050919050565b6000819050919050565b600061171482516116fe565b80915050919050565b60008160020a8302905092915050565b6000611738826115fa565b82611742846116ee565b905061174d81611708565b9250602082101561178d576117887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261171d565b831692505b5050919050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b60006117ca601183611511565b91506117d582611794565b602082019050919050565b600060208201905081810360008301526117f9816117bd565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b6000611836601283611511565b915061184182611800565b602082019050919050565b6000602082019050818103600083015261186581611829565b9050919050565b600060408201905061188160008301856114e7565b61188e60208301846114e7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f504552494f445f434845434b00000000000000000000000000000000600082015250565b60006118fa601083611511565b9150611905826118c4565b602082019050919050565b60006020820190508181036000830152611929816118ed565b9050919050565b7f4552525f52454749535452595f4241434b454e445f4552524f52000000000000600082015250565b6000611966601a83611511565b915061197182611930565b602082019050919050565b6000602082019050818103600083015261199581611959565b9050919050565b7f4552525f5452414e534645520000000000000000000000000000000000000000600082015250565b60006119d2600c83611511565b91506119dd8261199c565b602082019050919050565b60006020820190508181036000830152611a01816119c5565b9050919050565b7f4552525f52454749535452595f434845434b0000000000000000000000000000600082015250565b6000611a3e601283611511565b9150611a4982611a08565b602082019050919050565b60006020820190508181036000830152611a6d81611a31565b9050919050565b7f4552525f4954534e4f5441474153000000000000000000000000000000000000600082015250565b6000611aaa600e83611511565b9150611ab582611a74565b602082019050919050565b60006020820190508181036000830152611ad981611a9d565b905091905056fea26469706673582212207f8fec8cd8197910eb940349fca17f1c2d66a01f2956e057c0d1cd8aebb79fba64736f6c63430008120033 +\ No newline at end of file diff --git a/python/eth_faucet/data/EthFaucet.json b/python/eth_faucet/data/EthFaucet.json @@ -1 +1 @@ -[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","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":"_amount","type":"uint256"}],"name":"FaucetFail","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_sealState","type":"uint256"},{"indexed":false,"internalType":"address","name":"_registry","type":"address"},{"indexed":false,"internalType":"address","name":"_periodChecker","type":"address"}],"name":"FaucetStateChange","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":"_amount","type":"uint256"}],"name":"FaucetUsed","type":"event"},{"anonymous":false,"inputs":[],"name":"ImNotGassy","type":"event"},{"inputs":[],"name":"gimme","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"giveTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSealState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"nextTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodChecker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_state","type":"uint256"}],"name":"seal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sealState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_v","type":"uint256"}],"name":"setAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_checker","type":"address"}],"name":"setPeriodChecker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}] +[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","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":"_amount","type":"uint256"}],"name":"Give","type":"event"},{"anonymous":false,"inputs":[],"name":"ImNotGassy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_sealState","type":"uint256"},{"indexed":false,"internalType":"address","name":"_registry","type":"address"},{"indexed":false,"internalType":"address","name":"_periodChecker","type":"address"}],"name":"SealStateChange","type":"event"},{"inputs":[],"name":"gimme","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"giveTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSealState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_subject","type":"address"}],"name":"nextTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodChecker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_state","type":"uint256"}],"name":"seal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sealState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_v","type":"uint256"}],"name":"setAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_checker","type":"address"}],"name":"setPeriodChecker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}] diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = eth-faucet -version = 0.1.1 +version = 0.1.2 description = Gas token gifter with controls from time intervals, amounts and access. author = Louis Holbrook author_email = dev@holbrook.no diff --git a/solidity/EthFaucet.sol b/solidity/EthFaucet.sol @@ -15,10 +15,9 @@ contract EthFacuet { uint8 constant VALUE_STATE = 4; uint256 constant public maxSealState = 7; - event FaucetUsed(address indexed _recipient, address indexed _token, uint256 _amount); - event FaucetFail(address indexed _recipient, address indexed _token, uint256 _amount); + event Give(address indexed _recipient, address indexed _token, uint256 _amount); event FaucetAmountChange(uint256 _amount); - event FaucetStateChange(uint256 indexed _sealState, address _registry, address _periodChecker); + event SealStateChange(uint256 indexed _sealState, address _registry, address _periodChecker); event ImNotGassy(); constructor() { @@ -29,7 +28,7 @@ contract EthFacuet { require(_state < 8, 'ERR_INVALID_STATE'); require(_state & sealState == 0, 'ERR_ALREADY_LOCKED'); sealState |= _state; - emit FaucetStateChange(sealState, registry, periodChecker); + emit SealStateChange(sealState, registry, periodChecker); return uint256(sealState); } @@ -45,14 +44,14 @@ contract EthFacuet { require(msg.sender == owner, 'ERR_NOT_OWNER'); require(sealState & PERIODCHECKER_STATE == 0, 'ERR_SEALED'); periodChecker = _checker; - emit FaucetStateChange(sealState, registry, periodChecker); + emit SealStateChange(sealState, registry, periodChecker); } function setRegistry(address _registry) public { require(msg.sender == owner, 'ERR_NOT_OWNER'); require(sealState & REGISTRY_STATE == 0, 'ERR_SEALED'); registry = _registry; - emit FaucetStateChange(sealState, registry, periodChecker); + emit SealStateChange(sealState, registry, periodChecker); } function checkPeriod(address _recipient) private returns(bool) { @@ -61,17 +60,14 @@ contract EthFacuet { (_ok, _result) = periodChecker.call(abi.encodeWithSignature("check(address)", _recipient)); if (!_ok) { - emit FaucetFail(_recipient, address(0), amount); revert('ERR_PERIOD_BACKEND_ERROR'); } if (_result[31] == 0) { - emit FaucetFail(_recipient, address(0), amount); revert('ERR_PERIOD_CHECK'); } (_ok, _result) = periodChecker.call(abi.encodeWithSignature("poke(address)", _recipient)); if (!_ok) { - emit FaucetFail(_recipient, address(0), amount); revert('ERR_REGISTRY_BACKEND_ERROR'); } return true; @@ -83,15 +79,13 @@ contract EthFacuet { (_ok, _result) = registry.call(abi.encodeWithSignature("have(address)", _recipient)); if (!_ok) { - emit FaucetFail(_recipient, address(0), amount); revert('ERR_TRANSFER'); } if (_result[31] == 0) { - emit FaucetFail(_recipient, address(0), amount); revert('ERR_REGISTRY_CHECK'); } - emit FaucetUsed(_recipient, address(0), amount); + emit Give(_recipient, address(0), amount); return true; }