@ensuro/core 2.8.1 → 2.8.2

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 (41) hide show
  1. package/build/contracts/AccessManager.sol/AccessManager.json +618 -0
  2. package/build/contracts/ERC4626AssetManager.sol/ERC4626AssetManager.json +238 -0
  3. package/build/contracts/EToken.sol/EToken.json +1287 -0
  4. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +657 -0
  5. package/build/contracts/LiquidityThresholdAssetManager.sol/LiquidityThresholdAssetManager.json +222 -0
  6. package/build/contracts/Policy.sol/Policy.json +10 -0
  7. package/build/contracts/PolicyPool.sol/PolicyPool.json +1775 -0
  8. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +342 -0
  9. package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +1142 -0
  10. package/build/contracts/Reserve.sol/Reserve.json +413 -0
  11. package/build/contracts/RiskModule.sol/RiskModule.json +589 -0
  12. package/build/contracts/SignedBucketRiskModule.sol/SignedBucketRiskModule.json +1251 -0
  13. package/build/contracts/SignedQuoteRiskModule.sol/SignedQuoteRiskModule.json +1145 -0
  14. package/build/contracts/TimeScaled.sol/TimeScaled.json +10 -0
  15. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +1143 -0
  16. package/build/contracts/dependencies/WadRayMath.sol/WadRayMath.json +10 -0
  17. package/build/contracts/interfaces/IAccessManager.sol/IAccessManager.json +343 -0
  18. package/build/contracts/interfaces/IAssetManager.sol/IAssetManager.json +128 -0
  19. package/build/contracts/interfaces/IEToken.sol/IEToken.json +460 -0
  20. package/build/contracts/interfaces/ILPWhitelist.sol/ILPWhitelist.json +103 -0
  21. package/build/contracts/interfaces/IPolicyHolder.sol/IPolicyHolder.json +108 -0
  22. package/build/contracts/interfaces/IPolicyHolderV2.sol/IPolicyHolderV2.json +142 -0
  23. package/build/contracts/interfaces/IPolicyPool.sol/IPolicyPool.json +820 -0
  24. package/build/contracts/interfaces/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +43 -0
  25. package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +477 -0
  26. package/build/contracts/interfaces/IRiskModule.sol/IRiskModule.json +165 -0
  27. package/build/contracts/migration/LPManualWhitelistV20.sol/LPManualWhitelistV20.json +491 -0
  28. package/build/contracts/migration/LPManualWhitelistV20Upgraded.sol/LPManualWhitelistV20Upgraded.json +502 -0
  29. package/build/contracts/mocks/FixedRateVault.sol/FixedRateVault.json +736 -0
  30. package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
  31. package/build/contracts/mocks/IMintableERC20.sol/IMintableERC20.json +47 -0
  32. package/build/contracts/mocks/InterfaceIdCalculator.sol/InterfaceIdCalculator.json +193 -0
  33. package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +457 -0
  34. package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +54 -0
  35. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +929 -0
  36. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
  37. package/build/contracts/mocks/RiskModuleMock.sol/RiskModuleMock.json +1316 -0
  38. package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
  39. package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
  40. package/js/deploy.js +6 -25
  41. package/package.json +3 -5
