{"bytecode":"608060405234801562000010575f80fd5b506040516200155138038062001551833981016040819052620000339162000125565b33806200005957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6200006481620000ba565b50600180546001600160a01b039485166001600160a01b0319909116179055600480549190931668010000000000000000026001600160e01b03199091166001600160401b039092169190911717905562000179565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811462000120575f80fd5b919050565b5f805f6060848603121562000138575f80fd5b620001438462000109565b60208501519093506001600160401b038116811462000160575f80fd5b9150620001706040850162000109565b90509250925092565b6113ca80620001875f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c8063715018a611610093578063aecb7ba111610063578063aecb7ba114610207578063e5db1e781461021a578063f160d3691461022d578063f2fde38b14610240575f80fd5b8063715018a6146101c957806387e02d99146101d15780638da5cb5b146101e4578063a001ecdd146101f4575f80fd5b8063457e1a49116100ce578063457e1a491461014c57806346904840146101775780635491247f146101915780636ee45bc2146101a6575f80fd5b8063238ac933146100f457806328f833b7146101245780632df485fe14610139575b5f80fd5b600254610107906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61012c610253565b60405161011b9190610eb0565b600154610107906001600160a01b031681565b60055461015f906001600160401b031681565b6040516001600160401b03909116815260200161011b565b60045461010790600160401b90046001600160a01b031681565b6101a461019f366004610f93565b6102df565b005b6101b96101b4366004611019565b6105b9565b604051901515815260200161011b565b6101a4610615565b6101a46101df366004611061565b610628565b5f546001600160a01b0316610107565b60045461015f906001600160401b031681565b6101a46102153660046110ab565b61071e565b6101a46102283660046110c4565b610749565b6101a461023b366004611105565b610960565b6101a461024e366004611105565b6109fe565b600380546102609061111e565b80601f016020809104026020016040519081016040528092919081815260200182805461028c9061111e565b80156102d75780601f106102ae576101008083540402835291602001916102d7565b820191905f5260205f20905b8154815290600101906020018083116102ba57829003601f168201915b505050505081565b5f858560405160200161030992919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301205f818152600790935291205490915060ff161561037c5760405162461bcd60e51b81526020600482015260146024820152734f7264657220616c72656164792065786973747360601b60448201526064015b60405180910390fd5b5f818152600760209081526040808320805460ff19166001179055516103ec9189918991899189910193845260e09290921b6001600160e01b031916602084015260601b6bffffffffffffffffffffffff1916602483015260c01b6001600160c01b031916603882015260400190565b6040516020818303038152906040528051906020012090505f61043b827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b90505f6104488286610a3b565b6001600160a01b0381165f9081526006602052604081208054929350909161046f9061111e565b9050116104b65760405162461bcd60e51b815260206004820152601560248201527414da59db995c881b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610373565b6001546001600160a01b03165f806104cd89610a63565b600480546040516340c10f1960e01b8152600160401b9091046001600160a01b03908116928201929092526001600160401b03841660248201529294509092508416906340c10f19906044015f604051808303815f87803b158015610530575f80fd5b505af1158015610542573d5f803e3d5ffd5b50506040516340c10f1960e01b81526001600160a01b038d811660048301526001600160401b0385166024830152861692506340c10f1991506044015f604051808303815f87803b158015610595575f80fd5b505af11580156105a7573d5f803e3d5ffd5b50505050505050505050505050505050565b5f8083836040516020016105e492919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301205f908152600790925290205460ff169150505b92915050565b61061d610a9e565b6106265f610aca565b565b610630610a9e565b6001600160a01b0382165f90815260066020526040902080546106529061111e565b1590506106975760405162461bcd60e51b815260206004820152601360248201527214da59db995c88185b1c9958591e481d5cd959606a1b6044820152606401610373565b600280546001600160a01b0319166001600160a01b03841617905560036106be82826111a2565b506001600160a01b0382165f9081526006602052604090206106e082826111a2565b507f166ad23df36aef44cd021ce7c7c573672c1a65b1a76768648b9a68e546d826628282604051610712929190611261565b60405180910390a15050565b610726610a9e565b6004805467ffffffffffffffff19166001600160401b0392909216919091179055565b61075282610b19565b61079e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420626974636f696e20616464726573730000000000000000006044820152606401610373565b6005546001600160401b039081169082161161080f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206d6f7265207468656e206d696e2077697468647260448201526930bb9030b6b7bab73a1760b11b6064820152608401610373565b5f8061081a83610a63565b600154600480546040516323b872dd60e01b81523392810192909252600160401b90046001600160a01b0390811660248301526001600160401b0385166044830152939550919350919091169081906323b872dd906064016020604051808303815f875af115801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b2919061128c565b5060405163079cc67960e41b81523360048201526001600160401b03831660248201526001600160a01b038216906379cc6790906044015f604051808303815f87803b158015610900575f80fd5b505af1158015610912573d5f803e3d5ffd5b50505050336001600160a01b03167f067a4007ee9d9a9d3a4dd449cd103250958b8239602628b660c3ae5f59d5763b86846040516109519291906112ab565b60405180910390a25050505050565b600454600160401b90046001600160a01b031633146109cd5760405162461bcd60e51b8152602060048201526024808201527f4d7573742063616c6c656420627920707265762066656520726563656970746960448201526332b73a1760e11b6064820152608401610373565b600480546001600160a01b03909216600160401b0268010000000000000000600160e01b0319909216919091179055565b610a06610a9e565b6001600160a01b038116610a2f57604051631e4fbdf760e01b81525f6004820152602401610373565b610a3881610aca565b50565b5f805f80610a498686610c0f565b925092509250610a598282610c58565b5090949350505050565b6004545f9081906103e890610a81906001600160401b0316856112e9565b610a8b9190611314565b9150610a978284611345565b9050915091565b5f546001600160a01b031633146106265760405163118cdaa760e01b8152336004820152602401610373565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80829050610b4183604051806040016040528060018152602001603160f81b815250610d14565b80610b6a5750610b6a83604051806040016040528060018152602001603360f81b815250610d14565b8015610b77575080516022145b15610b855750600192915050565b610bab83604051806040016040528060048152602001636263317160e01b815250610d14565b8015610bb857508051602a145b15610bc65750600192915050565b610bec83604051806040016040528060048152602001630626331760e41b815250610d14565b8015610bf957508051603e145b15610c075750600192915050565b505f92915050565b5f805f8351604103610c46576020840151604085015160608601515f1a610c3888828585610da5565b955095509550505050610c51565b505081515f91506002905b9250925092565b5f826003811115610c6b57610c6b61136c565b03610c74575050565b6001826003811115610c8857610c8861136c565b03610ca65760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610cba57610cba61136c565b03610cdb5760405163fce698f760e01b815260048101829052602401610373565b6003826003811115610cef57610cef61136c565b03610d10576040516335e2f38360e21b815260048101829052602401610373565b5050565b805182515f91849184911115610d2e575f9250505061060f565b5f5b8151811015610d9957818181518110610d4b57610d4b611380565b602001015160f81c60f81b6001600160f81b031916838281518110610d7257610d72611380565b01602001516001600160f81b03191614610d91575f935050505061060f565b600101610d30565b50600195945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610dde57505f91506003905082610e63565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610e2f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610e5a57505f925060019150829050610e63565b92505f91508190505b9450945094915050565b5f81518084525f5b81811015610e9157602081850181015186830182015201610e75565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610ec26020830184610e6d565b9392505050565b803563ffffffff81168114610edc575f80fd5b919050565b80356001600160a01b0381168114610edc575f80fd5b80356001600160401b0381168114610edc575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f6001600160401b0380841115610f3a57610f3a610f0d565b604051601f8501601f19908116603f01168101908282118183101715610f6257610f62610f0d565b81604052809350858152868686011115610f7a575f80fd5b858560208301375f602087830101525050509392505050565b5f805f805f60a08688031215610fa7575f80fd5b85359450610fb760208701610ec9565b9350610fc560408701610ee1565b9250610fd360608701610ef7565b915060808601356001600160401b03811115610fed575f80fd5b8601601f81018813610ffd575f80fd5b61100c88823560208401610f21565b9150509295509295909350565b5f806040838503121561102a575f80fd5b8235915061103a60208401610ec9565b90509250929050565b5f82601f830112611052575f80fd5b610ec283833560208501610f21565b5f8060408385031215611072575f80fd5b61107b83610ee1565b915060208301356001600160401b03811115611095575f80fd5b6110a185828601611043565b9150509250929050565b5f602082840312156110bb575f80fd5b610ec282610ef7565b5f80604083850312156110d5575f80fd5b82356001600160401b038111156110ea575f80fd5b6110f685828601611043565b92505061103a60208401610ef7565b5f60208284031215611115575f80fd5b610ec282610ee1565b600181811c9082168061113257607f821691505b60208210810361115057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561119d57805f5260205f20601f840160051c8101602085101561117b5750805b601f840160051c820191505b8181101561119a575f8155600101611187565b50505b505050565b81516001600160401b038111156111bb576111bb610f0d565b6111cf816111c9845461111e565b84611156565b602080601f831160018114611202575f84156111eb5750858301515b5f19600386901b1c1916600185901b178555611259565b5f85815260208120601f198616915b8281101561123057888601518255948401946001909101908401611211565b508582101561124d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03831681526040602082018190525f9061128490830184610e6d565b949350505050565b5f6020828403121561129c575f80fd5b81518015158114610ec2575f80fd5b604081525f6112bd6040830185610e6d565b90506001600160401b03831660208301529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821602808216919082811461130c5761130c6112d5565b505092915050565b5f6001600160401b038084168061133957634e487b7160e01b5f52601260045260245ffd5b92169190910492915050565b6001600160401b03828116828216039080821115611365576113656112d5565b5092915050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220f7ab99f6ade0e9e0154881ff1ac447ba98143417f0b864036b62d60b6aa601f664736f6c63430008180033","abi":"[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vBTCAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_feePercentage\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"receipt\",\"type\":\"string\"}],\"name\":\"PhatContractUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"receipt\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txid\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"vout\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"receipt\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"sig\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feePercentage\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txid\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"vout\",\"type\":\"uint32\"}],\"name\":\"isOrderUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minWithdrawAmount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"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\":[],\"name\":\"signer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_feePercentage\",\"type\":\"uint64\"}],\"name\":\"updateFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"}],\"name\":\"updateFeeRecipient\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSigner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newReceipt\",\"type\":\"string\"}],\"name\":\"upgradeSignerAndDepositAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vBTC\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"receipt\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"}