github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/snapshots/abi/Faucet.json (about)

     1  [
     2    {
     3      "inputs": [
     4        {
     5          "internalType": "address",
     6          "name": "_admin",
     7          "type": "address"
     8        }
     9      ],
    10      "stateMutability": "nonpayable",
    11      "type": "constructor"
    12    },
    13    {
    14      "stateMutability": "payable",
    15      "type": "receive"
    16    },
    17    {
    18      "inputs": [],
    19      "name": "ADMIN",
    20      "outputs": [
    21        {
    22          "internalType": "address",
    23          "name": "",
    24          "type": "address"
    25        }
    26      ],
    27      "stateMutability": "view",
    28      "type": "function"
    29    },
    30    {
    31      "inputs": [
    32        {
    33          "internalType": "contract IFaucetAuthModule",
    34          "name": "_module",
    35          "type": "address"
    36        },
    37        {
    38          "components": [
    39            {
    40              "internalType": "string",
    41              "name": "name",
    42              "type": "string"
    43            },
    44            {
    45              "internalType": "bool",
    46              "name": "enabled",
    47              "type": "bool"
    48            },
    49            {
    50              "internalType": "uint256",
    51              "name": "ttl",
    52              "type": "uint256"
    53            },
    54            {
    55              "internalType": "uint256",
    56              "name": "amount",
    57              "type": "uint256"
    58            }
    59          ],
    60          "internalType": "struct Faucet.ModuleConfig",
    61          "name": "_config",
    62          "type": "tuple"
    63        }
    64      ],
    65      "name": "configure",
    66      "outputs": [],
    67      "stateMutability": "nonpayable",
    68      "type": "function"
    69    },
    70    {
    71      "inputs": [
    72        {
    73          "components": [
    74            {
    75              "internalType": "address payable",
    76              "name": "recipient",
    77              "type": "address"
    78            },
    79            {
    80              "internalType": "bytes32",
    81              "name": "nonce",
    82              "type": "bytes32"
    83            }
    84          ],
    85          "internalType": "struct Faucet.DripParameters",
    86          "name": "_params",
    87          "type": "tuple"
    88        },
    89        {
    90          "components": [
    91            {
    92              "internalType": "contract IFaucetAuthModule",
    93              "name": "module",
    94              "type": "address"
    95            },
    96            {
    97              "internalType": "bytes32",
    98              "name": "id",
    99              "type": "bytes32"
   100            },
   101            {
   102              "internalType": "bytes",
   103              "name": "proof",
   104              "type": "bytes"
   105            }
   106          ],
   107          "internalType": "struct Faucet.AuthParameters",
   108          "name": "_auth",
   109          "type": "tuple"
   110        }
   111      ],
   112      "name": "drip",
   113      "outputs": [],
   114      "stateMutability": "nonpayable",
   115      "type": "function"
   116    },
   117    {
   118      "inputs": [
   119        {
   120          "internalType": "contract IFaucetAuthModule",
   121          "name": "_module",
   122          "type": "address"
   123        }
   124      ],
   125      "name": "isModuleEnabled",
   126      "outputs": [
   127        {
   128          "internalType": "bool",
   129          "name": "",
   130          "type": "bool"
   131        }
   132      ],
   133      "stateMutability": "view",
   134      "type": "function"
   135    },
   136    {
   137      "inputs": [
   138        {
   139          "internalType": "contract IFaucetAuthModule",
   140          "name": "",
   141          "type": "address"
   142        }
   143      ],
   144      "name": "modules",
   145      "outputs": [
   146        {
   147          "internalType": "string",
   148          "name": "name",
   149          "type": "string"
   150        },
   151        {
   152          "internalType": "bool",
   153          "name": "enabled",
   154          "type": "bool"
   155        },
   156        {
   157          "internalType": "uint256",
   158          "name": "ttl",
   159          "type": "uint256"
   160        },
   161        {
   162          "internalType": "uint256",
   163          "name": "amount",
   164          "type": "uint256"
   165        }
   166      ],
   167      "stateMutability": "view",
   168      "type": "function"
   169    },
   170    {
   171      "inputs": [
   172        {
   173          "internalType": "bytes32",
   174          "name": "",
   175          "type": "bytes32"
   176        },
   177        {
   178          "internalType": "bytes32",
   179          "name": "",
   180          "type": "bytes32"
   181        }
   182      ],
   183      "name": "nonces",
   184      "outputs": [
   185        {
   186          "internalType": "bool",
   187          "name": "",
   188          "type": "bool"
   189        }
   190      ],
   191      "stateMutability": "view",
   192      "type": "function"
   193    },
   194    {
   195      "inputs": [
   196        {
   197          "internalType": "contract IFaucetAuthModule",
   198          "name": "",
   199          "type": "address"
   200        },
   201        {
   202          "internalType": "bytes32",
   203          "name": "",
   204          "type": "bytes32"
   205        }
   206      ],
   207      "name": "timeouts",
   208      "outputs": [
   209        {
   210          "internalType": "uint256",
   211          "name": "",
   212          "type": "uint256"
   213        }
   214      ],
   215      "stateMutability": "view",
   216      "type": "function"
   217    },
   218    {
   219      "inputs": [
   220        {
   221          "internalType": "address payable",
   222          "name": "_recipient",
   223          "type": "address"
   224        },
   225        {
   226          "internalType": "uint256",
   227          "name": "_amount",
   228          "type": "uint256"
   229        }
   230      ],
   231      "name": "withdraw",
   232      "outputs": [],
   233      "stateMutability": "nonpayable",
   234      "type": "function"
   235    },
   236    {
   237      "anonymous": false,
   238      "inputs": [
   239        {
   240          "indexed": true,
   241          "internalType": "string",
   242          "name": "authModule",
   243          "type": "string"
   244        },
   245        {
   246          "indexed": true,
   247          "internalType": "bytes32",
   248          "name": "userId",
   249          "type": "bytes32"
   250        },
   251        {
   252          "indexed": false,
   253          "internalType": "uint256",
   254          "name": "amount",
   255          "type": "uint256"
   256        },
   257        {
   258          "indexed": true,
   259          "internalType": "address",
   260          "name": "recipient",
   261          "type": "address"
   262        }
   263      ],
   264      "name": "Drip",
   265      "type": "event"
   266    }
   267  ]