@decaf-ts/for-fabric 0.13.1 → 0.13.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.
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,i,a,n,o,s,c,l,d,u,h,g,p,f,y){"use strict";function m(e){var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var w=m(h),b=m(p);function E(e){const t=require("fs"),r=require("path").dirname(e);if(t.existsSync(r))return!0;E(r),t.mkdirSync(r)}function C(e){const r=require("path").resolve(e.parentPath,e.name),i=require(r);return Object.values(i).filter(e=>{try{return new e instanceof t.Model}catch{return!1}})}function A(e,t=process.cwd(),r){if(!e.length)return;const i=require("fs"),a=require("path");e.forEach(e=>{const n=e._id.replace(/^_design\//,""),o=a.resolve(a.join(t,`./META-INF/statedb/couchdb/${r?`collections/${r}/`:""}design_docs/${n}.json`));E(o);const s={...e};delete s._rev,i.writeFileSync(o,JSON.stringify(s,void 0,2))})}function v(e,t,r,i,a,n,o){return{name:e,policy:t,requiredPeerCount:r,maxPeerCount:i,blockToLive:a,memberOnlyRead:n,memberOnlyWrite:o}}function O(e,t=e+"Private",r=0,i=0,a=0,n=!0,o=!0){const s=v(t,`OR('${e}.member')`,r,i,a,n,o);return s.endorsementPolicy={signaturePolicy:`OR('${e}.peer')`},s}function S(e,t,r=1,i=2,a=0,n=!0,o=!0){const s=v(t,`OR(${e.map(e=>`'${e}.member'`).join(",")})`,r,i,a,n,o);return s.endorsementPolicy={signaturePolicy:`AND(${e.map(e=>`'${e}.peer'`).join(",")})`},s}class M extends a.Paginator{constructor(e,t,r,i){super(e,t,r,i)}prepare(e){throw new a.UnsupportedError("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}static isSerializedPage(e){return e&&"object"==typeof e&&Array.isArray(e.data)}}class I extends a.Repository{constructor(e,t,r=!1){super(e,t,r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0,allowGenerationOverride:!1,rebuildWithTransient:!1})}override(e){return super.override(Object.assign({},e,this._overrides)).for(e)}ObserverHandler(){return super.ObserverHandler()}async paginateBy(e,r,i={offset:1,limit:10},...n){const{log:o,ctxArgs:s}=(await this.logCtx(n,a.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);return o.verbose(`paginating ${t.Model.tableName(this.class)} with page size ${i.limit}`),this.statement(this.paginateBy.name,e,r,{limit:i.limit,offset:i.offset,bookmark:i.bookmark},...s)}async listBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return n.verbose(`listing ${t.Model.tableName(this.class)} by ${e} ${r}`),await this.statement(this.listBy.name,e,r,...o)}async findBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return n.verbose(`finding all ${t.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,...o)}async findOneBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return n.verbose(`finding One ${t.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,...o)}async find(e,r=a.OrderDirection.ASC,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND,!0)).for(this.find);return n.verbose(`finding ${t.Model.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,e,r,...o)}async page(e,r=a.OrderDirection.ASC,i={offset:1,limit:10},...n){const{log:o,ctxArgs:s}=(await this.logCtx(n,a.PreparedStatementKeys.PAGE,!0)).for(this.page);return o.verbose(`paging ${t.Model.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,e,r,i,...s)}async statement(e,...r){const{log:n,ctx:o,ctxArgs:s}=(await this.logCtx(r,a.PersistenceKeys.STATEMENT,!0)).for(this.statement);n.verbose("Executing prepared statement "+e);const c=s.slice(0,-1),l=JSON.parse(this.adapter.decode(await this.adapter.evaluateTransaction(o,a.PersistenceKeys.STATEMENT,[e,JSON.stringify(c)],void 0,void 0,this.class)));let d;return d=Array.isArray(l)?l.map(e=>e[i.CouchDBKeys.TABLE]&&e[i.CouchDBKeys.TABLE]===t.Model.tableName(this.class)?new this.class(e):e):l[i.CouchDBKeys.TABLE]&&l[i.CouchDBKeys.TABLE]===t.Model.tableName(this.class)?new this.class(l):M.isSerializedPage(l)?Object.assign(l,{data:l.data.map(e=>new this.class(e))}):l,this.applyAfterRead(d,o)}async applyAfterRead(e,i){return i.getOrUndefined("afterQueryHandlers")?e instanceof t.Model?(await r.enforceDBDecorators(this,i,e,r.OperationKeys.READ,r.OperationKeys.AFTER),e):Array.isArray(e)?(await Promise.all(e.map(e=>this.applyAfterRead(e,i))),e):M.isSerializedPage(e)?(await this.applyAfterRead(e.data,i),e):e:e}async countOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.COUNT_OF,!0)).for(this.countOf);i.verbose(`counting ${t.Model.tableName(this.class)}${e?" by "+e:""}`);const o=e?[e,...n]:n;return this.statement(a.PreparedStatementKeys.COUNT_OF,...o)}async maxOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.MAX_OF,!0)).for(this.maxOf);return i.verbose(`finding max of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.MAX_OF,e,...n)}async minOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.MIN_OF,!0)).for(this.minOf);return i.verbose(`finding min of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.MIN_OF,e,...n)}async avgOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.AVG_OF,!0)).for(this.avgOf);return i.verbose(`calculating avg of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.AVG_OF,e,...n)}async sumOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.SUM_OF,!0)).for(this.sumOf);return i.verbose(`calculating sum of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.SUM_OF,e,...n)}async distinctOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.DISTINCT_OF,!0)).for(this.distinctOf);return i.verbose(`finding distinct values of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.DISTINCT_OF,e,...n)}async groupOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.GROUP_OF,!0)).for(this.groupOf);return i.verbose(`grouping ${t.Model.tableName(this.class)} by ${e}`),this.statement(a.PreparedStatementKeys.GROUP_OF,e,...n)}async healthcheck(...e){const{ctxArgs:t}=this.logCtx(e,this.healthcheck);return await this.adapter.healthcheck(this.class,...t)}async create(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.create);a.debug(`Creating new ${this.class.name} in table ${t.Model.tableName(this.class)}`),this.ensureLegacyMirrorFlag(i,e);const o=this.adapter.prepare(e,i),{record:s,id:c,transient:l}=o,d=await this.adapter.create(this.class,c,s,l,...n);return this.adapter.revert(d,this.class,c,l,i)}async update(e,...r){const{ctxArgs:i,log:a,ctx:n}=this.logCtx(r,this.update);this.ensureLegacyMirrorFlag(n,e);const o=this.adapter.prepare(e,n),{id:s,transient:c}=o;let l=o.record;return a.debug(`updating ${this.class.name} in table ${t.Model.tableName(this.class)} with id ${s}`),l=await this.adapter.update(this.class,s,l,c,...i),this.adapter.revert(l,this.class,s,c,n)}async createAllPrefix(e,...t){const{ctx:i,ctxArgs:a}=(await this.logCtx(t,r.OperationKeys.CREATE,!0)).for(this.createAllPrefix),n=i.get("ignoreHandlers"),o=i.get("ignoreValidation");if(!e.length)return[e,...a];if(e=await Promise.all(e.map(async e=>(e=new this.class(e),n||await r.enforceDBDecorators(this,i,e,r.OperationKeys.CREATE,r.OperationKeys.ON),e))),!o){const t=i.get("ignoredValidationProperties")||[],a=await Promise.all(e.map(e=>Promise.resolve(e.hasErrors(...t)))),n=r.reduceErrorsToPrint(a);if(n)throw new r.ValidationError(n)}return[e,...a]}async createAll(e,...r){if(!e.length)return e;const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.createAll);a.debug(`Creating ${e.length} new ${this.class.name} in table ${t.Model.tableName(this.class)}`),e.forEach(e=>this.ensureLegacyMirrorFlag(i,e));const o=e.map(e=>this.adapter.prepare(e,i)),s=o.map(e=>e.id),c=o.map(e=>e.record),l=o.map(e=>e.transient),d=await this.adapter.createAll(this.class,s,c,l,...n);return Promise.all(d.map(async(e,t)=>{const r=s[t];return this.adapter.revert(e,this.class,r,l[t],i)}))}async readAll(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.readAll);return a.debug(`reading ${e.length} ${this.class.name} in table ${t.Model.tableName(this.class)}`),(await this.adapter.readAll(this.class,e,...n)).map((t,r)=>this.adapter.revert(t,this.class,e[r],{},i))}async updateAll(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.updateAll);a.debug(`Updating ${e.length} new ${this.class.name} in table ${t.Model.tableName(this.class)}`),e.forEach(e=>this.ensureLegacyMirrorFlag(i,e));const o=e.map(e=>this.adapter.prepare(e,i)),s=o.map(e=>e.id),c=await this.adapter.updateAll(this.class,s,o.map(e=>e.record),o.map(e=>e.transient),...n);return Promise.all(c.map(async(e,t)=>{const r=s[t];return this.adapter.revert(e,this.class,r,o[t].transient,i)}))}ensureLegacyMirrorFlag(e,r){t.Model.mirroredAt(r)&&e.accumulate({legacy:!0})}}let _=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),n.__metadata("design:type",String)],_.prototype,"name",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],_.prototype,"owner",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],_.prototype,"symbol",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],_.prototype,"decimals",void 0),_=n.__decorate([a.table("erc20_tokens"),t.model(),n.__metadata("design:paramtypes",[Object])],_);let x=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),n.__metadata("design:type",String)],x.prototype,"id",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],x.prototype,"token",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],x.prototype,"balance",void 0),n.__decorate([a.column(),n.__metadata("design:type",String)],x.prototype,"captive",void 0),x=n.__decorate([a.table("erc20_wallets"),t.model(),n.__metadata("design:paramtypes",[Object])],x);let T=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),a.column(),t.required(),n.__metadata("design:type",String)],T.prototype,"owner",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],T.prototype,"spender",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],T.prototype,"value",void 0),T=n.__decorate([a.table("erc20_allowances"),t.model(),n.__metadata("design:paramtypes",[Object])],T);class N extends t.JSONSerializer{constructor(){super()}preSerialize(e,i){const a=Object.assign({},e);let n=o.Metadata.modelName(e.constructor);if(!n||"Object"===n){if(!i)throw new r.SerializationError("Could not find metadata for "+e.constructor.name);n=i}return a[t.ModelKeys.ANCHOR]=n,a}deserialize(e){const r=JSON.parse(e),i=r[t.ModelKeys.ANCHOR];if(!i)throw Error("Could not find class reference in serialized model");return t.Model.build(r,i)}serialize(e,t){return JSON.stringify(this.preSerialize(e,t))}}class F extends I{static{this.serializer=new N}static{this.decoder=new TextDecoder("utf8")}async updateObservers(e,i,n,...o){if(!this.observerHandler)throw new r.InternalError("ObserverHandler not initialized. Did you register any observables?");const{log:s,ctxArgs:c}=this.logCtx(o,this.updateObservers);let l;s.verbose(`Updating ${this.observerHandler.count()} observers for ${this}`),e="string"==typeof e?t.Model.get(e):e,l=void 0===n?void 0:Array.isArray(n)?n.map(r=>a.Sequence.parseValue(t.Model.sequenceFor(e).type,r)):a.Sequence.parseValue(t.Model.sequenceFor(e).type,n),await this.observerHandler.updateObservers(e,i,l,...c)}decode(e){return F.decoder.decode(e)}constructor(e){super(e,x),this.serializer=F.serializer}async tokenName(...e){const{ctx:t}=(await this.logCtx(e,"tokenName",!0)).for(this.tokenName),r=await this.adapter.evaluateTransaction(t,"TokenName");return this.decode(r)}async symbol(...e){const{ctx:t}=(await this.logCtx(e,"symbol",!0)).for(this.symbol),r=await this.adapter.evaluateTransaction(t,"Symbol");return this.decode(r)}async decimals(...e){const{ctx:t}=(await this.logCtx(e,"decimals",!0)).for(this.decimals),r=await this.adapter.evaluateTransaction(t,"Decimals");return Number(this.decode(r))}async totalSupply(...e){const{ctx:t}=(await this.logCtx(e,"totalSupply",!0)).for(this.totalSupply),r=await this.adapter.evaluateTransaction(t,"TotalSupply");return Number(this.decode(r))}async balanceOf(e,...t){const{ctx:r}=(await this.logCtx(t,"balance",!0)).for(this.balanceOf),i=await this.adapter.evaluateTransaction(r,"BalanceOf",[e]);return Number(this.decode(i))}async transfer(e,t,...r){const{ctx:i}=(await this.logCtx(r,"transfer",!0)).for(this.transfer),a=await this.adapter.submitTransaction(i,"Transfer",[e,t.toString()]);return"true"===this.decode(a)}async transferFrom(e,t,r){const i=await a.Context.args("transferFrom",this.class,[],this.adapter,this._overrides||{}),{ctx:n}=this.logCtx(i.args,this.transferFrom),o=await this.adapter.submitTransaction(n,"TransferFrom",[e,t,r.toString()]);return"true"===this.decode(o)}async approve(e,t){const r=await a.Context.args("approve",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.approve),n=await this.adapter.submitTransaction(i,"Approve",[e,t.toString()]);return"true"===this.decode(n)}async allowance(e,t){const r=await a.Context.args("allowance",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.allowance),n=await this.adapter.submitTransaction(i,"Allowance",[e,t]);return Number(this.decode(n))}async initialize(e){const t=await a.Context.args("initialize",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.initialize),i=await this.adapter.submitTransaction(r,"Initialize",[F.serializer.serialize(e)]);return"true"===this.decode(i)}async checkInitialized(){const e=await a.Context.args("checkInitialized",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.checkInitialized);await this.adapter.evaluateTransaction(t,"CheckInitialized")}async mint(e){const t=await a.Context.args("mint",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.mint);await this.adapter.submitTransaction(r,"Mint",[e.toString()])}async burn(e){const t=await a.Context.args("burn",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.burn);await this.adapter.submitTransaction(r,"Burn",[e.toString()])}async burnFrom(e,t){const r=await a.Context.args("burnFrom",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.burnFrom);await this.adapter.submitTransaction(i,"BurnFrom",[e,t.toString()])}async clientAccountBalance(){const e=await a.Context.args("accountBalance",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.clientAccountBalance),r=await this.adapter.evaluateTransaction(t,"ClientAccountBalance");return Number(this.decode(r))}async clientAccountID(){const e=await a.Context.args("accountId",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.clientAccountID),r=await this.adapter.evaluateTransaction(t,"ClientAccountID");return this.decode(r)}}function R(e,i,a){let n,o,s;function c(i,a){if(n=n||t.Model.pk(e),s=s||t.Model.sequenceFor(e),o=o||t.Model.composed(e,n),o)return r.composeAttributeValue(i,o);const c=i[n]||a;if(void 0===c)throw new r.InternalError("could not rebuild id for "+i.constructor.name);return c}if(Array.isArray(i)){if(!Array.isArray(a)||a.length!==i.length)throw new r.InternalError("inconsistent parameters. both must be arrays of equal length");return i.map((e,t)=>c(e,a[t]))}return c(i,a)}var P;e.IdentityCredentials=class extends a.BaseModel{constructor(e){super(e)}},n.__decorate([o.description("Unique identifier of the credentials record"),a.column(),a.pk(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"id",void 0),n.__decorate([o.description("PEM-encoded X.509 certificate for the identity"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"certificate",void 0),n.__decorate([o.description("PEM-encoded root or intermediate certificate"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"rootCertificate",void 0),n.__decorate([o.description("PEM-encoded private key"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"privateKey",void 0),e.IdentityCredentials=n.__decorate([t.model(),n.__metadata("design:paramtypes",[Object])],e.IdentityCredentials),e.FabricModelKeys=void 0,(P=e.FabricModelKeys||(e.FabricModelKeys={})).PRIVATE="private",P.SHARED="shared",P.FABRIC="fabric",P.OWNED_BY="owned-by",P.TRANSACTION_ID="transaction-id",P.MIRROR="mirror",P.CONTRACT="fabric.contract",P.CHAINCODE="fabric.chaincode",P.CHANNEL="fabric.channel",P.OVERRIDES="__overrides",e.IdentityType=void 0,(e.IdentityType||(e.IdentityType={})).X509="X.509";const $="hlf-fabric";e.Identity=class extends a.BaseModel{constructor(t){super(t),this.type=e.IdentityType.X509}},n.__decorate([o.description("Unique identifier of the identity"),a.pk(),n.__metadata("design:type",String)],e.Identity.prototype,"id",void 0),n.__decorate([a.oneToOne(e.IdentityCredentials,{update:a.Cascade.CASCADE,delete:a.Cascade.CASCADE}),n.__metadata("design:type",e.IdentityCredentials)],e.Identity.prototype,"credentials",void 0),n.__decorate([a.column(),t.required(),a.index(),n.__metadata("design:type",String)],e.Identity.prototype,"mspId",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],e.Identity.prototype,"type",void 0),e.Identity=n.__decorate([t.model(),n.__metadata("design:paramtypes",[Object])],e.Identity);class B{static{this.logger=new c.MiniLogger(B.name)}constructor(){}static async contentOfLoadFile(e,t){return e instanceof Uint8Array||e.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms)?e:await t(e)}static async readFile(e){return"string"!=typeof e?e:await(async e=>{const{promises:t}=await a.normalizeImport(import("fs"));return await t.readFile(e)})(e)}static async getCAUser(e,r,i,a,n){this.logger.debug(t.stringFormat("Creating CA {0} user {1} with certificate {2}",a,e,i));const o=new d.User(e),s=n?.hsm?{software:!1,lib:n.hsm.library,slot:n.hsm.slot,label:n.hsm.tokenLabel,pin:n.hsm.pin+""}:void 0,c=this.getCryptoSuite(s);o.setCryptoSuite(c);const l=n?.hsm?await this.getHSMEnrollmentKey(c,i,n.hsm):this.getSoftwareEnrollmentKey(c,r);return await o.setEnrollment(l,i,a),o}static getCryptoSuite(e){return e?(B.cryptoSuite||(B.cryptoSuite=d.User.newCryptoSuite(e)),B.cryptoSuite):d.User.newCryptoSuite()}static getSoftwareEnrollmentKey(e,t){if(!t)throw Error("Private key must be provided when HSM configuration is not supplied");return e.createKeyFromRaw(t)}static async getHSMEnrollmentKey(e,t,r){const i=r.keyIdHex&&r.keyIdHex.trim().length>0?Buffer.from(r.keyIdHex,"hex"):await this.getCertificateSKI(t),a=await e.getKey(i);if(!a||"function"==typeof a.isPrivate&&!a.isPrivate())throw Error("Unable to resolve private key from HSM");return a}static async getCertificateSKI(e){const t=new u.X509Certificate(e).publicKey.export({format:"jwk"}),r=Buffer.from([4]),i=Buffer.from(t.x||"","base64url"),a=Buffer.from(t.y||"","base64url");return u.createHash("sha256").update(Buffer.concat([r,i,a])).digest()}static async getIdentity(e,t){return{mspId:e,credentials:await this.contentOfLoadFile(t,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await this.getFirstDirFileName(e);return await t.readFile(r)})}}static async getFirstDirFileName(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path"));return r(e,(await t.readdir(e))[0])}static async getFirstDirFileNameContent(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path")),i=await t.readdir(e);return(await t.readFile(r(e,i[0]))).toString()}static async getFileContent(e){const{promises:t}=await a.normalizeImport(import("fs"));return(await t.readFile(e)).toString()}static async getSigner(e){const t=await this.contentOfLoadFile(e,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await this.getFirstDirFileName(e);return await t.readFile(r)}),r=await this.extractPrivateKey(t),i=r[Object.getOwnPropertySymbols(r)[0]];return l.signers.newPrivateKeySigner(i)}static async extractPrivateKey(e){let t;if(globalThis.window&&globalThis.window.Crypto)t=globalThis.Crypto.subtle;else{const e=await a.normalizeImport(import("crypto"));t=e.subtle||e.webcrypto.subtle}if(!t)throw Error("Could not load SubtleCrypto module");const r=e.toString("utf8").replace("-----BEGIN PRIVATE KEY-----","").replaceAll("\n","").replace("-----END PRIVATE KEY-----",""),i=(e=>{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t})(Buffer.from(r,"base64").toString("binary"));return await t.importKey("pkcs8",i,{name:"ECDSA",namedCurve:"P-256"},!0,["sign"])}}function K(e){const t=new h.X509Certificate(e),r=t.extensions?.find(e=>"2.5.29.35"===e.type);if(!r)throw Error("Authority Key Identifier (AKI) extension not found in certificate.");let i=Buffer.from(new Uint8Array(r.value)).toString("hex").toUpperCase();return i.startsWith("30168014")&&i.length>=48&&(i=i.slice(8,48)),{aki:i,serial:t.serialNumber}}const k=new g.Crypto;var L,z,j,U,H;w.cryptoProvider.set(k),e.BASE_ALPHABET=void 0,(L=e.BASE_ALPHABET||(e.BASE_ALPHABET={})).BASE2="01",L.BASE8="01234567",L.BASE11="0123456789a",L.BASE16="0123456789abcdef",L.BASE32="0123456789ABCDEFGHJKMNPQRSTVWXYZ",L.BASE32_Z="ybndrfg8ejkmcpqxot1uwisza345h769",L.BASE36="0123456789abcdefghijklmnopqrstuvwxyz",L.BASE58="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",L.BASE62="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",L.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L.BASE67="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~",e.CRYPTO=void 0,(z=e.CRYPTO||(e.CRYPTO={})).HASH="SHA-256",z[z.ITERATIONS=1e3]="ITERATIONS",z[z.KEYLENGTH=48]="KEYLENGTH",z[z.DERIVED_IV_LENGTH=16]="DERIVED_IV_LENGTH",z[z.DERIVED_KEY_LENGTH=32]="DERIVED_KEY_LENGTH",z.ALGORYTHM="AES-GCM",z.KEY_ALGORYTHM="PBKDF2";class G{constructor(e){if(this.alphabet=e,this.baseMap=new Uint8Array(256),this.alphabet.length>=255)throw Error("Alphabet too long");for(let e=0;e<this.baseMap.length;e++)this.baseMap[e]=255;for(let t=0;t<e.length;t++){const r=e.charAt(t),i=r.charCodeAt(0);if(255!==this.baseMap[i])throw Error(r+" is ambiguous");this.baseMap[i]=t}this.base=this.alphabet.length,this.leader=this.alphabet.charAt(0),this.factor=Math.log(this.base)/Math.log(256),this.iFactor=Math.log(256)/Math.log(this.base)}encode(e){if("string"==typeof e?e=Buffer.from(e):ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e)),0===e.length)return"";let t=0,r=0,i=0;const a=e.length;for(;i!==a&&0===e[i];)i++,t++;const n=(a-i)*this.iFactor+1>>>0,o=new Uint8Array(n);for(;i!==a;){let t=e[i],a=0;for(let e=n-1;(0!==t||r>a)&&-1!==e;e--,a++)t+=256*o[e]>>>0,o[e]=t%this.base>>>0,t=t/this.base>>>0;if(0!==t)throw Error("Non-zero carry");r=a,i++}let s=n-r;for(;s!==n&&0===o[s];)s++;let c=this.leader.repeat(t);for(;n>s;++s)c+=this.alphabet.charAt(o[s]);return c}decodeUnsafe(e){if(0===e.length)return new Uint8Array(0);let t=0,r=0,i=0;for(;e[t]===this.leader;)r++,t++;const a=(e.length-t)*this.factor+1>>>0,n=new Uint8Array(a);for(;e[t];){let r=this.baseMap[e.charCodeAt(t)];if(255===r)return;let o=0;for(let e=a-1;(0!==r||i>o)&&-1!==e;e--,o++)r+=this.base*n[e]>>>0,n[e]=r%256>>>0,r=r/256>>>0;if(0!==r)throw Error("Non-zero carry");i=o,t++}let o=a-i;for(;o!==a&&0===n[o];)o++;const s=new Uint8Array(r+(a-o));let c=r;for(;o!==a;)s[c++]=n[o++];return s}decode(e){const t=this.decodeUnsafe(e);if(t)return t;throw Error("Non-base"+this.base+" character")}}class q{static{this.b58encoder=new G(e.BASE_ALPHABET.BASE58)}static{this.logger=new c.MiniLogger(q.name)}constructor(){}static fabricIdFromCertificate(e){this.logger.debug(t.stringFormat("Parsing certificate: {0}",e));const r=new w.X509Certificate(e),{subject:i,issuer:a}=r;return this.logger.debug(t.stringFormat("Certificate parsed with subject {0} and issuer {1}",i,a)),`x509::/${i.replaceAll(", ","/")}::/${a.replaceAll(", ","/")}`}static encode(e){return this.b58encoder.encode(e)}static decode(e){const t=this.b58encoder.decode(e);return(new TextDecoder).decode(t)}static stringToArrayBuffer(e){const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t}static async extractKey(e,t,r){const i=k.subtle,a=t.toString("utf8").replace(RegExp(`-----BEGIN (${e.toUpperCase()} KEY|CERTIFICATE)-----`),"").replaceAll("\n","").replace(RegExp(`-----END (${e.toUpperCase()} KEY|CERTIFICATE)-----`),""),n=Buffer.from(a,"base64").toString("binary"),o=this.stringToArrayBuffer(n);return await i.importKey("pkcs8",o,{name:"ECDSA",namedCurve:"P-256"},!0,r||["sign"])}static async extractPrivateKey(e,t){return this.extractKey("private",e,t)}static async extractPublicKey(e,t){return this.extractKey("public",e,t)}static async sign(e,t){const r=await this.extractPrivateKey(e),i=await k.subtle.sign({name:"ECDSA",hash:"SHA-256"},r,t);return Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,"0")).join("")}static async verify(e,t,r){const i=new w.X509Certificate(e),a=await i.publicKey.export();return t="string"==typeof t?Buffer.from(t,"hex"):t,r="string"==typeof r?Buffer.from(r):r,k.subtle.verify({name:"ECDSA",hash:"SHA-256"},a,t,r)}static async encrypt(e,t){const r=new w.X509Certificate(e),i=await r.publicKey.export();t="string"==typeof t?Buffer.from(t):t;const a=await this.getSubtleCrypto().encrypt({name:"ECDSA"},i,t);return Array.from(new Uint8Array(a)).map(e=>e.toString(16).padStart(2,"0")).join("")}static getSubtleCrypto(){return c.isBrowser()?globalThis.window.crypto.subtle:k.subtle}static async decrypt(e,t){const r=await this.extractPrivateKey(e);return t="string"==typeof t?Buffer.from(t,"hex"):t,this.getSubtleCrypto().decrypt({name:"ECDSA"},r,t)}static async getMaster(t){const r=new TextEncoder;if(void 0===t){const e=k.randomUUID();t=r.encode(e).buffer}return{key:await this.getSubtleCrypto().importKey("raw",t,e.CRYPTO.KEY_ALGORYTHM,!1,["deriveBits"]),iv:t}}static async getDerivationKey(t,r){const i=(new TextEncoder).encode(t),a=await this.getSubtleCrypto().digest("SHA-256",i),n={name:e.CRYPTO.KEY_ALGORYTHM,hash:e.CRYPTO.HASH,salt:a,iterations:e.CRYPTO.ITERATIONS},o=await this.getSubtleCrypto().deriveBits(n,r,8*e.CRYPTO.KEYLENGTH);return this.getKey(o)}static async getKey(t){const r=t.slice(0,32),i=t.slice(32);return{key:await this.getSubtleCrypto().importKey("raw",r,{name:e.CRYPTO.ALGORYTHM},!1,["encrypt","decrypt"]),iv:i}}static async encryptPin(t,r){const i=(new TextEncoder).encode(t);return await this.getSubtleCrypto().encrypt({name:e.CRYPTO.ALGORYTHM,iv:r.iv},r.key,i)}static async decryptPin(t,r){const i=new TextDecoder,a=await this.getSubtleCrypto().decrypt({name:e.CRYPTO.ALGORYTHM,iv:r.iv},r.key,t);return i.decode(a)}}class V extends r.InternalError{constructor(e){super(e,V.name)}}class Y extends r.InternalError{constructor(e){super(e,Y.name)}}class J extends r.InternalError{constructor(e){super(e,J.name)}}class W extends a.AuthorizationError{constructor(e){super(e,W.name)}}class Q extends r.InternalError{constructor(e){super(e,Q.name,500)}}class X extends r.BaseError{constructor(e="MISSING_PRIVATE_DATA_ERROR_MESSAGE"){super(X.name,e,403)}}class Z extends r.BaseError{constructor(e){super(Z.name,e,409)}}class ee extends r.InternalError{constructor(e){super(e,ee.name,500)}}class te extends r.InternalError{constructor(e){super(e,te.name,500)}}class re extends r.InternalError{constructor(e){super(e,re.name,500)}}class ie extends r.InternalError{constructor(e){super(e,ie.name,500)}}class ae extends r.InternalError{constructor(e){super(e,ae.name,500)}}class ne extends r.InternalError{constructor(e,t=ne.name,r=590){super(e,t,r)}}class oe extends r.InternalError{constructor(e){super(e,oe.name,591)}}class se extends r.InternalError{constructor(e){super(e,se.name,592)}}e.HFCAIdentityType=void 0,(j=e.HFCAIdentityType||(e.HFCAIdentityType={})).PEER="peer",j.ORDERER="orderer",j.CLIENT="client",j.USER="user",j.ADMIN="admin",e.HFCAIdentityAttributes=void 0,(U=e.HFCAIdentityAttributes||(e.HFCAIdentityAttributes={})).HFREGISTRARROLES="hf.Registrar.Roles",U.HFREGISTRARDELEGATEROLES="hf.Registrar.DelegateRoles",U.HFREGISTRARATTRIBUTES="hf.Registrar.Attributes",U.HFINTERMEDIATECA="hf.IntermediateCA",U.HFREVOKER="hf.Revoker",U.HFAFFILIATIONMGR="hf.AffiliationMgr",U.HFGENCRL="hf.GenCRL";class ce extends c.LoggedClass{constructor(e){B.getCryptoSuite(e.hsm?{software:!1,lib:e.hsm.library,slot:e.hsm.slot,label:e.hsm.tokenLabel,pin:e.hsm.pin+""}:void 0),super(),this.caConfig=e}async User(){if(this.user)return this.user;const{caName:e,caCert:t,caKey:i,url:a,hsm:n}=this.caConfig,o=this.log.for(this.User);o.debug(`Creating CA user for ${e} at ${a}`),o.debug("Retrieving CA certificate from "+t);const s=await B.getFirstDirFileNameContent(t);let c;if(n)o.debug(`Using HSM configuration for CA ${e} with library ${n.library}`);else{if(!i)throw new r.InternalError(`Missing caKey configuration for CA ${e}. Provide a key directory or configure HSM support.`);o.debug("Retrieving CA key from "+i),c=await B.getFirstDirFileNameContent(i)}return o.debug("Loading Admin user for ca "+e),this.user=await B.getCAUser("admin",c,s,e,{hsm:n}),this.user}async CA(){if(this.ca)return this.ca;const e=this.log.for(this.CA),{url:t,tls:r,caName:i}=this.caConfig;let{trustedRoots:a,verify:n}=r;const o=a[0];e.debug(`Retrieving CA certificate from ${o}. cwd: ${process.cwd()}`);const c=await B.getFileContent(o);return e.debug(`Creating CA Client for CA ${i} under ${t}`),this.ca=new s(t,{trustedRoots:Buffer.from(c),verify:n},i),this.ca}async Client(){if(this.client)return this.client;const e=await this.CA();return this.client=e._FabricCAServices,this.client}async Certificate(){return this.certificateService||(this.certificateService=(await this.Client()).newCertificateService()),this.certificateService}async Affiliations(){return this.affiliationService||(this.affiliationService=(await this.CA()).newAffiliationService()),this.affiliationService}async Identities(){return this.identityService||(this.identityService=(await this.CA()).newIdentityService()),this.identityService}async getCertificates(e,t=!0){const r=await this.Certificate(),i=await this.User(),a=this.log.for(this.getCertificates);a.debug(`Retrieving certificates${e?" for "+e.id:""} for CA ${this.caConfig.caName}`);const n=(await r.getCertificates(e||{},i)).result;return a.debug(`Found ${n.certs.length} certificates: ${JSON.stringify(n)}`),t?n.certs.map(e=>e.PEM):n}async getIdentities(){const e=await this.Identities(),t=this.log.for(this.getIdentities);t.debug("Retrieving Identities under CA "+this.caConfig.caName);const r=(await e.getAll(await this.User())).result;return t.debug(`Found ${r.identities.length} Identities: ${JSON.stringify(r)}`),r.identities}parseError(e){const t=/.*code:\s(\d+).*?message:\s["'](.+)["']/gs.exec(e.message);if(!t)return new W(e);const[,i,n]=t;switch(i){case"74":case"71":return new r.ConflictError(n);case"20":return new a.AuthorizationError(n);default:return new W(n)}}async getAffiliations(){const e=await this.Affiliations(),t=this.log.for(this.getAffiliations);t.debug("Retrieving Affiliations under CA "+this.caConfig.caName);const r=(await e.getAll(await this.User())).result;return t.debug(`Found ${r.a.length} Affiliations: ${JSON.stringify(r)}`),r}async read(e){const t=await this.CA(),i=await this.User();let a;try{a=await t.newIdentityService().getOne(e,i)}catch(t){throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${t}`)}if(!a.success)throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${a.errors.join("\n")}`);return a.result}async register(e,t=!1,r="",i,a,n){let o;const s=this.log.for(this.register);try{const{userName:c,password:l}=e,d=await this.CA(),u=await this.User(),h={enrollmentID:c,enrollmentSecret:l,affiliation:r,userRole:i,attrs:a,maxEnrollments:n};o=await d.register(h,u),s.info(`Registration for ${c} created with user type ${i??"Undefined Role"} ${t?"as super user":""}`)}catch(e){throw this.parseError(e)}return o}static identityFromEnrollment(t,r){const{certificate:i,key:a,rootCertificate:n}=t,o=c.Logging.for(ce,{}).for(this.identityFromEnrollment);o.debug(`Generating Identity from certificate ${i} in msp ${r}`);const s=q.fabricIdFromCertificate(i),l=q.encode(s);o.debug(`Identity ${s} and encodedId ${l}`);const d=new Date;return new e.Identity({id:l,credentials:{id:l,certificate:i,privateKey:a.toBytes(),rootCertificate:n,createdOn:d,updatedOn:d},mspId:r,createdOn:d,updatedOn:d})}async enroll(e,t){let r;const i=this.log.for(this.enroll);try{const a=await this.CA();i.debug("Enrolling "+e);const n=await a.enroll({enrollmentID:e,enrollmentSecret:t});r=ce.identityFromEnrollment(n,this.caConfig.caName),i.info(`Successfully enrolled ${e} under ${this.caConfig.caName} as ${r.id}`)}catch(e){throw this.parseError(e)}return r}async registerAndEnroll(e,t=!1,r="",i,a,n){const o=await this.register(e,t,r,i,a,n),{userName:s}=e;return this.enroll(s,o)}async revoke(e){const t=await this.CA(),i=await this.User(),a=await this.read(e);if(!a)throw new r.NotFoundError("Could not find enrollment with id "+e);let n;try{n=await t.revoke({enrollmentID:a.id,reason:"User Deletation"},i)}catch(t){throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${t}`)}if(!n.success)throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${n.errors.join("\n")}`);return n}}class le extends t.Model{constructor(){super(...arguments),this.affiliation=""}build(){const e=this.hasErrors();if(e)throw new r.ValidationError(e.toString());const t={enrollmentID:this.enrollmentID,enrollmentSecret:this.enrollmentSecret,role:this.role,affiliation:this.affiliation};return void 0!==this.maxEnrollments&&(t.maxEnrollments=this.maxEnrollments),this.attrs&&(t.attrs=this.attrs),t}setAffiliation(e){return this.affiliation=e,this}addAttr(e){return this.attrs=this.attrs||[],this.attrs.push(e),this}setAttrs(e){return this.attrs=e,this}setEnrollmentID(e){return this.enrollmentID=e,this}setEnrollmentSecret(e){return this.enrollmentSecret=e,this}setMaxEnrollments(e){return this.maxEnrollments=e,this}setRole(e){return this.role=e,this}}n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"affiliation",void 0),n.__decorate([t.minlength(1),n.__metadata("design:type",Array)],le.prototype,"attrs",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"enrollmentID",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"enrollmentSecret",void 0),n.__decorate([t.min(0),n.__metadata("design:type",Number)],le.prototype,"maxEnrollments",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"role",void 0),t.Model.prototype.isShared=function(){return t.Model.isShared(this.constructor)},t.Model.prototype.isPrivate=function(){return t.Model.isPrivate(this.constructor)},t.Model.prototype.segregate=function(){return t.Model.segregate(this)},t.Model.segregate=(i=>{if(!t.Model.isTransient(i))return{model:i};const a=o.Metadata.getAttributes(i.constructor)||[],n=o.Metadata.get(i.constructor,r.DBKeys.TRANSIENT),s=o.Metadata.get(i.constructor,e.FabricModelKeys.PRIVATE),c=o.Metadata.get(i.constructor,e.FabricModelKeys.SHARED),l={model:{},public:{},transient:{},privates:{},shared:{}},d=Object.keys(n||{}),u=Object.keys(s||{}),h=Object.keys(c||{});for(const e of a){const t=i[e],r=d.includes(e),a=!r,n=u.includes(e),o=h.includes(e);(r||n||o)&&(l.transient=l.transient||{},l.transient[e]=t),n&&(l.privates=l.privates||{},l.privates[e]=t),o&&(l.shared=l.shared||{},l.shared[e]=t),a&&(l.public=l.public||{},l.public[e]=t)}return l.model=t.Model.build(l.public,i.constructor.name),l}).bind(t.Model),t.Model.isPrivate=(t=>!!o.Metadata.get("function"!=typeof t?t.constructor:t,e.FabricModelKeys.PRIVATE)).bind(t.Model),t.Model.isShared=(t=>!!o.Metadata.get("function"!=typeof t?t.constructor:t,e.FabricModelKeys.SHARED)).bind(t.Model),t.Model.mirrored=(t=>o.Metadata.get("function"!=typeof t?t.constructor:t,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR))).bind(t.Model),t.Model.ownerOf=(t=>{const r=o.Metadata.get(t.constructor,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.OWNED_BY));if(r)return t[r]}).bind(t.Model),t.Model.mirroredAt=(t=>(t="function"!=typeof t?t.constructor:t,o.Metadata.get(t,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR)))).bind(t.Model),t.Model.collectionsFor=(t=>{const r=[e.FabricModelKeys.PRIVATE],i=[e.FabricModelKeys.SHARED],a=o.Metadata.key(...r),n=o.Metadata.key(...i),s="function"==typeof t?t:t.constructor,c=o.Metadata.get(s,a),l=o.Metadata.get(s,n);return{privateCols:c?.collections||[],sharedCols:l?.collections||[]}}).bind(t.Model),t.Model.chaincodeOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CHAINCODE);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),t.Model.contractOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CONTRACT);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),t.Model.channelOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CHANNEL);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),e.ERC20Events=void 0,(H=e.ERC20Events||(e.ERC20Events={})).TRANSFER="Transfer",H.APPROVAL="Approval",e.FabricBaseModel=class extends t.Model{constructor(e){super(e)}},n.__decorate([o.description("Stores the original timestamp of creation"),a.column(),a.createdAt(),n.__metadata("design:type",Date)],e.FabricBaseModel.prototype,"createdAt",void 0),n.__decorate([o.description("Stores the timestamp of the last update"),a.column(),a.updatedAt(),n.__metadata("design:type",Date)],e.FabricBaseModel.prototype,"updatedAt",void 0),n.__decorate([o.description("Stores the version of the model"),a.column(),r.version(),n.__metadata("design:type",Number)],e.FabricBaseModel.prototype,"version",void 0),e.FabricBaseModel=n.__decorate([o.uses($),n.__metadata("design:paramtypes",[Object])],e.FabricBaseModel),e.FabricIdentifiedBaseModel=class extends e.FabricBaseModel{constructor(e){super(e)}},n.__decorate([o.description("Stores the creator"),a.column(),a.createdBy(),n.__metadata("design:type",String)],e.FabricIdentifiedBaseModel.prototype,"createdBy",void 0),n.__decorate([o.description("Stores the user that last updated the model"),a.column(),a.updatedBy(),n.__metadata("design:type",String)],e.FabricIdentifiedBaseModel.prototype,"updatedBy",void 0),e.FabricIdentifiedBaseModel=n.__decorate([o.uses($),n.__metadata("design:paramtypes",[Object])],e.FabricIdentifiedBaseModel);const de=(e,...t)=>e.name+"Contract";function ue(e){if(e)return"string"==typeof e?e:e.getMSPID()}async function he(e,t,r,i){const{stub:a}=e,n=e.getOrUndefined("allowGenerationOverride")||!1;let o=(await a.getCreator()).mspid;e.logger.info(`Expected mspid to be ${i[r]} | ${o}. \n Using allowGenerationOverride: ${n}`),n&&(o=i[r]?i[r]:o),Object.defineProperty(i,r,{enumerable:!0,writable:!1,configurable:!0,value:o})}async function ge(e,t,r,i){const{stub:a}=e;i[r]=a.getTxID()}async function pe(e,i,a){let n=i;if("string"!=typeof n)try{const r=t.Model.ownerOf(e)||a.get("stub").getCreator().toString();i&&"function"==typeof i&&(n=await i(e,r,a))}catch(e){throw new r.InternalError("Failed to resolve collection mirror name: "+e)}if(!n||"string"!=typeof n)throw new r.InternalError("No collection found model "+e.constructor.name);return n}async function fe(e,r,i,a){const n=await pe(a,r.resolver,e),o=e,s=a;o.put("mirror",!0),o.put("mirrorCollection",n);try{const r=this.override(Object.assign({},this._overrides,{mirror:!0,mirrorCollection:n,ignoreValidation:!0,ignoreHandlers:!0})),i=await r.create(s,e);e.logger.info(`Mirror for ${t.Model.tableName(this.class)} created with ${t.Model.pk(a)}: ${i[t.Model.pk(a)]}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0)}}async function ye(e,r,i,a){const n=await pe(a,r.resolver,e),o=e,s=a;o.put("mirror",!0),o.put("mirrorCollection",n);try{const r=this.override(Object.assign({},this._overrides,{mirror:!0,mirrorCollection:n,ignoreValidation:!0,ignoreHandlers:!0,applyUpdateValidation:!1,mergeForUpdate:!1}));await r.update(s,e),e.logger.info(`Mirror for ${t.Model.tableName(this.class)} updated: ${a[t.Model.pk(a)]}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0)}}async function me(e,r,i,a){const n=await pe(a,r.resolver,e),o=e;o.put("mirror",!0),o.put("mirrorCollection",n),o.put("segregated",n);try{const r=a[t.Model.pk(a)],i=this.override(Object.assign({},this._overrides,{segregated:n,mirror:!0,ignoreValidation:!0,ignoreHandlers:!0}));try{await i.delete(r,e)}catch{}e.logger.info(`Mirror for ${t.Model.tableName(this.class)} deleted: ${r+""}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0),o.put("segregated",void 0)}}async function we(e,t,r,i){const n=ue(e.get("identity"));if(n&&(n===t.mspId||t.condition&&t.condition(n)))throw new a.AuthorizationError(`Organization ${n} is not authorized to modify mirrored data`)}async function be(e,t,r,i){const a=ue(e.get("identity"));if(!a)return;const n=await pe(i,t.resolver,e),o=e;(a===t.mspId||t.condition&&t.condition(a))&&(e.logger.info(`Mirror read: MSP ${a} matches, routing reads to mirror collection ${n}`),o.put("mirror",!0),o.put("mirrorCollection",n),o.put("fullySegregated",!0),o.readFrom(n))}const Ee=(e,i)=>{const a=i||("function"!=typeof e?t.Model.ownerOf(e):void 0);if(!a)throw new r.InternalError(`Model ${e.constructor.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`__${c.toPascalCase(a)}PrivateCollection`};function Ce(i,a,n){a.length>0&&n.readFrom(a),!n.isFullySegregated&&a.length&&((i=>{const a=o.Metadata.getAttributes(i)||[],n=t.Model.pk(i),s=o.Metadata.get(i,r.DBKeys.TRANSIENT)||{},c=o.Metadata.get(i,o.Metadata.key(e.FabricModelKeys.PRIVATE))||{},l=o.Metadata.get(i,o.Metadata.key(e.FabricModelKeys.SHARED))||{};return a.some(e=>e!==n&&!(e in s)&&!(e in c)&&!(e in l))})(i.constructor)||n.markFullySegregated())}async function Ae(e,r,i,a){const n=Array.isArray(r)?r:[r],o=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(a)||ue(e.get("identity"));if(!o)return;const s=[];for(const t of n){const r=t.collections,i="string"==typeof r?r:r(a,o,e);i&&!s.includes(i)&&s.push(i)}Ce(a,s,e);const c=Array.isArray(i)?i:[i],l=t.Model.pk(a.constructor),d=t.Model.sequenceName(a,"pk"),u=a[l],h=null!=u;if(e.setSequenceSegregation(d,e.isFullySegregated,s),h)for(const r of c){const i=t.Model.sequenceName(a,u+"",r+"");e.setSequenceSegregation(i,e.isFullySegregated,s)}}async function ve(e,i,n,o){const s=Array.isArray(i)?i:[i],c=Array.isArray(n)?n:[n];if(c.length!==s.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const l=t.Model.ownerOf(o)||ue(e.get("identity"));if(!l)throw new r.ValidationError("There's no assigned organization for model "+o.constructor.name);const d=s[0].collections,u="string"==typeof d?d:d(o,l,e);c.forEach((t,r)=>{const i="string"==typeof s[r].collections?s[r].collections:s[r].collections(o,l,e);if(i!==u)throw new a.UnsupportedError(`Segregated data collection mismatch: ${i} vs ${u}`)});const h=c.map(e=>e+"");e.writeTo(u,h)}async function Oe(e,i,a,n){const o=Array.isArray(i)?i:[i];if((Array.isArray(a)?a:[a]).length!==o.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const s=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(n)||ue(e.get("identity"));if(!s)throw new r.ValidationError("There's no assigned organization for model "+n.constructor.name);const c=o[0].collections,l="string"==typeof c?c:await c(n,s,e);e.readFrom(l)}async function Se(e,i,n,o,s){const c=Array.isArray(i)?i:[i],l=Array.isArray(n)?n:[n];if(l.length!==c.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const d=t.Model.ownerOf(o)||ue(e.get("identity"));if(!d)throw new r.ValidationError("There's no assigned organization for model "+o.constructor.name);const u=c[0].collections,h="string"==typeof u?u:u(o,d,e);l.forEach((t,r)=>{const i="string"==typeof c[r].collections?c[r].collections:c[r].collections(o,d,e);if(i!==h)throw new a.UnsupportedError(`Segregated data collection mismatch: ${i} vs ${h}`)});const g=l.map(e=>e+"");e.writeTo(h,g)}async function Me(e,i,a,n){const o=Array.isArray(i)?i:[i];if((Array.isArray(a)?a:[a]).length!==o.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const s=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(n)||ue(e.get("identity"));if(!s)throw new r.ValidationError("There's no assigned organization for model "+n.constructor.name);const c=o[0].collections,l="string"==typeof c?c:c(n,s,e);e.readFrom(l)}function Ie(e,t,i){return(i,a)=>{const n=[];if(!a){const r=o.Metadata.getAttributes(i);return r?.forEach(r=>{Ie(e,t)(i.prototype,r)}),i}{const i="string"==typeof e?e:e.toString(),a=i+":data",s={collections:e},c={priority:35,group:i+":extract"};n.push(o.prop(),r.transient(),(i,a)=>{const n=o.Metadata.key(t,a),s=i.constructor,c=o.Metadata.get(s,n)||{},l=new Set(c.collections||[]);l.add(e),c.collections=[...l],o.Metadata.set(s,n,c);const d=o.Metadata.get(s,t)||{},u=new Set(d.collections||[]);u.add(e),d.collections=[...u],o.Metadata.set(s,t,d);const h={...o.Metadata.get(s,r.DBKeys.TRANSIENT)||{},[a]:{}};o.Metadata.set(s,r.DBKeys.TRANSIENT,h)},r.on(r.DBOperations.ALL,Ae,s,c),r.onCreate(ve,{collections:e},{priority:95,group:a}),r.onRead(Oe,{collections:e},{priority:95,group:a}),r.onUpdate(Se,{collections:e},{priority:95,group:a}),r.onDelete(Me,{collections:e},{priority:95,group:a}))}return o.apply(...n)(i,a)}}function _e(e){return null===e||"object"!=typeof e?e:Array.isArray(e)?e.map(_e):e.constructor!==Object?e:Object.keys(e).sort().reduce((t,r)=>(t[r]=_e(e[r]),t),{})}class xe extends t.JSONSerializer{constructor(){super()}preSerialize(e){const r=Object.assign({},e);let i;try{i=o.Metadata.modelName(e.constructor)}catch(e){i=void 0}r[t.ModelKeys.ANCHOR]=i||e.constructor.name;const a=function e(t){const r=this;return"object"!=typeof t?t:Array.isArray(t)?t.map(t=>e.call(r,t)):this.preSerialize.call(this,t)}.bind(this);return t.Model.relations(e).forEach(e=>{r[e]=a(r[e])}),r}deserialize(e){const r=JSON.parse(e),i=r[t.ModelKeys.ANCHOR];if(!i)throw Error("Could not find class reference in serialized model");return t.Model.build(r,i)}serialize(e){return require("json-stringify-deterministic")(_e(this.preSerialize(e)))}}function Te(e){const t=e.split("_");return 2>t.length||t.length>3?{table:void 0,event:e,owner:void 0}:{table:t[0],event:t[1],owner:t[2]}}class Ne extends t.JSONSerializer{constructor(){super()}deserialize(e,t){return JSON.parse(e)}serialize(e,t=!0){return require("json-stringify-deterministic")(_e(this.preSerialize(e,t)))}preSerialize(e,r=!0){const i=Object.assign({},e);let a;try{a=o.Metadata.modelName(e.constructor)}catch(e){a=void 0}function n(e){return"object"!=typeof e?e:Array.isArray(e)?e.map(n):this.preSerialize(e)}return r&&(i[t.ModelKeys.ANCHOR]=a||e.constructor.name),t.Model.relations(e).forEach(e=>{i[e]=n.call(this,i[e])}),i}}class Fe extends a.ClientBasedService{constructor(){super()}get rootClient(){return this.client._FabricCaServices}get user(){if(!this._user)throw new r.InternalError("Fabric identity service not properly setup: missing user");return this._user}get certificates(){return this.rootClient.newCertificateService()}get affiliations(){return this.client.newAffiliationService()}get identities(){return this.client.newIdentityService()}async getUser(e,t){const i=t.logger.for(this.getUser),{caName:a,caCert:n,caKey:o,url:s,hsm:c}=e;i.info(`Creating CA user for ${a} at ${s}`),i.verbose("Retrieving CA certificate from "+n);const l=await B.getFirstDirFileNameContent(n);let d;if(c)i.debug(`Using HSM configuration for CA ${a} with library ${c.library}`);else{if(!o)throw new r.InternalError(`Missing caKey configuration for CA ${a}. Provide a key directory or configure HSM support.`);i.debug("Retrieving CA key from "+o),d=await B.getFirstDirFileNameContent(o)}return i.debug("Loading Admin user for ca "+a),this._user=await B.getCAUser("admin",d,l,a,{hsm:c}),this._user}async initialize(...e){const{log:t,ctx:i}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize),[n]=e;if(!n)throw new r.InternalError("Missing Fabric CA configuration");const{url:o,tls:c,caName:l}=n;t.info(`Initializing CA Client for CA ${n.caName} at ${n.url}`);const{trustedRoots:d,verify:u}=c,h=d[0];t.debug(`Retrieving CA certificate from ${h}. cwd: ${process.cwd()}`);const g=await B.getFileContent(h);t.debug("CA Certificate: "+g.toString());const p=new s(o,{trustedRoots:Buffer.from(g),verify:u},l),f=await this.getUser(n,i);return t.debug("CA user loaded: "+f.getName()),{config:n,client:p}}async getCertificates(e,t=!0,...i){e instanceof a.Context?(i=[e],t=!0,e=void 0):"boolean"==typeof e?(t=e,e=void 0):"boolean"!=typeof t&&(i=[t,...i],t=!0);const{log:n}=(await this.logCtx(i,r.OperationKeys.READ,!0)).for(this.getCertificates);n.debug(`Retrieving certificates${e?" for "+e.id:""} for CA ${this.config.caName}`);const o=(await this.certificates.getCertificates(e||{},this.user)).result;return n.verbose(`Found ${o.certs.length} certificates`),n.debug(o.certs),t?o.certs.map(e=>e.PEM):o}async getIdentities(e){const t=e.logger.for(this.getIdentities);t.verbose("Retrieving Identities under CA "+this.config.caName);const r=(await this.identities.getAll(this.user)).result;return t.verbose(`Found ${r.identities.length} Identities`),t.debug(r.identities),r.identities}async getAffiliations(e){const t=e.logger.for(this.getAffiliations);t.verbose("Retrieving Affiliations under CA "+this.config.caName);const r=(await this.affiliations.getAll(this.user)).result;return t.verbose(`Found ${r.a.length} Affiliations`),t.debug(JSON.stringify(r)),r}parseError(e){const t=/.*code:\s(\d+).*?message:\s["'](.+)["']/gs.exec(e.message);if(!t)return new W(e);const[,i,n]=t;switch(i){case"74":case"71":return new r.ConflictError(n);case"20":return new a.AuthorizationError(n);default:return new W(n)}}async read(e,...t){const{log:i}=(await this.logCtx(t,r.OperationKeys.READ,!0)).for(this.read);let a;i.verbose("Retrieving identity with enrollment ID "+e);try{a=await this.identities.getOne(e,this.user)}catch(t){throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${t}`)}if(!a.success)throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${a.errors.join("\n")}`);return a.result}async register(e,t=!1,r="",i,a,n,...o){const{log:s}=(await this.logCtx(o,"register",!0)).for(this.register);let c;try{const{userName:o,password:l}=e,d={enrollmentID:o,enrollmentSecret:l,affiliation:r,userRole:i,attrs:a,maxEnrollments:n};c=await this.client.register(d,this.user),s.info(`Registration for ${o} created with user type ${i??"Undefined Role"} ${t?"as super user":""}`)}catch(e){throw this.parseError(e)}return c}static identityFromEnrollment(t,r,i){const a=i.logger.for(this.identityFromEnrollment),{certificate:n,key:o,rootCertificate:s}=t;a.verbose(`Generating Identity from certificate ${n} in msp ${r}`);const c=q.fabricIdFromCertificate(n),l=q.encode(c);return a.debug(`Identity ${c} and encodedId ${l}`),new e.Identity({id:l,credentials:{id:l,certificate:n,privateKey:o.toBytes(),rootCertificate:s},mspId:r})}async enroll(e,t,...r){const{log:i,ctx:a}=(await this.logCtx(r,"enroll",!0)).for(this.enroll);let n;try{i.debug("Enrolling "+e);const r=await this.client.enroll({enrollmentID:e,enrollmentSecret:t});n=Fe.identityFromEnrollment(r,this.config.caName,a),i.info(`Successfully enrolled ${e} under ${this.config.caName} as ${n.id}`)}catch(e){throw this.parseError(e)}return n}async registerAndEnroll(e,t=!1,r="",i,a,n,...o){const{ctx:s}=(await this.logCtx(o,"register-enroll",!0)).for(this.registerAndEnroll),c=await this.register(e,t,r,i,a,n,s),{userName:l}=e;return this.enroll(l,c,s)}async updateIdentity(e,t,r,...i){const{log:a,ctx:n}=(await this.logCtx(i,"reenroll",!0)).for(this.updateIdentity);try{a.info("Renewing identity for "+e);const o=this.client.newIdentityService(),s=await o.getOne(e,this.user);await o.update(e,r,this.user);const c=d.User.createUser(e,"",this.user.getMspid(),t.certificate,t.privateKey);c.setCryptoSuite(this.user.getCryptoSuite());const l=(s.result.attrs||[]).map(({name:e})=>({name:e,optional:!1})),u=await this.client.reenroll(c,l),h=Fe.identityFromEnrollment(u,this.config.caName,n);a.debug("Revoking previous certificates for "+e);const{aki:g,serial:p}=K(t.certificate);return await this.revoke(e,{aki:g,serial:p},i),a.debug("Renew identity successful for "+e),h}catch(e){throw this.parseError(e)}}async revoke(e,t,...i){const{log:a}=(await this.logCtx(i,"revoke",!0)).for(this.revoke);a.verbose("Revoking identity with enrollment ID "+e);const n=await this.read(e);if(!n)throw new r.NotFoundError("Could not find enrollment with id "+e);let o;try{const e={reason:t.serial||t.aki?"Revoke User Certificate":"User Deletion",...t,enrollmentID:n.id};o=await this.client.revoke(e,this.user)}catch(t){throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${t}`)}if(!o.success)throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${o.errors.join("\n")}`);return o}}var De;e.CA_ROLE=void 0,(De=e.CA_ROLE||(e.CA_ROLE={})).ADMIN="admin",De.USER="user",De.CLIENT="client";const Re=Object.assign({evaluateTimeout:5,endorseTimeout:15,submitTimeout:5,commitTimeout:60,legacy:!1,allowManualEndorsingOrgs:!1,allowGatewayOverride:!1,allowContextTransientMap:!1,rebuildWithTransient:!0,encryptTransient:!1,syntheticEvents:!0}),Pe=new c.MiniLogger("fabric-fs");async function $e(e,t){return e instanceof Uint8Array||e.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms)?e:await t(e)}async function Be(e){return"string"!=typeof e?e:await(async e=>{const{promises:t}=await a.normalizeImport(import("fs"));return await t.readFile(e)})(e)}async function Ke(e,t){return{mspId:e,credentials:await $e(t,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await ke(e);return await t.readFile(r)})}}async function ke(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path"));return r(e,(await t.readdir(e))[0])}async function Le(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path")),i=await t.readdir(e);return(await t.readFile(r(e,i[0]))).toString()}async function ze(e){const t=await $e(e,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await ke(e);return await t.readFile(r)}),r=await je(t),i=r[Object.getOwnPropertySymbols(r)[0]];return l.signers.newPrivateKeySigner(i)}async function je(e){let t;if(c.isBrowser())t=globalThis.crypto.subtle;else{const e=await a.normalizeImport(import("crypto"));t=e.subtle||e.webcrypto.subtle}if(!t)throw Error("Could not load SubtleCrypto module");const i=e.toString("utf8").replace("-----BEGIN PRIVATE KEY-----","").replaceAll("\n","").replace("-----END PRIVATE KEY-----",""),n=(e=>{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t})(Buffer.from(i,"base64").toString("binary"));try{return await t.importKey("pkcs8",n,{name:"ECDSA",namedCurve:"P-256"},!0,["sign"])}catch(e){throw new r.InternalError(e)}}const Ue=["allowGenerationOverride"];class He extends a.Context{constructor(e){super(e)}toOverrides(){const e={};for(const t of Ue){const r=this.getOrUndefined(t);void 0!==r&&(e[t]=r)}return e}}function Ge(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class qe extends a.Statement{constructor(e,t){super(e,t)}squash(e){const t=super.squash(e);if(!t)return t;const{method:i,params:n,args:o}=t,{direction:s,limit:c}=n;switch(i){case a.PreparedStatementKeys.FIND:break;case a.PreparedStatementKeys.PAGE:o.push(s,c);break;case a.PreparedStatementKeys.FIND_BY:break;case a.PreparedStatementKeys.LIST_BY:o.push(s);break;case a.PreparedStatementKeys.PAGE_BY:o.push(s,c);break;case a.PreparedStatementKeys.FIND_ONE_BY:break;default:throw new r.InternalError("Unsupported method "+i)}return t}async executePrepared(...e){const t=a.Repository.forModel(this.fromSelector,this.adapter.alias),{method:r,args:i}=this.prepared;return t.statement(r,...i,...e)}async prepare(e){if(!(e=e||await this.adapter.context(a.PersistenceKeys.QUERY,this.overrides||{},this.fromSelector)))throw new r.InternalError("No context available for statement");if(this.isSimpleQuery()&&e.get("forcePrepareSimpleQueries")){const t=this.squash(e);if(t)return this.prepared=t,this}const t=[],i={},n={class:this.fromSelector,args:t,params:i},o=[a.QueryClause.FIND_BY];if(this.whereCondition){const r=this.prepareCondition(this.whereCondition,e);o.push(r.method),r.args&&r.args.length&&t.push(...r.args)}return this.selectSelector&&o.push(a.QueryClause.SELECT,this.selectSelector.join(` ${a.QueryClause.AND.toLowerCase()} `)),this.orderBySelectors?.length&&(o.push(a.QueryClause.ORDER_BY,this.orderBySelectors[0][0]),t.push(this.orderBySelectors[0][1])),n.method=c.toCamelCase(o.join(" ")),n.params=i,this.prepared=n,this}processRecord(e,n){const s=t.Model.pk(this.fromSelector),c=o.Metadata.get(this.fromSelector,o.Metadata.key(r.DBKeys.ID,s))?.type;if(e[i.CouchDBKeys.ID]){const[,...t]=e[i.CouchDBKeys.ID].split(i.CouchDBKeys.SEPARATOR),r=t.join("_");e[s]=a.Sequence.parseValue(c,r)}return super.processRecord(e,n)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),i=e?.aggregateInfo;if(e?.aggregate&&i)return this.executeAggregate(i,r);const a=await this.adapter.raw(e,!0,this.fromSelector,r);if(!this.selectSelector){const e=a.map(e=>this.processRecord(e,r));return r.getOrUndefined("afterQueryHandlers")?await this.applyAfterHandlersToResult(e,r):e}return a}build(){const e=this.log.for(this.build),r=this.buildAggregateQuery();if(r)return r;const n={};n[i.CouchDBKeys.TABLE]={},n[i.CouchDBKeys.TABLE]=t.Model.tableName(this.fromSelector);const o={selector:n};if(this.selectSelector&&(o.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(a.Condition.and(this.whereCondition,a.Condition.attribute(i.CouchDBKeys.TABLE).eq(o.selector[i.CouchDBKeys.TABLE]))).selector,r=Object.keys(t);if(1===r.length&&-1!==Object.values(i.CouchDBGroupOperator).indexOf(r[0]))switch(r[0]){case i.CouchDBGroupOperator.AND:t[i.CouchDBGroupOperator.AND]=[...Object.values(t[i.CouchDBGroupOperator.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===i.CouchDBGroupOperator.AND?e.push(...t[a]):e.push(t),e},[])],o.selector=t;break;case i.CouchDBGroupOperator.OR:{const e={};e[i.CouchDBGroupOperator.AND]=[t,...Object.entries(o.selector).map(([e,t])=>{const r={};return r[e]=t,r})],o.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{o.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${o.selector[t]} by ${r}`),o.selector[t]=r})}if(this.orderBySelectors?.length){o.sort=o.sort||[],o.selector=o.selector||{};for(const[e,t]of this.orderBySelectors){const r=e,a={};a[r]=t,o.sort.push(a),o.selector[r]||(o.selector[r]={},o.selector[r][i.CouchDBOperator.BIGGER]=null)}}return this.limitSelector?o.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of "+i.CouchDBQueryLimit),o.limit=i.CouchDBQueryLimit),this.offsetSelector&&(o.skip=this.offsetSelector),o}parseCondition(e){const{attr1:t,operator:r,comparison:n}=e;if(r===a.Operator.STARTS_WITH){if("string"!=typeof t)throw new a.QueryError("STARTS_WITH requires an attribute name");if("string"!=typeof n)throw new a.QueryError("STARTS_WITH requires a string comparison");const e={start:o=n,end:Ge(o)},r={};return r[t]={},r[t][i.CouchDBOperator.BIGGER_EQ]=e.start,r[t][i.CouchDBOperator.SMALLER]=e.end,{selector:r}}var o,s;if(r===a.Operator.ENDS_WITH){if("string"!=typeof t)throw new a.QueryError("ENDS_WITH requires an attribute name");if("string"!=typeof n)throw new a.QueryError("ENDS_WITH requires a string comparison");const e={};return e[t]={[i.CouchDBOperator.REGEXP]:(s=n,s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")},{selector:e}}if(r===a.Operator.BETWEEN){const e=t;if(!Array.isArray(n)||2!==n.length)throw new a.QueryError("BETWEEN operator requires [min, max] comparison");const[r,o]=n,s={};return s[e]={},s[e][i.translateOperators(a.Operator.BIGGER_EQ)]=r,s[e][i.translateOperators(a.Operator.SMALLER_EQ)]=o,{selector:s}}let c={};if(-1===[a.GroupOperator.AND,a.GroupOperator.OR,a.Operator.NOT].indexOf(r))c[t]={},c[t][i.translateOperators(r)]=n;else if(r===a.Operator.NOT)c=this.parseCondition(t).selector,c[i.translateOperators(a.Operator.NOT)]={},c[i.translateOperators(a.Operator.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,a=this.parseCondition(n).selector;c=((e,t,r)=>{const i={selector:{}};return i.selector[e]=[t,r],i})(i.translateOperators(r),e,a).selector}return{selector:c}}buildAggregateQuery(){if(!this.fromSelector)return;if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e),r=this.createAggregateDescriptor("count",e);if(!t||!r)throw new a.QueryError("Avg operation requires sum and count views for attribute "+e);return this.createAggregateQuery({kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor})}if(void 0!==this.countDistinctSelector){const e=null==this.countDistinctSelector?void 0:this.countDistinctSelector+"",t=this.createAggregateDescriptor("distinct",e);if(t)return t.countDistinct=!0,this.createAggregateQuery(t)}const e=!!(void 0!==this.countSelector||void 0!==this.countDistinctSelector||this.minSelector||this.maxSelector||this.sumSelector||this.distinctSelector),r=[["count",this.countSelector??void 0],["max",this.maxSelector],["min",this.minSelector],["sum",this.sumSelector],["distinct",this.distinctSelector]];for(const[e,t]of r){const r=t?t+"":void 0,i=this.createAggregateDescriptor(e,r);if(i)return this.createAggregateQuery(i)}if(e)throw new a.QueryError(`No CouchDB view metadata found for table ${t.Model.tableName(this.fromSelector)} aggregator`)}createAggregateDescriptor(e,r){if(!this.fromSelector)return;const a=i.findViewMetadata(this.fromSelector,e,r);if(!a.length)return;const n=a[0],o=t.Model.tableName(this.fromSelector),s=i.generateViewName(o,n.attribute,e,n),c=n.ddoc||i.generateDesignDocName(o,s),l={reduce:void 0!==n.reduce||!n.returnDocs};return"distinct"!==e&&"groupBy"!==e||(l.group=!0),{kind:e,meta:n,descriptor:{ddoc:c,view:s,options:l}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}getFabricAdapter(){return this.adapter}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getFabricAdapter(),i=e,a=await r.view(i.descriptor.ddoc,i.descriptor.view,i.descriptor.options,t);return this.processViewResponse(e,a)}async handleAverage(e,t){if("avg"!==e.kind)throw new a.QueryError("Average descriptor is not valid");const r=this.getFabricAdapter(),[i,n]=[e.sumDescriptor,e.countDescriptor],[o,s]=await Promise.all([r.view(i.ddoc,i.view,i.options,t),r.view(n.ddoc,n.view,n.options,t)]),c=o.rows?.[0]?.value??0,l=s.rows?.[0]?.value??0;return l?c/l:0}processViewResponse(e,t){if("avg"===e.kind)throw new a.QueryError("Average results should be handled before processing rows");const r=t.rows||[],i=e,n=i.meta;return i.countDistinct?r.length||0:"distinct"===i.kind||"groupBy"===i.kind?r.map(e=>e.key??e.value):n.returnDocs?r.map(e=>e.value??e.doc??e):r.length?r[0].value??r[0].key??null:"count"===i.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}}var Ve;class Ye extends a.Adapter{static{this.decoder=new TextDecoder("utf8")}static{this.serializer=new N}static{this.log=c.Logging.for(Ye)}get Context(){return He}constructor(e,t){super(Object.assign({},Re,e),$,t),this.serializer=Ye.serializer}chaincodeFor(e,...t){return Ye.chaincodeFor(e,this.config,...t)}channelFor(e,...t){return Ye.channelFor(e,this.config,...t)}contractFor(e,...t){return Ye.contractFor(e,this.config,...t)}Statement(e){return new qe(this,e)}Paginator(e,t,r){return new M(this,e,t,r)}async flags(e,t,r,...i){const a=Object.assign({},this.config,r);return Object.assign(await super.flags(e,t,a,...i))}async context(e,r,i,...n){this.log.for(this.context).silly(`creating new context for ${e} operation on ${i?Array.isArray(i)?i.map(e=>t.Model.tableName(e)):t.Model.tableName(i):"no"} table ${r&&Object.keys(r)?Object.keys(r).length:"no"} with flag overrides`);let o=n.pop();void 0===o||o instanceof a.Context||(n.push(o),o=void 0),r=o?Object.assign({},o.toOverrides(),r):r;const s=await this.flags("string"==typeof e?e:e.name,i,r,...[...n,o].filter(Boolean));if(o){if(!(o instanceof this.Context)){const e=(new this.Context).accumulate({...o.cache,...s,parentContext:o});return o.accumulate({childContexts:[...o.getOrUndefined("childContexts")||[],e]}),e}const t=o.getOrUndefined("operation"),r=o.getOrUndefined("affectedTables");if(!t||t!==e||i&&i!==r){const e=(new this.Context).accumulate({...o.cache,...s,parentContext:o});return o.accumulate({childContexts:[...o.getOrUndefined("childContexts")||[],e]}),e}return o.accumulate(s)}return(new this.Context).accumulate({...s})}decode(e){return Ye.decoder.decode(e)}repository(){return I}createPrefix(e,r,a,...n){const{ctxArgs:o}=this.logCtx(n,this.createPrefix),s=t.Model.tableName(e),c={};return c[i.CouchDBKeys.TABLE]=s,Object.assign(c,a),[e,r,c,...o]}createAllPrefix(e,a,n,...o){const s=t.Model.tableName(e);if(a.length!==n.length)throw new r.InternalError("Ids and models must have the same length");const{ctxArgs:c}=this.logCtx(o,this.createAllPrefix),l=a.map((e,t)=>{const r={};return r[i.CouchDBKeys.TABLE]=s,Object.assign(r,n[t]),r});return[e,a,l,...c]}updateAllPrefix(e,a,n,...o){const s=t.Model.tableName(e);if(a.length!==n.length)throw new r.InternalError("Ids and models must have the same length");const{ctxArgs:c}=this.logCtx(o,this.updateAllPrefix),l=a.map(()=>{const e={};return e[i.CouchDBKeys.TABLE]=s,e});return[e,a,l,...c]}async createAll(e,i,a,...n){if(i.length!==a.length)throw new r.InternalError("Ids and models must have the same length");const o=[...n],s=o.shift(),{log:c,ctx:l}=this.logCtx(o,this.createAll),d=t.Model.tableName(e);c.info(`adding ${i.length} entries to ${d} table`),c.verbose("pks: "+i);const u=s&&Object.keys(s).length>0,h=u||this.shouldForceGatewayHydration(l),g=a.map(t=>this.serializer.serialize(t,e.name)),p=await this.submitTransaction(l,r.BulkCrudOperationKeys.CREATE_ALL,[JSON.stringify(g)],u?{[d]:s}:void 0,this.getEndorsingOrganizations(l),e);let f;try{f=JSON.parse(this.decode(p)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}return this.shouldRefreshAfterWrite(e,l,h,f[0][t.Model.pk(e)]||i[0])?this.readAll(e,R(e,a.map((e,r)=>t.Model.merge(Object.assign({},e,s?.[r]||{}),f[r])),i),l):f}async readAll(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.readAll),s=t.Model.tableName(e);n.info(`reading ${i.length} entries to ${s} table`),n.verbose("pks: "+i);const c=await this.evaluateTransaction(o,r.BulkCrudOperationKeys.READ_ALL,[JSON.stringify(i)],void 0,void 0,e);try{return JSON.parse(this.decode(c)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}}async updateAll(e,i,a,...n){if(i.length!==a.length)throw new r.InternalError("Ids and models must have the same length");const o=[...n],s=o.shift(),{log:c,ctx:l}=this.logCtx(o,this.updateAll),d=t.Model.tableName(e);c.info(`updating ${i.length} entries to ${d} table`),c.verbose("pks: "+i);const u=s&&Object.keys(s).length>0,h=u||this.shouldForceGatewayHydration(l),g=a.map(t=>this.serializer.serialize(t,e.name)),p=await this.submitTransaction(l,r.BulkCrudOperationKeys.UPDATE_ALL,[JSON.stringify(g)],u?{[d]:s}:void 0,this.getEndorsingOrganizations(l),e);let f;try{f=JSON.parse(this.decode(p)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}return this.shouldRefreshAfterWrite(e,l,h,i[0])?this.readAll(e,R(e,a.map((e,r)=>t.Model.merge(Object.assign({},e,s?.[r]||{}),f[r])),i),l):f}async deleteAll(e,i,...a){const{log:n,ctx:o,ctxArgs:s}=this.logCtx(a,this.deleteAll),c=t.Model.tableName(e),l=t.Model.isTransient(e)||this.shouldForceGatewayHydration(o);let d;const u=this.shouldRefreshAfterWrite(e,o,l,i[0]);u&&(d=await this.readAll(e,i,...s)),n.info(`deleting ${i.length} entries to ${c} table`),n.verbose("pks: "+i);const h=await this.submitTransaction(o,r.BulkCrudOperationKeys.DELETE_ALL,[JSON.stringify(i)],void 0,this.getEndorsingOrganizations(o),e);try{return u?d:JSON.parse(this.decode(h)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}}prepare(e,...i){const{log:n,ctx:o}=this.logCtx(i,this.prepare),s=t.Model.segregate(e);e[a.PersistenceKeys.METADATA]&&(n.silly("Passing along persistence metadata for "+e[a.PersistenceKeys.METADATA]),Object.defineProperty(s.model,a.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[a.PersistenceKeys.METADATA]}));const c=t.Model.mirroredAt(e);if(c){const e=c.mspId;if(!e)throw new r.InternalError("No mirror MSP could be found");let t=this.getEndorsingOrganizations(o)||[];t=Array.isArray(t)?t:[t];const i=[...new Set([...t,e])];o.accumulate({endorsingOrgs:i,endorsingOrganizations:i,legacy:!0})}return{record:s.model,model:s.model,id:e[t.Model.pk(e.constructor)],transient:s.transient,privates:s.privates,shared:s.shared}}revert(e,t,r,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.revert);return i&&this.shouldRebuildWithTransient(o,o.getOrUndefined("operation"))&&(n.verbose("re-adding transient properties: "+Object.keys(i).join(", ")),Object.entries(i).filter(([,e])=>void 0!==e).forEach(([t,r])=>{t in e&&void 0!==e[t]&&n.warn(`overwriting existing ${t}. if this is not a default value, this may pose a problem`),e[t]=r})),new t(e)}shouldRebuildWithTransient(e,t){if(!e)return!1;if(e.getOrUndefined("rebuildWithTransient"))return!0;if("function"==typeof e.getFromChildren?e.getFromChildren("rebuildWithTransient"):void 0)return!0;const r=this.resolveOperation(e,t);if(!r)return!1;const i=r.toString().toLowerCase();return i.includes("read")||i.includes("find")||i.includes("query")||i.includes("statement")||i.includes("page")}resolveOperation(e,t){return t||("function"==typeof e.getFromChildren?e.getFromChildren("operation"):void 0)}shouldRefreshAfterWrite(e,r,i,a){if(!i)return!1;const n=t.Model.pk(e),o=t.Model.composed(e,n),s=t.Model.generated(e,n),c=null!=a;return!(c||!o)||(!c&&s?(r.logger.warn("Cannot refresh record with private generated primary key"),!1):c)}injectTransientOverrides(t,r){const i=this.hasMeaningfulTransientData(t),a=!!r.getOrUndefined("allowContextTransientMap");if(!i&&!a)return;const n=r.toOverrides(),o=i?Object.assign({},t):{};return a&&Object.keys(n).length&&(o[e.FabricModelKeys.OVERRIDES]=n),Object.keys(o).length?o:void 0}hasMeaningfulTransientData(e){if(null==e)return!1;if(Array.isArray(e))return e.some(e=>this.hasMeaningfulTransientData(e));if("object"!=typeof e)return!0;const t=Object.entries(e);return!!t.length&&t.some(([,e])=>this.hasMeaningfulTransientData(e))}getEndorsingOrganizations(e){const t=e.getOrUndefined("endorsingOrgs")||e.getOrUndefined("endorsingOrgs");return t&&t.length?t:e.getFromChildren("endorsingOrgs")||e.getFromChildren("endorsingOrgs")}shouldForceGatewayHydration(e){return!!this.config.allowGatewayOverride}async create(e,i,a,n={},...o){const s=[...o],{log:c,ctx:l}=this.logCtx(s,this.create),d=t.Model.tableName(e);c.verbose(`adding entry to ${d} table`),c.debug("pk: "+i);const u=n&&Object.keys(n).length>0,h=u||this.shouldForceGatewayHydration(l),g=await this.submitTransaction(l,r.OperationKeys.CREATE,[this.serializer.serialize(a,e.name)],u?{[d]:n}:void 0,this.getEndorsingOrganizations(l),e),p=this.serializer.deserialize(this.decode(g));return this.shouldRefreshAfterWrite(e,l,h,i)?this.read(e,R(e,t.Model.merge(Object.assign({},a,n||{}),p,e),i),l):p}async healthcheck(e,...r){const{log:i,ctx:a}=this.logCtx(r,this.healthcheck),n=t.Model.tableName(e);i.verbose(`reading entry from ${n} table`);const o=await this.evaluateTransaction(a,"healthcheck",[],void 0,void 0,e);return JSON.parse(this.decode(o))}async read(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.read),s=t.Model.tableName(e);n.verbose(`reading entry from ${s} table`),n.debug("pk: "+i);const c=await this.evaluateTransaction(o,r.OperationKeys.READ,[i.toString()],void 0,void 0,e);return this.serializer.deserialize(this.decode(c))}updatePrefix(e,r,a,...n){const o=t.Model.tableName(e),{ctxArgs:s}=this.logCtx(n,this.updatePrefix),c={};return c[i.CouchDBKeys.TABLE]=o,Object.assign(c,a),[e,r,c,...s]}async update(e,i,a,n={},...o){const s=[...o],{log:c,ctx:l}=this.logCtx(s,this.update);c.info("CLIENT UPDATE class : "+typeof e);const d=t.Model.tableName(e);c.verbose(`updating entry to ${d} table`),c.debug("pk: "+i);const u=n&&Object.keys(n).length>0,h=u||this.shouldForceGatewayHydration(l),g=await this.submitTransaction(l,r.OperationKeys.UPDATE,[this.serializer.serialize(a,e.name)],u?{[d]:n}:void 0,this.getEndorsingOrganizations(l),e),p=this.serializer.deserialize(this.decode(g));return this.shouldRefreshAfterWrite(e,l,h,i)?this.read(e,R(e,t.Model.merge(Object.assign({},a,n||{}),p,e),i),l):p}async delete(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.delete),s=t.Model.tableName(e),c=t.Model.isTransient(e)||this.shouldForceGatewayHydration(o);let l;const d=this.shouldRefreshAfterWrite(e,o,c,i);d&&(l=await this.read(e,i,o)),n.verbose(`deleting entry from ${s} table`),n.debug("pk: "+i);const u=await this.submitTransaction(o,r.OperationKeys.DELETE,[i.toString()],void 0,this.getEndorsingOrganizations(o),e);return d?l:this.serializer.deserialize(this.decode(u))}async raw(e,i=!0,a,...n){const{log:o,ctx:s}=this.logCtx(n,this.raw);let c,l;o.info("Performing raw statement on table "+t.Model.tableName(a));try{c=await this.evaluateTransaction(s,"raw",[JSON.stringify(e),i],void 0,void 0,a)}catch(e){throw this.parseError(e)}try{l=JSON.parse(this.decode(c))}catch(e){throw new r.SerializationError("Failed to process result: "+e)}if(Array.isArray(l)){if(!l.length)return l;const e=l[0];return t.Model.isModel(e)?l.map(e=>t.Model.build(e)):l}return d=l,t.Model.isModel(d)?t.Model.build(d):d;var d}async view(e,t,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.view);let s,c;n.info(`Querying view ${e}/${t}`);try{s=await this.evaluateTransaction(o,"view",[e,t,JSON.stringify(i)],void 0,void 0,void 0)}catch(e){throw this.parseError(e)}try{c=JSON.parse(this.decode(s))}catch(e){throw new r.SerializationError("Failed to process view result: "+e)}return c}getClient(){return this._client||(this._client=Ye.getClient(this.config)),this._client}async Gateway(e){return Ye.getGateway(e,this.config,this.client)}async Contract(e,t){return Ye.getContract(await this.Gateway(e),this.config,t,e)}async transaction(e,t,r=!0,i,a={},n,o){const s=this.log.for(this.transaction);if(a=this.injectTransientOverrides(a,e),r&&this.shouldUseLegacyGateway(e)){const r=this.prepareLegacyArgs(i),n=this.buildLegacyTransient(a),s=this.buildLegacyPeerConfigs(e);return await this.submitLegacyWithExplicitEndorsers(e,t,r,n,s,o)}const c=await this.Gateway(e);try{const c=await this.Contract(e,o);s.verbose(`${r?"Submit":"Evaluate"}ting transaction ${c.getContractName()}.${t}`),s.debug("args: "+(i?.map(e=>e.toString()).join("\n")||"none"));const l=r?c.submit:c.evaluate,d=(i||[]).map(e=>this.normalizeTransactionArgument(e)),u=Object.entries(a||{});n=n?.length?n:void 0;const h={arguments:d,transientData:u.length?u.reduce((e,[t,r])=>(e[t]=JSON.stringify(r),e),{}):void 0,endorsingOrganizations:e.getOrUndefined("allowManualEndorsingOrgs")&&n||void 0};return await l.call(c,t,h)}catch(e){throw this.parseError(e)}finally{this.log.debug(`Closing ${this.config.mspId} gateway connection`),c.close()}}normalizeTransactionArgument(e){return null==e||"string"==typeof e||"object"!=typeof e||e instanceof Uint8Array?e:JSON.stringify(e)}shouldUseLegacyGateway(e){return!!e.getOrUndefined("legacy")&&!!this.config.allowGatewayOverride}prepareLegacyArgs(e){return(e||[]).map(e=>"string"==typeof e?e:JSON.stringify(e))}buildLegacyTransient(e){if(!e)return;const t=Object.entries(e);if(!t.length)return;const r={};for(const[e,i]of t)r[e]=Buffer.from(JSON.stringify(i));return r}resolveLegacyMspCount(){const e=this.config.legacyMspCount??1,t=Number(e);return!Number.isFinite(t)||1>t?1:Math.floor(t)}pickLegacyCandidates(e,t){if(!e.length||0>=t)return[];const r=[...e],i=Math.min(t,r.length),a=[];for(;a.length<i&&r.length;){const e=Math.floor(Math.random()*r.length),[t]=r.splice(e,1);t&&a.push(t)}return a}buildLegacyPeerConfigs(e){const t=[{mspId:this.config.mspId,peerEndpoint:this.config.peerEndpoint,peerHostAlias:this.config.peerHostAlias,tlsCert:this.config.tlsCert}];let r=this.getEndorsingOrganizations(e)||[];r=Array.isArray(r)?r:[r];const i=(r.filter(e=>!!e)||[]).filter(e=>e!==this.config.mspId);if(!i.length)return t;const n=this.config.mspMap,o=this.resolveLegacyMspCount();for(const e of i){const r=n?.[e];if(!r?.length)throw new a.UnsupportedError(`No peer mapping available for MSP ${e}. Provide it via config.mspMap`);const i=this.pickLegacyCandidates(r,o);if(!i.length)throw new a.UnsupportedError(`No valid peer mapping available for MSP ${e}. Provide it via config.mspMap`);for(const r of i){if(!r.endpoint)throw new a.UnsupportedError(`Invalid peer mapping for MSP ${e}: missing endpoint`);t.push({mspId:e,peerEndpoint:r.endpoint,peerHostAlias:r.alias,tlsCert:r.tlsCert||this.config.tlsCert})}}return t}async submitLegacyWithExplicitEndorsers(e,t,i,a,n,o){const s=this.log.for(this.submitLegacyWithExplicitEndorsers),c=this.normalizeLegacyPeers(n),l=await this.resolveLegacyIdentityMaterial(),d=await f.Wallets.newInMemoryWallet(),u=this.config.mspId+"-legacy";await d.put(u,{credentials:{certificate:l.certificate,privateKey:l.privateKey},mspId:this.config.mspId,type:"X.509"});const h=await this.buildLegacyConnectionProfile(c),g=new f.Gateway;try{await g.connect(h,{identity:u,wallet:d,discovery:{enabled:!0,asLocalhost:this.shouldTreatPeersAsLocalhost(c)},tlsInfo:{certificate:l.certificate,key:l.privateKey}});let n=this.config.channel,p=this.config.chaincodeName,f=this.config.contractName;if(o)if("string"==typeof o)f=o;else{if(!e)throw new r.InternalError("No context received to determine chaincode config");n=await this.channelFor(o,e)||n,p=await this.chaincodeFor(o,e)||p,f=await this.contractFor(o,e)}const y=await g.getNetwork(n),m=y.getContract(p,f).createTransaction(t);a&&m.setTransient(a);const w=c.map(e=>y.getChannel().getEndorser(e.name)).filter(e=>!!e);w.length&&m.setEndorsingPeers(w),s.verbose(`Legacy submitting ${f}.${t} via peers ${c.map(e=>e.peerEndpoint).join(", ")}`);const b=await m.submit(...i);return Uint8Array.from(b)}catch(e){throw this.parseError(e)}finally{g.disconnect()}}normalizeLegacyPeers(e){const t=new Map,r=e=>{const r=`${e.peerEndpoint}|${e.peerHostAlias||""}`;if(t.has(r))return;const i=`peer-${e.mspId}-${t.size}`;t.set(r,{...e,name:i})};return e.forEach(r),r({mspId:this.config.mspId,peerEndpoint:this.config.peerEndpoint,peerHostAlias:this.config.peerHostAlias}),Array.from(t.values())}async resolveLegacyIdentityMaterial(){return{certificate:await this.readPemInput(this.config.certCertOrDirectoryPath),privateKey:await this.readPemInput(this.config.keyCertOrDirectoryPath)}}async buildLegacyConnectionProfile(e){const t={},r={},i={};for(const a of e){const e=await this.readPemInput(a.tlsCert||this.config.tlsCert),n=a.peerHostAlias||this.extractHost(a.peerEndpoint);t[a.name]={url:this.ensureGrpcUrl(a.peerEndpoint),tlsCACerts:{pem:e},grpcOptions:{"ssl-target-name-override":n,hostnameOverride:n}},r[a.name]={endorsingPeer:!0,chaincodeQuery:!0,ledgerQuery:!0,eventSource:!0},i[a.mspId]=i[a.mspId]||{mspid:a.mspId,peers:[]},i[a.mspId].peers.push(a.name)}return{name:"legacy-manual",version:"1.0.0",client:{organization:this.config.mspId},organizations:i,peers:t,orderers:{},channels:{[this.config.channel]:{peers:r}}}}shouldTreatPeersAsLocalhost(e){return e.every(e=>this.isLocalEndpoint(e.peerEndpoint))}isLocalEndpoint(e){const t=this.extractHost(e).toLowerCase();return"localhost"===t||"127.0.0.1"===t}extractHost(e){return e.replace(/^grpcs?:\/\//,"").split(":")[0]}ensureGrpcUrl(e){return/^grpcs?:\/\//i.test(e)?e:"grpcs://"+e}async readPemInput(e){if(!e)throw new r.InternalError("Missing certificate or key material");if(Buffer.isBuffer(e))return e.toString("utf8");const t=e.trim();if(/-----BEGIN [A-Z ]+-----/.test(t))return t;const i=await y.promises.stat(e).catch(()=>{});return i?.isDirectory()?await Le(e):(await Be(e)).toString()}parseError(e){return Ye.parseError(e)}async submitTransaction(e,t,r,i,a,n){return this.transaction(e,t,!0,r,i,a,n)}async evaluateTransaction(e,t,r,i,a,n){return this.transaction(e,t,!1,r,i,a,n)}async migrate(e,...t){const{ctxArgs:r}=(await this.logCtx([t],a.PersistenceKeys.MIGRATION,!0)).for(this.migrate);return this.submitTransaction(r[0],"migrate",[e,t],void 0,void 0)}async shutdown(...e){await super.shutdown(...e),this.client&&(this.log.verbose(`Closing ${this.config.mspId} gateway client`),this.client.close())}static async getContract(e,t,i,a){const n=this.log.for(this.getContract);let o=t.channel,s=t.chaincodeName,c=t.contractName;if(i)if("string"==typeof i)c=i;else{if(!a)throw new r.InternalError("No context received to determine chaincode config");o=await this.channelFor(i,t,a)||o,s=await this.chaincodeFor(i,t,a)||s,c=await this.contractFor(i,t,a)}const l=this.getNetwork(e,o);let d;try{n.debug(`Retrieving chaincode ${s} contract ${c} from network ${o}`),d=l.getContract(s,c)}catch(e){throw this.parseError(e)}return d}static getNetwork(e,t){const r=c.Logging.for(this.getNetwork);let i;try{r.debug("Connecting to channel "+t),i=e.getNetwork(t)}catch(e){throw this.parseError(e)}return i}static async getGateway(e,t,r){return await this.getConnection(r||await this.getClient(t),t,e)}static getClient(e){const t=this.log.for(this.getClient);t.debug("generating TLS credentials for msp "+e.mspId);let i=e.tlsCert;if("string"==typeof i)if(i.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms))i=Buffer.from(i,"utf8");else try{i=Buffer.from(y.readFileSync(i,"utf8"))}catch(e){throw new r.InternalError(`Failed to read the tls certificate from ${i}: ${e}`)}const a=b.credentials.createSsl(i);return t.debug("generating Gateway Client for url "+e.peerEndpoint),new p.Client(e.peerEndpoint,a,{"grpc.max_receive_message_length":1024*(e.sizeLimit||15)*1024,"grpc.max_send_message_length":1024*(e.sizeLimit||15)*1024})}static async getConnection(e,t,r){const i=c.Logging.for(this.getConnection);i.debug(`Retrieving Peer Identity for ${t.mspId} under ${t.certCertOrDirectoryPath}`);const n=await Ke(t.mspId,t.certCertOrDirectoryPath);try{i.debug("preparing transaction signer for "+q.fabricIdFromCertificate(n.credentials.toString()))}catch(e){i.error("Failed to extract Fabric ID from certificate",e)}let o;if(t.hsm)throw new a.UnsupportedError("HSM NOT IMPLEMENTED");o=await ze(t.keyCertOrDirectoryPath);const s={client:e,identity:n,signer:o,evaluateOptions:()=>({deadline:Date.now()+1e3*r.get("evaluateTimeout")}),endorseOptions:()=>({deadline:Date.now()+1e3*r.get("endorseTimeout")}),submitOptions:()=>({deadline:Date.now()+1e3*r.get("submitTimeout")}),commitStatusOptions:()=>({deadline:Date.now()+1e3*r.get("commitTimeout")})};i.debug("Connecting to "+t.mspId);const d=l.connect(s);return t.hsm&&(d.close=new Proxy(d.close,{apply(e,t,r){Reflect.apply(e,t,r)}})),d}Dispatch(){return new Ye._baseDispatch(this.client)}static chaincodeFor(e,r,...i){return t.Model.chaincodeOf(e,...i)||r.chaincodeName}static channelFor(e,r,...i){return t.Model.channelOf(e,...i)||r.channel}static contractFor(e,r,...i){return t.Model.contractOf(e,...i)||de(e,...i)}static parseError(e){let t="string"==typeof e?e:e.message;return e instanceof l.GatewayError&&e.details.length&&10===e.code&&(t=""+e.details[0].message),e instanceof l.EndorseError&&e.details.length&&10===e.code&&e.details[0].message?.includes(a.UnsupportedError.name)&&(t=""+e.details[0].message),t.includes("MVCC_READ_CONFLICT")?new re(e):t.includes("DEADLINE_EXCEEDED")?new oe(e):t.includes("ENDORSEMENT_POLICY_FAILURE")?new ae(e):t.includes("PHANTOM_READ_CONFLICT")?new ie(e):e instanceof Error&&e.code&&9===e.code?new te(e):t.includes(r.ValidationError.name)?new r.ValidationError(e):t.includes(r.NotFoundError.name)?new r.NotFoundError(e):t.includes(r.ConflictError.name)?new r.ConflictError(e):t.includes(r.BadRequestError.name)?new r.BadRequestError(e):t.includes(a.QueryError.name)?new a.QueryError(e):t.includes(a.PagingError.name)?new a.PagingError(e):t.includes(a.UnsupportedError.name)?new a.UnsupportedError(e):t.includes(a.MigrationError.name)?new a.MigrationError(e):t.includes(a.ObserverError.name)?new a.ObserverError(e):t.includes(a.AuthorizationError.name)?new a.AuthorizationError(e):t.includes(a.ForbiddenError.name)?new a.ForbiddenError(e):t.includes(a.ConnectionError.name)?new a.ConnectionError(e):t.includes(r.SerializationError.name)?new r.SerializationError(e):new r.InternalError(e)}}n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"create",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"healthcheck",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"read",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"update",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"delete",null),n.__decorate([c.debug(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,"function"==typeof(Ve="undefined"!=typeof D&&D)?Ve:Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"raw",null),n.__decorate([c.debug(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"view",null),Ye.decoration(),a.Adapter.setCurrent($);class Je extends a.Dispatch{constructor(e){super(),this.client=e,this.decoder=new TextDecoder("utf8")}async close(...e){const{log:t,ctxArgs:r}=(await this.logCtx(e,a.PersistenceKeys.SHUTDOWN,!0)).for(this.close);try{await super.close(...r)}catch(e){t.error("Failed to close Fabric proxies event listener",e)}if(this.listeningStack)try{await this.listeningStack.close()}catch(e){t.error("Failed to close Fabric event listener",e)}finally{this.listeningStack=void 0}}parsePayload(e){const t=this.decoder.decode(e);return JSON.parse(t)}observe(e){if(!(e instanceof Ye))throw new a.UnsupportedError("Only FabricClientAdapter can be observed by dispatch");return super.observe(e),()=>this.unObserve(e)}async updateObservers(e,i,n,...o){const{log:s,ctxArgs:c}=a.Adapter.logCtx(this.updateObservers,i,!1,...o);if(this.adapter)try{await this.adapter.refresh(e,i,n,...c)}catch(e){throw new r.InternalError("Failed to refresh dispatch: "+e)}else s.verbose(`No adapter observed for dispatch; skipping observer update for ${"string"==typeof e?e:t.Model.tableName(e)}:${i}`)}async handleEvents(e){if(!this.listeningStack)throw new r.InternalError('Event stack not initialized. Ensure that "startListening" is called before attempting this operation.');if(!this.adapter||!this.adapter.config)throw new r.InternalError("No adapter found. should be impossible");const i=e||await this.adapter.context(r.OperationKeys.READ,{correlationId:this.adapter.config.chaincodeName},this.models&&this.models[0]||t.Model),a=this.log.for(this.handleEvents);a.info(`Listening for incoming events on chaincode "${this.adapter.config.chaincodeName}" on channel "${this.adapter.config.channel}"...`);try{for await(const e of this.listeningStack){const{table:r,event:n,owner:o}=Te(e.eventName);if(this.adapter.config?.mspEventOnly&&o&&o!==this.adapter.config?.mspId)continue;const s=this.parsePayload(e.payload);try{const e=(r?t.Model.get(r):t.Model.get(this.models[0].name))??(r||this.models[0]?.name),a=s.result?[s.result,i]:[i];await this.updateObservers(e,n,s.id,...a)}catch(e){a.error(`Failed update observables for table ${r} event ${n} id: ${s.id}: ${e}`)}}}catch(e){a.error(`Failed to read event for chaincode "${this.adapter.config.chaincodeName}" on channel "${this.adapter.config.channel}": ${e}`),await this.close(i)}}async initialize(){if(!this.adapter)throw new r.InternalError("No adapter or config observed for dispatch");const e=!1!==this.adapter.config.syntheticEvents;if(!e){const e=await this.adapter.context("dispatch",{correlationId:this.adapter.config.chaincodeName},t.Model),{ctx:i}=this.logCtx([e],this.initialize),a=(await Ye.getGateway(i,this.adapter.config,this.client)).getNetwork(this.adapter.config.channel);if(!this.adapter)throw new r.InternalError("No adapter observed for dispatch");this.listeningStack=await a.getChaincodeEvents(this.adapter.config.chaincodeName),this.handleEvents(i)}[r.OperationKeys.CREATE,r.OperationKeys.UPDATE,r.OperationKeys.DELETE,r.BulkCrudOperationKeys.CREATE_ALL,r.BulkCrudOperationKeys.UPDATE_ALL,r.BulkCrudOperationKeys.DELETE_ALL].forEach(i=>{if(!this.adapter)throw new r.InternalError("No adapter provided for the fallback of fully segregated models");if(!this.adapter[i])throw new r.InternalError(`Method ${i} not found in ${this.adapter.alias} adapter to bind Observables Dispatch`);let a=Object.getOwnPropertyDescriptor(this.adapter,i),n=this.adapter;for(;!a&&n!==Object.prototype;)n=Object.getPrototypeOf(n),a=Object.getOwnPropertyDescriptor(n,i);function o(e){switch(e){case r.BulkCrudOperationKeys.CREATE_ALL:return r.OperationKeys.CREATE;case r.BulkCrudOperationKeys.UPDATE_ALL:return r.OperationKeys.UPDATE;case r.BulkCrudOperationKeys.DELETE_ALL:return r.OperationKeys.DELETE;default:return e}}a&&a.writable?this.adapter[i]=new Proxy(this.adapter[i],{apply:async(r,a,n)=>{const s=await r.apply(a,n),c=n[0];if(!e&&!t.Model.isTransient(c))return s;const{log:l,ctxArgs:d,ctx:u}=a.logCtx(n.slice(n.length-1),r),h=n[1],g=[c,o(i),h];return u.getOrUndefined("observeFullResult")&&g.push(s),this.updateObservers(g[0],g[1],g[2],...g.slice(3),...d).catch(e=>l.error(`Failed to dispatch observer refresh for ${i} on ${c.name||c} for ${h}: ${e}`)),s}}):this.log.error(`Could not find method ${i} to bind Observables Dispatch`)})}}Ye&&(Ye._baseDispatch=Je);const We="##VERSION##",Qe="##PACKAGE##";o.Metadata.registerLibrary(Qe,We),e.AllowanceError=J,e.BalanceError=Y,e.BaseEncoder=G,e.COMMIT="8ef3a20",e.ClientSerializer=N,e.CoreUtils=B,e.CryptoUtils=q,e.DefaultContractResolver=de,e.DefaultFabricClientFlags=Re,e.DeterministicSerializer=xe,e.EndorsementError=te,e.EndorsementPolicyError=ae,e.FULL_VERSION="0.13.0-8ef3a20",e.FabricClientAdapter=Ye,e.FabricClientContext=He,e.FabricClientDispatch=Je,e.FabricClientRepository=I,e.FabricERC20ClientRepository=F,e.FabricEnrollmentService=ce,e.FabricFlavour=$,e.FabricIdentityService=Fe,e.ImplicitPrivateCollection=Ee,e.MissingContextError=Q,e.MissingPKCSS11Lib=ee,e.ModelCollection=(e,i)=>{const a=i||("function"!=typeof e?t.Model.ownerOf(e):void 0),n="function"==typeof e?e:e.constructor;if(!a)throw new r.InternalError(`Model ${n.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`${c.toPascalCase(n.name)}${a?c.toPascalCase(a):""}`},e.MvccReadConflictError=re,e.NamespaceCollection=e=>(i,a)=>{const n=a||("function"!=typeof i?t.Model.ownerOf(i):void 0),o="function"==typeof i?i:i.constructor;if(!n)throw new r.InternalError(`Model ${o.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`${e}${n?c.toPascalCase(n):""}`},e.NotInitializedError=Z,e.OverflowError=V,e.Owner=function(){return function(e,t,i){const n=i.value;return i.value=async function(...e){const i=e[0],o=i.clientIdentity.getID(),s=await this.tokenRepository.select(),c=await s.execute(i);if(0==c.length)throw new r.NotFoundError("No tokens avaialble");if(c.length>1)throw new r.NotFoundError("To many token available : "+c.length);if(c[0].owner!=o)throw new a.AuthorizationError(`User not authorized to run ${t} on the token`);return await n.apply(this,e)},i}},e.PACKAGE_NAME=Qe,e.PhantomReadConflictError=ie,e.RegistrationError=W,e.RegistrationRequestBuilder=le,e.SEGREGATED_COLLECTION_EXTRACTION_PRIORITY=35,e.SimpleDeterministicSerializer=Ne,e.TransactionBufferSizeError=se,e.TransactionLimitsError=ne,e.TransactionTimeoutError=oe,e.UnauthorizedPrivateDataAccess=X,e.VERSION=We,e.add=(e,t)=>{const r=e+t;if(e!==r-t||t!==r-e)throw new V(`Addition overflow: ${e} + ${t}`);return r},e.applyMirrorFlags=async(e,r,i)=>{if(!r)return;const a=t.Model.mirroredAt(e);if(!a)return;if(!(r===a.mspId||a.condition&&a.condition(r)))return;const n=await pe(new e,a.resolver,i);i.put("segregateRead",void 0),i.put("segregateReadStack",void 0),i.put("fullySegregated",!0),i.put("mirror",!0),i.put("mirrorCollection",n),i.readFrom(n)},e.applySegregationFlags=Ce,e.chaincode=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CHAINCODE,r)},e.channel=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CHANNEL,r)},e.collectionFor=v,e.contentOfLoadFile=$e,e.contract=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CONTRACT,r)},e.createMirrorHandler=fe,e.deleteMirrorHandler=me,e.evalMirrorMetadata=pe,e.extractCollections=async(e,i,a={},n=!1)=>{let{privateCols:o,sharedCols:s}=t.Model.collectionsFor(e);function c(t){try{return"string"==typeof t?t:t(e,i[0])}catch(e){throw new r.InternalError(e)}}o=o.map(c),s=s.map(c);const l=Object.assign({},{requiredPeerCount:0,maxPeerCount:0,blockToLive:0,memberOnlyRead:!0,memberOnlyWrite:!0},a?.privateCols||{}),d=Object.assign({},{requiredPeerCount:1,maxPeerCount:2,blockToLive:0,memberOnlyRead:!0,memberOnlyWrite:!0},a?.sharedCols||{}),u=n?t.Model.mirroredAt(e):void 0,h=i.map(e=>o.map(t=>{const{requiredPeerCount:r,maxPeerCount:i,blockToLive:a,memberOnlyRead:n}=l;return O(e,t,r,i,a,n,!1)})).flat();if(u&&u.mspId){const t="string"==typeof u.resolver?u.resolver:u.resolver(e,u.mspId);if(t&&!h.some(e=>e.name===t&&e.policy.includes(u.mspId))){const{requiredPeerCount:e,maxPeerCount:r,blockToLive:i,memberOnlyRead:a}=l;h.push(O(u.mspId,t,e,r,i,a,!1))}}return{privates:h,shared:s.map(e=>{const{requiredPeerCount:t,maxPeerCount:r,blockToLive:a,memberOnlyRead:n,memberOnlyWrite:o}=d;return S(i,e,t,r,a,n,o)})}},e.extractIds=R,e.extractMspId=ue,e.extractPrivateKey=je,e.extractSegregatedCollections=Ae,e.generateFabricEventName=(e,t,r)=>{const i=[e,t];return r&&i.push(r),i.join("_")},e.generateModelDesignDocs=(e,t)=>{const r=i.generateViews([e]),a=t||{};return r.forEach(e=>{a[e._id]=e}),r},e.generateModelIndexes=e=>i.generateIndexes([e]),e.getAkiAndSerialFromCert=K,e.getCAUser=async(e,t,r,i)=>{Pe.debug(`Creating a CA ${i} user ${e} with certificate ${r}`);const a=new d.User(e),n=d.User.newCryptoSuite();a.setCryptoSuite(n);const o=n.createKeyFromRaw(t);return await a.setEnrollment(o,r,i),a},e.getFirstDirFileName=ke,e.getFirstDirFileNameContent=Le,e.getIdentity=Ke,e.getSigner=ze,e.mirror=(t,i,a)=>{const n="string"!=typeof i&&!!i,s=n?void 0:i,c=n?i:a;return o.Decoration.for(e.FabricModelKeys.MIRROR).define({decorator:(t,i,a)=>{const n={condition:a,mspId:i,resolver:t};return o.apply(o.metadata(o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR),n),r.onRead(be,n,{priority:30}),r.onCreate(we,n,{priority:20}),r.onUpdate(we,n,{priority:20}),r.onDelete(we,n,{priority:20}),r.onCreate(fe,n,{priority:100}),r.onUpdate(ye,n,{priority:100}),r.onDelete(me,n,{priority:100}))},args:[t,s,c]}).apply()},e.mirrorWriteGuard=we,e.ownedBy=()=>o.Decoration.for(e.FabricModelKeys.OWNED_BY).define({decorator:()=>(i,a)=>o.apply(t.required(),r.generated(),r.readonly(),r.onCreate(he),o.propMetadata(o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.OWNED_BY),a))(i,a),args:[]}).apply(),e.ownedByOnCreate=he,e.parseEventName=Te,e.privateCollectionFor=O,e.privateData=(t=Ee)=>o.Decoration.for(e.FabricModelKeys.PRIVATE).define({decorator:t=>Ie(t,e.FabricModelKeys.PRIVATE),args:[t]}).apply(),e.readFile=Be,e.readMirrorHandler=be,e.readModelFile=C,e.readModelFolders=async(...e)=>{const t=require("fs"),r=require("path"),i=[];for(const a of e){const e=r.resolve(a),n=t.readdirSync(e,{withFileTypes:!0,recursive:!0}).filter(e=>e.isFile()&&e.name.endsWith("js"));for(const e of n)i.push(...C(e))}return i},e.safeParseInt=e=>{if(!/^\d+$/.test(e))throw new r.ValidationError(t.stringFormat("Failed to parse: {0}","string contains digits"));const i=parseInt(e);if(isNaN(i))throw new r.ValidationError(t.stringFormat("Failed to parse: {0}","string is not a parsable integer"));return i},e.segregatedDataOnCreate=ve,e.segregatedDataOnDelete=Me,e.segregatedDataOnRead=Oe,e.segregatedDataOnUpdate=Se,e.sharedCollectionFor=S,e.sharedData=t=>o.Decoration.for(e.FabricModelKeys.SHARED).define({decorator:t=>Ie(t,e.FabricModelKeys.SHARED),args:[t]}).apply(),e.sortKeysOnlyRecursive=_e,e.sub=(e,t)=>{const r=e-t;if(e!==r+t||t!==e-r)throw new V(`Subtraction overflow: ${e} - ${t}`);return r},e.transactionId=()=>o.Decoration.for(e.FabricModelKeys.TRANSACTION_ID).define({decorator:()=>(i,a)=>o.apply(t.required(),r.readonly(),r.onCreate(ge),r.onUpdate(ge),o.propMetadata(o.Metadata.key(e.FabricModelKeys.FABRIC,a,e.FabricModelKeys.TRANSACTION_ID),a))(i,a),args:[]}).apply(),e.transactionIdOnCreate=ge,e.updateMirrorHandler=ye,e.writeCollectionDesignDocs=(e,t=process.cwd(),r)=>{e?.length&&A(e,t,r)},e.writeCollections=(e,t=process.cwd(),r="collections_config")=>{const i=require("fs"),a=require("path"),n=a.resolve(a.join(t,`./META-INF/${r}.json`));!function e(t){const r=a.dirname(t);if(i.existsSync(r))return!0;e(r),i.mkdirSync(r)}(n),i.writeFileSync(n,JSON.stringify(e,void 0,2))},e.writeDesignDocs=A,e.writeIndexes=(e,t=process.cwd(),r)=>{const i=require("fs"),a=require("path");e.forEach(e=>{const n=a.resolve(a.join(t,`./META-INF/statedb/couchdb/${r?`collections/${r}/`:""}indexes/${e.name}.json`));E(n),i.writeFileSync(n,JSON.stringify(e,void 0,2))})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/db-decorators"),require("@decaf-ts/for-couchdb"),require("@decaf-ts/core"),require("tslib"),require("@decaf-ts/decoration"),require("fabric-ca-client"),require("@decaf-ts/logging"),require("@hyperledger/fabric-gateway"),require("fabric-common"),require("crypto"),require("@peculiar/x509"),require("@peculiar/webcrypto"),require("@grpc/grpc-js"),require("fabric-network"),require("fs")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/db-decorators","@decaf-ts/for-couchdb","@decaf-ts/core","tslib","@decaf-ts/decoration","fabric-ca-client","@decaf-ts/logging","@hyperledger/fabric-gateway","fabric-common","crypto","@peculiar/x509","@peculiar/webcrypto","@grpc/grpc-js","fabric-network","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-fabric"]={},e.decafTsDecoratorValidation,e.decafTsDbDecorators,e.decafTsForCouchdb,e.decafTsCore,e.tslib,e.decafTsDecoration,e.fabricCaClient,e.decafTsLogging,e.hyperledgerFabricGateway,e.fabricCommon,e.crypto,e.peculiarX509,e.peculiarWebcrypto,e.grpcGrpcJs,e.fabricNetwork,e.fs);
1
+ var e,t;e=this,t=function(e,t,r,i,a,n,o,s,c,l,d,u,h,g,p,f,y){"use strict";function m(e){var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var w=m(h),b=m(p);function E(e){const t=require("fs"),r=require("path").dirname(e);if(t.existsSync(r))return!0;E(r),t.mkdirSync(r)}function C(e){const r=require("path").resolve(e.parentPath,e.name),i=require(r);return Object.values(i).filter(e=>{try{return new e instanceof t.Model}catch{return!1}})}function A(e,t=process.cwd(),r){if(!e.length)return;const i=require("fs"),a=require("path");e.forEach(e=>{const n=e._id.replace(/^_design\//,""),o=a.resolve(a.join(t,`./META-INF/statedb/couchdb/${r?`collections/${r}/`:""}design_docs/${n}.json`));E(o);const s={...e};delete s._rev,i.writeFileSync(o,JSON.stringify(s,void 0,2))})}function v(e,t,r,i,a,n,o){return{name:e,policy:t,requiredPeerCount:r,maxPeerCount:i,blockToLive:a,memberOnlyRead:n,memberOnlyWrite:o}}function O(e,t=e+"Private",r=0,i=0,a=0,n=!0,o=!0){const s=v(t,`OR('${e}.member')`,r,i,a,n,o);return s.endorsementPolicy={signaturePolicy:`OR('${e}.peer')`},s}function S(e,t,r=1,i=2,a=0,n=!0,o=!0){const s=v(t,`OR(${e.map(e=>`'${e}.member'`).join(",")})`,r,i,a,n,o);return s.endorsementPolicy={signaturePolicy:`AND(${e.map(e=>`'${e}.peer'`).join(",")})`},s}class M extends a.Paginator{constructor(e,t,r,i){super(e,t,r,i)}prepare(e){throw new a.UnsupportedError("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}static isSerializedPage(e){return e&&"object"==typeof e&&Array.isArray(e.data)}}class I extends a.Repository{constructor(e,t,r=!1){super(e,t,r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0,allowGenerationOverride:!1,rebuildWithTransient:!1})}override(e){return super.override(Object.assign({},e,this._overrides)).for(e)}ObserverHandler(){return super.ObserverHandler()}async paginateBy(e,r,i={offset:1,limit:10},...n){const{log:o,ctxArgs:s}=(await this.logCtx(n,a.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);return o.verbose(`paginating ${t.Model.tableName(this.class)} with page size ${i.limit}`),this.statement(this.paginateBy.name,e,r,{limit:i.limit,offset:i.offset,bookmark:i.bookmark},...s)}async listBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return n.verbose(`listing ${t.Model.tableName(this.class)} by ${e} ${r}`),await this.statement(this.listBy.name,e,r,...o)}async findBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return n.verbose(`finding all ${t.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,...o)}async findOneBy(e,r,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return n.verbose(`finding One ${t.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,...o)}async find(e,r=a.OrderDirection.ASC,...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,a.PreparedStatementKeys.FIND,!0)).for(this.find);return n.verbose(`finding ${t.Model.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,e,r,...o)}async page(e,r=a.OrderDirection.ASC,i={offset:1,limit:10},...n){const{log:o,ctxArgs:s}=(await this.logCtx(n,a.PreparedStatementKeys.PAGE,!0)).for(this.page);return o.verbose(`paging ${t.Model.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,e,r,i,...s)}async statement(e,...r){const{log:n,ctx:o,ctxArgs:s}=(await this.logCtx(r,a.PersistenceKeys.STATEMENT,!0)).for(this.statement);n.verbose("Executing prepared statement "+e);const c=s.slice(0,-1),l=JSON.parse(this.adapter.decode(await this.adapter.evaluateTransaction(o,a.PersistenceKeys.STATEMENT,[e,JSON.stringify(c)],void 0,void 0,this.class)));let d;return d=Array.isArray(l)?l.map(e=>e[i.CouchDBKeys.TABLE]&&e[i.CouchDBKeys.TABLE]===t.Model.tableName(this.class)?new this.class(e):e):l[i.CouchDBKeys.TABLE]&&l[i.CouchDBKeys.TABLE]===t.Model.tableName(this.class)?new this.class(l):M.isSerializedPage(l)?Object.assign(l,{data:l.data.map(e=>new this.class(e))}):l,this.applyAfterRead(d,o)}async applyAfterRead(e,i){return i.getOrUndefined("afterQueryHandlers")?e instanceof t.Model?(await r.enforceDBDecorators(this,i,e,r.OperationKeys.READ,r.OperationKeys.AFTER),e):Array.isArray(e)?(await Promise.all(e.map(e=>this.applyAfterRead(e,i))),e):M.isSerializedPage(e)?(await this.applyAfterRead(e.data,i),e):e:e}async countOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.COUNT_OF,!0)).for(this.countOf);i.verbose(`counting ${t.Model.tableName(this.class)}${e?" by "+e:""}`);const o=e?[e,...n]:n;return this.statement(a.PreparedStatementKeys.COUNT_OF,...o)}async maxOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.MAX_OF,!0)).for(this.maxOf);return i.verbose(`finding max of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.MAX_OF,e,...n)}async minOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.MIN_OF,!0)).for(this.minOf);return i.verbose(`finding min of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.MIN_OF,e,...n)}async avgOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.AVG_OF,!0)).for(this.avgOf);return i.verbose(`calculating avg of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.AVG_OF,e,...n)}async sumOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.SUM_OF,!0)).for(this.sumOf);return i.verbose(`calculating sum of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.SUM_OF,e,...n)}async distinctOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.DISTINCT_OF,!0)).for(this.distinctOf);return i.verbose(`finding distinct values of ${e} in ${t.Model.tableName(this.class)}`),this.statement(a.PreparedStatementKeys.DISTINCT_OF,e,...n)}async groupOf(e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,a.PreparedStatementKeys.GROUP_OF,!0)).for(this.groupOf);return i.verbose(`grouping ${t.Model.tableName(this.class)} by ${e}`),this.statement(a.PreparedStatementKeys.GROUP_OF,e,...n)}async healthcheck(...e){const{ctxArgs:t}=this.logCtx(e,this.healthcheck);return await this.adapter.healthcheck(this.class,...t)}async create(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.create);a.debug(`Creating new ${this.class.name} in table ${t.Model.tableName(this.class)}`),this.ensureLegacyMirrorFlag(i,e);const o=this.adapter.prepare(e,i),{record:s,id:c,transient:l}=o,d=await this.adapter.create(this.class,c,s,l,...n);return this.adapter.revert(d,this.class,c,l,i)}async update(e,...r){const{ctxArgs:i,log:a,ctx:n}=this.logCtx(r,this.update);this.ensureLegacyMirrorFlag(n,e);const o=this.adapter.prepare(e,n),{id:s,transient:c}=o;let l=o.record;return a.debug(`updating ${this.class.name} in table ${t.Model.tableName(this.class)} with id ${s}`),l=await this.adapter.update(this.class,s,l,c,...i),this.adapter.revert(l,this.class,s,c,n)}async createAllPrefix(e,...t){const{ctx:i,ctxArgs:a}=(await this.logCtx(t,r.OperationKeys.CREATE,!0)).for(this.createAllPrefix),n=i.get("ignoreHandlers"),o=i.get("ignoreValidation");if(!e.length)return[e,...a];if(e=await Promise.all(e.map(async e=>(e=new this.class(e),n||await r.enforceDBDecorators(this,i,e,r.OperationKeys.CREATE,r.OperationKeys.ON),e))),!o){const t=i.get("ignoredValidationProperties")||[],a=await Promise.all(e.map(e=>Promise.resolve(e.hasErrors(...t)))),n=r.reduceErrorsToPrint(a);if(n)throw new r.ValidationError(n)}return[e,...a]}async createAll(e,...r){if(!e.length)return e;const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.createAll);a.debug(`Creating ${e.length} new ${this.class.name} in table ${t.Model.tableName(this.class)}`),e.forEach(e=>this.ensureLegacyMirrorFlag(i,e));const o=e.map(e=>this.adapter.prepare(e,i)),s=o.map(e=>e.id),c=o.map(e=>e.record),l=o.map(e=>e.transient),d=await this.adapter.createAll(this.class,s,c,l,...n);return Promise.all(d.map(async(e,t)=>{const r=s[t];return this.adapter.revert(e,this.class,r,l[t],i)}))}async readAll(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.readAll);return a.debug(`reading ${e.length} ${this.class.name} in table ${t.Model.tableName(this.class)}`),(await this.adapter.readAll(this.class,e,...n)).map((t,r)=>this.adapter.revert(t,this.class,e[r],{},i))}async updateAll(e,...r){const{ctx:i,log:a,ctxArgs:n}=this.logCtx(r,this.updateAll);a.debug(`Updating ${e.length} new ${this.class.name} in table ${t.Model.tableName(this.class)}`),e.forEach(e=>this.ensureLegacyMirrorFlag(i,e));const o=e.map(e=>this.adapter.prepare(e,i)),s=o.map(e=>e.id),c=await this.adapter.updateAll(this.class,s,o.map(e=>e.record),o.map(e=>e.transient),...n);return Promise.all(c.map(async(e,t)=>{const r=s[t];return this.adapter.revert(e,this.class,r,o[t].transient,i)}))}ensureLegacyMirrorFlag(e,r){t.Model.mirroredAt(r)&&e.accumulate({legacy:!0})}}let _=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),n.__metadata("design:type",String)],_.prototype,"name",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],_.prototype,"owner",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],_.prototype,"symbol",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],_.prototype,"decimals",void 0),_=n.__decorate([a.table("erc20_tokens"),t.model(),n.__metadata("design:paramtypes",[Object])],_);let x=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),n.__metadata("design:type",String)],x.prototype,"id",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],x.prototype,"token",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],x.prototype,"balance",void 0),n.__decorate([a.column(),n.__metadata("design:type",String)],x.prototype,"captive",void 0),x=n.__decorate([a.table("erc20_wallets"),t.model(),n.__metadata("design:paramtypes",[Object])],x);let T=class extends a.BaseModel{constructor(e){super(e)}};n.__decorate([a.pk({type:String}),a.column(),t.required(),n.__metadata("design:type",String)],T.prototype,"owner",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],T.prototype,"spender",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",Number)],T.prototype,"value",void 0),T=n.__decorate([a.table("erc20_allowances"),t.model(),n.__metadata("design:paramtypes",[Object])],T);class N extends t.JSONSerializer{constructor(){super()}preSerialize(e,i){const a=Object.assign({},e);let n=o.Metadata.modelName(e.constructor);if(!n||"Object"===n){if(!i)throw new r.SerializationError("Could not find metadata for "+e.constructor.name);n=i}return a[t.ModelKeys.ANCHOR]=n,a}deserialize(e){const r=JSON.parse(e),i=r[t.ModelKeys.ANCHOR];if(!i)throw Error("Could not find class reference in serialized model");return t.Model.build(r,i)}serialize(e,t){return JSON.stringify(this.preSerialize(e,t))}}class F extends I{static{this.serializer=new N}static{this.decoder=new TextDecoder("utf8")}async updateObservers(e,i,n,...o){if(!this.observerHandler)throw new r.InternalError("ObserverHandler not initialized. Did you register any observables?");const{log:s,ctxArgs:c}=this.logCtx(o,this.updateObservers);let l;s.verbose(`Updating ${this.observerHandler.count()} observers for ${this}`),e="string"==typeof e?t.Model.get(e):e,l=void 0===n?void 0:Array.isArray(n)?n.map(r=>a.Sequence.parseValue(t.Model.sequenceFor(e).type,r)):a.Sequence.parseValue(t.Model.sequenceFor(e).type,n),await this.observerHandler.updateObservers(e,i,l,...c)}decode(e){return F.decoder.decode(e)}constructor(e){super(e,x),this.serializer=F.serializer}async tokenName(...e){const{ctx:t}=(await this.logCtx(e,"tokenName",!0)).for(this.tokenName),r=await this.adapter.evaluateTransaction(t,"TokenName");return this.decode(r)}async symbol(...e){const{ctx:t}=(await this.logCtx(e,"symbol",!0)).for(this.symbol),r=await this.adapter.evaluateTransaction(t,"Symbol");return this.decode(r)}async decimals(...e){const{ctx:t}=(await this.logCtx(e,"decimals",!0)).for(this.decimals),r=await this.adapter.evaluateTransaction(t,"Decimals");return Number(this.decode(r))}async totalSupply(...e){const{ctx:t}=(await this.logCtx(e,"totalSupply",!0)).for(this.totalSupply),r=await this.adapter.evaluateTransaction(t,"TotalSupply");return Number(this.decode(r))}async balanceOf(e,...t){const{ctx:r}=(await this.logCtx(t,"balance",!0)).for(this.balanceOf),i=await this.adapter.evaluateTransaction(r,"BalanceOf",[e]);return Number(this.decode(i))}async transfer(e,t,...r){const{ctx:i}=(await this.logCtx(r,"transfer",!0)).for(this.transfer),a=await this.adapter.submitTransaction(i,"Transfer",[e,t.toString()]);return"true"===this.decode(a)}async transferFrom(e,t,r){const i=await a.Context.args("transferFrom",this.class,[],this.adapter,this._overrides||{}),{ctx:n}=this.logCtx(i.args,this.transferFrom),o=await this.adapter.submitTransaction(n,"TransferFrom",[e,t,r.toString()]);return"true"===this.decode(o)}async approve(e,t){const r=await a.Context.args("approve",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.approve),n=await this.adapter.submitTransaction(i,"Approve",[e,t.toString()]);return"true"===this.decode(n)}async allowance(e,t){const r=await a.Context.args("allowance",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.allowance),n=await this.adapter.submitTransaction(i,"Allowance",[e,t]);return Number(this.decode(n))}async initialize(e){const t=await a.Context.args("initialize",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.initialize),i=await this.adapter.submitTransaction(r,"Initialize",[F.serializer.serialize(e)]);return"true"===this.decode(i)}async checkInitialized(){const e=await a.Context.args("checkInitialized",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.checkInitialized);await this.adapter.evaluateTransaction(t,"CheckInitialized")}async mint(e){const t=await a.Context.args("mint",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.mint);await this.adapter.submitTransaction(r,"Mint",[e.toString()])}async burn(e){const t=await a.Context.args("burn",this.class,[],this.adapter,this._overrides||{}),{ctx:r}=this.logCtx(t.args,this.burn);await this.adapter.submitTransaction(r,"Burn",[e.toString()])}async burnFrom(e,t){const r=await a.Context.args("burnFrom",this.class,[],this.adapter,this._overrides||{}),{ctx:i}=this.logCtx(r.args,this.burnFrom);await this.adapter.submitTransaction(i,"BurnFrom",[e,t.toString()])}async clientAccountBalance(){const e=await a.Context.args("accountBalance",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.clientAccountBalance),r=await this.adapter.evaluateTransaction(t,"ClientAccountBalance");return Number(this.decode(r))}async clientAccountID(){const e=await a.Context.args("accountId",this.class,[],this.adapter,this._overrides||{}),{ctx:t}=this.logCtx(e.args,this.clientAccountID),r=await this.adapter.evaluateTransaction(t,"ClientAccountID");return this.decode(r)}}function R(e,i,a){let n,o,s;function c(i,a){if(n=n||t.Model.pk(e),s=s||t.Model.sequenceFor(e),o=o||t.Model.composed(e,n),o)return r.composeAttributeValue(i,o);const c=i[n]||a;if(void 0===c)throw new r.InternalError("could not rebuild id for "+i.constructor.name);return c}if(Array.isArray(i)){if(!Array.isArray(a)||a.length!==i.length)throw new r.InternalError("inconsistent parameters. both must be arrays of equal length");return i.map((e,t)=>c(e,a[t]))}return c(i,a)}var P;e.IdentityCredentials=class extends a.BaseModel{constructor(e){super(e)}},n.__decorate([o.description("Unique identifier of the credentials record"),a.column(),a.pk(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"id",void 0),n.__decorate([o.description("PEM-encoded X.509 certificate for the identity"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"certificate",void 0),n.__decorate([o.description("PEM-encoded root or intermediate certificate"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"rootCertificate",void 0),n.__decorate([o.description("PEM-encoded private key"),a.column(),t.required(),n.__metadata("design:type",String)],e.IdentityCredentials.prototype,"privateKey",void 0),e.IdentityCredentials=n.__decorate([t.model(),n.__metadata("design:paramtypes",[Object])],e.IdentityCredentials),e.FabricModelKeys=void 0,(P=e.FabricModelKeys||(e.FabricModelKeys={})).PRIVATE="private",P.SHARED="shared",P.FABRIC="fabric",P.OWNED_BY="owned-by",P.TRANSACTION_ID="transaction-id",P.MIRROR="mirror",P.CONTRACT="fabric.contract",P.CHAINCODE="fabric.chaincode",P.CHANNEL="fabric.channel",P.OVERRIDES="__overrides",e.IdentityType=void 0,(e.IdentityType||(e.IdentityType={})).X509="X.509";const $="hlf-fabric";e.Identity=class extends a.BaseModel{constructor(t){super(t),this.type=e.IdentityType.X509}},n.__decorate([o.description("Unique identifier of the identity"),a.pk(),n.__metadata("design:type",String)],e.Identity.prototype,"id",void 0),n.__decorate([a.oneToOne(e.IdentityCredentials,{update:a.Cascade.CASCADE,delete:a.Cascade.CASCADE}),n.__metadata("design:type",e.IdentityCredentials)],e.Identity.prototype,"credentials",void 0),n.__decorate([a.column(),t.required(),a.index(),n.__metadata("design:type",String)],e.Identity.prototype,"mspId",void 0),n.__decorate([a.column(),t.required(),n.__metadata("design:type",String)],e.Identity.prototype,"type",void 0),e.Identity=n.__decorate([t.model(),n.__metadata("design:paramtypes",[Object])],e.Identity);class B{static{this.logger=new c.MiniLogger(B.name)}constructor(){}static async contentOfLoadFile(e,t){return e instanceof Uint8Array||e.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms)?e:await t(e)}static async readFile(e){return"string"!=typeof e?e:await(async e=>{const{promises:t}=await a.normalizeImport(import("fs"));return await t.readFile(e)})(e)}static async getCAUser(e,r,i,a,n){this.logger.debug(t.stringFormat("Creating CA {0} user {1} with certificate {2}",a,e,i));const o=new d.User(e),s=n?.hsm?{software:!1,lib:n.hsm.library,slot:n.hsm.slot,label:n.hsm.tokenLabel,pin:n.hsm.pin+""}:void 0,c=this.getCryptoSuite(s);o.setCryptoSuite(c);const l=n?.hsm?await this.getHSMEnrollmentKey(c,i,n.hsm):this.getSoftwareEnrollmentKey(c,r);return await o.setEnrollment(l,i,a),o}static getCryptoSuite(e){return e?(B.cryptoSuite||(B.cryptoSuite=d.User.newCryptoSuite(e)),B.cryptoSuite):d.User.newCryptoSuite()}static getSoftwareEnrollmentKey(e,t){if(!t)throw Error("Private key must be provided when HSM configuration is not supplied");return e.createKeyFromRaw(t)}static async getHSMEnrollmentKey(e,t,r){const i=r.keyIdHex&&r.keyIdHex.trim().length>0?Buffer.from(r.keyIdHex,"hex"):await this.getCertificateSKI(t),a=await e.getKey(i);if(!a||"function"==typeof a.isPrivate&&!a.isPrivate())throw Error("Unable to resolve private key from HSM");return a}static async getCertificateSKI(e){const t=new u.X509Certificate(e).publicKey.export({format:"jwk"}),r=Buffer.from([4]),i=Buffer.from(t.x||"","base64url"),a=Buffer.from(t.y||"","base64url");return u.createHash("sha256").update(Buffer.concat([r,i,a])).digest()}static async getIdentity(e,t){return{mspId:e,credentials:await this.contentOfLoadFile(t,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await this.getFirstDirFileName(e);return await t.readFile(r)})}}static async getFirstDirFileName(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path"));return r(e,(await t.readdir(e))[0])}static async getFirstDirFileNameContent(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path")),i=await t.readdir(e);return(await t.readFile(r(e,i[0]))).toString()}static async getFileContent(e){const{promises:t}=await a.normalizeImport(import("fs"));return(await t.readFile(e)).toString()}static async getSigner(e){const t=await this.contentOfLoadFile(e,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await this.getFirstDirFileName(e);return await t.readFile(r)}),r=await this.extractPrivateKey(t),i=r[Object.getOwnPropertySymbols(r)[0]];return l.signers.newPrivateKeySigner(i)}static async extractPrivateKey(e){let t;if(globalThis.window&&globalThis.window.Crypto)t=globalThis.Crypto.subtle;else{const e=await a.normalizeImport(import("crypto"));t=e.subtle||e.webcrypto.subtle}if(!t)throw Error("Could not load SubtleCrypto module");const r=e.toString("utf8").replace("-----BEGIN PRIVATE KEY-----","").replaceAll("\n","").replace("-----END PRIVATE KEY-----",""),i=(e=>{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t})(Buffer.from(r,"base64").toString("binary"));return await t.importKey("pkcs8",i,{name:"ECDSA",namedCurve:"P-256"},!0,["sign"])}}function K(e){const t=new h.X509Certificate(e),r=t.extensions?.find(e=>"2.5.29.35"===e.type);if(!r)throw Error("Authority Key Identifier (AKI) extension not found in certificate.");let i=Buffer.from(new Uint8Array(r.value)).toString("hex").toUpperCase();return i.startsWith("30168014")&&i.length>=48&&(i=i.slice(8,48)),{aki:i,serial:t.serialNumber}}const k=new g.Crypto;var L,z,j,U,H;w.cryptoProvider.set(k),e.BASE_ALPHABET=void 0,(L=e.BASE_ALPHABET||(e.BASE_ALPHABET={})).BASE2="01",L.BASE8="01234567",L.BASE11="0123456789a",L.BASE16="0123456789abcdef",L.BASE32="0123456789ABCDEFGHJKMNPQRSTVWXYZ",L.BASE32_Z="ybndrfg8ejkmcpqxot1uwisza345h769",L.BASE36="0123456789abcdefghijklmnopqrstuvwxyz",L.BASE58="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",L.BASE62="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",L.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L.BASE67="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~",e.CRYPTO=void 0,(z=e.CRYPTO||(e.CRYPTO={})).HASH="SHA-256",z[z.ITERATIONS=1e3]="ITERATIONS",z[z.KEYLENGTH=48]="KEYLENGTH",z[z.DERIVED_IV_LENGTH=16]="DERIVED_IV_LENGTH",z[z.DERIVED_KEY_LENGTH=32]="DERIVED_KEY_LENGTH",z.ALGORYTHM="AES-GCM",z.KEY_ALGORYTHM="PBKDF2";class G{constructor(e){if(this.alphabet=e,this.baseMap=new Uint8Array(256),this.alphabet.length>=255)throw Error("Alphabet too long");for(let e=0;e<this.baseMap.length;e++)this.baseMap[e]=255;for(let t=0;t<e.length;t++){const r=e.charAt(t),i=r.charCodeAt(0);if(255!==this.baseMap[i])throw Error(r+" is ambiguous");this.baseMap[i]=t}this.base=this.alphabet.length,this.leader=this.alphabet.charAt(0),this.factor=Math.log(this.base)/Math.log(256),this.iFactor=Math.log(256)/Math.log(this.base)}encode(e){if("string"==typeof e?e=Buffer.from(e):ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e)),0===e.length)return"";let t=0,r=0,i=0;const a=e.length;for(;i!==a&&0===e[i];)i++,t++;const n=(a-i)*this.iFactor+1>>>0,o=new Uint8Array(n);for(;i!==a;){let t=e[i],a=0;for(let e=n-1;(0!==t||r>a)&&-1!==e;e--,a++)t+=256*o[e]>>>0,o[e]=t%this.base>>>0,t=t/this.base>>>0;if(0!==t)throw Error("Non-zero carry");r=a,i++}let s=n-r;for(;s!==n&&0===o[s];)s++;let c=this.leader.repeat(t);for(;n>s;++s)c+=this.alphabet.charAt(o[s]);return c}decodeUnsafe(e){if(0===e.length)return new Uint8Array(0);let t=0,r=0,i=0;for(;e[t]===this.leader;)r++,t++;const a=(e.length-t)*this.factor+1>>>0,n=new Uint8Array(a);for(;e[t];){let r=this.baseMap[e.charCodeAt(t)];if(255===r)return;let o=0;for(let e=a-1;(0!==r||i>o)&&-1!==e;e--,o++)r+=this.base*n[e]>>>0,n[e]=r%256>>>0,r=r/256>>>0;if(0!==r)throw Error("Non-zero carry");i=o,t++}let o=a-i;for(;o!==a&&0===n[o];)o++;const s=new Uint8Array(r+(a-o));let c=r;for(;o!==a;)s[c++]=n[o++];return s}decode(e){const t=this.decodeUnsafe(e);if(t)return t;throw Error("Non-base"+this.base+" character")}}class q{static{this.b58encoder=new G(e.BASE_ALPHABET.BASE58)}static{this.logger=new c.MiniLogger(q.name)}constructor(){}static fabricIdFromCertificate(e){this.logger.debug(t.stringFormat("Parsing certificate: {0}",e));const r=new w.X509Certificate(e),{subject:i,issuer:a}=r;return this.logger.debug(t.stringFormat("Certificate parsed with subject {0} and issuer {1}",i,a)),`x509::/${i.replaceAll(", ","/")}::/${a.replaceAll(", ","/")}`}static encode(e){return this.b58encoder.encode(e)}static decode(e){const t=this.b58encoder.decode(e);return(new TextDecoder).decode(t)}static stringToArrayBuffer(e){const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t}static async extractKey(e,t,r){const i=k.subtle,a=t.toString("utf8").replace(RegExp(`-----BEGIN (${e.toUpperCase()} KEY|CERTIFICATE)-----`),"").replaceAll("\n","").replace(RegExp(`-----END (${e.toUpperCase()} KEY|CERTIFICATE)-----`),""),n=Buffer.from(a,"base64").toString("binary"),o=this.stringToArrayBuffer(n);return await i.importKey("pkcs8",o,{name:"ECDSA",namedCurve:"P-256"},!0,r||["sign"])}static async extractPrivateKey(e,t){return this.extractKey("private",e,t)}static async extractPublicKey(e,t){return this.extractKey("public",e,t)}static async sign(e,t){const r=await this.extractPrivateKey(e),i=await k.subtle.sign({name:"ECDSA",hash:"SHA-256"},r,t);return Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,"0")).join("")}static async verify(e,t,r){const i=new w.X509Certificate(e),a=await i.publicKey.export();return t="string"==typeof t?Buffer.from(t,"hex"):t,r="string"==typeof r?Buffer.from(r):r,k.subtle.verify({name:"ECDSA",hash:"SHA-256"},a,t,r)}static async encrypt(e,t){const r=new w.X509Certificate(e),i=await r.publicKey.export();t="string"==typeof t?Buffer.from(t):t;const a=await this.getSubtleCrypto().encrypt({name:"ECDSA"},i,t);return Array.from(new Uint8Array(a)).map(e=>e.toString(16).padStart(2,"0")).join("")}static getSubtleCrypto(){return c.isBrowser()?globalThis.window.crypto.subtle:k.subtle}static async decrypt(e,t){const r=await this.extractPrivateKey(e);return t="string"==typeof t?Buffer.from(t,"hex"):t,this.getSubtleCrypto().decrypt({name:"ECDSA"},r,t)}static async getMaster(t){const r=new TextEncoder;if(void 0===t){const e=k.randomUUID();t=r.encode(e).buffer}return{key:await this.getSubtleCrypto().importKey("raw",t,e.CRYPTO.KEY_ALGORYTHM,!1,["deriveBits"]),iv:t}}static async getDerivationKey(t,r){const i=(new TextEncoder).encode(t),a=await this.getSubtleCrypto().digest("SHA-256",i),n={name:e.CRYPTO.KEY_ALGORYTHM,hash:e.CRYPTO.HASH,salt:a,iterations:e.CRYPTO.ITERATIONS},o=await this.getSubtleCrypto().deriveBits(n,r,8*e.CRYPTO.KEYLENGTH);return this.getKey(o)}static async getKey(t){const r=t.slice(0,32),i=t.slice(32);return{key:await this.getSubtleCrypto().importKey("raw",r,{name:e.CRYPTO.ALGORYTHM},!1,["encrypt","decrypt"]),iv:i}}static async encryptPin(t,r){const i=(new TextEncoder).encode(t);return await this.getSubtleCrypto().encrypt({name:e.CRYPTO.ALGORYTHM,iv:r.iv},r.key,i)}static async decryptPin(t,r){const i=new TextDecoder,a=await this.getSubtleCrypto().decrypt({name:e.CRYPTO.ALGORYTHM,iv:r.iv},r.key,t);return i.decode(a)}}class V extends r.InternalError{constructor(e){super(e,V.name)}}class Y extends r.InternalError{constructor(e){super(e,Y.name)}}class J extends r.InternalError{constructor(e){super(e,J.name)}}class W extends a.AuthorizationError{constructor(e){super(e,W.name)}}class Q extends r.InternalError{constructor(e){super(e,Q.name,500)}}class X extends r.BaseError{constructor(e="MISSING_PRIVATE_DATA_ERROR_MESSAGE"){super(X.name,e,403)}}class Z extends r.BaseError{constructor(e){super(Z.name,e,409)}}class ee extends r.InternalError{constructor(e){super(e,ee.name,500)}}class te extends r.InternalError{constructor(e){super(e,te.name,500)}}class re extends r.InternalError{constructor(e){super(e,re.name,500)}}class ie extends r.InternalError{constructor(e){super(e,ie.name,500)}}class ae extends r.InternalError{constructor(e){super(e,ae.name,500)}}class ne extends r.InternalError{constructor(e,t=ne.name,r=590){super(e,t,r)}}class oe extends r.InternalError{constructor(e){super(e,oe.name,591)}}class se extends r.InternalError{constructor(e){super(e,se.name,592)}}e.HFCAIdentityType=void 0,(j=e.HFCAIdentityType||(e.HFCAIdentityType={})).PEER="peer",j.ORDERER="orderer",j.CLIENT="client",j.USER="user",j.ADMIN="admin",e.HFCAIdentityAttributes=void 0,(U=e.HFCAIdentityAttributes||(e.HFCAIdentityAttributes={})).HFREGISTRARROLES="hf.Registrar.Roles",U.HFREGISTRARDELEGATEROLES="hf.Registrar.DelegateRoles",U.HFREGISTRARATTRIBUTES="hf.Registrar.Attributes",U.HFINTERMEDIATECA="hf.IntermediateCA",U.HFREVOKER="hf.Revoker",U.HFAFFILIATIONMGR="hf.AffiliationMgr",U.HFGENCRL="hf.GenCRL";class ce extends c.LoggedClass{constructor(e){B.getCryptoSuite(e.hsm?{software:!1,lib:e.hsm.library,slot:e.hsm.slot,label:e.hsm.tokenLabel,pin:e.hsm.pin+""}:void 0),super(),this.caConfig=e}async User(){if(this.user)return this.user;const{caName:e,caCert:t,caKey:i,url:a,hsm:n}=this.caConfig,o=this.log.for(this.User);o.debug(`Creating CA user for ${e} at ${a}`),o.debug("Retrieving CA certificate from "+t);const s=await B.getFirstDirFileNameContent(t);let c;if(n)o.debug(`Using HSM configuration for CA ${e} with library ${n.library}`);else{if(!i)throw new r.InternalError(`Missing caKey configuration for CA ${e}. Provide a key directory or configure HSM support.`);o.debug("Retrieving CA key from "+i),c=await B.getFirstDirFileNameContent(i)}return o.debug("Loading Admin user for ca "+e),this.user=await B.getCAUser("admin",c,s,e,{hsm:n}),this.user}async CA(){if(this.ca)return this.ca;const e=this.log.for(this.CA),{url:t,tls:r,caName:i}=this.caConfig;let{trustedRoots:a,verify:n}=r;const o=a[0];e.debug(`Retrieving CA certificate from ${o}. cwd: ${process.cwd()}`);const c=await B.getFileContent(o);return e.debug(`Creating CA Client for CA ${i} under ${t}`),this.ca=new s(t,{trustedRoots:Buffer.from(c),verify:n},i),this.ca}async Client(){if(this.client)return this.client;const e=await this.CA();return this.client=e._FabricCAServices,this.client}async Certificate(){return this.certificateService||(this.certificateService=(await this.Client()).newCertificateService()),this.certificateService}async Affiliations(){return this.affiliationService||(this.affiliationService=(await this.CA()).newAffiliationService()),this.affiliationService}async Identities(){return this.identityService||(this.identityService=(await this.CA()).newIdentityService()),this.identityService}async getCertificates(e,t=!0){const r=await this.Certificate(),i=await this.User(),a=this.log.for(this.getCertificates);a.debug(`Retrieving certificates${e?" for "+e.id:""} for CA ${this.caConfig.caName}`);const n=(await r.getCertificates(e||{},i)).result;return a.debug(`Found ${n.certs.length} certificates: ${JSON.stringify(n)}`),t?n.certs.map(e=>e.PEM):n}async getIdentities(){const e=await this.Identities(),t=this.log.for(this.getIdentities);t.debug("Retrieving Identities under CA "+this.caConfig.caName);const r=(await e.getAll(await this.User())).result;return t.debug(`Found ${r.identities.length} Identities: ${JSON.stringify(r)}`),r.identities}parseError(e){const t=/.*code:\s(\d+).*?message:\s["'](.+)["']/gs.exec(e.message);if(!t)return new W(e);const[,i,n]=t;switch(i){case"74":case"71":return new r.ConflictError(n);case"20":return new a.AuthorizationError(n);default:return new W(n)}}async getAffiliations(){const e=await this.Affiliations(),t=this.log.for(this.getAffiliations);t.debug("Retrieving Affiliations under CA "+this.caConfig.caName);const r=(await e.getAll(await this.User())).result;return t.debug(`Found ${r.a.length} Affiliations: ${JSON.stringify(r)}`),r}async read(e){const t=await this.CA(),i=await this.User();let a;try{a=await t.newIdentityService().getOne(e,i)}catch(t){throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${t}`)}if(!a.success)throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${a.errors.join("\n")}`);return a.result}async register(e,t=!1,r="",i,a,n){let o;const s=this.log.for(this.register);try{const{userName:c,password:l}=e,d=await this.CA(),u=await this.User(),h={enrollmentID:c,enrollmentSecret:l,affiliation:r,userRole:i,attrs:a,maxEnrollments:n};o=await d.register(h,u),s.info(`Registration for ${c} created with user type ${i??"Undefined Role"} ${t?"as super user":""}`)}catch(e){throw this.parseError(e)}return o}static identityFromEnrollment(t,r){const{certificate:i,key:a,rootCertificate:n}=t,o=c.Logging.for(ce,{}).for(this.identityFromEnrollment);o.debug(`Generating Identity from certificate ${i} in msp ${r}`);const s=q.fabricIdFromCertificate(i),l=q.encode(s);o.debug(`Identity ${s} and encodedId ${l}`);const d=new Date;return new e.Identity({id:l,credentials:{id:l,certificate:i,privateKey:a.toBytes(),rootCertificate:n,createdOn:d,updatedOn:d},mspId:r,createdOn:d,updatedOn:d})}async enroll(e,t){let r;const i=this.log.for(this.enroll);try{const a=await this.CA();i.debug("Enrolling "+e);const n=await a.enroll({enrollmentID:e,enrollmentSecret:t});r=ce.identityFromEnrollment(n,this.caConfig.caName),i.info(`Successfully enrolled ${e} under ${this.caConfig.caName} as ${r.id}`)}catch(e){throw this.parseError(e)}return r}async registerAndEnroll(e,t=!1,r="",i,a,n){const o=await this.register(e,t,r,i,a,n),{userName:s}=e;return this.enroll(s,o)}async revoke(e){const t=await this.CA(),i=await this.User(),a=await this.read(e);if(!a)throw new r.NotFoundError("Could not find enrollment with id "+e);let n;try{n=await t.revoke({enrollmentID:a.id,reason:"User Deletation"},i)}catch(t){throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${t}`)}if(!n.success)throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${n.errors.join("\n")}`);return n}}class le extends t.Model{constructor(){super(...arguments),this.affiliation=""}build(){const e=this.hasErrors();if(e)throw new r.ValidationError(e.toString());const t={enrollmentID:this.enrollmentID,enrollmentSecret:this.enrollmentSecret,role:this.role,affiliation:this.affiliation};return void 0!==this.maxEnrollments&&(t.maxEnrollments=this.maxEnrollments),this.attrs&&(t.attrs=this.attrs),t}setAffiliation(e){return this.affiliation=e,this}addAttr(e){return this.attrs=this.attrs||[],this.attrs.push(e),this}setAttrs(e){return this.attrs=e,this}setEnrollmentID(e){return this.enrollmentID=e,this}setEnrollmentSecret(e){return this.enrollmentSecret=e,this}setMaxEnrollments(e){return this.maxEnrollments=e,this}setRole(e){return this.role=e,this}}n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"affiliation",void 0),n.__decorate([t.minlength(1),n.__metadata("design:type",Array)],le.prototype,"attrs",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"enrollmentID",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"enrollmentSecret",void 0),n.__decorate([t.min(0),n.__metadata("design:type",Number)],le.prototype,"maxEnrollments",void 0),n.__decorate([t.required(),n.__metadata("design:type",String)],le.prototype,"role",void 0),t.Model.prototype.isShared=function(){return t.Model.isShared(this.constructor)},t.Model.prototype.isPrivate=function(){return t.Model.isPrivate(this.constructor)},t.Model.prototype.segregate=function(){return t.Model.segregate(this)},t.Model.segregate=(i=>{if(!t.Model.isTransient(i))return{model:i};const a=o.Metadata.getAttributes(i.constructor)||[],n=o.Metadata.get(i.constructor,r.DBKeys.TRANSIENT),s=o.Metadata.get(i.constructor,e.FabricModelKeys.PRIVATE),c=o.Metadata.get(i.constructor,e.FabricModelKeys.SHARED),l={model:{},public:{},transient:{},privates:{},shared:{}},d=Object.keys(n||{}),u=Object.keys(s||{}),h=Object.keys(c||{});for(const e of a){const t=i[e],r=d.includes(e),a=!r,n=u.includes(e),o=h.includes(e);(r||n||o)&&(l.transient=l.transient||{},l.transient[e]=t),n&&(l.privates=l.privates||{},l.privates[e]=t),o&&(l.shared=l.shared||{},l.shared[e]=t),a&&(l.public=l.public||{},l.public[e]=t)}return l.model=t.Model.build(l.public,i.constructor.name),l}).bind(t.Model),t.Model.isPrivate=(t=>!!o.Metadata.get("function"!=typeof t?t.constructor:t,e.FabricModelKeys.PRIVATE)).bind(t.Model),t.Model.isShared=(t=>!!o.Metadata.get("function"!=typeof t?t.constructor:t,e.FabricModelKeys.SHARED)).bind(t.Model),t.Model.mirrored=(t=>o.Metadata.get("function"!=typeof t?t.constructor:t,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR))).bind(t.Model),t.Model.ownerOf=(t=>{const r=o.Metadata.get(t.constructor,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.OWNED_BY));if(r)return t[r]}).bind(t.Model),t.Model.mirroredAt=(t=>(t="function"!=typeof t?t.constructor:t,o.Metadata.get(t,o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR)))).bind(t.Model),t.Model.collectionsFor=(t=>{const r=[e.FabricModelKeys.PRIVATE],i=[e.FabricModelKeys.SHARED],a=o.Metadata.key(...r),n=o.Metadata.key(...i),s="function"==typeof t?t:t.constructor,c=o.Metadata.get(s,a),l=o.Metadata.get(s,n);return{privateCols:c?.collections||[],sharedCols:l?.collections||[]}}).bind(t.Model),t.Model.chaincodeOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CHAINCODE);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),t.Model.contractOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CONTRACT);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),t.Model.channelOf=((t,...i)=>{const n=o.Metadata.get(t,e.FabricModelKeys.CHANNEL);if(!n||!n.resolver)return;if("string"==typeof n.resolver)return n.resolver;const s=i.pop();if(!(s&&s instanceof a.Context))throw new r.InternalError("No context provided for chaincode resolution");return n.resolver(t,...i,s)}).bind(t.Model),e.ERC20Events=void 0,(H=e.ERC20Events||(e.ERC20Events={})).TRANSFER="Transfer",H.APPROVAL="Approval",e.FabricBaseModel=class extends t.Model{constructor(e){super(e)}},n.__decorate([o.description("Stores the original timestamp of creation"),a.column(),a.createdAt(),n.__metadata("design:type",Date)],e.FabricBaseModel.prototype,"createdAt",void 0),n.__decorate([o.description("Stores the timestamp of the last update"),a.column(),a.updatedAt(),n.__metadata("design:type",Date)],e.FabricBaseModel.prototype,"updatedAt",void 0),n.__decorate([o.description("Stores the version of the model"),a.column(),r.version(),n.__metadata("design:type",Number)],e.FabricBaseModel.prototype,"version",void 0),e.FabricBaseModel=n.__decorate([o.uses($),n.__metadata("design:paramtypes",[Object])],e.FabricBaseModel),e.FabricIdentifiedBaseModel=class extends e.FabricBaseModel{constructor(e){super(e)}},n.__decorate([o.description("Stores the creator"),a.column(),a.createdBy(),n.__metadata("design:type",String)],e.FabricIdentifiedBaseModel.prototype,"createdBy",void 0),n.__decorate([o.description("Stores the user that last updated the model"),a.column(),a.updatedBy(),n.__metadata("design:type",String)],e.FabricIdentifiedBaseModel.prototype,"updatedBy",void 0),e.FabricIdentifiedBaseModel=n.__decorate([o.uses($),n.__metadata("design:paramtypes",[Object])],e.FabricIdentifiedBaseModel);const de=(e,...t)=>e.name+"Contract";function ue(e){if(e)return"string"==typeof e?e:e.getMSPID()}async function he(e,t,r,i){const{stub:a}=e,n=e.getOrUndefined("allowGenerationOverride")||!1;let o=(await a.getCreator()).mspid;e.logger.info(`Expected mspid to be ${i[r]} | ${o}. \n Using allowGenerationOverride: ${n}`),n&&(o=i[r]?i[r]:o),Object.defineProperty(i,r,{enumerable:!0,writable:!1,configurable:!0,value:o})}async function ge(e,t,r,i){const{stub:a}=e;i[r]=a.getTxID()}async function pe(e,i,a){let n=i;if("string"!=typeof n)try{const r=t.Model.ownerOf(e)||a.get("stub").getCreator().toString();i&&"function"==typeof i&&(n=await i(e,r,a))}catch(e){throw new r.InternalError("Failed to resolve collection mirror name: "+e)}if(!n||"string"!=typeof n)throw new r.InternalError("No collection found model "+e.constructor.name);return n}async function fe(e,r,i,a){const n=await pe(a,r.resolver,e),o=e,s=a;o.put("mirror",!0),o.put("mirrorCollection",n);try{const r=this.override(Object.assign({},this._overrides,{mirror:!0,mirrorCollection:n,ignoreValidation:!0,ignoreHandlers:!0})),i=await r.create(s,e);e.logger.info(`Mirror for ${t.Model.tableName(this.class)} created with ${t.Model.pk(a)}: ${i[t.Model.pk(a)]}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0)}}async function ye(e,r,i,a){const n=await pe(a,r.resolver,e),o=e,s=a;o.put("mirror",!0),o.put("mirrorCollection",n);try{const r=this.override(Object.assign({},this._overrides,{mirror:!0,mirrorCollection:n,ignoreValidation:!0,ignoreHandlers:!0,applyUpdateValidation:!1,mergeForUpdate:!1}));await r.update(s,e),e.logger.info(`Mirror for ${t.Model.tableName(this.class)} updated: ${a[t.Model.pk(a)]}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0)}}async function me(e,r,i,a){const n=await pe(a,r.resolver,e),o=e;o.put("mirror",!0),o.put("mirrorCollection",n),o.put("segregated",n);try{const r=a[t.Model.pk(a)],i=this.override(Object.assign({},this._overrides,{segregated:n,mirror:!0,ignoreValidation:!0,ignoreHandlers:!0}));try{await i.delete(r,e)}catch{}e.logger.info(`Mirror for ${t.Model.tableName(this.class)} deleted: ${r+""}`)}finally{o.put("mirror",void 0),o.put("mirrorCollection",void 0),o.put("segregated",void 0)}}async function we(e,t,r,i){const n=ue(e.get("identity"));if(n&&(n===t.mspId||t.condition&&t.condition(n)))throw new a.AuthorizationError(`Organization ${n} is not authorized to modify mirrored data`)}async function be(e,t,r,i){const a=ue(e.get("identity"));if(!a)return;const n=await pe(i,t.resolver,e),o=e;(a===t.mspId||t.condition&&t.condition(a))&&(e.logger.info(`Mirror read: MSP ${a} matches, routing reads to mirror collection ${n}`),o.put("mirror",!0),o.put("mirrorCollection",n),o.put("fullySegregated",!0),o.readFrom(n))}const Ee=(e,i)=>{const a=i||("function"!=typeof e?t.Model.ownerOf(e):void 0);if(!a)throw new r.InternalError(`Model ${e.constructor.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`__${c.toPascalCase(a)}PrivateCollection`};function Ce(i,a,n){a.length>0&&n.readFrom(a),!n.isFullySegregated&&a.length&&((i=>{const a=o.Metadata.getAttributes(i)||[],n=t.Model.pk(i),s=o.Metadata.get(i,r.DBKeys.TRANSIENT)||{},c=o.Metadata.get(i,o.Metadata.key(e.FabricModelKeys.PRIVATE))||{},l=o.Metadata.get(i,o.Metadata.key(e.FabricModelKeys.SHARED))||{};return a.some(e=>e!==n&&!(e in s)&&!(e in c)&&!(e in l))})(i.constructor)||n.markFullySegregated())}async function Ae(e,r,i,a){const n=Array.isArray(r)?r:[r],o=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(a)||ue(e.get("identity"));if(!o)return;const s=[];for(const t of n){const r=t.collections,i="string"==typeof r?r:r(a,o,e);i&&!s.includes(i)&&s.push(i)}Ce(a,s,e);const c=Array.isArray(i)?i:[i],l=t.Model.pk(a.constructor),d=t.Model.sequenceName(a,"pk"),u=a[l],h=null!=u;if(e.setSequenceSegregation(d,e.isFullySegregated,s),h)for(const r of c){const i=t.Model.sequenceName(a,u+"",r+"");e.setSequenceSegregation(i,e.isFullySegregated,s)}}async function ve(e,i,n,o){const s=Array.isArray(i)?i:[i],c=Array.isArray(n)?n:[n];if(c.length!==s.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const l=t.Model.ownerOf(o)||ue(e.get("identity"));if(!l)throw new r.ValidationError("There's no assigned organization for model "+o.constructor.name);const d=s[0].collections,u="string"==typeof d?d:d(o,l,e);c.forEach((t,r)=>{const i="string"==typeof s[r].collections?s[r].collections:s[r].collections(o,l,e);if(i!==u)throw new a.UnsupportedError(`Segregated data collection mismatch: ${i} vs ${u}`)});const h=c.map(e=>e+"");e.writeTo(u,h)}async function Oe(e,i,a,n){const o=Array.isArray(i)?i:[i];if((Array.isArray(a)?a:[a]).length!==o.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const s=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(n)||ue(e.get("identity"));if(!s)throw new r.ValidationError("There's no assigned organization for model "+n.constructor.name);const c=o[0].collections,l="string"==typeof c?c:await c(n,s,e);e.readFrom(l)}async function Se(e,i,n,o,s){const c=Array.isArray(i)?i:[i],l=Array.isArray(n)?n:[n];if(l.length!==c.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const d=t.Model.ownerOf(o)||ue(e.get("identity"));if(!d)throw new r.ValidationError("There's no assigned organization for model "+o.constructor.name);const u=c[0].collections,h="string"==typeof u?u:u(o,d,e);l.forEach((t,r)=>{const i="string"==typeof c[r].collections?c[r].collections:c[r].collections(o,d,e);if(i!==h)throw new a.UnsupportedError(`Segregated data collection mismatch: ${i} vs ${h}`)});const g=l.map(e=>e+"");e.writeTo(h,g)}async function Me(e,i,a,n){const o=Array.isArray(i)?i:[i];if((Array.isArray(a)?a:[a]).length!==o.length)throw new r.InternalError("Segregated data keys and metadata length mismatch");const s=(e.getOrUndefined("allowGenerationOverride")?e.getOrUndefined("ownerOverride"):void 0)||t.Model.ownerOf(n)||ue(e.get("identity"));if(!s)throw new r.ValidationError("There's no assigned organization for model "+n.constructor.name);const c=o[0].collections,l="string"==typeof c?c:c(n,s,e);e.readFrom(l)}function Ie(e,t,i){return(i,a)=>{const n=[];if(!a){const r=o.Metadata.getAttributes(i);return r?.forEach(r=>{Ie(e,t)(i.prototype,r)}),i}{const i="string"==typeof e?e:e.toString(),a=i+":data",s={collections:e},c={priority:35,group:i+":extract"};n.push(o.prop(),r.transient(),(i,a)=>{const n=o.Metadata.key(t,a),s=i.constructor,c=o.Metadata.get(s,n)||{},l=new Set(c.collections||[]);l.add(e),c.collections=[...l],o.Metadata.set(s,n,c);const d=o.Metadata.get(s,t)||{},u=new Set(d.collections||[]);u.add(e),d.collections=[...u],o.Metadata.set(s,t,d);const h={...o.Metadata.get(s,r.DBKeys.TRANSIENT)||{},[a]:{}};o.Metadata.set(s,r.DBKeys.TRANSIENT,h)},r.on(r.DBOperations.ALL,Ae,s,c),r.onCreate(ve,{collections:e},{priority:95,group:a}),r.onRead(Oe,{collections:e},{priority:95,group:a}),r.onUpdate(Se,{collections:e},{priority:95,group:a}),r.onDelete(Me,{collections:e},{priority:95,group:a}))}return o.apply(...n)(i,a)}}function _e(e){return null===e||"object"!=typeof e?e:Array.isArray(e)?e.map(_e):e.constructor!==Object?e:Object.keys(e).sort().reduce((t,r)=>(t[r]=_e(e[r]),t),{})}class xe extends t.JSONSerializer{constructor(){super()}preSerialize(e){const r=Object.assign({},e);let i;try{i=o.Metadata.modelName(e.constructor)}catch(e){i=void 0}r[t.ModelKeys.ANCHOR]=i||e.constructor.name;const a=function e(t){const r=this;return"object"!=typeof t?t:Array.isArray(t)?t.map(t=>e.call(r,t)):this.preSerialize.call(this,t)}.bind(this);return t.Model.relations(e).forEach(e=>{r[e]=a(r[e])}),r}deserialize(e){const r=JSON.parse(e),i=r[t.ModelKeys.ANCHOR];if(!i)throw Error("Could not find class reference in serialized model");return t.Model.build(r,i)}serialize(e){return require("json-stringify-deterministic")(_e(this.preSerialize(e)))}}function Te(e){const t=e.split("_");return 2>t.length||t.length>3?{table:void 0,event:e,owner:void 0}:{table:t[0],event:t[1],owner:t[2]}}class Ne extends t.JSONSerializer{constructor(){super()}deserialize(e,t){return JSON.parse(e)}serialize(e,t=!0){return require("json-stringify-deterministic")(_e(this.preSerialize(e,t)))}preSerialize(e,r=!0){const i=Object.assign({},e);let a;try{a=o.Metadata.modelName(e.constructor)}catch(e){a=void 0}function n(e){return"object"!=typeof e?e:Array.isArray(e)?e.map(n):this.preSerialize(e)}return r&&(i[t.ModelKeys.ANCHOR]=a||e.constructor.name),t.Model.relations(e).forEach(e=>{i[e]=n.call(this,i[e])}),i}}class Fe extends a.ClientBasedService{constructor(){super()}get rootClient(){return this.client._FabricCaServices}get user(){if(!this._user)throw new r.InternalError("Fabric identity service not properly setup: missing user");return this._user}get certificates(){return this.rootClient.newCertificateService()}get affiliations(){return this.client.newAffiliationService()}get identities(){return this.client.newIdentityService()}async getUser(e,t){const i=t.logger.for(this.getUser),{caName:a,caCert:n,caKey:o,url:s,hsm:c}=e;i.info(`Creating CA user for ${a} at ${s}`),i.verbose("Retrieving CA certificate from "+n);const l=await B.getFirstDirFileNameContent(n);let d;if(c)i.debug(`Using HSM configuration for CA ${a} with library ${c.library}`);else{if(!o)throw new r.InternalError(`Missing caKey configuration for CA ${a}. Provide a key directory or configure HSM support.`);i.debug("Retrieving CA key from "+o),d=await B.getFirstDirFileNameContent(o)}return i.debug("Loading Admin user for ca "+a),this._user=await B.getCAUser("admin",d,l,a,{hsm:c}),this._user}async initialize(...e){const{log:t,ctx:i}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize),[n]=e;if(!n)throw new r.InternalError("Missing Fabric CA configuration");const{url:o,tls:c,caName:l}=n;t.info(`Initializing CA Client for CA ${n.caName} at ${n.url}`);const{trustedRoots:d,verify:u}=c,h=d[0];t.debug(`Retrieving CA certificate from ${h}. cwd: ${process.cwd()}`);const g=await B.getFileContent(h);t.debug("CA Certificate: "+g.toString());const p=new s(o,{trustedRoots:Buffer.from(g),verify:u},l),f=await this.getUser(n,i);return t.debug("CA user loaded: "+f.getName()),{config:n,client:p}}async getCertificates(e,t=!0,...i){e instanceof a.Context?(i=[e],t=!0,e=void 0):"boolean"==typeof e?(t=e,e=void 0):"boolean"!=typeof t&&(i=[t,...i],t=!0);const{log:n}=(await this.logCtx(i,r.OperationKeys.READ,!0)).for(this.getCertificates);n.debug(`Retrieving certificates${e?" for "+e.id:""} for CA ${this.config.caName}`);const o=(await this.certificates.getCertificates(e||{},this.user)).result;return n.verbose(`Found ${o.certs.length} certificates`),n.debug(o.certs),t?o.certs.map(e=>e.PEM):o}async getIdentities(e){const t=e.logger.for(this.getIdentities);t.verbose("Retrieving Identities under CA "+this.config.caName);const r=(await this.identities.getAll(this.user)).result;return t.verbose(`Found ${r.identities.length} Identities`),t.debug(r.identities),r.identities}async getAffiliations(e){const t=e.logger.for(this.getAffiliations);t.verbose("Retrieving Affiliations under CA "+this.config.caName);const r=(await this.affiliations.getAll(this.user)).result;return t.verbose(`Found ${r.a.length} Affiliations`),t.debug(JSON.stringify(r)),r}parseError(e){const t=/.*code:\s(\d+).*?message:\s["'](.+)["']/gs.exec(e.message);if(!t)return new W(e);const[,i,n]=t;switch(i){case"74":case"71":return new r.ConflictError(n);case"20":return new a.AuthorizationError(n);default:return new W(n)}}async read(e,...t){const{log:i}=(await this.logCtx(t,r.OperationKeys.READ,!0)).for(this.read);let a;i.verbose("Retrieving identity with enrollment ID "+e);try{a=await this.identities.getOne(e,this.user)}catch(t){throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${t}`)}if(!a.success)throw new r.NotFoundError(`Couldn't find enrollment with id ${e}: ${a.errors.join("\n")}`);return a.result}async register(e,t=!1,r="",i,a,n,...o){const{log:s}=(await this.logCtx(o,"register",!0)).for(this.register);let c;try{const{userName:o,password:l}=e,d={enrollmentID:o,enrollmentSecret:l,affiliation:r,userRole:i,attrs:a,maxEnrollments:n};c=await this.client.register(d,this.user),s.info(`Registration for ${o} created with user type ${i??"Undefined Role"} ${t?"as super user":""}`)}catch(e){throw this.parseError(e)}return c}static identityFromEnrollment(t,r,i){const a=i.logger.for(this.identityFromEnrollment),{certificate:n,key:o,rootCertificate:s}=t;a.verbose(`Generating Identity from certificate ${n} in msp ${r}`);const c=q.fabricIdFromCertificate(n),l=q.encode(c);return a.debug(`Identity ${c} and encodedId ${l}`),new e.Identity({id:l,credentials:{id:l,certificate:n,privateKey:o.toBytes(),rootCertificate:s},mspId:r})}async enroll(e,t,...r){const{log:i,ctx:a}=(await this.logCtx(r,"enroll",!0)).for(this.enroll);let n;try{i.debug("Enrolling "+e);const r=await this.client.enroll({enrollmentID:e,enrollmentSecret:t});n=Fe.identityFromEnrollment(r,this.config.caName,a),i.info(`Successfully enrolled ${e} under ${this.config.caName} as ${n.id}`)}catch(e){throw this.parseError(e)}return n}async registerAndEnroll(e,t=!1,r="",i,a,n,...o){const{ctx:s}=(await this.logCtx(o,"register-enroll",!0)).for(this.registerAndEnroll),c=await this.register(e,t,r,i,a,n,s),{userName:l}=e;return this.enroll(l,c,s)}async updateIdentity(e,t,r,...i){const{log:a,ctx:n}=(await this.logCtx(i,"reenroll",!0)).for(this.updateIdentity);try{a.info("Renewing identity for "+e);const o=this.client.newIdentityService(),s=await o.getOne(e,this.user);await o.update(e,r,this.user);const c=d.User.createUser(e,"",this.user.getMspid(),t.certificate,t.privateKey);c.setCryptoSuite(this.user.getCryptoSuite());const l=(s.result.attrs||[]).map(({name:e})=>({name:e,optional:!1})),u=await this.client.reenroll(c,l),h=Fe.identityFromEnrollment(u,this.config.caName,n);a.debug("Revoking previous certificates for "+e);const{aki:g,serial:p}=K(t.certificate);return await this.revoke(e,{aki:g,serial:p},i),a.debug("Renew identity successful for "+e),h}catch(e){throw this.parseError(e)}}async revoke(e,t,...i){const{log:a}=(await this.logCtx(i,"revoke",!0)).for(this.revoke);a.verbose("Revoking identity with enrollment ID "+e);const n=await this.read(e);if(!n)throw new r.NotFoundError("Could not find enrollment with id "+e);let o;try{const e={reason:t.serial||t.aki?"Revoke User Certificate":"User Deletion",...t,enrollmentID:n.id};o=await this.client.revoke(e,this.user)}catch(t){throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${t}`)}if(!o.success)throw new r.InternalError(`Could not revoke enrollment with id ${e}: ${o.errors.join("\n")}`);return o}}var De;e.CA_ROLE=void 0,(De=e.CA_ROLE||(e.CA_ROLE={})).ADMIN="admin",De.USER="user",De.CLIENT="client";const Re=Object.assign({evaluateTimeout:5,endorseTimeout:15,submitTimeout:5,commitTimeout:60,legacy:!1,allowManualEndorsingOrgs:!1,allowGatewayOverride:!1,allowContextTransientMap:!1,rebuildWithTransient:!0,encryptTransient:!1,syntheticEvents:!0}),Pe=new c.MiniLogger("fabric-fs");async function $e(e,t){return e instanceof Uint8Array||e.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms)?e:await t(e)}async function Be(e){return"string"!=typeof e?e:await(async e=>{const{promises:t}=await a.normalizeImport(import("fs"));return await t.readFile(e)})(e)}async function Ke(e,t){return{mspId:e,credentials:await $e(t,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await ke(e);return await t.readFile(r)})}}async function ke(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path"));return r(e,(await t.readdir(e))[0])}async function Le(e){const{promises:t}=await a.normalizeImport(import("fs")),{join:r}=await a.normalizeImport(import("path")),i=await t.readdir(e);return(await t.readFile(r(e,i[0]))).toString()}async function ze(e){const t=await $e(e,async e=>{const{promises:t}=await a.normalizeImport(import("fs")),r=await ke(e);return await t.readFile(r)}),r=await je(t),i=r[Object.getOwnPropertySymbols(r)[0]];return l.signers.newPrivateKeySigner(i)}async function je(e){let t;if(c.isBrowser())t=globalThis.crypto.subtle;else{const e=await a.normalizeImport(import("crypto"));t=e.subtle||e.webcrypto.subtle}if(!t)throw Error("Could not load SubtleCrypto module");const i=e.toString("utf8").replace("-----BEGIN PRIVATE KEY-----","").replaceAll("\n","").replace("-----END PRIVATE KEY-----",""),n=(e=>{const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,i=e.length;i>t;t++)r[t]=e.charCodeAt(t);return t})(Buffer.from(i,"base64").toString("binary"));try{return await t.importKey("pkcs8",n,{name:"ECDSA",namedCurve:"P-256"},!0,["sign"])}catch(e){throw new r.InternalError(e)}}const Ue=["allowGenerationOverride"];class He extends a.Context{constructor(e){super(e)}toOverrides(){const e={};for(const t of Ue){const r=this.getOrUndefined(t);void 0!==r&&(e[t]=r)}return e}}function Ge(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class qe extends a.Statement{constructor(e,t){super(e,t)}squash(e){const t=super.squash(e);if(!t)return t;const{method:i,params:n,args:o}=t,{direction:s,limit:c}=n;switch(i){case a.PreparedStatementKeys.FIND:break;case a.PreparedStatementKeys.PAGE:o.push(s,c);break;case a.PreparedStatementKeys.FIND_BY:break;case a.PreparedStatementKeys.LIST_BY:o.push(s);break;case a.PreparedStatementKeys.PAGE_BY:o.push(s,c);break;case a.PreparedStatementKeys.FIND_ONE_BY:break;default:throw new r.InternalError("Unsupported method "+i)}return t}async executePrepared(...e){const t=a.Repository.forModel(this.fromSelector,this.adapter.alias),{method:r,args:i}=this.prepared;return t.statement(r,...i,...e)}async prepare(e){if(!(e=e||await this.adapter.context(a.PersistenceKeys.QUERY,this.overrides||{},this.fromSelector)))throw new r.InternalError("No context available for statement");if(this.isSimpleQuery()&&e.get("forcePrepareSimpleQueries")){const t=this.squash(e);if(t)return this.prepared=t,this}const t=[],i={},n={class:this.fromSelector,args:t,params:i},o=[a.QueryClause.FIND_BY];if(this.whereCondition){const r=this.prepareCondition(this.whereCondition,e);o.push(r.method),r.args&&r.args.length&&t.push(...r.args)}return this.selectSelector&&o.push(a.QueryClause.SELECT,this.selectSelector.join(` ${a.QueryClause.AND.toLowerCase()} `)),this.orderBySelectors?.length&&(o.push(a.QueryClause.ORDER_BY,this.orderBySelectors[0][0]),t.push(this.orderBySelectors[0][1])),n.method=c.toCamelCase(o.join(" ")),n.params=i,this.prepared=n,this}processRecord(e,n){const s=t.Model.pk(this.fromSelector),c=o.Metadata.get(this.fromSelector,o.Metadata.key(r.DBKeys.ID,s))?.type;if(e[i.CouchDBKeys.ID]){const[,...t]=e[i.CouchDBKeys.ID].split(i.CouchDBKeys.SEPARATOR),r=t.join("_");e[s]=a.Sequence.parseValue(c,r)}return super.processRecord(e,n)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),i=e?.aggregateInfo;if(e?.aggregate&&i)return this.executeAggregate(i,r);const a=await this.adapter.raw(e,!0,this.fromSelector,r);if(!this.selectSelector){const e=a.map(e=>this.processRecord(e,r));return r.getOrUndefined("afterQueryHandlers")?await this.applyAfterHandlersToResult(e,r):e}return a}build(){const e=this.log.for(this.build),r=this.buildAggregateQuery();if(r)return r;const n={};n[i.CouchDBKeys.TABLE]={},n[i.CouchDBKeys.TABLE]=t.Model.tableName(this.fromSelector);const o={selector:n};if(this.selectSelector&&(o.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(a.Condition.and(this.whereCondition,a.Condition.attribute(i.CouchDBKeys.TABLE).eq(o.selector[i.CouchDBKeys.TABLE]))).selector,r=Object.keys(t);if(1===r.length&&-1!==Object.values(i.CouchDBGroupOperator).indexOf(r[0]))switch(r[0]){case i.CouchDBGroupOperator.AND:t[i.CouchDBGroupOperator.AND]=[...Object.values(t[i.CouchDBGroupOperator.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===i.CouchDBGroupOperator.AND?e.push(...t[a]):e.push(t),e},[])],o.selector=t;break;case i.CouchDBGroupOperator.OR:{const e={};e[i.CouchDBGroupOperator.AND]=[t,...Object.entries(o.selector).map(([e,t])=>{const r={};return r[e]=t,r})],o.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{o.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${o.selector[t]} by ${r}`),o.selector[t]=r})}if(this.orderBySelectors?.length){o.sort=o.sort||[],o.selector=o.selector||{};for(const[e,t]of this.orderBySelectors){const r=e,a={};a[r]=t,o.sort.push(a),o.selector[r]||(o.selector[r]={},o.selector[r][i.CouchDBOperator.BIGGER]=null)}}return this.limitSelector?o.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of "+i.CouchDBQueryLimit),o.limit=i.CouchDBQueryLimit),this.offsetSelector&&(o.skip=this.offsetSelector),o}parseCondition(e){const{attr1:t,operator:r,comparison:n}=e;if(r===a.Operator.STARTS_WITH){if("string"!=typeof t)throw new a.QueryError("STARTS_WITH requires an attribute name");if("string"!=typeof n)throw new a.QueryError("STARTS_WITH requires a string comparison");const e={start:o=n,end:Ge(o)},r={};return r[t]={},r[t][i.CouchDBOperator.BIGGER_EQ]=e.start,r[t][i.CouchDBOperator.SMALLER]=e.end,{selector:r}}var o,s;if(r===a.Operator.ENDS_WITH){if("string"!=typeof t)throw new a.QueryError("ENDS_WITH requires an attribute name");if("string"!=typeof n)throw new a.QueryError("ENDS_WITH requires a string comparison");const e={};return e[t]={[i.CouchDBOperator.REGEXP]:(s=n,s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")},{selector:e}}if(r===a.Operator.BETWEEN){const e=t;if(!Array.isArray(n)||2!==n.length)throw new a.QueryError("BETWEEN operator requires [min, max] comparison");const[r,o]=n,s={};return s[e]={},s[e][i.translateOperators(a.Operator.BIGGER_EQ)]=r,s[e][i.translateOperators(a.Operator.SMALLER_EQ)]=o,{selector:s}}let c={};if(-1===[a.GroupOperator.AND,a.GroupOperator.OR,a.Operator.NOT].indexOf(r))c[t]={},c[t][i.translateOperators(r)]=n;else if(r===a.Operator.NOT)c=this.parseCondition(t).selector,c[i.translateOperators(a.Operator.NOT)]={},c[i.translateOperators(a.Operator.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,a=this.parseCondition(n).selector;c=((e,t,r)=>{const i={selector:{}};return i.selector[e]=[t,r],i})(i.translateOperators(r),e,a).selector}return{selector:c}}buildAggregateQuery(){if(!this.fromSelector)return;if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e),r=this.createAggregateDescriptor("count",e);if(!t||!r)throw new a.QueryError("Avg operation requires sum and count views for attribute "+e);return this.createAggregateQuery({kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor})}if(void 0!==this.countDistinctSelector){const e=null==this.countDistinctSelector?void 0:this.countDistinctSelector+"",t=this.createAggregateDescriptor("distinct",e);if(t)return t.countDistinct=!0,this.createAggregateQuery(t)}const e=!!(void 0!==this.countSelector||void 0!==this.countDistinctSelector||this.minSelector||this.maxSelector||this.sumSelector||this.distinctSelector),r=[["count",this.countSelector??void 0],["max",this.maxSelector],["min",this.minSelector],["sum",this.sumSelector],["distinct",this.distinctSelector]];for(const[e,t]of r){const r=t?t+"":void 0,i=this.createAggregateDescriptor(e,r);if(i)return this.createAggregateQuery(i)}if(e)throw new a.QueryError(`No CouchDB view metadata found for table ${t.Model.tableName(this.fromSelector)} aggregator`)}createAggregateDescriptor(e,r){if(!this.fromSelector)return;const a=i.findViewMetadata(this.fromSelector,e,r);if(!a.length)return;const n=a[0],o=t.Model.tableName(this.fromSelector),s=i.generateViewName(o,n.attribute,e,n),c=n.ddoc||i.generateDesignDocName(o,s),l={reduce:void 0!==n.reduce||!n.returnDocs};return"distinct"!==e&&"groupBy"!==e||(l.group=!0),{kind:e,meta:n,descriptor:{ddoc:c,view:s,options:l}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}getFabricAdapter(){return this.adapter}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getFabricAdapter(),i=e,a=await r.view(i.descriptor.ddoc,i.descriptor.view,i.descriptor.options,t);return this.processViewResponse(e,a)}async handleAverage(e,t){if("avg"!==e.kind)throw new a.QueryError("Average descriptor is not valid");const r=this.getFabricAdapter(),[i,n]=[e.sumDescriptor,e.countDescriptor],[o,s]=await Promise.all([r.view(i.ddoc,i.view,i.options,t),r.view(n.ddoc,n.view,n.options,t)]),c=o.rows?.[0]?.value??0,l=s.rows?.[0]?.value??0;return l?c/l:0}processViewResponse(e,t){if("avg"===e.kind)throw new a.QueryError("Average results should be handled before processing rows");const r=t.rows||[],i=e,n=i.meta;return i.countDistinct?r.length||0:"distinct"===i.kind||"groupBy"===i.kind?r.map(e=>e.key??e.value):n.returnDocs?r.map(e=>e.value??e.doc??e):r.length?r[0].value??r[0].key??null:"count"===i.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}}var Ve;class Ye extends a.Adapter{static{this.decoder=new TextDecoder("utf8")}static{this.serializer=new N}static{this.log=c.Logging.for(Ye)}get Context(){return He}constructor(e,t){super(Object.assign({},Re,e),$,t),this.serializer=Ye.serializer}chaincodeFor(e,...t){return Ye.chaincodeFor(e,this.config,...t)}channelFor(e,...t){return Ye.channelFor(e,this.config,...t)}contractFor(e,...t){return Ye.contractFor(e,this.config,...t)}Statement(e){return new qe(this,e)}Paginator(e,t,r){return new M(this,e,t,r)}async flags(e,t,r,...i){const a=Object.assign({},this.config,r);return Object.assign(await super.flags(e,t,a,...i))}async context(e,r,i,...n){this.log.for(this.context).silly(`creating new context for ${e} operation on ${i?Array.isArray(i)?i.map(e=>t.Model.tableName(e)):t.Model.tableName(i):"no"} table ${r&&Object.keys(r)?Object.keys(r).length:"no"} with flag overrides`);let o=n.pop();void 0===o||o instanceof a.Context||(n.push(o),o=void 0),r=o?Object.assign({},o.toOverrides(),r):r;const s=await this.flags("string"==typeof e?e:e.name,i,r,...[...n,o].filter(Boolean));if(o){if(!(o instanceof this.Context)){const e=(new this.Context).accumulate({...o.cache,...s,parentContext:o});return o.accumulate({childContexts:[...o.getOrUndefined("childContexts")||[],e]}),e}const t=o.getOrUndefined("operation"),r=o.getOrUndefined("affectedTables");if(!t||t!==e||i&&i!==r){const e=(new this.Context).accumulate({...o.cache,...s,parentContext:o});return o.accumulate({childContexts:[...o.getOrUndefined("childContexts")||[],e]}),e}return o.accumulate(s)}return(new this.Context).accumulate({...s})}decode(e){return Ye.decoder.decode(e)}repository(){return I}createPrefix(e,r,a,...n){const{ctxArgs:o}=this.logCtx(n,this.createPrefix),s=t.Model.tableName(e),c={};return c[i.CouchDBKeys.TABLE]=s,Object.assign(c,a),[e,r,c,...o]}createAllPrefix(e,a,n,...o){const s=t.Model.tableName(e);if(a.length!==n.length)throw new r.InternalError("Ids and models must have the same length");const{ctxArgs:c}=this.logCtx(o,this.createAllPrefix),l=a.map((e,t)=>{const r={};return r[i.CouchDBKeys.TABLE]=s,Object.assign(r,n[t]),r});return[e,a,l,...c]}updateAllPrefix(e,a,n,...o){const s=t.Model.tableName(e);if(a.length!==n.length)throw new r.InternalError("Ids and models must have the same length");const{ctxArgs:c}=this.logCtx(o,this.updateAllPrefix),l=a.map(()=>{const e={};return e[i.CouchDBKeys.TABLE]=s,e});return[e,a,l,...c]}async createAll(e,i,a,...n){if(i.length!==a.length)throw new r.InternalError("Ids and models must have the same length");const o=[...n],s=o.shift(),{log:c,ctx:l}=this.logCtx(o,this.createAll),d=t.Model.tableName(e);c.info(`adding ${i.length} entries to ${d} table`),c.verbose("pks: "+i);const u=s&&Object.keys(s).length>0,h=u||this.shouldForceGatewayHydration(l),g=a.map(t=>this.serializer.serialize(t,e.name)),p=await this.submitTransaction(l,r.BulkCrudOperationKeys.CREATE_ALL,[JSON.stringify(g)],u?{[d]:s}:void 0,this.getEndorsingOrganizations(l),e);let f;try{f=JSON.parse(this.decode(p)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}return this.shouldRefreshAfterWrite(e,l,h,f[0][t.Model.pk(e)]||i[0])?this.readAll(e,R(e,a.map((e,r)=>t.Model.merge(Object.assign({},e,s?.[r]||{}),f[r])),i),l):f}async readAll(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.readAll),s=t.Model.tableName(e);n.info(`reading ${i.length} entries to ${s} table`),n.verbose("pks: "+i);const c=await this.evaluateTransaction(o,r.BulkCrudOperationKeys.READ_ALL,[JSON.stringify(i)],void 0,void 0,e);try{return JSON.parse(this.decode(c)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}}async updateAll(e,i,a,...n){if(i.length!==a.length)throw new r.InternalError("Ids and models must have the same length");const o=[...n],s=o.shift(),{log:c,ctx:l}=this.logCtx(o,this.updateAll),d=t.Model.tableName(e);c.info(`updating ${i.length} entries to ${d} table`),c.verbose("pks: "+i);const u=s&&Object.keys(s).length>0,h=u||this.shouldForceGatewayHydration(l),g=a.map(t=>this.serializer.serialize(t,e.name)),p=await this.submitTransaction(l,r.BulkCrudOperationKeys.UPDATE_ALL,[JSON.stringify(g)],u?{[d]:s}:void 0,this.getEndorsingOrganizations(l),e);let f;try{f=JSON.parse(this.decode(p)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}return this.shouldRefreshAfterWrite(e,l,h,i[0])?this.readAll(e,R(e,a.map((e,r)=>t.Model.merge(Object.assign({},e,s?.[r]||{}),f[r])),i),l):f}async deleteAll(e,i,...a){const{log:n,ctx:o,ctxArgs:s}=this.logCtx(a,this.deleteAll),c=t.Model.tableName(e),l=t.Model.isTransient(e)||this.shouldForceGatewayHydration(o);let d;const u=this.shouldRefreshAfterWrite(e,o,l,i[0]);u&&(d=await this.readAll(e,i,...s)),n.info(`deleting ${i.length} entries to ${c} table`),n.verbose("pks: "+i);const h=await this.submitTransaction(o,r.BulkCrudOperationKeys.DELETE_ALL,[JSON.stringify(i)],void 0,this.getEndorsingOrganizations(o),e);try{return u?d:JSON.parse(this.decode(h)).map(e=>JSON.parse(e))}catch(e){throw new r.SerializationError(e)}}prepare(e,...i){const{log:n,ctx:o}=this.logCtx(i,this.prepare),s=t.Model.segregate(e);e[a.PersistenceKeys.METADATA]&&(n.silly("Passing along persistence metadata for "+e[a.PersistenceKeys.METADATA]),Object.defineProperty(s.model,a.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[a.PersistenceKeys.METADATA]}));const c=t.Model.mirroredAt(e);if(c){const e=c.mspId;if(!e)throw new r.InternalError("No mirror MSP could be found");let t=this.getEndorsingOrganizations(o)||[];t=Array.isArray(t)?t:[t];const i=[...new Set([...t,e])];o.accumulate({endorsingOrgs:i,endorsingOrganizations:i,legacy:!0})}return{record:s.model,model:s.model,id:e[t.Model.pk(e.constructor)],transient:s.transient,privates:s.privates,shared:s.shared}}revert(e,t,r,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.revert);return i&&this.shouldRebuildWithTransient(o,o.getOrUndefined("operation"))&&(n.verbose("re-adding transient properties: "+Object.keys(i).join(", ")),Object.entries(i).filter(([,e])=>void 0!==e).forEach(([t,r])=>{t in e&&void 0!==e[t]&&n.warn(`overwriting existing ${t}. if this is not a default value, this may pose a problem`),e[t]=r})),new t(e)}shouldRebuildWithTransient(e,t){if(!e)return!1;if(e.getOrUndefined("rebuildWithTransient"))return!0;if("function"==typeof e.getFromChildren?e.getFromChildren("rebuildWithTransient"):void 0)return!0;const r=this.resolveOperation(e,t);if(!r)return!1;const i=r.toString().toLowerCase();return i.includes("read")||i.includes("find")||i.includes("query")||i.includes("statement")||i.includes("page")}resolveOperation(e,t){return t||("function"==typeof e.getFromChildren?e.getFromChildren("operation"):void 0)}shouldRefreshAfterWrite(e,r,i,a){if(!i)return!1;const n=t.Model.pk(e),o=t.Model.composed(e,n),s=t.Model.generated(e,n),c=null!=a;return!(c||!o)||(!c&&s?(r.logger.warn("Cannot refresh record with private generated primary key"),!1):c)}injectTransientOverrides(t,r){const i=this.hasMeaningfulTransientData(t),a=!!r.getOrUndefined("allowContextTransientMap");if(!i&&!a)return;const n=r.toOverrides(),o=i?Object.assign({},t):{};return a&&Object.keys(n).length&&(o[e.FabricModelKeys.OVERRIDES]=n),Object.keys(o).length?o:void 0}hasMeaningfulTransientData(e){if(null==e)return!1;if(Array.isArray(e))return e.some(e=>this.hasMeaningfulTransientData(e));if("object"!=typeof e)return!0;const t=Object.entries(e);return!!t.length&&t.some(([,e])=>this.hasMeaningfulTransientData(e))}getEndorsingOrganizations(e){const t=e.getOrUndefined("endorsingOrgs")||e.getOrUndefined("endorsingOrgs");return t&&t.length?t:e.getFromChildren("endorsingOrgs")||e.getFromChildren("endorsingOrgs")}shouldForceGatewayHydration(e){return!!this.config.allowGatewayOverride}async create(e,i,a,n={},...o){const s=[...o],{log:c,ctx:l}=this.logCtx(s,this.create),d=t.Model.tableName(e);c.verbose(`adding entry to ${d} table`),c.debug("pk: "+i);const u=n&&Object.keys(n).length>0,h=u||this.shouldForceGatewayHydration(l),g=await this.submitTransaction(l,r.OperationKeys.CREATE,[this.serializer.serialize(a,e.name)],u?{[d]:n}:void 0,this.getEndorsingOrganizations(l),e),p=this.serializer.deserialize(this.decode(g));return this.shouldRefreshAfterWrite(e,l,h,i)?this.read(e,R(e,t.Model.merge(Object.assign({},a,n||{}),p,e),i),l):p}async healthcheck(e,...r){const{log:i,ctx:a}=this.logCtx(r,this.healthcheck),n=t.Model.tableName(e);i.verbose(`reading entry from ${n} table`);const o=await this.evaluateTransaction(a,"healthcheck",[],void 0,void 0,e);return JSON.parse(this.decode(o))}async read(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.read),s=t.Model.tableName(e);n.verbose(`reading entry from ${s} table`),n.debug("pk: "+i);const c=await this.evaluateTransaction(o,r.OperationKeys.READ,[i.toString()],void 0,void 0,e);return this.serializer.deserialize(this.decode(c))}updatePrefix(e,r,a,...n){const o=t.Model.tableName(e),{ctxArgs:s}=this.logCtx(n,this.updatePrefix),c={};return c[i.CouchDBKeys.TABLE]=o,Object.assign(c,a),[e,r,c,...s]}async update(e,i,a,n={},...o){const s=[...o],{log:c,ctx:l}=this.logCtx(s,this.update);c.info("CLIENT UPDATE class : "+typeof e);const d=t.Model.tableName(e);c.verbose(`updating entry to ${d} table`),c.debug("pk: "+i);const u=n&&Object.keys(n).length>0,h=u||this.shouldForceGatewayHydration(l),g=await this.submitTransaction(l,r.OperationKeys.UPDATE,[this.serializer.serialize(a,e.name)],u?{[d]:n}:void 0,this.getEndorsingOrganizations(l),e),p=this.serializer.deserialize(this.decode(g));return this.shouldRefreshAfterWrite(e,l,h,i)?this.read(e,R(e,t.Model.merge(Object.assign({},a,n||{}),p,e),i),l):p}async delete(e,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.delete),s=t.Model.tableName(e),c=t.Model.isTransient(e)||this.shouldForceGatewayHydration(o);let l;const d=this.shouldRefreshAfterWrite(e,o,c,i);d&&(l=await this.read(e,i,o)),n.verbose(`deleting entry from ${s} table`),n.debug("pk: "+i);const u=await this.submitTransaction(o,r.OperationKeys.DELETE,[i.toString()],void 0,this.getEndorsingOrganizations(o),e);return d?l:this.serializer.deserialize(this.decode(u))}async raw(e,i=!0,a,...n){const{log:o,ctx:s}=this.logCtx(n,this.raw);let c,l;o.info("Performing raw statement on table "+t.Model.tableName(a));try{c=await this.evaluateTransaction(s,"raw",[JSON.stringify(e),i],void 0,void 0,a)}catch(e){throw this.parseError(e)}try{l=JSON.parse(this.decode(c))}catch(e){throw new r.SerializationError("Failed to process result: "+e)}if(Array.isArray(l)){if(!l.length)return l;const e=l[0];return t.Model.isModel(e)?l.map(e=>t.Model.build(e)):l}return d=l,t.Model.isModel(d)?t.Model.build(d):d;var d}async view(e,t,i,...a){const{log:n,ctx:o}=this.logCtx(a,this.view);let s,c;n.info(`Querying view ${e}/${t}`);try{s=await this.evaluateTransaction(o,"view",[e,t,JSON.stringify(i)],void 0,void 0,void 0)}catch(e){throw this.parseError(e)}try{c=JSON.parse(this.decode(s))}catch(e){throw new r.SerializationError("Failed to process view result: "+e)}return c}getClient(){return this._client||(this._client=Ye.getClient(this.config)),this._client}async Gateway(e){return Ye.getGateway(e,this.config,this.client)}async Contract(e,t){return Ye.getContract(await this.Gateway(e),this.config,t,e)}async transaction(e,t,r=!0,i,a={},n,o){const s=this.log.for(this.transaction);if(a=this.injectTransientOverrides(a,e),r&&this.shouldUseLegacyGateway(e)){const r=this.prepareLegacyArgs(i),n=this.buildLegacyTransient(a),s=this.buildLegacyPeerConfigs(e);return await this.submitLegacyWithExplicitEndorsers(e,t,r,n,s,o)}const c=await this.Gateway(e);try{const c=await this.Contract(e,o);s.verbose(`${r?"Submit":"Evaluate"}ting transaction ${c.getContractName()}.${t}`),s.debug("args: "+(i?.map(e=>e.toString()).join("\n")||"none"));const l=r?c.submit:c.evaluate,d=(i||[]).map(e=>this.normalizeTransactionArgument(e)),u=Object.entries(a||{});n=n?.length?n:void 0;const h={arguments:d,transientData:u.length?u.reduce((e,[t,r])=>(e[t]=JSON.stringify(r),e),{}):void 0,endorsingOrganizations:e.getOrUndefined("allowManualEndorsingOrgs")&&n||void 0};return await l.call(c,t,h)}catch(e){throw this.parseError(e)}finally{this.log.debug(`Closing ${this.config.mspId} gateway connection`),c.close()}}normalizeTransactionArgument(e){return null==e||"string"==typeof e||"object"!=typeof e||e instanceof Uint8Array?e:JSON.stringify(e)}shouldUseLegacyGateway(e){return!!e.getOrUndefined("legacy")&&!!this.config.allowGatewayOverride}prepareLegacyArgs(e){return(e||[]).map(e=>"string"==typeof e?e:JSON.stringify(e))}buildLegacyTransient(e){if(!e)return;const t=Object.entries(e);if(!t.length)return;const r={};for(const[e,i]of t)r[e]=Buffer.from(JSON.stringify(i));return r}resolveLegacyMspCount(){const e=this.config.legacyMspCount??1,t=Number(e);return!Number.isFinite(t)||1>t?1:Math.floor(t)}pickLegacyCandidates(e,t){if(!e.length||0>=t)return[];const r=[...e],i=Math.min(t,r.length),a=[];for(;a.length<i&&r.length;){const e=Math.floor(Math.random()*r.length),[t]=r.splice(e,1);t&&a.push(t)}return a}buildLegacyPeerConfigs(e){const t=[{mspId:this.config.mspId,peerEndpoint:this.config.peerEndpoint,peerHostAlias:this.config.peerHostAlias,tlsCert:this.config.tlsCert}];let r=this.getEndorsingOrganizations(e)||[];r=Array.isArray(r)?r:[r];const i=(r.filter(e=>!!e)||[]).filter(e=>e!==this.config.mspId);if(!i.length)return t;const n=this.config.mspMap,o=this.resolveLegacyMspCount();for(const e of i){const r=n?.[e];if(!r?.length)throw new a.UnsupportedError(`No peer mapping available for MSP ${e}. Provide it via config.mspMap`);const i=this.pickLegacyCandidates(r,o);if(!i.length)throw new a.UnsupportedError(`No valid peer mapping available for MSP ${e}. Provide it via config.mspMap`);for(const r of i){if(!r.endpoint)throw new a.UnsupportedError(`Invalid peer mapping for MSP ${e}: missing endpoint`);t.push({mspId:e,peerEndpoint:r.endpoint,peerHostAlias:r.alias,tlsCert:r.tlsCert||this.config.tlsCert})}}return t}async submitLegacyWithExplicitEndorsers(e,t,i,a,n,o){const s=this.log.for(this.submitLegacyWithExplicitEndorsers),c=this.normalizeLegacyPeers(n),l=await this.resolveLegacyIdentityMaterial(),d=await f.Wallets.newInMemoryWallet(),u=this.config.mspId+"-legacy";await d.put(u,{credentials:{certificate:l.certificate,privateKey:l.privateKey},mspId:this.config.mspId,type:"X.509"});const h=await this.buildLegacyConnectionProfile(c),g=new f.Gateway;try{await g.connect(h,{identity:u,wallet:d,discovery:{enabled:!0,asLocalhost:this.shouldTreatPeersAsLocalhost(c)},tlsInfo:{certificate:l.certificate,key:l.privateKey}});let n=this.config.channel,p=this.config.chaincodeName,f=this.config.contractName;if(o)if("string"==typeof o)f=o;else{if(!e)throw new r.InternalError("No context received to determine chaincode config");n=await this.channelFor(o,e)||n,p=await this.chaincodeFor(o,e)||p,f=await this.contractFor(o,e)}const y=await g.getNetwork(n),m=y.getContract(p,f).createTransaction(t);a&&m.setTransient(a);const w=c.map(e=>y.getChannel().getEndorser(e.name)).filter(e=>!!e);w.length&&m.setEndorsingPeers(w),s.verbose(`Legacy submitting ${f}.${t} via peers ${c.map(e=>e.peerEndpoint).join(", ")}`);const b=await m.submit(...i);return Uint8Array.from(b)}catch(e){throw this.parseError(e)}finally{g.disconnect()}}normalizeLegacyPeers(e){const t=new Map,r=e=>{const r=`${e.peerEndpoint}|${e.peerHostAlias||""}`;if(t.has(r))return;const i=`peer-${e.mspId}-${t.size}`;t.set(r,{...e,name:i})};return e.forEach(r),r({mspId:this.config.mspId,peerEndpoint:this.config.peerEndpoint,peerHostAlias:this.config.peerHostAlias}),Array.from(t.values())}async resolveLegacyIdentityMaterial(){return{certificate:await this.readPemInput(this.config.certCertOrDirectoryPath),privateKey:await this.readPemInput(this.config.keyCertOrDirectoryPath)}}async buildLegacyConnectionProfile(e){const t={},r={},i={};for(const a of e){const e=await this.readPemInput(a.tlsCert||this.config.tlsCert),n=a.peerHostAlias||this.extractHost(a.peerEndpoint);t[a.name]={url:this.ensureGrpcUrl(a.peerEndpoint),tlsCACerts:{pem:e},grpcOptions:{"ssl-target-name-override":n,hostnameOverride:n}},r[a.name]={endorsingPeer:!0,chaincodeQuery:!0,ledgerQuery:!0,eventSource:!0},i[a.mspId]=i[a.mspId]||{mspid:a.mspId,peers:[]},i[a.mspId].peers.push(a.name)}return{name:"legacy-manual",version:"1.0.0",client:{organization:this.config.mspId},organizations:i,peers:t,orderers:{},channels:{[this.config.channel]:{peers:r}}}}shouldTreatPeersAsLocalhost(e){return e.every(e=>this.isLocalEndpoint(e.peerEndpoint))}isLocalEndpoint(e){const t=this.extractHost(e).toLowerCase();return"localhost"===t||"127.0.0.1"===t}extractHost(e){return e.replace(/^grpcs?:\/\//,"").split(":")[0]}ensureGrpcUrl(e){return/^grpcs?:\/\//i.test(e)?e:"grpcs://"+e}async readPemInput(e){if(!e)throw new r.InternalError("Missing certificate or key material");if(Buffer.isBuffer(e))return e.toString("utf8");const t=e.trim();if(/-----BEGIN [A-Z ]+-----/.test(t))return t;const i=await y.promises.stat(e).catch(()=>{});return i?.isDirectory()?await Le(e):(await Be(e)).toString()}parseError(e){return Ye.parseError(e)}async submitTransaction(e,t,r,i,a,n){return this.transaction(e,t,!0,r,i,a,n)}async evaluateTransaction(e,t,r,i,a,n){return this.transaction(e,t,!1,r,i,a,n)}async migrate(e,...t){const{ctxArgs:r}=(await this.logCtx([t],a.PersistenceKeys.MIGRATION,!0)).for(this.migrate);return this.submitTransaction(r[0],"migrate",[e,t],void 0,void 0)}async shutdown(...e){await super.shutdown(...e),this.client&&(this.log.verbose(`Closing ${this.config.mspId} gateway client`),this.client.close())}static async getContract(e,t,i,a){const n=this.log.for(this.getContract);let o=t.channel,s=t.chaincodeName,c=t.contractName;if(i)if("string"==typeof i)c=i;else{if(!a)throw new r.InternalError("No context received to determine chaincode config");o=await this.channelFor(i,t,a)||o,s=await this.chaincodeFor(i,t,a)||s,c=await this.contractFor(i,t,a)}const l=this.getNetwork(e,o);let d;try{n.debug(`Retrieving chaincode ${s} contract ${c} from network ${o}`),d=l.getContract(s,c)}catch(e){throw this.parseError(e)}return d}static getNetwork(e,t){const r=c.Logging.for(this.getNetwork);let i;try{r.debug("Connecting to channel "+t),i=e.getNetwork(t)}catch(e){throw this.parseError(e)}return i}static async getGateway(e,t,r){return await this.getConnection(r||await this.getClient(t),t,e)}static getClient(e){const t=this.log.for(this.getClient);t.debug("generating TLS credentials for msp "+e.mspId);let i=e.tlsCert;if("string"==typeof i)if(i.match(/-----BEGIN (CERTIFICATE|KEY|PRIVATE KEY)-----.+?-----END \1-----$/gms))i=Buffer.from(i,"utf8");else try{i=Buffer.from(y.readFileSync(i,"utf8"))}catch(e){throw new r.InternalError(`Failed to read the tls certificate from ${i}: ${e}`)}const a=b.credentials.createSsl(i);return t.debug("generating Gateway Client for url "+e.peerEndpoint),new p.Client(e.peerEndpoint,a,{"grpc.max_receive_message_length":1024*(e.sizeLimit||15)*1024,"grpc.max_send_message_length":1024*(e.sizeLimit||15)*1024})}static async getConnection(e,t,r){const i=c.Logging.for(this.getConnection);i.debug(`Retrieving Peer Identity for ${t.mspId} under ${t.certCertOrDirectoryPath}`);const n=await Ke(t.mspId,t.certCertOrDirectoryPath);try{i.debug("preparing transaction signer for "+q.fabricIdFromCertificate(n.credentials.toString()))}catch(e){i.error("Failed to extract Fabric ID from certificate",e)}let o;if(t.hsm)throw new a.UnsupportedError("HSM NOT IMPLEMENTED");o=await ze(t.keyCertOrDirectoryPath);const s={client:e,identity:n,signer:o,evaluateOptions:()=>({deadline:Date.now()+1e3*r.get("evaluateTimeout")}),endorseOptions:()=>({deadline:Date.now()+1e3*r.get("endorseTimeout")}),submitOptions:()=>({deadline:Date.now()+1e3*r.get("submitTimeout")}),commitStatusOptions:()=>({deadline:Date.now()+1e3*r.get("commitTimeout")})};i.debug("Connecting to "+t.mspId);const d=l.connect(s);return t.hsm&&(d.close=new Proxy(d.close,{apply(e,t,r){Reflect.apply(e,t,r)}})),d}Dispatch(){return new Ye._baseDispatch(this.client)}static chaincodeFor(e,r,...i){return t.Model.chaincodeOf(e,...i)||r.chaincodeName}static channelFor(e,r,...i){return t.Model.channelOf(e,...i)||r.channel}static contractFor(e,r,...i){return t.Model.contractOf(e,...i)||de(e,...i)}static parseError(e){let t="string"==typeof e?e:e.message;return e instanceof l.GatewayError&&e.details.length&&10===e.code&&(t=""+e.details[0].message),e instanceof l.EndorseError&&e.details.length&&10===e.code&&e.details[0].message?.includes(a.UnsupportedError.name)&&(t=""+e.details[0].message),t.includes("MVCC_READ_CONFLICT")?new re(e):t.includes("DEADLINE_EXCEEDED")?new oe(e):t.includes("ENDORSEMENT_POLICY_FAILURE")?new ae(e):t.includes("PHANTOM_READ_CONFLICT")?new ie(e):e instanceof Error&&e.code&&9===e.code?new te(e):t.includes(r.ValidationError.name)?new r.ValidationError(e):t.includes(r.NotFoundError.name)?new r.NotFoundError(e):t.includes(r.ConflictError.name)?new r.ConflictError(e):t.includes(r.BadRequestError.name)?new r.BadRequestError(e):t.includes(a.QueryError.name)?new a.QueryError(e):t.includes(a.PagingError.name)?new a.PagingError(e):t.includes(a.UnsupportedError.name)?new a.UnsupportedError(e):t.includes(a.MigrationError.name)?new a.MigrationError(e):t.includes(a.ObserverError.name)?new a.ObserverError(e):t.includes(a.AuthorizationError.name)?new a.AuthorizationError(e):t.includes(a.ForbiddenError.name)?new a.ForbiddenError(e):t.includes(a.ConnectionError.name)?new a.ConnectionError(e):t.includes(r.SerializationError.name)?new r.SerializationError(e):new r.InternalError(e)}}n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"create",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"healthcheck",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"read",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"update",null),n.__decorate([c.debug(),c.final(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"delete",null),n.__decorate([c.debug(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,"function"==typeof(Ve="undefined"!=typeof D&&D)?Ve:Object,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"raw",null),n.__decorate([c.debug(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String,Object,He]),n.__metadata("design:returntype",Promise)],Ye.prototype,"view",null),Ye.decoration(),a.Adapter.setCurrent($);class Je extends a.Dispatch{constructor(e){super(),this.client=e,this.decoder=new TextDecoder("utf8")}async close(...e){const{log:t,ctxArgs:r}=(await this.logCtx(e,a.PersistenceKeys.SHUTDOWN,!0)).for(this.close);try{await super.close(...r)}catch(e){t.error("Failed to close Fabric proxies event listener",e)}if(this.listeningStack)try{await this.listeningStack.close()}catch(e){t.error("Failed to close Fabric event listener",e)}finally{this.listeningStack=void 0}}parsePayload(e){const t=this.decoder.decode(e);return JSON.parse(t)}observe(e){if(!(e instanceof Ye))throw new a.UnsupportedError("Only FabricClientAdapter can be observed by dispatch");return super.observe(e),()=>this.unObserve(e)}async updateObservers(e,i,n,...o){const{log:s,ctxArgs:c}=a.Adapter.logCtx(this.updateObservers,i,!1,...o);if(this.adapter)try{await this.adapter.refresh(e,i,n,...c)}catch(e){throw new r.InternalError("Failed to refresh dispatch: "+e)}else s.verbose(`No adapter observed for dispatch; skipping observer update for ${"string"==typeof e?e:t.Model.tableName(e)}:${i}`)}async handleEvents(e){if(!this.listeningStack)throw new r.InternalError('Event stack not initialized. Ensure that "startListening" is called before attempting this operation.');if(!this.adapter||!this.adapter.config)throw new r.InternalError("No adapter found. should be impossible");const i=e||await this.adapter.context(r.OperationKeys.READ,{correlationId:this.adapter.config.chaincodeName},this.models&&this.models[0]||t.Model),a=this.log.for(this.handleEvents);a.info(`Listening for incoming events on chaincode "${this.adapter.config.chaincodeName}" on channel "${this.adapter.config.channel}"...`);try{for await(const e of this.listeningStack){const{table:r,event:n,owner:o}=Te(e.eventName);if(this.adapter.config?.mspEventOnly&&o&&o!==this.adapter.config?.mspId)continue;const s=this.parsePayload(e.payload);try{const e=(r?t.Model.get(r):t.Model.get(this.models[0].name))??(r||this.models[0]?.name),a=s.result?[s.result,i]:[i];await this.updateObservers(e,n,s.id,...a)}catch(e){a.error(`Failed update observables for table ${r} event ${n} id: ${s.id}: ${e}`)}}}catch(e){a.error(`Failed to read event for chaincode "${this.adapter.config.chaincodeName}" on channel "${this.adapter.config.channel}": ${e}`),await this.close(i)}}async initialize(){if(!this.adapter)throw new r.InternalError("No adapter or config observed for dispatch");const e=!1!==this.adapter.config.syntheticEvents;if(!e){const e=await this.adapter.context("dispatch",{correlationId:this.adapter.config.chaincodeName},t.Model),{ctx:i}=this.logCtx([e],this.initialize),a=(await Ye.getGateway(i,this.adapter.config,this.client)).getNetwork(this.adapter.config.channel);if(!this.adapter)throw new r.InternalError("No adapter observed for dispatch");this.listeningStack=await a.getChaincodeEvents(this.adapter.config.chaincodeName),this.handleEvents(i)}[r.OperationKeys.CREATE,r.OperationKeys.UPDATE,r.OperationKeys.DELETE,r.BulkCrudOperationKeys.CREATE_ALL,r.BulkCrudOperationKeys.UPDATE_ALL,r.BulkCrudOperationKeys.DELETE_ALL].forEach(i=>{if(!this.adapter)throw new r.InternalError("No adapter provided for the fallback of fully segregated models");if(!this.adapter[i])throw new r.InternalError(`Method ${i} not found in ${this.adapter.alias} adapter to bind Observables Dispatch`);let a=Object.getOwnPropertyDescriptor(this.adapter,i),n=this.adapter;for(;!a&&n!==Object.prototype;)n=Object.getPrototypeOf(n),a=Object.getOwnPropertyDescriptor(n,i);function o(e){switch(e){case r.BulkCrudOperationKeys.CREATE_ALL:return r.OperationKeys.CREATE;case r.BulkCrudOperationKeys.UPDATE_ALL:return r.OperationKeys.UPDATE;case r.BulkCrudOperationKeys.DELETE_ALL:return r.OperationKeys.DELETE;default:return e}}a&&a.writable?this.adapter[i]=new Proxy(this.adapter[i],{apply:async(r,a,n)=>{const s=await r.apply(a,n),c=n[0];if(!e&&!t.Model.isTransient(c))return s;const{log:l,ctxArgs:d,ctx:u}=a.logCtx(n.slice(n.length-1),r),h=n[1],g=[c,o(i),h];return u.getOrUndefined("observeFullResult")&&g.push(s),this.updateObservers(g[0],g[1],g[2],...g.slice(3),...d).catch(e=>l.error(`Failed to dispatch observer refresh for ${i} on ${c.name||c} for ${h}: ${e}`)),s}}):this.log.error(`Could not find method ${i} to bind Observables Dispatch`)})}}Ye&&(Ye._baseDispatch=Je);const We="##VERSION##",Qe="##PACKAGE##";o.Metadata.registerLibrary(Qe,We),e.AllowanceError=J,e.BalanceError=Y,e.BaseEncoder=G,e.COMMIT="b9d0611",e.ClientSerializer=N,e.CoreUtils=B,e.CryptoUtils=q,e.DefaultContractResolver=de,e.DefaultFabricClientFlags=Re,e.DeterministicSerializer=xe,e.EndorsementError=te,e.EndorsementPolicyError=ae,e.FULL_VERSION="0.13.1-b9d0611",e.FabricClientAdapter=Ye,e.FabricClientContext=He,e.FabricClientDispatch=Je,e.FabricClientRepository=I,e.FabricERC20ClientRepository=F,e.FabricEnrollmentService=ce,e.FabricFlavour=$,e.FabricIdentityService=Fe,e.ImplicitPrivateCollection=Ee,e.MissingContextError=Q,e.MissingPKCSS11Lib=ee,e.ModelCollection=(e,i)=>{const a=i||("function"!=typeof e?t.Model.ownerOf(e):void 0),n="function"==typeof e?e:e.constructor;if(!a)throw new r.InternalError(`Model ${n.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`${c.toPascalCase(n.name)}${a?c.toPascalCase(a):""}`},e.MvccReadConflictError=re,e.NamespaceCollection=e=>(i,a)=>{const n=a||("function"!=typeof i?t.Model.ownerOf(i):void 0),o="function"==typeof i?i:i.constructor;if(!n)throw new r.InternalError(`Model ${o.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);return`${e}${n?c.toPascalCase(n):""}`},e.NotInitializedError=Z,e.OverflowError=V,e.Owner=function(){return function(e,t,i){const n=i.value;return i.value=async function(...e){const i=e[0],o=i.clientIdentity.getID(),s=await this.tokenRepository.select(),c=await s.execute(i);if(0==c.length)throw new r.NotFoundError("No tokens avaialble");if(c.length>1)throw new r.NotFoundError("To many token available : "+c.length);if(c[0].owner!=o)throw new a.AuthorizationError(`User not authorized to run ${t} on the token`);return await n.apply(this,e)},i}},e.PACKAGE_NAME=Qe,e.PhantomReadConflictError=ie,e.RegistrationError=W,e.RegistrationRequestBuilder=le,e.SEGREGATED_COLLECTION_EXTRACTION_PRIORITY=35,e.SimpleDeterministicSerializer=Ne,e.TransactionBufferSizeError=se,e.TransactionLimitsError=ne,e.TransactionTimeoutError=oe,e.UnauthorizedPrivateDataAccess=X,e.VERSION=We,e.add=(e,t)=>{const r=e+t;if(e!==r-t||t!==r-e)throw new V(`Addition overflow: ${e} + ${t}`);return r},e.applyMirrorFlags=async(e,r,i)=>{if(!r)return;const a=t.Model.mirroredAt(e);if(!a)return;if(!(r===a.mspId||a.condition&&a.condition(r)))return;const n=await pe(new e,a.resolver,i);i.put("segregateRead",void 0),i.put("segregateReadStack",void 0),i.put("fullySegregated",!0),i.put("mirror",!0),i.put("mirrorCollection",n),i.readFrom(n)},e.applySegregationFlags=Ce,e.chaincode=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CHAINCODE,r)},e.channel=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CHANNEL,r)},e.collectionFor=v,e.contentOfLoadFile=$e,e.contract=t=>{const r={resolver:t};return o.metadata(e.FabricModelKeys.CONTRACT,r)},e.createMirrorHandler=fe,e.deleteMirrorHandler=me,e.evalMirrorMetadata=pe,e.extractCollections=async(e,i,a={},n=!1)=>{let{privateCols:o,sharedCols:s}=t.Model.collectionsFor(e);function c(t){try{return"string"==typeof t?t:t(e,i[0])}catch(e){throw new r.InternalError(e)}}o=o.map(c),s=s.map(c);const l=Object.assign({},{requiredPeerCount:0,maxPeerCount:0,blockToLive:0,memberOnlyRead:!0,memberOnlyWrite:!0},a?.privateCols||{}),d=Object.assign({},{requiredPeerCount:1,maxPeerCount:2,blockToLive:0,memberOnlyRead:!0,memberOnlyWrite:!0},a?.sharedCols||{}),u=n?t.Model.mirroredAt(e):void 0,h=i.map(e=>o.map(t=>{const{requiredPeerCount:r,maxPeerCount:i,blockToLive:a,memberOnlyRead:n}=l;return O(e,t,r,i,a,n,!1)})).flat();if(u&&u.mspId){const t="string"==typeof u.resolver?u.resolver:u.resolver(e,u.mspId);if(t&&!h.some(e=>e.name===t&&e.policy.includes(u.mspId))){const{requiredPeerCount:e,maxPeerCount:r,blockToLive:i,memberOnlyRead:a}=l;h.push(O(u.mspId,t,e,r,i,a,!1))}}return{privates:h,shared:s.map(e=>{const{requiredPeerCount:t,maxPeerCount:r,blockToLive:a,memberOnlyRead:n,memberOnlyWrite:o}=d;return S(i,e,t,r,a,n,o)})}},e.extractIds=R,e.extractMspId=ue,e.extractPrivateKey=je,e.extractSegregatedCollections=Ae,e.generateFabricEventName=(e,t,r)=>{const i=[e,t];return r&&i.push(r),i.join("_")},e.generateModelDesignDocs=(e,t)=>{const r=i.generateViews([e]),a=t||{};return r.forEach(e=>{a[e._id]=e}),r},e.generateModelIndexes=e=>i.generateIndexes([e]),e.getAkiAndSerialFromCert=K,e.getCAUser=async(e,t,r,i)=>{Pe.debug(`Creating a CA ${i} user ${e} with certificate ${r}`);const a=new d.User(e),n=d.User.newCryptoSuite();a.setCryptoSuite(n);const o=n.createKeyFromRaw(t);return await a.setEnrollment(o,r,i),a},e.getFirstDirFileName=ke,e.getFirstDirFileNameContent=Le,e.getIdentity=Ke,e.getSigner=ze,e.mirror=(t,i,a)=>{const n="string"!=typeof i&&!!i,s=n?void 0:i,c=n?i:a;return o.Decoration.for(e.FabricModelKeys.MIRROR).define({decorator:(t,i,a)=>{const n={condition:a,mspId:i,resolver:t};return o.apply(o.metadata(o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.MIRROR),n),r.onRead(be,n,{priority:30}),r.onCreate(we,n,{priority:20}),r.onUpdate(we,n,{priority:20}),r.onDelete(we,n,{priority:20}),r.onCreate(fe,n,{priority:100}),r.onUpdate(ye,n,{priority:100}),r.onDelete(me,n,{priority:100}))},args:[t,s,c]}).apply()},e.mirrorWriteGuard=we,e.ownedBy=()=>o.Decoration.for(e.FabricModelKeys.OWNED_BY).define({decorator:()=>(i,a)=>o.apply(t.required(),r.generated(),r.readonly(),r.onCreate(he),o.propMetadata(o.Metadata.key(e.FabricModelKeys.FABRIC,e.FabricModelKeys.OWNED_BY),a))(i,a),args:[]}).apply(),e.ownedByOnCreate=he,e.parseEventName=Te,e.privateCollectionFor=O,e.privateData=(t=Ee)=>o.Decoration.for(e.FabricModelKeys.PRIVATE).define({decorator:t=>Ie(t,e.FabricModelKeys.PRIVATE),args:[t]}).apply(),e.readFile=Be,e.readMirrorHandler=be,e.readModelFile=C,e.readModelFolders=async(...e)=>{const t=require("fs"),r=require("path"),i=[];for(const a of e){const e=r.resolve(a),n=t.readdirSync(e,{withFileTypes:!0,recursive:!0}).filter(e=>e.isFile()&&e.name.endsWith("js"));for(const e of n)i.push(...C(e))}return i},e.safeParseInt=e=>{if(!/^\d+$/.test(e))throw new r.ValidationError(t.stringFormat("Failed to parse: {0}","string contains digits"));const i=parseInt(e);if(isNaN(i))throw new r.ValidationError(t.stringFormat("Failed to parse: {0}","string is not a parsable integer"));return i},e.segregatedDataOnCreate=ve,e.segregatedDataOnDelete=Me,e.segregatedDataOnRead=Oe,e.segregatedDataOnUpdate=Se,e.sharedCollectionFor=S,e.sharedData=t=>o.Decoration.for(e.FabricModelKeys.SHARED).define({decorator:t=>Ie(t,e.FabricModelKeys.SHARED),args:[t]}).apply(),e.sortKeysOnlyRecursive=_e,e.sub=(e,t)=>{const r=e-t;if(e!==r+t||t!==e-r)throw new V(`Subtraction overflow: ${e} - ${t}`);return r},e.transactionId=()=>o.Decoration.for(e.FabricModelKeys.TRANSACTION_ID).define({decorator:()=>(i,a)=>o.apply(t.required(),r.readonly(),r.onCreate(ge),r.onUpdate(ge),o.propMetadata(o.Metadata.key(e.FabricModelKeys.FABRIC,a,e.FabricModelKeys.TRANSACTION_ID),a))(i,a),args:[]}).apply(),e.transactionIdOnCreate=ge,e.updateMirrorHandler=ye,e.writeCollectionDesignDocs=(e,t=process.cwd(),r)=>{e?.length&&A(e,t,r)},e.writeCollections=(e,t=process.cwd(),r="collections_config")=>{const i=require("fs"),a=require("path"),n=a.resolve(a.join(t,`./META-INF/${r}.json`));!function e(t){const r=a.dirname(t);if(i.existsSync(r))return!0;e(r),i.mkdirSync(r)}(n),i.writeFileSync(n,JSON.stringify(e,void 0,2))},e.writeDesignDocs=A,e.writeIndexes=(e,t=process.cwd(),r)=>{const i=require("fs"),a=require("path");e.forEach(e=>{const n=a.resolve(a.join(t,`./META-INF/statedb/couchdb/${r?`collections/${r}/`:""}indexes/${e.name}.json`));E(n),i.writeFileSync(n,JSON.stringify(e,void 0,2))})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/db-decorators"),require("@decaf-ts/for-couchdb"),require("@decaf-ts/core"),require("tslib"),require("@decaf-ts/decoration"),require("fabric-ca-client"),require("@decaf-ts/logging"),require("@hyperledger/fabric-gateway"),require("fabric-common"),require("crypto"),require("@peculiar/x509"),require("@peculiar/webcrypto"),require("@grpc/grpc-js"),require("fabric-network"),require("fs")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/db-decorators","@decaf-ts/for-couchdb","@decaf-ts/core","tslib","@decaf-ts/decoration","fabric-ca-client","@decaf-ts/logging","@hyperledger/fabric-gateway","fabric-common","crypto","@peculiar/x509","@peculiar/webcrypto","@grpc/grpc-js","fabric-network","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-fabric"]={},e.decafTsDecoratorValidation,e.decafTsDbDecorators,e.decafTsForCouchdb,e.decafTsCore,e.tslib,e.decafTsDecoration,e.fabricCaClient,e.decafTsLogging,e.hyperledgerFabricGateway,e.fabricCommon,e.crypto,e.peculiarX509,e.peculiarWebcrypto,e.grpcGrpcJs,e.fabricNetwork,e.fs);
2
2
  //# sourceMappingURL=for-fabric.cjs.map
@@ -837,28 +837,15 @@ class FabricContractAdapter extends for_couchdb_1.CouchDBAdapter {
837
837
  log.verbose(`received ${fromCols.length} from ${collection}`);
838
838
  segregated.push(fromCols);
839
839
  }
840
- if (paginationActive) {
841
- // For paginated flows, keep source selection deterministic so
842
- // externally generated opaque bookmarks stay valid across pages.
843
- if (fullySegregated) {
844
- resp = segregated[0] || resp;
845
- }
846
- else if (!resp.docs?.length && segregated.length) {
847
- // Preserve public-state priority for mixed models, but allow a
848
- // stable fallback when public query returns no docs.
849
- resp = segregated[0];
850
- }
851
- }
852
- else {
853
- // Non-paginated reads can still prefer the richest response.
854
- resp = segregated.reduce((acc, curr) => {
855
- if (!acc)
856
- return curr;
857
- if (curr.docs && curr.docs.length >= acc?.docs.length)
858
- return curr;
859
- return acc;
860
- }, resp);
861
- }
840
+ // Prefer the response with the most results so mixed and fully segregated
841
+ // reads return the collection that actually matched the query.
842
+ resp = segregated.reduce((acc, curr) => {
843
+ if (!acc)
844
+ return curr;
845
+ if (curr.docs && curr.docs.length >= acc?.docs.length)
846
+ return curr;
847
+ return acc;
848
+ }, resp);
862
849
  }
863
850
  if (docsOnly) {
864
851
  return resp.docs;
@@ -1 +1 @@
1
- {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["ContractAdapter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["ContractAdapter.js"],"names":[],"mappings":"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"}
@@ -136,6 +136,7 @@ class FabricStatement extends for_couchdb_2.CouchDBStatement {
136
136
  }
137
137
  if (this.offsetSelector)
138
138
  query.skip = this.offsetSelector;
139
+ this.attachDefaultQueryIndex(query);
139
140
  return query;
140
141
  }
141
142
  async execute(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["FabricContractStatement.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["FabricContractStatement.js"],"names":[],"mappings":"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"}
@@ -2,21 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION = void 0;
4
4
  const decoration_1 = require("@decaf-ts/decoration");
5
- exports.VERSION = "0.13.0";
5
+ exports.VERSION = "0.13.1";
6
6
  /**
7
7
  * @description Represents the current commit hash of the module build.
8
8
  * @summary Stores the current git commit hash for the package. The build replaces
9
9
  * the placeholder with the actual commit hash at publish time.
10
10
  * @const COMMIT
11
11
  */
12
- exports.COMMIT = "8ef3a20";
12
+ exports.COMMIT = "b9d0611";
13
13
  /**
14
14
  * @description Represents the full version string of the module.
15
15
  * @summary Stores the semver version and commit hash for the package.
16
16
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
17
17
  * @const FULL_VERSION
18
18
  */
19
- exports.FULL_VERSION = "0.13.0-8ef3a20";
19
+ exports.FULL_VERSION = "0.13.1-b9d0611";
20
20
  exports.PACKAGE_NAME = "@decaf-ts/for-fabric";
21
21
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
22
22
  //# sourceMappingURL=version.js.map
@@ -833,28 +833,15 @@ export class FabricContractAdapter extends CouchDBAdapter {
833
833
  log.verbose(`received ${fromCols.length} from ${collection}`);
834
834
  segregated.push(fromCols);
835
835
  }
836
- if (paginationActive) {
837
- // For paginated flows, keep source selection deterministic so
838
- // externally generated opaque bookmarks stay valid across pages.
839
- if (fullySegregated) {
840
- resp = segregated[0] || resp;
841
- }
842
- else if (!resp.docs?.length && segregated.length) {
843
- // Preserve public-state priority for mixed models, but allow a
844
- // stable fallback when public query returns no docs.
845
- resp = segregated[0];
846
- }
847
- }
848
- else {
849
- // Non-paginated reads can still prefer the richest response.
850
- resp = segregated.reduce((acc, curr) => {
851
- if (!acc)
852
- return curr;
853
- if (curr.docs && curr.docs.length >= acc?.docs.length)
854
- return curr;
855
- return acc;
856
- }, resp);
857
- }
836
+ // Prefer the response with the most results so mixed and fully segregated
837
+ // reads return the collection that actually matched the query.
838
+ resp = segregated.reduce((acc, curr) => {
839
+ if (!acc)
840
+ return curr;
841
+ if (curr.docs && curr.docs.length >= acc?.docs.length)
842
+ return curr;
843
+ return acc;
844
+ }, resp);
858
845
  }
859
846
  if (docsOnly) {
860
847
  return resp.docs;
@@ -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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"}
@@ -133,6 +133,7 @@ export class FabricStatement extends CouchDBStatement {
133
133
  }
134
134
  if (this.offsetSelector)
135
135
  query.skip = this.offsetSelector;
136
+ this.attachDefaultQueryIndex(query);
136
137
  return query;
137
138
  }
138
139
  async execute(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["../../../src/contracts/FabricContractStatement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["../../../src/contracts/FabricContractStatement.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  import { Metadata } from "@decaf-ts/decoration";
2
- export const VERSION = "0.13.0";
2
+ export const VERSION = "0.13.1";
3
3
  /**
4
4
  * @description Represents the current commit hash of the module build.
5
5
  * @summary Stores the current git commit hash for the package. The build replaces
6
6
  * the placeholder with the actual commit hash at publish time.
7
7
  * @const COMMIT
8
8
  */
9
- export const COMMIT = "8ef3a20";
9
+ export const COMMIT = "b9d0611";
10
10
  /**
11
11
  * @description Represents the full version string of the module.
12
12
  * @summary Stores the semver version and commit hash for the package.
13
13
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
14
14
  * @const FULL_VERSION
15
15
  */
16
- export const FULL_VERSION = "0.13.0-8ef3a20";
16
+ export const FULL_VERSION = "0.13.1-b9d0611";
17
17
  export const PACKAGE_NAME = "@decaf-ts/for-fabric";
18
18
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
19
19
  //# sourceMappingURL=version.js.map
@@ -1,16 +1,16 @@
1
- export declare const VERSION = "0.13.0";
1
+ export declare const VERSION = "0.13.1";
2
2
  /**
3
3
  * @description Represents the current commit hash of the module build.
4
4
  * @summary Stores the current git commit hash for the package. The build replaces
5
5
  * the placeholder with the actual commit hash at publish time.
6
6
  * @const COMMIT
7
7
  */
8
- export declare const COMMIT = "8ef3a20";
8
+ export declare const COMMIT = "b9d0611";
9
9
  /**
10
10
  * @description Represents the full version string of the module.
11
11
  * @summary Stores the semver version and commit hash for the package.
12
12
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
13
13
  * @const FULL_VERSION
14
14
  */
15
- export declare const FULL_VERSION = "0.13.0-8ef3a20";
15
+ export declare const FULL_VERSION = "0.13.1-b9d0611";
16
16
  export declare const PACKAGE_NAME = "@decaf-ts/for-fabric";
@@ -1,16 +1,16 @@
1
- export declare const VERSION = "0.13.0";
1
+ export declare const VERSION = "0.13.1";
2
2
  /**
3
3
  * @description Represents the current commit hash of the module build.
4
4
  * @summary Stores the current git commit hash for the package. The build replaces
5
5
  * the placeholder with the actual commit hash at publish time.
6
6
  * @const COMMIT
7
7
  */
8
- export declare const COMMIT = "8ef3a20";
8
+ export declare const COMMIT = "b9d0611";
9
9
  /**
10
10
  * @description Represents the full version string of the module.
11
11
  * @summary Stores the semver version and commit hash for the package.
12
12
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
13
13
  * @const FULL_VERSION
14
14
  */
15
- export declare const FULL_VERSION = "0.13.0-8ef3a20";
15
+ export declare const FULL_VERSION = "0.13.1-b9d0611";
16
16
  export declare const PACKAGE_NAME = "@decaf-ts/for-fabric";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-fabric",
3
- "version": "0.13.1",
3
+ "version": "0.13.2",
4
4
  "packageManager": "npm@11.13.0",
5
5
  "description": "Abstracts fabric logic",
6
6
  "type": "module",