@akashnetwork/chain-sdk 1.0.0-alpha.14 → 1.0.0-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +12 -2
  2. package/dist/cjs/encoding/customTypes/LegacyDec.cjs +15 -2
  3. package/dist/cjs/encoding/customTypes/LegacyDec.cjs.map +2 -2
  4. package/dist/cjs/sdk/transport/tx/createStargateClient/createGenericStargateClient.cjs +6 -12
  5. package/dist/cjs/sdk/transport/tx/createStargateClient/createGenericStargateClient.cjs.map +2 -2
  6. package/dist/esm/{chunk-FGGGKBTA.js → chunk-CIAGNQVY.js} +2 -2
  7. package/dist/esm/{chunk-HWEQHYDS.js → chunk-PJXRRT4L.js} +2 -2
  8. package/dist/esm/{chunk-ES23CJFI.js → chunk-TRASWQID.js} +2 -2
  9. package/dist/esm/chunk-WEZWIYX4.js +27 -0
  10. package/dist/esm/chunk-WEZWIYX4.js.map +7 -0
  11. package/dist/esm/{chunk-BGUZX6M6.js → chunk-YY3I7UCT.js} +2 -2
  12. package/dist/esm/generated/protos/index.akash.v1.js +3 -3
  13. package/dist/esm/generated/protos/index.akash.v1beta4.js +3 -3
  14. package/dist/esm/generated/protos/index.akash.v1beta5.js +3 -3
  15. package/dist/esm/generated/protos/index.cosmos.v1.js +3 -3
  16. package/dist/esm/generated/protos/index.cosmos.v1beta1.js +3 -3
  17. package/dist/esm/index.js +11 -15
  18. package/dist/esm/index.js.map +2 -2
  19. package/dist/esm/index.web.js +3 -3
  20. package/dist/tsconfig.build.tsbuildinfo +1 -1
  21. package/dist/types/sdk/transport/tx/createStargateClient/createGenericStargateClient.d.ts +2 -2
  22. package/package.json +1 -1
  23. package/dist/cjs/test.cjs +0 -187
  24. package/dist/cjs/test.cjs.map +0 -7
  25. package/dist/esm/chunk-SI3KSDHG.js +0 -14
  26. package/dist/esm/chunk-SI3KSDHG.js.map +0 -7
  27. package/dist/types/test.d.ts +0 -1
  28. /package/dist/esm/{chunk-FGGGKBTA.js.map → chunk-CIAGNQVY.js.map} +0 -0
  29. /package/dist/esm/{chunk-HWEQHYDS.js.map → chunk-PJXRRT4L.js.map} +0 -0
  30. /package/dist/esm/{chunk-ES23CJFI.js.map → chunk-TRASWQID.js.map} +0 -0
  31. /package/dist/esm/{chunk-BGUZX6M6.js.map → chunk-YY3I7UCT.js.map} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Akash API TypeScript Bindings
2
2
 
