vasku
Version:
TVM-Solidity contract development framework
41 lines (40 loc) • 2.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGlobalGiver = void 0;
const giverLabels_1 = require("../config/types/giverLabels");
const GiverV2_1 = require("../../giver/samples/GiverV2");
const giver_se_keys_json_1 = __importDefault(require("./keys/giver.se.keys.json"));
const GiverV3_1 = require("../../giver/samples/GiverV3");
const SafeMultisigWalletGiver_1 = require("../../giver/samples/SafeMultisigWalletGiver");
const safeMultisigWallet_se_keys_json_1 = __importDefault(require("./keys/safeMultisigWallet.se.keys.json"));
const createOrReadGlobalGiverKeys_1 = require("./createOrReadGlobalGiverKeys");
async function createGlobalGiver(config, network, client) {
const giver = config.networks[network].giver;
////////
// SE //
////////
if (giver === giverLabels_1.GIVER.se.v2)
return new GiverV2_1.GiverV2(giver_se_keys_json_1.default, { client });
if (giver === giverLabels_1.GIVER.se.v3)
return new GiverV3_1.GiverV3(giver_se_keys_json_1.default, { client });
if (giver === giverLabels_1.GIVER.se.safeMultiSigWallet)
return new SafeMultisigWalletGiver_1.SafeMultisigWalletGiver(safeMultisigWallet_se_keys_json_1.default, { client });
////////////
// Not SE //
////////////
const keys = await (0, createOrReadGlobalGiverKeys_1.createOrReadGlobalGiverKeys)(config, network, client);
if (giver === giverLabels_1.GIVER.v2)
return new GiverV2_1.GiverV2(keys, { client });
if (giver === giverLabels_1.GIVER.v3)
return new GiverV3_1.GiverV3(keys, { client });
if (giver === giverLabels_1.GIVER.safeMultiSigWallet)
return new SafeMultisigWalletGiver_1.SafeMultisigWalletGiver(keys, { client });
/////////////
// Unknown //
/////////////
throw new Error(`Giver "${giver}" is unknown`);
}
exports.createGlobalGiver = createGlobalGiver;