@gnolang/tm2-js-client 1.3.2 → 2.0.0
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/README.md +1 -1
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.cjs +12 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs +12 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPrimitive.cjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPrimitive.mjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPropertyKey.cjs +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPropertyKey.mjs +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/typeof.cjs +16 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/typeof.mjs +11 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/index.cjs +92 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +23 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/proto/google/protobuf/any.cjs +84 -0
- package/dist/proto/google/protobuf/any.cjs.map +1 -0
- package/dist/proto/google/protobuf/any.d.cts +141 -0
- package/dist/proto/google/protobuf/any.d.cts.map +1 -0
- package/dist/proto/google/protobuf/any.d.mts +141 -0
- package/dist/proto/google/protobuf/any.d.mts.map +1 -0
- package/dist/proto/google/protobuf/any.mjs +83 -0
- package/dist/proto/google/protobuf/any.mjs.map +1 -0
- package/dist/proto/index.cjs +2 -0
- package/dist/proto/index.d.cts +2 -0
- package/dist/proto/index.d.mts +2 -0
- package/dist/proto/index.mjs +3 -0
- package/dist/proto/tm2/abci.cjs +182 -0
- package/dist/proto/tm2/abci.cjs.map +1 -0
- package/dist/proto/tm2/abci.d.cts +33 -0
- package/dist/proto/tm2/abci.d.cts.map +1 -0
- package/dist/proto/tm2/abci.d.mts +33 -0
- package/dist/proto/tm2/abci.d.mts.map +1 -0
- package/dist/proto/tm2/abci.mjs +181 -0
- package/dist/proto/tm2/abci.mjs.map +1 -0
- package/dist/proto/tm2/tx.cjs +263 -0
- package/dist/proto/tm2/tx.cjs.map +1 -0
- package/dist/proto/tm2/tx.d.cts +49 -0
- package/dist/proto/tm2/tx.d.cts.map +1 -0
- package/dist/proto/tm2/tx.d.mts +49 -0
- package/dist/proto/tm2/tx.d.mts.map +1 -0
- package/dist/proto/tm2/tx.mjs +258 -0
- package/dist/proto/tm2/tx.mjs.map +1 -0
- package/dist/provider/endpoints.cjs +43 -0
- package/dist/provider/endpoints.cjs.map +1 -0
- package/dist/provider/endpoints.d.cts +33 -0
- package/dist/provider/endpoints.d.cts.map +1 -0
- package/dist/provider/endpoints.d.mts +33 -0
- package/dist/provider/endpoints.d.mts.map +1 -0
- package/dist/provider/endpoints.mjs +39 -0
- package/dist/provider/endpoints.mjs.map +1 -0
- package/dist/provider/errors/errors.cjs +122 -0
- package/dist/provider/errors/errors.cjs.map +1 -0
- package/dist/provider/errors/errors.d.cts +62 -0
- package/dist/provider/errors/errors.d.cts.map +1 -0
- package/dist/provider/errors/errors.d.mts +62 -0
- package/dist/provider/errors/errors.d.mts.map +1 -0
- package/dist/provider/errors/errors.mjs +104 -0
- package/dist/provider/errors/errors.mjs.map +1 -0
- package/dist/provider/errors/messages.cjs +40 -0
- package/dist/provider/errors/messages.cjs.map +1 -0
- package/dist/provider/errors/messages.mjs +23 -0
- package/dist/provider/errors/messages.mjs.map +1 -0
- package/dist/provider/index.cjs +12 -0
- package/dist/provider/index.d.cts +11 -0
- package/dist/provider/index.d.mts +11 -0
- package/dist/provider/index.mjs +13 -0
- package/dist/provider/jsonrpc/index.cjs +1 -0
- package/dist/provider/jsonrpc/index.d.cts +1 -0
- package/dist/provider/jsonrpc/index.d.mts +1 -0
- package/dist/provider/jsonrpc/index.mjs +2 -0
- package/dist/provider/jsonrpc/jsonrpc.cjs +20 -0
- package/dist/provider/jsonrpc/jsonrpc.cjs.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.d.cts +16 -0
- package/dist/provider/jsonrpc/jsonrpc.d.cts.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.d.mts +16 -0
- package/dist/provider/jsonrpc/jsonrpc.d.mts.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.mjs +19 -0
- package/dist/provider/jsonrpc/jsonrpc.mjs.map +1 -0
- package/dist/provider/provider.cjs +130 -0
- package/dist/provider/provider.cjs.map +1 -0
- package/dist/provider/provider.d.cts +130 -0
- package/dist/provider/provider.d.cts.map +1 -0
- package/dist/provider/provider.d.mts +130 -0
- package/dist/provider/provider.d.mts.map +1 -0
- package/dist/provider/provider.mjs +130 -0
- package/dist/provider/provider.mjs.map +1 -0
- package/dist/provider/types/abci.cjs +6 -0
- package/dist/provider/types/abci.cjs.map +1 -0
- package/dist/provider/types/abci.d.cts +42 -0
- package/dist/provider/types/abci.d.cts.map +1 -0
- package/dist/provider/types/abci.d.mts +42 -0
- package/dist/provider/types/abci.d.mts.map +1 -0
- package/dist/provider/types/abci.mjs +6 -0
- package/dist/provider/types/abci.mjs.map +1 -0
- package/dist/provider/types/common.d.cts +186 -0
- package/dist/provider/types/common.d.cts.map +1 -0
- package/dist/provider/types/common.d.mts +186 -0
- package/dist/provider/types/common.d.mts.map +1 -0
- package/dist/provider/types/jsonrpc.d.cts +30 -0
- package/dist/provider/types/jsonrpc.d.cts.map +1 -0
- package/dist/provider/types/jsonrpc.d.mts +30 -0
- package/dist/provider/types/jsonrpc.d.mts.map +1 -0
- package/dist/provider/utility/adapters.cjs +241 -0
- package/dist/provider/utility/adapters.cjs.map +1 -0
- package/dist/provider/utility/adapters.d.cts +19 -0
- package/dist/provider/utility/adapters.d.cts.map +1 -0
- package/dist/provider/utility/adapters.d.mts +19 -0
- package/dist/provider/utility/adapters.d.mts.map +1 -0
- package/dist/provider/utility/adapters.mjs +231 -0
- package/dist/provider/utility/adapters.mjs.map +1 -0
- package/dist/provider/utility/errors.utility.cjs +38 -0
- package/dist/provider/utility/errors.utility.cjs.map +1 -0
- package/dist/provider/utility/errors.utility.mjs +38 -0
- package/dist/provider/utility/errors.utility.mjs.map +1 -0
- package/dist/provider/utility/index.cjs +3 -0
- package/dist/provider/utility/index.d.cts +3 -0
- package/dist/provider/utility/index.d.mts +3 -0
- package/dist/provider/utility/index.mjs +4 -0
- package/dist/provider/utility/provider.utility.cjs +122 -0
- package/dist/provider/utility/provider.utility.cjs.map +1 -0
- package/{bin/provider/utility/provider.utility.d.ts → dist/provider/utility/provider.utility.d.cts} +15 -10
- package/dist/provider/utility/provider.utility.d.cts.map +1 -0
- package/dist/provider/utility/provider.utility.d.mts +45 -0
- package/dist/provider/utility/provider.utility.d.mts.map +1 -0
- package/dist/provider/utility/provider.utility.mjs +116 -0
- package/dist/provider/utility/provider.utility.mjs.map +1 -0
- package/dist/provider/utility/requests.utility.cjs +75 -0
- package/dist/provider/utility/requests.utility.cjs.map +1 -0
- package/dist/provider/utility/requests.utility.d.cts +40 -0
- package/dist/provider/utility/requests.utility.d.cts.map +1 -0
- package/dist/provider/utility/requests.utility.d.mts +40 -0
- package/dist/provider/utility/requests.utility.d.mts.map +1 -0
- package/dist/provider/utility/requests.utility.mjs +68 -0
- package/dist/provider/utility/requests.utility.mjs.map +1 -0
- package/dist/provider/websocket/index.cjs +1 -0
- package/dist/provider/websocket/index.d.cts +1 -0
- package/dist/provider/websocket/index.d.mts +1 -0
- package/dist/provider/websocket/index.mjs +2 -0
- package/dist/provider/websocket/ws.cjs +27 -0
- package/dist/provider/websocket/ws.cjs.map +1 -0
- package/dist/provider/websocket/ws.d.cts +21 -0
- package/dist/provider/websocket/ws.d.cts.map +1 -0
- package/dist/provider/websocket/ws.d.mts +21 -0
- package/dist/provider/websocket/ws.d.mts.map +1 -0
- package/dist/provider/websocket/ws.mjs +26 -0
- package/dist/provider/websocket/ws.mjs.map +1 -0
- package/dist/services/index.cjs +1 -0
- package/dist/services/index.d.cts +2 -0
- package/dist/services/index.d.mts +2 -0
- package/dist/services/index.mjs +2 -0
- package/dist/services/rest/restService.cjs +16 -0
- package/dist/services/rest/restService.cjs.map +1 -0
- package/dist/services/rest/restService.d.cts +9 -0
- package/dist/services/rest/restService.d.cts.map +1 -0
- package/dist/services/rest/restService.d.mts +9 -0
- package/dist/services/rest/restService.d.mts.map +1 -0
- package/dist/services/rest/restService.mjs +14 -0
- package/dist/services/rest/restService.mjs.map +1 -0
- package/dist/services/rest/restService.types.d.cts +11 -0
- package/dist/services/rest/restService.types.d.cts.map +1 -0
- package/dist/services/rest/restService.types.d.mts +11 -0
- package/dist/services/rest/restService.types.d.mts.map +1 -0
- package/dist/wallet/index.cjs +8 -0
- package/dist/wallet/index.d.cts +7 -0
- package/dist/wallet/index.d.mts +7 -0
- package/dist/wallet/index.mjs +9 -0
- package/dist/wallet/key/index.cjs +1 -0
- package/dist/wallet/key/index.mjs +2 -0
- package/dist/wallet/key/key.cjs +46 -0
- package/dist/wallet/key/key.cjs.map +1 -0
- package/dist/wallet/key/key.d.cts +26 -0
- package/dist/wallet/key/key.d.cts.map +1 -0
- package/dist/wallet/key/key.d.mts +26 -0
- package/dist/wallet/key/key.d.mts.map +1 -0
- package/dist/wallet/key/key.mjs +45 -0
- package/dist/wallet/key/key.mjs.map +1 -0
- package/dist/wallet/ledger/index.cjs +1 -0
- package/dist/wallet/ledger/index.d.cts +1 -0
- package/dist/wallet/ledger/index.d.mts +1 -0
- package/dist/wallet/ledger/index.mjs +2 -0
- package/dist/wallet/ledger/ledger.cjs +49 -0
- package/dist/wallet/ledger/ledger.cjs.map +1 -0
- package/dist/wallet/ledger/ledger.d.cts +27 -0
- package/dist/wallet/ledger/ledger.d.cts.map +1 -0
- package/dist/wallet/ledger/ledger.d.mts +27 -0
- package/dist/wallet/ledger/ledger.d.mts.map +1 -0
- package/dist/wallet/ledger/ledger.mjs +48 -0
- package/dist/wallet/ledger/ledger.mjs.map +1 -0
- package/dist/wallet/signer.d.cts +33 -0
- package/dist/wallet/signer.d.cts.map +1 -0
- package/dist/wallet/signer.d.mts +33 -0
- package/dist/wallet/signer.d.mts.map +1 -0
- package/dist/wallet/types/sign.cjs +6 -0
- package/dist/wallet/types/sign.cjs.map +1 -0
- package/dist/wallet/types/sign.d.cts +20 -0
- package/dist/wallet/types/sign.d.cts.map +1 -0
- package/dist/wallet/types/sign.d.mts +20 -0
- package/dist/wallet/types/sign.d.mts.map +1 -0
- package/dist/wallet/types/sign.mjs +6 -0
- package/dist/wallet/types/sign.mjs.map +1 -0
- package/dist/wallet/types/wallet.d.cts +9 -0
- package/dist/wallet/types/wallet.d.cts.map +1 -0
- package/dist/wallet/types/wallet.d.mts +9 -0
- package/dist/wallet/types/wallet.d.mts.map +1 -0
- package/dist/wallet/utility/index.cjs +1 -0
- package/dist/wallet/utility/index.d.cts +1 -0
- package/dist/wallet/utility/index.d.mts +1 -0
- package/dist/wallet/utility/index.mjs +2 -0
- package/dist/wallet/utility/utility.cjs +83 -0
- package/dist/wallet/utility/utility.cjs.map +1 -0
- package/dist/wallet/utility/utility.d.cts +42 -0
- package/dist/wallet/utility/utility.d.cts.map +1 -0
- package/dist/wallet/utility/utility.d.mts +42 -0
- package/dist/wallet/utility/utility.d.mts.map +1 -0
- package/dist/wallet/utility/utility.mjs +75 -0
- package/dist/wallet/utility/utility.mjs.map +1 -0
- package/dist/wallet/wallet.cjs +223 -0
- package/dist/wallet/wallet.cjs.map +1 -0
- package/dist/wallet/wallet.d.cts +113 -0
- package/dist/wallet/wallet.d.cts.map +1 -0
- package/dist/wallet/wallet.d.mts +113 -0
- package/dist/wallet/wallet.d.mts.map +1 -0
- package/dist/wallet/wallet.mjs +222 -0
- package/dist/wallet/wallet.mjs.map +1 -0
- package/package.json +57 -38
- package/bin/index.d.ts +0 -4
- package/bin/index.js +0 -20
- package/bin/proto/google/protobuf/any.d.ts +0 -145
- package/bin/proto/google/protobuf/any.js +0 -113
- package/bin/proto/index.d.ts +0 -2
- package/bin/proto/index.js +0 -20
- package/bin/proto/tm2/abci.d.ts +0 -37
- package/bin/proto/tm2/abci.js +0 -277
- package/bin/proto/tm2/tx.d.ts +0 -52
- package/bin/proto/tm2/tx.js +0 -360
- package/bin/provider/endpoints.d.ts +0 -29
- package/bin/provider/endpoints.js +0 -37
- package/bin/provider/errors/errors.d.ts +0 -59
- package/bin/provider/errors/errors.js +0 -173
- package/bin/provider/errors/index.d.ts +0 -1
- package/bin/provider/errors/index.js +0 -17
- package/bin/provider/errors/messages.d.ts +0 -19
- package/bin/provider/errors/messages.js +0 -41
- package/bin/provider/index.d.ts +0 -7
- package/bin/provider/index.js +0 -23
- package/bin/provider/jsonrpc/index.d.ts +0 -1
- package/bin/provider/jsonrpc/index.js +0 -17
- package/bin/provider/jsonrpc/jsonrpc.d.ts +0 -31
- package/bin/provider/jsonrpc/jsonrpc.js +0 -327
- package/bin/provider/jsonrpc/jsonrpc.test.d.ts +0 -1
- package/bin/provider/jsonrpc/jsonrpc.test.js +0 -488
- package/bin/provider/provider.d.ts +0 -98
- package/bin/provider/provider.js +0 -2
- package/bin/provider/types/abci.d.ts +0 -39
- package/bin/provider/types/abci.js +0 -4
- package/bin/provider/types/common.d.ts +0 -184
- package/bin/provider/types/common.js +0 -3
- package/bin/provider/types/index.d.ts +0 -3
- package/bin/provider/types/index.js +0 -19
- package/bin/provider/types/jsonrpc.d.ts +0 -26
- package/bin/provider/types/jsonrpc.js +0 -2
- package/bin/provider/utility/errors.utility.d.ts +0 -11
- package/bin/provider/utility/errors.utility.js +0 -56
- package/bin/provider/utility/index.d.ts +0 -2
- package/bin/provider/utility/index.js +0 -18
- package/bin/provider/utility/provider.utility.js +0 -244
- package/bin/provider/utility/requests.utility.d.ts +0 -35
- package/bin/provider/utility/requests.utility.js +0 -80
- package/bin/provider/websocket/index.d.ts +0 -1
- package/bin/provider/websocket/index.js +0 -17
- package/bin/provider/websocket/ws.d.ts +0 -58
- package/bin/provider/websocket/ws.js +0 -415
- package/bin/provider/websocket/ws.test.d.ts +0 -1
- package/bin/provider/websocket/ws.test.js +0 -648
- package/bin/services/index.d.ts +0 -2
- package/bin/services/index.js +0 -18
- package/bin/services/rest/restService.d.ts +0 -4
- package/bin/services/rest/restService.js +0 -72
- package/bin/services/rest/restService.types.d.ts +0 -6
- package/bin/services/rest/restService.types.js +0 -2
- package/bin/wallet/index.d.ts +0 -6
- package/bin/wallet/index.js +0 -22
- package/bin/wallet/key/index.d.ts +0 -1
- package/bin/wallet/key/index.js +0 -17
- package/bin/wallet/key/key.d.ts +0 -21
- package/bin/wallet/key/key.js +0 -102
- package/bin/wallet/key/key.test.d.ts +0 -1
- package/bin/wallet/key/key.test.js +0 -121
- package/bin/wallet/ledger/index.d.ts +0 -1
- package/bin/wallet/ledger/index.js +0 -17
- package/bin/wallet/ledger/ledger.d.ts +0 -22
- package/bin/wallet/ledger/ledger.js +0 -109
- package/bin/wallet/signer.d.ts +0 -29
- package/bin/wallet/signer.js +0 -2
- package/bin/wallet/types/index.d.ts +0 -2
- package/bin/wallet/types/index.js +0 -18
- package/bin/wallet/types/sign.d.ts +0 -16
- package/bin/wallet/types/sign.js +0 -4
- package/bin/wallet/types/wallet.d.ts +0 -5
- package/bin/wallet/types/wallet.js +0 -2
- package/bin/wallet/utility/index.d.ts +0 -1
- package/bin/wallet/utility/index.js +0 -17
- package/bin/wallet/utility/utility.d.ts +0 -36
- package/bin/wallet/utility/utility.js +0 -117
- package/bin/wallet/wallet.d.ts +0 -102
- package/bin/wallet/wallet.js +0 -354
- package/bin/wallet/wallet.test.d.ts +0 -1
- package/bin/wallet/wallet.test.js +0 -352
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.cjs","names":[],"sources":["../../../src/provider/utility/adapters.ts"],"sourcesContent":["import type {\n AbciQueryResponse,\n BlockResponse,\n BlockResultsResponse,\n BroadcastTxCommitResponse,\n BroadcastTxSyncResponse,\n ConsensusParamsResponse as RpcConsensusParamsResponse,\n NetInfoResponse,\n ResponseBase,\n StatusResponse,\n TxData,\n TxResponse,\n TxResult as RpcTxResult,\n} from \"@gnolang/tm2-rpc\";\n\nimport type {\n ABCIResponse,\n ABCIResponseBase,\n BeginBlock,\n BlockInfo,\n BlockResult,\n BroadcastTxCommitResult,\n BroadcastTxSyncResult,\n ConsensusParams,\n DeliverTx,\n EndBlock,\n NetworkInfo,\n Status,\n TxResult,\n} from \"../types/index.js\";\n\nexport const toHexString = (data: Uint8Array): string => {\n return Array.from(data)\n .map(b => b.toString(16).padStart(2, \"0\"))\n .join(\"\")\n .toUpperCase();\n};\n\nexport const toBase64 = (data: Uint8Array): string => {\n return Buffer.from(data).toString(\"base64\");\n};\n\nconst adaptResponseBase = (rb: ResponseBase): ABCIResponseBase => {\n return {\n Error: rb.error?.[\"@type\"]\n ? {\n \"@type\": rb.error[\"@type\"],\n value: rb.error.value,\n }\n : null,\n Data: rb.data.length > 0 ? toBase64(rb.data) : null,\n Events: rb.events.length > 0 ? JSON.stringify(rb.events) : null,\n Log: rb.log,\n Info: rb.info,\n };\n};\n\nconst adaptTxData = (td: TxData): DeliverTx => {\n return {\n ResponseBase: adaptResponseBase(td.responseBase),\n GasWanted: String(td.gasWanted),\n GasUsed: String(td.gasUsed),\n };\n};\n\nexport const adaptStatusResponse = (r: StatusResponse): Status => {\n return {\n node_info: {\n version_set: r.nodeInfo.versionSet.map(v => ({\n Name: v.name,\n Version: v.version,\n Optional: v.optional,\n })),\n net_address: r.nodeInfo.listenAddr,\n network: r.nodeInfo.network,\n software: r.nodeInfo.software,\n version: r.nodeInfo.version,\n channels: r.nodeInfo.channels.map(c => String(c)).join(\"\"),\n monkier: r.nodeInfo.moniker,\n other: {\n tx_index: \"\",\n rpc_address: \"\",\n },\n },\n sync_info: {\n latest_block_hash: toHexString(r.syncInfo.latestBlockHash),\n latest_app_hash: toHexString(r.syncInfo.latestAppHash),\n latest_block_height: String(r.syncInfo.latestBlockHeight),\n latest_block_time: r.syncInfo.latestBlockTime.toISOString(),\n catching_up: r.syncInfo.catchingUp,\n },\n validator_info: {\n address: toHexString(r.validatorInfo.address),\n pub_key: {\n type: r.validatorInfo.pubkey?.algorithm ?? \"\",\n value: toBase64(r.validatorInfo.pubkey?.data ?? new Uint8Array()),\n },\n voting_power: String(r.validatorInfo.votingPower),\n },\n };\n};\n\nconst adaptBlockId = (\n bid: {\n hash: Uint8Array\n parts: {\n total: bigint\n hash: Uint8Array\n }\n } | null,\n) => {\n if (!bid) {\n return {\n hash: null,\n parts: {\n total: \"0\",\n hash: null,\n },\n };\n }\n return {\n hash: bid.hash.length > 0 ? toHexString(bid.hash) : null,\n parts: {\n total: String(bid.parts.total),\n hash: bid.parts.hash.length > 0 ? toHexString(bid.parts.hash) : null,\n },\n };\n};\n\nconst adaptHeader = (h: BlockResponse[\"block\"][\"header\"]) => {\n return {\n version: h.version,\n chain_id: h.chainId,\n height: String(h.height),\n time: h.time.toISOString(),\n num_txs: String(h.numTxs),\n total_txs: String(h.totalTxs),\n app_version: h.appVersion,\n last_block_id: adaptBlockId(h.lastBlockId),\n last_commit_hash:\n h.lastCommitHash.length > 0 ? toHexString(h.lastCommitHash) : null,\n data_hash: h.dataHash.length > 0 ? toHexString(h.dataHash) : null,\n validators_hash: toHexString(h.validatorsHash),\n consensus_hash: toHexString(h.consensusHash),\n app_hash: toHexString(h.appHash),\n last_results_hash:\n h.lastResultsHash.length > 0 ? toHexString(h.lastResultsHash) : null,\n proposer_address: h.proposerAddress,\n };\n};\n\nexport const adaptBlockResponse = (r: BlockResponse): BlockInfo => {\n return {\n block_meta: {\n block_id: adaptBlockId(r.blockMeta.blockId),\n header: adaptHeader(r.blockMeta.header),\n },\n block: {\n header: adaptHeader(r.block.header),\n data: {\n txs:\n r.block.txs.length > 0\n ? r.block.txs.map(tx => toBase64(tx))\n : null,\n },\n last_commit: r.block.lastCommit\n ? {\n block_id: adaptBlockId(r.block.lastCommit.blockId),\n precommits: r.block.lastCommit.precommits.length > 0\n ? r.block.lastCommit.precommits.map(p =>\n p\n ? {\n type: p.type,\n height: String(p.height),\n round: String(p.round),\n block_id: adaptBlockId(p.blockId),\n timestamp: p.timestamp.toISOString(),\n validator_address: p.validatorAddress,\n validator_index: String(p.validatorIndex),\n signature: toBase64(p.signature),\n }\n : null,\n )\n : null,\n }\n : {\n block_id: {\n hash: null,\n parts: {\n total: \"0\",\n hash: null,\n },\n },\n precommits: null,\n },\n },\n };\n};\n\nconst adaptRpcTxResult = (tr: RpcTxResult): DeliverTx => {\n return {\n ResponseBase: adaptResponseBase(tr.responseBase),\n GasWanted: String(tr.gasWanted),\n GasUsed: String(tr.gasUsed),\n };\n};\n\nexport const adaptBlockResultsResponse = (\n r: BlockResultsResponse,\n): BlockResult => {\n return {\n height: String(r.height),\n results: {\n deliver_tx:\n r.results.deliverTx.length > 0\n ? r.results.deliverTx.map(adaptRpcTxResult)\n : null,\n end_block: {\n ResponseBase: adaptResponseBase(r.results.endBlock.responseBase),\n ValidatorUpdates: null,\n ConsensusParams: null,\n Events: null,\n } as EndBlock,\n begin_block: {\n ResponseBase: adaptResponseBase(r.results.beginBlock.responseBase),\n } as BeginBlock,\n },\n };\n};\n\nexport const adaptNetInfoResponse = (r: NetInfoResponse): NetworkInfo => {\n return {\n listening: r.listening,\n listeners: r.listeners,\n n_peers: String(r.nPeers),\n peers: r.peers.map(p => p.remoteIp),\n };\n};\n\nexport const adaptConsensusParamsResponse = (\n r: RpcConsensusParamsResponse,\n): ConsensusParams => {\n return {\n block_height: String(r.blockHeight),\n consensus_params: {\n Block: {\n MaxTxBytes: String(r.consensusParams.block.maxTxBytes),\n MaxDataBytes: String(r.consensusParams.block.maxDataBytes),\n MaxBlockBytes: String(r.consensusParams.block.maxBlockBytes),\n MaxGas: String(r.consensusParams.block.maxGas),\n TimeIotaMS: String(r.consensusParams.block.timeIotaMs),\n },\n Validator: {\n PubKeyTypeURLs: [...r.consensusParams.validator.pubKeyTypeUrls],\n },\n },\n };\n};\n\nexport const adaptAbciQueryResponse = (r: AbciQueryResponse): ABCIResponse => {\n return {\n response: {\n ResponseBase: adaptResponseBase(r.responseBase),\n Key: r.key.length > 0 ? toBase64(r.key) : null,\n Value: r.value.length > 0 ? toBase64(r.value) : null,\n Proof: r.proof\n ? {\n ops: r.proof.ops.map(op => ({\n type: op.type,\n key: op.key.length > 0 ? toBase64(op.key) : null,\n data: op.data.length > 0 ? toBase64(op.data) : null,\n })),\n }\n : null,\n Height: r.height != null ? String(r.height) : \"0\",\n },\n };\n};\n\nexport const adaptBroadcastTxSyncResponse = (\n r: BroadcastTxSyncResponse,\n): BroadcastTxSyncResult => {\n return {\n error: r.responseBase.error?.[\"@type\"]\n ? {\n \"@type\": r.responseBase.error[\"@type\"],\n value: r.responseBase.error.value,\n }\n : null,\n data: r.responseBase.data.length > 0 ? toBase64(r.responseBase.data) : null,\n Log: r.responseBase.log,\n hash: toHexString(r.hash),\n };\n};\n\nexport const adaptBroadcastTxCommitResponse = (\n r: BroadcastTxCommitResponse,\n): BroadcastTxCommitResult => {\n return {\n check_tx: adaptTxData(r.checkTx),\n deliver_tx: r.deliverTx\n ? adaptTxData(r.deliverTx)\n : {\n ResponseBase: {\n Error: null,\n Data: null,\n Events: null,\n Log: \"\",\n Info: \"\",\n },\n GasWanted: \"0\",\n GasUsed: \"0\",\n },\n hash: toHexString(r.hash),\n height: String(r.height),\n };\n};\n\nexport const adaptTxResponse = (r: TxResponse): TxResult => {\n return {\n hash: toHexString(r.hash),\n index: r.index,\n height: String(r.height),\n tx_result: adaptTxData(r.result),\n tx: toBase64(r.tx),\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ABCIResponse } from "../types/abci.cjs";
|
|
2
|
+
import { BlockInfo, BlockResult, BroadcastTxCommitResult, BroadcastTxSyncResult, ConsensusParams, NetworkInfo, Status, TxResult } from "../types/common.cjs";
|
|
3
|
+
import { AbciQueryResponse, BlockResponse, BlockResultsResponse, BroadcastTxCommitResponse, BroadcastTxSyncResponse, ConsensusParamsResponse, NetInfoResponse, StatusResponse, TxResponse } from "@gnolang/tm2-rpc";
|
|
4
|
+
|
|
5
|
+
//#region src/provider/utility/adapters.d.ts
|
|
6
|
+
declare const toHexString: (data: Uint8Array) => string;
|
|
7
|
+
declare const toBase64: (data: Uint8Array) => string;
|
|
8
|
+
declare const adaptStatusResponse: (r: StatusResponse) => Status;
|
|
9
|
+
declare const adaptBlockResponse: (r: BlockResponse) => BlockInfo;
|
|
10
|
+
declare const adaptBlockResultsResponse: (r: BlockResultsResponse) => BlockResult;
|
|
11
|
+
declare const adaptNetInfoResponse: (r: NetInfoResponse) => NetworkInfo;
|
|
12
|
+
declare const adaptConsensusParamsResponse: (r: ConsensusParamsResponse) => ConsensusParams;
|
|
13
|
+
declare const adaptAbciQueryResponse: (r: AbciQueryResponse) => ABCIResponse;
|
|
14
|
+
declare const adaptBroadcastTxSyncResponse: (r: BroadcastTxSyncResponse) => BroadcastTxSyncResult;
|
|
15
|
+
declare const adaptBroadcastTxCommitResponse: (r: BroadcastTxCommitResponse) => BroadcastTxCommitResult;
|
|
16
|
+
declare const adaptTxResponse: (r: TxResponse) => TxResult;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString };
|
|
19
|
+
//# sourceMappingURL=adapters.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.cts","names":[],"sources":["../../../src/provider/utility/adapters.ts"],"mappings":";;;;;cA+Ba,WAAA,GAAe,IAAA,EAAM,UAAA;AAAA,cAOrB,QAAA,GAAY,IAAA,EAAM,UAAA;AAAA,cA2BlB,mBAAA,GAAuB,CAAA,EAAG,cAAA,KAAiB,MAAA;AAAA,cAsF3C,kBAAA,GAAsB,CAAA,EAAG,aAAA,KAAgB,SAAA;AAAA,cAwDzC,yBAAA,GACX,CAAA,EAAG,oBAAA,KACF,WAAA;AAAA,cAqBU,oBAAA,GAAwB,CAAA,EAAG,eAAA,KAAkB,WAAA;AAAA,cAS7C,4BAAA,GACX,CAAA,EAAG,uBAAA,KACF,eAAA;AAAA,cAkBU,sBAAA,GAA0B,CAAA,EAAG,iBAAA,KAAoB,YAAA;AAAA,cAoBjD,4BAAA,GACX,CAAA,EAAG,uBAAA,KACF,qBAAA;AAAA,cAcU,8BAAA,GACX,CAAA,EAAG,yBAAA,KACF,uBAAA;AAAA,cAqBU,eAAA,GAAmB,CAAA,EAAG,UAAA,KAAa,QAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ABCIResponse } from "../types/abci.mjs";
|
|
2
|
+
import { BlockInfo, BlockResult, BroadcastTxCommitResult, BroadcastTxSyncResult, ConsensusParams, NetworkInfo, Status, TxResult } from "../types/common.mjs";
|
|
3
|
+
import { AbciQueryResponse, BlockResponse, BlockResultsResponse, BroadcastTxCommitResponse, BroadcastTxSyncResponse, ConsensusParamsResponse, NetInfoResponse, StatusResponse, TxResponse } from "@gnolang/tm2-rpc";
|
|
4
|
+
|
|
5
|
+
//#region src/provider/utility/adapters.d.ts
|
|
6
|
+
declare const toHexString: (data: Uint8Array) => string;
|
|
7
|
+
declare const toBase64: (data: Uint8Array) => string;
|
|
8
|
+
declare const adaptStatusResponse: (r: StatusResponse) => Status;
|
|
9
|
+
declare const adaptBlockResponse: (r: BlockResponse) => BlockInfo;
|
|
10
|
+
declare const adaptBlockResultsResponse: (r: BlockResultsResponse) => BlockResult;
|
|
11
|
+
declare const adaptNetInfoResponse: (r: NetInfoResponse) => NetworkInfo;
|
|
12
|
+
declare const adaptConsensusParamsResponse: (r: ConsensusParamsResponse) => ConsensusParams;
|
|
13
|
+
declare const adaptAbciQueryResponse: (r: AbciQueryResponse) => ABCIResponse;
|
|
14
|
+
declare const adaptBroadcastTxSyncResponse: (r: BroadcastTxSyncResponse) => BroadcastTxSyncResult;
|
|
15
|
+
declare const adaptBroadcastTxCommitResponse: (r: BroadcastTxCommitResponse) => BroadcastTxCommitResult;
|
|
16
|
+
declare const adaptTxResponse: (r: TxResponse) => TxResult;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString };
|
|
19
|
+
//# sourceMappingURL=adapters.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.mts","names":[],"sources":["../../../src/provider/utility/adapters.ts"],"mappings":";;;;;cA+Ba,WAAA,GAAe,IAAA,EAAM,UAAA;AAAA,cAOrB,QAAA,GAAY,IAAA,EAAM,UAAA;AAAA,cA2BlB,mBAAA,GAAuB,CAAA,EAAG,cAAA,KAAiB,MAAA;AAAA,cAsF3C,kBAAA,GAAsB,CAAA,EAAG,aAAA,KAAgB,SAAA;AAAA,cAwDzC,yBAAA,GACX,CAAA,EAAG,oBAAA,KACF,WAAA;AAAA,cAqBU,oBAAA,GAAwB,CAAA,EAAG,eAAA,KAAkB,WAAA;AAAA,cAS7C,4BAAA,GACX,CAAA,EAAG,uBAAA,KACF,eAAA;AAAA,cAkBU,sBAAA,GAA0B,CAAA,EAAG,iBAAA,KAAoB,YAAA;AAAA,cAoBjD,4BAAA,GACX,CAAA,EAAG,uBAAA,KACF,qBAAA;AAAA,cAcU,8BAAA,GACX,CAAA,EAAG,yBAAA,KACF,uBAAA;AAAA,cAqBU,eAAA,GAAmB,CAAA,EAAG,UAAA,KAAa,QAAA"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
//#region src/provider/utility/adapters.ts
|
|
2
|
+
const toHexString = (data) => {
|
|
3
|
+
return Array.from(data).map((b) => b.toString(16).padStart(2, "0")).join("").toUpperCase();
|
|
4
|
+
};
|
|
5
|
+
const toBase64 = (data) => {
|
|
6
|
+
return Buffer.from(data).toString("base64");
|
|
7
|
+
};
|
|
8
|
+
const adaptResponseBase = (rb) => {
|
|
9
|
+
return {
|
|
10
|
+
Error: rb.error?.["@type"] ? {
|
|
11
|
+
"@type": rb.error["@type"],
|
|
12
|
+
value: rb.error.value
|
|
13
|
+
} : null,
|
|
14
|
+
Data: rb.data.length > 0 ? toBase64(rb.data) : null,
|
|
15
|
+
Events: rb.events.length > 0 ? JSON.stringify(rb.events) : null,
|
|
16
|
+
Log: rb.log,
|
|
17
|
+
Info: rb.info
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
const adaptTxData = (td) => {
|
|
21
|
+
return {
|
|
22
|
+
ResponseBase: adaptResponseBase(td.responseBase),
|
|
23
|
+
GasWanted: String(td.gasWanted),
|
|
24
|
+
GasUsed: String(td.gasUsed)
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const adaptStatusResponse = (r) => {
|
|
28
|
+
return {
|
|
29
|
+
node_info: {
|
|
30
|
+
version_set: r.nodeInfo.versionSet.map((v) => ({
|
|
31
|
+
Name: v.name,
|
|
32
|
+
Version: v.version,
|
|
33
|
+
Optional: v.optional
|
|
34
|
+
})),
|
|
35
|
+
net_address: r.nodeInfo.listenAddr,
|
|
36
|
+
network: r.nodeInfo.network,
|
|
37
|
+
software: r.nodeInfo.software,
|
|
38
|
+
version: r.nodeInfo.version,
|
|
39
|
+
channels: r.nodeInfo.channels.map((c) => String(c)).join(""),
|
|
40
|
+
monkier: r.nodeInfo.moniker,
|
|
41
|
+
other: {
|
|
42
|
+
tx_index: "",
|
|
43
|
+
rpc_address: ""
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
sync_info: {
|
|
47
|
+
latest_block_hash: toHexString(r.syncInfo.latestBlockHash),
|
|
48
|
+
latest_app_hash: toHexString(r.syncInfo.latestAppHash),
|
|
49
|
+
latest_block_height: String(r.syncInfo.latestBlockHeight),
|
|
50
|
+
latest_block_time: r.syncInfo.latestBlockTime.toISOString(),
|
|
51
|
+
catching_up: r.syncInfo.catchingUp
|
|
52
|
+
},
|
|
53
|
+
validator_info: {
|
|
54
|
+
address: toHexString(r.validatorInfo.address),
|
|
55
|
+
pub_key: {
|
|
56
|
+
type: r.validatorInfo.pubkey?.algorithm ?? "",
|
|
57
|
+
value: toBase64(r.validatorInfo.pubkey?.data ?? new Uint8Array())
|
|
58
|
+
},
|
|
59
|
+
voting_power: String(r.validatorInfo.votingPower)
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
const adaptBlockId = (bid) => {
|
|
64
|
+
if (!bid) return {
|
|
65
|
+
hash: null,
|
|
66
|
+
parts: {
|
|
67
|
+
total: "0",
|
|
68
|
+
hash: null
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
hash: bid.hash.length > 0 ? toHexString(bid.hash) : null,
|
|
73
|
+
parts: {
|
|
74
|
+
total: String(bid.parts.total),
|
|
75
|
+
hash: bid.parts.hash.length > 0 ? toHexString(bid.parts.hash) : null
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
const adaptHeader = (h) => {
|
|
80
|
+
return {
|
|
81
|
+
version: h.version,
|
|
82
|
+
chain_id: h.chainId,
|
|
83
|
+
height: String(h.height),
|
|
84
|
+
time: h.time.toISOString(),
|
|
85
|
+
num_txs: String(h.numTxs),
|
|
86
|
+
total_txs: String(h.totalTxs),
|
|
87
|
+
app_version: h.appVersion,
|
|
88
|
+
last_block_id: adaptBlockId(h.lastBlockId),
|
|
89
|
+
last_commit_hash: h.lastCommitHash.length > 0 ? toHexString(h.lastCommitHash) : null,
|
|
90
|
+
data_hash: h.dataHash.length > 0 ? toHexString(h.dataHash) : null,
|
|
91
|
+
validators_hash: toHexString(h.validatorsHash),
|
|
92
|
+
consensus_hash: toHexString(h.consensusHash),
|
|
93
|
+
app_hash: toHexString(h.appHash),
|
|
94
|
+
last_results_hash: h.lastResultsHash.length > 0 ? toHexString(h.lastResultsHash) : null,
|
|
95
|
+
proposer_address: h.proposerAddress
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
const adaptBlockResponse = (r) => {
|
|
99
|
+
return {
|
|
100
|
+
block_meta: {
|
|
101
|
+
block_id: adaptBlockId(r.blockMeta.blockId),
|
|
102
|
+
header: adaptHeader(r.blockMeta.header)
|
|
103
|
+
},
|
|
104
|
+
block: {
|
|
105
|
+
header: adaptHeader(r.block.header),
|
|
106
|
+
data: { txs: r.block.txs.length > 0 ? r.block.txs.map((tx) => toBase64(tx)) : null },
|
|
107
|
+
last_commit: r.block.lastCommit ? {
|
|
108
|
+
block_id: adaptBlockId(r.block.lastCommit.blockId),
|
|
109
|
+
precommits: r.block.lastCommit.precommits.length > 0 ? r.block.lastCommit.precommits.map((p) => p ? {
|
|
110
|
+
type: p.type,
|
|
111
|
+
height: String(p.height),
|
|
112
|
+
round: String(p.round),
|
|
113
|
+
block_id: adaptBlockId(p.blockId),
|
|
114
|
+
timestamp: p.timestamp.toISOString(),
|
|
115
|
+
validator_address: p.validatorAddress,
|
|
116
|
+
validator_index: String(p.validatorIndex),
|
|
117
|
+
signature: toBase64(p.signature)
|
|
118
|
+
} : null) : null
|
|
119
|
+
} : {
|
|
120
|
+
block_id: {
|
|
121
|
+
hash: null,
|
|
122
|
+
parts: {
|
|
123
|
+
total: "0",
|
|
124
|
+
hash: null
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
precommits: null
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
const adaptRpcTxResult = (tr) => {
|
|
133
|
+
return {
|
|
134
|
+
ResponseBase: adaptResponseBase(tr.responseBase),
|
|
135
|
+
GasWanted: String(tr.gasWanted),
|
|
136
|
+
GasUsed: String(tr.gasUsed)
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
const adaptBlockResultsResponse = (r) => {
|
|
140
|
+
return {
|
|
141
|
+
height: String(r.height),
|
|
142
|
+
results: {
|
|
143
|
+
deliver_tx: r.results.deliverTx.length > 0 ? r.results.deliverTx.map(adaptRpcTxResult) : null,
|
|
144
|
+
end_block: {
|
|
145
|
+
ResponseBase: adaptResponseBase(r.results.endBlock.responseBase),
|
|
146
|
+
ValidatorUpdates: null,
|
|
147
|
+
ConsensusParams: null,
|
|
148
|
+
Events: null
|
|
149
|
+
},
|
|
150
|
+
begin_block: { ResponseBase: adaptResponseBase(r.results.beginBlock.responseBase) }
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
const adaptNetInfoResponse = (r) => {
|
|
155
|
+
return {
|
|
156
|
+
listening: r.listening,
|
|
157
|
+
listeners: r.listeners,
|
|
158
|
+
n_peers: String(r.nPeers),
|
|
159
|
+
peers: r.peers.map((p) => p.remoteIp)
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
const adaptConsensusParamsResponse = (r) => {
|
|
163
|
+
return {
|
|
164
|
+
block_height: String(r.blockHeight),
|
|
165
|
+
consensus_params: {
|
|
166
|
+
Block: {
|
|
167
|
+
MaxTxBytes: String(r.consensusParams.block.maxTxBytes),
|
|
168
|
+
MaxDataBytes: String(r.consensusParams.block.maxDataBytes),
|
|
169
|
+
MaxBlockBytes: String(r.consensusParams.block.maxBlockBytes),
|
|
170
|
+
MaxGas: String(r.consensusParams.block.maxGas),
|
|
171
|
+
TimeIotaMS: String(r.consensusParams.block.timeIotaMs)
|
|
172
|
+
},
|
|
173
|
+
Validator: { PubKeyTypeURLs: [...r.consensusParams.validator.pubKeyTypeUrls] }
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
const adaptAbciQueryResponse = (r) => {
|
|
178
|
+
return { response: {
|
|
179
|
+
ResponseBase: adaptResponseBase(r.responseBase),
|
|
180
|
+
Key: r.key.length > 0 ? toBase64(r.key) : null,
|
|
181
|
+
Value: r.value.length > 0 ? toBase64(r.value) : null,
|
|
182
|
+
Proof: r.proof ? { ops: r.proof.ops.map((op) => ({
|
|
183
|
+
type: op.type,
|
|
184
|
+
key: op.key.length > 0 ? toBase64(op.key) : null,
|
|
185
|
+
data: op.data.length > 0 ? toBase64(op.data) : null
|
|
186
|
+
})) } : null,
|
|
187
|
+
Height: r.height != null ? String(r.height) : "0"
|
|
188
|
+
} };
|
|
189
|
+
};
|
|
190
|
+
const adaptBroadcastTxSyncResponse = (r) => {
|
|
191
|
+
return {
|
|
192
|
+
error: r.responseBase.error?.["@type"] ? {
|
|
193
|
+
"@type": r.responseBase.error["@type"],
|
|
194
|
+
value: r.responseBase.error.value
|
|
195
|
+
} : null,
|
|
196
|
+
data: r.responseBase.data.length > 0 ? toBase64(r.responseBase.data) : null,
|
|
197
|
+
Log: r.responseBase.log,
|
|
198
|
+
hash: toHexString(r.hash)
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
const adaptBroadcastTxCommitResponse = (r) => {
|
|
202
|
+
return {
|
|
203
|
+
check_tx: adaptTxData(r.checkTx),
|
|
204
|
+
deliver_tx: r.deliverTx ? adaptTxData(r.deliverTx) : {
|
|
205
|
+
ResponseBase: {
|
|
206
|
+
Error: null,
|
|
207
|
+
Data: null,
|
|
208
|
+
Events: null,
|
|
209
|
+
Log: "",
|
|
210
|
+
Info: ""
|
|
211
|
+
},
|
|
212
|
+
GasWanted: "0",
|
|
213
|
+
GasUsed: "0"
|
|
214
|
+
},
|
|
215
|
+
hash: toHexString(r.hash),
|
|
216
|
+
height: String(r.height)
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
const adaptTxResponse = (r) => {
|
|
220
|
+
return {
|
|
221
|
+
hash: toHexString(r.hash),
|
|
222
|
+
index: r.index,
|
|
223
|
+
height: String(r.height),
|
|
224
|
+
tx_result: adaptTxData(r.result),
|
|
225
|
+
tx: toBase64(r.tx)
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
//#endregion
|
|
229
|
+
export { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString };
|
|
230
|
+
|
|
231
|
+
//# sourceMappingURL=adapters.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.mjs","names":[],"sources":["../../../src/provider/utility/adapters.ts"],"sourcesContent":["import type {\n AbciQueryResponse,\n BlockResponse,\n BlockResultsResponse,\n BroadcastTxCommitResponse,\n BroadcastTxSyncResponse,\n ConsensusParamsResponse as RpcConsensusParamsResponse,\n NetInfoResponse,\n ResponseBase,\n StatusResponse,\n TxData,\n TxResponse,\n TxResult as RpcTxResult,\n} from \"@gnolang/tm2-rpc\";\n\nimport type {\n ABCIResponse,\n ABCIResponseBase,\n BeginBlock,\n BlockInfo,\n BlockResult,\n BroadcastTxCommitResult,\n BroadcastTxSyncResult,\n ConsensusParams,\n DeliverTx,\n EndBlock,\n NetworkInfo,\n Status,\n TxResult,\n} from \"../types/index.js\";\n\nexport const toHexString = (data: Uint8Array): string => {\n return Array.from(data)\n .map(b => b.toString(16).padStart(2, \"0\"))\n .join(\"\")\n .toUpperCase();\n};\n\nexport const toBase64 = (data: Uint8Array): string => {\n return Buffer.from(data).toString(\"base64\");\n};\n\nconst adaptResponseBase = (rb: ResponseBase): ABCIResponseBase => {\n return {\n Error: rb.error?.[\"@type\"]\n ? {\n \"@type\": rb.error[\"@type\"],\n value: rb.error.value,\n }\n : null,\n Data: rb.data.length > 0 ? toBase64(rb.data) : null,\n Events: rb.events.length > 0 ? JSON.stringify(rb.events) : null,\n Log: rb.log,\n Info: rb.info,\n };\n};\n\nconst adaptTxData = (td: TxData): DeliverTx => {\n return {\n ResponseBase: adaptResponseBase(td.responseBase),\n GasWanted: String(td.gasWanted),\n GasUsed: String(td.gasUsed),\n };\n};\n\nexport const adaptStatusResponse = (r: StatusResponse): Status => {\n return {\n node_info: {\n version_set: r.nodeInfo.versionSet.map(v => ({\n Name: v.name,\n Version: v.version,\n Optional: v.optional,\n })),\n net_address: r.nodeInfo.listenAddr,\n network: r.nodeInfo.network,\n software: r.nodeInfo.software,\n version: r.nodeInfo.version,\n channels: r.nodeInfo.channels.map(c => String(c)).join(\"\"),\n monkier: r.nodeInfo.moniker,\n other: {\n tx_index: \"\",\n rpc_address: \"\",\n },\n },\n sync_info: {\n latest_block_hash: toHexString(r.syncInfo.latestBlockHash),\n latest_app_hash: toHexString(r.syncInfo.latestAppHash),\n latest_block_height: String(r.syncInfo.latestBlockHeight),\n latest_block_time: r.syncInfo.latestBlockTime.toISOString(),\n catching_up: r.syncInfo.catchingUp,\n },\n validator_info: {\n address: toHexString(r.validatorInfo.address),\n pub_key: {\n type: r.validatorInfo.pubkey?.algorithm ?? \"\",\n value: toBase64(r.validatorInfo.pubkey?.data ?? new Uint8Array()),\n },\n voting_power: String(r.validatorInfo.votingPower),\n },\n };\n};\n\nconst adaptBlockId = (\n bid: {\n hash: Uint8Array\n parts: {\n total: bigint\n hash: Uint8Array\n }\n } | null,\n) => {\n if (!bid) {\n return {\n hash: null,\n parts: {\n total: \"0\",\n hash: null,\n },\n };\n }\n return {\n hash: bid.hash.length > 0 ? toHexString(bid.hash) : null,\n parts: {\n total: String(bid.parts.total),\n hash: bid.parts.hash.length > 0 ? toHexString(bid.parts.hash) : null,\n },\n };\n};\n\nconst adaptHeader = (h: BlockResponse[\"block\"][\"header\"]) => {\n return {\n version: h.version,\n chain_id: h.chainId,\n height: String(h.height),\n time: h.time.toISOString(),\n num_txs: String(h.numTxs),\n total_txs: String(h.totalTxs),\n app_version: h.appVersion,\n last_block_id: adaptBlockId(h.lastBlockId),\n last_commit_hash:\n h.lastCommitHash.length > 0 ? toHexString(h.lastCommitHash) : null,\n data_hash: h.dataHash.length > 0 ? toHexString(h.dataHash) : null,\n validators_hash: toHexString(h.validatorsHash),\n consensus_hash: toHexString(h.consensusHash),\n app_hash: toHexString(h.appHash),\n last_results_hash:\n h.lastResultsHash.length > 0 ? toHexString(h.lastResultsHash) : null,\n proposer_address: h.proposerAddress,\n };\n};\n\nexport const adaptBlockResponse = (r: BlockResponse): BlockInfo => {\n return {\n block_meta: {\n block_id: adaptBlockId(r.blockMeta.blockId),\n header: adaptHeader(r.blockMeta.header),\n },\n block: {\n header: adaptHeader(r.block.header),\n data: {\n txs:\n r.block.txs.length > 0\n ? r.block.txs.map(tx => toBase64(tx))\n : null,\n },\n last_commit: r.block.lastCommit\n ? {\n block_id: adaptBlockId(r.block.lastCommit.blockId),\n precommits: r.block.lastCommit.precommits.length > 0\n ? r.block.lastCommit.precommits.map(p =>\n p\n ? {\n type: p.type,\n height: String(p.height),\n round: String(p.round),\n block_id: adaptBlockId(p.blockId),\n timestamp: p.timestamp.toISOString(),\n validator_address: p.validatorAddress,\n validator_index: String(p.validatorIndex),\n signature: toBase64(p.signature),\n }\n : null,\n )\n : null,\n }\n : {\n block_id: {\n hash: null,\n parts: {\n total: \"0\",\n hash: null,\n },\n },\n precommits: null,\n },\n },\n };\n};\n\nconst adaptRpcTxResult = (tr: RpcTxResult): DeliverTx => {\n return {\n ResponseBase: adaptResponseBase(tr.responseBase),\n GasWanted: String(tr.gasWanted),\n GasUsed: String(tr.gasUsed),\n };\n};\n\nexport const adaptBlockResultsResponse = (\n r: BlockResultsResponse,\n): BlockResult => {\n return {\n height: String(r.height),\n results: {\n deliver_tx:\n r.results.deliverTx.length > 0\n ? r.results.deliverTx.map(adaptRpcTxResult)\n : null,\n end_block: {\n ResponseBase: adaptResponseBase(r.results.endBlock.responseBase),\n ValidatorUpdates: null,\n ConsensusParams: null,\n Events: null,\n } as EndBlock,\n begin_block: {\n ResponseBase: adaptResponseBase(r.results.beginBlock.responseBase),\n } as BeginBlock,\n },\n };\n};\n\nexport const adaptNetInfoResponse = (r: NetInfoResponse): NetworkInfo => {\n return {\n listening: r.listening,\n listeners: r.listeners,\n n_peers: String(r.nPeers),\n peers: r.peers.map(p => p.remoteIp),\n };\n};\n\nexport const adaptConsensusParamsResponse = (\n r: RpcConsensusParamsResponse,\n): ConsensusParams => {\n return {\n block_height: String(r.blockHeight),\n consensus_params: {\n Block: {\n MaxTxBytes: String(r.consensusParams.block.maxTxBytes),\n MaxDataBytes: String(r.consensusParams.block.maxDataBytes),\n MaxBlockBytes: String(r.consensusParams.block.maxBlockBytes),\n MaxGas: String(r.consensusParams.block.maxGas),\n TimeIotaMS: String(r.consensusParams.block.timeIotaMs),\n },\n Validator: {\n PubKeyTypeURLs: [...r.consensusParams.validator.pubKeyTypeUrls],\n },\n },\n };\n};\n\nexport const adaptAbciQueryResponse = (r: AbciQueryResponse): ABCIResponse => {\n return {\n response: {\n ResponseBase: adaptResponseBase(r.responseBase),\n Key: r.key.length > 0 ? toBase64(r.key) : null,\n Value: r.value.length > 0 ? toBase64(r.value) : null,\n Proof: r.proof\n ? {\n ops: r.proof.ops.map(op => ({\n type: op.type,\n key: op.key.length > 0 ? toBase64(op.key) : null,\n data: op.data.length > 0 ? toBase64(op.data) : null,\n })),\n }\n : null,\n Height: r.height != null ? String(r.height) : \"0\",\n },\n };\n};\n\nexport const adaptBroadcastTxSyncResponse = (\n r: BroadcastTxSyncResponse,\n): BroadcastTxSyncResult => {\n return {\n error: r.responseBase.error?.[\"@type\"]\n ? {\n \"@type\": r.responseBase.error[\"@type\"],\n value: r.responseBase.error.value,\n }\n : null,\n data: r.responseBase.data.length > 0 ? toBase64(r.responseBase.data) : null,\n Log: r.responseBase.log,\n hash: toHexString(r.hash),\n };\n};\n\nexport const adaptBroadcastTxCommitResponse = (\n r: BroadcastTxCommitResponse,\n): BroadcastTxCommitResult => {\n return {\n check_tx: adaptTxData(r.checkTx),\n deliver_tx: r.deliverTx\n ? adaptTxData(r.deliverTx)\n : {\n ResponseBase: {\n Error: null,\n Data: null,\n Events: null,\n Log: \"\",\n Info: \"\",\n },\n GasWanted: \"0\",\n GasUsed: \"0\",\n },\n hash: toHexString(r.hash),\n height: String(r.height),\n };\n};\n\nexport const adaptTxResponse = (r: TxResponse): TxResult => {\n return {\n hash: toHexString(r.hash),\n index: r.index,\n height: String(r.height),\n tx_result: adaptTxData(r.result),\n tx: toBase64(r.tx),\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const require_errors = require("../errors/errors.cjs");
|
|
2
|
+
//#region src/provider/utility/errors.utility.ts
|
|
3
|
+
/**
|
|
4
|
+
* Constructs the appropriate Tendermint2
|
|
5
|
+
* error based on the error ID.
|
|
6
|
+
* Error IDs retrieved from:
|
|
7
|
+
* https://github.com/gnolang/gno/blob/64f0fd0fa44021a076e1453b1767fbc914ed3b66/tm2/pkg/std/package.go#L20C1-L38
|
|
8
|
+
* @param {string} errorID the proto ID of the error
|
|
9
|
+
* @param {string} [log] the log associated with the error, if any
|
|
10
|
+
* @returns {TM2Error}
|
|
11
|
+
*/
|
|
12
|
+
const constructRequestError = (errorID, log) => {
|
|
13
|
+
switch (errorID) {
|
|
14
|
+
case "/std.InternalError": return new require_errors.InternalError(log);
|
|
15
|
+
case "/std.TxDecodeError": return new require_errors.TxDecodeError(log);
|
|
16
|
+
case "/std.InvalidSequenceError": return new require_errors.InvalidSequenceError(log);
|
|
17
|
+
case "/std.UnauthorizedError": return new require_errors.UnauthorizedError(log);
|
|
18
|
+
case "/std.InsufficientFundsError": return new require_errors.InsufficientFundsError(log);
|
|
19
|
+
case "/std.UnknownRequestError": return new require_errors.UnknownRequestError(log);
|
|
20
|
+
case "/std.InvalidAddressError": return new require_errors.InvalidAddressError(log);
|
|
21
|
+
case "/std.UnknownAddressError": return new require_errors.UnknownAddressError(log);
|
|
22
|
+
case "/std.InvalidPubKeyError": return new require_errors.InvalidPubKeyError(log);
|
|
23
|
+
case "/std.InsufficientCoinsError": return new require_errors.InsufficientCoinsError(log);
|
|
24
|
+
case "/std.InvalidCoinsError": return new require_errors.InvalidCoinsError(log);
|
|
25
|
+
case "/std.InvalidGasWantedError": return new require_errors.InvalidGasWantedError(log);
|
|
26
|
+
case "/std.OutOfGasError": return new require_errors.OutOfGasError(log);
|
|
27
|
+
case "/std.MemoTooLargeError": return new require_errors.MemoTooLargeError(log);
|
|
28
|
+
case "/std.InsufficientFeeError": return new require_errors.InsufficientFeeError(log);
|
|
29
|
+
case "/std.TooManySignaturesError": return new require_errors.TooManySignaturesError(log);
|
|
30
|
+
case "/std.NoSignaturesError": return new require_errors.NoSignaturesError(log);
|
|
31
|
+
case "/std.GasOverflowError": return new require_errors.GasOverflowError(log);
|
|
32
|
+
default: return new require_errors.TM2Error(`unknown error: ${errorID}`, log);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.constructRequestError = constructRequestError;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=errors.utility.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.utility.cjs","names":["InternalError","TxDecodeError","InvalidSequenceError","UnauthorizedError","InsufficientFundsError","UnknownRequestError","InvalidAddressError","UnknownAddressError","InvalidPubKeyError","InsufficientCoinsError","InvalidCoinsError","InvalidGasWantedError","OutOfGasError","MemoTooLargeError","InsufficientFeeError","TooManySignaturesError","NoSignaturesError","GasOverflowError","TM2Error"],"sources":["../../../src/provider/utility/errors.utility.ts"],"sourcesContent":["import {\n GasOverflowError,\n InsufficientCoinsError,\n InsufficientFeeError,\n InsufficientFundsError,\n InternalError,\n InvalidAddressError,\n InvalidCoinsError,\n InvalidGasWantedError,\n InvalidPubKeyError,\n InvalidSequenceError,\n MemoTooLargeError,\n NoSignaturesError,\n OutOfGasError,\n TM2Error,\n TooManySignaturesError,\n TxDecodeError,\n UnauthorizedError,\n UnknownAddressError,\n UnknownRequestError,\n} from \"../errors/index.js\";\n\n/**\n * Constructs the appropriate Tendermint2\n * error based on the error ID.\n * Error IDs retrieved from:\n * https://github.com/gnolang/gno/blob/64f0fd0fa44021a076e1453b1767fbc914ed3b66/tm2/pkg/std/package.go#L20C1-L38\n * @param {string} errorID the proto ID of the error\n * @param {string} [log] the log associated with the error, if any\n * @returns {TM2Error}\n */\nexport const constructRequestError = (\n errorID: string,\n log?: string,\n): TM2Error => {\n switch (errorID) {\n case \"/std.InternalError\":\n return new InternalError(log);\n case \"/std.TxDecodeError\":\n return new TxDecodeError(log);\n case \"/std.InvalidSequenceError\":\n return new InvalidSequenceError(log);\n case \"/std.UnauthorizedError\":\n return new UnauthorizedError(log);\n case \"/std.InsufficientFundsError\":\n return new InsufficientFundsError(log);\n case \"/std.UnknownRequestError\":\n return new UnknownRequestError(log);\n case \"/std.InvalidAddressError\":\n return new InvalidAddressError(log);\n case \"/std.UnknownAddressError\":\n return new UnknownAddressError(log);\n case \"/std.InvalidPubKeyError\":\n return new InvalidPubKeyError(log);\n case \"/std.InsufficientCoinsError\":\n return new InsufficientCoinsError(log);\n case \"/std.InvalidCoinsError\":\n return new InvalidCoinsError(log);\n case \"/std.InvalidGasWantedError\":\n return new InvalidGasWantedError(log);\n case \"/std.OutOfGasError\":\n return new OutOfGasError(log);\n case \"/std.MemoTooLargeError\":\n return new MemoTooLargeError(log);\n case \"/std.InsufficientFeeError\":\n return new InsufficientFeeError(log);\n case \"/std.TooManySignaturesError\":\n return new TooManySignaturesError(log);\n case \"/std.NoSignaturesError\":\n return new NoSignaturesError(log);\n case \"/std.GasOverflowError\":\n return new GasOverflowError(log);\n default:\n return new TM2Error(`unknown error: ${errorID}`, log);\n }\n};\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,yBACX,SACA,QACa;AACb,SAAQ,SAAR;EACE,KAAK,qBACH,QAAO,IAAIA,eAAAA,cAAc,IAAI;EAC/B,KAAK,qBACH,QAAO,IAAIC,eAAAA,cAAc,IAAI;EAC/B,KAAK,4BACH,QAAO,IAAIC,eAAAA,qBAAqB,IAAI;EACtC,KAAK,yBACH,QAAO,IAAIC,eAAAA,kBAAkB,IAAI;EACnC,KAAK,8BACH,QAAO,IAAIC,eAAAA,uBAAuB,IAAI;EACxC,KAAK,2BACH,QAAO,IAAIC,eAAAA,oBAAoB,IAAI;EACrC,KAAK,2BACH,QAAO,IAAIC,eAAAA,oBAAoB,IAAI;EACrC,KAAK,2BACH,QAAO,IAAIC,eAAAA,oBAAoB,IAAI;EACrC,KAAK,0BACH,QAAO,IAAIC,eAAAA,mBAAmB,IAAI;EACpC,KAAK,8BACH,QAAO,IAAIC,eAAAA,uBAAuB,IAAI;EACxC,KAAK,yBACH,QAAO,IAAIC,eAAAA,kBAAkB,IAAI;EACnC,KAAK,6BACH,QAAO,IAAIC,eAAAA,sBAAsB,IAAI;EACvC,KAAK,qBACH,QAAO,IAAIC,eAAAA,cAAc,IAAI;EAC/B,KAAK,yBACH,QAAO,IAAIC,eAAAA,kBAAkB,IAAI;EACnC,KAAK,4BACH,QAAO,IAAIC,eAAAA,qBAAqB,IAAI;EACtC,KAAK,8BACH,QAAO,IAAIC,eAAAA,uBAAuB,IAAI;EACxC,KAAK,yBACH,QAAO,IAAIC,eAAAA,kBAAkB,IAAI;EACnC,KAAK,wBACH,QAAO,IAAIC,eAAAA,iBAAiB,IAAI;EAClC,QACE,QAAO,IAAIC,eAAAA,SAAS,kBAAkB,WAAW,IAAI"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { GasOverflowError, InsufficientCoinsError, InsufficientFeeError, InsufficientFundsError, InternalError, InvalidAddressError, InvalidCoinsError, InvalidGasWantedError, InvalidPubKeyError, InvalidSequenceError, MemoTooLargeError, NoSignaturesError, OutOfGasError, TM2Error, TooManySignaturesError, TxDecodeError, UnauthorizedError, UnknownAddressError, UnknownRequestError } from "../errors/errors.mjs";
|
|
2
|
+
//#region src/provider/utility/errors.utility.ts
|
|
3
|
+
/**
|
|
4
|
+
* Constructs the appropriate Tendermint2
|
|
5
|
+
* error based on the error ID.
|
|
6
|
+
* Error IDs retrieved from:
|
|
7
|
+
* https://github.com/gnolang/gno/blob/64f0fd0fa44021a076e1453b1767fbc914ed3b66/tm2/pkg/std/package.go#L20C1-L38
|
|
8
|
+
* @param {string} errorID the proto ID of the error
|
|
9
|
+
* @param {string} [log] the log associated with the error, if any
|
|
10
|
+
* @returns {TM2Error}
|
|
11
|
+
*/
|
|
12
|
+
const constructRequestError = (errorID, log) => {
|
|
13
|
+
switch (errorID) {
|
|
14
|
+
case "/std.InternalError": return new InternalError(log);
|
|
15
|
+
case "/std.TxDecodeError": return new TxDecodeError(log);
|
|
16
|
+
case "/std.InvalidSequenceError": return new InvalidSequenceError(log);
|
|
17
|
+
case "/std.UnauthorizedError": return new UnauthorizedError(log);
|
|
18
|
+
case "/std.InsufficientFundsError": return new InsufficientFundsError(log);
|
|
19
|
+
case "/std.UnknownRequestError": return new UnknownRequestError(log);
|
|
20
|
+
case "/std.InvalidAddressError": return new InvalidAddressError(log);
|
|
21
|
+
case "/std.UnknownAddressError": return new UnknownAddressError(log);
|
|
22
|
+
case "/std.InvalidPubKeyError": return new InvalidPubKeyError(log);
|
|
23
|
+
case "/std.InsufficientCoinsError": return new InsufficientCoinsError(log);
|
|
24
|
+
case "/std.InvalidCoinsError": return new InvalidCoinsError(log);
|
|
25
|
+
case "/std.InvalidGasWantedError": return new InvalidGasWantedError(log);
|
|
26
|
+
case "/std.OutOfGasError": return new OutOfGasError(log);
|
|
27
|
+
case "/std.MemoTooLargeError": return new MemoTooLargeError(log);
|
|
28
|
+
case "/std.InsufficientFeeError": return new InsufficientFeeError(log);
|
|
29
|
+
case "/std.TooManySignaturesError": return new TooManySignaturesError(log);
|
|
30
|
+
case "/std.NoSignaturesError": return new NoSignaturesError(log);
|
|
31
|
+
case "/std.GasOverflowError": return new GasOverflowError(log);
|
|
32
|
+
default: return new TM2Error(`unknown error: ${errorID}`, log);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { constructRequestError };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=errors.utility.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.utility.mjs","names":[],"sources":["../../../src/provider/utility/errors.utility.ts"],"sourcesContent":["import {\n GasOverflowError,\n InsufficientCoinsError,\n InsufficientFeeError,\n InsufficientFundsError,\n InternalError,\n InvalidAddressError,\n InvalidCoinsError,\n InvalidGasWantedError,\n InvalidPubKeyError,\n InvalidSequenceError,\n MemoTooLargeError,\n NoSignaturesError,\n OutOfGasError,\n TM2Error,\n TooManySignaturesError,\n TxDecodeError,\n UnauthorizedError,\n UnknownAddressError,\n UnknownRequestError,\n} from \"../errors/index.js\";\n\n/**\n * Constructs the appropriate Tendermint2\n * error based on the error ID.\n * Error IDs retrieved from:\n * https://github.com/gnolang/gno/blob/64f0fd0fa44021a076e1453b1767fbc914ed3b66/tm2/pkg/std/package.go#L20C1-L38\n * @param {string} errorID the proto ID of the error\n * @param {string} [log] the log associated with the error, if any\n * @returns {TM2Error}\n */\nexport const constructRequestError = (\n errorID: string,\n log?: string,\n): TM2Error => {\n switch (errorID) {\n case \"/std.InternalError\":\n return new InternalError(log);\n case \"/std.TxDecodeError\":\n return new TxDecodeError(log);\n case \"/std.InvalidSequenceError\":\n return new InvalidSequenceError(log);\n case \"/std.UnauthorizedError\":\n return new UnauthorizedError(log);\n case \"/std.InsufficientFundsError\":\n return new InsufficientFundsError(log);\n case \"/std.UnknownRequestError\":\n return new UnknownRequestError(log);\n case \"/std.InvalidAddressError\":\n return new InvalidAddressError(log);\n case \"/std.UnknownAddressError\":\n return new UnknownAddressError(log);\n case \"/std.InvalidPubKeyError\":\n return new InvalidPubKeyError(log);\n case \"/std.InsufficientCoinsError\":\n return new InsufficientCoinsError(log);\n case \"/std.InvalidCoinsError\":\n return new InvalidCoinsError(log);\n case \"/std.InvalidGasWantedError\":\n return new InvalidGasWantedError(log);\n case \"/std.OutOfGasError\":\n return new OutOfGasError(log);\n case \"/std.MemoTooLargeError\":\n return new MemoTooLargeError(log);\n case \"/std.InsufficientFeeError\":\n return new InsufficientFeeError(log);\n case \"/std.TooManySignaturesError\":\n return new TooManySignaturesError(log);\n case \"/std.NoSignaturesError\":\n return new NoSignaturesError(log);\n case \"/std.GasOverflowError\":\n return new GasOverflowError(log);\n default:\n return new TM2Error(`unknown error: ${errorID}`, log);\n }\n};\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,yBACX,SACA,QACa;AACb,SAAQ,SAAR;EACE,KAAK,qBACH,QAAO,IAAI,cAAc,IAAI;EAC/B,KAAK,qBACH,QAAO,IAAI,cAAc,IAAI;EAC/B,KAAK,4BACH,QAAO,IAAI,qBAAqB,IAAI;EACtC,KAAK,yBACH,QAAO,IAAI,kBAAkB,IAAI;EACnC,KAAK,8BACH,QAAO,IAAI,uBAAuB,IAAI;EACxC,KAAK,2BACH,QAAO,IAAI,oBAAoB,IAAI;EACrC,KAAK,2BACH,QAAO,IAAI,oBAAoB,IAAI;EACrC,KAAK,2BACH,QAAO,IAAI,oBAAoB,IAAI;EACrC,KAAK,0BACH,QAAO,IAAI,mBAAmB,IAAI;EACpC,KAAK,8BACH,QAAO,IAAI,uBAAuB,IAAI;EACxC,KAAK,yBACH,QAAO,IAAI,kBAAkB,IAAI;EACnC,KAAK,6BACH,QAAO,IAAI,sBAAsB,IAAI;EACvC,KAAK,qBACH,QAAO,IAAI,cAAc,IAAI;EAC/B,KAAK,yBACH,QAAO,IAAI,kBAAkB,IAAI;EACnC,KAAK,4BACH,QAAO,IAAI,qBAAqB,IAAI;EACtC,KAAK,8BACH,QAAO,IAAI,uBAAuB,IAAI;EACxC,KAAK,yBACH,QAAO,IAAI,kBAAkB,IAAI;EACnC,KAAK,wBACH,QAAO,IAAI,iBAAiB,IAAI;EAClC,QACE,QAAO,IAAI,SAAS,kBAAkB,WAAW,IAAI"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString } from "./adapters.cjs";
|
|
2
|
+
import { extractAccountFromResponse, extractAccountNumberFromResponse, extractBalanceFromResponse, extractSequenceFromResponse, extractSimulateFromResponse, waitForTransaction } from "./provider.utility.cjs";
|
|
3
|
+
import { base64ToUint8Array, newRequest, newResponse, parseABCI, parseProto, stringToBase64, uint8ArrayToBase64 } from "./requests.utility.cjs";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString } from "./adapters.mjs";
|
|
2
|
+
import { extractAccountFromResponse, extractAccountNumberFromResponse, extractBalanceFromResponse, extractSequenceFromResponse, extractSimulateFromResponse, waitForTransaction } from "./provider.utility.mjs";
|
|
3
|
+
import { base64ToUint8Array, newRequest, newResponse, parseABCI, parseProto, stringToBase64, uint8ArrayToBase64 } from "./requests.utility.mjs";
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_tx = require("../../proto/tm2/tx.cjs");
|
|
3
|
+
require("../../proto/index.cjs");
|
|
4
|
+
const require_abci = require("../types/abci.cjs");
|
|
5
|
+
const require_errors_utility = require("./errors.utility.cjs");
|
|
6
|
+
const require_abci$1 = require("../../proto/tm2/abci.cjs");
|
|
7
|
+
const require_requests_utility = require("./requests.utility.cjs");
|
|
8
|
+
let _cosmjs_crypto = require("@cosmjs/crypto");
|
|
9
|
+
//#region src/provider/utility/provider.utility.ts
|
|
10
|
+
/**
|
|
11
|
+
* Extracts the specific balance denomination from the ABCI response
|
|
12
|
+
* @param {string | null} abciData the base64-encoded ABCI data
|
|
13
|
+
* @param {string} denomination the required denomination
|
|
14
|
+
*/
|
|
15
|
+
const extractBalanceFromResponse = (abciData, denomination) => {
|
|
16
|
+
if (!abciData) return 0;
|
|
17
|
+
const balances = Buffer.from(abciData, "base64").toString().replace(/"/gi, "").split(",");
|
|
18
|
+
if (balances.length < 1) return 0;
|
|
19
|
+
const pattern = new RegExp(`^(\\d+)${denomination}$`);
|
|
20
|
+
for (const balance of balances) {
|
|
21
|
+
const match = balance.match(pattern);
|
|
22
|
+
if (match) return parseInt(match[1], 10);
|
|
23
|
+
}
|
|
24
|
+
return 0;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Extracts the account sequence from the ABCI response
|
|
28
|
+
* @param {string | null} abciData the base64-encoded ABCI data
|
|
29
|
+
*/
|
|
30
|
+
const extractSequenceFromResponse = (abciData) => {
|
|
31
|
+
if (!abciData) return 0;
|
|
32
|
+
try {
|
|
33
|
+
const account = require_requests_utility.parseABCI(abciData);
|
|
34
|
+
return parseInt(account.BaseAccount.sequence, 10);
|
|
35
|
+
} catch (_e) {}
|
|
36
|
+
return 0;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Extracts the account number from the ABCI response
|
|
40
|
+
* @param {string | null} abciData the base64-encoded ABCI data
|
|
41
|
+
*/
|
|
42
|
+
const extractAccountNumberFromResponse = (abciData) => {
|
|
43
|
+
if (!abciData) throw new Error("account is not initialized");
|
|
44
|
+
try {
|
|
45
|
+
const account = require_requests_utility.parseABCI(abciData);
|
|
46
|
+
return parseInt(account.BaseAccount.account_number, 10);
|
|
47
|
+
} catch (e) {
|
|
48
|
+
throw new Error("account is not initialized", { cause: e });
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Extracts the account from the ABCI response
|
|
53
|
+
* @param {string | null} abciData the base64-encoded ABCI data
|
|
54
|
+
*/
|
|
55
|
+
const extractAccountFromResponse = (abciData) => {
|
|
56
|
+
if (!abciData) throw new Error("account is not initialized");
|
|
57
|
+
try {
|
|
58
|
+
return require_requests_utility.parseABCI(abciData);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
throw new Error("account is not initialized", { cause: e });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Extracts the simulate transaction response from the ABCI response value
|
|
65
|
+
* @param {string | null} abciData the base64-encoded ResponseDeliverTx proto message
|
|
66
|
+
*/
|
|
67
|
+
const extractSimulateFromResponse = (abciResponse) => {
|
|
68
|
+
if (!abciResponse) throw new Error("abci data is not initialized");
|
|
69
|
+
const error = abciResponse.response?.ResponseBase?.Error;
|
|
70
|
+
if (error && error["@type"]) throw require_errors_utility.constructRequestError(error[require_abci.ABCIErrorKey]);
|
|
71
|
+
const value = abciResponse.response.Value;
|
|
72
|
+
if (!value) throw new Error("abci data is not initialized");
|
|
73
|
+
try {
|
|
74
|
+
return require_requests_utility.parseProto(value, require_abci$1.ResponseDeliverTx.decode);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
throw new Error("unable to parse simulate response", { cause: e });
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Waits for the transaction to be committed to a block in the chain
|
|
81
|
+
* of the specified provider. This helper does a search for incoming blocks
|
|
82
|
+
* and checks if a transaction
|
|
83
|
+
* @param {Provider} provider the provider instance
|
|
84
|
+
* @param {string} hash the base64-encoded hash of the transaction
|
|
85
|
+
* @param {number} [fromHeight=latest] the starting height for the search. If omitted, it is the latest block in the chain
|
|
86
|
+
* @param {number} [timeout=15000] the timeout in MS for the search
|
|
87
|
+
*/
|
|
88
|
+
const waitForTransaction = async (provider, hash, fromHeight, timeout) => {
|
|
89
|
+
let currentHeight = fromHeight ? fromHeight : await provider.getBlockNumber();
|
|
90
|
+
return new Promise((resolve, reject) => {
|
|
91
|
+
const exitTimeout = timeout ? timeout : 15e3;
|
|
92
|
+
const fetchInterval = setInterval(async () => {
|
|
93
|
+
const latestHeight = await provider.getBlockNumber();
|
|
94
|
+
if (latestHeight < currentHeight) return;
|
|
95
|
+
for (let blockNum = currentHeight; blockNum <= latestHeight; blockNum++) {
|
|
96
|
+
const block = await provider.getBlock(blockNum);
|
|
97
|
+
if (!block.block.data.txs || block.block.data.txs.length == 0) continue;
|
|
98
|
+
for (const tx of block.block.data.txs) {
|
|
99
|
+
const txRaw = require_requests_utility.base64ToUint8Array(tx);
|
|
100
|
+
if (require_requests_utility.uint8ArrayToBase64((0, _cosmjs_crypto.sha256)(txRaw)) == hash) {
|
|
101
|
+
clearInterval(fetchInterval);
|
|
102
|
+
resolve(require_tx.Tx.decode(txRaw));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
currentHeight = latestHeight + 1;
|
|
107
|
+
}, 1e3);
|
|
108
|
+
setTimeout(() => {
|
|
109
|
+
clearInterval(fetchInterval);
|
|
110
|
+
reject("transaction fetch timeout");
|
|
111
|
+
}, exitTimeout);
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
//#endregion
|
|
115
|
+
exports.extractAccountFromResponse = extractAccountFromResponse;
|
|
116
|
+
exports.extractAccountNumberFromResponse = extractAccountNumberFromResponse;
|
|
117
|
+
exports.extractBalanceFromResponse = extractBalanceFromResponse;
|
|
118
|
+
exports.extractSequenceFromResponse = extractSequenceFromResponse;
|
|
119
|
+
exports.extractSimulateFromResponse = extractSimulateFromResponse;
|
|
120
|
+
exports.waitForTransaction = waitForTransaction;
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=provider.utility.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.utility.cjs","names":["parseABCI","constructRequestError","ABCIErrorKey","parseProto","ResponseDeliverTx","base64ToUint8Array","uint8ArrayToBase64","Tx"],"sources":["../../../src/provider/utility/provider.utility.ts"],"sourcesContent":["import {\n sha256,\n} from \"@cosmjs/crypto\";\n\nimport {\n Tx,\n} from \"../../proto/index.js\";\nimport {\n ResponseDeliverTx,\n} from \"../../proto/tm2/abci.js\";\nimport {\n Provider,\n} from \"../provider.js\";\nimport {\n ABCIAccount, ABCIErrorKey, ABCIResponse, BlockInfo,\n} from \"../types/index.js\";\nimport {\n constructRequestError,\n} from \"./errors.utility.js\";\nimport {\n base64ToUint8Array,\n parseABCI,\n parseProto,\n uint8ArrayToBase64,\n} from \"./requests.utility.js\";\n\n/**\n * Extracts the specific balance denomination from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n * @param {string} denomination the required denomination\n */\nexport const extractBalanceFromResponse = (\n abciData: string | null,\n denomination: string,\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n return 0;\n }\n\n // Extract the balances\n const balancesRaw = Buffer.from(abciData, \"base64\")\n .toString()\n .replace(/\"/gi, \"\");\n\n // Find the correct balance denomination\n const balances: string[] = balancesRaw.split(\",\");\n if (balances.length < 1) {\n return 0;\n }\n\n // Find the correct denomination\n const pattern = new RegExp(`^(\\\\d+)${denomination}$`);\n for (const balance of balances) {\n const match = balance.match(pattern);\n if (match) {\n return parseInt(match[1], 10);\n }\n }\n\n return 0;\n};\n\n/**\n * Extracts the account sequence from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractSequenceFromResponse = (\n abciData: string | null,\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n return 0;\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return parseInt(account.BaseAccount.sequence, 10);\n }\n catch (_e) {\n // unused case\n }\n\n // Account not initialized,\n // return default value (0)\n return 0;\n};\n\n/**\n * Extracts the account number from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractAccountNumberFromResponse = (\n abciData: string | null,\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n throw new Error(\"account is not initialized\");\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return parseInt(account.BaseAccount.account_number, 10);\n }\n catch (e) {\n throw new Error(\"account is not initialized\", {\n cause: e,\n });\n }\n};\n\n/**\n * Extracts the account from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractAccountFromResponse = (\n abciData: string | null,\n): ABCIAccount => {\n // Make sure the response is initialized\n if (!abciData) {\n throw new Error(\"account is not initialized\");\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return account;\n }\n catch (e) {\n throw new Error(\"account is not initialized\", {\n cause: e,\n });\n }\n};\n\n/**\n * Extracts the simulate transaction response from the ABCI response value\n * @param {string | null} abciData the base64-encoded ResponseDeliverTx proto message\n */\nexport const extractSimulateFromResponse = (\n abciResponse: ABCIResponse | null,\n): ResponseDeliverTx => {\n // Make sure the response is initialized\n if (!abciResponse) {\n throw new Error(\"abci data is not initialized\");\n }\n\n const error = abciResponse.response?.ResponseBase?.Error;\n if (error && error[ABCIErrorKey]) {\n throw constructRequestError(error[ABCIErrorKey]);\n }\n\n const value = abciResponse.response.Value;\n if (!value) {\n throw new Error(\"abci data is not initialized\");\n }\n\n try {\n return parseProto(value, ResponseDeliverTx.decode);\n }\n catch (e) {\n throw new Error(\"unable to parse simulate response\", {\n cause: e,\n });\n }\n};\n\n/**\n * Waits for the transaction to be committed to a block in the chain\n * of the specified provider. This helper does a search for incoming blocks\n * and checks if a transaction\n * @param {Provider} provider the provider instance\n * @param {string} hash the base64-encoded hash of the transaction\n * @param {number} [fromHeight=latest] the starting height for the search. If omitted, it is the latest block in the chain\n * @param {number} [timeout=15000] the timeout in MS for the search\n */\nexport const waitForTransaction = async (\n provider: Provider,\n hash: string,\n fromHeight?: number,\n timeout?: number,\n): Promise<Tx> => {\n // Fetch the starting point\n let currentHeight = fromHeight\n ? fromHeight\n : await provider.getBlockNumber();\n\n return new Promise((resolve, reject) => {\n const exitTimeout = timeout ? timeout : 15000;\n\n const fetchInterval = setInterval(async () => {\n // Fetch the latest block height\n const latestHeight = await provider.getBlockNumber();\n\n if (latestHeight < currentHeight) {\n // No need to parse older blocks\n return;\n }\n\n for (let blockNum = currentHeight; blockNum <= latestHeight; blockNum++) {\n // Fetch the block from the chain\n const block: BlockInfo = await provider.getBlock(blockNum);\n\n // Check if there are any transactions at all in the block\n if (!block.block.data.txs || block.block.data.txs.length == 0) {\n continue;\n }\n\n // Find the transaction among the block transactions\n for (const tx of block.block.data.txs) {\n // Decode the base-64 transaction\n const txRaw = base64ToUint8Array(tx);\n\n // Calculate the transaction hash\n const txHash = sha256(txRaw);\n\n if (uint8ArrayToBase64(txHash) == hash) {\n // Clear the interval\n clearInterval(fetchInterval);\n\n // Decode the transaction from amino\n resolve(Tx.decode(txRaw));\n }\n }\n }\n\n currentHeight = latestHeight + 1;\n }, 1000);\n\n setTimeout(() => {\n // Clear the fetch interval\n clearInterval(fetchInterval);\n\n reject(\"transaction fetch timeout\");\n }, exitTimeout);\n });\n};\n"],"mappings":";;;;;;;;;;;;;;AA+BA,MAAa,8BACX,UACA,iBACW;AAEX,KAAI,CAAC,SACH,QAAO;CAST,MAAM,WALc,OAAO,KAAK,UAAU,SAAS,CAChD,UAAU,CACV,QAAQ,OAAO,GAAG,CAGkB,MAAM,IAAI;AACjD,KAAI,SAAS,SAAS,EACpB,QAAO;CAIT,MAAM,UAAU,IAAI,OAAO,UAAU,aAAa,GAAG;AACrD,MAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,QAAQ,QAAQ,MAAM,QAAQ;AACpC,MAAI,MACF,QAAO,SAAS,MAAM,IAAI,GAAG;;AAIjC,QAAO;;;;;;AAOT,MAAa,+BACX,aACW;AAEX,KAAI,CAAC,SACH,QAAO;AAGT,KAAI;EAEF,MAAM,UAAuBA,yBAAAA,UAAuB,SAAS;AAE7D,SAAO,SAAS,QAAQ,YAAY,UAAU,GAAG;UAE5C,IAAI;AAMX,QAAO;;;;;;AAOT,MAAa,oCACX,aACW;AAEX,KAAI,CAAC,SACH,OAAM,IAAI,MAAM,6BAA6B;AAG/C,KAAI;EAEF,MAAM,UAAuBA,yBAAAA,UAAuB,SAAS;AAE7D,SAAO,SAAS,QAAQ,YAAY,gBAAgB,GAAG;UAElD,GAAG;AACR,QAAM,IAAI,MAAM,8BAA8B,EAC5C,OAAO,GACR,CAAC;;;;;;;AAQN,MAAa,8BACX,aACgB;AAEhB,KAAI,CAAC,SACH,OAAM,IAAI,MAAM,6BAA6B;AAG/C,KAAI;AAIF,SAF6BA,yBAAAA,UAAuB,SAAS;UAIxD,GAAG;AACR,QAAM,IAAI,MAAM,8BAA8B,EAC5C,OAAO,GACR,CAAC;;;;;;;AAQN,MAAa,+BACX,iBACsB;AAEtB,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,+BAA+B;CAGjD,MAAM,QAAQ,aAAa,UAAU,cAAc;AACnD,KAAI,SAAS,MAAA,SACX,OAAMC,uBAAAA,sBAAsB,MAAMC,aAAAA,cAAc;CAGlD,MAAM,QAAQ,aAAa,SAAS;AACpC,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,+BAA+B;AAGjD,KAAI;AACF,SAAOC,yBAAAA,WAAW,OAAOC,eAAAA,kBAAkB,OAAO;UAE7C,GAAG;AACR,QAAM,IAAI,MAAM,qCAAqC,EACnD,OAAO,GACR,CAAC;;;;;;;;;;;;AAaN,MAAa,qBAAqB,OAChC,UACA,MACA,YACA,YACgB;CAEhB,IAAI,gBAAgB,aAChB,aACA,MAAM,SAAS,gBAAgB;AAEnC,QAAO,IAAI,SAAS,SAAS,WAAW;EACtC,MAAM,cAAc,UAAU,UAAU;EAExC,MAAM,gBAAgB,YAAY,YAAY;GAE5C,MAAM,eAAe,MAAM,SAAS,gBAAgB;AAEpD,OAAI,eAAe,cAEjB;AAGF,QAAK,IAAI,WAAW,eAAe,YAAY,cAAc,YAAY;IAEvE,MAAM,QAAmB,MAAM,SAAS,SAAS,SAAS;AAG1D,QAAI,CAAC,MAAM,MAAM,KAAK,OAAO,MAAM,MAAM,KAAK,IAAI,UAAU,EAC1D;AAIF,SAAK,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK;KAErC,MAAM,QAAQC,yBAAAA,mBAAmB,GAAG;AAKpC,SAAIC,yBAAAA,oBAAAA,GAAAA,eAAAA,QAFkB,MAAM,CAEE,IAAI,MAAM;AAEtC,oBAAc,cAAc;AAG5B,cAAQC,WAAAA,GAAG,OAAO,MAAM,CAAC;;;;AAK/B,mBAAgB,eAAe;KAC9B,IAAK;AAER,mBAAiB;AAEf,iBAAc,cAAc;AAE5B,UAAO,4BAA4B;KAClC,YAAY;GACf"}
|