openzeppelin-contracts
Version:
Secure Smart Contract library for Solidity
145 lines (144 loc) • 16.7 kB
JSON
{
"contractName": "Escrow",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "weiAmount",
"type": "uint256"
}
],
"name": "Deposited",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "weiAmount",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "payee",
"type": "address"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "payee",
"type": "address"
}
],
"name": "depositsOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "payee",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610cfb806100db6000396000f3fe6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a6146100835780638da5cb5b1461009a578063e3a9db1a146100c5578063f2fde38b14610102578063f340fa011461012b575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610930565b610147565b005b34801561008f57600080fd5b506100986102e0565b005b3480156100a657600080fd5b506100af610433565b6040516100bc9190610af2565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e79190610907565b61045c565b6040516100f99190610b8d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190610907565b6104a5565b005b61014560048036038101906101409190610907565b610667565b005b61014f6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d390610b6d565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061028e818373ffffffffffffffffffffffffffffffffffffffff166107e990919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516102d49190610b8d565b60405180910390a25050565b6102e86107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036c90610b6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104ad6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053190610b6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190610b0d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61066f6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f390610b6d565b60405180910390fd5b600034905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461074c9190610bc4565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040516107d59190610b8d565b60405180910390a25050565b600033905090565b8047101561082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390610b4d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161085290610add565b60006040518083038185875af1925050503d806000811461088f576040519150601f19603f3d011682016040523d82523d6000602084013e610894565b606091505b50509050806108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90610b2d565b60405180910390fd5b505050565b6000813590506108ec81610c97565b92915050565b60008135905061090181610cae565b92915050565b60006020828403121561091957600080fd5b6000610927848285016108dd565b91505092915050565b60006020828403121561094257600080fd5b6000610950848285016108f2565b91505092915050565b61096281610c1a565b82525050565b6000610975602683610bb3565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006109db603a83610bb3565b91507f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008301527f6563697069656e74206d617920686176652072657665727465640000000000006020830152604082019050919050565b6000610a41601d83610bb3565b91507f416464726573733a20696e73756666696369656e742062616c616e63650000006000830152602082019050919050565b6000610a81602083610bb3565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000610ac1600083610ba8565b9150600082019050919050565b610ad781610c5e565b82525050565b6000610ae882610ab4565b9150819050919050565b6000602082019050610b076000830184610959565b92915050565b60006020820190508181036000830152610b2681610968565b9050919050565b60006020820190508181036000830152610b46816109ce565b9050919050565b60006020820190508181036000830152610b6681610a34565b9050919050565b60006020820190508181036000830152610b8681610a74565b9050919050565b6000602082019050610ba26000830184610ace565b92915050565b600081905092915050565b600082825260208201905092915050565b6000610bcf82610c5e565b9150610bda83610c5e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c0f57610c0e610c68565b5b828201905092915050565b6000610c2582610c3e565b9050919050565b6000610c3782610c3e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610ca081610c1a565b8114610cab57600080fd5b50565b610cb781610c2c565b8114610cc257600080fd5b5056fea26469706673582212202cd2a33a733b2a262c60ff64eef1a40ffabd86a7ed9743db2b8395b646d259ac64736f6c63430008000033",
"deployedBytecode": "0x6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a6146100835780638da5cb5b1461009a578063e3a9db1a146100c5578063f2fde38b14610102578063f340fa011461012b575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610930565b610147565b005b34801561008f57600080fd5b506100986102e0565b005b3480156100a657600080fd5b506100af610433565b6040516100bc9190610af2565b60405180910390f35b3480156100d157600080fd5b506100ec60048036038101906100e79190610907565b61045c565b6040516100f99190610b8d565b60405180910390f35b34801561010e57600080fd5b5061012960048036038101906101249190610907565b6104a5565b005b61014560048036038101906101409190610907565b610667565b005b61014f6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d390610b6d565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061028e818373ffffffffffffffffffffffffffffffffffffffff166107e990919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516102d49190610b8d565b60405180910390a25050565b6102e86107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036c90610b6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104ad6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053190610b6d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190610b0d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61066f6107e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f390610b6d565b60405180910390fd5b600034905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461074c9190610bc4565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040516107d59190610b8d565b60405180910390a25050565b600033905090565b8047101561082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390610b4d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161085290610add565b60006040518083038185875af1925050503d806000811461088f576040519150601f19603f3d011682016040523d82523d6000602084013e610894565b606091505b50509050806108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90610b2d565b60405180910390fd5b505050565b6000813590506108ec81610c97565b92915050565b60008135905061090181610cae565b92915050565b60006020828403121561091957600080fd5b6000610927848285016108dd565b91505092915050565b60006020828403121561094257600080fd5b6000610950848285016108f2565b91505092915050565b61096281610c1a565b82525050565b6000610975602683610bb3565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006109db603a83610bb3565b91507f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008301527f6563697069656e74206d617920686176652072657665727465640000000000006020830152604082019050919050565b6000610a41601d83610bb3565b91507f416464726573733a20696e73756666696369656e742062616c616e63650000006000830152602082019050919050565b6000610a81602083610bb3565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000610ac1600083610ba8565b9150600082019050919050565b610ad781610c5e565b82525050565b6000610ae882610ab4565b9150819050919050565b6000602082019050610b076000830184610959565b92915050565b60006020820190508181036000830152610b2681610968565b9050919050565b60006020820190508181036000830152610b46816109ce565b9050919050565b60006020820190508181036000830152610b6681610a34565b9050919050565b60006020820190508181036000830152610b8681610a74565b9050919050565b6000602082019050610ba26000830184610ace565b92915050565b600081905092915050565b600082825260208201905092915050565b6000610bcf82610c5e565b9150610bda83610c5e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c0f57610c0e610c68565b5b828201905092915050565b6000610c2582610c3e565b9050919050565b6000610c3782610c3e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610ca081610c1a565b8114610cab57600080fd5b50565b610cb781610c2c565b8114610cc257600080fd5b5056fea26469706673582212202cd2a33a733b2a262c60ff64eef1a40ffabd86a7ed9743db2b8395b646d259ac64736f6c63430008000033",
"linkReferences": {},
"deployedLinkReferences": {}
}