fix: make sure it validates

This commit is contained in:
yj 2021-04-22 13:19:28 -05:00
parent 327184fa2a
commit ff58457463
3 changed files with 100 additions and 23 deletions

View File

@ -1,2 +1,21 @@
{
"cname": "",
"name": "",
"description": "",
"path": "",
"previousPaths": [],
"folder": "",
"type": "snapshot",
"suffix": "",
"coinGeckoPriceString": "",
"tokenContractAddress": "",
"isEnabled": false,
"hasOnchain": false,
"isHybrid": false,
"hasDelegation": false,
"snapshotSpaceName": "",
"invalidSnapshots": [],
"branding": {},
"discourseForum": {},
"safeAddress": null
}

View File

@ -23,27 +23,28 @@ do
touch ./protocols/$arg/logo.png
touch ./protocols/$arg/header.png
echo `{
"cname": $arg,
"name": $arg,
"description": "",
"path": $arg,
"previousPaths": [],
"folder": $arg,
"type": "snapshot",
"suffix": "",
"coinGeckoPriceString": "",
"tokenContractAddress": "",
"isEnabled": false,
"hasOnchain": false,
"isHybrid": false,
"hasDelegation": false,
"snapshotSpaceName": "",
"invalidSnapshots": [],
"branding": {},
"discourseForum": {},
"safeAddress": null }` >> ./protocols/$arg/index.json
echo '{
"cname": "",
"name": "",
"description": "",
"path": "",
"previousPaths": [],
"folder": "",
"type": "snapshot",
"suffix": "",
"coinGeckoPriceString": "",
"tokenContractAddress": "",
"isEnabled": false,
"hasOnchain": false,
"isHybrid": false,
"hasDelegation": false,
"snapshotSpaceName": "",
"invalidSnapshots": [],
"branding": {},
"discourseForum": {},
"safeAddress": null
}' >> ./protocols/$arg/index.json
fi
done
echo "Arg 1: $1"
echo "Arg 1: $1"

57
types.js Normal file
View File

@ -0,0 +1,57 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProtocolIo = void 0;
var t = __importStar(require("io-ts"));
exports.ProtocolIo = t.type({
cname: t.string,
name: t.string,
description: t.string,
path: t.string,
previousPaths: t.union([t.array(t.string), t.undefined]),
folder: t.string,
type: t.union([t.literal("snapshot"), t.literal("compoundish")]),
suffix: t.string,
coinGeckoPriceString: t.string,
tokenContractAddress: t.string,
governanceContractAddress: t.union([t.string, t.undefined]),
isEnabled: t.boolean,
hasOnchain: t.boolean,
isHybrid: t.boolean,
hasDelegation: t.boolean,
snapshotSpaceName: t.union([t.string, t.undefined]),
invalidSnapshots: t.union([t.array(t.string), t.undefined]),
branding: t.union([
t.partial({
primaryColor: t.string,
accentColor: t.string,
}),
t.undefined,
]),
discourseForum: t.union([
t.partial({
url: t.string,
categoryId: t.string,
}),
t.undefined,
]),
safeAddress: t.union([t.string, t.null]),
});