Skip to content

Commit 8245efe

Browse files
authored
Token Faucet (#9)
This contract drips ETH and Token (by address) for any token it has sufficient balance for. Feel free to send some spare tokens. https://sepolia.etherscan.io/address/0x5239FCDeA2C628B5c7bcd8DD42da4db3F752B246#writeContract
1 parent 85b4305 commit 8245efe

File tree

5 files changed

+205
-0
lines changed

5 files changed

+205
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
5+
"transactionType": "CREATE",
6+
"contractName": "Faucet",
7+
"contractAddress": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246",
8+
"function": null,
9+
"arguments": null,
10+
"transaction": {
11+
"from": "0xae5a4884d813f334e1b80b26402ec78fadaee7eb",
12+
"gas": "0xec377",
13+
"value": "0x0",
14+
"input": "0x608060405266038d7ea4c68000600155670de0b6b3a764000060025561070860035534801561002c575f5ffd5b50335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009e575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009591906101b3565b60405180910390fd5b6100ad816100b360201b60201c565b506101cc565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61019d82610174565b9050919050565b6101ad81610193565b82525050565b5f6020820190506101c65f8301846101a4565b92915050565b610ac3806101d95f395ff3fe6080604052600436106100aa575f3560e01c8063941b91c011610063578063941b91c01461019b578063b5b9cc66146101c3578063ccca123b146101eb578063d20cd56a14610215578063df351aaf1461023d578063f2fde38b14610265576100b1565b806302e60c76146100b55780632d291cad146100df5780636ff18ab91461011b578063715018a61461014557806387167b5a1461015b5780638da5cb5b14610171576100b1565b366100b157005b5f5ffd5b3480156100c0575f5ffd5b506100c961028d565b6040516100d69190610820565b60405180910390f35b3480156100ea575f5ffd5b5061010560048036038101906101009190610897565b610293565b60405161011291906108dc565b60405180910390f35b348015610126575f5ffd5b5061012f610337565b60405161013c9190610820565b60405180910390f35b348015610150575f5ffd5b5061015961033d565b005b348015610166575f5ffd5b5061016f610350565b005b34801561017c575f5ffd5b50610185610434565b6040516101929190610904565b60405180910390f35b3480156101a6575f5ffd5b506101c160048036038101906101bc9190610947565b61045b565b005b3480156101ce575f5ffd5b506101e960048036038101906101e49190610897565b61046d565b005b3480156101f6575f5ffd5b506101ff61060b565b60405161020c9190610820565b60405180910390f35b348015610220575f5ffd5b5061023b60048036038101906102369190610947565b610611565b005b348015610248575f5ffd5b50610263600480360381019061025e9190610947565b610623565b005b348015610270575f5ffd5b5061028b60048036038101906102869190610897565b610635565b005b60015481565b5f5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036102e15760019050610332565b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054421061032e5760019050610332565b5f90505b919050565b60025481565b6103456106b9565b61034e5f610740565b565b61035933610293565b610361575f5ffd5b60015447101561039d576040517fe301d63d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc60015490811502906040515f60405180830381858888f193505050501580156103e2573d5f5f3e3d5ffd5b50600354426103f1919061099f565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104636106b9565b8060028190555050565b61047633610293565b61047e575f5ffd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104bc9190610904565b602060405180830381865afa1580156104d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb91906109e6565b9050600254811015610539576040517f3bcd51e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336002546040518363ffffffff1660e01b8152600401610576929190610a11565b6020604051808303815f875af1158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190610a62565b50600354426105c5919061099f565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b60035481565b6106196106b9565b8060018190555050565b61062b6106b9565b8060038190555050565b61063d6106b9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ad575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106a49190610904565b60405180910390fd5b6106b681610740565b50565b6106c1610801565b73ffffffffffffffffffffffffffffffffffffffff166106df610434565b73ffffffffffffffffffffffffffffffffffffffff161461073e57610702610801565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107359190610904565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f819050919050565b61081a81610808565b82525050565b5f6020820190506108335f830184610811565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108668261083d565b9050919050565b6108768161085c565b8114610880575f5ffd5b50565b5f813590506108918161086d565b92915050565b5f602082840312156108ac576108ab610839565b5b5f6108b984828501610883565b91505092915050565b5f8115159050919050565b6108d6816108c2565b82525050565b5f6020820190506108ef5f8301846108cd565b92915050565b6108fe8161085c565b82525050565b5f6020820190506109175f8301846108f5565b92915050565b61092681610808565b8114610930575f5ffd5b50565b5f813590506109418161091d565b92915050565b5f6020828403121561095c5761095b610839565b5b5f61096984828501610933565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6109a982610808565b91506109b483610808565b92508282019050808211156109cc576109cb610972565b5b92915050565b5f815190506109e08161091d565b92915050565b5f602082840312156109fb576109fa610839565b5b5f610a08848285016109d2565b91505092915050565b5f604082019050610a245f8301856108f5565b610a316020830184610811565b9392505050565b610a41816108c2565b8114610a4b575f5ffd5b50565b5f81519050610a5c81610a38565b92915050565b5f60208284031215610a7757610a76610839565b5b5f610a8484828501610a4e565b9150509291505056fea2646970667358221220c161b9c5f528ed05d8177612dfd310cd0514ed7f1db875e55b54df1988f31d2764736f6c634300081c0033",
15+
"nonce": "0x40",
16+
"chainId": "0xaa36a7"
17+
},
18+
"additionalContracts": [],
19+
"isFixedGasLimit": false
20+
}
21+
],
22+
"receipts": [
23+
{
24+
"status": "0x1",
25+
"cumulativeGasUsed": "0x2dab198",
26+
"logs": [
27+
{
28+
"address": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246",
29+
"topics": [
30+
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
31+
"0x0000000000000000000000000000000000000000000000000000000000000000",
32+
"0x000000000000000000000000ae5a4884d813f334e1b80b26402ec78fadaee7eb"
33+
],
34+
"data": "0x",
35+
"blockHash": "0xc8a594619aef0ee93b69bcf9eef6538dd3fccd20401b90386ecd4cefa5365d7f",
36+
"blockNumber": "0x7f0690",
37+
"blockTimestamp": "0x68247ffc",
38+
"transactionHash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
39+
"transactionIndex": "0x13e",
40+
"logIndex": "0x30e",
41+
"removed": false
42+
}
43+
],
44+
"logsBloom": "0x00000000000000000000000000000000000000000000000000804000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000001000000000000000000000000000000000000020000000000000000000800000000000002008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000",
45+
"type": "0x2",
46+
"transactionHash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
47+
"transactionIndex": "0x13e",
48+
"blockHash": "0xc8a594619aef0ee93b69bcf9eef6538dd3fccd20401b90386ecd4cefa5365d7f",
49+
"blockNumber": "0x7f0690",
50+
"gasUsed": "0xb5b48",
51+
"effectiveGasPrice": "0x8cbc3823",
52+
"from": "0xae5a4884d813f334e1b80b26402ec78fadaee7eb",
53+
"to": null,
54+
"contractAddress": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246"
55+
}
56+
],
57+
"libraries": [],
58+
"pending": [],
59+
"returns": {},
60+
"timestamp": 1747222552,
61+
"chain": 11155111,
62+
"commit": "85b4305"
63+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
5+
"transactionType": "CREATE",
6+
"contractName": "Faucet",
7+
"contractAddress": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246",
8+
"function": null,
9+
"arguments": null,
10+
"transaction": {
11+
"from": "0xae5a4884d813f334e1b80b26402ec78fadaee7eb",
12+
"gas": "0xec377",
13+
"value": "0x0",
14+
"input": "0x608060405266038d7ea4c68000600155670de0b6b3a764000060025561070860035534801561002c575f5ffd5b50335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009e575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009591906101b3565b60405180910390fd5b6100ad816100b360201b60201c565b506101cc565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61019d82610174565b9050919050565b6101ad81610193565b82525050565b5f6020820190506101c65f8301846101a4565b92915050565b610ac3806101d95f395ff3fe6080604052600436106100aa575f3560e01c8063941b91c011610063578063941b91c01461019b578063b5b9cc66146101c3578063ccca123b146101eb578063d20cd56a14610215578063df351aaf1461023d578063f2fde38b14610265576100b1565b806302e60c76146100b55780632d291cad146100df5780636ff18ab91461011b578063715018a61461014557806387167b5a1461015b5780638da5cb5b14610171576100b1565b366100b157005b5f5ffd5b3480156100c0575f5ffd5b506100c961028d565b6040516100d69190610820565b60405180910390f35b3480156100ea575f5ffd5b5061010560048036038101906101009190610897565b610293565b60405161011291906108dc565b60405180910390f35b348015610126575f5ffd5b5061012f610337565b60405161013c9190610820565b60405180910390f35b348015610150575f5ffd5b5061015961033d565b005b348015610166575f5ffd5b5061016f610350565b005b34801561017c575f5ffd5b50610185610434565b6040516101929190610904565b60405180910390f35b3480156101a6575f5ffd5b506101c160048036038101906101bc9190610947565b61045b565b005b3480156101ce575f5ffd5b506101e960048036038101906101e49190610897565b61046d565b005b3480156101f6575f5ffd5b506101ff61060b565b60405161020c9190610820565b60405180910390f35b348015610220575f5ffd5b5061023b60048036038101906102369190610947565b610611565b005b348015610248575f5ffd5b50610263600480360381019061025e9190610947565b610623565b005b348015610270575f5ffd5b5061028b60048036038101906102869190610897565b610635565b005b60015481565b5f5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036102e15760019050610332565b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054421061032e5760019050610332565b5f90505b919050565b60025481565b6103456106b9565b61034e5f610740565b565b61035933610293565b610361575f5ffd5b60015447101561039d576040517fe301d63d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc60015490811502906040515f60405180830381858888f193505050501580156103e2573d5f5f3e3d5ffd5b50600354426103f1919061099f565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104636106b9565b8060028190555050565b61047633610293565b61047e575f5ffd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104bc9190610904565b602060405180830381865afa1580156104d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb91906109e6565b9050600254811015610539576040517f3bcd51e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336002546040518363ffffffff1660e01b8152600401610576929190610a11565b6020604051808303815f875af1158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190610a62565b50600354426105c5919061099f565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b60035481565b6106196106b9565b8060018190555050565b61062b6106b9565b8060038190555050565b61063d6106b9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ad575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106a49190610904565b60405180910390fd5b6106b681610740565b50565b6106c1610801565b73ffffffffffffffffffffffffffffffffffffffff166106df610434565b73ffffffffffffffffffffffffffffffffffffffff161461073e57610702610801565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107359190610904565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f819050919050565b61081a81610808565b82525050565b5f6020820190506108335f830184610811565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108668261083d565b9050919050565b6108768161085c565b8114610880575f5ffd5b50565b5f813590506108918161086d565b92915050565b5f602082840312156108ac576108ab610839565b5b5f6108b984828501610883565b91505092915050565b5f8115159050919050565b6108d6816108c2565b82525050565b5f6020820190506108ef5f8301846108cd565b92915050565b6108fe8161085c565b82525050565b5f6020820190506109175f8301846108f5565b92915050565b61092681610808565b8114610930575f5ffd5b50565b5f813590506109418161091d565b92915050565b5f6020828403121561095c5761095b610839565b5b5f61096984828501610933565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6109a982610808565b91506109b483610808565b92508282019050808211156109cc576109cb610972565b5b92915050565b5f815190506109e08161091d565b92915050565b5f602082840312156109fb576109fa610839565b5b5f610a08848285016109d2565b91505092915050565b5f604082019050610a245f8301856108f5565b610a316020830184610811565b9392505050565b610a41816108c2565b8114610a4b575f5ffd5b50565b5f81519050610a5c81610a38565b92915050565b5f60208284031215610a7757610a76610839565b5b5f610a8484828501610a4e565b9150509291505056fea2646970667358221220c161b9c5f528ed05d8177612dfd310cd0514ed7f1db875e55b54df1988f31d2764736f6c634300081c0033",
15+
"nonce": "0x40",
16+
"chainId": "0xaa36a7"
17+
},
18+
"additionalContracts": [],
19+
"isFixedGasLimit": false
20+
}
21+
],
22+
"receipts": [
23+
{
24+
"status": "0x1",
25+
"cumulativeGasUsed": "0x2dab198",
26+
"logs": [
27+
{
28+
"address": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246",
29+
"topics": [
30+
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
31+
"0x0000000000000000000000000000000000000000000000000000000000000000",
32+
"0x000000000000000000000000ae5a4884d813f334e1b80b26402ec78fadaee7eb"
33+
],
34+
"data": "0x",
35+
"blockHash": "0xc8a594619aef0ee93b69bcf9eef6538dd3fccd20401b90386ecd4cefa5365d7f",
36+
"blockNumber": "0x7f0690",
37+
"blockTimestamp": "0x68247ffc",
38+
"transactionHash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
39+
"transactionIndex": "0x13e",
40+
"logIndex": "0x30e",
41+
"removed": false
42+
}
43+
],
44+
"logsBloom": "0x00000000000000000000000000000000000000000000000000804000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000001000000000000000000000000000000000000020000000000000000000800000000000002008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000",
45+
"type": "0x2",
46+
"transactionHash": "0x969356ecaed58af76e1d637eb8ba13a679c3904d2bd21a8905d3e8ba395ab13e",
47+
"transactionIndex": "0x13e",
48+
"blockHash": "0xc8a594619aef0ee93b69bcf9eef6538dd3fccd20401b90386ecd4cefa5365d7f",
49+
"blockNumber": "0x7f0690",
50+
"gasUsed": "0xb5b48",
51+
"effectiveGasPrice": "0x8cbc3823",
52+
"from": "0xae5a4884d813f334e1b80b26402ec78fadaee7eb",
53+
"to": null,
54+
"contractAddress": "0x5239fcdea2c628b5c7bcd8dd42da4db3f752b246"
55+
}
56+
],
57+
"libraries": [],
58+
"pending": [],
59+
"returns": {},
60+
"timestamp": 1747222552,
61+
"chain": 11155111,
62+
"commit": "85b4305"
63+
}

foundry.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ src = "src"
33
out = "out"
44
libs = ["lib"]
55
evm_version = "prague"
6+
solc_version = "0.8.28"
67

78
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

script/DeployFaucet.s.sol

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.28;
3+
4+
import "forge-std/Script.sol";
5+
import "forge-std/Vm.sol";
6+
import "src/Faucet.sol";
7+
8+
contract DeployFaucet is Script {
9+
Faucet public faucet;
10+
11+
function run() external {
12+
uint256 deployerPk = vm.envUint("DEPLOYER_KEY");
13+
14+
vm.startBroadcast(deployerPk);
15+
faucet = new Faucet();
16+
vm.stopBroadcast();
17+
}
18+
}

0 commit comments

Comments
 (0)