@@ -0,0 +1,238 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC4626AssetManager",
4
+ "sourceName": "contracts/ERC4626AssetManager.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IERC20Metadata",
10
+ "name": "asset_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract IERC4626",
15
+ "name": "vault_",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "int256",
28
+ "name": "earnings",
29
+ "type": "int256"
30
+ }
31
+ ],
32
+ "name": "EarningsRecorded",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": true,
40
+ "internalType": "enum IAccessManager.GovernanceActions",
41
+ "name": "action",
42
+ "type": "uint8"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "value",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "GovernanceAction",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": false,
59
+ "internalType": "uint256",
60
+ "name": "amount",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "name": "MoneyDeinvested",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": false,
72
+ "internalType": "uint256",
73
+ "name": "amount",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "name": "MoneyInvested",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "inputs": [],
82
+ "name": "connect",
83
+ "outputs": [],
84
+ "stateMutability": "nonpayable",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "deinvestAll",
90
+ "outputs": [
91
+ {
92
+ "internalType": "int256",
93
+ "name": "earnings",
94
+ "type": "int256"
95
+ }
96
+ ],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "getInvestmentValue",
103
+ "outputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "liquidityMax",
116
+ "outputs": [
117
+ {
118
+ "internalType": "uint256",
119
+ "name": "",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "liquidityMiddle",
129
+ "outputs": [
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "liquidityMin",
142
+ "outputs": [
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "",
146
+ "type": "uint256"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "rebalance",
155
+ "outputs": [],
156
+ "stateMutability": "nonpayable",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "recordEarnings",
162
+ "outputs": [
163
+ {
164
+ "internalType": "int256",
165
+ "name": "",
166
+ "type": "int256"
167
+ }
168
+ ],
169
+ "stateMutability": "nonpayable",
170
+ "type": "function"
171
+ },
172
+ {
173
+ "inputs": [
174
+ {
175
+ "internalType": "uint256",
176
+ "name": "paymentAmount",
177
+ "type": "uint256"
178
+ }
179
+ ],
180
+ "name": "refillWallet",
181
+ "outputs": [
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "deinvest",
185
+ "type": "uint256"
186
+ }
187
+ ],
188
+ "stateMutability": "nonpayable",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "uint256",
195
+ "name": "min",
196
+ "type": "uint256"
197
+ },
198
+ {
199
+ "internalType": "uint256",
200
+ "name": "middle",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "max",
206
+ "type": "uint256"
207
+ }
208
+ ],
209
+ "name": "setLiquidityThresholds",
210
+ "outputs": [],
211
+ "stateMutability": "nonpayable",
212
+ "type": "function"
213
+ },
214
+ {
215
+ "inputs": [
216
+ {
217
+ "internalType": "bytes4",
218
+ "name": "interfaceId",
219
+ "type": "bytes4"
220
+ }
221
+ ],
222
+ "name": "supportsInterface",
223
+ "outputs": [
224
+ {
225
+ "internalType": "bool",
226
+ "name": "",
227
+ "type": "bool"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ }
233
+ ],
234
+ "bytecode": "0x60c06040523480156200001157600080fd5b50604051620017663803806200176683398101604081905262000034916200015b565b816001600160a01b038116620000b75760405162461bcd60e51b815260206004820152603c60248201527f4c69717569646974795468726573686f6c6441737365744d616e616765723a2060448201527f61737365742063616e6e6f74206265207a65726f20616464726573730000000060648201526084015b60405180910390fd5b6001600160a01b0390811660805281166200012f5760405162461bcd60e51b815260206004820152603160248201527f4552433436323641737365744d616e616765723a207661756c742063616e6e6f60448201527074206265207a65726f206164647265737360781b6064820152608401620000ae565b6001600160a01b031660a052506200019a565b6001600160a01b03811681146200015857600080fd5b50565b600080604083850312156200016f57600080fd5b82516200017c8162000142565b60208401519092506200018f8162000142565b809150509250929050565b60805160a05161154b6200021b6000396000818161069e015281816109f001528181610ac201528181610e330152610f370152600081816101680152818161025b01528181610356015281816104ad015281816105cf015281816108380152818161092601528181610a2001528181610c460152610f88015261154b6000f3fe608060405234801561001057600080fd5b50600436106100a85760003560e01c80634eb978a4116100715780634eb978a41461011b5780637d7c2a1c146101235780638d7ddd901461012b578063948cb71914610133578063cec16f3f1461013b578063f9c4fd1b1461014357600080fd5b8062a9bb8d146100ad57806301ffc9a7146100c25780631014a0c2146100ea5780633b6612c81461010b5780634dd93bd314610113575b600080fd5b6100c06100bb36600461121f565b61014b565b005b6100d56100d036600461124b565b610454565b60405190151581526020015b60405180910390f35b6100fd6100f8366004611275565b61048b565b6040519081526020016100e1565b6100fd6105cb565b6100fd610686565b6100fd610778565b6100c0610820565b6100fd610922565b6100c06109d1565b6100fd610a8d565b6100fd610c42565b6000805160206114f6833981519152600019841461024d576102027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e8919061128e565b6101f390600a6113ab565b6101fd90866113ba565b610cf9565b815463ffffffff191663ffffffff9190911617815560266040518581527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b6000198314610348576102f07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db919061128e565b6102e690600a6113ab565b6101fd90856113ba565b815463ffffffff919091166401000000000267ffffffff000000001990911617815560276040518481527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b6000198214610446576103eb7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d6919061128e565b6103e190600a6113ab565b6101fd90846113ba565b815463ffffffff91909116600160401b026bffffffff00000000000000001990911617815560286040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5061044f610d62565b505050565b60006001600160e01b031982166301ffc9a760e01b148061048557506001600160e01b03198216631e670a9760e21b145b92915050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051891906113dc565b90508281106105845760405162461bcd60e51b815260206004820152602d60248201527f4e6f206e65656420746f20726566696c6c207468652077616c6c657420666f7260448201526c081d1a1a5cc81c185e5b595b9d609a1b60648201526084015b60405180910390fd5b600061058e610686565b905081610599610c42565b6105a390866113f5565b6105ad9190611408565b9250808311156105bb578092505b6105c483610e07565b5050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064f919061128e565b61065a90600a6113ab565b6000805160206114f6833981519152546106819190600160401b900463ffffffff1661141b565b905090565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a0823190602401602060405180830381865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071991906113dc565b6040518263ffffffff1660e01b815260040161073791815260200190565b602060405180830381865afa158015610754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068191906113dc565b600080610783610686565b6000805160206114f68339815191528054919250906000906107b590600160601b90046001600160801b03168461143a565b90506107c083610ea9565b82546001600160801b0391909116600160601b02600160601b600160e01b03199091161782556040518181527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a19392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab91906113dc565b90506108b56105cb565b8111156108d9576108d66108c7610c42565b6108d19083611408565b610f12565b50565b6108e1610922565b8110156108d657600061090d6108f5610686565b836108fe610c42565b6109089190611408565b610f6e565b9050801561091e5761091e81610e07565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a6919061128e565b6109b190600a6113ab565b6000805160206114f683398151915254610681919063ffffffff1661141b565b6109d9610f86565b60405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260001960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611461565b6000806000805160206114f68339815191526040516370a0823160e01b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ba0876529082906370a0823190602401602060405180830381865afa158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3591906113dc565b6040516001600160e01b031960e084901b1681526004810191909152306024820181905260448201526064016020604051808303816000875af1158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba491906113dc565b8254909150610bc390600160601b90046001600160801b03168261143a565b8254600160601b600160e01b03191683556040518281529093507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c659060200160405180910390a16040518381527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a1505090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc6919061128e565b610cd190600a6113ab565b6000805160206114f6833981519152546106819190640100000000900463ffffffff1661141b565b600063ffffffff821115610d5e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161057b565b5090565b6000805160206114f6833981519152805463ffffffff64010000000082048116911611801590610daa5750805463ffffffff600160401b820481166401000000009092041611155b6108d65760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a204c6971756964697479206c696d69747320617265604482015267081a5b9d985b1a5960c21b606482015260840161057b565b610e10816110d9565b604051632d182be560e21b815260048101829052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af94906064015b6020604051808303816000875af1158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e91906113dc565b60006001600160801b03821115610d5e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161057b565b610f1b81611190565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f6590604401610e66565b6000818310610f7d5781610f7f565b825b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611498565b6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110739190611498565b6001600160a01b0316146110ba5760405162461bcd60e51b815260206004820152600e60248201526d082e6e6cae840dad2e6dac2e8c6d60931b604482015260640161057b565b6000805160206114f683398151915280546001600160e01b0319169055565b6000805160206114f6833981519152805461110d9061110890600160601b90046001600160801b031684610f6e565b610ea9565b81548290600c9061112f908490600160601b90046001600160801b03166114b5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c658260405161118491815260200190565b60405180910390a15050565b6000805160206114f68339815191526111a882610ea9565b81548290600c906111ca908490600160601b90046001600160801b03166114d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f0f0cdeac88e111e1dd9b9f043e8c671053dedfbaeccabfb144fd51a4f870fcf48260405161118491815260200190565b60008060006060848603121561123457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561125d57600080fd5b81356001600160e01b031981168114610f7f57600080fd5b60006020828403121561128757600080fd5b5035919050565b6000602082840312156112a057600080fd5b815160ff81168114610f7f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113025781600019048211156112e8576112e86112b1565b808516156112f557918102915b93841c93908002906112cc565b509250929050565b60008261131957506001610485565b8161132657506000610485565b816001811461133c576002811461134657611362565b6001915050610485565b60ff841115611357576113576112b1565b50506001821b610485565b5060208310610133831016604e8410600b8410161715611385575081810a610485565b61138f83836112c7565b80600019048211156113a3576113a36112b1565b029392505050565b6000610f7f60ff84168361130a565b6000826113d757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113ee57600080fd5b5051919050565b80820180821115610485576104856112b1565b81810381811115610485576104856112b1565b6000816000190483118215151615611435576114356112b1565b500290565b818103600083128015838313168383128216171561145a5761145a6112b1565b5092915050565b60006020828403121561147357600080fd5b81518015158114610f7f57600080fd5b6001600160a01b03811681146108d657600080fd5b6000602082840312156114aa57600080fd5b8151610f7f81611483565b6001600160801b0382811682821603908082111561145a5761145a6112b1565b6001600160801b0381811683821601908082111561145a5761145a6112b156fe2285f21cf946f4f139f84d60d1bd42e41b7cecbb3685384f294f426ac09f5f46a264697066735822122052438e7c30c649c8ec086d78319a29bc7a4e80492cc41da1830a3893941c9e4764736f6c63430008100033",
235
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a85760003560e01c80634eb978a4116100715780634eb978a41461011b5780637d7c2a1c146101235780638d7ddd901461012b578063948cb71914610133578063cec16f3f1461013b578063f9c4fd1b1461014357600080fd5b8062a9bb8d146100ad57806301ffc9a7146100c25780631014a0c2146100ea5780633b6612c81461010b5780634dd93bd314610113575b600080fd5b6100c06100bb36600461121f565b61014b565b005b6100d56100d036600461124b565b610454565b60405190151581526020015b60405180910390f35b6100fd6100f8366004611275565b61048b565b6040519081526020016100e1565b6100fd6105cb565b6100fd610686565b6100fd610778565b6100c0610820565b6100fd610922565b6100c06109d1565b6100fd610a8d565b6100fd610c42565b6000805160206114f6833981519152600019841461024d576102027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e8919061128e565b6101f390600a6113ab565b6101fd90866113ba565b610cf9565b815463ffffffff191663ffffffff9190911617815560266040518581527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b6000198314610348576102f07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db919061128e565b6102e690600a6113ab565b6101fd90856113ba565b815463ffffffff919091166401000000000267ffffffff000000001990911617815560276040518481527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b6000198214610446576103eb7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d6919061128e565b6103e190600a6113ab565b6101fd90846113ba565b815463ffffffff91909116600160401b026bffffffff00000000000000001990911617815560286040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5061044f610d62565b505050565b60006001600160e01b031982166301ffc9a760e01b148061048557506001600160e01b03198216631e670a9760e21b145b92915050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051891906113dc565b90508281106105845760405162461bcd60e51b815260206004820152602d60248201527f4e6f206e65656420746f20726566696c6c207468652077616c6c657420666f7260448201526c081d1a1a5cc81c185e5b595b9d609a1b60648201526084015b60405180910390fd5b600061058e610686565b905081610599610c42565b6105a390866113f5565b6105ad9190611408565b9250808311156105bb578092505b6105c483610e07565b5050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064f919061128e565b61065a90600a6113ab565b6000805160206114f6833981519152546106819190600160401b900463ffffffff1661141b565b905090565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a0823190602401602060405180830381865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071991906113dc565b6040518263ffffffff1660e01b815260040161073791815260200190565b602060405180830381865afa158015610754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068191906113dc565b600080610783610686565b6000805160206114f68339815191528054919250906000906107b590600160601b90046001600160801b03168461143a565b90506107c083610ea9565b82546001600160801b0391909116600160601b02600160601b600160e01b03199091161782556040518181527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a19392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab91906113dc565b90506108b56105cb565b8111156108d9576108d66108c7610c42565b6108d19083611408565b610f12565b50565b6108e1610922565b8110156108d657600061090d6108f5610686565b836108fe610c42565b6109089190611408565b610f6e565b9050801561091e5761091e81610e07565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a6919061128e565b6109b190600a6113ab565b6000805160206114f683398151915254610681919063ffffffff1661141b565b6109d9610f86565b60405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260001960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611461565b6000806000805160206114f68339815191526040516370a0823160e01b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ba0876529082906370a0823190602401602060405180830381865afa158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3591906113dc565b6040516001600160e01b031960e084901b1681526004810191909152306024820181905260448201526064016020604051808303816000875af1158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba491906113dc565b8254909150610bc390600160601b90046001600160801b03168261143a565b8254600160601b600160e01b03191683556040518281529093507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c659060200160405180910390a16040518381527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a1505090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc6919061128e565b610cd190600a6113ab565b6000805160206114f6833981519152546106819190640100000000900463ffffffff1661141b565b600063ffffffff821115610d5e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161057b565b5090565b6000805160206114f6833981519152805463ffffffff64010000000082048116911611801590610daa5750805463ffffffff600160401b820481166401000000009092041611155b6108d65760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a204c6971756964697479206c696d69747320617265604482015267081a5b9d985b1a5960c21b606482015260840161057b565b610e10816110d9565b604051632d182be560e21b815260048101829052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af94906064015b6020604051808303816000875af1158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e91906113dc565b60006001600160801b03821115610d5e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161057b565b610f1b81611190565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f6590604401610e66565b6000818310610f7d5781610f7f565b825b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611498565b6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110739190611498565b6001600160a01b0316146110ba5760405162461bcd60e51b815260206004820152600e60248201526d082e6e6cae840dad2e6dac2e8c6d60931b604482015260640161057b565b6000805160206114f683398151915280546001600160e01b0319169055565b6000805160206114f6833981519152805461110d9061110890600160601b90046001600160801b031684610f6e565b610ea9565b81548290600c9061112f908490600160601b90046001600160801b03166114b5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c658260405161118491815260200190565b60405180910390a15050565b6000805160206114f68339815191526111a882610ea9565b81548290600c906111ca908490600160601b90046001600160801b03166114d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f0f0cdeac88e111e1dd9b9f043e8c671053dedfbaeccabfb144fd51a4f870fcf48260405161118491815260200190565b60008060006060848603121561123457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561125d57600080fd5b81356001600160e01b031981168114610f7f57600080fd5b60006020828403121561128757600080fd5b5035919050565b6000602082840312156112a057600080fd5b815160ff81168114610f7f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113025781600019048211156112e8576112e86112b1565b808516156112f557918102915b93841c93908002906112cc565b509250929050565b60008261131957506001610485565b8161132657506000610485565b816001811461133c576002811461134657611362565b6001915050610485565b60ff841115611357576113576112b1565b50506001821b610485565b5060208310610133831016604e8410600b8410161715611385575081810a610485565b61138f83836112c7565b80600019048211156113a3576113a36112b1565b029392505050565b6000610f7f60ff84168361130a565b6000826113d757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113ee57600080fd5b5051919050565b80820180821115610485576104856112b1565b81810381811115610485576104856112b1565b6000816000190483118215151615611435576114356112b1565b500290565b818103600083128015838313168383128216171561145a5761145a6112b1565b5092915050565b60006020828403121561147357600080fd5b81518015158114610f7f57600080fd5b6001600160a01b03811681146108d657600080fd5b6000602082840312156114aa57600080fd5b8151610f7f81611483565b6001600160801b0382811682821603908082111561145a5761145a6112b1565b6001600160801b0381811683821601908082111561145a5761145a6112b156fe2285f21cf946f4f139f84d60d1bd42e41b7cecbb3685384f294f426ac09f5f46a264697066735822122052438e7c30c649c8ec086d78319a29bc7a4e80492cc41da1830a3893941c9e4764736f6c63430008100033",
236
+ "linkReferences": {},
237
+ "deployedLinkReferences": {}
238
+ }