From c2e0efd158fdd92776fbe5a1f803b90e333ede38 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 6 Aug 2020 11:50:29 +0200 Subject: [PATCH] Pull out uint64FromProto --- packages/stargate/package.json | 1 + packages/stargate/src/stargateclient.ts | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/stargate/package.json b/packages/stargate/package.json index d9393348..647c715b 100644 --- a/packages/stargate/package.json +++ b/packages/stargate/package.json @@ -39,6 +39,7 @@ }, "dependencies": { "@cosmjs/encoding": "^0.22.0", + "@cosmjs/math": "^0.22.0", "@cosmjs/proto-signing": "^0.22.0", "@cosmjs/tendermint-rpc": "^0.22.0", "@cosmjs/utils": "^0.22.0" diff --git a/packages/stargate/src/stargateclient.ts b/packages/stargate/src/stargateclient.ts index 3affe0fc..81aca4e1 100644 --- a/packages/stargate/src/stargateclient.ts +++ b/packages/stargate/src/stargateclient.ts @@ -1,14 +1,20 @@ /* eslint-disable @typescript-eslint/naming-convention */ import { Bech32 } from "@cosmjs/encoding"; +import { Uint64 } from "@cosmjs/math"; import { BaseAccount, decodeAny } from "@cosmjs/proto-signing"; import { Client as TendermintClient } from "@cosmjs/tendermint-rpc"; import { assert } from "@cosmjs/utils"; +import Long from "long"; export interface GetSequenceResult { readonly accountNumber: number; readonly sequence: number; } +function uint64FromProto(input: number | Long): Uint64 { + return Uint64.fromString(input.toString()); +} + export class StargateClient { private readonly tmClient: TendermintClient; @@ -43,8 +49,8 @@ export class StargateClient { assert(account_number !== undefined); assert(sequence !== undefined); return { - accountNumber: typeof account_number === "number" ? account_number : account_number.toNumber(), - sequence: typeof sequence === "number" ? sequence : sequence.toNumber(), + accountNumber: uint64FromProto(account_number).toNumber(), + sequence: uint64FromProto(sequence).toNumber(), }; }