{"bytecode":"608060405234801561000f575f80fd5b50604051610ab7380380610ab783398101604081905261002e916100f8565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c8161008e565b50600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610129565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100f3575f80fd5b919050565b5f8060408385031215610109575f80fd5b610112836100dd565b9150610120602084016100dd565b90509250929050565b610981806101365f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063715018a611610058578063715018a6146100f35780638da5cb5b146100fb578063e5db1e781461010b578063f2fde38b1461011e575f80fd5b8063238ac933146100895780632df485fe146100b85780634a9649de146100cb5780636c19e783146100e0575b5f80fd5b60025461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461009c906001600160a01b031681565b6100de6100d9366004610738565b610131565b005b6100de6100ee3660046107d8565b610312565b6100de61033c565b5f546001600160a01b031661009c565b6100de6101193660046107f8565b61034f565b6100de61012c3660046107d8565b610401565b5f8787604051602001610145929190610865565b60408051601f1981840301815291815281516020928301205f818152600390935291205490915060ff16156101b85760405162461bcd60e51b81526020600482015260146024820152734f7264657220616c72656164792065786973747360601b60448201526064015b60405180910390fd5b5f818152600360209081526040808320805460ff19166001179055516101e6918b918b918b918b9101610896565b6040516020818303038152906040528051906020012090505f610235827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b90505f6102448286898961043e565b6002549091506001600160a01b038083169116146102985760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016101af565b6001546040516340c10f1960e01b81526001600160a01b038b8116600483015267ffffffffffffffff8b1660248301529091169081906340c10f19906044015f604051808303815f87803b1580156102ee575f80fd5b505af1158015610300573d5f803e3d5ffd5b50505050505050505050505050505050565b61031a61046a565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61034461046a565b61034d5f610496565b565b60015460405163079cc67960e41b815233600482015267ffffffffffffffff831660248201526001600160a01b039091169081906379cc6790906044015f604051808303815f87803b1580156103a3575f80fd5b505af11580156103b5573d5f803e3d5ffd5b50505050336001600160a01b03167f067a4007ee9d9a9d3a4dd449cd103250958b8239602628b660c3ae5f59d5763b84846040516103f49291906108f3565b60405180910390a2505050565b61040961046a565b6001600160a01b03811661043257604051631e4fbdf760e01b81525f60048201526024016101af565b61043b81610496565b50565b5f805f8061044e888888886104e5565b92509250925061045e82826105ad565b50909695505050505050565b5f546001600160a01b0316331461034d5760405163118cdaa760e01b81523360048201526024016101af565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561051e57505f915060039050826105a3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561056f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661059a57505f9250600191508290506105a3565b92505f91508190505b9450945094915050565b5f8260038111156105c0576105c0610937565b036105c9575050565b60018260038111156105dd576105dd610937565b036105fb5760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561060f5761060f610937565b036106305760405163fce698f760e01b8152600481018290526024016101af565b600382600381111561064457610644610937565b03610665576040516335e2f38360e21b8152600481018290526024016101af565b5050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261068c575f80fd5b813567ffffffffffffffff808211156106a7576106a7610669565b604051601f8301601f19908116603f011681019082821181831017156106cf576106cf610669565b816040528381528660208588010111156106e7575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811461071c575f80fd5b919050565b803567ffffffffffffffff8116811461071c575f80fd5b5f805f805f805f60e0888a03121561074e575f80fd5b873567ffffffffffffffff811115610764575f80fd5b6107708a828b0161067d565b975050602088013563ffffffff81168114610789575f80fd5b955061079760408901610706565b94506107a560608901610721565b93506080880135925060a0880135915060c088013560ff811681146107c8575f80fd5b8091505092959891949750929550565b5f602082840312156107e8575f80fd5b6107f182610706565b9392505050565b5f8060408385031215610809575f80fd5b823567ffffffffffffffff81111561081f575f80fd5b61082b8582860161067d565b92505061083a60208401610721565b90509250929050565b5f5b8381101561085d578181015183820152602001610845565b50505f910152565b5f8351610876818460208801610843565b60e09390931b6001600160e01b0319169190920190815260040192915050565b5f85516108a7818460208a01610843565b60e09590951b6001600160e01b0319169190940190815260609290921b6bffffffffffffffffffffffff1916600483015260c01b6001600160c01b031916601882015260200192915050565b604081525f8351806040840152610911816060850160208801610843565b67ffffffffffffffff93909316602083015250601f91909101601f191601606001919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220c4923de22969d13ce34ddf838c564c2181dfa8f1d1625547956ac14af37a503164736f6c63430008180033","abi":"[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vBTCAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_signer\",\"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\":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\":\"string\",\"name\":\"txid\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"vout\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"receipt\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"}],\"name\":\"deposit\",\"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\":\"newSigner\",\"type\":\"address\"}],\"name\":\"setSigner\",\"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\":[],\"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\"}]"}