lynx-client 0.0.24 → 0.0.25

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 (154) hide show
  1. package/README.md +11 -1
  2. package/dist/cjs/index.js +3 -0
  3. package/dist/cjs/lib/addresses/lensAddresses.js +4 -0
  4. package/dist/cjs/lib/contractsIntegration/RateModelLensService/IRateModelLensService.js +49 -0
  5. package/dist/cjs/lib/contractsIntegration/RateModelLensService/RateModelLensService.js +136 -0
  6. package/dist/cjs/lib/contractsIntegration/RateModelLensService/index.js +18 -0
  7. package/dist/cjs/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.js +2 -0
  8. package/dist/cjs/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.js +2 -0
  9. package/dist/cjs/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.js +2 -0
  10. package/dist/cjs/lib/typechain/contracts/Peripheral/Lens/RateModelLens.js +2 -0
  11. package/dist/cjs/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.js +2 -0
  12. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1 -1
  13. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +1 -1
  14. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  16. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  17. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  18. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +1 -1
  19. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  20. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  21. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  22. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  23. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  24. package/dist/cjs/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.js +92 -0
  25. package/dist/cjs/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.js +38 -0
  26. package/dist/cjs/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.js +38 -0
  27. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  28. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.js +514 -0
  29. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  30. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  31. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.js +630 -0
  32. package/dist/esm/index.d.ts +3 -0
  33. package/dist/esm/index.d.ts.map +1 -1
  34. package/dist/esm/index.js +3 -0
  35. package/dist/esm/lib/addresses/lensAddresses.d.ts +4 -0
  36. package/dist/esm/lib/addresses/lensAddresses.d.ts.map +1 -1
  37. package/dist/esm/lib/addresses/lensAddresses.js +4 -0
  38. package/dist/esm/lib/contractsIntegration/RateModelLensService/IRateModelLensService.d.ts +185 -0
  39. package/dist/esm/lib/contractsIntegration/RateModelLensService/IRateModelLensService.d.ts.map +1 -0
  40. package/dist/esm/lib/contractsIntegration/RateModelLensService/IRateModelLensService.js +49 -0
  41. package/dist/esm/lib/contractsIntegration/RateModelLensService/RateModelLensService.d.ts +14 -0
  42. package/dist/esm/lib/contractsIntegration/RateModelLensService/RateModelLensService.d.ts.map +1 -0
  43. package/dist/esm/lib/contractsIntegration/RateModelLensService/RateModelLensService.js +136 -0
  44. package/dist/esm/lib/contractsIntegration/RateModelLensService/index.d.ts +3 -0
  45. package/dist/esm/lib/contractsIntegration/RateModelLensService/index.d.ts.map +1 -0
  46. package/dist/esm/lib/contractsIntegration/RateModelLensService/index.js +18 -0
  47. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.d.ts +66 -0
  48. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.d.ts.map +1 -0
  49. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.js +2 -0
  50. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.d.ts +30 -0
  51. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.d.ts.map +1 -0
  52. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.js +2 -0
  53. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.d.ts +26 -0
  54. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.d.ts.map +1 -0
  55. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.js +2 -0
  56. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/RateModelLens.d.ts +202 -0
  57. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/RateModelLens.d.ts.map +1 -0
  58. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/RateModelLens.js +2 -0
  59. package/dist/esm/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.d.ts +373 -0
  60. package/dist/esm/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.d.ts.map +1 -0
  61. package/dist/esm/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.js +2 -0
  62. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +1 -1
  63. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1 -1
  64. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +1 -1
  65. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +1 -1
  66. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  67. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  68. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  69. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  70. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  71. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  72. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  73. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  74. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +1 -1
  75. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +1 -1
  76. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  77. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  78. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  79. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  80. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  81. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  82. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  83. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  84. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  85. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  86. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.d.ts +64 -0
  87. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.d.ts.map +1 -0
  88. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.js +92 -0
  89. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.d.ts +22 -0
  90. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.d.ts.map +1 -0
  91. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.js +38 -0
  92. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.d.ts +22 -0
  93. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.d.ts.map +1 -0
  94. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.js +38 -0
  95. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  96. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts.map +1 -1
  97. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  98. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.d.ts +388 -0
  99. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.d.ts.map +1 -0
  100. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.js +514 -0
  101. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  102. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  103. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  104. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  105. package/dist/esm/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.d.ts +482 -0
  106. package/dist/esm/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.d.ts.map +1 -0
  107. package/dist/esm/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.js +630 -0
  108. package/dist/types/index.d.ts +3 -0
  109. package/dist/types/index.d.ts.map +1 -1
  110. package/dist/types/lib/addresses/lensAddresses.d.ts +4 -0
  111. package/dist/types/lib/addresses/lensAddresses.d.ts.map +1 -1
  112. package/dist/types/lib/contractsIntegration/RateModelLensService/IRateModelLensService.d.ts +185 -0
  113. package/dist/types/lib/contractsIntegration/RateModelLensService/IRateModelLensService.d.ts.map +1 -0
  114. package/dist/types/lib/contractsIntegration/RateModelLensService/RateModelLensService.d.ts +14 -0
  115. package/dist/types/lib/contractsIntegration/RateModelLensService/RateModelLensService.d.ts.map +1 -0
  116. package/dist/types/lib/contractsIntegration/RateModelLensService/index.d.ts +3 -0
  117. package/dist/types/lib/contractsIntegration/RateModelLensService/index.d.ts.map +1 -0
  118. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.d.ts +66 -0
  119. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IFundingRateModel.d.ts.map +1 -0
  120. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.d.ts +30 -0
  121. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IInterestRateModel.d.ts.map +1 -0
  122. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.d.ts +26 -0
  123. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IRateModelV1.d.ts.map +1 -0
  124. package/dist/types/lib/typechain/contracts/Peripheral/Lens/RateModelLens.d.ts +202 -0
  125. package/dist/types/lib/typechain/contracts/Peripheral/Lens/RateModelLens.d.ts.map +1 -0
  126. package/dist/types/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.d.ts +373 -0
  127. package/dist/types/lib/typechain/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel.d.ts.map +1 -0
  128. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +1 -1
  129. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +1 -1
  130. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  131. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  132. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  133. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  134. package/dist/types/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +1 -1
  135. package/dist/types/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  136. package/dist/types/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  137. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  138. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  139. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  140. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.d.ts +64 -0
  141. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IFundingRateModel__factory.d.ts.map +1 -0
  142. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.d.ts +22 -0
  143. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IInterestRateModel__factory.d.ts.map +1 -0
  144. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.d.ts +22 -0
  145. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IRateModelV1__factory.d.ts.map +1 -0
  146. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  147. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts.map +1 -1
  148. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.d.ts +388 -0
  149. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory.d.ts.map +1 -0
  150. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  151. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  152. package/dist/types/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.d.ts +482 -0
  153. package/dist/types/lib/typechain/factories/contracts/Peripheral/RateModels/FRM/AdjustableSingleKinkFundingRateModel__factory.d.ts.map +1 -0
  154. package/package.json +1 -1
