@glowlabs-org/utils 0.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 +98 -0
- package/lib/cjs/constants/index.d.ts +1 -0
- package/lib/cjs/constants/index.js +5 -0
- package/lib/cjs/constants/index.js.map +1 -0
- package/lib/cjs/default-values/gca-to-server-urls.d.ts +0 -0
- package/lib/cjs/default-values/gca-to-server-urls.js +9 -0
- package/lib/cjs/default-values/gca-to-server-urls.js.map +1 -0
- package/lib/cjs/index.d.ts +3 -0
- package/lib/cjs/index.js +22 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/lib/create-weekly-report/index.d.ts +43 -0
- package/lib/cjs/lib/create-weekly-report/index.js +177 -0
- package/lib/cjs/lib/create-weekly-report/index.js.map +1 -0
- package/lib/cjs/lib/create-weekly-report/utils/hash-leaf.d.ts +7 -0
- package/lib/cjs/lib/create-weekly-report/utils/hash-leaf.js +16 -0
- package/lib/cjs/lib/create-weekly-report/utils/hash-leaf.js.map +1 -0
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/types/AuditCompleted.d.ts +3 -0
- package/lib/cjs/types/AuditCompleted.js +4 -0
- package/lib/cjs/types/AuditCompleted.js.map +1 -0
- package/lib/cjs/types/AuditInherited.d.ts +6 -0
- package/lib/cjs/types/AuditInherited.js +4 -0
- package/lib/cjs/types/AuditInherited.js.map +1 -0
- package/lib/cjs/types/Device.d.ts +5 -0
- package/lib/cjs/types/Device.js +4 -0
- package/lib/cjs/types/Device.js.map +1 -0
- package/lib/cjs/types/DuplicatedButPastAuditCompleted.d.ts +8 -0
- package/lib/cjs/types/DuplicatedButPastAuditCompleted.js +3 -0
- package/lib/cjs/types/DuplicatedButPastAuditCompleted.js.map +1 -0
- package/lib/cjs/types/Farm.d.ts +20 -0
- package/lib/cjs/types/Farm.js +3 -0
- package/lib/cjs/types/Farm.js.map +1 -0
- package/lib/cjs/types/FarmStatus.d.ts +14 -0
- package/lib/cjs/types/FarmStatus.js +3 -0
- package/lib/cjs/types/FarmStatus.js.map +1 -0
- package/lib/cjs/types/GCAAndServerUrl.d.ts +5 -0
- package/lib/cjs/types/GCAAndServerUrl.js +3 -0
- package/lib/cjs/types/GCAAndServerUrl.js.map +1 -0
- package/lib/cjs/types/GCAServerResponse.d.ts +6 -0
- package/lib/cjs/types/GCAServerResponse.js +3 -0
- package/lib/cjs/types/GCAServerResponse.js.map +1 -0
- package/lib/cjs/types/GetEquipmentDataHandlerParams.d.ts +5 -0
- package/lib/cjs/types/GetEquipmentDataHandlerParams.js +4 -0
- package/lib/cjs/types/GetEquipmentDataHandlerParams.js.map +1 -0
- package/lib/cjs/types/PayoutWalletAndSplit.d.ts +17 -0
- package/lib/cjs/types/PayoutWalletAndSplit.js +3 -0
- package/lib/cjs/types/PayoutWalletAndSplit.js.map +1 -0
- package/lib/cjs/types/PayoutWalletAndSplitWithRewardSplits.d.ts +15 -0
- package/lib/cjs/types/PayoutWalletAndSplitWithRewardSplits.js +3 -0
- package/lib/cjs/types/PayoutWalletAndSplitWithRewardSplits.js.map +1 -0
- package/lib/cjs/types/RewardSplit.d.ts +5 -0
- package/lib/cjs/types/RewardSplit.js +4 -0
- package/lib/cjs/types/RewardSplit.js.map +1 -0
- package/lib/cjs/types/RewardSplits.d.ts +2 -0
- package/lib/cjs/types/RewardSplits.js +3 -0
- package/lib/cjs/types/RewardSplits.js.map +1 -0
- package/lib/cjs/types/SlotRange.d.ts +4 -0
- package/lib/cjs/types/SlotRange.js +4 -0
- package/lib/cjs/types/SlotRange.js.map +1 -0
- package/lib/cjs/types/WeekAndSlotRange.d.ts +5 -0
- package/lib/cjs/types/WeekAndSlotRange.js +3 -0
- package/lib/cjs/types/WeekAndSlotRange.js.map +1 -0
- package/lib/cjs/types/index.d.ts +14 -0
- package/lib/cjs/types/index.js +31 -0
- package/lib/cjs/types/index.js.map +1 -0
- package/lib/cjs/types/stashed-Farm.d.ts +20 -0
- package/lib/cjs/types/stashed-Farm.js +3 -0
- package/lib/cjs/types/stashed-Farm.js.map +1 -0
- package/lib/esm/constants/index.d.ts +1 -0
- package/lib/esm/constants/index.js +2 -0
- package/lib/esm/constants/index.js.map +1 -0
- package/lib/esm/default-values/gca-to-server-urls.d.ts +0 -0
- package/lib/esm/default-values/gca-to-server-urls.js +9 -0
- package/lib/esm/default-values/gca-to-server-urls.js.map +1 -0
- package/lib/esm/index.d.ts +3 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/lib/create-weekly-report/index.d.ts +43 -0
- package/lib/esm/lib/create-weekly-report/index.js +170 -0
- package/lib/esm/lib/create-weekly-report/index.js.map +1 -0
- package/lib/esm/lib/create-weekly-report/utils/hash-leaf.d.ts +7 -0
- package/lib/esm/lib/create-weekly-report/utils/hash-leaf.js +12 -0
- package/lib/esm/lib/create-weekly-report/utils/hash-leaf.js.map +1 -0
- package/lib/esm/package.json +1 -0
- package/lib/esm/types/AuditCompleted.d.ts +3 -0
- package/lib/esm/types/AuditCompleted.js +3 -0
- package/lib/esm/types/AuditCompleted.js.map +1 -0
- package/lib/esm/types/AuditInherited.d.ts +6 -0
- package/lib/esm/types/AuditInherited.js +3 -0
- package/lib/esm/types/AuditInherited.js.map +1 -0
- package/lib/esm/types/Device.d.ts +5 -0
- package/lib/esm/types/Device.js +3 -0
- package/lib/esm/types/Device.js.map +1 -0
- package/lib/esm/types/DuplicatedButPastAuditCompleted.d.ts +8 -0
- package/lib/esm/types/DuplicatedButPastAuditCompleted.js +2 -0
- package/lib/esm/types/DuplicatedButPastAuditCompleted.js.map +1 -0
- package/lib/esm/types/Farm.d.ts +20 -0
- package/lib/esm/types/Farm.js +2 -0
- package/lib/esm/types/Farm.js.map +1 -0
- package/lib/esm/types/FarmStatus.d.ts +14 -0
- package/lib/esm/types/FarmStatus.js +2 -0
- package/lib/esm/types/FarmStatus.js.map +1 -0
- package/lib/esm/types/GCAAndServerUrl.d.ts +5 -0
- package/lib/esm/types/GCAAndServerUrl.js +2 -0
- package/lib/esm/types/GCAAndServerUrl.js.map +1 -0
- package/lib/esm/types/GCAServerResponse.d.ts +6 -0
- package/lib/esm/types/GCAServerResponse.js +2 -0
- package/lib/esm/types/GCAServerResponse.js.map +1 -0
- package/lib/esm/types/GetEquipmentDataHandlerParams.d.ts +5 -0
- package/lib/esm/types/GetEquipmentDataHandlerParams.js +3 -0
- package/lib/esm/types/GetEquipmentDataHandlerParams.js.map +1 -0
- package/lib/esm/types/PayoutWalletAndSplit.d.ts +17 -0
- package/lib/esm/types/PayoutWalletAndSplit.js +2 -0
- package/lib/esm/types/PayoutWalletAndSplit.js.map +1 -0
- package/lib/esm/types/PayoutWalletAndSplitWithRewardSplits.d.ts +15 -0
- package/lib/esm/types/PayoutWalletAndSplitWithRewardSplits.js +2 -0
- package/lib/esm/types/PayoutWalletAndSplitWithRewardSplits.js.map +1 -0
- package/lib/esm/types/RewardSplit.d.ts +5 -0
- package/lib/esm/types/RewardSplit.js +3 -0
- package/lib/esm/types/RewardSplit.js.map +1 -0
- package/lib/esm/types/RewardSplits.d.ts +2 -0
- package/lib/esm/types/RewardSplits.js +2 -0
- package/lib/esm/types/RewardSplits.js.map +1 -0
- package/lib/esm/types/SlotRange.d.ts +4 -0
- package/lib/esm/types/SlotRange.js +3 -0
- package/lib/esm/types/SlotRange.js.map +1 -0
- package/lib/esm/types/WeekAndSlotRange.d.ts +5 -0
- package/lib/esm/types/WeekAndSlotRange.js +2 -0
- package/lib/esm/types/WeekAndSlotRange.js.map +1 -0
- package/lib/esm/types/index.d.ts +14 -0
- package/lib/esm/types/index.js +15 -0
- package/lib/esm/types/index.js.map +1 -0
- package/lib/esm/types/stashed-Farm.d.ts +20 -0
- package/lib/esm/types/stashed-Farm.js +2 -0
- package/lib/esm/types/stashed-Farm.js.map +1 -0
- package/package.json +46 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PayoutWalletAndSplitWithRewardSplits.js","sourceRoot":"","sources":["../../../src/types/PayoutWalletAndSplitWithRewardSplits.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RewardSplit.js","sourceRoot":"","sources":["../../../src/types/RewardSplit.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RewardSplits.js","sourceRoot":"","sources":["../../../src/types/RewardSplits.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SlotRange.js","sourceRoot":"","sources":["../../../src/types/SlotRange.ts"],"names":[],"mappings":";AAAA,4GAA4G"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"WeekAndSlotRange.js","sourceRoot":"","sources":["../../../src/types/WeekAndSlotRange.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export * from "./AuditCompleted";
|
2
|
+
export * from "./AuditInherited";
|
3
|
+
export * from "./Device";
|
4
|
+
export * from "./DuplicatedButPastAuditCompleted";
|
5
|
+
export * from "./Farm";
|
6
|
+
export * from "./FarmStatus";
|
7
|
+
export * from "./GCAServerResponse";
|
8
|
+
export * from "./GetEquipmentDataHandlerParams";
|
9
|
+
export * from "./PayoutWalletAndSplit";
|
10
|
+
export * from "./PayoutWalletAndSplitWithRewardSplits";
|
11
|
+
export * from "./RewardSplit";
|
12
|
+
export * from "./RewardSplits";
|
13
|
+
export * from "./SlotRange";
|
14
|
+
export * from "./WeekAndSlotRange";
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./AuditCompleted"), exports);
|
18
|
+
__exportStar(require("./AuditInherited"), exports);
|
19
|
+
__exportStar(require("./Device"), exports);
|
20
|
+
__exportStar(require("./DuplicatedButPastAuditCompleted"), exports);
|
21
|
+
__exportStar(require("./Farm"), exports);
|
22
|
+
__exportStar(require("./FarmStatus"), exports);
|
23
|
+
__exportStar(require("./GCAServerResponse"), exports);
|
24
|
+
__exportStar(require("./GetEquipmentDataHandlerParams"), exports);
|
25
|
+
__exportStar(require("./PayoutWalletAndSplit"), exports);
|
26
|
+
__exportStar(require("./PayoutWalletAndSplitWithRewardSplits"), exports);
|
27
|
+
__exportStar(require("./RewardSplit"), exports);
|
28
|
+
__exportStar(require("./RewardSplits"), exports);
|
29
|
+
__exportStar(require("./SlotRange"), exports);
|
30
|
+
__exportStar(require("./WeekAndSlotRange"), exports);
|
31
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,2CAAyB;AACzB,oEAAkD;AAClD,yCAAuB;AACvB,+CAA6B;AAC7B,sDAAoC;AACpC,kEAAgD;AAChD,yDAAuC;AACvC,yEAAuD;AACvD,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,qDAAmC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import type { FarmStatus } from "./FarmStatus";
|
2
|
+
import type { RewardSplits } from "./RewardSplits";
|
3
|
+
import type { SlotRange } from "./SlotRange";
|
4
|
+
export interface Farm {
|
5
|
+
hexlifiedPublicKey: string;
|
6
|
+
carbonCreditsProduced: number;
|
7
|
+
powerOutputs: Array<number>;
|
8
|
+
impactRates: Array<number>;
|
9
|
+
weeklyPayment: number;
|
10
|
+
rollingImpactPoints: number;
|
11
|
+
powerOutput: number;
|
12
|
+
shortId: bigint;
|
13
|
+
protocolFee: number;
|
14
|
+
rewardSplits: RewardSplits | null;
|
15
|
+
status: FarmStatus;
|
16
|
+
protocolFeePaymentHash: string | null;
|
17
|
+
weeksAndSlotRangesToInvertPowerMap: Record<number, Array<SlotRange>> | null;
|
18
|
+
weeksAndSlotsToInvalidatePowerMap: Record<number, Array<SlotRange>> | null;
|
19
|
+
timestampAuditedComplete: bigint | null;
|
20
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stashed-Farm.js","sourceRoot":"","sources":["../../../src/types/stashed-Farm.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const GENESIS_TIMESTAMP: number;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAW,UAAU,CAAC"}
|
File without changes
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
// import { GCAAndServerUrl } from "src/types/GCAAndServerUrl";
|
3
|
+
// export const gcaToServerUrls: GCAAndServerUrl[] = [
|
4
|
+
// {
|
5
|
+
// gca:"0xB2d687b199ee40e6113CD490455cC81eC325C496",
|
6
|
+
// urls:
|
7
|
+
// }
|
8
|
+
//TODO: Later when DD more robust testing is added
|
9
|
+
//# sourceMappingURL=gca-to-server-urls.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gca-to-server-urls.js","sourceRoot":"","sources":["../../../src/default-values/gca-to-server-urls.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAE/D,sDAAsD;AACtD,QAAQ;AACR,4DAA4D;AAC5D,gBAAgB;AAChB,QAAQ;AAER,kDAAkD"}
|
package/lib/esm/index.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AACpC,cAAc,aAAa,CAAC"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Farm } from "src/types/Farm";
|
2
|
+
import { GCAServerResponse } from "src/types/GCAServerResponse";
|
3
|
+
export type ApiRes = {
|
4
|
+
filteredFarms: Farm[];
|
5
|
+
rawData: GCAServerResponse;
|
6
|
+
multiplier: number;
|
7
|
+
};
|
8
|
+
export type MerkleLeafIntermediary = {
|
9
|
+
wallet: string;
|
10
|
+
glowWeight: number;
|
11
|
+
usdgWeight: number;
|
12
|
+
};
|
13
|
+
export type FinalLeaf = {
|
14
|
+
wallet: string;
|
15
|
+
glowWeight: string;
|
16
|
+
usdgWeight: string;
|
17
|
+
};
|
18
|
+
export type CreateWeeklyReportArgs = {
|
19
|
+
week: number;
|
20
|
+
gcaUrls: string[];
|
21
|
+
apiUrl: string;
|
22
|
+
};
|
23
|
+
export declare function createWeeklyReport(args: CreateWeeklyReportArgs): Promise<{
|
24
|
+
headlineStats: {
|
25
|
+
weekNumber: number;
|
26
|
+
totalCreditsProduced: number;
|
27
|
+
totalCreditsProducedBN: string;
|
28
|
+
totalGlowWeightInFinalized: string;
|
29
|
+
totalGlowWeightHuman: string;
|
30
|
+
totalUSDGWeightInFinalized: string;
|
31
|
+
totalUSDGWeightHuman: string;
|
32
|
+
root: string;
|
33
|
+
};
|
34
|
+
finalLeaves: FinalLeaf[];
|
35
|
+
farmsWithMerkleProofs: {
|
36
|
+
proof: string[];
|
37
|
+
wallet: string;
|
38
|
+
glowWeight: string;
|
39
|
+
usdgWeight: string;
|
40
|
+
}[];
|
41
|
+
farms: Farm[];
|
42
|
+
rawData: GCAServerResponse;
|
43
|
+
}>;
|
@@ -0,0 +1,170 @@
|
|
1
|
+
import { hashLeaf } from "./utils/hash-leaf";
|
2
|
+
import MerkleTree from "merkletreejs";
|
3
|
+
import { BigNumber, ethers } from "ethers";
|
4
|
+
import { formatUnits, parseUnits } from "ethers/lib/utils";
|
5
|
+
/**
|
6
|
+
* @dev This is actually not as intuitive as it seems.
|
7
|
+
* Glow actually has 18 decimals, but glow weight is based on the amount of protocol fees (USDC) that the farm paid
|
8
|
+
* Therefore, the weight is based on the amount of USDC that was paid, which has 6 decimals
|
9
|
+
*/
|
10
|
+
const GLOW_WEIGHT_DECIMAL_PRECISION = 6;
|
11
|
+
/**
|
12
|
+
* @dev This is actually not as intuitive as it seems.
|
13
|
+
* USDG weight is based on the amount of carbon credits produced, but the max value of a weight is ((2*64)-1) / 5 so we need to choose sensible precision to make sure that number never overflows
|
14
|
+
*/
|
15
|
+
const USDG_WEIGHT_DECIMAL_PRECISION = 6;
|
16
|
+
// const GCA_URLS = ["http://95.217.194.59:35015"];
|
17
|
+
async function getFarmsForWeek(args) {
|
18
|
+
const { week: weekNumber, gcaUrls, apiUrl } = args;
|
19
|
+
const url = apiUrl;
|
20
|
+
// const url = "http://0.0.0.0:3005/headline_farm_stats";
|
21
|
+
const body = {
|
22
|
+
urls: gcaUrls,
|
23
|
+
week_number: weekNumber,
|
24
|
+
with_full_data: true,
|
25
|
+
include_unassigned_farms: false,
|
26
|
+
with_raw_data: true,
|
27
|
+
};
|
28
|
+
const res = await fetch(url, {
|
29
|
+
method: "POST",
|
30
|
+
body: JSON.stringify(body),
|
31
|
+
headers: {
|
32
|
+
"Content-Type": "application/json",
|
33
|
+
},
|
34
|
+
});
|
35
|
+
const _json = await res.json();
|
36
|
+
return _json;
|
37
|
+
}
|
38
|
+
export async function createWeeklyReport(args) {
|
39
|
+
const map = new Map();
|
40
|
+
function addValueToMap(key, value, map) {
|
41
|
+
if (map.has(key)) {
|
42
|
+
//+= everything
|
43
|
+
const existingValue = map.get(key);
|
44
|
+
existingValue.glowWeight += value.glowWeight;
|
45
|
+
existingValue.usdgWeight += value.usdgWeight;
|
46
|
+
map.set(key, existingValue);
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
map.set(key, value);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
const apiResposne = await getFarmsForWeek(args);
|
53
|
+
const farms = apiResposne.filteredFarms;
|
54
|
+
const rawData = apiResposne.rawData;
|
55
|
+
let totalCreditsProduced = 0;
|
56
|
+
//log the total farms in farms
|
57
|
+
for (const farm of farms) {
|
58
|
+
// const {
|
59
|
+
// shortId,
|
60
|
+
// payoutWallet,
|
61
|
+
// installerGlowFeePercent,
|
62
|
+
// installerUsdgFeePercent,
|
63
|
+
// } = farm;
|
64
|
+
// const key = farm.payoutWallet;
|
65
|
+
// farm.carbonCreditsProduced =
|
66
|
+
farm.status === "Unassigned" ? 0 : farm.carbonCreditsProduced;
|
67
|
+
console.log(farm.status);
|
68
|
+
if (farm.carbonCreditsProduced < 0) {
|
69
|
+
throw new Error("Carbon credits produced is less than 0");
|
70
|
+
}
|
71
|
+
totalCreditsProduced += farm.carbonCreditsProduced;
|
72
|
+
// const value = {
|
73
|
+
// wallet: payoutWallet,
|
74
|
+
// glowWeight: farm.weeklyPayment * (1 - installerGlowFeePercent),
|
75
|
+
// usdgWeight: farm.carbonCreditsProduced * (1 - installerUsdgFeePercent),
|
76
|
+
// };
|
77
|
+
// const installerKey = farm.installerWallet;
|
78
|
+
// const installerValue = {
|
79
|
+
// wallet: farm.installerWallet,
|
80
|
+
// glowWeight: farm.weeklyPayment * installerGlowFeePercent,
|
81
|
+
// usdgWeight: farm.carbonCreditsProduced * installerUsdgFeePercent,
|
82
|
+
// };
|
83
|
+
if (!farm.rewardSplits)
|
84
|
+
throw new Error("No reward splits");
|
85
|
+
const sumOfRewardSplitsGlowWeight = farm.rewardSplits.reduce((acc, rewardSplit) => acc + rewardSplit.glowSplitPercent, 0);
|
86
|
+
const sumOfRewardSplitsUSDGWeight = farm.rewardSplits.reduce((acc, rewardSplit) => acc + rewardSplit.usdgSplitPercent, 0);
|
87
|
+
if (sumOfRewardSplitsGlowWeight !== 1)
|
88
|
+
throw new Error("Glow weight splits do not add up to 1");
|
89
|
+
if (sumOfRewardSplitsUSDGWeight !== 1)
|
90
|
+
throw new Error("USDG weight splits do not add up to 1");
|
91
|
+
for (const rewardSplit of farm.rewardSplits) {
|
92
|
+
const value = {
|
93
|
+
wallet: rewardSplit.walletAddress,
|
94
|
+
glowWeight: farm.weeklyPayment * rewardSplit.glowSplitPercent,
|
95
|
+
usdgWeight: farm.carbonCreditsProduced * rewardSplit.usdgSplitPercent,
|
96
|
+
};
|
97
|
+
addValueToMap(rewardSplit.walletAddress, value, map);
|
98
|
+
}
|
99
|
+
// addValueToMap(key, value, map);
|
100
|
+
// addValueToMap(installerKey, installerValue, map);
|
101
|
+
}
|
102
|
+
const merkleLeaves = Array.from(map.values());
|
103
|
+
const finalLeaves = merkleLeaves.map(({ wallet, glowWeight, usdgWeight }) => ({
|
104
|
+
wallet,
|
105
|
+
glowWeight: parseUnits(glowWeight.toString(), GLOW_WEIGHT_DECIMAL_PRECISION).toString(),
|
106
|
+
usdgWeight: parseUnits(usdgWeight.toString(), USDG_WEIGHT_DECIMAL_PRECISION).toString(),
|
107
|
+
}));
|
108
|
+
const leaves = finalLeaves.map((leaf) => hashLeaf({
|
109
|
+
address: leaf.wallet,
|
110
|
+
glowWeight: leaf.glowWeight,
|
111
|
+
usdcWeight: leaf.usdgWeight,
|
112
|
+
}));
|
113
|
+
const tree = new MerkleTree(leaves, ethers.utils.keccak256, { sort: true });
|
114
|
+
const root = tree.getHexRoot();
|
115
|
+
const totalGlowWeightFinalizedLeavesSum = finalLeaves.reduce((acc, { glowWeight }) => acc.add(glowWeight), ethers.BigNumber.from(0));
|
116
|
+
const totalGCCWeightFinalizedLeavesSum = finalLeaves.reduce((acc, { usdgWeight }) => acc.add(usdgWeight), ethers.BigNumber.from(0));
|
117
|
+
const headlineStats = {
|
118
|
+
weekNumber: args.week,
|
119
|
+
totalCreditsProduced,
|
120
|
+
totalCreditsProducedBN: parseUnits(totalCreditsProduced.toString(), 18).toString(),
|
121
|
+
totalGlowWeightInFinalized: totalGlowWeightFinalizedLeavesSum.toString(),
|
122
|
+
totalGlowWeightHuman: formatUnits(BigInt(totalGlowWeightFinalizedLeavesSum.toString()), GLOW_WEIGHT_DECIMAL_PRECISION).toString(),
|
123
|
+
totalUSDGWeightInFinalized: totalGCCWeightFinalizedLeavesSum.toString(),
|
124
|
+
totalUSDGWeightHuman: formatUnits(BigInt(totalGCCWeightFinalizedLeavesSum.toString()), USDG_WEIGHT_DECIMAL_PRECISION).toString(),
|
125
|
+
root: root,
|
126
|
+
};
|
127
|
+
const farmsWithMerkleProofs = finalLeaves.map((leaf) => {
|
128
|
+
const hashedLeaf = hashLeaf({
|
129
|
+
address: leaf.wallet,
|
130
|
+
glowWeight: leaf.glowWeight,
|
131
|
+
usdcWeight: leaf.usdgWeight,
|
132
|
+
});
|
133
|
+
const proof = tree.getHexProof(hashedLeaf);
|
134
|
+
const isValid = tree.verify(proof, hashedLeaf, root);
|
135
|
+
if (!isValid) {
|
136
|
+
throw new Error("Invalid proof");
|
137
|
+
}
|
138
|
+
return {
|
139
|
+
...leaf,
|
140
|
+
proof,
|
141
|
+
};
|
142
|
+
});
|
143
|
+
//-----------------------------------------------------//
|
144
|
+
//-Some invariant tests in case something got messed up//
|
145
|
+
//-----------------------------------------------------//
|
146
|
+
//Make sure that the sum of all the glow weight is equal to the sum of all the glow weight in the final leaves
|
147
|
+
let forLoopedGlowWeightSum = ethers.BigNumber.from(0);
|
148
|
+
for (const farm of farmsWithMerkleProofs) {
|
149
|
+
forLoopedGlowWeightSum = forLoopedGlowWeightSum.add(BigNumber.from(farm.glowWeight));
|
150
|
+
}
|
151
|
+
if (!forLoopedGlowWeightSum.eq(totalGlowWeightFinalizedLeavesSum)) {
|
152
|
+
throw new Error("Glow weight sum is not equal");
|
153
|
+
}
|
154
|
+
//do the same for gcc
|
155
|
+
let forLoopedGCCWeightSum = ethers.BigNumber.from(0);
|
156
|
+
for (const farm of farmsWithMerkleProofs) {
|
157
|
+
forLoopedGCCWeightSum = forLoopedGCCWeightSum.add(BigNumber.from(farm.usdgWeight));
|
158
|
+
}
|
159
|
+
if (!forLoopedGCCWeightSum.eq(totalGCCWeightFinalizedLeavesSum)) {
|
160
|
+
throw new Error("GCC weight sum is not equal");
|
161
|
+
}
|
162
|
+
return {
|
163
|
+
headlineStats,
|
164
|
+
finalLeaves,
|
165
|
+
farmsWithMerkleProofs,
|
166
|
+
farms,
|
167
|
+
rawData,
|
168
|
+
};
|
169
|
+
}
|
170
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/create-weekly-report/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { ethers } from "ethers";
|
2
|
+
const leafTypes = ["address", "uint256", "uint256"];
|
3
|
+
export function hashLeaf({ address, glowWeight, usdcWeight, }) {
|
4
|
+
const hash = ethers.utils.solidityKeccak256(leafTypes, [
|
5
|
+
address,
|
6
|
+
glowWeight,
|
7
|
+
usdcWeight,
|
8
|
+
]);
|
9
|
+
return hash;
|
10
|
+
}
|
11
|
+
//
|
12
|
+
//# sourceMappingURL=hash-leaf.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hash-leaf.js","sourceRoot":"","sources":["../../../../../src/lib/create-weekly-report/utils/hash-leaf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAOpD,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,UAAU,EACV,UAAU,GACG;IACb,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE;QACrD,OAAO;QACP,UAAU;QACV,UAAU;KACX,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"sideEffects":false,"type":"module"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AuditCompleted.js","sourceRoot":"","sources":["../../../src/types/AuditCompleted.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AuditInherited.js","sourceRoot":"","sources":["../../../src/types/AuditInherited.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Device.js","sourceRoot":"","sources":["../../../src/types/Device.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { AuditInherited } from "./AuditInherited";
|
2
|
+
export interface DuplicatedButPastAuditCompleted {
|
3
|
+
weekDuplicated: number;
|
4
|
+
slotRangeActiveInWeekDuplicated: [number, number];
|
5
|
+
originalWeekAuditCompletedOrInherited: number;
|
6
|
+
newFarmId: bigint;
|
7
|
+
ifWasAlsoAuditInheritedInOnboardingWeek: AuditInherited | null;
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DuplicatedButPastAuditCompleted.js","sourceRoot":"","sources":["../../../src/types/DuplicatedButPastAuditCompleted.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import type { FarmStatus } from "./FarmStatus";
|
2
|
+
import type { RewardSplits } from "./RewardSplits";
|
3
|
+
import type { SlotRange } from "./SlotRange";
|
4
|
+
export interface Farm {
|
5
|
+
hexlifiedPublicKey: string;
|
6
|
+
carbonCreditsProduced: number;
|
7
|
+
powerOutputs: Array<number>;
|
8
|
+
impactRates: Array<number>;
|
9
|
+
weeklyPayment: number;
|
10
|
+
rollingImpactPoints: number;
|
11
|
+
powerOutput: number;
|
12
|
+
shortId: bigint;
|
13
|
+
protocolFee: number;
|
14
|
+
rewardSplits: RewardSplits | null;
|
15
|
+
status: FarmStatus;
|
16
|
+
protocolFeePaymentHash: string | null;
|
17
|
+
weeksAndSlotRangesToInvertPowerMap: Record<number, Array<SlotRange>> | null;
|
18
|
+
weeksAndSlotsToInvalidatePowerMap: Record<number, Array<SlotRange>> | null;
|
19
|
+
timestampAuditedComplete: bigint | null;
|
20
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Farm.js","sourceRoot":"","sources":["../../../src/types/Farm.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { AuditCompleted } from "./AuditCompleted";
|
2
|
+
import type { AuditInherited } from "./AuditInherited";
|
3
|
+
import type { DuplicatedButPastAuditCompleted } from "./DuplicatedButPastAuditCompleted";
|
4
|
+
export type FarmStatus = {
|
5
|
+
AuditCompleted: AuditCompleted;
|
6
|
+
} | {
|
7
|
+
AuditInherited: AuditInherited;
|
8
|
+
} | {
|
9
|
+
Banned: number;
|
10
|
+
} | {
|
11
|
+
Duplicate: number;
|
12
|
+
} | {
|
13
|
+
DuplicateWithPastAuditCompleted: DuplicatedButPastAuditCompleted;
|
14
|
+
} | "Unassigned";
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FarmStatus.js","sourceRoot":"","sources":["../../../src/types/FarmStatus.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"GCAAndServerUrl.js","sourceRoot":"","sources":["../../../src/types/GCAAndServerUrl.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"GCAServerResponse.js","sourceRoot":"","sources":["../../../src/types/GCAServerResponse.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"GetEquipmentDataHandlerParams.js","sourceRoot":"","sources":["../../../src/types/GetEquipmentDataHandlerParams.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
|