@daevm/cheqd-sdk
Version:
A TypeScript SDK built with CosmJS to interact with cheqd network ledger
144 lines • 11.3 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEqualKeyValuePair = exports.validateSpecCompliantPayload = exports.createSignInputsFromImportableEd25519Key = exports.createDidPayload = exports.createDidVerificationMethod = exports.createVerificationKeys = exports.createKeyPairHex = exports.createKeyPairBase64 = exports.createKeyPairRaw = exports.isMsgCreateResourceEncodeObject = exports.setupResourceExtension = exports.typeUrlMsgCreateResourceResponse = exports.typeUrlMsgCreateResource = exports.protobufLiteralsResource = exports.defaultResourceExtensionKey = exports.isMsgDeactivateDidDocEncodeObject = exports.isMsgUpdateDidDocEncodeObject = exports.isMsgCreateDidDocEncodeObject = exports.setupDidExtension = exports.typeUrlMsgDeactivateDidDocResponse = exports.typeUrlMsgDeactivateDidDoc = exports.typeUrlMsgUpdateDidDocResponse = exports.typeUrlMsgUpdateDidDoc = exports.typeUrlMsgCreateDidDocResponse = exports.typeUrlMsgCreateDidDoc = exports.protobufLiteralsDid = exports.defaultDidExtensionKey = exports.contexts = exports.MsgDeactivateDidDocEncodeObject = exports.MsgUpdateDidDocResponseEncodeObject = exports.MsgUpdateDidDocEncodeObject = exports.MsgCreateDidDocResponseEncodeObject = exports.applyMixins = exports.AbstractCheqdSDKModule = exports.ResourceModule = exports.DIDModule = exports.createCheqdSDK = exports.filterUnauthorizedMethods = exports.CheqdSDK = void 0;
const did_1 = require("./modules/did");
Object.defineProperty(exports, "DIDModule", { enumerable: true, get: function () { return did_1.DIDModule; } });
const resource_1 = require("./modules/resource");
Object.defineProperty(exports, "ResourceModule", { enumerable: true, get: function () { return resource_1.ResourceModule; } });
const _1 = require("./modules/_");
const registry_1 = require("./registry");
const signer_1 = require("./signer");
const types_1 = require("./types");
const stargate_1 = require("@cosmjs/stargate");
const querier_1 = require("./querier");
class CheqdSDK {
methods;
signer;
querier;
options;
protectedMethods = ['constructor', 'build', 'loadModules', 'loadRegistry'];
constructor(options) {
if (!options?.wallet) {
throw new Error('No wallet provided');
}
this.options = {
authorizedMethods: [],
network: types_1.CheqdNetwork.Testnet,
...options
};
this.methods = {};
this.signer = new signer_1.CheqdSigningStargateClient(undefined, this.options.wallet, {});
this.querier = new stargate_1.QueryClient({});
}
async execute(method, ...params) {
if (!Object.keys(this.methods).includes(method)) {
throw new Error(`Method ${method} is not authorized`);
}
return await this.methods[method](...params, { sdk: this });
}
async loadModules(modules) {
this.options.modules = this.options.modules.map((module) => (0, _1.instantiateCheqdSDKModule)(module, this.signer, this.querier, { sdk: this }));
const methods = (0, _1.applyMixins)(this, modules);
this.methods = { ...this.methods, ...filterUnauthorizedMethods(methods, this.options.authorizedMethods || [], this.protectedMethods) };
for (const method of Object.keys(this.methods)) {
// @ts-ignore
this[method] = async (...params) => {
return await this.execute(method, ...params);
};
}
return this;
}
loadRegistry() {
const registryTypes = this.options.modules.map((module) => (0, _1.instantiateCheqdSDKModuleRegistryTypes)(module)).reduce((acc, types) => {
return [...acc, ...types];
});
return (0, registry_1.createDefaultCheqdRegistry)(registryTypes);
}
async loadQuerierExtensions() {
const querierExtensions = this.options.modules.map((module) => (0, _1.instantiateCheqdSDKModuleQuerierExtensionSetup)(module));
const querier = await querier_1.CheqdQuerier.connectWithExtensions(this.options.rpcUrl, ...querierExtensions);
return querier;
}
async build() {
const registry = this.loadRegistry();
this.querier = await this.loadQuerierExtensions();
this.signer = await signer_1.CheqdSigningStargateClient.connectWithSigner(this.options.rpcUrl, this.options.wallet, {
registry,
gasPrice: this.options?.gasPrice,
});
return await this.loadModules(this.options.modules);
}
}
exports.CheqdSDK = CheqdSDK;
function filterUnauthorizedMethods(methods, authorizedMethods, protectedMethods) {
let _methods = Object.keys(methods);
if (authorizedMethods.length === 0)
return _methods
.filter(method => !protectedMethods.includes(method))
.reduce((acc, method) => ({ ...acc, [method]: methods[method] }), {});
return _methods
.filter(method => authorizedMethods.includes(method) && !protectedMethods.includes(method))
.reduce((acc, method) => ({ ...acc, [method]: methods[method] }), {});
}
exports.filterUnauthorizedMethods = filterUnauthorizedMethods;
async function createCheqdSDK(options) {
return await (new CheqdSDK(options)).build();
}
exports.createCheqdSDK = createCheqdSDK;
var _2 = require("./modules/_");
Object.defineProperty(exports, "AbstractCheqdSDKModule", { enumerable: true, get: function () { return _2.AbstractCheqdSDKModule; } });
Object.defineProperty(exports, "applyMixins", { enumerable: true, get: function () { return _2.applyMixins; } });
var did_2 = require("./modules/did");
Object.defineProperty(exports, "MsgCreateDidDocResponseEncodeObject", { enumerable: true, get: function () { return did_2.MsgCreateDidDocResponseEncodeObject; } });
Object.defineProperty(exports, "MsgUpdateDidDocEncodeObject", { enumerable: true, get: function () { return did_2.MsgUpdateDidDocEncodeObject; } });
Object.defineProperty(exports, "MsgUpdateDidDocResponseEncodeObject", { enumerable: true, get: function () { return did_2.MsgUpdateDidDocResponseEncodeObject; } });
Object.defineProperty(exports, "MsgDeactivateDidDocEncodeObject", { enumerable: true, get: function () { return did_2.MsgDeactivateDidDocEncodeObject; } });
Object.defineProperty(exports, "contexts", { enumerable: true, get: function () { return did_2.contexts; } });
Object.defineProperty(exports, "defaultDidExtensionKey", { enumerable: true, get: function () { return did_2.defaultDidExtensionKey; } });
Object.defineProperty(exports, "protobufLiteralsDid", { enumerable: true, get: function () { return did_2.protobufLiterals; } });
Object.defineProperty(exports, "typeUrlMsgCreateDidDoc", { enumerable: true, get: function () { return did_2.typeUrlMsgCreateDidDoc; } });
Object.defineProperty(exports, "typeUrlMsgCreateDidDocResponse", { enumerable: true, get: function () { return did_2.typeUrlMsgCreateDidDocResponse; } });
Object.defineProperty(exports, "typeUrlMsgUpdateDidDoc", { enumerable: true, get: function () { return did_2.typeUrlMsgUpdateDidDoc; } });
Object.defineProperty(exports, "typeUrlMsgUpdateDidDocResponse", { enumerable: true, get: function () { return did_2.typeUrlMsgUpdateDidDocResponse; } });
Object.defineProperty(exports, "typeUrlMsgDeactivateDidDoc", { enumerable: true, get: function () { return did_2.typeUrlMsgDeactivateDidDoc; } });
Object.defineProperty(exports, "typeUrlMsgDeactivateDidDocResponse", { enumerable: true, get: function () { return did_2.typeUrlMsgDeactivateDidDocResponse; } });
Object.defineProperty(exports, "setupDidExtension", { enumerable: true, get: function () { return did_2.setupDidExtension; } });
Object.defineProperty(exports, "isMsgCreateDidDocEncodeObject", { enumerable: true, get: function () { return did_2.isMsgCreateDidDocEncodeObject; } });
Object.defineProperty(exports, "isMsgUpdateDidDocEncodeObject", { enumerable: true, get: function () { return did_2.isMsgUpdateDidDocEncodeObject; } });
Object.defineProperty(exports, "isMsgDeactivateDidDocEncodeObject", { enumerable: true, get: function () { return did_2.isMsgDeactivateDidDocEncodeObject; } });
var resource_2 = require("./modules/resource");
Object.defineProperty(exports, "defaultResourceExtensionKey", { enumerable: true, get: function () { return resource_2.defaultResourceExtensionKey; } });
Object.defineProperty(exports, "protobufLiteralsResource", { enumerable: true, get: function () { return resource_2.protobufLiterals; } });
Object.defineProperty(exports, "typeUrlMsgCreateResource", { enumerable: true, get: function () { return resource_2.typeUrlMsgCreateResource; } });
Object.defineProperty(exports, "typeUrlMsgCreateResourceResponse", { enumerable: true, get: function () { return resource_2.typeUrlMsgCreateResourceResponse; } });
Object.defineProperty(exports, "setupResourceExtension", { enumerable: true, get: function () { return resource_2.setupResourceExtension; } });
Object.defineProperty(exports, "isMsgCreateResourceEncodeObject", { enumerable: true, get: function () { return resource_2.isMsgCreateResourceEncodeObject; } });
__exportStar(require("./signer"), exports);
__exportStar(require("./querier"), exports);
__exportStar(require("./registry"), exports);
__exportStar(require("./types"), exports);
var utils_1 = require("./utils");
Object.defineProperty(exports, "createKeyPairRaw", { enumerable: true, get: function () { return utils_1.createKeyPairRaw; } });
Object.defineProperty(exports, "createKeyPairBase64", { enumerable: true, get: function () { return utils_1.createKeyPairBase64; } });
Object.defineProperty(exports, "createKeyPairHex", { enumerable: true, get: function () { return utils_1.createKeyPairHex; } });
Object.defineProperty(exports, "createVerificationKeys", { enumerable: true, get: function () { return utils_1.createVerificationKeys; } });
Object.defineProperty(exports, "createDidVerificationMethod", { enumerable: true, get: function () { return utils_1.createDidVerificationMethod; } });
Object.defineProperty(exports, "createDidPayload", { enumerable: true, get: function () { return utils_1.createDidPayload; } });
Object.defineProperty(exports, "createSignInputsFromImportableEd25519Key", { enumerable: true, get: function () { return utils_1.createSignInputsFromImportableEd25519Key; } });
Object.defineProperty(exports, "validateSpecCompliantPayload", { enumerable: true, get: function () { return utils_1.validateSpecCompliantPayload; } });
Object.defineProperty(exports, "isEqualKeyValuePair", { enumerable: true, get: function () { return utils_1.isEqualKeyValuePair; } });
//# sourceMappingURL=index.js.map