@eth-optimism/contracts-periphery
Version:
[Optimism] External (out-of-protocol) L1 and L2 smart contracts for Optimism
156 lines (155 loc) • 9.56 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "FaucetHelper",
"sourceName": "contracts/testing/helpers/FaucetHelper.sol",
"abi": [
{
"inputs": [],
"name": "EIP712_DOMAIN_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PROOF_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "consumeNonce",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentNonce",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"internalType": "struct AdminFaucetAuthModule.Proof",
"name": "_proof",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "_name",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "_version",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "_chainid",
"type": "uint256"
},
{
"internalType": "address",
"name": "_verifyingContract",
"type": "address"
}
],
"name": "getDigestWithEIP712Domain",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"internalType": "struct AdminFaucetAuthModule.Proof",
"name": "_proof",
"type": "tuple"
}
],
"name": "getProofStructHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506105e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063adb610a311610050578063adb610a314610142578063b163a6b81461014b578063c7977be71461015e57600080fd5b806334b1511814610077578063796dfbfa146100915780638b3e3bf61461011b575b600080fd5b61007f610185565b60405190815260200160405180910390f35b61007f61009f3660046103f3565b805160208083015160409384015184517fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e8185015273ffffffffffffffffffffffffffffffffffffffff9094168486015260608401919091526080808401919091528351808403909101815260a0909201909252805191012090565b61007f7fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e81565b61007f60005481565b61007f6101593660046104c1565b6101c5565b61007f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b60008054818061019483610551565b919050556040516020016101aa91815260200190565b60405160208183030381529060405280519060200120905090565b8351602080860191909120845185830120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9481019490945283019190915260608201526080810183905273ffffffffffffffffffffffffffffffffffffffff821660a0820152600090819060c00160405160208183030381529060405280519060200120905061032f816102d489805160208083015160409384015184517fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e8185015273ffffffffffffffffffffffffffffffffffffffff9094168486015260608401919091526080808401919091528351808403909101815260a0909201909252805191012090565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461038d57600080fd5b919050565b6000606082840312156103a457600080fd5b6040516060810181811067ffffffffffffffff821117156103c7576103c761033a565b6040529050806103d683610369565b815260208301356020820152604083013560408201525092915050565b60006060828403121561040557600080fd5b61040f8383610392565b9392505050565b600082601f83011261042757600080fd5b813567ffffffffffffffff808211156104425761044261033a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104885761048861033a565b816040528381528660208588010111156104a157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060e086880312156104d957600080fd5b6104e38787610392565b9450606086013567ffffffffffffffff8082111561050057600080fd5b61050c89838a01610416565b9550608088013591508082111561052257600080fd5b5061052f88828901610416565b93505060a0860135915061054560c08701610369565b90509295509295909350565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105a9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220dd0256401c2294e00aa26072a1c3c293f134d2bf23f3f8f908ee9fdbc5c20f0664736f6c634300080f0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063adb610a311610050578063adb610a314610142578063b163a6b81461014b578063c7977be71461015e57600080fd5b806334b1511814610077578063796dfbfa146100915780638b3e3bf61461011b575b600080fd5b61007f610185565b60405190815260200160405180910390f35b61007f61009f3660046103f3565b805160208083015160409384015184517fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e8185015273ffffffffffffffffffffffffffffffffffffffff9094168486015260608401919091526080808401919091528351808403909101815260a0909201909252805191012090565b61007f7fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e81565b61007f60005481565b61007f6101593660046104c1565b6101c5565b61007f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b60008054818061019483610551565b919050556040516020016101aa91815260200190565b60405160208183030381529060405280519060200120905090565b8351602080860191909120845185830120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9481019490945283019190915260608201526080810183905273ffffffffffffffffffffffffffffffffffffffff821660a0820152600090819060c00160405160208183030381529060405280519060200120905061032f816102d489805160208083015160409384015184517fd4283507dc7a8282faa6b4c8c18bacbb74dbbab5467342e6f581656f3577236e8185015273ffffffffffffffffffffffffffffffffffffffff9094168486015260608401919091526080808401919091528351808403909101815260a0909201909252805191012090565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461038d57600080fd5b919050565b6000606082840312156103a457600080fd5b6040516060810181811067ffffffffffffffff821117156103c7576103c761033a565b6040529050806103d683610369565b815260208301356020820152604083013560408201525092915050565b60006060828403121561040557600080fd5b61040f8383610392565b9392505050565b600082601f83011261042757600080fd5b813567ffffffffffffffff808211156104425761044261033a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104885761048861033a565b816040528381528660208588010111156104a157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060e086880312156104d957600080fd5b6104e38787610392565b9450606086013567ffffffffffffffff8082111561050057600080fd5b61050c89838a01610416565b9550608088013591508082111561052257600080fd5b5061052f88828901610416565b93505060a0860135915061054560c08701610369565b90509295509295909350565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105a9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220dd0256401c2294e00aa26072a1c3c293f134d2bf23f3f8f908ee9fdbc5c20f0664736f6c634300080f0033",
"linkReferences": {},
"deployedLinkReferences": {}
}