trustwallet-assets/script/action/cosmos.ts
Adam R 102f2b88d4
[Internal] New infra for runnig checks (not as jest tests) (#2938)
* CMC mapping update.

* New check infrastructure, move root folder test to new infra.

* Move list of allowed files to config.

* Include new check in other tests.

* More generic way to call checks.

* Organize fix and update actions behind interfaces.

* Organize checks into steps, multiple steps per action.

* Simplify checkStep class/instance creation.

* Migrate chain logo checks.

* Migrate asset folder check.

* Migrate further chain checks.

* Migrate eth fork folder checks.

* Migrate binance chain check.

* Extra output.

* Output improvements.

* Async fix.

* Migrate Tron check.

* Add Tron check.

* Remove Tron check from old.

* White/blacklist check in new intra, combined with fix.

* Refine ETH checks.

* Remove from old infra.

* Migrate CMC check to new infra.

* Migrate validator tests to new check infra.

* Migrate Json files validity check to new check infra.

* Whitelist check fix.

* Cleanup helpers.ts.

* Move helpers.ts.

* Cleanup of models.ts.

* Move models.ts.

* Move index.test.ts.

* Update with BEP8 support.

* Descriptive names for jobs within the builds.

Co-authored-by: Catenocrypt <catenocrypt@users.noreply.github.com>
2020-08-06 21:17:38 +02:00

39 lines
1.4 KiB
TypeScript

import { Cosmos } from "../common/blockchains";
import { getChainValidatorsAssets } from "../common/repo-structure";
import { ActionInterface, CheckStepInterface } from "./interface";
import { isLowerCase } from "../common/types";
export class CosmosAction implements ActionInterface {
getName(): string { return "Cosmos chain"; }
getChecks(): CheckStepInterface[] {
return [
{
getName: () => { return "Cosmos validator assets must have correct format"},
check: async () => {
var error: string = "";
const assets = getChainValidatorsAssets(Cosmos);
const prefix = "cosmosvaloper1";
const expLength = 52;
assets.forEach(addr => {
if (!(addr.startsWith(prefix))) {
error += `Address ${addr} should start with '${prefix}'\n`;
}
if (addr.length != expLength) {
error += `Address ${addr} should have length ${expLength}\n`;
}
if (!isLowerCase(addr)) {
error += `Address ${addr} should be in lowercase\n`;
}
});
return error;
}
},
];
}
fix = null;
update = null;
}