lynx-client 0.0.11 → 0.0.13

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 (192) hide show
  1. package/README.md +192 -2
  2. package/dist/cjs/index.js +9 -1
  3. package/dist/cjs/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.js +1 -0
  4. package/dist/cjs/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.js +158 -25
  5. package/dist/cjs/lib/contractsIntegration/OrderBookService/OrderBookService.js +14 -2
  6. package/dist/cjs/lib/contractsIntegration/PNLRService/PNLRService.js +10 -10
  7. package/dist/cjs/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.js +26 -14
  8. package/dist/cjs/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +72 -15
  9. package/dist/cjs/lib/contractsIntegration/TriggersService/TriggersService.js +14 -8
  10. package/dist/cjs/lib/contractsIntegration/common/ILynxVersionedContract.js +2 -0
  11. package/dist/cjs/lib/contractsIntegration/common/IPendableAdmin.js +2 -0
  12. package/dist/cjs/lib/contractsIntegration/common/IPendableImplementation.js +2 -0
  13. package/dist/cjs/lib/contractsIntegration/common/IProtocolConstants.js +2 -0
  14. package/dist/cjs/lib/contractsIntegration/common/index.js +2 -0
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1 -1
  16. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +1 -1
  17. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  18. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -28
  19. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  20. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  21. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +207 -1
  22. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  23. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  24. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  25. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -28
  26. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  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/TradingFloorLens__factory.js +1 -1
  29. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  30. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.js +1 -1
  31. package/dist/esm/index.d.ts +9 -1
  32. package/dist/esm/index.d.ts.map +1 -1
  33. package/dist/esm/index.js +9 -1
  34. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts +2 -3
  35. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts.map +1 -1
  36. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts.map +1 -1
  37. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.js +1 -0
  38. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts +52 -6
  39. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts.map +1 -1
  40. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts +17 -20
  41. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts.map +1 -1
  42. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.js +158 -25
  43. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/index.d.ts +1 -1
  44. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/index.d.ts.map +1 -1
  45. package/dist/esm/lib/contractsIntegration/OrderBookService/IOrderBookService.d.ts +6 -10
  46. package/dist/esm/lib/contractsIntegration/OrderBookService/IOrderBookService.d.ts.map +1 -1
  47. package/dist/esm/lib/contractsIntegration/OrderBookService/OrderBookService.d.ts +5 -2
  48. package/dist/esm/lib/contractsIntegration/OrderBookService/OrderBookService.d.ts.map +1 -1
  49. package/dist/esm/lib/contractsIntegration/OrderBookService/OrderBookService.js +14 -2
  50. package/dist/esm/lib/contractsIntegration/PNLRService/IPNLRService.d.ts +4 -12
  51. package/dist/esm/lib/contractsIntegration/PNLRService/IPNLRService.d.ts.map +1 -1
  52. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.d.ts +4 -3
  53. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.d.ts.map +1 -1
  54. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.js +10 -10
  55. package/dist/esm/lib/contractsIntegration/PNLRService/index.d.ts +1 -1
  56. package/dist/esm/lib/contractsIntegration/PNLRService/index.d.ts.map +1 -1
  57. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts +2 -4
  58. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts.map +1 -1
  59. package/dist/esm/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts +8 -13
  60. package/dist/esm/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts.map +1 -1
  61. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts +5 -2
  62. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts.map +1 -1
  63. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.js +26 -14
  64. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +31 -13
  65. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  66. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +14 -87
  67. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  68. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +72 -15
  69. package/dist/esm/lib/contractsIntegration/TriggersService/ITriggersService.d.ts +6 -9
  70. package/dist/esm/lib/contractsIntegration/TriggersService/ITriggersService.d.ts.map +1 -1
  71. package/dist/esm/lib/contractsIntegration/TriggersService/TriggersService.d.ts +4 -2
  72. package/dist/esm/lib/contractsIntegration/TriggersService/TriggersService.d.ts.map +1 -1
  73. package/dist/esm/lib/contractsIntegration/TriggersService/TriggersService.js +14 -8
  74. package/dist/esm/lib/contractsIntegration/common/ILynxVersionedContract.d.ts +11 -0
  75. package/dist/esm/lib/contractsIntegration/common/ILynxVersionedContract.d.ts.map +1 -0
  76. package/dist/esm/lib/contractsIntegration/common/ILynxVersionedContract.js +2 -0
  77. package/dist/esm/lib/contractsIntegration/common/IPendableAdmin.d.ts +9 -0
  78. package/dist/esm/lib/contractsIntegration/common/IPendableAdmin.d.ts.map +1 -0
  79. package/dist/esm/lib/contractsIntegration/common/IPendableAdmin.js +2 -0
  80. package/dist/esm/lib/contractsIntegration/common/IPendableImplementation.d.ts +9 -0
  81. package/dist/esm/lib/contractsIntegration/common/IPendableImplementation.d.ts.map +1 -0
  82. package/dist/esm/lib/contractsIntegration/common/IPendableImplementation.js +2 -0
  83. package/dist/esm/lib/contractsIntegration/common/IProtocolConstants.d.ts +32 -0
  84. package/dist/esm/lib/contractsIntegration/common/IProtocolConstants.d.ts.map +1 -0
  85. package/dist/esm/lib/contractsIntegration/common/IProtocolConstants.js +2 -0
  86. package/dist/esm/lib/contractsIntegration/common/index.d.ts +5 -0
  87. package/dist/esm/lib/contractsIntegration/common/index.d.ts.map +1 -0
  88. package/dist/esm/lib/contractsIntegration/common/index.js +2 -0
  89. package/dist/esm/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts +151 -1
  90. package/dist/esm/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts.map +1 -1
  91. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +1 -1
  92. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1 -1
  93. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +1 -1
  94. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +1 -1
  95. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  96. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  97. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -21
  98. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts.map +1 -1
  99. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -28
  100. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  101. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  102. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  103. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  104. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +157 -1
  105. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts.map +1 -1
  106. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +207 -1
  107. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  108. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  109. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  110. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  111. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  112. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  113. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -21
  114. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  115. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -28
  116. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  117. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  118. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  119. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  120. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  121. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  122. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  123. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  124. package/dist/esm/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts +1 -1
  125. package/dist/esm/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.js +1 -1
  126. package/dist/types/index.d.ts +9 -1
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts +2 -3
  129. package/dist/types/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts.map +1 -1
  130. package/dist/types/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts.map +1 -1
  131. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts +52 -6
  132. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts.map +1 -1
  133. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts +17 -20
  134. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts.map +1 -1
  135. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/index.d.ts +1 -1
  136. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/index.d.ts.map +1 -1
  137. package/dist/types/lib/contractsIntegration/OrderBookService/IOrderBookService.d.ts +6 -10
  138. package/dist/types/lib/contractsIntegration/OrderBookService/IOrderBookService.d.ts.map +1 -1
  139. package/dist/types/lib/contractsIntegration/OrderBookService/OrderBookService.d.ts +5 -2
  140. package/dist/types/lib/contractsIntegration/OrderBookService/OrderBookService.d.ts.map +1 -1
  141. package/dist/types/lib/contractsIntegration/PNLRService/IPNLRService.d.ts +4 -12
  142. package/dist/types/lib/contractsIntegration/PNLRService/IPNLRService.d.ts.map +1 -1
  143. package/dist/types/lib/contractsIntegration/PNLRService/PNLRService.d.ts +4 -3
  144. package/dist/types/lib/contractsIntegration/PNLRService/PNLRService.d.ts.map +1 -1
  145. package/dist/types/lib/contractsIntegration/PNLRService/index.d.ts +1 -1
  146. package/dist/types/lib/contractsIntegration/PNLRService/index.d.ts.map +1 -1
  147. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts +2 -4
  148. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts.map +1 -1
  149. package/dist/types/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts +8 -13
  150. package/dist/types/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts.map +1 -1
  151. package/dist/types/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts +5 -2
  152. package/dist/types/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts.map +1 -1
  153. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +31 -13
  154. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  155. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +14 -87
  156. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  157. package/dist/types/lib/contractsIntegration/TriggersService/ITriggersService.d.ts +6 -9
  158. package/dist/types/lib/contractsIntegration/TriggersService/ITriggersService.d.ts.map +1 -1
  159. package/dist/types/lib/contractsIntegration/TriggersService/TriggersService.d.ts +4 -2
  160. package/dist/types/lib/contractsIntegration/TriggersService/TriggersService.d.ts.map +1 -1
  161. package/dist/types/lib/contractsIntegration/common/ILynxVersionedContract.d.ts +11 -0
  162. package/dist/types/lib/contractsIntegration/common/ILynxVersionedContract.d.ts.map +1 -0
  163. package/dist/types/lib/contractsIntegration/common/IPendableAdmin.d.ts +9 -0
  164. package/dist/types/lib/contractsIntegration/common/IPendableAdmin.d.ts.map +1 -0
  165. package/dist/types/lib/contractsIntegration/common/IPendableImplementation.d.ts +9 -0
  166. package/dist/types/lib/contractsIntegration/common/IPendableImplementation.d.ts.map +1 -0
  167. package/dist/types/lib/contractsIntegration/common/IProtocolConstants.d.ts +32 -0
  168. package/dist/types/lib/contractsIntegration/common/IProtocolConstants.d.ts.map +1 -0
  169. package/dist/types/lib/contractsIntegration/common/index.d.ts +5 -0
  170. package/dist/types/lib/contractsIntegration/common/index.d.ts.map +1 -0
  171. package/dist/types/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts +151 -1
  172. package/dist/types/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts.map +1 -1
  173. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +1 -1
  174. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +1 -1
  175. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  176. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -21
  177. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts.map +1 -1
  178. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  179. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  180. package/dist/types/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +157 -1
  181. package/dist/types/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts.map +1 -1
  182. package/dist/types/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  183. package/dist/types/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  184. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  185. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -21
  186. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  187. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  188. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  189. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  190. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  191. package/dist/types/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts +1 -1
  192. package/package.json +4 -4
@@ -343,6 +343,158 @@ const _abi = [
343
343
  stateMutability: "view",
344
344
  type: "function",
345
345
  },
