@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,18 @@
1
+ import { type GaugesWeightsData } from './fetch/curveApiData/getGaugesWeights.js';
2
+ export declare const getCurveHttpCalls: (explorerApiKey: string, explorer: string, rpc: string, chainId: number, lastBlockNumber: number, gaugesWeights: GaugesWeightsData) => Promise<{
3
+ explorerData: any;
4
+ curveSubgraphData: any;
5
+ convexPools: any;
6
+ convexLendingVaults: any;
7
+ curveApiData: any;
8
+ } | {
9
+ explorerData: any;
10
+ curveSubgraphData: any;
11
+ convexPools: never[];
12
+ curveApiData: {
13
+ type: string;
14
+ value: any;
15
+ }[];
16
+ convexLendingVaults?: undefined;
17
+ }>;
18
+ //# sourceMappingURL=httpCalls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/httpCalls.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,iBAAiB,mBACZ,MAAM,YACZ,MAAM,OACX,MAAM,WACF,MAAM,mBACE,MAAM,iBACR,iBAAiB;;;;;;;;;;;;;;;EAmGjC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getOnChainSdCurveData: (chainId: number, rpc: string, calls: any[]) => Promise<any>;
2
+ //# sourceMappingURL=onChainCalls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onChainCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/onChainCalls.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,YAAmB,MAAM,OAAO,MAAM,SAAS,GAAG,EAAE,iBA6BrF,CAAA"}
@@ -0,0 +1,130 @@
1
+ export type Coin = {
2
+ name: string;
3
+ symbol: string;
4
+ address: string;
5
+ decimals: number;
6
+ };
7
+ export type AprDetail = {
8
+ total: number;
9
+ details: {
10
+ label: string;
11
+ value: number[];
12
+ }[];
13
+ };
14
+ export type OnlyBoostAprDetail = {
15
+ projected: {
16
+ baseToken: number;
17
+ };
18
+ };
19
+ export type OnlyBoostProtocolData = {
20
+ tvl: number;
21
+ supply: string;
22
+ boost: number;
23
+ optimal: {
24
+ supply: string;
25
+ boost: number;
26
+ share: number;
27
+ };
28
+ claimable?: {
29
+ token: string;
30
+ claimable: string;
31
+ }[];
32
+ };
33
+ export type OnlyBoostData = {
34
+ active: boolean;
35
+ implementations: {
36
+ key: string;
37
+ address: string;
38
+ }[];
39
+ totalSupply: string;
40
+ boost: number;
41
+ optimalBoost: number;
42
+ stakeDao: OnlyBoostProtocolData;
43
+ convex: OnlyBoostProtocolData;
44
+ };
45
+ export type SdGauge = {
46
+ address: string;
47
+ totalSupply: string;
48
+ relativeWeight: string;
49
+ weight: string;
50
+ futureWeight: string;
51
+ workingSupply: string;
52
+ };
53
+ export type Fees = {
54
+ veSdt: number;
55
+ perf: number;
56
+ accumulator: number;
57
+ claimer: number;
58
+ };
59
+ export type VaultFees = {
60
+ keeper: number;
61
+ accumulated: number;
62
+ };
63
+ export type SdtApr = {
64
+ sdtUserApr: number;
65
+ sdtFuturUserApr: number;
66
+ sdtMinApr: number;
67
+ sdtFuturMinApr: number;
68
+ sdtMaxApr: number;
69
+ sdtFuturMaxApr: number;
70
+ sdtBoost: number;
71
+ };
72
+ export type RewardsData = {
73
+ token: Coin;
74
+ price: number;
75
+ apr: number;
76
+ streaming: boolean;
77
+ periodFinish: number;
78
+ rate: string;
79
+ lastUpdate: string;
80
+ claimablePendingRewards: string;
81
+ };
82
+ export type Strategy = {
83
+ key: string;
84
+ type: string;
85
+ protocol: string;
86
+ chainId: number;
87
+ isMetapool: boolean;
88
+ isLending: boolean;
89
+ vault: string;
90
+ lpToken: Coin;
91
+ gaugeAddress: string;
92
+ coins: Coin[];
93
+ underlyingCoins?: Coin[];
94
+ rewards: RewardsData[];
95
+ name: string;
96
+ minApr: number;
97
+ maxApr: number;
98
+ lpPriceInUsd: number;
99
+ convexPool?: {
100
+ id: number;
101
+ token: string;
102
+ gauge: string;
103
+ crvRewards: string;
104
+ stash: string;
105
+ shutdown: boolean;
106
+ usdTotal: number;
107
+ };
108
+ tvl: number;
109
+ apr: {
110
+ boost: number;
111
+ current: AprDetail;
112
+ projected: AprDetail;
113
+ onlyboost: {
114
+ convex: OnlyBoostAprDetail;
115
+ optimal: OnlyBoostAprDetail;
116
+ };
117
+ };
118
+ sdtApr: SdtApr;
119
+ vaultHoldings: string;
120
+ totalSupply: string;
121
+ strategyHoldings: string;
122
+ workingBalance: string;
123
+ workingSupplyStaked: string;
124
+ sdGauge: SdGauge;
125
+ vaultFees: VaultFees;
126
+ onlyboost?: OnlyBoostData | {
127
+ active: boolean;
128
+ };
129
+ };
130
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/strategies/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,MAAM,EAAE,qBAAqB,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,eAAe,CAAC,EAAE,IAAI,EAAE,CAAA;IACxB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,OAAO,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,SAAS,CAAA;QAClB,SAAS,EAAE,SAAS,CAAA;QACpB,SAAS,EAAE;YACT,MAAM,EAAE,kBAAkB,CAAA;YAC1B,OAAO,EAAE,kBAAkB,CAAA;SAC5B,CAAA;KACF,CAAA;IACD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,aAAa,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;CAChD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getBoost: (protocol: string, strategyHoldings: bigint, workingBalance: bigint) => number;
2
+ //# sourceMappingURL=boost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boost.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/boost.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,aAAc,MAAM,oBAAoB,MAAM,kBAAkB,MAAM,KAAG,MAqC7F,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const decodeEtherscanFactoryEvent: (explorerData: any, onlyVault?: boolean) => any;
2
+ export declare const decodeNewFactoryEvent: (explorerData: any) => any;
3
+ export default decodeEtherscanFactoryEvent;
4
+ //# sourceMappingURL=decodeEtherscanFactoryEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeEtherscanFactoryEvent.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/decodeEtherscanFactoryEvent.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,2BAA2B,iBAAkB,GAAG,cAAa,OAAO,QAiBzE,CAAA;AAED,eAAO,MAAM,qBAAqB,iBAAkB,GAAG,QAkBtD,CAAA;AAED,eAAe,2BAA2B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const Zero: bigint;
2
+ export declare const OneEther: bigint;
3
+ export * from './boost.js';
4
+ export * from './decodeEtherscanFactoryEvent.js';
5
+ export * from './sdt.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,QAAY,CAAA;AAC7B,eAAO,MAAM,QAAQ,QAAkB,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,kCAAkC,CAAA;AAChD,cAAc,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const handlePromise: (promises: Promise<any>[], key: string) => Promise<any[]>;
2
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/promise.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,aAAoB,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM,mBASxE,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { RewardsData, SdtApr } from '../types.js';
2
+ export type SdtEmissionData = {
3
+ lockersSdtPerBlock: bigint;
4
+ lockersSdtPerSecond: bigint;
5
+ stratsSdtPerBlock: bigint;
6
+ stratsSdtPerSecond: bigint;
7
+ };
8
+ export declare const calculateSDTRangeApr: (sdtRateInput: bigint, periodFinish: number, workingBalance: string, workingSupply: string, depositBalance: bigint, adjustedBalanceOf: string, votingEscrowTotalSupply: string, gaugeTotalSupply: string, sdtPrice: number, lpPrice: number) => {
9
+ sdtMinApr: number;
10
+ sdtMaxApr: number;
11
+ sdtBoost: number;
12
+ sdtUserApr: number;
13
+ };
14
+ export declare const getSdtInflationData: (provider: any, chainId: number) => Promise<SdtEmissionData | undefined>;
15
+ export declare const computeSdtApr: (sdtEmissionData: SdtEmissionData, sdtRewards: RewardsData, userData: any, sdGauge: any, lpPriceInUsd: number) => SdtApr;
16
+ //# sourceMappingURL=sdt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdt.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/sdt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGtD,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAiCD,eAAO,MAAM,oBAAoB,iBACjB,MAAM,gBACN,MAAM,kBACJ,MAAM,iBACP,MAAM,kBACL,MAAM,qBACH,MAAM,2BACA,MAAM,oBACb,MAAM,YACd,MAAM,WACP,MAAM;;;;;CA4DhB,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAoB,GAAG,WAAW,MAAM,KAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAwC7G,CAAA;AAED,eAAO,MAAM,aAAa,oBACP,eAAe,cACpB,WAAW,YACb,GAAG,WACJ,GAAG,gBACE,MAAM,KACnB,MAsCF,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { Token } from '@stake-dao/constants';
2
+ export declare const isProtocolToken: (protocol: string, tokenSymbol: string) => boolean;
3
+ export declare const getBreakdownLabel: (strat: any, reward: any, isFuturSDT: boolean, boost: number, sdtApr: any) => string;
4
+ export declare const equalTlc: (addressOne: string, addressTwo: string) => boolean;
5
+ export declare const getTokenInfo: (coinData: any, address: string, chainId?: number) => {
6
+ name: string;
7
+ symbol: string;
8
+ address: string;
9
+ decimals: number;
10
+ } | Token;
11
+ export declare const projectWorkingBalance: (veBalance: bigint, veTotal: bigint, balance: bigint, totalSupply: bigint) => bigint;
12
+ interface RpcCallArgs {
13
+ to: string;
14
+ data: string;
15
+ }
16
+ export declare const rpcCall: (rpc: string, params: RpcCallArgs[]) => Promise<any>;
17
+ interface BatchJsonRpcArgs {
18
+ rpc: string;
19
+ calls: string[];
20
+ outputTypeAbi: any | any[];
21
+ parse?: boolean;
22
+ callsKey?: string;
23
+ }
24
+ export declare const batchJsonRpc: (args: BatchJsonRpcArgs) => Promise<any>;
25
+ export interface Call {
26
+ address: string;
27
+ name: string;
28
+ params?: any[];
29
+ }
30
+ export declare const multicall: (provider: any, calls: Call[], abi: readonly any[]) => Promise<any>;
31
+ export declare const agnostic: (query: string, apiKey: string, defaultErrorValue?: any) => Promise<any>;
32
+ export {};
33
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAKjD,eAAO,MAAM,eAAe,aAAc,MAAM,eAAe,MAAM,YAMb,CAAA;AAExD,eAAO,MAAM,iBAAiB,UAAW,GAAG,UAAU,GAAG,cAAc,OAAO,SAAS,MAAM,UAAU,GAAG,WAezG,CAAA;AAED,eAAO,MAAM,QAAQ,eAAgB,MAAM,cAAc,MAAM,KAAG,OACX,CAAA;AAEvD,eAAO,MAAM,YAAY,aACb,GAAG,WACJ,MAAM,YACN,MAAM,KACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,KAiBxE,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,MAAM,WAAW,MAAM,WAAW,MAAM,eAAe,MAAM,WAS7G,CAAA;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,OAAO,QAAe,MAAM,UAAU,WAAW,EAAE,iBAiB/D,CAAA;AAED,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,YAAY,SAAgB,gBAAgB,iBAkCxD,CAAA;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED,eAAO,MAAM,SAAS,aAAoB,GAAG,SAAS,IAAI,EAAE,OAAO,SAAS,GAAG,EAAE,iBAWhF,CAAA;AAED,eAAO,MAAM,QAAQ,UAAiB,MAAM,UAAU,MAAM,sBAAsB,GAAG,KAAG,OAAO,CAAC,GAAG,CAelG,CAAA"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@stake-dao/reader",
3
+ "description": "",
4
+ "version": "0.1.0",
5
+ "license": "AGPL-3.0-only",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/stake-dao/monorepo",
9
+ "directory": "packages/reader"
10
+ },
11
+ "files": [
12
+ "dist/**",
13
+ "!dist/**/*.tsbuildinfo",
14
+ "src/**/*.ts",
15
+ "!src/**/*.test.ts",
16
+ "!src/**/*.test-d.ts"
17
+ ],
18
+ "sideEffects": false,
19
+ "type": "module",
20
+ "main": "./dist/esm/index.js",
21
+ "types": "./dist/types/index.d.ts",
22
+ "typings": "./dist/types/index.d.ts",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/types/index.d.ts",
26
+ "default": "./dist/esm/index.js"
27
+ },
28
+ "./package.json": "./package.json"
29
+ },
30
+ "typesVersions": {
31
+ "*": {}
32
+ },
33
+ "dependencies": {
34
+ "ky": "^1.2.4",
35
+ "lodash-es": "^4.17.21",
36
+ "viem": "^2.9.31",
37
+ "@stake-dao/constants": "0.1.0"
38
+ },
39
+ "devDependencies": {
40
+ "@types/lodash-es": "^4.17.12"
41
+ },
42
+ "author": "Stake DAO",
43
+ "contributors": [
44
+ "0xVe <0xve@protonmail.com>"
45
+ ],
46
+ "keywords": [],
47
+ "scripts": {
48
+ "build": "pnpm run clean && pnpm run build:esm+types",
49
+ "build:esm+types": "tsc --project tsconfig.build.json --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
50
+ "clean": "rm -rf dist",
51
+ "test:build": "publint --strict",
52
+ "typecheck": "tsc --noEmit"
53
+ }
54
+ }
@@ -0,0 +1,166 @@
1
+ import type { BatchMetaData } from './types.js'
2
+
3
+ const curveStrats: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x60806040527352f541764e6e90eebc5c21ff570de0e2d63766b65f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073989aeb4d175e16225e39e87d0d97a3360524ad8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735f3b5dfeb7b28cdbd7faba78963ee202a494e2a260035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738e0c00ed546602fd9927df742bbabf726d5b0d1660045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156101b2575f80fd5b50604051612f2e380380612f2e83398181016040528101906101d4919061255c565b5f815190506101e1612165565b8167ffffffffffffffff8111156101fb576101fa6123a7565b5b60405190808252806020026020018201604052801561023457816020015b6102216121a3565b8152602001906001900390816102195790505b508160e001819052505f8490505f8690508173ffffffffffffffffffffffffffffffffffffffff16636977ff926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b2919061260f565b8360800181815250508173ffffffffffffffffffffffffffffffffffffffff1663513872bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610304573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610328919061260f565b8360a001818152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bf919061260f565b835f01818152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610431573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610455919061260f565b83602001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104d79190612649565b602060405180830381865afa1580156104f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610516919061260f565b83604001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161059a9190612649565b602060405180830381865afa1580156105b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d9919061260f565b8360600181815250508073ffffffffffffffffffffffffffffffffffffffff1663fbbb2b106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064f919061260f565b8360c00181815250505f5b848110156112d3575f86828151811061067657610675612662565b5b602002602001015190505f815f015190505f826040015190505f83606001519050835f01518860e0015186815181106106b2576106b1612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a08231855f01516040518263ffffffff1660e01b815260040161072f9190612649565b602060405180830381865afa15801561074a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076e919061260f565b8860e00151868151811061078557610784612662565b5b602002602001015160200181815250506107a48361130260201b60201c565b8960e0015187815181106107bb576107ba612662565b5b60200260200101516060018a60e0015188815181106107dd576107dc612662565b5b6020026020010151608001828152508281525050508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f919061260f565b8860e00151868151811061087657610875612662565b5b602002602001015160400181815250508173ffffffffffffffffffffffffffffffffffffffff166370a082315f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108de9190612649565b602060405180830381865afa1580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d919061260f565b8860e00151868151811061093457610933612662565b5b602002602001015160a00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161099c9190612649565b602060405180830381865afa1580156109b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db919061260f565b8860e0015186815181106109f2576109f1612662565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6f919061260f565b8860e001518681518110610a8657610a85612662565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b04919061260f565b8860e001518681518110610b1b57610b1a612662565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff1663331345835f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b839190612649565b6020604051808303815f875af1158015610b9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc3919061260f565b8860e001518681518110610bda57610bd9612662565b5b60200260200101516101200181815250508673ffffffffffffffffffffffffffffffffffffffff16636207d86685606001516040518263ffffffff1660e01b8152600401610c289190612649565b602060405180830381865afa158015610c43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c67919061260f565b8860e001518681518110610c7e57610c7d612662565b5b60200260200101516101400181815250508673ffffffffffffffffffffffffffffffffffffffff16634e791a3a85606001516040518263ffffffff1660e01b8152600401610ccc9190612649565b602060405180830381865afa158015610ce7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0b919061260f565b8860e001518681518110610d2257610d21612662565b5b60200260200101516101600181815250508073ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da0919061260f565b8860e001518681518110610db757610db6612662565b5b60200260200101516101800181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e35919061260f565b8860e001518681518110610e4c57610e4b612662565b5b60200260200101516101a00181815250505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ecb919061260f565b90508067ffffffffffffffff811115610ee757610ee66123a7565b5b604051908082528060200260200182016040528015610f155781602001602082028036833780820191505090505b508960e001518781518110610f2d57610f2c612662565b5b60200260200101516101c001819052508067ffffffffffffffff811115610f5757610f566123a7565b5b604051908082528060200260200182016040528015610f9057816020015b610f7d61223c565b815260200190600190039081610f755790505b508960e001518781518110610fa857610fa7612662565b5b60200260200101516101e001819052505f5b81811015611175575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610ffc919061269e565b602060405180830381865afa158015611017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103b91906126b7565b9050808b60e00151898151811061105557611054612662565b5b60200260200101516101c00151838151811061107457611073612662565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016110e79190612649565b60c060405180830381865afa158015611102573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611126919061277f565b8b60e00151898151811061113d5761113c612662565b5b60200260200101516101e00151838151811061115c5761115b612662565b5b6020026020010181905250508080600101915050610fba565b50611185836114d360201b60201c565b8960e00151878151811061119c5761119b612662565b5b6020026020010151610200018190525061129a8e8873ffffffffffffffffffffffffffffffffffffffff166398cf47156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121d91906126b7565b87604001518773ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128f919061260f565b61175160201b60201c565b8960e0015187815181106112b1576112b0612662565b5b602002602001015161022001819052505050505050808060010191505061065a565b505f836040516020016112e69190612e53565b6040516020818303038152906040529050602081018059038082f35b5f808273ffffffffffffffffffffffffffffffffffffffff1663f8ce31646040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561136c57506040513d601f19601f82011682018060405250810190611369919061260f565b60015b6113e4578273ffffffffffffffffffffffffffffffffffffffff16633f71410a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113dd919061260f565b91506113e9565b809250505b8273ffffffffffffffffffffffffffffffffffffffff1663422ede426040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561145157506040513d601f19601f8201168201806040525081019061144e919061260f565b60015b6114c9578273ffffffffffffffffffffffffffffffffffffffff16637118035d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c2919061260f565b90506114ce565b809150505b915091565b60605f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561154257506040513d601f19601f8201168201806040525081019061153f919061260f565b60015b61154e575f9050611553565b809150505b8067ffffffffffffffff81111561156d5761156c6123a7565b5b6040519080825280602002602001820160405280156115a657816020015b611593612298565b81526020019060019003908161158b5790505b5092505f5b81811015611749575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b81526004016115ed919061269e565b602060405180830381865afa158015611608573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162c91906126b7565b90508085838151811061164257611641612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f745f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016116d9929190612e73565b602060405180830381865afa1580156116f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611718919061260f565b85838151811061172b5761172a612662565b5b602002602001015160200181815250505080806001019150506115ab565b505050919050565b6117596122c6565b5f8590505f8490505f8273ffffffffffffffffffffffffffffffffffffffff166326256c0b876040518263ffffffff1660e01b815260040161179b9190612649565b602060405180830381865afa1580156117b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117da91906126b7565b90505f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141590505f8060608315611f65575f8590505f8173ffffffffffffffffffffffffffffffffffffffff1663475a91d16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188b91906126b7565b90508173ffffffffffffffffffffffffffffffffffffffff166370a082315f6040518263ffffffff1660e01b81526004016118c69190612649565b602060405180830381865afa1580156118e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611905919061260f565b94508c73ffffffffffffffffffffffffffffffffffffffff1663f7bbd4ec8d6040518263ffffffff1660e01b81526004016119409190612649565b602060405180830381865afa15801561195b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197f919061260f565b93505f8173ffffffffffffffffffffffffffffffffffffffff1663d55a23f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ef919061260f565b90506001816119fe9190612ec7565b67ffffffffffffffff811115611a1757611a166123a7565b5b604051908082528060200260200182016040528015611a5057816020015b611a3d612298565b815260200190600190039081611a355790505b5093508173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac091906126b7565b845f81518110611ad357611ad2612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff16628cc262896040518263ffffffff1660e01b8152600401611b489190612649565b602060405180830381865afa158015611b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b87919061260f565b845f81518110611b9a57611b99612662565b5b602002602001015160200181815250505f5b81811015611f60575f8373ffffffffffffffffffffffffffffffffffffffff166340c35446836040518263ffffffff1660e01b8152600401611bee919061269e565b602060405180830381865afa158015611c09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2d91906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff16628cc2628b6040518263ffffffff1660e01b8152600401611c679190612649565b602060405180830381865afa158015611c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca6919061260f565b86600184611cb49190612ec7565b81518110611cc557611cc4612662565b5b6020026020010151602001818152505060978473ffffffffffffffffffffffffffffffffffffffff1663f10684546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d44919061260f565b10611e88575f8173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db791906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2691906126b7565b87600185611e349190612ec7565b81518110611e4557611e44612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505050611f52565b8073ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef591906126b7565b86600184611f039190612ec7565b81518110611f1457611f13612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b508080600101915050611bac565b505050505b5f828a11611f735789611f75565b825b905084895f01901515908115158152505085896020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505089896040018181525050838a611fd49190612efa565b896060018181525050838960800181815250508673ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120419190612649565b602060405180830381865afa15801561205c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612080919061260f565b8960a00181815250508673ffffffffffffffffffffffffffffffffffffffff166313ecb1ca60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120e39190612649565b602060405180830381865afa1580156120fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612122919061260f565b8960c001818152505081896101200181905250808960e0018181525050808a61214b9190612efa565b896101000181815250505050505050505050949350505050565b6040518061010001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b6040518061024001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016060815260200160608152602001606081526020016122366122c6565b81525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b6040518061014001604052805f151581526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236282612339565b9050919050565b61237281612358565b811461237c575f80fd5b50565b5f8151905061238d81612369565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123dd82612397565b810181811067ffffffffffffffff821117156123fc576123fb6123a7565b5b80604052505050565b5f61240e612328565b905061241a82826123d4565b919050565b5f67ffffffffffffffff821115612439576124386123a7565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f608082840312156124675761246661244e565b5b6124716080612405565b90505f6124808482850161237f565b5f8301525060206124938482850161237f565b60208301525060406124a78482850161237f565b60408301525060606124bb8482850161237f565b60608301525092915050565b5f6124d96124d48461241f565b612405565b905080838252602082019050608084028301858111156124fc576124fb61244a565b5b835b8181101561252557806125118882612452565b8452602084019350506080810190506124fe565b5050509392505050565b5f82601f83011261254357612542612393565b5b81516125538482602086016124c7565b91505092915050565b5f805f806080858703121561257457612573612331565b5b5f6125818782880161237f565b94505060206125928782880161237f565b93505060406125a38782880161237f565b925050606085015167ffffffffffffffff8111156125c4576125c3612335565b5b6125d08782880161252f565b91505092959194509250565b5f819050919050565b6125ee816125dc565b81146125f8575f80fd5b50565b5f81519050612609816125e5565b92915050565b5f6020828403121561262457612623612331565b5b5f612631848285016125fb565b91505092915050565b61264381612358565b82525050565b5f60208201905061265c5f83018461263a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612698816125dc565b82525050565b5f6020820190506126b15f83018461268f565b92915050565b5f602082840312156126cc576126cb612331565b5b5f6126d98482850161237f565b91505092915050565b5f60c082840312156126f7576126f661244e565b5b61270160c0612405565b90505f6127108482850161237f565b5f8301525060206127238482850161237f565b6020830152506040612737848285016125fb565b604083015250606061274b848285016125fb565b606083015250608061275f848285016125fb565b60808301525060a0612773848285016125fb565b60a08301525092915050565b5f60c0828403121561279457612793612331565b5b5f6127a1848285016126e2565b91505092915050565b6127b3816125dc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127eb81612358565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61282583836127e2565b60208301905092915050565b5f602082019050919050565b5f612847826127f1565b61285181856127fb565b935061285c8361280b565b805f5b8381101561288c578151612873888261281a565b975061287e83612831565b92505060018101905061285f565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f8201516128d65f8501826127e2565b5060208201516128e960208501826127e2565b5060408201516128fc60408501826127aa565b50606082015161290f60608501826127aa565b50608082015161292260808501826127aa565b5060a082015161293560a08501826127aa565b50505050565b5f61294683836128c2565b60c08301905092915050565b5f602082019050919050565b5f61296882612899565b61297281856128a3565b935061297d836128b3565b805f5b838110156129ad578151612994888261293b565b975061299f83612952565b925050600181019050612980565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b604082015f8201516129f75f8501826127e2565b506020820151612a0a60208501826127aa565b50505050565b5f612a1b83836129e3565b60408301905092915050565b5f602082019050919050565b5f612a3d826129ba565b612a4781856129c4565b9350612a52836129d4565b805f5b83811015612a82578151612a698882612a10565b9750612a7483612a27565b925050600181019050612a55565b5085935050505092915050565b5f8115159050919050565b612aa381612a8f565b82525050565b5f61014083015f830151612abf5f860182612a9a565b506020830151612ad260208601826127e2565b506040830151612ae560408601826127aa565b506060830151612af860608601826127aa565b506080830151612b0b60808601826127aa565b5060a0830151612b1e60a08601826127aa565b5060c0830151612b3160c08601826127aa565b5060e0830151612b4460e08601826127aa565b50610100830151612b596101008601826127aa565b50610120830151848203610120860152612b738282612a33565b9150508091505092915050565b5f61024083015f830151612b965f8601826127e2565b506020830151612ba960208601826127aa565b506040830151612bbc60408601826127aa565b506060830151612bcf60608601826127aa565b506080830151612be260808601826127aa565b5060a0830151612bf560a08601826127aa565b5060c0830151612c0860c08601826127aa565b5060e0830151612c1b60e08601826127aa565b50610100830151612c306101008601826127aa565b50610120830151612c456101208601826127aa565b50610140830151612c5a6101408601826127aa565b50610160830151612c6f6101608601826127aa565b50610180830151612c846101808601826127aa565b506101a0830151612c996101a08601826127aa565b506101c08301518482036101c0860152612cb3828261283d565b9150506101e08301518482036101e0860152612ccf828261295e565b915050610200830151848203610200860152612ceb8282612a33565b915050610220830151848203610220860152612d078282612aa9565b9150508091505092915050565b5f612d1f8383612b80565b905092915050565b5f602082019050919050565b5f612d3d826127b9565b612d4781856127c3565b935083602082028501612d59856127d3565b805f5b85811015612d945784840389528151612d758582612d14565b9450612d8083612d27565b925060208a01995050600181019050612d5c565b50829750879550505050505092915050565b5f61010083015f830151612dbc5f8601826127aa565b506020830151612dcf60208601826127aa565b506040830151612de260408601826127aa565b506060830151612df560608601826127aa565b506080830151612e0860808601826127aa565b5060a0830151612e1b60a08601826127aa565b5060c0830151612e2e60c08601826127aa565b5060e083015184820360e0860152612e468282612d33565b9150508091505092915050565b5f6020820190508181035f830152612e6b8184612da6565b905092915050565b5f604082019050612e865f83018561263a565b612e93602083018461263a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612ed1826125dc565b9150612edc836125dc565b9250828201905080821115612ef457612ef3612e9a565b5b92915050565b5f612f04826125dc565b9150612f0f836125dc565b9250828203905081811115612f2757612f26612e9a565b5b9291505056fe',
6
+ 42161:
7
+ '0x60806040527311cdb42b0eb46d95f990bedd4695a6e3fa0349786000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352f541764e6e90eebc5c21ff570de0e2d63766b6600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100b957600080fd5b50604051611b84380380611b8483398181016040528101906100db9190611373565b6000815190506100e9610ffa565b8167ffffffffffffffff811115610103576101026111b3565b5b60405190808252806020026020018201604052801561013c57816020015b61012961100d565b8152602001906001900390816101215790505b508160000181905250600084905060005b83811015610d3957600085828151811061016a576101696113cf565b5b602002602001015190506000816000015190506000826040015190506000836060015190508360000151876000015186815181106101ab576101aa6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a0823185600001516040518263ffffffff1660e01b815260040161022a919061140d565b602060405180830381865afa158015610247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026b919061145e565b87600001518681518110610282576102816113cf565b5b602002602001015160200181815250508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610301919061145e565b87600001518681518110610318576103176113cf565b5b602002602001015160400181815250508573ffffffffffffffffffffffffffffffffffffffff166360e3d573856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161038792919061148b565b602060405180830381865afa1580156103a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c8919061145e565b876000015186815181106103df576103de6113cf565b5b602002602001015160600181815250508573ffffffffffffffffffffffffffffffffffffffff16635ef1e4b1856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161044e92919061148b565b602060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f919061145e565b876000015186815181106104a6576104a56113cf565b5b602002602001015160800181815250508573ffffffffffffffffffffffffffffffffffffffff1663bcd53d7b856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161051592919061148b565b602060405180830381865afa158015610532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610556919061145e565b8760000151868151811061056d5761056c6113cf565b5b602002602001015160a00181815250508573ffffffffffffffffffffffffffffffffffffffff166343fde008856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016105dc92919061148b565b602060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d919061145e565b87600001518681518110610634576106336113cf565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166370a08231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161069f919061140d565b602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061145e565b876000015186815181106106f7576106f66113cf565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610762919061140d565b602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061145e565b876000015186815181106107ba576107b96113cf565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a919061145e565b87600001518681518110610851576108506113cf565b5b60200260200101516101200181815250508173ffffffffffffffffffffffffffffffffffffffff166333134583600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108bd919061140d565b6020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610900919061145e565b87600001518681518110610917576109166113cf565b5b60200260200101516101400181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061145e565b876000015186815181106109ae576109ad6113cf565b5b602002602001015161016001818152505060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a30919061145e565b90508067ffffffffffffffff811115610a4c57610a4b6111b3565b5b604051908082528060200260200182016040528015610a7a5781602001602082028036833780820191505090505b5088600001518781518110610a9257610a916113cf565b5b602002602001015161018001819052508067ffffffffffffffff811115610abc57610abb6111b3565b5b604051908082528060200260200182016040528015610af557816020015b610ae2611099565b815260200190600190039081610ada5790505b5088600001518781518110610b0d57610b0c6113cf565b5b60200260200101516101a0018190525060005b81811015610ce65760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610b6391906114c3565b602060405180830381865afa158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba491906114de565b9050808a600001518981518110610bbe57610bbd6113cf565b5b602002602001015161018001518381518110610bdd57610bdc6113cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b8152600401610c50919061140d565b60c060405180830381865afa158015610c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9191906115ab565b8a600001518981518110610ca857610ca76113cf565b5b60200260200101516101a001518381518110610cc757610cc66113cf565b5b6020026020010181905250508080610cde90611607565b915050610b20565b50610cfa8560400151610d6960201b60201c565b88600001518781518110610d1157610d106113cf565b5b60200260200101516101c0018190525050505050508080610d3190611607565b91505061014d565b50600082604051602001610d4d9190611b61565b6040516020818303038152906040529050602081018059038082f35b6060600082905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dda57506040513d601f19601f82011682018060405250810190610dd7919061145e565b60015b610de75760009050610dec565b809150505b8067ffffffffffffffff811115610e0657610e056111b3565b5b604051908082528060200260200182016040528015610e3f57816020015b610e2c6110fb565b815260200190600190039081610e245790505b50925060005b81811015610ff25760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610e8891906114c3565b602060405180830381865afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906114de565b905080858381518110610edf57610ede6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f74600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f7a92919061148b565b602060405180830381865afa158015610f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbb919061145e565b858381518110610fce57610fcd6113cf565b5b60200260200101516020018181525050508080610fea90611607565b915050610e45565b505050919050565b6040518060200160405280606081525090565b604051806101e00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116a8261113f565b9050919050565b61117a8161115f565b811461118557600080fd5b50565b60008151905061119781611171565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111eb826111a2565b810181811067ffffffffffffffff8211171561120a576112096111b3565b5b80604052505050565b600061121d61112b565b905061122982826111e2565b919050565b600067ffffffffffffffff821115611249576112486111b3565b5b602082029050602081019050919050565b600080fd5b600080fd5b60006080828403121561127a5761127961125f565b5b6112846080611213565b9050600061129484828501611188565b60008301525060206112a884828501611188565b60208301525060406112bc84828501611188565b60408301525060606112d084828501611188565b60608301525092915050565b60006112ef6112ea8461122e565b611213565b905080838252602082019050608084028301858111156113125761131161125a565b5b835b8181101561133b57806113278882611264565b845260208401935050608081019050611314565b5050509392505050565b600082601f83011261135a5761135961119d565b5b815161136a8482602086016112dc565b91505092915050565b6000806040838503121561138a57611389611135565b5b600061139885828601611188565b925050602083015167ffffffffffffffff8111156113b9576113b861113a565b5b6113c585828601611345565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6114078161115f565b82525050565b600060208201905061142260008301846113fe565b92915050565b6000819050919050565b61143b81611428565b811461144657600080fd5b50565b60008151905061145881611432565b92915050565b60006020828403121561147457611473611135565b5b600061148284828501611449565b91505092915050565b60006040820190506114a060008301856113fe565b6114ad60208301846113fe565b9392505050565b6114bd81611428565b82525050565b60006020820190506114d860008301846114b4565b92915050565b6000602082840312156114f4576114f3611135565b5b600061150284828501611188565b91505092915050565b600060c082840312156115215761152061125f565b5b61152b60c0611213565b9050600061153b84828501611188565b600083015250602061154f84828501611188565b602083015250604061156384828501611449565b604083015250606061157784828501611449565b606083015250608061158b84828501611449565b60808301525060a061159f84828501611449565b60a08301525092915050565b600060c082840312156115c1576115c0611135565b5b60006115cf8482850161150b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061161282611428565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611644576116436115d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6116848161115f565b82525050565b61169381611428565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006116d1838361167b565b60208301905092915050565b6000602082019050919050565b60006116f582611699565b6116ff81856116a4565b935061170a836116b5565b8060005b8381101561173b57815161172288826116c5565b975061172d836116dd565b92505060018101905061170e565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c08201600082015161178a600085018261167b565b50602082015161179d602085018261167b565b5060408201516117b0604085018261168a565b5060608201516117c3606085018261168a565b5060808201516117d6608085018261168a565b5060a08201516117e960a085018261168a565b50505050565b60006117fb8383611774565b60c08301905092915050565b6000602082019050919050565b600061181f82611748565b6118298185611753565b935061183483611764565b8060005b8381101561186557815161184c88826117ef565b975061185783611807565b925050600181019050611838565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516118b4600085018261167b565b5060208201516118c7602085018261168a565b50505050565b60006118d9838361189e565b60408301905092915050565b6000602082019050919050565b60006118fd82611872565b611907818561187d565b93506119128361188e565b8060005b8381101561194357815161192a88826118cd565b9750611935836118e5565b925050600181019050611916565b5085935050505092915050565b60006101e083016000830151611969600086018261167b565b50602083015161197c602086018261168a565b50604083015161198f604086018261168a565b5060608301516119a2606086018261168a565b5060808301516119b5608086018261168a565b5060a08301516119c860a086018261168a565b5060c08301516119db60c086018261168a565b5060e08301516119ee60e086018261168a565b50610100830151611a0361010086018261168a565b50610120830151611a1861012086018261168a565b50610140830151611a2d61014086018261168a565b50610160830151611a4261016086018261168a565b50610180830151848203610180860152611a5c82826116ea565b9150506101a08301518482036101a0860152611a788282611814565b9150506101c08301518482036101c0860152611a9482826118f2565b9150508091505092915050565b6000611aad8383611950565b905092915050565b6000602082019050919050565b6000611acd8261164f565b611ad7818561165a565b935083602082028501611ae98561166b565b8060005b85811015611b255784840389528151611b068582611aa1565b9450611b1183611ab5565b925060208a01995050600181019050611aed565b50829750879550505050505092915050565b60006020830160008301518482036000860152611b548282611ac2565b9150508091505092915050565b60006020820190508181036000830152611b7b8184611b37565b90509291505056fe',
8
+ },
9
+ inputType: {
10
+ 1: [
11
+ 'address _convexMinimalProxyFactory, address _strategy, address _gaugeController, CurveStategyInfo[] inputs',
12
+ 'struct CurveStategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
13
+ ],
14
+ 42161: [
15
+ 'address _feeRegistry, StategyInfo[] memory inputs',
16
+ 'struct StategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
17
+ ],
18
+ },
19
+ outputTypeHr: {
20
+ 1: [
21
+ 'CurveReturnData returnData',
22
+ 'struct CurveReturnData { uint256 cvxTotalSupply; uint256 veCrvTotalSupply; uint256 stakeDaoVeBoost; uint256 convexVeBoost; uint256 totalGaugeWeights; uint256 nextEffectiveTimestamp; uint256 claimerFee; CurveStratsData[] curveStratsData; }',
23
+ 'struct CurveRewardToken { address token; uint256 claimable; }',
24
+ 'struct Onlyboost { bool active; address convexImpl; uint256 totalSupply; uint256 stakeDaoSupply; uint256 convexSupply; uint256 convexStrategyHoldings; uint256 convexWorkingBalance; uint256 stakeDaoOptSupply; uint256 convexOptSupply; CurveRewardToken[] claimableData; }',
25
+ '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; }',
26
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
27
+ ],
28
+ 42161: [
29
+ 'CurveReturnData returnData',
30
+ 'struct CurveReturnData { CurveStratsData[] curveStratsData; }',
31
+ 'struct CurveRewardToken { address token; uint256 claimable; }',
32
+ '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; }',
33
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
34
+ ],
35
+ },
36
+ outputType: {
37
+ 1: [
38
+ {
39
+ type: 'tuple',
40
+ name: 'returnData',
41
+ components: [
42
+ { type: 'uint256', name: 'cvxTotalSupply' },
43
+ { type: 'uint256', name: 'veCrvTotalSupply' },
44
+ { type: 'uint256', name: 'stakeDaoVeBoost' },
45
+ { type: 'uint256', name: 'convexVeBoost' },
46
+ { type: 'uint256', name: 'totalGaugeWeights' },
47
+ { type: 'uint256', name: 'nextEffectiveTimestamp' },
48
+ { type: 'uint256', name: 'claimerFee' },
49
+ {
50
+ type: 'tuple[]',
51
+ name: 'curveStratsData',
52
+ components: [
53
+ { type: 'address', name: 'vault' },
54
+ { type: 'uint256', name: 'vaultHoldings' },
55
+ { type: 'uint256', name: 'totalSupply' },
56
+ { type: 'uint256', name: 'accumulatedFees' },
57
+ { type: 'uint256', name: 'keeperFee' },
58
+ { type: 'uint256', name: 'strategyHoldings' },
59
+ { type: 'uint256', name: 'workingBalance' },
60
+ { type: 'uint256', name: 'curveGaugeTotalSupply' },
61
+ { type: 'uint256', name: 'workingSupplyStaked' },
62
+ { type: 'uint256', name: 'claimablePendingRewards' },
63
+ { type: 'uint256', name: 'gaugeRelativeWeight' },
64
+ { type: 'uint256', name: 'gaugeWeight' },
65
+ { type: 'uint256', name: 'sdWorkingSupply' },
66
+ { type: 'uint256', name: 'sdGaugeTotalSupply' },
67
+ { type: 'address[]', name: 'rewardsTokens' },
68
+ {
69
+ type: 'tuple[]',
70
+ name: 'rewardsData',
71
+ components: [
72
+ { type: 'address', name: 'token' },
73
+ { type: 'address', name: 'distributor' },
74
+ { type: 'uint256', name: 'period_finish' },
75
+ { type: 'uint256', name: 'rate' },
76
+ { type: 'uint256', name: 'last_update' },
77
+ { type: 'uint256', name: 'integral' },
78
+ ],
79
+ },
80
+ {
81
+ type: 'tuple[]',
82
+ name: 'claimableData',
83
+ components: [
84
+ { type: 'address', name: 'token' },
85
+ { type: 'uint256', name: 'claimable' },
86
+ ],
87
+ },
88
+ {
89
+ type: 'tuple',
90
+ name: 'onlyboost',
91
+ components: [
92
+ { type: 'bool', name: 'active' },
93
+ { type: 'address', name: 'convexImpl' },
94
+ { type: 'uint256', name: 'totalSupply' },
95
+ { type: 'uint256', name: 'stakeDaoSupply' },
96
+ { type: 'uint256', name: 'convexSupply' },
97
+ { type: 'uint256', name: 'convexStrategyHoldings' },
98
+ { type: 'uint256', name: 'convexWorkingBalance' },
99
+ { type: 'uint256', name: 'stakeDaoOptSupply' },
100
+ { type: 'uint256', name: 'convexOptSupply' },
101
+ {
102
+ type: 'tuple[]',
103
+ name: 'claimableData',
104
+ components: [
105
+ { type: 'address', name: 'token' },
106
+ { type: 'uint256', name: 'claimable' },
107
+ ],
108
+ },
109
+ ],
110
+ },
111
+ ],
112
+ },
113
+ ],
114
+ },
115
+ ],
116
+ 42161: [
117
+ {
118
+ type: 'tuple',
119
+ name: 'returnData',
120
+ components: [
121
+ {
122
+ type: 'tuple[]',
123
+ name: 'curveStratsData',
124
+ components: [
125
+ { type: 'address', name: 'vault' },
126
+ { type: 'uint256', name: 'vaultHoldings' },
127
+ { type: 'uint256', name: 'totalSupply' },
128
+ { type: 'uint256', name: 'veSDTFee' },
129
+ { type: 'uint256', name: 'perfFee' },
130
+ { type: 'uint256', name: 'accumulatorFee' },
131
+ { type: 'uint256', name: 'claimerFee' },
132
+ { type: 'uint256', name: 'strategyHoldings' },
133
+ { type: 'uint256', name: 'workingBalance' },
134
+ { type: 'uint256', name: 'workingSupplyStaked' },
135
+ { type: 'uint256', name: 'claimablePendingRewards' },
136
+ { type: 'uint256', name: 'sdGaugeTotalSupply' },
137
+ { type: 'address[]', name: 'rewardsTokens' },
138
+ {
139
+ type: 'tuple[]',
140
+ name: 'rewardsData',
141
+ components: [
142
+ { type: 'address', name: 'token' },
143
+ { type: 'address', name: 'distributor' },
144
+ { type: 'uint256', name: 'period_finish' },
145
+ { type: 'uint256', name: 'rate' },
146
+ { type: 'uint256', name: 'last_update' },
147
+ { type: 'uint256', name: 'integral' },
148
+ ],
149
+ },
150
+ {
151
+ type: 'tuple[]',
152
+ name: 'claimableData',
153
+ components: [
154
+ { type: 'address', name: 'token' },
155
+ { type: 'uint256', name: 'claimable' },
156
+ ],
157
+ },
158
+ ],
159
+ },
160
+ ],
161
+ },
162
+ ],
163
+ },
164
+ }
165
+
166
+ export default curveStrats
@@ -0,0 +1,3 @@
1
+ export { default as batchTokenData } from './tokenData.js'
2
+ export { default as batchSdtGaugeRewards } from './sdtGaugeRewards.js'
3
+ export { default as batchCurveStrats } from './curveStrats.js'
@@ -0,0 +1,26 @@
1
+ import type { BatchMetaData } from './types.js'
2
+
3
+ const commonInputType = ['address[] vaults']
4
+ const commonOutputType = [
5
+ 'ReturnData[] returnData',
6
+ 'struct ReturnData { address gauge; Erc20Data[] rewards; }',
7
+ 'struct Erc20Data { string name; string symbol; address tokenAddress; uint256 decimals; }',
8
+ ]
9
+
10
+ const sdtGaugeRewards: BatchMetaData = {
11
+ bytecode: {
12
+ 1: '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
13
+ 42161:
14
+ '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663b11ac5396040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
15
+ },
16
+ inputType: {
17
+ 1: commonInputType,
18
+ 42161: commonInputType,
19
+ },
20
+ outputTypeHr: {
21
+ 1: commonOutputType,
22
+ 42161: commonOutputType,
23
+ },
24
+ }
25
+
26
+ export default sdtGaugeRewards