@zoralabs/openzeppelin-contracts-upgradeable
Version:
Secure Smart Contract library for Solidity
187 lines (186 loc) • 16.5 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "EscrowUpgradeable",
"sourceName": "contracts/utils/escrow/EscrowUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "ADDRESS_INSUFFICIENT_BALANCE",
"type": "error"
},
{
"inputs": [],
"name": "ADDRESS_UNABLE_TO_SEND_VALUE",
"type": "error"
},
{
"inputs": [],
"name": "INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED",
"type": "error"
},
{
"inputs": [],
"name": "INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING",
"type": "error"
},
{
"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": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"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": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"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": "0x608060405234801561001057600080fd5b50610c4b806100206000396000f3fe6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100cc578063e3a9db1a146100f7578063f2fde38b14610134578063f340fa011461015d57610070565b806351cff8d914610075578063715018a61461009e5780638129fc1c146100b5575b600080fd5b34801561008157600080fd5b5061009c600480360381019061009791906108d8565b610179565b005b3480156100aa57600080fd5b506100b3610285565b005b3480156100c157600080fd5b506100ca610299565b005b3480156100d857600080fd5b506100e16103d1565b6040516100ee9190610926565b60405180910390f35b34801561010357600080fd5b5061011e6004803603810190610119919061096d565b6103fb565b60405161012b91906109b3565b60405180910390f35b34801561014057600080fd5b5061015b6004803603810190610156919061096d565b610444565b005b6101776004803603810190610172919061096d565b6104c7565b005b61018161057c565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610233818373ffffffffffffffffffffffffffffffffffffffff166105fa90919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161027991906109b3565b60405180910390a25050565b61028d61057c565b61029760006106dc565b565b60008060019054906101000a900460ff161590508015806102cc575060008060009054906101000a900460ff1660ff1614155b80156102f957506102dc306107a2565b806102f85750600160008054906101000a900460ff1660ff1614155b5b15610330576040517f7ab8448200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000806101000a81548160ff021916908360ff160217905550801561036d576001600060016101000a81548160ff0219169083151502179055505b6103756107c5565b80156103ce5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516103c59190610a20565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61044c61057c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b290610abe565b60405180910390fd5b6104c4816106dc565b50565b6104cf61057c565b600034905080606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105239190610b0d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c48260405161057091906109b3565b60405180910390a25050565b610584610815565b73ffffffffffffffffffffffffffffffffffffffff166105a26103d1565b73ffffffffffffffffffffffffffffffffffffffff16146105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90610baf565b60405180910390fd5b565b80471115610634576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161065a90610c00565b60006040518083038185875af1925050503d8060008114610697576040519150601f19603f3d011682016040523d82523d6000602084013e61069c565b606091505b50509050806106d7576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff1661080b576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081361081d565b565b600033905090565b600060019054906101000a900460ff16610863576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087361086e610815565b6106dc565b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108a58261087a565b9050919050565b6108b58161089a565b81146108c057600080fd5b50565b6000813590506108d2816108ac565b92915050565b6000602082840312156108ee576108ed610875565b5b60006108fc848285016108c3565b91505092915050565b60006109108261087a565b9050919050565b61092081610905565b82525050565b600060208201905061093b6000830184610917565b92915050565b61094a81610905565b811461095557600080fd5b50565b60008135905061096781610941565b92915050565b60006020828403121561098357610982610875565b5b600061099184828501610958565b91505092915050565b6000819050919050565b6109ad8161099a565b82525050565b60006020820190506109c860008301846109a4565b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000610a0a610a05610a00846109ce565b6109e5565b6109d8565b9050919050565b610a1a816109ef565b82525050565b6000602082019050610a356000830184610a11565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610aa8602683610a3b565b9150610ab382610a4c565b604082019050919050565b60006020820190508181036000830152610ad781610a9b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610b188261099a565b9150610b238361099a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610b5857610b57610ade565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610b99602083610a3b565b9150610ba482610b63565b602082019050919050565b60006020820190508181036000830152610bc881610b8c565b9050919050565b600081905092915050565b50565b6000610bea600083610bcf565b9150610bf582610bda565b600082019050919050565b6000610c0b82610bdd565b915081905091905056fea26469706673582212204ba1766b71f9cb20852567069e66c2b0fb1c58b3a1be5d463fbfc06b82ec2e5f64736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100cc578063e3a9db1a146100f7578063f2fde38b14610134578063f340fa011461015d57610070565b806351cff8d914610075578063715018a61461009e5780638129fc1c146100b5575b600080fd5b34801561008157600080fd5b5061009c600480360381019061009791906108d8565b610179565b005b3480156100aa57600080fd5b506100b3610285565b005b3480156100c157600080fd5b506100ca610299565b005b3480156100d857600080fd5b506100e16103d1565b6040516100ee9190610926565b60405180910390f35b34801561010357600080fd5b5061011e6004803603810190610119919061096d565b6103fb565b60405161012b91906109b3565b60405180910390f35b34801561014057600080fd5b5061015b6004803603810190610156919061096d565b610444565b005b6101776004803603810190610172919061096d565b6104c7565b005b61018161057c565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610233818373ffffffffffffffffffffffffffffffffffffffff166105fa90919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161027991906109b3565b60405180910390a25050565b61028d61057c565b61029760006106dc565b565b60008060019054906101000a900460ff161590508015806102cc575060008060009054906101000a900460ff1660ff1614155b80156102f957506102dc306107a2565b806102f85750600160008054906101000a900460ff1660ff1614155b5b15610330576040517f7ab8448200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000806101000a81548160ff021916908360ff160217905550801561036d576001600060016101000a81548160ff0219169083151502179055505b6103756107c5565b80156103ce5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516103c59190610a20565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61044c61057c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b290610abe565b60405180910390fd5b6104c4816106dc565b50565b6104cf61057c565b600034905080606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105239190610b0d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c48260405161057091906109b3565b60405180910390a25050565b610584610815565b73ffffffffffffffffffffffffffffffffffffffff166105a26103d1565b73ffffffffffffffffffffffffffffffffffffffff16146105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90610baf565b60405180910390fd5b565b80471115610634576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161065a90610c00565b60006040518083038185875af1925050503d8060008114610697576040519150601f19603f3d011682016040523d82523d6000602084013e61069c565b606091505b50509050806106d7576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff1661080b576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081361081d565b565b600033905090565b600060019054906101000a900460ff16610863576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087361086e610815565b6106dc565b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108a58261087a565b9050919050565b6108b58161089a565b81146108c057600080fd5b50565b6000813590506108d2816108ac565b92915050565b6000602082840312156108ee576108ed610875565b5b60006108fc848285016108c3565b91505092915050565b60006109108261087a565b9050919050565b61092081610905565b82525050565b600060208201905061093b6000830184610917565b92915050565b61094a81610905565b811461095557600080fd5b50565b60008135905061096781610941565b92915050565b60006020828403121561098357610982610875565b5b600061099184828501610958565b91505092915050565b6000819050919050565b6109ad8161099a565b82525050565b60006020820190506109c860008301846109a4565b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000610a0a610a05610a00846109ce565b6109e5565b6109d8565b9050919050565b610a1a816109ef565b82525050565b6000602082019050610a356000830184610a11565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610aa8602683610a3b565b9150610ab382610a4c565b604082019050919050565b60006020820190508181036000830152610ad781610a9b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610b188261099a565b9150610b238361099a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610b5857610b57610ade565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610b99602083610a3b565b9150610ba482610b63565b602082019050919050565b60006020820190508181036000830152610bc881610b8c565b9050919050565b600081905092915050565b50565b6000610bea600083610bcf565b9150610bf582610bda565b600082019050919050565b6000610c0b82610bdd565b915081905091905056fea26469706673582212204ba1766b71f9cb20852567069e66c2b0fb1c58b3a1be5d463fbfc06b82ec2e5f64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}