Last active
March 9, 2024 12:04
-
-
Save uratmangun/c815088e3eaa628e17bee7c49ad1c86d to your computer and use it in GitHub Desktop.
the code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Groq from "groq-sdk"; | |
const groq = new Groq({ | |
apiKey: "" | |
}); | |
export async function generate(text:string) { | |
const completion = await groq.chat.completions.create({ | |
messages: [ | |
{ | |
role: "system", | |
content: "you're summary generator create a summary of this markdown in a tweet style" | |
}, | |
{ | |
role: "user", | |
content: text | |
} | |
], | |
model: "mixtral-8x7b-32768" | |
}); | |
return completion.choices[0]?.message?.content || ""; | |
} | |
const payload={ | |
"query": `query ExploreOrgs($input: OrganizationsInput!) { | |
organizations(input: $input) { | |
nodes { | |
... on Organization { | |
id | |
slug | |
name | |
chainIds | |
proposalsCount | |
hasActiveProposals | |
tokenHoldersCount | |
votersCount | |
governorIds | |
metadata { | |
icon | |
} | |
} | |
} | |
} | |
}`, | |
"variables": { | |
"input": { | |
"sort": { | |
"isDescending": true, | |
"sortBy": "EXPLORE" | |
}, | |
"filters": { | |
"mustHaveLogo": true | |
}, | |
"page": { | |
"limit": 8 | |
} | |
} | |
} | |
} | |
export const fetchExplore = async () => { | |
try { | |
const response = await fetch("https://api.tally.xyz/query", { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
"Api-key": "" | |
}, | |
body: JSON.stringify(payload), | |
}); | |
const data = await response.json(); | |
return data; | |
} catch (error) { | |
return error; | |
} | |
}; | |
export const fetchProposalByGovernanceId = async (chainId:string,governanceId:string) => { | |
const payloadGovernanceId={"query":"query GovernanceProposals($sort: ProposalSort, $chainId: ChainID!, $pagination: Pagination, $governanceIds: [AccountID!], $proposerIds: [AccountID!], $voters: [Address!], $votersPagination: Pagination, $includeVotes: Boolean!) {\n proposals(\n sort: $sort\n chainId: $chainId\n pagination: $pagination\n governanceIds: $governanceIds\n proposerIds: $proposerIds\n ) {\n id\n \n description\n statusChanges {\n type\n }\n block {\n timestamp\n }\n voteStats {\n votes\n weight\n support\n percent\n }\n votes(voters: $voters, pagination: $votersPagination) @include(if: $includeVotes) {\n support\n voter {\n picture\n address\n identities {\n twitter\n }\n }\n }\n governance {\n id\n quorum\n name\n timelockId\n organization {\n metadata {\n icon\n }\n }\n tokens {\n decimals\n }\n }\n tallyProposal {\n id\n createdAt\n status\n }\n }\n }","variables":{"pagination":{"limit":8,"offset":0},"sort":{"field":"START_BLOCK","order":"DESC"},"chainId":chainId,"governanceIds":[governanceId],"votersPagination":{"limit":1,"offset":0},"includeVotes":false},"operationName":"GovernanceProposals"} | |
try { | |
const response = await fetch("https://api.tally.xyz/query", { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
"Api-key": "" | |
}, | |
body: JSON.stringify(payloadGovernanceId), | |
}); | |
const data = await response.json(); | |
return data; | |
} catch (error) { | |
return error; | |
} | |
}; | |
export const fetchProposalByGIdAndPId = async (governanceId:string,proposalId:string) => { | |
const payloadGovernanceId={"query":`query ProposalActiveCTA($governanceId: AccountID!, $proposalId: ID!, $voters: [Address!]) { | |
proposal( | |
governanceId: $governanceId | |
proposalId: $proposalId | |
) { | |
id | |
description | |
executable { | |
callDatas | |
targets | |
values | |
} | |
statusChanges { | |
type | |
txHash | |
} | |
votes(voters: $voters) { | |
support | |
} | |
} | |
governance(id: $governanceId) { | |
id | |
chainId | |
timelockId | |
contracts { | |
governor { | |
type | |
address | |
} | |
} | |
} | |
}`, | |
"variables": { | |
governanceId, | |
proposalId | |
} | |
} | |
try { | |
const response = await fetch("https://api.tally.xyz/query", { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
"Api-key": "" | |
}, | |
body: JSON.stringify(payloadGovernanceId), | |
}); | |
const data = await response.json(); | |
return data; | |
} catch (error) { | |
return error; | |
} | |
}; | |
export const fetchVoter = async (governanceId:string,proposalId:string) => { | |
const payloadGovernanceId={ | |
"query": "query ProposalVotesCastList($governanceId: AccountID!, $proposalId: ID!, $sort: VoteSort) {\n proposal(governanceId: $governanceId, proposalId: $proposalId) {\n votes(sort: $sort, pagination: {limit: 500}) {\n voter {\n name\n picture\n address\n identities {\n twitter\n }\n }\n weight\n support\n }\n }\n}\n", | |
"variables": { | |
"sort": { | |
"field": "WEIGHT", | |
"order": "DESC" | |
}, | |
proposalId, | |
governanceId | |
} | |
} | |
try { | |
const response = await fetch("https://api.tally.xyz/query", { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
"Api-key": "" | |
}, | |
body: JSON.stringify(payloadGovernanceId), | |
}); | |
const data = await response.json(); | |
return data; | |
} catch (error) { | |
return error; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment