@ensuro/core 1.2.7 → 2.0.0-beta10

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 (109) hide show
  1. package/README.md +63 -27
  2. package/build/contracts/AccessManager.sol/AccessManager.json +559 -0
  3. package/build/contracts/ERC4626AssetManager.sol/ERC4626AssetManager.json +219 -0
  4. package/build/contracts/EToken.sol/EToken.json +217 -190
  5. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +17 -4
  6. package/build/contracts/{extras/IPriceRiskModule.sol/IPriceRiskModule.json → LiquidityThresholdAssetManager.sol/LiquidityThresholdAssetManager.json} +81 -131
  7. package/build/contracts/Policy.sol/Policy.json +2 -2
  8. package/build/contracts/PolicyPool.sol/PolicyPool.json +425 -295
  9. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +15 -2
  10. package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +868 -0
  11. package/build/contracts/{BaseAssetManager.sol/BaseAssetManager.json → Reserve.sol/Reserve.json} +37 -166
  12. package/build/contracts/RiskModule.sol/RiskModule.json +85 -312
  13. package/build/contracts/SignedQuoteRiskModule.sol/SignedQuoteRiskModule.json +960 -0
  14. package/build/contracts/{DataTypes.sol/DataTypes.json → TimeScaled.sol/TimeScaled.json} +4 -4
  15. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +134 -336
  16. package/build/contracts/dependencies/ERC1967Proxy.sol/ERC1967Proxy.json +64 -0
  17. package/build/{interfaces/IExchange.sol/IExchange.json → contracts/dependencies/IERC20Metadata.sol/IERC20Metadata.json} +83 -79
  18. package/build/contracts/{WadRayMath.sol → dependencies/WadRayMath.sol}/WadRayMath.json +3 -3
  19. package/build/{interfaces/IPolicyPoolConfig.sol/IPolicyPoolConfig.json → contracts/interfaces/IAccessManager.sol/IAccessManager.json} +79 -77
  20. package/build/contracts/interfaces/IAssetManager.sol/IAssetManager.json +109 -0
  21. package/build/{interfaces → contracts/interfaces}/IEToken.sol/IEToken.json +39 -91
  22. package/build/{interfaces → contracts/interfaces}/ILPWhitelist.sol/ILPWhitelist.json +1 -1
  23. package/build/{interfaces → contracts/interfaces}/IPolicyHolder.sol/IPolicyHolder.json +1 -1
  24. package/build/{interfaces → contracts/interfaces}/IPolicyPool.sol/IPolicyPool.json +137 -100
  25. package/build/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +1 -1
  26. package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +315 -0
  27. package/build/{interfaces → contracts/interfaces}/IRiskModule.sol/IRiskModule.json +58 -34
  28. package/build/contracts/mocks/FixedRateVault.sol/FixedRateVault.json +736 -0
  29. package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
  30. package/build/{interfaces/IInsolvencyHook.sol/IInsolvencyHook.json → contracts/mocks/IMintableERC20.sol/IMintableERC20.json} +13 -8
  31. package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +228 -0
  32. package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +35 -0
  33. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +702 -0
  34. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
  35. package/build/contracts/mocks/RiskModuleMock.sol/RiskModuleMock.json +764 -0
  36. package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
  37. package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
  38. package/contracts/AccessManager.sol +103 -0
  39. package/contracts/ERC4626AssetManager.sol +52 -0
  40. package/contracts/EToken.sol +254 -299
  41. package/contracts/LPManualWhitelist.sol +4 -4
  42. package/contracts/LiquidityThresholdAssetManager.sol +160 -0
  43. package/contracts/Policy.sol +49 -45
  44. package/contracts/PolicyPool.sol +379 -514
  45. package/contracts/PolicyPoolComponent.sol +41 -41
  46. package/contracts/PremiumsAccount.sol +480 -0
  47. package/contracts/Reserve.sol +213 -0
  48. package/contracts/RiskModule.sol +233 -174
  49. package/contracts/SignedQuoteRiskModule.sol +241 -0
  50. package/contracts/TimeScaled.sol +138 -0
  51. package/contracts/TrustfulRiskModule.sol +85 -23
  52. package/contracts/dependencies/ERC1967Proxy.sol +19 -0
  53. package/contracts/dependencies/IERC20Metadata.sol +19 -0
  54. package/contracts/dependencies/WadRayMath.sol +126 -0
  55. package/contracts/interfaces/IAccessManager.sol +148 -0
  56. package/contracts/interfaces/IAssetManager.sol +84 -0
  57. package/contracts/interfaces/IEToken.sol +195 -0
  58. package/contracts/interfaces/ILPWhitelist.sol +40 -0
  59. package/{interfaces → contracts/interfaces}/IPolicyHolder.sol +0 -0
  60. package/contracts/interfaces/IPolicyPool.sol +145 -0
  61. package/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol +3 -0
  62. package/contracts/interfaces/IPremiumsAccount.sol +76 -0
  63. package/contracts/interfaces/IRiskModule.sol +123 -0
  64. package/contracts/mocks/FixedRateVault.sol +85 -0
  65. package/contracts/mocks/ForwardProxy.sol +66 -0
  66. package/contracts/mocks/IMintableERC20.sol +13 -0
  67. package/contracts/mocks/PolicyHolderMock.sol +89 -0
  68. package/contracts/mocks/PolicyPoolComponentMock.sol +17 -0
  69. package/contracts/mocks/PolicyPoolMock.sol +148 -0
  70. package/contracts/mocks/RiskModuleMock.sol +75 -0
  71. package/contracts/mocks/TestCurrency.sol +35 -0
  72. package/contracts/mocks/TestNFT.sol +23 -0
  73. package/js/test-utils.js +356 -0
  74. package/package.json +2 -2
  75. package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +0 -742
  76. package/build/contracts/Exchange.sol/Exchange.json +0 -591
  77. package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +0 -1112
  78. package/build/contracts/PolicyNFT.sol/PolicyNFT.json +0 -570
  79. package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +0 -686
  80. package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +0 -50
  81. package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +0 -1055
  82. package/build/contracts/upgraded/IPolicyNFTv1.sol/IPolicyNFTv1.json +0 -322
  83. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +0 -571
  84. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +0 -602
  85. package/build/interfaces/IAssetManager.sol/IAssetManager.json +0 -31
  86. package/build/interfaces/IExchange.sol/IPriceOracle.json +0 -30
  87. package/build/interfaces/IPolicyNFT.sol/IPolicyNFT.json +0 -321
  88. package/contracts/AaveAssetManager.sol +0 -298
  89. package/contracts/BaseAssetManager.sol +0 -301
  90. package/contracts/DataTypes.sol +0 -287
  91. package/contracts/Exchange.sol +0 -189
  92. package/contracts/FlightDelayRiskModule.sol +0 -208
  93. package/contracts/PolicyNFT.sol +0 -96
  94. package/contracts/PolicyPoolConfig.sol +0 -247
  95. package/contracts/WadRayMath.sol +0 -135
  96. package/contracts/dependencies/ChainlinkClientUpgradeable.sol +0 -371
  97. package/contracts/extras/IPriceRiskModule.sol +0 -41
  98. package/contracts/extras/PriceRiskModule.sol +0 -243
  99. package/contracts/upgraded/IPolicyNFTv1.sol +0 -15
  100. package/contracts/upgraded/PolicyNFTv1.sol +0 -126
  101. package/interfaces/IAssetManager.sol +0 -23
  102. package/interfaces/IEToken.sol +0 -48
  103. package/interfaces/IExchange.sol +0 -59
  104. package/interfaces/IInsolvencyHook.sol +0 -27
  105. package/interfaces/ILPWhitelist.sol +0 -23
  106. package/interfaces/IPolicyNFT.sol +0 -15
  107. package/interfaces/IPolicyPool.sol +0 -44
  108. package/interfaces/IPolicyPoolConfig.sol +0 -87
  109. package/interfaces/IRiskModule.sol +0 -29