346
+ {
347
+ inputs: [
348
+ {
349
+ internalType: "address",
350
+ name: "owner",
351
+ type: "address",
352
+ },
353
+ ],
354
+ name: "getActivePermissionCount",
355
+ outputs: [
356
+ {
357
+ internalType: "uint256",
358
+ name: "count",
359
+ type: "uint256",
360
+ },
361
+ ],
362
+ stateMutability: "view",
363
+ type: "function",
364
+ },
365
+ {
366
+ inputs: [
367
+ {
368
+ internalType: "address",
369
+ name: "owner",
370
+ type: "address",
371
+ },
372
+ ],
373
+ name: "getActiveSpenders",
374
+ outputs: [
375
+ {
376
+ internalType: "address[]",
377
+ name: "",
378
+ type: "address[]",
379
+ },
380
+ ],
381
+ stateMutability: "view",
382
+ type: "function",
383
+ },
384
+ {
385
+ inputs: [
386
+ {
387
+ internalType: "address",
388
+ name: "owner",
389
+ type: "address",
390
+ },
391
+ {
392
+ internalType: "address",
393
+ name: "spender",
394
+ type: "address",
395
+ },
396
+ ],
397
+ name: "getActiveTokensForSpender",
398
+ outputs: [
399
+ {
400
+ internalType: "address[]",
401
+ name: "",
402
+ type: "address[]",
403
+ },
404
+ ],
405
+ stateMutability: "view",
406
+ type: "function",
407
+ },
408
+ {
409
+ inputs: [
410
+ {
411
+ internalType: "address",
412
+ name: "owner",
413
+ type: "address",
414
+ },
415
+ ],
416
+ name: "getAllActivePermissions",
417
+ outputs: [
418
+ {
419
+ internalType: "address[]",
420
+ name: "spenders",
421
+ type: "address[]",
422
+ },
423
+ {
424
+ internalType: "address[]",
425
+ name: "tokens",
426
+ type: "address[]",
427
+ },
428
+ {
429
+ components: [
430
+ {
431
+ internalType: "uint256",
432
+ name: "amountLimit",
433
+ type: "uint256",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "amountUsed",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint256",
442
+ name: "expiryTime",
443
+ type: "uint256",
444
+ },
445
+ {
446
+ internalType: "bool",
447
+ name: "isActive",
448
+ type: "bool",
449
+ },
450
+ ],
451
+ internalType: "struct OnBehalfTradingStructsV1.TradingPermission[]",
452
+ name: "permissionData",
453
+ type: "tuple[]",
454
+ },
455
+ ],
456
+ stateMutability: "view",
457
+ type: "function",
458
+ },
459
+ {
460
+ inputs: [
461
+ {
462
+ internalType: "address[]",
463
+ name: "tokensToQuery",
464
+ type: "address[]",
465
+ },
466
+ ],
467
+ name: "getContractConfiguration",
468
+ outputs: [
469
+ {
470
+ internalType: "bool",
471
+ name: "isPausedState",
472
+ type: "bool",
473
+ },
474
+ {
475
+ internalType: "uint256",
476
+ name: "maxDuration",
477
+ type: "uint256",
478
+ },
479
+ {
480
+ internalType: "uint256[]",
481
+ name: "tokenMaxAmounts",
482
+ type: "uint256[]",
483
+ },
484
+ {
485
+ internalType: "address",
486
+ name: "registryAddress",
487
+ type: "address",
488
+ },
489
+ {
490
+ internalType: "address",
491
+ name: "tradersPortalAddress",
492
+ type: "address",
493
+ },
494
+ ],
495
+ stateMutability: "view",
496
+ type: "function",
497
+ },
346
498
  {
347
499
  inputs: [],
348
500
  name: "getContractName",
@@ -426,6 +578,25 @@ const _abi = [
426
578
  stateMutability: "nonpayable",
427
579
  type: "function",
428
580
  },
581
+ {
582
+ inputs: [
583
+ {
584
+ internalType: "address",
585
+ name: "owner",
586
+ type: "address",
587
+ },
588
+ ],
589
+ name: "hasActivePermissions",
590
+ outputs: [
591
+ {
592
+ internalType: "bool",
593
+ name: "",
594
+ type: "bool",
595
+ },
596
+ ],
597
+ stateMutability: "view",
598
+ type: "function",
599
+ },
429
600
  {
430
601
  inputs: [],
431
602
  name: "isPaused",
@@ -733,6 +904,41 @@ const _abi = [
733
904
  stateMutability: "nonpayable",
734
905
  type: "function",
735
906
  },
907
+ {
908
+ inputs: [
909
+ {
910
+ components: [
911
+ {
912
+ internalType: "address",
913
+ name: "spender",
914
+ type: "address",
915
+ },
916
+ {
917
+ internalType: "address",
918
+ name: "token",
919
+ type: "address",
920
+ },
921
+ {
922
+ internalType: "uint256",
923
+ name: "amountLimit",
924
+ type: "uint256",
925
+ },
926
+ {
927
+ internalType: "uint256",
928
+ name: "duration",
929
+ type: "uint256",
930
+ },
931
+ ],
932
+ internalType: "struct OnBehalfTradingStructsV1.PermissionSettingPayload[]",
933
+ name: "settings",
934
+ type: "tuple[]",
935
+ },
936
+ ],
937
+ name: "setPermissions",
938
+ outputs: [],
939
+ stateMutability: "nonpayable",
940
+ type: "function",
941
+ },
736
942
  {
737
943
  inputs: [],
738
944
  name: "togglePause",
@@ -741,7 +947,7 @@ const _abi = [
741
947
  type: "function",
742
948
  },
743
949
  ];
744
- const _bytecode = "0x608060405262278d006003553480156200001857600080fd5b506040516200246c3803806200246c8339810160408190526200003b91620001cf565b600080546001600160a01b031916331790556001600160a01b0381166200009c5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f524547495354525960801b60448201526064015b60405180910390fd5b60405167526567697374727960c01b602082015260280160405160208183030381529060405280519060200120816001600160a01b031663f5f5ba726040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000108573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200013291908101906200023d565b604051602001620001449190620002f5565b6040516020818303038152906040528051906020012014620001a95760405162461bcd60e51b815260206004820152601560248201527f4e4f545f52454749535452595f434f4e54524143540000000000000000000000604482015260640162000093565b600280546001600160a01b0319166001600160a01b039290921691909117905562000313565b600060208284031215620001e257600080fd5b81516001600160a01b0381168114620001fa57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002345781810151838201526020016200021a565b50506000910152565b6000602082840312156200025057600080fd5b81516001600160401b03808211156200026857600080fd5b818401915084601f8301126200027d57600080fd5b81518181111562000292576200029262000201565b604051601f8201601f19908116603f01168101908382118183101715620002bd57620002bd62000201565b81604052828152876020848701011115620002d757600080fd5b620002ea83602083016020880162000217565b979650505050505050565b600082516200030981846020870162000217565b9190910192915050565b61214980620003236000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638aa10435116100f9578063ce3707b311610097578063ecd2475b11610071578063ecd2475b1461047e578063ede94e7514610491578063f5f5ba721461049a578063f851a440146104c757600080fd5b8063ce3707b314610443578063e0f3290214610463578063e9c714f21461047657600080fd5b8063b71d1a0c116100d3578063b71d1a0c146103e7578063b7c3a499146103fa578063c224696814610428578063c4ae31681461043b57600080fd5b80638aa10435146103a157806393edb316146103c0578063b187bd26146103d357600080fd5b8063614d08f8116101665780637816050f116101405780637816050f146103455780637b1039991461036857806381e6a99d1461037b5780638416f9b31461038e57600080fd5b8063614d08f8146102ef57806365b003271461031f578063780f15091461033257600080fd5b806326782247116101a2578063267822471461021757806338b903331461024257806345a05a1b1461027157806349836fad1461028457600080fd5b806312dfe61f146101c957806312f4fb4d146101de5780631e3b56d414610204575b600080fd5b6101dc6101d7366004611ae1565b6104da565b005b6101f16101ec366004611afe565b610536565b6040519081526020015b60405180910390f35b6101dc610212366004611b49565b610620565b60015461022a906001600160a01b031681565b6040516001600160a01b0390911681526020016101fb565b6102646040518060400160405280600381526020016203130360ec1b81525081565b6040516101fb9190611bce565b6101dc61027f366004611c69565b610706565b6102cd610292366004611afe565b600660209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff1684565b60408051948552602085019390935291830152151560608201526080016101fb565b610264604051806040016040528060118152602001704f6e426568616c6654726164696e67563160781b81525081565b6101dc61032d366004611cd5565b610901565b6101dc610340366004611d1b565b610c6b565b610358610353366004611afe565b610d20565b60405190151581526020016101fb565b60025461022a906001600160a01b031681565b6101dc610389366004611afe565b610de4565b6101dc61039c366004611d34565b610eb6565b60408051808201909152600381526203130360ec1b6020820152610264565b6101dc6103ce366004611c69565b611499565b60025461035890600160a01b900460ff1681565b6101dc6103f5366004611ae1565b61164b565b610358610408366004611d85565b600760209081526000928352604080842090915290825290205460ff1681565b6101dc610436366004611d85565b6116f3565b6101dc6117d8565b6101f1610451366004611ae1565b60046020526000908152604090205481565b610264610471366004611ae1565b611868565b6101dc611902565b6101dc61048c366004611dbe565b611a20565b6101f160035481565b6040805180820190915260118152704f6e426568616c6654726164696e67563160781b6020820152610264565b60005461022a906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b0386168085529252808320805460ff1916600117905551909183917fd6daf425f865371fa93382a17863784ebef5641f0f5dadcd34f76f3dd04da1f79190a35050565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff161561056e57506000610619565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830152806105f55750806040015142101580156105f55750600019816040015114155b15610604576000915050610619565b602081015181516106159190611e00565b9150505b9392505050565b6000546001600160a01b031633146106535760405162461bcd60e51b815260040161064a90611e19565b60405180910390fd5b6001600160a01b03831661069a5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b604482015260640161064a565b6001600160a01b03831660009081526005602052604090206106bd828483611ede565b50826001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac83836040516106f9929190611f9e565b60405180910390a2505050565b6000546001600160a01b031633146107305760405162461bcd60e51b815260040161064a90611e19565b8281146107775760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b604482015260640161064a565b60005b838110156108fa57600085858381811061079657610796611fcd565b90506020020160208101906107ab9190611ae1565b6001600160a01b0316036107f25760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b604482015260640161064a565b82828281811061080457610804611fcd565b90506020028101906108169190611fe3565b6005600088888681811061082c5761082c611fcd565b90506020020160208101906108419190611ae1565b6001600160a01b03168152602081019190915260400160002091610866919083611ede565b5084848281811061087957610879611fcd565b905060200201602081019061088e9190611ae1565b6001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac8484848181106108ca576108ca611fcd565b90506020028101906108dc9190611fe3565b6040516108ea929190611f9e565b60405180910390a260010161077a565b5050505050565b600254600160a01b900460ff16156109445760405162461bcd60e51b815260206004820152600660248201526514105554d15160d21b604482015260640161064a565b6001600160a01b0384166109905760405162461bcd60e51b81526020600482015260136024820152721253959053125117d4d55097d050d0d3d55395606a1b604482015260640161064a565b336001600160a01b038516036109df5760405162461bcd60e51b815260206004820152601460248201527321a0a72727aa2fa3a920a72a2faa27afa9a2a62360611b604482015260640161064a565b6001600160a01b038316610a055760405162461bcd60e51b815260040161064a9061202a565b600081118015610a1757506003548111155b610a565760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa22aa920aa24a7a760811b604482015260640161064a565b6001600160a01b03831660009081526004602052604090205433908315801590610a885750801580610a885750808411155b610acb5760405162461bcd60e51b81526020600482015260146024820152731253959053125117d05353d5539517d31253525560621b604482015260640161064a565b6001600160a01b038083166000908152600760209081526040808320938a168352929052205460ff1615610b115760405162461bcd60e51b815260040161064a90612051565b60006000198414610b2b57610b268442612088565b610b2f565b6000195b90506040518060800160405280868152602001600081526020018281526020016001151581525060066000856001600160a01b03166001600160a01b031681526020019081526020016000206000896001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550905050856001600160a01b0316876001600160a01b0316846001600160a01b03167f385eed2fa9dcc7c7bc2f348e2848dffb0f87b9400a6a291ab8caae1341a9d33c8885604051610c5a929190918252602082015260400190565b60405180910390a450505050505050565b6000546001600160a01b03163314610c955760405162461bcd60e51b815260040161064a90611e19565b60008111610ce55760405162461bcd60e51b815260206004820152601960248201527f4455524154494f4e5f4d5553545f42455f504f53495449564500000000000000604482015260640161064a565b60038190556040518181527f0240c0124750287c26072d862a93b7477b70c2790b8cda14d0f58838b152c54f9060200160405180910390a150565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff1615610d5857506000610619565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052906106155750806040015142108061061557506040015160001914949350505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff1615610e2a5760405162461bcd60e51b815260040161064a90612051565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff16610e7d5760405162461bcd60e51b815260040161064a9061209b565b60001981600201541480610e945750806002015442105b610eb05760405162461bcd60e51b815260040161064a906120ca565b50505050565b600254600160a01b900460ff1615610ef95760405162461bcd60e51b815260206004820152600660248201526514105554d15160d21b604482015260640161064a565b600260009054906101000a90046001600160a01b03166001600160a01b031663fab337046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7091906120f6565b6001600160a01b03163303611139576001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff1615610fc55760405162461bcd60e51b815260040161064a90612051565b6001600160a01b03808516600090815260066020908152604080832087851684528252808320938616835292905220600381015460ff166110185760405162461bcd60e51b815260040161064a9061209b565b6000198160020154148061102f5750806002015442105b61104b5760405162461bcd60e51b815260040161064a906120ca565b805460001911156110c75780546001820154611068908490612088565b11156110ad5760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b604482015260640161064a565b818160010160008282546110c19190612088565b90915550505b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc858560010154866000015461111b9190611e00565b6040805192835260208301919091520160405180910390a450610eb0565b336000908152600560205260408120805461115390611e53565b80601f016020809104026020016040519081016040528092919081815260200182805461117f90611e53565b80156111cc5780601f106111a1576101008083540402835291602001916111cc565b820191906000526020600020905b8154815290600101906020018083116111af57829003601f168201915b5050505050905060008151111561145b57600254604051632c652ce760e11b81526000916001600160a01b0316906358ca59ce9061120e908590600401611bce565b602060405180830381865afa15801561122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124f91906120f6565b9050336001600160a01b0382161461129f5760405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b604482015260640161064a565b6001600160a01b0380871660009081526007602090815260408083209389168352929052205460ff16156112e55760405162461bcd60e51b815260040161064a90612051565b6001600160a01b03808716600090815260066020908152604080832089851684528252808320938816835292905220600381015460ff166113385760405162461bcd60e51b815260040161064a9061209b565b6000198160020154148061134f5750806002015442105b61136b5760405162461bcd60e51b815260040161064a906120ca565b805460001911156113e75780546001820154611388908690612088565b11156113cd5760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b604482015260640161064a565b838160010160008282546113e19190612088565b90915550505b846001600160a01b0316866001600160a01b0316886001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc878560010154866000015461143b9190611e00565b6040805192835260208301919091520160405180910390a4505050610eb0565b60405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b604482015260640161064a565b6000546001600160a01b031633146114c35760405162461bcd60e51b815260040161064a90611e19565b82811461150a5760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b604482015260640161064a565b60005b838110156108fa57600085858381811061152957611529611fcd565b905060200201602081019061153e9190611ae1565b6001600160a01b0316036115645760405162461bcd60e51b815260040161064a9061202a565b82828281811061157657611576611fcd565b905060200201356004600087878581811061159357611593611fcd565b90506020020160208101906115a89190611ae1565b6001600160a01b031681526020810191909152604001600020558484828181106115d4576115d4611fcd565b90506020020160208101906115e99190611ae1565b6001600160a01b03167f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce38297384848481811061162557611625611fcd565b9050602002013560405161163b91815260200190565b60405180910390a260010161150d565b6000546001600160a01b031633146116915760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b604482015260640161064a565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b3360008181526007602090815260408083206001600160a01b038716845290915290205460ff16156117375760405162461bcd60e51b815260040161064a90612051565b6001600160a01b03808216600090815260066020908152604080832087851684528252808320938616835292905220600381015460ff1661178a5760405162461bcd60e51b815260040161064a9061209b565b60038101805460ff191690556040516001600160a01b0380851691868216918516907f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b90600090a450505050565b6000546001600160a01b031633146118025760405162461bcd60e51b815260040161064a90611e19565b6002805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517fda88b5dfaac55549d4ddddd43a09d4b911233df354952ebc9ac2041aa18534369361185e9390049091161515815260200190565b60405180910390a1565b6005602052600090815260409020805461188190611e53565b80601f01602080910402602001604051908101604052809291908181526020018280546118ad90611e53565b80156118fa5780601f106118cf576101008083540402835291602001916118fa565b820191906000526020600020905b8154815290600101906020018083116118dd57829003601f168201915b505050505081565b6001546001600160a01b03163314801561192657506001546001600160a01b031615155b6119725760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e0000604482015260640161064a565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991016116e7565b6000546001600160a01b03163314611a4a5760405162461bcd60e51b815260040161064a90611e19565b6001600160a01b038216611a705760405162461bcd60e51b815260040161064a9061202a565b6001600160a01b03821660008181526004602052604090819020839055517f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce38297390611abd9084815260200190565b60405180910390a25050565b6001600160a01b0381168114611ade57600080fd5b50565b600060208284031215611af357600080fd5b813561061981611ac9565b600080600060608486031215611b1357600080fd5b8335611b1e81611ac9565b92506020840135611b2e81611ac9565b91506040840135611b3e81611ac9565b809150509250925092565b600080600060408486031215611b5e57600080fd5b8335611b6981611ac9565b9250602084013567ffffffffffffffff80821115611b8657600080fd5b818601915086601f830112611b9a57600080fd5b813581811115611ba957600080fd5b876020828501011115611bbb57600080fd5b6020830194508093505050509250925092565b60006020808352835180602085015260005b81811015611bfc57858101830151858201604001528201611be0565b506000604082860101526040601f19601f8301168501019250505092915050565b60008083601f840112611c2f57600080fd5b50813567ffffffffffffffff811115611c4757600080fd5b6020830191508360208260051b8501011115611c6257600080fd5b9250929050565b60008060008060408587031215611c7f57600080fd5b843567ffffffffffffffff80821115611c9757600080fd5b611ca388838901611c1d565b90965094506020870135915080821115611cbc57600080fd5b50611cc987828801611c1d565b95989497509550505050565b60008060008060808587031215611ceb57600080fd5b8435611cf681611ac9565b93506020850135611d0681611ac9565b93969395505050506040820135916060013590565b600060208284031215611d2d57600080fd5b5035919050565b60008060008060808587031215611d4a57600080fd5b8435611d5581611ac9565b93506020850135611d6581611ac9565b92506040850135611d7581611ac9565b9396929550929360600135925050565b60008060408385031215611d9857600080fd5b8235611da381611ac9565b91506020830135611db381611ac9565b809150509250929050565b60008060408385031215611dd157600080fd5b8235611ddc81611ac9565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611e1357611e13611dea565b92915050565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680611e6757607f821691505b602082108103611e8757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115611ed9576000816000526020600020601f850160051c81016020861015611eb65750805b601f850160051c820191505b81811015611ed557828155600101611ec2565b5050505b505050565b67ffffffffffffffff831115611ef657611ef6611e3d565b611f0a83611f048354611e53565b83611e8d565b6000601f841160018114611f3e5760008515611f265750838201355b600019600387901b1c1916600186901b1783556108fa565b600083815260209020601f19861690835b82811015611f6f5786850135825560209485019460019092019101611f4f565b5086821015611f8c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112611ffa57600080fd5b83018035915067ffffffffffffffff82111561201557600080fd5b602001915036819003821315611c6257600080fd5b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b6020808252601f908201527f5355425f4143434f554e545f5045524d414e454e544c595f5245564f4b454400604082015260600190565b80820180821115611e1357611e13611dea565b6020808252601590820152745045524d495353494f4e5f4e4f545f41435449564560581b604082015260600190565b602080825260129082015271141154935254d4d253d397d156141254915160721b604082015260600190565b60006020828403121561210857600080fd5b815161061981611ac956fea26469706673582212205425905932a9bdf460d3f7a30dc7acb6d4962c0271337b8367e5602f391dd49864736f6c63430008180033";
950
+ const _bytecode = "0x608060405262278d006003553480156200001857600080fd5b5060405162003db138038062003db18339810160408190526200003b91620001cf565b600080546001600160a01b031916331790556001600160a01b0381166200009c5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f524547495354525960801b60448201526064015b60405180910390fd5b60405167526567697374727960c01b602082015260280160405160208183030381529060405280519060200120816001600160a01b031663f5f5ba726040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000108573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200013291908101906200023d565b604051602001620001449190620002f5565b6040516020818303038152906040528051906020012014620001a95760405162461bcd60e51b815260206004820152601560248201527f4e4f545f52454749535452595f434f4e54524143540000000000000000000000604482015260640162000093565b600280546001600160a01b0319166001600160a01b039290921691909117905562000313565b600060208284031215620001e257600080fd5b81516001600160a01b0381168114620001fa57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002345781810151838201526020016200021a565b50506000910152565b6000602082840312156200025057600080fd5b81516001600160401b03808211156200026857600080fd5b818401915084601f8301126200027d57600080fd5b81518181111562000292576200029262000201565b604051601f8201601f19908116603f01168101908382118183101715620002bd57620002bd62000201565b81604052828152876020848701011115620002d757600080fd5b620002ea83602083016020880162000217565b979650505050505050565b600082516200030981846020870162000217565b9190910192915050565b613a8e80620003236000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80638aa1043511610125578063c825e63a116100ad578063ecd2475b1161007c578063ecd2475b1461056a578063ede94e751461057d578063f5f5ba7214610586578063f851a440146105b3578063fca52146146105c657600080fd5b8063c825e63a1461050b578063ce3707b31461052f578063e0f329021461054f578063e9c714f21461056257600080fd5b8063b71d1a0c116100f4578063b71d1a0c1461049c578063b7c3a499146104af578063be89e269146104dd578063c2246968146104f0578063c4ae31681461050357600080fd5b80638aa104351461043657806393edb31614610455578063b04e7c4c14610468578063b187bd261461048857600080fd5b806349836fad116101a85780637816050f116101775780637816050f146103d75780637b103999146103ea57806381e6a99d146103fd5780638416f9b314610410578063899b1bff1461042357600080fd5b806349836fad14610316578063614d08f81461038157806365b00327146103b1578063780f1509146103c457600080fd5b806326782247116101e457806326782247146102865780632723619f146102b157806338b90333146102d457806345a05a1b1461030357600080fd5b806312dfe61f1461021657806312f4fb4d1461022b5780631b4d2cd1146102515780631e3b56d414610273575b600080fd5b610229610224366004613166565b6105d9565b005b61023e610239366004613183565b610796565b6040519081526020015b60405180910390f35b61026461025f366004613166565b610880565b60405161024893929190613213565b6102296102813660046132a2565b610cee565b600154610299906001600160a01b031681565b6040516001600160a01b039091168152602001610248565b6102c46102bf366004613166565b610dd4565b6040519015158152602001610248565b6102f66040518060400160405280600381526020016203130360ec1b81525081565b6040516102489190613326565b6102296103113660046133c0565b610f56565b61035f610324366004613183565b600660209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff1684565b6040805194855260208501939093529183015215156060820152608001610248565b6102f6604051806040016040528060118152602001704f6e426568616c6654726164696e67563160781b81525081565b6102296103bf36600461342b565b611151565b6102296103d2366004613471565b6111ba565b6102c46103e5366004613183565b61126f565b600254610299906001600160a01b031681565b61022961040b366004613183565b611344565b61022961041e36600461348a565b611416565b6102296104313660046134db565b6119e0565b60408051808201909152600381526203130360ec1b60208201526102f6565b6102296104633660046133c0565b611c86565b61047b61047636600461354f565b611e38565b6040516102489190613588565b6002546102c490600160a01b900460ff1681565b6102296104aa366004613166565b6120b8565b6102c46104bd36600461354f565b600760209081526000928352604080842090915290825290205460ff1681565b61023e6104eb366004613166565b612160565b6102296104fe36600461354f565b6122de565b6102296122ed565b61051e61051936600461359b565b61237d565b6040516102489594939291906135dc565b61023e61053d366004613166565b60046020526000908152604090205481565b6102f661055d366004613166565b6124ce565b610229612568565b610229610578366004613651565b612686565b61023e60035481565b6040805180820190915260118152704f6e426568616c6654726164696e67563160781b60208201526102f6565b600054610299906001600160a01b031681565b61047b6105d4366004613166565b61272f565b3360008181526007602090815260408083206001600160a01b03861684529091529020805460ff191660011790555b6001600160a01b038082166000908152600960209081526040808320938616835292905290812061063890612abd565b111561072f576001600160a01b038082166000908152600960209081526040808320938616835292905290812061066f9082612ac7565b6001600160a01b0380841660009081526006602090815260408083208885168452825280832093851683529290522060038101549192509060ff16156106f85760038101805460ff191690556040516001600160a01b0380841691868216918616907f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b90600090a45b6001600160a01b0380841660009081526009602090815260408083209388168352929052206107279083612ad3565b505050610608565b6001600160a01b03811660009081526008602052604090206107519083612ad3565b50816001600160a01b0316816001600160a01b03167fd6daf425f865371fa93382a17863784ebef5641f0f5dadcd34f76f3dd04da1f760405160405180910390a35050565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff16156107ce57506000610879565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830152806108555750806040015142101580156108555750600019816040015114155b15610864576000915050610879565b602081015181516108759190613693565b9150505b9392505050565b60608060606000806108b560086000886001600160a01b03166001600160a01b03168152602001908152602001600020612abd565b905060005b81811015610a09576001600160a01b03871660009081526008602052604081206108e49083612ac7565b6001600160a01b03808a16600090815260096020908152604080832093851683529290529081209192509061091890612abd565b905060005b818110156109fe576001600160a01b03808b16600090815260096020908152604080832093871683529290529081206109569083612ac7565b6001600160a01b03808d1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906109e15750600019816040015114806109e15750806040015142105b156109f457876109f0816136a6565b9850505b505060010161091d565b5050506001016108ba565b50816001600160401b03811115610a2257610a226136bf565b604051908082528060200260200182016040528015610a4b578160200160208202803683370190505b509450816001600160401b03811115610a6657610a666136bf565b604051908082528060200260200182016040528015610a8f578160200160208202803683370190505b509350816001600160401b03811115610aaa57610aaa6136bf565b604051908082528060200260200182016040528015610b0857816020015b610af560405180608001604052806000815260200160008152602001600081526020016000151581525090565b815260200190600190039081610ac85790505b5092506000805b82811015610ce3576001600160a01b0388166000908152600860205260408120610b399083612ac7565b6001600160a01b03808b166000908152600960209081526040808320938516835292905290812091925090610b6d90612abd565b905060005b81811015610cd8576001600160a01b03808c1660009081526009602090815260408083209387168352929052908120610bab9083612ac7565b6001600160a01b03808e1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610c36575060001981604001511480610c365750806040015142105b15610cce57848c8881518110610c4e57610c4e6136d5565b60200260200101906001600160a01b031690816001600160a01b031681525050818b8881518110610c8157610c816136d5565b60200260200101906001600160a01b031690816001600160a01b031681525050808a8881518110610cb457610cb46136d5565b60200260200101819052508680610cca906136a6565b9750505b5050600101610b72565b505050600101610b0f565b505050509193909250565b6000546001600160a01b03163314610d215760405162461bcd60e51b8152600401610d18906136eb565b60405180910390fd5b6001600160a01b038316610d685760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610d18565b6001600160a01b0383166000908152600560205260409020610d8b828483613791565b50826001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac8383604051610dc7929190613850565b60405180910390a2505050565b6001600160a01b03811660009081526008602052604081208190610df790612abd565b905060005b81811015610f4c576001600160a01b0384166000908152600860205260408120610e269083612ac7565b6001600160a01b038087166000908152600960209081526040808320938516835292905290812091925090610e5a90612abd565b905060005b81811015610f41576001600160a01b0380881660009081526009602090815260408083209387168352929052908120610e989083612ac7565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610f23575060001981604001511480610f235750806040015142105b15610f375750600198975050505050505050565b5050600101610e5f565b505050600101610dfc565b5060009392505050565b6000546001600160a01b03163314610f805760405162461bcd60e51b8152600401610d18906136eb565b828114610fc75760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b6044820152606401610d18565b60005b8381101561114a576000858583818110610fe657610fe66136d5565b9050602002016020810190610ffb9190613166565b6001600160a01b0316036110425760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610d18565b828282818110611054576110546136d5565b9050602002810190611066919061387f565b6005600088888681811061107c5761107c6136d5565b90506020020160208101906110919190613166565b6001600160a01b031681526020810191909152604001600020916110b6919083613791565b508484828181106110c9576110c96136d5565b90506020020160208101906110de9190613166565b6001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac84848481811061111a5761111a6136d5565b905060200281019061112c919061387f565b60405161113a929190613850565b60405180910390a2600101610fca565b5050505050565b600254600160a01b900460ff161561117b5760405162461bcd60e51b8152600401610d18906138c5565b604080516080810182526001600160a01b038087168252851660208201529081018390526060810182905233906111b28282612ae8565b505050505050565b6000546001600160a01b031633146111e45760405162461bcd60e51b8152600401610d18906136eb565b600081116112345760405162461bcd60e51b815260206004820152601960248201527f4455524154494f4e5f4d5553545f42455f504f534954495645000000000000006044820152606401610d18565b60038190556040518181527f0240c0124750287c26072d862a93b7477b70c2790b8cda14d0f58838b152c54f9060200160405180910390a150565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff16156112a757506000610879565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529061132d5750806040015142108061132d57506000198160400151145b801561087557506020810151905111949350505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff161561138a5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff166113dd5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806113f45750806002015442105b6114105760405162461bcd60e51b8152600401610d189061394b565b50505050565b600254600160a01b900460ff16156114405760405162461bcd60e51b8152600401610d18906138c5565b600260009054906101000a90046001600160a01b03166001600160a01b031663fab337046040518163ffffffff1660e01b8152600401602060405180830381865afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b79190613977565b6001600160a01b03163303611680576001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff161561150c5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808516600090815260066020908152604080832087851684528252808320938616835292905220600381015460ff1661155f5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806115765750806002015442105b6115925760405162461bcd60e51b8152600401610d189061394b565b8054600019111561160e57805460018201546115af908490613994565b11156115f45760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610d18565b818160010160008282546116089190613994565b90915550505b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc85856001015486600001546116629190613693565b6040805192835260208301919091520160405180910390a450611410565b336000908152600560205260408120805461169a9061370f565b80601f01602080910402602001604051908101604052809291908181526020018280546116c69061370f565b80156117135780601f106116e857610100808354040283529160200191611713565b820191906000526020600020905b8154815290600101906020018083116116f657829003601f168201915b505050505090506000815111156119a257600254604051632c652ce760e11b81526000916001600160a01b0316906358ca59ce90611755908590600401613326565b602060405180830381865afa158015611772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117969190613977565b9050336001600160a01b038216146117e65760405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610d18565b6001600160a01b0380871660009081526007602090815260408083209389168352929052205460ff161561182c5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808716600090815260066020908152604080832089851684528252808320938816835292905220600381015460ff1661187f5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806118965750806002015442105b6118b25760405162461bcd60e51b8152600401610d189061394b565b8054600019111561192e57805460018201546118cf908690613994565b11156119145760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610d18565b838160010160008282546119289190613994565b90915550505b846001600160a01b0316866001600160a01b0316886001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc87856001015486600001546119829190613693565b6040805192835260208301919091520160405180910390a4505050611410565b60405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610d18565b600254600160a01b900460ff1615611a0a5760405162461bcd60e51b8152600401610d18906138c5565b80611a4e5760405162461bcd60e51b8152602060048201526014602482015273454d5054595f53455454494e47535f415252415960601b6044820152606401610d18565b3360005b82811015611b96576000611a67826001613994565b90505b83811015611b8d57848482818110611a8457611a846136d5565b611a9a9260206080909202019081019150613166565b6001600160a01b0316858584818110611ab557611ab56136d5565b611acb9260206080909202019081019150613166565b6001600160a01b0316141580611b455750848482818110611aee57611aee6136d5565b9050608002016020016020810190611b069190613166565b6001600160a01b0316858584818110611b2157611b216136d5565b9050608002016020016020810190611b399190613166565b6001600160a01b031614155b611b855760405162461bcd60e51b81526020600482015260116024820152704455504c49434154455f53455454494e4760781b6044820152606401610d18565b600101611a6a565b50600101611a52565b5060005b8281101561141057838382818110611bb457611bb46136d5565b905060800201604001356000148015611be85750838382818110611bda57611bda6136d5565b905060800201606001356000145b15611c4d57611c4882858584818110611c0357611c036136d5565b611c199260206080909202019081019150613166565b868685818110611c2b57611c2b6136d5565b9050608002016020016020810190611c439190613166565b612e41565b611c7e565b611c7e82858584818110611c6357611c636136d5565b905060800201803603810190611c7991906139a7565b612ae8565b600101611b9a565b6000546001600160a01b03163314611cb05760405162461bcd60e51b8152600401610d18906136eb565b828114611cf75760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b6044820152606401610d18565b60005b8381101561114a576000858583818110611d1657611d166136d5565b9050602002016020810190611d2b9190613166565b6001600160a01b031603611d515760405162461bcd60e51b8152600401610d1890613a1b565b828282818110611d6357611d636136d5565b9050602002013560046000878785818110611d8057611d806136d5565b9050602002016020810190611d959190613166565b6001600160a01b03168152602081019190915260400160002055848482818110611dc157611dc16136d5565b9050602002016020810190611dd69190613166565b6001600160a01b03167f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce382973848484818110611e1257611e126136d5565b90506020020135604051611e2891815260200190565b60405180910390a2600101611cfa565b6001600160a01b038083166000908152600960209081526040808320938516835292905290812060609190611e6c90612abd565b90506000805b82811015611f53576001600160a01b0380871660009081526009602090815260408083209389168352929052908120611eab9083612ac7565b6001600160a01b0380891660009081526006602090815260408083208b85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190611f36575060001981604001511480611f365750806040015142105b15611f495783611f45816136a6565b9450505b5050600101611e72565b506000816001600160401b03811115611f6e57611f6e6136bf565b604051908082528060200260200182016040528015611f97578160200160208202803683370190505b5090506000805b848110156120aa576001600160a01b038089166000908152600960209081526040808320938b168352929052908120611fd79083612ac7565b6001600160a01b03808b1660009081526006602090815260408083208d85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906120625750600019816040015114806120625750806040015142105b156120a0578185858151811061207a5761207a6136d5565b6001600160a01b03909216602092830291909101909101528361209c816136a6565b9450505b5050600101611f9e565b509093505050505b92915050565b6000546001600160a01b031633146120fe5760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610d18565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6001600160a01b0381166000908152600860205260408120819061218390612abd565b905060005b818110156122d7576001600160a01b03841660009081526008602052604081206121b29083612ac7565b6001600160a01b0380871660009081526009602090815260408083209385168352929052908120919250906121e690612abd565b905060005b818110156122cc576001600160a01b03808816600090815260096020908152604080832093871683529290529081206122249083612ac7565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906122af5750600019816040015114806122af5750806040015142105b156122c257876122be816136a6565b9850505b50506001016121eb565b505050600101612188565b5050919050565b6122e9338383612e41565b5050565b6000546001600160a01b031633146123175760405162461bcd60e51b8152600401610d18906136eb565b6002805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517fda88b5dfaac55549d4ddddd43a09d4b911233df354952ebc9ac2041aa1853436936123739390049091161515815260200190565b60405180910390a1565b60025460035460408051633eaccdc160e21b8152905160ff600160a01b850416936060926001600160a01b0390911691600091839163fab33704916004808201926020929091908290030181865afa1580156123dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124019190613977565b9050856001600160401b0381111561241b5761241b6136bf565b604051908082528060200260200182016040528015612444578160200160208202803683370190505b50925060005b868110156124c35760046000898984818110612468576124686136d5565b905060200201602081019061247d9190613166565b6001600160a01b03166001600160a01b03168152602001908152602001600020548482815181106124b0576124b06136d5565b602090810291909101015260010161244a565b509295509295909350565b600560205260009081526040902080546124e79061370f565b80601f01602080910402602001604051908101604052809291908181526020018280546125139061370f565b80156125605780601f1061253557610100808354040283529160200191612560565b820191906000526020600020905b81548152906001019060200180831161254357829003601f168201915b505050505081565b6001546001600160a01b03163314801561258c57506001546001600160a01b031615155b6125d85760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e00006044820152606401610d18565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101612154565b6000546001600160a01b031633146126b05760405162461bcd60e51b8152600401610d18906136eb565b6001600160a01b0382166126d65760405162461bcd60e51b8152600401610d1890613a1b565b6001600160a01b03821660008181526004602052604090819020839055517f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce382973906127239084815260200190565b60405180910390a25050565b6001600160a01b03811660009081526008602052604081206060919061275490612abd565b90506000805b828110156128cb576001600160a01b03851660009081526008602052604081206127849083612ac7565b6001600160a01b0380881660009081526009602090815260408083209385168352929052908120919250906127b890612abd565b90506000805b82811080156127cb575081155b156128ab576001600160a01b03808a16600090815260096020908152604080832093881683529290529081206128019083612ac7565b6001600160a01b03808c1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830181905292935090919061288c57506000198160400151148061288c5750806040015142105b1561289657600193505b505080806128a3906136a6565b9150506127be565b5080156128c057846128bc816136a6565b9550505b50505060010161275a565b506000816001600160401b038111156128e6576128e66136bf565b60405190808252806020026020018201604052801561290f578160200160208202803683370190505b5090506000805b84811015612ab2576001600160a01b03871660009081526008602052604081206129409083612ac7565b6001600160a01b03808a16600090815260096020908152604080832093851683529290529081209192509061297490612abd565b90506000805b8281108015612987575081155b15612a67576001600160a01b03808c16600090815260096020908152604080832093881683529290529081206129bd9083612ac7565b6001600160a01b03808e1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190612a48575060001981604001511480612a485750806040015142105b15612a5257600193505b50508080612a5f906136a6565b91505061297a565b508015612aa75782868681518110612a8157612a816136d5565b6001600160a01b039092166020928302919091019091015284612aa3816136a6565b9550505b505050600101612916565b509095945050505050565b60006120b2825490565b60006108798383612eee565b6000610879836001600160a01b038416612f18565b80516001600160a01b0316612b355760405162461bcd60e51b81526020600482015260136024820152721253959053125117d4d55097d050d0d3d55395606a1b6044820152606401610d18565b80516001600160a01b03808416911603612b885760405162461bcd60e51b815260206004820152601460248201527321a0a72727aa2fa3a920a72a2faa27afa9a2a62360611b6044820152606401610d18565b60208101516001600160a01b0316612bb25760405162461bcd60e51b8152600401610d1890613a1b565b60008160600151118015612bcc5750600354816060015111155b612c0b5760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa22aa920aa24a7a760811b6044820152606401610d18565b6020808201516001600160a01b031660009081526004909152604090819020549082015115801590612c495750801580612c49575080826040015111155b612c8c5760405162461bcd60e51b81526020600482015260146024820152731253959053125117d05353d5539517d31253525560621b6044820152606401610d18565b6001600160a01b03808416600090815260076020908152604080832086519094168352929052205460ff1615612cd45760405162461bcd60e51b8152600401610d18906138e5565b6000600019836060015114612cf7576060830151612cf29042613994565b612cfb565b6000195b60408051608081018252858201518152600060208083018281528385018681526001606086018181526001600160a01b038d8116808852600687528988208e51831689528752898820878f015190921688529086528887209751885593519187019190915590516002860155516003909401805460ff19169415159490941790935587519282526008905291909120919250612d97919061300b565b506020808401516001600160a01b0380871660009081526009845260408082208851909316825291909352909120612dce9161300b565b5082602001516001600160a01b031683600001516001600160a01b0316856001600160a01b03167f385eed2fa9dcc7c7bc2f348e2848dffb0f87b9400a6a291ab8caae1341a9d33c866040015185604051612e33929190918252602082015260400190565b60405180910390a450505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff1615612e875760405162461bcd60e51b8152600401610d18906138e5565b612e92838383613020565b6001600160a01b038084166000908152600960209081526040808320938616835292905220612ec090612abd565b600003612ee9576001600160a01b03831660009081526008602052604090206114109083612ad3565b505050565b6000826000018281548110612f0557612f056136d5565b9060005260206000200154905092915050565b60008181526001830160205260408120548015613001576000612f3c600183613693565b8554909150600090612f5090600190613693565b9050808214612fb5576000866000018281548110612f7057612f706136d5565b9060005260206000200154905080876000018481548110612f9357612f936136d5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612fc657612fc6613a42565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506120b2565b60009150506120b2565b6000610879836001600160a01b0384166130ff565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff166130735760405162461bcd60e51b8152600401610d189061391c565b60038101805460ff191690556001600160a01b0380851660009081526009602090815260408083209387168352929052206130ae9083612ad3565b50816001600160a01b0316836001600160a01b0316856001600160a01b03167f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b60405160405180910390a450505050565b6000818152600183016020526040812054613146575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556120b2565b5060006120b2565b6001600160a01b038116811461316357600080fd5b50565b60006020828403121561317857600080fd5b81356108798161314e565b60008060006060848603121561319857600080fd5b83356131a38161314e565b925060208401356131b38161314e565b915060408401356131c38161314e565b809150509250925092565b60008151808452602080850194506020840160005b838110156132085781516001600160a01b0316875295820195908201906001016131e3565b509495945050505050565b6000606080835261322760608401876131ce565b60208482038186015261323a82886131ce565b9150604085830360408701528287518085528385019150838901945060005b81811015613292578551805184528581015186850152848101518585015287015115158784015294840194608090920191600101613259565b50909a9950505050505050505050565b6000806000604084860312156132b757600080fd5b83356132c28161314e565b925060208401356001600160401b03808211156132de57600080fd5b818601915086601f8301126132f257600080fd5b81358181111561330157600080fd5b87602082850101111561331357600080fd5b6020830194508093505050509250925092565b60006020808352835180602085015260005b8181101561335457858101830151858201604001528201613338565b506000604082860101526040601f19601f8301168501019250505092915050565b60008083601f84011261338757600080fd5b5081356001600160401b0381111561339e57600080fd5b6020830191508360208260051b85010111156133b957600080fd5b9250929050565b600080600080604085870312156133d657600080fd5b84356001600160401b03808211156133ed57600080fd5b6133f988838901613375565b9096509450602087013591508082111561341257600080fd5b5061341f87828801613375565b95989497509550505050565b6000806000806080858703121561344157600080fd5b843561344c8161314e565b9350602085013561345c8161314e565b93969395505050506040820135916060013590565b60006020828403121561348357600080fd5b5035919050565b600080600080608085870312156134a057600080fd5b84356134ab8161314e565b935060208501356134bb8161314e565b925060408501356134cb8161314e565b9396929550929360600135925050565b600080602083850312156134ee57600080fd5b82356001600160401b038082111561350557600080fd5b818501915085601f83011261351957600080fd5b81358181111561352857600080fd5b8660208260071b850101111561353d57600080fd5b60209290920196919550909350505050565b6000806040838503121561356257600080fd5b823561356d8161314e565b9150602083013561357d8161314e565b809150509250929050565b60208152600061087960208301846131ce565b600080602083850312156135ae57600080fd5b82356001600160401b038111156135c457600080fd5b6135d085828601613375565b90969095509350505050565b600060a082018715158352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156136275784518352938301939183019160010161360b565b50506001600160a01b03968716606086015294909516608090930192909252509095945050505050565b6000806040838503121561366457600080fd5b823561366f8161314e565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156120b2576120b261367d565b6000600182016136b8576136b861367d565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b600181811c9082168061372357607f821691505b60208210810361374357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115612ee9576000816000526020600020601f850160051c810160208610156137725750805b601f850160051c820191505b818110156111b25782815560010161377e565b6001600160401b038311156137a8576137a86136bf565b6137bc836137b6835461370f565b83613749565b6000601f8411600181146137f057600085156137d85750838201355b600019600387901b1c1916600186901b17835561114a565b600083815260209020601f19861690835b828110156138215786850135825560209485019460019092019101613801565b508682101561383e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6000808335601e1984360301811261389657600080fd5b8301803591506001600160401b038211156138b057600080fd5b6020019150368190038213156133b957600080fd5b60208082526006908201526514105554d15160d21b604082015260600190565b6020808252601f908201527f5355425f4143434f554e545f5045524d414e454e544c595f5245564f4b454400604082015260600190565b6020808252601590820152745045524d495353494f4e5f4e4f545f41435449564560581b604082015260600190565b602080825260129082015271141154935254d4d253d397d156141254915160721b604082015260600190565b60006020828403121561398957600080fd5b81516108798161314e565b808201808211156120b2576120b261367d565b6000608082840312156139b957600080fd5b604051608081018181106001600160401b03821117156139db576139db6136bf565b60405282356139e98161314e565b815260208301356139f98161314e565b6020820152604083810135908201526060928301359281019290925250919050565b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b634e487b7160e01b600052603160045260246000fdfea264697066735822122061006aef4d463308c94b811305c5e0d309b07afa628c5071e4df896ddcba579364736f6c63430008180033";
745
951
  const isSuperArgs = (xs) => xs.length > 1;
746
952
  class OnBehalfTradingV1__factory extends ethers_1.ContractFactory {
747
953
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class OrderBookV1__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): OrderBookV1__factory;
17
- static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561138e806100326000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c60da1b116100ad578063ad1f2b5611610071578063ad1f2b561461026c578063b71f3cfe14610274578063c608b6c11461027f578063e10b8c3214610292578063f851a440146102f257600080fd5b80635c60da1b1461021a578063627729791461022d5780637b1039991461024057806380193b2614610253578063aaf5eb681461025d57600080fd5b806326782247116100f4578063267822471461019f578063396f7b23146101b25780633ee0da0b146101c557806341cb9e8a146101da57806346662cc3146101fa57600080fd5b80630d3b0b7614610126578063164653cb146101565780631d504dc61461016b578063205a27021461017e575b600080fd5b600554610139906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101696101643660046110be565b610305565b005b6101696101793660046110be565b6104ab565b61019161018c3660046110e2565b61062d565b60405190815260200161014d565b600154610139906001600160a01b031681565b600354610139906001600160a01b031681565b6101cd61064e565b60405161014d91906110fb565b6101ed6101e8366004611165565b6106a6565b60405161014d91906111d9565b6101916102083660046110e2565b60066020526000908152604090205481565b600254610139906001600160a01b031681565b6101ed61023b36600461122a565b6109ca565b600454610139906001600160a01b031681565b610191620186a081565b610191670de0b6b3a764000081565b610191606481565b610191633b9aca0081565b6101ed61028d3660046110e2565b610cd2565b6102e16102a03660046110e2565b6008602052600090815260409020805460019091015460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041685565b60405161014d959493929190611277565b600054610139906001600160a01b031681565b6000546001600160a01b031633146103515760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064015b60405180910390fd5b6005546001600160a01b0316156103a05760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610348565b6001600160a01b0381166103ef5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610348565b806001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906112b4565b600480546001600160a01b039283166001600160a01b0319918216179091556005805492841692909116821790556040517f9fa41a04ac0a19651bc4c00e1a4ed1c9daf65fa71d49e5e0f2d9db734820fdb290600090a250565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d91906112b4565b6001600160a01b0316336001600160a01b0316146105815760405162461bcd60e51b815260206004820152602b60248201527f6f6e6c79204f72646572426f6f6b50726f78792061646d696e2063616e20636860448201526a616e676520627261696e7360a81b6064820152608401610348565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e591906112d1565b1561062a5760405162461bcd60e51b815260206004820152601560248201527418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610348565b50565b6007818154811061063d57600080fd5b600091825260209091200154905081565b6060600780548060200260200160405190810160405280929190818152602001828054801561069c57602002820191906000526020600020905b815481526020019060010190808311610688575b5050505050905090565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c91906112b4565b6001600160a01b0316336001600160a01b03161461078d5760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b60018360038111156107a1576107a16111a1565b14806107be575060028360038111156107bc576107bc6111a1565b145b6107fa5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008481526008602052604090206001015461010090046001600160401b0316156108675760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b61087084610f58565b60006040518060a00160405280868152602001856003811115610895576108956111a1565b8152602001426001600160401b03168152602001846001600160401b0316815260200160006001600160401b0316815250905080600860008781526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610910576109106111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555185907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b5906109ba9084906111d9565b60405180910390a2949350505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906112b4565b6001600160a01b0316336001600160a01b031614610ab15760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b6003846003811115610ac557610ac56111a1565b14610b025760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008581526008602052604090206001015461010090046001600160401b031615610b6f5760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b610b7885610f58565b60006040518060a00160405280878152602001866003811115610b9d57610b9d6111a1565b8152602001426001600160401b03168152602001856001600160401b03168152602001846001600160401b0316815250905080600860008881526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610c1757610c176111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555186907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b590610cc19084906111d9565b60405180910390a295945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906112b4565b6001600160a01b0316336001600160a01b03161480610e0257506004805460408051631eeec67760e21b815290516001600160a01b0390921692637bbb19dc9282820192602092908290030181865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded91906112b4565b6001600160a01b0316336001600160a01b0316145b610e4e5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610348565b600082815260086020908152604091829020825160a08101909352805483526001810154909183019060ff166003811115610e8b57610e8b6111a1565b6003811115610e9c57610e9c6111a1565b8152600191909101546001600160401b03610100820481166020840152600160481b82048116604080850191909152600160881b909204811660609093019290925282015191925016610f285760405162461bcd60e51b81526020600482015260146024820152732727afa9aaa1a42faaa82220aa22afa7a92222a960611b6044820152606401610348565b600082815260086020526040812090815560010180546001600160c81b0319169055610f5382610fb1565b919050565b60078054600180820183556000929092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810183905590610f9b908290611300565b6000928352600660205260409092209190915550565b60008181526006602052604090205460075460011015611044576007805460009190610fdf90600190611319565b81548110610fef57610fef61132c565b9060005260206000200154905082811461104257806007611011600185611319565b815481106110215761102161132c565b60009182526020808320909101929092558281526006909152604090208290555b505b600780548061105557611055611342565b6000828152602080822083016000199081018390559092019092558382526006905260408082208290555183917fdc961bc00efc04e7ea13e3994de643a8fd46b1553b0d6b812d676f3b846f77d791a25050565b6001600160a01b038116811461062a57600080fd5b6000602082840312156110d057600080fd5b81356110db816110a9565b9392505050565b6000602082840312156110f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561113357835183529284019291840191600101611117565b50909695505050505050565b803560048110610f5357600080fd5b80356001600160401b0381168114610f5357600080fd5b60008060006060848603121561117a57600080fd5b8335925061118a6020850161113f565b91506111986040850161114e565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b600481106111d557634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a08301916111f4908401826111b7565b5060408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b6000806000806080858703121561124057600080fd5b843593506112506020860161113f565b925061125e6040860161114e565b915061126c6060860161114e565b905092959194509250565b85815260a0810161128b60208301876111b7565b6001600160401b0394851660408301529284166060820152921660809092019190915292915050565b6000602082840312156112c657600080fd5b81516110db816110a9565b6000602082840312156112e357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611313576113136112ea565b92915050565b81810381811115611313576113136112ea565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e568238a963b4529c7d532697380e3c0ed0e2c9ac13aa6309f4929c66cc8321364736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561138e806100326000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c60da1b116100ad578063ad1f2b5611610071578063ad1f2b561461026c578063b71f3cfe14610274578063c608b6c11461027f578063e10b8c3214610292578063f851a440146102f257600080fd5b80635c60da1b1461021a578063627729791461022d5780637b1039991461024057806380193b2614610253578063aaf5eb681461025d57600080fd5b806326782247116100f4578063267822471461019f578063396f7b23146101b25780633ee0da0b146101c557806341cb9e8a146101da57806346662cc3146101fa57600080fd5b80630d3b0b7614610126578063164653cb146101565780631d504dc61461016b578063205a27021461017e575b600080fd5b600554610139906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101696101643660046110be565b610305565b005b6101696101793660046110be565b6104ab565b61019161018c3660046110e2565b61062d565b60405190815260200161014d565b600154610139906001600160a01b031681565b600354610139906001600160a01b031681565b6101cd61064e565b60405161014d91906110fb565b6101ed6101e8366004611165565b6106a6565b60405161014d91906111d9565b6101916102083660046110e2565b60066020526000908152604090205481565b600254610139906001600160a01b031681565b6101ed61023b36600461122a565b6109ca565b600454610139906001600160a01b031681565b610191620186a081565b610191670de0b6b3a764000081565b610191606481565b610191633b9aca0081565b6101ed61028d3660046110e2565b610cd2565b6102e16102a03660046110e2565b6008602052600090815260409020805460019091015460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041685565b60405161014d959493929190611277565b600054610139906001600160a01b031681565b6000546001600160a01b031633146103515760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064015b60405180910390fd5b6005546001600160a01b0316156103a05760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610348565b6001600160a01b0381166103ef5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610348565b806001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906112b4565b600480546001600160a01b039283166001600160a01b0319918216179091556005805492841692909116821790556040517f9fa41a04ac0a19651bc4c00e1a4ed1c9daf65fa71d49e5e0f2d9db734820fdb290600090a250565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d91906112b4565b6001600160a01b0316336001600160a01b0316146105815760405162461bcd60e51b815260206004820152602b60248201527f6f6e6c79204f72646572426f6f6b50726f78792061646d696e2063616e20636860448201526a616e676520627261696e7360a81b6064820152608401610348565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e591906112d1565b1561062a5760405162461bcd60e51b815260206004820152601560248201527418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610348565b50565b6007818154811061063d57600080fd5b600091825260209091200154905081565b6060600780548060200260200160405190810160405280929190818152602001828054801561069c57602002820191906000526020600020905b815481526020019060010190808311610688575b5050505050905090565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c91906112b4565b6001600160a01b0316336001600160a01b03161461078d5760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b60018360038111156107a1576107a16111a1565b14806107be575060028360038111156107bc576107bc6111a1565b145b6107fa5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008481526008602052604090206001015461010090046001600160401b0316156108675760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b61087084610f58565b60006040518060a00160405280868152602001856003811115610895576108956111a1565b8152602001426001600160401b03168152602001846001600160401b0316815260200160006001600160401b0316815250905080600860008781526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610910576109106111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555185907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b5906109ba9084906111d9565b60405180910390a2949350505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906112b4565b6001600160a01b0316336001600160a01b031614610ab15760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b6003846003811115610ac557610ac56111a1565b14610b025760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008581526008602052604090206001015461010090046001600160401b031615610b6f5760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b610b7885610f58565b60006040518060a00160405280878152602001866003811115610b9d57610b9d6111a1565b8152602001426001600160401b03168152602001856001600160401b03168152602001846001600160401b0316815250905080600860008881526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610c1757610c176111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555186907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b590610cc19084906111d9565b60405180910390a295945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906112b4565b6001600160a01b0316336001600160a01b03161480610e0257506004805460408051631eeec67760e21b815290516001600160a01b0390921692637bbb19dc9282820192602092908290030181865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded91906112b4565b6001600160a01b0316336001600160a01b0316145b610e4e5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610348565b600082815260086020908152604091829020825160a08101909352805483526001810154909183019060ff166003811115610e8b57610e8b6111a1565b6003811115610e9c57610e9c6111a1565b8152600191909101546001600160401b03610100820481166020840152600160481b82048116604080850191909152600160881b909204811660609093019290925282015191925016610f285760405162461bcd60e51b81526020600482015260146024820152732727afa9aaa1a42faaa82220aa22afa7a92222a960611b6044820152606401610348565b600082815260086020526040812090815560010180546001600160c81b0319169055610f5382610fb1565b919050565b60078054600180820183556000929092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810183905590610f9b908290611300565b6000928352600660205260409092209190915550565b60008181526006602052604090205460075460011015611044576007805460009190610fdf90600190611319565b81548110610fef57610fef61132c565b9060005260206000200154905082811461104257806007611011600185611319565b815481106110215761102161132c565b60009182526020808320909101929092558281526006909152604090208290555b505b600780548061105557611055611342565b6000828152602080822083016000199081018390559092019092558382526006905260408082208290555183917fdc961bc00efc04e7ea13e3994de643a8fd46b1553b0d6b812d676f3b846f77d791a25050565b6001600160a01b038116811461062a57600080fd5b6000602082840312156110d057600080fd5b81356110db816110a9565b9392505050565b6000602082840312156110f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561113357835183529284019291840191600101611117565b50909695505050505050565b803560048110610f5357600080fd5b80356001600160401b0381168114610f5357600080fd5b60008060006060848603121561117a57600080fd5b8335925061118a6020850161113f565b91506111986040850161114e565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b600481106111d557634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a08301916111f4908401826111b7565b5060408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b6000806000806080858703121561124057600080fd5b843593506112506020860161113f565b925061125e6040860161114e565b915061126c6060860161114e565b905092959194509250565b85815260a0810161128b60208301876111b7565b6001600160401b0394851660408301529284166060820152921660809092019190915292915050565b6000602082840312156112c657600080fd5b81516110db816110a9565b6000602082840312156112e357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611313576113136112ea565b92915050565b81810381811115611313576113136112ea565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212205c9dbd9f1ff8884c748dfcec10f3eb14f2fca06cbc4d3028d9ecad1eb7de99d464736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly anonymous: false;
20
20
  readonly inputs: readonly [{
@@ -507,7 +507,7 @@ const _abi = [
507
507
  type: "function",
508
508
  },
509
509
  ];
510
- const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561138e806100326000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c60da1b116100ad578063ad1f2b5611610071578063ad1f2b561461026c578063b71f3cfe14610274578063c608b6c11461027f578063e10b8c3214610292578063f851a440146102f257600080fd5b80635c60da1b1461021a578063627729791461022d5780637b1039991461024057806380193b2614610253578063aaf5eb681461025d57600080fd5b806326782247116100f4578063267822471461019f578063396f7b23146101b25780633ee0da0b146101c557806341cb9e8a146101da57806346662cc3146101fa57600080fd5b80630d3b0b7614610126578063164653cb146101565780631d504dc61461016b578063205a27021461017e575b600080fd5b600554610139906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101696101643660046110be565b610305565b005b6101696101793660046110be565b6104ab565b61019161018c3660046110e2565b61062d565b60405190815260200161014d565b600154610139906001600160a01b031681565b600354610139906001600160a01b031681565b6101cd61064e565b60405161014d91906110fb565b6101ed6101e8366004611165565b6106a6565b60405161014d91906111d9565b6101916102083660046110e2565b60066020526000908152604090205481565b600254610139906001600160a01b031681565b6101ed61023b36600461122a565b6109ca565b600454610139906001600160a01b031681565b610191620186a081565b610191670de0b6b3a764000081565b610191606481565b610191633b9aca0081565b6101ed61028d3660046110e2565b610cd2565b6102e16102a03660046110e2565b6008602052600090815260409020805460019091015460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041685565b60405161014d959493929190611277565b600054610139906001600160a01b031681565b6000546001600160a01b031633146103515760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064015b60405180910390fd5b6005546001600160a01b0316156103a05760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610348565b6001600160a01b0381166103ef5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610348565b806001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906112b4565b600480546001600160a01b039283166001600160a01b0319918216179091556005805492841692909116821790556040517f9fa41a04ac0a19651bc4c00e1a4ed1c9daf65fa71d49e5e0f2d9db734820fdb290600090a250565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d91906112b4565b6001600160a01b0316336001600160a01b0316146105815760405162461bcd60e51b815260206004820152602b60248201527f6f6e6c79204f72646572426f6f6b50726f78792061646d696e2063616e20636860448201526a616e676520627261696e7360a81b6064820152608401610348565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e591906112d1565b1561062a5760405162461bcd60e51b815260206004820152601560248201527418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610348565b50565b6007818154811061063d57600080fd5b600091825260209091200154905081565b6060600780548060200260200160405190810160405280929190818152602001828054801561069c57602002820191906000526020600020905b815481526020019060010190808311610688575b5050505050905090565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c91906112b4565b6001600160a01b0316336001600160a01b03161461078d5760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b60018360038111156107a1576107a16111a1565b14806107be575060028360038111156107bc576107bc6111a1565b145b6107fa5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008481526008602052604090206001015461010090046001600160401b0316156108675760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b61087084610f58565b60006040518060a00160405280868152602001856003811115610895576108956111a1565b8152602001426001600160401b03168152602001846001600160401b0316815260200160006001600160401b0316815250905080600860008781526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610910576109106111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555185907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b5906109ba9084906111d9565b60405180910390a2949350505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906112b4565b6001600160a01b0316336001600160a01b031614610ab15760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b6003846003811115610ac557610ac56111a1565b14610b025760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008581526008602052604090206001015461010090046001600160401b031615610b6f5760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b610b7885610f58565b60006040518060a00160405280878152602001866003811115610b9d57610b9d6111a1565b8152602001426001600160401b03168152602001856001600160401b03168152602001846001600160401b0316815250905080600860008881526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610c1757610c176111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555186907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b590610cc19084906111d9565b60405180910390a295945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906112b4565b6001600160a01b0316336001600160a01b03161480610e0257506004805460408051631eeec67760e21b815290516001600160a01b0390921692637bbb19dc9282820192602092908290030181865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded91906112b4565b6001600160a01b0316336001600160a01b0316145b610e4e5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610348565b600082815260086020908152604091829020825160a08101909352805483526001810154909183019060ff166003811115610e8b57610e8b6111a1565b6003811115610e9c57610e9c6111a1565b8152600191909101546001600160401b03610100820481166020840152600160481b82048116604080850191909152600160881b909204811660609093019290925282015191925016610f285760405162461bcd60e51b81526020600482015260146024820152732727afa9aaa1a42faaa82220aa22afa7a92222a960611b6044820152606401610348565b600082815260086020526040812090815560010180546001600160c81b0319169055610f5382610fb1565b919050565b60078054600180820183556000929092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810183905590610f9b908290611300565b6000928352600660205260409092209190915550565b60008181526006602052604090205460075460011015611044576007805460009190610fdf90600190611319565b81548110610fef57610fef61132c565b9060005260206000200154905082811461104257806007611011600185611319565b815481106110215761102161132c565b60009182526020808320909101929092558281526006909152604090208290555b505b600780548061105557611055611342565b6000828152602080822083016000199081018390559092019092558382526006905260408082208290555183917fdc961bc00efc04e7ea13e3994de643a8fd46b1553b0d6b812d676f3b846f77d791a25050565b6001600160a01b038116811461062a57600080fd5b6000602082840312156110d057600080fd5b81356110db816110a9565b9392505050565b6000602082840312156110f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561113357835183529284019291840191600101611117565b50909695505050505050565b803560048110610f5357600080fd5b80356001600160401b0381168114610f5357600080fd5b60008060006060848603121561117a57600080fd5b8335925061118a6020850161113f565b91506111986040850161114e565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b600481106111d557634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a08301916111f4908401826111b7565b5060408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b6000806000806080858703121561124057600080fd5b843593506112506020860161113f565b925061125e6040860161114e565b915061126c6060860161114e565b905092959194509250565b85815260a0810161128b60208301876111b7565b6001600160401b0394851660408301529284166060820152921660809092019190915292915050565b6000602082840312156112c657600080fd5b81516110db816110a9565b6000602082840312156112e357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611313576113136112ea565b92915050565b81810381811115611313576113136112ea565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e568238a963b4529c7d532697380e3c0ed0e2c9ac13aa6309f4929c66cc8321364736f6c63430008180033";
510
+ const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561138e806100326000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c60da1b116100ad578063ad1f2b5611610071578063ad1f2b561461026c578063b71f3cfe14610274578063c608b6c11461027f578063e10b8c3214610292578063f851a440146102f257600080fd5b80635c60da1b1461021a578063627729791461022d5780637b1039991461024057806380193b2614610253578063aaf5eb681461025d57600080fd5b806326782247116100f4578063267822471461019f578063396f7b23146101b25780633ee0da0b146101c557806341cb9e8a146101da57806346662cc3146101fa57600080fd5b80630d3b0b7614610126578063164653cb146101565780631d504dc61461016b578063205a27021461017e575b600080fd5b600554610139906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101696101643660046110be565b610305565b005b6101696101793660046110be565b6104ab565b61019161018c3660046110e2565b61062d565b60405190815260200161014d565b600154610139906001600160a01b031681565b600354610139906001600160a01b031681565b6101cd61064e565b60405161014d91906110fb565b6101ed6101e8366004611165565b6106a6565b60405161014d91906111d9565b6101916102083660046110e2565b60066020526000908152604090205481565b600254610139906001600160a01b031681565b6101ed61023b36600461122a565b6109ca565b600454610139906001600160a01b031681565b610191620186a081565b610191670de0b6b3a764000081565b610191606481565b610191633b9aca0081565b6101ed61028d3660046110e2565b610cd2565b6102e16102a03660046110e2565b6008602052600090815260409020805460019091015460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041685565b60405161014d959493929190611277565b600054610139906001600160a01b031681565b6000546001600160a01b031633146103515760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b60448201526064015b60405180910390fd5b6005546001600160a01b0316156103a05760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610348565b6001600160a01b0381166103ef5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610348565b806001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906112b4565b600480546001600160a01b039283166001600160a01b0319918216179091556005805492841692909116821790556040517f9fa41a04ac0a19651bc4c00e1a4ed1c9daf65fa71d49e5e0f2d9db734820fdb290600090a250565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d91906112b4565b6001600160a01b0316336001600160a01b0316146105815760405162461bcd60e51b815260206004820152602b60248201527f6f6e6c79204f72646572426f6f6b50726f78792061646d696e2063616e20636860448201526a616e676520627261696e7360a81b6064820152608401610348565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e591906112d1565b1561062a5760405162461bcd60e51b815260206004820152601560248201527418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610348565b50565b6007818154811061063d57600080fd5b600091825260209091200154905081565b6060600780548060200260200160405190810160405280929190818152602001828054801561069c57602002820191906000526020600020905b815481526020019060010190808311610688575b5050505050905090565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c91906112b4565b6001600160a01b0316336001600160a01b03161461078d5760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b60018360038111156107a1576107a16111a1565b14806107be575060028360038111156107bc576107bc6111a1565b145b6107fa5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008481526008602052604090206001015461010090046001600160401b0316156108675760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b61087084610f58565b60006040518060a00160405280868152602001856003811115610895576108956111a1565b8152602001426001600160401b03168152602001846001600160401b0316815260200160006001600160401b0316815250905080600860008781526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610910576109106111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555185907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b5906109ba9084906111d9565b60405180910390a2949350505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906112b4565b6001600160a01b0316336001600160a01b031614610ab15760405162461bcd60e51b815260206004820152600e60248201526d08551c9859195c9cd41bdc9d185b60921b6044820152606401610348565b6003846003811115610ac557610ac56111a1565b14610b025760405162461bcd60e51b815260206004820152600d60248201526c1393d517d4d5541413d4951151609a1b6044820152606401610348565b60008581526008602052604090206001015461010090046001600160401b031615610b6f5760405162461bcd60e51b815260206004820152601d60248201527f5550444154455f4f524445525f4558495354535f464f525f54524144450000006044820152606401610348565b610b7885610f58565b60006040518060a00160405280878152602001866003811115610b9d57610b9d6111a1565b8152602001426001600160401b03168152602001856001600160401b03168152602001846001600160401b0316815250905080600860008881526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff02191690836003811115610c1757610c176111a1565b021790555060408281015160019290920180546060850151608090950151610100600160881b03199091166101006001600160401b039586160267ffffffffffffffff60481b191617600160481b958516959095029490941767ffffffffffffffff60881b1916600160881b93909416929092029290921790555186907f85ca03537f44b93d21d72508218f30c63cca1c8cbfc2e354429f5943036f27b590610cc19084906111d9565b60405180910390a295945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526004805460408051633eaccdc160e21b815290516001600160a01b039092169263fab337049282820192602092908290030181865afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906112b4565b6001600160a01b0316336001600160a01b03161480610e0257506004805460408051631eeec67760e21b815290516001600160a01b0390921692637bbb19dc9282820192602092908290030181865afa158015610dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ded91906112b4565b6001600160a01b0316336001600160a01b0316145b610e4e5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610348565b600082815260086020908152604091829020825160a08101909352805483526001810154909183019060ff166003811115610e8b57610e8b6111a1565b6003811115610e9c57610e9c6111a1565b8152600191909101546001600160401b03610100820481166020840152600160481b82048116604080850191909152600160881b909204811660609093019290925282015191925016610f285760405162461bcd60e51b81526020600482015260146024820152732727afa9aaa1a42faaa82220aa22afa7a92222a960611b6044820152606401610348565b600082815260086020526040812090815560010180546001600160c81b0319169055610f5382610fb1565b919050565b60078054600180820183556000929092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810183905590610f9b908290611300565b6000928352600660205260409092209190915550565b60008181526006602052604090205460075460011015611044576007805460009190610fdf90600190611319565b81548110610fef57610fef61132c565b9060005260206000200154905082811461104257806007611011600185611319565b815481106110215761102161132c565b60009182526020808320909101929092558281526006909152604090208290555b505b600780548061105557611055611342565b6000828152602080822083016000199081018390559092019092558382526006905260408082208290555183917fdc961bc00efc04e7ea13e3994de643a8fd46b1553b0d6b812d676f3b846f77d791a25050565b6001600160a01b038116811461062a57600080fd5b6000602082840312156110d057600080fd5b81356110db816110a9565b9392505050565b6000602082840312156110f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561113357835183529284019291840191600101611117565b50909695505050505050565b803560048110610f5357600080fd5b80356001600160401b0381168114610f5357600080fd5b60008060006060848603121561117a57600080fd5b8335925061118a6020850161113f565b91506111986040850161114e565b90509250925092565b634e487b7160e01b600052602160045260246000fd5b600481106111d557634e487b7160e01b600052602160045260246000fd5b9052565b8151815260208083015160a08301916111f4908401826111b7565b5060408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b6000806000806080858703121561124057600080fd5b843593506112506020860161113f565b925061125e6040860161114e565b915061126c6060860161114e565b905092959194509250565b85815260a0810161128b60208301876111b7565b6001600160401b0394851660408301529284166060820152921660809092019190915292915050565b6000602082840312156112c657600080fd5b81516110db816110a9565b6000602082840312156112e357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611313576113136112ea565b92915050565b81810381811115611313576113136112ea565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212205c9dbd9f1ff8884c748dfcec10f3eb14f2fca06cbc4d3028d9ecad1eb7de99d464736f6c63430008180033";
511
511
  const isSuperArgs = (xs) => xs.length > 1;
512
512
  class OrderBookV1__factory extends ethers_1.ContractFactory {
513
513
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class RegistryV1__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RegistryV1__factory;
17
- static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055612597806100326000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636fad7860116101de578063aa3e63591161010f578063d466a021116100ad578063f5f5ba721161007c578063f5f5ba7214610894578063f83d08ba146108b8578063f851a440146108c0578063fab33704146108d357600080fd5b8063d466a02114610828578063e1f234511461083b578063f4865dd51461084e578063f5adc4fd1461087157600080fd5b8063b49198b3116100e9578063b49198b3146107e6578063c0e636b2146107ef578063c62777c514610802578063c73704dc1461081557600080fd5b8063aa3e63591461078c578063ad0a930d146107c0578063adb22590146107d357600080fd5b806393a5dd1b1161017c578063a2b9cedd11610156578063a2b9cedd1461072a578063a5a2ed371461073d578063a8487bcf14610750578063a8e36e5b1461076357600080fd5b806393a5dd1b146106db5780639a1598c8146106ee5780639c9f88651461070157600080fd5b8063776af5ba116101b8578063776af5ba146106825780637896f649146106955780637bbb19dc146106a85780638aa10435146106bb57600080fd5b80636fad786014610649578063731aa5f91461065c578063760ef0721461066f57600080fd5b806338b90333116102b857806358ca59ce11610256578063614d08f811610230578063614d08f8146105ce578063631e6d38146105f557806367e6508114610608578063695660aa1461063657600080fd5b806358ca59ce146105955780635c60da1b146105a85780635cecd5ff146105bb57600080fd5b8063419a519311610292578063419a51931461053e5780634971e256146105515780634e24b565146105645780635029a8e61461056c57600080fd5b806338b90333146104f3578063396f7b231461052357806340da020f1461053657600080fd5b8063267822471161032557806333829b66116102ff57806333829b66146104a75780633397432b146104ba57806333e1354d146104cd578063372e2470146104e057600080fd5b8063267822471461046e57806327c7ff291461048157806330fbdfe11461049457600080fd5b80631d504dc6116103615780631d504dc6146104125780631e586943146104255780631eb405781461044857806323cb030e1461045b57600080fd5b80630764ca6a14610388578063166b97541461039d5780631a254268146103c6575b600080fd5b61039b610396366004612054565b6108e6565b005b6103b06103ab3660046120e3565b6109cd565b6040516103bd9190612107565b60405180910390f35b6103fa6103d4366004612154565b60136020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016103bd565b61039b6104203660046120e3565b610a43565b610438610433366004612180565b610b91565b60405190151581526020016103bd565b61039b6104563660046120e3565b610bfb565b6103fa610469366004612154565b610c7e565b6001546103fa906001600160a01b031681565b61039b61048f3660046121b0565b610cb6565b61039b6104a23660046120e3565b611290565b61039b6104b53660046121b0565b611318565b6016546103fa906001600160a01b031681565b6103fa6104db3660046121de565b611350565b6010546103fa906001600160a01b031681565b610516604051806040016040528060048152602001630313031360e41b81525081565b6040516103bd919061221b565b6003546103fa906001600160a01b031681565b61039b611361565b61043861054c3660046120e3565b6113ba565b6103fa61055f366004612290565b611401565b6103b0611459565b6103fa61057a3660046120e3565b6014602052600090815260409020546001600160a01b031681565b6103fa6105a33660046122e5565b6114bb565b6002546103fa906001600160a01b031681565b6011546103fa906001600160a01b031681565b61051660405180604001604052806008815260200167526567697374727960c01b81525081565b61039b610603366004612327565b611507565b6106286106163660046121de565b60066020526000908152604090205481565b6040519081526020016103bd565b6015546103fa906001600160a01b031681565b61039b6106573660046120e3565b611541565b61043861066a3660046120e3565b6115e5565b61039b61067d366004612360565b611615565b600d546103fa906001600160a01b031681565b6103fa6106a33660046122e5565b611687565b600f546103fa906001600160a01b031681565b6040805180820190915260048152630313031360e41b6020820152610516565b61039b6106e93660046120e3565b6116c6565b61039b6106fc3660046120e3565b611730565b6103fa61070f3660046121de565b600c602052600090815260409020546001600160a01b031681565b61039b6107383660046120e3565b6117b4565b61043861074b3660046120e3565b611827565b6004546103fa906001600160a01b031681565b6103fa6107713660046120e3565b600b602052600090815260409020546001600160a01b031681565b6103fa61079a3660046123c8565b60076020908152600092835260408084209091529082529020546001600160a01b031681565b61039b6107ce3660046123ea565b611857565b61039b6107e13660046120e3565b61192c565b6106286103e881565b6103fa6107fd3660046121de565b6119e2565b6012546103fa906001600160a01b031681565b61039b6108233660046120e3565b611a0c565b61039b6108363660046120e3565b611a73565b61039b6108493660046121b0565b611add565b61043861085c3660046120e3565b60056020526000908152604090205460ff1681565b61043861087f3660046120e3565b60086020526000908152604090205460ff1681565b604080518082019091526008815267526567697374727960c01b6020820152610516565b61039b611b5e565b6000546103fa906001600160a01b031681565b600e546103fa906001600160a01b031681565b6000546001600160a01b031633146109195760405162461bcd60e51b815260040161091090612436565b60405180910390fd5b82811461095d5760405162461bcd60e51b8152602060048201526012602482015271417272617973206d75737420626520313a3160701b6044820152606401610910565b60005b838110156109c557600085858381811061097c5761097c61245a565b90506020020135905060008484848181106109995761099961245a565b90506020020160208101906109ae91906120e3565b90506109bb888383611c09565b5050600101610960565b505050505050565b6001600160a01b0381166000908152600a6020908152604091829020805483518184028101840190945280845260609392830182828015610a3757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a19575b50505050509050919050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa59190612470565b6001600160a01b0316336001600160a01b031614610af45760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610910565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061248d565b15610b8e5760405162461bcd60e51b81526004016109109060208082526004908201526319985a5b60e21b604082015260600190565b50565b60006001600160a01b038216610bd85760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610910565b6000610be384611d30565b6001600160a01b039081169084161491505092915050565b6000546001600160a01b03163314610c255760405162461bcd60e51b815260040161091090612436565b600f54604080518082019091526008815267747269676765727360c01b6020820152610c5c916001600160a01b0316908390611d5f565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020528160005260406000208181548110610c9a57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6001600160a01b03821615801590610cd657506001600160a01b03811615155b610d1b5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610910565b6001600160a01b03821660009081526008602052604090205460ff16610d835760405162461bcd60e51b815260206004820152601960248201527f554e535550504f525445445f54524144494e475f464c4f4f52000000000000006044820152606401610910565b6000816001600160a01b031663c12d636b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190612470565b90506000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4d9190612470565b9050826001600160a01b0316826001600160a01b031663fb56c48f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190612470565b6001600160a01b031614610f055760405162461bcd60e51b81526020600482015260116024820152700988ab0bea09e9e98be9a92a69a82a8869607b1b6044820152606401610910565b60155460405162dd699960e71b81526001600160a01b0383811660048301526000921690636eb4cc80906024016040805180830381865afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7291906124a6565b9050836001600160a01b031681600001516001600160a01b031614610fd15760405162461bcd60e51b815260206004820152601560248201527415539055551213d49256915117d3115617d413d3d3605a1b6044820152606401610910565b826001600160a01b031681602001516001600160a01b0316146110365760405162461bcd60e51b815260206004820152601c60248201527f554e415554484f52495a45445f504f4f4c5f4143434f554e54414e54000000006044820152606401610910565b60165460405163581a7f5760e11b81526001600160a01b0384811660048301529091169063b034feae90602401602060405180830381865afa158015611080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a49190612513565b6110e45760405162461bcd60e51b81526020600482015260116024820152700554e415554484f52495a45445f4348495607c1b6044820152606401610910565b6001600160a01b0384811660008181526005602090815260408083208054600160ff1990911681179091558a8616808552600a84528285208054928301815585529290932090920180546001600160a01b03191687861690811790915591516351512f5360e11b81526004810192909252602482019290925291851660448301529063a2a25ea690606401600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505060408051808201909152600c81526b2a3930b234b733a33637b7b960a11b602082015291506111d19050838288611e3b565b60408051808201909152600781526613195e141bdbdb60ca1b60208201526111fa848288611e3b565b60408051808201909152601481527321b434b839a4b73a32b73a39ab32b934b334b2b960611b602082015260125461123e90869083906001600160a01b0316611e3b565b6040516001600160a01b03878116825280891691878216918b16907f581507277f7df160915f5a3857d9fdc98501391a22f7ae91519dadce96ea67199060200160405180910390a45050505050505050565b6000546001600160a01b031633146112ba5760405162461bcd60e51b815260040161091090612436565b600e5460408051808201909152600d81526c1d1c9859195c9cd41bdc9d185b609a1b60208201526112f6916001600160a01b0316908390611d5f565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113425760405162461bcd60e51b815260040161091090612436565b61134c8282611f55565b5050565b600061135b82611d30565b92915050565b6004546001600160a01b031633146113a85760405162461bcd60e51b815260206004820152600a60248201526910a637b1b5a7bbb732b960b11b6044820152606401610910565b600480546001600160a01b0319169055565b6004546000906001600160a01b03838116911614801561135b5750600e546001600160a01b038381169116148061135b575050600f546001600160a01b0390811691161490565b6000808383604051602001611417929190612535565b60408051808303601f1901815291815281516020928301206001600160a01b039788166000908152601384528281209181529252902054909416949350505050565b606060098054806020026020016040519081016040528092919081815260200182805480156114b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611493575b5050505050905090565b60008083836040516020016114d1929190612535565b60408051808303601f1901815291815281516020928301206000908152600c9092529020546001600160a01b0316949350505050565b6000546001600160a01b031633146115315760405162461bcd60e51b815260040161091090612436565b61153c838383611c09565b505050565b6000546001600160a01b0316331461156b5760405162461bcd60e51b815260040161091090612436565b601680546001600160a01b0319166001600160a01b0383161790556040516b6368697073466163746f727960a01b8152600c015b6040519081900381206001600160a01b0383168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a250565b6004546000906001600160a01b03838116911614801561135b575050600e546001600160a01b0390811691161490565b6000546001600160a01b0316331461163f5760405162461bcd60e51b815260040161091090612436565b6116818484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869250611e3b915050565b50505050565b600080838360405160200161169d929190612535565b6040516020818303038152906040528051906020012090506116be81611d30565b949350505050565b6000546001600160a01b031633146116f05760405162461bcd60e51b815260040161091090612436565b601080546001600160a01b0319166001600160a01b038316179055604051733a3930b232a4b73a32b73a39ab32b934b334b2b960611b815260140161159f565b6000546001600160a01b0316331461175a5760405162461bcd60e51b815260040161091090612436565b600d546040805180820190915260098152686f72646572426f6f6b60b81b6020820152611792916001600160a01b0316908390611d5f565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117de5760405162461bcd60e51b815260040161091090612436565b601180546001600160a01b0319166001600160a01b0383161790556040517f6c6971756964697479496e74656e747356657269666965720000000000000000815260180161159f565b6004546000906001600160a01b03838116911614801561135b575050600f546001600160a01b0390811691161490565b6000546001600160a01b031633146118815760405162461bcd60e51b815260040161091090612436565b60008383604051602001611896929190612535565b60408051808303601f1901815282825280516020918201206000818152600c90925291902080546001600160a01b0319166001600160a01b03861617905591506118e39085908590612535565b6040519081900381206001600160a01b0384168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a250505050565b6000546001600160a01b031633146119565760405162461bcd60e51b815260040161091090612436565b6001600160a01b038116600081815260086020526040808220805460ff1916600190811790915560098054918201815583527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b03191684179055517fc3b56cad40fff5fd7c2e07c16488355f4e10397fbd438c5125a005c40f4e29f19190a250565b600981815481106119f257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314611a365760405162461bcd60e51b815260040161091090612436565b601580546001600160a01b0319166001600160a01b038316179055604051706c657850726f78696573466163746f727960781b815260110161159f565b6000546001600160a01b03163314611a9d5760405162461bcd60e51b815260040161091090612436565b601280546001600160a01b0319166001600160a01b0383161790556040517331b434b839a4b73a32b73a39ab32b934b334b2b960611b815260140161159f565b6000546001600160a01b03163314611b075760405162461bcd60e51b815260040161091090612436565b6001600160a01b038281166000818152600b602052604080822080546001600160a01b0319169486169485179055517f3c294129903f90afbea58693e1e9c725db2f87ba64e5bed851716d1f3dc610139190a35050565b3360009081526005602052604090205460ff16611bac5760405162461bcd60e51b815260206004820152600c60248201526b10ab30b634b22637b1b5b2b960a11b6044820152606401610910565b6004546001600160a01b031615611bf55760405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e531bd8dad959609a1b6044820152606401610910565b600480546001600160a01b03191633179055565b600082815260066020526040902054808411611c675760405162461bcd60e51b815260206004820152601a60248201527f4d5553545f5055424c4953485f4e455745525f56455253494f4e0000000000006044820152606401610910565b6001600160a01b038216611cb35760405162461bcd60e51b8152602060048201526013602482015272494d504c454d454e544154494f4e5f5a45524f60681b6044820152606401610910565b60008381526006602090815260408083208790558683526007825280832086845282529182902080546001600160a01b0319166001600160a01b0386169081179091559151918252849186917fe6552da0d01ff56e28f4d0984a3ea0abcaec0a419b7d3057aa687ed889887b13910160405180910390a350505050565b60008181526006602090815260408083205483526007825280832093835292905220546001600160a01b031690565b6001600160a01b038216611dae5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610910565b6001600160a01b03808416600090815260056020526040808220805460ff19908116909155928516825290819020805490921660011790915551611df3908290612545565b6040519081900381206001600160a01b0384168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a2505050565b600082604051602001611e4e9190612545565b60408051601f1981840301815291815281516020928301206001600160a01b0380881660009081526013855283812083825290945291909220549192509081169083168103611ecd5760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610910565b6001600160a01b0385811660009081526013602090815260408083208684529091529081902080546001600160a01b031916928616928317905551611f13908690612545565b604051908190038120906001600160a01b038816907fa1d0356cb207c7aad424409734a64fbf1dc258e464dca16730dea8b3f41ce0e790600090a45050505050565b6001600160a01b0380831660009081526014602052604090205481169082168103611fb05760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610910565b6001600160a01b0383811660008181526014602052604080822080546001600160a01b0319169487169485179055517f8772fee7946b5f02fdba3ae14b5fda258b239f97d8c7cf8a53689519fa2f5ef49190a3505050565b60008083601f84011261201a57600080fd5b50813567ffffffffffffffff81111561203257600080fd5b6020830191508360208260051b850101111561204d57600080fd5b9250929050565b60008060008060006060868803121561206c57600080fd5b85359450602086013567ffffffffffffffff8082111561208b57600080fd5b61209789838a01612008565b909650945060408801359150808211156120b057600080fd5b506120bd88828901612008565b969995985093965092949392505050565b6001600160a01b0381168114610b8e57600080fd5b6000602082840312156120f557600080fd5b8135612100816120ce565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156121485783516001600160a01b031683529284019291840191600101612123565b50909695505050505050565b6000806040838503121561216757600080fd5b8235612172816120ce565b946020939093013593505050565b6000806040838503121561219357600080fd5b8235915060208301356121a5816120ce565b809150509250929050565b600080604083850312156121c357600080fd5b82356121ce816120ce565b915060208301356121a5816120ce565b6000602082840312156121f057600080fd5b5035919050565b60005b838110156122125781810151838201526020016121fa565b50506000910152565b602081526000825180602084015261223a8160408501602087016121f7565b601f01601f19169190910160400192915050565b60008083601f84011261226057600080fd5b50813567ffffffffffffffff81111561227857600080fd5b60208301915083602082850101111561204d57600080fd5b6000806000604084860312156122a557600080fd5b83356122b0816120ce565b9250602084013567ffffffffffffffff8111156122cc57600080fd5b6122d88682870161224e565b9497909650939450505050565b600080602083850312156122f857600080fd5b823567ffffffffffffffff81111561230f57600080fd5b61231b8582860161224e565b90969095509350505050565b60008060006060848603121561233c57600080fd5b83359250602084013591506040840135612355816120ce565b809150509250925092565b6000806000806060858703121561237657600080fd5b8435612381816120ce565b9350602085013567ffffffffffffffff81111561239d57600080fd5b6123a98782880161224e565b90945092505060408501356123bd816120ce565b939692955090935050565b600080604083850312156123db57600080fd5b50508035926020909101359150565b6000806000604084860312156123ff57600080fd5b833567ffffffffffffffff81111561241657600080fd5b6124228682870161224e565b9094509250506020840135612355816120ce565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561248257600080fd5b8151612100816120ce565b60006020828403121561249f57600080fd5b5051919050565b6000604082840312156124b857600080fd5b6040516040810181811067ffffffffffffffff821117156124e957634e487b7160e01b600052604160045260246000fd5b60405282516124f7816120ce565b81526020830151612507816120ce565b60208201529392505050565b60006020828403121561252557600080fd5b8151801515811461210057600080fd5b8183823760009101908152919050565b600082516125578184602087016121f7565b919091019291505056fea264697066735822122017891dd1f54b8ad03b98d9b8413411e17f19b3036c5f0ce8a2dfb6c99ee2de3a64736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055612597806100326000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636fad7860116101de578063aa3e63591161010f578063d466a021116100ad578063f5f5ba721161007c578063f5f5ba7214610894578063f83d08ba146108b8578063f851a440146108c0578063fab33704146108d357600080fd5b8063d466a02114610828578063e1f234511461083b578063f4865dd51461084e578063f5adc4fd1461087157600080fd5b8063b49198b3116100e9578063b49198b3146107e6578063c0e636b2146107ef578063c62777c514610802578063c73704dc1461081557600080fd5b8063aa3e63591461078c578063ad0a930d146107c0578063adb22590146107d357600080fd5b806393a5dd1b1161017c578063a2b9cedd11610156578063a2b9cedd1461072a578063a5a2ed371461073d578063a8487bcf14610750578063a8e36e5b1461076357600080fd5b806393a5dd1b146106db5780639a1598c8146106ee5780639c9f88651461070157600080fd5b8063776af5ba116101b8578063776af5ba146106825780637896f649146106955780637bbb19dc146106a85780638aa10435146106bb57600080fd5b80636fad786014610649578063731aa5f91461065c578063760ef0721461066f57600080fd5b806338b90333116102b857806358ca59ce11610256578063614d08f811610230578063614d08f8146105ce578063631e6d38146105f557806367e6508114610608578063695660aa1461063657600080fd5b806358ca59ce146105955780635c60da1b146105a85780635cecd5ff146105bb57600080fd5b8063419a519311610292578063419a51931461053e5780634971e256146105515780634e24b565146105645780635029a8e61461056c57600080fd5b806338b90333146104f3578063396f7b231461052357806340da020f1461053657600080fd5b8063267822471161032557806333829b66116102ff57806333829b66146104a75780633397432b146104ba57806333e1354d146104cd578063372e2470146104e057600080fd5b8063267822471461046e57806327c7ff291461048157806330fbdfe11461049457600080fd5b80631d504dc6116103615780631d504dc6146104125780631e586943146104255780631eb405781461044857806323cb030e1461045b57600080fd5b80630764ca6a14610388578063166b97541461039d5780631a254268146103c6575b600080fd5b61039b610396366004612054565b6108e6565b005b6103b06103ab3660046120e3565b6109cd565b6040516103bd9190612107565b60405180910390f35b6103fa6103d4366004612154565b60136020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016103bd565b61039b6104203660046120e3565b610a43565b610438610433366004612180565b610b91565b60405190151581526020016103bd565b61039b6104563660046120e3565b610bfb565b6103fa610469366004612154565b610c7e565b6001546103fa906001600160a01b031681565b61039b61048f3660046121b0565b610cb6565b61039b6104a23660046120e3565b611290565b61039b6104b53660046121b0565b611318565b6016546103fa906001600160a01b031681565b6103fa6104db3660046121de565b611350565b6010546103fa906001600160a01b031681565b610516604051806040016040528060048152602001630313031360e41b81525081565b6040516103bd919061221b565b6003546103fa906001600160a01b031681565b61039b611361565b61043861054c3660046120e3565b6113ba565b6103fa61055f366004612290565b611401565b6103b0611459565b6103fa61057a3660046120e3565b6014602052600090815260409020546001600160a01b031681565b6103fa6105a33660046122e5565b6114bb565b6002546103fa906001600160a01b031681565b6011546103fa906001600160a01b031681565b61051660405180604001604052806008815260200167526567697374727960c01b81525081565b61039b610603366004612327565b611507565b6106286106163660046121de565b60066020526000908152604090205481565b6040519081526020016103bd565b6015546103fa906001600160a01b031681565b61039b6106573660046120e3565b611541565b61043861066a3660046120e3565b6115e5565b61039b61067d366004612360565b611615565b600d546103fa906001600160a01b031681565b6103fa6106a33660046122e5565b611687565b600f546103fa906001600160a01b031681565b6040805180820190915260048152630313031360e41b6020820152610516565b61039b6106e93660046120e3565b6116c6565b61039b6106fc3660046120e3565b611730565b6103fa61070f3660046121de565b600c602052600090815260409020546001600160a01b031681565b61039b6107383660046120e3565b6117b4565b61043861074b3660046120e3565b611827565b6004546103fa906001600160a01b031681565b6103fa6107713660046120e3565b600b602052600090815260409020546001600160a01b031681565b6103fa61079a3660046123c8565b60076020908152600092835260408084209091529082529020546001600160a01b031681565b61039b6107ce3660046123ea565b611857565b61039b6107e13660046120e3565b61192c565b6106286103e881565b6103fa6107fd3660046121de565b6119e2565b6012546103fa906001600160a01b031681565b61039b6108233660046120e3565b611a0c565b61039b6108363660046120e3565b611a73565b61039b6108493660046121b0565b611add565b61043861085c3660046120e3565b60056020526000908152604090205460ff1681565b61043861087f3660046120e3565b60086020526000908152604090205460ff1681565b604080518082019091526008815267526567697374727960c01b6020820152610516565b61039b611b5e565b6000546103fa906001600160a01b031681565b600e546103fa906001600160a01b031681565b6000546001600160a01b031633146109195760405162461bcd60e51b815260040161091090612436565b60405180910390fd5b82811461095d5760405162461bcd60e51b8152602060048201526012602482015271417272617973206d75737420626520313a3160701b6044820152606401610910565b60005b838110156109c557600085858381811061097c5761097c61245a565b90506020020135905060008484848181106109995761099961245a565b90506020020160208101906109ae91906120e3565b90506109bb888383611c09565b5050600101610960565b505050505050565b6001600160a01b0381166000908152600a6020908152604091829020805483518184028101840190945280845260609392830182828015610a3757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a19575b50505050509050919050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa59190612470565b6001600160a01b0316336001600160a01b031614610af45760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610910565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061248d565b15610b8e5760405162461bcd60e51b81526004016109109060208082526004908201526319985a5b60e21b604082015260600190565b50565b60006001600160a01b038216610bd85760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610910565b6000610be384611d30565b6001600160a01b039081169084161491505092915050565b6000546001600160a01b03163314610c255760405162461bcd60e51b815260040161091090612436565b600f54604080518082019091526008815267747269676765727360c01b6020820152610c5c916001600160a01b0316908390611d5f565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020528160005260406000208181548110610c9a57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6001600160a01b03821615801590610cd657506001600160a01b03811615155b610d1b5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610910565b6001600160a01b03821660009081526008602052604090205460ff16610d835760405162461bcd60e51b815260206004820152601960248201527f554e535550504f525445445f54524144494e475f464c4f4f52000000000000006044820152606401610910565b6000816001600160a01b031663c12d636b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190612470565b90506000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4d9190612470565b9050826001600160a01b0316826001600160a01b031663fb56c48f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190612470565b6001600160a01b031614610f055760405162461bcd60e51b81526020600482015260116024820152700988ab0bea09e9e98be9a92a69a82a8869607b1b6044820152606401610910565b60155460405162dd699960e71b81526001600160a01b0383811660048301526000921690636eb4cc80906024016040805180830381865afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7291906124a6565b9050836001600160a01b031681600001516001600160a01b031614610fd15760405162461bcd60e51b815260206004820152601560248201527415539055551213d49256915117d3115617d413d3d3605a1b6044820152606401610910565b826001600160a01b031681602001516001600160a01b0316146110365760405162461bcd60e51b815260206004820152601c60248201527f554e415554484f52495a45445f504f4f4c5f4143434f554e54414e54000000006044820152606401610910565b60165460405163581a7f5760e11b81526001600160a01b0384811660048301529091169063b034feae90602401602060405180830381865afa158015611080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a49190612513565b6110e45760405162461bcd60e51b81526020600482015260116024820152700554e415554484f52495a45445f4348495607c1b6044820152606401610910565b6001600160a01b0384811660008181526005602090815260408083208054600160ff1990911681179091558a8616808552600a84528285208054928301815585529290932090920180546001600160a01b03191687861690811790915591516351512f5360e11b81526004810192909252602482019290925291851660448301529063a2a25ea690606401600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505060408051808201909152600c81526b2a3930b234b733a33637b7b960a11b602082015291506111d19050838288611e3b565b60408051808201909152600781526613195e141bdbdb60ca1b60208201526111fa848288611e3b565b60408051808201909152601481527321b434b839a4b73a32b73a39ab32b934b334b2b960611b602082015260125461123e90869083906001600160a01b0316611e3b565b6040516001600160a01b03878116825280891691878216918b16907f581507277f7df160915f5a3857d9fdc98501391a22f7ae91519dadce96ea67199060200160405180910390a45050505050505050565b6000546001600160a01b031633146112ba5760405162461bcd60e51b815260040161091090612436565b600e5460408051808201909152600d81526c1d1c9859195c9cd41bdc9d185b609a1b60208201526112f6916001600160a01b0316908390611d5f565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113425760405162461bcd60e51b815260040161091090612436565b61134c8282611f55565b5050565b600061135b82611d30565b92915050565b6004546001600160a01b031633146113a85760405162461bcd60e51b815260206004820152600a60248201526910a637b1b5a7bbb732b960b11b6044820152606401610910565b600480546001600160a01b0319169055565b6004546000906001600160a01b03838116911614801561135b5750600e546001600160a01b038381169116148061135b575050600f546001600160a01b0390811691161490565b6000808383604051602001611417929190612535565b60408051808303601f1901815291815281516020928301206001600160a01b039788166000908152601384528281209181529252902054909416949350505050565b606060098054806020026020016040519081016040528092919081815260200182805480156114b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611493575b5050505050905090565b60008083836040516020016114d1929190612535565b60408051808303601f1901815291815281516020928301206000908152600c9092529020546001600160a01b0316949350505050565b6000546001600160a01b031633146115315760405162461bcd60e51b815260040161091090612436565b61153c838383611c09565b505050565b6000546001600160a01b0316331461156b5760405162461bcd60e51b815260040161091090612436565b601680546001600160a01b0319166001600160a01b0383161790556040516b6368697073466163746f727960a01b8152600c015b6040519081900381206001600160a01b0383168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a250565b6004546000906001600160a01b03838116911614801561135b575050600e546001600160a01b0390811691161490565b6000546001600160a01b0316331461163f5760405162461bcd60e51b815260040161091090612436565b6116818484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869250611e3b915050565b50505050565b600080838360405160200161169d929190612535565b6040516020818303038152906040528051906020012090506116be81611d30565b949350505050565b6000546001600160a01b031633146116f05760405162461bcd60e51b815260040161091090612436565b601080546001600160a01b0319166001600160a01b038316179055604051733a3930b232a4b73a32b73a39ab32b934b334b2b960611b815260140161159f565b6000546001600160a01b0316331461175a5760405162461bcd60e51b815260040161091090612436565b600d546040805180820190915260098152686f72646572426f6f6b60b81b6020820152611792916001600160a01b0316908390611d5f565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117de5760405162461bcd60e51b815260040161091090612436565b601180546001600160a01b0319166001600160a01b0383161790556040517f6c6971756964697479496e74656e747356657269666965720000000000000000815260180161159f565b6004546000906001600160a01b03838116911614801561135b575050600f546001600160a01b0390811691161490565b6000546001600160a01b031633146118815760405162461bcd60e51b815260040161091090612436565b60008383604051602001611896929190612535565b60408051808303601f1901815282825280516020918201206000818152600c90925291902080546001600160a01b0319166001600160a01b03861617905591506118e39085908590612535565b6040519081900381206001600160a01b0384168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a250505050565b6000546001600160a01b031633146119565760405162461bcd60e51b815260040161091090612436565b6001600160a01b038116600081815260086020526040808220805460ff1916600190811790915560098054918201815583527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b03191684179055517fc3b56cad40fff5fd7c2e07c16488355f4e10397fbd438c5125a005c40f4e29f19190a250565b600981815481106119f257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314611a365760405162461bcd60e51b815260040161091090612436565b601580546001600160a01b0319166001600160a01b038316179055604051706c657850726f78696573466163746f727960781b815260110161159f565b6000546001600160a01b03163314611a9d5760405162461bcd60e51b815260040161091090612436565b601280546001600160a01b0319166001600160a01b0383161790556040517331b434b839a4b73a32b73a39ab32b934b334b2b960611b815260140161159f565b6000546001600160a01b03163314611b075760405162461bcd60e51b815260040161091090612436565b6001600160a01b038281166000818152600b602052604080822080546001600160a01b0319169486169485179055517f3c294129903f90afbea58693e1e9c725db2f87ba64e5bed851716d1f3dc610139190a35050565b3360009081526005602052604090205460ff16611bac5760405162461bcd60e51b815260206004820152600c60248201526b10ab30b634b22637b1b5b2b960a11b6044820152606401610910565b6004546001600160a01b031615611bf55760405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e531bd8dad959609a1b6044820152606401610910565b600480546001600160a01b03191633179055565b600082815260066020526040902054808411611c675760405162461bcd60e51b815260206004820152601a60248201527f4d5553545f5055424c4953485f4e455745525f56455253494f4e0000000000006044820152606401610910565b6001600160a01b038216611cb35760405162461bcd60e51b8152602060048201526013602482015272494d504c454d454e544154494f4e5f5a45524f60681b6044820152606401610910565b60008381526006602090815260408083208790558683526007825280832086845282529182902080546001600160a01b0319166001600160a01b0386169081179091559151918252849186917fe6552da0d01ff56e28f4d0984a3ea0abcaec0a419b7d3057aa687ed889887b13910160405180910390a350505050565b60008181526006602090815260408083205483526007825280832093835292905220546001600160a01b031690565b6001600160a01b038216611dae5760405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f42455f5a45524f5f4144445245535360501b6044820152606401610910565b6001600160a01b03808416600090815260056020526040808220805460ff19908116909155928516825290819020805490921660011790915551611df3908290612545565b6040519081900381206001600160a01b0384168252907f943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819060200160405180910390a2505050565b600082604051602001611e4e9190612545565b60408051601f1981840301815291815281516020928301206001600160a01b0380881660009081526013855283812083825290945291909220549192509081169083168103611ecd5760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610910565b6001600160a01b0385811660009081526013602090815260408083208684529091529081902080546001600160a01b031916928616928317905551611f13908690612545565b604051908190038120906001600160a01b038816907fa1d0356cb207c7aad424409734a64fbf1dc258e464dca16730dea8b3f41ce0e790600090a45050505050565b6001600160a01b0380831660009081526014602052604090205481169082168103611fb05760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b6044820152606401610910565b6001600160a01b0383811660008181526014602052604080822080546001600160a01b0319169487169485179055517f8772fee7946b5f02fdba3ae14b5fda258b239f97d8c7cf8a53689519fa2f5ef49190a3505050565b60008083601f84011261201a57600080fd5b50813567ffffffffffffffff81111561203257600080fd5b6020830191508360208260051b850101111561204d57600080fd5b9250929050565b60008060008060006060868803121561206c57600080fd5b85359450602086013567ffffffffffffffff8082111561208b57600080fd5b61209789838a01612008565b909650945060408801359150808211156120b057600080fd5b506120bd88828901612008565b969995985093965092949392505050565b6001600160a01b0381168114610b8e57600080fd5b6000602082840312156120f557600080fd5b8135612100816120ce565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156121485783516001600160a01b031683529284019291840191600101612123565b50909695505050505050565b6000806040838503121561216757600080fd5b8235612172816120ce565b946020939093013593505050565b6000806040838503121561219357600080fd5b8235915060208301356121a5816120ce565b809150509250929050565b600080604083850312156121c357600080fd5b82356121ce816120ce565b915060208301356121a5816120ce565b6000602082840312156121f057600080fd5b5035919050565b60005b838110156122125781810151838201526020016121fa565b50506000910152565b602081526000825180602084015261223a8160408501602087016121f7565b601f01601f19169190910160400192915050565b60008083601f84011261226057600080fd5b50813567ffffffffffffffff81111561227857600080fd5b60208301915083602082850101111561204d57600080fd5b6000806000604084860312156122a557600080fd5b83356122b0816120ce565b9250602084013567ffffffffffffffff8111156122cc57600080fd5b6122d88682870161224e565b9497909650939450505050565b600080602083850312156122f857600080fd5b823567ffffffffffffffff81111561230f57600080fd5b61231b8582860161224e565b90969095509350505050565b60008060006060848603121561233c57600080fd5b83359250602084013591506040840135612355816120ce565b809150509250925092565b6000806000806060858703121561237657600080fd5b8435612381816120ce565b9350602085013567ffffffffffffffff81111561239d57600080fd5b6123a98782880161224e565b90945092505060408501356123bd816120ce565b939692955090935050565b600080604083850312156123db57600080fd5b50508035926020909101359150565b6000806000604084860312156123ff57600080fd5b833567ffffffffffffffff81111561241657600080fd5b6124228682870161224e565b9094509250506020840135612355816120ce565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561248257600080fd5b8151612100816120ce565b60006020828403121561249f57600080fd5b5051919050565b6000604082840312156124b857600080fd5b6040516040810181811067ffffffffffffffff821117156124e957634e487b7160e01b600052604160045260246000fd5b60405282516124f7816120ce565b81526020830151612507816120ce565b60208201529392505050565b60006020828403121561252557600080fd5b8151801515811461210057600080fd5b8183823760009101908152919050565b600082516125578184602087016121f7565b919091019291505056fea2646970667358221220ca700ec869225fc19ce1a85ef1600462238dc5f0bc6c360f595d9a7486208fcf64736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly anonymous: false;
20
20
  readonly inputs: readonly [{