@stake-dao/reader 0.1.0

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 (182) hide show
  1. package/dist/esm/batches/curveStrats.js +163 -0
  2. package/dist/esm/batches/curveStrats.js.map +1 -0
  3. package/dist/esm/batches/index.js +4 -0
  4. package/dist/esm/batches/index.js.map +1 -0
  5. package/dist/esm/batches/sdtGaugeRewards.js +22 -0
  6. package/dist/esm/batches/sdtGaugeRewards.js.map +1 -0
  7. package/dist/esm/batches/tokenData.js +22 -0
  8. package/dist/esm/batches/tokenData.js.map +1 -0
  9. package/dist/esm/batches/types.js +2 -0
  10. package/dist/esm/batches/types.js.map +1 -0
  11. package/dist/esm/endpoints.js +3 -0
  12. package/dist/esm/endpoints.js.map +1 -0
  13. package/dist/esm/index.js +8 -0
  14. package/dist/esm/index.js.map +1 -0
  15. package/dist/esm/number.js +45 -0
  16. package/dist/esm/number.js.map +1 -0
  17. package/dist/esm/prices.js +70 -0
  18. package/dist/esm/prices.js.map +1 -0
  19. package/dist/esm/sdt/sdt.js +92 -0
  20. package/dist/esm/sdt/sdt.js.map +1 -0
  21. package/dist/esm/sdt/veSdtAlternativeYields.js +19 -0
  22. package/dist/esm/sdt/veSdtAlternativeYields.js.map +1 -0
  23. package/dist/esm/strategies/curve/build.js +123 -0
  24. package/dist/esm/strategies/curve/build.js.map +1 -0
  25. package/dist/esm/strategies/curve/endpoints.js +6 -0
  26. package/dist/esm/strategies/curve/endpoints.js.map +1 -0
  27. package/dist/esm/strategies/curve/fetch/curveApiData/abi.js +80 -0
  28. package/dist/esm/strategies/curve/fetch/curveApiData/abi.js.map +1 -0
  29. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js +24 -0
  30. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js.map +1 -0
  31. package/dist/esm/strategies/curve/fetch/curveApiData/config.js +47 -0
  32. package/dist/esm/strategies/curve/fetch/curveApiData/config.js.map +1 -0
  33. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js +172 -0
  34. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js.map +1 -0
  35. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js +33 -0
  36. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js.map +1 -0
  37. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js +36 -0
  38. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js.map +1 -0
  39. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js +26 -0
  40. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js.map +1 -0
  41. package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js +20 -0
  42. package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js.map +1 -0
  43. package/dist/esm/strategies/curve/fetch/getAprBreakdown.js +73 -0
  44. package/dist/esm/strategies/curve/fetch/getAprBreakdown.js.map +1 -0
  45. package/dist/esm/strategies/curve/fetch/getCvxApr.js +33 -0
  46. package/dist/esm/strategies/curve/fetch/getCvxApr.js.map +1 -0
  47. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +63 -0
  48. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -0
  49. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +88 -0
  50. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -0
  51. package/dist/esm/strategies/curve/fetch/index.js +209 -0
  52. package/dist/esm/strategies/curve/fetch/index.js.map +1 -0
  53. package/dist/esm/strategies/curve/fetch/types.js +2 -0
  54. package/dist/esm/strategies/curve/fetch/types.js.map +1 -0
  55. package/dist/esm/strategies/curve/httpCalls.js +80 -0
  56. package/dist/esm/strategies/curve/httpCalls.js.map +1 -0
  57. package/dist/esm/strategies/curve/onChainCalls.js +28 -0
  58. package/dist/esm/strategies/curve/onChainCalls.js.map +1 -0
  59. package/dist/esm/strategies/types.js +2 -0
  60. package/dist/esm/strategies/types.js.map +1 -0
  61. package/dist/esm/strategies/utils/boost.js +30 -0
  62. package/dist/esm/strategies/utils/boost.js.map +1 -0
  63. package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js +40 -0
  64. package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js.map +1 -0
  65. package/dist/esm/strategies/utils/index.js +7 -0
  66. package/dist/esm/strategies/utils/index.js.map +1 -0
  67. package/dist/esm/strategies/utils/promise.js +10 -0
  68. package/dist/esm/strategies/utils/promise.js.map +1 -0
  69. package/dist/esm/strategies/utils/sdt.js +112 -0
  70. package/dist/esm/strategies/utils/sdt.js.map +1 -0
  71. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  72. package/dist/esm/utils.js +113 -0
  73. package/dist/esm/utils.js.map +1 -0
  74. package/dist/types/batches/curveStrats.d.ts +4 -0
  75. package/dist/types/batches/curveStrats.d.ts.map +1 -0
  76. package/dist/types/batches/index.d.ts +4 -0
  77. package/dist/types/batches/index.d.ts.map +1 -0
  78. package/dist/types/batches/sdtGaugeRewards.d.ts +4 -0
  79. package/dist/types/batches/sdtGaugeRewards.d.ts.map +1 -0
  80. package/dist/types/batches/tokenData.d.ts +4 -0
  81. package/dist/types/batches/tokenData.d.ts.map +1 -0
  82. package/dist/types/batches/types.d.ts +15 -0
  83. package/dist/types/batches/types.d.ts.map +1 -0
  84. package/dist/types/endpoints.d.ts +3 -0
  85. package/dist/types/endpoints.d.ts.map +1 -0
  86. package/dist/types/index.d.ts +8 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/number.d.ts +6 -0
  89. package/dist/types/number.d.ts.map +1 -0
  90. package/dist/types/prices.d.ts +10 -0
  91. package/dist/types/prices.d.ts.map +1 -0
  92. package/dist/types/sdt/sdt.d.ts +31 -0
  93. package/dist/types/sdt/sdt.d.ts.map +1 -0
  94. package/dist/types/sdt/veSdtAlternativeYields.d.ts +19 -0
  95. package/dist/types/sdt/veSdtAlternativeYields.d.ts.map +1 -0
  96. package/dist/types/strategies/curve/build.d.ts +37 -0
  97. package/dist/types/strategies/curve/build.d.ts.map +1 -0
  98. package/dist/types/strategies/curve/endpoints.d.ts +6 -0
  99. package/dist/types/strategies/curve/endpoints.d.ts.map +1 -0
  100. package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts +49 -0
  101. package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts.map +1 -0
  102. package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts +8 -0
  103. package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts.map +1 -0
  104. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts +34 -0
  105. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts.map +1 -0
  106. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts +3 -0
  107. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts.map +1 -0
  108. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts +2 -0
  109. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts.map +1 -0
  110. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts +11 -0
  111. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts.map +1 -0
  112. package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts +2 -0
  113. package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts.map +1 -0
  114. package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts +5 -0
  115. package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts.map +1 -0
  116. package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts +17 -0
  117. package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts.map +1 -0
  118. package/dist/types/strategies/curve/fetch/getCvxApr.d.ts +3 -0
  119. package/dist/types/strategies/curve/fetch/getCvxApr.d.ts.map +1 -0
  120. package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts +4 -0
  121. package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -0
  122. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts +9 -0
  123. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts.map +1 -0
  124. package/dist/types/strategies/curve/fetch/index.d.ts +10 -0
  125. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -0
  126. package/dist/types/strategies/curve/fetch/types.d.ts +11 -0
  127. package/dist/types/strategies/curve/fetch/types.d.ts.map +1 -0
  128. package/dist/types/strategies/curve/httpCalls.d.ts +18 -0
  129. package/dist/types/strategies/curve/httpCalls.d.ts.map +1 -0
  130. package/dist/types/strategies/curve/onChainCalls.d.ts +2 -0
  131. package/dist/types/strategies/curve/onChainCalls.d.ts.map +1 -0
  132. package/dist/types/strategies/types.d.ts +130 -0
  133. package/dist/types/strategies/types.d.ts.map +1 -0
  134. package/dist/types/strategies/utils/boost.d.ts +2 -0
  135. package/dist/types/strategies/utils/boost.d.ts.map +1 -0
  136. package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts +4 -0
  137. package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts.map +1 -0
  138. package/dist/types/strategies/utils/index.d.ts +6 -0
  139. package/dist/types/strategies/utils/index.d.ts.map +1 -0
  140. package/dist/types/strategies/utils/promise.d.ts +2 -0
  141. package/dist/types/strategies/utils/promise.d.ts.map +1 -0
  142. package/dist/types/strategies/utils/sdt.d.ts +16 -0
  143. package/dist/types/strategies/utils/sdt.d.ts.map +1 -0
  144. package/dist/types/utils.d.ts +33 -0
  145. package/dist/types/utils.d.ts.map +1 -0
  146. package/package.json +54 -0
  147. package/src/batches/curveStrats.ts +166 -0
  148. package/src/batches/index.ts +3 -0
  149. package/src/batches/sdtGaugeRewards.ts +26 -0
  150. package/src/batches/tokenData.ts +26 -0
  151. package/src/batches/types.ts +14 -0
  152. package/src/endpoints.ts +2 -0
  153. package/src/index.ts +7 -0
  154. package/src/number.ts +51 -0
  155. package/src/prices.ts +86 -0
  156. package/src/sdt/sdt.ts +110 -0
  157. package/src/sdt/veSdtAlternativeYields.ts +19 -0
  158. package/src/strategies/curve/build.ts +187 -0
  159. package/src/strategies/curve/endpoints.ts +21 -0
  160. package/src/strategies/curve/fetch/curveApiData/abi.ts +81 -0
  161. package/src/strategies/curve/fetch/curveApiData/bytecode.ts +43 -0
  162. package/src/strategies/curve/fetch/curveApiData/config.ts +56 -0
  163. package/src/strategies/curve/fetch/curveApiData/getCurveApiData.ts +207 -0
  164. package/src/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.ts +41 -0
  165. package/src/strategies/curve/fetch/curveApiData/getGaugesWeights.ts +52 -0
  166. package/src/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.ts +36 -0
  167. package/src/strategies/curve/fetch/curveApiData/getRegistries.ts +25 -0
  168. package/src/strategies/curve/fetch/getAprBreakdown.ts +98 -0
  169. package/src/strategies/curve/fetch/getCvxApr.ts +49 -0
  170. package/src/strategies/curve/fetch/getOnlyboostData.ts +100 -0
  171. package/src/strategies/curve/fetch/getStratsWithApr.ts +118 -0
  172. package/src/strategies/curve/fetch/index.ts +276 -0
  173. package/src/strategies/curve/fetch/types.ts +11 -0
  174. package/src/strategies/curve/httpCalls.ts +117 -0
  175. package/src/strategies/curve/onChainCalls.ts +36 -0
  176. package/src/strategies/types.ts +137 -0
  177. package/src/strategies/utils/boost.ts +41 -0
  178. package/src/strategies/utils/decodeEtherscanFactoryEvent.ts +42 -0
  179. package/src/strategies/utils/index.ts +8 -0
  180. package/src/strategies/utils/promise.ts +10 -0
  181. package/src/strategies/utils/sdt.ts +206 -0
  182. package/src/utils.ts +171 -0