@@ -51,7 +51,7 @@
51
51
  "inputs": [
52
52
  {
53
53
  "indexed": true,
54
- "internalType": "enum IPolicyPoolConfig.GovernanceActions",
54
+ "internalType": "enum IAccessManager.GovernanceActions",
55
55
  "name": "action",
56
56
  "type": "uint8"
57
57
  },
@@ -70,7 +70,7 @@
70
70
  "inputs": [
71
71
  {
72
72
  "indexed": true,
73
- "internalType": "enum IPolicyPoolConfig.GovernanceActions",
73
+ "internalType": "enum IAccessManager.GovernanceActions",
74
74
  "name": "action",
75
75
  "type": "uint8"
76
76
  },
@@ -84,6 +84,19 @@
84
84
  "name": "GovernanceAction",
85
85
  "type": "event"
86
86
  },
87
+ {
88
+ "anonymous": false,
89
+ "inputs": [
90
+ {
91
+ "indexed": false,
92
+ "internalType": "uint8",
93
+ "name": "version",
94
+ "type": "uint8"
95
+ }
96
+ ],
97
+ "name": "Initialized",
98
+ "type": "event"
99
+ },
87
100
  {
88
101
  "anonymous": false,
89
102
  "inputs": [
@@ -424,8 +437,8 @@
424
437
  "type": "function"
425
438
  }
426
439
  ],
427
- "bytecode": "0x60c06040523060601b60805234801561001757600080fd5b506040516117873803806117878339810160408190526100369161004b565b60601b6001600160601b03191660a05261007b565b60006020828403121561005d57600080fd5b81516001600160a01b038116811461007457600080fd5b9392505050565b60805160601c60a05160601c6116a26100e560003960008181610234015281816105500152818161085c0152818161097601528181610acd0152610b9301526000818161041c015281816104650152818161065d0152818161069d015261072c01526116a26000f3fe6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b60008051602061164d83398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e610169366004611247565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104fa565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051e565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a3660046112a2565b610652565b34801561028b57600080fd5b5061013b61071f565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb36600461139c565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d2565b34801561036b57600080fd5b5061016e61084b565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611264565b610953565b3480156103d457600080fd5b50610254610ac9565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104635760405162461bcd60e51b815260040161045a9061147d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ac600080516020611606833981519152546001600160a01b031690565b6001600160a01b0316146104d25760405162461bcd60e51b815260040161045a906114c9565b6104db81610b61565b604080516000808252602082019092526104f791839190610c8e565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105df919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b5050505061064e610e0d565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561069b5760405162461bcd60e51b815260040161045a9061147d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e4600080516020611606833981519152546001600160a01b031690565b6001600160a01b03161461070a5760405162461bcd60e51b815260040161045a906114c9565b61071382610b61565b61064e82826001610c8e565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161045a565b5060008051602061160683398151915290565b600054610100900460ff166107ed5760005460ff16156107f1565b303b155b61080d5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff1615801561082f576000805461ffff19166101011790555b610837610ea0565b80156104f7576000805461ff001916905550565b60008051602061164d8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506104f7610f0d565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cd57600080fd5b505afa1580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a05919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b158015610a4d57600080fd5b505afa158015610a61573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c919061137f565b905090565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c22919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cc657610cc183610f88565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cff57600080fd5b505afa925050508015610d2f575060408051601f3d908101601f19168201909252610d2c91810190611366565b60015b610d925760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161045a565b6000805160206116068339815191528114610e015760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161045a565b50610cc1838383611024565b60975460ff16610e565760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161045a565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16610ebb5760005460ff1615610ebf565b303b155b610edb5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff16158015610efd576000805461ffff19166101011790555b610f0561104f565b610837611078565b60975460ff1615610f535760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161045a565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e833390565b6001600160a01b0381163b610ff55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161045a565b60008051602061160683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61102d836110a7565b60008251118061103a5750805b15610cc15761104983836110e7565b50505050565b600054610100900460ff166110765760405162461bcd60e51b815260040161045a90611563565b565b600054610100900460ff1661109f5760405162461bcd60e51b815260040161045a90611563565b6110766111db565b6110b081610f88565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61114f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161045a565b600080846001600160a01b03168460405161116a919061142e565b600060405180830381855af49150503d80600081146111a5576040519150601f19603f3d011682016040523d82523d6000602084013e6111aa565b606091505b50915091506111d282826040518060600160405280602781526020016116266027913961120e565b95945050505050565b600054610100900460ff166112025760405162461bcd60e51b815260040161045a90611563565b6097805460ff19169055565b6060831561121d575081610517565b82511561122d5782518084602001fd5b8160405162461bcd60e51b815260040161045a919061144a565b60006020828403121561125957600080fd5b8135610517816115f0565b6000806040838503121561127757600080fd5b8235611282816115f0565b91506020830135801515811461129757600080fd5b809150509250929050565b600080604083850312156112b557600080fd5b82356112c0816115f0565b9150602083013567ffffffffffffffff808211156112dd57600080fd5b818501915085601f8301126112f157600080fd5b813581811115611303576113036115da565b604051601f8201601f19908116603f0116810190838211818310171561132b5761132b6115da565b8160405282815288602084870101111561134457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137857600080fd5b5051919050565b60006020828403121561139157600080fd5b8151610517816115f0565b600080600080608085870312156113b257600080fd5b84356113bd816115f0565b935060208501356113cd816115f0565b925060408501356113dd816115f0565b9396929550929360600135925050565b60008060006060848603121561140257600080fd5b833561140d816115f0565b9250602084013561141d816115f0565b929592945050506040919091013590565b600082516114408184602087016115ae565b9190910192915050565b60208152600082518060208401526114698160408501602087016115ae565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156115c95781810151838201526020016115b1565b838111156110495750506000910152565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104f757600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212202df679c5bc1ac8bfcb011caef85b4b608ee40136602284a433070a9ae9ae3da464736f6c63430008060033",
428
- "deployedBytecode": "0x6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b60008051602061164d83398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e610169366004611247565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104fa565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051e565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a3660046112a2565b610652565b34801561028b57600080fd5b5061013b61071f565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb36600461139c565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d2565b34801561036b57600080fd5b5061016e61084b565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611264565b610953565b3480156103d457600080fd5b50610254610ac9565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104635760405162461bcd60e51b815260040161045a9061147d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ac600080516020611606833981519152546001600160a01b031690565b6001600160a01b0316146104d25760405162461bcd60e51b815260040161045a906114c9565b6104db81610b61565b604080516000808252602082019092526104f791839190610c8e565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105df919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b5050505061064e610e0d565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561069b5760405162461bcd60e51b815260040161045a9061147d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e4600080516020611606833981519152546001600160a01b031690565b6001600160a01b03161461070a5760405162461bcd60e51b815260040161045a906114c9565b61071382610b61565b61064e82826001610c8e565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161045a565b5060008051602061160683398151915290565b600054610100900460ff166107ed5760005460ff16156107f1565b303b155b61080d5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff1615801561082f576000805461ffff19166101011790555b610837610ea0565b80156104f7576000805461ff001916905550565b60008051602061164d8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506104f7610f0d565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cd57600080fd5b505afa1580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a05919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b158015610a4d57600080fd5b505afa158015610a61573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c919061137f565b905090565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c22919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cc657610cc183610f88565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cff57600080fd5b505afa925050508015610d2f575060408051601f3d908101601f19168201909252610d2c91810190611366565b60015b610d925760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161045a565b6000805160206116068339815191528114610e015760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161045a565b50610cc1838383611024565b60975460ff16610e565760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161045a565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16610ebb5760005460ff1615610ebf565b303b155b610edb5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff16158015610efd576000805461ffff19166101011790555b610f0561104f565b610837611078565b60975460ff1615610f535760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161045a565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e833390565b6001600160a01b0381163b610ff55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161045a565b60008051602061160683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61102d836110a7565b60008251118061103a5750805b15610cc15761104983836110e7565b50505050565b600054610100900460ff166110765760405162461bcd60e51b815260040161045a90611563565b565b600054610100900460ff1661109f5760405162461bcd60e51b815260040161045a90611563565b6110766111db565b6110b081610f88565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61114f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161045a565b600080846001600160a01b03168460405161116a919061142e565b600060405180830381855af49150503d80600081146111a5576040519150601f19603f3d011682016040523d82523d6000602084013e6111aa565b606091505b50915091506111d282826040518060600160405280602781526020016116266027913961120e565b95945050505050565b600054610100900460ff166112025760405162461bcd60e51b815260040161045a90611563565b6097805460ff19169055565b6060831561121d575081610517565b82511561122d5782518084602001fd5b8160405162461bcd60e51b815260040161045a919061144a565b60006020828403121561125957600080fd5b8135610517816115f0565b6000806040838503121561127757600080fd5b8235611282816115f0565b91506020830135801515811461129757600080fd5b809150509250929050565b600080604083850312156112b557600080fd5b82356112c0816115f0565b9150602083013567ffffffffffffffff808211156112dd57600080fd5b818501915085601f8301126112f157600080fd5b813581811115611303576113036115da565b604051601f8201601f19908116603f0116810190838211818310171561132b5761132b6115da565b8160405282815288602084870101111561134457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137857600080fd5b5051919050565b60006020828403121561139157600080fd5b8151610517816115f0565b600080600080608085870312156113b257600080fd5b84356113bd816115f0565b935060208501356113cd816115f0565b925060408501356113dd816115f0565b9396929550929360600135925050565b60008060006060848603121561140257600080fd5b833561140d816115f0565b9250602084013561141d816115f0565b929592945050506040919091013590565b600082516114408184602087016115ae565b9190910192915050565b60208152600082518060208401526114698160408501602087016115ae565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156115c95781810151838201526020016115b1565b838111156110495750506000910152565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104f757600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212202df679c5bc1ac8bfcb011caef85b4b608ee40136602284a433070a9ae9ae3da464736f6c63430008060033",
440
+ "bytecode": "0x60c06040523060805234801561001457600080fd5b506040516118ed3803806118ed83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161180e6100df600039600081816102340152818161054f015281816108b0015281816109da01528181610b4101528181610bf80152610cf601526000818161041b0152818161046401528181610661015281816106a10152610730015261180e6000f3fe6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b6000805160206117b983398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e6101693660046113d0565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104f9565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051d565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a366004611444565b610657565b34801561028b57600080fd5b5061013b610723565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb366004611508565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d6565b34801561036b57600080fd5b5061016e61089f565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611559565b6109b7565b3480156103d457600080fd5b50610254610b3d565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104625760405162461bcd60e51b815260040161045990611597565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ab600080516020611772833981519152546001600160a01b031690565b6001600160a01b0316146104d15760405162461bcd60e51b8152600401610459906115e3565b6104da81610bc6565b604080516000808252602082019092526104f691839190610dea565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b6000805160206117b98339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf919061162f565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b15801561063357600080fd5b505afa158015610647573d6000803e3d6000fd5b50505050610653610f55565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361069f5760405162461bcd60e51b815260040161045990611597565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e8600080516020611772833981519152546001600160a01b031690565b6001600160a01b03161461070e5760405162461bcd60e51b8152600401610459906115e3565b61071782610bc6565b61065382826001610dea565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107c35760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610459565b5060008051602061177283398151915290565b600054610100900460ff16158080156107f65750600054600160ff909116105b806108105750303b158015610810575060005460ff166001145b61082c5760405162461bcd60e51b81526004016104599061164c565b6000805460ff19166001179055801561084f576000805461ff0019166101001790555b610857610fa7565b80156104f6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000805160206117b98339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610930919061162f565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526001606482015260840160006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506104f6611030565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5a919061162f565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526000606482015260840160006040518083038186803b158015610ac157600080fd5b505afa158015610ad5573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc1919061162f565b905090565b6000805160206117b98339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c78919061162f565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d80919061162f565b6001600160a01b031614610de55760405162461bcd60e51b815260206004820152602660248201527f43616e27742075706772616465206368616e67696e672074686520506f6c696360448201526579506f6f6c2160d01b6064820152608401610459565b505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e1d57610de58361106d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e77575060408051601f3d908101601f19168201909252610e749181019061169a565b60015b610eda5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610459565b6000805160206117728339815191528114610f495760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610459565b50610de5838383611109565b610f5d611134565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff1615808015610fc75750600054600160ff909116105b80610fe15750303b158015610fe1575060005460ff166001145b610ffd5760405162461bcd60e51b81526004016104599061164c565b6000805460ff191660011790558015611020576000805461ff0019166101001790555b61102861117f565b6108576111a6565b6110386111d5565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f8a3390565b6001600160a01b0381163b6110da5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610459565b60008051602061177283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111128361121b565b60008251118061111f5750805b15610de55761112e838361125b565b50505050565b60975460ff1661117d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610459565b565b600054610100900460ff1661117d5760405162461bcd60e51b8152600401610459906116b3565b600054610100900460ff166111cd5760405162461bcd60e51b8152600401610459906116b3565b61117d61134f565b60975460ff161561117d5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610459565b6112248161106d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6112c35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610459565b600080846001600160a01b0316846040516112de9190611722565b600060405180830381855af49150503d8060008114611319576040519150601f19603f3d011682016040523d82523d6000602084013e61131e565b606091505b5091509150611346828260405180606001604052806027815260200161179260279139611382565b95945050505050565b600054610100900460ff166113765760405162461bcd60e51b8152600401610459906116b3565b6097805460ff19169055565b60608315611391575081610516565b8251156113a15782518084602001fd5b8160405162461bcd60e51b8152600401610459919061173e565b6001600160a01b03811681146104f657600080fd5b6000602082840312156113e257600080fd5b8135610516816113bb565b60008060006060848603121561140257600080fd5b833561140d816113bb565b9250602084013561141d816113bb565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561145757600080fd5b8235611462816113bb565b9150602083013567ffffffffffffffff8082111561147f57600080fd5b818501915085601f83011261149357600080fd5b8135818111156114a5576114a561142e565b604051601f8201601f19908116603f011681019083821181831017156114cd576114cd61142e565b816040528281528860208487010111156114e657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806000806080858703121561151e57600080fd5b8435611529816113bb565b93506020850135611539816113bb565b92506040850135611549816113bb565b9396929550929360600135925050565b6000806040838503121561156c57600080fd5b8235611577816113bb565b91506020830135801515811461158c57600080fd5b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561164157600080fd5b8151610516816113bb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156116ac57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611719578181015183820152602001611701565b50506000910152565b600082516117348184602087016116fe565b9190910192915050565b602081526000825180602084015261175d8160408501602087016116fe565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212206c8e6d04062c80ea3821068402e8d9938113d9275197f270b05d7d1b1b50441b64736f6c63430008100033",
441
+ "deployedBytecode": "0x6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b6000805160206117b983398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e6101693660046113d0565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104f9565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051d565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a366004611444565b610657565b34801561028b57600080fd5b5061013b610723565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb366004611508565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d6565b34801561036b57600080fd5b5061016e61089f565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611559565b6109b7565b3480156103d457600080fd5b50610254610b3d565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104625760405162461bcd60e51b815260040161045990611597565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ab600080516020611772833981519152546001600160a01b031690565b6001600160a01b0316146104d15760405162461bcd60e51b8152600401610459906115e3565b6104da81610bc6565b604080516000808252602082019092526104f691839190610dea565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b6000805160206117b98339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf919061162f565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b15801561063357600080fd5b505afa158015610647573d6000803e3d6000fd5b50505050610653610f55565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361069f5760405162461bcd60e51b815260040161045990611597565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e8600080516020611772833981519152546001600160a01b031690565b6001600160a01b03161461070e5760405162461bcd60e51b8152600401610459906115e3565b61071782610bc6565b61065382826001610dea565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107c35760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610459565b5060008051602061177283398151915290565b600054610100900460ff16158080156107f65750600054600160ff909116105b806108105750303b158015610810575060005460ff166001145b61082c5760405162461bcd60e51b81526004016104599061164c565b6000805460ff19166001179055801561084f576000805461ff0019166101001790555b610857610fa7565b80156104f6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000805160206117b98339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610930919061162f565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526001606482015260840160006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506104f6611030565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5a919061162f565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526000606482015260840160006040518083038186803b158015610ac157600080fd5b505afa158015610ad5573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc1919061162f565b905090565b6000805160206117b98339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c78919061162f565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d80919061162f565b6001600160a01b031614610de55760405162461bcd60e51b815260206004820152602660248201527f43616e27742075706772616465206368616e67696e672074686520506f6c696360448201526579506f6f6c2160d01b6064820152608401610459565b505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e1d57610de58361106d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e77575060408051601f3d908101601f19168201909252610e749181019061169a565b60015b610eda5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610459565b6000805160206117728339815191528114610f495760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610459565b50610de5838383611109565b610f5d611134565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff1615808015610fc75750600054600160ff909116105b80610fe15750303b158015610fe1575060005460ff166001145b610ffd5760405162461bcd60e51b81526004016104599061164c565b6000805460ff191660011790558015611020576000805461ff0019166101001790555b61102861117f565b6108576111a6565b6110386111d5565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f8a3390565b6001600160a01b0381163b6110da5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610459565b60008051602061177283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111128361121b565b60008251118061111f5750805b15610de55761112e838361125b565b50505050565b60975460ff1661117d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610459565b565b600054610100900460ff1661117d5760405162461bcd60e51b8152600401610459906116b3565b600054610100900460ff166111cd5760405162461bcd60e51b8152600401610459906116b3565b61117d61134f565b60975460ff161561117d5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610459565b6112248161106d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6112c35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610459565b600080846001600160a01b0316846040516112de9190611722565b600060405180830381855af49150503d8060008114611319576040519150601f19603f3d011682016040523d82523d6000602084013e61131e565b606091505b5091509150611346828260405180606001604052806027815260200161179260279139611382565b95945050505050565b600054610100900460ff166113765760405162461bcd60e51b8152600401610459906116b3565b6097805460ff19169055565b60608315611391575081610516565b8251156113a15782518084602001fd5b8160405162461bcd60e51b8152600401610459919061173e565b6001600160a01b03811681146104f657600080fd5b6000602082840312156113e257600080fd5b8135610516816113bb565b60008060006060848603121561140257600080fd5b833561140d816113bb565b9250602084013561141d816113bb565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561145757600080fd5b8235611462816113bb565b9150602083013567ffffffffffffffff8082111561147f57600080fd5b818501915085601f83011261149357600080fd5b8135818111156114a5576114a561142e565b604051601f8201601f19908116603f011681019083821181831017156114cd576114cd61142e565b816040528281528860208487010111156114e657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806000806080858703121561151e57600080fd5b8435611529816113bb565b93506020850135611539816113bb565b92506040850135611549816113bb565b9396929550929360600135925050565b6000806040838503121561156c57600080fd5b8235611577816113bb565b91506020830135801515811461158c57600080fd5b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561164157600080fd5b8151610516816113bb565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156116ac57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611719578181015183820152602001611701565b50506000910152565b600082516117348184602087016116fe565b9190910192915050565b602081526000825180602084015261175d8160408501602087016116fe565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212206c8e6d04062c80ea3821068402e8d9938113d9275197f270b05d7d1b1b50441b64736f6c63430008100033",
429
442
  "linkReferences": {},
430
443
  "deployedLinkReferences": {}
431
444
  }
