@keep-network/tbtc-v2 0.1.1-dev.28 → 0.1.1-dev.30
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 +10 -10
- package/artifacts/solcInputs/{0b49a4d3512802a64309adfce0fc83c4.json → 087a7a27c8cd210b7c63e594263dfed9.json} +1 -1
- 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/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +24 -24
- package/build/contracts/bridge/Bridge.sol/IRelay.dbg.json +1 -1
- 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/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- 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/Bridge.sol +13 -2
- package/package.json +1 -1
|
@@ -131,8 +131,8 @@
|
|
|
131
131
|
"type": "event"
|
|
132
132
|
}
|
|
133
133
|
],
|
|
134
|
-
"bytecode": "0x611d9561003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c8063403994031161006557806340399403146101195780635452278714610139578063c945968614610159578063e6d20d451461018b57600080fd5b806305cf9ce3146100975780632123f1c4146100b95780632a6f2ad8146100d95780633f31f49f146100f9575b600080fd5b8180156100a357600080fd5b506100b76100b23660046118d8565b6101ab565b005b8180156100c557600080fd5b506100b76100d436600461192b565b6104b8565b8180156100e557600080fd5b506100b76100f436600461194d565b6104f3565b81801561010557600080fd5b506100b76101143660046119e2565b610763565b81801561012557600080fd5b506100b761013436600461192b565b610954565b81801561014557600080fd5b506100b761015436600461192b565b6109ee565b81801561016557600080fd5b50610179610174366004611a87565b610a9c565b60405190815260200160405180910390f35b81801561019757600080fd5b506100b76101a636600461192b565b610c72565b60008383836040516020016101c293929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048901909352912060028101549192509063ffffffff166102485760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff16156102b75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b600280870154908201546102d1919063ffffffff16611b32565b4210156103465760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f7574207965740000000000000000000000000000606482015260840161023f565b60028101805464ff0000000019166401000000001790558054600182015460405173ffffffffffffffffffffffffffffffffffffffff90921691620186a091906000818181858888f193505050503d80600081146103c0576040519150601f19603f3d011682016040523d82523d6000602084013e6103c5565b606091505b5050506000610455610411600088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8a0181900481028201810190925288815261045091908a8a808385018382808284376000920191909152509293925050610d0c9050565b610d14565b9050600061046282610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b7791015b60405180910390a15050505050505050565b8082556040518181527fdf25ccd778c4ac0298894525a8bd99ba018936d0c6ea0b6fc212507531c0adb7906020015b60405180910390a15050565b856003015434101561056d5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f770000000000000000000000000000000000000000000000000000606482015260840161023f565b6105c585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506105b99150506060850160408601611b4a565b84356020860135610de6565b6106115760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c7572650000604482015260640161023f565b600085858460405160200161062893929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048b01909352912060028101549192509063ffffffff16156106aa5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c7265616479206578697374730000604482015260640161023f565b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317815534600182015560028101805464ffffffffff191663ffffffff42161790557ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d85856107236060870160408801611b4a565b604080516bffffffffffffffffffffffff19909416845260208085019390935260ff9091169083015285356060830152850135608082015260a0016104a6565b60006107a484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b905060008686836040516020016107bd93929190611b0a565b60408051601f198184030181528282528051602091820120600081815260048d0190925291902060028101805464ff00000000191664010000000017905560018101549193509173ffffffffffffffffffffffffffffffffffffffff861691620186a091600060405180830381858888f193505050503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b50505060006108ef6108b060008b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8d018190048102820181019092528b815261045091908d8d808385018382808284376000920191909152509293925050610d0c9050565b905060006108fc82610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b910160405180910390a15050505050505050505050565b600081116109b75760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d6044820152690757374206265203e20360b41b606482015260840161023f565b600282018190556040518181527f1e833ee8be2754de7dae1749a8438b691fda5b0695db2b2b8311b23270406d5a906020016104e7565b6064811115610a655760405162461bcd60e51b815260206004820152602f60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d757374206265203c3d203130300000000000000000000000000000000000606482015260840161023f565b600182018190556040518181527feddb2abfc2e3aa166fbafa0dbaa077f0ec7663ddc8a535253bb35ed4ab70c877906020016104e7565b600080610ade85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b90506000878783604051602001610af793929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048d01909352912060028101549192509063ffffffff16610b785760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f742065786973740000604482015260640161023f565b6002810154640100000000900460ff1615610be75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b610bf18787610fb5565b63ffffffff16600114610c465760405162461bcd60e51b815260206004820152601260248201527f57726f6e67207369676861736820747970650000000000000000000000000000604482015260640161023f565b84610c5a57610c558787611036565b610c64565b610c64878761127a565b9a9950505050505050505050565b60008111610cd55760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465706f73697420616d6f756e74206d6044820152690757374206265203e20360b41b606482015260840161023f565b600382018190556040518181527fac6cc6a5e862456c7f1a3827f078d9a355cb82eef2353c4167e872673b48570c906020016104e7565b016020015190565b60606000610d23600284611b6d565b610d4e57507f0200000000000000000000000000000000000000000000000000000000000000610d71565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152602181018590526041016040516020818303038152906040529150505b92915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60008551604014610e5f5760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b657900000000000000000000000000000000000000000000000000606482015260840161023f565b6000610e6a87611370565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610ec2573d6000803e3d6000fd5b5050604051601f19015173ffffffffffffffffffffffffffffffffffffffff90811693169290921498975050505050505050565b600060028083604051610f099190611b8f565b602060405180830381855afa158015610f26573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f499190611bca565b604051602001610f5b91815260200190565b60408051601f1981840301815290829052610f7591611b8f565b602060405180830381855afa158015610f92573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610db99190611bca565b600080610ffc600485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113f59050565b9050600061100982611422565b9050600881811b63ff00ff001662ff00ff9183901c9190911617601081811b91901c175b95945050505050565b600080600061107f600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506114a79050565b90925090506000611091836005611b32565b905060005b828110156112705760006110e38389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116259050565b9050600061112a848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116709050565b915050801561124f576000611178858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b905060006111e86111c2878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161122b92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c985050505050611270565b6112598285611b32565b93505050808061126890611be3565b915050611096565b5050505092915050565b6000806112c1604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b9050600061130c6111c2604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b9050818160405160200161134f92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b600081516040146113e95760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e00000000000000000000000000000000000000606482015260840161023f565b50805160209091012090565b6060600061140d8385516116e490919063ffffffff16565b905061141a848285611740565b949350505050565b60008060005b83518110156114a05761143c816001611b32565b84516114489190611bfe565b611453906008611c15565b61145e906002611d18565b84828151811061147057611470611d24565b0160200151611482919060f81c611c15565b61148c9083611b32565b91508061149881611be3565b915050611428565b5092915050565b60008060006114b6858561180a565b905060ff81166114e85760008585815181106114d4576114d4611d24565b016020015190935060f81c915061161e9050565b836114f4826001611d3a565b60ff166115019190611b32565b85511015611518576000196000925092505061161e565b60008160ff166002141561155d5761155261153e611537876001611b32565b88906116b7565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611614565b8160ff16600414156115875761157a6111c2611537876001611b32565b63ffffffff169050611614565b8160ff1660081415611614576116076115a4611537876001611b32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008060006116348585611670565b909250905060001982141561164f5760001992505050610db9565b8061165b836025611b32565b6116659190611b32565b61102d906004611b32565b60008061167e836025611b32565b8451101561169357506000199050600061161e565b6000806116aa866116a5876024611b32565b6114a7565b9097909650945050505050565b60006116c68383016020015190565b9392505050565b60006116c66116dd836020611b32565b84906116b7565b6000828211156117365760405162461bcd60e51b815260206004820152601d60248201527f556e646572666c6f7720647572696e67207375627472616374696f6e2e000000604482015260640161023f565b6116c68284611bfe565b60608161175c57506040805160208101909152600081526116c6565b60006117688385611b32565b9050838111801561177a575080855110155b6117c65760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161023f565b604051915082604083010160405282825283850182038460208701018481015b808210156117ff578151838301526020820191506117e6565b505050509392505050565b600082828151811061181e5761181e611d24565b60209101015160f81c60ff141561183757506008610db9565b82828151811061184957611849611d24565b60209101015160f81c60fe141561186257506004610db9565b82828151811061187457611874611d24565b60209101015160f81c60fd141561188d57506002610db9565b50600092915050565b60008083601f8401126118a857600080fd5b50813567ffffffffffffffff8111156118c057600080fd5b60208301915083602082850101111561161e57600080fd5b600080600080606085870312156118ee57600080fd5b84359350602085013567ffffffffffffffff81111561190c57600080fd5b61191887828801611896565b9598909750949560400135949350505050565b6000806040838503121561193e57600080fd5b50508035926020909101359150565b60008060008060008086880360e081121561196757600080fd5b87359650602088013567ffffffffffffffff81111561198557600080fd5b6119918a828b01611896565b90975095505060408801356bffffffffffffffffffffffff19811681146119b757600080fd5b93506060888101359350607f19820112156119d157600080fd5b506080870190509295509295509295565b600080600080600080608087890312156119fb57600080fd5b86359550602087013567ffffffffffffffff80821115611a1a57600080fd5b611a268a838b01611896565b90975095506040890135915080821115611a3f57600080fd5b50611a4c89828a01611896565b909450925050606087013573ffffffffffffffffffffffffffffffffffffffff81168114611a7957600080fd5b809150509295509295509295565b60008060008060008060808789031215611aa057600080fd5b86359550602087013567ffffffffffffffff80821115611abf57600080fd5b611acb8a838b01611896565b90975095506040890135915080821115611ae457600080fd5b50611af189828a01611896565b90945092505060608701358015158114611a7957600080fd5b82848237909101908152602001919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b4557611b45611b1c565b500190565b600060208284031215611b5c57600080fd5b813560ff811681146116c657600080fd5b600082611b8a57634e487b7160e01b600052601260045260246000fd5b500690565b6000825160005b81811015611bb05760208186018101518583015201611b96565b81811115611bbf576000828501525b509190910192915050565b600060208284031215611bdc57600080fd5b5051919050565b6000600019821415611bf757611bf7611b1c565b5060010190565b600082821015611c1057611c10611b1c565b500390565b6000816000190483118215151615611c2f57611c2f611b1c565b500290565b600181815b80851115611c6f578160001904821115611c5557611c55611b1c565b80851615611c6257918102915b93841c9390800290611c39565b509250929050565b600082611c8657506001610db9565b81611c9357506000610db9565b8160018114611ca95760028114611cb357611ccf565b6001915050610db9565b60ff841115611cc457611cc4611b1c565b50506001821b610db9565b5060208310610133831016604e8410600b8410161715611cf2575081810a610db9565b611cfc8383611c34565b8060001904821115611d1057611d10611b1c565b029392505050565b60006116c68383611c77565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff03821115611d5757611d57611b1c565b01939250505056fea264697066735822122019d686def37827d9e5f198a805a94911ad34e61dde4a05c376c5f84f3a81bb8064736f6c63430008090033",
|
|
135
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c8063403994031161006557806340399403146101195780635452278714610139578063c945968614610159578063e6d20d451461018b57600080fd5b806305cf9ce3146100975780632123f1c4146100b95780632a6f2ad8146100d95780633f31f49f146100f9575b600080fd5b8180156100a357600080fd5b506100b76100b23660046118d8565b6101ab565b005b8180156100c557600080fd5b506100b76100d436600461192b565b6104b8565b8180156100e557600080fd5b506100b76100f436600461194d565b6104f3565b81801561010557600080fd5b506100b76101143660046119e2565b610763565b81801561012557600080fd5b506100b761013436600461192b565b610954565b81801561014557600080fd5b506100b761015436600461192b565b6109ee565b81801561016557600080fd5b50610179610174366004611a87565b610a9c565b60405190815260200160405180910390f35b81801561019757600080fd5b506100b76101a636600461192b565b610c72565b60008383836040516020016101c293929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048901909352912060028101549192509063ffffffff166102485760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff16156102b75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b600280870154908201546102d1919063ffffffff16611b32565b4210156103465760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f7574207965740000000000000000000000000000606482015260840161023f565b60028101805464ff0000000019166401000000001790558054600182015460405173ffffffffffffffffffffffffffffffffffffffff90921691620186a091906000818181858888f193505050503d80600081146103c0576040519150601f19603f3d011682016040523d82523d6000602084013e6103c5565b606091505b5050506000610455610411600088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8a0181900481028201810190925288815261045091908a8a808385018382808284376000920191909152509293925050610d0c9050565b610d14565b9050600061046282610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b7791015b60405180910390a15050505050505050565b8082556040518181527fdf25ccd778c4ac0298894525a8bd99ba018936d0c6ea0b6fc212507531c0adb7906020015b60405180910390a15050565b856003015434101561056d5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f770000000000000000000000000000000000000000000000000000606482015260840161023f565b6105c585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506105b99150506060850160408601611b4a565b84356020860135610de6565b6106115760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c7572650000604482015260640161023f565b600085858460405160200161062893929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048b01909352912060028101549192509063ffffffff16156106aa5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c7265616479206578697374730000604482015260640161023f565b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317815534600182015560028101805464ffffffffff191663ffffffff42161790557ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d85856107236060870160408801611b4a565b604080516bffffffffffffffffffffffff19909416845260208085019390935260ff9091169083015285356060830152850135608082015260a0016104a6565b60006107a484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b905060008686836040516020016107bd93929190611b0a565b60408051601f198184030181528282528051602091820120600081815260048d0190925291902060028101805464ff00000000191664010000000017905560018101549193509173ffffffffffffffffffffffffffffffffffffffff861691620186a091600060405180830381858888f193505050503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b50505060006108ef6108b060008b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8d018190048102820181019092528b815261045091908d8d808385018382808284376000920191909152509293925050610d0c9050565b905060006108fc82610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b910160405180910390a15050505050505050505050565b600081116109b75760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d6044820152690757374206265203e20360b41b606482015260840161023f565b600282018190556040518181527f1e833ee8be2754de7dae1749a8438b691fda5b0695db2b2b8311b23270406d5a906020016104e7565b6064811115610a655760405162461bcd60e51b815260206004820152602f60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d757374206265203c3d203130300000000000000000000000000000000000606482015260840161023f565b600182018190556040518181527feddb2abfc2e3aa166fbafa0dbaa077f0ec7663ddc8a535253bb35ed4ab70c877906020016104e7565b600080610ade85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b90506000878783604051602001610af793929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048d01909352912060028101549192509063ffffffff16610b785760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f742065786973740000604482015260640161023f565b6002810154640100000000900460ff1615610be75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b610bf18787610fb5565b63ffffffff16600114610c465760405162461bcd60e51b815260206004820152601260248201527f57726f6e67207369676861736820747970650000000000000000000000000000604482015260640161023f565b84610c5a57610c558787611036565b610c64565b610c64878761127a565b9a9950505050505050505050565b60008111610cd55760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465706f73697420616d6f756e74206d6044820152690757374206265203e20360b41b606482015260840161023f565b600382018190556040518181527fac6cc6a5e862456c7f1a3827f078d9a355cb82eef2353c4167e872673b48570c906020016104e7565b016020015190565b60606000610d23600284611b6d565b610d4e57507f0200000000000000000000000000000000000000000000000000000000000000610d71565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152602181018590526041016040516020818303038152906040529150505b92915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60008551604014610e5f5760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b657900000000000000000000000000000000000000000000000000606482015260840161023f565b6000610e6a87611370565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610ec2573d6000803e3d6000fd5b5050604051601f19015173ffffffffffffffffffffffffffffffffffffffff90811693169290921498975050505050505050565b600060028083604051610f099190611b8f565b602060405180830381855afa158015610f26573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f499190611bca565b604051602001610f5b91815260200190565b60408051601f1981840301815290829052610f7591611b8f565b602060405180830381855afa158015610f92573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610db99190611bca565b600080610ffc600485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113f59050565b9050600061100982611422565b9050600881811b63ff00ff001662ff00ff9183901c9190911617601081811b91901c175b95945050505050565b600080600061107f600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506114a79050565b90925090506000611091836005611b32565b905060005b828110156112705760006110e38389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116259050565b9050600061112a848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116709050565b915050801561124f576000611178858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b905060006111e86111c2878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161122b92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c985050505050611270565b6112598285611b32565b93505050808061126890611be3565b915050611096565b5050505092915050565b6000806112c1604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b9050600061130c6111c2604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b9050818160405160200161134f92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b600081516040146113e95760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e00000000000000000000000000000000000000606482015260840161023f565b50805160209091012090565b6060600061140d8385516116e490919063ffffffff16565b905061141a848285611740565b949350505050565b60008060005b83518110156114a05761143c816001611b32565b84516114489190611bfe565b611453906008611c15565b61145e906002611d18565b84828151811061147057611470611d24565b0160200151611482919060f81c611c15565b61148c9083611b32565b91508061149881611be3565b915050611428565b5092915050565b60008060006114b6858561180a565b905060ff81166114e85760008585815181106114d4576114d4611d24565b016020015190935060f81c915061161e9050565b836114f4826001611d3a565b60ff166115019190611b32565b85511015611518576000196000925092505061161e565b60008160ff166002141561155d5761155261153e611537876001611b32565b88906116b7565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611614565b8160ff16600414156115875761157a6111c2611537876001611b32565b63ffffffff169050611614565b8160ff1660081415611614576116076115a4611537876001611b32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008060006116348585611670565b909250905060001982141561164f5760001992505050610db9565b8061165b836025611b32565b6116659190611b32565b61102d906004611b32565b60008061167e836025611b32565b8451101561169357506000199050600061161e565b6000806116aa866116a5876024611b32565b6114a7565b9097909650945050505050565b60006116c68383016020015190565b9392505050565b60006116c66116dd836020611b32565b84906116b7565b6000828211156117365760405162461bcd60e51b815260206004820152601d60248201527f556e646572666c6f7720647572696e67207375627472616374696f6e2e000000604482015260640161023f565b6116c68284611bfe565b60608161175c57506040805160208101909152600081526116c6565b60006117688385611b32565b9050838111801561177a575080855110155b6117c65760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161023f565b604051915082604083010160405282825283850182038460208701018481015b808210156117ff578151838301526020820191506117e6565b505050509392505050565b600082828151811061181e5761181e611d24565b60209101015160f81c60ff141561183757506008610db9565b82828151811061184957611849611d24565b60209101015160f81c60fe141561186257506004610db9565b82828151811061187457611874611d24565b60209101015160f81c60fd141561188d57506002610db9565b50600092915050565b60008083601f8401126118a857600080fd5b50813567ffffffffffffffff8111156118c057600080fd5b60208301915083602082850101111561161e57600080fd5b600080600080606085870312156118ee57600080fd5b84359350602085013567ffffffffffffffff81111561190c57600080fd5b61191887828801611896565b9598909750949560400135949350505050565b6000806040838503121561193e57600080fd5b50508035926020909101359150565b60008060008060008086880360e081121561196757600080fd5b87359650602088013567ffffffffffffffff81111561198557600080fd5b6119918a828b01611896565b90975095505060408801356bffffffffffffffffffffffff19811681146119b757600080fd5b93506060888101359350607f19820112156119d157600080fd5b506080870190509295509295509295565b600080600080600080608087890312156119fb57600080fd5b86359550602087013567ffffffffffffffff80821115611a1a57600080fd5b611a268a838b01611896565b90975095506040890135915080821115611a3f57600080fd5b50611a4c89828a01611896565b909450925050606087013573ffffffffffffffffffffffffffffffffffffffff81168114611a7957600080fd5b809150509295509295509295565b60008060008060008060808789031215611aa057600080fd5b86359550602087013567ffffffffffffffff80821115611abf57600080fd5b611acb8a838b01611896565b90975095506040890135915080821115611ae457600080fd5b50611af189828a01611896565b90945092505060608701358015158114611a7957600080fd5b82848237909101908152602001919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b4557611b45611b1c565b500190565b600060208284031215611b5c57600080fd5b813560ff811681146116c657600080fd5b600082611b8a57634e487b7160e01b600052601260045260246000fd5b500690565b6000825160005b81811015611bb05760208186018101518583015201611b96565b81811115611bbf576000828501525b509190910192915050565b600060208284031215611bdc57600080fd5b5051919050565b6000600019821415611bf757611bf7611b1c565b5060010190565b600082821015611c1057611c10611b1c565b500390565b6000816000190483118215151615611c2f57611c2f611b1c565b500290565b600181815b80851115611c6f578160001904821115611c5557611c55611b1c565b80851615611c6257918102915b93841c9390800290611c39565b509250929050565b600082611c8657506001610db9565b81611c9357506000610db9565b8160018114611ca95760028114611cb357611ccf565b6001915050610db9565b60ff841115611cc457611cc4611b1c565b50506001821b610db9565b5060208310610133831016604e8410600b8410161715611cf2575081810a610db9565b611cfc8383611c34565b8060001904821115611d1057611d10611b1c565b029392505050565b60006116c68383611c77565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff03821115611d5757611d57611b1c565b01939250505056fea264697066735822122019d686def37827d9e5f198a805a94911ad34e61dde4a05c376c5f84f3a81bb8064736f6c63430008090033",
|
|
134
|
+
"bytecode": "0x611d9561003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c8063403994031161006557806340399403146101195780635452278714610139578063c945968614610159578063e6d20d451461018b57600080fd5b806305cf9ce3146100975780632123f1c4146100b95780632a6f2ad8146100d95780633f31f49f146100f9575b600080fd5b8180156100a357600080fd5b506100b76100b23660046118d8565b6101ab565b005b8180156100c557600080fd5b506100b76100d436600461192b565b6104b8565b8180156100e557600080fd5b506100b76100f436600461194d565b6104f3565b81801561010557600080fd5b506100b76101143660046119e2565b610763565b81801561012557600080fd5b506100b761013436600461192b565b610954565b81801561014557600080fd5b506100b761015436600461192b565b6109ee565b81801561016557600080fd5b50610179610174366004611a87565b610a9c565b60405190815260200160405180910390f35b81801561019757600080fd5b506100b76101a636600461192b565b610c72565b60008383836040516020016101c293929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048901909352912060028101549192509063ffffffff166102485760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff16156102b75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b600280870154908201546102d1919063ffffffff16611b32565b4210156103465760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f7574207965740000000000000000000000000000606482015260840161023f565b60028101805464ff0000000019166401000000001790558054600182015460405173ffffffffffffffffffffffffffffffffffffffff90921691620186a091906000818181858888f193505050503d80600081146103c0576040519150601f19603f3d011682016040523d82523d6000602084013e6103c5565b606091505b5050506000610455610411600088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8a0181900481028201810190925288815261045091908a8a808385018382808284376000920191909152509293925050610d0c9050565b610d14565b9050600061046282610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b7791015b60405180910390a15050505050505050565b8082556040518181527fdf25ccd778c4ac0298894525a8bd99ba018936d0c6ea0b6fc212507531c0adb7906020015b60405180910390a15050565b856003015434101561056d5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f770000000000000000000000000000000000000000000000000000606482015260840161023f565b6105c585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506105b99150506060850160408601611b4a565b84356020860135610de6565b6106115760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c7572650000604482015260640161023f565b600085858460405160200161062893929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048b01909352912060028101549192509063ffffffff16156106aa5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c7265616479206578697374730000604482015260640161023f565b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317815534600182015560028101805464ffffffffff191663ffffffff42161790557ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d85856107236060870160408801611b4a565b604080516bffffffffffffffffffffffff19909416845260208085019390935260ff9091169083015285356060830152850135608082015260a0016104a6565b60006107a484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b905060008686836040516020016107bd93929190611b0a565b60408051601f198184030181528282528051602091820120600081815260048d0190925291902060028101805464ff00000000191664010000000017905560018101549193509173ffffffffffffffffffffffffffffffffffffffff861691620186a091600060405180830381858888f193505050503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b50505060006108ef6108b060008b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8d018190048102820181019092528b815261045091908d8d808385018382808284376000920191909152509293925050610d0c9050565b905060006108fc82610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b910160405180910390a15050505050505050505050565b600081116109b75760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d6044820152690757374206265203e20360b41b606482015260840161023f565b600282018190556040518181527f1e833ee8be2754de7dae1749a8438b691fda5b0695db2b2b8311b23270406d5a906020016104e7565b6064811115610a655760405162461bcd60e51b815260206004820152602f60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d757374206265203c3d203130300000000000000000000000000000000000606482015260840161023f565b600182018190556040518181527feddb2abfc2e3aa166fbafa0dbaa077f0ec7663ddc8a535253bb35ed4ab70c877906020016104e7565b600080610ade85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b90506000878783604051602001610af793929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048d01909352912060028101549192509063ffffffff16610b785760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f742065786973740000604482015260640161023f565b6002810154640100000000900460ff1615610be75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b610bf18787610fb5565b63ffffffff16600114610c465760405162461bcd60e51b815260206004820152601260248201527f57726f6e67207369676861736820747970650000000000000000000000000000604482015260640161023f565b84610c5a57610c558787611036565b610c64565b610c64878761127a565b9a9950505050505050505050565b60008111610cd55760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465706f73697420616d6f756e74206d6044820152690757374206265203e20360b41b606482015260840161023f565b600382018190556040518181527fac6cc6a5e862456c7f1a3827f078d9a355cb82eef2353c4167e872673b48570c906020016104e7565b016020015190565b60606000610d23600284611b6d565b610d4e57507f0200000000000000000000000000000000000000000000000000000000000000610d71565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152602181018590526041016040516020818303038152906040529150505b92915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60008551604014610e5f5760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b657900000000000000000000000000000000000000000000000000606482015260840161023f565b6000610e6a87611370565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610ec2573d6000803e3d6000fd5b5050604051601f19015173ffffffffffffffffffffffffffffffffffffffff90811693169290921498975050505050505050565b600060028083604051610f099190611b8f565b602060405180830381855afa158015610f26573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f499190611bca565b604051602001610f5b91815260200190565b60408051601f1981840301815290829052610f7591611b8f565b602060405180830381855afa158015610f92573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610db99190611bca565b600080610ffc600485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113f59050565b9050600061100982611422565b9050600881811b63ff00ff001662ff00ff9183901c9190911617601081811b91901c175b95945050505050565b600080600061107f600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506114a79050565b90925090506000611091836005611b32565b905060005b828110156112705760006110e38389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116259050565b9050600061112a848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116709050565b915050801561124f576000611178858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b905060006111e86111c2878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161122b92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c985050505050611270565b6112598285611b32565b93505050808061126890611be3565b915050611096565b5050505092915050565b6000806112c1604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b9050600061130c6111c2604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b9050818160405160200161134f92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b600081516040146113e95760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e00000000000000000000000000000000000000606482015260840161023f565b50805160209091012090565b6060600061140d8385516116e490919063ffffffff16565b905061141a848285611740565b949350505050565b60008060005b83518110156114a05761143c816001611b32565b84516114489190611bfe565b611453906008611c15565b61145e906002611d18565b84828151811061147057611470611d24565b0160200151611482919060f81c611c15565b61148c9083611b32565b91508061149881611be3565b915050611428565b5092915050565b60008060006114b6858561180a565b905060ff81166114e85760008585815181106114d4576114d4611d24565b016020015190935060f81c915061161e9050565b836114f4826001611d3a565b60ff166115019190611b32565b85511015611518576000196000925092505061161e565b60008160ff166002141561155d5761155261153e611537876001611b32565b88906116b7565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611614565b8160ff16600414156115875761157a6111c2611537876001611b32565b63ffffffff169050611614565b8160ff1660081415611614576116076115a4611537876001611b32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008060006116348585611670565b909250905060001982141561164f5760001992505050610db9565b8061165b836025611b32565b6116659190611b32565b61102d906004611b32565b60008061167e836025611b32565b8451101561169357506000199050600061161e565b6000806116aa866116a5876024611b32565b6114a7565b9097909650945050505050565b60006116c68383016020015190565b9392505050565b60006116c66116dd836020611b32565b84906116b7565b6000828211156117365760405162461bcd60e51b815260206004820152601d60248201527f556e646572666c6f7720647572696e67207375627472616374696f6e2e000000604482015260640161023f565b6116c68284611bfe565b60608161175c57506040805160208101909152600081526116c6565b60006117688385611b32565b9050838111801561177a575080855110155b6117c65760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161023f565b604051915082604083010160405282825283850182038460208701018481015b808210156117ff578151838301526020820191506117e6565b505050509392505050565b600082828151811061181e5761181e611d24565b60209101015160f81c60ff141561183757506008610db9565b82828151811061184957611849611d24565b60209101015160f81c60fe141561186257506004610db9565b82828151811061187457611874611d24565b60209101015160f81c60fd141561188d57506002610db9565b50600092915050565b60008083601f8401126118a857600080fd5b50813567ffffffffffffffff8111156118c057600080fd5b60208301915083602082850101111561161e57600080fd5b600080600080606085870312156118ee57600080fd5b84359350602085013567ffffffffffffffff81111561190c57600080fd5b61191887828801611896565b9598909750949560400135949350505050565b6000806040838503121561193e57600080fd5b50508035926020909101359150565b60008060008060008086880360e081121561196757600080fd5b87359650602088013567ffffffffffffffff81111561198557600080fd5b6119918a828b01611896565b90975095505060408801356bffffffffffffffffffffffff19811681146119b757600080fd5b93506060888101359350607f19820112156119d157600080fd5b506080870190509295509295509295565b600080600080600080608087890312156119fb57600080fd5b86359550602087013567ffffffffffffffff80821115611a1a57600080fd5b611a268a838b01611896565b90975095506040890135915080821115611a3f57600080fd5b50611a4c89828a01611896565b909450925050606087013573ffffffffffffffffffffffffffffffffffffffff81168114611a7957600080fd5b809150509295509295509295565b60008060008060008060808789031215611aa057600080fd5b86359550602087013567ffffffffffffffff80821115611abf57600080fd5b611acb8a838b01611896565b90975095506040890135915080821115611ae457600080fd5b50611af189828a01611896565b90945092505060608701358015158114611a7957600080fd5b82848237909101908152602001919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b4557611b45611b1c565b500190565b600060208284031215611b5c57600080fd5b813560ff811681146116c657600080fd5b600082611b8a57634e487b7160e01b600052601260045260246000fd5b500690565b6000825160005b81811015611bb05760208186018101518583015201611b96565b81811115611bbf576000828501525b509190910192915050565b600060208284031215611bdc57600080fd5b5051919050565b6000600019821415611bf757611bf7611b1c565b5060010190565b600082821015611c1057611c10611b1c565b500390565b6000816000190483118215151615611c2f57611c2f611b1c565b500290565b600181815b80851115611c6f578160001904821115611c5557611c55611b1c565b80851615611c6257918102915b93841c9390800290611c39565b509250929050565b600082611c8657506001610db9565b81611c9357506000610db9565b8160018114611ca95760028114611cb357611ccf565b6001915050610db9565b60ff841115611cc457611cc4611b1c565b50506001821b610db9565b5060208310610133831016604e8410600b8410161715611cf2575081810a610db9565b611cfc8383611c34565b8060001904821115611d1057611d10611b1c565b029392505050565b60006116c68383611c77565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff03821115611d5757611d57611b1c565b01939250505056fea2646970667358221220683252598c0027d13ecac90c652c11af35a26c5b9dc4b702055ebda0a6162e9464736f6c63430008090033",
|
|
135
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c8063403994031161006557806340399403146101195780635452278714610139578063c945968614610159578063e6d20d451461018b57600080fd5b806305cf9ce3146100975780632123f1c4146100b95780632a6f2ad8146100d95780633f31f49f146100f9575b600080fd5b8180156100a357600080fd5b506100b76100b23660046118d8565b6101ab565b005b8180156100c557600080fd5b506100b76100d436600461192b565b6104b8565b8180156100e557600080fd5b506100b76100f436600461194d565b6104f3565b81801561010557600080fd5b506100b76101143660046119e2565b610763565b81801561012557600080fd5b506100b761013436600461192b565b610954565b81801561014557600080fd5b506100b761015436600461192b565b6109ee565b81801561016557600080fd5b50610179610174366004611a87565b610a9c565b60405190815260200160405180910390f35b81801561019757600080fd5b506100b76101a636600461192b565b610c72565b60008383836040516020016101c293929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048901909352912060028101549192509063ffffffff166102485760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff16156102b75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b600280870154908201546102d1919063ffffffff16611b32565b4210156103465760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f7574207965740000000000000000000000000000606482015260840161023f565b60028101805464ff0000000019166401000000001790558054600182015460405173ffffffffffffffffffffffffffffffffffffffff90921691620186a091906000818181858888f193505050503d80600081146103c0576040519150601f19603f3d011682016040523d82523d6000602084013e6103c5565b606091505b5050506000610455610411600088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8a0181900481028201810190925288815261045091908a8a808385018382808284376000920191909152509293925050610d0c9050565b610d14565b9050600061046282610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b7791015b60405180910390a15050505050505050565b8082556040518181527fdf25ccd778c4ac0298894525a8bd99ba018936d0c6ea0b6fc212507531c0adb7906020015b60405180910390a15050565b856003015434101561056d5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f770000000000000000000000000000000000000000000000000000606482015260840161023f565b6105c585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506105b99150506060850160408601611b4a565b84356020860135610de6565b6106115760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c7572650000604482015260640161023f565b600085858460405160200161062893929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048b01909352912060028101549192509063ffffffff16156106aa5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c7265616479206578697374730000604482015260640161023f565b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317815534600182015560028101805464ffffffffff191663ffffffff42161790557ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d85856107236060870160408801611b4a565b604080516bffffffffffffffffffffffff19909416845260208085019390935260ff9091169083015285356060830152850135608082015260a0016104a6565b60006107a484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b905060008686836040516020016107bd93929190611b0a565b60408051601f198184030181528282528051602091820120600081815260048d0190925291902060028101805464ff00000000191664010000000017905560018101549193509173ffffffffffffffffffffffffffffffffffffffff861691620186a091600060405180830381858888f193505050503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b50505060006108ef6108b060008b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610d0c9050565b604080516020601f8d018190048102820181019092528b815261045091908d8d808385018382808284376000920191909152509293925050610d0c9050565b905060006108fc82610dbf565b604080516bffffffffffffffffffffffff1983168152602081018890529192507f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b910160405180910390a15050505050505050505050565b600081116109b75760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d6044820152690757374206265203e20360b41b606482015260840161023f565b600282018190556040518181527f1e833ee8be2754de7dae1749a8438b691fda5b0695db2b2b8311b23270406d5a906020016104e7565b6064811115610a655760405162461bcd60e51b815260206004820152602f60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d757374206265203c3d203130300000000000000000000000000000000000606482015260840161023f565b600182018190556040518181527feddb2abfc2e3aa166fbafa0dbaa077f0ec7663ddc8a535253bb35ed4ab70c877906020016104e7565b600080610ade85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef692505050565b90506000878783604051602001610af793929190611b0a565b60408051601f198184030181529181528151602092830120600081815260048d01909352912060028101549192509063ffffffff16610b785760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f742065786973740000604482015260640161023f565b6002810154640100000000900460ff1615610be75760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b606482015260840161023f565b610bf18787610fb5565b63ffffffff16600114610c465760405162461bcd60e51b815260206004820152601260248201527f57726f6e67207369676861736820747970650000000000000000000000000000604482015260640161023f565b84610c5a57610c558787611036565b610c64565b610c64878761127a565b9a9950505050505050505050565b60008111610cd55760405162461bcd60e51b815260206004820152602a60248201527f4672617564206368616c6c656e6765206465706f73697420616d6f756e74206d6044820152690757374206265203e20360b41b606482015260840161023f565b600382018190556040518181527fac6cc6a5e862456c7f1a3827f078d9a355cb82eef2353c4167e872673b48570c906020016104e7565b016020015190565b60606000610d23600284611b6d565b610d4e57507f0200000000000000000000000000000000000000000000000000000000000000610d71565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff0000000000000000000000000000000000000000000000000000000000000082166020820152602181018590526041016040516020818303038152906040529150505b92915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60008551604014610e5f5760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b657900000000000000000000000000000000000000000000000000606482015260840161023f565b6000610e6a87611370565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610ec2573d6000803e3d6000fd5b5050604051601f19015173ffffffffffffffffffffffffffffffffffffffff90811693169290921498975050505050505050565b600060028083604051610f099190611b8f565b602060405180830381855afa158015610f26573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f499190611bca565b604051602001610f5b91815260200190565b60408051601f1981840301815290829052610f7591611b8f565b602060405180830381855afa158015610f92573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610db99190611bca565b600080610ffc600485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113f59050565b9050600061100982611422565b9050600881811b63ff00ff001662ff00ff9183901c9190911617601081811b91901c175b95945050505050565b600080600061107f600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506114a79050565b90925090506000611091836005611b32565b905060005b828110156112705760006110e38389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116259050565b9050600061112a848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116709050565b915050801561124f576000611178858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b905060006111e86111c2878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161122b92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c985050505050611270565b6112598285611b32565b93505050808061126890611be3565b915050611096565b5050505092915050565b6000806112c1604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116b79050565b9050600061130c6111c2604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116cd9050565b9050818160405160200161134f92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b600081516040146113e95760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e00000000000000000000000000000000000000606482015260840161023f565b50805160209091012090565b6060600061140d8385516116e490919063ffffffff16565b905061141a848285611740565b949350505050565b60008060005b83518110156114a05761143c816001611b32565b84516114489190611bfe565b611453906008611c15565b61145e906002611d18565b84828151811061147057611470611d24565b0160200151611482919060f81c611c15565b61148c9083611b32565b91508061149881611be3565b915050611428565b5092915050565b60008060006114b6858561180a565b905060ff81166114e85760008585815181106114d4576114d4611d24565b016020015190935060f81c915061161e9050565b836114f4826001611d3a565b60ff166115019190611b32565b85511015611518576000196000925092505061161e565b60008160ff166002141561155d5761155261153e611537876001611b32565b88906116b7565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611614565b8160ff16600414156115875761157a6111c2611537876001611b32565b63ffffffff169050611614565b8160ff1660081415611614576116076115a4611537876001611b32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008060006116348585611670565b909250905060001982141561164f5760001992505050610db9565b8061165b836025611b32565b6116659190611b32565b61102d906004611b32565b60008061167e836025611b32565b8451101561169357506000199050600061161e565b6000806116aa866116a5876024611b32565b6114a7565b9097909650945050505050565b60006116c68383016020015190565b9392505050565b60006116c66116dd836020611b32565b84906116b7565b6000828211156117365760405162461bcd60e51b815260206004820152601d60248201527f556e646572666c6f7720647572696e67207375627472616374696f6e2e000000604482015260640161023f565b6116c68284611bfe565b60608161175c57506040805160208101909152600081526116c6565b60006117688385611b32565b9050838111801561177a575080855110155b6117c65760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161023f565b604051915082604083010160405282825283850182038460208701018481015b808210156117ff578151838301526020820191506117e6565b505050509392505050565b600082828151811061181e5761181e611d24565b60209101015160f81c60ff141561183757506008610db9565b82828151811061184957611849611d24565b60209101015160f81c60fe141561186257506004610db9565b82828151811061187457611874611d24565b60209101015160f81c60fd141561188d57506002610db9565b50600092915050565b60008083601f8401126118a857600080fd5b50813567ffffffffffffffff8111156118c057600080fd5b60208301915083602082850101111561161e57600080fd5b600080600080606085870312156118ee57600080fd5b84359350602085013567ffffffffffffffff81111561190c57600080fd5b61191887828801611896565b9598909750949560400135949350505050565b6000806040838503121561193e57600080fd5b50508035926020909101359150565b60008060008060008086880360e081121561196757600080fd5b87359650602088013567ffffffffffffffff81111561198557600080fd5b6119918a828b01611896565b90975095505060408801356bffffffffffffffffffffffff19811681146119b757600080fd5b93506060888101359350607f19820112156119d157600080fd5b506080870190509295509295509295565b600080600080600080608087890312156119fb57600080fd5b86359550602087013567ffffffffffffffff80821115611a1a57600080fd5b611a268a838b01611896565b90975095506040890135915080821115611a3f57600080fd5b50611a4c89828a01611896565b909450925050606087013573ffffffffffffffffffffffffffffffffffffffff81168114611a7957600080fd5b809150509295509295509295565b60008060008060008060808789031215611aa057600080fd5b86359550602087013567ffffffffffffffff80821115611abf57600080fd5b611acb8a838b01611896565b90975095506040890135915080821115611ae457600080fd5b50611af189828a01611896565b90945092505060608701358015158114611a7957600080fd5b82848237909101908152602001919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b4557611b45611b1c565b500190565b600060208284031215611b5c57600080fd5b813560ff811681146116c657600080fd5b600082611b8a57634e487b7160e01b600052601260045260246000fd5b500690565b6000825160005b81811015611bb05760208186018101518583015201611b96565b81811115611bbf576000828501525b509190910192915050565b600060208284031215611bdc57600080fd5b5051919050565b6000600019821415611bf757611bf7611b1c565b5060010190565b600082821015611c1057611c10611b1c565b500390565b6000816000190483118215151615611c2f57611c2f611b1c565b500290565b600181815b80851115611c6f578160001904821115611c5557611c55611b1c565b80851615611c6257918102915b93841c9390800290611c39565b509250929050565b600082611c8657506001610db9565b81611c9357506000610db9565b8160018114611ca95760028114611cb357611ccf565b6001915050610db9565b60ff841115611cc457611cc4611b1c565b50506001821b610db9565b5060208310610133831016604e8410600b8410161715611cf2575081810a610db9565b611cfc8383611c34565b8060001904821115611d1057611d10611b1c565b029392505050565b60006116c68383611c77565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff03821115611d5757611d57611b1c565b01939250505056fea2646970667358221220683252598c0027d13ecac90c652c11af35a26c5b9dc4b702055ebda0a6162e9464736f6c63430008090033",
|
|
136
136
|
"linkReferences": {},
|
|
137
137
|
"deployedLinkReferences": {}
|
|
138
138
|
}
|
|
@@ -633,6 +633,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
633
633
|
/// @param fundingTx Bitcoin funding transaction data, see `BitcoinTx.Info`
|
|
634
634
|
/// @param reveal Deposit reveal data, see `RevealInfo struct
|
|
635
635
|
/// @dev Requirements:
|
|
636
|
+
/// - `reveal.walletPubKeyHash` must identify a `Live` wallet
|
|
636
637
|
/// - `reveal.vault` must be 0x0 or point to a trusted vault
|
|
637
638
|
/// - `reveal.fundingOutputIndex` must point to the actual P2(W)SH
|
|
638
639
|
/// output of the BTC deposit transaction
|
|
@@ -656,12 +657,17 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
656
657
|
BitcoinTx.Info calldata fundingTx,
|
|
657
658
|
RevealInfo calldata reveal
|
|
658
659
|
) external {
|
|
660
|
+
require(
|
|
661
|
+
wallets.registeredWallets[reveal.walletPubKeyHash].state ==
|
|
662
|
+
Wallets.WalletState.Live,
|
|
663
|
+
"Wallet is not in Live state"
|
|
664
|
+
);
|
|
665
|
+
|
|
659
666
|
require(
|
|
660
667
|
reveal.vault == address(0) || isVaultTrusted[reveal.vault],
|
|
661
668
|
"Vault is not trusted"
|
|
662
669
|
);
|
|
663
670
|
|
|
664
|
-
// TODO: Validate if `walletPubKeyHash` is a known and live wallet.
|
|
665
671
|
// TODO: Should we enforce a specific locktime at contract level?
|
|
666
672
|
|
|
667
673
|
bytes memory expectedScript = abi.encodePacked(
|
|
@@ -834,7 +840,12 @@ contract Bridge is Ownable, EcdsaWalletOwner {
|
|
|
834
840
|
walletPubKeyHash
|
|
835
841
|
];
|
|
836
842
|
|
|
837
|
-
|
|
843
|
+
Wallets.WalletState walletState = wallet.state;
|
|
844
|
+
require(
|
|
845
|
+
walletState == Wallets.WalletState.Live ||
|
|
846
|
+
walletState == Wallets.WalletState.MovingFunds,
|
|
847
|
+
"Wallet must be in Live or MovingFunds state"
|
|
848
|
+
);
|
|
838
849
|
|
|
839
850
|
// Check if the main UTXO for given wallet exists. If so, validate
|
|
840
851
|
// passed main UTXO data against the stored hash and use them for
|