@@ -0,0 +1,163 @@
1
+ const curveStrats = {
2
+ bytecode: {
3
+ 1: '0x60806040527352f541764e6e90eebc5c21ff570de0e2d63766b65f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073989aeb4d175e16225e39e87d0d97a3360524ad8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735f3b5dfeb7b28cdbd7faba78963ee202a494e2a260035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738e0c00ed546602fd9927df742bbabf726d5b0d1660045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156101b2575f80fd5b50604051612f2e380380612f2e83398181016040528101906101d4919061255c565b5f815190506101e1612165565b8167ffffffffffffffff8111156101fb576101fa6123a7565b5b60405190808252806020026020018201604052801561023457816020015b6102216121a3565b8152602001906001900390816102195790505b508160e001819052505f8490505f8690508173ffffffffffffffffffffffffffffffffffffffff16636977ff926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b2919061260f565b8360800181815250508173ffffffffffffffffffffffffffffffffffffffff1663513872bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610304573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610328919061260f565b8360a001818152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bf919061260f565b835f01818152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610431573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610455919061260f565b83602001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104d79190612649565b602060405180830381865afa1580156104f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610516919061260f565b83604001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161059a9190612649565b602060405180830381865afa1580156105b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d9919061260f565b8360600181815250508073ffffffffffffffffffffffffffffffffffffffff1663fbbb2b106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064f919061260f565b8360c00181815250505f5b848110156112d3575f86828151811061067657610675612662565b5b602002602001015190505f815f015190505f826040015190505f83606001519050835f01518860e0015186815181106106b2576106b1612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a08231855f01516040518263ffffffff1660e01b815260040161072f9190612649565b602060405180830381865afa15801561074a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076e919061260f565b8860e00151868151811061078557610784612662565b5b602002602001015160200181815250506107a48361130260201b60201c565b8960e0015187815181106107bb576107ba612662565b5b60200260200101516060018a60e0015188815181106107dd576107dc612662565b5b6020026020010151608001828152508281525050508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f919061260f565b8860e00151868151811061087657610875612662565b5b602002602001015160400181815250508173ffffffffffffffffffffffffffffffffffffffff166370a082315f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108de9190612649565b602060405180830381865afa1580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d919061260f565b8860e00151868151811061093457610933612662565b5b602002602001015160a00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161099c9190612649565b602060405180830381865afa1580156109b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db919061260f565b8860e0015186815181106109f2576109f1612662565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6f919061260f565b8860e001518681518110610a8657610a85612662565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b04919061260f565b8860e001518681518110610b1b57610b1a612662565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff1663331345835f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b839190612649565b6020604051808303815f875af1158015610b9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc3919061260f565b8860e001518681518110610bda57610bd9612662565b5b60200260200101516101200181815250508673ffffffffffffffffffffffffffffffffffffffff16636207d86685606001516040518263ffffffff1660e01b8152600401610c289190612649565b602060405180830381865afa158015610c43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c67919061260f565b8860e001518681518110610c7e57610c7d612662565b5b60200260200101516101400181815250508673ffffffffffffffffffffffffffffffffffffffff16634e791a3a85606001516040518263ffffffff1660e01b8152600401610ccc9190612649565b602060405180830381865afa158015610ce7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0b919061260f565b8860e001518681518110610d2257610d21612662565b5b60200260200101516101600181815250508073ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da0919061260f565b8860e001518681518110610db757610db6612662565b5b60200260200101516101800181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e35919061260f565b8860e001518681518110610e4c57610e4b612662565b5b60200260200101516101a00181815250505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ecb919061260f565b90508067ffffffffffffffff811115610ee757610ee66123a7565b5b604051908082528060200260200182016040528015610f155781602001602082028036833780820191505090505b508960e001518781518110610f2d57610f2c612662565b5b60200260200101516101c001819052508067ffffffffffffffff811115610f5757610f566123a7565b5b604051908082528060200260200182016040528015610f9057816020015b610f7d61223c565b815260200190600190039081610f755790505b508960e001518781518110610fa857610fa7612662565b5b60200260200101516101e001819052505f5b81811015611175575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610ffc919061269e565b602060405180830381865afa158015611017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103b91906126b7565b9050808b60e00151898151811061105557611054612662565b5b60200260200101516101c00151838151811061107457611073612662565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016110e79190612649565b60c060405180830381865afa158015611102573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611126919061277f565b8b60e00151898151811061113d5761113c612662565b5b60200260200101516101e00151838151811061115c5761115b612662565b5b6020026020010181905250508080600101915050610fba565b50611185836114d360201b60201c565b8960e00151878151811061119c5761119b612662565b5b6020026020010151610200018190525061129a8e8873ffffffffffffffffffffffffffffffffffffffff166398cf47156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121d91906126b7565b87604001518773ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128f919061260f565b61175160201b60201c565b8960e0015187815181106112b1576112b0612662565b5b602002602001015161022001819052505050505050808060010191505061065a565b505f836040516020016112e69190612e53565b6040516020818303038152906040529050602081018059038082f35b5f808273ffffffffffffffffffffffffffffffffffffffff1663f8ce31646040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561136c57506040513d601f19601f82011682018060405250810190611369919061260f565b60015b6113e4578273ffffffffffffffffffffffffffffffffffffffff16633f71410a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113dd919061260f565b91506113e9565b809250505b8273ffffffffffffffffffffffffffffffffffffffff1663422ede426040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561145157506040513d601f19601f8201168201806040525081019061144e919061260f565b60015b6114c9578273ffffffffffffffffffffffffffffffffffffffff16637118035d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c2919061260f565b90506114ce565b809150505b915091565b60605f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561154257506040513d601f19601f8201168201806040525081019061153f919061260f565b60015b61154e575f9050611553565b809150505b8067ffffffffffffffff81111561156d5761156c6123a7565b5b6040519080825280602002602001820160405280156115a657816020015b611593612298565b81526020019060019003908161158b5790505b5092505f5b81811015611749575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b81526004016115ed919061269e565b602060405180830381865afa158015611608573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162c91906126b7565b90508085838151811061164257611641612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f745f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016116d9929190612e73565b602060405180830381865afa1580156116f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611718919061260f565b85838151811061172b5761172a612662565b5b602002602001015160200181815250505080806001019150506115ab565b505050919050565b6117596122c6565b5f8590505f8490505f8273ffffffffffffffffffffffffffffffffffffffff166326256c0b876040518263ffffffff1660e01b815260040161179b9190612649565b602060405180830381865afa1580156117b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117da91906126b7565b90505f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141590505f8060608315611f65575f8590505f8173ffffffffffffffffffffffffffffffffffffffff1663475a91d16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188b91906126b7565b90508173ffffffffffffffffffffffffffffffffffffffff166370a082315f6040518263ffffffff1660e01b81526004016118c69190612649565b602060405180830381865afa1580156118e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611905919061260f565b94508c73ffffffffffffffffffffffffffffffffffffffff1663f7bbd4ec8d6040518263ffffffff1660e01b81526004016119409190612649565b602060405180830381865afa15801561195b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197f919061260f565b93505f8173ffffffffffffffffffffffffffffffffffffffff1663d55a23f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ef919061260f565b90506001816119fe9190612ec7565b67ffffffffffffffff811115611a1757611a166123a7565b5b604051908082528060200260200182016040528015611a5057816020015b611a3d612298565b815260200190600190039081611a355790505b5093508173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac091906126b7565b845f81518110611ad357611ad2612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff16628cc262896040518263ffffffff1660e01b8152600401611b489190612649565b602060405180830381865afa158015611b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b87919061260f565b845f81518110611b9a57611b99612662565b5b602002602001015160200181815250505f5b81811015611f60575f8373ffffffffffffffffffffffffffffffffffffffff166340c35446836040518263ffffffff1660e01b8152600401611bee919061269e565b602060405180830381865afa158015611c09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2d91906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff16628cc2628b6040518263ffffffff1660e01b8152600401611c679190612649565b602060405180830381865afa158015611c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca6919061260f565b86600184611cb49190612ec7565b81518110611cc557611cc4612662565b5b6020026020010151602001818152505060978473ffffffffffffffffffffffffffffffffffffffff1663f10684546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d44919061260f565b10611e88575f8173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db791906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2691906126b7565b87600185611e349190612ec7565b81518110611e4557611e44612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505050611f52565b8073ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef591906126b7565b86600184611f039190612ec7565b81518110611f1457611f13612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b508080600101915050611bac565b505050505b5f828a11611f735789611f75565b825b905084895f01901515908115158152505085896020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505089896040018181525050838a611fd49190612efa565b896060018181525050838960800181815250508673ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120419190612649565b602060405180830381865afa15801561205c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612080919061260f565b8960a00181815250508673ffffffffffffffffffffffffffffffffffffffff166313ecb1ca60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120e39190612649565b602060405180830381865afa1580156120fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612122919061260f565b8960c001818152505081896101200181905250808960e0018181525050808a61214b9190612efa565b896101000181815250505050505050505050949350505050565b6040518061010001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b6040518061024001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016060815260200160608152602001606081526020016122366122c6565b81525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b6040518061014001604052805f151581526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236282612339565b9050919050565b61237281612358565b811461237c575f80fd5b50565b5f8151905061238d81612369565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123dd82612397565b810181811067ffffffffffffffff821117156123fc576123fb6123a7565b5b80604052505050565b5f61240e612328565b905061241a82826123d4565b919050565b5f67ffffffffffffffff821115612439576124386123a7565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f608082840312156124675761246661244e565b5b6124716080612405565b90505f6124808482850161237f565b5f8301525060206124938482850161237f565b60208301525060406124a78482850161237f565b60408301525060606124bb8482850161237f565b60608301525092915050565b5f6124d96124d48461241f565b612405565b905080838252602082019050608084028301858111156124fc576124fb61244a565b5b835b8181101561252557806125118882612452565b8452602084019350506080810190506124fe565b5050509392505050565b5f82601f83011261254357612542612393565b5b81516125538482602086016124c7565b91505092915050565b5f805f806080858703121561257457612573612331565b5b5f6125818782880161237f565b94505060206125928782880161237f565b93505060406125a38782880161237f565b925050606085015167ffffffffffffffff8111156125c4576125c3612335565b5b6125d08782880161252f565b91505092959194509250565b5f819050919050565b6125ee816125dc565b81146125f8575f80fd5b50565b5f81519050612609816125e5565b92915050565b5f6020828403121561262457612623612331565b5b5f612631848285016125fb565b91505092915050565b61264381612358565b82525050565b5f60208201905061265c5f83018461263a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612698816125dc565b82525050565b5f6020820190506126b15f83018461268f565b92915050565b5f602082840312156126cc576126cb612331565b5b5f6126d98482850161237f565b91505092915050565b5f60c082840312156126f7576126f661244e565b5b61270160c0612405565b90505f6127108482850161237f565b5f8301525060206127238482850161237f565b6020830152506040612737848285016125fb565b604083015250606061274b848285016125fb565b606083015250608061275f848285016125fb565b60808301525060a0612773848285016125fb565b60a08301525092915050565b5f60c0828403121561279457612793612331565b5b5f6127a1848285016126e2565b91505092915050565b6127b3816125dc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127eb81612358565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61282583836127e2565b60208301905092915050565b5f602082019050919050565b5f612847826127f1565b61285181856127fb565b935061285c8361280b565b805f5b8381101561288c578151612873888261281a565b975061287e83612831565b92505060018101905061285f565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f8201516128d65f8501826127e2565b5060208201516128e960208501826127e2565b5060408201516128fc60408501826127aa565b50606082015161290f60608501826127aa565b50608082015161292260808501826127aa565b5060a082015161293560a08501826127aa565b50505050565b5f61294683836128c2565b60c08301905092915050565b5f602082019050919050565b5f61296882612899565b61297281856128a3565b935061297d836128b3565b805f5b838110156129ad578151612994888261293b565b975061299f83612952565b925050600181019050612980565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b604082015f8201516129f75f8501826127e2565b506020820151612a0a60208501826127aa565b50505050565b5f612a1b83836129e3565b60408301905092915050565b5f602082019050919050565b5f612a3d826129ba565b612a4781856129c4565b9350612a52836129d4565b805f5b83811015612a82578151612a698882612a10565b9750612a7483612a27565b925050600181019050612a55565b5085935050505092915050565b5f8115159050919050565b612aa381612a8f565b82525050565b5f61014083015f830151612abf5f860182612a9a565b506020830151612ad260208601826127e2565b506040830151612ae560408601826127aa565b506060830151612af860608601826127aa565b506080830151612b0b60808601826127aa565b5060a0830151612b1e60a08601826127aa565b5060c0830151612b3160c08601826127aa565b5060e0830151612b4460e08601826127aa565b50610100830151612b596101008601826127aa565b50610120830151848203610120860152612b738282612a33565b9150508091505092915050565b5f61024083015f830151612b965f8601826127e2565b506020830151612ba960208601826127aa565b506040830151612bbc60408601826127aa565b506060830151612bcf60608601826127aa565b506080830151612be260808601826127aa565b5060a0830151612bf560a08601826127aa565b5060c0830151612c0860c08601826127aa565b5060e0830151612c1b60e08601826127aa565b50610100830151612c306101008601826127aa565b50610120830151612c456101208601826127aa565b50610140830151612c5a6101408601826127aa565b50610160830151612c6f6101608601826127aa565b50610180830151612c846101808601826127aa565b506101a0830151612c996101a08601826127aa565b506101c08301518482036101c0860152612cb3828261283d565b9150506101e08301518482036101e0860152612ccf828261295e565b915050610200830151848203610200860152612ceb8282612a33565b915050610220830151848203610220860152612d078282612aa9565b9150508091505092915050565b5f612d1f8383612b80565b905092915050565b5f602082019050919050565b5f612d3d826127b9565b612d4781856127c3565b935083602082028501612d59856127d3565b805f5b85811015612d945784840389528151612d758582612d14565b9450612d8083612d27565b925060208a01995050600181019050612d5c565b50829750879550505050505092915050565b5f61010083015f830151612dbc5f8601826127aa565b506020830151612dcf60208601826127aa565b506040830151612de260408601826127aa565b506060830151612df560608601826127aa565b506080830151612e0860808601826127aa565b5060a0830151612e1b60a08601826127aa565b5060c0830151612e2e60c08601826127aa565b5060e083015184820360e0860152612e468282612d33565b9150508091505092915050565b5f6020820190508181035f830152612e6b8184612da6565b905092915050565b5f604082019050612e865f83018561263a565b612e93602083018461263a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612ed1826125dc565b9150612edc836125dc565b9250828201905080821115612ef457612ef3612e9a565b5b92915050565b5f612f04826125dc565b9150612f0f836125dc565b9250828203905081811115612f2757612f26612e9a565b5b9291505056fe',
4
+ 42161: '0x60806040527311cdb42b0eb46d95f990bedd4695a6e3fa0349786000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352f541764e6e90eebc5c21ff570de0e2d63766b6600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100b957600080fd5b50604051611b84380380611b8483398181016040528101906100db9190611373565b6000815190506100e9610ffa565b8167ffffffffffffffff811115610103576101026111b3565b5b60405190808252806020026020018201604052801561013c57816020015b61012961100d565b8152602001906001900390816101215790505b508160000181905250600084905060005b83811015610d3957600085828151811061016a576101696113cf565b5b602002602001015190506000816000015190506000826040015190506000836060015190508360000151876000015186815181106101ab576101aa6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a0823185600001516040518263ffffffff1660e01b815260040161022a919061140d565b602060405180830381865afa158015610247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026b919061145e565b87600001518681518110610282576102816113cf565b5b602002602001015160200181815250508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610301919061145e565b87600001518681518110610318576103176113cf565b5b602002602001015160400181815250508573ffffffffffffffffffffffffffffffffffffffff166360e3d573856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161038792919061148b565b602060405180830381865afa1580156103a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c8919061145e565b876000015186815181106103df576103de6113cf565b5b602002602001015160600181815250508573ffffffffffffffffffffffffffffffffffffffff16635ef1e4b1856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161044e92919061148b565b602060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f919061145e565b876000015186815181106104a6576104a56113cf565b5b602002602001015160800181815250508573ffffffffffffffffffffffffffffffffffffffff1663bcd53d7b856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161051592919061148b565b602060405180830381865afa158015610532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610556919061145e565b8760000151868151811061056d5761056c6113cf565b5b602002602001015160a00181815250508573ffffffffffffffffffffffffffffffffffffffff166343fde008856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016105dc92919061148b565b602060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d919061145e565b87600001518681518110610634576106336113cf565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166370a08231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161069f919061140d565b602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061145e565b876000015186815181106106f7576106f66113cf565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610762919061140d565b602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061145e565b876000015186815181106107ba576107b96113cf565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a919061145e565b87600001518681518110610851576108506113cf565b5b60200260200101516101200181815250508173ffffffffffffffffffffffffffffffffffffffff166333134583600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108bd919061140d565b6020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610900919061145e565b87600001518681518110610917576109166113cf565b5b60200260200101516101400181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061145e565b876000015186815181106109ae576109ad6113cf565b5b602002602001015161016001818152505060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a30919061145e565b90508067ffffffffffffffff811115610a4c57610a4b6111b3565b5b604051908082528060200260200182016040528015610a7a5781602001602082028036833780820191505090505b5088600001518781518110610a9257610a916113cf565b5b602002602001015161018001819052508067ffffffffffffffff811115610abc57610abb6111b3565b5b604051908082528060200260200182016040528015610af557816020015b610ae2611099565b815260200190600190039081610ada5790505b5088600001518781518110610b0d57610b0c6113cf565b5b60200260200101516101a0018190525060005b81811015610ce65760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610b6391906114c3565b602060405180830381865afa158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba491906114de565b9050808a600001518981518110610bbe57610bbd6113cf565b5b602002602001015161018001518381518110610bdd57610bdc6113cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b8152600401610c50919061140d565b60c060405180830381865afa158015610c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9191906115ab565b8a600001518981518110610ca857610ca76113cf565b5b60200260200101516101a001518381518110610cc757610cc66113cf565b5b6020026020010181905250508080610cde90611607565b915050610b20565b50610cfa8560400151610d6960201b60201c565b88600001518781518110610d1157610d106113cf565b5b60200260200101516101c0018190525050505050508080610d3190611607565b91505061014d565b50600082604051602001610d4d9190611b61565b6040516020818303038152906040529050602081018059038082f35b6060600082905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dda57506040513d601f19601f82011682018060405250810190610dd7919061145e565b60015b610de75760009050610dec565b809150505b8067ffffffffffffffff811115610e0657610e056111b3565b5b604051908082528060200260200182016040528015610e3f57816020015b610e2c6110fb565b815260200190600190039081610e245790505b50925060005b81811015610ff25760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610e8891906114c3565b602060405180830381865afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906114de565b905080858381518110610edf57610ede6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f74600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f7a92919061148b565b602060405180830381865afa158015610f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbb919061145e565b858381518110610fce57610fcd6113cf565b5b60200260200101516020018181525050508080610fea90611607565b915050610e45565b505050919050565b6040518060200160405280606081525090565b604051806101e00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116a8261113f565b9050919050565b61117a8161115f565b811461118557600080fd5b50565b60008151905061119781611171565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111eb826111a2565b810181811067ffffffffffffffff8211171561120a576112096111b3565b5b80604052505050565b600061121d61112b565b905061122982826111e2565b919050565b600067ffffffffffffffff821115611249576112486111b3565b5b602082029050602081019050919050565b600080fd5b600080fd5b60006080828403121561127a5761127961125f565b5b6112846080611213565b9050600061129484828501611188565b60008301525060206112a884828501611188565b60208301525060406112bc84828501611188565b60408301525060606112d084828501611188565b60608301525092915050565b60006112ef6112ea8461122e565b611213565b905080838252602082019050608084028301858111156113125761131161125a565b5b835b8181101561133b57806113278882611264565b845260208401935050608081019050611314565b5050509392505050565b600082601f83011261135a5761135961119d565b5b815161136a8482602086016112dc565b91505092915050565b6000806040838503121561138a57611389611135565b5b600061139885828601611188565b925050602083015167ffffffffffffffff8111156113b9576113b861113a565b5b6113c585828601611345565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6114078161115f565b82525050565b600060208201905061142260008301846113fe565b92915050565b6000819050919050565b61143b81611428565b811461144657600080fd5b50565b60008151905061145881611432565b92915050565b60006020828403121561147457611473611135565b5b600061148284828501611449565b91505092915050565b60006040820190506114a060008301856113fe565b6114ad60208301846113fe565b9392505050565b6114bd81611428565b82525050565b60006020820190506114d860008301846114b4565b92915050565b6000602082840312156114f4576114f3611135565b5b600061150284828501611188565b91505092915050565b600060c082840312156115215761152061125f565b5b61152b60c0611213565b9050600061153b84828501611188565b600083015250602061154f84828501611188565b602083015250604061156384828501611449565b604083015250606061157784828501611449565b606083015250608061158b84828501611449565b60808301525060a061159f84828501611449565b60a08301525092915050565b600060c082840312156115c1576115c0611135565b5b60006115cf8482850161150b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061161282611428565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611644576116436115d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6116848161115f565b82525050565b61169381611428565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006116d1838361167b565b60208301905092915050565b6000602082019050919050565b60006116f582611699565b6116ff81856116a4565b935061170a836116b5565b8060005b8381101561173b57815161172288826116c5565b975061172d836116dd565b92505060018101905061170e565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c08201600082015161178a600085018261167b565b50602082015161179d602085018261167b565b5060408201516117b0604085018261168a565b5060608201516117c3606085018261168a565b5060808201516117d6608085018261168a565b5060a08201516117e960a085018261168a565b50505050565b60006117fb8383611774565b60c08301905092915050565b6000602082019050919050565b600061181f82611748565b6118298185611753565b935061183483611764565b8060005b8381101561186557815161184c88826117ef565b975061185783611807565b925050600181019050611838565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516118b4600085018261167b565b5060208201516118c7602085018261168a565b50505050565b60006118d9838361189e565b60408301905092915050565b6000602082019050919050565b60006118fd82611872565b611907818561187d565b93506119128361188e565b8060005b8381101561194357815161192a88826118cd565b9750611935836118e5565b925050600181019050611916565b5085935050505092915050565b60006101e083016000830151611969600086018261167b565b50602083015161197c602086018261168a565b50604083015161198f604086018261168a565b5060608301516119a2606086018261168a565b5060808301516119b5608086018261168a565b5060a08301516119c860a086018261168a565b5060c08301516119db60c086018261168a565b5060e08301516119ee60e086018261168a565b50610100830151611a0361010086018261168a565b50610120830151611a1861012086018261168a565b50610140830151611a2d61014086018261168a565b50610160830151611a4261016086018261168a565b50610180830151848203610180860152611a5c82826116ea565b9150506101a08301518482036101a0860152611a788282611814565b9150506101c08301518482036101c0860152611a9482826118f2565b9150508091505092915050565b6000611aad8383611950565b905092915050565b6000602082019050919050565b6000611acd8261164f565b611ad7818561165a565b935083602082028501611ae98561166b565b8060005b85811015611b255784840389528151611b068582611aa1565b9450611b1183611ab5565b925060208a01995050600181019050611aed565b50829750879550505050505092915050565b60006020830160008301518482036000860152611b548282611ac2565b9150508091505092915050565b60006020820190508181036000830152611b7b8184611b37565b90509291505056fe',
5
+ },
6
+ inputType: {
7
+ 1: [
8
+ 'address _convexMinimalProxyFactory, address _strategy, address _gaugeController, CurveStategyInfo[] inputs',
9
+ 'struct CurveStategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
10
+ ],
11
+ 42161: [
12
+ 'address _feeRegistry, StategyInfo[] memory inputs',
13
+ 'struct StategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
14
+ ],
15
+ },
16
+ outputTypeHr: {
17
+ 1: [
18
+ 'CurveReturnData returnData',
19
+ 'struct CurveReturnData { uint256 cvxTotalSupply; uint256 veCrvTotalSupply; uint256 stakeDaoVeBoost; uint256 convexVeBoost; uint256 totalGaugeWeights; uint256 nextEffectiveTimestamp; uint256 claimerFee; CurveStratsData[] curveStratsData; }',
20
+ 'struct CurveRewardToken { address token; uint256 claimable; }',
21
+ 'struct Onlyboost { bool active; address convexImpl; uint256 totalSupply; uint256 stakeDaoSupply; uint256 convexSupply; uint256 convexStrategyHoldings; uint256 convexWorkingBalance; uint256 stakeDaoOptSupply; uint256 convexOptSupply; CurveRewardToken[] claimableData; }',
22
+ 'struct CurveStratsData { address vault; uint256 vaultHoldings; uint256 totalSupply; uint256 accumulatedFees; uint256 keeperFee; uint256 strategyHoldings; uint256 workingBalance; uint256 curveGaugeTotalSupply; uint256 workingSupplyStaked; uint256 claimablePendingRewards; uint256 gaugeRelativeWeight; uint256 gaugeWeight; uint256 sdWorkingSupply; uint256 sdGaugeTotalSupply; address[] rewardsTokens; RewardData[] rewardsData; CurveRewardToken[] claimableData; Onlyboost onlyboost; }',
23
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
24
+ ],
25
+ 42161: [
26
+ 'CurveReturnData returnData',
27
+ 'struct CurveReturnData { CurveStratsData[] curveStratsData; }',
28
+ 'struct CurveRewardToken { address token; uint256 claimable; }',
29
+ 'struct CurveStratsData { address vault; uint256 vaultHoldings; uint256 totalSupply; uint256 veSDTFee; uint256 perfFee; uint256 accumulatorFee; uint256 claimerFee; uint256 strategyHoldings; uint256 workingBalance; uint256 workingSupplyStaked; uint256 claimablePendingRewards; uint256 sdGaugeTotalSupply; address[] rewardsTokens; RewardData[] rewardsData; CurveRewardToken[] claimableData; }',
30
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
31
+ ],
32
+ },
33
+ outputType: {
34
+ 1: [
35
+ {
36
+ type: 'tuple',
37
+ name: 'returnData',
38
+ components: [
39
+ { type: 'uint256', name: 'cvxTotalSupply' },
40
+ { type: 'uint256', name: 'veCrvTotalSupply' },
41
+ { type: 'uint256', name: 'stakeDaoVeBoost' },
42
+ { type: 'uint256', name: 'convexVeBoost' },
43
+ { type: 'uint256', name: 'totalGaugeWeights' },
44
+ { type: 'uint256', name: 'nextEffectiveTimestamp' },
45
+ { type: 'uint256', name: 'claimerFee' },
46
+ {
47
+ type: 'tuple[]',
48
+ name: 'curveStratsData',
49
+ components: [
50
+ { type: 'address', name: 'vault' },
51
+ { type: 'uint256', name: 'vaultHoldings' },
52
+ { type: 'uint256', name: 'totalSupply' },
53
+ { type: 'uint256', name: 'accumulatedFees' },
54
+ { type: 'uint256', name: 'keeperFee' },
55
+ { type: 'uint256', name: 'strategyHoldings' },
56
+ { type: 'uint256', name: 'workingBalance' },
57
+ { type: 'uint256', name: 'curveGaugeTotalSupply' },
58
+ { type: 'uint256', name: 'workingSupplyStaked' },
59
+ { type: 'uint256', name: 'claimablePendingRewards' },
60
+ { type: 'uint256', name: 'gaugeRelativeWeight' },
61
+ { type: 'uint256', name: 'gaugeWeight' },
62
+ { type: 'uint256', name: 'sdWorkingSupply' },
63
+ { type: 'uint256', name: 'sdGaugeTotalSupply' },
64
+ { type: 'address[]', name: 'rewardsTokens' },
65
+ {
66
+ type: 'tuple[]',
67
+ name: 'rewardsData',
68
+ components: [
69
+ { type: 'address', name: 'token' },
70
+ { type: 'address', name: 'distributor' },
71
+ { type: 'uint256', name: 'period_finish' },
72
+ { type: 'uint256', name: 'rate' },
73
+ { type: 'uint256', name: 'last_update' },
74
+ { type: 'uint256', name: 'integral' },
75
+ ],
76
+ },
77
+ {
78
+ type: 'tuple[]',
79
+ name: 'claimableData',
80
+ components: [
81
+ { type: 'address', name: 'token' },
82
+ { type: 'uint256', name: 'claimable' },
83
+ ],
84
+ },
85
+ {
86
+ type: 'tuple',
87
+ name: 'onlyboost',
88
+ components: [
89
+ { type: 'bool', name: 'active' },
90
+ { type: 'address', name: 'convexImpl' },
91
+ { type: 'uint256', name: 'totalSupply' },
92
+ { type: 'uint256', name: 'stakeDaoSupply' },
93
+ { type: 'uint256', name: 'convexSupply' },
94
+ { type: 'uint256', name: 'convexStrategyHoldings' },
95
+ { type: 'uint256', name: 'convexWorkingBalance' },
96
+ { type: 'uint256', name: 'stakeDaoOptSupply' },
97
+ { type: 'uint256', name: 'convexOptSupply' },
98
+ {
99
+ type: 'tuple[]',
100
+ name: 'claimableData',
101
+ components: [
102
+ { type: 'address', name: 'token' },
103
+ { type: 'uint256', name: 'claimable' },
104
+ ],
105
+ },
106
+ ],
107
+ },
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ ],
113
+ 42161: [
114
+ {
115
+ type: 'tuple',
116
+ name: 'returnData',
117
+ components: [
118
+ {
119
+ type: 'tuple[]',
120
+ name: 'curveStratsData',
121
+ components: [
122
+ { type: 'address', name: 'vault' },
123
+ { type: 'uint256', name: 'vaultHoldings' },
124
+ { type: 'uint256', name: 'totalSupply' },
125
+ { type: 'uint256', name: 'veSDTFee' },
126
+ { type: 'uint256', name: 'perfFee' },
127
+ { type: 'uint256', name: 'accumulatorFee' },
128
+ { type: 'uint256', name: 'claimerFee' },
129
+ { type: 'uint256', name: 'strategyHoldings' },
130
+ { type: 'uint256', name: 'workingBalance' },
131
+ { type: 'uint256', name: 'workingSupplyStaked' },
132
+ { type: 'uint256', name: 'claimablePendingRewards' },
133
+ { type: 'uint256', name: 'sdGaugeTotalSupply' },
134
+ { type: 'address[]', name: 'rewardsTokens' },
135
+ {
136
+ type: 'tuple[]',
137
+ name: 'rewardsData',
138
+ components: [
139
+ { type: 'address', name: 'token' },
140
+ { type: 'address', name: 'distributor' },
141
+ { type: 'uint256', name: 'period_finish' },
142
+ { type: 'uint256', name: 'rate' },
143
+ { type: 'uint256', name: 'last_update' },
144
+ { type: 'uint256', name: 'integral' },
145
+ ],
146
+ },
147
+ {
148
+ type: 'tuple[]',
149
+ name: 'claimableData',
150
+ components: [
151
+ { type: 'address', name: 'token' },
152
+ { type: 'uint256', name: 'claimable' },
153
+ ],
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ ],
160
+ },
161
+ };
162
+ export default curveStrats;
163
+ //# sourceMappingURL=curveStrats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curveStrats.js","sourceRoot":"","sources":["../../../src/batches/curveStrats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { default as batchTokenData } from './tokenData.js';
2
+ export { default as batchSdtGaugeRewards } from './sdtGaugeRewards.js';
3
+ export { default as batchCurveStrats } from './curveStrats.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/batches/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,22 @@
1
+ const commonInputType = ['address[] vaults'];
2
+ const commonOutputType = [
3
+ 'ReturnData[] returnData',
4
+ 'struct ReturnData { address gauge; Erc20Data[] rewards; }',
5
+ 'struct Erc20Data { string name; string symbol; address tokenAddress; uint256 decimals; }',
6
+ ];
7
+ const sdtGaugeRewards = {
8
+ bytecode: {
9
+ 1: '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
10
+ 42161: '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663b11ac5396040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
11
+ },
12
+ inputType: {
13
+ 1: commonInputType,
14
+ 42161: commonInputType,
15
+ },
16
+ outputTypeHr: {
17
+ 1: commonOutputType,
18
+ 42161: commonOutputType,
19
+ },
20
+ };
21
+ export default sdtGaugeRewards;
22
+ //# sourceMappingURL=sdtGaugeRewards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdtGaugeRewards.js","sourceRoot":"","sources":["../../../src/batches/sdtGaugeRewards.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,gBAAgB,GAAG;IACvB,yBAAyB;IACzB,2DAA2D;IAC3D,0FAA0F;CAC3F,CAAA;AAED,MAAM,eAAe,GAAkB;IACrC,QAAQ,EAAE;QACR,CAAC,EAAE,wlNAAwlN;QAC3lN,KAAK,EACH,wlNAAwlN;KAC3lN;IACD,SAAS,EAAE;QACT,CAAC,EAAE,eAAe;QAClB,KAAK,EAAE,eAAe;KACvB;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,gBAAgB;QACnB,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,22 @@
1
+ const commonBytecode = '0x608060405234801561001057600080fd5b5060405161094a38038061094a8339818101604052810190610032919061051d565b60008151905060008167ffffffffffffffff8111156100545761005361037c565b5b60405190808252806020026020018201604052801561008d57816020015b61007a610314565b8152602001906001900390816100725790505b50905060005b828110156102e45760008482815181106100b0576100af610566565b5b6020026020010151905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101339190610665565b84848151811061014657610145610566565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101c99190610665565b8484815181106101dc576101db610566565b5b602002602001015160200181905250818484815181106101ff576101fe610566565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ac91906106e4565b8484815181106102bf576102be610566565b5b60200260200101516060018181525050505080806102dc90610740565b915050610093565b506000816040516020016102f89190610927565b6040516020818303038152906040529050602081018059038082f35b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103b48261036b565b810181811067ffffffffffffffff821117156103d3576103d261037c565b5b80604052505050565b60006103e6610352565b90506103f282826103ab565b919050565b600067ffffffffffffffff8211156104125761041161037c565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061045382610428565b9050919050565b61046381610448565b811461046e57600080fd5b50565b6000815190506104808161045a565b92915050565b6000610499610494846103f7565b6103dc565b905080838252602082019050602084028301858111156104bc576104bb610423565b5b835b818110156104e557806104d18882610471565b8452602084019350506020810190506104be565b5050509392505050565b600082601f83011261050457610503610366565b5b8151610514848260208601610486565b91505092915050565b6000602082840312156105335761053261035c565b5b600082015167ffffffffffffffff81111561055157610550610361565b5b61055d848285016104ef565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600067ffffffffffffffff8211156105b5576105b461037c565b5b6105be8261036b565b9050602081019050919050565b60005b838110156105e95780820151818401526020810190506105ce565b60008484015250505050565b60006106086106038461059a565b6103dc565b90508281526020810184848401111561062457610623610595565b5b61062f8482856105cb565b509392505050565b600082601f83011261064c5761064b610366565b5b815161065c8482602086016105f5565b91505092915050565b60006020828403121561067b5761067a61035c565b5b600082015167ffffffffffffffff81111561069957610698610361565b5b6106a584828501610637565b91505092915050565b6000819050919050565b6106c1816106ae565b81146106cc57600080fd5b50565b6000815190506106de816106b8565b92915050565b6000602082840312156106fa576106f961035c565b5b6000610708848285016106cf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061074b826106ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361077d5761077c610711565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006107db826107b4565b6107e581856107bf565b93506107f58185602086016105cb565b6107fe8161036b565b840191505092915050565b61081281610448565b82525050565b610821816106ae565b82525050565b6000608083016000830151848203600086015261084482826107d0565b9150506020830151848203602086015261085e82826107d0565b91505060408301516108736040860182610809565b5060608301516108866060860182610818565b508091505092915050565b600061089d8383610827565b905092915050565b6000602082019050919050565b60006108bd82610788565b6108c78185610793565b9350836020820285016108d9856107a4565b8060005b8581101561091557848403895281516108f68582610891565b9450610901836108a5565b925060208a019950506001810190506108dd565b50829750879550505050505092915050565b6000602082019050818103600083015261094181846108b2565b90509291505056fe';
2
+ const commonInputType = ['address[] inputs'];
3
+ const commonOutputType = [
4
+ 'Erc20Data[] erc20data',
5
+ 'struct Erc20Data { string name; string symbol; address tokenAddress; uint256 decimals; }',
6
+ ];
7
+ const tokenData = {
8
+ bytecode: {
9
+ 1: commonBytecode,
10
+ 42161: commonBytecode,
11
+ },
12
+ inputType: {
13
+ 1: commonInputType,
14
+ 42161: commonInputType,
15
+ },
16
+ outputTypeHr: {
17
+ 1: commonOutputType,
18
+ 42161: commonOutputType,
19
+ },
20
+ };
21
+ export default tokenData;
22
+ //# sourceMappingURL=tokenData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenData.js","sourceRoot":"","sources":["../../../src/batches/tokenData.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAClB,wpJAAwpJ,CAAA;AAC1pJ,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,gBAAgB,GAAG;IACvB,uBAAuB;IACvB,0FAA0F;CAC3F,CAAA;AAED,MAAM,SAAS,GAAkB;IAC/B,QAAQ,EAAE;QACR,CAAC,EAAE,cAAc;QACjB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE;QACT,CAAC,EAAE,eAAe;QAClB,KAAK,EAAE,eAAe;KACvB;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,gBAAgB;QACnB,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/batches/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export const LLAMA_API_URL = 'https://coins.llama.fi';
2
+ export const AGNOSTIC_QUERY_URL = 'https://proxy.eu-02.agnostic.engineering/query';
3
+ //# sourceMappingURL=endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gDAAgD,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { fetchCurve } from './strategies/curve/fetch/index.js';
2
+ export { fetchCurveBase } from './strategies/curve/fetch/curveApiData/getCurveApiData.js';
3
+ export { getGaugesWeights } from './strategies/curve/fetch/curveApiData/getGaugesWeights.js';
4
+ export { getGaugesFromRegistry } from './strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js';
5
+ export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
6
+ export { fetchSdt } from './sdt/sdt.js';
7
+ export * from './strategies/utils/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { formatUnits } from 'viem';
2
+ export const getString = (data, nbDecimals = 2) => {
3
+ if (typeof data === 'string') {
4
+ return data;
5
+ }
6
+ return data ? Number(data).toFixed(nbDecimals) : 0;
7
+ };
8
+ export const getFixedNumber = (amount, reduce = false) => {
9
+ const earningsNumber = reduce ? Number(formatUnits(BigInt(amount), 18)) : Number(amount);
10
+ if (earningsNumber > 0 && earningsNumber < 1) {
11
+ const indexNotZero = earningsNumber.toString().match('[1-9]');
12
+ return indexNotZero?.index ? indexNotZero.index - 2 + 4 : 4;
13
+ }
14
+ if (earningsNumber >= 1 && earningsNumber < 100) {
15
+ return 2;
16
+ }
17
+ if (earningsNumber >= 100 && earningsNumber < 1000) {
18
+ return 2;
19
+ }
20
+ return 0;
21
+ };
22
+ export const fixed = (nb, decimals) => {
23
+ const fixedTo = decimals ? decimals : getFixedNumber(nb);
24
+ return Number(nb).toLocaleString('en-US', {
25
+ minimumFractionDigits: fixedTo,
26
+ maximumFractionDigits: fixedTo,
27
+ });
28
+ };
29
+ export const formatUsd = (number) => {
30
+ const nb = typeof number === 'string' ? Number(number) : number;
31
+ if (nb > 1000000000) {
32
+ return `${getString(nb / 1000000000, 2)}B`;
33
+ }
34
+ if (nb > 1000000) {
35
+ return `${getString(nb / 1000000, 2)}M`;
36
+ }
37
+ if (nb > 1000) {
38
+ return `${getString(nb / 1000, 2)}k`;
39
+ }
40
+ return fixed(number.toString());
41
+ };
42
+ export const withTwoDec = (num) => {
43
+ return (Math.floor(num * 100) / 100).toFixed(2);
44
+ };
45
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAS,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxF,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7D,OAAO,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,QAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IACxD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QACxC,qBAAqB,EAAE,OAAO;QAC9B,qBAAqB,EAAE,OAAO;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,EAAE;IACnD,MAAM,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE/D,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;QACpB,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,GAAG,CAAA;IAC5C,CAAC;IACD,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACjB,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,CAAA;IACzC,CAAC;IACD,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAA;IACtC,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { uniq } from 'lodash-es';
2
+ const LLAMA_API_URL = 'https://coins.llama.fi';
3
+ const GECKO_TERMINAL_API_URL = 'https://api.geckoterminal.com/api/v2';
4
+ export const getLlamaTokenPrefix = (chainId = 1) => {
5
+ switch (chainId) {
6
+ case 1:
7
+ return 'ethereum';
8
+ case 137:
9
+ return 'polygon';
10
+ case 42161:
11
+ return 'arbitrum';
12
+ case 56:
13
+ return 'bsc';
14
+ default:
15
+ return 'ethereum';
16
+ }
17
+ };
18
+ export const getPricesFromLlama = async (tokens, chainId = 1, defaultErrorValue) => {
19
+ try {
20
+ const prefix = getLlamaTokenPrefix(chainId);
21
+ const httpArgs = uniq(tokens.map((t) => `${prefix}:${t.address}`)).toString();
22
+ const httpRequest = await (await fetch(`${LLAMA_API_URL}/prices/current/${httpArgs}`)).json();
23
+ const coinsData = httpRequest.coins;
24
+ const parsedPrice = tokens.map((t) => {
25
+ return {
26
+ symbol: t.symbol,
27
+ address: t.address,
28
+ usdPrice: coinsData[`${prefix}:${t.address}`] ? coinsData[`${prefix}:${t.address}`].price : 0,
29
+ };
30
+ });
31
+ return parsedPrice;
32
+ }
33
+ catch (e) {
34
+ console.error(e);
35
+ return defaultErrorValue;
36
+ }
37
+ };
38
+ export const getPricesFromCurve = async (chainId) => {
39
+ const prefix = getLlamaTokenPrefix(chainId);
40
+ const httpRequest = (await fetch(`https://prices.curve.fi/v1/usd_price/${prefix}`)).json();
41
+ return httpRequest;
42
+ };
43
+ export const getPricesFromGeckoTerminal = async (tokens, chainId = 1, defaultErrorValue) => {
44
+ try {
45
+ let network;
46
+ switch (chainId) {
47
+ case 1:
48
+ network = 'eth';
49
+ break;
50
+ case 137:
51
+ network = 'polygon_pos';
52
+ break;
53
+ case 42161:
54
+ network = 'arbitrum';
55
+ break;
56
+ default:
57
+ network = 'eth';
58
+ break;
59
+ }
60
+ const httpArgs = uniq(tokens).join(',');
61
+ const httpRequest = await (await fetch(`${GECKO_TERMINAL_API_URL}/simple/networks/${network}/token_price/${httpArgs}`)).json();
62
+ const coinsData = httpRequest.data.attributes.token_prices;
63
+ return coinsData;
64
+ }
65
+ catch (e) {
66
+ console.error(e);
67
+ return defaultErrorValue;
68
+ }
69
+ };
70
+ //# sourceMappingURL=prices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { formatUnits, parseAbi, parseUnits } from 'viem';
2
+ import { ONE_DAY, contracts, tokenWithId } from '@stake-dao/constants';
3
+ import { Zero } from '../index.js';
4
+ import {} from '../prices.js';
5
+ import { agnostic, multicall } from '../utils.js';
6
+ import veSdtAlternativeYields from './veSdtAlternativeYields.js';
7
+ const AGNOSTIC_QUERY = (timeLimit) => `
8
+ select
9
+ input_0_value_uint256 as time,
10
+ input_1_value_uint256 as tokens
11
+ from evm_events_ethereum_mainnet
12
+ where
13
+ address = '${contracts.veSdtFeeDistributor[1]}' and
14
+ input_1_value_uint256 != '0' and
15
+ input_0_value_uint256 > '${timeLimit}' and
16
+ signature = 'CheckpointToken(uint256,uint256)'
17
+ ORDER BY time DESC
18
+ `;
19
+ export const fetchSdt = async (prices, provider, agnosticKey) => {
20
+ const sdtToken = tokenWithId('sdt');
21
+ const frax3CrvToken = tokenWithId('frax3crv');
22
+ const now = Math.ceil(new Date().getTime() / 1000);
23
+ const lastCheck = now - ONE_DAY * 28;
24
+ let agnosticData = null;
25
+ if (agnosticKey) {
26
+ const httpCalls = [await agnostic(AGNOSTIC_QUERY(lastCheck), agnosticKey)];
27
+ const httpResponses = (await Promise.allSettled(httpCalls))
28
+ .flatMap((d) => (d.status === 'fulfilled' ? d.value : d.reason))
29
+ .flat();
30
+ agnosticData = httpResponses[0];
31
+ }
32
+ const rawSdtData = await multicall(provider, [
33
+ { address: contracts.sdFrx3CrvVault[1], name: 'getPricePerFullShare' },
34
+ { address: sdtToken.address, name: 'balanceOf', params: [contracts.veSdt[1]] },
35
+ { address: sdtToken.address, name: 'balanceOf', params: [contracts.vestedSdt[1]] },
36
+ { address: sdtToken.address, name: 'totalSupply' },
37
+ { address: contracts.veSdt[1], name: 'totalSupply' },
38
+ {
39
+ address: contracts.veSdtBoostDelegation[1],
40
+ name: 'received_balance',
41
+ params: [contracts.voteBoosterStrategy[1]],
42
+ },
43
+ { address: contracts.liquidLockersGaugeController[1], name: 'get_total_weight' },
44
+ { address: contracts.sdGaugeController[1], name: 'get_total_weight' },
45
+ ], parseAbi([
46
+ 'function getPricePerFullShare() external view returns (uint256)',
47
+ 'function balanceOf(address user) external view returns (uint256)',
48
+ 'function totalSupply() external view returns (uint256)',
49
+ 'function received_balance(address user) external view returns (uint256)',
50
+ 'function get_total_weight() external view returns (uint256)',
51
+ ]));
52
+ const vaultRatio = rawSdtData[0].result;
53
+ const lockedSdtBalance = rawSdtData[1].result;
54
+ const vestedSdtBalance = rawSdtData[2].result;
55
+ const sdtTotalSupply = rawSdtData[3].result;
56
+ const veSdtTotalSupply = rawSdtData[4].result;
57
+ const voteBoosterVeSdt = rawSdtData[5].result;
58
+ const sdtPrice = prices?.find((p) => p.address.toLowerCase() === sdtToken.address.toLowerCase())?.usdPrice || 0;
59
+ const frax3CrvPrice = prices?.find((p) => p.address.toLowerCase() === frax3CrvToken.address.toLowerCase())?.usdPrice || 0;
60
+ const lockedInUsd = parseUnits(`${sdtPrice}`, sdtToken.decimals) * lockedSdtBalance;
61
+ const vestedInUsd = parseUnits(`${sdtPrice}`, sdtToken.decimals) * vestedSdtBalance;
62
+ const percentLocked = parseUnits(formatUnits(lockedSdtBalance, 0), sdtToken.decimals) / sdtTotalSupply;
63
+ const averageLock = (parseUnits(formatUnits(veSdtTotalSupply, 0), sdtToken.decimals) / lockedSdtBalance) * BigInt(4);
64
+ let rewardsAmount = Zero;
65
+ let checkedWeek = now - ONE_DAY * 7;
66
+ let apr = 0;
67
+ if (agnosticData) {
68
+ while (lastCheck <= checkedWeek && rewardsAmount === Zero) {
69
+ const checkedWeekAgnostic = agnosticData ? agnosticData.filter((d) => checkedWeek < Number(d[0])) : null;
70
+ rewardsAmount = checkedWeekAgnostic ? checkedWeekAgnostic.reduce((total, d) => total + BigInt(d[1]), Zero) : Zero;
71
+ checkedWeek = checkedWeek - ONE_DAY * 7;
72
+ }
73
+ apr =
74
+ ((frax3CrvPrice * Number(formatUnits(rewardsAmount, 18)) * 52) / Number(formatUnits(vestedInUsd, 18))) *
75
+ Number(vaultRatio);
76
+ }
77
+ const parsedData = {
78
+ alternativeYields: veSdtAlternativeYields,
79
+ veSdtTotalSupply: formatUnits(veSdtTotalSupply, 0),
80
+ locked: formatUnits(lockedSdtBalance, 0),
81
+ lockedInUsd: Number(formatUnits(lockedInUsd, sdtToken.decimals * 2)),
82
+ vestedInUsd: Number(formatUnits(vestedInUsd, sdtToken.decimals * 2)),
83
+ percentLocked: Number(formatUnits(percentLocked, 18)) * 100,
84
+ averageLockInYears: Number(formatUnits(averageLock, 18)),
85
+ apr: apr * 100,
86
+ voteBoosterVeSdt: Number(formatUnits(voteBoosterVeSdt, sdtToken.decimals)),
87
+ lockersTotalWeight: formatUnits(rawSdtData[6].result, 0),
88
+ stratsTotalWeight: formatUnits(rawSdtData[7].result, 0),
89
+ };
90
+ return parsedData;
91
+ };
92
+ //# sourceMappingURL=sdt.js.map