@stake-dao/reader 0.4.80 → 0.4.81

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.
@@ -55,7 +55,7 @@ query UserVote {
55
55
  }
56
56
  }
57
57
  `;
58
- export const fetchSnapshotUserData = async (userAddress, spaces) => {
58
+ export const fetchSnapshotUserData = async (userAddress, spaces, titlePrefix) => {
59
59
  if (spaces.length === 0) {
60
60
  return undefined;
61
61
  }
@@ -66,8 +66,10 @@ export const fetchSnapshotUserData = async (userAddress, spaces) => {
66
66
  if (!response.proposals) {
67
67
  return undefined;
68
68
  }
69
+ const space = spaces[i];
69
70
  const proposals = response.proposals;
70
- const proposal = proposals.find((proposal) => proposal.title.startsWith(TITLE));
71
+ const prefix = titlePrefix?.[space] || '';
72
+ const proposal = proposals.find((proposal) => proposal.title.startsWith(`${prefix}${TITLE}`));
71
73
  if (!proposal) {
72
74
  return undefined;
73
75
  }
@@ -75,13 +77,13 @@ export const fetchSnapshotUserData = async (userAddress, spaces) => {
75
77
  let vp = 0;
76
78
  const userVotes = {};
77
79
  if (isAddress(userAddress)) {
78
- const fetchedVp = await getSnapshotScores(spaces[i], proposal.space.strategies, '1', [userAddress], Number.parseInt(proposal.snapshot));
80
+ const fetchedVp = await getSnapshotScores(space, proposal.space.strategies, '1', [userAddress], Number.parseInt(proposal.snapshot));
79
81
  for (const v of fetchedVp) {
80
82
  if (v?.[userAddress]) {
81
83
  vp += v?.[userAddress] || 0;
82
84
  }
83
85
  }
84
- const rawUserVotes = await graphql(SNAPSHOT_HUB, SNAPSHOT_USER_VOTE_QUERY(spaces[i], proposal.id, userAddress));
86
+ const rawUserVotes = await graphql(SNAPSHOT_HUB, SNAPSHOT_USER_VOTE_QUERY(space, proposal.id, userAddress));
85
87
  if (rawUserVotes?.votes && rawUserVotes.votes.length > 0) {
86
88
  const rawUserVote = rawUserVotes.votes[0];
87
89
  const totalSnapshotVote = Object.keys(rawUserVote.choice).reduce((total, i) => (total += rawUserVote.choice[i]), 0);
@@ -97,7 +99,7 @@ export const fetchSnapshotUserData = async (userAddress, spaces) => {
97
99
  }
98
100
  results.push({
99
101
  proposal,
100
- space: spaces[i],
102
+ space,
101
103
  vp,
102
104
  userVotes,
103
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,8 @@ declare const getHttpCalls: (chainId: number) => Promise<{
23
23
  sdfxsWorkingData?: undefined;
24
24
  sdspectraData?: undefined;
25
25
  } | {
26
+ bribesData: any;
26
27
  sdspectraData: any;
27
- bribesData?: undefined;
28
28
  fpisBribesData?: undefined;
29
29
  cvgAprs?: undefined;
30
30
  spectraAprs?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpCalls.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getHttpCalls.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY,YAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6E1C,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"getHttpCalls.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getHttpCalls.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY,YAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgF1C,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -27,6 +27,6 @@ interface SnapshotStrategy {
27
27
  network: string;
28
28
  params: any;
29
29
  }
30
- export declare const fetchSnapshotUserData: (userAddress: string, spaces: string[]) => Promise<ISnapshotUserData[] | undefined>;
30
+ export declare const fetchSnapshotUserData: (userAddress: string, spaces: string[], titlePrefix?: any) => Promise<ISnapshotUserData[] | undefined>;
31
31
  export {};
32
32
  //# sourceMappingURL=fetchSnapshotUserData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC7E;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAyDD,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,KACf,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAqEzC,CAAA"}
1
+ {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC7E;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAyDD,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,gBACF,GAAG,KAChB,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAwEzC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.4.80",
4
+ "version": "0.4.81",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "graphql-request": "^6.0.0",
36
36
  "lodash-es": "^4.17.21",
37
37
  "viem": "^2.21.53",
38
- "@stake-dao/constants": "0.4.40"
38
+ "@stake-dao/constants": "0.4.41"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/lodash-es": "^4.17.12",
@@ -30,7 +30,7 @@ const getBribesRewardsData = (
30
30
  { id: 'cake', value: bribesData?.[delegationWithId('cake')!] / 100 || 0 },
31
31
  { id: 'pendle', value: bribesData?.[delegationWithId('pendle')!] / 100 || 0 },
32
32
  { id: 'fxn', value: bribesData?.[delegationWithId('fxn')!] / 100 || 0 },
33
- { id: 'apw', value: bribesData?.[delegationWithId('apw')!] / 100 || 0 },
33
+ { id: 'spectra', value: bribesData?.[delegationWithId('spectra')!] / 100 || 0 },
34
34
  ]
35
35
 
36
36
  // Vote incentives APR
@@ -67,13 +67,16 @@ const getHttpCalls = async (chainId: number) => {
67
67
  return { bribesData: httpResponses[0], sdcakeData: httpResponses[1] }
68
68
  }
69
69
  case base.id: {
70
- const httpCalls = [(await fetch(`${STAKE_DAO_API}/main/api/lockers/sdspectra-working-supply.json`)).json()]
70
+ const httpCalls = [
71
+ (await fetch(`${GH_STAKE_DAO_BOUNTIES_REPORT}/main/delegationsAPRs.json`)).json(),
72
+ (await fetch(`${STAKE_DAO_API}/main/api/lockers/sdspectra-working-supply.json`)).json(),
73
+ ]
71
74
 
72
75
  const httpResponses = (await Promise.allSettled(httpCalls)).map((result) =>
73
76
  result.status === 'fulfilled' ? result.value : undefined,
74
77
  )
75
78
 
76
- return { sdspectraData: httpResponses[0] }
79
+ return { bribesData: httpResponses[0], sdspectraData: httpResponses[1] }
77
80
  }
78
81
  }
79
82
 
@@ -89,6 +89,7 @@ query UserVote {
89
89
  export const fetchSnapshotUserData = async (
90
90
  userAddress: string,
91
91
  spaces: string[],
92
+ titlePrefix?: any,
92
93
  ): Promise<ISnapshotUserData[] | undefined> => {
93
94
  if (spaces.length === 0) {
94
95
  return undefined
@@ -103,9 +104,12 @@ export const fetchSnapshotUserData = async (
103
104
  if (!response.proposals) {
104
105
  return undefined
105
106
  }
107
+
108
+ const space = spaces[i]! as string
106
109
  const proposals = response.proposals as SnapshotProposal[]
107
110
 
108
- const proposal = proposals.find((proposal) => proposal.title.startsWith(TITLE))
111
+ const prefix = titlePrefix?.[space] || ''
112
+ const proposal = proposals.find((proposal) => proposal.title.startsWith(`${prefix}${TITLE}`))
109
113
  if (!proposal) {
110
114
  return undefined
111
115
  }
@@ -115,7 +119,7 @@ export const fetchSnapshotUserData = async (
115
119
  const userVotes = {}
116
120
  if (isAddress(userAddress)) {
117
121
  const fetchedVp = await getSnapshotScores(
118
- spaces[i]!,
122
+ space,
119
123
  proposal.space.strategies,
120
124
  '1',
121
125
  [userAddress],
@@ -128,7 +132,7 @@ export const fetchSnapshotUserData = async (
128
132
  }
129
133
  }
130
134
 
131
- const rawUserVotes = await graphql(SNAPSHOT_HUB, SNAPSHOT_USER_VOTE_QUERY(spaces[i]!, proposal.id, userAddress))
135
+ const rawUserVotes = await graphql(SNAPSHOT_HUB, SNAPSHOT_USER_VOTE_QUERY(space, proposal.id, userAddress))
132
136
 
133
137
  if (rawUserVotes?.votes && rawUserVotes.votes.length > 0) {
134
138
  const rawUserVote = rawUserVotes.votes[0]
@@ -151,7 +155,7 @@ export const fetchSnapshotUserData = async (
151
155
 
152
156
  results.push({
153
157
  proposal,
154
- space: spaces[i] as string,
158
+ space,
155
159
  vp,
156
160
  userVotes,
157
161
  })