@@ -1,140 +1,93 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IPriceRiskModule",
4
- "sourceName": "contracts/extras/IPriceRiskModule.sol",
3
+ "contractName": "LiquidityThresholdAssetManager",
4
+ "sourceName": "contracts/LiquidityThresholdAssetManager.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [],
8
- "name": "asset",
9
- "outputs": [
7
+ "anonymous": false,
8
+ "inputs": [
10
9
  {
11
- "internalType": "contract IERC20Metadata",
12
- "name": "",
13
- "type": "address"
10
+ "indexed": false,
11
+ "internalType": "int256",
12
+ "name": "earnings",
13
+ "type": "int256"
14
14
  }
15
15
  ],
16
- "stateMutability": "view",
17
- "type": "function"
16
+ "name": "EarningsRecorded",
17
+ "type": "event"
18
18
  },
19
19
  {
20
- "inputs": [],
21
- "name": "ensuroFee",
22
- "outputs": [
20
+ "anonymous": false,
21
+ "inputs": [
22
+ {
23
+ "indexed": true,
24
+ "internalType": "enum IAccessManager.GovernanceActions",
25
+ "name": "action",
26
+ "type": "uint8"
27
+ },
23
28
  {
29
+ "indexed": false,
24
30
  "internalType": "uint256",
25
- "name": "",
31
+ "name": "value",
26
32
  "type": "uint256"
27
33
  }
28
34
  ],
29
- "stateMutability": "view",
30
- "type": "function"
35
+ "name": "GovernanceAction",
36
+ "type": "event"
31
37
  },
32
38
  {
33
- "inputs": [],
34
- "name": "maxScrPerPolicy",
35
- "outputs": [
39
+ "anonymous": false,
40
+ "inputs": [
36
41
  {
42
+ "indexed": false,
37
43
  "internalType": "uint256",
38
- "name": "",
44
+ "name": "amount",
39
45
  "type": "uint256"
40
46
  }
41
47
  ],
42
- "stateMutability": "view",
43
- "type": "function"
48
+ "name": "MoneyDeinvested",
49
+ "type": "event"
44
50
  },
45
51
  {
46
- "inputs": [],
47
- "name": "moc",
48
- "outputs": [
52
+ "anonymous": false,
53
+ "inputs": [
49
54
  {
55
+ "indexed": false,
50
56
  "internalType": "uint256",
51
- "name": "",
57
+ "name": "amount",
52
58
  "type": "uint256"
53
59
  }
54
60
  ],
55
- "stateMutability": "view",
56
- "type": "function"
61
+ "name": "MoneyInvested",
62
+ "type": "event"
57
63
  },
58
64
  {
59
65
  "inputs": [],
60
- "name": "name",
61
- "outputs": [
62
- {
63
- "internalType": "string",
64
- "name": "",
65
- "type": "string"
66
- }
67
- ],
68
- "stateMutability": "view",
66
+ "name": "connect",
67
+ "outputs": [],
68
+ "stateMutability": "nonpayable",
69
69
  "type": "function"
70
70
  },
71
71
  {
72
- "inputs": [
73
- {
74
- "internalType": "uint256",
75
- "name": "triggerPrice",
76
- "type": "uint256"
77
- },
78
- {
79
- "internalType": "bool",
80
- "name": "lower",
81
- "type": "bool"
82
- },
83
- {
84
- "internalType": "uint256",
85
- "name": "payout",
86
- "type": "uint256"
87
- },
88
- {
89
- "internalType": "uint40",
90
- "name": "expiration",
91
- "type": "uint40"
92
- }
93
- ],
94
- "name": "newPolicy",
72
+ "inputs": [],
73
+ "name": "deinvestAll",
95
74
  "outputs": [
96
75
  {
97
- "internalType": "uint256",
76
+ "internalType": "int256",
98
77
  "name": "",
99
- "type": "uint256"
78
+ "type": "int256"
100
79
  }
101
80
  ],
102
81
  "stateMutability": "nonpayable",
103
82
  "type": "function"
104
83
  },
105
84
  {
106
- "inputs": [
107
- {
108
- "internalType": "uint256",
109
- "name": "triggerPrice",
110
- "type": "uint256"
111
- },
112
- {
113
- "internalType": "bool",
114
- "name": "lower",
115
- "type": "bool"
116
- },
117
- {
118
- "internalType": "uint256",
119
- "name": "payout",
120
- "type": "uint256"
121
- },
122
- {
123
- "internalType": "uint40",
124
- "name": "expiration",
125
- "type": "uint40"
126
- }
127
- ],
128
- "name": "pricePolicy",
85
+ "inputs": [],
86
+ "name": "getInvestmentValue",
129
87
  "outputs": [
130
88
  {
131
89
  "internalType": "uint256",
132
- "name": "premium",
133
- "type": "uint256"
134
- },
135
- {
136
- "internalType": "uint256",
137
- "name": "lossProb",
90
+ "name": "",
138
91
  "type": "uint256"
139
92
  }
140
93
  ],
@@ -143,33 +96,33 @@
143
96
  },
144
97
  {
145
98
  "inputs": [],
146
- "name": "referenceCurrency",
99
+ "name": "liquidityMax",
147
100
  "outputs": [
148
101
  {
149
- "internalType": "contract IERC20Metadata",
102
+ "internalType": "uint256",
150
103
  "name": "",
151
- "type": "address"
104
+ "type": "uint256"
152
105
  }
153
106
  ],
154
107
  "stateMutability": "view",
155
108
  "type": "function"
156
109
  },
157
110
  {
158
- "inputs": [
111
+ "inputs": [],
112
+ "name": "liquidityMiddle",
113
+ "outputs": [
159
114
  {
160
115
  "internalType": "uint256",
161
- "name": "scrAmount",
116
+ "name": "",
162
117
  "type": "uint256"
163
118
  }
164
119
  ],
165
- "name": "releaseScr",
166
- "outputs": [],
167
- "stateMutability": "nonpayable",
120
+ "stateMutability": "view",
168
121
  "type": "function"
169
122
  },
170
123
  {
171
124
  "inputs": [],
172
- "name": "scrInterestRate",
125
+ "name": "liquidityMin",
173
126
  "outputs": [
174
127
  {
175
128
  "internalType": "uint256",
@@ -182,68 +135,65 @@
182
135
  },
183
136
  {
184
137
  "inputs": [],
185
- "name": "scrLimit",
138
+ "name": "rebalance",
139
+ "outputs": [],
140
+ "stateMutability": "nonpayable",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "recordEarnings",
186
146
  "outputs": [
187
147
  {
188
- "internalType": "uint256",
148
+ "internalType": "int256",
189
149
  "name": "",
190
- "type": "uint256"
150
+ "type": "int256"
191
151
  }
192
152
  ],
193
- "stateMutability": "view",
153
+ "stateMutability": "nonpayable",
194
154
  "type": "function"
195
155
  },
196
156
  {
197
- "inputs": [],
198
- "name": "scrPercentage",
199
- "outputs": [
157
+ "inputs": [
200
158
  {
201
159
  "internalType": "uint256",
202
- "name": "",
160
+ "name": "paymentAmount",
203
161
  "type": "uint256"
204
162
  }
205
163
  ],
206
- "stateMutability": "view",
207
- "type": "function"
208
- },
209
- {
210
- "inputs": [],
211
- "name": "totalScr",
164
+ "name": "refillWallet",
212
165
  "outputs": [
213
166
  {
214
167
  "internalType": "uint256",
215
- "name": "",
168
+ "name": "deinvest",
216
169
  "type": "uint256"
217
170
  }
218
171
  ],
219
- "stateMutability": "view",
172
+ "stateMutability": "nonpayable",
220
173
  "type": "function"
221
174
  },
222
175
  {
223
176
  "inputs": [
224
177
  {
225
178
  "internalType": "uint256",
226
- "name": "policyId",
179
+ "name": "min",
180
+ "type": "uint256"
181
+ },
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "middle",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "internalType": "uint256",
189
+ "name": "max",
227
190
  "type": "uint256"
228
191
  }
229
192
  ],
230
- "name": "triggerPolicy",
193
+ "name": "setLiquidityThresholds",
231
194
  "outputs": [],
232
195
  "stateMutability": "nonpayable",
233
196
  "type": "function"
234
- },
235
- {
236
- "inputs": [],
237
- "name": "wallet",
238
- "outputs": [
239
- {
240
- "internalType": "address",
241
- "name": "",
242
- "type": "address"
243
- }
244
- ],
245
- "stateMutability": "view",
246
- "type": "function"
247
197
  }
248
198
  ],
249
199
  "bytecode": "0x",
@@ -3,8 +3,8 @@
3
3
  "contractName": "Policy",
4
4
  "sourceName": "contracts/Policy.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cb2ad9fb4c2d45b0c8e3a6cd038b3c15326c1745d62422b9d4e7e729b430892864736f6c63430008060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cb2ad9fb4c2d45b0c8e3a6cd038b3c15326c1745d62422b9d4e7e729b430892864736f6c63430008060033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ac95ce865d8992395acd7e6827488065228300d73d20b317db88cc630642668964736f6c63430008100033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ac95ce865d8992395acd7e6827488065228300d73d20b317db88cc630642668964736f6c63430008100033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }