@keep-network/tbtc-v2 0.1.1-dev.38 → 0.1.1-dev.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/TBTC.json +3 -3
- package/artifacts/TBTCToken.json +3 -3
- package/artifacts/VendingMachine.json +3 -3
- package/artifacts/solcInputs/{fbc4b7a5a9816c01bbe8daca114c1439.json → f1a50b67569d88ee54efa3e22c6b484e.json} +5 -5
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +3 -89
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +64 -48
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
- package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
- package/build/contracts/bridge/Frauds.sol/Frauds.dbg.json +1 -1
- package/build/contracts/bridge/Frauds.sol/Frauds.json +2 -2
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +4 -20
- package/build/contracts/bridge/Redeem.sol/OutboundTx.dbg.json +1 -1
- package/build/contracts/bridge/Redeem.sol/OutboundTx.json +2 -2
- package/build/contracts/bridge/Redeem.sol/Redeem.dbg.json +1 -1
- package/build/contracts/bridge/Redeem.sol/Redeem.json +2 -18
- package/build/contracts/bridge/Sweep.sol/Sweep.dbg.json +1 -1
- package/build/contracts/bridge/Sweep.sol/Sweep.json +4 -22
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/contracts/bridge/BitcoinTx.sol +3 -3
- package/contracts/bridge/Bridge.sol +19 -17
- package/contracts/bridge/BridgeState.sol +1 -1
- package/contracts/bridge/Deposit.sol +4 -4
- package/contracts/bridge/Sweep.sol +1 -1
- package/package.json +1 -1
|
@@ -131,8 +131,8 @@
|
|
|
131
131
|
"type": "event"
|
|
132
132
|
}
|
|
133
133
|
],
|
|
134
|
-
"bytecode": "0x61190761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c806365951fcf1161008b578063b4e671f411610065578063b4e671f4146101da578063ea2a3dcc146101fa578063f832341d1461021a57600080fd5b806365951fcf1461017a5780639655f02b1461019a578063998b564c146101ba57600080fd5b806335e741c9116100bc57806335e741c91461011a57806345d9969c1461013a5780634fd7d4861461015a57600080fd5b8063041aee99146100d85780631803c09e146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f336600461160b565b61023a565b005b81801561010657600080fd5b506100f8610115366004611637565b6102ab565b81801561012657600080fd5b506100f861013536600461167b565b6103d3565b81801561014657600080fd5b506100f861015536600461160b565b610589565b81801561016657600080fd5b506100f86101753660046116b0565b6105e9565b81801561018657600080fd5b506100f86101953660046116e2565b6107bb565b8180156101a657600080fd5b506100f86101b536600461171d565b6108b0565b8180156101c657600080fd5b506100f86101d5366004611772565b610abe565b8180156101e657600080fd5b506100f86101f53660046117a5565b610c55565b81801561020657600080fd5b506100f86102153660046116e2565b610f4a565b81801561022657600080fd5b506100f86102353660046117c9565b611020565b81547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff83169081029190911783556040519081527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b62906020015b60405180910390a15050565b82546001600160a01b031633146103195760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b60648201526084015b60405180910390fd5b600061032d610328848461114f565b6111f9565b905060016001600160601b031982166000908152600286810160205260409091200154600160801b900460ff16600481111561036b5761036b611805565b146103c35760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b6103cd8482611220565b50505050565b6001600160601b03198216600090815260028085016020526040909120906002820154600160801b900460ff16600481111561041157610411611805565b146104845760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e67467560448201527f6e647320737461746500000000000000000000000000000000000000000000006064820152608401610310565b6003810154806104fc5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d6974746564207965740000000000000000000000000000000000000000006064820152608401610310565b8281146105715760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e740000000000000000000000000000006064820152608401610310565b600060018301556105828585611315565b5050505050565b6001820180546bffffffff000000000000000019166801000000000000000063ffffffff8416908102919091179091556040519081527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200161029f565b83546001600160a01b031633146106525760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b6064820152608401610310565b6000610661610328848461114f565b6001600160601b03198116600090815260028701602052604081209192506002820154600160801b900460ff16600481111561069f5761069f611805565b146107125760405162461bcd60e51b815260206004820152602860248201527f45434453412077616c6c657420686173206265656e20616c726561647920726560448201527f67697374657265640000000000000000000000000000000000000000000000006064820152608401610310565b848155600281018054600160801b7fffffffffffffffffffffffffffffff00ffffffff00000000ffffffffffffffff909116680100000000000000004263ffffffff1602171790556001860180546bffffffffffffffffffffffff16600160601b606085901c021790556040516001600160601b031983169086907f2dbb47dce81d6b11cca1f1e3b10143d6f7e1e7e92d2dd9aacbb1f875379d308e90600090a3505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff1660018160048111156107f8576107f8611805565b14806108155750600281600481111561081357610813611805565b145b6108875760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b600181600481111561089b5761089b611805565b14156108ab576108ab8383611220565b505050565b60018301546001600160601b0319838116600160601b90920460601b1614156109415760405162461bcd60e51b815260206004820152602c60248201527f4163746976652077616c6c65742063616e6e6f7420626520636f6e736964657260448201527f656420636c6f736561626c6500000000000000000000000000000000000000006064820152608401610310565b6001600160601b031982166000908152600284016020526040902060016002820154600160801b900460ff16600481111561097e5761097e611805565b146109d65760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b60018401546002820154600091610a069163ffffffff68010000000000000000928390048116929091041661181b565b63ffffffff1642101590508080610a4257508454600160c01b900467ffffffffffffffff16610a368686866113da565b67ffffffffffffffff16105b610ab45760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206e6565647320746f206265206f6c6420656e6f756768206f7260448201527f206861766520746f6f20666577207361746f73686973000000000000000000006064820152608401610310565b6105828585611220565b60008267ffffffffffffffff1611610b3e5760405162461bcd60e51b815260206004820152602160248201527f4d696e696d756d206d7573742062652067726561746572207468616e207a657260448201527f6f000000000000000000000000000000000000000000000000000000000000006064820152608401610310565b8167ffffffffffffffff168167ffffffffffffffff1611610bc75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d206d7573742062652067726561746572207468616e2074686560448201527f206d696e696d756d0000000000000000000000000000000000000000000000006064820152608401610310565b825477ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b67ffffffffffffffff84811691820292909217855560018501805467ffffffffffffffff191692841692831790556040805191825260208201929092527f93f75d2a1ad31d60f2381eb935c4b4d8743c9607d7bfaeabeffc62fbf4e21182910160405180910390a1505050565b8154604080517fcc56238800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163cc562388916004808301926020929190829003018186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611851565b6003811115610cfb57610cfb611805565b14610d6e5760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206372656174696f6e20616c726561647920696e2070726f677260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610310565b6001820154600160601b900460601b6001600160601b0319811615610ea6576000610d9a8483856113da565b6001600160601b0319831660009081526002808701602052604082200154865492935063ffffffff68010000000000000000909104811692610de591600160a01b909104168361181b565b63ffffffff164210159050808015610e135750855467ffffffffffffffff600160c01b909104811690841610155b80610e305750600186015467ffffffffffffffff90811690841610155b610ea25760405162461bcd60e51b815260206004820152602660248201527f57616c6c6574206372656174696f6e20636f6e646974696f6e7320617265206e60448201527f6f74206d657400000000000000000000000000000000000000000000000000006064820152608401610310565b5050505b6040517f31fecb80caf1e1128496dd5a6f1083ba29fd5fe64c3fe04e2d1b6f9cfc27d5a390600090a18254604080517f72cc8c6d00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916372cc8c6d9160048082019260009290919082900301818387803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b50505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff166001816004811115610f8757610f87611805565b1480610fa457506002816004811115610fa257610fa2611805565b145b6110165760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b6108ab838361150d565b6001600160a01b03811661109c5760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401610310565b81546001600160a01b03161561111a5760405162461bcd60e51b815260206004820152602960248201527f45434453412057616c6c6574205265676973747279206164647265737320616c60448201527f72656164792073657400000000000000000000000000000000000000000000006064820152608401610310565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391909116179055565b6060600061115e600284611879565b61118957507f02000000000000000000000000000000000000000000000000000000000000006111ac565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6001600160601b031981166000908152600283016020526040902060018101546112535761124e8383611315565b6112d9565b60028101805463ffffffff4216600160601b027fffffffffffffffffffffffffffffff0000000000ffffffffffffffffffffffff9091161770020000000000000000000000000000000017905580546040516001600160601b0319841691907fbdc9ce990a067e5fd3a5d8dfc68e27e9f221aaa3fe55265e0b7e93c460b3efe290600090a35b60018301546001600160601b0319838116600160601b90920460601b1614156108ab57505060010180546bffffffffffffffffffffffff169055565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167003000000000000000000000000000000001790558154905191939290917f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d9190a38254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b600060405180830381600087803b158015610f2d57600080fd5b6001600160601b031982166000908152600284016020526040812060010154801561150557808335611412604086016020870161189b565b61142260608701604088016118b6565b60405160200161148f9392919092835260e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146114f25760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f20646174610000006044820152606401610310565b61150260608401604085016118b6565b91505b509392505050565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167004000000000000000000000000000000001790558154905191939290917f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef9190a360018301546001600160601b0319838116600160601b90920460601b1614156115bf576001830180546bffffffffffffffffffffffff1690555b8254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b803563ffffffff8116811461160657600080fd5b919050565b6000806040838503121561161e57600080fd5b8235915061162e602084016115f2565b90509250929050565b60008060006060848603121561164c57600080fd5b505081359360208301359350604090920135919050565b80356001600160601b03198116811461160657600080fd5b60008060006060848603121561169057600080fd5b833592506116a060208501611663565b9150604084013590509250925092565b600080600080608085870312156116c657600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116f557600080fd5b8235915061162e60208401611663565b60006060828403121561171757600080fd5b50919050565b600080600060a0848603121561173257600080fd5b8335925061174260208501611663565b91506117518560408601611705565b90509250925092565b803567ffffffffffffffff8116811461160657600080fd5b60008060006060848603121561178757600080fd5b833592506117976020850161175a565b91506117516040850161175a565b600080608083850312156117b857600080fd5b8235915061162e8460208501611705565b600080604083850312156117dc57600080fd5b8235915060208301356001600160a01b03811681146117fa57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561184857634e487b7160e01b600052601160045260246000fd5b01949350505050565b60006020828403121561186357600080fd5b81516004811061187257600080fd5b9392505050565b60008261189657634e487b7160e01b600052601260045260246000fd5b500690565b6000602082840312156118ad57600080fd5b611872826115f2565b6000602082840312156118c857600080fd5b6118728261175a56fea26469706673582212205edf9dcf198903e002a78fae4669eac67d3b43023aff105568932b9280db70ec64736f6c63430008090033",
|
|
135
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c806365951fcf1161008b578063b4e671f411610065578063b4e671f4146101da578063ea2a3dcc146101fa578063f832341d1461021a57600080fd5b806365951fcf1461017a5780639655f02b1461019a578063998b564c146101ba57600080fd5b806335e741c9116100bc57806335e741c91461011a57806345d9969c1461013a5780634fd7d4861461015a57600080fd5b8063041aee99146100d85780631803c09e146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f336600461160b565b61023a565b005b81801561010657600080fd5b506100f8610115366004611637565b6102ab565b81801561012657600080fd5b506100f861013536600461167b565b6103d3565b81801561014657600080fd5b506100f861015536600461160b565b610589565b81801561016657600080fd5b506100f86101753660046116b0565b6105e9565b81801561018657600080fd5b506100f86101953660046116e2565b6107bb565b8180156101a657600080fd5b506100f86101b536600461171d565b6108b0565b8180156101c657600080fd5b506100f86101d5366004611772565b610abe565b8180156101e657600080fd5b506100f86101f53660046117a5565b610c55565b81801561020657600080fd5b506100f86102153660046116e2565b610f4a565b81801561022657600080fd5b506100f86102353660046117c9565b611020565b81547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff83169081029190911783556040519081527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b62906020015b60405180910390a15050565b82546001600160a01b031633146103195760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b60648201526084015b60405180910390fd5b600061032d610328848461114f565b6111f9565b905060016001600160601b031982166000908152600286810160205260409091200154600160801b900460ff16600481111561036b5761036b611805565b146103c35760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b6103cd8482611220565b50505050565b6001600160601b03198216600090815260028085016020526040909120906002820154600160801b900460ff16600481111561041157610411611805565b146104845760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e67467560448201527f6e647320737461746500000000000000000000000000000000000000000000006064820152608401610310565b6003810154806104fc5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d6974746564207965740000000000000000000000000000000000000000006064820152608401610310565b8281146105715760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e740000000000000000000000000000006064820152608401610310565b600060018301556105828585611315565b5050505050565b6001820180546bffffffff000000000000000019166801000000000000000063ffffffff8416908102919091179091556040519081527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200161029f565b83546001600160a01b031633146106525760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b6064820152608401610310565b6000610661610328848461114f565b6001600160601b03198116600090815260028701602052604081209192506002820154600160801b900460ff16600481111561069f5761069f611805565b146107125760405162461bcd60e51b815260206004820152602860248201527f45434453412077616c6c657420686173206265656e20616c726561647920726560448201527f67697374657265640000000000000000000000000000000000000000000000006064820152608401610310565b848155600281018054600160801b7fffffffffffffffffffffffffffffff00ffffffff00000000ffffffffffffffff909116680100000000000000004263ffffffff1602171790556001860180546bffffffffffffffffffffffff16600160601b606085901c021790556040516001600160601b031983169086907f2dbb47dce81d6b11cca1f1e3b10143d6f7e1e7e92d2dd9aacbb1f875379d308e90600090a3505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff1660018160048111156107f8576107f8611805565b14806108155750600281600481111561081357610813611805565b145b6108875760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b600181600481111561089b5761089b611805565b14156108ab576108ab8383611220565b505050565b60018301546001600160601b0319838116600160601b90920460601b1614156109415760405162461bcd60e51b815260206004820152602c60248201527f4163746976652077616c6c65742063616e6e6f7420626520636f6e736964657260448201527f656420636c6f736561626c6500000000000000000000000000000000000000006064820152608401610310565b6001600160601b031982166000908152600284016020526040902060016002820154600160801b900460ff16600481111561097e5761097e611805565b146109d65760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b60018401546002820154600091610a069163ffffffff68010000000000000000928390048116929091041661181b565b63ffffffff1642101590508080610a4257508454600160c01b900467ffffffffffffffff16610a368686866113da565b67ffffffffffffffff16105b610ab45760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206e6565647320746f206265206f6c6420656e6f756768206f7260448201527f206861766520746f6f20666577207361746f73686973000000000000000000006064820152608401610310565b6105828585611220565b60008267ffffffffffffffff1611610b3e5760405162461bcd60e51b815260206004820152602160248201527f4d696e696d756d206d7573742062652067726561746572207468616e207a657260448201527f6f000000000000000000000000000000000000000000000000000000000000006064820152608401610310565b8167ffffffffffffffff168167ffffffffffffffff1611610bc75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d206d7573742062652067726561746572207468616e2074686560448201527f206d696e696d756d0000000000000000000000000000000000000000000000006064820152608401610310565b825477ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b67ffffffffffffffff84811691820292909217855560018501805467ffffffffffffffff191692841692831790556040805191825260208201929092527f93f75d2a1ad31d60f2381eb935c4b4d8743c9607d7bfaeabeffc62fbf4e21182910160405180910390a1505050565b8154604080517fcc56238800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163cc562388916004808301926020929190829003018186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611851565b6003811115610cfb57610cfb611805565b14610d6e5760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206372656174696f6e20616c726561647920696e2070726f677260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610310565b6001820154600160601b900460601b6001600160601b0319811615610ea6576000610d9a8483856113da565b6001600160601b0319831660009081526002808701602052604082200154865492935063ffffffff68010000000000000000909104811692610de591600160a01b909104168361181b565b63ffffffff164210159050808015610e135750855467ffffffffffffffff600160c01b909104811690841610155b80610e305750600186015467ffffffffffffffff90811690841610155b610ea25760405162461bcd60e51b815260206004820152602660248201527f57616c6c6574206372656174696f6e20636f6e646974696f6e7320617265206e60448201527f6f74206d657400000000000000000000000000000000000000000000000000006064820152608401610310565b5050505b6040517f31fecb80caf1e1128496dd5a6f1083ba29fd5fe64c3fe04e2d1b6f9cfc27d5a390600090a18254604080517f72cc8c6d00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916372cc8c6d9160048082019260009290919082900301818387803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b50505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff166001816004811115610f8757610f87611805565b1480610fa457506002816004811115610fa257610fa2611805565b145b6110165760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b6108ab838361150d565b6001600160a01b03811661109c5760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401610310565b81546001600160a01b03161561111a5760405162461bcd60e51b815260206004820152602960248201527f45434453412057616c6c6574205265676973747279206164647265737320616c60448201527f72656164792073657400000000000000000000000000000000000000000000006064820152608401610310565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391909116179055565b6060600061115e600284611879565b61118957507f02000000000000000000000000000000000000000000000000000000000000006111ac565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6001600160601b031981166000908152600283016020526040902060018101546112535761124e8383611315565b6112d9565b60028101805463ffffffff4216600160601b027fffffffffffffffffffffffffffffff0000000000ffffffffffffffffffffffff9091161770020000000000000000000000000000000017905580546040516001600160601b0319841691907fbdc9ce990a067e5fd3a5d8dfc68e27e9f221aaa3fe55265e0b7e93c460b3efe290600090a35b60018301546001600160601b0319838116600160601b90920460601b1614156108ab57505060010180546bffffffffffffffffffffffff169055565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167003000000000000000000000000000000001790558154905191939290917f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d9190a38254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b600060405180830381600087803b158015610f2d57600080fd5b6001600160601b031982166000908152600284016020526040812060010154801561150557808335611412604086016020870161189b565b61142260608701604088016118b6565b60405160200161148f9392919092835260e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146114f25760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f20646174610000006044820152606401610310565b61150260608401604085016118b6565b91505b509392505050565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167004000000000000000000000000000000001790558154905191939290917f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef9190a360018301546001600160601b0319838116600160601b90920460601b1614156115bf576001830180546bffffffffffffffffffffffff1690555b8254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b803563ffffffff8116811461160657600080fd5b919050565b6000806040838503121561161e57600080fd5b8235915061162e602084016115f2565b90509250929050565b60008060006060848603121561164c57600080fd5b505081359360208301359350604090920135919050565b80356001600160601b03198116811461160657600080fd5b60008060006060848603121561169057600080fd5b833592506116a060208501611663565b9150604084013590509250925092565b600080600080608085870312156116c657600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116f557600080fd5b8235915061162e60208401611663565b60006060828403121561171757600080fd5b50919050565b600080600060a0848603121561173257600080fd5b8335925061174260208501611663565b91506117518560408601611705565b90509250925092565b803567ffffffffffffffff8116811461160657600080fd5b60008060006060848603121561178757600080fd5b833592506117976020850161175a565b91506117516040850161175a565b600080608083850312156117b857600080fd5b8235915061162e8460208501611705565b600080604083850312156117dc57600080fd5b8235915060208301356001600160a01b03811681146117fa57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561184857634e487b7160e01b600052601160045260246000fd5b01949350505050565b60006020828403121561186357600080fd5b81516004811061187257600080fd5b9392505050565b60008261189657634e487b7160e01b600052601260045260246000fd5b500690565b6000602082840312156118ad57600080fd5b611872826115f2565b6000602082840312156118c857600080fd5b6118728261175a56fea26469706673582212205edf9dcf198903e002a78fae4669eac67d3b43023aff105568932b9280db70ec64736f6c63430008090033",
|
|
134
|
+
"bytecode": "0x61190761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c806365951fcf1161008b578063b4e671f411610065578063b4e671f4146101da578063ea2a3dcc146101fa578063f832341d1461021a57600080fd5b806365951fcf1461017a5780639655f02b1461019a578063998b564c146101ba57600080fd5b806335e741c9116100bc57806335e741c91461011a57806345d9969c1461013a5780634fd7d4861461015a57600080fd5b8063041aee99146100d85780631803c09e146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f336600461160b565b61023a565b005b81801561010657600080fd5b506100f8610115366004611637565b6102ab565b81801561012657600080fd5b506100f861013536600461167b565b6103d3565b81801561014657600080fd5b506100f861015536600461160b565b610589565b81801561016657600080fd5b506100f86101753660046116b0565b6105e9565b81801561018657600080fd5b506100f86101953660046116e2565b6107bb565b8180156101a657600080fd5b506100f86101b536600461171d565b6108b0565b8180156101c657600080fd5b506100f86101d5366004611772565b610abe565b8180156101e657600080fd5b506100f86101f53660046117a5565b610c55565b81801561020657600080fd5b506100f86102153660046116e2565b610f4a565b81801561022657600080fd5b506100f86102353660046117c9565b611020565b81547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff83169081029190911783556040519081527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b62906020015b60405180910390a15050565b82546001600160a01b031633146103195760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b60648201526084015b60405180910390fd5b600061032d610328848461114f565b6111f9565b905060016001600160601b031982166000908152600286810160205260409091200154600160801b900460ff16600481111561036b5761036b611805565b146103c35760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b6103cd8482611220565b50505050565b6001600160601b03198216600090815260028085016020526040909120906002820154600160801b900460ff16600481111561041157610411611805565b146104845760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e67467560448201527f6e647320737461746500000000000000000000000000000000000000000000006064820152608401610310565b6003810154806104fc5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d6974746564207965740000000000000000000000000000000000000000006064820152608401610310565b8281146105715760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e740000000000000000000000000000006064820152608401610310565b600060018301556105828585611315565b5050505050565b6001820180546bffffffff000000000000000019166801000000000000000063ffffffff8416908102919091179091556040519081527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200161029f565b83546001600160a01b031633146106525760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b6064820152608401610310565b6000610661610328848461114f565b6001600160601b03198116600090815260028701602052604081209192506002820154600160801b900460ff16600481111561069f5761069f611805565b146107125760405162461bcd60e51b815260206004820152602860248201527f45434453412077616c6c657420686173206265656e20616c726561647920726560448201527f67697374657265640000000000000000000000000000000000000000000000006064820152608401610310565b848155600281018054600160801b7fffffffffffffffffffffffffffffff00ffffffff00000000ffffffffffffffff909116680100000000000000004263ffffffff1602171790556001860180546bffffffffffffffffffffffff16600160601b606085901c021790556040516001600160601b031983169086907f2dbb47dce81d6b11cca1f1e3b10143d6f7e1e7e92d2dd9aacbb1f875379d308e90600090a3505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff1660018160048111156107f8576107f8611805565b14806108155750600281600481111561081357610813611805565b145b6108875760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b600181600481111561089b5761089b611805565b14156108ab576108ab8383611220565b505050565b60018301546001600160601b0319838116600160601b90920460601b1614156109415760405162461bcd60e51b815260206004820152602c60248201527f4163746976652077616c6c65742063616e6e6f7420626520636f6e736964657260448201527f656420636c6f736561626c6500000000000000000000000000000000000000006064820152608401610310565b6001600160601b031982166000908152600284016020526040902060016002820154600160801b900460ff16600481111561097e5761097e611805565b146109d65760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b60018401546002820154600091610a069163ffffffff68010000000000000000928390048116929091041661181b565b63ffffffff1642101590508080610a4257508454600160c01b900467ffffffffffffffff16610a368686866113da565b67ffffffffffffffff16105b610ab45760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206e6565647320746f206265206f6c6420656e6f756768206f7260448201527f206861766520746f6f20666577207361746f73686973000000000000000000006064820152608401610310565b6105828585611220565b60008267ffffffffffffffff1611610b3e5760405162461bcd60e51b815260206004820152602160248201527f4d696e696d756d206d7573742062652067726561746572207468616e207a657260448201527f6f000000000000000000000000000000000000000000000000000000000000006064820152608401610310565b8167ffffffffffffffff168167ffffffffffffffff1611610bc75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d206d7573742062652067726561746572207468616e2074686560448201527f206d696e696d756d0000000000000000000000000000000000000000000000006064820152608401610310565b825477ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b67ffffffffffffffff84811691820292909217855560018501805467ffffffffffffffff191692841692831790556040805191825260208201929092527f93f75d2a1ad31d60f2381eb935c4b4d8743c9607d7bfaeabeffc62fbf4e21182910160405180910390a1505050565b8154604080517fcc56238800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163cc562388916004808301926020929190829003018186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611851565b6003811115610cfb57610cfb611805565b14610d6e5760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206372656174696f6e20616c726561647920696e2070726f677260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610310565b6001820154600160601b900460601b6001600160601b0319811615610ea6576000610d9a8483856113da565b6001600160601b0319831660009081526002808701602052604082200154865492935063ffffffff68010000000000000000909104811692610de591600160a01b909104168361181b565b63ffffffff164210159050808015610e135750855467ffffffffffffffff600160c01b909104811690841610155b80610e305750600186015467ffffffffffffffff90811690841610155b610ea25760405162461bcd60e51b815260206004820152602660248201527f57616c6c6574206372656174696f6e20636f6e646974696f6e7320617265206e60448201527f6f74206d657400000000000000000000000000000000000000000000000000006064820152608401610310565b5050505b6040517f31fecb80caf1e1128496dd5a6f1083ba29fd5fe64c3fe04e2d1b6f9cfc27d5a390600090a18254604080517f72cc8c6d00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916372cc8c6d9160048082019260009290919082900301818387803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b50505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff166001816004811115610f8757610f87611805565b1480610fa457506002816004811115610fa257610fa2611805565b145b6110165760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b6108ab838361150d565b6001600160a01b03811661109c5760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401610310565b81546001600160a01b03161561111a5760405162461bcd60e51b815260206004820152602960248201527f45434453412057616c6c6574205265676973747279206164647265737320616c60448201527f72656164792073657400000000000000000000000000000000000000000000006064820152608401610310565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391909116179055565b6060600061115e600284611879565b61118957507f02000000000000000000000000000000000000000000000000000000000000006111ac565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6001600160601b031981166000908152600283016020526040902060018101546112535761124e8383611315565b6112d9565b60028101805463ffffffff4216600160601b027fffffffffffffffffffffffffffffff0000000000ffffffffffffffffffffffff9091161770020000000000000000000000000000000017905580546040516001600160601b0319841691907fbdc9ce990a067e5fd3a5d8dfc68e27e9f221aaa3fe55265e0b7e93c460b3efe290600090a35b60018301546001600160601b0319838116600160601b90920460601b1614156108ab57505060010180546bffffffffffffffffffffffff169055565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167003000000000000000000000000000000001790558154905191939290917f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d9190a38254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b600060405180830381600087803b158015610f2d57600080fd5b6001600160601b031982166000908152600284016020526040812060010154801561150557808335611412604086016020870161189b565b61142260608701604088016118b6565b60405160200161148f9392919092835260e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146114f25760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f20646174610000006044820152606401610310565b61150260608401604085016118b6565b91505b509392505050565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167004000000000000000000000000000000001790558154905191939290917f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef9190a360018301546001600160601b0319838116600160601b90920460601b1614156115bf576001830180546bffffffffffffffffffffffff1690555b8254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b803563ffffffff8116811461160657600080fd5b919050565b6000806040838503121561161e57600080fd5b8235915061162e602084016115f2565b90509250929050565b60008060006060848603121561164c57600080fd5b505081359360208301359350604090920135919050565b80356001600160601b03198116811461160657600080fd5b60008060006060848603121561169057600080fd5b833592506116a060208501611663565b9150604084013590509250925092565b600080600080608085870312156116c657600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116f557600080fd5b8235915061162e60208401611663565b60006060828403121561171757600080fd5b50919050565b600080600060a0848603121561173257600080fd5b8335925061174260208501611663565b91506117518560408601611705565b90509250925092565b803567ffffffffffffffff8116811461160657600080fd5b60008060006060848603121561178757600080fd5b833592506117976020850161175a565b91506117516040850161175a565b600080608083850312156117b857600080fd5b8235915061162e8460208501611705565b600080604083850312156117dc57600080fd5b8235915060208301356001600160a01b03811681146117fa57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561184857634e487b7160e01b600052601160045260246000fd5b01949350505050565b60006020828403121561186357600080fd5b81516004811061187257600080fd5b9392505050565b60008261189657634e487b7160e01b600052601260045260246000fd5b500690565b6000602082840312156118ad57600080fd5b611872826115f2565b6000602082840312156118c857600080fd5b6118728261175a56fea26469706673582212207e53aad72fb4c3298c73e60f03e3909617a4d5db8da1841ba7b9dc8a3b8884af64736f6c63430008090033",
|
|
135
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c806365951fcf1161008b578063b4e671f411610065578063b4e671f4146101da578063ea2a3dcc146101fa578063f832341d1461021a57600080fd5b806365951fcf1461017a5780639655f02b1461019a578063998b564c146101ba57600080fd5b806335e741c9116100bc57806335e741c91461011a57806345d9969c1461013a5780634fd7d4861461015a57600080fd5b8063041aee99146100d85780631803c09e146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f336600461160b565b61023a565b005b81801561010657600080fd5b506100f8610115366004611637565b6102ab565b81801561012657600080fd5b506100f861013536600461167b565b6103d3565b81801561014657600080fd5b506100f861015536600461160b565b610589565b81801561016657600080fd5b506100f86101753660046116b0565b6105e9565b81801561018657600080fd5b506100f86101953660046116e2565b6107bb565b8180156101a657600080fd5b506100f86101b536600461171d565b6108b0565b8180156101c657600080fd5b506100f86101d5366004611772565b610abe565b8180156101e657600080fd5b506100f86101f53660046117a5565b610c55565b81801561020657600080fd5b506100f86102153660046116e2565b610f4a565b81801561022657600080fd5b506100f86102353660046117c9565b611020565b81547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff83169081029190911783556040519081527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b62906020015b60405180910390a15050565b82546001600160a01b031633146103195760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b60648201526084015b60405180910390fd5b600061032d610328848461114f565b6111f9565b905060016001600160601b031982166000908152600286810160205260409091200154600160801b900460ff16600481111561036b5761036b611805565b146103c35760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b6103cd8482611220565b50505050565b6001600160601b03198216600090815260028085016020526040909120906002820154600160801b900460ff16600481111561041157610411611805565b146104845760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e67467560448201527f6e647320737461746500000000000000000000000000000000000000000000006064820152608401610310565b6003810154806104fc5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d6974746564207965740000000000000000000000000000000000000000006064820152608401610310565b8281146105715760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e740000000000000000000000000000006064820152608401610310565b600060018301556105828585611315565b5050505050565b6001820180546bffffffff000000000000000019166801000000000000000063ffffffff8416908102919091179091556040519081527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200161029f565b83546001600160a01b031633146106525760405162461bcd60e51b815260206004820152602760248201527f43616c6c6572206973206e6f74207468652045434453412057616c6c657420526044820152666567697374727960c81b6064820152608401610310565b6000610661610328848461114f565b6001600160601b03198116600090815260028701602052604081209192506002820154600160801b900460ff16600481111561069f5761069f611805565b146107125760405162461bcd60e51b815260206004820152602860248201527f45434453412077616c6c657420686173206265656e20616c726561647920726560448201527f67697374657265640000000000000000000000000000000000000000000000006064820152608401610310565b848155600281018054600160801b7fffffffffffffffffffffffffffffff00ffffffff00000000ffffffffffffffff909116680100000000000000004263ffffffff1602171790556001860180546bffffffffffffffffffffffff16600160601b606085901c021790556040516001600160601b031983169086907f2dbb47dce81d6b11cca1f1e3b10143d6f7e1e7e92d2dd9aacbb1f875379d308e90600090a3505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff1660018160048111156107f8576107f8611805565b14806108155750600281600481111561081357610813611805565b145b6108875760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b600181600481111561089b5761089b611805565b14156108ab576108ab8383611220565b505050565b60018301546001600160601b0319838116600160601b90920460601b1614156109415760405162461bcd60e51b815260206004820152602c60248201527f4163746976652077616c6c65742063616e6e6f7420626520636f6e736964657260448201527f656420636c6f736561626c6500000000000000000000000000000000000000006064820152608401610310565b6001600160601b031982166000908152600284016020526040902060016002820154600160801b900460ff16600481111561097e5761097e611805565b146109d65760405162461bcd60e51b815260206004820152602260248201527f45434453412077616c6c6574206d75737420626520696e204c69766520737461604482015261746560f01b6064820152608401610310565b60018401546002820154600091610a069163ffffffff68010000000000000000928390048116929091041661181b565b63ffffffff1642101590508080610a4257508454600160c01b900467ffffffffffffffff16610a368686866113da565b67ffffffffffffffff16105b610ab45760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206e6565647320746f206265206f6c6420656e6f756768206f7260448201527f206861766520746f6f20666577207361746f73686973000000000000000000006064820152608401610310565b6105828585611220565b60008267ffffffffffffffff1611610b3e5760405162461bcd60e51b815260206004820152602160248201527f4d696e696d756d206d7573742062652067726561746572207468616e207a657260448201527f6f000000000000000000000000000000000000000000000000000000000000006064820152608401610310565b8167ffffffffffffffff168167ffffffffffffffff1611610bc75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d206d7573742062652067726561746572207468616e2074686560448201527f206d696e696d756d0000000000000000000000000000000000000000000000006064820152608401610310565b825477ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b67ffffffffffffffff84811691820292909217855560018501805467ffffffffffffffff191692841692831790556040805191825260208201929092527f93f75d2a1ad31d60f2381eb935c4b4d8743c9607d7bfaeabeffc62fbf4e21182910160405180910390a1505050565b8154604080517fcc56238800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163cc562388916004808301926020929190829003018186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611851565b6003811115610cfb57610cfb611805565b14610d6e5760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206372656174696f6e20616c726561647920696e2070726f677260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610310565b6001820154600160601b900460601b6001600160601b0319811615610ea6576000610d9a8483856113da565b6001600160601b0319831660009081526002808701602052604082200154865492935063ffffffff68010000000000000000909104811692610de591600160a01b909104168361181b565b63ffffffff164210159050808015610e135750855467ffffffffffffffff600160c01b909104811690841610155b80610e305750600186015467ffffffffffffffff90811690841610155b610ea25760405162461bcd60e51b815260206004820152602660248201527f57616c6c6574206372656174696f6e20636f6e646974696f6e7320617265206e60448201527f6f74206d657400000000000000000000000000000000000000000000000000006064820152608401610310565b5050505b6040517f31fecb80caf1e1128496dd5a6f1083ba29fd5fe64c3fe04e2d1b6f9cfc27d5a390600090a18254604080517f72cc8c6d00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916372cc8c6d9160048082019260009290919082900301818387803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b50505050505050565b6001600160601b031981166000908152600283810160205260409091200154600160801b900460ff166001816004811115610f8757610f87611805565b1480610fa457506002816004811115610fa257610fa2611805565b145b6110165760405162461bcd60e51b815260206004820152603160248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e64732073746174650000000000000000000000000000006064820152608401610310565b6108ab838361150d565b6001600160a01b03811661109c5760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401610310565b81546001600160a01b03161561111a5760405162461bcd60e51b815260206004820152602960248201527f45434453412057616c6c6574205265676973747279206164647265737320616c60448201527f72656164792073657400000000000000000000000000000000000000000000006064820152608401610310565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391909116179055565b6060600061115e600284611879565b61118957507f02000000000000000000000000000000000000000000000000000000000000006111ac565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6001600160601b031981166000908152600283016020526040902060018101546112535761124e8383611315565b6112d9565b60028101805463ffffffff4216600160601b027fffffffffffffffffffffffffffffff0000000000ffffffffffffffffffffffff9091161770020000000000000000000000000000000017905580546040516001600160601b0319841691907fbdc9ce990a067e5fd3a5d8dfc68e27e9f221aaa3fe55265e0b7e93c460b3efe290600090a35b60018301546001600160601b0319838116600160601b90920460601b1614156108ab57505060010180546bffffffffffffffffffffffff169055565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167003000000000000000000000000000000001790558154905191939290917f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d9190a38254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b600060405180830381600087803b158015610f2d57600080fd5b6001600160601b031982166000908152600284016020526040812060010154801561150557808335611412604086016020870161189b565b61142260608701604088016118b6565b60405160200161148f9392919092835260e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146114f25760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f20646174610000006044820152606401610310565b61150260608401604085016118b6565b91505b509392505050565b6001600160601b03198116600081815260028481016020526040808320918201805470ff0000000000000000000000000000000019167004000000000000000000000000000000001790558154905191939290917f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef9190a360018301546001600160601b0319838116600160601b90920460601b1614156115bf576001830180546bffffffffffffffffffffffff1690555b8254815460405163343bb92760e01b81526001600160a01b039092169163343bb927916113c09160040190815260200190565b803563ffffffff8116811461160657600080fd5b919050565b6000806040838503121561161e57600080fd5b8235915061162e602084016115f2565b90509250929050565b60008060006060848603121561164c57600080fd5b505081359360208301359350604090920135919050565b80356001600160601b03198116811461160657600080fd5b60008060006060848603121561169057600080fd5b833592506116a060208501611663565b9150604084013590509250925092565b600080600080608085870312156116c657600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116f557600080fd5b8235915061162e60208401611663565b60006060828403121561171757600080fd5b50919050565b600080600060a0848603121561173257600080fd5b8335925061174260208501611663565b91506117518560408601611705565b90509250925092565b803567ffffffffffffffff8116811461160657600080fd5b60008060006060848603121561178757600080fd5b833592506117976020850161175a565b91506117516040850161175a565b600080608083850312156117b857600080fd5b8235915061162e8460208501611705565b600080604083850312156117dc57600080fd5b8235915060208301356001600160a01b03811681146117fa57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561184857634e487b7160e01b600052601160045260246000fd5b01949350505050565b60006020828403121561186357600080fd5b81516004811061187257600080fd5b9392505050565b60008261189657634e487b7160e01b600052601260045260246000fd5b500690565b6000602082840312156118ad57600080fd5b611872826115f2565b6000602082840312156118c857600080fd5b6118728261175a56fea26469706673582212207e53aad72fb4c3298c73e60f03e3909617a4d5db8da1841ba7b9dc8a3b8884af64736f6c63430008090033",
|
|
136
136
|
"linkReferences": {},
|
|
137
137
|
"deployedLinkReferences": {}
|
|
138
138
|
}
|
|
@@ -161,8 +161,8 @@ library BitcoinTx {
|
|
|
161
161
|
function validateProof(
|
|
162
162
|
Info calldata txInfo,
|
|
163
163
|
Proof calldata proof,
|
|
164
|
-
ProofDifficulty
|
|
165
|
-
)
|
|
164
|
+
ProofDifficulty memory proofDifficulty
|
|
165
|
+
) internal view returns (bytes32 txHash) {
|
|
166
166
|
require(
|
|
167
167
|
txInfo.inputVector.validateVin(),
|
|
168
168
|
"Invalid input vector provided"
|
|
@@ -203,7 +203,7 @@ library BitcoinTx {
|
|
|
203
203
|
/// @param proofDifficulty Bitcoin proof difficulty context.
|
|
204
204
|
function evaluateProofDifficulty(
|
|
205
205
|
bytes memory bitcoinHeaders,
|
|
206
|
-
ProofDifficulty
|
|
206
|
+
ProofDifficulty memory proofDifficulty
|
|
207
207
|
) internal view {
|
|
208
208
|
uint256 requestedDiff = 0;
|
|
209
209
|
uint256 firstHeaderDiff = bitcoinHeaders
|
|
@@ -417,7 +417,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
417
417
|
/// deposit script unlocks to receive their BTC back.
|
|
418
418
|
function revealDeposit(
|
|
419
419
|
BitcoinTx.Info calldata fundingTx,
|
|
420
|
-
Deposit.
|
|
420
|
+
Deposit.DepositRevealInfo calldata reveal
|
|
421
421
|
) external {
|
|
422
422
|
self.revealDeposit(wallets, fundingTx, reveal);
|
|
423
423
|
}
|
|
@@ -850,6 +850,22 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
850
850
|
relay = self.relay;
|
|
851
851
|
}
|
|
852
852
|
|
|
853
|
+
/// @notice Address where the deposit treasury fees will be sent to.
|
|
854
|
+
/// Treasury takes part in the operators rewarding process.
|
|
855
|
+
function treasury() external view returns (address treasury) {
|
|
856
|
+
treasury = self.treasury;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
/// @notice The number of confirmations on the Bitcoin chain required to
|
|
860
|
+
/// successfully evaluate an SPV proof.
|
|
861
|
+
function txProofDifficultyFactor()
|
|
862
|
+
external
|
|
863
|
+
view
|
|
864
|
+
returns (uint256 txProofDifficultyFactor)
|
|
865
|
+
{
|
|
866
|
+
txProofDifficultyFactor = self.txProofDifficultyFactor;
|
|
867
|
+
}
|
|
868
|
+
|
|
853
869
|
/// @notice Returns the current values of Bridge deposit parameters.
|
|
854
870
|
/// @return depositDustThreshold The minimal amount that can be requested
|
|
855
871
|
/// to deposit. Value of this parameter must take into account the
|
|
@@ -867,26 +883,18 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
867
883
|
/// be incurred by each swept deposit being part of the given sweep
|
|
868
884
|
/// transaction. If the maximum BTC transaction fee is exceeded,
|
|
869
885
|
/// such transaction is considered a fraud.
|
|
870
|
-
/// @return treasury Address where the deposit treasury fees will be
|
|
871
|
-
/// sent to. Treasury takes part in the operators rewarding process.
|
|
872
|
-
/// @return txProofDifficultyFactor The number of confirmations on the
|
|
873
|
-
/// Bitcoin chain required to successfully evaluate an SPV proof.
|
|
874
886
|
function depositParameters()
|
|
875
887
|
external
|
|
876
888
|
view
|
|
877
889
|
returns (
|
|
878
890
|
uint64 depositDustThreshold,
|
|
879
891
|
uint64 depositTreasuryFeeDivisor,
|
|
880
|
-
uint64 depositTxMaxFee
|
|
881
|
-
address treasury,
|
|
882
|
-
uint256 txProofDifficultyFactor
|
|
892
|
+
uint64 depositTxMaxFee
|
|
883
893
|
)
|
|
884
894
|
{
|
|
885
895
|
depositDustThreshold = self.depositDustThreshold;
|
|
886
896
|
depositTreasuryFeeDivisor = self.depositTreasuryFeeDivisor;
|
|
887
897
|
depositTxMaxFee = self.depositTxMaxFee;
|
|
888
|
-
treasury = self.treasury;
|
|
889
|
-
txProofDifficultyFactor = self.txProofDifficultyFactor;
|
|
890
898
|
}
|
|
891
899
|
|
|
892
900
|
/// @notice Returns the current values of Bridge redemption parameters.
|
|
@@ -912,10 +920,6 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
912
920
|
/// redemption request was created via `requestRedemption` call.
|
|
913
921
|
/// Reported timed out requests are cancelled and locked TBTC is
|
|
914
922
|
/// returned to the redeemer in full amount.
|
|
915
|
-
/// @return treasury Address where the redemption treasury fees will be
|
|
916
|
-
/// sent to. Treasury takes part in the operators rewarding process.
|
|
917
|
-
/// @return txProofDifficultyFactor The number of confirmations on the
|
|
918
|
-
/// Bitcoin chain required to successfully evaluate an SPV proof.
|
|
919
923
|
function redemptionParameters()
|
|
920
924
|
external
|
|
921
925
|
view
|
|
@@ -932,8 +936,6 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
932
936
|
redemptionTreasuryFeeDivisor = self.redemptionTreasuryFeeDivisor;
|
|
933
937
|
redemptionTxMaxFee = self.redemptionTxMaxFee;
|
|
934
938
|
redemptionTimeout = self.redemptionTimeout;
|
|
935
|
-
treasury = self.treasury;
|
|
936
|
-
txProofDifficultyFactor = self.txProofDifficultyFactor;
|
|
937
939
|
}
|
|
938
940
|
|
|
939
941
|
/// @notice Returns the current values of Bridge moving funds between
|
|
@@ -971,7 +973,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
971
973
|
function deposits(uint256 depositKey)
|
|
972
974
|
external
|
|
973
975
|
view
|
|
974
|
-
returns (Deposit.
|
|
976
|
+
returns (Deposit.DepositRequest memory)
|
|
975
977
|
{
|
|
976
978
|
return self.deposits[depositKey];
|
|
977
979
|
}
|
|
@@ -67,7 +67,7 @@ library BridgeState {
|
|
|
67
67
|
/// and fundingOutputIndex an uint32. This mapping may contain valid
|
|
68
68
|
/// and invalid deposits and the wallet is responsible for
|
|
69
69
|
/// validating them before attempting to execute a sweep.
|
|
70
|
-
mapping(uint256 => Deposit.
|
|
70
|
+
mapping(uint256 => Deposit.DepositRequest) deposits;
|
|
71
71
|
/// @notice Indicates if the vault with the given address is trusted or not.
|
|
72
72
|
/// Depositors can route their revealed deposits only to trusted
|
|
73
73
|
/// vaults and have trusted vaults notified about new deposits as
|
|
@@ -30,7 +30,7 @@ library Deposit {
|
|
|
30
30
|
|
|
31
31
|
/// @notice Represents data which must be revealed by the depositor during
|
|
32
32
|
/// deposit reveal.
|
|
33
|
-
struct
|
|
33
|
+
struct DepositRevealInfo {
|
|
34
34
|
// Index of the funding output belonging to the funding transaction.
|
|
35
35
|
uint32 fundingOutputIndex;
|
|
36
36
|
// Ethereum depositor address.
|
|
@@ -57,7 +57,7 @@ library Deposit {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/// @notice Represents tBTC deposit request data.
|
|
60
|
-
struct
|
|
60
|
+
struct DepositRequest {
|
|
61
61
|
// Ethereum depositor address.
|
|
62
62
|
address depositor;
|
|
63
63
|
// Deposit amount in satoshi.
|
|
@@ -125,7 +125,7 @@ library Deposit {
|
|
|
125
125
|
BridgeState.Storage storage self,
|
|
126
126
|
Wallets.Data storage wallets,
|
|
127
127
|
BitcoinTx.Info calldata fundingTx,
|
|
128
|
-
|
|
128
|
+
DepositRevealInfo calldata reveal
|
|
129
129
|
) external {
|
|
130
130
|
require(
|
|
131
131
|
wallets.registeredWallets[reveal.walletPubKeyHash].state ==
|
|
@@ -207,7 +207,7 @@ library Deposit {
|
|
|
207
207
|
)
|
|
208
208
|
.hash256View();
|
|
209
209
|
|
|
210
|
-
|
|
210
|
+
DepositRequest storage deposit = self.deposits[
|
|
211
211
|
uint256(
|
|
212
212
|
keccak256(
|
|
213
213
|
abi.encodePacked(fundingTxHash, reveal.fundingOutputIndex)
|
|
@@ -363,7 +363,7 @@ library Sweep {
|
|
|
363
363
|
uint256 inputLength
|
|
364
364
|
) = parseTxInputAt(sweepTxInputVector, inputStartingIndex);
|
|
365
365
|
|
|
366
|
-
Deposit.
|
|
366
|
+
Deposit.DepositRequest storage deposit = self.deposits[
|
|
367
367
|
uint256(
|
|
368
368
|
keccak256(abi.encodePacked(outpointTxHash, outpointIndex))
|
|
369
369
|
)
|