@decaf-ts/for-fabric 0.13.31 → 0.13.33
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/dist/for-fabric.cjs +1 -1
- package/dist/for-fabric.cjs.map +1 -1
- package/dist/for-fabric.js +1 -1
- package/dist/for-fabric.js.map +1 -1
- package/lib/cjs/bin/cli.cjs +1 -1
- package/lib/cjs/bin/cli.cjs.map +1 -1
- package/lib/cjs/cli-module.cjs +1 -1
- package/lib/cjs/cli-module.cjs.map +1 -1
- package/lib/cjs/cli-utils.cjs +1 -1
- package/lib/cjs/cli-utils.cjs.map +1 -1
- package/lib/cjs/client/FabricClientAdapter.cjs +1 -1
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -1
- package/lib/cjs/client/FabricClientContext.cjs +1 -1
- package/lib/cjs/client/FabricClientContext.cjs.map +1 -1
- package/lib/cjs/client/FabricClientDispatch.cjs +1 -1
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -1
- package/lib/cjs/client/FabricClientPaginator.cjs +1 -1
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -1
- package/lib/cjs/client/FabricClientRepository.cjs +1 -1
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -1
- package/lib/cjs/client/FabricClientStatement.cjs +1 -1
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -1
- package/lib/cjs/client/collections/generation.cjs +1 -1
- package/lib/cjs/client/collections/generation.cjs.map +1 -1
- package/lib/cjs/client/collections/index.cjs +1 -1
- package/lib/cjs/client/collections/index.cjs.map +1 -1
- package/lib/cjs/client/constants.cjs +1 -1
- package/lib/cjs/client/constants.cjs.map +1 -1
- package/lib/cjs/client/crypto.cjs +1 -1
- package/lib/cjs/client/crypto.cjs.map +1 -1
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +1 -1
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -1
- package/lib/cjs/client/erc20/index.cjs +1 -1
- package/lib/cjs/client/erc20/index.cjs.map +1 -1
- package/lib/cjs/client/fabric-fs.cjs +21 -17
- package/lib/cjs/client/fabric-fs.cjs.map +1 -1
- package/lib/cjs/client/fabric-hsm.cjs +1 -1
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -1
- package/lib/cjs/client/ids/id-extraction.cjs +1 -1
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -1
- package/lib/cjs/client/ids/index.cjs +1 -1
- package/lib/cjs/client/ids/index.cjs.map +1 -1
- package/lib/cjs/client/index.cjs +1 -1
- package/lib/cjs/client/index.cjs.map +1 -1
- package/lib/cjs/client/indexes/generation.cjs +1 -1
- package/lib/cjs/client/indexes/generation.cjs.map +1 -1
- package/lib/cjs/client/indexes/index.cjs +1 -1
- package/lib/cjs/client/indexes/index.cjs.map +1 -1
- package/lib/cjs/client/logging.cjs +1 -1
- package/lib/cjs/client/logging.cjs.map +1 -1
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +1 -1
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -1
- package/lib/cjs/client/services/FabricIdentityService.cjs +1 -1
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -1
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +1 -1
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -1
- package/lib/cjs/client/services/constants.cjs +1 -1
- package/lib/cjs/client/services/constants.cjs.map +1 -1
- package/lib/cjs/client/services/index.cjs +1 -1
- package/lib/cjs/client/services/index.cjs.map +1 -1
- package/lib/cjs/client/types.cjs +1 -1
- package/lib/cjs/client/types.cjs.map +1 -1
- package/lib/cjs/client/utils.cjs +1 -1
- package/lib/cjs/client/utils.cjs.map +1 -1
- package/lib/cjs/contract/Address.cjs +1 -1
- package/lib/cjs/contract/Address.cjs.map +1 -1
- package/lib/cjs/contract/AddressContract.cjs +1 -1
- package/lib/cjs/contract/AddressContract.cjs.map +1 -1
- package/lib/cjs/contract/AuditContract.cjs +1 -1
- package/lib/cjs/contract/AuditContract.cjs.map +1 -1
- package/lib/cjs/contract/BatchContract.cjs +1 -1
- package/lib/cjs/contract/BatchContract.cjs.map +1 -1
- package/lib/cjs/contract/MarketContract.cjs +1 -1
- package/lib/cjs/contract/MarketContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherAuditContract.cjs +1 -1
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherBatchContract.cjs +1 -1
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherLeafletContract.cjs +1 -1
- package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +1 -1
- package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherMarketContract.cjs +1 -1
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherProductContract.cjs +1 -1
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherProductImageContract.cjs +1 -1
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherProductSharedContract.cjs +1 -1
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -1
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +1 -1
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -1
- package/lib/cjs/contract/Product.cjs +1 -1
- package/lib/cjs/contract/Product.cjs.map +1 -1
- package/lib/cjs/contract/ProductContract.cjs +1 -1
- package/lib/cjs/contract/ProductContract.cjs.map +1 -1
- package/lib/cjs/contract/ProductStrengthContract.cjs +1 -1
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -1
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +1 -1
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -1
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +1 -1
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -1
- package/lib/cjs/contract/User.cjs +1 -1
- package/lib/cjs/contract/User.cjs.map +1 -1
- package/lib/cjs/contract/UserContract.cjs +1 -1
- package/lib/cjs/contract/UserContract.cjs.map +1 -1
- package/lib/cjs/contract/index.cjs +1 -1
- package/lib/cjs/contract/index.cjs.map +1 -1
- package/lib/cjs/contract/logging-context.cjs +1 -1
- package/lib/cjs/contract/logging-context.cjs.map +1 -1
- package/lib/cjs/contract/models/Audit.cjs +1 -1
- package/lib/cjs/contract/models/Audit.cjs.map +1 -1
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +1 -1
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -1
- package/lib/cjs/contract/models/BaseModel.cjs +1 -1
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -1
- package/lib/cjs/contract/models/Batch.cjs +1 -1
- package/lib/cjs/contract/models/Batch.cjs.map +1 -1
- package/lib/cjs/contract/models/GtinOwner.cjs +1 -1
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -1
- package/lib/cjs/contract/models/History.cjs +1 -1
- package/lib/cjs/contract/models/History.cjs.map +1 -1
- package/lib/cjs/contract/models/Leaflet.cjs +1 -1
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -1
- package/lib/cjs/contract/models/LeafletFile.cjs +1 -1
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -1
- package/lib/cjs/contract/models/Market.cjs +1 -1
- package/lib/cjs/contract/models/Market.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherAudit.cjs +1 -1
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherBatchShared.cjs +1 -1
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherLeaflet.cjs +1 -1
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +1 -1
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherMarket.cjs +1 -1
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherProduct.cjs +1 -1
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherProductImage.cjs +1 -1
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherProductShared.cjs +1 -1
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -1
- package/lib/cjs/contract/models/OtherProductStrength.cjs +1 -1
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -1
- package/lib/cjs/contract/models/Product.cjs +1 -1
- package/lib/cjs/contract/models/Product.cjs.map +1 -1
- package/lib/cjs/contract/models/ProductStrength.cjs +1 -1
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -1
- package/lib/cjs/contract/models/SegregatedDocument.cjs +1 -1
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -1
- package/lib/cjs/contract/models/constants.cjs +1 -1
- package/lib/cjs/contract/models/constants.cjs.map +1 -1
- package/lib/cjs/contract/models/decorators-private.cjs +1 -1
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -1
- package/lib/cjs/contract/models/decorators.cjs +1 -1
- package/lib/cjs/contract/models/decorators.cjs.map +1 -1
- package/lib/cjs/contract/models/gtin.cjs +1 -1
- package/lib/cjs/contract/models/gtin.cjs.map +1 -1
- package/lib/cjs/contract/models/history-dec.cjs +1 -1
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/History.cjs +1 -1
- package/lib/cjs/contract/trackedModels/History.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +1 -1
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -1
- package/lib/cjs/contracts/ContractAdapter.cjs +106 -1
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -1
- package/lib/cjs/contracts/ContractContext.cjs +1 -1
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractDispatch.cjs +1 -1
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractPaginator.cjs +1 -1
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractRepository.cjs +8 -61
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +1 -1
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractSequence.cjs +1 -1
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractStatement.cjs +1 -1
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -1
- package/lib/cjs/contracts/MigrationContract.cjs +1 -1
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -1
- package/lib/cjs/contracts/PrivateSequence.cjs +1 -1
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -1
- package/lib/cjs/contracts/auth/decorators.cjs +1 -1
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -1
- package/lib/cjs/contracts/auth/index.cjs +1 -1
- package/lib/cjs/contracts/auth/index.cjs.map +1 -1
- package/lib/cjs/contracts/bootstrap.cjs +1 -1
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -1
- package/lib/cjs/contracts/crud/crud-contract.cjs +1 -1
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -1
- package/lib/cjs/contracts/crud/index.cjs +1 -1
- package/lib/cjs/contracts/crud/index.cjs.map +1 -1
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +1 -1
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -1
- package/lib/cjs/contracts/erc20/erc20contract.cjs +1 -1
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -1
- package/lib/cjs/contracts/erc20/index.cjs +1 -1
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -1
- package/lib/cjs/contracts/erc20/models.cjs +1 -1
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -1
- package/lib/cjs/contracts/fabric-overrides.cjs +1 -1
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -1
- package/lib/cjs/contracts/index.cjs +1 -1
- package/lib/cjs/contracts/index.cjs.map +1 -1
- package/lib/cjs/contracts/logging.cjs +1 -1
- package/lib/cjs/contracts/logging.cjs.map +1 -1
- package/lib/cjs/contracts/overrides.cjs +1 -1
- package/lib/cjs/contracts/overrides.cjs.map +1 -1
- package/lib/cjs/contracts/types.cjs +1 -1
- package/lib/cjs/contracts/types.cjs.map +1 -1
- package/lib/cjs/contracts/uuid.cjs +1 -1
- package/lib/cjs/contracts/uuid.cjs.map +1 -1
- package/lib/cjs/index.cjs +1 -1
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/shared/ClientSerializer.cjs +1 -1
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -1
- package/lib/cjs/shared/DeterministicSerializer.cjs +1 -1
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -1
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +1 -1
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -1
- package/lib/cjs/shared/constants.cjs +1 -1
- package/lib/cjs/shared/constants.cjs.map +1 -1
- package/lib/cjs/shared/decorators.cjs +1 -1
- package/lib/cjs/shared/decorators.cjs.map +1 -1
- package/lib/cjs/shared/erc20/erc20-constants.cjs +1 -1
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -1
- package/lib/cjs/shared/erc20/index.cjs +1 -1
- package/lib/cjs/shared/erc20/index.cjs.map +1 -1
- package/lib/cjs/shared/errors.cjs +1 -1
- package/lib/cjs/shared/errors.cjs.map +1 -1
- package/lib/cjs/shared/events.cjs +1 -1
- package/lib/cjs/shared/events.cjs.map +1 -1
- package/lib/cjs/shared/fabric-types.cjs +1 -1
- package/lib/cjs/shared/fabric-types.cjs.map +1 -1
- package/lib/cjs/shared/index.cjs +1 -1
- package/lib/cjs/shared/index.cjs.map +1 -1
- package/lib/cjs/shared/interfaces/Checkable.cjs +1 -1
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -1
- package/lib/cjs/shared/interfaces/index.cjs +1 -1
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -1
- package/lib/cjs/shared/math.cjs +1 -1
- package/lib/cjs/shared/math.cjs.map +1 -1
- package/lib/cjs/shared/model/FabricBaseModel.cjs +1 -1
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -1
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +1 -1
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -1
- package/lib/cjs/shared/model/Identity.cjs +1 -1
- package/lib/cjs/shared/model/Identity.cjs.map +1 -1
- package/lib/cjs/shared/model/IdentityCredentials.cjs +1 -1
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -1
- package/lib/cjs/shared/model/index.cjs +1 -1
- package/lib/cjs/shared/model/index.cjs.map +1 -1
- package/lib/cjs/shared/overrides/Model.cjs +1 -1
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -1
- package/lib/cjs/shared/overrides/index.cjs +1 -1
- package/lib/cjs/shared/overrides/index.cjs.map +1 -1
- package/lib/cjs/shared/overrides/overrides.cjs +1 -1
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -1
- package/lib/cjs/shared/types.cjs +1 -1
- package/lib/cjs/shared/types.cjs.map +1 -1
- package/lib/cjs/version.cjs +4 -4
- package/lib/cjs/version.cjs.map +1 -1
- package/lib/esm/client/fabric-fs.js +20 -16
- package/lib/esm/client/fabric-fs.js.map +1 -1
- package/lib/esm/contracts/ContractAdapter.js +105 -0
- package/lib/esm/contracts/ContractAdapter.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepository.js +7 -60
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/version.js +3 -3
- package/lib/types/contract/models/decorators-private.d.cts +1 -1
- package/lib/types/contract/models/decorators-private.d.mts +1 -1
- package/lib/types/contract/models/decorators.d.cts +2 -2
- package/lib/types/contract/models/decorators.d.mts +2 -2
- package/lib/types/contract/models/gtin.d.cts +1 -1
- package/lib/types/contract/models/gtin.d.mts +1 -1
- package/lib/types/contract/models/history-dec.d.cts +1 -1
- package/lib/types/contract/models/history-dec.d.mts +1 -1
- package/lib/types/contracts/ContractAdapter.d.cts +2 -1
- package/lib/types/contracts/ContractAdapter.d.mts +2 -1
- package/lib/types/shared/types.d.cts +5 -0
- package/lib/types/shared/types.d.mts +5 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
|
@@ -119,14 +119,18 @@ export async function getSigner(keyDirectoryPath) {
|
|
|
119
119
|
return await promises.readFile(keyPath);
|
|
120
120
|
};
|
|
121
121
|
const privateKeyPem = (await contentOfLoadFile(keyDirectoryPath, signerFileReader));
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
let k;
|
|
123
|
+
if (isBrowser()) {
|
|
124
|
+
// web based implementation
|
|
125
|
+
const privateKey = await extractPrivateKey(privateKeyPem);
|
|
126
|
+
const keys = Object.getOwnPropertySymbols(privateKey);
|
|
127
|
+
k = privateKey[keys[0]];
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// Node based implementation
|
|
131
|
+
const { createPrivateKey } = await import("crypto");
|
|
132
|
+
k = createPrivateKey(privateKeyPem);
|
|
133
|
+
}
|
|
130
134
|
return signers.newPrivateKeySigner(k);
|
|
131
135
|
}
|
|
132
136
|
/**
|
|
@@ -151,15 +155,15 @@ export async function getSigner(keyDirectoryPath) {
|
|
|
151
155
|
* ExtractPrivateKey-->>Caller: CryptoKey
|
|
152
156
|
*/
|
|
153
157
|
export async function extractPrivateKey(pem) {
|
|
154
|
-
const libName = "crypto";
|
|
158
|
+
// const libName = "node:crypto";
|
|
155
159
|
let subtle;
|
|
156
|
-
if (isBrowser()) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
else {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
160
|
+
// if (isBrowser()) {
|
|
161
|
+
// eslint-disable-next-line prefer-const
|
|
162
|
+
subtle = globalThis.crypto.subtle;
|
|
163
|
+
// } else {
|
|
164
|
+
// const lib = (await normalizeImport(import(libName))) as any;
|
|
165
|
+
// subtle = lib.subtle || lib.webcrypto.subtle;
|
|
166
|
+
// }
|
|
163
167
|
if (!subtle)
|
|
164
168
|
throw new Error("Could not load SubtleCrypto module");
|
|
165
169
|
function str2ab(str) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fabric-fs.js","sourceRoot":"","sources":["../../../src/client/fabric-fs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fabric-fs.js","sourceRoot":"","sources":["../../../src/client/fabric-fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1289,6 +1289,111 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
1289
1289
|
log.debug(`rangeList: returning ${results.length} ${clazz.name} instances`);
|
|
1290
1290
|
return results;
|
|
1291
1291
|
}
|
|
1292
|
+
async paginateByPrimaryKeyRange(clazz, order, ref, ...args) {
|
|
1293
|
+
const { ctx, log } = this.logCtx(args, this.paginateByPrimaryKeyRange);
|
|
1294
|
+
const limit = ref.limit || 10;
|
|
1295
|
+
const offset = ref.offset || 1;
|
|
1296
|
+
const bookmark = typeof ref.bookmark === "string"
|
|
1297
|
+
? ref.bookmark
|
|
1298
|
+
: ref.bookmark != null
|
|
1299
|
+
? `${ref.bookmark}`
|
|
1300
|
+
: undefined;
|
|
1301
|
+
const tableName = Model.tableName(clazz);
|
|
1302
|
+
const keyPrefix = ctx.stub.createCompositeKey(tableName, []);
|
|
1303
|
+
const rangeEnd = `${keyPrefix}\uffff`;
|
|
1304
|
+
const rows = new Map();
|
|
1305
|
+
const maxRowsToRead = limit + 1;
|
|
1306
|
+
const deserializeEntry = (raw) => {
|
|
1307
|
+
const str = Buffer.from(raw).toString("utf8");
|
|
1308
|
+
if (!str)
|
|
1309
|
+
return undefined;
|
|
1310
|
+
try {
|
|
1311
|
+
return JSON.parse(str);
|
|
1312
|
+
}
|
|
1313
|
+
catch {
|
|
1314
|
+
return undefined;
|
|
1315
|
+
}
|
|
1316
|
+
};
|
|
1317
|
+
const mergeIterator = async (iterator, options) => {
|
|
1318
|
+
let read = 0;
|
|
1319
|
+
try {
|
|
1320
|
+
let next = await iterator.next();
|
|
1321
|
+
while (!next.done && read < maxRowsToRead) {
|
|
1322
|
+
if (next.value?.value) {
|
|
1323
|
+
const data = deserializeEntry(next.value.value);
|
|
1324
|
+
if (data) {
|
|
1325
|
+
const key = next.value.key;
|
|
1326
|
+
if (options?.skipKey && key === options.skipKey) {
|
|
1327
|
+
next = await iterator.next();
|
|
1328
|
+
continue;
|
|
1329
|
+
}
|
|
1330
|
+
const existing = rows.get(key);
|
|
1331
|
+
if (existing) {
|
|
1332
|
+
Object.assign(existing, data);
|
|
1333
|
+
}
|
|
1334
|
+
else {
|
|
1335
|
+
rows.set(key, data);
|
|
1336
|
+
}
|
|
1337
|
+
read++;
|
|
1338
|
+
}
|
|
1339
|
+
}
|
|
1340
|
+
next = await iterator.next();
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
finally {
|
|
1344
|
+
if (iterator && typeof iterator.close === "function") {
|
|
1345
|
+
await iterator.close();
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1349
|
+
log.debug(`range pagination start table=${tableName} prefix=${keyPrefix} end=${rangeEnd} order=${order} bookmark=${bookmark} limit=${limit} offset=${offset}`);
|
|
1350
|
+
if (!ctx.isFullySegregated) {
|
|
1351
|
+
log.debug(`range pagination reading public state for ${tableName}`);
|
|
1352
|
+
await mergeIterator(await ctx.stub.getStateByRange(keyPrefix, rangeEnd), {
|
|
1353
|
+
skipKey: bookmark,
|
|
1354
|
+
});
|
|
1355
|
+
}
|
|
1356
|
+
else {
|
|
1357
|
+
log.debug(`range pagination skipping public state because model is fully segregated`);
|
|
1358
|
+
}
|
|
1359
|
+
const readCollections = [...new Set(ctx.getReadCollections() || [])];
|
|
1360
|
+
for (const collection of readCollections) {
|
|
1361
|
+
log.debug(`range pagination reading private collection ${collection} for ${tableName}`);
|
|
1362
|
+
await mergeIterator(await ctx.stub.getPrivateDataByRange(collection, keyPrefix, rangeEnd), {
|
|
1363
|
+
skipKey: bookmark,
|
|
1364
|
+
});
|
|
1365
|
+
}
|
|
1366
|
+
const compare = (a, b) => order === OrderDirection.DSC ? b.localeCompare(a) : a.localeCompare(b);
|
|
1367
|
+
const sorted = [...rows.entries()].sort(([a], [b]) => compare(a, b));
|
|
1368
|
+
const pageEntries = sorted.slice(0, limit);
|
|
1369
|
+
const hasNext = sorted.length > limit;
|
|
1370
|
+
const data = pageEntries
|
|
1371
|
+
.map(([compositeKey, record]) => {
|
|
1372
|
+
try {
|
|
1373
|
+
const { attributes } = ctx.stub.splitCompositeKey(compositeKey);
|
|
1374
|
+
const id = attributes[0];
|
|
1375
|
+
if (!id)
|
|
1376
|
+
return undefined;
|
|
1377
|
+
return this.revert(record, clazz, id, undefined, ctx);
|
|
1378
|
+
}
|
|
1379
|
+
catch (e) {
|
|
1380
|
+
log.warn(`range pagination skipping entry ${compositeKey}: ${e instanceof Error ? e.message : e}`);
|
|
1381
|
+
return undefined;
|
|
1382
|
+
}
|
|
1383
|
+
})
|
|
1384
|
+
.filter((m) => !!m);
|
|
1385
|
+
const serialization = {
|
|
1386
|
+
current: offset,
|
|
1387
|
+
total: hasNext ? offset + 1 : offset,
|
|
1388
|
+
count: data.length,
|
|
1389
|
+
data,
|
|
1390
|
+
bookmark: hasNext && pageEntries.length
|
|
1391
|
+
? pageEntries[pageEntries.length - 1][0]
|
|
1392
|
+
: undefined,
|
|
1393
|
+
};
|
|
1394
|
+
log.debug(`range pagination resolved table=${tableName} current=${serialization.current} total=${serialization.total} count=${serialization.count} bookmark=${serialization.bookmark}`);
|
|
1395
|
+
return serialization;
|
|
1396
|
+
}
|
|
1292
1397
|
async view(
|
|
1293
1398
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1294
1399
|
ddoc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import { Model } from "@decaf-ts/decorator-validation";
|
|
|
4
4
|
import { FabricContractRepositoryObservableHandler } from "./FabricContractRepositoryObservableHandler.js";
|
|
5
5
|
import { BaseError, InternalError, } from "@decaf-ts/db-decorators";
|
|
6
6
|
import { applyMirrorFlags, applySegregationFlags, extractMspId, } from "./../shared/decorators.js";
|
|
7
|
-
import { appendFileSync } from "fs";
|
|
8
7
|
/**
|
|
9
8
|
* @description Repository for Hyperledger Fabric chaincode models
|
|
10
9
|
* @summary Provides CRUD operations for models within Fabric chaincode contracts
|
|
@@ -194,6 +193,13 @@ export class FabricContractRepository extends Repository {
|
|
|
194
193
|
];
|
|
195
194
|
applySegregationFlags(new this.class(), collections, ctx);
|
|
196
195
|
await applyMirrorFlags(this.class, msp, ctx);
|
|
196
|
+
const pk = Model.pk(this.class);
|
|
197
|
+
const pkRangePagination = !!ctx.getOrUndefined("pkRangePagination");
|
|
198
|
+
if (pkRangePagination && String(key) === String(pk)) {
|
|
199
|
+
log.verbose(`Using range pagination fast path for ${Model.tableName(this.class)} ordered by primary key ${String(key)}`);
|
|
200
|
+
const serialization = await this.adapter.paginateByPrimaryKeyRange(this.class, order, ref, ...ctxArgs);
|
|
201
|
+
return serialization;
|
|
202
|
+
}
|
|
197
203
|
let paginator;
|
|
198
204
|
if (offset && bookmark) {
|
|
199
205
|
paginator = await this.override({
|
|
@@ -217,19 +223,7 @@ export class FabricContractRepository extends Repository {
|
|
|
217
223
|
throw new QueryError(`PaginateBy needs a page or a bookmark`);
|
|
218
224
|
}
|
|
219
225
|
const paged = await paginator.page(offset, bookmark, ...ctxArgs);
|
|
220
|
-
const totalCount = await countStoredEntries(ctx, this.class);
|
|
221
|
-
if (typeof totalCount === "number") {
|
|
222
|
-
paginator._recordCount = totalCount;
|
|
223
|
-
paginator._totalPages = Math.max(1, Math.ceil(totalCount / limit));
|
|
224
|
-
}
|
|
225
226
|
const serialization = paginator.serialize(paged);
|
|
226
|
-
if (process.env.PAGE_DEBUG) {
|
|
227
|
-
appendFileSync("/tmp/fabric-paginate.log", JSON.stringify(Object.assign({
|
|
228
|
-
key,
|
|
229
|
-
order,
|
|
230
|
-
ref,
|
|
231
|
-
}, serialization)) + "\n");
|
|
232
|
-
}
|
|
233
227
|
return serialization;
|
|
234
228
|
}
|
|
235
229
|
async page(value, direction = OrderDirection.ASC, ref = {
|
|
@@ -387,51 +381,4 @@ export class FabricContractRepository extends Repository {
|
|
|
387
381
|
return ctx;
|
|
388
382
|
}
|
|
389
383
|
}
|
|
390
|
-
async function countStoredEntries(ctx, clazz) {
|
|
391
|
-
const stub = ctx?.stub;
|
|
392
|
-
if (!stub)
|
|
393
|
-
return undefined;
|
|
394
|
-
const table = Model.tableName(clazz);
|
|
395
|
-
const prefix = `\x00${table}\x00`;
|
|
396
|
-
const seen = new Set();
|
|
397
|
-
if (typeof stub.getStateByPartialCompositeKey === "function") {
|
|
398
|
-
const iterator = await stub.getStateByPartialCompositeKey(table, []);
|
|
399
|
-
try {
|
|
400
|
-
while (true) {
|
|
401
|
-
const result = await iterator.next();
|
|
402
|
-
if (result?.done)
|
|
403
|
-
break;
|
|
404
|
-
const key = result?.value?.key;
|
|
405
|
-
if (key && key.startsWith(prefix)) {
|
|
406
|
-
seen.add(key);
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
finally {
|
|
411
|
-
if (iterator && typeof iterator.close === "function") {
|
|
412
|
-
await iterator.close();
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
if (stub.state) {
|
|
417
|
-
Object.keys(stub.state)
|
|
418
|
-
.filter((key) => key.startsWith(prefix))
|
|
419
|
-
.forEach((key) => seen.add(key));
|
|
420
|
-
}
|
|
421
|
-
const { privateCols, sharedCols } = Model.collectionsFor(clazz);
|
|
422
|
-
const resolvers = [...privateCols, ...sharedCols];
|
|
423
|
-
if (resolvers.length && stub.privateState) {
|
|
424
|
-
const msp = extractMspId(ctx.identity);
|
|
425
|
-
const collections = await Promise.all(resolvers.map((resolver) => typeof resolver === "string" ? resolver : resolver(clazz, msp, ctx)));
|
|
426
|
-
for (const collection of collections) {
|
|
427
|
-
const entries = stub.privateState[collection];
|
|
428
|
-
if (!entries)
|
|
429
|
-
continue;
|
|
430
|
-
Object.keys(entries)
|
|
431
|
-
.filter((key) => key.startsWith(prefix))
|
|
432
|
-
.forEach((key) => seen.add(key));
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return seen.size ? seen.size : undefined;
|
|
436
|
-
}
|
|
437
384
|
//# sourceMappingURL=FabricContractRepository.js.map
|