@berachain/berajs 0.2.8-beta.9 → 0.2.9

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 (237) hide show
  1. package/dist/{BeraError-_mQdkanr.d.cts → BeraError-7-A5JYy_.d.ts} +31 -2
  2. package/dist/{HoneyConfigProvider-DVP_9KZn.d.ts → HoneyConfigProvider-Dkj-_a5x.d.ts} +1 -1
  3. package/dist/{RequestError-BRIiJgHk.d.ts → RequestError-DBOIV65x.d.ts} +1 -1
  4. package/dist/abi/exports.mjs +4452 -2
  5. package/dist/actions/clients/exports.d.ts +2 -0
  6. package/dist/actions/clients/exports.mjs +12 -0
  7. package/dist/actions/exports.d.ts +104 -189
  8. package/dist/actions/exports.mjs +853 -2
  9. package/dist/actions/governance/exports.d.ts +140 -0
  10. package/dist/actions/governance/exports.mjs +226 -0
  11. package/dist/actions/server/exports.d.ts +13 -0
  12. package/dist/actions/server/exports.mjs +27 -0
  13. package/dist/chunk-3EARVV7K.mjs +414 -0
  14. package/dist/chunk-4Z4AK6SH.mjs +211 -0
  15. package/dist/chunk-75M6TF7M.mjs +25 -0
  16. package/dist/chunk-AFN4CVD3.mjs +326 -0
  17. package/dist/chunk-BGMRHTBQ.mjs +23 -0
  18. package/dist/chunk-CDFWPU2R.mjs +473 -0
  19. package/dist/chunk-CDK4YV3D.mjs +571 -0
  20. package/dist/chunk-DKMAIU74.mjs +62 -0
  21. package/dist/chunk-EXIUPSFN.mjs +86 -0
  22. package/dist/chunk-FFB5LFDW.mjs +35 -0
  23. package/dist/chunk-HQCOU6GY.mjs +243 -0
  24. package/dist/chunk-HSSJKHZ4.mjs +135 -0
  25. package/dist/chunk-J5I45WGQ.mjs +1769 -0
  26. package/dist/chunk-KQUMKB66.mjs +89 -0
  27. package/dist/chunk-NBYLMO2L.mjs +14 -0
  28. package/dist/chunk-NPBQLVL3.mjs +80 -0
  29. package/dist/chunk-O2NQFKJK.mjs +170 -0
  30. package/dist/chunk-QJIXTYTZ.mjs +4054 -0
  31. package/dist/chunk-SGIJVHZO.mjs +12 -0
  32. package/dist/chunk-SZ5C44L5.mjs +35 -0
  33. package/dist/chunk-WXXOISTU.mjs +96 -0
  34. package/dist/chunk-XIYN6AL6.mjs +160 -0
  35. package/dist/contexts/exports.d.ts +2 -2
  36. package/dist/contexts/exports.mjs +85 -2
  37. package/dist/enum/exports.d.ts +1 -1
  38. package/dist/enum/exports.mjs +46 -2
  39. package/dist/enum/governance/exports.d.ts +60 -0
  40. package/dist/enum/governance/exports.mjs +14 -0
  41. package/dist/errors/exports.d.ts +4 -3
  42. package/dist/errors/exports.mjs +48 -2
  43. package/dist/exports-BcUTGFUb.d.ts +40 -0
  44. package/dist/{getValidatorQueuedOperatorAddress-BcyxE9uw.d.ts → getValidatorQueuedOperatorAddress-Dw5KN5sh.d.ts} +2 -2
  45. package/dist/{global.d-5w_lvl2J.d.ts → global.d-BuGDKh4k.d.ts} +4 -240
  46. package/dist/hooks/exports.d.ts +69 -211
  47. package/dist/hooks/exports.mjs +7434 -4
  48. package/dist/hooks/governance/exports.d.ts +181 -0
  49. package/dist/hooks/governance/exports.mjs +888 -0
  50. package/dist/pol.d-CqPA9K6m.d.ts +142 -0
  51. package/dist/{txnEnum-7_o92X3N.d.cts → txnEnum-ByI5dtDi.d.ts} +2 -60
  52. package/dist/types/exports.d.ts +9 -9
  53. package/dist/types/exports.mjs +0 -1
  54. package/dist/types/governance/exports.d.ts +109 -0
  55. package/dist/types/governance/exports.mjs +0 -0
  56. package/dist/{useHoneySwapState-B494PQDl.d.ts → useHoneySwapState-vFmuFF0g.d.ts} +1 -1
  57. package/dist/utils/exports.d.ts +15 -6
  58. package/dist/utils/exports.mjs +825 -2
  59. package/package.json +49 -13
  60. package/src/actions/__test/transports.ts +61 -0
  61. package/src/actions/clients/exports.ts +4 -0
  62. package/src/actions/clients/getApolloClient.ts +58 -23
  63. package/src/actions/clients/getEnsoClient.ts +20 -9
  64. package/src/actions/dex/aggregators/enso/enso.ts +27 -17
  65. package/src/actions/dex/aggregators/enso/ensoErc4626.ts +2 -2
  66. package/src/actions/dex/aggregators/kyberswap.ts +18 -23
  67. package/src/actions/enso/__tests__/getEnsoUserTokensWithBalances.debug.test.ts +3 -6
  68. package/src/actions/exports.ts +4 -9
  69. package/src/actions/governance/exports.ts +9 -0
  70. package/src/actions/governance/getAllProposals.ts +10 -65
  71. package/src/actions/governance/getProposalDetails.ts +6 -33
  72. package/src/actions/governance/getProposalVotes.ts +8 -15
  73. package/src/actions/honey/getChartData.ts +27 -21
  74. package/src/actions/honey/getHoney24hVolume.ts +19 -22
  75. package/src/actions/pol/getAutoclaimedIncentives.ts +30 -0
  76. package/src/actions/pol/getBeraTokenTotalSupply.ts +45 -0
  77. package/src/actions/pol/getBgtIncentiveDistributorPaused.ts +35 -0
  78. package/src/actions/pol/getEarnedStakedBeraVault.ts +7 -11
  79. package/src/actions/pol/getGlobalData.ts +1 -0
  80. package/src/actions/pol/getHeroEarnVaults.ts +62 -0
  81. package/src/actions/pol/getIncentiveFeeClaimStats.ts +19 -38
  82. package/src/actions/pol/getSWBeraVaultMetadata.ts +1 -1
  83. package/src/actions/pol/getStakingDailyAssets.ts +7 -10
  84. package/src/actions/server/exports.ts +1 -0
  85. package/src/actions/server/getDailyValidatorBlockStats.ts +33 -0
  86. package/src/actions/tokens/getWalletBalances.integration.test.ts +3 -6
  87. package/src/actions/transactions/beraWriteContract.integration.test.ts +3 -6
  88. package/src/actions/validators/getDailyValidatorBlockStats.ts +25 -24
  89. package/src/actions/validators/getValidatorAnalytics.ts +20 -21
  90. package/src/actions/validators/getValidatorIncentiveDistribution.ts +33 -0
  91. package/src/enum/contracts.ts +1 -0
  92. package/src/enum/exports.ts +0 -1
  93. package/src/enum/governance/exports.ts +1 -0
  94. package/src/errors/BeraError.ts +47 -7
  95. package/src/errors/BeraTracing.unit.test.ts +65 -0
  96. package/src/errors/RequestError.ts +13 -1
  97. package/src/errors/exports.ts +5 -0
  98. package/src/errors/getRevertReason.integration.test.ts +3 -3
  99. package/src/errors/spanStatus.ts +78 -0
  100. package/src/errors/spanStatus.unit.test.ts +62 -0
  101. package/src/hooks/dex/useCreatePool.ts +1 -88
  102. package/src/hooks/dex/useOnChainPoolData.ts +27 -2
  103. package/src/hooks/dex/usePriceImpact.ts +12 -5
  104. package/src/hooks/enso/useBendDemultiply.ts +9 -1
  105. package/src/hooks/enso/useBendMultiply.ts +9 -1
  106. package/src/hooks/enso/useBendZapSupply.ts +26 -7
  107. package/src/hooks/enso/useEnsoSwapBundle.ts +17 -3
  108. package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +13 -2
  109. package/src/hooks/exports.ts +2 -15
  110. package/src/hooks/governance/exports.ts +14 -0
  111. package/src/hooks/pol/useAutoclaimedIncentives.ts +49 -0
  112. package/src/hooks/pol/useStakedAPR.ts +2 -2
  113. package/src/hooks/pol/useStakedSnapshots.ts +5 -9
  114. package/src/hooks/validators/useValidator.ts +2 -0
  115. package/src/hooks/validators/useValidatorIncentiveDistribution.ts +39 -0
  116. package/src/types/bribe-boost.d.ts +8 -0
  117. package/src/types/exports.ts +0 -1
  118. package/src/types/governance/exports.ts +1 -0
  119. package/src/utils/beraFetch.ts +9 -3
  120. package/src/utils/exports.ts +1 -0
  121. package/src/utils/getServerSideClient.ts +4 -2
  122. package/src/utils/sanitizeRpcUrl.ts +22 -0
  123. package/src/utils/tracedTransport.ts +35 -0
  124. package/dist/BeraError-_mQdkanr.d.ts +0 -94
  125. package/dist/BexStatusProvider-DRymVlQf.d.cts +0 -70
  126. package/dist/HoneyConfigProvider-DfkjmzEf.d.cts +0 -390
  127. package/dist/RequestError-DSUzJ1Iy.d.cts +0 -144
  128. package/dist/abi/exports.cjs +0 -2
  129. package/dist/abi/exports.cjs.map +0 -1
  130. package/dist/abi/exports.d.cts +0 -6574
  131. package/dist/abi/exports.mjs.map +0 -1
  132. package/dist/actions/exports.cjs +0 -2
  133. package/dist/actions/exports.cjs.map +0 -1
  134. package/dist/actions/exports.d.cts +0 -1650
  135. package/dist/actions/exports.mjs.map +0 -1
  136. package/dist/chunk-45HIEVNI.cjs +0 -4
  137. package/dist/chunk-45HIEVNI.cjs.map +0 -1
  138. package/dist/chunk-47ILYVHC.mjs +0 -2
  139. package/dist/chunk-47ILYVHC.mjs.map +0 -1
  140. package/dist/chunk-575OK77P.mjs +0 -2
  141. package/dist/chunk-575OK77P.mjs.map +0 -1
  142. package/dist/chunk-5NVZG5N6.mjs +0 -2
  143. package/dist/chunk-5NVZG5N6.mjs.map +0 -1
  144. package/dist/chunk-6DIA6PXV.cjs +0 -2
  145. package/dist/chunk-6DIA6PXV.cjs.map +0 -1
  146. package/dist/chunk-6JJIZCVY.cjs +0 -2
  147. package/dist/chunk-6JJIZCVY.cjs.map +0 -1
  148. package/dist/chunk-7F72ZH4Q.mjs +0 -2
  149. package/dist/chunk-7F72ZH4Q.mjs.map +0 -1
  150. package/dist/chunk-AUA42YIG.mjs +0 -4
  151. package/dist/chunk-AUA42YIG.mjs.map +0 -1
  152. package/dist/chunk-BC2WX6O6.cjs +0 -2
  153. package/dist/chunk-BC2WX6O6.cjs.map +0 -1
  154. package/dist/chunk-CJOZC5Z2.cjs +0 -2
  155. package/dist/chunk-CJOZC5Z2.cjs.map +0 -1
  156. package/dist/chunk-D6L7LTA2.cjs +0 -2
  157. package/dist/chunk-D6L7LTA2.cjs.map +0 -1
  158. package/dist/chunk-DDEQFR3M.cjs +0 -2
  159. package/dist/chunk-DDEQFR3M.cjs.map +0 -1
  160. package/dist/chunk-GXV2JA36.mjs +0 -2
  161. package/dist/chunk-GXV2JA36.mjs.map +0 -1
  162. package/dist/chunk-ISYNEDET.mjs +0 -2
  163. package/dist/chunk-ISYNEDET.mjs.map +0 -1
  164. package/dist/chunk-JDDRTHFG.mjs +0 -2
  165. package/dist/chunk-JDDRTHFG.mjs.map +0 -1
  166. package/dist/chunk-JDZGYU5T.mjs +0 -2
  167. package/dist/chunk-JDZGYU5T.mjs.map +0 -1
  168. package/dist/chunk-LVOXBZMA.cjs +0 -2
  169. package/dist/chunk-LVOXBZMA.cjs.map +0 -1
  170. package/dist/chunk-MK5NS5B5.mjs +0 -2
  171. package/dist/chunk-MK5NS5B5.mjs.map +0 -1
  172. package/dist/chunk-NAXAZJJY.mjs +0 -2
  173. package/dist/chunk-NAXAZJJY.mjs.map +0 -1
  174. package/dist/chunk-NLVWRMGD.mjs +0 -2
  175. package/dist/chunk-NLVWRMGD.mjs.map +0 -1
  176. package/dist/chunk-OGBD5YOG.mjs +0 -2
  177. package/dist/chunk-OGBD5YOG.mjs.map +0 -1
  178. package/dist/chunk-OGJMSGB2.mjs +0 -2
  179. package/dist/chunk-OGJMSGB2.mjs.map +0 -1
  180. package/dist/chunk-OIYXOKTT.cjs +0 -2
  181. package/dist/chunk-OIYXOKTT.cjs.map +0 -1
  182. package/dist/chunk-OUD27MU7.cjs +0 -2
  183. package/dist/chunk-OUD27MU7.cjs.map +0 -1
  184. package/dist/chunk-PRLVZIKD.mjs +0 -2
  185. package/dist/chunk-PRLVZIKD.mjs.map +0 -1
  186. package/dist/chunk-Q2SNRLW3.cjs +0 -2
  187. package/dist/chunk-Q2SNRLW3.cjs.map +0 -1
  188. package/dist/chunk-REWME3FY.cjs +0 -2
  189. package/dist/chunk-REWME3FY.cjs.map +0 -1
  190. package/dist/chunk-RJN36GBU.mjs +0 -2
  191. package/dist/chunk-RJN36GBU.mjs.map +0 -1
  192. package/dist/chunk-RWOICHRW.cjs +0 -2
  193. package/dist/chunk-RWOICHRW.cjs.map +0 -1
  194. package/dist/chunk-S4CDSVLK.cjs +0 -2
  195. package/dist/chunk-S4CDSVLK.cjs.map +0 -1
  196. package/dist/chunk-SFEULGSX.cjs +0 -2
  197. package/dist/chunk-SFEULGSX.cjs.map +0 -1
  198. package/dist/chunk-WBTS6KFG.mjs +0 -2
  199. package/dist/chunk-WBTS6KFG.mjs.map +0 -1
  200. package/dist/chunk-WRFDB3QJ.cjs +0 -2
  201. package/dist/chunk-WRFDB3QJ.cjs.map +0 -1
  202. package/dist/chunk-XNJLSA6P.cjs +0 -2
  203. package/dist/chunk-XNJLSA6P.cjs.map +0 -1
  204. package/dist/contexts/exports.cjs +0 -2
  205. package/dist/contexts/exports.cjs.map +0 -1
  206. package/dist/contexts/exports.d.cts +0 -66
  207. package/dist/contexts/exports.mjs.map +0 -1
  208. package/dist/defaultFlags-D6KfkTZx.d.cts +0 -10
  209. package/dist/dex-C_BB0b0O.d.cts +0 -37
  210. package/dist/enum/exports.cjs +0 -2
  211. package/dist/enum/exports.cjs.map +0 -1
  212. package/dist/enum/exports.d.cts +0 -23
  213. package/dist/enum/exports.mjs.map +0 -1
  214. package/dist/errors/exports.cjs +0 -2
  215. package/dist/errors/exports.cjs.map +0 -1
  216. package/dist/errors/exports.d.cts +0 -327
  217. package/dist/errors/exports.mjs.map +0 -1
  218. package/dist/getValidatorQueuedOperatorAddress-Cql_D50j.d.cts +0 -562
  219. package/dist/global.d-B7IeayVX.d.cts +0 -474
  220. package/dist/honey-CYm0RWf4.d.cts +0 -14
  221. package/dist/hooks/exports.cjs +0 -4
  222. package/dist/hooks/exports.cjs.map +0 -1
  223. package/dist/hooks/exports.d.cts +0 -1734
  224. package/dist/hooks/exports.mjs.map +0 -1
  225. package/dist/polling-BKnyavLI.d.cts +0 -8
  226. package/dist/txnEnum-7_o92X3N.d.ts +0 -164
  227. package/dist/types/exports.cjs +0 -1
  228. package/dist/types/exports.cjs.map +0 -1
  229. package/dist/types/exports.d.cts +0 -90
  230. package/dist/types/exports.mjs.map +0 -1
  231. package/dist/useHoneySwapState-D6vpv19r.d.cts +0 -32
  232. package/dist/utils/exports.cjs +0 -2
  233. package/dist/utils/exports.cjs.map +0 -1
  234. package/dist/utils/exports.d.cts +0 -420
  235. package/dist/utils/exports.mjs.map +0 -1
  236. package/src/actions/dex/getIsTokenExploited.ts +0 -63
  237. package/src/hooks/dex/useExploitedTokens.ts +0 -57
