{"bytecode":"608060405234801562000010575f80fd5b50604051620014c2380380620014c2833981016040819052620000339162000125565b33806200005957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6200006481620000ba565b50600180546001600160a01b039485166001600160a01b0319909116179055600480549190931668010000000000000000026001600160e01b03199091166001600160401b039092169190911717905562000179565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811462000120575f80fd5b919050565b5f805f6060848603121562000138575f80fd5b620001438462000109565b60208501519093506001600160401b038116811462000160575f80fd5b9150620001706040850162000109565b90509250925092565b61133b80620001875f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806387e02d9911610088578063aecb7ba111610063578063aecb7ba1146101e9578063e5db1e78146101fc578063f160d3691461020f578063f2fde38b14610222575f80fd5b806387e02d991461019b5780638da5cb5b146101ae578063a001ecdd146101be575f80fd5b806346904840116100c357806346904840146101415780635491247f1461015b5780636ee45bc214610170578063715018a614610193575f80fd5b8063238ac933146100e957806328f833b7146101195780632df485fe1461012e575b5f80fd5b6002546100fc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b610121610235565b6040516101109190610e21565b6001546100fc906001600160a01b031681565b6004546100fc90600160401b90046001600160a01b031681565b61016e610169366004610f04565b6102c1565b005b61018361017e366004610f8a565b61059b565b6040519015158152602001610110565b61016e6105f7565b61016e6101a9366004610fd2565b61060a565b5f546001600160a01b03166100fc565b6004546101d1906001600160401b031681565b6040516001600160401b039091168152602001610110565b61016e6101f736600461101c565b610700565b61016e61020a366004611035565b61072b565b61016e61021d366004611076565b6108d1565b61016e610230366004611076565b61096f565b600380546102429061108f565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061108f565b80156102b95780601f10610290576101008083540402835291602001916102b9565b820191905f5260205f20905b81548152906001019060200180831161029c57829003601f168201915b505050505081565b5f85856040516020016102eb92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301205f818152600690935291205490915060ff161561035e5760405162461bcd60e51b81526020600482015260146024820152734f7264657220616c72656164792065786973747360601b60448201526064015b60405180910390fd5b5f818152600660209081526040808320805460ff19166001179055516103ce9189918991899189910193845260e09290921b6001600160e01b031916602084015260601b6bffffffffffffffffffffffff1916602483015260c01b6001600160c01b031916603882015260400190565b6040516020818303038152906040528051906020012090505f61041d827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b90505f61042a82866109ac565b6001600160a01b0381165f908152600560205260408120805492935090916104519061108f565b9050116104985760405162461bcd60e51b815260206004820152601560248201527414da59db995c881b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610355565b6001546001600160a01b03165f806104af896109d4565b600480546040516340c10f1960e01b8152600160401b9091046001600160a01b03908116928201929092526001600160401b03841660248201529294509092508416906340c10f19906044015f604051808303815f87803b158015610512575f80fd5b505af1158015610524573d5f803e3d5ffd5b50506040516340c10f1960e01b81526001600160a01b038d811660048301526001600160401b0385166024830152861692506340c10f1991506044015f604051808303815f87803b158015610577575f80fd5b505af1158015610589573d5f803e3d5ffd5b50505050505050505050505050505050565b5f8083836040516020016105c692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301205f908152600690925290205460ff169150505b92915050565b6105ff610a0f565b6106085f610a3b565b565b610612610a0f565b6001600160a01b0382165f90815260056020526040902080546106349061108f565b1590506106795760405162461bcd60e51b815260206004820152601360248201527214da59db995c88185b1c9958591e481d5cd959606a1b6044820152606401610355565b600280546001600160a01b0319166001600160a01b03841617905560036106a08282611113565b506001600160a01b0382165f9081526005602052604090206106c28282611113565b507f166ad23df36aef44cd021ce7c7c573672c1a65b1a76768648b9a68e546d8266282826040516106f49291906111d2565b60405180910390a15050565b610708610a0f565b6004805467ffffffffffffffff19166001600160401b0392909216919091179055565b61073482610a8a565b6107805760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420626974636f696e20616464726573730000000000000000006044820152606401610355565b5f8061078b836109d4565b600154600480546040516323b872dd60e01b81523392810192909252600160401b90046001600160a01b0390811660248301526001600160401b0385166044830152939550919350919091169081906323b872dd906064016020604051808303815f875af11580156107ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082391906111fd565b5060405163079cc67960e41b81523360048201526001600160401b03831660248201526001600160a01b038216906379cc6790906044015f604051808303815f87803b158015610871575f80fd5b505af1158015610883573d5f803e3d5ffd5b50505050336001600160a01b03167f067a4007ee9d9a9d3a4dd449cd103250958b8239602628b660c3ae5f59d5763b86846040516108c292919061121c565b60405180910390a25050505050565b600454600160401b90046001600160a01b0316331461093e5760405162461bcd60e51b8152602060048201526024808201527f4d7573742063616c6c656420627920707265762066656520726563656970746960448201526332b73a1760e11b6064820152608401610355565b600480546001600160a01b03909216600160401b0268010000000000000000600160e01b0319909216919091179055565b610977610a0f565b6001600160a01b0381166109a057604051631e4fbdf760e01b81525f6004820152602401610355565b6109a981610a3b565b50565b5f805f806109ba8686610b80565b9250925092506109ca8282610bc9565b5090949350505050565b6004545f9081906103e8906109f2906001600160401b03168561125a565b6109fc9190611285565b9150610a0882846112b6565b9050915091565b5f546001600160a01b031633146106085760405163118cdaa760e01b8152336004820152602401610355565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80829050610ab283604051806040016040528060018152602001603160f81b815250610c85565b80610adb5750610adb83604051806040016040528060018152602001603360f81b815250610c85565b8015610ae8575080516022145b15610af65750600192915050565b610b1c83604051806040016040528060048152602001636263317160e01b815250610c85565b8015610b2957508051602a145b15610b375750600192915050565b610b5d83604051806040016040528060048152602001630626331760e41b815250610c85565b8015610b6a57508051603e145b15610b785750600192915050565b505f92915050565b5f805f8351604103610bb7576020840151604085015160608601515f1a610ba988828585610d16565b955095509550505050610bc2565b505081515f91506002905b9250925092565b5f826003811115610bdc57610bdc6112dd565b03610be5575050565b6001826003811115610bf957610bf96112dd565b03610c175760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610c2b57610c2b6112dd565b03610c4c5760405163fce698f760e01b815260048101829052602401610355565b6003826003811115610c6057610c606112dd565b03610c81576040516335e2f38360e21b815260048101829052602401610355565b5050565b805182515f91849184911115610c9f575f925050506105f1565b5f5b8151811015610d0a57818181518110610cbc57610cbc6112f1565b602001015160f81c60f81b6001600160f81b031916838281518110610ce357610ce36112f1565b01602001516001600160f81b03191614610d02575f93505050506105f1565b600101610ca1565b50600195945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610d4f57505f91506003905082610dd4565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610da0573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610dcb57505f925060019150829050610dd4565b92505f91508190505b9450945094915050565b5f81518084525f5b81811015610e0257602081850181015186830182015201610de6565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610e336020830184610dde565b9392505050565b803563ffffffff81168114610e4d575f80fd5b919050565b80356001600160a01b0381168114610e4d575f80fd5b80356001600160401b0381168114610e4d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f6001600160401b0380841115610eab57610eab610e7e565b604051601f8501601f19908116603f01168101908282118183101715610ed357610ed3610e7e565b81604052809350858152868686011115610eeb575f80fd5b858560208301375f602087830101525050509392505050565b5f805f805f60a08688031215610f18575f80fd5b85359450610f2860208701610e3a565b9350610f3660408701610e52565b9250610f4460608701610e68565b915060808601356001600160401b03811115610f5e575f80fd5b8601601f81018813610f6e575f80fd5b610f7d88823560208401610e92565b9150509295509295909350565b5f8060408385031215610f9b575f80fd5b82359150610fab60208401610e3a565b90509250929050565b5f82601f830112610fc3575f80fd5b610e3383833560208501610e92565b5f8060408385031215610fe3575f80fd5b610fec83610e52565b915060208301356001600160401b03811115611006575f80fd5b61101285828601610fb4565b9150509250929050565b5f6020828403121561102c575f80fd5b610e3382610e68565b5f8060408385031215611046575f80fd5b82356001600160401b0381111561105b575f80fd5b61106785828601610fb4565b925050610fab60208401610e68565b5f60208284031215611086575f80fd5b610e3382610e52565b600181811c908216806110a357607f821691505b6020821081036110c157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561110e57805f5260205f20601f840160051c810160208510156110ec5750805b601f840160051c820191505b8181101561110b575f81556001016110f8565b50505b505050565b81516001600160401b0381111561112c5761112c610e7e565b6111408161113a845461108f565b846110c7565b602080601f831160018114611173575f841561115c5750858301515b5f19600386901b1c1916600185901b1785556111ca565b5f85815260208120601f198616915b828110156111a157888601518255948401946001909101908401611182565b50858210156111be57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03831681526040602082018190525f906111f590830184610dde565b949350505050565b5f6020828403121561120d575f80fd5b81518015158114610e33575f80fd5b604081525f61122e6040830185610dde565b90506001600160401b03831660208301529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821602808216919082811461127d5761127d611246565b505092915050565b5f6001600160401b03808416806112aa57634e487b7160e01b5f52601260045260245ffd5b92169190910492915050565b6001600160401b038281168282160390808211156112d6576112d6611246565b5092915050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffdfea264697066735822122021174541d04d450a4f9ab833eac68e0e40b2c8f6eb976b67ce0fba1a8bcc13e564736f6c63430008180033","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\":\"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\"}]"}