@pendle/core-v2 0.6.2 → 0.6.4

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.
Files changed (139) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
  2. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.json +495 -0
  3. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  4. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.json +10 -0
  5. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json +77 -0
  7. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.json +90 -0
  9. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.json +556 -0
  11. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +641 -0
  13. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.json +333 -0
  15. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +4 -0
  16. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +842 -0
  17. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
  18. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +265 -0
  19. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.json +452 -0
  21. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +230 -0
  23. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +783 -0
  25. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  26. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.json +10 -0
  27. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +766 -0
  29. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +641 -0
  31. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +623 -0
  33. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +4 -0
  34. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +623 -0
  35. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +339 -0
  37. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +808 -0
  39. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +862 -0
  41. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +58 -0
  43. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +750 -0
  45. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.json +55 -0
  47. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +521 -0
  49. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +10 -0
  51. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +185 -0
  53. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +210 -0
  55. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.json +10 -0
  57. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +4 -0
  58. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +213 -0
  59. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +4 -0
  60. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +87 -0
  61. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  62. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +59 -0
  63. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +4 -0
  64. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +44 -0
  65. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +4 -0
  66. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.json +662 -0
  67. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +4 -0
  68. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.json +760 -0
  69. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +4 -0
  70. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +555 -0
  71. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +4 -0
  72. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +55 -0
  73. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +4 -0
  74. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +306 -0
  75. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +4 -0
  76. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +894 -0
  77. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +4 -0
  78. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.json +259 -0
  79. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +4 -0
  80. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +24 -0
  81. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +4 -0
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +670 -0
  83. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +67 -0
  85. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +96 -0
  87. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.json +34 -0
  89. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +4 -0
  90. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +24 -0
  91. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +4 -0
  92. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +334 -0
  93. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  94. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +820 -0
  95. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +4 -0
  96. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +206 -0
  97. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +4 -0
  98. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +595 -0
  99. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +4 -0
  100. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +258 -0
  101. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +207 -0
  103. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +4 -0
  104. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +92 -0
  105. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +4 -0
  106. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.json +252 -0
  107. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +4 -0
  108. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +119 -0
  109. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +4 -0
  110. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +62 -0
  111. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +4 -0
  112. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +62 -0
  113. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
  114. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.json +10 -0
  115. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
  116. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.json +10 -0
  117. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +4 -0
  118. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +10 -0
  119. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +4 -0
  120. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +10 -0
  121. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +10 -0
  123. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +4 -0
  124. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.json +10 -0
  125. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +4 -0
  126. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +10 -0
  127. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +4 -0
  128. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +10 -0
  129. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +4 -0
  130. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +87 -0
  131. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
  132. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +37 -0
  133. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +4 -0
  134. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.json +24 -0
  135. package/contracts/core/RouterStatic.sol +4 -4
  136. package/deployments/kovan.json +34 -0
  137. package/package.json +4 -2
  138. package/typechain-types/RouterStatic.ts +4 -4
  139. package/typechain-types/factories/RouterStatic__factory.ts +3 -3