@@ -0,0 +1,326 @@
1
+ import {
2
+ assertPublicClient
3
+ } from "./chunk-KQUMKB66.mjs";
4
+
5
+ // src/actions/governance/checkProposalField.ts
6
+ import { isAddress, isHex } from "viem";
7
+ function checkProposalField({
8
+ fieldOrType,
9
+ value,
10
+ required = true,
11
+ baseUrl,
12
+ components
13
+ }) {
14
+ const notRequiredAbiTypes = ["bool", "string"];
15
+ if (!notRequiredAbiTypes.includes(fieldOrType) && required && (value === void 0 || value === null || value === "")) {
16
+ return "Required" /* REQUIRED */;
17
+ }
18
+ if (fieldOrType.startsWith("uint") || fieldOrType.startsWith("int")) {
19
+ if (typeof value !== "string") {
20
+ return "Invalid amount" /* INVALID_AMOUNT */;
21
+ }
22
+ try {
23
+ const valueBN = BigInt(value);
24
+ if (fieldOrType.startsWith("uint")) {
25
+ if (valueBN < 0n) {
26
+ return "Negative amount" /* NEGATIVE_AMOUNT */;
27
+ }
28
+ }
29
+ } catch {
30
+ return "Invalid amount" /* INVALID_AMOUNT */;
31
+ }
32
+ return null;
33
+ }
34
+ switch (fieldOrType) {
35
+ case "string":
36
+ if (value !== void 0 && typeof value !== "string") {
37
+ return "Invalid amount" /* INVALID_AMOUNT */;
38
+ }
39
+ return null;
40
+ case "bool":
41
+ if (typeof value !== "boolean") {
42
+ return "Invalid amount" /* INVALID_AMOUNT */;
43
+ }
44
+ return null;
45
+ case "title":
46
+ if (typeof value !== "string" || value.length === 0) {
47
+ return "Required" /* REQUIRED */;
48
+ }
49
+ return null;
50
+ case "description":
51
+ if (typeof value !== "string" || value.length === 0) {
52
+ return "Required" /* REQUIRED */;
53
+ }
54
+ return null;
55
+ case "forumLink": {
56
+ if (typeof value !== "string" || value.length === 0) {
57
+ return "Required" /* REQUIRED */;
58
+ }
59
+ if (!URL.canParse(value)) {
60
+ return "Invalid address" /* INVALID_ADDRESS */;
61
+ }
62
+ const base = new URL(baseUrl);
63
+ if (!value.startsWith(base.toString())) {
64
+ return "Must be a berachain forum link" /* INVALID_BASEPATH */;
65
+ }
66
+ return null;
67
+ }
68
+ case "address":
69
+ if (typeof value !== "string" || !isAddress(value, { strict: true })) {
70
+ return "Invalid address" /* INVALID_ADDRESS */;
71
+ }
72
+ return null;
73
+ case "hex":
74
+ if (typeof value !== "string" || !isHex(value, { strict: true })) {
75
+ return "Invalid address" /* INVALID_ADDRESS */;
76
+ }
77
+ return null;
78
+ case "abi":
79
+ if (typeof value !== "string") {
80
+ return "Invalid ABI" /* INVALID_ABI */;
81
+ }
82
+ try {
83
+ JSON.parse(value);
84
+ } catch {
85
+ return "Invalid ABI" /* INVALID_ABI */;
86
+ }
87
+ return null;
88
+ case "action":
89
+ if (typeof value !== "string" || !isAddress(value, { strict: true })) {
90
+ return "Invalid address" /* INVALID_ADDRESS */;
91
+ }
92
+ return null;
93
+ case "tuple":
94
+ if (typeof value === "object" && Array.isArray(components)) {
95
+ const errors = {};
96
+ for (const component of components) {
97
+ const abiParam = component;
98
+ const name = abiParam.name;
99
+ errors[name] = checkProposalField({
100
+ fieldOrType: abiParam.type,
101
+ value: value[name],
102
+ components: abiParam.components
103
+ });
104
+ }
105
+ if (Object.values(errors).every((v) => v === null)) {
106
+ return null;
107
+ }
108
+ return errors;
109
+ }
110
+ return null;
111
+ case "tuple[]":
112
+ if (Array.isArray(value)) {
113
+ const errors = value.map(
114
+ (v) => checkProposalField({
115
+ fieldOrType: "tuple",
116
+ value: v,
117
+ components
118
+ })
119
+ );
120
+ if (errors.every((v) => v === null)) {
121
+ return null;
122
+ }
123
+ return errors;
124
+ }
125
+ return null;
126
+ case "logoURI": {
127
+ if (value === void 0 || value === "") {
128
+ return null;
129
+ }
130
+ if (typeof value !== "string" || !URL.canParse(value) || new URL(value).protocol !== "https:") {
131
+ return "Must be HTTPS or IPFS" /* MUST_BE_HTTPS_OR_IPFS */;
132
+ }
133
+ return null;
134
+ }
135
+ case "url": {
136
+ if (value === void 0 || value === "") {
137
+ return null;
138
+ }
139
+ if (typeof value !== "string" || !URL.canParse(value) || new URL(value).protocol !== "https:") {
140
+ return "Must be HTTPS" /* MUST_BE_HTTPS */;
141
+ }
142
+ return null;
143
+ }
144
+ default:
145
+ console.error(`Invalid field or type: ${fieldOrType}`);
146
+ return null;
147
+ }
148
+ }
149
+
150
+ // src/actions/governance/getAllProposals.ts
151
+ async function getAllProposals(_args) {
152
+ return [];
153
+ }
154
+
155
+ // src/actions/governance/getBodyErrors.ts
156
+ function getBodyErrors({
157
+ proposal,
158
+ currentTopic
159
+ }) {
160
+ const e = {};
161
+ e.title = checkProposalField({
162
+ fieldOrType: "title",
163
+ value: proposal.title
164
+ });
165
+ e.description = checkProposalField({
166
+ fieldOrType: "description",
167
+ value: proposal.description
168
+ });
169
+ e.forumLink = checkProposalField({
170
+ fieldOrType: "forumLink",
171
+ value: proposal.forumLink,
172
+ baseUrl: currentTopic.forumLink
173
+ });
174
+ return e;
175
+ }
176
+
177
+ // src/actions/governance/getProposalDetails.ts
178
+ async function getProposalDetails(_args) {
179
+ return void 0;
180
+ }
181
+
182
+ // src/actions/governance/parseProposalBody.ts
183
+ import graymatter from "gray-matter";
184
+ function parseLegacyBody(s) {
185
+ const pattern = /#(?:([\w-]+)# )?(.+)\n([\s\S]*)/;
186
+ const match = s.match(pattern);
187
+ if (match) {
188
+ const type = match[1] || null;
189
+ const title = match[2];
190
+ const content = match[3].replace("\n", "<br />");
191
+ return {
192
+ type,
193
+ title,
194
+ content
195
+ };
196
+ }
197
+ throw new Error("Invalid proposal body");
198
+ }
199
+ function parseProposalBody(proposal) {
200
+ if (!proposal) {
201
+ return {
202
+ isFrontMatter: false,
203
+ data: { title: "Loading..." },
204
+ content: "",
205
+ matter: "",
206
+ language: "",
207
+ orig: "",
208
+ stringify: () => ""
209
+ };
210
+ }
211
+ const body = proposal?.description ?? "";
212
+ if (graymatter.test(body)) {
213
+ return { ...graymatter(body), isFrontMatter: true };
214
+ }
215
+ try {
216
+ const legacyBody = parseLegacyBody(body);
217
+ return {
218
+ isFrontMatter: false,
219
+ data: { title: legacyBody.title },
220
+ content: legacyBody.content,
221
+ matter: "",
222
+ language: "",
223
+ orig: body,
224
+ stringify: () => body
225
+ };
226
+ } catch {
227
+ return {
228
+ isFrontMatter: false,
229
+ data: {
230
+ title: proposal?.description?.split("\n")[0].slice(0, 100)
231
+ },
232
+ content: body,
233
+ matter: "",
234
+ language: "",
235
+ orig: body,
236
+ stringify: () => body
237
+ };
238
+ }
239
+ }
240
+
241
+ // src/actions/governance/getProposalFromTx.ts
242
+ import {
243
+ parseEventLogs
244
+ } from "viem";
245
+ import { berachainGovernanceAbi as governanceAbi } from "@berachain/abis/gov/berachainGovernance";
246
+ import {
247
+ ProposalStatus
248
+ } from "@berachain/graphql/governance";
249
+ async function getProposalFromTx(args) {
250
+ assertPublicClient(args.publicClient);
251
+ let tx;
252
+ if ("tx" in args) {
253
+ tx = args.tx;
254
+ } else {
255
+ tx = await args.publicClient.getTransactionReceipt({ hash: args.txHash });
256
+ }
257
+ const creationEvent = tx?.logs ? parseEventLogs({
258
+ abi: governanceAbi,
259
+ logs: tx.logs,
260
+ eventName: "ProposalCreated"
261
+ })?.at(0) : void 0;
262
+ if (!tx || !creationEvent) {
263
+ return null;
264
+ }
265
+ const block = await args.publicClient.getBlock({
266
+ blockNumber: tx.blockNumber
267
+ });
268
+ const fm = parseProposalBody({
269
+ description: creationEvent?.args.description
270
+ });
271
+ return {
272
+ id: String(creationEvent.args.proposalId),
273
+ proposalId: String(creationEvent?.args.proposalId),
274
+ createdAt: block.timestamp.toString(),
275
+ title: fm.data.title,
276
+ createdAtBlock: block.timestamp.toString(),
277
+ voteStartAt: String(creationEvent?.args.voteStart),
278
+ voteEndAt: String(creationEvent?.args.voteEnd),
279
+ proposer: creationEvent?.args.proposer,
280
+ description: fm.content,
281
+ unverifiedForumLink: fm.data.forumLink,
282
+ pollResult: {
283
+ for: "0",
284
+ forVotersCount: 0,
285
+ forPercentage: "0",
286
+ against: "0",
287
+ againstVotersCount: 0,
288
+ againstPercentage: "0",
289
+ abstain: "0",
290
+ abstainVotersCount: 0,
291
+ abstainPercentage: "0",
292
+ total: "0",
293
+ totalVotersCount: 0,
294
+ totalTowardsQuorum: "0"
295
+ },
296
+ status: ProposalStatus.Pending,
297
+ quorum: null,
298
+ topics: fm.data.topics,
299
+ votes: [],
300
+ executableCalls: creationEvent?.args.targets.map(
301
+ (target, index) => ({
302
+ __typename: "ExecutableCall",
303
+ id: `${tx.transactionHash}-${index}`,
304
+ target,
305
+ value: String(creationEvent?.args.values[index]),
306
+ calldata: creationEvent?.args.calldatas[index]
307
+ })
308
+ ),
309
+ timelock: void 0
310
+ };
311
+ }
312
+
313
+ // src/actions/governance/getProposalVotes.ts
314
+ async function getProposalVotes(_args) {
315
+ return { data: { votes: [] } };
316
+ }
317
+
318
+ export {
319
+ checkProposalField,
320
+ getAllProposals,
321
+ getBodyErrors,
322
+ getProposalDetails,
323
+ parseProposalBody,
324
+ getProposalFromTx,
325
+ getProposalVotes
326
+ };
@@ -0,0 +1,23 @@
1
+ // src/contexts/BeraFlags/defaultFlags.ts
2
+ var defaultFlags = {
3
+ isGovernanceEnabled: true,
4
+ enableEip5792: false,
5
+ proxyAggregatorsThroughVercel: false,
6
+ isEmbeddedWalletsEnabled: true,
7
+ sponsorGas: false,
8
+ enableSimulateCalls: false,
9
+ isBendVaultDataHourly: true,
10
+ isBendLoopingEnabled: false,
11
+ isMultiChainZapBendEnabled: false,
12
+ isZapStakeBeraEnabled: false,
13
+ mockValidatorOperator: false,
14
+ mockValidatorRewardAllocator: false,
15
+ isBgtPolRewardToken: true,
16
+ mockRewardDurationManager: false,
17
+ mockIncentiveManager: false,
18
+ isHoneyPythWrapperEnabled: true
19
+ };
20
+
21
+ export {
22
+ defaultFlags
23
+ };