@layerzerolabs/lz-evm-messagelib-v2 2.0.13 → 2.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/Executor.sol/Executor.json +20 -20
- package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +19 -19
- package/artifacts/contracts/MessageLibBase.sol/MessageLibBase.json +1 -1
- package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +15 -15
- package/artifacts/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +1 -1
- package/artifacts/contracts/SendLibBase.sol/SendLibBase.json +6 -6
- package/artifacts/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +10 -10
- package/artifacts/contracts/Treasury.sol/Treasury.json +9 -9
- package/artifacts/contracts/Worker.sol/Worker.json +18 -18
- package/artifacts/contracts/interfaces/IExecutor.sol/IExecutor.json +3 -3
- package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +4 -4
- package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +3 -3
- package/artifacts/contracts/interfaces/IWorker.sol/IWorker.json +3 -3
- package/artifacts/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
- package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +279 -20
- package/artifacts/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +90 -11
- package/artifacts/contracts/uln/SendUlnBase.sol/SendUlnBase.json +7 -7
- package/artifacts/contracts/uln/UlnBase.sol/UlnBase.json +7 -7
- package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +31 -31
- package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +14 -14
- package/artifacts/contracts/uln/dvn/MultiSig.sol/MultiSig.json +5 -5
- package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +488 -169
- package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +372 -16
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +419 -93
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
- package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
- package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +611 -249
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +526 -13
- package/artifacts/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
- package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
- package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
- package/artifacts/contracts/uln/interfaces/IDVN.sol/IDVN.json +3 -3
- package/artifacts/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +1 -1
- package/artifacts/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +0 -24
- package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
- package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +282 -0
- package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +91 -0
- package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +290 -0
- package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +4 -4
- package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +7 -7
- package/artifacts/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +2 -2
- package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +5 -5
- package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +88 -57
- package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
- package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
- package/artifacts/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +15 -15
- package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +76 -76
- package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +5 -5
- package/artifacts/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +4 -4
- package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +79 -24
- package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
- package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
- package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +75 -75
- package/artifacts/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +18 -18
- package/contracts/ExecutorFeeLib.sol +6 -6
- package/contracts/MessageLibBase.sol +2 -2
- package/contracts/PriceFeed.sol +3 -3
- package/contracts/ReceiveLibBaseE2.sol +0 -26
- package/contracts/SendLibBase.sol +10 -10
- package/contracts/SendLibBaseE2.sol +4 -4
- package/contracts/Treasury.sol +2 -2
- package/contracts/Worker.sol +3 -3
- package/contracts/interfaces/IExecutorFeeLib.sol +4 -4
- package/contracts/interfaces/ILayerZeroPriceFeed.sol +3 -3
- package/contracts/interfaces/IWorker.sol +3 -3
- package/contracts/uln/LzExecutor.sol +51 -19
- package/contracts/uln/ReceiveUlnBase.sol +21 -14
- package/contracts/uln/UlnBase.sol +19 -19
- package/contracts/uln/dvn/DVN.sol +16 -16
- package/contracts/uln/dvn/DVNFeeLib.sol +2 -2
- package/contracts/uln/dvn/MultiSig.sol +13 -13
- package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol +95 -97
- package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol +64 -2
- package/contracts/uln/dvn/adapters/DVNAdapterBase.sol +74 -124
- package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol +126 -0
- package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol +50 -0
- package/contracts/uln/dvn/adapters/avalanche/NOTES.md +4 -0
- package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol +85 -100
- package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol +121 -2
- package/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol +36 -0
- package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol +86 -0
- package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol +58 -0
- package/contracts/uln/interfaces/IDVNFeeLib.sol +1 -1
- package/contracts/uln/interfaces/IReceiveUlnE2.sol +0 -5
- package/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol +45 -0
- package/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol +48 -0
- package/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol +30 -0
- package/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol +45 -0
- package/contracts/uln/libs/DVNOptions.sol +6 -6
- package/contracts/uln/libs/UlnOptions.sol +13 -13
- package/contracts/uln/uln301/AddressSizeConfig.sol +4 -4
- package/contracts/uln/uln301/ReceiveLibBaseE1.sol +4 -4
- package/contracts/uln/uln301/ReceiveUln301.sol +4 -41
- package/contracts/uln/uln301/ReceiveUln301View.sol +89 -0
- package/contracts/uln/uln301/SendLibBaseE1.sol +5 -5
- package/contracts/uln/uln301/SendUln301.sol +3 -3
- package/contracts/uln/uln301/TreasuryFeeHandler.sol +6 -6
- package/contracts/uln/uln301/interfaces/IMessageLibE1.sol +4 -4
- package/contracts/uln/uln302/ReceiveUln302.sol +4 -27
- package/contracts/uln/uln302/ReceiveUln302View.sol +89 -0
- package/contracts/uln/uln302/SendUln302.sol +3 -3
- package/contracts/upgradeable/WorkerUpgradeable.sol +3 -3
- package/package.json +7 -5
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +0 -50
- package/artifacts/contracts/uln/interfaces/IDVNAdapterFeeLib.sol/IDVNAdapterFeeLib.json +0 -50
- package/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol +0 -20
- package/contracts/uln/interfaces/IDVNAdapterFeeLib.sol +0 -13
|
@@ -27,17 +27,17 @@
|
|
|
27
27
|
"type": "uint256"
|
|
28
28
|
}
|
|
29
29
|
],
|
|
30
|
-
"name": "
|
|
30
|
+
"name": "LZ_TreasuryFeeHandler_InvalidAmount",
|
|
31
31
|
"type": "error"
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"inputs": [],
|
|
35
|
-
"name": "
|
|
35
|
+
"name": "LZ_TreasuryFeeHandler_OnlyOnSending",
|
|
36
36
|
"type": "error"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"inputs": [],
|
|
40
|
-
"name": "
|
|
40
|
+
"name": "LZ_TreasuryFeeHandler_OnlySendLibrary",
|
|
41
41
|
"type": "error"
|
|
42
42
|
},
|
|
43
43
|
{
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"type": "function"
|
|
88
88
|
}
|
|
89
89
|
],
|
|
90
|
-
"bytecode": "
|
|
91
|
-
"deployedBytecode": "
|
|
90
|
+
"bytecode": "0x60a060405234801561001057600080fd5b506040516108be3803806108be83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108276100976000396000818160400152818160e701526101a301526108276000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517fc857f60c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517fbae51fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f901cc98000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f6e4a34a8ea04f675bb162ee572713d5663587ca35061700938515403941b3df64736f6c63430008160033",
|
|
91
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517fc857f60c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517fbae51fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f901cc98000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f6e4a34a8ea04f675bb162ee572713d5663587ca35061700938515403941b3df64736f6c63430008160033",
|
|
92
92
|
"linkReferences": {},
|
|
93
93
|
"deployedLinkReferences": {}
|
|
94
94
|
}
|
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
"abi": [
|
|
6
6
|
{
|
|
7
7
|
"inputs": [],
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "LZ_MessageLib_InsufficientMsgValue",
|
|
9
9
|
"type": "error"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"inputs": [],
|
|
13
|
-
"name": "
|
|
13
|
+
"name": "LZ_MessageLib_InvalidPath",
|
|
14
14
|
"type": "error"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"inputs": [],
|
|
18
|
-
"name": "
|
|
18
|
+
"name": "LZ_MessageLib_InvalidSender",
|
|
19
19
|
"type": "error"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"inputs": [],
|
|
23
|
-
"name": "
|
|
23
|
+
"name": "LZ_MessageLib_LzTokenPaymentAddressMustBeSender",
|
|
24
24
|
"type": "error"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -16,7 +16,12 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"inputs": [],
|
|
19
|
-
"name": "
|
|
19
|
+
"name": "LZ_MessageLib_OnlyEndpoint",
|
|
20
|
+
"type": "error"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"inputs": [],
|
|
24
|
+
"name": "LZ_ULN_AtLeastOneDVN",
|
|
20
25
|
"type": "error"
|
|
21
26
|
},
|
|
22
27
|
{
|
|
@@ -27,52 +32,47 @@
|
|
|
27
32
|
"type": "uint32"
|
|
28
33
|
}
|
|
29
34
|
],
|
|
30
|
-
"name": "
|
|
35
|
+
"name": "LZ_ULN_InvalidConfigType",
|
|
31
36
|
"type": "error"
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
39
|
"inputs": [],
|
|
35
|
-
"name": "
|
|
40
|
+
"name": "LZ_ULN_InvalidConfirmations",
|
|
36
41
|
"type": "error"
|
|
37
42
|
},
|
|
38
43
|
{
|
|
39
44
|
"inputs": [],
|
|
40
|
-
"name": "
|
|
45
|
+
"name": "LZ_ULN_InvalidEid",
|
|
41
46
|
"type": "error"
|
|
42
47
|
},
|
|
43
48
|
{
|
|
44
49
|
"inputs": [],
|
|
45
|
-
"name": "
|
|
50
|
+
"name": "LZ_ULN_InvalidOptionalDVNCount",
|
|
46
51
|
"type": "error"
|
|
47
52
|
},
|
|
48
53
|
{
|
|
49
54
|
"inputs": [],
|
|
50
|
-
"name": "
|
|
55
|
+
"name": "LZ_ULN_InvalidOptionalDVNThreshold",
|
|
51
56
|
"type": "error"
|
|
52
57
|
},
|
|
53
58
|
{
|
|
54
59
|
"inputs": [],
|
|
55
|
-
"name": "
|
|
60
|
+
"name": "LZ_ULN_InvalidPacketHeader",
|
|
56
61
|
"type": "error"
|
|
57
62
|
},
|
|
58
63
|
{
|
|
59
64
|
"inputs": [],
|
|
60
|
-
"name": "
|
|
65
|
+
"name": "LZ_ULN_InvalidPacketVersion",
|
|
61
66
|
"type": "error"
|
|
62
67
|
},
|
|
63
68
|
{
|
|
64
69
|
"inputs": [],
|
|
65
|
-
"name": "
|
|
70
|
+
"name": "LZ_ULN_InvalidRequiredDVNCount",
|
|
66
71
|
"type": "error"
|
|
67
72
|
},
|
|
68
73
|
{
|
|
69
74
|
"inputs": [],
|
|
70
|
-
"name": "
|
|
71
|
-
"type": "error"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"inputs": [],
|
|
75
|
-
"name": "Unsorted",
|
|
75
|
+
"name": "LZ_ULN_Unsorted",
|
|
76
76
|
"type": "error"
|
|
77
77
|
},
|
|
78
78
|
{
|
|
@@ -83,12 +83,12 @@
|
|
|
83
83
|
"type": "uint32"
|
|
84
84
|
}
|
|
85
85
|
],
|
|
86
|
-
"name": "
|
|
86
|
+
"name": "LZ_ULN_UnsupportedEid",
|
|
87
87
|
"type": "error"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"inputs": [],
|
|
91
|
-
"name": "
|
|
91
|
+
"name": "LZ_ULN_Verifying",
|
|
92
92
|
"type": "error"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
@@ -255,6 +255,24 @@
|
|
|
255
255
|
"name": "UlnConfigSet",
|
|
256
256
|
"type": "event"
|
|
257
257
|
},
|
|
258
|
+
{
|
|
259
|
+
"inputs": [
|
|
260
|
+
{
|
|
261
|
+
"internalType": "bytes",
|
|
262
|
+
"name": "_packetHeader",
|
|
263
|
+
"type": "bytes"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"internalType": "uint32",
|
|
267
|
+
"name": "_localEid",
|
|
268
|
+
"type": "uint32"
|
|
269
|
+
}
|
|
270
|
+
],
|
|
271
|
+
"name": "assertHeader",
|
|
272
|
+
"outputs": [],
|
|
273
|
+
"stateMutability": "pure",
|
|
274
|
+
"type": "function"
|
|
275
|
+
},
|
|
258
276
|
{
|
|
259
277
|
"inputs": [
|
|
260
278
|
{
|
|
@@ -627,9 +645,46 @@
|
|
|
627
645
|
{
|
|
628
646
|
"inputs": [
|
|
629
647
|
{
|
|
630
|
-
"
|
|
631
|
-
|
|
632
|
-
|
|
648
|
+
"components": [
|
|
649
|
+
{
|
|
650
|
+
"internalType": "uint64",
|
|
651
|
+
"name": "confirmations",
|
|
652
|
+
"type": "uint64"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"internalType": "uint8",
|
|
656
|
+
"name": "requiredDVNCount",
|
|
657
|
+
"type": "uint8"
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"internalType": "uint8",
|
|
661
|
+
"name": "optionalDVNCount",
|
|
662
|
+
"type": "uint8"
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"internalType": "uint8",
|
|
666
|
+
"name": "optionalDVNThreshold",
|
|
667
|
+
"type": "uint8"
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"internalType": "address[]",
|
|
671
|
+
"name": "requiredDVNs",
|
|
672
|
+
"type": "address[]"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"internalType": "address[]",
|
|
676
|
+
"name": "optionalDVNs",
|
|
677
|
+
"type": "address[]"
|
|
678
|
+
}
|
|
679
|
+
],
|
|
680
|
+
"internalType": "struct UlnConfig",
|
|
681
|
+
"name": "_config",
|
|
682
|
+
"type": "tuple"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"internalType": "bytes32",
|
|
686
|
+
"name": "_headerHash",
|
|
687
|
+
"type": "bytes32"
|
|
633
688
|
},
|
|
634
689
|
{
|
|
635
690
|
"internalType": "bytes32",
|
|
@@ -640,9 +695,9 @@
|
|
|
640
695
|
"name": "verifiable",
|
|
641
696
|
"outputs": [
|
|
642
697
|
{
|
|
643
|
-
"internalType": "
|
|
698
|
+
"internalType": "bool",
|
|
644
699
|
"name": "",
|
|
645
|
-
"type": "
|
|
700
|
+
"type": "bool"
|
|
646
701
|
}
|
|
647
702
|
],
|
|
648
703
|
"stateMutability": "view",
|
|
@@ -695,8 +750,8 @@
|
|
|
695
750
|
"type": "function"
|
|
696
751
|
}
|
|
697
752
|
],
|
|
698
|
-
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002eee38038062002eee833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612d3c620001b2600039600081816103410152610636015260008181610465015281816104ce0152818161158001526116720152612d3c6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea264697066735822122042a1935882c8308e728f5e2d36d5ef6ed95c1c0277ba5ebb48490da5b011c93664736f6c63430008160033",
|
|
699
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea264697066735822122042a1935882c8308e728f5e2d36d5ef6ed95c1c0277ba5ebb48490da5b011c93664736f6c63430008160033",
|
|
753
|
+
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002c9f38038062002c9f833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612b026200019d600039600061036e01526000818161049201526104fb0152612b026000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
|
|
754
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
|
|
700
755
|
"linkReferences": {},
|
|
701
756
|
"deployedLinkReferences": {}
|
|
702
757
|
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IReceiveUln302",
|
|
4
|
+
"sourceName": "contracts/uln/uln302/ReceiveUln302View.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "bytes",
|
|
10
|
+
"name": "_packetHeader",
|
|
11
|
+
"type": "bytes"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "uint32",
|
|
15
|
+
"name": "_localEid",
|
|
16
|
+
"type": "uint32"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"name": "assertHeader",
|
|
20
|
+
"outputs": [],
|
|
21
|
+
"stateMutability": "pure",
|
|
22
|
+
"type": "function"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"inputs": [
|
|
26
|
+
{
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "_oapp",
|
|
29
|
+
"type": "address"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"internalType": "uint32",
|
|
33
|
+
"name": "_remoteEid",
|
|
34
|
+
"type": "uint32"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"name": "getUlnConfig",
|
|
38
|
+
"outputs": [
|
|
39
|
+
{
|
|
40
|
+
"components": [
|
|
41
|
+
{
|
|
42
|
+
"internalType": "uint64",
|
|
43
|
+
"name": "confirmations",
|
|
44
|
+
"type": "uint64"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"internalType": "uint8",
|
|
48
|
+
"name": "requiredDVNCount",
|
|
49
|
+
"type": "uint8"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"internalType": "uint8",
|
|
53
|
+
"name": "optionalDVNCount",
|
|
54
|
+
"type": "uint8"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"internalType": "uint8",
|
|
58
|
+
"name": "optionalDVNThreshold",
|
|
59
|
+
"type": "uint8"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"internalType": "address[]",
|
|
63
|
+
"name": "requiredDVNs",
|
|
64
|
+
"type": "address[]"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"internalType": "address[]",
|
|
68
|
+
"name": "optionalDVNs",
|
|
69
|
+
"type": "address[]"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"internalType": "struct UlnConfig",
|
|
73
|
+
"name": "rtnConfig",
|
|
74
|
+
"type": "tuple"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"stateMutability": "view",
|
|
78
|
+
"type": "function"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"inputs": [
|
|
82
|
+
{
|
|
83
|
+
"components": [
|
|
84
|
+
{
|
|
85
|
+
"internalType": "uint64",
|
|
86
|
+
"name": "confirmations",
|
|
87
|
+
"type": "uint64"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"internalType": "uint8",
|
|
91
|
+
"name": "requiredDVNCount",
|
|
92
|
+
"type": "uint8"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"internalType": "uint8",
|
|
96
|
+
"name": "optionalDVNCount",
|
|
97
|
+
"type": "uint8"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"internalType": "uint8",
|
|
101
|
+
"name": "optionalDVNThreshold",
|
|
102
|
+
"type": "uint8"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"internalType": "address[]",
|
|
106
|
+
"name": "requiredDVNs",
|
|
107
|
+
"type": "address[]"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"internalType": "address[]",
|
|
111
|
+
"name": "optionalDVNs",
|
|
112
|
+
"type": "address[]"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"internalType": "struct UlnConfig",
|
|
116
|
+
"name": "_config",
|
|
117
|
+
"type": "tuple"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"internalType": "bytes32",
|
|
121
|
+
"name": "_headerHash",
|
|
122
|
+
"type": "bytes32"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"internalType": "bytes32",
|
|
126
|
+
"name": "_payloadHash",
|
|
127
|
+
"type": "bytes32"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"name": "verifiable",
|
|
131
|
+
"outputs": [
|
|
132
|
+
{
|
|
133
|
+
"internalType": "bool",
|
|
134
|
+
"name": "",
|
|
135
|
+
"type": "bool"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"stateMutability": "view",
|
|
139
|
+
"type": "function"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"bytecode": "0x",
|
|
143
|
+
"deployedBytecode": "0x",
|
|
144
|
+
"linkReferences": {},
|
|
145
|
+
"deployedLinkReferences": {}
|
|
146
|
+
}
|