@decaf-ts/for-fabric 0.1.60 → 0.1.62

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.
Files changed (141) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/cli-module.cjs +101 -10
  6. package/lib/cli-module.js.map +1 -1
  7. package/lib/client/FabricClientDispatch.cjs +1 -0
  8. package/lib/client/FabricClientDispatch.d.ts +1 -1
  9. package/lib/client/FabricClientDispatch.js.map +1 -1
  10. package/lib/client/collections/generation.cjs +75 -107
  11. package/lib/client/collections/generation.d.ts +24 -5
  12. package/lib/client/collections/generation.js.map +1 -1
  13. package/lib/client/indexes/generation.cjs +9 -6
  14. package/lib/client/indexes/generation.d.ts +1 -1
  15. package/lib/client/indexes/generation.js.map +1 -1
  16. package/lib/contract/OtherProductContract.cjs +30 -0
  17. package/lib/contract/OtherProductContract.d.ts +5 -0
  18. package/lib/contract/OtherProductContract.js.map +1 -0
  19. package/lib/contract/OtherProductSharedContract.cjs +30 -0
  20. package/lib/contract/OtherProductSharedContract.d.ts +5 -0
  21. package/lib/contract/OtherProductSharedContract.js.map +1 -0
  22. package/lib/contract/index.cjs +2 -0
  23. package/lib/contract/index.js.map +1 -1
  24. package/lib/contract/models/Audit.cjs +20 -2
  25. package/lib/contract/models/Audit.d.ts +2 -1
  26. package/lib/contract/models/Audit.js.map +1 -1
  27. package/lib/contract/models/Batch.cjs +2 -2
  28. package/lib/contract/models/Batch.js.map +1 -1
  29. package/lib/contract/models/Leaflet.cjs +2 -2
  30. package/lib/contract/models/Leaflet.js.map +1 -1
  31. package/lib/contract/models/OtherProduct.cjs +74 -0
  32. package/lib/contract/models/OtherProduct.d.ts +12 -0
  33. package/lib/contract/models/OtherProduct.js.map +1 -0
  34. package/lib/contract/models/OtherProductShared.cjs +75 -0
  35. package/lib/contract/models/OtherProductShared.d.ts +12 -0
  36. package/lib/contract/models/OtherProductShared.js.map +1 -0
  37. package/lib/contract/models/Product.cjs +4 -4
  38. package/lib/contract/models/Product.js.map +1 -1
  39. package/lib/contract/models/decorators.cjs +15 -8
  40. package/lib/contract/models/decorators.d.ts +8 -5
  41. package/lib/contract/models/decorators.js.map +1 -1
  42. package/lib/contracts/ContractAdapter.js.map +1 -1
  43. package/lib/contracts/FabricConstruction.cjs +1 -1
  44. package/lib/contracts/FabricConstruction.js.map +1 -1
  45. package/lib/contracts/FabricContractPaginator.cjs +7 -3
  46. package/lib/contracts/FabricContractPaginator.js.map +1 -1
  47. package/lib/contracts/FabricContractRepository.cjs +12 -3
  48. package/lib/contracts/FabricContractRepository.d.ts +3 -1
  49. package/lib/contracts/FabricContractRepository.js.map +1 -1
  50. package/lib/contracts/FabricContractSequence.cjs +4 -4
  51. package/lib/contracts/FabricContractSequence.js.map +1 -1
  52. package/lib/contracts/index.cjs +7 -6
  53. package/lib/contracts/index.d.ts +1 -0
  54. package/lib/contracts/index.js.map +1 -1
  55. package/lib/contracts/overrides.cjs +8 -0
  56. package/lib/contracts/overrides.d.ts +1 -0
  57. package/lib/contracts/overrides.js.map +1 -0
  58. package/lib/contracts/types.d.ts +1 -0
  59. package/lib/contracts/uuid.cjs +75 -0
  60. package/lib/contracts/uuid.d.ts +2 -0
  61. package/lib/contracts/uuid.js.map +1 -0
  62. package/lib/esm/cli-module.js +102 -11
  63. package/lib/esm/cli-module.js.map +1 -1
  64. package/lib/esm/client/FabricClientDispatch.d.ts +1 -1
  65. package/lib/esm/client/FabricClientDispatch.js +1 -0
  66. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  67. package/lib/esm/client/collections/generation.d.ts +24 -5
  68. package/lib/esm/client/collections/generation.js +70 -103
  69. package/lib/esm/client/collections/generation.js.map +1 -1
  70. package/lib/esm/client/indexes/generation.d.ts +1 -1
  71. package/lib/esm/client/indexes/generation.js +9 -6
  72. package/lib/esm/client/indexes/generation.js.map +1 -1
  73. package/lib/esm/contract/OtherProductContract.d.ts +5 -0
  74. package/lib/esm/contract/OtherProductContract.js +27 -0
  75. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  76. package/lib/esm/contract/OtherProductSharedContract.d.ts +5 -0
  77. package/lib/esm/contract/OtherProductSharedContract.js +27 -0
  78. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  79. package/lib/esm/contract/index.js +2 -0
  80. package/lib/esm/contract/index.js.map +1 -1
  81. package/lib/esm/contract/models/Audit.d.ts +2 -1
  82. package/lib/esm/contract/models/Audit.js +22 -4
  83. package/lib/esm/contract/models/Audit.js.map +1 -1
  84. package/lib/esm/contract/models/Batch.js +2 -2
  85. package/lib/esm/contract/models/Batch.js.map +1 -1
  86. package/lib/esm/contract/models/Leaflet.js +2 -2
  87. package/lib/esm/contract/models/Leaflet.js.map +1 -1
  88. package/lib/esm/contract/models/OtherProduct.d.ts +12 -0
  89. package/lib/esm/contract/models/OtherProduct.js +71 -0
  90. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  91. package/lib/esm/contract/models/OtherProductShared.d.ts +12 -0
  92. package/lib/esm/contract/models/OtherProductShared.js +72 -0
  93. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  94. package/lib/esm/contract/models/Product.js +4 -4
  95. package/lib/esm/contract/models/Product.js.map +1 -1
  96. package/lib/esm/contract/models/decorators.d.ts +8 -5
  97. package/lib/esm/contract/models/decorators.js +15 -8
  98. package/lib/esm/contract/models/decorators.js.map +1 -1
  99. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  100. package/lib/esm/contracts/FabricConstruction.js +1 -1
  101. package/lib/esm/contracts/FabricConstruction.js.map +1 -1
  102. package/lib/esm/contracts/FabricContractPaginator.js +8 -4
  103. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -1
  104. package/lib/esm/contracts/FabricContractRepository.d.ts +3 -1
  105. package/lib/esm/contracts/FabricContractRepository.js +12 -3
  106. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  107. package/lib/esm/contracts/FabricContractSequence.js +4 -4
  108. package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
  109. package/lib/esm/contracts/index.d.ts +1 -0
  110. package/lib/esm/contracts/index.js +1 -0
  111. package/lib/esm/contracts/index.js.map +1 -1
  112. package/lib/esm/contracts/overrides.d.ts +1 -0
  113. package/lib/esm/contracts/overrides.js +6 -0
  114. package/lib/esm/contracts/overrides.js.map +1 -0
  115. package/lib/esm/contracts/types.d.ts +1 -0
  116. package/lib/esm/contracts/uuid.d.ts +2 -0
  117. package/lib/esm/contracts/uuid.js +38 -0
  118. package/lib/esm/contracts/uuid.js.map +1 -0
  119. package/lib/esm/shared/constants.d.ts +4 -3
  120. package/lib/esm/shared/constants.js +3 -2
  121. package/lib/esm/shared/constants.js.map +1 -1
  122. package/lib/esm/shared/decorators.d.ts +15 -2
  123. package/lib/esm/shared/decorators.js +114 -69
  124. package/lib/esm/shared/decorators.js.map +1 -1
  125. package/lib/esm/shared/overrides/Model.d.ts +7 -0
  126. package/lib/esm/shared/overrides/overrides.js +28 -15
  127. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  128. package/lib/esm/version.d.ts +1 -1
  129. package/lib/esm/version.js +1 -1
  130. package/lib/shared/constants.cjs +3 -2
  131. package/lib/shared/constants.d.ts +4 -3
  132. package/lib/shared/constants.js.map +1 -1
  133. package/lib/shared/decorators.cjs +118 -68
  134. package/lib/shared/decorators.d.ts +15 -2
  135. package/lib/shared/decorators.js.map +1 -1
  136. package/lib/shared/overrides/Model.d.ts +7 -0
  137. package/lib/shared/overrides/overrides.cjs +28 -15
  138. package/lib/shared/overrides/overrides.js.map +1 -1
  139. package/lib/version.cjs +1 -1
  140. package/lib/version.d.ts +1 -1
  141. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"for-fabric.js","sources":["../src/client/FabricClientRepository.ts","../src/contracts/erc20/models.ts","../src/shared/ClientSerializer.ts","../src/client/erc20/FabricERC20ClientRepository.ts","../src/client/indexes/generation.ts","../src/shared/model/IdentityCredentials.ts","../src/shared/constants.ts","../src/shared/model/Identity.ts","../src/client/utils.ts","../src/client/crypto.ts","../src/client/services/FabricEnrollmentService.ts","../src/shared/erc20/erc20-constants.ts","../src/shared/errors.ts","../src/client/services/RegistrationRequestBuilder.ts","../src/shared/model/FabricBaseModel.ts","../src/shared/model/FabricIdentifiedBaseModel.ts","../src/shared/decorators.ts","../src/shared/overrides/overrides.ts","../src/shared/DeterministicSerializer.ts","../src/shared/events.ts","../src/shared/math.ts","../src/shared/SimpleDeterministicSerializer.ts","../src/client/services/FabricIdentityService.ts","../src/client/constants.ts","../src/client/fabric-fs.ts","../src/client/fabric-hsm.ts","../src/client/FabricClientStatement.ts","../src/client/FabricClientPaginator.ts","../src/client/FabricClientAdapter.ts","../src/client/FabricClientDispatch.ts","../src/version.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["FabricClientRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","allowGenerationOverride","paginateBy","key","order","ref","offset","limit","args","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","tableName","class","statement","name","bookmark","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","callArgs","slice","result","JSON","parse","decode","evaluateTransaction","stringify","undefined","Array","isArray","map","r","CouchDBKeys","TABLE","Paginator","isSerializedPage","data","d","create","model","debug","record","id","transient","prepare","revert","update","createAllPrefix","models","OperationKeys","CREATE","get","ignoreValidate","length","Promise","all","async","m","enforceDBDecorators","ON","ignoredProps","errors","resolve","hasErrors","errorMessages","reduceErrorsToPrint","ValidationError","createAll","prepared","ids","p","records","i","updateAll","u","ERC20Token","BaseModel","__decorate","pk","type","String","prototype","column","required","table","ERC20Wallet","Allowance","ClientSerializer","JSONSerializer","preSerialize","modelName","toSerialize","metadata","Metadata","SerializationError","ModelKeys","ANCHOR","deserialize","str","deserialization","className","Error","build","serialize","FabricERC20ClientRepository","serializer","decoder","TextDecoder","updateObservers","event","observerHandler","InternalError","parsedId","count","Sequence","parseValue","sequenceFor","tokenName","symbol","decimals","Number","totalSupply","total","balanceOf","owner","balance","transfer","to","transferred","submitTransaction","toString","transferFrom","from","contextArgs","Context","approve","spender","approved","allowance","initialize","token","initiliazed","checkInitialized","mint","amount","burn","burnFrom","account","clientAccountBalance","serializedAccountBalance","clientAccountID","getIndexReference","direction","compositions","n","join","splitter","addIndex","accum","fields","f","reduce","el","entry","push","index","ddoc","generateModelIndexes","indexes","modelIndexes","prop","keys","dec","entries","directions","forEach","values","readModelFile","file","path","require","exports","process","cwd","parentPath","filter","e","readModelFolders","folders","fs","folder","files","readdirSync","withFileTypes","recursive","isFile","endsWith","writeIndexes","ensureDirectoryExistence","filePath","dirname","existsSync","mkdirSync","writeFileSync","IdentityCredentials","arg","FabricModelKeys","IdentityType","description","FabricFlavour","Identity","X509","oneToOne","Cascade","CASCADE","delete","CoreUtils","logger","MiniLogger","contentOfLoadFile","contentOrPath","fileReader","Uint8Array","match","readFile","promises","normalizeImport","import","getCAUser","userName","privateKey","certificate","mspId","options","stringFormat","user","User","config","hsm","software","lib","library","slot","label","tokenLabel","pin","cryptoSuite","getCryptoSuite","setCryptoSuite","enrollmentKey","getHSMEnrollmentKey","getSoftwareEnrollmentKey","setEnrollment","newCryptoSuite","createKeyFromRaw","ski","keyIdHex","trim","Buffer","getCertificateSKI","getKey","isPrivate","jwk","X509Certificate","publicKey","export","format","prefix","x","y","crypto","createHash","concat","digest","getIdentity","certDirectoryPath","credentials","certPath","getFirstDirFileName","dirPath","readdir","getFirstDirFileNameContent","getFileContent","getSigner","keyDirectoryPath","privateKeyPem","keyPath","extractPrivateKey","k","getOwnPropertySymbols","signers","newPrivateKeySigner","pem","subtle","globalThis","window","Crypto","webcrypto","replace","replaceAll","binaryDer","buf","ArrayBuffer","bufView","strLen","charCodeAt","str2ab","importKey","namedCurve","BASE_ALPHABET","CRYPTO","HFCAIdentityType","HFCAIdentityAttributes","ERC20Events","x509","cryptoProvider","set","BaseEncoder","alphabet","baseMap","j","charAt","xc","base","leader","factor","Math","iFactor","encode","source","isView","buffer","byteOffset","byteLength","zeroes","pbegin","pend","size","b58","carry","it1","it2","repeat","decodeUnsafe","psz","b256","it3","it4","vch","CryptoUtils","b58encoder","BASE58","fabricIdFromCertificate","cert","subject","issuer","decoded","stringToArrayBuffer","extractKey","usages","RegExp","toUpperCase","extractPublicKey","sign","buff","hash","b","padStart","verify","signature","encrypt","getSubtleCrypto","isBrowser","decrypt","getMaster","textEncoder","TextEncoder","genGenesis","randomUUID","KEY_ALGORYTHM","iv","getDerivationKey","salt","saltBuffer","saltHashed","params","HASH","iterations","ITERATIONS","derivation","deriveBits","KEYLENGTH","derivedKey","ALGORYTHM","encryptPin","text","keyObject","textBuffer","decryptPin","encryptedText","textDecoder","decryptedText","OverflowError","msg","BalanceError","AllowanceError","RegistrationError","AuthorizationError","MissingContextError","UnauthorizedPrivateDataAccess","BaseError","NotInitializedError","MissingPKCSS11Lib","EndorsementError","message","MvccReadConflictError","PhantomReadConflictError","EndorsementPolicyError","FabricEnrollmentService","LoggedClass","caConfig","caName","caCert","caKey","url","CA","ca","tls","trustedRoots","root","FabricCAServices","Client","client","Certificate","certificateService","newCertificateService","Affiliations","affiliationService","newAffiliationService","Identities","identityService","newIdentityService","getCertificates","request","doMap","response","certs","c","PEM","getIdentities","identitiesService","getAll","identities","parseError","exec","code","ConflictError","getAffiliations","a","read","enrollmentId","getOne","NotFoundError","success","register","isSuperUser","affiliation","userRole","attrs","maxEnrollments","registration","password","props","enrollmentID","enrollmentSecret","info","identityFromEnrollment","enrollment","rootCertificate","Logging","clientId","now","Date","toBytes","createdOn","updatedOn","enroll","identity","registerAndEnroll","revoke","reason","RegistrationRequestBuilder","errs","role","setAffiliation","addAttr","attr","setAttrs","setEnrollmentID","setEnrollmentSecret","setMaxEnrollments","setRole","minlength","min","FabricBaseModel","createdAt","updatedAt","version","uses","FabricIdentifiedBaseModel","Owner","target","propertyKey","descriptor","originalMethod","acountId","clientIdentity","getID","select","tokens","execute","apply","ownedByOnCreate","context","stub","getCreator","mspid","defineProperty","enumerable","writable","configurable","ownedBy","getFabricModelKey","OWNEDBY","Decoration","define","decorator","obj","attribute","readonly","onCreate","propMetadata","transactionIdOnCreate","getTxID","transactionId","TRANSACTION_ID","onUpdate","FABRIC","createdBy","updatedBy","isShared","segregate","isTransient","decoratedProperties","validatableProperties","transientProps","DBKeys","TRANSIENT","privateProperties","PRIVATE","sharedProperties","private","shared","transientKeys","privateKeys","sharedKeys","includes","bind","SHARED","ImplicitPrivateCollection","segregatedDataOnCreate","collectionResolver","collections","collection","rebuilt","acc","UnsupportedError","toCreate","created","override","segregated","segregatedDataOnRead","segregatedDataOnUpdate","oldModel","segregatedDataOnDelete","decs","properties","constr","meta","Set","add","priority","group","onRead","onDelete","privateData","sharedData","DeterministicSerializer","error","self","o","call","relations","sortKeysRecursive","generateFabricEventName","parseEventName","parts","split","sub","safeParseInt","string","test","parsedint","parseInt","isNaN","SimpleDeterministicSerializer","putAnchor","FabricIdentityService","ClientBasedService","rootClient","_user","certificates","affiliations","getUser","cfg","getName","DefaultFabricClientFlags","evaluateTimeout","endorseTimeout","submitTimeout","commitTimeout","DefaultAdapterFlags","importedKey","HSMSignerFactoryCustom","static","pkcs11","PKCS11","load","findHSMPKCS11Lib","initialized","C_Initialize","CKR_CRYPTOKI_ALREADY_INITIALIZED","commonSoftHSMPathNames","pathnameToTry","dispose","C_Finalize","sanitizeOptions","hsmSignerOptions","userType","CKU_USER","assertNotEmpty","identifier","property","findSlotForLabel","pkcs11Label","slots","C_GetSlotList","find","slotToCheck","C_GetTokenInfo","login","session","C_Login","err","CKR_USER_ALREADY_LOGGED_IN","findObjectInHSM","keytype","pkcs11Template","CKA_ID","CKA_CLASS","CKA_KEY_TYPE","CKK_EC","C_FindObjectsInit","hsmObject","C_FindObjects","C_FindObjectsFinal","newSigner","pkcs","C_OpenSession","CKF_SERIAL_SESSION","privateKeyHandle","CKO_PRIVATE_KEY","C_CloseSession","signer","C_SignInit","mechanism","CKM_ECDSA","compactSignature","C_SignAsync","alloc","p256","Point","Fn","BYTES","Signature","fromBytes","normalizeS","close","assertDefined","getUncompressedPointOnCurve","getSKIFromCertificatePath","readFileSync","getSKIFromCertificate","uncompressedPoint","FabricClientStatement","Statement","overrides","squash","squashed","method","executePrepared","argz","repo","forModel","fromSelector","alias","QUERY","isSimpleQuery","QueryClause","whereCondition","parsed","prepareCondition","selectSelector","SELECT","AND","toLowerCase","orderBySelector","ORDER_BY","toCamelCase","parseCondition","condition","FabricClientPaginator","query","rawStatement","page","FabricClientAdapter","Adapter","flags","operation","silly","pop","toOverrides","accumulate","parentContext","currentOp","currentModel","repository","createPrefix","updateAllPrefix","shift","BulkCrudOperationKeys","CREATE_ALL","readAll","READ_ALL","UPDATE_ALL","deleteAll","DELETE_ALL","METADATA","val","READ","updatePrefix","UPDATE","DELETE","raw","rawInput","docsOnly","transactionResult","isModel","getClient","_client","Gateway","getGateway","getContractName","Contract","contractName","getContract","transaction","api","submit","transientData","endorsingOrganizations","gateway","contract","evaluate","proposalOptions","arguments","details","network","getNetwork","channel","chaincodeName","channelName","getConnection","pathOrCert","tlsCert","tlsCredentials","grpc","createSsl","peerEndpoint","sizeLimit","certCertOrDirectoryPath","keyCertOrDirectoryPath","pkcs11Signer","evaluateOptions","deadline","endorseOptions","submitOptions","commitStatusOptions","connect","Proxy","thisArg","argArray","Reflect","Dispatch","BadRequestError","QueryError","PagingError","MigrationError","ObserverError","ForbiddenError","ConnectionError","final","D","_a","decoration","setCurrent","FabricClientDispatch","listeningStack","parsePayload","jsonBytes","json","observe","observer","refresh","handleEvents","ctxArg","correlationId","evt","eventName","payload","modelRef","getChaincodeEvents","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-fabric.js","sources":["../src/client/FabricClientRepository.ts","../src/contracts/erc20/models.ts","../src/shared/ClientSerializer.ts","../src/client/erc20/FabricERC20ClientRepository.ts","../src/client/indexes/generation.ts","../src/shared/model/IdentityCredentials.ts","../src/shared/constants.ts","../src/shared/model/Identity.ts","../src/client/utils.ts","../src/client/crypto.ts","../src/client/services/FabricEnrollmentService.ts","../src/shared/erc20/erc20-constants.ts","../src/shared/errors.ts","../src/client/services/RegistrationRequestBuilder.ts","../src/shared/model/FabricBaseModel.ts","../src/shared/model/FabricIdentifiedBaseModel.ts","../src/shared/decorators.ts","../src/shared/overrides/overrides.ts","../src/shared/DeterministicSerializer.ts","../src/shared/events.ts","../src/shared/math.ts","../src/shared/SimpleDeterministicSerializer.ts","../src/client/services/FabricIdentityService.ts","../src/client/constants.ts","../src/client/fabric-fs.ts","../src/client/fabric-hsm.ts","../src/client/FabricClientStatement.ts","../src/client/FabricClientPaginator.ts","../src/client/FabricClientAdapter.ts","../src/client/FabricClientDispatch.ts","../src/version.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["FabricClientRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","allowGenerationOverride","paginateBy","key","order","ref","offset","limit","args","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","tableName","class","statement","name","bookmark","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","callArgs","slice","result","JSON","parse","decode","evaluateTransaction","stringify","undefined","Array","isArray","map","r","CouchDBKeys","TABLE","Paginator","isSerializedPage","data","d","create","model","debug","record","id","transient","prepare","revert","update","createAllPrefix","models","OperationKeys","CREATE","get","ignoreValidate","length","Promise","all","async","m","enforceDBDecorators","ON","ignoredProps","errors","resolve","hasErrors","errorMessages","reduceErrorsToPrint","ValidationError","createAll","prepared","ids","p","records","i","updateAll","u","ERC20Token","BaseModel","__decorate","pk","type","String","prototype","column","required","table","ERC20Wallet","Allowance","ClientSerializer","JSONSerializer","preSerialize","modelName","toSerialize","metadata","Metadata","SerializationError","ModelKeys","ANCHOR","deserialize","str","deserialization","className","Error","build","serialize","FabricERC20ClientRepository","serializer","decoder","TextDecoder","updateObservers","event","observerHandler","InternalError","parsedId","count","Sequence","parseValue","sequenceFor","tokenName","symbol","decimals","Number","totalSupply","total","balanceOf","owner","balance","transfer","to","transferred","submitTransaction","toString","transferFrom","from","contextArgs","Context","approve","spender","approved","allowance","initialize","token","initiliazed","checkInitialized","mint","amount","burn","burnFrom","account","clientAccountBalance","serializedAccountBalance","clientAccountID","getIndexReference","direction","compositions","n","join","splitter","addIndex","accum","fields","tableField","pop","push","unshift","f","reduce","el","entry","index","ddoc","generateModelIndexes","indexes","modelIndexes","prop","keys","dec","entries","directions","forEach","values","readModelFile","file","path","require","exports","process","cwd","parentPath","filter","e","readModelFolders","folders","fs","folder","files","readdirSync","withFileTypes","recursive","isFile","endsWith","writeIndexes","collection","ensureDirectoryExistence","filePath","dirname","existsSync","mkdirSync","writeFileSync","IdentityCredentials","arg","FabricModelKeys","IdentityType","description","FabricFlavour","Identity","X509","oneToOne","Cascade","CASCADE","delete","CoreUtils","logger","MiniLogger","contentOfLoadFile","contentOrPath","fileReader","Uint8Array","match","readFile","promises","normalizeImport","import","getCAUser","userName","privateKey","certificate","mspId","options","stringFormat","user","User","config","hsm","software","lib","library","slot","label","tokenLabel","pin","cryptoSuite","getCryptoSuite","setCryptoSuite","enrollmentKey","getHSMEnrollmentKey","getSoftwareEnrollmentKey","setEnrollment","newCryptoSuite","createKeyFromRaw","ski","keyIdHex","trim","Buffer","getCertificateSKI","getKey","isPrivate","jwk","X509Certificate","publicKey","export","format","prefix","x","y","crypto","createHash","concat","digest","getIdentity","certDirectoryPath","credentials","certPath","getFirstDirFileName","dirPath","readdir","getFirstDirFileNameContent","getFileContent","getSigner","keyDirectoryPath","privateKeyPem","keyPath","extractPrivateKey","k","getOwnPropertySymbols","signers","newPrivateKeySigner","pem","subtle","globalThis","window","Crypto","webcrypto","replace","replaceAll","binaryDer","buf","ArrayBuffer","bufView","strLen","charCodeAt","str2ab","importKey","namedCurve","BASE_ALPHABET","CRYPTO","HFCAIdentityType","HFCAIdentityAttributes","ERC20Events","x509","cryptoProvider","set","BaseEncoder","alphabet","baseMap","j","charAt","xc","base","leader","factor","Math","iFactor","encode","source","isView","buffer","byteOffset","byteLength","zeroes","pbegin","pend","size","b58","carry","it1","it2","repeat","decodeUnsafe","psz","b256","it3","it4","vch","CryptoUtils","b58encoder","BASE58","fabricIdFromCertificate","cert","subject","issuer","decoded","stringToArrayBuffer","extractKey","usages","RegExp","toUpperCase","extractPublicKey","sign","buff","hash","b","padStart","verify","signature","encrypt","getSubtleCrypto","isBrowser","decrypt","getMaster","textEncoder","TextEncoder","genGenesis","randomUUID","KEY_ALGORYTHM","iv","getDerivationKey","salt","saltBuffer","saltHashed","params","HASH","iterations","ITERATIONS","derivation","deriveBits","KEYLENGTH","derivedKey","ALGORYTHM","encryptPin","text","keyObject","textBuffer","decryptPin","encryptedText","textDecoder","decryptedText","OverflowError","msg","BalanceError","AllowanceError","RegistrationError","AuthorizationError","MissingContextError","UnauthorizedPrivateDataAccess","BaseError","NotInitializedError","MissingPKCSS11Lib","EndorsementError","message","MvccReadConflictError","PhantomReadConflictError","EndorsementPolicyError","FabricEnrollmentService","LoggedClass","caConfig","caName","caCert","caKey","url","CA","ca","tls","trustedRoots","root","FabricCAServices","Client","client","Certificate","certificateService","newCertificateService","Affiliations","affiliationService","newAffiliationService","Identities","identityService","newIdentityService","getCertificates","request","doMap","response","certs","c","PEM","getIdentities","identitiesService","getAll","identities","parseError","exec","code","ConflictError","getAffiliations","a","read","enrollmentId","getOne","NotFoundError","success","register","isSuperUser","affiliation","userRole","attrs","maxEnrollments","registration","password","props","enrollmentID","enrollmentSecret","info","identityFromEnrollment","enrollment","rootCertificate","Logging","clientId","now","Date","toBytes","createdOn","updatedOn","enroll","identity","registerAndEnroll","revoke","reason","RegistrationRequestBuilder","errs","role","setAffiliation","addAttr","attr","setAttrs","setEnrollmentID","setEnrollmentSecret","setMaxEnrollments","setRole","minlength","min","FabricBaseModel","createdAt","updatedAt","version","uses","FabricIdentifiedBaseModel","Owner","target","propertyKey","descriptor","originalMethod","acountId","clientIdentity","getID","select","tokens","execute","apply","ownedByOnCreate","context","stub","getCreator","mspid","defineProperty","enumerable","writable","configurable","ownedBy","Decoration","OWNED_BY","define","decorator","obj","attribute","readonly","onCreate","propMetadata","FABRIC","transactionIdOnCreate","getTxID","transactionId","TRANSACTION_ID","onUpdate","evalMirrorMetadata","resolver","ownerOf","createMirrorHandler","repo","override","segregate","mirror","updateMirrorHandler","deleteMirrorHandler","condition","MIRROR","meta","privateData","afterCreate","priority","afterUpdate","afterDelete","createdBy","updatedBy","isShared","isTransient","decoratedProperties","validatableProperties","transientProps","DBKeys","TRANSIENT","privateProperties","PRIVATE","sharedProperties","private","shared","transientKeys","privateKeys","sharedKeys","includes","bind","SHARED","mirrored","mirroredAt","collectionsFor","sharedKey","constr","privateMeta","sharedMeta","privateCols","collections","sharedCols","ModelCollection","orgName","toPascalCase","ImplicitPrivateCollection","segregatedDataOnCreate","msp","collectionResolver","rebuilt","acc","UnsupportedError","toCreate","created","segregated","mergeModel","segregatedDataOnRead","segregatedDataOnUpdate","oldModel","segregatedDataOnDelete","decs","Set","add","constrMeta","group","onRead","onDelete","properties","sharedData","DeterministicSerializer","error","self","o","call","relations","sortKeysRecursive","generateFabricEventName","parseEventName","parts","split","sub","safeParseInt","string","test","parsedint","parseInt","isNaN","SimpleDeterministicSerializer","putAnchor","FabricIdentityService","ClientBasedService","rootClient","_user","certificates","affiliations","getUser","cfg","getName","DefaultFabricClientFlags","evaluateTimeout","endorseTimeout","submitTimeout","commitTimeout","DefaultAdapterFlags","importedKey","HSMSignerFactoryCustom","static","pkcs11","PKCS11","load","findHSMPKCS11Lib","initialized","C_Initialize","CKR_CRYPTOKI_ALREADY_INITIALIZED","commonSoftHSMPathNames","pathnameToTry","dispose","C_Finalize","sanitizeOptions","hsmSignerOptions","userType","CKU_USER","assertNotEmpty","identifier","property","findSlotForLabel","pkcs11Label","slots","C_GetSlotList","find","slotToCheck","C_GetTokenInfo","login","session","C_Login","err","CKR_USER_ALREADY_LOGGED_IN","findObjectInHSM","keytype","pkcs11Template","CKA_ID","CKA_CLASS","CKA_KEY_TYPE","CKK_EC","C_FindObjectsInit","hsmObject","C_FindObjects","C_FindObjectsFinal","newSigner","pkcs","C_OpenSession","CKF_SERIAL_SESSION","privateKeyHandle","CKO_PRIVATE_KEY","C_CloseSession","signer","C_SignInit","mechanism","CKM_ECDSA","compactSignature","C_SignAsync","alloc","p256","Point","Fn","BYTES","Signature","fromBytes","normalizeS","close","assertDefined","getUncompressedPointOnCurve","getSKIFromCertificatePath","readFileSync","getSKIFromCertificate","uncompressedPoint","FabricClientStatement","Statement","overrides","squash","squashed","method","executePrepared","argz","forModel","fromSelector","alias","QUERY","isSimpleQuery","QueryClause","whereCondition","parsed","prepareCondition","selectSelector","SELECT","AND","toLowerCase","orderBySelector","ORDER_BY","toCamelCase","parseCondition","FabricClientPaginator","query","rawStatement","page","FabricClientAdapter","Adapter","flags","operation","silly","toOverrides","accumulate","parentContext","currentOp","currentModel","repository","createPrefix","updateAllPrefix","shift","BulkCrudOperationKeys","CREATE_ALL","readAll","READ_ALL","UPDATE_ALL","deleteAll","DELETE_ALL","METADATA","val","READ","updatePrefix","UPDATE","DELETE","raw","rawInput","docsOnly","transactionResult","isModel","getClient","_client","Gateway","getGateway","getContractName","Contract","contractName","getContract","transaction","api","submit","transientData","endorsingOrganizations","gateway","contract","evaluate","proposalOptions","arguments","details","network","getNetwork","channel","chaincodeName","channelName","getConnection","pathOrCert","tlsCert","tlsCredentials","grpc","createSsl","peerEndpoint","sizeLimit","certCertOrDirectoryPath","keyCertOrDirectoryPath","pkcs11Signer","evaluateOptions","deadline","endorseOptions","submitOptions","commitStatusOptions","connect","Proxy","thisArg","argArray","Reflect","Dispatch","BadRequestError","QueryError","PagingError","MigrationError","ObserverError","ForbiddenError","ConnectionError","final","D","_a","decoration","setCurrent","FabricClientDispatch","listeningStack","parsePayload","jsonBytes","json","observe","observer","unObserve","refresh","handleEvents","ctxArg","correlationId","evt","eventName","payload","modelRef","getChaincodeEvents","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -17,6 +17,8 @@ const indexes_1 = require("./client/indexes/index.cjs");
17
17
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
18
18
  const cli_utils_1 = require("./cli-utils.cjs");
19
19
  require("./shared/overrides/index.cjs");
20
+ const index_1 = require("./client/collections/index.cjs");
21
+ const decoration_1 = require("@decaf-ts/decoration");
20
22
  const logger = logging_1.Logging.for("fabric");
21
23
  const compileCommand = new commander_1.Command()
22
24
  .name("compile-contract")
@@ -145,14 +147,32 @@ const extractCollections = new commander_1.Command()
145
147
  .option("--file [String]", "the model file")
146
148
  .option("--folder [String]", "the model folder")
147
149
  .option("--outDir <String>", "the outdir. should match your contract folder")
150
+ .option("--mspIds <String>", "single mspId or stringified array")
151
+ .option("--mainMspId <String>", "single mspId")
152
+ .option("--overrides [String]", "stringified override object {requiredPeerCount: number, maxPeerCount: number, blockToLive: number, memberOnlyRead: number, memberOnlyWrite: number, endorsementPolicy: {}}")
148
153
  .description("Creates a the JSON index files to be submitted to along with the contract")
149
154
  .action(async (options) => {
150
155
  const pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.join(process.cwd(), "package.json"), "utf-8"));
151
156
  const version = pkg.version;
152
- const log = logger.for("extract-indexes");
157
+ const log = logger.for("extract-collections");
153
158
  log.debug(`running with options: ${JSON.stringify(options)} for ${pkg.name} version ${version}`);
154
159
  // eslint-disable-next-line prefer-const
155
- let { file, folder, outDir } = options;
160
+ let { file, folder, outDir, mspIds, overrides, mainMspId } = options;
161
+ try {
162
+ try {
163
+ mspIds = mspIds ? JSON.parse(mspIds) : undefined;
164
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
165
+ }
166
+ catch (e) {
167
+ // do nothing
168
+ }
169
+ overrides = overrides
170
+ ? JSON.parse(overrides)
171
+ : { privateCols: {}, sharedCols: {} };
172
+ }
173
+ catch (e) {
174
+ throw new db_decorators_1.SerializationError(`Unable to extract mspids or overrides: ${e}`);
175
+ }
156
176
  const models = [];
157
177
  if (file) {
158
178
  models.push(...(0, indexes_1.readModelFile)(file));
@@ -161,17 +181,86 @@ const extractCollections = new commander_1.Command()
161
181
  log.info(`Loading models from ${folder}...`);
162
182
  models.push(...(await (0, indexes_1.readModelFolders)(folder)));
163
183
  }
164
- const result = {};
165
184
  if (!file && !folder)
166
185
  throw new db_decorators_1.InternalError(`Must pass a file or a folder`);
167
- const privateOrShared = models.filter((m) => decorator_validation_1.Model.isPrivate(m) || decorator_validation_1.Model.isShared(m));
168
- for (const m of privateOrShared) {
169
- log.verbose(`Extracting collections for table ${decorator_validation_1.Model.tableName(m)}`);
170
- (0, indexes_1.generateModelIndexes)(m, result);
186
+ const cols = await Promise.all(models.map(async (clazz) => {
187
+ const tableName = decorator_validation_1.Model.tableName(clazz);
188
+ const meta = decoration_1.Metadata.get(clazz);
189
+ const mirrorMeta = decorator_validation_1.Model.mirroredAt(clazz);
190
+ console.log(tableName);
191
+ const collections = {};
192
+ for (const msp of mspIds) {
193
+ collections[msp] = await (0, index_1.extractCollections)(clazz, [msp, mainMspId], {},
194
+ // {
195
+ // sharedCols: Object.assign({}, overrides.sharedCols),
196
+ // privateCols: Object.assign({}, overrides.privateCols),
197
+ // },
198
+ !!mirrorMeta);
199
+ }
200
+ let mirrorCollection = undefined;
201
+ if (mirrorMeta) {
202
+ collections[mainMspId] = collections[mainMspId] || {};
203
+ Object.keys(collections).forEach((msp) => {
204
+ collections[mainMspId].privates = collections[msp].privates?.filter((p) => {
205
+ if (p.name !== mirrorMeta.resolver)
206
+ return true;
207
+ mirrorCollection = p;
208
+ return false;
209
+ });
210
+ });
211
+ }
212
+ const privatesCount = Object.values(collections)
213
+ .map((c) => c.privates)
214
+ .flat().length;
215
+ if (privatesCount)
216
+ log
217
+ .for(decorator_validation_1.Model.tableName(clazz))
218
+ .info(`Found ${privatesCount} private collections to create`);
219
+ const sharedCount = Object.values(collections)
220
+ .map((c) => c.shared)
221
+ .flat().length;
222
+ log
223
+ .for(decorator_validation_1.Model.tableName(clazz))
224
+ .info(`Found ${sharedCount} shared collections to create`);
225
+ if (mirrorCollection)
226
+ log
227
+ .for(decorator_validation_1.Model.tableName(clazz))
228
+ .info(`Found one mirror collection ${mirrorMeta?.resolver}`);
229
+ const colList = Object.values(collections)
230
+ .map((c) => [...(c.privates || []), ...(c.shared || [])])
231
+ .flat();
232
+ let indexes;
233
+ if (colList.length) {
234
+ log
235
+ .for(decorator_validation_1.Model.tableName(clazz))
236
+ .verbose(`generating indexes for collections`);
237
+ indexes = (0, indexes_1.generateModelIndexes)(clazz);
238
+ log
239
+ .for(decorator_validation_1.Model.tableName(clazz))
240
+ .info(`found ${indexes.length} indexes`);
241
+ }
242
+ return {
243
+ indexes: indexes,
244
+ collections: colList,
245
+ mirror: mirrorCollection,
246
+ };
247
+ }));
248
+ const collectionsTo = [
249
+ ...cols.map((c) => c.collections).flat(),
250
+ ...cols.filter((c) => c.mirror).map((c) => c.mirror),
251
+ ];
252
+ if (collectionsTo.length) {
253
+ (0, index_1.writeCollections)(collectionsTo, outDir);
254
+ log.info(`Stored ${collectionsTo.length} collections to ${outDir}/collection_config.json`);
255
+ cols.forEach((c, i) => {
256
+ const { indexes, collections, mirror } = c;
257
+ const toIndex = [...collections, mirror].filter(Boolean);
258
+ toIndex.forEach((i) => {
259
+ (0, indexes_1.writeIndexes)(indexes, outDir, i.name);
260
+ log.info(`Stored ${toIndex.length} indexes to collection ${i.name}`);
261
+ });
262
+ });
171
263
  }
172
- log.verbose(`Found ${Object.keys(result).length} indexes to create`);
173
- log.debug(`Indexes: ${JSON.stringify(result)}`);
174
- (0, indexes_1.writeIndexes)(Object.values(result), outDir);
175
264
  });
176
265
  const ensureInfra = new commander_1.Command()
177
266
  .name("await-infra")
@@ -204,6 +293,7 @@ const deployContract = new commander_1.Command()
204
293
  const version = pkg.version;
205
294
  const log = logger.for("deploy-contract");
206
295
  log.debug(`running with options: ${JSON.stringify(options)} for ${pkg.name} version ${version}`);
296
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
207
297
  const { name, input, peers, trackerFolder, incrementVersion } = options;
208
298
  const peerIds = peers.split(",");
209
299
  const countPath = path_1.default.resolve(path_1.default.join(trackerFolder, `${name}.count`));
@@ -262,6 +352,7 @@ fabricCmd.addCommand(extractIndexes);
262
352
  fabricCmd.addCommand(ensureInfra);
263
353
  fabricCmd.addCommand(deployContract);
264
354
  fabricCmd.addCommand(getCryptoMaterial);
355
+ fabricCmd.addCommand(extractCollections);
265
356
  function fabric() {
266
357
  return fabricCmd;
267
358
  }