3
- [![npm version](https://badge.fury.io/js/%40akashnetwork%2Fakash-api.svg)](https://badge.fury.io/js/%40akashnetwork%2Fakash-api)
3
+ [![npm version](https://badge.fury.io/js/%40akashnetwork%2Fchain-sdk.svg)](https://badge.fury.io/js/%40akashnetwork%2Fchain-sdk)
4
4
  [![License: Apache-2.0](https://img.shields.io/badge/License-apache2.0-yellow.svg)](https://opensource.org/license/apache-2-0)
5
5
  [![semantic-release: conventionalcommits](https://img.shields.io/badge/semantic--release-conventionalcommits?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
6
6
 
@@ -8,10 +8,20 @@ This package provides TypeScript bindings for the Akash API, generated from prot
8
8
 
9
9
  ## Installation
10
10
 
11
+ ⚠️ **NOTICE:**
12
+
13
+ The new Chain SDK for TypeScript is currently in alpha. As such, small breaking changes may occur between versions.
14
+ To ensure stability of your own scripts, pin a specific version of the SDK in your package.json (avoid using `^` or `~` in front of version).
15
+
16
+ We are actively gathering developer feedback and improving the DX (Developer Experience).
17
+ Please report any issues or suggestions via:
18
+ * GitHub Issues (preferred)
19
+ * [Discord](https://akash.network/docs/getting-started/technical-support/)
20
+
11
21
  To install the package, run:
12
22
 
13
23
  ```bash
14
- npm install @akashnetwork/chain-sdk
24
+ npm install @akashnetwork/chain-sdk@alpha
15
25
  ```
16
26
 
17
27
  ## Usage
@@ -26,7 +26,20 @@ const PRECISION = 18;
26
26
  const LegacyDec = {
27
27
  typeName: "cosmossdk.io/math.LegacyDec",
28
28
  shortName: "LegacyDec",
29
- encode: (value) => value.length ? import_math.Decimal.fromUserInput(value, PRECISION).atomics : "",
30
- decode: (value) => value.length ? import_math.Decimal.fromAtomics(value, PRECISION).toString() : ""
29
+ encode(value) {
30
+ if (!value.length) return "";
31
+ const { sign, value: positiveValue } = unsignedDecimal(value);
32
+ return sign + import_math.Decimal.fromUserInput(positiveValue, PRECISION).atomics;
33
+ },
34
+ decode(value) {
35
+ if (!value.length) return "";
36
+ const { sign, value: positiveValue } = unsignedDecimal(value);
37
+ return sign + import_math.Decimal.fromAtomics(positiveValue, PRECISION).toString();
38
+ }
31
39
  };
40
+ function unsignedDecimal(value) {
41
+ if (value[0] !== "-") return { sign: "", value };
42
+ const positiveValue = value.slice(1);
43
+ return { sign: "-", value: positiveValue };
44
+ }
32
45
  //# sourceMappingURL=LegacyDec.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/encoding/customTypes/LegacyDec.ts"],
4
- "sourcesContent": ["import { Decimal } from \"@cosmjs/math\";\n\nimport type { CustomType } from \"./CustomType.ts\";\n\n/**\n * @see https://github.com/cosmos/cosmos-sdk/blob/25b14c3caa2ecdc99840dbb88fdb3a2d8ac02158/math/dec.go#L21\n */\nconst PRECISION = 18;\n\nexport const LegacyDec = {\n typeName: \"cosmossdk.io/math.LegacyDec\",\n shortName: \"LegacyDec\",\n encode: (value: string) => value.length ? Decimal.fromUserInput(value, PRECISION).atomics : \"\",\n decode: (value: string) => value.length ? Decimal.fromAtomics(value, PRECISION).toString() : \"\",\n} as const satisfies CustomType<string, string>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AAOxB,MAAM,YAAY;AAEX,MAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ,CAAC,UAAkB,MAAM,SAAS,oBAAQ,cAAc,OAAO,SAAS,EAAE,UAAU;AAAA,EAC5F,QAAQ,CAAC,UAAkB,MAAM,SAAS,oBAAQ,YAAY,OAAO,SAAS,EAAE,SAAS,IAAI;AAC/F;",
4
+ "sourcesContent": ["import { Decimal } from \"@cosmjs/math\";\n\nimport type { CustomType } from \"./CustomType.ts\";\n\n/**\n * @see https://github.com/cosmos/cosmos-sdk/blob/25b14c3caa2ecdc99840dbb88fdb3a2d8ac02158/math/dec.go#L21\n */\nconst PRECISION = 18;\n\nexport const LegacyDec = {\n typeName: \"cosmossdk.io/math.LegacyDec\",\n shortName: \"LegacyDec\",\n encode(value: string) {\n if (!value.length) return \"\";\n const { sign, value: positiveValue } = unsignedDecimal(value);\n return sign + Decimal.fromUserInput(positiveValue, PRECISION).atomics;\n },\n decode(value: string) {\n if (!value.length) return \"\";\n const { sign, value: positiveValue } = unsignedDecimal(value);\n return sign + Decimal.fromAtomics(positiveValue, PRECISION).toString();\n },\n} as const satisfies CustomType<string, string>;\n\n// cosmjs Decimal supports only non-negative decimals: https://github.com/cosmos/cosmjs/issues/1897\nfunction unsignedDecimal(value: string) {\n if (value[0] !== \"-\") return { sign: \"\", value };\n const positiveValue = value.slice(1);\n return { sign: \"-\", value: positiveValue };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AAOxB,MAAM,YAAY;AAEX,MAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO,OAAe;AACpB,QAAI,CAAC,MAAM,OAAQ,QAAO;AAC1B,UAAM,EAAE,MAAM,OAAO,cAAc,IAAI,gBAAgB,KAAK;AAC5D,WAAO,OAAO,oBAAQ,cAAc,eAAe,SAAS,EAAE;AAAA,EAChE;AAAA,EACA,OAAO,OAAe;AACpB,QAAI,CAAC,MAAM,OAAQ,QAAO;AAC1B,UAAM,EAAE,MAAM,OAAO,cAAc,IAAI,gBAAgB,KAAK;AAC5D,WAAO,OAAO,oBAAQ,YAAY,eAAe,SAAS,EAAE,SAAS;AAAA,EACvE;AACF;AAGA,SAAS,gBAAgB,OAAe;AACtC,MAAI,MAAM,CAAC,MAAM,IAAK,QAAO,EAAE,MAAM,IAAI,MAAM;AAC/C,QAAM,gBAAgB,MAAM,MAAM,CAAC;AACnC,SAAO,EAAE,MAAM,KAAK,OAAO,cAAc;AAC3C;",
6
6
  "names": []
7
7
  }
@@ -23,7 +23,7 @@ __export(createGenericStargateClient_exports, {
23
23
  module.exports = __toCommonJS(createGenericStargateClient_exports);
24
24
  var import_proto_signing = require("@cosmjs/proto-signing");
25
25
  var import_stargate = require("@cosmjs/stargate");
26
- const DEFAULT_FEE_AMOUNT = "2500";
26
+ const DEFAULT_AVERAGE_GAS_PRICE = "0.025uakt";
27
27
  const DEFAULT_GAS_MULTIPLIER = 1.3;
28
28
  function createGenericStargateClient(options) {
29
29
  const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type]) || [];
@@ -53,21 +53,15 @@ function createGenericStargateClient(options) {
53
53
  }
54
54
  return messages;
55
55
  };
56
+ const gasPrice = import_stargate.GasPrice.fromString(options.defaultGasPrice ?? DEFAULT_AVERAGE_GAS_PRICE);
56
57
  return {
57
58
  async estimateFee(messages, memo) {
58
59
  const account = await getAccount(preloadMessageTypes(messages));
59
60
  const client = await getStargateClient();
60
- const gas = await client.simulate(account, messages, memo);
61
- return {
62
- amount: [
63
- {
64
- denom: "uakt",
65
- amount: options.defaultFeeAmount ?? DEFAULT_FEE_AMOUNT
66
- }
67
- ],
68
- gas: Math.floor(gasMultiplier * gas).toString(),
69
- granter: account
70
- };
61
+ const estimatedGas = await client.simulate(account, messages, memo);
62
+ const minGas = Math.floor(gasMultiplier * estimatedGas);
63
+ const fee = (0, import_stargate.calculateFee)(minGas, gasPrice);
64
+ return fee;
71
65
  },
72
66
  async sign(messages, fee, memo) {
73
67
  const account = await getAccount(preloadMessageTypes(messages));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/sdk/transport/tx/createStargateClient/createGenericStargateClient.ts"],
4
- "sourcesContent": ["import type {\n DirectSecp256k1HdWalletOptions,\n EncodeObject,\n GeneratedType,\n OfflineSigner,\n} from \"@cosmjs/proto-signing\";\nimport {\n DirectSecp256k1HdWallet,\n Registry,\n} from \"@cosmjs/proto-signing\";\nimport type {\n HttpEndpoint,\n SigningStargateClientOptions,\n} from \"@cosmjs/stargate\";\nimport {\n SigningStargateClient,\n} from \"@cosmjs/stargate\";\n\nimport type { TxClient } from \"../TxClient.ts\";\n\nconst DEFAULT_FEE_AMOUNT = \"2500\";\nconst DEFAULT_GAS_MULTIPLIER = 1.3;\n\nexport function createGenericStargateClient(options: WithSigner<BaseGenericStargateClientOptions>): StargateTxClient {\n const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type] as [string, GeneratedType]) || [];\n const registry = new Registry(builtInTypes);\n const createStargateClient = options.createClient ?? SigningStargateClient.connectWithSigner;\n\n let offlineSignerPromise: Promise<OfflineSigner> | undefined;\n const getOfflineSigner = () => offlineSignerPromise ??= createOfflineSigner(options);\n\n let stargateClientPromise: Promise<SigningStargateClient> | undefined;\n const getStargateClient = () => stargateClientPromise ??= getOfflineSigner().then((signer) => createStargateClient(\n options.baseUrl,\n signer,\n {\n ...options.stargateOptions,\n registry,\n },\n ));\n\n const getAccount = (messsages: EncodeObject[]) => getOfflineSigner().then((signer) => (options.getAccount ?? getDefaultAccount)(signer, messsages));\n const gasMultiplier = options.gasMultiplier ?? DEFAULT_GAS_MULTIPLIER;\n const preloadMessageTypes = (messages: EncodeObject[]) => {\n for (const message of messages) {\n if (registry.lookupType(message.typeUrl)) continue;\n const type = options.getMessageType(message.typeUrl);\n if (!type) {\n throw new Error(`Cannot find message type ${message.typeUrl} in type registry. Probably it's not loaded yet.`);\n }\n registry.register(message.typeUrl, type);\n }\n return messages;\n };\n\n return {\n async estimateFee(messages, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n const gas = await client.simulate(account, messages, memo);\n return {\n amount: [\n {\n denom: \"uakt\",\n amount: options.defaultFeeAmount ?? DEFAULT_FEE_AMOUNT,\n },\n ],\n gas: Math.floor(gasMultiplier * gas).toString(),\n granter: account,\n };\n },\n async sign(messages, fee, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n return client.sign(account, messages, fee, memo);\n },\n async broadcast(txRaw) {\n const txTypeUrl = \"/cosmos.tx.v1beta1.TxRaw\";\n const TxRawType = registry.lookupType(txTypeUrl) || options.getMessageType(txTypeUrl);\n if (!TxRawType) {\n throw new Error(\"Cannot broadcast transaction: TxRaw type is not registered in transaction client\");\n }\n const client = await getStargateClient();\n return client.broadcastTx(\n TxRawType.encode(txRaw).finish(),\n options.stargateOptions?.broadcastTimeoutMs,\n options.stargateOptions?.broadcastPollIntervalMs,\n );\n },\n async disconnect() {\n if (!stargateClientPromise) return;\n\n const client = await stargateClientPromise;\n client.disconnect();\n stargateClientPromise = undefined;\n offlineSignerPromise = undefined;\n },\n };\n}\n\nexport interface StargateTxClient extends TxClient {\n disconnect(): Promise<void>;\n}\n\nexport type WithSigner<T> = T & (\n | {\n /**\n * Signer to use for transactions signing\n */\n signer: OfflineSigner;\n }\n | {\n signer?: never;\n /**\n * Uses the mnemonic to create a `DirectSecp256k1HdWallet` to use for transactions signing\n */\n signerMnemonic: string;\n /**\n * Options to pass to the `DirectSecp256k1HdWallet`\n */\n signerOptions?: Partial<Omit<DirectSecp256k1HdWalletOptions, \"prefix\">>;\n }\n);\n\nexport interface BaseGenericStargateClientOptions {\n /**\n * Blockchain RPC endpoint\n */\n baseUrl: string;\n /**\n * Gas multiplier\n * @default 1.3\n */\n gasMultiplier?: number;\n /**\n * @default \"2500\" uakt\n */\n defaultFeeAmount?: string;\n /**\n * Retrieves the account to use for transactions\n * @default returns the first account from the signer\n */\n getAccount?(signer: OfflineSigner, messages: EncodeObject[]): Promise<string>;\n stargateOptions?: Omit<SigningStargateClientOptions, \"registry\">;\n /**\n * Additional protobuf message types to register with the transaction transport\n */\n builtInTypes?: Array<GeneratedType & { typeUrl: string }>;\n getMessageType: (typeUrl: string) => GeneratedType | undefined;\n /**\n * Allows to use a custom Stargate client implementation.\n * @default `SigningStargateClient.connectWithSigner`\n */\n createClient?: (endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions) => Promise<SigningStargateClient>;\n}\n\nasync function getDefaultAccount(signer: OfflineSigner) {\n const accounts = await signer.getAccounts();\n if (accounts.length === 0) {\n throw new Error(\"provided offline signer has no accounts\");\n }\n return accounts[0].address;\n}\n\nfunction createOfflineSigner(options: WithSigner<BaseGenericStargateClientOptions>) {\n if (\"signer\" in options && options.signer) return Promise.resolve(options.signer);\n\n return DirectSecp256k1HdWallet.fromMnemonic(options.signerMnemonic, {\n ...options.signerOptions,\n prefix: \"akash\",\n });\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\n DirectSecp256k1HdWalletOptions,\n EncodeObject,\n GeneratedType,\n OfflineSigner,\n} from \"@cosmjs/proto-signing\";\nimport {\n DirectSecp256k1HdWallet,\n Registry,\n} from \"@cosmjs/proto-signing\";\nimport type {\n HttpEndpoint,\n SigningStargateClientOptions,\n} from \"@cosmjs/stargate\";\nimport {\n calculateFee,\n GasPrice,\n SigningStargateClient,\n} from \"@cosmjs/stargate\";\n\nimport type { TxClient } from \"../TxClient.ts\";\n\nconst DEFAULT_AVERAGE_GAS_PRICE = \"0.025uakt\";\nconst DEFAULT_GAS_MULTIPLIER = 1.3;\n\nexport function createGenericStargateClient(options: WithSigner<BaseGenericStargateClientOptions>): StargateTxClient {\n const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type] as [string, GeneratedType]) || [];\n const registry = new Registry(builtInTypes);\n const createStargateClient = options.createClient ?? SigningStargateClient.connectWithSigner;\n\n let offlineSignerPromise: Promise<OfflineSigner> | undefined;\n const getOfflineSigner = () => offlineSignerPromise ??= createOfflineSigner(options);\n\n let stargateClientPromise: Promise<SigningStargateClient> | undefined;\n const getStargateClient = () => stargateClientPromise ??= getOfflineSigner().then((signer) => createStargateClient(\n options.baseUrl,\n signer,\n {\n ...options.stargateOptions,\n registry,\n },\n ));\n\n const getAccount = (messsages: EncodeObject[]) => getOfflineSigner().then((signer) => (options.getAccount ?? getDefaultAccount)(signer, messsages));\n const gasMultiplier = options.gasMultiplier ?? DEFAULT_GAS_MULTIPLIER;\n const preloadMessageTypes = (messages: EncodeObject[]) => {\n for (const message of messages) {\n if (registry.lookupType(message.typeUrl)) continue;\n const type = options.getMessageType(message.typeUrl);\n if (!type) {\n throw new Error(`Cannot find message type ${message.typeUrl} in type registry. Probably it's not loaded yet.`);\n }\n registry.register(message.typeUrl, type);\n }\n return messages;\n };\n const gasPrice = GasPrice.fromString(options.defaultGasPrice ?? DEFAULT_AVERAGE_GAS_PRICE);\n\n return {\n async estimateFee(messages, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n const estimatedGas = await client.simulate(account, messages, memo);\n const minGas = Math.floor(gasMultiplier * estimatedGas);\n const fee = calculateFee(minGas, gasPrice);\n\n return fee;\n },\n async sign(messages, fee, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n return client.sign(account, messages, fee, memo);\n },\n async broadcast(txRaw) {\n const txTypeUrl = \"/cosmos.tx.v1beta1.TxRaw\";\n const TxRawType = registry.lookupType(txTypeUrl) || options.getMessageType(txTypeUrl);\n if (!TxRawType) {\n throw new Error(\"Cannot broadcast transaction: TxRaw type is not registered in transaction client\");\n }\n const client = await getStargateClient();\n return client.broadcastTx(\n TxRawType.encode(txRaw).finish(),\n options.stargateOptions?.broadcastTimeoutMs,\n options.stargateOptions?.broadcastPollIntervalMs,\n );\n },\n async disconnect() {\n if (!stargateClientPromise) return;\n\n const client = await stargateClientPromise;\n client.disconnect();\n stargateClientPromise = undefined;\n offlineSignerPromise = undefined;\n },\n };\n}\n\nexport interface StargateTxClient extends TxClient {\n disconnect(): Promise<void>;\n}\n\nexport type WithSigner<T> = T & (\n | {\n /**\n * Signer to use for transactions signing\n */\n signer: OfflineSigner;\n }\n | {\n signer?: never;\n /**\n * Uses the mnemonic to create a `DirectSecp256k1HdWallet` to use for transactions signing\n */\n signerMnemonic: string;\n /**\n * Options to pass to the `DirectSecp256k1HdWallet`\n */\n signerOptions?: Partial<Omit<DirectSecp256k1HdWalletOptions, \"prefix\">>;\n }\n);\n\nexport interface BaseGenericStargateClientOptions {\n /**\n * Blockchain RPC endpoint\n */\n baseUrl: string;\n /**\n * Gas multiplier\n * @default 1.3\n */\n gasMultiplier?: number;\n /**\n * @default \"0.025uakt\"\n */\n defaultGasPrice?: string;\n /**\n * Retrieves the account to use for transactions\n * @default returns the first account from the signer\n */\n getAccount?(signer: OfflineSigner, messages: EncodeObject[]): Promise<string>;\n stargateOptions?: Omit<SigningStargateClientOptions, \"registry\">;\n /**\n * Additional protobuf message types to register with the transaction transport\n */\n builtInTypes?: Array<GeneratedType & { typeUrl: string }>;\n getMessageType: (typeUrl: string) => GeneratedType | undefined;\n /**\n * Allows to use a custom Stargate client implementation.\n * @default `SigningStargateClient.connectWithSigner`\n */\n createClient?: (endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions) => Promise<SigningStargateClient>;\n}\n\nasync function getDefaultAccount(signer: OfflineSigner) {\n const accounts = await signer.getAccounts();\n if (accounts.length === 0) {\n throw new Error(\"provided offline signer has no accounts\");\n }\n return accounts[0].address;\n}\n\nfunction createOfflineSigner(options: WithSigner<BaseGenericStargateClientOptions>) {\n if (\"signer\" in options && options.signer) return Promise.resolve(options.signer);\n\n return DirectSecp256k1HdWallet.fromMnemonic(options.signerMnemonic, {\n ...options.signerOptions,\n prefix: \"akash\",\n });\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  patches
3
- } from "./chunk-HWEQHYDS.js";
3
+ } from "./chunk-PJXRRT4L.js";
4
4
 
5
5
  // src/generated/protos/nodePatchMessage.ts
6
6
  var patched = (messageDesc) => {
@@ -20,4 +20,4 @@ var patched = (messageDesc) => {
20
20
  export {
21
21
  patched
22
22
  };
23
- //# sourceMappingURL=chunk-FGGGKBTA.js.map
23
+ //# sourceMappingURL=chunk-CIAGNQVY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LegacyDec
3
- } from "./chunk-SI3KSDHG.js";
3
+ } from "./chunk-WEZWIYX4.js";
4
4
 
5
5
  // src/generated/patches/nodeCustomTypePatches.ts
6
6
  var p = {
@@ -212,4 +212,4 @@ var patches = p;
212
212
  export {
213
213
  patches
214
214
  };
215
- //# sourceMappingURL=chunk-HWEQHYDS.js.map
215
+ //# sourceMappingURL=chunk-PJXRRT4L.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LegacyDec
3
- } from "./chunk-SI3KSDHG.js";
3
+ } from "./chunk-WEZWIYX4.js";
4
4
 
5
5
  // src/encoding/binaryEncoding.ts
6
6
  var decoder = new TextDecoder("utf-8");
@@ -510,4 +510,4 @@ var patches = p;
510
510
  export {
511
511
  patches
512
512
  };
513
- //# sourceMappingURL=chunk-ES23CJFI.js.map
513
+ //# sourceMappingURL=chunk-TRASWQID.js.map
@@ -0,0 +1,27 @@
1
+ // src/encoding/customTypes/LegacyDec.ts
2
+ import { Decimal } from "@cosmjs/math";
3
+ var PRECISION = 18;
4
+ var LegacyDec = {
5
+ typeName: "cosmossdk.io/math.LegacyDec",
6
+ shortName: "LegacyDec",
7
+ encode(value) {
8
+ if (!value.length) return "";
9
+ const { sign, value: positiveValue } = unsignedDecimal(value);
10
+ return sign + Decimal.fromUserInput(positiveValue, PRECISION).atomics;
11
+ },
12
+ decode(value) {
13
+ if (!value.length) return "";
14
+ const { sign, value: positiveValue } = unsignedDecimal(value);
15
+ return sign + Decimal.fromAtomics(positiveValue, PRECISION).toString();
16
+ }
17
+ };
18
+ function unsignedDecimal(value) {
19
+ if (value[0] !== "-") return { sign: "", value };
20
+ const positiveValue = value.slice(1);
21
+ return { sign: "-", value: positiveValue };
22
+ }
23
+
24
+ export {
25
+ LegacyDec
26
+ };
27
+ //# sourceMappingURL=chunk-WEZWIYX4.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/encoding/customTypes/LegacyDec.ts"],
4
+ "sourcesContent": ["import { Decimal } from \"@cosmjs/math\";\n\nimport type { CustomType } from \"./CustomType.ts\";\n\n/**\n * @see https://github.com/cosmos/cosmos-sdk/blob/25b14c3caa2ecdc99840dbb88fdb3a2d8ac02158/math/dec.go#L21\n */\nconst PRECISION = 18;\n\nexport const LegacyDec = {\n typeName: \"cosmossdk.io/math.LegacyDec\",\n shortName: \"LegacyDec\",\n encode(value: string) {\n if (!value.length) return \"\";\n const { sign, value: positiveValue } = unsignedDecimal(value);\n return sign + Decimal.fromUserInput(positiveValue, PRECISION).atomics;\n },\n decode(value: string) {\n if (!value.length) return \"\";\n const { sign, value: positiveValue } = unsignedDecimal(value);\n return sign + Decimal.fromAtomics(positiveValue, PRECISION).toString();\n },\n} as const satisfies CustomType<string, string>;\n\n// cosmjs Decimal supports only non-negative decimals: https://github.com/cosmos/cosmjs/issues/1897\nfunction unsignedDecimal(value: string) {\n if (value[0] !== \"-\") return { sign: \"\", value };\n const positiveValue = value.slice(1);\n return { sign: \"-\", value: positiveValue };\n}\n"],
5
+ "mappings": ";AAAA,SAAS,eAAe;AAOxB,IAAM,YAAY;AAEX,IAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO,OAAe;AACpB,QAAI,CAAC,MAAM,OAAQ,QAAO;AAC1B,UAAM,EAAE,MAAM,OAAO,cAAc,IAAI,gBAAgB,KAAK;AAC5D,WAAO,OAAO,QAAQ,cAAc,eAAe,SAAS,EAAE;AAAA,EAChE;AAAA,EACA,OAAO,OAAe;AACpB,QAAI,CAAC,MAAM,OAAQ,QAAO;AAC1B,UAAM,EAAE,MAAM,OAAO,cAAc,IAAI,gBAAgB,KAAK;AAC5D,WAAO,OAAO,QAAQ,YAAY,eAAe,SAAS,EAAE,SAAS;AAAA,EACvE;AACF;AAGA,SAAS,gBAAgB,OAAe;AACtC,MAAI,MAAM,CAAC,MAAM,IAAK,QAAO,EAAE,MAAM,IAAI,MAAM;AAC/C,QAAM,gBAAgB,MAAM,MAAM,CAAC;AACnC,SAAO,EAAE,MAAM,KAAK,OAAO,cAAc;AAC3C;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  patches
3
- } from "./chunk-ES23CJFI.js";
3
+ } from "./chunk-TRASWQID.js";
4
4
 
5
5
  // src/generated/protos/cosmosPatchMessage.ts
6
6
  var patched = (messageDesc) => {
@@ -20,4 +20,4 @@ var patched = (messageDesc) => {
20
20
  export {
21
21
  patched
22
22
  };
23
- //# sourceMappingURL=chunk-BGUZX6M6.js.map
23
+ //# sourceMappingURL=chunk-YY3I7UCT.js.map
@@ -81,7 +81,7 @@ import {
81
81
  } from "../../chunk-ZQPE2HO5.js";
82
82
  import {
83
83
  patched
84
- } from "../../chunk-FGGGKBTA.js";
84
+ } from "../../chunk-CIAGNQVY.js";
85
85
  import {
86
86
  Account as Account2,
87
87
  AccountState,
@@ -104,8 +104,8 @@ import {
104
104
  PlacementRequirements,
105
105
  SignedBy
106
106
  } from "../../chunk-CBIGKRIC.js";
107
- import "../../chunk-HWEQHYDS.js";
108
- import "../../chunk-SI3KSDHG.js";
107
+ import "../../chunk-PJXRRT4L.js";
108
+ import "../../chunk-WEZWIYX4.js";
109
109
  import {
110
110
  Coin,
111
111
  DecCoin
@@ -68,14 +68,14 @@ import {
68
68
  } from "../../chunk-WEQ7JS3Q.js";
69
69
  import {
70
70
  patched
71
- } from "../../chunk-FGGGKBTA.js";
71
+ } from "../../chunk-CIAGNQVY.js";
72
72
  import "../../chunk-LKONGR6G.js";
73
73
  import "../../chunk-KRVUULER.js";
74
74
  import "../../chunk-SFE3CJOZ.js";
75
75
  import "../../chunk-EQ5P6XEC.js";
76
76
  import "../../chunk-CBIGKRIC.js";
77
- import "../../chunk-HWEQHYDS.js";
78
- import "../../chunk-SI3KSDHG.js";
77
+ import "../../chunk-PJXRRT4L.js";
78
+ import "../../chunk-WEZWIYX4.js";
79
79
  import "../../chunk-CZDD2R4Y.js";
80
80
  import {
81
81
  isSet
@@ -48,14 +48,14 @@ import "../../chunk-X4X3XXIX.js";
48
48
  import "../../chunk-WEQ7JS3Q.js";
49
49
  import {
50
50
  patched
51
- } from "../../chunk-FGGGKBTA.js";
51
+ } from "../../chunk-CIAGNQVY.js";
52
52
  import "../../chunk-LKONGR6G.js";
53
53
  import "../../chunk-KRVUULER.js";
54
54
  import "../../chunk-SFE3CJOZ.js";
55
55
  import "../../chunk-EQ5P6XEC.js";
56
56
  import "../../chunk-CBIGKRIC.js";
57
- import "../../chunk-HWEQHYDS.js";
58
- import "../../chunk-SI3KSDHG.js";
57
+ import "../../chunk-PJXRRT4L.js";
58
+ import "../../chunk-WEZWIYX4.js";
59
59
  import "../../chunk-CZDD2R4Y.js";
60
60
  import {
61
61
  isSet
@@ -212,10 +212,10 @@ import {
212
212
  } from "../../chunk-DSAPR3SJ.js";
213
213
  import {
214
214
  patched
215
- } from "../../chunk-BGUZX6M6.js";
216
- import "../../chunk-ES23CJFI.js";
215
+ } from "../../chunk-YY3I7UCT.js";
216
+ import "../../chunk-TRASWQID.js";
217
217
  import "../../chunk-EQ5P6XEC.js";
218
- import "../../chunk-SI3KSDHG.js";
218
+ import "../../chunk-WEZWIYX4.js";
219
219
  import "../../chunk-CZDD2R4Y.js";
220
220
  import "../../chunk-XKZOJLXG.js";
221
221
  import {
@@ -485,7 +485,7 @@ import {
485
485
  } from "../../chunk-HZ2RYI6M.js";
486
486
  import {
487
487
  patched
488
- } from "../../chunk-BGUZX6M6.js";
488
+ } from "../../chunk-YY3I7UCT.js";
489
489
  import {
490
490
  AuthInfo,
491
491
  AuxSignerData,
@@ -509,12 +509,12 @@ import {
509
509
  TxBody,
510
510
  TxRaw
511
511
  } from "../../chunk-QEFUYFBR.js";
512
- import "../../chunk-ES23CJFI.js";
512
+ import "../../chunk-TRASWQID.js";
513
513
  import {
514
514
  PageRequest,
515
515
  PageResponse
516
516
  } from "../../chunk-EQ5P6XEC.js";
517
- import "../../chunk-SI3KSDHG.js";
517
+ import "../../chunk-WEZWIYX4.js";
518
518
  import {
519
519
  Coin,
520
520
  DecCoin,
package/dist/esm/index.js CHANGED
@@ -30,11 +30,11 @@ import {
30
30
  import "./chunk-QEFUYFBR.js";
31
31
  import {
32
32
  patches
33
- } from "./chunk-ES23CJFI.js";
33
+ } from "./chunk-TRASWQID.js";
34
34
  import {
35
35
  patches as patches2
36
- } from "./chunk-HWEQHYDS.js";
37
- import "./chunk-SI3KSDHG.js";
36
+ } from "./chunk-PJXRRT4L.js";
37
+ import "./chunk-WEZWIYX4.js";
38
38
  import "./chunk-CZDD2R4Y.js";
39
39
  import "./chunk-VXN2QBXS.js";
40
40
  import "./chunk-I4MPDVML.js";
@@ -397,9 +397,11 @@ import {
397
397
  Registry
398
398
  } from "@cosmjs/proto-signing";
399
399
  import {
400
+ calculateFee,
401
+ GasPrice,
400
402
  SigningStargateClient
401
403
  } from "@cosmjs/stargate";
402
- var DEFAULT_FEE_AMOUNT = "2500";
404
+ var DEFAULT_AVERAGE_GAS_PRICE = "0.025uakt";
403
405
  var DEFAULT_GAS_MULTIPLIER = 1.3;
404
406
  function createGenericStargateClient(options) {
405
407
  const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type]) || [];
@@ -429,21 +431,15 @@ function createGenericStargateClient(options) {
429
431
  }
430
432
  return messages;
431
433
  };
434
+ const gasPrice = GasPrice.fromString(options.defaultGasPrice ?? DEFAULT_AVERAGE_GAS_PRICE);
432
435
  return {
433
436
  async estimateFee(messages, memo) {
434
437
  const account = await getAccount(preloadMessageTypes(messages));
435
438
  const client = await getStargateClient();
436
- const gas = await client.simulate(account, messages, memo);
437
- return {
438
- amount: [
439
- {
440
- denom: "uakt",
441
- amount: options.defaultFeeAmount ?? DEFAULT_FEE_AMOUNT
442
- }
443
- ],
444
- gas: Math.floor(gasMultiplier * gas).toString(),
445
- granter: account
446
- };
439
+ const estimatedGas = await client.simulate(account, messages, memo);
440
+ const minGas = Math.floor(gasMultiplier * estimatedGas);
441
+ const fee = calculateFee(minGas, gasPrice);
442
+ return fee;
447
443
  },
448
444
  async sign(messages, fee, memo) {
449
445
  const account = await getAccount(preloadMessageTypes(messages));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/sdk/transport/grpc/createGrpcTransport.ts", "../../src/sdk/chain/createChainNodeSDK.ts", "../../src/generated/createProviderSDK.ts", "../../src/sdk/provider/createProviderSDK.ts", "../../src/sdk/transport/tx/createStargateClient/createGenericStargateClient.ts", "../../src/sdk/transport/tx/createStargateClient/createStargateClient.ts"],
4
- "sourcesContent": ["import { createContextValues } from \"@connectrpc/connect\";\nimport {\n createAsyncIterable,\n pipe,\n pipeTo,\n transformCompressEnvelope,\n transformDecompressEnvelope,\n transformJoinEnvelopes,\n transformParseEnvelope,\n transformSerializeEnvelope,\n transformSplitEnvelope,\n} from \"@connectrpc/connect/protocol\";\nimport { headerGrpcStatus, requestHeaderWithCompression, validateResponseWithCompression, validateTrailer } from \"@connectrpc/connect/protocol-grpc\";\nimport { createNodeHttpClient, type GrpcTransportOptions as ConnectGrpcTransportOptions, Http2SessionManager } from \"@connectrpc/connect-node\";\n\nimport type { MessageDesc, MessageInitShape, MessageShape, MethodDesc } from \"../../client/types.ts\";\nimport { runStreamingCall, runUnaryCall } from \"../runCall.ts\";\nimport { TransportError } from \"../TransportError.ts\";\nimport { coerceTimeoutMs, createMethodUrl, createSerialization } from \"../transportUtils.ts\";\nimport type { CallOptions, StreamRequest, StreamResponse, Transport, UnaryRequest, UnaryResponse } from \"../types.ts\";\n\nexport type GrpcCallOptions = Omit<CallOptions, \"onHeader\" | \"onTrailer\"> & {\n header?: HeadersInit;\n};\nexport interface GrpcTransportOptions extends Omit<ConnectGrpcTransportOptions, \"useBinaryFormat\"> {\n httpClient?: ReturnType<typeof createNodeHttpClient>;\n}\n\n/**\n * At most, allow ~4GiB to be received or sent per message.\n * zlib used by Node.js caps maxOutputLength at this value. It also happens to\n * be the maximum theoretical message size supported by protobuf-es.\n */\nconst MAX_READ_MAX_BYTES = 0xffffffff;\n\n/**\n * The default value for the compressMinBytes option. The CPU cost of compressing\n * very small messages usually isn't worth the small reduction in network I/O, so\n * the default value is 1 kibibyte.\n */\nconst DEFAULT_COMPRESS_MIN_BYTES = 1024;\n\nexport function createGrpcTransport(options: GrpcTransportOptions): Transport<GrpcCallOptions> {\n const useBinaryFormat = true;\n const httpClient = options.httpClient ?? createDefaultHttpClient(options);\n\n return {\n requiresTypePatching: true,\n async unary<I extends MessageDesc, O extends MessageDesc>(\n method: MethodDesc<\"unary\", I, O>,\n message: MessageInitShape<I>,\n callOptions?: GrpcCallOptions,\n ): Promise<UnaryResponse<I, O>> {\n const timeoutMs = coerceTimeoutMs(callOptions?.timeoutMs, options.defaultTimeoutMs);\n\n return await runUnaryCall<I, O>({\n interceptors: options.interceptors,\n signal: callOptions?.signal,\n timeoutMs,\n req: {\n service: method.parent,\n stream: false,\n method,\n requestMethod: \"POST\",\n url: createMethodUrl(options.baseUrl, method),\n header: requestHeaderWithCompression(\n useBinaryFormat,\n timeoutMs,\n callOptions?.header,\n options.acceptCompression ?? [],\n options.sendCompression || null,\n ),\n contextValues: callOptions?.contextValues ?? createContextValues(),\n message,\n },\n next: async (req: UnaryRequest<I, O>): Promise<UnaryResponse<I, O>> => {\n const uRes = await httpClient({\n url: req.url,\n method: \"POST\",\n header: req.header ?? new Headers(),\n signal: req.signal,\n body: pipe(\n createAsyncIterable([req.message]),\n transformSerializeEnvelope(createSerialization(req.method.input)),\n transformCompressEnvelope(\n options.sendCompression || null,\n options.compressMinBytes || DEFAULT_COMPRESS_MIN_BYTES,\n ),\n transformJoinEnvelopes(),\n {\n propagateDownStreamError: true,\n },\n ),\n });\n const { compression, headerError } = validateResponseWithCompression(\n options.acceptCompression || [],\n uRes.status,\n uRes.header,\n );\n const message = await pipeTo(\n uRes.body,\n transformSplitEnvelope(options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformDecompressEnvelope(compression ?? null, options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformParseEnvelope<MessageShape<O>>(createSerialization(req.method.output)),\n async (iterable) => {\n let message: MessageShape<O> | undefined;\n for await (const chunk of iterable) {\n if (message !== undefined) {\n throw new TransportError(\n \"protocol error: received extra output message for unary method\",\n TransportError.Code.Unimplemented,\n );\n }\n message = chunk;\n }\n return message;\n },\n { propagateDownStreamError: false },\n );\n validateTrailer(uRes.trailer, uRes.header);\n if (message === undefined) {\n // Trailers only response\n if (headerError) {\n throw TransportError.from(headerError);\n }\n throw new TransportError(\n \"protocol error: missing output message for unary method\",\n uRes.trailer.has(headerGrpcStatus)\n ? TransportError.Code.Unimplemented\n : TransportError.Code.Unknown,\n );\n }\n if (headerError) {\n throw new TransportError(\n \"protocol error: received output message for unary method with error status\",\n TransportError.Code.Unknown,\n );\n }\n return {\n stream: false,\n method,\n header: uRes.header,\n trailer: uRes.trailer,\n message,\n } satisfies UnaryResponse<I, O>;\n },\n });\n },\n async stream<I extends MessageDesc, O extends MessageDesc>(\n method: MethodDesc<\"server_streaming\" | \"client_streaming\" | \"bidi_streaming\", I, O>,\n input: AsyncIterable<MessageInitShape<I>>,\n callOptions?: GrpcCallOptions,\n ): Promise<StreamResponse<I, O>> {\n const timeoutMs = coerceTimeoutMs(callOptions?.timeoutMs, options.defaultTimeoutMs);\n return runStreamingCall<I, O>({\n interceptors: options.interceptors,\n signal: callOptions?.signal,\n timeoutMs,\n req: {\n stream: true,\n service: method.parent,\n method,\n requestMethod: \"POST\",\n url: createMethodUrl(options.baseUrl, method),\n header: requestHeaderWithCompression(\n useBinaryFormat,\n timeoutMs,\n callOptions?.header,\n options.acceptCompression || [],\n options.sendCompression || null,\n ),\n contextValues: callOptions?.contextValues ?? createContextValues(),\n message: input,\n },\n next: async (req: StreamRequest<I, O>) => {\n const uRes = await httpClient({\n url: req.url,\n method: \"POST\",\n header: req.header ?? new Headers(),\n signal: req.signal,\n body: pipe(\n req.message,\n transformSerializeEnvelope(createSerialization(req.method.input)),\n transformCompressEnvelope(\n options.sendCompression || null,\n options.compressMinBytes || DEFAULT_COMPRESS_MIN_BYTES,\n ),\n transformJoinEnvelopes(),\n { propagateDownStreamError: true },\n ),\n });\n const { compression, foundStatus, headerError }\n = validateResponseWithCompression(\n options.acceptCompression || [],\n uRes.status,\n uRes.header,\n );\n if (headerError) {\n throw TransportError.from(headerError);\n }\n return {\n ...req,\n header: uRes.header,\n trailer: uRes.trailer,\n message: pipe(\n uRes.body,\n transformSplitEnvelope(options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformDecompressEnvelope(\n compression ?? null,\n options.readMaxBytes || MAX_READ_MAX_BYTES,\n ),\n transformParseEnvelope(createSerialization(req.method.output)),\n async function* (iterable) {\n yield * iterable;\n if (!foundStatus) {\n validateTrailer(uRes.trailer, uRes.header);\n }\n },\n { propagateDownStreamError: true },\n ),\n } satisfies StreamResponse<I, O>;\n },\n });\n },\n };\n}\n\nfunction createDefaultHttpClient(options: GrpcTransportOptions) {\n const sessionManager = options.sessionManager ?? new Http2SessionManager(\n options.baseUrl,\n {\n pingIntervalMs: options.pingIntervalMs,\n pingIdleConnection: options.pingIdleConnection,\n pingTimeoutMs: options.pingTimeoutMs,\n idleConnectionTimeoutMs: options.idleConnectionTimeoutMs,\n },\n options.nodeOptions,\n );\n return createNodeHttpClient({\n httpVersion: \"2\",\n sessionProvider: () => sessionManager,\n });\n}\n", "import { createSDK as createCosmosSDK } from \"../../generated/createCosmosSDK.ts\";\nimport { createSDK as createNodeSDK } from \"../../generated/createNodeSDK.ts\";\nimport { patches as cosmosPatches } from \"../../generated/patches/cosmosCustomTypePatches.ts\";\nimport { patches as nodePatches } from \"../../generated/patches/nodeCustomTypePatches.ts\";\nimport { getMessageType } from \"../getMessageType.ts\";\nimport { createNoopTransport } from \"../transport/createNoopTransport.ts\";\nimport type { GrpcTransportOptions } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createGrpcTransport } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createTxTransport } from \"../transport/tx/createTxTransport.ts\";\nimport type { TxClient } from \"../transport/tx/TxClient.ts\";\nimport type { Transport, TxCallOptions } from \"../transport/types.ts\";\n\nexport type { PayloadOf, ResponseOf } from \"../types.ts\";\n\nexport function createChainNodeSDK(options: ChainNodeSDKOptions) {\n const queryTransport = createGrpcTransport({\n ...options.query.transportOptions,\n baseUrl: options.query.baseUrl,\n });\n let txTransport: Transport<TxCallOptions>;\n\n if (options.tx) {\n txTransport = createTxTransport({\n getMessageType,\n client: options.tx.signer,\n });\n } else {\n txTransport = createNoopTransport({\n unaryErrorMessage: `Unable to sign transaction. \"tx\" option is not provided during chain SDK creation`,\n });\n }\n const nodeSDK = createNodeSDK(queryTransport, txTransport, {\n clientOptions: { typePatches: { ...cosmosPatches, ...nodePatches } },\n });\n const cosmosSDK = createCosmosSDK(queryTransport, txTransport, {\n clientOptions: { typePatches: cosmosPatches },\n });\n return { ...nodeSDK, ...cosmosSDK };\n}\n\nexport interface ChainNodeSDKOptions {\n query: {\n /**\n * Blockchain gRPC endpoint\n */\n baseUrl: string;\n\n /**\n * Options for the gRPC transport\n */\n transportOptions?: Pick<GrpcTransportOptions, \"pingIdleConnection\" | \"pingIntervalMs\" | \"pingTimeoutMs\" | \"idleConnectionTimeoutMs\" | \"defaultTimeoutMs\">;\n\n };\n tx?: {\n signer: TxClient;\n };\n}\n", "import { createServiceLoader } from \"../sdk/client/createServiceLoader.ts\";\nimport { SDKOptions } from \"../sdk/types.ts\";\n\nimport type * as google_protobuf_empty from \"./protos/google/protobuf/empty.ts\";\nimport type * as akash_provider_lease_v1_service from \"./protos/akash/provider/lease/v1/service.ts\";\nimport { createClientFactory } from \"../sdk/client/createClientFactory.ts\";\nimport type { Transport, CallOptions } from \"../sdk/transport/types.ts\";\nimport { withMetadata } from \"../sdk/client/sdkMetadata.ts\";\nimport type { DeepPartial } from \"../encoding/typeEncodingHelpers.ts\";\n\n\nexport const serviceLoader= createServiceLoader([\n () => import(\"./protos/akash/inventory/v1/service_akash.ts\").then(m => m.NodeRPC),\n () => import(\"./protos/akash/inventory/v1/service_akash.ts\").then(m => m.ClusterRPC),\n () => import(\"./protos/akash/provider/lease/v1/service_akash.ts\").then(m => m.LeaseRPC),\n () => import(\"./protos/akash/provider/v1/service_akash.ts\").then(m => m.ProviderRPC)\n] as const);\nexport function createSDK(transport: Transport, options?: SDKOptions) {\n const getClient = createClientFactory<CallOptions>(transport, options?.clientOptions);\n return {\n akash: {\n inventory: {\n v1: {\n /**\n * queryNode defines a method to query hardware state of the node\n */\n queryNode: withMetadata(async function queryNode(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(0);\n return getClient(service).queryNode(input, options);\n }, { path: [0, 0] }),\n /**\n * streamNode defines a method to stream hardware state of the node\n */\n streamNode: withMetadata(async function streamNode(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(0);\n return getClient(service).streamNode(input, options);\n }, { path: [0, 1] }),\n /**\n * queryCluster defines a method to query hardware state of the cluster\n */\n queryCluster: withMetadata(async function queryCluster(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(1);\n return getClient(service).queryCluster(input, options);\n }, { path: [1, 0] }),\n /**\n * streamCluster defines a method to stream hardware state of the cluster\n */\n streamCluster: withMetadata(async function streamCluster(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(1);\n return getClient(service).streamCluster(input, options);\n }, { path: [1, 1] })\n }\n },\n provider: {\n lease: {\n v1: {\n /**\n * sendManifest sends manifest to the provider\n */\n sendManifest: withMetadata(async function sendManifest(input: DeepPartial<akash_provider_lease_v1_service.SendManifestRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).sendManifest(input, options);\n }, { path: [2, 0] }),\n /**\n * serviceStatus\n */\n serviceStatus: withMetadata(async function serviceStatus(input: DeepPartial<akash_provider_lease_v1_service.ServiceStatusRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).serviceStatus(input, options);\n }, { path: [2, 1] }),\n /**\n * streamServiceStatus\n */\n streamServiceStatus: withMetadata(async function streamServiceStatus(input: DeepPartial<akash_provider_lease_v1_service.ServiceStatusRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).streamServiceStatus(input, options);\n }, { path: [2, 2] }),\n /**\n * serviceLogs\n */\n serviceLogs: withMetadata(async function serviceLogs(input: DeepPartial<akash_provider_lease_v1_service.ServiceLogsRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).serviceLogs(input, options);\n }, { path: [2, 3] }),\n /**\n * streamServiceLogs\n */\n streamServiceLogs: withMetadata(async function streamServiceLogs(input: DeepPartial<akash_provider_lease_v1_service.ServiceLogsRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).streamServiceLogs(input, options);\n }, { path: [2, 4] })\n }\n },\n v1: {\n /**\n * getStatus defines a method to query provider state\n */\n getStatus: withMetadata(async function getStatus(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(3);\n return getClient(service).getStatus(input, options);\n }, { path: [3, 0] }),\n /**\n * Status defines a method to stream provider state\n */\n streamStatus: withMetadata(async function streamStatus(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(3);\n return getClient(service).streamStatus(input, options);\n }, { path: [3, 1] })\n }\n }\n }\n };\n}\n", "import { createSDK } from \"../../generated/createProviderSDK.ts\";\nimport type { PickByPath } from \"../../utils/types.ts\";\nimport type { GrpcTransportOptions } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createGrpcTransport } from \"../transport/grpc/createGrpcTransport.ts\";\n\nexport type { PayloadOf, ResponseOf } from \"../types.ts\";\n\ntype ProviderSDK = PickByPath<ReturnType<typeof createSDK>, \"akash.provider.v1\">;\n\nexport function createProviderSDK(options: ProviderSDKOptions): ProviderSDK {\n const certificateOptions = options.authentication?.type === \"mtls\"\n ? {\n cert: options.authentication?.cert,\n key: options.authentication?.key,\n }\n : null;\n\n return createSDK(\n createGrpcTransport({\n ...options.transportOptions,\n baseUrl: options.baseUrl,\n nodeOptions: {\n ...certificateOptions,\n rejectUnauthorized: false,\n },\n }),\n );\n}\n\nexport interface ProviderSDKOptions {\n /**\n * Provider gRPC endpoint\n */\n baseUrl: string;\n\n /**\n * Authentication options\n */\n authentication?: {\n type: \"mtls\";\n cert: string;\n key: string;\n };\n\n /**\n * Options for the gRPC transport\n */\n transportOptions?: Pick<GrpcTransportOptions, \"pingIdleConnection\" | \"pingIntervalMs\" | \"pingTimeoutMs\" | \"idleConnectionTimeoutMs\" | \"defaultTimeoutMs\">;\n}\n", "import type {\n DirectSecp256k1HdWalletOptions,\n EncodeObject,\n GeneratedType,\n OfflineSigner,\n} from \"@cosmjs/proto-signing\";\nimport {\n DirectSecp256k1HdWallet,\n Registry,\n} from \"@cosmjs/proto-signing\";\nimport type {\n HttpEndpoint,\n SigningStargateClientOptions,\n} from \"@cosmjs/stargate\";\nimport {\n SigningStargateClient,\n} from \"@cosmjs/stargate\";\n\nimport type { TxClient } from \"../TxClient.ts\";\n\nconst DEFAULT_FEE_AMOUNT = \"2500\";\nconst DEFAULT_GAS_MULTIPLIER = 1.3;\n\nexport function createGenericStargateClient(options: WithSigner<BaseGenericStargateClientOptions>): StargateTxClient {\n const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type] as [string, GeneratedType]) || [];\n const registry = new Registry(builtInTypes);\n const createStargateClient = options.createClient ?? SigningStargateClient.connectWithSigner;\n\n let offlineSignerPromise: Promise<OfflineSigner> | undefined;\n const getOfflineSigner = () => offlineSignerPromise ??= createOfflineSigner(options);\n\n let stargateClientPromise: Promise<SigningStargateClient> | undefined;\n const getStargateClient = () => stargateClientPromise ??= getOfflineSigner().then((signer) => createStargateClient(\n options.baseUrl,\n signer,\n {\n ...options.stargateOptions,\n registry,\n },\n ));\n\n const getAccount = (messsages: EncodeObject[]) => getOfflineSigner().then((signer) => (options.getAccount ?? getDefaultAccount)(signer, messsages));\n const gasMultiplier = options.gasMultiplier ?? DEFAULT_GAS_MULTIPLIER;\n const preloadMessageTypes = (messages: EncodeObject[]) => {\n for (const message of messages) {\n if (registry.lookupType(message.typeUrl)) continue;\n const type = options.getMessageType(message.typeUrl);\n if (!type) {\n throw new Error(`Cannot find message type ${message.typeUrl} in type registry. Probably it's not loaded yet.`);\n }\n registry.register(message.typeUrl, type);\n }\n return messages;\n };\n\n return {\n async estimateFee(messages, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n const gas = await client.simulate(account, messages, memo);\n return {\n amount: [\n {\n denom: \"uakt\",\n amount: options.defaultFeeAmount ?? DEFAULT_FEE_AMOUNT,\n },\n ],\n gas: Math.floor(gasMultiplier * gas).toString(),\n granter: account,\n };\n },\n async sign(messages, fee, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n return client.sign(account, messages, fee, memo);\n },\n async broadcast(txRaw) {\n const txTypeUrl = \"/cosmos.tx.v1beta1.TxRaw\";\n const TxRawType = registry.lookupType(txTypeUrl) || options.getMessageType(txTypeUrl);\n if (!TxRawType) {\n throw new Error(\"Cannot broadcast transaction: TxRaw type is not registered in transaction client\");\n }\n const client = await getStargateClient();\n return client.broadcastTx(\n TxRawType.encode(txRaw).finish(),\n options.stargateOptions?.broadcastTimeoutMs,\n options.stargateOptions?.broadcastPollIntervalMs,\n );\n },\n async disconnect() {\n if (!stargateClientPromise) return;\n\n const client = await stargateClientPromise;\n client.disconnect();\n stargateClientPromise = undefined;\n offlineSignerPromise = undefined;\n },\n };\n}\n\nexport interface StargateTxClient extends TxClient {\n disconnect(): Promise<void>;\n}\n\nexport type WithSigner<T> = T & (\n | {\n /**\n * Signer to use for transactions signing\n */\n signer: OfflineSigner;\n }\n | {\n signer?: never;\n /**\n * Uses the mnemonic to create a `DirectSecp256k1HdWallet` to use for transactions signing\n */\n signerMnemonic: string;\n /**\n * Options to pass to the `DirectSecp256k1HdWallet`\n */\n signerOptions?: Partial<Omit<DirectSecp256k1HdWalletOptions, \"prefix\">>;\n }\n);\n\nexport interface BaseGenericStargateClientOptions {\n /**\n * Blockchain RPC endpoint\n */\n baseUrl: string;\n /**\n * Gas multiplier\n * @default 1.3\n */\n gasMultiplier?: number;\n /**\n * @default \"2500\" uakt\n */\n defaultFeeAmount?: string;\n /**\n * Retrieves the account to use for transactions\n * @default returns the first account from the signer\n */\n getAccount?(signer: OfflineSigner, messages: EncodeObject[]): Promise<string>;\n stargateOptions?: Omit<SigningStargateClientOptions, \"registry\">;\n /**\n * Additional protobuf message types to register with the transaction transport\n */\n builtInTypes?: Array<GeneratedType & { typeUrl: string }>;\n getMessageType: (typeUrl: string) => GeneratedType | undefined;\n /**\n * Allows to use a custom Stargate client implementation.\n * @default `SigningStargateClient.connectWithSigner`\n */\n createClient?: (endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions) => Promise<SigningStargateClient>;\n}\n\nasync function getDefaultAccount(signer: OfflineSigner) {\n const accounts = await signer.getAccounts();\n if (accounts.length === 0) {\n throw new Error(\"provided offline signer has no accounts\");\n }\n return accounts[0].address;\n}\n\nfunction createOfflineSigner(options: WithSigner<BaseGenericStargateClientOptions>) {\n if (\"signer\" in options && options.signer) return Promise.resolve(options.signer);\n\n return DirectSecp256k1HdWallet.fromMnemonic(options.signerMnemonic, {\n ...options.signerOptions,\n prefix: \"akash\",\n });\n}\n", "import { getMessageType } from \"../../../getMessageType.ts\";\nimport type { BaseGenericStargateClientOptions, StargateTxClient, WithSigner } from \"./createGenericStargateClient.ts\";\nimport { createGenericStargateClient } from \"./createGenericStargateClient.ts\";\n\nexport type StargateClientOptions = WithSigner<Omit<BaseGenericStargateClientOptions, \"createClient\" | \"getMessageType\">>;\nexport function createStargateClient(options: StargateClientOptions): StargateTxClient {\n return createGenericStargateClient({\n ...options,\n getMessageType,\n });\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { createContextValues } from \"@connectrpc/connect\";\nimport {\n createAsyncIterable,\n pipe,\n pipeTo,\n transformCompressEnvelope,\n transformDecompressEnvelope,\n transformJoinEnvelopes,\n transformParseEnvelope,\n transformSerializeEnvelope,\n transformSplitEnvelope,\n} from \"@connectrpc/connect/protocol\";\nimport { headerGrpcStatus, requestHeaderWithCompression, validateResponseWithCompression, validateTrailer } from \"@connectrpc/connect/protocol-grpc\";\nimport { createNodeHttpClient, type GrpcTransportOptions as ConnectGrpcTransportOptions, Http2SessionManager } from \"@connectrpc/connect-node\";\n\nimport type { MessageDesc, MessageInitShape, MessageShape, MethodDesc } from \"../../client/types.ts\";\nimport { runStreamingCall, runUnaryCall } from \"../runCall.ts\";\nimport { TransportError } from \"../TransportError.ts\";\nimport { coerceTimeoutMs, createMethodUrl, createSerialization } from \"../transportUtils.ts\";\nimport type { CallOptions, StreamRequest, StreamResponse, Transport, UnaryRequest, UnaryResponse } from \"../types.ts\";\n\nexport type GrpcCallOptions = Omit<CallOptions, \"onHeader\" | \"onTrailer\"> & {\n header?: HeadersInit;\n};\nexport interface GrpcTransportOptions extends Omit<ConnectGrpcTransportOptions, \"useBinaryFormat\"> {\n httpClient?: ReturnType<typeof createNodeHttpClient>;\n}\n\n/**\n * At most, allow ~4GiB to be received or sent per message.\n * zlib used by Node.js caps maxOutputLength at this value. It also happens to\n * be the maximum theoretical message size supported by protobuf-es.\n */\nconst MAX_READ_MAX_BYTES = 0xffffffff;\n\n/**\n * The default value for the compressMinBytes option. The CPU cost of compressing\n * very small messages usually isn't worth the small reduction in network I/O, so\n * the default value is 1 kibibyte.\n */\nconst DEFAULT_COMPRESS_MIN_BYTES = 1024;\n\nexport function createGrpcTransport(options: GrpcTransportOptions): Transport<GrpcCallOptions> {\n const useBinaryFormat = true;\n const httpClient = options.httpClient ?? createDefaultHttpClient(options);\n\n return {\n requiresTypePatching: true,\n async unary<I extends MessageDesc, O extends MessageDesc>(\n method: MethodDesc<\"unary\", I, O>,\n message: MessageInitShape<I>,\n callOptions?: GrpcCallOptions,\n ): Promise<UnaryResponse<I, O>> {\n const timeoutMs = coerceTimeoutMs(callOptions?.timeoutMs, options.defaultTimeoutMs);\n\n return await runUnaryCall<I, O>({\n interceptors: options.interceptors,\n signal: callOptions?.signal,\n timeoutMs,\n req: {\n service: method.parent,\n stream: false,\n method,\n requestMethod: \"POST\",\n url: createMethodUrl(options.baseUrl, method),\n header: requestHeaderWithCompression(\n useBinaryFormat,\n timeoutMs,\n callOptions?.header,\n options.acceptCompression ?? [],\n options.sendCompression || null,\n ),\n contextValues: callOptions?.contextValues ?? createContextValues(),\n message,\n },\n next: async (req: UnaryRequest<I, O>): Promise<UnaryResponse<I, O>> => {\n const uRes = await httpClient({\n url: req.url,\n method: \"POST\",\n header: req.header ?? new Headers(),\n signal: req.signal,\n body: pipe(\n createAsyncIterable([req.message]),\n transformSerializeEnvelope(createSerialization(req.method.input)),\n transformCompressEnvelope(\n options.sendCompression || null,\n options.compressMinBytes || DEFAULT_COMPRESS_MIN_BYTES,\n ),\n transformJoinEnvelopes(),\n {\n propagateDownStreamError: true,\n },\n ),\n });\n const { compression, headerError } = validateResponseWithCompression(\n options.acceptCompression || [],\n uRes.status,\n uRes.header,\n );\n const message = await pipeTo(\n uRes.body,\n transformSplitEnvelope(options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformDecompressEnvelope(compression ?? null, options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformParseEnvelope<MessageShape<O>>(createSerialization(req.method.output)),\n async (iterable) => {\n let message: MessageShape<O> | undefined;\n for await (const chunk of iterable) {\n if (message !== undefined) {\n throw new TransportError(\n \"protocol error: received extra output message for unary method\",\n TransportError.Code.Unimplemented,\n );\n }\n message = chunk;\n }\n return message;\n },\n { propagateDownStreamError: false },\n );\n validateTrailer(uRes.trailer, uRes.header);\n if (message === undefined) {\n // Trailers only response\n if (headerError) {\n throw TransportError.from(headerError);\n }\n throw new TransportError(\n \"protocol error: missing output message for unary method\",\n uRes.trailer.has(headerGrpcStatus)\n ? TransportError.Code.Unimplemented\n : TransportError.Code.Unknown,\n );\n }\n if (headerError) {\n throw new TransportError(\n \"protocol error: received output message for unary method with error status\",\n TransportError.Code.Unknown,\n );\n }\n return {\n stream: false,\n method,\n header: uRes.header,\n trailer: uRes.trailer,\n message,\n } satisfies UnaryResponse<I, O>;\n },\n });\n },\n async stream<I extends MessageDesc, O extends MessageDesc>(\n method: MethodDesc<\"server_streaming\" | \"client_streaming\" | \"bidi_streaming\", I, O>,\n input: AsyncIterable<MessageInitShape<I>>,\n callOptions?: GrpcCallOptions,\n ): Promise<StreamResponse<I, O>> {\n const timeoutMs = coerceTimeoutMs(callOptions?.timeoutMs, options.defaultTimeoutMs);\n return runStreamingCall<I, O>({\n interceptors: options.interceptors,\n signal: callOptions?.signal,\n timeoutMs,\n req: {\n stream: true,\n service: method.parent,\n method,\n requestMethod: \"POST\",\n url: createMethodUrl(options.baseUrl, method),\n header: requestHeaderWithCompression(\n useBinaryFormat,\n timeoutMs,\n callOptions?.header,\n options.acceptCompression || [],\n options.sendCompression || null,\n ),\n contextValues: callOptions?.contextValues ?? createContextValues(),\n message: input,\n },\n next: async (req: StreamRequest<I, O>) => {\n const uRes = await httpClient({\n url: req.url,\n method: \"POST\",\n header: req.header ?? new Headers(),\n signal: req.signal,\n body: pipe(\n req.message,\n transformSerializeEnvelope(createSerialization(req.method.input)),\n transformCompressEnvelope(\n options.sendCompression || null,\n options.compressMinBytes || DEFAULT_COMPRESS_MIN_BYTES,\n ),\n transformJoinEnvelopes(),\n { propagateDownStreamError: true },\n ),\n });\n const { compression, foundStatus, headerError }\n = validateResponseWithCompression(\n options.acceptCompression || [],\n uRes.status,\n uRes.header,\n );\n if (headerError) {\n throw TransportError.from(headerError);\n }\n return {\n ...req,\n header: uRes.header,\n trailer: uRes.trailer,\n message: pipe(\n uRes.body,\n transformSplitEnvelope(options.readMaxBytes || MAX_READ_MAX_BYTES),\n transformDecompressEnvelope(\n compression ?? null,\n options.readMaxBytes || MAX_READ_MAX_BYTES,\n ),\n transformParseEnvelope(createSerialization(req.method.output)),\n async function* (iterable) {\n yield * iterable;\n if (!foundStatus) {\n validateTrailer(uRes.trailer, uRes.header);\n }\n },\n { propagateDownStreamError: true },\n ),\n } satisfies StreamResponse<I, O>;\n },\n });\n },\n };\n}\n\nfunction createDefaultHttpClient(options: GrpcTransportOptions) {\n const sessionManager = options.sessionManager ?? new Http2SessionManager(\n options.baseUrl,\n {\n pingIntervalMs: options.pingIntervalMs,\n pingIdleConnection: options.pingIdleConnection,\n pingTimeoutMs: options.pingTimeoutMs,\n idleConnectionTimeoutMs: options.idleConnectionTimeoutMs,\n },\n options.nodeOptions,\n );\n return createNodeHttpClient({\n httpVersion: \"2\",\n sessionProvider: () => sessionManager,\n });\n}\n", "import { createSDK as createCosmosSDK } from \"../../generated/createCosmosSDK.ts\";\nimport { createSDK as createNodeSDK } from \"../../generated/createNodeSDK.ts\";\nimport { patches as cosmosPatches } from \"../../generated/patches/cosmosCustomTypePatches.ts\";\nimport { patches as nodePatches } from \"../../generated/patches/nodeCustomTypePatches.ts\";\nimport { getMessageType } from \"../getMessageType.ts\";\nimport { createNoopTransport } from \"../transport/createNoopTransport.ts\";\nimport type { GrpcTransportOptions } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createGrpcTransport } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createTxTransport } from \"../transport/tx/createTxTransport.ts\";\nimport type { TxClient } from \"../transport/tx/TxClient.ts\";\nimport type { Transport, TxCallOptions } from \"../transport/types.ts\";\n\nexport type { PayloadOf, ResponseOf } from \"../types.ts\";\n\nexport function createChainNodeSDK(options: ChainNodeSDKOptions) {\n const queryTransport = createGrpcTransport({\n ...options.query.transportOptions,\n baseUrl: options.query.baseUrl,\n });\n let txTransport: Transport<TxCallOptions>;\n\n if (options.tx) {\n txTransport = createTxTransport({\n getMessageType,\n client: options.tx.signer,\n });\n } else {\n txTransport = createNoopTransport({\n unaryErrorMessage: `Unable to sign transaction. \"tx\" option is not provided during chain SDK creation`,\n });\n }\n const nodeSDK = createNodeSDK(queryTransport, txTransport, {\n clientOptions: { typePatches: { ...cosmosPatches, ...nodePatches } },\n });\n const cosmosSDK = createCosmosSDK(queryTransport, txTransport, {\n clientOptions: { typePatches: cosmosPatches },\n });\n return { ...nodeSDK, ...cosmosSDK };\n}\n\nexport interface ChainNodeSDKOptions {\n query: {\n /**\n * Blockchain gRPC endpoint\n */\n baseUrl: string;\n\n /**\n * Options for the gRPC transport\n */\n transportOptions?: Pick<GrpcTransportOptions, \"pingIdleConnection\" | \"pingIntervalMs\" | \"pingTimeoutMs\" | \"idleConnectionTimeoutMs\" | \"defaultTimeoutMs\">;\n\n };\n tx?: {\n signer: TxClient;\n };\n}\n", "import { createServiceLoader } from \"../sdk/client/createServiceLoader.ts\";\nimport { SDKOptions } from \"../sdk/types.ts\";\n\nimport type * as google_protobuf_empty from \"./protos/google/protobuf/empty.ts\";\nimport type * as akash_provider_lease_v1_service from \"./protos/akash/provider/lease/v1/service.ts\";\nimport { createClientFactory } from \"../sdk/client/createClientFactory.ts\";\nimport type { Transport, CallOptions } from \"../sdk/transport/types.ts\";\nimport { withMetadata } from \"../sdk/client/sdkMetadata.ts\";\nimport type { DeepPartial } from \"../encoding/typeEncodingHelpers.ts\";\n\n\nexport const serviceLoader= createServiceLoader([\n () => import(\"./protos/akash/inventory/v1/service_akash.ts\").then(m => m.NodeRPC),\n () => import(\"./protos/akash/inventory/v1/service_akash.ts\").then(m => m.ClusterRPC),\n () => import(\"./protos/akash/provider/lease/v1/service_akash.ts\").then(m => m.LeaseRPC),\n () => import(\"./protos/akash/provider/v1/service_akash.ts\").then(m => m.ProviderRPC)\n] as const);\nexport function createSDK(transport: Transport, options?: SDKOptions) {\n const getClient = createClientFactory<CallOptions>(transport, options?.clientOptions);\n return {\n akash: {\n inventory: {\n v1: {\n /**\n * queryNode defines a method to query hardware state of the node\n */\n queryNode: withMetadata(async function queryNode(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(0);\n return getClient(service).queryNode(input, options);\n }, { path: [0, 0] }),\n /**\n * streamNode defines a method to stream hardware state of the node\n */\n streamNode: withMetadata(async function streamNode(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(0);\n return getClient(service).streamNode(input, options);\n }, { path: [0, 1] }),\n /**\n * queryCluster defines a method to query hardware state of the cluster\n */\n queryCluster: withMetadata(async function queryCluster(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(1);\n return getClient(service).queryCluster(input, options);\n }, { path: [1, 0] }),\n /**\n * streamCluster defines a method to stream hardware state of the cluster\n */\n streamCluster: withMetadata(async function streamCluster(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(1);\n return getClient(service).streamCluster(input, options);\n }, { path: [1, 1] })\n }\n },\n provider: {\n lease: {\n v1: {\n /**\n * sendManifest sends manifest to the provider\n */\n sendManifest: withMetadata(async function sendManifest(input: DeepPartial<akash_provider_lease_v1_service.SendManifestRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).sendManifest(input, options);\n }, { path: [2, 0] }),\n /**\n * serviceStatus\n */\n serviceStatus: withMetadata(async function serviceStatus(input: DeepPartial<akash_provider_lease_v1_service.ServiceStatusRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).serviceStatus(input, options);\n }, { path: [2, 1] }),\n /**\n * streamServiceStatus\n */\n streamServiceStatus: withMetadata(async function streamServiceStatus(input: DeepPartial<akash_provider_lease_v1_service.ServiceStatusRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).streamServiceStatus(input, options);\n }, { path: [2, 2] }),\n /**\n * serviceLogs\n */\n serviceLogs: withMetadata(async function serviceLogs(input: DeepPartial<akash_provider_lease_v1_service.ServiceLogsRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).serviceLogs(input, options);\n }, { path: [2, 3] }),\n /**\n * streamServiceLogs\n */\n streamServiceLogs: withMetadata(async function streamServiceLogs(input: DeepPartial<akash_provider_lease_v1_service.ServiceLogsRequest>, options?: CallOptions) {\n const service = await serviceLoader.loadAt(2);\n return getClient(service).streamServiceLogs(input, options);\n }, { path: [2, 4] })\n }\n },\n v1: {\n /**\n * getStatus defines a method to query provider state\n */\n getStatus: withMetadata(async function getStatus(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(3);\n return getClient(service).getStatus(input, options);\n }, { path: [3, 0] }),\n /**\n * Status defines a method to stream provider state\n */\n streamStatus: withMetadata(async function streamStatus(input: DeepPartial<google_protobuf_empty.Empty> = {}, options?: CallOptions) {\n const service = await serviceLoader.loadAt(3);\n return getClient(service).streamStatus(input, options);\n }, { path: [3, 1] })\n }\n }\n }\n };\n}\n", "import { createSDK } from \"../../generated/createProviderSDK.ts\";\nimport type { PickByPath } from \"../../utils/types.ts\";\nimport type { GrpcTransportOptions } from \"../transport/grpc/createGrpcTransport.ts\";\nimport { createGrpcTransport } from \"../transport/grpc/createGrpcTransport.ts\";\n\nexport type { PayloadOf, ResponseOf } from \"../types.ts\";\n\ntype ProviderSDK = PickByPath<ReturnType<typeof createSDK>, \"akash.provider.v1\">;\n\nexport function createProviderSDK(options: ProviderSDKOptions): ProviderSDK {\n const certificateOptions = options.authentication?.type === \"mtls\"\n ? {\n cert: options.authentication?.cert,\n key: options.authentication?.key,\n }\n : null;\n\n return createSDK(\n createGrpcTransport({\n ...options.transportOptions,\n baseUrl: options.baseUrl,\n nodeOptions: {\n ...certificateOptions,\n rejectUnauthorized: false,\n },\n }),\n );\n}\n\nexport interface ProviderSDKOptions {\n /**\n * Provider gRPC endpoint\n */\n baseUrl: string;\n\n /**\n * Authentication options\n */\n authentication?: {\n type: \"mtls\";\n cert: string;\n key: string;\n };\n\n /**\n * Options for the gRPC transport\n */\n transportOptions?: Pick<GrpcTransportOptions, \"pingIdleConnection\" | \"pingIntervalMs\" | \"pingTimeoutMs\" | \"idleConnectionTimeoutMs\" | \"defaultTimeoutMs\">;\n}\n", "import type {\n DirectSecp256k1HdWalletOptions,\n EncodeObject,\n GeneratedType,\n OfflineSigner,\n} from \"@cosmjs/proto-signing\";\nimport {\n DirectSecp256k1HdWallet,\n Registry,\n} from \"@cosmjs/proto-signing\";\nimport type {\n HttpEndpoint,\n SigningStargateClientOptions,\n} from \"@cosmjs/stargate\";\nimport {\n calculateFee,\n GasPrice,\n SigningStargateClient,\n} from \"@cosmjs/stargate\";\n\nimport type { TxClient } from \"../TxClient.ts\";\n\nconst DEFAULT_AVERAGE_GAS_PRICE = \"0.025uakt\";\nconst DEFAULT_GAS_MULTIPLIER = 1.3;\n\nexport function createGenericStargateClient(options: WithSigner<BaseGenericStargateClientOptions>): StargateTxClient {\n const builtInTypes = options.builtInTypes?.map((type) => [type.typeUrl, type] as [string, GeneratedType]) || [];\n const registry = new Registry(builtInTypes);\n const createStargateClient = options.createClient ?? SigningStargateClient.connectWithSigner;\n\n let offlineSignerPromise: Promise<OfflineSigner> | undefined;\n const getOfflineSigner = () => offlineSignerPromise ??= createOfflineSigner(options);\n\n let stargateClientPromise: Promise<SigningStargateClient> | undefined;\n const getStargateClient = () => stargateClientPromise ??= getOfflineSigner().then((signer) => createStargateClient(\n options.baseUrl,\n signer,\n {\n ...options.stargateOptions,\n registry,\n },\n ));\n\n const getAccount = (messsages: EncodeObject[]) => getOfflineSigner().then((signer) => (options.getAccount ?? getDefaultAccount)(signer, messsages));\n const gasMultiplier = options.gasMultiplier ?? DEFAULT_GAS_MULTIPLIER;\n const preloadMessageTypes = (messages: EncodeObject[]) => {\n for (const message of messages) {\n if (registry.lookupType(message.typeUrl)) continue;\n const type = options.getMessageType(message.typeUrl);\n if (!type) {\n throw new Error(`Cannot find message type ${message.typeUrl} in type registry. Probably it's not loaded yet.`);\n }\n registry.register(message.typeUrl, type);\n }\n return messages;\n };\n const gasPrice = GasPrice.fromString(options.defaultGasPrice ?? DEFAULT_AVERAGE_GAS_PRICE);\n\n return {\n async estimateFee(messages, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n const estimatedGas = await client.simulate(account, messages, memo);\n const minGas = Math.floor(gasMultiplier * estimatedGas);\n const fee = calculateFee(minGas, gasPrice);\n\n return fee;\n },\n async sign(messages, fee, memo) {\n const account = await getAccount(preloadMessageTypes(messages));\n const client = await getStargateClient();\n return client.sign(account, messages, fee, memo);\n },\n async broadcast(txRaw) {\n const txTypeUrl = \"/cosmos.tx.v1beta1.TxRaw\";\n const TxRawType = registry.lookupType(txTypeUrl) || options.getMessageType(txTypeUrl);\n if (!TxRawType) {\n throw new Error(\"Cannot broadcast transaction: TxRaw type is not registered in transaction client\");\n }\n const client = await getStargateClient();\n return client.broadcastTx(\n TxRawType.encode(txRaw).finish(),\n options.stargateOptions?.broadcastTimeoutMs,\n options.stargateOptions?.broadcastPollIntervalMs,\n );\n },\n async disconnect() {\n if (!stargateClientPromise) return;\n\n const client = await stargateClientPromise;\n client.disconnect();\n stargateClientPromise = undefined;\n offlineSignerPromise = undefined;\n },\n };\n}\n\nexport interface StargateTxClient extends TxClient {\n disconnect(): Promise<void>;\n}\n\nexport type WithSigner<T> = T & (\n | {\n /**\n * Signer to use for transactions signing\n */\n signer: OfflineSigner;\n }\n | {\n signer?: never;\n /**\n * Uses the mnemonic to create a `DirectSecp256k1HdWallet` to use for transactions signing\n */\n signerMnemonic: string;\n /**\n * Options to pass to the `DirectSecp256k1HdWallet`\n */\n signerOptions?: Partial<Omit<DirectSecp256k1HdWalletOptions, \"prefix\">>;\n }\n);\n\nexport interface BaseGenericStargateClientOptions {\n /**\n * Blockchain RPC endpoint\n */\n baseUrl: string;\n /**\n * Gas multiplier\n * @default 1.3\n */\n gasMultiplier?: number;\n /**\n * @default \"0.025uakt\"\n */\n defaultGasPrice?: string;\n /**\n * Retrieves the account to use for transactions\n * @default returns the first account from the signer\n */\n getAccount?(signer: OfflineSigner, messages: EncodeObject[]): Promise<string>;\n stargateOptions?: Omit<SigningStargateClientOptions, \"registry\">;\n /**\n * Additional protobuf message types to register with the transaction transport\n */\n builtInTypes?: Array<GeneratedType & { typeUrl: string }>;\n getMessageType: (typeUrl: string) => GeneratedType | undefined;\n /**\n * Allows to use a custom Stargate client implementation.\n * @default `SigningStargateClient.connectWithSigner`\n */\n createClient?: (endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions) => Promise<SigningStargateClient>;\n}\n\nasync function getDefaultAccount(signer: OfflineSigner) {\n const accounts = await signer.getAccounts();\n if (accounts.length === 0) {\n throw new Error(\"provided offline signer has no accounts\");\n }\n return accounts[0].address;\n}\n\nfunction createOfflineSigner(options: WithSigner<BaseGenericStargateClientOptions>) {\n if (\"signer\" in options && options.signer) return Promise.resolve(options.signer);\n\n return DirectSecp256k1HdWallet.fromMnemonic(options.signerMnemonic, {\n ...options.signerOptions,\n prefix: \"akash\",\n });\n}\n", "import { getMessageType } from \"../../../getMessageType.ts\";\nimport type { BaseGenericStargateClientOptions, StargateTxClient, WithSigner } from \"./createGenericStargateClient.ts\";\nimport { createGenericStargateClient } from \"./createGenericStargateClient.ts\";\n\nexport type StargateClientOptions = WithSigner<Omit<BaseGenericStargateClientOptions, \"createClient\" | \"getMessageType\">>;\nexport function createStargateClient(options: StargateClientOptions): StargateTxClient {\n return createGenericStargateClient({\n ...options,\n getMessageType,\n });\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["message", "createSDK", "patches", "createSDK", "options", "createSDK", "createStargateClient"]
7
7
  }
@@ -24,11 +24,11 @@ import {
24
24
  import "./chunk-QEFUYFBR.js";
25
25
  import {
26
26
  patches
27
- } from "./chunk-ES23CJFI.js";
27
+ } from "./chunk-TRASWQID.js";
28
28
  import {
29
29
  patches as patches2
30
- } from "./chunk-HWEQHYDS.js";
31
- import "./chunk-SI3KSDHG.js";
30
+ } from "./chunk-PJXRRT4L.js";
31
+ import "./chunk-WEZWIYX4.js";
32
32
  import "./chunk-CZDD2R4Y.js";
33
33
  import "./chunk-VXN2QBXS.js";
34
34
  import "./chunk-I4MPDVML.js";