Skip to content

Commit

Permalink
Address reviewer comments
Browse files Browse the repository at this point in the history
  • Loading branch information
thanhpn committed Jan 23, 2025
1 parent fdc3343 commit 120d498
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 3 deletions.
36 changes: 36 additions & 0 deletions scripts/check_configs.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { CarbonSDK } from "carbon-js-sdk";
import { PageRequest } from "carbon-js-sdk/lib/codec/cosmos/base/query/v1beta1/pagination";
import { BridgeMap } from "carbon-js-sdk/lib/util/blockchain";
import { SimpleMap } from "carbon-js-sdk/lib/util/type";
import * as fs from "fs";
import Long from "long";

Expand Down Expand Up @@ -36,6 +37,7 @@ interface ConfigJSON {
disabled_transfer_banner_config?: DisabledTransferBannerConfig;
announcement_banner: AnnouncementBanner;
quick_select_deposit_options?: QuickSelectToken[];
lst_native_aprs?: LstNativeAPR[];
}

interface InvalidEntry {
Expand Down Expand Up @@ -154,6 +156,12 @@ interface QuickSelectToken {
target_denom: string;
}

interface LstNativeAPR {
protocol: string;
api_url: string;
lst_denoms: SimpleMap<string>;
}

type OutcomeMap = { [key in CarbonSDK.Network]: boolean }; // true = success, false = failure

const outcomeMap: OutcomeMap = {
Expand Down Expand Up @@ -499,6 +507,29 @@ function isValidQuickSelectTokens(quickSelectTokens: QuickSelectToken[], network
return true;
}

function isValidLSTNativeDenom(lstNativeAPRs: LstNativeAPR[], network: CarbonSDK.Network, denoms: string[]): boolean {
const lstDenoms = lstNativeAPRs.reduce((acc: string[], lst) => {
return acc.concat(Object.values(lst.lst_denoms))
}, [])

const duplicateLstDenoms = checkDuplicateEntries(lstDenoms);
if (duplicateLstDenoms.status && duplicateLstDenoms.entry) {
let listOfDuplicates: string = duplicateLstDenoms.entry.join(", ");
console.error(`ERROR: ${network}.json has the following duplicated lst native prs denoms: ${listOfDuplicates}. Please make sure to input each token denom only once in ${network}`);
return false;
}

const invalidLstDenoms = checkValidEntries(lstDenoms, denoms);
if (invalidLstDenoms.status && invalidLstDenoms.entry) {
let listOfInvalidDenoms: string = invalidLstDenoms.entry.join(", ");
console.error(`ERROR: ${network}.json has the following invalid lst native prs denoms: ${listOfInvalidDenoms}. Please make sure to only input valid token denoms in ${network}`);
return false;
}


return true;
}

async function main() {
for (const net of myArgs) {
let network: CarbonSDK.Network;
Expand Down Expand Up @@ -889,6 +920,11 @@ async function main() {
if (jsonData.quick_select_deposit_options && !isValidQuickSelectTokens(jsonData.quick_select_deposit_options, network, tokens)) {
outcomeMap[network] = false;
}

// check for LST native denom duplicate, existed
if (jsonData.lst_native_aprs && !isValidLSTNativeDenom(jsonData.lst_native_aprs, network, tokens)) {
outcomeMap[network] = false;
}
}
}
const outcomeArr = Object.values(outcomeMap);
Expand Down
6 changes: 3 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2252,9 +2252,9 @@ callsite@1.0.0:
integrity sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==

carbon-js-sdk@^0.11.39:
version "0.11.39"
resolved "https://registry.yarnpkg.com/carbon-js-sdk/-/carbon-js-sdk-0.11.39.tgz#d0496ac6a06350dc933efbd122b9eafdea6fbc9c"
integrity sha512-rlzPyzXkuy3mhn3C9ZLI5deC+/bcBt7nYtWp3iB0w8anc/6dQ0vYT1mXP1wMTleFlKCuUXhiW99JRXqLeCVl+Q==
version "0.11.42"
resolved "https://registry.yarnpkg.com/carbon-js-sdk/-/carbon-js-sdk-0.11.42.tgz#a326adf8c4c8458d66b0d723e2fb47bacfd78f84"
integrity sha512-0Ij2dFIqoY4OJZxNjtMLq6qysXZPvFWEpV4ce4OhI9FHGuqgbnOBapbbvKxTGLJD27K2hOzv+YrQoSFiW33GSg==
dependencies:
"@cityofzion/neon-api" "^4.9.0"
"@cityofzion/neon-core" "^4.9.0"
Expand Down

0 comments on commit 120d498

Please sign in to comment.