@hashgraphonline/standards-sdk 0.1.137 → 0.1.138-feat-hcs-21-package-std.canary.9db1bab.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/hcs-21/base-client.d.ts +33 -0
- package/dist/cjs/hcs-21/base-client.d.ts.map +1 -0
- package/dist/cjs/hcs-21/browser.d.ts +20 -0
- package/dist/cjs/hcs-21/browser.d.ts.map +1 -0
- package/dist/cjs/hcs-21/errors.d.ts +6 -0
- package/dist/cjs/hcs-21/errors.d.ts.map +1 -0
- package/dist/cjs/hcs-21/index.d.ts +7 -0
- package/dist/cjs/hcs-21/index.d.ts.map +1 -0
- package/dist/cjs/hcs-21/sdk.d.ts +48 -0
- package/dist/cjs/hcs-21/sdk.d.ts.map +1 -0
- package/dist/cjs/hcs-21/tx.d.ts +20 -0
- package/dist/cjs/hcs-21/tx.d.ts.map +1 -0
- package/dist/cjs/hcs-21/types.d.ts +89 -0
- package/dist/cjs/hcs-21/types.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/types.d.ts +1 -1
- package/dist/cjs/services/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-21/base-client.d.ts +33 -0
- package/dist/es/hcs-21/base-client.d.ts.map +1 -0
- package/dist/es/hcs-21/browser.d.ts +20 -0
- package/dist/es/hcs-21/browser.d.ts.map +1 -0
- package/dist/es/hcs-21/errors.d.ts +6 -0
- package/dist/es/hcs-21/errors.d.ts.map +1 -0
- package/dist/es/hcs-21/index.d.ts +7 -0
- package/dist/es/hcs-21/index.d.ts.map +1 -0
- package/dist/es/hcs-21/sdk.d.ts +48 -0
- package/dist/es/hcs-21/sdk.d.ts.map +1 -0
- package/dist/es/hcs-21/tx.d.ts +20 -0
- package/dist/es/hcs-21/tx.d.ts.map +1 -0
- package/dist/es/hcs-21/types.d.ts +89 -0
- package/dist/es/hcs-21/types.d.ts.map +1 -0
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/types.d.ts +1 -1
- package/dist/es/services/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +67 -48
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +2 -2
- package/dist/es/standards-sdk.es100.js +231 -28
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +109 -18
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +32 -158
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +80 -204
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +21 -780
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +140 -11
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +29 -567
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +17 -597
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +159 -12
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +208 -2
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +774 -67
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +11 -37
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +567 -2
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +576 -197
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +12 -1139
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +2 -306
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +79 -418
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +35 -351
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +2 -761
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +204 -185
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +1055 -1482
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +265 -2024
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +420 -50
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +350 -82
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +741 -139
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +204 -7
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +1533 -52
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +2077 -59
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +52 -28
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +80 -131
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +152 -35
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +7 -17
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +53 -12241
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +65 -694
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +28 -172
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +115 -299
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +36 -340
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +12216 -395
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +694 -331
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +15 -74
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es141.js +1 -1
- package/dist/es/standards-sdk.es142.js +175 -0
- package/dist/es/standards-sdk.es142.js.map +1 -0
- package/dist/es/standards-sdk.es143.js +325 -0
- package/dist/es/standards-sdk.es143.js.map +1 -0
- package/dist/es/standards-sdk.es144.js +349 -0
- package/dist/es/standards-sdk.es144.js.map +1 -0
- package/dist/es/standards-sdk.es145.js +456 -0
- package/dist/es/standards-sdk.es145.js.map +1 -0
- package/dist/es/standards-sdk.es146.js +334 -0
- package/dist/es/standards-sdk.es146.js.map +1 -0
- package/dist/es/standards-sdk.es147.js +79 -0
- package/dist/es/standards-sdk.es147.js.map +1 -0
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es16.js +1 -1
- package/dist/es/standards-sdk.es17.js +5 -5
- package/dist/es/standards-sdk.es19.js +12 -12
- package/dist/es/standards-sdk.es20.js +9 -9
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +1 -1
- package/dist/es/standards-sdk.es28.js +12 -12
- package/dist/es/standards-sdk.es3.js +2 -2
- package/dist/es/standards-sdk.es31.js +2 -2
- package/dist/es/standards-sdk.es32.js +4 -4
- package/dist/es/standards-sdk.es33.js +1 -1
- package/dist/es/standards-sdk.es36.js +6 -6
- package/dist/es/standards-sdk.es37.js +4 -4
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +1 -1
- package/dist/es/standards-sdk.es42.js +2 -2
- package/dist/es/standards-sdk.es47.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es52.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es57.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es61.js +7 -7
- package/dist/es/standards-sdk.es65.js +2 -2
- package/dist/es/standards-sdk.es66.js +3 -3
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es7.js +2 -2
- package/dist/es/standards-sdk.es70.js +3 -3
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es75.js +2 -2
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +4 -4
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es80.js +41 -27
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +6 -78
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +27 -64
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +69 -23
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +165 -23
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +31 -166
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +24 -127
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +65 -142
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +52 -127
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +26 -41
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +23 -261
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +162 -93
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +112 -83
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +156 -28
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +133 -225
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +40 -108
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +253 -24
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +96 -80
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +91 -21
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +28 -141
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +62 -59
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es138.js","sources":["../../src/utils/parsers/util-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { Transaction, Long, FileId, ContractId } from '@hashgraph/sdk';\nimport {\n UtilPrngData,\n NetworkFreezeData,\n SystemDeleteData,\n SystemUndeleteData,\n NodeCreateData,\n NodeUpdateData,\n NodeDeleteData,\n} from '../transaction-parser-types';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\n\n/**\n * Utility and System Operations Parser\n *\n * Handles parsing for utility and system transaction types including:\n * - Pseudo-random number generation (PRNG)\n * - Network freeze operations\n * - System delete/undelete operations\n * - Node management operations\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n */\nexport class UtilParser {\n /**\n * Parse Utility/System Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseUtilTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n utilPrng?: UtilPrngData;\n networkFreeze?: NetworkFreezeData;\n systemDelete?: SystemDeleteData;\n systemUndelete?: SystemUndeleteData;\n nodeCreate?: NodeCreateData;\n nodeUpdate?: NodeUpdateData;\n nodeDelete?: NodeDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return {\n type: 'UNKNOWN',\n humanReadableType: 'Unknown Utility Transaction',\n };\n }\n }\n\n /**\n * Parse utility transaction from protobuf TransactionBody\n * Handles all utility operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.utilPrng) {\n const utilPrng = this.parseUtilPrng(txBody.utilPrng);\n if (utilPrng) {\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n }\n\n if (txBody.freeze) {\n const networkFreeze = this.parseNetworkFreezeFromProto(txBody.freeze);\n if (networkFreeze) {\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n }\n\n if (txBody.systemDelete) {\n const systemDelete = this.parseSystemDeleteFromProto(txBody.systemDelete);\n if (systemDelete) {\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n }\n\n if (txBody.systemUndelete) {\n const systemUndelete = this.parseSystemUndeleteFromProto(\n txBody.systemUndelete,\n );\n if (systemUndelete) {\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n }\n\n if (txBody.nodeCreate) {\n const nodeCreate = this.parseNodeCreateFromProto(txBody.nodeCreate);\n if (nodeCreate) {\n return {\n type: 'NODECREATE',\n humanReadableType: 'Node Create',\n nodeCreate,\n };\n }\n }\n\n if (txBody.nodeUpdate) {\n const nodeUpdate = this.parseNodeUpdateFromProto(txBody.nodeUpdate);\n if (nodeUpdate) {\n return {\n type: 'NODEUPDATE',\n humanReadableType: 'Node Update',\n nodeUpdate,\n };\n }\n }\n\n if (txBody.nodeDelete) {\n const nodeDelete = this.parseNodeDeleteFromProto(txBody.nodeDelete);\n if (nodeDelete) {\n return {\n type: 'NODEDELETE',\n humanReadableType: 'Node Delete',\n nodeDelete,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract utility data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _range?: number;\n _startTime?: { toString(): string };\n _endTime?: { toString(): string };\n _updateFile?: { toString(): string };\n _fileHash?: Uint8Array;\n _freezeType?: string;\n _fileId?: { toString(): string };\n _contractId?: { toString(): string };\n _expirationTime?: { toString(): string };\n _nodeId?: number;\n _accountId?: { toString(): string };\n _description?: string;\n _gossipEndpoint?: Array<unknown>;\n _serviceEndpoint?: Array<unknown>;\n _gossipCaCertificate?: Uint8Array;\n _grpcCertificateHash?: Uint8Array;\n _adminKey?: unknown;\n constructor?: { name?: string };\n };\n\n if (hasTransactionType(transaction, 'utilPrng')) {\n const utilPrng: UtilPrngData = {};\n if (tx._range && tx._range !== 0) {\n utilPrng.range = tx._range;\n }\n\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n\n if (hasTransactionType(transaction, 'freeze')) {\n const networkFreeze: NetworkFreezeData = {};\n\n if (tx._startTime) {\n networkFreeze.startTime = tx._startTime.toString();\n }\n if (tx._endTime) {\n networkFreeze.endTime = tx._endTime.toString();\n }\n if (tx._updateFile) {\n networkFreeze.updateFile = tx._updateFile.toString();\n }\n if (tx._fileHash) {\n networkFreeze.fileHash = Buffer.from(tx._fileHash).toString('hex');\n }\n if (tx._freezeType) {\n networkFreeze.freezeType = tx._freezeType as any;\n }\n\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n\n if (hasTransactionType(transaction, 'systemDelete')) {\n const systemDelete: SystemDeleteData = {};\n\n if (tx._fileId) {\n systemDelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemDelete.contractId = tx._contractId.toString();\n }\n\n if (tx._expirationTime) {\n systemDelete.expirationTime = tx._expirationTime.toString();\n }\n\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n\n if (hasTransactionType(transaction, 'systemUndelete')) {\n const systemUndelete: SystemUndeleteData = {};\n\n if (tx._fileId) {\n systemUndelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemUndelete.contractId = tx._contractId.toString();\n }\n\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Parse Network Freeze from protobuf data\n */\n private static parseNetworkFreezeFromProto(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n if (!body) return undefined;\n\n const data: NetworkFreezeData = {};\n\n if (body.startTime?.seconds) {\n data.startTime = `${Long.fromValue(\n body.startTime.seconds,\n ).toString()}.${body.startTime.nanos ?? 0}`;\n }\n\n if (body.updateFile) {\n data.updateFile = new FileId(\n body.updateFile.shardNum ?? 0,\n body.updateFile.realmNum ?? 0,\n body.updateFile.fileNum ?? 0,\n ).toString();\n }\n\n if (body.fileHash && body.fileHash.length > 0) {\n data.fileHash = Buffer.from(body.fileHash).toString('hex');\n }\n\n if (body.freezeType !== undefined) {\n const freezeTypes = [\n 'FREEZE_ONLY',\n 'PREPARE_UPGRADE',\n 'FREEZE_UPGRADE',\n 'FREEZE_ABORT',\n ];\n data.freezeType = (freezeTypes[body.freezeType] as any) || 'FREEZE_ONLY';\n }\n\n return data;\n }\n\n /**\n * Parse System Delete from protobuf data\n */\n private static parseSystemDeleteFromProto(\n body: proto.ISystemDeleteTransactionBody,\n ): SystemDeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemDeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n if (body.expirationTime?.seconds) {\n data.expirationTime = Long.fromValue(\n body.expirationTime.seconds,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse System Undelete from protobuf data\n */\n private static parseSystemUndeleteFromProto(\n body: proto.ISystemUndeleteTransactionBody,\n ): SystemUndeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemUndeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse Node Create from protobuf data\n */\n private static parseNodeCreateFromProto(\n body: any,\n ): NodeCreateData | undefined {\n if (!body) return undefined;\n\n const data: NodeCreateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Update from protobuf data\n */\n private static parseNodeUpdateFromProto(\n body: any,\n ): NodeUpdateData | undefined {\n if (!body) return undefined;\n\n const data: NodeUpdateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Delete from protobuf data\n */\n private static parseNodeDeleteFromProto(\n body: any,\n ): NodeDeleteData | undefined {\n if (!body) return undefined;\n\n const data: NodeDeleteData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n static parseUtilPrng(\n body: proto.IUtilPrngTransactionBody,\n ): UtilPrngData | undefined {\n if (!body) return undefined;\n const data: UtilPrngData = {};\n if (body.range && body.range !== 0) {\n data.range = body.range;\n }\n return data;\n }\n\n static parseFreeze(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n return this.parseNetworkFreezeFromProto(body);\n }\n\n /**\n * Parse Utility/System Service transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseUtilTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es138.js","sources":["../../src/services/registry-broker/schemas.ts"],"sourcesContent":["import { z } from 'zod';\nimport { AIAgentCapability, AIAgentType } from '../../hcs-11/types';\n\ntype JsonValue =\n | string\n | number\n | boolean\n | null\n | JsonValue[]\n | { [key: string]: JsonValue };\n\nconst capabilitySchema = z.nativeEnum(AIAgentCapability);\nconst capabilityValueSchema = z.union([capabilitySchema, z.string()]);\nconst jsonPrimitiveSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n]);\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n jsonPrimitiveSchema,\n z.array(jsonValueSchema),\n z.record(jsonValueSchema),\n ]),\n);\n\nconst agentProfileSchema = z\n .object({\n version: z.string(),\n type: z.number(),\n display_name: z.string(),\n alias: z.string().optional(),\n bio: z.string().optional(),\n socials: z.array(jsonValueSchema).optional(),\n aiAgent: z\n .object({\n type: z.nativeEnum(AIAgentType),\n creator: z.string().optional(),\n model: z.string().optional(),\n capabilities: z.array(capabilitySchema).optional(),\n })\n .optional(),\n uaid: z.string().optional(),\n })\n .catchall(jsonValueSchema);\n\nconst cipherEnvelopeRecipientSchema = z.object({\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n encryptedShare: z.string(),\n});\n\nconst cipherEnvelopeSchema = z.object({\n algorithm: z.string(),\n ciphertext: z.string(),\n nonce: z.string(),\n associatedData: z.string().optional(),\n keyLocator: z\n .object({\n sessionId: z.string().optional(),\n revision: z.number().optional(),\n })\n .optional(),\n recipients: z.array(cipherEnvelopeRecipientSchema),\n});\n\nconst peerSummarySchema = z.object({\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n});\n\nconst handshakeParticipantSchema = z.object({\n role: z.enum(['requester', 'responder']),\n uaid: z.string().optional(),\n userId: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n keyType: z.string(),\n longTermPublicKey: z.string().optional(),\n ephemeralPublicKey: z.string(),\n signature: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n submittedAt: z.string(),\n});\n\nconst encryptionHandshakeRecordSchema = z.object({\n sessionId: z.string(),\n algorithm: z.string(),\n createdAt: z.string(),\n expiresAt: z.number(),\n status: z.enum(['pending', 'complete']),\n requester: handshakeParticipantSchema.optional(),\n responder: handshakeParticipantSchema.optional(),\n});\n\nconst sessionEncryptionSummarySchema = z.object({\n enabled: z.boolean(),\n algorithm: z.string(),\n requireCiphertext: z.boolean(),\n requester: peerSummarySchema.nullable().optional(),\n responder: peerSummarySchema.nullable().optional(),\n handshake: encryptionHandshakeRecordSchema.nullable().optional(),\n});\n\nconst chatHistoryEntrySchema = z.object({\n messageId: z.string(),\n role: z.enum(['user', 'agent']),\n content: z.string(),\n timestamp: z.string(),\n cipherEnvelope: cipherEnvelopeSchema.optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nconst searchHitSchema = z.object({\n id: z.string(),\n uaid: z.string(),\n registry: z.string(),\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n endpoints: z\n .union([z.record(jsonValueSchema), z.array(z.string())])\n .optional(),\n metadata: z.record(jsonValueSchema).optional(),\n profile: agentProfileSchema.optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n lastSeen: z.string().optional(),\n lastIndexed: z.string().optional(),\n});\n\nexport const searchResponseSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number(),\n limit: z.number(),\n});\n\nexport const statsResponseSchema = z.object({\n totalAgents: z.number(),\n registries: z.record(z.number()),\n capabilities: z.record(z.number()),\n lastUpdate: z.string(),\n status: z.string(),\n});\n\nexport const registriesResponseSchema = z.object({\n registries: z.array(z.string()),\n});\n\nexport const popularResponseSchema = z.object({\n searches: z.array(z.string()),\n});\n\nexport const resolveResponseSchema = z.object({\n agent: searchHitSchema,\n});\n\nexport const createSessionResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n agent: z.object({\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.record(jsonValueSchema).nullable().optional(),\n skills: z.array(z.string()).optional(),\n }),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number().nullable().optional(),\n encryption: sessionEncryptionSummarySchema.nullable().optional(),\n});\n\nexport const sendMessageResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n message: z.string(),\n timestamp: z.string(),\n rawResponse: jsonValueSchema.optional(),\n content: z.string().optional(),\n history: z.array(chatHistoryEntrySchema).optional(),\n historyTtlSeconds: z.number().nullable().optional(),\n encrypted: z.boolean().optional(),\n});\n\nexport const chatHistorySnapshotResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n});\n\nexport const chatHistoryCompactionRequestSchema = z\n .object({\n preserveEntries: z.number().int().min(0).optional(),\n })\n .strict();\n\nexport const chatHistoryCompactionResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n summaryEntry: chatHistoryEntrySchema,\n preservedEntries: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n creditsDebited: z.number(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nexport const sessionEncryptionStatusResponseSchema = z.object({\n sessionId: z.string(),\n encryption: sessionEncryptionSummarySchema.nullable(),\n});\n\nexport const encryptionHandshakeResponseSchema = z.object({\n sessionId: z.string(),\n handshake: encryptionHandshakeRecordSchema,\n});\n\nexport const registerEncryptionKeyResponseSchema = z.object({\n id: z.string(),\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().nullable(),\n ledgerAccountId: z.string().nullable(),\n ledgerNetwork: z.string().nullable().optional(),\n userId: z.string().nullable().optional(),\n email: z.string().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const ledgerChallengeResponseSchema = z.object({\n challengeId: z.string(),\n message: z.string(),\n expiresAt: z.string(),\n});\n\nconst ledgerApiKeySummarySchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n prefix: z.string(),\n lastFour: z.string(),\n createdAt: z.string(),\n lastUsedAt: z.string().nullable().optional(),\n ownerType: z.literal('ledger'),\n ledgerAccountId: z.string().optional(),\n ledgerNetwork: z.string().optional(),\n ledgerNetworkCanonical: z.string().optional(),\n});\n\nexport const ledgerVerifyResponseSchema = z.object({\n key: z.string(),\n apiKey: ledgerApiKeySummarySchema,\n accountId: z.string(),\n network: z.string(),\n networkCanonical: z.string().optional(),\n});\n\nexport const protocolsResponseSchema = z.object({\n protocols: z.array(z.string()),\n});\n\nexport const detectProtocolResponseSchema = z.object({\n protocol: z.string().nullable(),\n});\n\nexport const registrySearchByNamespaceSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number().optional(),\n limit: z.number().optional(),\n});\n\nconst vectorSearchFilterSchema = z\n .object({\n capabilities: z.array(z.string()).optional(),\n type: z.string().optional(),\n registry: z.string().optional(),\n protocols: z.array(z.string()).optional(),\n })\n .strict();\n\nexport const vectorSearchRequestSchema = z\n .object({\n query: z.string(),\n filter: vectorSearchFilterSchema.optional(),\n limit: z.number().int().min(1).max(100).optional(),\n offset: z.number().int().min(0).optional(),\n })\n .strict();\n\nconst vectorSearchHitSchema = z.object({\n agent: searchHitSchema,\n score: z.number().optional(),\n highlights: z.record(z.array(z.string())).optional(),\n});\n\nexport const vectorSearchResponseSchema = z.object({\n hits: z.array(vectorSearchHitSchema),\n total: z.number(),\n took: z.number(),\n credits_used: z.number().optional(),\n});\n\nexport const websocketStatsResponseSchema = z.object({\n clients: z.number(),\n stats: z\n .object({\n totalClients: z.number().optional(),\n clientsByRegistry: z.record(z.number()).optional(),\n clientsByEventType: z.record(z.number()).optional(),\n })\n .passthrough(),\n});\n\nconst durationStatsSchema = z.object({\n p50: z.number(),\n p90: z.number(),\n p95: z.number(),\n p99: z.number(),\n});\n\nexport const metricsSummaryResponseSchema = z.object({\n http: z.object({\n requestsTotal: z.number(),\n activeConnections: z.number(),\n requestDuration: durationStatsSchema,\n }),\n search: z.object({\n queriesTotal: z.number(),\n queryDuration: durationStatsSchema,\n }),\n indexing: z.object({ agentsTotal: z.number(), crawlErrors: z.number() }),\n registration: z.object({\n total: z.number(),\n failures: z.number(),\n duration: durationStatsSchema,\n }),\n cache: z.object({\n hits: z.number(),\n misses: z.number(),\n hitRate: z.number(),\n }),\n websocket: z.object({ connections: z.number() }),\n});\n\nexport const uaidValidationResponseSchema = z.object({\n uaid: z.string(),\n valid: z.boolean(),\n formats: z.array(z.string()),\n});\n\nconst adapterConnectionSchema = z.object({\n id: z.string(),\n agentId: z.string(),\n protocol: z.string(),\n endpoint: z.string(),\n status: z.enum(['connected', 'disconnected', 'error']),\n metadata: z.record(jsonPrimitiveSchema).optional(),\n createdAt: z.string(),\n});\n\nexport const uaidConnectionStatusSchema = z.object({\n connected: z.boolean(),\n connection: adapterConnectionSchema.optional(),\n adapter: z.string().optional(),\n agentId: z.string().optional(),\n});\n\nexport const dashboardStatsResponseSchema = z.object({\n operatorId: z.string().optional(),\n adapters: z\n .array(\n z.object({\n name: z.string(),\n version: z.string(),\n status: z.string(),\n agentCount: z.number(),\n lastDiscovery: z.string(),\n registryType: z.string(),\n health: z.string(),\n }),\n )\n .optional(),\n totalAgents: z.number().optional(),\n elasticsearchDocumentCount: z.number().optional(),\n agentsByAdapter: z.record(z.number()).optional(),\n agentsByRegistry: z.record(z.number()).optional(),\n systemInfo: z\n .object({\n uptime: z.number().optional(),\n version: z.string().optional(),\n network: z.string().optional(),\n })\n .optional(),\n});\n\nconst registrationAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n endpoint: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n profile: agentProfileSchema.optional(),\n nativeId: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nconst registrationProfileInfoSchema = z.object({\n tId: z.string().nullable(),\n sizeBytes: z.number().optional(),\n});\n\nconst profileRegistrySchema = z\n .object({\n topicId: z.string().optional(),\n sequenceNumber: z.number().optional(),\n profileReference: z.string().optional(),\n profileTopicId: z.string().optional(),\n })\n .passthrough()\n .nullable()\n .optional();\n\nconst additionalRegistryResultSchema = z.object({\n registry: z.string(),\n status: z.enum([\n 'created',\n 'duplicate',\n 'skipped',\n 'error',\n 'updated',\n 'pending',\n ]),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n error: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n registryKey: z.string().optional(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n estimatedCredits: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n creditMode: z.enum(['fixed', 'gas']).nullable().optional(),\n minCredits: z.number().nullable().optional(),\n consumedCredits: z.number().nullable().optional(),\n cost: z\n .object({\n credits: z.number(),\n usd: z.number(),\n eth: z.number(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n transactions: z\n .array(\n z.object({\n hash: z.string(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n costWei: z.string(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nconst registrationCreditsSchema = z.object({\n base: z.number(),\n additional: z.number(),\n total: z.number(),\n});\n\nconst hcs10RegistrySchema = z\n .object({\n status: z.string(),\n uaid: z.string().optional(),\n transactionId: z.string().optional(),\n consensusTimestamp: z.string().optional(),\n registryTopicId: z.string().optional(),\n topicSequenceNumber: z.number().optional(),\n payloadHash: z.string().optional(),\n profileReference: z.string().optional(),\n tId: z.string().optional(),\n profileSizeBytes: z.number().optional(),\n error: z.string().optional(),\n })\n .passthrough();\n\nconst additionalRegistryNetworkSchema = z\n .object({\n key: z.string(),\n registryId: z.string().optional(),\n networkId: z.string().optional(),\n name: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n estimatedCredits: z.number().nullable().optional(),\n baseCredits: z.number().nullable().optional(),\n gasPortionCredits: z.number().nullable().optional(),\n gasPortionUsd: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n minCredits: z.number().nullable().optional(),\n creditMode: z.string().nullable().optional(),\n })\n .passthrough();\n\nconst additionalRegistryDescriptorSchema = z.object({\n id: z.string(),\n label: z.string(),\n networks: z.array(additionalRegistryNetworkSchema),\n});\n\nexport const additionalRegistryCatalogResponseSchema = z.object({\n registries: z.array(additionalRegistryDescriptorSchema),\n});\n\nconst registerAgentSuccessResponse = z.object({\n success: z.literal(true),\n status: z.enum(['created', 'duplicate', 'updated']).optional(),\n uaid: z.string(),\n agentId: z.string(),\n message: z.string().optional(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n});\n\nconst registerAgentPendingResponse = z.object({\n success: z.literal(true),\n status: z.literal('pending'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema,\n additionalRegistries: z.array(additionalRegistryResultSchema),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n});\n\nconst registerAgentPartialResponse = z.object({\n success: z.literal(false),\n status: z.literal('partial'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n errors: z\n .array(\n z.object({\n registry: z.string(),\n registryKey: z.string().nullable().optional(),\n error: z.string(),\n }),\n )\n .min(1),\n});\n\nexport const registerAgentSuccessResponseSchema = registerAgentSuccessResponse;\nexport const registerAgentPendingResponseSchema = registerAgentPendingResponse;\nexport const registerAgentPartialResponseSchema = registerAgentPartialResponse;\nexport const registerAgentResponseSchema = z.union([\n registerAgentSuccessResponse,\n registerAgentPendingResponse,\n registerAgentPartialResponse,\n]);\n\nconst registrationProgressAdditionalEntry = z.object({\n registryId: z.string(),\n registryKey: z.string(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n status: z.enum(['pending', 'in_progress', 'completed', 'failed']),\n error: z.string().optional(),\n credits: z.number().nullable().optional(),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n lastUpdated: z.string(),\n});\n\nconst registrationProgressRecord = z.object({\n attemptId: z.string(),\n mode: z.enum(['register', 'update']),\n status: z.enum(['pending', 'partial', 'completed', 'failed']),\n uaid: z.string().optional(),\n agentId: z.string().optional(),\n registryNamespace: z.string(),\n accountId: z.string().optional(),\n startedAt: z.string(),\n completedAt: z.string().optional(),\n primary: z.object({\n status: z.enum(['pending', 'completed', 'failed']),\n finishedAt: z.string().optional(),\n error: z.string().optional(),\n }),\n additionalRegistries: z.record(\n z.string(),\n registrationProgressAdditionalEntry,\n ),\n errors: z.array(z.string()).optional(),\n});\n\nexport const registrationProgressResponseSchema = z.object({\n progress: registrationProgressRecord,\n});\n\nexport const registrationProgressAdditionalEntrySchema =\n registrationProgressAdditionalEntry;\nexport const registrationProgressRecordSchema = registrationProgressRecord;\n\nexport const registrationQuoteResponseSchema = z.object({\n accountId: z.string().nullable().optional(),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n requiredCredits: z.number(),\n availableCredits: z.number().nullable().optional(),\n shortfallCredits: z.number().nullable().optional(),\n creditsPerHbar: z.number().nullable().optional(),\n estimatedHbar: z.number().nullable().optional(),\n});\n\nexport const creditPurchaseResponseSchema = z.object({\n success: z.boolean().optional(),\n purchaser: z.string(),\n credits: z.number(),\n hbarAmount: z.number(),\n transactionId: z.string(),\n consensusTimestamp: z.string().nullable().optional(),\n});\n\nconst x402SettlementSchema = z\n .object({\n success: z.boolean().optional(),\n transaction: z.string().optional(),\n network: z.string().optional(),\n payer: z.string().optional(),\n errorReason: z.string().optional(),\n })\n .strict();\n\nexport const x402CreditPurchaseResponseSchema = z.object({\n success: z.boolean(),\n accountId: z.string(),\n creditedCredits: z.number(),\n usdAmount: z.number(),\n balance: z.number(),\n payment: z\n .object({\n payer: z.string().optional(),\n requirement: z.record(jsonValueSchema).optional(),\n settlement: x402SettlementSchema.optional(),\n })\n .optional(),\n});\n\nexport const x402MinimumsResponseSchema = z.object({\n minimums: z\n .record(\n z.object({\n network: z.string().optional(),\n gasLimit: z.number().optional(),\n gasPriceWei: z.string().optional(),\n gasUsd: z.number().optional(),\n minUsd: z.number().optional(),\n ethUsd: z.number().optional(),\n fetchedAt: z.string().optional(),\n source: z.string().optional(),\n }),\n )\n .optional(),\n creditUnitUsd: z.number().optional(),\n});\n\nexport const adaptersResponseSchema = z.object({\n adapters: z.array(z.string()),\n});\n\nexport const adapterChatProfileSchema = z.object({\n supportsChat: z.boolean(),\n delivery: z.string().optional(),\n transport: z.string().optional(),\n streaming: z.boolean().optional(),\n requiresAuth: z.array(z.string()).optional(),\n notes: z.string().optional(),\n});\n\nconst adapterCapabilitiesSchema = z.object({\n discovery: z.boolean(),\n routing: z.boolean(),\n communication: z.boolean(),\n translation: z.boolean(),\n protocols: z.array(z.string()),\n});\n\nexport const adapterDescriptorSchema = z.object({\n id: z.string(),\n name: z.string(),\n version: z.string(),\n author: z.string(),\n description: z.string(),\n supportedProtocols: z.array(z.string()),\n registryType: z.enum(['web2', 'web3', 'hybrid']),\n chatProfile: adapterChatProfileSchema.optional(),\n capabilities: adapterCapabilitiesSchema,\n enabled: z.boolean(),\n priority: z.number(),\n status: z.enum(['running', 'stopped']),\n});\n\nexport const adapterDetailsResponseSchema = z.object({\n adapters: z.array(adapterDescriptorSchema),\n});\n\nconst metadataFacetOptionSchema = z.object({\n value: z.union([z.string(), z.number(), z.boolean()]),\n label: z.string(),\n});\n\nconst searchFacetSchema = z.object({\n key: z.string(),\n label: z.string(),\n description: z.string().optional(),\n type: z.enum(['string', 'boolean', 'number']),\n adapters: z.array(z.string()).optional(),\n options: z.array(metadataFacetOptionSchema).optional(),\n});\n\nexport const searchFacetsResponseSchema = z.object({\n facets: z.array(searchFacetSchema),\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Logger } from "./standards-sdk.es105.js";
|
|
2
|
+
import { HederaMirrorNode } from "./standards-sdk.es126.js";
|
|
3
|
+
class HCS5BaseClient {
|
|
4
|
+
/**
|
|
5
|
+
* Create a new HCS-5 base client
|
|
6
|
+
*/
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.network = config.network;
|
|
9
|
+
this.logger = config.logger || Logger.getInstance({
|
|
10
|
+
level: config.logLevel || "info",
|
|
11
|
+
module: "HCS5Client",
|
|
12
|
+
silent: config.silent
|
|
13
|
+
});
|
|
14
|
+
this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
|
|
7
15
|
}
|
|
8
|
-
if (key.contractID) {
|
|
9
|
-
return `ContractID: ${new ContractId(
|
|
10
|
-
key.contractID.shardNum ?? 0,
|
|
11
|
-
key.contractID.realmNum ?? 0,
|
|
12
|
-
key.contractID.contractNum ?? 0
|
|
13
|
-
).toString()}`;
|
|
14
|
-
}
|
|
15
|
-
if (key.ed25519) {
|
|
16
|
-
return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
|
|
17
|
-
}
|
|
18
|
-
if (key.ECDSASecp256k1) {
|
|
19
|
-
return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
|
|
20
|
-
"hex"
|
|
21
|
-
)}`;
|
|
22
|
-
}
|
|
23
|
-
if (key?.keyList?.keys?.length > 0) {
|
|
24
|
-
const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
|
|
25
|
-
return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
|
|
26
|
-
}
|
|
27
|
-
if (key?.thresholdKey?.keys?.keys?.length > 0) {
|
|
28
|
-
const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
|
|
29
|
-
return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
|
|
30
|
-
}
|
|
31
|
-
if (key.delegatableContractId) {
|
|
32
|
-
return `DelegatableContractID: ${new ContractId(
|
|
33
|
-
key.delegatableContractId.shardNum ?? 0,
|
|
34
|
-
key.delegatableContractId.realmNum ?? 0,
|
|
35
|
-
key.delegatableContractId.contractNum ?? 0
|
|
36
|
-
).toString()}`;
|
|
37
|
-
}
|
|
38
|
-
if (Object.keys(key).length === 0) {
|
|
39
|
-
return "Empty Key Structure";
|
|
40
|
-
}
|
|
41
|
-
return "Unknown or Unset Key Type";
|
|
42
|
-
}
|
|
43
|
-
function extractTransactionBody(transaction) {
|
|
44
|
-
try {
|
|
45
|
-
const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
|
|
46
|
-
if (!bytes) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
const decoded = proto.TransactionList.decode(bytes);
|
|
50
|
-
if (!decoded.transactionList || decoded.transactionList.length === 0) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
const tx = decoded.transactionList[0];
|
|
54
|
-
if (tx.bodyBytes && tx.bodyBytes.length > 0) {
|
|
55
|
-
return proto.TransactionBody.decode(tx.bodyBytes);
|
|
56
|
-
}
|
|
57
|
-
if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
|
|
58
|
-
const signedTx = proto.SignedTransaction.decode(
|
|
59
|
-
tx.signedTransactionBytes
|
|
60
|
-
);
|
|
61
|
-
if (signedTx.bodyBytes) {
|
|
62
|
-
return proto.TransactionBody.decode(signedTx.bodyBytes);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return null;
|
|
66
|
-
} catch (error) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
function hasTransactionType(transaction, transactionField) {
|
|
71
|
-
const txBody = extractTransactionBody(transaction);
|
|
72
|
-
return !!(txBody && txBody[transactionField]);
|
|
73
16
|
}
|
|
74
17
|
export {
|
|
75
|
-
|
|
76
|
-
hasTransactionType,
|
|
77
|
-
parseKey
|
|
18
|
+
HCS5BaseClient
|
|
78
19
|
};
|
|
79
20
|
//# sourceMappingURL=standards-sdk.es139.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es139.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es139.js","sources":["../../src/hcs-5/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS5ClientConfig } from './types';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS-5 operations\n */\nexport abstract class HCS5BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-5 base client\n */\n constructor(config: HCS5ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS5Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA,EAQnC,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AAEH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AACF;"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Long, AccountId } from "@hashgraph/sdk";
|
|
2
|
+
import { parseKey } from "./standards-sdk.es147.js";
|
|
3
|
+
import { Buffer } from "buffer";
|
|
4
|
+
class HCSParser {
|
|
5
|
+
static parseConsensusCreateTopic(body) {
|
|
6
|
+
if (!body) return void 0;
|
|
7
|
+
const data = {};
|
|
8
|
+
if (body.memo) {
|
|
9
|
+
data.memo = body.memo;
|
|
10
|
+
}
|
|
11
|
+
data.adminKey = parseKey(body.adminKey);
|
|
12
|
+
data.submitKey = parseKey(body.submitKey);
|
|
13
|
+
if (body.autoRenewPeriod?.seconds) {
|
|
14
|
+
data.autoRenewPeriod = Long.fromValue(
|
|
15
|
+
body.autoRenewPeriod.seconds
|
|
16
|
+
).toString();
|
|
17
|
+
}
|
|
18
|
+
if (body.autoRenewAccount) {
|
|
19
|
+
data.autoRenewAccountId = new AccountId(
|
|
20
|
+
body.autoRenewAccount.shardNum ?? 0,
|
|
21
|
+
body.autoRenewAccount.realmNum ?? 0,
|
|
22
|
+
body.autoRenewAccount.accountNum ?? 0
|
|
23
|
+
).toString();
|
|
24
|
+
}
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
static parseConsensusSubmitMessage(body) {
|
|
28
|
+
if (!body) return void 0;
|
|
29
|
+
const data = {};
|
|
30
|
+
if (body.topicID) {
|
|
31
|
+
data.topicId = `${body.topicID.shardNum ?? 0}.${body.topicID.realmNum ?? 0}.${body.topicID.topicNum ?? 0}`;
|
|
32
|
+
}
|
|
33
|
+
if (body.message?.length > 0) {
|
|
34
|
+
const messageBuffer = Buffer.from(body.message);
|
|
35
|
+
const utf8String = messageBuffer.toString("utf8");
|
|
36
|
+
if (/[\x00-\x08\x0B\x0E-\x1F\x7F]/.test(utf8String) || utf8String.includes("�")) {
|
|
37
|
+
data.message = messageBuffer.toString("base64");
|
|
38
|
+
data.messageEncoding = "base64";
|
|
39
|
+
} else {
|
|
40
|
+
data.message = utf8String;
|
|
41
|
+
data.messageEncoding = "utf8";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (body.chunkInfo) {
|
|
45
|
+
if (body.chunkInfo.initialTransactionID) {
|
|
46
|
+
const txId = body.chunkInfo.initialTransactionID.accountID;
|
|
47
|
+
const taValidStart = body.chunkInfo.initialTransactionID.transactionValidStart;
|
|
48
|
+
if (txId && taValidStart) {
|
|
49
|
+
data.chunkInfoInitialTransactionID = `${txId.shardNum ?? 0}.${txId.realmNum ?? 0}.${txId.accountNum ?? 0}@${taValidStart.seconds ?? 0}.${taValidStart.nanos ?? 0}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (body.chunkInfo.number !== void 0 && body.chunkInfo.number !== null) {
|
|
53
|
+
data.chunkInfoNumber = body.chunkInfo.number;
|
|
54
|
+
}
|
|
55
|
+
if (body.chunkInfo.total !== void 0 && body.chunkInfo.total !== null) {
|
|
56
|
+
data.chunkInfoTotal = body.chunkInfo.total;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return data;
|
|
60
|
+
}
|
|
61
|
+
static parseConsensusUpdateTopic(body) {
|
|
62
|
+
if (!body) return void 0;
|
|
63
|
+
const data = {};
|
|
64
|
+
if (body.topicID) {
|
|
65
|
+
data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;
|
|
66
|
+
}
|
|
67
|
+
if (body.memo?.value !== void 0) {
|
|
68
|
+
data.memo = body.memo.value;
|
|
69
|
+
}
|
|
70
|
+
if (body.adminKey === null) {
|
|
71
|
+
data.clearAdminKey = true;
|
|
72
|
+
data.adminKey = void 0;
|
|
73
|
+
} else if (body.adminKey) {
|
|
74
|
+
data.adminKey = parseKey(body.adminKey);
|
|
75
|
+
} else {
|
|
76
|
+
data.adminKey = void 0;
|
|
77
|
+
}
|
|
78
|
+
if (body.submitKey === null) {
|
|
79
|
+
data.clearSubmitKey = true;
|
|
80
|
+
data.submitKey = void 0;
|
|
81
|
+
} else if (body.submitKey) {
|
|
82
|
+
data.submitKey = parseKey(body.submitKey);
|
|
83
|
+
} else {
|
|
84
|
+
data.submitKey = void 0;
|
|
85
|
+
}
|
|
86
|
+
if (body.autoRenewPeriod?.seconds) {
|
|
87
|
+
data.autoRenewPeriod = Long.fromValue(
|
|
88
|
+
body.autoRenewPeriod.seconds
|
|
89
|
+
).toString();
|
|
90
|
+
}
|
|
91
|
+
if (body.autoRenewAccount) {
|
|
92
|
+
data.autoRenewAccountId = new AccountId(
|
|
93
|
+
body.autoRenewAccount.shardNum ?? 0,
|
|
94
|
+
body.autoRenewAccount.realmNum ?? 0,
|
|
95
|
+
body.autoRenewAccount.accountNum ?? 0
|
|
96
|
+
).toString();
|
|
97
|
+
}
|
|
98
|
+
return data;
|
|
99
|
+
}
|
|
100
|
+
static parseConsensusDeleteTopic(body) {
|
|
101
|
+
if (!body) return void 0;
|
|
102
|
+
const data = {};
|
|
103
|
+
if (body.topicID) {
|
|
104
|
+
data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum ?? 0}.${body.topicID.topicNum ?? 0}`;
|
|
105
|
+
}
|
|
106
|
+
return data;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Parse HCS transaction from Transaction object with comprehensive extraction
|
|
110
|
+
* This is the unified entry point that handles both protobuf and internal field extraction
|
|
111
|
+
*/
|
|
112
|
+
static parseFromTransactionObject(transaction) {
|
|
113
|
+
try {
|
|
114
|
+
const transactionBody = transaction._transactionBody;
|
|
115
|
+
if (!transactionBody) {
|
|
116
|
+
return {};
|
|
117
|
+
}
|
|
118
|
+
if (transactionBody.consensusCreateTopic) {
|
|
119
|
+
const consensusCreateTopic = this.parseConsensusCreateTopic(
|
|
120
|
+
transactionBody.consensusCreateTopic
|
|
121
|
+
);
|
|
122
|
+
if (consensusCreateTopic) {
|
|
123
|
+
return {
|
|
124
|
+
type: "TOPICCREATE",
|
|
125
|
+
humanReadableType: "Topic Create",
|
|
126
|
+
consensusCreateTopic
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (transactionBody.consensusSubmitMessage) {
|
|
131
|
+
const consensusSubmitMessage = this.parseConsensusSubmitMessage(
|
|
132
|
+
transactionBody.consensusSubmitMessage
|
|
133
|
+
);
|
|
134
|
+
if (consensusSubmitMessage) {
|
|
135
|
+
return {
|
|
136
|
+
type: "CONSENSUSSUBMITMESSAGE",
|
|
137
|
+
humanReadableType: "Submit Message",
|
|
138
|
+
consensusSubmitMessage
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (transactionBody.consensusUpdateTopic) {
|
|
143
|
+
const consensusUpdateTopic = this.parseConsensusUpdateTopic(
|
|
144
|
+
transactionBody.consensusUpdateTopic
|
|
145
|
+
);
|
|
146
|
+
if (consensusUpdateTopic) {
|
|
147
|
+
return {
|
|
148
|
+
type: "TOPICUPDATE",
|
|
149
|
+
humanReadableType: "Topic Update",
|
|
150
|
+
consensusUpdateTopic
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (transactionBody.consensusDeleteTopic) {
|
|
155
|
+
const consensusDeleteTopic = this.parseConsensusDeleteTopic(
|
|
156
|
+
transactionBody.consensusDeleteTopic
|
|
157
|
+
);
|
|
158
|
+
if (consensusDeleteTopic) {
|
|
159
|
+
return {
|
|
160
|
+
type: "TOPICDELETE",
|
|
161
|
+
humanReadableType: "Topic Delete",
|
|
162
|
+
consensusDeleteTopic
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return {};
|
|
167
|
+
} catch (error) {
|
|
168
|
+
return {};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export {
|
|
173
|
+
HCSParser
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=standards-sdk.es142.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-sdk.es142.js","sources":["../../src/utils/parsers/hcs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { AccountId, Long, Transaction } from '@hashgraph/sdk';\nimport {\n ConsensusCreateTopicData,\n ConsensusSubmitMessageData,\n ConsensusUpdateTopicData,\n ConsensusDeleteTopicData,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\nimport { Buffer } from 'buffer';\n\nexport class HCSParser {\n static parseConsensusCreateTopic(\n body: proto.IConsensusCreateTopicTransactionBody,\n ): ConsensusCreateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusCreateTopicData = {};\n if (body.memo) {\n data.memo = body.memo;\n }\n data.adminKey = parseKey(body.adminKey);\n data.submitKey = parseKey(body.submitKey);\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n static parseConsensusSubmitMessage(\n body: proto.IConsensusSubmitMessageTransactionBody,\n ): ConsensusSubmitMessageData | undefined {\n if (!body) return undefined;\n const data: ConsensusSubmitMessageData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum ?? 0}.${\n body.topicID.realmNum ?? 0\n }.${body.topicID.topicNum ?? 0}`;\n }\n if (body.message?.length > 0) {\n const messageBuffer = Buffer.from(body.message);\n const utf8String = messageBuffer.toString('utf8');\n if (\n /[\\x00-\\x08\\x0B\\x0E-\\x1F\\x7F]/.test(utf8String) ||\n utf8String.includes('\\uFFFD')\n ) {\n data.message = messageBuffer.toString('base64');\n data.messageEncoding = 'base64';\n } else {\n data.message = utf8String;\n data.messageEncoding = 'utf8';\n }\n }\n if (body.chunkInfo) {\n if (body.chunkInfo.initialTransactionID) {\n const txId = body.chunkInfo.initialTransactionID.accountID;\n const taValidStart =\n body.chunkInfo.initialTransactionID.transactionValidStart;\n if (txId && taValidStart) {\n data.chunkInfoInitialTransactionID = `${txId.shardNum ?? 0}.${\n txId.realmNum ?? 0\n }.${txId.accountNum ?? 0}@${taValidStart.seconds ?? 0}.${\n taValidStart.nanos ?? 0\n }`;\n }\n }\n if (\n body.chunkInfo.number !== undefined &&\n body.chunkInfo.number !== null\n ) {\n data.chunkInfoNumber = body.chunkInfo.number;\n }\n if (body.chunkInfo.total !== undefined && body.chunkInfo.total !== null) {\n data.chunkInfoTotal = body.chunkInfo.total;\n }\n }\n return data;\n }\n\n static parseConsensusUpdateTopic(\n body: proto.IConsensusUpdateTopicTransactionBody,\n ): ConsensusUpdateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusUpdateTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n if (body.adminKey === null) {\n data.clearAdminKey = true;\n data.adminKey = undefined;\n } else if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n } else {\n data.adminKey = undefined;\n }\n if (body.submitKey === null) {\n data.clearSubmitKey = true;\n data.submitKey = undefined;\n } else if (body.submitKey) {\n data.submitKey = parseKey(body.submitKey);\n } else {\n data.submitKey = undefined;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n static parseConsensusDeleteTopic(\n body: proto.IConsensusDeleteTopicTransactionBody,\n ): ConsensusDeleteTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusDeleteTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum ?? 0}.${\n body.topicID.topicNum ?? 0\n }`;\n }\n return data;\n }\n\n /**\n * Parse HCS transaction from Transaction object with comprehensive extraction\n * This is the unified entry point that handles both protobuf and internal field extraction\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const transactionBody = (\n transaction as unknown as { _transactionBody?: unknown }\n )._transactionBody as proto.ITransactionBody | undefined;\n\n if (!transactionBody) {\n return {};\n }\n\n if (transactionBody.consensusCreateTopic) {\n const consensusCreateTopic = this.parseConsensusCreateTopic(\n transactionBody.consensusCreateTopic,\n );\n if (consensusCreateTopic) {\n return {\n type: 'TOPICCREATE',\n humanReadableType: 'Topic Create',\n consensusCreateTopic,\n };\n }\n }\n\n if (transactionBody.consensusSubmitMessage) {\n const consensusSubmitMessage = this.parseConsensusSubmitMessage(\n transactionBody.consensusSubmitMessage,\n );\n if (consensusSubmitMessage) {\n return {\n type: 'CONSENSUSSUBMITMESSAGE',\n humanReadableType: 'Submit Message',\n consensusSubmitMessage,\n };\n }\n }\n\n if (transactionBody.consensusUpdateTopic) {\n const consensusUpdateTopic = this.parseConsensusUpdateTopic(\n transactionBody.consensusUpdateTopic,\n );\n if (consensusUpdateTopic) {\n return {\n type: 'TOPICUPDATE',\n humanReadableType: 'Topic Update',\n consensusUpdateTopic,\n };\n }\n }\n\n if (transactionBody.consensusDeleteTopic) {\n const consensusDeleteTopic = this.parseConsensusDeleteTopic(\n transactionBody.consensusDeleteTopic,\n );\n if (consensusDeleteTopic) {\n return {\n type: 'TOPICDELETE',\n humanReadableType: 'Topic Delete',\n consensusDeleteTopic,\n };\n }\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n}\n"],"names":[],"mappings":"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"}
|