{"bytecode":"608060405234801561000f575f80fd5b50604051610bfc380380610bfc83398101604081905261002e916100f8565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c8161008e565b50600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610129565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100f3575f80fd5b919050565b5f8060408385031215610109575f80fd5b610112836100dd565b9150610120602084016100dd565b90509250929050565b610ac6806101365f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063715018a611610063578063715018a6146100fe5780638da5cb5b14610106578063dbb66b5614610116578063e5db1e7814610129578063f2fde38b1461013c575f80fd5b80631425d62214610094578063238ac933146100c35780632df485fe146100d65780636c19e783146100e9575b5f80fd5b6100a76100a236600461082c565b61014f565b6040516001600160a01b03909116815260200160405180910390f35b6002546100a7906001600160a01b031681565b6001546100a7906001600160a01b031681565b6100fc6100f73660046108bc565b6101d1565b005b6100fc6101fb565b5f546001600160a01b03166100a7565b6100fc6101243660046108dc565b61020e565b6100fc61013736600461093d565b6103eb565b6100fc61014a3660046108bc565b61049d565b5f808686868660405160200161016894939291906109aa565b6040516020818303038152906040528051906020012090505f6101b7827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b90505f6101c482866104da565b9998505050505050505050565b6101d9610502565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610203610502565b61020c5f61052e565b565b5f8585604051602001610222929190610a07565b60408051601f1981840301815291815281516020928301205f818152600390935291205490915060ff16156102955760405162461bcd60e51b81526020600482015260146024820152734f7264657220616c72656164792065786973747360601b60448201526064015b60405180910390fd5b5f818152600360209081526040808320805460ff19166001179055516102c3918991899188918a91016109aa565b6040516020818303038152906040528051906020012090505f610312827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b90505f61031f82866104da565b6002549091506001600160a01b038083169116146103735760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161028c565b6001546040516340c10f1960e01b81526001600160a01b03888116600483015267ffffffffffffffff8a1660248301529091169081906340c10f19906044015f604051808303815f87803b1580156103c9575f80fd5b505af11580156103db573d5f803e3d5ffd5b5050505050505050505050505050565b60015460405163079cc67960e41b815233600482015267ffffffffffffffff831660248201526001600160a01b039091169081906379cc6790906044015f604051808303815f87803b15801561043f575f80fd5b505af1158015610451573d5f803e3d5ffd5b50505050336001600160a01b03167f067a4007ee9d9a9d3a4dd449cd103250958b8239602628b660c3ae5f59d5763b8484604051610490929190610a38565b60405180910390a2505050565b6104a5610502565b6001600160a01b0381166104ce57604051631e4fbdf760e01b81525f600482015260240161028c565b6104d78161052e565b50565b5f805f806104e8868661057d565b9250925092506104f882826105c6565b5090949350505050565b5f546001600160a01b0316331461020c5760405163118cdaa760e01b815233600482015260240161028c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f805f83516041036105b4576020840151604085015160608601515f1a6105a688828585610682565b9550955095505050506105bf565b505081515f91506002905b9250925092565b5f8260038111156105d9576105d9610a7c565b036105e2575050565b60018260038111156105f6576105f6610a7c565b036106145760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561062857610628610a7c565b036106495760405163fce698f760e01b81526004810182905260240161028c565b600382600381111561065d5761065d610a7c565b0361067e576040516335e2f38360e21b81526004810182905260240161028c565b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156106bb57505f91506003905082610740565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561070c573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661073757505f925060019150829050610740565b92505f91508190505b9450945094915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261076d575f80fd5b813567ffffffffffffffff808211156107885761078861074a565b604051601f8301601f19908116603f011681019082821181831017156107b0576107b061074a565b816040528381528660208588010111156107c8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803563ffffffff811681146107fa575f80fd5b919050565b80356001600160a01b03811681146107fa575f80fd5b803567ffffffffffffffff811681146107fa575f80fd5b5f805f805f60a08688031215610840575f80fd5b853567ffffffffffffffff80821115610857575f80fd5b61086389838a0161075e565b9650610871602089016107e7565b955061087f604089016107ff565b945061088d60608901610815565b935060808801359150808211156108a2575f80fd5b506108af8882890161075e565b9150509295509295909350565b5f602082840312156108cc575f80fd5b6108d5826107ff565b9392505050565b5f805f805f60a086880312156108f0575f80fd5b853567ffffffffffffffff80821115610907575f80fd5b61091389838a0161075e565b9650610921602089016107e7565b955061092f60408901610815565b945061088d606089016107ff565b5f806040838503121561094e575f80fd5b823567ffffffffffffffff811115610964575f80fd5b6109708582860161075e565b92505061097f60208401610815565b90509250929050565b5f5b838110156109a257818101518382015260200161098a565b50505f910152565b5f85516109bb818460208a01610988565b60e09590951b6001600160e01b0319169190940190815260609290921b6bffffffffffffffffffffffff1916600483015260c01b6001600160c01b031916601882015260200192915050565b5f8351610a18818460208801610988565b60e09390931b6001600160e01b0319169190920190815260040192915050565b604081525f8351806040840152610a56816060850160208801610988565b67ffffffffffffffff93909316602083015250601f91909101601f191601606001919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220a4266b59faafd5a0dec999e8fb893f1e5db7eb8a874d7df174881c8693691d1c64736f6c63430008180033","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\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"receipt\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"sig\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":\"bytes\",\"name\":\"sig\",\"type\":\"bytes\"}],\"name\":\"getSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"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\"}]"}