0 txs
2 calls
constructor
constructor()
functions
bridge
viewfunction bridge() view returns (address)
deposits
viewfunction deposits(uint256) view returns (uint8)
GOVERNANCE
viewfunction GOVERNANCE() view returns (address)
portal
viewfunction portal() view returns (address)
SATOSHI_MULTIPLIER
viewfunction SATOSHI_MULTIPLIER() view returns (uint256)
tbtcToken
viewfunction tbtcToken() view returns (address)
tbtcVault
viewfunction tbtcVault() view returns (address)
finalizeDeposit
nonpayablefunction finalizeDeposit(uint256 depositKey, address depositOwner, uint32 depositLockPeriod)
initialize
nonpayablefunction initialize(address _bridge, address _tbtcVault, address _tbtcToken, address _portal)
initializeDeposit
nonpayablefunction initializeDeposit(tuple fundingTx, tuple reveal, address depositOwner, uint32 depositLockPeriod)
moveFees
nonpayablefunction moveFees(address destination)
events
DepositFinalized
event DepositFinalized(uint256 indexed depositKey, uint256 initialAmount, uint256 tbtcAmount)
DepositInitialized
event DepositInitialized(uint256 indexed depositKey, address indexed depositOwner, uint256 depositLockPeriod)
FeesMoved
event FeesMoved(address destination, uint256 amount)
Initialized
event Initialized(uint64 version)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotGovernance
error NotGovernance()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnexpectedDepositState
error UnexpectedDepositState(uint8 actualState, uint8 expectedState)
UnexpectedExtraData
error UnexpectedExtraData(bytes32 actualExtraData, bytes32 expectedExtraData)
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6122f480620000e06000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80636425666b11610081578063e5d3d7141161005b578063e5d3d714146101d8578063e78cea92146101f8578063f8c8765e1461021857600080fd5b80636425666b1461016e578063b02c43d01461018e578063c7ba0347146101be57600080fd5b806314627834116100b2578063146278341461012d5780632ebf6e4614610148578063622f4d821461015b57600080fd5b80630be458bd146100ce5780630f36403a146100e3575b600080fd5b6100e16100dc3660046119e6565b61022b565b005b6001546101039073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101037398d8899c3030741925be630c710a98b57f397c7a81565b6100e1610156366004611a15565b610385565b6100e1610169366004611ab9565b610569565b6031546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6101b161019c366004611afb565b60336020526000908152604090205460ff1681565b6040516101249190611b7e565b6101ca6402540be40081565b604051908152602001610124565b6032546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6000546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6100e1610226366004611b8c565b6107d8565b337398d8899c3030741925be630c710a98b57f397c7a14610278576040517fb56f932c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6032546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156102e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030b9190611bdd565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529192507f79f900b133bd25ca180b782255490a490d47c283c7db6f2d79ca48485e0c35eb910160405180910390a16032546103819073ffffffffffffffffffffffffffffffffffffffff168383610b12565b5050565b73ffffffffffffffffffffffffffffffffffffffff8216610407576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4465706f736974206f776e6572206d757374206e6f742062652030783000000060448201526064015b60405180910390fd5b60006104638585858560405160200161044892919073ffffffffffffffffffffffffffffffffffffffff92909216825263ffffffff16602082015260400190565b60405160208183030381529060405280519060200120610b98565b5090506000808281526033602052604090205460ff16600281111561048a5761048a611b14565b146104d7576000818152603360205260408082205490517f4860cade0000000000000000000000000000000000000000000000000000000081526103fe9260ff9092169190600401611bf6565b60008181526033602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055905163ffffffff8416815273ffffffffffffffffffffffffffffffffffffffff85169183917ff2679c50034eec72b2ed13f554775d8f79cbb23f1d0442ca5da2d28f47b291ed910160405180910390a35050505050565b600160008481526033602052604090205460ff16600281111561058e5761058e611b14565b146105dc57600083815260336020526040908190205490517f4860cade0000000000000000000000000000000000000000000000000000000081526103fe9160ff1690600190600401611bf6565b600083815260336020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055808061061e86610daa565b9250925092506000858560405160200161066092919073ffffffffffffffffffffffffffffffffffffffff92909216825263ffffffff16602082015260400190565b6040516020818303038152906040528051906020012090508181146106bb576040517fd961e24c00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016103fe565b6031546032546106e59173ffffffffffffffffffffffffffffffffffffffff918216911685611044565b6031546032546040517fdfb6c2d200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015291821660248201526bffffffffffffffffffffffff8616604482015263ffffffff8816606482015291169063dfb6c2d290608401600060405180830381600087803b15801561077c57600080fd5b505af1158015610790573d6000803e3d6000fd5b505060408051878152602081018790528a93507f270245f29b0d103ec754b6f21b274417b4eb2513d463bd068eaeacaaf6fa985d92500160405180910390a250505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156108235750825b905060008267ffffffffffffffff1660011480156108405750303b155b90508115801561084e575080155b15610885576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156108e65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6108f089896110fa565b73ffffffffffffffffffffffffffffffffffffffff8716610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f7442544320746f6b656e20616464726573732063616e6e6f74206265207a657260448201527f6f0000000000000000000000000000000000000000000000000000000000000060648201526084016103fe565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff898116919091179091558616610a66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f506f7274616c20636f6e747261637420616464726573732063616e6e6f74206260448201527f65207a65726f000000000000000000000000000000000000000000000000000060648201526084016103fe565b603180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790558315610b075784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff838116602483015260448201839052610b9391859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061130f565b505050565b600154600090819073ffffffffffffffffffffffffffffffffffffffff16610bc660c0860160a087016119e6565b73ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5661756c742061646472657373206d69736d617463680000000000000000000060448201526064016103fe565b610c61610c4f866113a5565b610c5c6020870187611c11565b611410565b6000546040517f86f0143900000000000000000000000000000000000000000000000000000000815291935073ffffffffffffffffffffffffffffffffffffffff16906386f0143990610cbc90889088908890600401611d42565b600060405180830381600087803b158015610cd657600080fd5b505af1158015610cea573d6000803e3d6000fd5b50506000546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018690526402540be400935073ffffffffffffffffffffffffffffffffffffffff909116915063b02c43d09060240160e060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611f56565b6020015167ffffffffffffffff16610da09190612058565b9050935093915050565b600080546040517fb02c43d00000000000000000000000000000000000000000000000000000000081526004810184905282918291829173ffffffffffffffffffffffffffffffffffffffff169063b02c43d09060240160e060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e429190611f56565b9050806040015163ffffffff16600003610eb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064016103fe565b6001546040517f6c626aa40000000000000000000000000000000000000000000000000000000081526004810187905260009173ffffffffffffffffffffffffffffffffffffffff1690636c626aa49060240160408051808303816000875af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d919061206f565b9150508160a0015163ffffffff166000141580610f73575067ffffffffffffffff811615155b610fff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f646765000000000000000000000000000000000000000000000000000000000060648201526084016103fe565b6402540be400826020015167ffffffffffffffff1661101e9190612058565b945061103282602001518360800151611490565b93508160c00151925050509193909250565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83811660248301526000919085169063dd62ed3e90604401602060405180830381865afa1580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190611bdd565b90506110f484846110ef85856120a2565b611647565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff16158015611136575060015473ffffffffffffffffffffffffffffffffffffffff16155b6111c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a6564000000000000000000000000000000000000000000000060648201526084016103fe565b73ffffffffffffffffffffffffffffffffffffffff821661123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f00000060448201526064016103fe565b73ffffffffffffffffffffffffffffffffffffffff81166112bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f60448201526064016103fe565b6000805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b600061133173ffffffffffffffffffffffffffffffffffffffff84168361171f565b9050805160001415801561135657508080602001905181019061135491906120b5565b155b15610b93576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016103fe565b600061140a6113b760208401846120d7565b6113c460208501856120f2565b6113d160408701876120f2565b6113e16080890160608a016120d7565b6040516020016113f696959493929190612157565b604051602081830303815290604052611734565b92915050565b6000828260405160200161145392919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209392505050565b6000806402540be4006114a384866121b1565b67ffffffffffffffff166114b79190612058565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c91906121d9565b63ffffffff169050600080821161156457600061156e565b61156e82846121f6565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa1580156115de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116029190612231565b509250505060006402540be4008267ffffffffffffffff166116249190612058565b905080611631848761227c565b61163b919061227c565b98975050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526116d3848261175b565b6110f45760405173ffffffffffffffffffffffffffffffffffffffff84811660248301526000604483015261171591869182169063095ea7b390606401610b4c565b6110f4848261130f565b606061172d8383600061181d565b9392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1684604051611785919061228f565b6000604051808303816000865af19150503d80600081146117c2576040519150601f19603f3d011682016040523d82523d6000602084013e6117c7565b606091505b50915091508180156117f15750805115806117f15750808060200190518101906117f191906120b5565b8015611814575060008573ffffffffffffffffffffffffffffffffffffffff163b115b95945050505050565b60608147101561185b576040517fcd7860590000000000000000000000000000000000000000000000000000000081523060048201526024016103fe565b6000808573ffffffffffffffffffffffffffffffffffffffff168486604051611884919061228f565b60006040518083038185875af1925050503d80600081146118c1576040519150601f19603f3d011682016040523d82523d6000602084013e6118c6565b606091505b50915091506118d68683836118e0565b9695505050505050565b6060826118f5576118f08261196f565b61172d565b8151158015611919575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611968576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016103fe565b508061172d565b80511561197f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b73ffffffffffffffffffffffffffffffffffffffff811681146119b157600080fd5b80356119e1816119b4565b919050565b6000602082840312156119f857600080fd5b813561172d816119b4565b63ffffffff811681146119b157600080fd5b600080600080848603610120811215611a2d57600080fd5b853567ffffffffffffffff811115611a4457600080fd5b860160808189031215611a5657600080fd5b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082011215611a8857600080fd5b5060208501925060e0850135611a9d816119b4565b9150610100850135611aae81611a03565b939692955090935050565b600080600060608486031215611ace57600080fd5b833592506020840135611ae0816119b4565b91506040840135611af081611a03565b809150509250925092565b600060208284031215611b0d57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110611b7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6020810161140a8284611b43565b60008060008060808587031215611ba257600080fd5b8435611bad816119b4565b93506020850135611bbd816119b4565b92506040850135611bcd816119b4565b91506060850135611aae816119b4565b600060208284031215611bef57600080fd5b5051919050565b60408101611c048285611b43565b61172d6020830184611b43565b600060208284031215611c2357600080fd5b813561172d81611a03565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146119e157600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611c9357600080fd5b830160208101925035905067ffffffffffffffff811115611cb357600080fd5b803603821315611cc257600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811681146119e157600080fd5b60006101008083527fffffffff0000000000000000000000000000000000000000000000000000000080611d7588611c2e565b1682850152611d876020880188611c5e565b92506080610120860152611da061018086018483611cc9565b925050611db06040880188611c5e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086850301610140870152611de6848284611cc9565b9350505080611df760608901611c2e565b166101608501525090508335611e0c81611a03565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214611e4d57600080fd5b80604085015250507fffffffffffffffffffffffffffffffffffffffff000000000000000000000000611e8260408601611d12565b166060830152611e9460608501611d12565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008116608084015250611ec960808501611c2e565b7fffffffff00000000000000000000000000000000000000000000000000000000811660a084015250611efe60a085016119d6565b73ffffffffffffffffffffffffffffffffffffffff1660c083015260e09091019190915292915050565b80516119e1816119b4565b805167ffffffffffffffff811681146119e157600080fd5b80516119e181611a03565b600060e08284031215611f6857600080fd5b60405160e0810181811067ffffffffffffffff82111715611fb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052611fbe83611f28565b8152611fcc60208401611f33565b6020820152611fdd60408401611f4b565b6040820152611fee60608401611f28565b6060820152611fff60808401611f33565b608082015261201060a08401611f4b565b60a082015260c083015160c08201528091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761140a5761140a612029565b6000806040838503121561208257600080fd5b61208b83611f33565b915061209960208401611f33565b90509250929050565b8082018082111561140a5761140a612029565b6000602082840312156120c757600080fd5b8151801515811461172d57600080fd5b6000602082840312156120e957600080fd5b61172d82611c2e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261212757600080fd5b83018035915067ffffffffffffffff82111561214257600080fd5b602001915036819003821315611cc257600080fd5b60007fffffffff000000000000000000000000000000000000000000000000000000008089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b67ffffffffffffffff8281168282160390808211156121d2576121d2612029565b5092915050565b6000602082840312156121eb57600080fd5b815161172d81611a03565b60008261222c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000806000806080858703121561224757600080fd5b61225085611f33565b935061225e60208601611f33565b925061226c60408601611f33565b91506060850151611aae81611a03565b8181038181111561140a5761140a612029565b6000825160005b818110156122b05760208186018101518583015201612296565b50600092019182525091905056fea2646970667358221220bc264aa08ac4dca640822f54daaa95c00f1e1f3c053da43fd54180195548ec3664736f6c63430008180033