@decaf-ts/for-fabric 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +22 -0
- package/README.md +647 -0
- package/dist/for-fabric.cjs +6223 -0
- package/dist/for-fabric.esm.cjs +6180 -0
- package/lib/client/FabricClientAdapter.cjs +760 -0
- package/lib/client/FabricClientAdapter.d.ts +381 -0
- package/lib/client/FabricClientDispatch.cjs +186 -0
- package/lib/client/FabricClientDispatch.d.ts +125 -0
- package/lib/client/FabricClientRepository.cjs +131 -0
- package/lib/client/FabricClientRepository.d.ts +100 -0
- package/lib/client/erc20/erc20ClientRepository.cjs +343 -0
- package/lib/client/erc20/erc20ClientRepository.d.ts +254 -0
- package/lib/client/fabric-fs.cjs +234 -0
- package/lib/client/fabric-fs.d.ts +92 -0
- package/lib/client/index.cjs +30 -0
- package/lib/client/index.d.ts +13 -0
- package/lib/client/logging.cjs +102 -0
- package/lib/client/logging.d.ts +60 -0
- package/lib/client/services/LoggedService.cjs +47 -0
- package/lib/client/services/LoggedService.d.ts +42 -0
- package/lib/client/services/constants.cjs +3 -0
- package/lib/client/services/constants.d.ts +15 -0
- package/lib/client/services/enrollementService.cjs +344 -0
- package/lib/client/services/enrollementService.d.ts +176 -0
- package/lib/client/services/index.cjs +18 -0
- package/lib/client/services/index.d.ts +1 -0
- package/lib/contracts/ContractAdapter.cjs +730 -0
- package/lib/contracts/ContractAdapter.d.ts +296 -0
- package/lib/contracts/ContractContext.cjs +85 -0
- package/lib/contracts/ContractContext.d.ts +64 -0
- package/lib/contracts/ContractPrivateDataAdapter.cjs +281 -0
- package/lib/contracts/ContractPrivateDataAdapter.d.ts +74 -0
- package/lib/contracts/FabricConstruction.cjs +441 -0
- package/lib/contracts/FabricConstruction.d.ts +304 -0
- package/lib/contracts/FabricContractRepository.cjs +306 -0
- package/lib/contracts/FabricContractRepository.d.ts +162 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +85 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.d.ts +62 -0
- package/lib/contracts/FabricContractSequence.cjs +139 -0
- package/lib/contracts/FabricContractSequence.d.ts +61 -0
- package/lib/contracts/FabricContractStatement.cjs +119 -0
- package/lib/contracts/FabricContractStatement.d.ts +34 -0
- package/lib/contracts/PrivateSequence.cjs +36 -0
- package/lib/contracts/PrivateSequence.d.ts +15 -0
- package/lib/contracts/crud/crud-contract.cjs +257 -0
- package/lib/contracts/crud/crud-contract.d.ts +168 -0
- package/lib/contracts/crud/index.cjs +19 -0
- package/lib/contracts/crud/index.d.ts +2 -0
- package/lib/contracts/crud/serialized-crud-contract.cjs +172 -0
- package/lib/contracts/crud/serialized-crud-contract.d.ts +37 -0
- package/lib/contracts/erc20/erc20contract.cjs +569 -0
- package/lib/contracts/erc20/erc20contract.d.ts +151 -0
- package/lib/contracts/erc20/index.cjs +21 -0
- package/lib/contracts/erc20/index.d.ts +2 -0
- package/lib/contracts/erc20/models.cjs +209 -0
- package/lib/contracts/erc20/models.d.ts +114 -0
- package/lib/contracts/index.cjs +32 -0
- package/lib/contracts/index.d.ts +15 -0
- package/lib/contracts/logging.cjs +96 -0
- package/lib/contracts/logging.d.ts +49 -0
- package/lib/contracts/private-data.cjs +121 -0
- package/lib/contracts/private-data.d.ts +16 -0
- package/lib/contracts/types.cjs +3 -0
- package/lib/contracts/types.d.ts +26 -0
- package/lib/esm/client/FabricClientAdapter.d.ts +381 -0
- package/lib/esm/client/FabricClientAdapter.js +723 -0
- package/lib/esm/client/FabricClientDispatch.d.ts +125 -0
- package/lib/esm/client/FabricClientDispatch.js +182 -0
- package/lib/esm/client/FabricClientRepository.d.ts +100 -0
- package/lib/esm/client/FabricClientRepository.js +127 -0
- package/lib/esm/client/erc20/erc20ClientRepository.d.ts +254 -0
- package/lib/esm/client/erc20/erc20ClientRepository.js +339 -0
- package/lib/esm/client/fabric-fs.d.ts +92 -0
- package/lib/esm/client/fabric-fs.js +191 -0
- package/lib/esm/client/index.d.ts +13 -0
- package/lib/esm/client/index.js +14 -0
- package/lib/esm/client/logging.d.ts +60 -0
- package/lib/esm/client/logging.js +98 -0
- package/lib/esm/client/services/LoggedService.d.ts +42 -0
- package/lib/esm/client/services/LoggedService.js +43 -0
- package/lib/esm/client/services/constants.d.ts +15 -0
- package/lib/esm/client/services/constants.js +2 -0
- package/lib/esm/client/services/enrollementService.d.ts +176 -0
- package/lib/esm/client/services/enrollementService.js +337 -0
- package/lib/esm/client/services/index.d.ts +1 -0
- package/lib/esm/client/services/index.js +2 -0
- package/lib/esm/contracts/ContractAdapter.d.ts +296 -0
- package/lib/esm/contracts/ContractAdapter.js +724 -0
- package/lib/esm/contracts/ContractContext.d.ts +64 -0
- package/lib/esm/contracts/ContractContext.js +81 -0
- package/lib/esm/contracts/ContractPrivateDataAdapter.d.ts +74 -0
- package/lib/esm/contracts/ContractPrivateDataAdapter.js +277 -0
- package/lib/esm/contracts/FabricConstruction.d.ts +304 -0
- package/lib/esm/contracts/FabricConstruction.js +433 -0
- package/lib/esm/contracts/FabricContractRepository.d.ts +162 -0
- package/lib/esm/contracts/FabricContractRepository.js +302 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.d.ts +62 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +81 -0
- package/lib/esm/contracts/FabricContractSequence.d.ts +61 -0
- package/lib/esm/contracts/FabricContractSequence.js +135 -0
- package/lib/esm/contracts/FabricContractStatement.d.ts +34 -0
- package/lib/esm/contracts/FabricContractStatement.js +115 -0
- package/lib/esm/contracts/PrivateSequence.d.ts +15 -0
- package/lib/esm/contracts/PrivateSequence.js +33 -0
- package/lib/esm/contracts/crud/crud-contract.d.ts +168 -0
- package/lib/esm/contracts/crud/crud-contract.js +253 -0
- package/lib/esm/contracts/crud/index.d.ts +2 -0
- package/lib/esm/contracts/crud/index.js +3 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +37 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +168 -0
- package/lib/esm/contracts/erc20/erc20contract.d.ts +151 -0
- package/lib/esm/contracts/erc20/erc20contract.js +565 -0
- package/lib/esm/contracts/erc20/index.d.ts +2 -0
- package/lib/esm/contracts/erc20/index.js +4 -0
- package/lib/esm/contracts/erc20/models.d.ts +114 -0
- package/lib/esm/contracts/erc20/models.js +206 -0
- package/lib/esm/contracts/index.d.ts +15 -0
- package/lib/esm/contracts/index.js +16 -0
- package/lib/esm/contracts/logging.d.ts +49 -0
- package/lib/esm/contracts/logging.js +92 -0
- package/lib/esm/contracts/private-data.d.ts +16 -0
- package/lib/esm/contracts/private-data.js +113 -0
- package/lib/esm/contracts/types.d.ts +26 -0
- package/lib/esm/contracts/types.js +2 -0
- package/lib/esm/index.d.ts +8 -0
- package/lib/esm/index.js +9 -0
- package/lib/esm/shared/ClientSerializer.d.ts +52 -0
- package/lib/esm/shared/ClientSerializer.js +80 -0
- package/lib/esm/shared/DeterministicSerializer.d.ts +40 -0
- package/lib/esm/shared/DeterministicSerializer.js +50 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.d.ts +7 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +42 -0
- package/lib/esm/shared/constants.d.ts +39 -0
- package/lib/esm/shared/constants.js +42 -0
- package/lib/esm/shared/crypto.d.ts +107 -0
- package/lib/esm/shared/crypto.js +331 -0
- package/lib/esm/shared/decorators.d.ts +24 -0
- package/lib/esm/shared/decorators.js +98 -0
- package/lib/esm/shared/erc20/erc20-constants.d.ts +25 -0
- package/lib/esm/shared/erc20/erc20-constants.js +27 -0
- package/lib/esm/shared/errors.d.ts +116 -0
- package/lib/esm/shared/errors.js +132 -0
- package/lib/esm/shared/events.d.ts +39 -0
- package/lib/esm/shared/events.js +47 -0
- package/lib/esm/shared/fabric-types.d.ts +33 -0
- package/lib/esm/shared/fabric-types.js +2 -0
- package/lib/esm/shared/index.d.ts +13 -0
- package/lib/esm/shared/index.js +14 -0
- package/lib/esm/shared/interfaces/Checkable.d.ts +21 -0
- package/lib/esm/shared/interfaces/Checkable.js +2 -0
- package/lib/esm/shared/math.d.ts +34 -0
- package/lib/esm/shared/math.js +61 -0
- package/lib/esm/shared/model/Identity.d.ts +42 -0
- package/lib/esm/shared/model/Identity.js +78 -0
- package/lib/esm/shared/model/IdentityCredentials.d.ts +41 -0
- package/lib/esm/shared/model/IdentityCredentials.js +74 -0
- package/lib/esm/shared/model/index.d.ts +1 -0
- package/lib/esm/shared/model/index.js +2 -0
- package/lib/esm/shared/model/utils.d.ts +60 -0
- package/lib/esm/shared/model/utils.js +108 -0
- package/lib/esm/shared/types.d.ts +79 -0
- package/lib/esm/shared/types.js +2 -0
- package/lib/esm/shared/utils.d.ts +55 -0
- package/lib/esm/shared/utils.js +148 -0
- package/lib/index.cjs +25 -0
- package/lib/index.d.ts +8 -0
- package/lib/shared/ClientSerializer.cjs +84 -0
- package/lib/shared/ClientSerializer.d.ts +52 -0
- package/lib/shared/DeterministicSerializer.cjs +54 -0
- package/lib/shared/DeterministicSerializer.d.ts +40 -0
- package/lib/shared/SimpleDeterministicSerializer.cjs +46 -0
- package/lib/shared/SimpleDeterministicSerializer.d.ts +7 -0
- package/lib/shared/constants.cjs +45 -0
- package/lib/shared/constants.d.ts +39 -0
- package/lib/shared/crypto.cjs +369 -0
- package/lib/shared/crypto.d.ts +107 -0
- package/lib/shared/decorators.cjs +105 -0
- package/lib/shared/decorators.d.ts +24 -0
- package/lib/shared/erc20/erc20-constants.cjs +30 -0
- package/lib/shared/erc20/erc20-constants.d.ts +25 -0
- package/lib/shared/errors.cjs +142 -0
- package/lib/shared/errors.d.ts +116 -0
- package/lib/shared/events.cjs +51 -0
- package/lib/shared/events.d.ts +39 -0
- package/lib/shared/fabric-types.cjs +4 -0
- package/lib/shared/fabric-types.d.ts +33 -0
- package/lib/shared/index.cjs +30 -0
- package/lib/shared/index.d.ts +13 -0
- package/lib/shared/interfaces/Checkable.cjs +3 -0
- package/lib/shared/interfaces/Checkable.d.ts +21 -0
- package/lib/shared/math.cjs +66 -0
- package/lib/shared/math.d.ts +34 -0
- package/lib/shared/model/Identity.cjs +81 -0
- package/lib/shared/model/Identity.d.ts +42 -0
- package/lib/shared/model/IdentityCredentials.cjs +77 -0
- package/lib/shared/model/IdentityCredentials.d.ts +41 -0
- package/lib/shared/model/index.cjs +18 -0
- package/lib/shared/model/index.d.ts +1 -0
- package/lib/shared/model/utils.cjs +114 -0
- package/lib/shared/model/utils.d.ts +60 -0
- package/lib/shared/types.cjs +3 -0
- package/lib/shared/types.d.ts +79 -0
- package/lib/shared/utils.cjs +185 -0
- package/lib/shared/utils.d.ts +55 -0
- package/package.json +166 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Repo } from "@decaf-ts/core";
|
|
2
|
+
import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
3
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
|
+
/**
|
|
5
|
+
* Decorator for marking methods that require ownership authorization.
|
|
6
|
+
* Checks the owner of the token before allowing the method to be executed.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* class TokenContract extends Contract {
|
|
11
|
+
* @Owner()
|
|
12
|
+
* async Mint(ctx: Context, amount: number) {
|
|
13
|
+
* // Mint token logic
|
|
14
|
+
* }
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @returns {MethodDecorator} A method decorator that checks ownership authorization.
|
|
19
|
+
*/
|
|
20
|
+
export declare function Owner(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
21
|
+
export declare function ownedByOnCreate<M extends Model, R extends Repo<M, F, C>, V, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
|
|
22
|
+
export declare function OwnedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
23
|
+
export declare function getFabricModelKey(key: string): string;
|
|
24
|
+
export declare function privateData(collection?: string): (model: any, attribute?: any) => void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERC20Events = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing the events emitted by an ERC20 contract.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This enum is used to identify the specific events that can be emitted by an ERC20 contract.
|
|
9
|
+
* The events are named according to the EIP-20 standard.
|
|
10
|
+
*/
|
|
11
|
+
var ERC20Events;
|
|
12
|
+
(function (ERC20Events) {
|
|
13
|
+
/**
|
|
14
|
+
* Emitted when a `transfer` function is called successfully.
|
|
15
|
+
*
|
|
16
|
+
* @param from - The address of the sender.
|
|
17
|
+
* @param to - The address of the recipient.
|
|
18
|
+
* @param value - The amount of tokens transferred.
|
|
19
|
+
*/
|
|
20
|
+
ERC20Events["TRANSFER"] = " Transfer";
|
|
21
|
+
/**
|
|
22
|
+
* Emitted when an `approve` function is called successfully.
|
|
23
|
+
*
|
|
24
|
+
* @param owner - The address of the token owner.
|
|
25
|
+
* @param spender - The address of the approved spender.
|
|
26
|
+
* @param value - The amount of tokens approved for the spender.
|
|
27
|
+
*/
|
|
28
|
+
ERC20Events["APPROVAL"] = "Approval";
|
|
29
|
+
})(ERC20Events || (exports.ERC20Events = ERC20Events = {}));
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJjMjAtY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoYXJlZC9lcmMyMC9lcmMyMC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsSUFBWSxXQWtCWDtBQWxCRCxXQUFZLFdBQVc7SUFDckI7Ozs7OztPQU1HO0lBQ0gscUNBQXNCLENBQUE7SUFFdEI7Ozs7OztPQU1HO0lBQ0gsb0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWxCVyxXQUFXLDJCQUFYLFdBQVcsUUFrQnRCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyB0aGUgZXZlbnRzIGVtaXR0ZWQgYnkgYW4gRVJDMjAgY29udHJhY3QuXG4gKlxuICogQHJlbWFya3NcbiAqIFRoaXMgZW51bSBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBzcGVjaWZpYyBldmVudHMgdGhhdCBjYW4gYmUgZW1pdHRlZCBieSBhbiBFUkMyMCBjb250cmFjdC5cbiAqIFRoZSBldmVudHMgYXJlIG5hbWVkIGFjY29yZGluZyB0byB0aGUgRUlQLTIwIHN0YW5kYXJkLlxuICovXG5leHBvcnQgZW51bSBFUkMyMEV2ZW50cyB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSBgdHJhbnNmZXJgIGZ1bmN0aW9uIGlzIGNhbGxlZCBzdWNjZXNzZnVsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmcm9tIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHNlbmRlci5cbiAgICogQHBhcmFtIHRvIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHJlY2lwaWVudC5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGFtb3VudCBvZiB0b2tlbnMgdHJhbnNmZXJyZWQuXG4gICAqL1xuICBUUkFOU0ZFUiA9IFwiIFRyYW5zZmVyXCIsXG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhbiBgYXBwcm92ZWAgZnVuY3Rpb24gaXMgY2FsbGVkIHN1Y2Nlc3NmdWxseS5cbiAgICpcbiAgICogQHBhcmFtIG93bmVyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHRva2VuIG93bmVyLlxuICAgKiBAcGFyYW0gc3BlbmRlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBhcHByb3ZlZCBzcGVuZGVyLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgYW1vdW50IG9mIHRva2VucyBhcHByb3ZlZCBmb3IgdGhlIHNwZW5kZXIuXG4gICAqL1xuICBBUFBST1ZBTCA9IFwiQXBwcm92YWxcIixcbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum representing the events emitted by an ERC20 contract.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This enum is used to identify the specific events that can be emitted by an ERC20 contract.
|
|
6
|
+
* The events are named according to the EIP-20 standard.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ERC20Events {
|
|
9
|
+
/**
|
|
10
|
+
* Emitted when a `transfer` function is called successfully.
|
|
11
|
+
*
|
|
12
|
+
* @param from - The address of the sender.
|
|
13
|
+
* @param to - The address of the recipient.
|
|
14
|
+
* @param value - The amount of tokens transferred.
|
|
15
|
+
*/
|
|
16
|
+
TRANSFER = " Transfer",
|
|
17
|
+
/**
|
|
18
|
+
* Emitted when an `approve` function is called successfully.
|
|
19
|
+
*
|
|
20
|
+
* @param owner - The address of the token owner.
|
|
21
|
+
* @param spender - The address of the approved spender.
|
|
22
|
+
* @param value - The amount of tokens approved for the spender.
|
|
23
|
+
*/
|
|
24
|
+
APPROVAL = "Approval"
|
|
25
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotInitializedError = exports.UnauthorizedPrivateDataAccess = exports.MissingContextError = exports.RegistrationError = exports.AllowanceError = exports.BalanceError = exports.OverflowError = void 0;
|
|
4
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
5
|
+
const core_1 = require("@decaf-ts/core");
|
|
6
|
+
const private_data_1 = require("./../contracts/private-data.cjs");
|
|
7
|
+
/**
|
|
8
|
+
* @summary Represents an overflow error in arithmetic operations in Smart Contracts
|
|
9
|
+
*
|
|
10
|
+
* @param {string} msg the error message
|
|
11
|
+
*
|
|
12
|
+
* @class OverflowError
|
|
13
|
+
* @extends InternalError
|
|
14
|
+
*
|
|
15
|
+
* @category Errors
|
|
16
|
+
*/
|
|
17
|
+
class OverflowError extends db_decorators_1.InternalError {
|
|
18
|
+
constructor(msg) {
|
|
19
|
+
super(msg, OverflowError.name);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.OverflowError = OverflowError;
|
|
23
|
+
/**
|
|
24
|
+
* @summary Represents a failure in balance to perform a transaction in Smart Contracts
|
|
25
|
+
*
|
|
26
|
+
* @param {string} msg the error message
|
|
27
|
+
*
|
|
28
|
+
* @class BalanceError
|
|
29
|
+
* @extends InternalError
|
|
30
|
+
*
|
|
31
|
+
* @category Errors
|
|
32
|
+
*/
|
|
33
|
+
class BalanceError extends db_decorators_1.InternalError {
|
|
34
|
+
constructor(msg) {
|
|
35
|
+
super(msg, BalanceError.name);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.BalanceError = BalanceError;
|
|
39
|
+
/**
|
|
40
|
+
* @summary Represents a failure in balance to perform a transaction in Smart Contracts
|
|
41
|
+
*
|
|
42
|
+
* @param {string} msg the error message
|
|
43
|
+
*
|
|
44
|
+
* @class BalanceError
|
|
45
|
+
* @extends InternalError
|
|
46
|
+
*
|
|
47
|
+
* @category Errors
|
|
48
|
+
*/
|
|
49
|
+
class AllowanceError extends db_decorators_1.InternalError {
|
|
50
|
+
constructor(msg) {
|
|
51
|
+
super(msg, AllowanceError.name);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.AllowanceError = AllowanceError;
|
|
55
|
+
/**
|
|
56
|
+
* @summary Represents a failure registrating new entities
|
|
57
|
+
*
|
|
58
|
+
* @param {string} msg the error message
|
|
59
|
+
*
|
|
60
|
+
* @class RegistrationError
|
|
61
|
+
*
|
|
62
|
+
* @categort Errors
|
|
63
|
+
*/
|
|
64
|
+
class RegistrationError extends core_1.AuthorizationError {
|
|
65
|
+
constructor(msg) {
|
|
66
|
+
super(msg, RegistrationError.name);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.RegistrationError = RegistrationError;
|
|
70
|
+
/**
|
|
71
|
+
* @description Error thrown when an unsupported operation is attempted
|
|
72
|
+
* @summary This error is thrown when an operation is requested that is not supported by the current
|
|
73
|
+
* persistence adapter or configuration. It extends the BaseError class and sets a 500 status code.
|
|
74
|
+
* @param {string|Error} msg - The error message or an Error object to wrap
|
|
75
|
+
* @class UnsupportedError
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* // Throwing an UnsupportedError
|
|
79
|
+
* if (!adapter.supportsTransactions()) {
|
|
80
|
+
* throw new UnsupportedError('Transactions are not supported by this adapter');
|
|
81
|
+
* }
|
|
82
|
+
*
|
|
83
|
+
* // Catching an UnsupportedError
|
|
84
|
+
* try {
|
|
85
|
+
* await adapter.beginTransaction();
|
|
86
|
+
* } catch (error) {
|
|
87
|
+
* if (error instanceof UnsupportedError) {
|
|
88
|
+
* console.error('Operation not supported:', error.message);
|
|
89
|
+
* }
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @category Errors
|
|
94
|
+
*/
|
|
95
|
+
class MissingContextError extends db_decorators_1.InternalError {
|
|
96
|
+
constructor(msg) {
|
|
97
|
+
super(msg, MissingContextError.name, 500);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.MissingContextError = MissingContextError;
|
|
101
|
+
class UnauthorizedPrivateDataAccess extends db_decorators_1.BaseError {
|
|
102
|
+
constructor(msg = private_data_1.MISSING_PRIVATE_DATA_ERROR_MESSAGE) {
|
|
103
|
+
super(UnauthorizedPrivateDataAccess.name, msg, 403);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.UnauthorizedPrivateDataAccess = UnauthorizedPrivateDataAccess;
|
|
107
|
+
/**
|
|
108
|
+
* Represents an error that occurs when a required initialization step is not performed.
|
|
109
|
+
*
|
|
110
|
+
* @class NotInitializedError
|
|
111
|
+
* @extends BaseError
|
|
112
|
+
*
|
|
113
|
+
* @category Errors
|
|
114
|
+
*
|
|
115
|
+
* @param {string | Error} msg - The error message or an Error object to wrap.
|
|
116
|
+
*
|
|
117
|
+
* @throws {NotInitializedError} - Throws an error when a required initialization step is not performed.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* // Initialize the application
|
|
122
|
+
* if (!isInitialized) {
|
|
123
|
+
* throw new NotInitializedError('Application is not initialized');
|
|
124
|
+
* }
|
|
125
|
+
*
|
|
126
|
+
* // Catching an NotInitializedError
|
|
127
|
+
* try {
|
|
128
|
+
* // Perform operations that require initialization
|
|
129
|
+
* } catch (error) {
|
|
130
|
+
* if (error instanceof NotInitializedError) {
|
|
131
|
+
* console.error('Initialization error:', error.message);
|
|
132
|
+
* }
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
class NotInitializedError extends db_decorators_1.BaseError {
|
|
137
|
+
constructor(msg) {
|
|
138
|
+
super(NotInitializedError.name, msg, 409);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.NotInitializedError = NotInitializedError;
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQW1FO0FBQ25FLHlDQUFvRDtBQUNwRCxrRUFBK0U7QUFDL0U7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsNkJBQWE7SUFDOUMsWUFBWSxHQUFtQjtRQUM3QixLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFKRCxzQ0FJQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsWUFBYSxTQUFRLDZCQUFhO0lBQzdDLFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBSkQsb0NBSUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLGNBQWUsU0FBUSw2QkFBYTtJQUMvQyxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUpELHdDQUlDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHlCQUFrQjtJQUN2RCxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBSkQsOENBSUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSw2QkFBYTtJQUNwRCxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUpELGtEQUlDO0FBRUQsTUFBYSw2QkFBOEIsU0FBUSx5QkFBUztJQUMxRCxZQUFZLE1BQXNCLGlEQUFrQztRQUNsRSxLQUFLLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFKRCxzRUFJQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSx5QkFBUztJQUNoRCxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUpELGtEQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yLCBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBBdXRob3JpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1JU1NJTkdfUFJJVkFURV9EQVRBX0VSUk9SX01FU1NBR0UgfSBmcm9tIFwiLi4vY29udHJhY3RzL3ByaXZhdGUtZGF0YVwiO1xuLyoqXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGFuIG92ZXJmbG93IGVycm9yIGluIGFyaXRobWV0aWMgb3BlcmF0aW9ucyBpbiBTbWFydCBDb250cmFjdHNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbXNnIHRoZSBlcnJvciBtZXNzYWdlXG4gKlxuICogQGNsYXNzIE92ZXJmbG93RXJyb3JcbiAqIEBleHRlbmRzIEludGVybmFsRXJyb3JcbiAqXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKi9cbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0Vycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIE92ZXJmbG93RXJyb3IubmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgZmFpbHVyZSBpbiBiYWxhbmNlIHRvIHBlcmZvcm0gYSB0cmFuc2FjdGlvbiBpbiBTbWFydCBDb250cmFjdHNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbXNnIHRoZSBlcnJvciBtZXNzYWdlXG4gKlxuICogQGNsYXNzIEJhbGFuY2VFcnJvclxuICogQGV4dGVuZHMgSW50ZXJuYWxFcnJvclxuICpcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqL1xuZXhwb3J0IGNsYXNzIEJhbGFuY2VFcnJvciBleHRlbmRzIEludGVybmFsRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgc3VwZXIobXNnLCBCYWxhbmNlRXJyb3IubmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgZmFpbHVyZSBpbiBiYWxhbmNlIHRvIHBlcmZvcm0gYSB0cmFuc2FjdGlvbiBpbiBTbWFydCBDb250cmFjdHNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbXNnIHRoZSBlcnJvciBtZXNzYWdlXG4gKlxuICogQGNsYXNzIEJhbGFuY2VFcnJvclxuICogQGV4dGVuZHMgSW50ZXJuYWxFcnJvclxuICpcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG93YW5jZUVycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIEFsbG93YW5jZUVycm9yLm5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIGZhaWx1cmUgcmVnaXN0cmF0aW5nIG5ldyBlbnRpdGllc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBtc2cgdGhlIGVycm9yIG1lc3NhZ2VcbiAqXG4gKiBAY2xhc3MgUmVnaXN0cmF0aW9uRXJyb3JcbiAqXG4gKiBAY2F0ZWdvcnQgRXJyb3JzXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpc3RyYXRpb25FcnJvciBleHRlbmRzIEF1dGhvcml6YXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIFJlZ2lzdHJhdGlvbkVycm9yLm5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVycm9yIHRocm93biB3aGVuIGFuIHVuc3VwcG9ydGVkIG9wZXJhdGlvbiBpcyBhdHRlbXB0ZWRcbiAqIEBzdW1tYXJ5IFRoaXMgZXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gb3BlcmF0aW9uIGlzIHJlcXVlc3RlZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnRcbiAqIHBlcnNpc3RlbmNlIGFkYXB0ZXIgb3IgY29uZmlndXJhdGlvbi4gSXQgZXh0ZW5kcyB0aGUgQmFzZUVycm9yIGNsYXNzIGFuZCBzZXRzIGEgNTAwIHN0YXR1cyBjb2RlLlxuICogQHBhcmFtIHtzdHJpbmd8RXJyb3J9IG1zZyAtIFRoZSBlcnJvciBtZXNzYWdlIG9yIGFuIEVycm9yIG9iamVjdCB0byB3cmFwXG4gKiBAY2xhc3MgVW5zdXBwb3J0ZWRFcnJvclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFRocm93aW5nIGFuIFVuc3VwcG9ydGVkRXJyb3JcbiAqIGlmICghYWRhcHRlci5zdXBwb3J0c1RyYW5zYWN0aW9ucygpKSB7XG4gKiAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKCdUcmFuc2FjdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBhZGFwdGVyJyk7XG4gKiB9XG4gKlxuICogLy8gQ2F0Y2hpbmcgYW4gVW5zdXBwb3J0ZWRFcnJvclxuICogdHJ5IHtcbiAqICAgYXdhaXQgYWRhcHRlci5iZWdpblRyYW5zYWN0aW9uKCk7XG4gKiB9IGNhdGNoIChlcnJvcikge1xuICogICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBVbnN1cHBvcnRlZEVycm9yKSB7XG4gKiAgICAgY29uc29sZS5lcnJvcignT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQ6JywgZXJyb3IubWVzc2FnZSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqL1xuZXhwb3J0IGNsYXNzIE1pc3NpbmdDb250ZXh0RXJyb3IgZXh0ZW5kcyBJbnRlcm5hbEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHN1cGVyKG1zZywgTWlzc2luZ0NvbnRleHRFcnJvci5uYW1lLCA1MDApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmF1dGhvcml6ZWRQcml2YXRlRGF0YUFjY2VzcyBleHRlbmRzIEJhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IgPSBNSVNTSU5HX1BSSVZBVEVfREFUQV9FUlJPUl9NRVNTQUdFKSB7XG4gICAgc3VwZXIoVW5hdXRob3JpemVkUHJpdmF0ZURhdGFBY2Nlc3MubmFtZSwgbXNnLCA0MDMpO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBlcnJvciB0aGF0IG9jY3VycyB3aGVuIGEgcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gc3RlcCBpcyBub3QgcGVyZm9ybWVkLlxuICpcbiAqIEBjbGFzcyBOb3RJbml0aWFsaXplZEVycm9yXG4gKiBAZXh0ZW5kcyBCYXNlRXJyb3JcbiAqXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKlxuICogQHBhcmFtIHtzdHJpbmcgfCBFcnJvcn0gbXNnIC0gVGhlIGVycm9yIG1lc3NhZ2Ugb3IgYW4gRXJyb3Igb2JqZWN0IHRvIHdyYXAuXG4gKlxuICogQHRocm93cyB7Tm90SW5pdGlhbGl6ZWRFcnJvcn0gLSBUaHJvd3MgYW4gZXJyb3Igd2hlbiBhIHJlcXVpcmVkIGluaXRpYWxpemF0aW9uIHN0ZXAgaXMgbm90IHBlcmZvcm1lZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW5pdGlhbGl6ZSB0aGUgYXBwbGljYXRpb25cbiAqIGlmICghaXNJbml0aWFsaXplZCkge1xuICogICB0aHJvdyBuZXcgTm90SW5pdGlhbGl6ZWRFcnJvcignQXBwbGljYXRpb24gaXMgbm90IGluaXRpYWxpemVkJyk7XG4gKiB9XG4gKlxuICogLy8gQ2F0Y2hpbmcgYW4gTm90SW5pdGlhbGl6ZWRFcnJvclxuICogdHJ5IHtcbiAqICAgLy8gUGVyZm9ybSBvcGVyYXRpb25zIHRoYXQgcmVxdWlyZSBpbml0aWFsaXphdGlvblxuICogfSBjYXRjaCAoZXJyb3IpIHtcbiAqICAgaWYgKGVycm9yIGluc3RhbmNlb2YgTm90SW5pdGlhbGl6ZWRFcnJvcikge1xuICogICAgIGNvbnNvbGUuZXJyb3IoJ0luaXRpYWxpemF0aW9uIGVycm9yOicsIGVycm9yLm1lc3NhZ2UpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIE5vdEluaXRpYWxpemVkRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgc3VwZXIoTm90SW5pdGlhbGl6ZWRFcnJvci5uYW1lLCBtc2csIDQwOSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { BaseError, InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
+
import { AuthorizationError } from "@decaf-ts/core";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Represents an overflow error in arithmetic operations in Smart Contracts
|
|
5
|
+
*
|
|
6
|
+
* @param {string} msg the error message
|
|
7
|
+
*
|
|
8
|
+
* @class OverflowError
|
|
9
|
+
* @extends InternalError
|
|
10
|
+
*
|
|
11
|
+
* @category Errors
|
|
12
|
+
*/
|
|
13
|
+
export declare class OverflowError extends InternalError {
|
|
14
|
+
constructor(msg: string | Error);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @summary Represents a failure in balance to perform a transaction in Smart Contracts
|
|
18
|
+
*
|
|
19
|
+
* @param {string} msg the error message
|
|
20
|
+
*
|
|
21
|
+
* @class BalanceError
|
|
22
|
+
* @extends InternalError
|
|
23
|
+
*
|
|
24
|
+
* @category Errors
|
|
25
|
+
*/
|
|
26
|
+
export declare class BalanceError extends InternalError {
|
|
27
|
+
constructor(msg: string | Error);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @summary Represents a failure in balance to perform a transaction in Smart Contracts
|
|
31
|
+
*
|
|
32
|
+
* @param {string} msg the error message
|
|
33
|
+
*
|
|
34
|
+
* @class BalanceError
|
|
35
|
+
* @extends InternalError
|
|
36
|
+
*
|
|
37
|
+
* @category Errors
|
|
38
|
+
*/
|
|
39
|
+
export declare class AllowanceError extends InternalError {
|
|
40
|
+
constructor(msg: string | Error);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @summary Represents a failure registrating new entities
|
|
44
|
+
*
|
|
45
|
+
* @param {string} msg the error message
|
|
46
|
+
*
|
|
47
|
+
* @class RegistrationError
|
|
48
|
+
*
|
|
49
|
+
* @categort Errors
|
|
50
|
+
*/
|
|
51
|
+
export declare class RegistrationError extends AuthorizationError {
|
|
52
|
+
constructor(msg: string | Error);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Error thrown when an unsupported operation is attempted
|
|
56
|
+
* @summary This error is thrown when an operation is requested that is not supported by the current
|
|
57
|
+
* persistence adapter or configuration. It extends the BaseError class and sets a 500 status code.
|
|
58
|
+
* @param {string|Error} msg - The error message or an Error object to wrap
|
|
59
|
+
* @class UnsupportedError
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Throwing an UnsupportedError
|
|
63
|
+
* if (!adapter.supportsTransactions()) {
|
|
64
|
+
* throw new UnsupportedError('Transactions are not supported by this adapter');
|
|
65
|
+
* }
|
|
66
|
+
*
|
|
67
|
+
* // Catching an UnsupportedError
|
|
68
|
+
* try {
|
|
69
|
+
* await adapter.beginTransaction();
|
|
70
|
+
* } catch (error) {
|
|
71
|
+
* if (error instanceof UnsupportedError) {
|
|
72
|
+
* console.error('Operation not supported:', error.message);
|
|
73
|
+
* }
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @category Errors
|
|
78
|
+
*/
|
|
79
|
+
export declare class MissingContextError extends InternalError {
|
|
80
|
+
constructor(msg: string | Error);
|
|
81
|
+
}
|
|
82
|
+
export declare class UnauthorizedPrivateDataAccess extends BaseError {
|
|
83
|
+
constructor(msg?: string | Error);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Represents an error that occurs when a required initialization step is not performed.
|
|
87
|
+
*
|
|
88
|
+
* @class NotInitializedError
|
|
89
|
+
* @extends BaseError
|
|
90
|
+
*
|
|
91
|
+
* @category Errors
|
|
92
|
+
*
|
|
93
|
+
* @param {string | Error} msg - The error message or an Error object to wrap.
|
|
94
|
+
*
|
|
95
|
+
* @throws {NotInitializedError} - Throws an error when a required initialization step is not performed.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* // Initialize the application
|
|
100
|
+
* if (!isInitialized) {
|
|
101
|
+
* throw new NotInitializedError('Application is not initialized');
|
|
102
|
+
* }
|
|
103
|
+
*
|
|
104
|
+
* // Catching an NotInitializedError
|
|
105
|
+
* try {
|
|
106
|
+
* // Perform operations that require initialization
|
|
107
|
+
* } catch (error) {
|
|
108
|
+
* if (error instanceof NotInitializedError) {
|
|
109
|
+
* console.error('Initialization error:', error.message);
|
|
110
|
+
* }
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare class NotInitializedError extends BaseError {
|
|
115
|
+
constructor(msg: string | Error);
|
|
116
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateFabricEventName = generateFabricEventName;
|
|
4
|
+
exports.parseEventName = parseEventName;
|
|
5
|
+
/**
|
|
6
|
+
* @description Generates a Fabric event name from components
|
|
7
|
+
* @summary Creates a standardized event name by joining table, event, and optional owner with underscores
|
|
8
|
+
* @param {string} table - The table/collection name
|
|
9
|
+
* @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
|
|
10
|
+
* @param {string} [owner] - Optional owner identifier
|
|
11
|
+
* @return {string} The generated event name in format "table_event" or "table_event_owner"
|
|
12
|
+
* @function generateFabricEventName
|
|
13
|
+
* @memberOf module:for-fabric.shared
|
|
14
|
+
*/
|
|
15
|
+
function generateFabricEventName(table, event, owner) {
|
|
16
|
+
const params = [table, event];
|
|
17
|
+
if (owner)
|
|
18
|
+
params.push(owner);
|
|
19
|
+
return params.join("_");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @description Parses a Fabric event name into its components
|
|
23
|
+
* @summary Splits an event name by underscores and extracts table, event, and optional owner
|
|
24
|
+
* @param {string} name - The event name to parse
|
|
25
|
+
* @return {{table: string, event: OperationKeys | BulkCrudOperationKeys | string, owner: string}} The parsed components as a structured object
|
|
26
|
+
* @throws {InternalError} If the event name format is invalid
|
|
27
|
+
* @function parseEventName
|
|
28
|
+
* @mermaid
|
|
29
|
+
* sequenceDiagram
|
|
30
|
+
* participant Caller
|
|
31
|
+
* participant Parser as parseEventName
|
|
32
|
+
* Caller->>Parser: parseEventName(name)
|
|
33
|
+
* Parser->>Parser: split name by "_"
|
|
34
|
+
* alt parts length invalid
|
|
35
|
+
* Parser-->>Caller: throw InternalError
|
|
36
|
+
* else
|
|
37
|
+
* Parser-->>Caller: { table, event, owner? }
|
|
38
|
+
* end
|
|
39
|
+
* @memberOf module:for-fabric.shared
|
|
40
|
+
*/
|
|
41
|
+
function parseEventName(name) {
|
|
42
|
+
const parts = name.split("_");
|
|
43
|
+
if (parts.length < 2 || parts.length > 3)
|
|
44
|
+
return { event: name };
|
|
45
|
+
return {
|
|
46
|
+
table: parts[0],
|
|
47
|
+
event: parts[1],
|
|
48
|
+
owner: parts[2],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQkEsMERBUUM7QUFzQkQsd0NBWUM7QUFwREQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLEtBQWEsRUFDYixLQUFxRCxFQUNyRCxLQUFjO0lBRWQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUIsSUFBSSxLQUFLO1FBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLElBQVk7SUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakUsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2YsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUtoQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGEgRmFicmljIGV2ZW50IG5hbWUgZnJvbSBjb21wb25lbnRzXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgc3RhbmRhcmRpemVkIGV2ZW50IG5hbWUgYnkgam9pbmluZyB0YWJsZSwgZXZlbnQsIGFuZCBvcHRpb25hbCBvd25lciB3aXRoIHVuZGVyc2NvcmVzXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUvY29sbGVjdGlvbiBuYW1lXG4gKiBAcGFyYW0ge09wZXJhdGlvbktleXMgfCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMgfCBzdHJpbmd9IGV2ZW50IC0gVGhlIGV2ZW50IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3duZXJdIC0gT3B0aW9uYWwgb3duZXIgaWRlbnRpZmllclxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgZ2VuZXJhdGVkIGV2ZW50IG5hbWUgaW4gZm9ybWF0IFwidGFibGVfZXZlbnRcIiBvciBcInRhYmxlX2V2ZW50X293bmVyXCJcbiAqIEBmdW5jdGlvbiBnZW5lcmF0ZUZhYnJpY0V2ZW50TmFtZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLnNoYXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVGYWJyaWNFdmVudE5hbWUoXG4gIHRhYmxlOiBzdHJpbmcsXG4gIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICBvd25lcj86IHN0cmluZ1xuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IFt0YWJsZSwgZXZlbnRdO1xuICBpZiAob3duZXIpIHBhcmFtcy5wdXNoKG93bmVyKTtcbiAgcmV0dXJuIHBhcmFtcy5qb2luKFwiX1wiKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFyc2VzIGEgRmFicmljIGV2ZW50IG5hbWUgaW50byBpdHMgY29tcG9uZW50c1xuICogQHN1bW1hcnkgU3BsaXRzIGFuIGV2ZW50IG5hbWUgYnkgdW5kZXJzY29yZXMgYW5kIGV4dHJhY3RzIHRhYmxlLCBldmVudCwgYW5kIG9wdGlvbmFsIG93bmVyXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBldmVudCBuYW1lIHRvIHBhcnNlXG4gKiBAcmV0dXJuIHt7dGFibGU6IHN0cmluZywgZXZlbnQ6IE9wZXJhdGlvbktleXMgfCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMgfCBzdHJpbmcsIG93bmVyOiBzdHJpbmd9fSBUaGUgcGFyc2VkIGNvbXBvbmVudHMgYXMgYSBzdHJ1Y3R1cmVkIG9iamVjdFxuICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlIGV2ZW50IG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAqIEBmdW5jdGlvbiBwYXJzZUV2ZW50TmFtZVxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgUGFyc2VyIGFzIHBhcnNlRXZlbnROYW1lXG4gKiAgIENhbGxlci0+PlBhcnNlcjogcGFyc2VFdmVudE5hbWUobmFtZSlcbiAqICAgUGFyc2VyLT4+UGFyc2VyOiBzcGxpdCBuYW1lIGJ5IFwiX1wiXG4gKiAgIGFsdCBwYXJ0cyBsZW5ndGggaW52YWxpZFxuICogICAgIFBhcnNlci0tPj5DYWxsZXI6IHRocm93IEludGVybmFsRXJyb3JcbiAqICAgZWxzZVxuICogICAgIFBhcnNlci0tPj5DYWxsZXI6IHsgdGFibGUsIGV2ZW50LCBvd25lcj8gfVxuICogICBlbmRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5zaGFyZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXZlbnROYW1lKG5hbWU6IHN0cmluZykge1xuICBjb25zdCBwYXJ0cyA9IG5hbWUuc3BsaXQoXCJfXCIpO1xuICBpZiAocGFydHMubGVuZ3RoIDwgMiB8fCBwYXJ0cy5sZW5ndGggPiAzKSByZXR1cm4geyBldmVudDogbmFtZSB9O1xuICByZXR1cm4ge1xuICAgIHRhYmxlOiBwYXJ0c1swXSxcbiAgICBldmVudDogcGFydHNbMV0sXG4gICAgb3duZXI6IHBhcnRzWzJdLFxuICB9IGFzIHtcbiAgICB0YWJsZTogc3RyaW5nO1xuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nO1xuICAgIG93bmVyPzogc3RyaW5nO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description Generates a Fabric event name from components
|
|
4
|
+
* @summary Creates a standardized event name by joining table, event, and optional owner with underscores
|
|
5
|
+
* @param {string} table - The table/collection name
|
|
6
|
+
* @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
|
|
7
|
+
* @param {string} [owner] - Optional owner identifier
|
|
8
|
+
* @return {string} The generated event name in format "table_event" or "table_event_owner"
|
|
9
|
+
* @function generateFabricEventName
|
|
10
|
+
* @memberOf module:for-fabric.shared
|
|
11
|
+
*/
|
|
12
|
+
export declare function generateFabricEventName(table: string, event: OperationKeys | BulkCrudOperationKeys | string, owner?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* @description Parses a Fabric event name into its components
|
|
15
|
+
* @summary Splits an event name by underscores and extracts table, event, and optional owner
|
|
16
|
+
* @param {string} name - The event name to parse
|
|
17
|
+
* @return {{table: string, event: OperationKeys | BulkCrudOperationKeys | string, owner: string}} The parsed components as a structured object
|
|
18
|
+
* @throws {InternalError} If the event name format is invalid
|
|
19
|
+
* @function parseEventName
|
|
20
|
+
* @mermaid
|
|
21
|
+
* sequenceDiagram
|
|
22
|
+
* participant Caller
|
|
23
|
+
* participant Parser as parseEventName
|
|
24
|
+
* Caller->>Parser: parseEventName(name)
|
|
25
|
+
* Parser->>Parser: split name by "_"
|
|
26
|
+
* alt parts length invalid
|
|
27
|
+
* Parser-->>Caller: throw InternalError
|
|
28
|
+
* else
|
|
29
|
+
* Parser-->>Caller: { table, event, owner? }
|
|
30
|
+
* end
|
|
31
|
+
* @memberOf module:for-fabric.shared
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseEventName(name: string): {
|
|
34
|
+
table: string;
|
|
35
|
+
event: OperationKeys | BulkCrudOperationKeys | string;
|
|
36
|
+
owner?: string;
|
|
37
|
+
} | {
|
|
38
|
+
event: string;
|
|
39
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9mYWJyaWMtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0QkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5cbmV4cG9ydCB0eXBlIEdldENlcnRpZmljYXRlc1JlcXVlc3QgPSB7XG4gIGlkPzogc3RyaW5nO1xuICBha2k/OiBzdHJpbmc7XG4gIHNlcmlhbD86IHN0cmluZztcbiAgcmV2b2tlZF9zdGFydD86IHN0cmluZztcbiAgcmV2b2tlZF9lbmQ/OiBzdHJpbmc7XG4gIGV4cGlyZWRfc3RhcnQ/OiBzdHJpbmc7XG4gIGV4cGlyZWRfZW5kPzogc3RyaW5nO1xuICBub3RyZXZva2VkPzogYm9vbGVhbjtcbiAgbm90ZXhwaXJlZD86IGJvb2xlYW47XG4gIGNhPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VydGlmaWNhdGVSZXNwb25zZSA9IHtcbiAgY2FuYW1lOiBzdHJpbmc7XG4gIGNlcnRzOiB7IFBFTTogc3RyaW5nIH1bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEZhYnJpY0lkZW50aXR5ID0ge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGFmZmlsaWF0aW9uOiBzdHJpbmc7XG4gIGF0dHJzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XG4gIG1heF9lbnJvbGxtZW50czogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgSWRlbnRpdHlSZXNwb25zZSA9IHtcbiAgY2FuYW1lOiBzdHJpbmc7XG4gIGlkZW50aXRpZXM6IEZhYnJpY0lkZW50aXR5W107XG59O1xuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
export type GetCertificatesRequest = {
|
|
3
|
+
id?: string;
|
|
4
|
+
aki?: string;
|
|
5
|
+
serial?: string;
|
|
6
|
+
revoked_start?: string;
|
|
7
|
+
revoked_end?: string;
|
|
8
|
+
expired_start?: string;
|
|
9
|
+
expired_end?: string;
|
|
10
|
+
notrevoked?: boolean;
|
|
11
|
+
notexpired?: boolean;
|
|
12
|
+
ca?: string;
|
|
13
|
+
};
|
|
14
|
+
export type CertificateResponse = {
|
|
15
|
+
caname: string;
|
|
16
|
+
certs: {
|
|
17
|
+
PEM: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
export type FabricIdentity = {
|
|
21
|
+
id: string;
|
|
22
|
+
type: string;
|
|
23
|
+
affiliation: string;
|
|
24
|
+
attrs: {
|
|
25
|
+
name: string;
|
|
26
|
+
value: string;
|
|
27
|
+
}[];
|
|
28
|
+
max_enrollments: number;
|
|
29
|
+
};
|
|
30
|
+
export type IdentityResponse = {
|
|
31
|
+
caname: string;
|
|
32
|
+
identities: FabricIdentity[];
|
|
33
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Hyperledger Fabric Shared Module for Decaf-ts
|
|
4
|
+
* @summary This module provides common logic to the client and contract sides of Hyperledger Fabric
|
|
5
|
+
* @namespace shared
|
|
6
|
+
* @memberOf module:for-fabric
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./events.cjs"), exports);
|
|
24
|
+
__exportStar(require("./utils.cjs"), exports);
|
|
25
|
+
__exportStar(require("./types.cjs"), exports);
|
|
26
|
+
__exportStar(require("./../client/services/index.cjs"), exports);
|
|
27
|
+
__exportStar(require("./model/index.cjs"), exports);
|
|
28
|
+
__exportStar(require("./decorators.cjs"), exports);
|
|
29
|
+
__exportStar(require("./constants.cjs"), exports);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILCtDQUF5QjtBQUN6Qiw4Q0FBd0I7QUFDeEIsOENBQXdCO0FBQ3hCLGlFQUFtQztBQUNuQyxvREFBd0I7QUFDeEIsbURBQTZCO0FBQzdCLGtEQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIEh5cGVybGVkZ2VyIEZhYnJpYyBTaGFyZWQgTW9kdWxlIGZvciBEZWNhZi10c1xuICogQHN1bW1hcnkgVGhpcyBtb2R1bGUgcHJvdmlkZXMgY29tbW9uIGxvZ2ljIHRvIHRoZSBjbGllbnQgYW5kIGNvbnRyYWN0IHNpZGVzIG9mIEh5cGVybGVkZ2VyIEZhYnJpY1xuICogQG5hbWVzcGFjZSBzaGFyZWRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpY1xuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L3NlcnZpY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Hyperledger Fabric Shared Module for Decaf-ts
|
|
3
|
+
* @summary This module provides common logic to the client and contract sides of Hyperledger Fabric
|
|
4
|
+
* @namespace shared
|
|
5
|
+
* @memberOf module:for-fabric
|
|
6
|
+
*/
|
|
7
|
+
export * from "./events";
|
|
8
|
+
export * from "./utils";
|
|
9
|
+
export * from "./types";
|
|
10
|
+
export * from "../client/services";
|
|
11
|
+
export * from "./model";
|
|
12
|
+
export * from "./decorators";
|
|
13
|
+
export * from "./constants";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2thYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoYXJlZC9pbnRlcmZhY2VzL0NoZWNrYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJmYWJyaWMtY29udHJhY3QtYXBpXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgaGVhbHRoLWNoZWNrIGNhcGFibGUgY29udHJhY3RzL3NlcnZpY2VzXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhIHN0YW5kYXJkIGhlYWx0aGNoZWNrIG1ldGhvZCBzaWduYXR1cmUgdG8gcHJvYmUgbGl2ZW5lc3MvcmVhZGluZXNzIG9mIEZhYnJpYyBjb250cmFjdHMgb3Igc2VydmljZXMgdXNpbmcgYSBGYWJyaWMgY29udGV4dFxuICogQHBhcmFtIHtDb250ZXh0fSBjdHggLSBGYWJyaWMgdHJhbnNhY3Rpb24gY29udGV4dCB1c2VkIGZvciBwZXJmb3JtaW5nIHRoZSBoZWFsdGggY2hlY2tcbiAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nfGJvb2xlYW4+fSBBIG1lc3NhZ2UgZGVzY3JpYmluZyBoZWFsdGggb3IgYSBib29sZWFuIHN0YXR1c1xuICogQGludGVyZmFjZSBDaGVja2FibGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5zaGFyZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja2FibGUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm0gYSBoZWFsdGggY2hlY2sgdXNpbmcgdGhlIEZhYnJpYyB0cmFuc2FjdGlvbiBjb250ZXh0XG4gICAqIEBzdW1tYXJ5IEFsbG93cyBpbXBsZW1lbnRlcnMgdG8gcmVwb3J0IHJlYWRpbmVzcy9saXZlbmVzcyBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSBhIHRleHR1YWwgbWVzc2FnZSBvciBhIGJvb2xlYW4gc3RhdHVzXG4gICAqIEBwYXJhbSB7Q29udGV4dH0gY3R4IC0gRmFicmljIHRyYW5zYWN0aW9uIGNvbnRleHQgcmVmZXJlbmNlIHVzZWQgZHVyaW5nIHRoZSBjaGVja1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZ3xib29sZWFuPn0gQSBzdHJpbmcgbWVzc2FnZSBkZXNjcmliaW5nIGhlYWx0aCBvciBhIGJvb2xlYW4gaW5kaWNhdGluZyBoZWFsdGh5L3VuaGVhbHRoeVxuICAgKi9cbiAgaGVhbHRoY2hlY2soY3R4OiBDb250ZXh0KTogUHJvbWlzZTxzdHJpbmcgfCBoZWFsdGhjaGVjaz47XG59XG5cbmV4cG9ydCB0eXBlIGhlYWx0aGNoZWNrID0geyBoZWFsdGhjaGVjazogYm9vbGVhbiB9O1xuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Context } from "fabric-contract-api";
|
|
2
|
+
/**
|
|
3
|
+
* @description Interface for health-check capable contracts/services
|
|
4
|
+
* @summary Provides a standard healthcheck method signature to probe liveness/readiness of Fabric contracts or services using a Fabric context
|
|
5
|
+
* @param {Context} ctx - Fabric transaction context used for performing the health check
|
|
6
|
+
* @return {Promise<string|boolean>} A message describing health or a boolean status
|
|
7
|
+
* @interface Checkable
|
|
8
|
+
* @memberOf module:for-fabric.shared
|
|
9
|
+
*/
|
|
10
|
+
export interface Checkable {
|
|
11
|
+
/**
|
|
12
|
+
* @description Perform a health check using the Fabric transaction context
|
|
13
|
+
* @summary Allows implementers to report readiness/liveness information that can be a textual message or a boolean status
|
|
14
|
+
* @param {Context} ctx - Fabric transaction context reference used during the check
|
|
15
|
+
* @return {Promise<string|boolean>} A string message describing health or a boolean indicating healthy/unhealthy
|
|
16
|
+
*/
|
|
17
|
+
healthcheck(ctx: Context): Promise<string | healthcheck>;
|
|
18
|
+
}
|
|
19
|
+
export type healthcheck = {
|
|
20
|
+
healthcheck: boolean;
|
|
21
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.add = add;
|
|
4
|
+
exports.sub = sub;
|
|
5
|
+
exports.safeParseInt = safeParseInt;
|
|
6
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
7
|
+
const errors_1 = require("./errors.cjs");
|
|
8
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
9
|
+
/**
|
|
10
|
+
* @description Overflow-safe addition operation
|
|
11
|
+
* @summary Adds two numbers and verifies no overflow by reverse-checking the operands
|
|
12
|
+
* @param {number} a - First operand
|
|
13
|
+
* @param {number} b - Second operand
|
|
14
|
+
* @return {number} The sum of a and b
|
|
15
|
+
* @function add
|
|
16
|
+
* @throws {OverflowError} on addition overflow
|
|
17
|
+
* @memberOf module:for-fabric.shared
|
|
18
|
+
*/
|
|
19
|
+
function add(a, b) {
|
|
20
|
+
const c = a + b;
|
|
21
|
+
if (a !== c - b || b !== c - a) {
|
|
22
|
+
throw new errors_1.OverflowError(`Addition overflow: ${a} + ${b}`);
|
|
23
|
+
}
|
|
24
|
+
return c;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @description Overflow-safe subtraction operation
|
|
28
|
+
* @summary Subtracts b from a and validates no overflow by reverse-checking the operands
|
|
29
|
+
* @param {number} a - Minuend
|
|
30
|
+
* @param {number} b - Subtrahend
|
|
31
|
+
* @return {number} The difference a - b
|
|
32
|
+
* @function sub
|
|
33
|
+
* @throws {OverflowError} on subtaction overflow
|
|
34
|
+
* @memberOf module:for-fabric.shared
|
|
35
|
+
*/
|
|
36
|
+
function sub(a, b) {
|
|
37
|
+
const c = a - b;
|
|
38
|
+
if (a !== c + b || b !== a - c) {
|
|
39
|
+
throw new errors_1.OverflowError(`Subtraction overflow: ${a} - ${b}`);
|
|
40
|
+
}
|
|
41
|
+
return c;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @summary Safe Integer Parse
|
|
45
|
+
*
|
|
46
|
+
* @param {string} string
|
|
47
|
+
*
|
|
48
|
+
* @function safeParseInt
|
|
49
|
+
*
|
|
50
|
+
* @throws {ValidationError} if parseInt returns NaN
|
|
51
|
+
*
|
|
52
|
+
* @memberOf module:for-fabric.shared
|
|
53
|
+
*/
|
|
54
|
+
function safeParseInt(string) {
|
|
55
|
+
// Regular expression to check if string only have digits
|
|
56
|
+
const digitRegex = /^\d+$/;
|
|
57
|
+
if (!digitRegex.test(string)) {
|
|
58
|
+
throw new db_decorators_1.ValidationError((0, decorator_validation_1.stringFormat)("Failed to parse: {0}", "string contains digits"));
|
|
59
|
+
}
|
|
60
|
+
const parsedint = parseInt(string);
|
|
61
|
+
if (isNaN(parsedint)) {
|
|
62
|
+
throw new db_decorators_1.ValidationError((0, decorator_validation_1.stringFormat)("Failed to parse: {0}", "string is not a parsable integer"));
|
|
63
|
+
}
|
|
64
|
+
return parsedint;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvbWF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLGtCQU1DO0FBWUQsa0JBTUM7QUFhRCxvQ0FlQztBQWxFRCx5RUFBOEQ7QUFDOUQseUNBQXlDO0FBQ3pDLDJEQUEwRDtBQUUxRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixHQUFHLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLHNCQUFhLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixHQUFHLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLHNCQUFhLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLE1BQWM7SUFDekMseURBQXlEO0lBQ3pELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sSUFBSSwrQkFBZSxDQUN2QixJQUFBLG1DQUFZLEVBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksK0JBQWUsQ0FDdkIsSUFBQSxtQ0FBWSxFQUFDLHNCQUFzQixFQUFFLGtDQUFrQyxDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0cmluZ0Zvcm1hdCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE92ZXJmbG93RXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBPdmVyZmxvdy1zYWZlIGFkZGl0aW9uIG9wZXJhdGlvblxuICogQHN1bW1hcnkgQWRkcyB0d28gbnVtYmVycyBhbmQgdmVyaWZpZXMgbm8gb3ZlcmZsb3cgYnkgcmV2ZXJzZS1jaGVja2luZyB0aGUgb3BlcmFuZHNcbiAqIEBwYXJhbSB7bnVtYmVyfSBhIC0gRmlyc3Qgb3BlcmFuZFxuICogQHBhcmFtIHtudW1iZXJ9IGIgLSBTZWNvbmQgb3BlcmFuZFxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgc3VtIG9mIGEgYW5kIGJcbiAqIEBmdW5jdGlvbiBhZGRcbiAqIEB0aHJvd3Mge092ZXJmbG93RXJyb3J9IG9uIGFkZGl0aW9uIG92ZXJmbG93XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuc2hhcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGQoYTogbnVtYmVyLCBiOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBjID0gYSArIGI7XG4gIGlmIChhICE9PSBjIC0gYiB8fCBiICE9PSBjIC0gYSkge1xuICAgIHRocm93IG5ldyBPdmVyZmxvd0Vycm9yKGBBZGRpdGlvbiBvdmVyZmxvdzogJHthfSArICR7Yn1gKTtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT3ZlcmZsb3ctc2FmZSBzdWJ0cmFjdGlvbiBvcGVyYXRpb25cbiAqIEBzdW1tYXJ5IFN1YnRyYWN0cyBiIGZyb20gYSBhbmQgdmFsaWRhdGVzIG5vIG92ZXJmbG93IGJ5IHJldmVyc2UtY2hlY2tpbmcgdGhlIG9wZXJhbmRzXG4gKiBAcGFyYW0ge251bWJlcn0gYSAtIE1pbnVlbmRcbiAqIEBwYXJhbSB7bnVtYmVyfSBiIC0gU3VidHJhaGVuZFxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgZGlmZmVyZW5jZSBhIC0gYlxuICogQGZ1bmN0aW9uIHN1YlxuICogQHRocm93cyB7T3ZlcmZsb3dFcnJvcn0gb24gc3VidGFjdGlvbiBvdmVyZmxvd1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLnNoYXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3ViKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgY29uc3QgYyA9IGEgLSBiO1xuICBpZiAoYSAhPT0gYyArIGIgfHwgYiAhPT0gYSAtIGMpIHtcbiAgICB0aHJvdyBuZXcgT3ZlcmZsb3dFcnJvcihgU3VidHJhY3Rpb24gb3ZlcmZsb3c6ICR7YX0gLSAke2J9YCk7XG4gIH1cbiAgcmV0dXJuIGM7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgU2FmZSBJbnRlZ2VyIFBhcnNlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZ1xuICpcbiAqIEBmdW5jdGlvbiBzYWZlUGFyc2VJbnRcbiAqXG4gKiBAdGhyb3dzIHtWYWxpZGF0aW9uRXJyb3J9IGlmIHBhcnNlSW50IHJldHVybnMgTmFOXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLnNoYXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlSW50KHN0cmluZzogc3RyaW5nKTogbnVtYmVyIHtcbiAgLy8gUmVndWxhciBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHN0cmluZyBvbmx5IGhhdmUgZGlnaXRzXG4gIGNvbnN0IGRpZ2l0UmVnZXggPSAvXlxcZCskLztcbiAgaWYgKCFkaWdpdFJlZ2V4LnRlc3Qoc3RyaW5nKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBzdHJpbmdGb3JtYXQoXCJGYWlsZWQgdG8gcGFyc2U6IHswfVwiLCBcInN0cmluZyBjb250YWlucyBkaWdpdHNcIilcbiAgICApO1xuICB9XG4gIGNvbnN0IHBhcnNlZGludCA9IHBhcnNlSW50KHN0cmluZyk7XG4gIGlmIChpc05hTihwYXJzZWRpbnQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHN0cmluZ0Zvcm1hdChcIkZhaWxlZCB0byBwYXJzZTogezB9XCIsIFwic3RyaW5nIGlzIG5vdCBhIHBhcnNhYmxlIGludGVnZXJcIilcbiAgICApO1xuICB9XG4gIHJldHVybiBwYXJzZWRpbnQ7XG59XG4iXX0=
|