@keep-network/tbtc-v2 0.1.1-dev.7 → 0.1.1-dev.72
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/README.adoc +12 -0
- package/artifacts/Bank.json +752 -0
- package/artifacts/Bridge.json +2556 -0
- package/artifacts/DefaultProxyAdmin.json +259 -0
- package/artifacts/Deposit.json +117 -0
- package/artifacts/DepositSweep.json +77 -0
- package/artifacts/EcdsaDkgValidator.json +533 -0
- package/artifacts/EcdsaInactivity.json +156 -0
- package/artifacts/Fraud.json +164 -0
- package/artifacts/KeepRegistry.json +99 -0
- package/artifacts/KeepStake.json +286 -0
- package/artifacts/KeepToken.json +711 -0
- package/artifacts/KeepTokenStaking.json +483 -0
- package/artifacts/MovingFunds.json +249 -0
- package/artifacts/NuCypherStakingEscrow.json +256 -0
- package/artifacts/NuCypherToken.json +711 -0
- package/artifacts/RandomBeaconStub.json +141 -0
- package/artifacts/Redemption.json +162 -0
- package/artifacts/ReimbursementPool.json +509 -0
- package/artifacts/Relay.json +123 -0
- package/artifacts/SortitionPool.json +1005 -0
- package/artifacts/T.json +1148 -0
- package/artifacts/TBTC.json +27 -26
- package/artifacts/TBTCToken.json +27 -26
- package/artifacts/TokenStaking.json +2288 -0
- package/artifacts/TokenholderGovernor.json +1795 -0
- package/artifacts/TokenholderTimelock.json +1058 -0
- package/artifacts/VendingMachine.json +30 -29
- package/artifacts/VendingMachineKeep.json +400 -0
- package/artifacts/VendingMachineNuCypher.json +400 -0
- package/artifacts/WalletRegistry.json +2117 -0
- package/artifacts/WalletRegistry_Implementation.json +2824 -0
- package/artifacts/WalletRegistry_Proxy.json +259 -0
- package/artifacts/Wallets.json +186 -0
- package/artifacts/solcInputs/1635d55d57a0a2552952c0d22586ed23.json +56 -0
- package/artifacts/solcInputs/55df7785455cbf6ded1b912686e91d3f.json +269 -0
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.json +20 -2
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2546 -128
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +220 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
- package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
- package/build/contracts/vault/DonationVault.sol/DonationVault.json +103 -0
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.json +19 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +121 -7
- package/contracts/GovernanceUtils.sol +1 -1
- package/contracts/bank/Bank.sol +34 -18
- package/contracts/bridge/BitcoinTx.sol +231 -9
- package/contracts/bridge/Bridge.sol +1592 -211
- package/contracts/bridge/BridgeState.sol +713 -0
- package/contracts/bridge/Deposit.sol +269 -0
- package/contracts/bridge/DepositSweep.sol +571 -0
- package/contracts/bridge/EcdsaLib.sol +45 -0
- package/contracts/bridge/Fraud.sol +604 -0
- package/contracts/bridge/Heartbeat.sol +112 -0
- package/contracts/bridge/IRelay.sol +28 -0
- package/contracts/bridge/MovingFunds.sol +1080 -0
- package/contracts/bridge/Redemption.sol +866 -0
- package/contracts/bridge/VendingMachine.sol +1 -1
- package/contracts/bridge/Wallets.sol +553 -0
- package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
- package/contracts/token/TBTC.sol +1 -1
- package/contracts/vault/DonationVault.sol +125 -0
- package/contracts/vault/IVault.sol +32 -10
- package/contracts/vault/TBTCVault.sol +53 -3
- package/deploy/00_resolve_relay.ts +28 -0
- package/deploy/00_resolve_wallet_registry.ts +83 -0
- package/deploy/04_deploy_bank.ts +27 -0
- package/deploy/05_deploy_bridge.ts +76 -0
- package/deploy/06_bank_update_bridge.ts +19 -0
- package/deploy/07_transfer_ownership.ts +15 -0
- package/deploy/08_transfer_governance.ts +20 -0
- package/deploy/09_transfer_proxy_admin_ownership.ts +23 -0
- package/deploy/10_deploy_proxy_admin_with_deputy.ts +33 -0
- package/export.json +16243 -475
- package/package.json +31 -24
- package/artifacts/solcInputs/25bea07ad744b8c97e466495ad2abf97.json +0 -128
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "Fraud",
|
|
4
|
+
"sourceName": "contracts/bridge/Fraud.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"anonymous": false,
|
|
8
|
+
"inputs": [
|
|
9
|
+
{
|
|
10
|
+
"indexed": true,
|
|
11
|
+
"internalType": "bytes20",
|
|
12
|
+
"name": "walletPubKeyHash",
|
|
13
|
+
"type": "bytes20"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"indexed": false,
|
|
17
|
+
"internalType": "bytes32",
|
|
18
|
+
"name": "sighash",
|
|
19
|
+
"type": "bytes32"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"name": "FraudChallengeDefeatTimedOut",
|
|
23
|
+
"type": "event"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"anonymous": false,
|
|
27
|
+
"inputs": [
|
|
28
|
+
{
|
|
29
|
+
"indexed": true,
|
|
30
|
+
"internalType": "bytes20",
|
|
31
|
+
"name": "walletPubKeyHash",
|
|
32
|
+
"type": "bytes20"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"indexed": false,
|
|
36
|
+
"internalType": "bytes32",
|
|
37
|
+
"name": "sighash",
|
|
38
|
+
"type": "bytes32"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"name": "FraudChallengeDefeated",
|
|
42
|
+
"type": "event"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"anonymous": false,
|
|
46
|
+
"inputs": [
|
|
47
|
+
{
|
|
48
|
+
"indexed": true,
|
|
49
|
+
"internalType": "bytes20",
|
|
50
|
+
"name": "walletPubKeyHash",
|
|
51
|
+
"type": "bytes20"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"indexed": false,
|
|
55
|
+
"internalType": "bytes32",
|
|
56
|
+
"name": "sighash",
|
|
57
|
+
"type": "bytes32"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"indexed": false,
|
|
61
|
+
"internalType": "uint8",
|
|
62
|
+
"name": "v",
|
|
63
|
+
"type": "uint8"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"indexed": false,
|
|
67
|
+
"internalType": "bytes32",
|
|
68
|
+
"name": "r",
|
|
69
|
+
"type": "bytes32"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"indexed": false,
|
|
73
|
+
"internalType": "bytes32",
|
|
74
|
+
"name": "s",
|
|
75
|
+
"type": "bytes32"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"name": "FraudChallengeSubmitted",
|
|
79
|
+
"type": "event"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"bytecode": "0x61223a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063624526fe1461005b57806380ffe94a1461007d57806394fcaf8d1461009d578063eb8fdd5d146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004611cf2565b6100dd565b005b81801561008957600080fd5b5061007b610098366004611e26565b6103c2565b8180156100a957600080fd5b5061007b6100b8366004611ef3565b610910565b8180156100c957600080fd5b5061007b6100d8366004611f6d565b610ac7565b600061011e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3492505050565b9050600086868360405160200161013793929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178c01909352912060028101549192509063ffffffff166101bd5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff161561022c5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6102368686610ff9565b63ffffffff1660011461028b5760405162461bcd60e51b815260206004820152601260248201527f57726f6e6720736967686173682074797065000000000000000000000000000060448201526064016101b4565b6000846102a15761029c8787611079565b6102ab565b6102ab87876112bd565b600081815260068c0160205260409020600101549091507c0100000000000000000000000000000000000000000000000000000000900463ffffffff161515806103055750600081815260188b01602052604090205460ff165b80610337575060026000828152600c8c01602052604090206001015460ff1660038111156103355761033561200f565b145b6103a95760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f730000000000000000000000000000000060648201526084016101b4565b6103b68a8a8a85886113b3565b50505050505050505050565b60006002826040516103d49190612025565b602060405180830381855afa1580156103f1573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906104149190612060565b9050600086868360405160200161042d93929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178c01909352912060028101549192509063ffffffff166104ae5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561051d5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b60148901546002820154610537919063ffffffff1661208f565b4210156105ac5760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f757420796574000000000000000000000000000060648201526084016101b4565b60028101805464ff000000001916640100000000179055805460018201546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114610619576040519150601f19603f3d011682016040523d82523d6000602084013e61061e565b606091505b50505060006106ae61066a60008b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f8d018190048102820181019092528b81526106a991908d8d8083850183828082843760009201919091525092939250506115149050565b61151c565b905060006106bb826115c6565b6bffffffffffffffffffffffff1981166000908152601c8d0160205260409020600281015491925090600160c01b900460ff1660018160058111156107025761070261200f565b148061071f5750600281600581111561071d5761071d61200f565b145b8061073b575060038160058111156107395761073961200f565b145b156108095761074a8d846115ed565b8c60020160009054906101000a90046001600160a01b03166001600160a01b031663d8dc404d8e60150160009054906101000a90046bffffffffffffffffffffffff168f601601548860000160009054906101000a90046001600160a01b031686600001548f8f6040518763ffffffff1660e01b81526004016107d2969594939291906120a7565b600060405180830381600087803b1580156107ec57600080fd5b505af1158015610800573d6000803e3d6000fd5b505050506108bd565b600581600581111561081d5761081d61200f565b1415610828576108bd565b60405162461bcd60e51b8152602060048201526044602482018190527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e67908201527f46756e6473206f7220436c6f73696e67206f72205465726d696e61746564207360648201527f7461746500000000000000000000000000000000000000000000000000000000608482015260a4016101b4565b6040518781526bffffffffffffffffffffffff198416907f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b779060200160405180910390a250505050505050505050505050565b600061095183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3492505050565b9050600085858360405160200161096a93929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178b01909352912060028101549192509063ffffffff166109eb5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff1615610a5a5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b610a6485856117cf565b610ab05760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016101b4565b610abd88888884876113b3565b5050505050505050565b8460130154341015610b415760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f77000000000000000000000000000000000000000000000000000060648201526084016101b4565b6000600283604051610b539190612025565b602060405180830381855afa158015610b70573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b939190612060565b9050610bed85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610be19150506060860160408701612132565b8535602087013561185f565b610c395760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c757265000060448201526064016101b4565b6000610cc1610c82600088888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f8a018190048102820181019092528881526106a991908a8a8083850183828082843760009201919091525092939250506115149050565b90506000610cce826115c6565b6bffffffffffffffffffffffff1981166000908152601c8a016020526040902090915060016002820154600160c01b900460ff166005811115610d1357610d1361200f565b1480610d3d5750600280820154600160c01b900460ff166005811115610d3b57610d3b61200f565b145b80610d67575060036002820154600160c01b900460ff166005811115610d6557610d6561200f565b145b610dd95760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473206f7220436c6f73696e672073746174650000000000000000000060648201526084016101b4565b6000888886604051602001610df093929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178e01909352912060028101549192509063ffffffff1615610e725760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c726561647920657869737473000060448201526064016101b4565b805473ffffffffffffffffffffffffffffffffffffffff19163317815534600182015560028101805464ffffffffff191663ffffffff42161790556bffffffffffffffffffffffff1984167ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d87610eef60608b0160408c01612132565b604051610f1f9291908c359060208e01359093845260ff9290921660208401526040830152606082015260800190565b60405180910390a25050505050505050505050565b600060028083604051610f479190612025565b602060405180830381855afa158015610f64573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f879190612060565b604051602001610f9991815260200190565b60408051601f1981840301815290829052610fb391612025565b602060405180830381855afa158015610fd0573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610ff39190612060565b92915050565b60008061104961100a600485612155565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b905060e081901c60d882901c63ff00ff001662ff00ff60e884901c1617601081811b91901c175b95945050505050565b60008060006110c2600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119789050565b909250905060006110d483600561208f565b905060005b828110156112b35760006111268389898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611af69050565b9050600061116d848a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b419050565b91505080156112925760006111bb858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b9050600061122b611205878d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b889050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161126e92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c9850505050506112b3565b61129c828561208f565b9350505080806112ab9061216c565b9150506110d9565b5050505092915050565b600080611304604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b9050600061134f611205604487878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b889050565b9050818160405160200161139292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b60028201805464ff000000001916640100000000179055600485015460018301546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b50505060006114b3611474600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f89018190048102820181019092528781526106a9919089898083850183828082843760009201919091525092939250506115149050565b905060006114c0826115c6565b9050806bffffffffffffffffffffffff19167f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b8460405161150391815260200190565b60405180910390a250505050505050565b016020015190565b6060600061152b600284612187565b61155657507f0200000000000000000000000000000000000000000000000000000000000000611579565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6bffffffffffffffffffffffff1981166000908152601c83016020526040902060016002820154600160c01b900460ff16600581111561162f5761162f61200f565b141561168557601a8301805474010000000000000000000000000000000000000000900463ffffffff16906014611665836121a9565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516bffffffffffffffffffffffff19841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a3601a83015460601b6bffffffffffffffffffffffff19908116908316141561174957601a8301805473ffffffffffffffffffffffffffffffffffffffff191690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916117989160040190815260200190565b600060405180830381600087803b1580156117b257600080fd5b505af11580156117c6573d6000803e3d6000fd5b50505050505050565b6000601082146117e157506000610ff3565b611825600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b7fffffffffffffffff0000000000000000000000000000000000000000000000009081161461185657506000610ff3565b50600192915050565b600085516040146118d85760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b65790000000000000000000000000000000000000000000000000060648201526084016101b4565b60006118e387611b9f565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561193b573d6000803e3d6000fd5b5050604051601f1901516001600160a01b0390811693169290921498975050505050505050565b60006119718383016020015190565b9392505050565b60008060006119878585611c24565b905060ff81166119b95760008585815181106119a5576119a56121c9565b016020015190935060f81c9150611aef9050565b836119c58260016121df565b60ff166119d2919061208f565b855110156119e95760001960009250925050611aef565b60008160ff1660021415611a2e57611a23611a0f611a0887600161208f565b8890611962565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611ae5565b8160ff1660041415611a5857611a4b611205611a0887600161208f565b63ffffffff169050611ae5565b8160ff1660081415611ae557611ad8611a75611a0887600161208f565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000806000611b058585611b41565b9092509050600019821415611b205760001992505050610ff3565b80611b2c83602561208f565b611b36919061208f565b61107090600461208f565b600080611b4f83602561208f565b84511015611b64575060001990506000611aef565b600080611b7b86611b7687602461208f565b611978565b9097909650945050505050565b6000611971611b9883602061208f565b8490611962565b60008151604014611c185760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e0000000000000000000000000000000000000060648201526084016101b4565b50805160209091012090565b6000828281518110611c3857611c386121c9565b60209101015160f81c60ff1415611c5157506008610ff3565b828281518110611c6357611c636121c9565b60209101015160f81c60fe1415611c7c57506004610ff3565b828281518110611c8e57611c8e6121c9565b60209101015160f81c60fd1415611ca757506002610ff3565b50600092915050565b60008083601f840112611cc257600080fd5b50813567ffffffffffffffff811115611cda57600080fd5b602083019150836020828501011115611aef57600080fd5b60008060008060008060808789031215611d0b57600080fd5b86359550602087013567ffffffffffffffff80821115611d2a57600080fd5b611d368a838b01611cb0565b90975095506040890135915080821115611d4f57600080fd5b50611d5c89828a01611cb0565b90945092505060608701358015158114611d7557600080fd5b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611daa57600080fd5b813567ffffffffffffffff80821115611dc557611dc5611d83565b604051601f8301601f19908116603f01168101908282118183101715611ded57611ded611d83565b81604052838152866020858801011115611e0657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060808789031215611e3f57600080fd5b86359550602087013567ffffffffffffffff80821115611e5e57600080fd5b611e6a8a838b01611cb0565b90975095506040890135915080821115611e8357600080fd5b818901915089601f830112611e9757600080fd5b813581811115611ea657600080fd5b8a60208260051b8501011115611ebb57600080fd5b602083019550809450506060890135915080821115611ed957600080fd5b50611ee689828a01611d99565b9150509295509295509295565b600080600080600060608688031215611f0b57600080fd5b85359450602086013567ffffffffffffffff80821115611f2a57600080fd5b611f3689838a01611cb0565b90965094506040880135915080821115611f4f57600080fd5b50611f5c88828901611cb0565b969995985093965092949392505050565b600080600080600085870360c0811215611f8657600080fd5b86359550602087013567ffffffffffffffff80821115611fa557600080fd5b611fb18a838b01611cb0565b90975095506040890135915080821115611fca57600080fd5b50611fd789828a01611d99565b9350506060605f1982011215611fec57600080fd5b506060860190509295509295909350565b82848237909101908152602001919050565b634e487b7160e01b600052602160045260246000fd5b6000825160005b81811015612046576020818601810151858301520161202c565b81811115612055576000828501525b509190910192915050565b60006020828403121561207257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156120a2576120a2612079565b500190565b600060a082016bffffffffffffffffffffffff89168352602088818501526001600160a01b038816604085015286606085015260a060808501528185835260c0850190508692506000805b8781101561212157843563ffffffff811680821461210e578384fd5b84525093830193918301916001016120f2565b50909b9a5050505050505050505050565b60006020828403121561214457600080fd5b813560ff8116811461197157600080fd5b60008282101561216757612167612079565b500390565b600060001982141561218057612180612079565b5060010190565b6000826121a457634e487b7160e01b600052601260045260246000fd5b500690565b600063ffffffff8216806121bf576121bf612079565b6000190192915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156121fc576121fc612079565b01939250505056fea2646970667358221220cd5288f57f03b83951062b62f65ff902b82dc6e72936ca553589a71b60e1132564736f6c63430008090033",
|
|
83
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063624526fe1461005b57806380ffe94a1461007d57806394fcaf8d1461009d578063eb8fdd5d146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004611cf2565b6100dd565b005b81801561008957600080fd5b5061007b610098366004611e26565b6103c2565b8180156100a957600080fd5b5061007b6100b8366004611ef3565b610910565b8180156100c957600080fd5b5061007b6100d8366004611f6d565b610ac7565b600061011e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3492505050565b9050600086868360405160200161013793929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178c01909352912060028101549192509063ffffffff166101bd5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff161561022c5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6102368686610ff9565b63ffffffff1660011461028b5760405162461bcd60e51b815260206004820152601260248201527f57726f6e6720736967686173682074797065000000000000000000000000000060448201526064016101b4565b6000846102a15761029c8787611079565b6102ab565b6102ab87876112bd565b600081815260068c0160205260409020600101549091507c0100000000000000000000000000000000000000000000000000000000900463ffffffff161515806103055750600081815260188b01602052604090205460ff165b80610337575060026000828152600c8c01602052604090206001015460ff1660038111156103355761033561200f565b145b6103a95760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f730000000000000000000000000000000060648201526084016101b4565b6103b68a8a8a85886113b3565b50505050505050505050565b60006002826040516103d49190612025565b602060405180830381855afa1580156103f1573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906104149190612060565b9050600086868360405160200161042d93929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178c01909352912060028101549192509063ffffffff166104ae5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561051d5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b60148901546002820154610537919063ffffffff1661208f565b4210156105ac5760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f757420796574000000000000000000000000000060648201526084016101b4565b60028101805464ff000000001916640100000000179055805460018201546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114610619576040519150601f19603f3d011682016040523d82523d6000602084013e61061e565b606091505b50505060006106ae61066a60008b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f8d018190048102820181019092528b81526106a991908d8d8083850183828082843760009201919091525092939250506115149050565b61151c565b905060006106bb826115c6565b6bffffffffffffffffffffffff1981166000908152601c8d0160205260409020600281015491925090600160c01b900460ff1660018160058111156107025761070261200f565b148061071f5750600281600581111561071d5761071d61200f565b145b8061073b575060038160058111156107395761073961200f565b145b156108095761074a8d846115ed565b8c60020160009054906101000a90046001600160a01b03166001600160a01b031663d8dc404d8e60150160009054906101000a90046bffffffffffffffffffffffff168f601601548860000160009054906101000a90046001600160a01b031686600001548f8f6040518763ffffffff1660e01b81526004016107d2969594939291906120a7565b600060405180830381600087803b1580156107ec57600080fd5b505af1158015610800573d6000803e3d6000fd5b505050506108bd565b600581600581111561081d5761081d61200f565b1415610828576108bd565b60405162461bcd60e51b8152602060048201526044602482018190527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e67908201527f46756e6473206f7220436c6f73696e67206f72205465726d696e61746564207360648201527f7461746500000000000000000000000000000000000000000000000000000000608482015260a4016101b4565b6040518781526bffffffffffffffffffffffff198416907f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b779060200160405180910390a250505050505050505050505050565b600061095183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3492505050565b9050600085858360405160200161096a93929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178b01909352912060028101549192509063ffffffff166109eb5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff1615610a5a5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b610a6485856117cf565b610ab05760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016101b4565b610abd88888884876113b3565b5050505050505050565b8460130154341015610b415760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f77000000000000000000000000000000000000000000000000000060648201526084016101b4565b6000600283604051610b539190612025565b602060405180830381855afa158015610b70573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b939190612060565b9050610bed85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610be19150506060860160408701612132565b8535602087013561185f565b610c395760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c757265000060448201526064016101b4565b6000610cc1610c82600088888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f8a018190048102820181019092528881526106a991908a8a8083850183828082843760009201919091525092939250506115149050565b90506000610cce826115c6565b6bffffffffffffffffffffffff1981166000908152601c8a016020526040902090915060016002820154600160c01b900460ff166005811115610d1357610d1361200f565b1480610d3d5750600280820154600160c01b900460ff166005811115610d3b57610d3b61200f565b145b80610d67575060036002820154600160c01b900460ff166005811115610d6557610d6561200f565b145b610dd95760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473206f7220436c6f73696e672073746174650000000000000000000060648201526084016101b4565b6000888886604051602001610df093929190611ffd565b60408051601f198184030181529181528151602092830120600081815260178e01909352912060028101549192509063ffffffff1615610e725760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c726561647920657869737473000060448201526064016101b4565b805473ffffffffffffffffffffffffffffffffffffffff19163317815534600182015560028101805464ffffffffff191663ffffffff42161790556bffffffffffffffffffffffff1984167ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d87610eef60608b0160408c01612132565b604051610f1f9291908c359060208e01359093845260ff9290921660208401526040830152606082015260800190565b60405180910390a25050505050505050505050565b600060028083604051610f479190612025565b602060405180830381855afa158015610f64573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f879190612060565b604051602001610f9991815260200190565b60408051601f1981840301815290829052610fb391612025565b602060405180830381855afa158015610fd0573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610ff39190612060565b92915050565b60008061104961100a600485612155565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b905060e081901c60d882901c63ff00ff001662ff00ff60e884901c1617601081811b91901c175b95945050505050565b60008060006110c2600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119789050565b909250905060006110d483600561208f565b905060005b828110156112b35760006111268389898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611af69050565b9050600061116d848a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b419050565b91505080156112925760006111bb858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b9050600061122b611205878d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b889050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161126e92919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c9850505050506112b3565b61129c828561208f565b9350505080806112ab9061216c565b9150506110d9565b5050505092915050565b600080611304604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b9050600061134f611205604487878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611b889050565b9050818160405160200161139292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b60028201805464ff000000001916640100000000179055600485015460018301546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b50505060006114b3611474600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115149050565b604080516020601f89018190048102820181019092528781526106a9919089898083850183828082843760009201919091525092939250506115149050565b905060006114c0826115c6565b9050806bffffffffffffffffffffffff19167f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b8460405161150391815260200190565b60405180910390a250505050505050565b016020015190565b6060600061152b600284612187565b61155657507f0200000000000000000000000000000000000000000000000000000000000000611579565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6bffffffffffffffffffffffff1981166000908152601c83016020526040902060016002820154600160c01b900460ff16600581111561162f5761162f61200f565b141561168557601a8301805474010000000000000000000000000000000000000000900463ffffffff16906014611665836121a9565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516bffffffffffffffffffffffff19841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a3601a83015460601b6bffffffffffffffffffffffff19908116908316141561174957601a8301805473ffffffffffffffffffffffffffffffffffffffff191690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916117989160040190815260200190565b600060405180830381600087803b1580156117b257600080fd5b505af11580156117c6573d6000803e3d6000fd5b50505050505050565b6000601082146117e157506000610ff3565b611825600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119629050565b7fffffffffffffffff0000000000000000000000000000000000000000000000009081161461185657506000610ff3565b50600192915050565b600085516040146118d85760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b65790000000000000000000000000000000000000000000000000060648201526084016101b4565b60006118e387611b9f565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561193b573d6000803e3d6000fd5b5050604051601f1901516001600160a01b0390811693169290921498975050505050505050565b60006119718383016020015190565b9392505050565b60008060006119878585611c24565b905060ff81166119b95760008585815181106119a5576119a56121c9565b016020015190935060f81c9150611aef9050565b836119c58260016121df565b60ff166119d2919061208f565b855110156119e95760001960009250925050611aef565b60008160ff1660021415611a2e57611a23611a0f611a0887600161208f565b8890611962565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611ae5565b8160ff1660041415611a5857611a4b611205611a0887600161208f565b63ffffffff169050611ae5565b8160ff1660081415611ae557611ad8611a75611a0887600161208f565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000806000611b058585611b41565b9092509050600019821415611b205760001992505050610ff3565b80611b2c83602561208f565b611b36919061208f565b61107090600461208f565b600080611b4f83602561208f565b84511015611b64575060001990506000611aef565b600080611b7b86611b7687602461208f565b611978565b9097909650945050505050565b6000611971611b9883602061208f565b8490611962565b60008151604014611c185760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e0000000000000000000000000000000000000060648201526084016101b4565b50805160209091012090565b6000828281518110611c3857611c386121c9565b60209101015160f81c60ff1415611c5157506008610ff3565b828281518110611c6357611c636121c9565b60209101015160f81c60fe1415611c7c57506004610ff3565b828281518110611c8e57611c8e6121c9565b60209101015160f81c60fd1415611ca757506002610ff3565b50600092915050565b60008083601f840112611cc257600080fd5b50813567ffffffffffffffff811115611cda57600080fd5b602083019150836020828501011115611aef57600080fd5b60008060008060008060808789031215611d0b57600080fd5b86359550602087013567ffffffffffffffff80821115611d2a57600080fd5b611d368a838b01611cb0565b90975095506040890135915080821115611d4f57600080fd5b50611d5c89828a01611cb0565b90945092505060608701358015158114611d7557600080fd5b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611daa57600080fd5b813567ffffffffffffffff80821115611dc557611dc5611d83565b604051601f8301601f19908116603f01168101908282118183101715611ded57611ded611d83565b81604052838152866020858801011115611e0657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060808789031215611e3f57600080fd5b86359550602087013567ffffffffffffffff80821115611e5e57600080fd5b611e6a8a838b01611cb0565b90975095506040890135915080821115611e8357600080fd5b818901915089601f830112611e9757600080fd5b813581811115611ea657600080fd5b8a60208260051b8501011115611ebb57600080fd5b602083019550809450506060890135915080821115611ed957600080fd5b50611ee689828a01611d99565b9150509295509295509295565b600080600080600060608688031215611f0b57600080fd5b85359450602086013567ffffffffffffffff80821115611f2a57600080fd5b611f3689838a01611cb0565b90965094506040880135915080821115611f4f57600080fd5b50611f5c88828901611cb0565b969995985093965092949392505050565b600080600080600085870360c0811215611f8657600080fd5b86359550602087013567ffffffffffffffff80821115611fa557600080fd5b611fb18a838b01611cb0565b90975095506040890135915080821115611fca57600080fd5b50611fd789828a01611d99565b9350506060605f1982011215611fec57600080fd5b506060860190509295509295909350565b82848237909101908152602001919050565b634e487b7160e01b600052602160045260246000fd5b6000825160005b81811015612046576020818601810151858301520161202c565b81811115612055576000828501525b509190910192915050565b60006020828403121561207257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156120a2576120a2612079565b500190565b600060a082016bffffffffffffffffffffffff89168352602088818501526001600160a01b038816604085015286606085015260a060808501528185835260c0850190508692506000805b8781101561212157843563ffffffff811680821461210e578384fd5b84525093830193918301916001016120f2565b50909b9a5050505050505050505050565b60006020828403121561214457600080fd5b813560ff8116811461197157600080fd5b60008282101561216757612167612079565b500390565b600060001982141561218057612180612079565b5060010190565b6000826121a457634e487b7160e01b600052601260045260246000fd5b500690565b600063ffffffff8216806121bf576121bf612079565b6000190192915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156121fc576121fc612079565b01939250505056fea2646970667358221220cd5288f57f03b83951062b62f65ff902b82dc6e72936ca553589a71b60e1132564736f6c63430008090033",
|
|
84
|
+
"linkReferences": {},
|
|
85
|
+
"deployedLinkReferences": {}
|
|
86
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "Heartbeat",
|
|
4
|
+
"sourceName": "contracts/bridge/Heartbeat.sol",
|
|
5
|
+
"abi": [],
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff4f1c05b8c1b270ba91e3b67d244e5aa1c1e803f4ef5708b9de8061a06e6e8a64736f6c63430008090033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff4f1c05b8c1b270ba91e3b67d244e5aa1c1e803f4ef5708b9de8061a06e6e8a64736f6c63430008090033",
|
|
8
|
+
"linkReferences": {},
|
|
9
|
+
"deployedLinkReferences": {}
|
|
10
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IRelay",
|
|
4
|
+
"sourceName": "contracts/bridge/IRelay.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "getCurrentEpochDifficulty",
|
|
9
|
+
"outputs": [
|
|
10
|
+
{
|
|
11
|
+
"internalType": "uint256",
|
|
12
|
+
"name": "",
|
|
13
|
+
"type": "uint256"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"stateMutability": "view",
|
|
17
|
+
"type": "function"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"inputs": [],
|
|
21
|
+
"name": "getPrevEpochDifficulty",
|
|
22
|
+
"outputs": [
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"stateMutability": "view",
|
|
30
|
+
"type": "function"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"bytecode": "0x",
|
|
34
|
+
"deployedBytecode": "0x",
|
|
35
|
+
"linkReferences": {},
|
|
36
|
+
"deployedLinkReferences": {}
|
|
37
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "MovingFunds",
|
|
4
|
+
"sourceName": "contracts/bridge/MovingFunds.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"anonymous": false,
|
|
8
|
+
"inputs": [
|
|
9
|
+
{
|
|
10
|
+
"indexed": true,
|
|
11
|
+
"internalType": "bytes20",
|
|
12
|
+
"name": "walletPubKeyHash",
|
|
13
|
+
"type": "bytes20"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"indexed": false,
|
|
17
|
+
"internalType": "bytes32",
|
|
18
|
+
"name": "movingFundsTxHash",
|
|
19
|
+
"type": "bytes32"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"indexed": false,
|
|
23
|
+
"internalType": "uint32",
|
|
24
|
+
"name": "movingFundsTxOutputIndex",
|
|
25
|
+
"type": "uint32"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"name": "MovedFundsSweepTimedOut",
|
|
29
|
+
"type": "event"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"anonymous": false,
|
|
33
|
+
"inputs": [
|
|
34
|
+
{
|
|
35
|
+
"indexed": true,
|
|
36
|
+
"internalType": "bytes20",
|
|
37
|
+
"name": "walletPubKeyHash",
|
|
38
|
+
"type": "bytes20"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"indexed": false,
|
|
42
|
+
"internalType": "bytes32",
|
|
43
|
+
"name": "sweepTxHash",
|
|
44
|
+
"type": "bytes32"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"name": "MovedFundsSwept",
|
|
48
|
+
"type": "event"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"anonymous": false,
|
|
52
|
+
"inputs": [
|
|
53
|
+
{
|
|
54
|
+
"indexed": true,
|
|
55
|
+
"internalType": "bytes20",
|
|
56
|
+
"name": "walletPubKeyHash",
|
|
57
|
+
"type": "bytes20"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"name": "MovingFundsBelowDustReported",
|
|
61
|
+
"type": "event"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"anonymous": false,
|
|
65
|
+
"inputs": [
|
|
66
|
+
{
|
|
67
|
+
"indexed": true,
|
|
68
|
+
"internalType": "bytes20",
|
|
69
|
+
"name": "walletPubKeyHash",
|
|
70
|
+
"type": "bytes20"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"indexed": false,
|
|
74
|
+
"internalType": "bytes20[]",
|
|
75
|
+
"name": "targetWallets",
|
|
76
|
+
"type": "bytes20[]"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"indexed": false,
|
|
80
|
+
"internalType": "address",
|
|
81
|
+
"name": "submitter",
|
|
82
|
+
"type": "address"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"name": "MovingFundsCommitmentSubmitted",
|
|
86
|
+
"type": "event"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"anonymous": false,
|
|
90
|
+
"inputs": [
|
|
91
|
+
{
|
|
92
|
+
"indexed": true,
|
|
93
|
+
"internalType": "bytes20",
|
|
94
|
+
"name": "walletPubKeyHash",
|
|
95
|
+
"type": "bytes20"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"indexed": false,
|
|
99
|
+
"internalType": "bytes32",
|
|
100
|
+
"name": "movingFundsTxHash",
|
|
101
|
+
"type": "bytes32"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"name": "MovingFundsCompleted",
|
|
105
|
+
"type": "event"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"anonymous": false,
|
|
109
|
+
"inputs": [
|
|
110
|
+
{
|
|
111
|
+
"indexed": true,
|
|
112
|
+
"internalType": "bytes20",
|
|
113
|
+
"name": "walletPubKeyHash",
|
|
114
|
+
"type": "bytes20"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"name": "MovingFundsTimedOut",
|
|
118
|
+
"type": "event"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"anonymous": false,
|
|
122
|
+
"inputs": [
|
|
123
|
+
{
|
|
124
|
+
"indexed": true,
|
|
125
|
+
"internalType": "bytes20",
|
|
126
|
+
"name": "walletPubKeyHash",
|
|
127
|
+
"type": "bytes20"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"name": "MovingFundsTimeoutReset",
|
|
131
|
+
"type": "event"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"bytecode": "0x614d0f61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100865760003560e01c8063899bef9d11610065578063899bef9d146100ed5780639b69e71d1461010d578063b79a97251461012d578063c8f779431461014d57600080fd5b806292bac91461008b57806307f96c42146100ad578063260b6cde146100cd575b600080fd5b81801561009757600080fd5b506100ab6100a6366004614392565b61016d565b005b8180156100b957600080fd5b506100ab6100c8366004614467565b61030e565b8180156100d957600080fd5b506100ab6100e83660046144c1565b610538565b8180156100f957600080fd5b506100ab610108366004614509565b6106be565b81801561011957600080fd5b506100ab610128366004614571565b610aad565b81801561013957600080fd5b506100ab61014836600461459d565b610c88565b81801561015957600080fd5b506100ab61016836600461461c565b610e47565b600061017a868686611593565b90506101cb8661018d60208801886146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506118839050565b60008061022e8860405180604001604052808681526020018a80604001906101f391906146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250611add565b60088a0154919350915067ffffffffffffffff16816102536060880160408901614721565b67ffffffffffffffff166102679190614752565b11156102ba5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b6102c5888584611faf565b6040518381526001600160601b03198516907fc635af1892551655b9dbb3256a0eed3e35baf4fcc5392b80e6a907b6f44a28389060200160405180910390a25050505050505050565b6001600160601b031983166000908152601c850160205260409020600280820154600160c01b900460ff16600581111561034a5761034a614769565b146103a95760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b600885015460028201546103ea9163ffffffff7001000000000000000000000000000000009091048116916c0100000000000000000000000090041661477f565b63ffffffff1642116104645760405162461bcd60e51b815260206004820152602260248201527f4d6f76696e672066756e647320686173206e6f742074696d6564206f7574207960448201527f657400000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b61046e858561214f565b600285015460088601546009870154835460405163d8dc404d60e01b81526001600160a01b039094169363d8dc404d936104ca93600160a01b9091046bffffffffffffffffffffffff169290913391908a908a906004016147eb565b600060405180830381600087803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b50506040516001600160601b0319871692507f5862a5a7095622ec6e3a04e5bb6547f1e4034af0d7d4d7e9787678072fc66fb29150600090a25050505050565b6001600160601b031982166000908152601c840160205260409020600280820154600160c01b900460ff16600581111561057457610574614769565b146105d35760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b60006105e085858561231c565b600886015490915067ffffffffffffffff68010000000000000000909104811690821610610678576040805162461bcd60e51b81526020600482015260248101919091527f57616c6c6574204254432062616c616e6365206d7573742062652062656c6f7760448201527f20746865206d6f76696e672066756e64732064757374207468726573686f6c6460648201526084016102b1565b610682858561241f565b6040516001600160601b03198516907ff54ae1d272063b0032d7dc7af48156e7a0c9711f404de48e494122d971b9dd1690600090a25050505050565b600085600c01600086866040516020016106ef92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012083529082019290925201600020905060018082015460ff16600381111561073057610730614769565b1461078c5760405162461bcd60e51b815260206004820152602660248201527f53776565702072657175657374206d75737420626520696e2050656e64696e6760448201526520737461746560d01b60648201526084016102b1565b600a86015481546107b99163ffffffff68010000000000000000909104811691600160e01b90041661477f565b63ffffffff1642116108335760405162461bcd60e51b815260206004820152602360248201527f5377656570207265717565737420686173206e6f742074696d6564206f75742060448201527f796574000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b805460601b6001600160601b031981166000908152601c8801602052604090206002810154600160c01b900460ff16600181600581111561087657610876614769565b14806108935750600281600581111561089157610891614769565b145b806108af575060058160058111156108ad576108ad614769565b145b6109215760405162461bcd60e51b815260206004820152603f60248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e6473206f72205465726d696e617465642073746174650060648201526084016102b1565b60018401805460ff1916600317905560028201805463ffffffff600160a01b909104169060146109508361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550506001600581111561098257610982614769565b81600581111561099457610994614769565b14806109b1575060028160058111156109af576109af614769565b145b15610a58576109c0898461214f565b6002890154600a8a0154600b8b0154845460405163d8dc404d60e01b81526001600160a01b039094169363d8dc404d93610a25936c010000000000000000000000009091046bffffffffffffffffffffffff169290913391908d908d906004016147eb565b600060405180830381600087803b158015610a3f57600080fd5b505af1158015610a53573d6000803e3d6000fd5b505050505b6040805189815263ffffffff891660208201526001600160601b03198516917f4c25d874672bd8dcc921a53387892a0d5c26d5dae3d368ffe83f65cc99700612910160405180910390a2505050505050505050565b6001600160601b031981166000908152601c830160205260409020600280820154600160c01b900460ff166005811115610ae957610ae9614769565b14610b485760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b600381015415610bae5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e7420616c7265616460448201526a1e481cdd589b5a5d1d195960aa1b60648201526084016102b1565b601a830154600160a01b900463ffffffff1615610c0d5760405162461bcd60e51b815260206004820152601f60248201527f4c6976652077616c6c65747320636f756e74206d757374206265207a65726f0060448201526064016102b1565b6002810180547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff166c010000000000000000000000004263ffffffff16021790556040516001600160601b03198316907fa59c6e2153c28ecd6a3507cfa44c3ab392779ff484a1aee02e40345c63a59bc090600090a2505050565b6000610c95858585611593565b9050600080610ce587610cab60408901896146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124cc92505050565b91509150600080610cf7898588612581565b90925090506000610d4d8a610d0f60208c018c6146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508a91506127779050565b600a8b015490915067ffffffffffffffff90811690610d6e90861683614752565b1115610dbc5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064016102b1565b60408051602080820189905260008284015260c087901b6001600160c01b03191660448301528251602c818403018152604c830180855281519190920120600187015588905290516001600160601b03198716917f1650566b0cdca3878702c6b169ab429b57de91a06c61998925d0adf6227b243e9190819003606c0190a250505050505050505050565b6001600160601b031987166000908152601c890160205260409020600280820154600160c01b900460ff166005811115610e8357610e83614769565b14610ef65760405162461bcd60e51b815260206004820152602a60248201527f536f757263652077616c6c6574206d75737420626520696e204d6f76696e674660448201527f756e64732073746174650000000000000000000000000000000000000000000060648201526084016102b1565b600281015467ffffffffffffffff1615610f785760405162461bcd60e51b815260206004820152603760248201527f536f757263652077616c6c6574206d7573742068616e646c6520616c6c20706560448201527f6e64696e6720726564656d7074696f6e7320666972737400000000000000000060648201526084016102b1565b6002810154600160a01b900463ffffffff16156110235760405162461bcd60e51b815260206004820152604660248201527f536f757263652077616c6c6574206d7573742068616e646c6520616c6c20706560448201527f6e64696e67206d6f7665642066756e647320737765657020726571756573747360648201527f2066697273740000000000000000000000000000000000000000000000000000608482015260a4016102b1565b6003810154156110895760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e7420616c7265616460448201526a1e481cdd589b5a5d1d195960aa1b60648201526084016102b1565b600289015481546040517fdf07ce590000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163df07ce59916110dc918a908a9033908b9060040161485a565b60206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c9190614891565b61119e5760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f742061206d656d626572206f662074686520736f60448201527f757263652077616c6c657400000000000000000000000000000000000000000060648201526084016102b1565b60006111ab8a8a8a61231c565b905060008167ffffffffffffffff16116112075760405162461bcd60e51b815260206004820152601a60248201527f57616c6c6574204254432062616c616e6365206973207a65726f00000000000060448201526064016102b1565b601a8a01546000906112449063ffffffff600160a01b8204169061123f9067ffffffffffffffff80871691600160c01b900416612b62565b612b9d565b9050600081116112965760405162461bcd60e51b815260206004820152601b60248201527f4e6f207461726765742077616c6c65747320617661696c61626c65000000000060448201526064016102b1565b83811461130b5760405162461bcd60e51b815260206004820152603560248201527f5375626d6974746564207461726765742077616c6c65747320636f756e74206960448201527f73206f74686572207468616e206578706563746564000000000000000000000060648201526084016102b1565b6000805b8581101561150e57600087878381811061132b5761132b6148b3565b905060200201602081019061134091906148c9565b90506001600160601b0319808216908e1614156113c55760405162461bcd60e51b815260206004820152603c60248201527f5375626d6974746564207461726765742077616c6c65742063616e6e6f74206260448201527f6520657175616c20746f2074686520736f757263652077616c6c65740000000060648201526084016102b1565b6001600160a01b038316606082901c116114475760405162461bcd60e51b815260206004820152603160248201527f5375626d6974746564207461726765742077616c6c657420627265616b73207460448201527f6865206578706563746564206f7264657200000000000000000000000000000060648201526084016102b1565b6001600160601b031981166000908152601c8f016020526040902060020154600190600160c01b900460ff16600581111561148457611484614769565b146114f75760405162461bcd60e51b815260206004820152602d60248201527f5375626d6974746564207461726765742077616c6c6574206d7573742062652060448201527f696e204c6976652073746174650000000000000000000000000000000000000060648201526084016102b1565b60601c915080611506816148e4565b91505061130f565b5085856040516020016115229291906148ff565b60408051601f1981840301815290829052805160209091012060038601556001600160601b03198c16907ffcab32b1dc365ef82ae9df4be019512ca536c191bd68f523b9f33d0c070e8d4a9061157d90899089903390614940565b60405180910390a2505050505050505050505050565b60006115df6115a560208501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bb392505050565b61162b5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016102b1565b61167561163b60408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c6392505050565b6116c15760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016102b1565b6117246116d1602085018561499f565b6116de60208601866146c2565b6116eb60408801886146c2565b6116fb60808a0160608b0161499f565b604051602001611710969594939291906149c9565b604051602081830303815290604052612d06565b90506117bf61177361173960408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d2d92505050565b61177d84806146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869493925050506020860135612d3a565b6118315760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016102b1565b61187c8461184260408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d7692505050565b9392505050565b6001600160601b031981166000908152601c85016020526040902060010154806118ef5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c657400000060448201526064016102b1565b8083356119026040860160208701614a0b565b6119126060870160408801614721565b60405160200161194f9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146119b25760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016102b1565b6000806119be866130e5565b90925090508435821480156119ed575063ffffffff81166119e56040870160208801614a0b565b63ffffffff16145b611a5f5760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f0060648201526084016102b1565b60016018880160008735611a7960408a0160208b01614a0b565b604051602001611aa092919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff191691151591909117905550505050505050565b600080600080611af085602001516131c0565b90925090506000611b02836001614a26565b905060008267ffffffffffffffff811115611b1f57611b1f614a3e565b604051908082528060200260200182016040528015611b48578160200160208202803683370190505b50905060008367ffffffffffffffff811115611b6657611b66614a3e565b604051908082528060200260200182016040528015611b8f578160200160208202803683370190505b50905060005b848163ffffffff161015611e5a576020890151600090611bb590866131d7565b60208b0151909150600090611bcb90878461323d565b90506000611bd98d83613307565b905080868563ffffffff1681518110611bf457611bf46148b3565b6001600160601b031990921660209283029190910190910152611c16826134c7565b858563ffffffff1681518110611c2e57611c2e6148b3565b602002602001019067ffffffffffffffff16908167ffffffffffffffff1681525050848463ffffffff1681518110611c6857611c686148b3565b602002602001015167ffffffffffffffff168a611c859190614a26565b99506040518060800160405280826bffffffffffffffffffffffff19168152602001868663ffffffff1681518110611cbf57611cbf6148b3565b602002602001015167ffffffffffffffff1681526020014263ffffffff16815260200160016003811115611cf557611cf5614769565b90528c516040805160208101929092526001600160e01b031960e088901b1690820152600c8f019060009060440160408051601f19818403018152918152815160209283012083528282019390935290820160002083518154928501519385015163ffffffff16600160e01b027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff67ffffffffffffffff909516600160a01b026001600160e01b0319909416606092831c1793909317939093169190911781559082015160018083018054909160ff1990911690836003811115611dd757611dd7614769565b021790555050506001600160601b031981166000908152601c8e01602052604090206002018054600160a01b900463ffffffff16906014611e1783614a54565b91906101000a81548163ffffffff021916908363ffffffff160217905550508287611e429190614a26565b96505050508080611e5290614a54565b915050611b95565b506000611e678588614a8e565b9050600085611e76838a614752565b611e809190614aa2565b90506000611e8e8383614a26565b905060005b87811015611f7557848181518110611ead57611ead6148b3565b602002602001015167ffffffffffffffff168311158015611ef1575081858281518110611edc57611edc6148b3565b602002602001015167ffffffffffffffff1611155b611f635760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206973206e6f742064697374726960448201527f6275746564206576656e6c79000000000000000000000000000000000000000060648201526084016102b1565b80611f6d816148e4565b915050611e93565b5084604051602001611f879190614ab6565b60405160208183030381529060405280519060200120995050505050505050505b9250929050565b6001600160601b031982166000908152601c840160205260409020600280820154600160c01b900460ff166005811115611feb57611feb614769565b1461204a5760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b6003810154806120c25760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d69747465642079657400000000000000000000000000000000000000000060648201526084016102b1565b8281146121375760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e7400000000000000000000000000000060648201526084016102b1565b60006001830155612148858561241f565b5050505050565b6001600160601b031981166000908152601c83016020526040902060016002820154600160c01b900460ff16600581111561218c5761218c614769565b14156121d157601a83018054600160a01b900463ffffffff169060146121b18361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516001600160601b0319841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a3601a83015460601b6001600160601b0319908116908316141561229657601a830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916122e59160040190815260200190565b600060405180830381600087803b1580156122ff57600080fd5b505af1158015612313573d6000803e3d6000fd5b50505050505050565b6001600160601b031982166000908152601c840160205260408120600101548015612417578083356123546040860160208701614a0b565b6123646060870160408801614721565b6040516020016123a19392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146124045760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f206461746100000060448201526064016102b1565b6124146060840160408501614721565b91505b509392505050565b6001600160601b031981166000818152601c8401602052604080822060028101805463ffffffff4216700100000000000000000000000000000000027fffffffffffffff00ffffffff00000000ffffffffffffffffffffffffffffffff909116177803000000000000000000000000000000000000000000000000179055805491519093927f68cb496f5e64383745876664ef119840f154a729c03ba866b8aecb5c9f53d51691a3505050565b60008060006124da846131c0565b915050806001146125535760405162461bcd60e51b815260206004820152603760248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d7560448201527f7374206861766520612073696e676c65206f757470757400000000000000000060648201526084016102b1565b600061255f858261353e565b905061256b8682613307565b9350612576816134c7565b925050509250929050565b604080516060810182526000808252602082018190529181018290526001600160601b031984166000908152601c8601602052604090206002810154909250600160c01b900460ff1660018160058111156125de576125de614769565b14806125fb575060028160058111156125f9576125f9614769565b145b61266d5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016102b1565b60408051606081018252600080825260208201819052918101919091526001840154909250801561276d578085356126ab6040880160208901614a0b565b6126bb6060890160408a01614721565b6040516020016126f89392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b604051602081830303815290604052805190602001201461275b5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016102b1565b61276a36869003860186614af6565b92505b5050935093915050565b6000806000612785866131c0565b90925090506000612797836001614a26565b86519091506127a75760016127aa565b60025b60ff1682146128215760405162461bcd60e51b815260206004820152603d60248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d7560448201527f7374206861766520612070726f70657220696e7075747320636f756e7400000060648201526084016102b1565b60008060006128308a85613709565b92509250925060008b600c016000858560405160200161286792919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012083529082019290925201600020905060018082015460ff1660038111156128a8576128a8614769565b146129045760405162461bcd60e51b815260206004820152602660248201527f53776565702072657175657374206d75737420626520696e2050656e64696e6760448201526520737461746560d01b60648201526084016102b1565b805460601b6001600160601b0319908116908a161461298b5760405162461bcd60e51b815260206004820152602760248201527f537765657020726571756573742062656c6f6e677320746f20616e6f7468657260448201527f2077616c6c65740000000000000000000000000000000000000000000000000060648201526084016102b1565b60018101805460ff1916600217905580546129b89067ffffffffffffffff600160a01b9091041689614a26565b6001600160601b03198a166000908152601c8e01602052604090206002018054919950600160a01b90910463ffffffff169060146129f58361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550506000801b8a6000015114612b5257600080612a388d612a33868a614a26565b613709565b508d51919350915082148015612a5d57508063ffffffff168c6020015163ffffffff16145b612acf5760405162461bcd60e51b815260206004820152603160248201527f5365636f6e6420696e707574206d75737420706f696e7420746f20746865207760448201527f616c6c65742773206d61696e205554584f00000000000000000000000000000060648201526084016102b1565b60408c0151612ae89067ffffffffffffffff168b614a26565b995060018e60180160008484604051602001612b1b92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff191691151591909117905550505b505050505050505b949350505050565b6000612b6e8284614a8e565b15612b7a576001612b7d565b60005b60ff16612b8a8385614aa2565b612b949190614a26565b90505b92915050565b6000818310612bac5781612b94565b5090919050565b6000806000612bc1846131c0565b9092509050801580612bd4575060001982145b15612be3575060009392505050565b6000612bf0836001614a26565b905060005b82811015612c565785518210612c115750600095945050505050565b6000612c1d878461373b565b9050600019811415612c36575060009695505050505050565b612c408184614a26565b9250508080612c4e906148e4565b915050612bf5565b5093519093149392505050565b6000806000612c71846131c0565b9092509050801580612c84575060001982145b15612c93575060009392505050565b6000612ca0836001614a26565b905060005b82811015612c565785518210612cc15750600095945050505050565b6000612ccd87846131d7565b9050600019811415612ce6575060009695505050505050565b612cf08184614a26565b9250508080612cfe906148e4565b915050612ca5565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6044810151600090612b97565b60008385148015612d49575081155b8015612d5457508251155b15612d6157506001612b5a565b612d6d85848685613786565b95945050505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be91600480820192602092909190829003018186803b158015612ddb57600080fd5b505afa158015612def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e139190614b69565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b158015612e5057600080fd5b505afa158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e889190614b69565b9050600080612e9e612e998761382e565b6138c3565b905083811415612eb057839150612f2e565b82811415612ec057829150612f2e565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016102b1565b6000612f39876138eb565b9050600019811415612fb35760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b6001198114156130055760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016102b1565b6002198114156130575760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016102b1565b60038801546130669084614b82565b8110156130db5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016102b1565b5050505050505050565b60008060006130f3846131c0565b9150508060011461316c5760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e7075740000000000000000000000000000000000000060648201526084016102b1565b60006131788582613af2565b905061318381613ca7565b93506131b761319182613cb4565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b6000806131ce836000613cc1565b91509150915091565b60006131e4826009614a26565b835110156131f55750600019612b97565b60008061320c85613207866008614a26565b613cc1565b90925090506000198214156132275760001992505050612b97565b80613233836009614a26565b612d6d9190614a26565b606081613259575060408051602081019091526000815261187c565b60006132658385614a26565b90508381118015613277575080855110155b6132c35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102b1565b604051915082604083010160405282825283850182038460208701018481015b808210156132fc578151838301526020820191506132e3565b505050509392505050565b60008061331383613e3e565b9050805160141461338c5760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016102b1565b6133978160006140dc565b915060006133b560088086516133ad9190614752565b86919061323d565b8051602091820120604080517f1976a91400000000000000000000000000000000000000000000000000000000818501526001600160601b031987166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601207f1600140000000000000000000000000000000000000000000000000000000000605a840152605d83019190915282516051818403018152607190920190925280519301929092209092508183148061347157508083145b6134bd5760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016102b1565b5050505092915050565b6000806134d3836140eb565b60c01c90506000612b5a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b606060008061354c856131c0565b90925090506000198214156135ae5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016102b1565b8084106135fd5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016102b1565b60008061360b846001614a26565b905060005b868110156136945761362288836131d7565b92506000198314156136765760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102b1565b6136808383614a26565b91508061368c816148e4565b915050613610565b5061369f87826131d7565b91506000198214156136f35760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102b1565b6136fe87828461323d565b979650505050505050565b6000808061371785856140dc565b925061372661319186866140f7565b9150613732858561373b565b90509250925092565b600080600061374a858561410e565b90925090506000198214156137655760001992505050612b97565b80613771836025614a26565b61377b9190614a26565b612d6d906004614a26565b6000602084516137969190614a8e565b156137a357506000612b5a565b83516137b157506000612b5a565b818560005b8651811015613821576137ca600284614a8e565b600114156137ef576137e86137e28883016020015190565b83614150565b9150613808565b613805826138008984016020015190565b614150565b91505b60019290921c9161381a602082614a26565b90506137b6565b5090931495945050505050565b60008061383c8360486140dc565b60e81c9050600083604b81518110613856576138566148b3565b016020015160f81c9050600061388a83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff169050600061389e600384614ba1565b60ff1690506138af81610100614ca8565b6138b99083614b82565b9695505050505050565b6000612b977bffff00000000000000000000000000000000000000000000000000008361415c565b6000605082516138fb9190614a8e565b156139095750600019919050565b506040805160808101909152605081526000908190815b8451811015613aea57613934858383614168565b80156139545761394482846141fd565b6139545750600119949350505050565b600061395f8361382e565b905061396a83612d06565b935080613aae8560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115613ac1575060021995945050505050565b613ad4613acd826138c3565b8690614226565b9450613ae39050605082614a26565b9050613920565b505050919050565b6060600080613b00856131c0565b9092509050600019821415613b625760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016102b1565b808410613bb15760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e0000000000000000000000000000000060448201526064016102b1565b600080613bbf846001614a26565b905060005b86811015613c4857613bd6888361373b565b9250600019831415613c2a5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016102b1565b613c348383614a26565b915080613c40816148e4565b915050613bc4565b50613c53878261373b565b91506000198214156136f35760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016102b1565b6020810151600090612b97565b6000612b978260206140dc565b6000806000613cd08585614284565b905060ff8116613d02576000858581518110613cee57613cee6148b3565b016020015190935060f81c9150611fa89050565b83613d0e826001614cb4565b60ff16613d1b9190614a26565b85511015613d325760001960009250925050611fa8565b60008160ff1660021415613d7757613d6c613d58613d51876001614a26565b88906140dc565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613e2e565b8160ff1660041415613da157613d94613191613d51876001614a26565b63ffffffff169050613e2e565b8160ff1660081415613e2e57613e21613dbe613d51876001614a26565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060600082600881518110613e5557613e556148b3565b0160200151835160f89190911c9150613e6f826009614cb4565b60ff1614613e8d575050604080516020810190915260008152919050565b82600981518110613ea057613ea06148b3565b016020015160f81c613f3e5760028160ff161015613ece575050604080516020810190915260008152919050565b600083600a81518110613ee357613ee36148b3565b016020015160f81c9050613ef8600283614ba1565b60ff1681141580613f16575080602014158015613f16575080601414155b15613f3257505060408051602081019091526000815292915050565b612b5a84600b8361323d565b6000613f4b8460086140dc565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156140285783600b81518110613faa57613faa6148b3565b60209101015160f81c6014141580613fff5750613fd560028551613fce9190614752565b85906140dc565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b1561401b57505060408051602081019091526000815292915050565b612b5a84600c601461323d565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156140c55783600185516140819190614752565b81518110614091576140916148b3565b60209101015160f81c6087146140b857505060408051602081019091526000815292915050565b612b5a84600b601461323d565b505050604080516020810190915260008152919050565b6000612b948383016020015190565b6000612b9782826140dc565b6000612b94614107836020614a26565b84906140dc565b60008061411c836025614a26565b84511015614131575060001990506000611fa8565b60008061414386613207876024614a26565b9097909650945050505050565b6000612b948383614310565b6000612b948284614aa2565b815160006141768284614a26565b90508281118015614188575080855110155b6141d45760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102b1565b826020860101602085018382015b808310156130db5782518252602092830192909101906141e2565b6000806142098461433e565b905082811461421c576000915050612b97565b5060019392505050565b60006142328284614a26565b905082811015612b975760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e0000000000000060448201526064016102b1565b6000828281518110614298576142986148b3565b60209101015160f81c60ff14156142b157506008612b97565b8282815181106142c3576142c36148b3565b60209101015160f81c60fe14156142dc57506004612b97565b8282815181106142ee576142ee6148b3565b60209101015160f81c60fd141561430757506002612b97565b50600092915050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6024810151600090612b97565b60006080828403121561435d57600080fd5b50919050565b60006060828403121561435d57600080fd5b80356001600160601b03198116811461438d57600080fd5b919050565b600080600080600060e086880312156143aa57600080fd5b85359450602086013567ffffffffffffffff808211156143c957600080fd5b6143d589838a0161434b565b955060408801359150808211156143eb57600080fd5b506143f888828901614363565b9350506144088760608801614363565b915061441660c08701614375565b90509295509295909350565b60008083601f84011261443457600080fd5b50813567ffffffffffffffff81111561444c57600080fd5b6020830191508360208260051b8501011115611fa857600080fd5b6000806000806060858703121561447d57600080fd5b8435935061448d60208601614375565b9250604085013567ffffffffffffffff8111156144a957600080fd5b6144b587828801614422565b95989497509550505050565b600080600060a084860312156144d657600080fd5b833592506144e660208501614375565b91506137328560408601614363565b803563ffffffff8116811461438d57600080fd5b60008060008060006080868803121561452157600080fd5b8535945060208601359350614538604087016144f5565b9250606086013567ffffffffffffffff81111561455457600080fd5b61456088828901614422565b969995985093965092949392505050565b6000806040838503121561458457600080fd5b8235915061459460208401614375565b90509250929050565b60008060008060c085870312156145b357600080fd5b84359350602085013567ffffffffffffffff808211156145d257600080fd5b6145de8883890161434b565b945060408701359150808211156145f457600080fd5b5061460187828801614363565b9250506146118660608701614363565b905092959194509250565b600080600080600080600080610100898b03121561463957600080fd5b8835975061464960208a01614375565b96506146588a60408b01614363565b955060a089013567ffffffffffffffff8082111561467557600080fd5b6146818c838d01614422565b909750955060c08b0135945060e08b01359150808211156146a157600080fd5b506146ae8b828c01614422565b999c989b5096995094979396929594505050565b6000808335601e198436030181126146d957600080fd5b83018035915067ffffffffffffffff8211156146f457600080fd5b602001915036819003821315611fa857600080fd5b803567ffffffffffffffff8116811461438d57600080fd5b60006020828403121561473357600080fd5b612b9482614709565b634e487b7160e01b600052601160045260246000fd5b6000828210156147645761476461473c565b500390565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561479e5761479e61473c565b01949350505050565b8183526000602080850194508260005b858110156147e05763ffffffff6147cd836144f5565b16875295820195908201906001016147b7565b509495945050505050565b6bffffffffffffffffffffffff871681528560208201526001600160a01b038516604082015283606082015260a06080820152600061482e60a0830184866147a7565b98975050505050505050565b600063ffffffff8216806148505761485061473c565b6000190192915050565b8581526080602082015260006148746080830186886147a7565b6001600160a01b0394909416604083015250606001529392505050565b6000602082840312156148a357600080fd5b8151801515811461187c57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156148db57600080fd5b612b9482614375565b60006000198214156148f8576148f861473c565b5060010190565b60008184825b85811015614935576001600160601b031961491f83614375565b1683526020928301929190910190600101614905565b509095945050505050565b6040808252810183905260008460608301825b86811015614982576001600160601b031961496d84614375565b16825260209283019290910190600101614953565b5080925050506001600160a01b0383166020830152949350505050565b6000602082840312156149b157600080fd5b81356001600160e01b03198116811461187c57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215614a1d57600080fd5b612b94826144f5565b60008219821115614a3957614a3961473c565b500190565b634e487b7160e01b600052604160045260246000fd5b600063ffffffff80831681811415614a6e57614a6e61473c565b6001019392505050565b634e487b7160e01b600052601260045260246000fd5b600082614a9d57614a9d614a78565b500690565b600082614ab157614ab1614a78565b500490565b815160009082906020808601845b83811015614aea5781516001600160601b03191685529382019390820190600101614ac4565b50929695505050505050565b600060608284031215614b0857600080fd5b6040516060810181811067ffffffffffffffff82111715614b3957634e487b7160e01b600052604160045260246000fd5b60405282358152614b4c602084016144f5565b6020820152614b5d60408401614709565b60408201529392505050565b600060208284031215614b7b57600080fd5b5051919050565b6000816000190483118215151615614b9c57614b9c61473c565b500290565b600060ff821660ff841680821015614bbb57614bbb61473c565b90039392505050565b600181815b80851115614bff578160001904821115614be557614be561473c565b80851615614bf257918102915b93841c9390800290614bc9565b509250929050565b600082614c1657506001612b97565b81614c2357506000612b97565b8160018114614c395760028114614c4357614c5f565b6001915050612b97565b60ff841115614c5457614c5461473c565b50506001821b612b97565b5060208310610133831016604e8410600b8410161715614c82575081810a612b97565b614c8c8383614bc4565b8060001904821115614ca057614ca061473c565b029392505050565b6000612b948383614c07565b600060ff821660ff84168060ff03821115614cd157614cd161473c565b01939250505056fea2646970667358221220b75cfaa033a279a06e1b995791e959e41113f26ea8d20240c1ba9dfdc833be6164736f6c63430008090033",
|
|
135
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100865760003560e01c8063899bef9d11610065578063899bef9d146100ed5780639b69e71d1461010d578063b79a97251461012d578063c8f779431461014d57600080fd5b806292bac91461008b57806307f96c42146100ad578063260b6cde146100cd575b600080fd5b81801561009757600080fd5b506100ab6100a6366004614392565b61016d565b005b8180156100b957600080fd5b506100ab6100c8366004614467565b61030e565b8180156100d957600080fd5b506100ab6100e83660046144c1565b610538565b8180156100f957600080fd5b506100ab610108366004614509565b6106be565b81801561011957600080fd5b506100ab610128366004614571565b610aad565b81801561013957600080fd5b506100ab61014836600461459d565b610c88565b81801561015957600080fd5b506100ab61016836600461461c565b610e47565b600061017a868686611593565b90506101cb8661018d60208801886146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506118839050565b60008061022e8860405180604001604052808681526020018a80604001906101f391906146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250611add565b60088a0154919350915067ffffffffffffffff16816102536060880160408901614721565b67ffffffffffffffff166102679190614752565b11156102ba5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b6102c5888584611faf565b6040518381526001600160601b03198516907fc635af1892551655b9dbb3256a0eed3e35baf4fcc5392b80e6a907b6f44a28389060200160405180910390a25050505050505050565b6001600160601b031983166000908152601c850160205260409020600280820154600160c01b900460ff16600581111561034a5761034a614769565b146103a95760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b600885015460028201546103ea9163ffffffff7001000000000000000000000000000000009091048116916c0100000000000000000000000090041661477f565b63ffffffff1642116104645760405162461bcd60e51b815260206004820152602260248201527f4d6f76696e672066756e647320686173206e6f742074696d6564206f7574207960448201527f657400000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b61046e858561214f565b600285015460088601546009870154835460405163d8dc404d60e01b81526001600160a01b039094169363d8dc404d936104ca93600160a01b9091046bffffffffffffffffffffffff169290913391908a908a906004016147eb565b600060405180830381600087803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b50506040516001600160601b0319871692507f5862a5a7095622ec6e3a04e5bb6547f1e4034af0d7d4d7e9787678072fc66fb29150600090a25050505050565b6001600160601b031982166000908152601c840160205260409020600280820154600160c01b900460ff16600581111561057457610574614769565b146105d35760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b60006105e085858561231c565b600886015490915067ffffffffffffffff68010000000000000000909104811690821610610678576040805162461bcd60e51b81526020600482015260248101919091527f57616c6c6574204254432062616c616e6365206d7573742062652062656c6f7760448201527f20746865206d6f76696e672066756e64732064757374207468726573686f6c6460648201526084016102b1565b610682858561241f565b6040516001600160601b03198516907ff54ae1d272063b0032d7dc7af48156e7a0c9711f404de48e494122d971b9dd1690600090a25050505050565b600085600c01600086866040516020016106ef92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012083529082019290925201600020905060018082015460ff16600381111561073057610730614769565b1461078c5760405162461bcd60e51b815260206004820152602660248201527f53776565702072657175657374206d75737420626520696e2050656e64696e6760448201526520737461746560d01b60648201526084016102b1565b600a86015481546107b99163ffffffff68010000000000000000909104811691600160e01b90041661477f565b63ffffffff1642116108335760405162461bcd60e51b815260206004820152602360248201527f5377656570207265717565737420686173206e6f742074696d6564206f75742060448201527f796574000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b805460601b6001600160601b031981166000908152601c8801602052604090206002810154600160c01b900460ff16600181600581111561087657610876614769565b14806108935750600281600581111561089157610891614769565b145b806108af575060058160058111156108ad576108ad614769565b145b6109215760405162461bcd60e51b815260206004820152603f60248201527f45434453412077616c6c6574206d75737420626520696e204c697665206f722060448201527f4d6f76696e6746756e6473206f72205465726d696e617465642073746174650060648201526084016102b1565b60018401805460ff1916600317905560028201805463ffffffff600160a01b909104169060146109508361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550506001600581111561098257610982614769565b81600581111561099457610994614769565b14806109b1575060028160058111156109af576109af614769565b145b15610a58576109c0898461214f565b6002890154600a8a0154600b8b0154845460405163d8dc404d60e01b81526001600160a01b039094169363d8dc404d93610a25936c010000000000000000000000009091046bffffffffffffffffffffffff169290913391908d908d906004016147eb565b600060405180830381600087803b158015610a3f57600080fd5b505af1158015610a53573d6000803e3d6000fd5b505050505b6040805189815263ffffffff891660208201526001600160601b03198516917f4c25d874672bd8dcc921a53387892a0d5c26d5dae3d368ffe83f65cc99700612910160405180910390a2505050505050505050565b6001600160601b031981166000908152601c830160205260409020600280820154600160c01b900460ff166005811115610ae957610ae9614769565b14610b485760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b600381015415610bae5760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e7420616c7265616460448201526a1e481cdd589b5a5d1d195960aa1b60648201526084016102b1565b601a830154600160a01b900463ffffffff1615610c0d5760405162461bcd60e51b815260206004820152601f60248201527f4c6976652077616c6c65747320636f756e74206d757374206265207a65726f0060448201526064016102b1565b6002810180547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff166c010000000000000000000000004263ffffffff16021790556040516001600160601b03198316907fa59c6e2153c28ecd6a3507cfa44c3ab392779ff484a1aee02e40345c63a59bc090600090a2505050565b6000610c95858585611593565b9050600080610ce587610cab60408901896146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124cc92505050565b91509150600080610cf7898588612581565b90925090506000610d4d8a610d0f60208c018c6146c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508a91506127779050565b600a8b015490915067ffffffffffffffff90811690610d6e90861683614752565b1115610dbc5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064016102b1565b60408051602080820189905260008284015260c087901b6001600160c01b03191660448301528251602c818403018152604c830180855281519190920120600187015588905290516001600160601b03198716917f1650566b0cdca3878702c6b169ab429b57de91a06c61998925d0adf6227b243e9190819003606c0190a250505050505050505050565b6001600160601b031987166000908152601c890160205260409020600280820154600160c01b900460ff166005811115610e8357610e83614769565b14610ef65760405162461bcd60e51b815260206004820152602a60248201527f536f757263652077616c6c6574206d75737420626520696e204d6f76696e674660448201527f756e64732073746174650000000000000000000000000000000000000000000060648201526084016102b1565b600281015467ffffffffffffffff1615610f785760405162461bcd60e51b815260206004820152603760248201527f536f757263652077616c6c6574206d7573742068616e646c6520616c6c20706560448201527f6e64696e6720726564656d7074696f6e7320666972737400000000000000000060648201526084016102b1565b6002810154600160a01b900463ffffffff16156110235760405162461bcd60e51b815260206004820152604660248201527f536f757263652077616c6c6574206d7573742068616e646c6520616c6c20706560448201527f6e64696e67206d6f7665642066756e647320737765657020726571756573747360648201527f2066697273740000000000000000000000000000000000000000000000000000608482015260a4016102b1565b6003810154156110895760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e7420616c7265616460448201526a1e481cdd589b5a5d1d195960aa1b60648201526084016102b1565b600289015481546040517fdf07ce590000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163df07ce59916110dc918a908a9033908b9060040161485a565b60206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c9190614891565b61119e5760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f742061206d656d626572206f662074686520736f60448201527f757263652077616c6c657400000000000000000000000000000000000000000060648201526084016102b1565b60006111ab8a8a8a61231c565b905060008167ffffffffffffffff16116112075760405162461bcd60e51b815260206004820152601a60248201527f57616c6c6574204254432062616c616e6365206973207a65726f00000000000060448201526064016102b1565b601a8a01546000906112449063ffffffff600160a01b8204169061123f9067ffffffffffffffff80871691600160c01b900416612b62565b612b9d565b9050600081116112965760405162461bcd60e51b815260206004820152601b60248201527f4e6f207461726765742077616c6c65747320617661696c61626c65000000000060448201526064016102b1565b83811461130b5760405162461bcd60e51b815260206004820152603560248201527f5375626d6974746564207461726765742077616c6c65747320636f756e74206960448201527f73206f74686572207468616e206578706563746564000000000000000000000060648201526084016102b1565b6000805b8581101561150e57600087878381811061132b5761132b6148b3565b905060200201602081019061134091906148c9565b90506001600160601b0319808216908e1614156113c55760405162461bcd60e51b815260206004820152603c60248201527f5375626d6974746564207461726765742077616c6c65742063616e6e6f74206260448201527f6520657175616c20746f2074686520736f757263652077616c6c65740000000060648201526084016102b1565b6001600160a01b038316606082901c116114475760405162461bcd60e51b815260206004820152603160248201527f5375626d6974746564207461726765742077616c6c657420627265616b73207460448201527f6865206578706563746564206f7264657200000000000000000000000000000060648201526084016102b1565b6001600160601b031981166000908152601c8f016020526040902060020154600190600160c01b900460ff16600581111561148457611484614769565b146114f75760405162461bcd60e51b815260206004820152602d60248201527f5375626d6974746564207461726765742077616c6c6574206d7573742062652060448201527f696e204c6976652073746174650000000000000000000000000000000000000060648201526084016102b1565b60601c915080611506816148e4565b91505061130f565b5085856040516020016115229291906148ff565b60408051601f1981840301815290829052805160209091012060038601556001600160601b03198c16907ffcab32b1dc365ef82ae9df4be019512ca536c191bd68f523b9f33d0c070e8d4a9061157d90899089903390614940565b60405180910390a2505050505050505050505050565b60006115df6115a560208501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bb392505050565b61162b5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016102b1565b61167561163b60408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c6392505050565b6116c15760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016102b1565b6117246116d1602085018561499f565b6116de60208601866146c2565b6116eb60408801886146c2565b6116fb60808a0160608b0161499f565b604051602001611710969594939291906149c9565b604051602081830303815290604052612d06565b90506117bf61177361173960408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d2d92505050565b61177d84806146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869493925050506020860135612d3a565b6118315760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016102b1565b61187c8461184260408501856146c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d7692505050565b9392505050565b6001600160601b031981166000908152601c85016020526040902060010154806118ef5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c657400000060448201526064016102b1565b8083356119026040860160208701614a0b565b6119126060870160408801614721565b60405160200161194f9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146119b25760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016102b1565b6000806119be866130e5565b90925090508435821480156119ed575063ffffffff81166119e56040870160208801614a0b565b63ffffffff16145b611a5f5760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f0060648201526084016102b1565b60016018880160008735611a7960408a0160208b01614a0b565b604051602001611aa092919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff191691151591909117905550505050505050565b600080600080611af085602001516131c0565b90925090506000611b02836001614a26565b905060008267ffffffffffffffff811115611b1f57611b1f614a3e565b604051908082528060200260200182016040528015611b48578160200160208202803683370190505b50905060008367ffffffffffffffff811115611b6657611b66614a3e565b604051908082528060200260200182016040528015611b8f578160200160208202803683370190505b50905060005b848163ffffffff161015611e5a576020890151600090611bb590866131d7565b60208b0151909150600090611bcb90878461323d565b90506000611bd98d83613307565b905080868563ffffffff1681518110611bf457611bf46148b3565b6001600160601b031990921660209283029190910190910152611c16826134c7565b858563ffffffff1681518110611c2e57611c2e6148b3565b602002602001019067ffffffffffffffff16908167ffffffffffffffff1681525050848463ffffffff1681518110611c6857611c686148b3565b602002602001015167ffffffffffffffff168a611c859190614a26565b99506040518060800160405280826bffffffffffffffffffffffff19168152602001868663ffffffff1681518110611cbf57611cbf6148b3565b602002602001015167ffffffffffffffff1681526020014263ffffffff16815260200160016003811115611cf557611cf5614769565b90528c516040805160208101929092526001600160e01b031960e088901b1690820152600c8f019060009060440160408051601f19818403018152918152815160209283012083528282019390935290820160002083518154928501519385015163ffffffff16600160e01b027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff67ffffffffffffffff909516600160a01b026001600160e01b0319909416606092831c1793909317939093169190911781559082015160018083018054909160ff1990911690836003811115611dd757611dd7614769565b021790555050506001600160601b031981166000908152601c8e01602052604090206002018054600160a01b900463ffffffff16906014611e1783614a54565b91906101000a81548163ffffffff021916908363ffffffff160217905550508287611e429190614a26565b96505050508080611e5290614a54565b915050611b95565b506000611e678588614a8e565b9050600085611e76838a614752565b611e809190614aa2565b90506000611e8e8383614a26565b905060005b87811015611f7557848181518110611ead57611ead6148b3565b602002602001015167ffffffffffffffff168311158015611ef1575081858281518110611edc57611edc6148b3565b602002602001015167ffffffffffffffff1611155b611f635760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206973206e6f742064697374726960448201527f6275746564206576656e6c79000000000000000000000000000000000000000060648201526084016102b1565b80611f6d816148e4565b915050611e93565b5084604051602001611f879190614ab6565b60405160208183030381529060405280519060200120995050505050505050505b9250929050565b6001600160601b031982166000908152601c840160205260409020600280820154600160c01b900460ff166005811115611feb57611feb614769565b1461204a5760405162461bcd60e51b815260206004820152602960248201527f45434453412077616c6c6574206d75737420626520696e204d6f76696e6746756044820152686e647320737461746560b81b60648201526084016102b1565b6003810154806120c25760405162461bcd60e51b815260206004820152602b60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206e6f7420737560448201527f626d69747465642079657400000000000000000000000000000000000000000060648201526084016102b1565b8281146121375760405162461bcd60e51b815260206004820152603160248201527f5461726765742077616c6c65747320646f6e277420636f72726573706f6e642060448201527f746f2074686520636f6d6d69746d656e7400000000000000000000000000000060648201526084016102b1565b60006001830155612148858561241f565b5050505050565b6001600160601b031981166000908152601c83016020526040902060016002820154600160c01b900460ff16600581111561218c5761218c614769565b14156121d157601a83018054600160a01b900463ffffffff169060146121b18361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516001600160601b0319841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a3601a83015460601b6001600160601b0319908116908316141561229657601a830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916122e59160040190815260200190565b600060405180830381600087803b1580156122ff57600080fd5b505af1158015612313573d6000803e3d6000fd5b50505050505050565b6001600160601b031982166000908152601c840160205260408120600101548015612417578083356123546040860160208701614a0b565b6123646060870160408801614721565b6040516020016123a19392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146124045760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642077616c6c6574206d61696e205554584f206461746100000060448201526064016102b1565b6124146060840160408501614721565b91505b509392505050565b6001600160601b031981166000818152601c8401602052604080822060028101805463ffffffff4216700100000000000000000000000000000000027fffffffffffffff00ffffffff00000000ffffffffffffffffffffffffffffffff909116177803000000000000000000000000000000000000000000000000179055805491519093927f68cb496f5e64383745876664ef119840f154a729c03ba866b8aecb5c9f53d51691a3505050565b60008060006124da846131c0565b915050806001146125535760405162461bcd60e51b815260206004820152603760248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d7560448201527f7374206861766520612073696e676c65206f757470757400000000000000000060648201526084016102b1565b600061255f858261353e565b905061256b8682613307565b9350612576816134c7565b925050509250929050565b604080516060810182526000808252602082018190529181018290526001600160601b031984166000908152601c8601602052604090206002810154909250600160c01b900460ff1660018160058111156125de576125de614769565b14806125fb575060028160058111156125f9576125f9614769565b145b61266d5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016102b1565b60408051606081018252600080825260208201819052918101919091526001840154909250801561276d578085356126ab6040880160208901614a0b565b6126bb6060890160408a01614721565b6040516020016126f89392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b604051602081830303815290604052805190602001201461275b5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016102b1565b61276a36869003860186614af6565b92505b5050935093915050565b6000806000612785866131c0565b90925090506000612797836001614a26565b86519091506127a75760016127aa565b60025b60ff1682146128215760405162461bcd60e51b815260206004820152603d60248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d7560448201527f7374206861766520612070726f70657220696e7075747320636f756e7400000060648201526084016102b1565b60008060006128308a85613709565b92509250925060008b600c016000858560405160200161286792919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012083529082019290925201600020905060018082015460ff1660038111156128a8576128a8614769565b146129045760405162461bcd60e51b815260206004820152602660248201527f53776565702072657175657374206d75737420626520696e2050656e64696e6760448201526520737461746560d01b60648201526084016102b1565b805460601b6001600160601b0319908116908a161461298b5760405162461bcd60e51b815260206004820152602760248201527f537765657020726571756573742062656c6f6e677320746f20616e6f7468657260448201527f2077616c6c65740000000000000000000000000000000000000000000000000060648201526084016102b1565b60018101805460ff1916600217905580546129b89067ffffffffffffffff600160a01b9091041689614a26565b6001600160601b03198a166000908152601c8e01602052604090206002018054919950600160a01b90910463ffffffff169060146129f58361483a565b91906101000a81548163ffffffff021916908363ffffffff160217905550506000801b8a6000015114612b5257600080612a388d612a33868a614a26565b613709565b508d51919350915082148015612a5d57508063ffffffff168c6020015163ffffffff16145b612acf5760405162461bcd60e51b815260206004820152603160248201527f5365636f6e6420696e707574206d75737420706f696e7420746f20746865207760448201527f616c6c65742773206d61696e205554584f00000000000000000000000000000060648201526084016102b1565b60408c0151612ae89067ffffffffffffffff168b614a26565b995060018e60180160008484604051602001612b1b92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff191691151591909117905550505b505050505050505b949350505050565b6000612b6e8284614a8e565b15612b7a576001612b7d565b60005b60ff16612b8a8385614aa2565b612b949190614a26565b90505b92915050565b6000818310612bac5781612b94565b5090919050565b6000806000612bc1846131c0565b9092509050801580612bd4575060001982145b15612be3575060009392505050565b6000612bf0836001614a26565b905060005b82811015612c565785518210612c115750600095945050505050565b6000612c1d878461373b565b9050600019811415612c36575060009695505050505050565b612c408184614a26565b9250508080612c4e906148e4565b915050612bf5565b5093519093149392505050565b6000806000612c71846131c0565b9092509050801580612c84575060001982145b15612c93575060009392505050565b6000612ca0836001614a26565b905060005b82811015612c565785518210612cc15750600095945050505050565b6000612ccd87846131d7565b9050600019811415612ce6575060009695505050505050565b612cf08184614a26565b9250508080612cfe906148e4565b915050612ca5565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6044810151600090612b97565b60008385148015612d49575081155b8015612d5457508251155b15612d6157506001612b5a565b612d6d85848685613786565b95945050505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be91600480820192602092909190829003018186803b158015612ddb57600080fd5b505afa158015612def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e139190614b69565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b158015612e5057600080fd5b505afa158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e889190614b69565b9050600080612e9e612e998761382e565b6138c3565b905083811415612eb057839150612f2e565b82811415612ec057829150612f2e565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016102b1565b6000612f39876138eb565b9050600019811415612fb35760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016102b1565b6001198114156130055760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016102b1565b6002198114156130575760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016102b1565b60038801546130669084614b82565b8110156130db5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016102b1565b5050505050505050565b60008060006130f3846131c0565b9150508060011461316c5760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e7075740000000000000000000000000000000000000060648201526084016102b1565b60006131788582613af2565b905061318381613ca7565b93506131b761319182613cb4565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b6000806131ce836000613cc1565b91509150915091565b60006131e4826009614a26565b835110156131f55750600019612b97565b60008061320c85613207866008614a26565b613cc1565b90925090506000198214156132275760001992505050612b97565b80613233836009614a26565b612d6d9190614a26565b606081613259575060408051602081019091526000815261187c565b60006132658385614a26565b90508381118015613277575080855110155b6132c35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102b1565b604051915082604083010160405282825283850182038460208701018481015b808210156132fc578151838301526020820191506132e3565b505050509392505050565b60008061331383613e3e565b9050805160141461338c5760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016102b1565b6133978160006140dc565b915060006133b560088086516133ad9190614752565b86919061323d565b8051602091820120604080517f1976a91400000000000000000000000000000000000000000000000000000000818501526001600160601b031987166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601207f1600140000000000000000000000000000000000000000000000000000000000605a840152605d83019190915282516051818403018152607190920190925280519301929092209092508183148061347157508083145b6134bd5760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016102b1565b5050505092915050565b6000806134d3836140eb565b60c01c90506000612b5a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b606060008061354c856131c0565b90925090506000198214156135ae5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016102b1565b8084106135fd5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016102b1565b60008061360b846001614a26565b905060005b868110156136945761362288836131d7565b92506000198314156136765760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102b1565b6136808383614a26565b91508061368c816148e4565b915050613610565b5061369f87826131d7565b91506000198214156136f35760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102b1565b6136fe87828461323d565b979650505050505050565b6000808061371785856140dc565b925061372661319186866140f7565b9150613732858561373b565b90509250925092565b600080600061374a858561410e565b90925090506000198214156137655760001992505050612b97565b80613771836025614a26565b61377b9190614a26565b612d6d906004614a26565b6000602084516137969190614a8e565b156137a357506000612b5a565b83516137b157506000612b5a565b818560005b8651811015613821576137ca600284614a8e565b600114156137ef576137e86137e28883016020015190565b83614150565b9150613808565b613805826138008984016020015190565b614150565b91505b60019290921c9161381a602082614a26565b90506137b6565b5090931495945050505050565b60008061383c8360486140dc565b60e81c9050600083604b81518110613856576138566148b3565b016020015160f81c9050600061388a83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff169050600061389e600384614ba1565b60ff1690506138af81610100614ca8565b6138b99083614b82565b9695505050505050565b6000612b977bffff00000000000000000000000000000000000000000000000000008361415c565b6000605082516138fb9190614a8e565b156139095750600019919050565b506040805160808101909152605081526000908190815b8451811015613aea57613934858383614168565b80156139545761394482846141fd565b6139545750600119949350505050565b600061395f8361382e565b905061396a83612d06565b935080613aae8560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115613ac1575060021995945050505050565b613ad4613acd826138c3565b8690614226565b9450613ae39050605082614a26565b9050613920565b505050919050565b6060600080613b00856131c0565b9092509050600019821415613b625760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016102b1565b808410613bb15760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e0000000000000000000000000000000060448201526064016102b1565b600080613bbf846001614a26565b905060005b86811015613c4857613bd6888361373b565b9250600019831415613c2a5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016102b1565b613c348383614a26565b915080613c40816148e4565b915050613bc4565b50613c53878261373b565b91506000198214156136f35760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016102b1565b6020810151600090612b97565b6000612b978260206140dc565b6000806000613cd08585614284565b905060ff8116613d02576000858581518110613cee57613cee6148b3565b016020015190935060f81c9150611fa89050565b83613d0e826001614cb4565b60ff16613d1b9190614a26565b85511015613d325760001960009250925050611fa8565b60008160ff1660021415613d7757613d6c613d58613d51876001614a26565b88906140dc565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613e2e565b8160ff1660041415613da157613d94613191613d51876001614a26565b63ffffffff169050613e2e565b8160ff1660081415613e2e57613e21613dbe613d51876001614a26565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060600082600881518110613e5557613e556148b3565b0160200151835160f89190911c9150613e6f826009614cb4565b60ff1614613e8d575050604080516020810190915260008152919050565b82600981518110613ea057613ea06148b3565b016020015160f81c613f3e5760028160ff161015613ece575050604080516020810190915260008152919050565b600083600a81518110613ee357613ee36148b3565b016020015160f81c9050613ef8600283614ba1565b60ff1681141580613f16575080602014158015613f16575080601414155b15613f3257505060408051602081019091526000815292915050565b612b5a84600b8361323d565b6000613f4b8460086140dc565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156140285783600b81518110613faa57613faa6148b3565b60209101015160f81c6014141580613fff5750613fd560028551613fce9190614752565b85906140dc565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b1561401b57505060408051602081019091526000815292915050565b612b5a84600c601461323d565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156140c55783600185516140819190614752565b81518110614091576140916148b3565b60209101015160f81c6087146140b857505060408051602081019091526000815292915050565b612b5a84600b601461323d565b505050604080516020810190915260008152919050565b6000612b948383016020015190565b6000612b9782826140dc565b6000612b94614107836020614a26565b84906140dc565b60008061411c836025614a26565b84511015614131575060001990506000611fa8565b60008061414386613207876024614a26565b9097909650945050505050565b6000612b948383614310565b6000612b948284614aa2565b815160006141768284614a26565b90508281118015614188575080855110155b6141d45760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102b1565b826020860101602085018382015b808310156130db5782518252602092830192909101906141e2565b6000806142098461433e565b905082811461421c576000915050612b97565b5060019392505050565b60006142328284614a26565b905082811015612b975760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e0000000000000060448201526064016102b1565b6000828281518110614298576142986148b3565b60209101015160f81c60ff14156142b157506008612b97565b8282815181106142c3576142c36148b3565b60209101015160f81c60fe14156142dc57506004612b97565b8282815181106142ee576142ee6148b3565b60209101015160f81c60fd141561430757506002612b97565b50600092915050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6024810151600090612b97565b60006080828403121561435d57600080fd5b50919050565b60006060828403121561435d57600080fd5b80356001600160601b03198116811461438d57600080fd5b919050565b600080600080600060e086880312156143aa57600080fd5b85359450602086013567ffffffffffffffff808211156143c957600080fd5b6143d589838a0161434b565b955060408801359150808211156143eb57600080fd5b506143f888828901614363565b9350506144088760608801614363565b915061441660c08701614375565b90509295509295909350565b60008083601f84011261443457600080fd5b50813567ffffffffffffffff81111561444c57600080fd5b6020830191508360208260051b8501011115611fa857600080fd5b6000806000806060858703121561447d57600080fd5b8435935061448d60208601614375565b9250604085013567ffffffffffffffff8111156144a957600080fd5b6144b587828801614422565b95989497509550505050565b600080600060a084860312156144d657600080fd5b833592506144e660208501614375565b91506137328560408601614363565b803563ffffffff8116811461438d57600080fd5b60008060008060006080868803121561452157600080fd5b8535945060208601359350614538604087016144f5565b9250606086013567ffffffffffffffff81111561455457600080fd5b61456088828901614422565b969995985093965092949392505050565b6000806040838503121561458457600080fd5b8235915061459460208401614375565b90509250929050565b60008060008060c085870312156145b357600080fd5b84359350602085013567ffffffffffffffff808211156145d257600080fd5b6145de8883890161434b565b945060408701359150808211156145f457600080fd5b5061460187828801614363565b9250506146118660608701614363565b905092959194509250565b600080600080600080600080610100898b03121561463957600080fd5b8835975061464960208a01614375565b96506146588a60408b01614363565b955060a089013567ffffffffffffffff8082111561467557600080fd5b6146818c838d01614422565b909750955060c08b0135945060e08b01359150808211156146a157600080fd5b506146ae8b828c01614422565b999c989b5096995094979396929594505050565b6000808335601e198436030181126146d957600080fd5b83018035915067ffffffffffffffff8211156146f457600080fd5b602001915036819003821315611fa857600080fd5b803567ffffffffffffffff8116811461438d57600080fd5b60006020828403121561473357600080fd5b612b9482614709565b634e487b7160e01b600052601160045260246000fd5b6000828210156147645761476461473c565b500390565b634e487b7160e01b600052602160045260246000fd5b600063ffffffff80831681851680830382111561479e5761479e61473c565b01949350505050565b8183526000602080850194508260005b858110156147e05763ffffffff6147cd836144f5565b16875295820195908201906001016147b7565b509495945050505050565b6bffffffffffffffffffffffff871681528560208201526001600160a01b038516604082015283606082015260a06080820152600061482e60a0830184866147a7565b98975050505050505050565b600063ffffffff8216806148505761485061473c565b6000190192915050565b8581526080602082015260006148746080830186886147a7565b6001600160a01b0394909416604083015250606001529392505050565b6000602082840312156148a357600080fd5b8151801515811461187c57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156148db57600080fd5b612b9482614375565b60006000198214156148f8576148f861473c565b5060010190565b60008184825b85811015614935576001600160601b031961491f83614375565b1683526020928301929190910190600101614905565b509095945050505050565b6040808252810183905260008460608301825b86811015614982576001600160601b031961496d84614375565b16825260209283019290910190600101614953565b5080925050506001600160a01b0383166020830152949350505050565b6000602082840312156149b157600080fd5b81356001600160e01b03198116811461187c57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215614a1d57600080fd5b612b94826144f5565b60008219821115614a3957614a3961473c565b500190565b634e487b7160e01b600052604160045260246000fd5b600063ffffffff80831681811415614a6e57614a6e61473c565b6001019392505050565b634e487b7160e01b600052601260045260246000fd5b600082614a9d57614a9d614a78565b500690565b600082614ab157614ab1614a78565b500490565b815160009082906020808601845b83811015614aea5781516001600160601b03191685529382019390820190600101614ac4565b50929695505050505050565b600060608284031215614b0857600080fd5b6040516060810181811067ffffffffffffffff82111715614b3957634e487b7160e01b600052604160045260246000fd5b60405282358152614b4c602084016144f5565b6020820152614b5d60408401614709565b60408201529392505050565b600060208284031215614b7b57600080fd5b5051919050565b6000816000190483118215151615614b9c57614b9c61473c565b500290565b600060ff821660ff841680821015614bbb57614bbb61473c565b90039392505050565b600181815b80851115614bff578160001904821115614be557614be561473c565b80851615614bf257918102915b93841c9390800290614bc9565b509250929050565b600082614c1657506001612b97565b81614c2357506000612b97565b8160018114614c395760028114614c4357614c5f565b6001915050612b97565b60ff841115614c5457614c5461473c565b50506001821b612b97565b5060208310610133831016604e8410600b8410161715614c82575081810a612b97565b614c8c8383614bc4565b8060001904821115614ca057614ca061473c565b029392505050565b6000612b948383614c07565b600060ff821660ff84168060ff03821115614cd157614cd161473c565b01939250505056fea2646970667358221220b75cfaa033a279a06e1b995791e959e41113f26ea8d20240c1ba9dfdc833be6164736f6c63430008090033",
|
|
136
|
+
"linkReferences": {},
|
|
137
|
+
"deployedLinkReferences": {}
|
|
138
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "OutboundTx",
|
|
4
|
+
"sourceName": "contracts/bridge/Redemption.sol",
|
|
5
|
+
"abi": [],
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206d80f3a5a1196c4f7fbb7b5f9cab8bf3899225d3111cb083ddcf891226eb93ea64736f6c63430008090033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206d80f3a5a1196c4f7fbb7b5f9cab8bf3899225d3111cb083ddcf891226eb93ea64736f6c63430008090033",
|
|
8
|
+
"linkReferences": {},
|
|
9
|
+
"deployedLinkReferences": {}
|
|
10
|
+
}
|