import { Timestamp } from "../../google/protobuf/timestamp"; import { Duration } from "../../google/protobuf/duration"; import { Coin } from "../../cosmos/base/v1beta1/coin"; import { PeriodLock, SyntheticLock } from "./lock"; import { Rpc } from "@osmonauts/helpers"; import * as _m0 from "protobufjs/minimal"; import { ModuleBalanceRequest, ModuleBalanceResponse, ModuleLockedAmountRequest, ModuleLockedAmountResponse, AccountUnlockableCoinsRequest, AccountUnlockableCoinsResponse, AccountUnlockingCoinsRequest, AccountUnlockingCoinsResponse, AccountLockedCoinsRequest, AccountLockedCoinsResponse, AccountLockedPastTimeRequest, AccountLockedPastTimeResponse, AccountLockedPastTimeNotUnlockingOnlyRequest, AccountLockedPastTimeNotUnlockingOnlyResponse, AccountUnlockedBeforeTimeRequest, AccountUnlockedBeforeTimeResponse, AccountLockedPastTimeDenomRequest, AccountLockedPastTimeDenomResponse, LockedDenomRequest, LockedDenomResponse, LockedRequest, LockedResponse, SyntheticLockupsByLockupIDRequest, SyntheticLockupsByLockupIDResponse, AccountLockedLongerDurationRequest, AccountLockedLongerDurationResponse, AccountLockedDurationRequest, AccountLockedDurationResponse, AccountLockedLongerDurationNotUnlockingOnlyRequest, AccountLockedLongerDurationNotUnlockingOnlyResponse, AccountLockedLongerDurationDenomRequest, AccountLockedLongerDurationDenomResponse } from "./query"; /** Query defines the RPC service */ export interface Query { moduleBalance(request: ModuleBalanceRequest): Promise; /*Return full balance of the module*/ moduleLockedAmount(request: ModuleLockedAmountRequest): Promise; /*Return locked balance of the module*/ accountUnlockableCoins(request: AccountUnlockableCoinsRequest): Promise; /*Returns unlockable coins which are not withdrawn yet*/ accountUnlockingCoins(request: AccountUnlockingCoinsRequest): Promise; /*Returns unlocking coins*/ accountLockedCoins(request: AccountLockedCoinsRequest): Promise; /*Return a locked coins that can't be withdrawn*/ accountLockedPastTime(request: AccountLockedPastTimeRequest): Promise; /*Returns locked records of an account with unlock time beyond timestamp*/ accountLockedPastTimeNotUnlockingOnly(request: AccountLockedPastTimeNotUnlockingOnlyRequest): Promise; /*Returns locked records of an account with unlock time beyond timestamp excluding tokens started unlocking*/ accountUnlockedBeforeTime(request: AccountUnlockedBeforeTimeRequest): Promise; /*Returns unlocked records with unlock time before timestamp*/ accountLockedPastTimeDenom(request: AccountLockedPastTimeDenomRequest): Promise; /*Returns lock records by address, timestamp, denom*/ lockedDenom(request: LockedDenomRequest): Promise; /*Returns total locked per denom with longer past given time*/ lockedByID(request: LockedRequest): Promise; /*Returns lock record by id*/ syntheticLockupsByLockupID(request: SyntheticLockupsByLockupIDRequest): Promise; /*Returns synthetic lockups by native lockup id*/ accountLockedLongerDuration(request: AccountLockedLongerDurationRequest): Promise; /*Returns account locked records with longer duration*/ accountLockedDuration(request: AccountLockedDurationRequest): Promise; /*Returns account locked records with a specific duration*/ accountLockedLongerDurationNotUnlockingOnly(request: AccountLockedLongerDurationNotUnlockingOnlyRequest): Promise; /*Returns account locked records with longer duration excluding tokens started unlocking*/ accountLockedLongerDurationDenom(request: AccountLockedLongerDurationDenomRequest): Promise; /*Returns account's locked records for a denom with longer duration*/ } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.moduleBalance = this.moduleBalance.bind(this); this.moduleLockedAmount = this.moduleLockedAmount.bind(this); this.accountUnlockableCoins = this.accountUnlockableCoins.bind(this); this.accountUnlockingCoins = this.accountUnlockingCoins.bind(this); this.accountLockedCoins = this.accountLockedCoins.bind(this); this.accountLockedPastTime = this.accountLockedPastTime.bind(this); this.accountLockedPastTimeNotUnlockingOnly = this.accountLockedPastTimeNotUnlockingOnly.bind(this); this.accountUnlockedBeforeTime = this.accountUnlockedBeforeTime.bind(this); this.accountLockedPastTimeDenom = this.accountLockedPastTimeDenom.bind(this); this.lockedDenom = this.lockedDenom.bind(this); this.lockedByID = this.lockedByID.bind(this); this.syntheticLockupsByLockupID = this.syntheticLockupsByLockupID.bind(this); this.accountLockedLongerDuration = this.accountLockedLongerDuration.bind(this); this.accountLockedDuration = this.accountLockedDuration.bind(this); this.accountLockedLongerDurationNotUnlockingOnly = this.accountLockedLongerDurationNotUnlockingOnly.bind(this); this.accountLockedLongerDurationDenom = this.accountLockedLongerDurationDenom.bind(this); } moduleBalance(request: ModuleBalanceRequest): Promise { const data = ModuleBalanceRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "ModuleBalance", data); return promise.then(data => ModuleBalanceResponse.decode(new _m0.Reader(data))); } moduleLockedAmount(request: ModuleLockedAmountRequest): Promise { const data = ModuleLockedAmountRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "ModuleLockedAmount", data); return promise.then(data => ModuleLockedAmountResponse.decode(new _m0.Reader(data))); } accountUnlockableCoins(request: AccountUnlockableCoinsRequest): Promise { const data = AccountUnlockableCoinsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountUnlockableCoins", data); return promise.then(data => AccountUnlockableCoinsResponse.decode(new _m0.Reader(data))); } accountUnlockingCoins(request: AccountUnlockingCoinsRequest): Promise { const data = AccountUnlockingCoinsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountUnlockingCoins", data); return promise.then(data => AccountUnlockingCoinsResponse.decode(new _m0.Reader(data))); } accountLockedCoins(request: AccountLockedCoinsRequest): Promise { const data = AccountLockedCoinsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedCoins", data); return promise.then(data => AccountLockedCoinsResponse.decode(new _m0.Reader(data))); } accountLockedPastTime(request: AccountLockedPastTimeRequest): Promise { const data = AccountLockedPastTimeRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedPastTime", data); return promise.then(data => AccountLockedPastTimeResponse.decode(new _m0.Reader(data))); } accountLockedPastTimeNotUnlockingOnly(request: AccountLockedPastTimeNotUnlockingOnlyRequest): Promise { const data = AccountLockedPastTimeNotUnlockingOnlyRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedPastTimeNotUnlockingOnly", data); return promise.then(data => AccountLockedPastTimeNotUnlockingOnlyResponse.decode(new _m0.Reader(data))); } accountUnlockedBeforeTime(request: AccountUnlockedBeforeTimeRequest): Promise { const data = AccountUnlockedBeforeTimeRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountUnlockedBeforeTime", data); return promise.then(data => AccountUnlockedBeforeTimeResponse.decode(new _m0.Reader(data))); } accountLockedPastTimeDenom(request: AccountLockedPastTimeDenomRequest): Promise { const data = AccountLockedPastTimeDenomRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedPastTimeDenom", data); return promise.then(data => AccountLockedPastTimeDenomResponse.decode(new _m0.Reader(data))); } lockedDenom(request: LockedDenomRequest): Promise { const data = LockedDenomRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "LockedDenom", data); return promise.then(data => LockedDenomResponse.decode(new _m0.Reader(data))); } lockedByID(request: LockedRequest): Promise { const data = LockedRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "LockedByID", data); return promise.then(data => LockedResponse.decode(new _m0.Reader(data))); } syntheticLockupsByLockupID(request: SyntheticLockupsByLockupIDRequest): Promise { const data = SyntheticLockupsByLockupIDRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "SyntheticLockupsByLockupID", data); return promise.then(data => SyntheticLockupsByLockupIDResponse.decode(new _m0.Reader(data))); } accountLockedLongerDuration(request: AccountLockedLongerDurationRequest): Promise { const data = AccountLockedLongerDurationRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedLongerDuration", data); return promise.then(data => AccountLockedLongerDurationResponse.decode(new _m0.Reader(data))); } accountLockedDuration(request: AccountLockedDurationRequest): Promise { const data = AccountLockedDurationRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedDuration", data); return promise.then(data => AccountLockedDurationResponse.decode(new _m0.Reader(data))); } accountLockedLongerDurationNotUnlockingOnly(request: AccountLockedLongerDurationNotUnlockingOnlyRequest): Promise { const data = AccountLockedLongerDurationNotUnlockingOnlyRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedLongerDurationNotUnlockingOnly", data); return promise.then(data => AccountLockedLongerDurationNotUnlockingOnlyResponse.decode(new _m0.Reader(data))); } accountLockedLongerDurationDenom(request: AccountLockedLongerDurationDenomRequest): Promise { const data = AccountLockedLongerDurationDenomRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.lockup.Query", "AccountLockedLongerDurationDenom", data); return promise.then(data => AccountLockedLongerDurationDenomResponse.decode(new _m0.Reader(data))); } }