@factordao/governance 1.0.0 → 1.0.1
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.
- package/README.md +5 -4
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/mjs/index.js +22 -0
- package/dist/mjs/index.js.map +1 -1
- package/package.json +1 -1
- package/types/index.d.ts +1 -0
package/README.md
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
This repository contains the governance for Factor.
|
|
4
4
|
|
|
5
5
|
## Implementation plan
|
|
6
|
-
- [
|
|
7
|
-
- [
|
|
8
|
-
- [
|
|
6
|
+
- [x] Create the subgraph to track the `emit AddVault(_chainId, _vault);` event from `FactorScale` on Arbitrum
|
|
7
|
+
- [x] Create the function to get all the vaults for all the available chains
|
|
8
|
+
- [x] Create the subgraph to track the `emit Vote(user, vaults[i], weights[i], newVote);` event from `FactorScale`
|
|
9
9
|
- [ ] Create the function to get all the votes for a given user
|
|
10
|
-
- [ ] Create the function to get all the votes
|
|
10
|
+
- [ ] Create the function to get all the votes allocations
|
|
11
|
+
- [ ] Create the function to get all the votes for all the users
|
|
11
12
|
- [ ] Create the subgraph to track the `emit ReceiveVotingResults(wTime, vaults, fctrAmounts);` event from `FactorGaugeController` of both Arbitrum and Base which is emitted after the broadcast
|
|
12
13
|
- [ ] Create the function to get all the rewards for a given vault
|
|
13
14
|
- [ ] Create the function to get all the rewards for all vaults
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAvailableVaultsForVoting = getAvailableVaultsForVoting;
|
|
4
|
+
exports.getVotesForUser = getVotesForUser;
|
|
4
5
|
const subgraphs_1 = require("./utils/subgraphs");
|
|
5
6
|
async function getAvailableVaultsForVoting(chainId, environment) {
|
|
6
7
|
const subgraphUrl = subgraphs_1.factorScaleSubgraphUrl[chainId]?.[environment];
|
|
@@ -22,4 +23,26 @@ async function getAvailableVaultsForVoting(chainId, environment) {
|
|
|
22
23
|
const data = await response.json();
|
|
23
24
|
return data.data.vaults;
|
|
24
25
|
}
|
|
26
|
+
async function getVotesForUser(chainId, environment, user) {
|
|
27
|
+
const subgraphUrl = subgraphs_1.factorScaleSubgraphUrl[chainId]?.[environment];
|
|
28
|
+
if (!subgraphUrl) {
|
|
29
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
30
|
+
}
|
|
31
|
+
const query = `
|
|
32
|
+
{
|
|
33
|
+
votes(where: { userAddress: "${user.toLowerCase()}" }) {
|
|
34
|
+
vaultAddress
|
|
35
|
+
userAddress
|
|
36
|
+
weight
|
|
37
|
+
timestamp
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
const response = await fetch(subgraphUrl, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
body: JSON.stringify({ query }),
|
|
44
|
+
});
|
|
45
|
+
const data = await response.json();
|
|
46
|
+
return data.data.votes;
|
|
47
|
+
}
|
|
25
48
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAKA,kEAmBC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAKA,kEAmBC;AAED,0CAqBC;AA/CD,iDAA6F;AAKtF,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,WAA8B;IAC9F,MAAM,WAAW,GAAG,kCAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG;;;;;;;KAOb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,WAA8B,EAAE,IAAY;IAChG,MAAM,WAAW,GAAG,kCAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG;;uCAEqB,IAAI,CAAC,WAAW,EAAE;;;;;;;KAOpD,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,CAAC"}
|
package/dist/mjs/index.js
CHANGED
|
@@ -19,4 +19,26 @@ export async function getAvailableVaultsForVoting(chainId, environment) {
|
|
|
19
19
|
const data = await response.json();
|
|
20
20
|
return data.data.vaults;
|
|
21
21
|
}
|
|
22
|
+
export async function getVotesForUser(chainId, environment, user) {
|
|
23
|
+
const subgraphUrl = factorScaleSubgraphUrl[chainId]?.[environment];
|
|
24
|
+
if (!subgraphUrl) {
|
|
25
|
+
throw new Error(`Subgraph URL not found for chainId ${chainId} and environment ${environment}`);
|
|
26
|
+
}
|
|
27
|
+
const query = `
|
|
28
|
+
{
|
|
29
|
+
votes(where: { userAddress: "${user.toLowerCase()}" }) {
|
|
30
|
+
vaultAddress
|
|
31
|
+
userAddress
|
|
32
|
+
weight
|
|
33
|
+
timestamp
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
const response = await fetch(subgraphUrl, {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
body: JSON.stringify({ query }),
|
|
40
|
+
});
|
|
41
|
+
const data = await response.json();
|
|
42
|
+
return data.data.votes;
|
|
43
|
+
}
|
|
22
44
|
//# sourceMappingURL=index.js.map
|
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAoC,MAAM,mBAAmB,CAAC;AAK7F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,WAA8B;IAC9F,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG;;;;;;;KAOb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAoC,MAAM,mBAAmB,CAAC;AAK7F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,WAA8B;IAC9F,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG;;;;;;;KAOb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,WAA8B,EAAE,IAAY;IAChG,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG;;uCAEqB,IAAI,CAAC,WAAW,EAAE;;;;;;;KAOpD,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { FactorEnvironment } from './types';
|
|
2
2
|
import { ChainId } from '@factordao/tokenlist';
|
|
3
3
|
export declare function getAvailableVaultsForVoting(chainId: ChainId, environment: FactorEnvironment): Promise<any>;
|
|
4
|
+
export declare function getVotesForUser(chainId: ChainId, environment: FactorEnvironment, user: string): Promise<any>;
|