@@ -0,0 +1,87 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleGovernanceManager",
4
+ "sourceName": "contracts/periphery/PendleGovernanceManager.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_governance",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "newGovernance",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "address",
29
+ "name": "previousGovernance",
30
+ "type": "address"
31
+ }
32
+ ],
33
+ "name": "GovernanceTransferred",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "claimGovernance",
39
+ "outputs": [],
40
+ "stateMutability": "nonpayable",
41
+ "type": "function"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "governance",
46
+ "outputs": [
47
+ {
48
+ "internalType": "address",
49
+ "name": "",
50
+ "type": "address"
51
+ }
52
+ ],
53
+ "stateMutability": "view",
54
+ "type": "function"
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "pendingGovernance",
59
+ "outputs": [
60
+ {
61
+ "internalType": "address",
62
+ "name": "",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "address",
73
+ "name": "newGovernance",
74
+ "type": "address"
75
+ }
76
+ ],
77
+ "name": "transferGovernance",
78
+ "outputs": [],
79
+ "stateMutability": "nonpayable",
80
+ "type": "function"
81
+ }
82
+ ],
83
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161036238038061036283398101604081905261002f9161009d565b6001600160a01b0381166100785760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100cd565b6000602082840312156100af57600080fd5b81516001600160a01b03811681146100c657600080fd5b9392505050565b610286806100dc6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635aa6e675146100515780635d36b19014610080578063d38bfff41461008a578063f39c38a01461009d575b600080fd5b600054610064906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100886100b0565b005b610088610098366004610220565b61016d565b600154610064906001600160a01b031681565b6001546001600160a01b031633146100fb5760405162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b60448201526064015b60405180910390fd5b600154600054604080516001600160a01b0393841681529290911660208301527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910160405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146101b95760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b60448201526064016100f2565b6001600160a01b0381166101fe5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064016100f2565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561023257600080fd5b81356001600160a01b038116811461024957600080fd5b939250505056fea26469706673582212206f1f89da0ff41dbbbfde6d0dfa49a4df25a83fe2d6df770c91bf6ad536504fd864736f6c63430008090033",
84
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635aa6e675146100515780635d36b19014610080578063d38bfff41461008a578063f39c38a01461009d575b600080fd5b600054610064906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100886100b0565b005b610088610098366004610220565b61016d565b600154610064906001600160a01b031681565b6001546001600160a01b031633146100fb5760405162461bcd60e51b81526020600482015260096024820152682327a92124a22222a760b91b60448201526064015b60405180910390fd5b600154600054604080516001600160a01b0393841681529290911660208301527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910160405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146101b95760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b60448201526064016100f2565b6001600160a01b0381166101fe5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064016100f2565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561023257600080fd5b81356001600160a01b038116811461024957600080fd5b939250505056fea26469706673582212206f1f89da0ff41dbbbfde6d0dfa49a4df25a83fe2d6df770c91bf6ad536504fd864736f6c63430008090033",
85
+ "linkReferences": {},
86
+ "deployedLinkReferences": {}
87
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/0c65c6bce149449cd49b687da3faea7f.json"
4
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleJoeSwapHelperUpg",
4
+ "sourceName": "contracts/periphery/PendleJoeSwapHelperUpg.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "joeFactory",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "joeRouter",
22
+ "outputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ }
32
+ ],
33
+ "bytecode": "0x",
34
+ "deployedBytecode": "0x",
35
+ "linkReferences": {},
36
+ "deployedLinkReferences": {}
37
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/0c65c6bce149449cd49b687da3faea7f.json"
4
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PermissionsV2Upg",
4
+ "sourceName": "contracts/periphery/PermissionsV2Upg.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "governanceManager",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ }
19
+ ],
20
+ "bytecode": "0x",
21
+ "deployedBytecode": "0x",
22
+ "linkReferences": {},
23
+ "deployedLinkReferences": {}
24
+ }
@@ -50,18 +50,18 @@ contract RouterStatic is IPRouterStatic {
50
50
  function removeLiquidityStatic(address market, uint256 lpToRemove)
51
51
  external
52
52
  view
53
- returns (uint256 netScpyut, uint256 netPtOut)
53
+ returns (uint256 netScyOut, uint256 netPtOut)
54
54
  {
55
55
  MarketState memory state = IPMarket(market).readState(false);
56
- (netScpyut, netPtOut) = state.removeLiquidity(lpToRemove, false);
56
+ (netScyOut, netPtOut) = state.removeLiquidity(lpToRemove, false);
57
57
  }
58
58
 
59
59
  function swapPtForScyStatic(address market, uint256 exactPtIn)
60
60
  external
61
- returns (uint256 netScpyut, uint256 netScyFee)
61
+ returns (uint256 netScyOut, uint256 netScyFee)
62
62
  {
63
63
  MarketState memory state = IPMarket(market).readState(false);
64
- (netScpyut, netScyFee) = state.swapExactPtForScy(
64
+ (netScyOut, netScyFee) = state.swapExactPtForScy(
65
65
  scyIndex(market),
66
66
  exactPtIn,
67
67
  block.timestamp,
@@ -0,0 +1,34 @@
1
+ {
2
+ "network": "KOVAN",
3
+ "DEPLOYER": "0x42D2D78Cc14e1B7D5e317B42e5335D8816B4Fd3F",
4
+ "PENDLE_GOVERNANCE_MANAGER": "0xf6679977b3733572D1D92BF8c0Aa6371c9e1a108",
5
+ "PENDLE_PY_FACTORY": "0x9842a452F237d737306b01728EDf75688d960E84",
6
+ "PENDLE_MARKET_FACTORY": "0xF8E42bEE264990CEA883B59C4cB2dC789c3B0128",
7
+ "PENDLE_ROUTER": "0x420c4172296A8FA8Af7dEfFC43f6FB949F897e74",
8
+ "YIELD_CONTRACTS": {
9
+ "SCY-QIUSD-25-DEC": {
10
+ "scy": "0x5ae5FFe21817C3c39B8194D32eEd7723b0444947",
11
+ "expiry": 1671926400,
12
+ "yt": "0xbaC3460A1E7b48FDB500aeD6554a3A4C476F7f65",
13
+ "pt": "0x0B7FCDFC13839aeDF622613994B5b9D8da154f0e",
14
+ "market": "0xFa51275a423b283157cCC587f0FB2674aeb5b4f9",
15
+ "ibToken": {
16
+ "address": "0x049f24D4F13f6AA696fCCB7d37d9998a27E6bEbC",
17
+ "symbol": "qiUSD"
18
+ },
19
+ "underlyings": [
20
+ {
21
+ "address": "0xcc81Bf141a2d43Dd005E22360C89461B834B693C",
22
+ "symbol": "USD"
23
+ }
24
+ ]
25
+ }
26
+ },
27
+ "TEST_CONTRACTS": {
28
+ "USD": "0xcc81Bf141a2d43Dd005E22360C89461B834B693C",
29
+ "WNATIVE": "0x45973cDC27ceecC71Db91f823241c20533902c15",
30
+ "FUND_KEEPER": "0x32B4f127385E31f4D9839675B270945173AD432B",
31
+ "QIUSD": "0x049f24D4F13f6AA696fCCB7d37d9998a27E6bEbC",
32
+ "SCY_QIUSD": "0x5ae5FFe21817C3c39B8194D32eEd7723b0444947"
33
+ }
34
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "0.6.2",
5
+ "version": "0.6.4",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -15,7 +15,9 @@
15
15
  },
16
16
  "files": [
17
17
  "contracts",
18
- "typechain-types"
18
+ "typechain-types",
19
+ "build/artifacts/contracts/",
20
+ "deployments/"
19
21
  ],
20
22
  "engines": {
21
23
  "node": ">=10"
@@ -419,7 +419,7 @@ export interface RouterStatic extends BaseContract {
419
419
  lpToRemove: BigNumberish,
420
420
  overrides?: CallOverrides
421
421
  ): Promise<
422
- [BigNumber, BigNumber] & { netScpyut: BigNumber; netPtOut: BigNumber }
422
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netPtOut: BigNumber }
423
423
  >;
424
424
 
425
425
  scyIndex(
@@ -535,7 +535,7 @@ export interface RouterStatic extends BaseContract {
535
535
  lpToRemove: BigNumberish,
536
536
  overrides?: CallOverrides
537
537
  ): Promise<
538
- [BigNumber, BigNumber] & { netScpyut: BigNumber; netPtOut: BigNumber }
538
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netPtOut: BigNumber }
539
539
  >;
540
540
 
541
541
  scyIndex(
@@ -663,7 +663,7 @@ export interface RouterStatic extends BaseContract {
663
663
  lpToRemove: BigNumberish,
664
664
  overrides?: CallOverrides
665
665
  ): Promise<
666
- [BigNumber, BigNumber] & { netScpyut: BigNumber; netPtOut: BigNumber }
666
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netPtOut: BigNumber }
667
667
  >;
668
668
 
669
669
  scyIndex(market: string, overrides?: CallOverrides): Promise<BigNumber>;
@@ -673,7 +673,7 @@ export interface RouterStatic extends BaseContract {
673
673
  exactPtIn: BigNumberish,
674
674
  overrides?: CallOverrides
675
675
  ): Promise<
676
- [BigNumber, BigNumber] & { netScpyut: BigNumber; netScyFee: BigNumber }
676
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netScyFee: BigNumber }
677
677
  >;
678
678
 
679
679
  swapScyForPtStatic(
@@ -755,7 +755,7 @@ const _abi = [
755
755
  outputs: [
756
756
  {
757
757
  internalType: "uint256",
758
- name: "netScpyut",
758
+ name: "netScyOut",
759
759
  type: "uint256",
760
760
  },
761
761
  {
@@ -803,7 +803,7 @@ const _abi = [
803
803
  outputs: [
804
804
  {
805
805
  internalType: "uint256",
806
- name: "netScpyut",
806
+ name: "netScyOut",
807
807
  type: "uint256",
808
808
  },
809
809
  {
@@ -860,7 +860,7 @@ const _abi = [
860
860
  ];
861
861
 
862
862
  const _bytecode =
863
- "0x60c06040523480156200001157600080fd5b5060405162003c9838038062003c98833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051613bb3620000e56000396000818160f001526116e2015260008181610260015281816105540152818161157901526116380152613bb36000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306ae7095146100eb5780630cf85bcc14610128578063227501f51461014c57806332e12d791461016d578063372cfb931461019b5780633857a07b146101bb57806355a7bae2146101dd57806355b4fff51461020557806355bbcd73146102255780635805908c1461024857806387a409a21461025b5780639225afd614610282578063a71f7895146102a2578063a749840a146102b5578063c74141f1146102d5578063d52eacb2146102f6578063e4a4442614610328578063e83316041461033b575b600080fd5b6101127f000000000000000000000000000000000000000000000000000000000000000081565b60405161011f9190613089565b60405180910390f35b61013b6101363660046130b5565b61035c565b60405161011f9594939291906130d2565b61015f61015a3660046130b5565b61054f565b60405161011f9291906131a1565b61018061017b3660046131bb565b6106e6565b6040805193845260208401929092529082015260600161011f565b6101ae6101a93660046131f0565b610792565b60405161011f9190613296565b6101ce6101c93660046130b5565b610974565b60405161011f939291906132a5565b6101f06101eb366004613303565b610c58565b6040805192835260208301919091520161011f565b61021861021336600461332f565b610cf2565b60405161011f91906133b6565b610238610233366004613585565b610db9565b604051901515815260200161011f565b6101f0610256366004613303565b610dfa565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6102956102903660046131f0565b610e93565b60405161011f91906136e0565b6101f06102b0366004613303565b611377565b6102c86102c336600461332f565b611410565b60405161011f91906136f3565b6102e86102e33660046130b5565b6114cf565b60405190815260200161011f565b6103096103043660046130b5565b611572565b604080519315158452911515602084015215159082015260600161011f565b6102e86103363660046130b5565b611777565b61034e6103493660046131f0565b6117f2565b60405161011f929190613755565b6000806103cc6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000869050806001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561040d57600080fd5b505afa158015610421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104459190613779565b9550806001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561048057600080fd5b505afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190613779565b604051631cf38c7b60e11b8152600160048201529095506001600160a01b038216906339e718f6906024016101806040518083038186803b1580156104fc57600080fd5b505afa158015610510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105349190613796565b935061053f876114cf565b9250600091505091939590929450565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b815260040161059e9190613089565b60206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ee9190613837565b1561066e57829050826001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190613779565b9150915091565b826001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a757600080fd5b505afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190613779565b9293915050565b604051631cf38c7b60e11b8152600060048201819052908190819081906001600160a01b038816906339e718f6906024016101806040518083038186803b15801561073057600080fd5b505afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190613796565b905061078161077688611777565b829088886000611a4e565b919a90995090975095505050505050565b61079a612fe6565b6001600160a01b0383168082526040516370a0823160e01b81528491906370a08231906107cb908690600401613089565b60206040518083038186803b1580156107e357600080fd5b505afa1580156107f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081b9190613859565b8260200181815250506040518060400160405280826001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190613779565b6001600160a01b03168152602001600081525082604001819052506040518060400160405280826001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190613779565b6001600160a01b03168152600060209182018190526060850192909252604080518082019091528281529081019190915260808301525092915050565b600080606060006109848561054f565b5090506000819050806001600160a01b031663b9d9a4536040518163ffffffff1660e01b81526004016040805180830381600087803b1580156109c657600080fd5b505af11580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190613872565b905080955050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3d57600080fd5b505afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a759190613859565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b158015610ab257600080fd5b505afa158015610ac6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aee9190810190613896565b905080516001600160401b03811115610b0957610b09613405565b604051908082528060200260200182016040528015610b4e57816020015b6040805180820190915260008082526020820152815260200190600190039081610b275790505b50935060005b8151811015610c4d576000828281518110610b7157610b7161392f565b6020026020010151905080868381518110610b8e57610b8e61392f565b60209081029190910101516001600160a01b039182169052604051633c12060560e21b81529085169063f048181490610bcb908490600401613089565b604080518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190613872565b9050868381518110610c2e57610c2e61392f565b602090810291909101810151015250610c468161395b565b9050610b54565b505050509193909250565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b158015610ca057600080fd5b505afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190613796565b9050610ce681856000611abb565b90969095509350505050565b6060816001600160401b03811115610d0c57610d0c613405565b604051908082528060200260200182016040528015610d4557816020015b610d32612fe6565b815260200190600190039081610d2a5790505b50905060005b82811015610db157610d83848483818110610d6857610d6861392f565b9050602002016020810190610d7d91906130b5565b86610792565b828281518110610d9557610d9561392f565b602002602001018190525080610daa9061395b565b9050610d4b565b509392505050565b60008082604001511180610dd1575060008260600151115b80610de457506000826080015160200151115b80610df4575060008260a0015151115b92915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b158015610e4257600080fd5b505afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a9190613796565b9050610ce6610e8886611777565b829086426000611af8565b610e9b613024565b610ea48361054f565b6001600160a01b039081166020840152168082526040516370a0823160e01b815281906370a0823190610edb908690600401613089565b60206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190613859565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610f649190613089565b60206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190613859565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190613779565b60808301516001600160a01b0391821690526040516371fd241f60e01b8152908216906371fd241f90611065908690600401613089565b604080518083038186803b15801561107c57600080fd5b505afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190613872565b9050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261113a9190810190613896565b9050600081516001600160401b0381111561115757611157613405565b60405190808252806020026020018201604052801561119057816020015b61117d613072565b8152602001906001900390816111755790505b5090506000805b83518110156112bd5760008482815181106111b4576111b461392f565b602002602001015190506000866001600160a01b0316635ab764ed8a846040518363ffffffff1660e01b81526004016111ee9291906131a1565b604080518083038186803b15801561120557600080fd5b505afa158015611219573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123d9190613872565b91505080156112aa57818585815181106112595761125961392f565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050808585815181106112905761129061392f565b60209081029190910181015101526112a78461395b565b93505b5050806112b69061395b565b9050611197565b50806001600160401b038111156112d6576112d6613405565b60405190808252806020026020018201604052801561130f57816020015b6112fc613072565b8152602001906001900390816112f45790505b5060a086015260005b8181101561136c578281815181106113325761133261392f565b60200260200101518660a0015182815181106113505761135061392f565b6020026020010181905250806113659061395b565b9050611318565b505050505092915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190613796565b9050610ce661140586611777565b829086426000611b41565b6060816001600160401b0381111561142a5761142a613405565b60405190808252806020026020018201604052801561146357816020015b611450613024565b8152602001906001900390816114485790505b50905060005b82811015610db1576114a18484838181106114865761148661392f565b905060200201602081019061149b91906130b5565b86610e93565b8282815181106114b3576114b361392f565b6020026020010181905250806114c89061395b565b9050611469565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038416906339e718f6906024016101806040518083038186803b15801561151557600080fd5b505afa158015611529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154d9190613796565b9050600061155f826101400151611b62565b905061156a81611b78565b949350505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b81526004016115c39190613089565b60206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116139190613837565b156116215760019250611770565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa89061166d908790600401613089565b60206040518083038186803b15801561168557600080fd5b505afa158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd9190613837565b156116cb5760019150611770565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90611717908790600401613089565b60206040518083038186803b15801561172f57600080fd5b505afa158015611743573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117679190613837565b15611770575060015b9193909250565b6000610df4826001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b557600080fd5b505afa1580156117c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ed9190613779565b611f92565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a0823190611826908490600401613089565b60206040518083038186803b15801561183e57600080fd5b505afa158015611852573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118769190613859565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b1580156118b357600080fd5b505afa1580156118c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ef9190810190613896565b905080516001600160401b0381111561190a5761190a613405565b60405190808252806020026020018201604052801561194357816020015b611930613072565b8152602001906001900390816119285790505b50925060005b8151811015611a445760008282815181106119665761196661392f565b60200260200101519050808583815181106119835761198361392f565b60209081029190910101516001600160a01b039182169052604051635ab764ed60e01b815290891690635ab764ed906119c2908a9085906004016131a1565b604080518083038186803b1580156119d957600080fd5b505afa1580156119ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a119190613872565b9050858381518110611a2557611a2561392f565b602090810291909101810151015250611a3d8161395b565b9050611949565b5050509250929050565b600080600080600080600080611a778d8d611a688e611b62565b611a718e611b62565b8d612007565b9350935093509350611a88846121d6565b9750611a93836121d6565b9650611a9e826121d6565b9550611aa9816121d6565b94505050505095509550955095915050565b600080600080611ad487611ace88611b62565b876121e5565b91509150611ae1826121d6565b9350611aec816121d6565b92505050935093915050565b600080600080611b138989611b0c8a611b62565b89896122b0565b91509150611b28611b238361237b565b6121d6565b9350611b33816121d6565b925050509550959350505050565b600080600080611b558989611b0c8a612386565b91509150611b28826121d6565b6000600160ff1b8210611b7457600080fd5b5090565b6000680238fd42c5cf03ffff198212158015611b9d575068070c1cc73b00c800008213155b611be15760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064015b60405180910390fd5b6000821215611c1957611bf682600003611b78565b6a0c097ce7bc90715b34b9f160241b81611c1257611c12613976565b0592915050565b60006806f05b59d3b20000008312611c5757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611c8d565b6803782dace9d90000008312611c8957506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611c8d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611cdd5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611d19576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611d5357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611d8d576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611dc657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611dff5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611e38576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611e715768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611fcf57600080fd5b505af1158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df49190613859565b60008060008060008713801561201d5750600086135b6120585760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401611bd8565b6040890151612089576120776103e86120718a8a61239a565b906123d6565b92506103e8935086915085905061212c565b885160408a01516000919061209e908961398c565b6120a89190613a11565b905060008a602001518b604001518a6120c1919061398c565b6120cb9190613a11565b905080821215612101578194508792508a60400151858c602001516120f0919061398c565b6120fa9190613a11565b9350612129565b8094508893508a60400151858c6000015161211c919061398c565b6121269190613a11565b92505b50505b6000831361217c5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401611bd8565b84156121ca5781896020018181516121949190613a3f565b905250885181908a906121a8908390613a3f565b9052506121b58484613a3f565b896040018181516121c69190613a3f565b9052505b95509550955095915050565b600080821215611b7457600080fd5b6000806000841361222c5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401611bd8565b60408501516020860151612240908661398c565b61224a9190613a11565b604086015186519193509061225f908661398c565b6122699190613a11565b905082156122a857604085015161228090856123d6565b6040860152845161229190826123d6565b855260208501516122a290836123d6565b60208601525b935093915050565b60008086610100015184106122d75760405162461bcd60e51b8152600401611bd890613a80565b865185126123205760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401611bd8565b600061232d888887612419565b905060008061233d8a848a612533565b909250905061234c8983612640565b94506123588982612640565b9350851561236e5761236e8a848b8b898c61266d565b5050509550959350505050565b6000610df482613aa8565b600061239182611b62565b610df490613aa8565b600080600083126123ac5760016123b0565b6000195b90506123cc6123c7856123c28661271f565b612736565b611b62565b61156a908261398c565b6000818312156124135760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401611bd8565b50900390565b6124446040518060800160405280600081526020016000815260200160008152602001600081525090565b83610100015182106124685760405162461bcd60e51b8152600401611bd890613a80565b60008285610100015161247b9190613ac5565b9050612487858261275c565b8252602085015161249990859061239a565b60208301528451158015906124b15750602082015115155b6124f45760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401611bd8565b612512856000015186610140015184602001518560000151856127db565b604083015260c08501516125269082612858565b6060830152509392505050565b6000806000612555866000015186602001518760000151886040015188612891565b9050600061256b6125668684612962565b61237b565b606087015190915060008613156125d65760006125888483612962565b9050670de0b6b3a76400008112156125b25760405162461bcd60e51b8152600401611bd890613adc565b6125ce6125c783670de0b6b3a7640000613b0b565b8490612991565b915050612603565b612600816125ec81670de0b6b3a7640000613b0b565b6125f6908561398c565b6125669190613a11565b90505b6064612613896101200151611b62565b61261d908361398c565b6126279190613a11565b93506126338183613b0b565b9450505050935093915050565b60008060008312612652576001612656565b6000195b90506123cc6123c7856126688661271f565b6129af565b6000818761010001516126809190613ac5565b6101608801839052875190915061269790856123d6565b875260208701516126a890846123d6565b6020880181905287516126cd916126c090889061239a565b885160408a0151856129c4565b61014088018190526127165760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b6044820152606401611bd8565b50505050505050565b6000808213611b745761273182613aa8565b610df4565b6000670de0b6b3a764000061274b8484613b4a565b6127559190613b69565b9392505050565b600061276782611b62565b6127796123c762015180610168613b4a565b8460a00151612788919061398c565b6127929190613a11565b905060008113610df45760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401611bd8565b6000806127e88684612858565b9050670de0b6b3a76400008112156128125760405162461bcd60e51b8152600401611bd890613adc565b6000612828612821878a613a3f565b8990612962565b9050600061283582612a17565b90506128418187612962565b61284b9084613b0b565b9998505050505050505050565b60008061286a62015180610168613b4a565b6128748486613b4a565b61287e9190613b69565b905061156a61288c82611b62565b611b78565b60008061289e87846123d6565b905060006128b66128af888a613a3f565b8390612962565b9050670d529ae9e860000081131561290a5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401611bd8565b600061291582612a17565b9050856129228289612962565b61292c9190613a3f565b9350670de0b6b3a76400008412156129565760405162461bcd60e51b8152600401611bd890613adc565b50505095945050505050565b600080612977670de0b6b3a76400008561398c565b905082818161298857612988613976565b05949350505050565b60008061299e838561398c565b9050670de0b6b3a764000081612988565b60008261274b670de0b6b3a764000084613b4a565b6000806129d5878787876000612891565b905060006129e5611b2383612a93565b9050836129f762015180610168613b4a565b612a019083613b4a565b612a0b9190613b69565b98975050505050505050565b6000670de0b6b3a7640000821415612a6e5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401611bd8565b6000612a8c612a8584670de0b6b3a7640000613b0b565b8490612962565b9050612755815b6000808213612ad45760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401611bd8565b670c7d713b49da000082138015612af25750670f43fc2c04ee000082125b15612b1657670de0b6b3a7640000612b0983612b24565b81611c1257611c12613976565b610df482612c43565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612b6557612b65613976565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c8457612c7b826a0c097ce7bc90715b34b9f160241b81612c7557612c75613976565b05612c43565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612ccf5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612d06576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612d4e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d89576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612dc057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612df757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612e2c5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612e5757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e8c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612ec1576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612ef5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612f29576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612f5257612f52613976565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6040805160a08101825260008082526020820152908101613005613072565b8152602001613012613072565b815260200161301f613072565b905290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001613065613072565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146130b257600080fd5b50565b6000602082840312156130c757600080fd5b81356127558161309d565b60006102008201905060018060a01b038088168352808716602084015250845160408301526020850151606083015260408501516080830152606085015160a0830152608085015161312f60c08401826001600160a01b03169052565b5060a085015160e08381019190915260c08601516101008085019190915290860151610120808501919091529086015161014080850191909152908601516101608085019190915290860151610180840152909401516101a08201526101c08101929092526101e09091015292915050565b6001600160a01b0392831681529116602082015260400190565b6000806000606084860312156131d057600080fd5b83356131db8161309d565b95602085013595506040909401359392505050565b6000806040838503121561320357600080fd5b823561320e8161309d565b9150602083013561321e8161309d565b809150509250929050565b80516001600160a01b03168252602090810151910152565b80516001600160a01b03168252602080820151908301526040808201519061326b90840182613229565b50606081015161327e6080840182613229565b50608081015161329160c0840182613229565b505050565b6101008101610df48284613241565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b818110156132f4576132e4838751613229565b94840194918301916001016132d1565b50909998505050505050505050565b6000806040838503121561331657600080fd5b82356133218161309d565b946020939093013593505050565b60008060006040848603121561334457600080fd5b833561334f8161309d565b925060208401356001600160401b038082111561336b57600080fd5b818601915086601f83011261337f57600080fd5b81358181111561338e57600080fd5b8760208260051b85010111156133a357600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b818110156133f9576133e5838551613241565b9284019261010092909201916001016133d2565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561343d5761343d613405565b60405290565b60405161018081016001600160401b038111828210171561343d5761343d613405565b604051601f8201601f191681016001600160401b038111828210171561348e5761348e613405565b604052919050565b6000604082840312156134a857600080fd5b604080519081016001600160401b03811182821017156134ca576134ca613405565b60405290508082356134db8161309d565b8152602092830135920191909152919050565b60006001600160401b0382111561350757613507613405565b5060051b60200190565b600082601f83011261352257600080fd5b81356020613537613532836134ee565b613466565b82815260069290921b8401810191818101908684111561355657600080fd5b8286015b8481101561357a5761356c8882613496565b83529183019160400161355a565b509695505050505050565b60006020828403121561359757600080fd5b81356001600160401b03808211156135ae57600080fd5b9083019060e082860312156135c257600080fd5b6135ca61341b565b82356135d58161309d565b815260208301356135e58161309d565b80602083015250604083013560408201526060830135606082015261360d8660808501613496565b608082015260c08301358281111561362457600080fd5b61363087828601613511565b60a08301525095945050505050565b600081518084526020808501945080840160005b8381101561367957613666878351613229565b6040969096019590820190600101613653565b509495945050505050565b600060018060a01b0380835116845280602084015116602085015250604082015160408401526060820151606084015260808201516136c66080850182613229565b5060a082015160e060c085015261156a60e085018261363f565b6020815260006127556020830184613684565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561374857603f19888603018452613736858351613684565b9450928501929085019060010161371a565b5092979650505050505050565b82815260406020820152600061156a604083018461363f565b8051612b1f8161309d565b60006020828403121561378b57600080fd5b81516127558161309d565b600061018082840312156137a957600080fd5b6137b1613443565b825181526020830151602082015260408301516040820152606083015160608201526137df6080840161376e565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b60006020828403121561384957600080fd5b8151801515811461275557600080fd5b60006020828403121561386b57600080fd5b5051919050565b6000806040838503121561388557600080fd5b505080516020909101519092909150565b600060208083850312156138a957600080fd5b82516001600160401b038111156138bf57600080fd5b8301601f810185136138d057600080fd5b80516138de613532826134ee565b81815260059190911b820183019083810190878311156138fd57600080fd5b928401925b828410156139245783516139158161309d565b82529284019290840190613902565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561396f5761396f613945565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60006001600160ff1b03818413828413808216868404861116156139b2576139b2613945565b600160ff1b60008712828116878305891216156139d1576139d1613945565b600087129250878205871284841616156139ed576139ed613945565b87850587128184161615613a0357613a03613945565b505050929093029392505050565b600082613a2057613a20613976565b600160ff1b821460001984141615613a3a57613a3a613945565b500590565b600080821280156001600160ff1b0384900385131615613a6157613a61613945565b600160ff1b8390038412811615613a7a57613a7a613945565b50500190565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000600160ff1b821415613abe57613abe613945565b5060000390565b600082821015613ad757613ad7613945565b500390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613b2957613b29613945565b6001600160ff1b0384018313811615613b4457613b44613945565b50500390565b6000816000190483118215151615613b6457613b64613945565b500290565b600082613b7857613b78613976565b50049056fea26469706673582212203d48b11479e1766d1bcd0b5733f6278087c9f38c1f195003609cacf00242a43864736f6c63430008090033";
863
+ "0x60c06040523480156200001157600080fd5b5060405162003c9838038062003c98833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051613bb3620000e56000396000818160f001526116e2015260008181610260015281816105540152818161157901526116380152613bb36000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306ae7095146100eb5780630cf85bcc14610128578063227501f51461014c57806332e12d791461016d578063372cfb931461019b5780633857a07b146101bb57806355a7bae2146101dd57806355b4fff51461020557806355bbcd73146102255780635805908c1461024857806387a409a21461025b5780639225afd614610282578063a71f7895146102a2578063a749840a146102b5578063c74141f1146102d5578063d52eacb2146102f6578063e4a4442614610328578063e83316041461033b575b600080fd5b6101127f000000000000000000000000000000000000000000000000000000000000000081565b60405161011f9190613089565b60405180910390f35b61013b6101363660046130b5565b61035c565b60405161011f9594939291906130d2565b61015f61015a3660046130b5565b61054f565b60405161011f9291906131a1565b61018061017b3660046131bb565b6106e6565b6040805193845260208401929092529082015260600161011f565b6101ae6101a93660046131f0565b610792565b60405161011f9190613296565b6101ce6101c93660046130b5565b610974565b60405161011f939291906132a5565b6101f06101eb366004613303565b610c58565b6040805192835260208301919091520161011f565b61021861021336600461332f565b610cf2565b60405161011f91906133b6565b610238610233366004613585565b610db9565b604051901515815260200161011f565b6101f0610256366004613303565b610dfa565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6102956102903660046131f0565b610e93565b60405161011f91906136e0565b6101f06102b0366004613303565b611377565b6102c86102c336600461332f565b611410565b60405161011f91906136f3565b6102e86102e33660046130b5565b6114cf565b60405190815260200161011f565b6103096103043660046130b5565b611572565b604080519315158452911515602084015215159082015260600161011f565b6102e86103363660046130b5565b611777565b61034e6103493660046131f0565b6117f2565b60405161011f929190613755565b6000806103cc6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000869050806001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561040d57600080fd5b505afa158015610421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104459190613779565b9550806001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561048057600080fd5b505afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190613779565b604051631cf38c7b60e11b8152600160048201529095506001600160a01b038216906339e718f6906024016101806040518083038186803b1580156104fc57600080fd5b505afa158015610510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105349190613796565b935061053f876114cf565b9250600091505091939590929450565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b815260040161059e9190613089565b60206040518083038186803b1580156105b657600080fd5b505afa1580156105ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ee9190613837565b1561066e57829050826001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190613779565b9150915091565b826001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a757600080fd5b505afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190613779565b9293915050565b604051631cf38c7b60e11b8152600060048201819052908190819081906001600160a01b038816906339e718f6906024016101806040518083038186803b15801561073057600080fd5b505afa158015610744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190613796565b905061078161077688611777565b829088886000611a4e565b919a90995090975095505050505050565b61079a612fe6565b6001600160a01b0383168082526040516370a0823160e01b81528491906370a08231906107cb908690600401613089565b60206040518083038186803b1580156107e357600080fd5b505afa1580156107f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081b9190613859565b8260200181815250506040518060400160405280826001600160a01b031663d94073d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190613779565b6001600160a01b03168152602001600081525082604001819052506040518060400160405280826001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190613779565b6001600160a01b03168152600060209182018190526060850192909252604080518082019091528281529081019190915260808301525092915050565b600080606060006109848561054f565b5090506000819050806001600160a01b031663b9d9a4536040518163ffffffff1660e01b81526004016040805180830381600087803b1580156109c657600080fd5b505af11580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190613872565b905080955050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3d57600080fd5b505afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a759190613859565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b158015610ab257600080fd5b505afa158015610ac6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aee9190810190613896565b905080516001600160401b03811115610b0957610b09613405565b604051908082528060200260200182016040528015610b4e57816020015b6040805180820190915260008082526020820152815260200190600190039081610b275790505b50935060005b8151811015610c4d576000828281518110610b7157610b7161392f565b6020026020010151905080868381518110610b8e57610b8e61392f565b60209081029190910101516001600160a01b039182169052604051633c12060560e21b81529085169063f048181490610bcb908490600401613089565b604080518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190613872565b9050868381518110610c2e57610c2e61392f565b602090810291909101810151015250610c468161395b565b9050610b54565b505050509193909250565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b158015610ca057600080fd5b505afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190613796565b9050610ce681856000611abb565b90969095509350505050565b6060816001600160401b03811115610d0c57610d0c613405565b604051908082528060200260200182016040528015610d4557816020015b610d32612fe6565b815260200190600190039081610d2a5790505b50905060005b82811015610db157610d83848483818110610d6857610d6861392f565b9050602002016020810190610d7d91906130b5565b86610792565b828281518110610d9557610d9561392f565b602002602001018190525080610daa9061395b565b9050610d4b565b509392505050565b60008082604001511180610dd1575060008260600151115b80610de457506000826080015160200151115b80610df4575060008260a0015151115b92915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b158015610e4257600080fd5b505afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a9190613796565b9050610ce6610e8886611777565b829086426000611af8565b610e9b613024565b610ea48361054f565b6001600160a01b039081166020840152168082526040516370a0823160e01b815281906370a0823190610edb908690600401613089565b60206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190613859565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610f649190613089565b60206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190613859565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190613779565b60808301516001600160a01b0391821690526040516371fd241f60e01b8152908216906371fd241f90611065908690600401613089565b604080518083038186803b15801561107c57600080fd5b505afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190613872565b9050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261113a9190810190613896565b9050600081516001600160401b0381111561115757611157613405565b60405190808252806020026020018201604052801561119057816020015b61117d613072565b8152602001906001900390816111755790505b5090506000805b83518110156112bd5760008482815181106111b4576111b461392f565b602002602001015190506000866001600160a01b0316635ab764ed8a846040518363ffffffff1660e01b81526004016111ee9291906131a1565b604080518083038186803b15801561120557600080fd5b505afa158015611219573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123d9190613872565b91505080156112aa57818585815181106112595761125961392f565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050808585815181106112905761129061392f565b60209081029190910181015101526112a78461395b565b93505b5050806112b69061395b565b9050611197565b50806001600160401b038111156112d6576112d6613405565b60405190808252806020026020018201604052801561130f57816020015b6112fc613072565b8152602001906001900390816112f45790505b5060a086015260005b8181101561136c578281815181106113325761133261392f565b60200260200101518660a0015182815181106113505761135061392f565b6020026020010181905250806113659061395b565b9050611318565b505050505092915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190613796565b9050610ce661140586611777565b829086426000611b41565b6060816001600160401b0381111561142a5761142a613405565b60405190808252806020026020018201604052801561146357816020015b611450613024565b8152602001906001900390816114485790505b50905060005b82811015610db1576114a18484838181106114865761148661392f565b905060200201602081019061149b91906130b5565b86610e93565b8282815181106114b3576114b361392f565b6020026020010181905250806114c89061395b565b9050611469565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038416906339e718f6906024016101806040518083038186803b15801561151557600080fd5b505afa158015611529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154d9190613796565b9050600061155f826101400151611b62565b905061156a81611b78565b949350505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b81526004016115c39190613089565b60206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116139190613837565b156116215760019250611770565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa89061166d908790600401613089565b60206040518083038186803b15801561168557600080fd5b505afa158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd9190613837565b156116cb5760019150611770565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90611717908790600401613089565b60206040518083038186803b15801561172f57600080fd5b505afa158015611743573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117679190613837565b15611770575060015b9193909250565b6000610df4826001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b557600080fd5b505afa1580156117c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ed9190613779565b611f92565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a0823190611826908490600401613089565b60206040518083038186803b15801561183e57600080fd5b505afa158015611852573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118769190613859565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b1580156118b357600080fd5b505afa1580156118c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ef9190810190613896565b905080516001600160401b0381111561190a5761190a613405565b60405190808252806020026020018201604052801561194357816020015b611930613072565b8152602001906001900390816119285790505b50925060005b8151811015611a445760008282815181106119665761196661392f565b60200260200101519050808583815181106119835761198361392f565b60209081029190910101516001600160a01b039182169052604051635ab764ed60e01b815290891690635ab764ed906119c2908a9085906004016131a1565b604080518083038186803b1580156119d957600080fd5b505afa1580156119ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a119190613872565b9050858381518110611a2557611a2561392f565b602090810291909101810151015250611a3d8161395b565b9050611949565b5050509250929050565b600080600080600080600080611a778d8d611a688e611b62565b611a718e611b62565b8d612007565b9350935093509350611a88846121d6565b9750611a93836121d6565b9650611a9e826121d6565b9550611aa9816121d6565b94505050505095509550955095915050565b600080600080611ad487611ace88611b62565b876121e5565b91509150611ae1826121d6565b9350611aec816121d6565b92505050935093915050565b600080600080611b138989611b0c8a611b62565b89896122b0565b91509150611b28611b238361237b565b6121d6565b9350611b33816121d6565b925050509550959350505050565b600080600080611b558989611b0c8a612386565b91509150611b28826121d6565b6000600160ff1b8210611b7457600080fd5b5090565b6000680238fd42c5cf03ffff198212158015611b9d575068070c1cc73b00c800008213155b611be15760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064015b60405180910390fd5b6000821215611c1957611bf682600003611b78565b6a0c097ce7bc90715b34b9f160241b81611c1257611c12613976565b0592915050565b60006806f05b59d3b20000008312611c5757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611c8d565b6803782dace9d90000008312611c8957506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611c8d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611cdd5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611d19576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611d5357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611d8d576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611dc657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611dff5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611e38576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611e715768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611fcf57600080fd5b505af1158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df49190613859565b60008060008060008713801561201d5750600086135b6120585760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401611bd8565b6040890151612089576120776103e86120718a8a61239a565b906123d6565b92506103e8935086915085905061212c565b885160408a01516000919061209e908961398c565b6120a89190613a11565b905060008a602001518b604001518a6120c1919061398c565b6120cb9190613a11565b905080821215612101578194508792508a60400151858c602001516120f0919061398c565b6120fa9190613a11565b9350612129565b8094508893508a60400151858c6000015161211c919061398c565b6121269190613a11565b92505b50505b6000831361217c5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401611bd8565b84156121ca5781896020018181516121949190613a3f565b905250885181908a906121a8908390613a3f565b9052506121b58484613a3f565b896040018181516121c69190613a3f565b9052505b95509550955095915050565b600080821215611b7457600080fd5b6000806000841361222c5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401611bd8565b60408501516020860151612240908661398c565b61224a9190613a11565b604086015186519193509061225f908661398c565b6122699190613a11565b905082156122a857604085015161228090856123d6565b6040860152845161229190826123d6565b855260208501516122a290836123d6565b60208601525b935093915050565b60008086610100015184106122d75760405162461bcd60e51b8152600401611bd890613a80565b865185126123205760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401611bd8565b600061232d888887612419565b905060008061233d8a848a612533565b909250905061234c8983612640565b94506123588982612640565b9350851561236e5761236e8a848b8b898c61266d565b5050509550959350505050565b6000610df482613aa8565b600061239182611b62565b610df490613aa8565b600080600083126123ac5760016123b0565b6000195b90506123cc6123c7856123c28661271f565b612736565b611b62565b61156a908261398c565b6000818312156124135760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401611bd8565b50900390565b6124446040518060800160405280600081526020016000815260200160008152602001600081525090565b83610100015182106124685760405162461bcd60e51b8152600401611bd890613a80565b60008285610100015161247b9190613ac5565b9050612487858261275c565b8252602085015161249990859061239a565b60208301528451158015906124b15750602082015115155b6124f45760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401611bd8565b612512856000015186610140015184602001518560000151856127db565b604083015260c08501516125269082612858565b6060830152509392505050565b6000806000612555866000015186602001518760000151886040015188612891565b9050600061256b6125668684612962565b61237b565b606087015190915060008613156125d65760006125888483612962565b9050670de0b6b3a76400008112156125b25760405162461bcd60e51b8152600401611bd890613adc565b6125ce6125c783670de0b6b3a7640000613b0b565b8490612991565b915050612603565b612600816125ec81670de0b6b3a7640000613b0b565b6125f6908561398c565b6125669190613a11565b90505b6064612613896101200151611b62565b61261d908361398c565b6126279190613a11565b93506126338183613b0b565b9450505050935093915050565b60008060008312612652576001612656565b6000195b90506123cc6123c7856126688661271f565b6129af565b6000818761010001516126809190613ac5565b6101608801839052875190915061269790856123d6565b875260208701516126a890846123d6565b6020880181905287516126cd916126c090889061239a565b885160408a0151856129c4565b61014088018190526127165760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b6044820152606401611bd8565b50505050505050565b6000808213611b745761273182613aa8565b610df4565b6000670de0b6b3a764000061274b8484613b4a565b6127559190613b69565b9392505050565b600061276782611b62565b6127796123c762015180610168613b4a565b8460a00151612788919061398c565b6127929190613a11565b905060008113610df45760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401611bd8565b6000806127e88684612858565b9050670de0b6b3a76400008112156128125760405162461bcd60e51b8152600401611bd890613adc565b6000612828612821878a613a3f565b8990612962565b9050600061283582612a17565b90506128418187612962565b61284b9084613b0b565b9998505050505050505050565b60008061286a62015180610168613b4a565b6128748486613b4a565b61287e9190613b69565b905061156a61288c82611b62565b611b78565b60008061289e87846123d6565b905060006128b66128af888a613a3f565b8390612962565b9050670d529ae9e860000081131561290a5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401611bd8565b600061291582612a17565b9050856129228289612962565b61292c9190613a3f565b9350670de0b6b3a76400008412156129565760405162461bcd60e51b8152600401611bd890613adc565b50505095945050505050565b600080612977670de0b6b3a76400008561398c565b905082818161298857612988613976565b05949350505050565b60008061299e838561398c565b9050670de0b6b3a764000081612988565b60008261274b670de0b6b3a764000084613b4a565b6000806129d5878787876000612891565b905060006129e5611b2383612a93565b9050836129f762015180610168613b4a565b612a019083613b4a565b612a0b9190613b69565b98975050505050505050565b6000670de0b6b3a7640000821415612a6e5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401611bd8565b6000612a8c612a8584670de0b6b3a7640000613b0b565b8490612962565b9050612755815b6000808213612ad45760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401611bd8565b670c7d713b49da000082138015612af25750670f43fc2c04ee000082125b15612b1657670de0b6b3a7640000612b0983612b24565b81611c1257611c12613976565b610df482612c43565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612b6557612b65613976565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c8457612c7b826a0c097ce7bc90715b34b9f160241b81612c7557612c75613976565b05612c43565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612ccf5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612d06576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612d4e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d89576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612dc057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612df757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612e2c5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612e5757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e8c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612ec1576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612ef5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612f29576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612f5257612f52613976565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6040805160a08101825260008082526020820152908101613005613072565b8152602001613012613072565b815260200161301f613072565b905290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001613065613072565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146130b257600080fd5b50565b6000602082840312156130c757600080fd5b81356127558161309d565b60006102008201905060018060a01b038088168352808716602084015250845160408301526020850151606083015260408501516080830152606085015160a0830152608085015161312f60c08401826001600160a01b03169052565b5060a085015160e08381019190915260c08601516101008085019190915290860151610120808501919091529086015161014080850191909152908601516101608085019190915290860151610180840152909401516101a08201526101c08101929092526101e09091015292915050565b6001600160a01b0392831681529116602082015260400190565b6000806000606084860312156131d057600080fd5b83356131db8161309d565b95602085013595506040909401359392505050565b6000806040838503121561320357600080fd5b823561320e8161309d565b9150602083013561321e8161309d565b809150509250929050565b80516001600160a01b03168252602090810151910152565b80516001600160a01b03168252602080820151908301526040808201519061326b90840182613229565b50606081015161327e6080840182613229565b50608081015161329160c0840182613229565b505050565b6101008101610df48284613241565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b818110156132f4576132e4838751613229565b94840194918301916001016132d1565b50909998505050505050505050565b6000806040838503121561331657600080fd5b82356133218161309d565b946020939093013593505050565b60008060006040848603121561334457600080fd5b833561334f8161309d565b925060208401356001600160401b038082111561336b57600080fd5b818601915086601f83011261337f57600080fd5b81358181111561338e57600080fd5b8760208260051b85010111156133a357600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b818110156133f9576133e5838551613241565b9284019261010092909201916001016133d2565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561343d5761343d613405565b60405290565b60405161018081016001600160401b038111828210171561343d5761343d613405565b604051601f8201601f191681016001600160401b038111828210171561348e5761348e613405565b604052919050565b6000604082840312156134a857600080fd5b604080519081016001600160401b03811182821017156134ca576134ca613405565b60405290508082356134db8161309d565b8152602092830135920191909152919050565b60006001600160401b0382111561350757613507613405565b5060051b60200190565b600082601f83011261352257600080fd5b81356020613537613532836134ee565b613466565b82815260069290921b8401810191818101908684111561355657600080fd5b8286015b8481101561357a5761356c8882613496565b83529183019160400161355a565b509695505050505050565b60006020828403121561359757600080fd5b81356001600160401b03808211156135ae57600080fd5b9083019060e082860312156135c257600080fd5b6135ca61341b565b82356135d58161309d565b815260208301356135e58161309d565b80602083015250604083013560408201526060830135606082015261360d8660808501613496565b608082015260c08301358281111561362457600080fd5b61363087828601613511565b60a08301525095945050505050565b600081518084526020808501945080840160005b8381101561367957613666878351613229565b6040969096019590820190600101613653565b509495945050505050565b600060018060a01b0380835116845280602084015116602085015250604082015160408401526060820151606084015260808201516136c66080850182613229565b5060a082015160e060c085015261156a60e085018261363f565b6020815260006127556020830184613684565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561374857603f19888603018452613736858351613684565b9450928501929085019060010161371a565b5092979650505050505050565b82815260406020820152600061156a604083018461363f565b8051612b1f8161309d565b60006020828403121561378b57600080fd5b81516127558161309d565b600061018082840312156137a957600080fd5b6137b1613443565b825181526020830151602082015260408301516040820152606083015160608201526137df6080840161376e565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b60006020828403121561384957600080fd5b8151801515811461275557600080fd5b60006020828403121561386b57600080fd5b5051919050565b6000806040838503121561388557600080fd5b505080516020909101519092909150565b600060208083850312156138a957600080fd5b82516001600160401b038111156138bf57600080fd5b8301601f810185136138d057600080fd5b80516138de613532826134ee565b81815260059190911b820183019083810190878311156138fd57600080fd5b928401925b828410156139245783516139158161309d565b82529284019290840190613902565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561396f5761396f613945565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60006001600160ff1b03818413828413808216868404861116156139b2576139b2613945565b600160ff1b60008712828116878305891216156139d1576139d1613945565b600087129250878205871284841616156139ed576139ed613945565b87850587128184161615613a0357613a03613945565b505050929093029392505050565b600082613a2057613a20613976565b600160ff1b821460001984141615613a3a57613a3a613945565b500590565b600080821280156001600160ff1b0384900385131615613a6157613a61613945565b600160ff1b8390038412811615613a7a57613a7a613945565b50500190565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000600160ff1b821415613abe57613abe613945565b5060000390565b600082821015613ad757613ad7613945565b500390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613b2957613b29613945565b6001600160ff1b0384018313811615613b4457613b44613945565b50500390565b6000816000190483118215151615613b6457613b64613945565b500290565b600082613b7857613b78613976565b50049056fea2646970667358221220c0041db54fb8b7e89a4781a6562a4e21c9f55e31100b813ebb2e3feb6b7ea87c64736f6c63430008090033";
864
864
 
865
865
  type RouterStaticConstructorParams =
866
866
  | [signer?: Signer]