package/README.md CHANGED
@@ -172,7 +172,11 @@ await tradersPortal.traderRequests.openNewPosition(
172
172
  #### Lens Services (Read-Only Data)
173
173
 
174
174
  ```typescript
175
- import { createLexLensService, createTradingFloorLensService } from 'lynx-client';
175
+ import {
176
+ createLexLensService,
177
+ createTradingFloorLensService,
178
+ RateModelLensService
179
+ } from 'lynx-client';
176
180
 
177
181
  // LEX Pool data (accepts both provider and signer)
178
182
  const lexLens = createLexLensService(signerOrProvider, lexLensAddress);
@@ -182,8 +186,14 @@ const pairConfigs = await lexLens.getAllPairConfigurationsInLex(lexPoolAddress);
182
186
  // Trading floor data (accepts both provider and signer)
183
187
  const tradingFloorLens = createTradingFloorLensService(signerOrProvider, tradingFloorLensAddress);
184
188
  const position = await tradingFloorLens.getCompletePositionData(tradingFloorAddress, positionId);
189
+
190
+ // Rate Model data (read-only)
191
+ const rateModelLens = new RateModelLensService(provider, rateModelLensAddress);
192
+ const rateModels = await rateModelLens.getCompleteRateModelsInfo(lexPools);
185
193
  ```
186
194
 
195
+ **📖 For detailed rate model usage, see [Rate Model Lens Guide](./docs/RATE_MODEL_LENS.md)**
196
+
187
197
  ### Utility Functions
188
198
 
189
199
  #### Price Conversions
package/dist/cjs/index.js CHANGED
@@ -67,10 +67,12 @@ __exportStar(require("./lib/contractsIntegration/IntentsVerifierLensService"), e
67
67
  __exportStar(require("./lib/contractsIntegration/TriggersAndPortalLensService"), exports);
68
68
  __exportStar(require("./lib/contractsIntegration/TradingFloorLensService"), exports);
69
69
  __exportStar(require("./lib/contractsIntegration/LexLensService"), exports);
70
+ __exportStar(require("./lib/contractsIntegration/RateModelLensService"), exports);
70
71
  __exportStar(require("./lib/typechain/contracts/Peripheral/Lens/IntentsVerifierLens"), exports);
71
72
  __exportStar(require("./lib/typechain/contracts/Peripheral/Lens/TriggersAndPortalLens"), exports);
72
73
  __exportStar(require("./lib/typechain/contracts/Peripheral/Lens/LexLens"), exports);
73
74
  __exportStar(require("./lib/typechain/contracts/Peripheral/Lens/TradingFloorLens"), exports);
75
+ __exportStar(require("./lib/typechain/contracts/Peripheral/Lens/RateModelLens"), exports);
74
76
  // Intents Verifier payload types for EIP-712 signature generation
75
77
  var chipsIntentsVerifierPayloadTypes_1 = require("./lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes");
76
78
  Object.defineProperty(exports, "chipsIntentsVerifierPayloadTypes", { enumerable: true, get: function () { return chipsIntentsVerifierPayloadTypes_1.chipsIntentsVerifierPayloadTypes; } });
@@ -83,6 +85,7 @@ __exportStar(require("./lib/typechain/factories/contracts/Peripheral/Lens/Intent
83
85
  __exportStar(require("./lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory"), exports);
84
86
  __exportStar(require("./lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory"), exports);
85
87
  __exportStar(require("./lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory"), exports);
88
+ __exportStar(require("./lib/typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory"), exports);
86
89
  // Contract factory exports for Intents Verifiers
87
90
  __exportStar(require("./lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory"), exports);
88
91
  __exportStar(require("./lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory"), exports);
@@ -7,23 +7,27 @@ exports.LensAddresses = {
7
7
  lexLens: "0xc07089eF92ff849AB5dE0B175fdA9684d2B935CD",
8
8
  tradingFloorLensLens: "0xa2320e397400bd2C56facFD958B602996FdC4a64",
9
9
  triggersAndPortalLens: "0x1DD754d549d2643C5a798364a5cfb2fb24f151e7",
10
+ rateModelLens: "0xee6354F34892C5388FC69ea1CEc0f3050aF84fB9",
10
11
  },
11
12
  sonic: {
12
13
  intentsVerifierLens: "0x0C1Fcd85856b5564a87ae378336b7CC0c139C5f7",
13
14
  lexLens: "0x0dEb5be69Bb501Af75C8bD5438Ad5d88235c11a4",
14
15
  tradingFloorLensLens: "0xe8cB576813Eca9B3B9BD851Ce768eB0920274fE8",
15
16
  triggersAndPortalLens: "0x1E3865f4Ff5d62dE2fec715d3e676B4b602c0893",
17
+ rateModelLens: "0x771176a09E84365552504437e3A026ea049CBa41",
16
18
  },
17
19
  fantom: {
18
20
  intentsVerifierLens: "",
19
21
  lexLens: "",
20
22
  tradingFloorLensLens: "",
21
23
  triggersAndPortalLens: "",
24
+ rateModelLens: "",
22
25
  },
23
26
  flare: {
24
27
  intentsVerifierLens: "0x8fBb98F9BbBBB455A86371D4B2E8ECc7b1b9C6F6",
25
28
  lexLens: "0xc2E4817d810BA0c5890128ACd16e0951B2E5f965",
26
29
  tradingFloorLensLens: "0x2779d0a13Bb4CB7798A8D656e8EdEbB560c17431",
27
30
  triggersAndPortalLens: "0x22066b01a00dF4fC4Bc0567dE4D251c694dBA930",
31
+ rateModelLens: "0x7D1893Da64A559C5F23C0f565F62C8480ff6A295",
28
32
  },
29
33
  };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_COMPLETE_LEX_RATE_MODELS_INFO_RAW = exports.EMPTY_INTEREST_RATE_MODEL_GROUP_RAW = exports.EMPTY_IRM_BASE_RATE_PARAMS_RAW = exports.EMPTY_FUNDING_RATE_MODEL_GROUP_RAW = exports.EMPTY_FRM_PAIR_SPECIFIC_PARAMS_RAW = exports.EMPTY_FRM_ACCOUNTANT_CONFIG_RAW = exports.EMPTY_FRM_BASE_RATE_PARAMS_RAW = void 0;
4
+ // Empty Constants for Raw Struct Initialization (used internally for conversion)
5
+ exports.EMPTY_FRM_BASE_RATE_PARAMS_RAW = {
6
+ baseRate: 0n,
7
+ multiplier: 0n,
8
+ kink: 0n,
9
+ postKinkMultiplier: 0n,
10
+ rateOnKink: 0n,
11
+ };
12
+ exports.EMPTY_FRM_ACCOUNTANT_CONFIG_RAW = {
13
+ accountant: '',
14
+ lexPool: '',
15
+ minTotalOIForFunding: 0n,
16
+ };
17
+ exports.EMPTY_FRM_PAIR_SPECIFIC_PARAMS_RAW = {
18
+ pairId: 0n,
19
+ rateParams: exports.EMPTY_FRM_BASE_RATE_PARAMS_RAW,
20
+ };
21
+ exports.EMPTY_FUNDING_RATE_MODEL_GROUP_RAW = {
22
+ fundingRateModel: '',
23
+ modelName: '',
24
+ modelVersion: '',
25
+ lexPools: [],
26
+ accountants: [],
27
+ baseRateParams: exports.EMPTY_FRM_BASE_RATE_PARAMS_RAW,
28
+ accountantConfigs: [],
29
+ pairSpecificParams: [],
30
+ };
31
+ exports.EMPTY_IRM_BASE_RATE_PARAMS_RAW = {
32
+ baseRate: 0n,
33
+ multiplier: 0n,
34
+ kink: 0n,
35
+ postKinkMultiplier: 0n,
36
+ rateOnKink: 0n,
37
+ };
38
+ exports.EMPTY_INTEREST_RATE_MODEL_GROUP_RAW = {
39
+ interestRateModel: '',
40
+ modelName: '',
41
+ modelVersion: '',
42
+ lexPools: [],
43
+ accountants: [],
44
+ baseRateParams: exports.EMPTY_IRM_BASE_RATE_PARAMS_RAW,
45
+ };
46
+ exports.EMPTY_COMPLETE_LEX_RATE_MODELS_INFO_RAW = {
47
+ fundingRateModelGroups: [],
48
+ interestRateModelGroups: [],
49
+ };
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateModelLensService = void 0;
4
+ const RateModelLens__factory_1 = require("../../typechain/factories/contracts/Peripheral/Lens/RateModelLens__factory");
5
+ const ethersTypes_1 = require("../../utils/ethersTypes");
6
+ const IRateModelLensService_1 = require("./IRateModelLensService");
7
+ // Conversion scale constants
8
+ const PRECISION_SCALE = 1e18;
9
+ // Helper functions for converting raw values to human-readable
10
+ function convertRateParamsToUnits(raw) {
11
+ return {
12
+ baseRateInUnits: Number(raw.baseRate) / PRECISION_SCALE,
13
+ multiplierInUnits: Number(raw.multiplier) / PRECISION_SCALE,
14
+ kink: Number(raw.kink) / PRECISION_SCALE,
15
+ postKinkMultiplierInUnits: Number(raw.postKinkMultiplier) / PRECISION_SCALE,
16
+ rateOnKinkInUnits: Number(raw.rateOnKink) / PRECISION_SCALE,
17
+ raw: {
18
+ baseRate: raw.baseRate,
19
+ multiplier: raw.multiplier,
20
+ kink: raw.kink,
21
+ postKinkMultiplier: raw.postKinkMultiplier,
22
+ rateOnKink: raw.rateOnKink,
23
+ },
24
+ };
25
+ }
26
+ function convertIRMRateParamsToUnits(raw) {
27
+ return {
28
+ baseRateInUnits: Number(raw.baseRate) / PRECISION_SCALE,
29
+ multiplierInUnits: Number(raw.multiplier) / PRECISION_SCALE,
30
+ kink: Number(raw.kink) / PRECISION_SCALE,
31
+ postKinkMultiplierInUnits: Number(raw.postKinkMultiplier) / PRECISION_SCALE,
32
+ rateOnKinkInUnits: Number(raw.rateOnKink) / PRECISION_SCALE,
33
+ raw: {
34
+ baseRate: raw.baseRate,
35
+ multiplier: raw.multiplier,
36
+ kink: raw.kink,
37
+ postKinkMultiplier: raw.postKinkMultiplier,
38
+ rateOnKink: raw.rateOnKink,
39
+ },
40
+ };
41
+ }
42
+ function convertAccountantConfig(raw) {
43
+ return {
44
+ accountant: raw.accountant,
45
+ lexPool: raw.lexPool,
46
+ minTotalOIForFundingInUnits: Number(raw.minTotalOIForFunding) / PRECISION_SCALE,
47
+ };
48
+ }
49
+ function convertPairSpecificParams(raw) {
50
+ return {
51
+ pairId: Number(raw.pairId),
52
+ rateParams: convertRateParamsToUnits(raw.rateParams),
53
+ };
54
+ }
55
+ class RateModelLensService {
56
+ constructor(signerOrProvider, contractAddress) {
57
+ this.contract = RateModelLens__factory_1.RateModelLens__factory.connect(contractAddress, signerOrProvider);
58
+ }
59
+ async getAccountantForLexPool(lexPool) {
60
+ return await this.contract.getAccountantForLexPool(lexPool);
61
+ }
62
+ async getLexPoolForAccountant(accountant) {
63
+ return await this.contract.getLexPoolForAccountant(accountant);
64
+ }
65
+ async getCompleteRateModelsInfo(lexPools) {
66
+ const result = await this.contract.getCompleteRateModelsInfo(lexPools);
67
+ // Convert funding rate model groups (raw)
68
+ const fundingRateModelGroupsRaw = (0, ethersTypes_1.ethersStructResponseToArray)(result.fundingRateModelGroups, IRateModelLensService_1.EMPTY_FUNDING_RATE_MODEL_GROUP_RAW, {
69
+ accountantConfigs: IRateModelLensService_1.EMPTY_FRM_ACCOUNTANT_CONFIG_RAW,
70
+ pairSpecificParams: IRateModelLensService_1.EMPTY_FRM_PAIR_SPECIFIC_PARAMS_RAW,
71
+ });
72
+ // Convert to human-readable
73
+ const fundingRateModelGroups = fundingRateModelGroupsRaw.map((group) => ({
74
+ fundingRateModel: group.fundingRateModel,
75
+ modelName: group.modelName,
76
+ modelVersion: group.modelVersion,
77
+ lexPools: group.lexPools,
78
+ accountants: group.accountants,
79
+ baseRateParams: convertRateParamsToUnits(group.baseRateParams),
80
+ accountantConfigs: group.accountantConfigs.map(convertAccountantConfig),
81
+ pairSpecificParams: group.pairSpecificParams.map(convertPairSpecificParams),
82
+ }));
83
+ // Convert interest rate model groups (raw)
84
+ const interestRateModelGroupsRaw = (0, ethersTypes_1.ethersStructResponseToArray)(result.interestRateModelGroups, IRateModelLensService_1.EMPTY_INTEREST_RATE_MODEL_GROUP_RAW);
85
+ // Convert to human-readable
86
+ const interestRateModelGroups = interestRateModelGroupsRaw.map((group) => ({
87
+ interestRateModel: group.interestRateModel,
88
+ modelName: group.modelName,
89
+ modelVersion: group.modelVersion,
90
+ lexPools: group.lexPools,
91
+ accountants: group.accountants,
92
+ baseRateParams: convertIRMRateParamsToUnits(group.baseRateParams),
93
+ }));
94
+ return {
95
+ fundingRateModelGroups,
96
+ interestRateModelGroups,
97
+ };
98
+ }
99
+ async getFundingRateModelGroups(lexPools) {
100
+ const result = await this.contract.getFundingRateModelGroups(lexPools);
101
+ // Convert array of groups with nested arrays (raw)
102
+ const rawGroups = (0, ethersTypes_1.ethersStructResponseToArray)(result, IRateModelLensService_1.EMPTY_FUNDING_RATE_MODEL_GROUP_RAW, {
103
+ accountantConfigs: IRateModelLensService_1.EMPTY_FRM_ACCOUNTANT_CONFIG_RAW,
104
+ pairSpecificParams: IRateModelLensService_1.EMPTY_FRM_PAIR_SPECIFIC_PARAMS_RAW,
105
+ });
106
+ // Convert to human-readable
107
+ return rawGroups.map((group) => ({
108
+ fundingRateModel: group.fundingRateModel,
109
+ modelName: group.modelName,
110
+ modelVersion: group.modelVersion,
111
+ lexPools: group.lexPools,
112
+ accountants: group.accountants,
113
+ baseRateParams: convertRateParamsToUnits(group.baseRateParams),
114
+ accountantConfigs: group.accountantConfigs.map(convertAccountantConfig),
115
+ pairSpecificParams: group.pairSpecificParams.map(convertPairSpecificParams),
116
+ }));
117
+ }
118
+ async getInterestRateModelGroups(lexPools) {
119
+ const result = await this.contract.getInterestRateModelGroups(lexPools);
120
+ // Convert to raw first
121
+ const rawGroups = (0, ethersTypes_1.ethersStructResponseToArray)(result, IRateModelLensService_1.EMPTY_INTEREST_RATE_MODEL_GROUP_RAW);
122
+ // Convert to human-readable
123
+ return rawGroups.map((group) => ({
124
+ interestRateModel: group.interestRateModel,
125
+ modelName: group.modelName,
126
+ modelVersion: group.modelVersion,
127
+ lexPools: group.lexPools,
128
+ accountants: group.accountants,
129
+ baseRateParams: convertIRMRateParamsToUnits(group.baseRateParams),
130
+ }));
131
+ }
132
+ getContract() {
133
+ return this.contract;
134
+ }
135
+ }
136
+ exports.RateModelLensService = RateModelLensService;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IRateModelLensService"), exports);
18
+ __exportStar(require("./RateModelLensService"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1097,7 +1097,7 @@ const _abi = [
1097
1097
  type: "function",
1098
1098
  },
1099
1099
  ];
1100
- const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200345938038062003459833981016040819052620000349162000115565b604080518082018252601681527f436869707320496e74656e747320566572696669657200000000000000000000602080830191909152825180840190935260018352603160f81b90830152600080546001600160a01b031916331790559081816002620000a38382620001ee565b506003620000b28282620001ee565b5050506001600160a01b03831691506200010390505760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f504152414d5360a01b604482015260640160405180910390fd5b6001600160a01b0316608052620002ba565b6000602082840312156200012857600080fd5b81516001600160a01b03811681146200014057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200017257607f821691505b6020821081036200019357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e9576000816000526020600020601f850160051c81016020861015620001c45750805b601f850160051c820191505b81811015620001e557828155600101620001d0565b5050505b505050565b81516001600160401b038111156200020a576200020a62000147565b62000222816200021b84546200015d565b8462000199565b602080601f8311600181146200025a5760008415620002415750858301515b600019600386901b1c1916600185901b178555620001e5565b600085815260208120601f198616915b828110156200028b578886015182559484019460019091019084016200026a565b5085821015620002aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805161317c620002dd600039600081816104950152611b31015261317c6000f3fe60806040526004361061020f5760003560e01c80639652a4bd11610118578063c49f91d3116100a0578063f18e79511161006f578063f18e79511461069b578063f773abcd146106bb578063f851a440146106fb578063fc4334dd1461071b578063ffac4cc81461073b57600080fd5b8063c49f91d31461061f578063da3032f614610653578063e9c714f214610673578063efe8cc751461068857600080fd5b8063b589f944116100e7578063b589f9441461056e578063b647960e1461059f578063b71d1a0c146105bf578063bca93cf5146105df578063c19152f6146105ff57600080fd5b80639652a4bd146104f05780639d44332714610505578063a009439c14610525578063a823b8491461053857600080fd5b80632f56a0711161019b578063673291341161016a578063673291341461042c5780636d156be4146104415780636fccbffc146104565780637b10399914610483578063825b392c146104b757600080fd5b80632f56a071146103ac578063494b6fc6146103d957806358659d6e146103f95780635ac928b31461041957600080fd5b8063123ae93f116101e2578063123ae93f146102e157806312d99fd11461031457806315c3d0ae1461033657806316e27a7c14610349578063267822471461038c57600080fd5b80630da7fba9146102145780630f2a3d471461023f578063108c66e31461027a578063119df25f146102ba575b600080fd5b34801561022057600080fd5b5061022961075b565b604051610236919061277a565b60405180910390f35b34801561024b57600080fd5b5061026c61025a3660046127a5565b60066020526000908152604090205481565b604051908152602001610236565b34801561028657600080fd5b5061022960405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525081565b3480156102c657600080fd5b50335b6040516001600160a01b039091168152602001610236565b3480156102ed57600080fd5b506103016102fc3660046127d9565b6107e9565b60405161ffff9091168152602001610236565b34801561032057600080fd5b5061033461032f3660046127f4565b610808565b005b610334610344366004612843565b610849565b34801561035557600080fd5b5061026c6103643660046127a5565b6001600160a01b03166000908152600660209081526040808320548352600490915290205490565b34801561039857600080fd5b506001546102c9906001600160a01b031681565b3480156103b857600080fd5b5061026c6103c73660046127a5565b60096020526000908152604090205481565b3480156103e557600080fd5b506103346103f4366004612888565b610d3a565b34801561040557600080fd5b506103346104143660046128c1565b610dbb565b610334610427366004612946565b610e0e565b34801561043857600080fd5b50610229610f03565b34801561044d57600080fd5b50610229610f1f565b34801561046257600080fd5b5061026c610471366004612987565b60046020526000908152604090205481565b34801561048f57600080fd5b506102c97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c357600080fd5b506102c96104d23660046127a5565b6001600160a01b039081166000908152600b60205260409020541690565b3480156104fc57600080fd5b50610229610f3b565b34801561051157600080fd5b506102296105203660046127a5565b610f48565b610334610533366004612946565b610f61565b34801561054457600080fd5b506102c96105533660046127a5565b600b602052600090815260409020546001600160a01b031681565b34801561057a57600080fd5b506103016105893660046127d9565b600a6020526000908152604090205461ffff1681565b3480156105ab57600080fd5b506103346105ba3660046129a0565b6110b3565b3480156105cb57600080fd5b506103346105da3660046127a5565b6111fb565b3480156105eb57600080fd5b506008546102c9906001600160a01b031681565b34801561060b57600080fd5b5061033461061a3660046127f4565b6112a3565b34801561062b57600080fd5b5061026c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561065f57600080fd5b506102c961066e3660046129d3565b611326565b34801561067f57600080fd5b5061033461142c565b610334610696366004612843565b61154a565b3480156106a757600080fd5b506103346106b63660046127a5565b611793565b3480156106c757600080fd5b506106eb6106d6366004612987565b60076020526000908152604090205460ff1681565b6040519015158152602001610236565b34801561070757600080fd5b506000546102c9906001600160a01b031681565b34801561072757600080fd5b506102c96107363660046129d3565b611807565b34801561074757600080fd5b506103016107563660046127a5565b611822565b6002805461076890612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461079490612a24565b80156107e15780601f106107b6576101008083540402835291602001916107e1565b820191906000526020600020905b8154815290600101906020018083116107c457829003601f168201915b505050505081565b61ffff8082166000908152600a60205260408120549091165b92915050565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290612a58565b60405180910390fd5b61084582826118a8565b5050565b60008061086461085f60608801604089016127a5565b6119ad565b9150915060006108778787878787611807565b905061088960808801606089016127a5565b6001600160a01b0316816001600160a01b031614806108cc57506108cc6108b66060890160408a016127a5565b6108c660808a0160608b016127a5565b83611a74565b61090c5760405162461bcd60e51b81526020600482015260116024820152702427a62222a92fa727aa2fa9a4a3a722a960791b6044820152606401610832565b61091c60808801606089016127a5565b6001600160a01b031661093560a0890160808a016127a5565b6001600160a01b0316146109815760405162461bcd60e51b81526020600482015260136024820152722427a62222a92fa727aa2fa922a1a2a4ab22a960691b6044820152606401610832565b60008760a00135116109a55760405162461bcd60e51b815260040161083290612a7c565b86602001354211156109ea5760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b6044820152606401610832565b6000600b816109ff60608b0160408c016127a5565b6001600160a01b03908116825260208201929092526040016000205416905080610a755760405162461bcd60e51b815260206004820152602160248201527f4e4f5f575241505f4e41544956455f434849505f494e5f4f55545f48454c50456044820152602960f91b6064820152608401610832565b610a80878787611ca0565b600080610ab2610a9660608c0160408d016127a5565b610aa660808d0160608e016127a5565b8c60a001356000611d61565b915091506000610ad58661ffff9081166000908152600a60205260409020541690565b90508061ffff16600003610b1e5760405162461bcd60e51b815260206004820152601060248201526f2727afa2a4a22fa327a92fa1a420a4a760811b6044820152606401610832565b6000610b6860006175306000610b6062030d406000610b5960408051600360f01b602082015281516002818303018152602290910190915290565b9190611edd565b929190611f3b565b905060006040518060e001604052808461ffff1663ffffffff168152602001610b97886001600160a01b031690565b81526020018681526020018681526020018381526020018e6080016020810190610bc191906127a5565b604080516001600160a01b0390921660208301520160408051808303601f19018152918152908252805160008082526020828101909352919092019190508152509050600060405180604001604052803481526020016000815250905060003390508e6040016020810190610c3691906127a5565b6001600160a01b031663c7c7f5b3348585856040518563ffffffff1660e01b8152600401610c6693929190612ab7565b60c06040518083038185885af1158015610c84573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ca99190612bc2565b50508e6060016020810190610cbe91906127a5565b6001600160a01b03168f6040016020810190610cda91906127a5565b6001600160a01b0316336001600160a01b03167f1079ee01d7b99d196004497f2f8f836ba16c547520f3d51d2abdfda2d8e9189c60028b8b604051610d2193929190612c63565b60405180910390a4505050505050505050505050505050565b6000546001600160a01b03163314610d645760405162461bcd60e51b815260040161083290612a58565b6001600160a01b038281166000818152600b602052604080822080546001600160a01b0319169486169485179055517f4c81ed7d2492f22714ae0835937bbf99257d379cfb6a220bb66551c3f011d24d9190a35050565b6000546001600160a01b03163314610de55760405162461bcd60e51b815260040161083290612a58565b6001600160a01b0383166000908152600560205260409020610e08828483612cdb565b50505050565b600080610e1a856119ad565b909250905033610e2b868683611a74565b610e675760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b6044820152606401610832565b60008411610e875760405162461bcd60e51b815260040161083290612a7c565b84600080610e9a8984808a896001611f7a565b91509150836001600160a01b0316886001600160a01b03168a6001600160a01b03167fdd66fa3092ffc9b32be410c8d63671a98139d1b96d77421ed46bc7ee8db2977f60018686604051610ef093929190612c63565b60405180910390a4505050505050505050565b6040518060c00160405280608781526020016130406087913981565b6040518060a00160405280608081526020016130c76080913981565b6003805461076890612a24565b6005602052600090815260409020805461076890612a24565b6000546001600160a01b03163314610f8b5760405162461bcd60e51b815260040161083290612a58565b6001600160a01b038216610fd15760405162461bcd60e51b815260206004820152600d60248201526c52454345495645525f5a45524f60981b6044820152606401610832565b60008111610ff15760405162461bcd60e51b815260040161083290612a7c565b813b156110355760405162461bcd60e51b81526020600482015260126024820152711213d311115497d254d7d0d3d395149050d560721b6044820152606401610832565b6000611040846119ad565b9150839050600080611056878480888886611f7a565b91509150856001600160a01b0316876001600160a01b03167f88423b880e70edc710bff66a14f9ba383845bf3a03990885371c3b5bcbcf34bb600185856040516110a293929190612c63565b60405180910390a350505050505050565b6000546001600160a01b031633146110dd5760405162461bcd60e51b815260040161083290612a58565b8161ffff1660000361111d5760405162461bcd60e51b81526020600482015260096024820152681393d7d1559357d25160ba1b6044820152606401610832565b8061ffff1660000361115d5760405162461bcd60e51b81526020600482015260096024820152681393d7d31697d1525160ba1b6044820152606401610832565b61ffff8083166000908152600a602052604090205416156111ae5760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610832565b61ffff8281166000818152600a6020526040808220805461ffff19169486169485179055517f93e63cb13e93e813c5c78bc35ce8bf5ef30c53cde64cb032c03dea5dcc01fefa9190a35050565b6000546001600160a01b031633146112415760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610832565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000546001600160a01b031633146112cd5760405162461bcd60e51b815260040161083290612a58565b6001600160a01b03821660008181526009602052604090819020839055517f6de5833edd8cadb348e5c7f672228839b7b5be533a4ac9635d26fe6c933b94bc9061131a9084815260200190565b60405180910390a25050565b6000808261134161133c368a90038a018a612e31565b6120ed565b60405161190160f01b60208201526022810192909252604282015260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa1580156113ca573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114215760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b6044820152606401610832565b979650505050505050565b6001546001600160a01b03163314801561145057506001546001600160a01b031615155b61149c5760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e00006044820152606401610832565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101611297565b60008061156061085f60608801604089016127a5565b9150915060006115738787878787611326565b905061158560808801606089016127a5565b6001600160a01b0316816001600160a01b031614806115b257506115b26108b66060890160408a016127a5565b6115f25760405162461bcd60e51b81526020600482015260116024820152702427a62222a92fa727aa2fa9a4a3a722a960791b6044820152606401610832565b61160260808801606089016127a5565b6001600160a01b031661161b60a0890160808a016127a5565b6001600160a01b0316146116675760405162461bcd60e51b81526020600482015260136024820152722427a62222a92fa727aa2fa922a1a2a4ab22a960691b6044820152606401610832565b60008760a001351161168b5760405162461bcd60e51b815260040161083290612a7c565b86602001354211156116d05760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b6044820152606401610832565b6116db868686611ca0565b60008061171e6116f160608b0160408c016127a5565b61170160808c0160608d016127a5565b61171160a08d0160808e016127a5565b8c60a00135886000611f7a565b909250905061173360808a0160608b016127a5565b6001600160a01b031661174c60608b0160408c016127a5565b6001600160a01b0316336001600160a01b03167f1079ee01d7b99d196004497f2f8f836ba16c547520f3d51d2abdfda2d8e9189c60018686604051610ef093929190612c63565b6000546001600160a01b031633146117bd5760405162461bcd60e51b815260040161083290612a58565b600880546001600160a01b0319166001600160a01b0383169081179091556040517ffd2d86a41f334e70107fa88620f07ffb476a68c8cc6a5106a93dd39e0e216d6f90600090a250565b6000808261134161181d368a90038a018a612e31565b61215b565b6001600160a01b03811660009081526006602052604081205480820361188a5760405162461bcd60e51b815260206004820152601860248201527f4e4f5f534f555243455f434841494e5f464f525f4348495000000000000000006044820152606401610832565b61ffff8082166000908152600a6020526040902054165b9392505050565b6001600160a01b0382166000908152600660205260409020541561191c5760405162461bcd60e51b815260206004820152602560248201527f434841494e5f49445f464f525f41535345545f414c52454144595f434f4e464960448201526411d554915160da1b6064820152608401610832565b8060000361195c5760405162461bcd60e51b815260206004820152600d60248201526c434841494e5f49445f5a45524f60981b6044820152606401610832565b611965816121ac565b506001600160a01b038216600081815260066020526040808220849055518392917f8983e01eaf5771a114f1aa7f72a023a35642e048180682aa2fb04db0cbd220c291a35050565b6001600160a01b0381166000908152600660205260408120548190808203611a0f5760405162461bcd60e51b81526020600482015260156024820152741393d7d0d210525397d25117d193d497d054d4d155605a1b6044820152606401610832565b60008181526004602052604090205480611a6b5760405162461bcd60e51b815260206004820152601d60248201527f4e4f5f444f4d41494e5f534550415241544f525f464f525f434841494e0000006044820152606401610832565b94909350915050565b6001600160a01b03831660009081526005602052604081208054829190611a9a90612a24565b80601f0160208091040260200160405190810160405280929190818152602001828054611ac690612a24565b8015611b135780601f10611ae857610100808354040283529160200191611b13565b820191906000526020600020905b815481529060010190602001808311611af657829003601f168201915b505050505090508051600003611b2d5760009150506118a1565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166358ca59ce60405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525084604051602001611b9d929190612e4d565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611bc8919061277a565b602060405180830381865afa158015611be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c099190612e7c565b90506001600160a01b038116611c24576000925050506118a1565b60405163b0cbc2e160e01b81526001600160a01b0382169063b0cbc2e190611c559060039089908990600401612e99565b602060405180830381865afa158015611c72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c969190612ecb565b9695505050505050565b6040516001600160f81b031960f885901b166020820152602181018390526041810182905260009060610160408051601f1981840301815291815281516020928301206000818152600790935291205490915060ff1615611d435760405162461bcd60e51b815260206004820152601d60248201527f494e54454e54535f5349475f414c52454144595f50524f4345535345440000006044820152606401610832565b6000908152600760205260409020805460ff19166001179055505050565b6001600160a01b03841660009081526009602052604081205480611db85760405162461bcd60e51b815260206004820152600e60248201526d1393d7d1915157d111519253915160921b6044820152606401610832565b600019811480611dc55750825b15611dce575060005b808411611e1d5760405162461bcd60e51b815260206004820152601860248201527f414d4f554e545f4c4553535f4f525f455155414c5f46454500000000000000006044820152606401610832565b611e28868686612365565b611e3286826123ea565b6000866001600160a01b031663963efcaa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190612eed565b90506000611ea48387612f1c565b9050611eb08183612441565b93506000611ebe8583612f1c565b90508015611ed157611ed1898983612458565b50505094509492505050565b6060836003611eed826000612493565b61ffff1614611f2157611f01816000612493565b604051633a51740d60e01b815261ffff9091166004820152602401610832565b6000611f2d85856124f0565b9050611c9686600183612569565b6060846003611f4b826000612493565b61ffff1614611f5f57611f01816000612493565b6000611f6c8686866125d4565b905061142187600383612569565b600080611f8988888786611d61565b90925090506000611fad8561ffff9081166000908152600a60205260409020541690565b90508061ffff16600003611ff65760405162461bcd60e51b815260206004820152601060248201526f2727afa2a4a22fa327a92fa1a420a4a760811b6044820152606401610832565b606060006040518060e001604052808461ffff1663ffffffff1681526020016120258b6001600160a01b031690565b8152602001868152602001868152602001838152602001838152602001838152509050600060405180604001604052803481526020016000815250905060003390508c6001600160a01b031663c7c7f5b3348585856040518563ffffffff1660e01b815260040161209893929190612ab7565b60c06040518083038185885af11580156120b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120db9190612bc2565b50505050505050965096945050505050565b60006040518060a00160405280608081526020016130c76080913980516020918201208351848301516040808701516060880151608089015160a08a0151935161213e989394929391929101612f2f565b604051602081830303815290604052805190602001209050919050565b60006040518060c00160405280608781526020016130406087913980516020918201208351848301516040808701516060880151608089015160a08a0151935161213e989394929391929101612f2f565b600081815260046020526040812054806108025760006123086040518060800160405280600280546121dd90612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461220990612a24565b80156122565780601f1061222b57610100808354040283529160200191612256565b820191906000526020600020905b81548152906001019060200180831161223957829003601f168201915b505050505081526020016003805461226d90612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461229990612a24565b80156122e65780601f106122bb576101008083540402835291602001916122e6565b820191906000526020600020905b8154815290600101906020018083116122c957829003601f168201915b50505050508152602001868152602001306001600160a01b0316815250612677565b600085815260046020526040908190208290555190915084907f04df087044a5490c34ea0092af5dbdd1a3a35fefd63f0864c1d05dba3075f165906123509084815260200190565b60405180910390a29392505050565b50919050565b80156123e5576040516323b872dd60e01b81526001600160a01b038381166004830152306024830152604482018390528416906323b872dd906064015b6020604051808303816000875af11580156123c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e089190612ecb565b505050565b6008546001600160a01b0316806124365760405162461bcd60e51b815260206004820152601060248201526f2727afa322a2a9afa922a1a2a4ab22a960811b6044820152606401610832565b6123e5838284612458565b60008161244e8185612f6a565b6118a19190612f8c565b80156123e55760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016123a2565b60006124a0826002612fa3565b835110156124e75760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610832565b50016002015190565b60606001600160801b0382161561253857604080516001600160801b0319608086811b8216602084015285901b166030820152016040516020818303038152906040526118a1565b6040516001600160801b0319608085901b166020820152603001604051602081830303815290604052905092915050565b6060836003612579826000612493565b61ffff161461258d57611f01816000612493565b84600161259a85516126f7565b6125a5906001612fb6565b86866040516020016125bb959493929190612fd8565b6040516020818303038152906040529150509392505050565b60606001600160801b03821615612631576040516001600160f01b031960f086901b1660208201526001600160801b0319608085811b8216602284015284901b16603282015260420160405160208183030381529060405261266f565b6040516001600160f01b031960f086901b1660208201526001600160801b0319608085901b1660228201526032016040516020818303038152906040525b949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8260000151805190602001208360200151805190602001208460400151856060015160405160200161213e9594939291909485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b600061ffff821115612726576040516306dfcc6560e41b81526010600482015260248101839052604401610832565b5090565b60005b8381101561274557818101518382015260200161272d565b50506000910152565b6000815180845261276681602086016020860161272a565b601f01601f19169290920160200192915050565b6020815260006118a1602083018461274e565b6001600160a01b03811681146127a257600080fd5b50565b6000602082840312156127b757600080fd5b81356118a18161278d565b803561ffff811681146127d457600080fd5b919050565b6000602082840312156127eb57600080fd5b6118a1826127c2565b6000806040838503121561280757600080fd5b82356128128161278d565b946020939093013593505050565b600060c0828403121561235f57600080fd5b803560ff811681146127d457600080fd5b600080600080610120858703121561285a57600080fd5b6128648686612820565b935061287260c08601612832565b939693955050505060e082013591610100013590565b6000806040838503121561289b57600080fd5b82356128a68161278d565b915060208301356128b68161278d565b809150509250929050565b6000806000604084860312156128d657600080fd5b83356128e18161278d565b9250602084013567ffffffffffffffff808211156128fe57600080fd5b818601915086601f83011261291257600080fd5b81358181111561292157600080fd5b87602082850101111561293357600080fd5b6020830194508093505050509250925092565b60008060006060848603121561295b57600080fd5b83356129668161278d565b925060208401356129768161278d565b929592945050506040919091013590565b60006020828403121561299957600080fd5b5035919050565b600080604083850312156129b357600080fd5b6129bc836127c2565b91506129ca602084016127c2565b90509250929050565b600080600080600061014086880312156129ec57600080fd5b6129f68787612820565b9450612a0460c08701612832565b949794965050505060e08301359261010081013592610120909101359150565b600181811c90821680612a3857607f821691505b60208210810361235f57634e487b7160e01b600052602260045260246000fd5b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b6020808252600b908201526a414d4f554e545f5a45524f60a81b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6080815263ffffffff8451166080820152602084015160a0820152604084015160c0820152606084015160e08201526000608085015160e0610100840152612b0361016084018261274e565b905060a0860151607f198085840301610120860152612b22838361274e565b925060c08801519150808584030161014086015250612b41828261274e565b92505050612b5c602083018580518252602090810151910152565b6001600160a01b0383166060830152949350505050565b600060408284031215612b8557600080fd5b6040516040810181811067ffffffffffffffff82111715612ba857612ba8612aa1565b604052825181526020928301519281019290925250919050565b60008082840360c0811215612bd657600080fd5b6080811215612be457600080fd5b506040516060810167ffffffffffffffff8282108183111715612c0957612c09612aa1565b8160405285518352602086015191508082168214612c2657600080fd5b506020820152612c398560408601612b73565b604082015291506129ca8460808501612b73565b634e487b7160e01b600052602160045260246000fd5b6060810160038510612c7757612c77612c4d565b938152602081019290925260409091015290565b601f8211156123e5576000816000526020600020601f850160051c81016020861015612cb45750805b601f850160051c820191505b81811015612cd357828155600101612cc0565b505050505050565b67ffffffffffffffff831115612cf357612cf3612aa1565b612d0783612d018354612a24565b83612c8b565b6000601f841160018114612d3b5760008515612d235750838201355b600019600387901b1c1916600186901b178355612d95565b600083815260209020601f19861690835b82811015612d6c5786850135825560209485019460019092019101612d4c565b5086821015612d895760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060c08284031215612dae57600080fd5b60405160c0810181811067ffffffffffffffff82111715612dd157612dd1612aa1565b806040525080915082358152602083013560208201526040830135612df58161278d565b60408201526060830135612e088161278d565b60608201526080830135612e1b8161278d565b608082015260a092830135920191909152919050565b600060c08284031215612e4357600080fd5b6118a18383612d9c565b60008351612e5f81846020880161272a565b835190830190612e7381836020880161272a565b01949350505050565b600060208284031215612e8e57600080fd5b81516118a18161278d565b6060810160048510612ead57612ead612c4d565b9381526001600160a01b039283166020820152911660409091015290565b600060208284031215612edd57600080fd5b815180151581146118a157600080fd5b600060208284031215612eff57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080257610802612f06565b968752602087019590955260408601939093526001600160a01b039182166060860152811660808501521660a083015260c082015260e00190565b600082612f8757634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761080257610802612f06565b8082018082111561080257610802612f06565b61ffff818116838216019080821115612fd157612fd1612f06565b5092915050565b60008651612fea818460208b0161272a565b6001600160f81b031960f888811b82169285019283526001600160f01b031960f089901b16600184015286901b166003820152835161303081600484016020880161272a565b0160040197965050505050505056fe486f6c646572526571756573745061796c6f61645f436869704f75744c5a5f556e777261702875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320636869702c6164647265737320686f6c6465722c616464726573732072656365697665722c75696e7432353620616d6f756e7429486f6c646572526571756573745061796c6f61645f436869704f75744c5a2875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320636869702c6164647265737320686f6c6465722c616464726573732072656365697665722c75696e7432353620616d6f756e7429a26469706673582212208f2883289d76016fa4a14e1b70c874be5d4756ce0c675df28f2129e659089b5d64736f6c63430008180033";
1100
+ const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200345938038062003459833981016040819052620000349162000115565b604080518082018252601681527f436869707320496e74656e747320566572696669657200000000000000000000602080830191909152825180840190935260018352603160f81b90830152600080546001600160a01b031916331790559081816002620000a38382620001ee565b506003620000b28282620001ee565b5050506001600160a01b03831691506200010390505760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f504152414d5360a01b604482015260640160405180910390fd5b6001600160a01b0316608052620002ba565b6000602082840312156200012857600080fd5b81516001600160a01b03811681146200014057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200017257607f821691505b6020821081036200019357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e9576000816000526020600020601f850160051c81016020861015620001c45750805b601f850160051c820191505b81811015620001e557828155600101620001d0565b5050505b505050565b81516001600160401b038111156200020a576200020a62000147565b62000222816200021b84546200015d565b8462000199565b602080601f8311600181146200025a5760008415620002415750858301515b600019600386901b1c1916600185901b178555620001e5565b600085815260208120601f198616915b828110156200028b578886015182559484019460019091019084016200026a565b5085821015620002aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805161317c620002dd600039600081816104950152611b31015261317c6000f3fe60806040526004361061020f5760003560e01c80639652a4bd11610118578063c49f91d3116100a0578063f18e79511161006f578063f18e79511461069b578063f773abcd146106bb578063f851a440146106fb578063fc4334dd1461071b578063ffac4cc81461073b57600080fd5b8063c49f91d31461061f578063da3032f614610653578063e9c714f214610673578063efe8cc751461068857600080fd5b8063b589f944116100e7578063b589f9441461056e578063b647960e1461059f578063b71d1a0c146105bf578063bca93cf5146105df578063c19152f6146105ff57600080fd5b80639652a4bd146104f05780639d44332714610505578063a009439c14610525578063a823b8491461053857600080fd5b80632f56a0711161019b578063673291341161016a578063673291341461042c5780636d156be4146104415780636fccbffc146104565780637b10399914610483578063825b392c146104b757600080fd5b80632f56a071146103ac578063494b6fc6146103d957806358659d6e146103f95780635ac928b31461041957600080fd5b8063123ae93f116101e2578063123ae93f146102e157806312d99fd11461031457806315c3d0ae1461033657806316e27a7c14610349578063267822471461038c57600080fd5b80630da7fba9146102145780630f2a3d471461023f578063108c66e31461027a578063119df25f146102ba575b600080fd5b34801561022057600080fd5b5061022961075b565b604051610236919061277a565b60405180910390f35b34801561024b57600080fd5b5061026c61025a3660046127a5565b60066020526000908152604090205481565b604051908152602001610236565b34801561028657600080fd5b5061022960405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525081565b3480156102c657600080fd5b50335b6040516001600160a01b039091168152602001610236565b3480156102ed57600080fd5b506103016102fc3660046127d9565b6107e9565b60405161ffff9091168152602001610236565b34801561032057600080fd5b5061033461032f3660046127f4565b610808565b005b610334610344366004612843565b610849565b34801561035557600080fd5b5061026c6103643660046127a5565b6001600160a01b03166000908152600660209081526040808320548352600490915290205490565b34801561039857600080fd5b506001546102c9906001600160a01b031681565b3480156103b857600080fd5b5061026c6103c73660046127a5565b60096020526000908152604090205481565b3480156103e557600080fd5b506103346103f4366004612888565b610d3a565b34801561040557600080fd5b506103346104143660046128c1565b610dbb565b610334610427366004612946565b610e0e565b34801561043857600080fd5b50610229610f03565b34801561044d57600080fd5b50610229610f1f565b34801561046257600080fd5b5061026c610471366004612987565b60046020526000908152604090205481565b34801561048f57600080fd5b506102c97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c357600080fd5b506102c96104d23660046127a5565b6001600160a01b039081166000908152600b60205260409020541690565b3480156104fc57600080fd5b50610229610f3b565b34801561051157600080fd5b506102296105203660046127a5565b610f48565b610334610533366004612946565b610f61565b34801561054457600080fd5b506102c96105533660046127a5565b600b602052600090815260409020546001600160a01b031681565b34801561057a57600080fd5b506103016105893660046127d9565b600a6020526000908152604090205461ffff1681565b3480156105ab57600080fd5b506103346105ba3660046129a0565b6110b3565b3480156105cb57600080fd5b506103346105da3660046127a5565b6111fb565b3480156105eb57600080fd5b506008546102c9906001600160a01b031681565b34801561060b57600080fd5b5061033461061a3660046127f4565b6112a3565b34801561062b57600080fd5b5061026c7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561065f57600080fd5b506102c961066e3660046129d3565b611326565b34801561067f57600080fd5b5061033461142c565b610334610696366004612843565b61154a565b3480156106a757600080fd5b506103346106b63660046127a5565b611793565b3480156106c757600080fd5b506106eb6106d6366004612987565b60076020526000908152604090205460ff1681565b6040519015158152602001610236565b34801561070757600080fd5b506000546102c9906001600160a01b031681565b34801561072757600080fd5b506102c96107363660046129d3565b611807565b34801561074757600080fd5b506103016107563660046127a5565b611822565b6002805461076890612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461079490612a24565b80156107e15780601f106107b6576101008083540402835291602001916107e1565b820191906000526020600020905b8154815290600101906020018083116107c457829003601f168201915b505050505081565b61ffff8082166000908152600a60205260408120549091165b92915050565b6000546001600160a01b0316331461083b5760405162461bcd60e51b815260040161083290612a58565b60405180910390fd5b61084582826118a8565b5050565b60008061086461085f60608801604089016127a5565b6119ad565b9150915060006108778787878787611807565b905061088960808801606089016127a5565b6001600160a01b0316816001600160a01b031614806108cc57506108cc6108b66060890160408a016127a5565b6108c660808a0160608b016127a5565b83611a74565b61090c5760405162461bcd60e51b81526020600482015260116024820152702427a62222a92fa727aa2fa9a4a3a722a960791b6044820152606401610832565b61091c60808801606089016127a5565b6001600160a01b031661093560a0890160808a016127a5565b6001600160a01b0316146109815760405162461bcd60e51b81526020600482015260136024820152722427a62222a92fa727aa2fa922a1a2a4ab22a960691b6044820152606401610832565b60008760a00135116109a55760405162461bcd60e51b815260040161083290612a7c565b86602001354211156109ea5760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b6044820152606401610832565b6000600b816109ff60608b0160408c016127a5565b6001600160a01b03908116825260208201929092526040016000205416905080610a755760405162461bcd60e51b815260206004820152602160248201527f4e4f5f575241505f4e41544956455f434849505f494e5f4f55545f48454c50456044820152602960f91b6064820152608401610832565b610a80878787611ca0565b600080610ab2610a9660608c0160408d016127a5565b610aa660808d0160608e016127a5565b8c60a001356000611d61565b915091506000610ad58661ffff9081166000908152600a60205260409020541690565b90508061ffff16600003610b1e5760405162461bcd60e51b815260206004820152601060248201526f2727afa2a4a22fa327a92fa1a420a4a760811b6044820152606401610832565b6000610b6860006175306000610b6062030d406000610b5960408051600360f01b602082015281516002818303018152602290910190915290565b9190611edd565b929190611f3b565b905060006040518060e001604052808461ffff1663ffffffff168152602001610b97886001600160a01b031690565b81526020018681526020018681526020018381526020018e6080016020810190610bc191906127a5565b604080516001600160a01b0390921660208301520160408051808303601f19018152918152908252805160008082526020828101909352919092019190508152509050600060405180604001604052803481526020016000815250905060003390508e6040016020810190610c3691906127a5565b6001600160a01b031663c7c7f5b3348585856040518563ffffffff1660e01b8152600401610c6693929190612ab7565b60c06040518083038185885af1158015610c84573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ca99190612bc2565b50508e6060016020810190610cbe91906127a5565b6001600160a01b03168f6040016020810190610cda91906127a5565b6001600160a01b0316336001600160a01b03167f1079ee01d7b99d196004497f2f8f836ba16c547520f3d51d2abdfda2d8e9189c60028b8b604051610d2193929190612c63565b60405180910390a4505050505050505050505050505050565b6000546001600160a01b03163314610d645760405162461bcd60e51b815260040161083290612a58565b6001600160a01b038281166000818152600b602052604080822080546001600160a01b0319169486169485179055517f4c81ed7d2492f22714ae0835937bbf99257d379cfb6a220bb66551c3f011d24d9190a35050565b6000546001600160a01b03163314610de55760405162461bcd60e51b815260040161083290612a58565b6001600160a01b0383166000908152600560205260409020610e08828483612cdb565b50505050565b600080610e1a856119ad565b909250905033610e2b868683611a74565b610e675760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b6044820152606401610832565b60008411610e875760405162461bcd60e51b815260040161083290612a7c565b84600080610e9a8984808a896001611f7a565b91509150836001600160a01b0316886001600160a01b03168a6001600160a01b03167fdd66fa3092ffc9b32be410c8d63671a98139d1b96d77421ed46bc7ee8db2977f60018686604051610ef093929190612c63565b60405180910390a4505050505050505050565b6040518060c00160405280608781526020016130406087913981565b6040518060a00160405280608081526020016130c76080913981565b6003805461076890612a24565b6005602052600090815260409020805461076890612a24565b6000546001600160a01b03163314610f8b5760405162461bcd60e51b815260040161083290612a58565b6001600160a01b038216610fd15760405162461bcd60e51b815260206004820152600d60248201526c52454345495645525f5a45524f60981b6044820152606401610832565b60008111610ff15760405162461bcd60e51b815260040161083290612a7c565b813b156110355760405162461bcd60e51b81526020600482015260126024820152711213d311115497d254d7d0d3d395149050d560721b6044820152606401610832565b6000611040846119ad565b9150839050600080611056878480888886611f7a565b91509150856001600160a01b0316876001600160a01b03167f88423b880e70edc710bff66a14f9ba383845bf3a03990885371c3b5bcbcf34bb600185856040516110a293929190612c63565b60405180910390a350505050505050565b6000546001600160a01b031633146110dd5760405162461bcd60e51b815260040161083290612a58565b8161ffff1660000361111d5760405162461bcd60e51b81526020600482015260096024820152681393d7d1559357d25160ba1b6044820152606401610832565b8061ffff1660000361115d5760405162461bcd60e51b81526020600482015260096024820152681393d7d31697d1525160ba1b6044820152606401610832565b61ffff8083166000908152600a602052604090205416156111ae5760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610832565b61ffff8281166000818152600a6020526040808220805461ffff19169486169485179055517f93e63cb13e93e813c5c78bc35ce8bf5ef30c53cde64cb032c03dea5dcc01fefa9190a35050565b6000546001600160a01b031633146112415760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610832565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000546001600160a01b031633146112cd5760405162461bcd60e51b815260040161083290612a58565b6001600160a01b03821660008181526009602052604090819020839055517f6de5833edd8cadb348e5c7f672228839b7b5be533a4ac9635d26fe6c933b94bc9061131a9084815260200190565b60405180910390a25050565b6000808261134161133c368a90038a018a612e31565b6120ed565b60405161190160f01b60208201526022810192909252604282015260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa1580156113ca573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114215760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b6044820152606401610832565b979650505050505050565b6001546001600160a01b03163314801561145057506001546001600160a01b031615155b61149c5760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e00006044820152606401610832565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101611297565b60008061156061085f60608801604089016127a5565b9150915060006115738787878787611326565b905061158560808801606089016127a5565b6001600160a01b0316816001600160a01b031614806115b257506115b26108b66060890160408a016127a5565b6115f25760405162461bcd60e51b81526020600482015260116024820152702427a62222a92fa727aa2fa9a4a3a722a960791b6044820152606401610832565b61160260808801606089016127a5565b6001600160a01b031661161b60a0890160808a016127a5565b6001600160a01b0316146116675760405162461bcd60e51b81526020600482015260136024820152722427a62222a92fa727aa2fa922a1a2a4ab22a960691b6044820152606401610832565b60008760a001351161168b5760405162461bcd60e51b815260040161083290612a7c565b86602001354211156116d05760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b6044820152606401610832565b6116db868686611ca0565b60008061171e6116f160608b0160408c016127a5565b61170160808c0160608d016127a5565b61171160a08d0160808e016127a5565b8c60a00135886000611f7a565b909250905061173360808a0160608b016127a5565b6001600160a01b031661174c60608b0160408c016127a5565b6001600160a01b0316336001600160a01b03167f1079ee01d7b99d196004497f2f8f836ba16c547520f3d51d2abdfda2d8e9189c60018686604051610ef093929190612c63565b6000546001600160a01b031633146117bd5760405162461bcd60e51b815260040161083290612a58565b600880546001600160a01b0319166001600160a01b0383169081179091556040517ffd2d86a41f334e70107fa88620f07ffb476a68c8cc6a5106a93dd39e0e216d6f90600090a250565b6000808261134161181d368a90038a018a612e31565b61215b565b6001600160a01b03811660009081526006602052604081205480820361188a5760405162461bcd60e51b815260206004820152601860248201527f4e4f5f534f555243455f434841494e5f464f525f4348495000000000000000006044820152606401610832565b61ffff8082166000908152600a6020526040902054165b9392505050565b6001600160a01b0382166000908152600660205260409020541561191c5760405162461bcd60e51b815260206004820152602560248201527f434841494e5f49445f464f525f41535345545f414c52454144595f434f4e464960448201526411d554915160da1b6064820152608401610832565b8060000361195c5760405162461bcd60e51b815260206004820152600d60248201526c434841494e5f49445f5a45524f60981b6044820152606401610832565b611965816121ac565b506001600160a01b038216600081815260066020526040808220849055518392917f8983e01eaf5771a114f1aa7f72a023a35642e048180682aa2fb04db0cbd220c291a35050565b6001600160a01b0381166000908152600660205260408120548190808203611a0f5760405162461bcd60e51b81526020600482015260156024820152741393d7d0d210525397d25117d193d497d054d4d155605a1b6044820152606401610832565b60008181526004602052604090205480611a6b5760405162461bcd60e51b815260206004820152601d60248201527f4e4f5f444f4d41494e5f534550415241544f525f464f525f434841494e0000006044820152606401610832565b94909350915050565b6001600160a01b03831660009081526005602052604081208054829190611a9a90612a24565b80601f0160208091040260200160405190810160405280929190818152602001828054611ac690612a24565b8015611b135780601f10611ae857610100808354040283529160200191611b13565b820191906000526020600020905b815481529060010190602001808311611af657829003601f168201915b505050505090508051600003611b2d5760009150506118a1565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166358ca59ce60405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525084604051602001611b9d929190612e4d565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611bc8919061277a565b602060405180830381865afa158015611be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c099190612e7c565b90506001600160a01b038116611c24576000925050506118a1565b60405163b0cbc2e160e01b81526001600160a01b0382169063b0cbc2e190611c559060039089908990600401612e99565b602060405180830381865afa158015611c72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c969190612ecb565b9695505050505050565b6040516001600160f81b031960f885901b166020820152602181018390526041810182905260009060610160408051601f1981840301815291815281516020928301206000818152600790935291205490915060ff1615611d435760405162461bcd60e51b815260206004820152601d60248201527f494e54454e54535f5349475f414c52454144595f50524f4345535345440000006044820152606401610832565b6000908152600760205260409020805460ff19166001179055505050565b6001600160a01b03841660009081526009602052604081205480611db85760405162461bcd60e51b815260206004820152600e60248201526d1393d7d1915157d111519253915160921b6044820152606401610832565b600019811480611dc55750825b15611dce575060005b808411611e1d5760405162461bcd60e51b815260206004820152601860248201527f414d4f554e545f4c4553535f4f525f455155414c5f46454500000000000000006044820152606401610832565b611e28868686612365565b611e3286826123ea565b6000866001600160a01b031663963efcaa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190612eed565b90506000611ea48387612f1c565b9050611eb08183612441565b93506000611ebe8583612f1c565b90508015611ed157611ed1898983612458565b50505094509492505050565b6060836003611eed826000612493565b61ffff1614611f2157611f01816000612493565b604051633a51740d60e01b815261ffff9091166004820152602401610832565b6000611f2d85856124f0565b9050611c9686600183612569565b6060846003611f4b826000612493565b61ffff1614611f5f57611f01816000612493565b6000611f6c8686866125d4565b905061142187600383612569565b600080611f8988888786611d61565b90925090506000611fad8561ffff9081166000908152600a60205260409020541690565b90508061ffff16600003611ff65760405162461bcd60e51b815260206004820152601060248201526f2727afa2a4a22fa327a92fa1a420a4a760811b6044820152606401610832565b606060006040518060e001604052808461ffff1663ffffffff1681526020016120258b6001600160a01b031690565b8152602001868152602001868152602001838152602001838152602001838152509050600060405180604001604052803481526020016000815250905060003390508c6001600160a01b031663c7c7f5b3348585856040518563ffffffff1660e01b815260040161209893929190612ab7565b60c06040518083038185885af11580156120b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120db9190612bc2565b50505050505050965096945050505050565b60006040518060a00160405280608081526020016130c76080913980516020918201208351848301516040808701516060880151608089015160a08a0151935161213e989394929391929101612f2f565b604051602081830303815290604052805190602001209050919050565b60006040518060c00160405280608781526020016130406087913980516020918201208351848301516040808701516060880151608089015160a08a0151935161213e989394929391929101612f2f565b600081815260046020526040812054806108025760006123086040518060800160405280600280546121dd90612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461220990612a24565b80156122565780601f1061222b57610100808354040283529160200191612256565b820191906000526020600020905b81548152906001019060200180831161223957829003601f168201915b505050505081526020016003805461226d90612a24565b80601f016020809104026020016040519081016040528092919081815260200182805461229990612a24565b80156122e65780601f106122bb576101008083540402835291602001916122e6565b820191906000526020600020905b8154815290600101906020018083116122c957829003601f168201915b50505050508152602001868152602001306001600160a01b0316815250612677565b600085815260046020526040908190208290555190915084907f04df087044a5490c34ea0092af5dbdd1a3a35fefd63f0864c1d05dba3075f165906123509084815260200190565b60405180910390a29392505050565b50919050565b80156123e5576040516323b872dd60e01b81526001600160a01b038381166004830152306024830152604482018390528416906323b872dd906064015b6020604051808303816000875af11580156123c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e089190612ecb565b505050565b6008546001600160a01b0316806124365760405162461bcd60e51b815260206004820152601060248201526f2727afa322a2a9afa922a1a2a4ab22a960811b6044820152606401610832565b6123e5838284612458565b60008161244e8185612f6a565b6118a19190612f8c565b80156123e55760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016123a2565b60006124a0826002612fa3565b835110156124e75760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610832565b50016002015190565b60606001600160801b0382161561253857604080516001600160801b0319608086811b8216602084015285901b166030820152016040516020818303038152906040526118a1565b6040516001600160801b0319608085901b166020820152603001604051602081830303815290604052905092915050565b6060836003612579826000612493565b61ffff161461258d57611f01816000612493565b84600161259a85516126f7565b6125a5906001612fb6565b86866040516020016125bb959493929190612fd8565b6040516020818303038152906040529150509392505050565b60606001600160801b03821615612631576040516001600160f01b031960f086901b1660208201526001600160801b0319608085811b8216602284015284901b16603282015260420160405160208183030381529060405261266f565b6040516001600160f01b031960f086901b1660208201526001600160801b0319608085901b1660228201526032016040516020818303038152906040525b949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8260000151805190602001208360200151805190602001208460400151856060015160405160200161213e9594939291909485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b600061ffff821115612726576040516306dfcc6560e41b81526010600482015260248101839052604401610832565b5090565b60005b8381101561274557818101518382015260200161272d565b50506000910152565b6000815180845261276681602086016020860161272a565b601f01601f19169290920160200192915050565b6020815260006118a1602083018461274e565b6001600160a01b03811681146127a257600080fd5b50565b6000602082840312156127b757600080fd5b81356118a18161278d565b803561ffff811681146127d457600080fd5b919050565b6000602082840312156127eb57600080fd5b6118a1826127c2565b6000806040838503121561280757600080fd5b82356128128161278d565b946020939093013593505050565b600060c0828403121561235f57600080fd5b803560ff811681146127d457600080fd5b600080600080610120858703121561285a57600080fd5b6128648686612820565b935061287260c08601612832565b939693955050505060e082013591610100013590565b6000806040838503121561289b57600080fd5b82356128a68161278d565b915060208301356128b68161278d565b809150509250929050565b6000806000604084860312156128d657600080fd5b83356128e18161278d565b9250602084013567ffffffffffffffff808211156128fe57600080fd5b818601915086601f83011261291257600080fd5b81358181111561292157600080fd5b87602082850101111561293357600080fd5b6020830194508093505050509250925092565b60008060006060848603121561295b57600080fd5b83356129668161278d565b925060208401356129768161278d565b929592945050506040919091013590565b60006020828403121561299957600080fd5b5035919050565b600080604083850312156129b357600080fd5b6129bc836127c2565b91506129ca602084016127c2565b90509250929050565b600080600080600061014086880312156129ec57600080fd5b6129f68787612820565b9450612a0460c08701612832565b949794965050505060e08301359261010081013592610120909101359150565b600181811c90821680612a3857607f821691505b60208210810361235f57634e487b7160e01b600052602260045260246000fd5b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b6020808252600b908201526a414d4f554e545f5a45524f60a81b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6080815263ffffffff8451166080820152602084015160a0820152604084015160c0820152606084015160e08201526000608085015160e0610100840152612b0361016084018261274e565b905060a0860151607f198085840301610120860152612b22838361274e565b925060c08801519150808584030161014086015250612b41828261274e565b92505050612b5c602083018580518252602090810151910152565b6001600160a01b0383166060830152949350505050565b600060408284031215612b8557600080fd5b6040516040810181811067ffffffffffffffff82111715612ba857612ba8612aa1565b604052825181526020928301519281019290925250919050565b60008082840360c0811215612bd657600080fd5b6080811215612be457600080fd5b506040516060810167ffffffffffffffff8282108183111715612c0957612c09612aa1565b8160405285518352602086015191508082168214612c2657600080fd5b506020820152612c398560408601612b73565b604082015291506129ca8460808501612b73565b634e487b7160e01b600052602160045260246000fd5b6060810160038510612c7757612c77612c4d565b938152602081019290925260409091015290565b601f8211156123e5576000816000526020600020601f850160051c81016020861015612cb45750805b601f850160051c820191505b81811015612cd357828155600101612cc0565b505050505050565b67ffffffffffffffff831115612cf357612cf3612aa1565b612d0783612d018354612a24565b83612c8b565b6000601f841160018114612d3b5760008515612d235750838201355b600019600387901b1c1916600186901b178355612d95565b600083815260209020601f19861690835b82811015612d6c5786850135825560209485019460019092019101612d4c565b5086821015612d895760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060c08284031215612dae57600080fd5b60405160c0810181811067ffffffffffffffff82111715612dd157612dd1612aa1565b806040525080915082358152602083013560208201526040830135612df58161278d565b60408201526060830135612e088161278d565b60608201526080830135612e1b8161278d565b608082015260a092830135920191909152919050565b600060c08284031215612e4357600080fd5b6118a18383612d9c565b60008351612e5f81846020880161272a565b835190830190612e7381836020880161272a565b01949350505050565b600060208284031215612e8e57600080fd5b81516118a18161278d565b6060810160048510612ead57612ead612c4d565b9381526001600160a01b039283166020820152911660409091015290565b600060208284031215612edd57600080fd5b815180151581146118a157600080fd5b600060208284031215612eff57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080257610802612f06565b968752602087019590955260408601939093526001600160a01b039182166060860152811660808501521660a083015260c082015260e00190565b600082612f8757634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761080257610802612f06565b8082018082111561080257610802612f06565b61ffff818116838216019080821115612fd157612fd1612f06565b5092915050565b60008651612fea818460208b0161272a565b6001600160f81b031960f888811b82169285019283526001600160f01b031960f089901b16600184015286901b166003820152835161303081600484016020880161272a565b0160040197965050505050505056fe486f6c646572526571756573745061796c6f61645f436869704f75744c5a5f556e777261702875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320636869702c6164647265737320686f6c6465722c616464726573732072656365697665722c75696e7432353620616d6f756e7429486f6c646572526571756573745061796c6f61645f436869704f75744c5a2875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320636869702c6164647265737320686f6c6465722c616464726573732072656365697665722c75696e7432353620616d6f756e7429a2646970667358221220c4610c6c1fb620740fe2772aab94489993ff5889cd194672dde2c1f807362a9e64736f6c63430008180033";
1101
1101
  const isSuperArgs = (xs) => xs.length > 1;
1102
1102
  class ChipsIntentsVerifierV1__factory extends ethers_1.ContractFactory {
1103
1103
  constructor(...args) {
@@ -838,7 +838,7 @@ const _abi = [
838
838
  type: "function",
839
839
  },
840
840
  ];
841
- const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200242638038062002426833981016040819052620000349162000115565b604080518082018252601a81527f4c697175696469747920496e74656e7473205665726966696572000000000000602080830191909152825180840190935260018352603160f81b90830152600080546001600160a01b031916331790559081816002620000a38382620001ee565b506003620000b28282620001ee565b5050506001600160a01b03831691506200010390505760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f504152414d5360a01b604482015260640160405180910390fd5b6001600160a01b0316608052620002ba565b6000602082840312156200012857600080fd5b81516001600160a01b03811681146200014057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200017257607f821691505b6020821081036200019357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e9576000816000526020600020601f850160051c81016020861015620001c45750805b601f850160051c820191505b81811015620001e557828155600101620001d0565b5050505b505050565b81516001600160401b038111156200020a576200020a62000147565b62000222816200021b84546200015d565b8462000199565b602080601f8311600181146200025a5760008415620002415750858301515b600019600386901b1c1916600185901b178555620001e5565b600085815260208120601f198616915b828110156200028b578886015182559484019460019091019084016200026a565b5085821015620002aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051612149620002dd60003960008181610377015261130001526121496000f3fe6080604052600436106101665760003560e01c8063751b4f59116100d1578063b71d1a0c1161008a578063cd7d065811610064578063cd7d06581461045d578063e9c714f21461047d578063f773abcd14610492578063f851a440146104d257600080fd5b8063b71d1a0c146103f6578063c3a8f12014610416578063c49f91d31461042957600080fd5b8063751b4f59146103455780637b103999146103655780638714f383146103995780639652a4bd146103ae5780639d443327146103c3578063b6068b30146103e357600080fd5b806312d99fd11161012357806312d99fd114610262578063133692d81461028257806316e27a7c1461029557806326782247146102d857806358659d6e146102f85780636fccbffc1461031857600080fd5b80630518007f1461016b57806306b042b3146101965780630da7fba9146101ab5780630f2a3d47146101c0578063108c66e3146101fb578063119df25f1461023b575b600080fd5b34801561017757600080fd5b506101806104f2565b60405161018d9190611965565b60405180910390f35b6101a96101a43660046119c0565b61050e565b005b3480156101b757600080fd5b506101806106a6565b3480156101cc57600080fd5b506101ed6101db366004611a06565b60066020526000908152604090205481565b60405190815260200161018d565b34801561020757600080fd5b5061018060405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525081565b34801561024757600080fd5b50335b6040516001600160a01b03909116815260200161018d565b34801561026e57600080fd5b506101a961027d366004611a23565b610734565b6101a9610290366004611a72565b610789565b3480156102a157600080fd5b506101ed6102b0366004611a06565b6001600160a01b03166000908152600660209081526040808320548352600490915290205490565b3480156102e457600080fd5b5060015461024a906001600160a01b031681565b34801561030457600080fd5b506101a9610313366004611ab8565b610a43565b34801561032457600080fd5b506101ed610333366004611b3d565b60046020526000908152604090205481565b34801561035157600080fd5b5061024a610360366004611b56565b610ab3565b34801561037157600080fd5b5061024a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a557600080fd5b50610180610bb9565b3480156103ba57600080fd5b50610180610bd5565b3480156103cf57600080fd5b506101806103de366004611a06565b610be2565b6101a96103f1366004611ba8565b610bfb565b34801561040257600080fd5b506101a9610411366004611a06565b610ebf565b6101a9610424366004611c03565b610f67565b34801561043557600080fd5b506101ed7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561046957600080fd5b5061024a610478366004611b56565b61110a565b34801561048957600080fd5b506101a9611125565b34801561049e57600080fd5b506104c26104ad366004611b3d565b60076020526000908152604090205460ff1681565b604051901515815260200161018d565b3480156104de57600080fd5b5060005461024a906001600160a01b031681565b6040518060e0016040528060ab8152602001611fbf60ab913981565b600033905061057f856001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105789190611c5c565b8583611243565b6105c05760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b60448201526064015b60405180910390fd5b600083116105e05760405162461bcd60e51b81526004016105b790611c79565b604051639980a5f360e01b81526001600160a01b0385811660048301526024820185905260448201849052861690639980a5f390606401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b50505050806001600160a01b0316846001600160a01b0316866001600160a01b03167f240672ee6e1a111e985d4a1efb7f4bd13043ce9249564d6dcc96710162bd6e4d60026040516106979190611cc8565b60405180910390a45050505050565b600280546106b390611cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546106df90611cd6565b801561072c5780601f106107015761010080835404028352916020019161072c565b820191906000526020600020905b81548152906001019060200180831161070f57829003601f168201915b505050505081565b6000546001600160a01b0316331461077b5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064016105b7565b6107858282611471565b5050565b600061079e6102b06060870160408801611a06565b905060006107af8686868686610ab3565b90506107c16080870160608801611a06565b6001600160a01b0316816001600160a01b0316148061086557506108656107ee6060880160408901611a06565b6001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f9190611c5c565b61085f6080890160608a01611a06565b83611243565b6108b15760405162461bcd60e51b815260206004820181905260248201527f4e4f545f5349474e45445f42595f4c49515549444954595f50524f564944455260448201526064016105b7565b60008660a00135116108d55760405162461bcd60e51b81526004016105b790611c79565b856020013542111561091a5760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b60448201526064016105b7565b610925858585611576565b6109356060870160408801611a06565b6001600160a01b0316639980a5f36109536080890160608a01611a06565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260a0890135602482015260c08901356044820152606401600060405180830381600087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b506109d1925050506080870160608801611a06565b6001600160a01b03166109ea6060880160408901611a06565b6001600160a01b0316336001600160a01b03167f574296f668708bb2ffd728f1b8b988c4b2d2c3002f933ef77d5d82422984030460028a60000135604051610a33929190611d0a565b60405180910390a4505050505050565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064016105b7565b6001600160a01b0383166000908152600560205260409020610aad828483611d8c565b50505050565b60008082610ace610ac9368a90038a018a611edf565b611637565b60405161190160f01b60208201526022810192909252604282015260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610b57573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610bae5760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b60448201526064016105b7565b979650505050505050565b6040518060e0016040528060aa815260200161206a60aa913981565b600380546106b390611cd6565b600560205260009081526040902080546106b390611cd6565b6000610c106102b06060890160408a01611a06565b90506000610c21888888888661110a565b9050610c336080890160608a01611a06565b6001600160a01b0316816001600160a01b03161480610cd15750610cd1610c6060608a0160408b01611a06565b6001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190611c5c565b61085f60808b0160608c01611a06565b610d1d5760405162461bcd60e51b815260206004820181905260248201527f4e4f545f5349474e45445f42595f4c49515549444954595f50524f564944455260448201526064016105b7565b60008860a0013511610d415760405162461bcd60e51b81526004016105b790611c79565b8760200135421115610d865760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b60448201526064016105b7565b610d91878787611576565b610da16060890160408a01611a06565b6001600160a01b031663f2fc6e66610dbf60808b0160608c01611a06565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260a08b0135602482015260c08b01356044820152606481018790526084810186905260a401600060405180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b50610e4b925050506080890160608a01611a06565b6001600160a01b0316610e6460608a0160408b01611a06565b6001600160a01b0316336001600160a01b03167f574296f668708bb2ffd728f1b8b988c4b2d2c3002f933ef77d5d82422984030460018c60000135604051610ead929190611d0a565b60405180910390a45050505050505050565b6000546001600160a01b03163314610f055760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b60448201526064016105b7565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000339050610fd8876001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd19190611c5c565b8783611243565b6110145760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b60448201526064016105b7565b600085116110345760405162461bcd60e51b81526004016105b790611c79565b60405163797e373360e11b81526001600160a01b0387811660048301526024820187905260448201869052606482018590526084820184905288169063f2fc6e669060a401600060405180830381600087803b15801561109357600080fd5b505af11580156110a7573d6000803e3d6000fd5b50505050806001600160a01b0316866001600160a01b0316886001600160a01b03167f240672ee6e1a111e985d4a1efb7f4bd13043ce9249564d6dcc96710162bd6e4d60016040516110f99190611cc8565b60405180910390a450505050505050565b60008082610ace611120368a90038a018a611edf565b6116ab565b6001546001600160a01b03163314801561114957506001546001600160a01b031615155b6111955760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e000060448201526064016105b7565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610f5b565b6001600160a01b0383166000908152600560205260408120805482919061126990611cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461129590611cd6565b80156112e25780601f106112b7576101008083540402835291602001916112e2565b820191906000526020600020905b8154815290600101906020018083116112c557829003601f168201915b5050505050905080516000036112fc57600091505061146a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166358ca59ce60405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b8152508460405160200161136c929190611efb565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016113979190611965565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190611c5c565b90506001600160a01b0381166113f35760009250505061146a565b60405163b0cbc2e160e01b81526001600160a01b0382169063b0cbc2e1906114249060029089908990600401611f2a565b602060405180830381865afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114659190611f5c565b925050505b9392505050565b6001600160a01b038216600090815260066020526040902054156114e55760405162461bcd60e51b815260206004820152602560248201527f434841494e5f49445f464f525f41535345545f414c52454144595f434f4e464960448201526411d554915160da1b60648201526084016105b7565b806000036115255760405162461bcd60e51b815260206004820152600d60248201526c434841494e5f49445f5a45524f60981b60448201526064016105b7565b61152e81611702565b506001600160a01b038216600081815260066020526040808220849055518392917f8983e01eaf5771a114f1aa7f72a023a35642e048180682aa2fb04db0cbd220c291a35050565b6040516001600160f81b031960f885901b166020820152602181018390526041810182905260009060610160408051601f1981840301815291815281516020928301206000818152600790935291205490915060ff16156116195760405162461bcd60e51b815260206004820152601d60248201527f494e54454e54535f5349475f414c52454144595f50524f43455353454400000060448201526064016105b7565b6000908152600760205260409020805460ff19166001179055505050565b60006040518060e0016040528060aa815260200161206a60aa913980516020918201208351848301516040808701516060880151608089015160a08a015160c08b0151945161168e99949593949293919201611f7e565b604051602081830303815290604052805190602001209050919050565b60006040518060e0016040528060ab8152602001611fbf60ab913980516020918201208351848301516040808701516060880151608089015160a08a015160c08b0151945161168e99949593949293919201611f7e565b600081815260046020526040812054806118b557600061185e60405180608001604052806002805461173390611cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461175f90611cd6565b80156117ac5780601f10611781576101008083540402835291602001916117ac565b820191906000526020600020905b81548152906001019060200180831161178f57829003601f168201915b50505050508152602001600380546117c390611cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546117ef90611cd6565b801561183c5780601f106118115761010080835404028352916020019161183c565b820191906000526020600020905b81548152906001019060200180831161181f57829003601f168201915b50505050508152602001868152602001306001600160a01b03168152506118c1565b600085815260046020526040908190208290555190915084907f04df087044a5490c34ea0092af5dbdd1a3a35fefd63f0864c1d05dba3075f165906118a69084815260200190565b60405180910390a29392505050565b92915050565b50919050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8260000151805190602001208360200151805190602001208460400151856060015160405160200161168e9594939291909485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60005b8381101561195c578181015183820152602001611944565b50506000910152565b6020815260008251806020840152611984816040850160208701611941565b601f01601f19169190910160400192915050565b6001600160a01b03811681146119ad57600080fd5b50565b80356119bb81611998565b919050565b600080600080608085870312156119d657600080fd5b84356119e181611998565b935060208501356119f181611998565b93969395505050506040820135916060013590565b600060208284031215611a1857600080fd5b813561146a81611998565b60008060408385031215611a3657600080fd5b8235611a4181611998565b946020939093013593505050565b600060e082840312156118bb57600080fd5b803560ff811681146119bb57600080fd5b6000806000806101408587031215611a8957600080fd5b611a938686611a4f565b9350611aa160e08601611a61565b939693955050505061010082013591610120013590565b600080600060408486031215611acd57600080fd5b8335611ad881611998565b9250602084013567ffffffffffffffff80821115611af557600080fd5b818601915086601f830112611b0957600080fd5b813581811115611b1857600080fd5b876020828501011115611b2a57600080fd5b6020830194508093505050509250925092565b600060208284031215611b4f57600080fd5b5035919050565b60008060008060006101608688031215611b6f57600080fd5b611b798787611a4f565b9450611b8760e08701611a61565b94979496505050506101008301359261012081013592610140909101359150565b6000806000806000806101808789031215611bc257600080fd5b611bcc8888611a4f565b9550611bda60e08801611a61565b959895975050505061010084013593610120810135936101408201359350610160909101359150565b60008060008060008060c08789031215611c1c57600080fd5b8635611c2781611998565b95506020870135611c3781611998565b95989597505050506040840135936060810135936080820135935060a0909101359150565b600060208284031215611c6e57600080fd5b815161146a81611998565b6020808252600b908201526a414d4f554e545f5a45524f60a81b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b60038110611cc457611cc4611c9e565b9052565b602081016118b58284611cb4565b600181811c90821680611cea57607f821691505b6020821081036118bb57634e487b7160e01b600052602260045260246000fd5b60408101611d188285611cb4565b8260208301529392505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611d87576000816000526020600020601f850160051c81016020861015611d645750805b601f850160051c820191505b81811015611d8357828155600101611d70565b5050505b505050565b67ffffffffffffffff831115611da457611da4611d25565b611db883611db28354611cd6565b83611d3b565b6000601f841160018114611dec5760008515611dd45750838201355b600019600387901b1c1916600186901b178355611e46565b600083815260209020601f19861690835b82811015611e1d5786850135825560209485019460019092019101611dfd565b5086821015611e3a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060e08284031215611e5f57600080fd5b60405160e0810181811067ffffffffffffffff82111715611e8257611e82611d25565b80604052508091508235815260208301356020820152611ea4604084016119b0565b6040820152611eb5606084016119b0565b60608201526080830135608082015260a083013560a082015260c083013560c08201525092915050565b600060e08284031215611ef157600080fd5b61146a8383611e4d565b60008351611f0d818460208801611941565b835190830190611f21818360208801611941565b01949350505050565b6060810160048510611f3e57611f3e611c9e565b9381526001600160a01b039283166020820152911660409091015290565b600060208284031215611f6e57600080fd5b8151801515811461146a57600080fd5b978852602088019690965260408701949094526001600160a01b0392831660608701529116608085015260a084015260c083015260e0820152610100019056fe4c697175696469747950726f7669646572526571756573745061796c6f61645f45706f63684465706f7369742875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320706f6f6c2c61646472657373206c697175696469747950726f76696465722c75696e743235362065706f63682c75696e7432353620616d6f756e742c75696e74323536206d696e416d6f756e744f7574294c697175696469747950726f7669646572526571756573745061796c6f61645f45706f636852656465656d2875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320706f6f6c2c61646472657373206c697175696469747950726f76696465722c75696e743235362065706f63682c75696e7432353620616d6f756e742c75696e74323536206d696e416d6f756e744f757429a264697066735822122046175214abe22d41c0c00f2101c269579b256dbfbbd0b2e009b2eb82378682c264736f6c63430008180033";
841
+ const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200242638038062002426833981016040819052620000349162000115565b604080518082018252601a81527f4c697175696469747920496e74656e7473205665726966696572000000000000602080830191909152825180840190935260018352603160f81b90830152600080546001600160a01b031916331790559081816002620000a38382620001ee565b506003620000b28282620001ee565b5050506001600160a01b03831691506200010390505760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f504152414d5360a01b604482015260640160405180910390fd5b6001600160a01b0316608052620002ba565b6000602082840312156200012857600080fd5b81516001600160a01b03811681146200014057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200017257607f821691505b6020821081036200019357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e9576000816000526020600020601f850160051c81016020861015620001c45750805b601f850160051c820191505b81811015620001e557828155600101620001d0565b5050505b505050565b81516001600160401b038111156200020a576200020a62000147565b62000222816200021b84546200015d565b8462000199565b602080601f8311600181146200025a5760008415620002415750858301515b600019600386901b1c1916600185901b178555620001e5565b600085815260208120601f198616915b828110156200028b578886015182559484019460019091019084016200026a565b5085821015620002aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051612149620002dd60003960008181610377015261130001526121496000f3fe6080604052600436106101665760003560e01c8063751b4f59116100d1578063b71d1a0c1161008a578063cd7d065811610064578063cd7d06581461045d578063e9c714f21461047d578063f773abcd14610492578063f851a440146104d257600080fd5b8063b71d1a0c146103f6578063c3a8f12014610416578063c49f91d31461042957600080fd5b8063751b4f59146103455780637b103999146103655780638714f383146103995780639652a4bd146103ae5780639d443327146103c3578063b6068b30146103e357600080fd5b806312d99fd11161012357806312d99fd114610262578063133692d81461028257806316e27a7c1461029557806326782247146102d857806358659d6e146102f85780636fccbffc1461031857600080fd5b80630518007f1461016b57806306b042b3146101965780630da7fba9146101ab5780630f2a3d47146101c0578063108c66e3146101fb578063119df25f1461023b575b600080fd5b34801561017757600080fd5b506101806104f2565b60405161018d9190611965565b60405180910390f35b6101a96101a43660046119c0565b61050e565b005b3480156101b757600080fd5b506101806106a6565b3480156101cc57600080fd5b506101ed6101db366004611a06565b60066020526000908152604090205481565b60405190815260200161018d565b34801561020757600080fd5b5061018060405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b81525081565b34801561024757600080fd5b50335b6040516001600160a01b03909116815260200161018d565b34801561026e57600080fd5b506101a961027d366004611a23565b610734565b6101a9610290366004611a72565b610789565b3480156102a157600080fd5b506101ed6102b0366004611a06565b6001600160a01b03166000908152600660209081526040808320548352600490915290205490565b3480156102e457600080fd5b5060015461024a906001600160a01b031681565b34801561030457600080fd5b506101a9610313366004611ab8565b610a43565b34801561032457600080fd5b506101ed610333366004611b3d565b60046020526000908152604090205481565b34801561035157600080fd5b5061024a610360366004611b56565b610ab3565b34801561037157600080fd5b5061024a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a557600080fd5b50610180610bb9565b3480156103ba57600080fd5b50610180610bd5565b3480156103cf57600080fd5b506101806103de366004611a06565b610be2565b6101a96103f1366004611ba8565b610bfb565b34801561040257600080fd5b506101a9610411366004611a06565b610ebf565b6101a9610424366004611c03565b610f67565b34801561043557600080fd5b506101ed7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561046957600080fd5b5061024a610478366004611b56565b61110a565b34801561048957600080fd5b506101a9611125565b34801561049e57600080fd5b506104c26104ad366004611b3d565b60076020526000908152604090205460ff1681565b604051901515815260200161018d565b3480156104de57600080fd5b5060005461024a906001600160a01b031681565b6040518060e0016040528060ab8152602001611fbf60ab913981565b600033905061057f856001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105789190611c5c565b8583611243565b6105c05760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b60448201526064015b60405180910390fd5b600083116105e05760405162461bcd60e51b81526004016105b790611c79565b604051639980a5f360e01b81526001600160a01b0385811660048301526024820185905260448201849052861690639980a5f390606401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b50505050806001600160a01b0316846001600160a01b0316866001600160a01b03167f240672ee6e1a111e985d4a1efb7f4bd13043ce9249564d6dcc96710162bd6e4d60026040516106979190611cc8565b60405180910390a45050505050565b600280546106b390611cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546106df90611cd6565b801561072c5780601f106107015761010080835404028352916020019161072c565b820191906000526020600020905b81548152906001019060200180831161070f57829003601f168201915b505050505081565b6000546001600160a01b0316331461077b5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064016105b7565b6107858282611471565b5050565b600061079e6102b06060870160408801611a06565b905060006107af8686868686610ab3565b90506107c16080870160608801611a06565b6001600160a01b0316816001600160a01b0316148061086557506108656107ee6060880160408901611a06565b6001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f9190611c5c565b61085f6080890160608a01611a06565b83611243565b6108b15760405162461bcd60e51b815260206004820181905260248201527f4e4f545f5349474e45445f42595f4c49515549444954595f50524f564944455260448201526064016105b7565b60008660a00135116108d55760405162461bcd60e51b81526004016105b790611c79565b856020013542111561091a5760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b60448201526064016105b7565b610925858585611576565b6109356060870160408801611a06565b6001600160a01b0316639980a5f36109536080890160608a01611a06565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260a0890135602482015260c08901356044820152606401600060405180830381600087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b506109d1925050506080870160608801611a06565b6001600160a01b03166109ea6060880160408901611a06565b6001600160a01b0316336001600160a01b03167f574296f668708bb2ffd728f1b8b988c4b2d2c3002f933ef77d5d82422984030460028a60000135604051610a33929190611d0a565b60405180910390a4505050505050565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064016105b7565b6001600160a01b0383166000908152600560205260409020610aad828483611d8c565b50505050565b60008082610ace610ac9368a90038a018a611edf565b611637565b60405161190160f01b60208201526022810192909252604282015260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610b57573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610bae5760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b60448201526064016105b7565b979650505050505050565b6040518060e0016040528060aa815260200161206a60aa913981565b600380546106b390611cd6565b600560205260009081526040902080546106b390611cd6565b6000610c106102b06060890160408a01611a06565b90506000610c21888888888661110a565b9050610c336080890160608a01611a06565b6001600160a01b0316816001600160a01b03161480610cd15750610cd1610c6060608a0160408b01611a06565b6001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190611c5c565b61085f60808b0160608c01611a06565b610d1d5760405162461bcd60e51b815260206004820181905260248201527f4e4f545f5349474e45445f42595f4c49515549444954595f50524f564944455260448201526064016105b7565b60008860a0013511610d415760405162461bcd60e51b81526004016105b790611c79565b8760200135421115610d865760405162461bcd60e51b815260206004820152600e60248201526d12539511539517d156141254915160921b60448201526064016105b7565b610d91878787611576565b610da16060890160408a01611a06565b6001600160a01b031663f2fc6e66610dbf60808b0160608c01611a06565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260a08b0135602482015260c08b01356044820152606481018790526084810186905260a401600060405180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b50610e4b925050506080890160608a01611a06565b6001600160a01b0316610e6460608a0160408b01611a06565b6001600160a01b0316336001600160a01b03167f574296f668708bb2ffd728f1b8b988c4b2d2c3002f933ef77d5d82422984030460018c60000135604051610ead929190611d0a565b60405180910390a45050505050505050565b6000546001600160a01b03163314610f055760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b60448201526064016105b7565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000339050610fd8876001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd19190611c5c565b8783611243565b6110145760405162461bcd60e51b815260206004820152600d60248201526c2727afa822a926a4a9a9a4a7a760991b60448201526064016105b7565b600085116110345760405162461bcd60e51b81526004016105b790611c79565b60405163797e373360e11b81526001600160a01b0387811660048301526024820187905260448201869052606482018590526084820184905288169063f2fc6e669060a401600060405180830381600087803b15801561109357600080fd5b505af11580156110a7573d6000803e3d6000fd5b50505050806001600160a01b0316866001600160a01b0316886001600160a01b03167f240672ee6e1a111e985d4a1efb7f4bd13043ce9249564d6dcc96710162bd6e4d60016040516110f99190611cc8565b60405180910390a450505050505050565b60008082610ace611120368a90038a018a611edf565b6116ab565b6001546001600160a01b03163314801561114957506001546001600160a01b031615155b6111955760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e000060448201526064016105b7565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610f5b565b6001600160a01b0383166000908152600560205260408120805482919061126990611cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461129590611cd6565b80156112e25780601f106112b7576101008083540402835291602001916112e2565b820191906000526020600020905b8154815290600101906020018083116112c557829003601f168201915b5050505050905080516000036112fc57600091505061146a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166358ca59ce60405180604001604052806014815260200173494e54454e54535f5045524d495353494f4e535f60601b8152508460405160200161136c929190611efb565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016113979190611965565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190611c5c565b90506001600160a01b0381166113f35760009250505061146a565b60405163b0cbc2e160e01b81526001600160a01b0382169063b0cbc2e1906114249060029089908990600401611f2a565b602060405180830381865afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114659190611f5c565b925050505b9392505050565b6001600160a01b038216600090815260066020526040902054156114e55760405162461bcd60e51b815260206004820152602560248201527f434841494e5f49445f464f525f41535345545f414c52454144595f434f4e464960448201526411d554915160da1b60648201526084016105b7565b806000036115255760405162461bcd60e51b815260206004820152600d60248201526c434841494e5f49445f5a45524f60981b60448201526064016105b7565b61152e81611702565b506001600160a01b038216600081815260066020526040808220849055518392917f8983e01eaf5771a114f1aa7f72a023a35642e048180682aa2fb04db0cbd220c291a35050565b6040516001600160f81b031960f885901b166020820152602181018390526041810182905260009060610160408051601f1981840301815291815281516020928301206000818152600790935291205490915060ff16156116195760405162461bcd60e51b815260206004820152601d60248201527f494e54454e54535f5349475f414c52454144595f50524f43455353454400000060448201526064016105b7565b6000908152600760205260409020805460ff19166001179055505050565b60006040518060e0016040528060aa815260200161206a60aa913980516020918201208351848301516040808701516060880151608089015160a08a015160c08b0151945161168e99949593949293919201611f7e565b604051602081830303815290604052805190602001209050919050565b60006040518060e0016040528060ab8152602001611fbf60ab913980516020918201208351848301516040808701516060880151608089015160a08a015160c08b0151945161168e99949593949293919201611f7e565b600081815260046020526040812054806118b557600061185e60405180608001604052806002805461173390611cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461175f90611cd6565b80156117ac5780601f10611781576101008083540402835291602001916117ac565b820191906000526020600020905b81548152906001019060200180831161178f57829003601f168201915b50505050508152602001600380546117c390611cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546117ef90611cd6565b801561183c5780601f106118115761010080835404028352916020019161183c565b820191906000526020600020905b81548152906001019060200180831161181f57829003601f168201915b50505050508152602001868152602001306001600160a01b03168152506118c1565b600085815260046020526040908190208290555190915084907f04df087044a5490c34ea0092af5dbdd1a3a35fefd63f0864c1d05dba3075f165906118a69084815260200190565b60405180910390a29392505050565b92915050565b50919050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8260000151805190602001208360200151805190602001208460400151856060015160405160200161168e9594939291909485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60005b8381101561195c578181015183820152602001611944565b50506000910152565b6020815260008251806020840152611984816040850160208701611941565b601f01601f19169190910160400192915050565b6001600160a01b03811681146119ad57600080fd5b50565b80356119bb81611998565b919050565b600080600080608085870312156119d657600080fd5b84356119e181611998565b935060208501356119f181611998565b93969395505050506040820135916060013590565b600060208284031215611a1857600080fd5b813561146a81611998565b60008060408385031215611a3657600080fd5b8235611a4181611998565b946020939093013593505050565b600060e082840312156118bb57600080fd5b803560ff811681146119bb57600080fd5b6000806000806101408587031215611a8957600080fd5b611a938686611a4f565b9350611aa160e08601611a61565b939693955050505061010082013591610120013590565b600080600060408486031215611acd57600080fd5b8335611ad881611998565b9250602084013567ffffffffffffffff80821115611af557600080fd5b818601915086601f830112611b0957600080fd5b813581811115611b1857600080fd5b876020828501011115611b2a57600080fd5b6020830194508093505050509250925092565b600060208284031215611b4f57600080fd5b5035919050565b60008060008060006101608688031215611b6f57600080fd5b611b798787611a4f565b9450611b8760e08701611a61565b94979496505050506101008301359261012081013592610140909101359150565b6000806000806000806101808789031215611bc257600080fd5b611bcc8888611a4f565b9550611bda60e08801611a61565b959895975050505061010084013593610120810135936101408201359350610160909101359150565b60008060008060008060c08789031215611c1c57600080fd5b8635611c2781611998565b95506020870135611c3781611998565b95989597505050506040840135936060810135936080820135935060a0909101359150565b600060208284031215611c6e57600080fd5b815161146a81611998565b6020808252600b908201526a414d4f554e545f5a45524f60a81b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b60038110611cc457611cc4611c9e565b9052565b602081016118b58284611cb4565b600181811c90821680611cea57607f821691505b6020821081036118bb57634e487b7160e01b600052602260045260246000fd5b60408101611d188285611cb4565b8260208301529392505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611d87576000816000526020600020601f850160051c81016020861015611d645750805b601f850160051c820191505b81811015611d8357828155600101611d70565b5050505b505050565b67ffffffffffffffff831115611da457611da4611d25565b611db883611db28354611cd6565b83611d3b565b6000601f841160018114611dec5760008515611dd45750838201355b600019600387901b1c1916600186901b178355611e46565b600083815260209020601f19861690835b82811015611e1d5786850135825560209485019460019092019101611dfd565b5086821015611e3a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060e08284031215611e5f57600080fd5b60405160e0810181811067ffffffffffffffff82111715611e8257611e82611d25565b80604052508091508235815260208301356020820152611ea4604084016119b0565b6040820152611eb5606084016119b0565b60608201526080830135608082015260a083013560a082015260c083013560c08201525092915050565b600060e08284031215611ef157600080fd5b61146a8383611e4d565b60008351611f0d818460208801611941565b835190830190611f21818360208801611941565b01949350505050565b6060810160048510611f3e57611f3e611c9e565b9381526001600160a01b039283166020820152911660409091015290565b600060208284031215611f6e57600080fd5b8151801515811461146a57600080fd5b978852602088019690965260408701949094526001600160a01b0392831660608701529116608085015260a084015260c083015260e0820152610100019056fe4c697175696469747950726f7669646572526571756573745061796c6f61645f45706f63684465706f7369742875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320706f6f6c2c61646472657373206c697175696469747950726f76696465722c75696e743235362065706f63682c75696e7432353620616d6f756e742c75696e74323536206d696e416d6f756e744f7574294c697175696469747950726f7669646572526571756573745061796c6f61645f45706f636852656465656d2875696e743235362074696d657374616d702c75696e743235362076616c6964556e74696c2c6164647265737320706f6f6c2c61646472657373206c697175696469747950726f76696465722c75696e743235362065706f63682c75696e7432353620616d6f756e742c75696e74323536206d696e416d6f756e744f757429a2646970667358221220a0c6dd6fa9d9368838f90f64c4db4569698f40350c251a1842fd0a731cb9291464736f6c63430008180033";
842
842
  const isSuperArgs = (xs) => xs.length > 1;
843
843
  class LiquidityIntentsVerifierV1__factory extends ethers_1.ContractFactory {
844
844
  constructor(...args) {