🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@xlera/xplor-chaincode-utils

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xlera/xplor-chaincode-utils - npm Package Compare versions

Comparing version
1.3.20
to
1.3.21
+10
dist/src/Chaincode.d.ts
import { ChaincodeInterface, ChaincodeResponse, ChaincodeStub } from "fabric-shim";
import { Logger } from "winston";
export declare class Chaincode implements ChaincodeInterface {
logger: Logger;
constructor(logLevel?: string);
get name(): string;
Init(stub: ChaincodeStub): Promise<ChaincodeResponse>;
Invoke(stub: ChaincodeStub): Promise<ChaincodeResponse>;
private executeMethod;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Chaincode = void 0;
var tslib_1 = require("tslib");
var shim = require("fabric-shim");
var helpers_1 = require("./utils/helpers");
var StubHelper_1 = require("./StubHelper");
var datatransform_1 = require("./utils/datatransform");
var ChaincodeError_1 = require("./utils/errors/ChaincodeError");
var InternalServerError_1 = require("./utils/errors/InternalServerError");
var serialize = require("serialize-error");
var Chaincode = (function () {
function Chaincode(logLevel) {
this.logger = helpers_1.Helpers.getLoggerInstance(this.name, logLevel);
}
Object.defineProperty(Chaincode.prototype, "name", {
get: function () {
return this.constructor.name;
},
enumerable: false,
configurable: true
});
Chaincode.prototype.Init = function (stub) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var ret;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
this.logger.info("=========== Instantiated " + this.name + " chaincode ===========");
this.logger.info("Transaction ID: " + stub.getTxID());
this.logger.info("Args: " + stub.getArgs().join(","));
ret = stub.getFunctionAndParameters();
return [4, this.executeMethod("init", ret.params, stub, true)];
case 1: return [2, _a.sent()];
}
});
});
};
Chaincode.prototype.Invoke = function (stub) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var ret;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
this.logger.info("=========== Invoked Chaincode " + this.name + " ===========");
this.logger.info("Transaction ID: " + stub.getTxID());
this.logger.info("Args: " + stub.getArgs().join(","));
ret = stub.getFunctionAndParameters();
return [4, this.executeMethod(ret.fcn, ret.params, stub)];
case 1: return [2, _a.sent()];
}
});
});
};
Chaincode.prototype.executeMethod = function (fcn, params, stub, silent) {
if (silent === void 0) { silent = false; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var method, payload, err_1, error;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
method = this[fcn];
if (!method) {
if (!silent) {
this.logger.error("no function of name: " + fcn + " found");
return [2, shim.error(serialize(new ChaincodeError_1.ChaincodeError("no function of name: " + fcn + " found", 400)))];
}
else {
return [2, shim.success()];
}
}
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
this.logger.debug("============= START : " + fcn + " ===========");
return [4, method.call(this, new StubHelper_1.StubHelper(stub), params)];
case 2:
payload = _a.sent();
if (payload !== undefined &&
payload !== null &&
!Buffer.isBuffer(payload)) {
payload = Buffer.from(JSON.stringify(datatransform_1.Transform.normalizePayload(payload)));
}
this.logger.debug("============= END : " + fcn + " ===========");
return [2, shim.success(payload)];
case 3:
err_1 = _a.sent();
error = err_1;
this.logger.error(err_1);
if (error.name !== "ChaincodeError") {
error = new InternalServerError_1.InternalServerError(error.message);
}
delete error.stack;
return [2, shim.error(Buffer.from(JSON.stringify(serialize(error))))];
case 4: return [2];
}
});
});
};
return Chaincode;
}());
exports.Chaincode = Chaincode;
//# sourceMappingURL=Chaincode.js.map
{"version":3,"file":"Chaincode.js","sourceRoot":"","sources":["../../src/Chaincode.ts"],"names":[],"mappings":"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"}
export declare enum ERRORS {
PARSING_PARAMETERS_ERROR = "Error parsing parameters",
INVALID_PARAMETERS_ERROR = "Invalid parameters",
UNKNOWN_FUNCTION_ERROR = "Received unknown function",
UNKNOWN_ERROR = "Unknown error occurred"
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ERRORS = void 0;
var ERRORS;
(function (ERRORS) {
ERRORS["PARSING_PARAMETERS_ERROR"] = "Error parsing parameters";
ERRORS["INVALID_PARAMETERS_ERROR"] = "Invalid parameters";
ERRORS["UNKNOWN_FUNCTION_ERROR"] = "Received unknown function";
ERRORS["UNKNOWN_ERROR"] = "Unknown error occurred";
})(ERRORS = exports.ERRORS || (exports.ERRORS = {}));
//# sourceMappingURL=errors.js.map
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/constants/errors.ts"],"names":[],"mappings":";;;AAGA,IAAY,MAKX;AALD,WAAY,MAAM;IACd,+DAAqD,CAAA;IACrD,yDAA+C,CAAA;IAC/C,8DAAoD,CAAA;IACpD,kDAAwC,CAAA;AAC5C,CAAC,EALW,MAAM,GAAN,cAAM,KAAN,cAAM,QAKjB"}
export * from "./Chaincode";
export * from "./StubHelper";
export * from "./utils/datatransform";
export * from "./utils/helpers";
export * from "./utils/errors/ChaincodeError";
export * from "./utils/errors/NotFoundError";
export { GetQueryResultAsListOptions } from "./models/GetQueryResultAsListOptions";
export { DeleteAllByQueryOptions } from "./models/DeleteAllByQueryOptions";
export { GetStateByRangeAsListOptions } from "./models/GetStateByRangeAsListOptions";
export { PutStateOptions } from "./models/PutStateOptions";
export { GetStateOptions } from "./models/GetStateOptions";
export interface KV {
key: string;
value: any;
}
export interface KeyModificationItem {
is_delete: boolean;
value: Object;
timestamp: number;
tx_id: string;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
tslib_1.__exportStar(require("./Chaincode"), exports);
tslib_1.__exportStar(require("./StubHelper"), exports);
tslib_1.__exportStar(require("./utils/datatransform"), exports);
tslib_1.__exportStar(require("./utils/helpers"), exports);
tslib_1.__exportStar(require("./utils/errors/ChaincodeError"), exports);
tslib_1.__exportStar(require("./utils/errors/NotFoundError"), exports);
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B;AAC7B,gEAAsC;AACtC,0DAAgC;AAChC,wEAA8C;AAC9C,uEAA6C"}
export declare type DeleteAllByQueryOptions = {
privateCollection?: string;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=DeleteAllByQueryOptions.js.map
{"version":3,"file":"DeleteAllByQueryOptions.js","sourceRoot":"","sources":["../../../src/models/DeleteAllByQueryOptions.ts"],"names":[],"mappings":""}
export declare type GetQueryResultAsListOptions = {
keyValue?: boolean;
privateCollection?: string;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=GetQueryResultAsListOptions.js.map
{"version":3,"file":"GetQueryResultAsListOptions.js","sourceRoot":"","sources":["../../../src/models/GetQueryResultAsListOptions.ts"],"names":[],"mappings":""}
export declare type GetStateByRangeAsListOptions = {
privateCollection?: string;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=GetStateByRangeAsListOptions.js.map
{"version":3,"file":"GetStateByRangeAsListOptions.js","sourceRoot":"","sources":["../../../src/models/GetStateByRangeAsListOptions.ts"],"names":[],"mappings":""}
export declare type GetStateOptions = {
privateCollection?: string;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=GetStateOptions.js.map
{"version":3,"file":"GetStateOptions.js","sourceRoot":"","sources":["../../../src/models/GetStateOptions.ts"],"names":[],"mappings":""}
export declare type PutStateOptions = {
privateCollection?: string;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=PutStateOptions.js.map
{"version":3,"file":"PutStateOptions.js","sourceRoot":"","sources":["../../../src/models/PutStateOptions.ts"],"names":[],"mappings":""}
import { ClientIdentity, ChaincodeStub } from "fabric-shim";
import { KV } from "./index";
import { GetQueryResultAsListOptions } from "./models/GetQueryResultAsListOptions";
import { DeleteAllByQueryOptions } from "./models/DeleteAllByQueryOptions";
import { GetStateByRangeAsListOptions } from "./models/GetStateByRangeAsListOptions";
import { PutStateOptions } from "./models/PutStateOptions";
import { GetStateOptions } from "./models/GetStateOptions";
import { ShimCryptoClass } from "fabric-shim-crypto";
export declare class StubHelper {
private readonly stub;
private logger;
constructor(stub: ChaincodeStub);
getStub(): ChaincodeStub;
getChaincodeCrypto(): ShimCryptoClass;
getClientIdentity(): ClientIdentity;
generateUUID(name: string): string;
getQueryResultAsList(query: string | object, options?: GetQueryResultAsListOptions): Promise<object[] | KV[]>;
getStateByRangeAsList(startKey: string, endKey: string, options?: GetStateByRangeAsListOptions): Promise<KV[]>;
getHistoryForKeyAsList(key: string): Promise<object[]>;
deleteAllByQuery(query: string | object, options?: DeleteAllByQueryOptions): Promise<void[]>;
putState(key: string, value: any, options?: PutStateOptions): Promise<any>;
getStateAsObject(key: string, options?: GetStateOptions): Promise<Object>;
getStateAsString(key: string, options?: GetStateOptions): Promise<string>;
getStateAsDate(key: string, options?: GetStateOptions): Promise<Date>;
getTxDate(): Date;
setEvent(name: string, payload: object): void;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StubHelper = void 0;
var tslib_1 = require("tslib");
var fabric_shim_1 = require("fabric-shim");
var helpers_1 = require("./utils/helpers");
var datatransform_1 = require("./utils/datatransform");
var fabric_shim_crypto_1 = require("fabric-shim-crypto");
var aguid = require("aguid");
var StubHelper = (function () {
function StubHelper(stub) {
this.stub = stub;
this.stub = stub;
this.logger = helpers_1.Helpers.getLoggerInstance("StubHelper");
}
StubHelper.prototype.getStub = function () {
return this.stub;
};
StubHelper.prototype.getChaincodeCrypto = function () {
return new fabric_shim_crypto_1.ShimCryptoClass(this.stub);
};
StubHelper.prototype.getClientIdentity = function () {
return new fabric_shim_1.ClientIdentity(this.stub);
};
StubHelper.prototype.generateUUID = function (name) {
var txId = this.stub.getTxID();
var txTimestamp = this.getTxDate().getTime();
return aguid(name + "_" + txId + "_" + txTimestamp);
};
StubHelper.prototype.getQueryResultAsList = function (query, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var queryString, iterator;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (query && typeof query === "object") {
queryString = JSON.stringify(query);
}
else {
queryString = query;
}
this.logger.debug("Query: " + queryString);
if (!options.privateCollection) return [3, 2];
return [4, this.stub.getPrivateDataQueryResult(options.privateCollection, queryString)];
case 1:
iterator = _a.sent();
return [3, 4];
case 2: return [4, this.stub.getQueryResult(queryString)];
case 3:
iterator = _a.sent();
_a.label = 4;
case 4:
if (options.keyValue) {
return [2, datatransform_1.Transform.iteratorToKVList(iterator)];
}
return [2, datatransform_1.Transform.iteratorToList(iterator)];
}
});
});
};
StubHelper.prototype.getStateByRangeAsList = function (startKey, endKey, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var iterator;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
this.logger.debug("StartKey: " + startKey + " - EndKey: " + endKey);
if (!options.privateCollection) return [3, 2];
return [4, this.stub.getPrivateDataByRange(options.privateCollection, startKey, endKey)];
case 1:
iterator = _a.sent();
return [3, 4];
case 2: return [4, this.stub.getStateByRange(startKey, endKey)];
case 3:
iterator = _a.sent();
_a.label = 4;
case 4: return [2, datatransform_1.Transform.iteratorToList(iterator)];
}
});
});
};
StubHelper.prototype.getHistoryForKeyAsList = function (key) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var iterator;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
this.logger.debug("History for key: " + key);
return [4, this.stub.getHistoryForKey(key)];
case 1:
iterator = _a.sent();
return [2, datatransform_1.Transform.iteratorToHistoryList(iterator)];
}
});
});
};
StubHelper.prototype.deleteAllByQuery = function (query, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var allResults;
var _this = this;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, this.getQueryResultAsList(query, tslib_1.__assign({ keyValue: true }, options))];
case 1:
allResults = _a.sent();
return [2, Promise.all(allResults.map(function (record) {
if (options.privateCollection) {
return _this.stub.deletePrivateData(options.privateCollection, record.key);
}
else {
return _this.stub.deleteState(record.key);
}
}))];
}
});
});
};
StubHelper.prototype.putState = function (key, value, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
if (options.privateCollection) {
return [2, this.stub.putPrivateData(options.privateCollection, key, datatransform_1.Transform.serialize(value))];
}
return [2, this.stub.putState(key, datatransform_1.Transform.serialize(value))];
});
});
};
StubHelper.prototype.getStateAsObject = function (key, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var valueAsBytes;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!options.privateCollection) return [3, 2];
return [4, this.stub.getPrivateData(options.privateCollection, key)];
case 1:
valueAsBytes = _a.sent();
return [3, 4];
case 2: return [4, this.stub.getState(key)];
case 3:
valueAsBytes = _a.sent();
_a.label = 4;
case 4:
if (valueAsBytes === undefined ||
valueAsBytes === null ||
valueAsBytes.toString().length <= 0) {
return [2, null];
}
return [2, datatransform_1.Transform.bufferToObject(valueAsBytes)];
}
});
});
};
StubHelper.prototype.getStateAsString = function (key, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var valueAsBytes;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!options.privateCollection) return [3, 2];
return [4, this.stub.getPrivateData(options.privateCollection, key)];
case 1:
valueAsBytes = _a.sent();
return [3, 4];
case 2: return [4, this.stub.getState(key)];
case 3:
valueAsBytes = _a.sent();
_a.label = 4;
case 4:
if (valueAsBytes === undefined ||
valueAsBytes === null ||
valueAsBytes.toString().length <= 0) {
return [2, null];
}
return [2, datatransform_1.Transform.bufferToString(valueAsBytes)];
}
});
});
};
StubHelper.prototype.getStateAsDate = function (key, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var valueAsBytes;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!options.privateCollection) return [3, 2];
return [4, this.stub.getPrivateData(options.privateCollection, key)];
case 1:
valueAsBytes = _a.sent();
return [3, 4];
case 2: return [4, this.stub.getState(key)];
case 3:
valueAsBytes = _a.sent();
_a.label = 4;
case 4:
if (valueAsBytes === undefined ||
valueAsBytes === null ||
valueAsBytes.toString().length <= 0) {
return [2, null];
}
return [2, datatransform_1.Transform.bufferToDate(valueAsBytes)];
}
});
});
};
StubHelper.prototype.getTxDate = function () {
return new Date(this.stub.getTxTimestamp().nanos * 1000);
};
StubHelper.prototype.setEvent = function (name, payload) {
var bufferedPayload;
if (Buffer.isBuffer(payload)) {
bufferedPayload = payload;
}
else {
bufferedPayload = Buffer.from(JSON.stringify(payload));
}
this.logger.debug("Setting Event " + name + " with payload " + JSON.stringify(payload));
this.stub.setEvent(name, bufferedPayload);
};
return StubHelper;
}());
exports.StubHelper = StubHelper;
//# sourceMappingURL=StubHelper.js.map
{"version":3,"file":"StubHelper.js","sourceRoot":"","sources":["../../src/StubHelper.ts"],"names":[],"mappings":"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"}
/// <reference types="node" />
import { Iterators } from "fabric-shim";
import { KeyModificationItem, KV } from "../index";
import { Logger } from "winston";
export declare class Transform {
static logger: Logger;
static serialize(value: any): Buffer;
static bufferToObject(buffer: Buffer): object | string;
static bufferToDate(buffer: Buffer): Date | undefined;
static bufferToString(buffer: Buffer): string | undefined;
static iteratorToList(iterator: Iterators.CommonIterator<any>): Promise<any[]>;
static iteratorToKVList(iterator: Iterators.CommonIterator<any>): Promise<KV[]>;
static iteratorToHistoryList(iterator: Iterators.HistoryQueryIterator): Promise<KeyModificationItem[]>;
static normalizePayload(value: any): any;
static isDate(date: any): boolean;
static isString(data: any): boolean;
static isObject(data: any): boolean;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transform = void 0;
var tslib_1 = require("tslib");
var helpers_1 = require("./helpers");
var Transform = (function () {
function Transform() {
}
Transform.serialize = function (value) {
if (value instanceof Buffer) {
return value;
}
else if (this.isDate(value) || this.isString(value)) {
return Buffer.from(this.normalizePayload(value).toString());
}
return Buffer.from(JSON.stringify(this.normalizePayload(value)));
};
Transform.bufferToObject = function (buffer) {
if (buffer == null) {
return null;
}
if (Number(parseFloat(buffer.toString())) === buffer) {
return buffer;
}
var bufferString = buffer.toString("utf8");
if (bufferString.length <= 0) {
return null;
}
try {
return JSON.parse(bufferString);
}
catch (err) {
this.logger.error("Error parsing buffer to JSON", bufferString);
return bufferString;
}
};
Transform.bufferToDate = function (buffer) {
if (buffer == null) {
return null;
}
var bufferString = buffer.toString();
if (bufferString.length <= 0) {
return null;
}
if (/\d+/g.test(bufferString)) {
return new Date(parseInt(bufferString, 10));
}
return null;
};
Transform.bufferToString = function (buffer) {
if (buffer == null) {
return null;
}
return buffer.toString();
};
Transform.iteratorToList = function (iterator) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var allResults, res, parsedItem;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
allResults = [];
_a.label = 1;
case 1:
if (!(res == null || !res.done)) return [3, 3];
return [4, iterator.next()];
case 2:
res = _a.sent();
if (res.value && res.value.value.toString()) {
parsedItem = void 0;
try {
parsedItem = JSON.parse(res.value.value.toString("utf8"));
}
catch (err) {
parsedItem = res.value.value.toString("utf8");
}
allResults.push(parsedItem);
}
return [3, 1];
case 3: return [4, iterator.close()];
case 4:
_a.sent();
return [2, allResults];
}
});
});
};
Transform.iteratorToKVList = function (iterator) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var allResults, res, parsedItem;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
allResults = [];
_a.label = 1;
case 1:
if (!(res == null || !res.done)) return [3, 3];
return [4, iterator.next()];
case 2:
res = _a.sent();
if (res.value && res.value.value.toString()) {
parsedItem = { key: "", value: {} };
parsedItem.key = res.value.key;
try {
parsedItem.value = JSON.parse(res.value.value.toString("utf8"));
}
catch (err) {
parsedItem.value = res.value.value.toString("utf8");
}
allResults.push(parsedItem);
}
return [3, 1];
case 3: return [4, iterator.close()];
case 4:
_a.sent();
return [2, allResults];
}
});
});
};
Transform.iteratorToHistoryList = function (iterator) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var allResults, res, parsedItem;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
allResults = [];
_a.label = 1;
case 1:
if (!(res == null || !res.done)) return [3, 3];
return [4, iterator.next()];
case 2:
res = _a.sent();
if (res.value && res.value.value.toString()) {
parsedItem = {
is_delete: false,
value: {},
timestamp: null,
tx_id: "",
};
try {
parsedItem.value = JSON.parse(res.value.value.toString());
}
catch (err) {
parsedItem.value = res.value.value.toString();
}
parsedItem.is_delete = res.value.isDelete;
parsedItem.tx_id = res.value.txId;
parsedItem.timestamp = res.value.timestamp.nanos;
allResults.push(parsedItem);
}
return [3, 1];
case 3: return [4, iterator.close()];
case 4:
_a.sent();
return [2, allResults];
}
});
});
};
Transform.normalizePayload = function (value) {
var _this = this;
if (value === null) {
return value;
}
else if (this.isDate(value)) {
return value.getTime();
}
else if (this.isString(value)) {
return value;
}
else if (Array.isArray(value)) {
return value.map(function (v) { return _this.normalizePayload(v); });
}
else if (this.isObject(value)) {
return Object.entries(value).reduce(function (a, _a) {
var key = _a[0], v = _a[1];
a[key] = _this.normalizePayload(v);
return a;
}, {});
}
return value;
};
Transform.isDate = function (date) {
return (date &&
Object.prototype.toString.call(date) === "[object Date]" &&
!isNaN(date));
};
Transform.isString = function (data) {
return data && (typeof data === "string" || data instanceof String);
};
Transform.isObject = function (data) {
return data !== null && typeof data === "object";
};
Transform.logger = helpers_1.Helpers.getLoggerInstance("Transform", "info");
return Transform;
}());
exports.Transform = Transform;
//# sourceMappingURL=datatransform.js.map
{"version":3,"file":"datatransform.js","sourceRoot":"","sources":["../../../src/utils/datatransform.ts"],"names":[],"mappings":"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"}
export declare class ChaincodeError extends Error {
status: number;
constructor(message: string, status?: number);
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChaincodeError = void 0;
var tslib_1 = require("tslib");
var ChaincodeError = (function (_super) {
tslib_1.__extends(ChaincodeError, _super);
function ChaincodeError(message, status) {
var _this = _super.call(this, message) || this;
_this.name = _this.constructor.name;
Error.captureStackTrace(_this, _this.constructor);
_this.status = status || 500;
return _this;
}
return ChaincodeError;
}(Error));
exports.ChaincodeError = ChaincodeError;
//# sourceMappingURL=ChaincodeError.js.map
{"version":3,"file":"ChaincodeError.js","sourceRoot":"","sources":["../../../../src/utils/errors/ChaincodeError.ts"],"names":[],"mappings":";;;;AAGA;IAAoC,0CAAK;IAIrC,wBAAY,OAAe,EAAE,MAAgB;QAA7C,YAGI,kBAAM,OAAO,CAAC,SAajB;QAVG,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAGlC,KAAK,CAAC,iBAAiB,CAAC,KAAI,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;QAKhD,KAAI,CAAC,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC;;IAEhC,CAAC;IAEL,qBAAC;AAAD,CAAC,AAtBD,CAAoC,KAAK,GAsBxC;AAtBY,wCAAc"}
import { ChaincodeError } from './ChaincodeError';
export declare class InternalServerError extends ChaincodeError {
constructor(message?: string);
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InternalServerError = void 0;
var tslib_1 = require("tslib");
var ChaincodeError_1 = require("./ChaincodeError");
var InternalServerError = (function (_super) {
tslib_1.__extends(InternalServerError, _super);
function InternalServerError(message) {
if (message === void 0) { message = ''; }
return _super.call(this, message, 500) || this;
}
return InternalServerError;
}(ChaincodeError_1.ChaincodeError));
exports.InternalServerError = InternalServerError;
//# sourceMappingURL=InternalServerError.js.map
{"version":3,"file":"InternalServerError.js","sourceRoot":"","sources":["../../../../src/utils/errors/InternalServerError.ts"],"names":[],"mappings":";;;;AAAA,mDAAkD;AAKlD;IAAyC,+CAAc;IAEnD,6BAAY,OAAY;QAAZ,wBAAA,EAAA,YAAY;eACpB,kBAAM,OAAO,EAAE,GAAG,CAAC;IACvB,CAAC;IAEL,0BAAC;AAAD,CAAC,AAND,CAAyC,+BAAc,GAMtD;AANY,kDAAmB"}
import { ChaincodeError } from './ChaincodeError';
export declare class NotFoundError extends ChaincodeError {
constructor(message?: string);
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotFoundError = void 0;
var tslib_1 = require("tslib");
var ChaincodeError_1 = require("./ChaincodeError");
var NotFoundError = (function (_super) {
tslib_1.__extends(NotFoundError, _super);
function NotFoundError(message) {
if (message === void 0) { message = ''; }
return _super.call(this, message, 404) || this;
}
return NotFoundError;
}(ChaincodeError_1.ChaincodeError));
exports.NotFoundError = NotFoundError;
//# sourceMappingURL=NotFoundError.js.map
{"version":3,"file":"NotFoundError.js","sourceRoot":"","sources":["../../../../src/utils/errors/NotFoundError.ts"],"names":[],"mappings":";;;;AAAA,mDAAkD;AAKlD;IAAmC,yCAAc;IAE7C,uBAAY,OAAY;QAAZ,wBAAA,EAAA,YAAY;eACpB,kBAAM,OAAO,EAAE,GAAG,CAAC;IACvB,CAAC;IAEL,oBAAC;AAAD,CAAC,AAND,CAAmC,+BAAc,GAMhD;AANY,sCAAa"}
import { ChaincodeError } from './ChaincodeError';
import { ValidationError } from 'yup';
export declare class ObjectValidationError extends ChaincodeError {
value: any;
path: string;
type: any;
errors: string[];
inner: ValidationError[];
params?: object;
constructor(error: ValidationError);
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectValidationError = void 0;
var tslib_1 = require("tslib");
var ChaincodeError_1 = require("./ChaincodeError");
var ObjectValidationError = (function (_super) {
tslib_1.__extends(ObjectValidationError, _super);
function ObjectValidationError(error) {
var _this = _super.call(this, error.message, 400) || this;
_this.errors = error.errors;
_this.params = error.params;
_this.path = error.path;
_this.value = error.value;
_this.inner = error.inner;
_this.type = error.type;
return _this;
}
return ObjectValidationError;
}(ChaincodeError_1.ChaincodeError));
exports.ObjectValidationError = ObjectValidationError;
//# sourceMappingURL=ObjectValidationError.js.map
{"version":3,"file":"ObjectValidationError.js","sourceRoot":"","sources":["../../../../src/utils/errors/ObjectValidationError.ts"],"names":[],"mappings":";;;;AAAA,mDAAkD;AAMlD;IAA2C,iDAAc;IAmBrD,+BAAY,KAAsB;QAAlC,YAGI,kBAAM,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,SAQ5B;QANG,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;;IAC3B,CAAC;IAEL,4BAAC;AAAD,CAAC,AAhCD,CAA2C,+BAAc,GAgCxD;AAhCY,sDAAqB"}
import { Logger } from "winston";
export declare class Helpers {
static getLoggerInstance(name: string, level?: string): Logger;
static checkArgs<T>(object: Object, yupSchema: any): Promise<T>;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Helpers = void 0;
var winston_1 = require("winston");
var ObjectValidationError_1 = require("./errors/ObjectValidationError");
var ChaincodeError_1 = require("./errors/ChaincodeError");
var Helpers = (function () {
function Helpers() {
}
Helpers.getLoggerInstance = function (name, level) {
return new winston_1.Logger({
transports: [
new winston_1.transports.Console({
level: level || "debug",
handleExceptions: true,
}),
],
exitOnError: false,
});
};
Helpers.checkArgs = function (object, yupSchema) {
if (!object || !yupSchema) {
return Promise.reject(new ChaincodeError_1.ChaincodeError("CheckArgs requires an object and schema", 400));
}
return yupSchema
.validate(object)
.then(function (validatedObject) {
return validatedObject;
})
.catch(function (error) {
throw new ObjectValidationError_1.ObjectValidationError(error);
});
};
return Helpers;
}());
exports.Helpers = Helpers;
//# sourceMappingURL=helpers.js.map
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAC7C,wEAAuE;AACvE,0DAAyD;AAKzD;IAAA;IA0DA,CAAC;IAhDiB,yBAAiB,GAA/B,UAAgC,IAAY,EAAE,KAAc;QACxD,OAAO,IAAI,gBAAM,CAAC;YACd,UAAU,EAAE;gBACR,IAAI,oBAAU,CAAC,OAAO,CAAC;oBACnB,KAAK,EAAE,KAAK,IAAI,OAAO;oBAEvB,gBAAgB,EAAE,IAAI;iBAIzB,CAAC;aACL;YACD,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;IACP,CAAC;IAea,iBAAS,GAAvB,UAA2B,MAAc,EAAE,SAAc;QACrD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;YACvB,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,+BAAc,CACd,yCAAyC,EACzC,GAAG,CACN,CACJ,CAAC;SACL;QAED,OAAO,SAAS;aACX,QAAQ,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,UAAC,eAAkB;YACrB,OAAO,eAAe,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAU;YACd,MAAM,IAAI,6CAAqB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACX,CAAC;IACL,cAAC;AAAD,CAAC,AA1DD,IA0DC;AA1DY,0BAAO"}
+30
-45
{
"name": "@xlera/xplor-chaincode-utils",
"version": "1.3.20",
"version": "1.3.21",
"description": "Utilities for working with and testing hyperledger Fabric nodejs chaincode",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"typings": "./dist/src/index.d.ts",
"files": [
"dist/*"
],
"scripts": {
"clean": "rimraf dist",
"clean:docs": "rimraf docs",
"build": "npm run clean && tsc",
"test": "mocha -r ts-node/register src/test/**/*.spec.ts --reporter spec",
"test:coverage": "nyc --no-clean mocha -r ts-node/register src/test/**/*.spec.ts --reporter spec",
"report-coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
"lint": "tslint --fix -c tslint.json './src/**/*.ts'",
"clean": "rimraf dist",
"prepare": "npm run build",
"watch": "npm-scripts-watcher",
"generate:docs": "rimraf docs && typedoc src --out docs --target ES6 --excludePrivate && touch docs/.nojekyll && touch docs/modules/.nojekyll"
},
"lint": "tslint --fix -c '../../tslint.json' -p './tsconfig.json'",
"predocs:generate": "npm run clean:docs",
"docs:generate": "typedoc src --mode file --out docs --target ES6 --excludePrivate",
"docs:serve": "http-server docs"
},
"repository": {
"type": "git",
"url": "git+https://github.com/wearetheledger/fabric-chaincode-utils.git"
"url": "https://github.com/xlerarepo/xplor/tree/develop/%40xlera/xplor-chaincode-utils.git"
},
"keywords": [],
"author": "TheLedger <https://github.com/wearetheledger>",
"keywords": [
"typescript",
"chaincode",
"blockchain",
"hyperledger",
"solutions",
"environment",
"hyperledger fabric",
"smart contract",
"run",
"hurley",
"composer"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/wearetheledger/fabric-chaincode-utils/issues"
"url": "https://github.com/xlerarepo/xplor/tree/develop/%40xlera/xplor-chaincode-utils/issues"
},
"homepage": "https://github.com/wearetheledger/fabric-chaincode-utils#readme",
"homepage": "https://github.com/xlerarepo/xplor/tree/develop/%40xlera/xplor-chaincode-utils#readme",
"devDependencies": {

@@ -64,32 +78,3 @@ "@types/chai": "^4.3.4",

},
"husky": {
"hooks": {
"pre-push": "npm run lint && git add . && npm run test"
}
},
"watch": {
"{src,test}/**/*.ts": [
"test"
]
},
"nyc": {
"include": [
"src/**/*.ts"
],
"extension": [
".ts"
],
"require": [
"ts-node/register"
],
"reporter": [
"text"
],
"exclude": [
"src/utils/errors/*.ts"
],
"sourceMap": true,
"instrument": true
},
"gitHead": "b0ffe3dfe0a51350aa4c93758af199d1cd7b8c3d"
}
# EditorConfig helps developers define and maintain
# consistent coding styles between different editors and IDEs.
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
declare module 'fabric-shim-crypto' {
namespace ShimCrypto {
/*~ Write your module's methods and properties in this class */
/*~ If you want to expose types from your module as well, you can
*~ place them in this block.
*/
export class ShimCryptoClass {
constructor(stub: Object);
ENCRYPT_KEY: string;
SIGN_KEY: string;
INIT_VECTOR: string;
encrypt(plaintext: string): Buffer;
decrypt(ciphertext: string): Buffer;
sign(message: string): Buffer;
verify(signature: Buffer, message: string): ShimCrypto.VerifyResponse;
}
export interface VerifyResponse {
ok: boolean;
error?: Error;
}
}
export = ShimCrypto;
}
{
"extends": "./tsconfig.json",
"exclude": [
"node_modules",
"test",
"**/*spec.ts"
]
}
{
"compilerOptions": {
"types": [
"@types/chai"
],
"typeRoots": [
"./node_modules/@types",
"./node_modules/@theledger"
]
}
}
{
"rules": {
"class-name": true,
"comment-format": [
false
],
"curly": true,
"eofline": false,
"forin": true,
"indent": [
true,
"spaces",
4
],
"label-position": true,
"max-line-length": [
true,
150
],
"member-access": false,
"no-conditional-assignment": true,
"no-require-imports": false,
"member-ordering": [
true,
{
"order": [
"static-field",
"instance-field",
"constructor",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"no-any": false,
"no-arg": true,
"no-bitwise": true,
"no-magic-numbers": false,
"object-literal-key-quotes": [
false
],
"object-literal-shorthand": false,
"no-mergeable-namespace": true,
"no-console": [
false,
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-debugger": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-empty-interface": true,
"no-eval": true,
"completed-docs": [
false
],
"no-inferrable-types": [
true
],
"no-invalid-this": [
true
],
"cyclomatic-complexity": [
true,
20
],
"no-shadowed-variable": true,
"no-string-literal": false,
"no-switch-case-fall-through": true,
"no-for-in-array": false,
"no-trailing-whitespace": false,
"no-unused-expression": true,
"no-unused-variable": true,
"no-unsafe-finally": true,
"no-unused-new": true,
"no-parameter-properties": false,
"no-use-before-declare": true,
"use-isnan": true,
"switch-default": true,
"jsdoc-format": false,
"no-var-requires": false,
"no-var-keyword": true,
"no-default-export": true,
"restrict-plus-operands": false,
"object-literal-sort-keys": false,
"prefer-for-of": true,
"no-null-keyword": false,
"new-parens": true,
"no-angle-bracket-type-assertion": false,
"no-consecutive-blank-lines": true,
"max-classes-per-file": [
true,
1
],
"file-header": [
false
],
"align": [
true
],
"array-type": [
false
],
"interface-name": [
false
],
"arrow-parens": false,
"one-variable-per-declaration": [
false
],
"one-line": [
true,
"check-open-brace",
"check-catch",
"check-else",
"check-finally"
],
"quotemark": [
true,
"single",
"avoid-escape"
],
"radix": false,
"semicolon": [
true
],
"trailing-comma": [
false
],
"triple-equals": [
false
],
"typedef": [
true
],
"variable-name": [
true,
"allow-leading-underscore",
"allow-pascal-case"
],
"whitespace": [
false
]
}
}