interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
360 lines (359 loc) • 14.7 kB
TypeScript
import { BaseAccount, BaseAccountAmino } from "../../auth/v1beta1/auth";
import { Coin, CoinAmino } from "../../base/v1beta1/coin";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
* BaseVestingAccount implements the VestingAccount interface. It contains all
* the necessary fields needed for any vesting account implementation.
* @name BaseVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.BaseVestingAccount
*/
export interface BaseVestingAccount {
baseAccount?: BaseAccount;
originalVesting: Coin[];
delegatedFree: Coin[];
delegatedVesting: Coin[];
/**
* Vesting end time, as unix timestamp (in seconds).
*/
endTime: bigint;
}
export interface BaseVestingAccountProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.BaseVestingAccount";
value: Uint8Array;
}
/**
* BaseVestingAccount implements the VestingAccount interface. It contains all
* the necessary fields needed for any vesting account implementation.
* @name BaseVestingAccountAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.BaseVestingAccount
*/
export interface BaseVestingAccountAmino {
base_account?: BaseAccountAmino;
original_vesting: CoinAmino[];
delegated_free: CoinAmino[];
delegated_vesting: CoinAmino[];
/**
* Vesting end time, as unix timestamp (in seconds).
*/
end_time: string;
}
export interface BaseVestingAccountAminoMsg {
type: "cosmos-sdk/BaseVestingAccount";
value: BaseVestingAccountAmino;
}
/**
* ContinuousVestingAccount implements the VestingAccount interface. It
* continuously vests by unlocking coins linearly with respect to time.
* @name ContinuousVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.ContinuousVestingAccount
*/
export interface ContinuousVestingAccount {
baseVestingAccount?: BaseVestingAccount;
/**
* Vesting start time, as unix timestamp (in seconds).
*/
startTime: bigint;
}
export interface ContinuousVestingAccountProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.ContinuousVestingAccount";
value: Uint8Array;
}
/**
* ContinuousVestingAccount implements the VestingAccount interface. It
* continuously vests by unlocking coins linearly with respect to time.
* @name ContinuousVestingAccountAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.ContinuousVestingAccount
*/
export interface ContinuousVestingAccountAmino {
base_vesting_account?: BaseVestingAccountAmino;
/**
* Vesting start time, as unix timestamp (in seconds).
*/
start_time: string;
}
export interface ContinuousVestingAccountAminoMsg {
type: "cosmos-sdk/ContinuousVestingAccount";
value: ContinuousVestingAccountAmino;
}
/**
* DelayedVestingAccount implements the VestingAccount interface. It vests all
* coins after a specific time, but non prior. In other words, it keeps them
* locked until a specified time.
* @name DelayedVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.DelayedVestingAccount
*/
export interface DelayedVestingAccount {
baseVestingAccount?: BaseVestingAccount;
}
export interface DelayedVestingAccountProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.DelayedVestingAccount";
value: Uint8Array;
}
/**
* DelayedVestingAccount implements the VestingAccount interface. It vests all
* coins after a specific time, but non prior. In other words, it keeps them
* locked until a specified time.
* @name DelayedVestingAccountAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.DelayedVestingAccount
*/
export interface DelayedVestingAccountAmino {
base_vesting_account?: BaseVestingAccountAmino;
}
export interface DelayedVestingAccountAminoMsg {
type: "cosmos-sdk/DelayedVestingAccount";
value: DelayedVestingAccountAmino;
}
/**
* Period defines a length of time and amount of coins that will vest.
* @name Period
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.Period
*/
export interface Period {
/**
* Period duration in seconds.
*/
length: bigint;
amount: Coin[];
}
export interface PeriodProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.Period";
value: Uint8Array;
}
/**
* Period defines a length of time and amount of coins that will vest.
* @name PeriodAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.Period
*/
export interface PeriodAmino {
/**
* Period duration in seconds.
*/
length: string;
amount: CoinAmino[];
}
export interface PeriodAminoMsg {
type: "cosmos-sdk/Period";
value: PeriodAmino;
}
/**
* PeriodicVestingAccount implements the VestingAccount interface. It
* periodically vests by unlocking coins during each specified period.
* @name PeriodicVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PeriodicVestingAccount
*/
export interface PeriodicVestingAccount {
baseVestingAccount?: BaseVestingAccount;
startTime: bigint;
vestingPeriods: Period[];
}
export interface PeriodicVestingAccountProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.PeriodicVestingAccount";
value: Uint8Array;
}
/**
* PeriodicVestingAccount implements the VestingAccount interface. It
* periodically vests by unlocking coins during each specified period.
* @name PeriodicVestingAccountAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PeriodicVestingAccount
*/
export interface PeriodicVestingAccountAmino {
base_vesting_account?: BaseVestingAccountAmino;
start_time: string;
vesting_periods: PeriodAmino[];
}
export interface PeriodicVestingAccountAminoMsg {
type: "cosmos-sdk/PeriodicVestingAccount";
value: PeriodicVestingAccountAmino;
}
/**
* PermanentLockedAccount implements the VestingAccount interface. It does
* not ever release coins, locking them indefinitely. Coins in this account can
* still be used for delegating and for governance votes even while locked.
*
* Since: cosmos-sdk 0.43
* @name PermanentLockedAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PermanentLockedAccount
*/
export interface PermanentLockedAccount {
baseVestingAccount?: BaseVestingAccount;
}
export interface PermanentLockedAccountProtoMsg {
typeUrl: "/cosmos.vesting.v1beta1.PermanentLockedAccount";
value: Uint8Array;
}
/**
* PermanentLockedAccount implements the VestingAccount interface. It does
* not ever release coins, locking them indefinitely. Coins in this account can
* still be used for delegating and for governance votes even while locked.
*
* Since: cosmos-sdk 0.43
* @name PermanentLockedAccountAmino
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PermanentLockedAccount
*/
export interface PermanentLockedAccountAmino {
base_vesting_account?: BaseVestingAccountAmino;
}
export interface PermanentLockedAccountAminoMsg {
type: "cosmos-sdk/PermanentLockedAccount";
value: PermanentLockedAccountAmino;
}
/**
* BaseVestingAccount implements the VestingAccount interface. It contains all
* the necessary fields needed for any vesting account implementation.
* @name BaseVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.BaseVestingAccount
*/
export declare const BaseVestingAccount: {
typeUrl: string;
aminoType: string;
is(o: any): o is BaseVestingAccount;
isAmino(o: any): o is BaseVestingAccountAmino;
encode(message: BaseVestingAccount, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): BaseVestingAccount;
fromPartial(object: DeepPartial<BaseVestingAccount>): BaseVestingAccount;
fromAmino(object: BaseVestingAccountAmino): BaseVestingAccount;
toAmino(message: BaseVestingAccount): BaseVestingAccountAmino;
fromAminoMsg(object: BaseVestingAccountAminoMsg): BaseVestingAccount;
toAminoMsg(message: BaseVestingAccount): BaseVestingAccountAminoMsg;
fromProtoMsg(message: BaseVestingAccountProtoMsg): BaseVestingAccount;
toProto(message: BaseVestingAccount): Uint8Array;
toProtoMsg(message: BaseVestingAccount): BaseVestingAccountProtoMsg;
registerTypeUrl(): void;
};
/**
* ContinuousVestingAccount implements the VestingAccount interface. It
* continuously vests by unlocking coins linearly with respect to time.
* @name ContinuousVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.ContinuousVestingAccount
*/
export declare const ContinuousVestingAccount: {
typeUrl: string;
aminoType: string;
is(o: any): o is ContinuousVestingAccount;
isAmino(o: any): o is ContinuousVestingAccountAmino;
encode(message: ContinuousVestingAccount, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ContinuousVestingAccount;
fromPartial(object: DeepPartial<ContinuousVestingAccount>): ContinuousVestingAccount;
fromAmino(object: ContinuousVestingAccountAmino): ContinuousVestingAccount;
toAmino(message: ContinuousVestingAccount): ContinuousVestingAccountAmino;
fromAminoMsg(object: ContinuousVestingAccountAminoMsg): ContinuousVestingAccount;
toAminoMsg(message: ContinuousVestingAccount): ContinuousVestingAccountAminoMsg;
fromProtoMsg(message: ContinuousVestingAccountProtoMsg): ContinuousVestingAccount;
toProto(message: ContinuousVestingAccount): Uint8Array;
toProtoMsg(message: ContinuousVestingAccount): ContinuousVestingAccountProtoMsg;
registerTypeUrl(): void;
};
/**
* DelayedVestingAccount implements the VestingAccount interface. It vests all
* coins after a specific time, but non prior. In other words, it keeps them
* locked until a specified time.
* @name DelayedVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.DelayedVestingAccount
*/
export declare const DelayedVestingAccount: {
typeUrl: string;
aminoType: string;
is(o: any): o is DelayedVestingAccount;
isAmino(o: any): o is DelayedVestingAccountAmino;
encode(message: DelayedVestingAccount, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): DelayedVestingAccount;
fromPartial(object: DeepPartial<DelayedVestingAccount>): DelayedVestingAccount;
fromAmino(object: DelayedVestingAccountAmino): DelayedVestingAccount;
toAmino(message: DelayedVestingAccount): DelayedVestingAccountAmino;
fromAminoMsg(object: DelayedVestingAccountAminoMsg): DelayedVestingAccount;
toAminoMsg(message: DelayedVestingAccount): DelayedVestingAccountAminoMsg;
fromProtoMsg(message: DelayedVestingAccountProtoMsg): DelayedVestingAccount;
toProto(message: DelayedVestingAccount): Uint8Array;
toProtoMsg(message: DelayedVestingAccount): DelayedVestingAccountProtoMsg;
registerTypeUrl(): void;
};
/**
* Period defines a length of time and amount of coins that will vest.
* @name Period
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.Period
*/
export declare const Period: {
typeUrl: string;
aminoType: string;
is(o: any): o is Period;
isAmino(o: any): o is PeriodAmino;
encode(message: Period, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): Period;
fromPartial(object: DeepPartial<Period>): Period;
fromAmino(object: PeriodAmino): Period;
toAmino(message: Period): PeriodAmino;
fromAminoMsg(object: PeriodAminoMsg): Period;
toAminoMsg(message: Period): PeriodAminoMsg;
fromProtoMsg(message: PeriodProtoMsg): Period;
toProto(message: Period): Uint8Array;
toProtoMsg(message: Period): PeriodProtoMsg;
registerTypeUrl(): void;
};
/**
* PeriodicVestingAccount implements the VestingAccount interface. It
* periodically vests by unlocking coins during each specified period.
* @name PeriodicVestingAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PeriodicVestingAccount
*/
export declare const PeriodicVestingAccount: {
typeUrl: string;
aminoType: string;
is(o: any): o is PeriodicVestingAccount;
isAmino(o: any): o is PeriodicVestingAccountAmino;
encode(message: PeriodicVestingAccount, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): PeriodicVestingAccount;
fromPartial(object: DeepPartial<PeriodicVestingAccount>): PeriodicVestingAccount;
fromAmino(object: PeriodicVestingAccountAmino): PeriodicVestingAccount;
toAmino(message: PeriodicVestingAccount): PeriodicVestingAccountAmino;
fromAminoMsg(object: PeriodicVestingAccountAminoMsg): PeriodicVestingAccount;
toAminoMsg(message: PeriodicVestingAccount): PeriodicVestingAccountAminoMsg;
fromProtoMsg(message: PeriodicVestingAccountProtoMsg): PeriodicVestingAccount;
toProto(message: PeriodicVestingAccount): Uint8Array;
toProtoMsg(message: PeriodicVestingAccount): PeriodicVestingAccountProtoMsg;
registerTypeUrl(): void;
};
/**
* PermanentLockedAccount implements the VestingAccount interface. It does
* not ever release coins, locking them indefinitely. Coins in this account can
* still be used for delegating and for governance votes even while locked.
*
* Since: cosmos-sdk 0.43
* @name PermanentLockedAccount
* @package cosmos.vesting.v1beta1
* @see proto type: cosmos.vesting.v1beta1.PermanentLockedAccount
*/
export declare const PermanentLockedAccount: {
typeUrl: string;
aminoType: string;
is(o: any): o is PermanentLockedAccount;
isAmino(o: any): o is PermanentLockedAccountAmino;
encode(message: PermanentLockedAccount, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): PermanentLockedAccount;
fromPartial(object: DeepPartial<PermanentLockedAccount>): PermanentLockedAccount;
fromAmino(object: PermanentLockedAccountAmino): PermanentLockedAccount;
toAmino(message: PermanentLockedAccount): PermanentLockedAccountAmino;
fromAminoMsg(object: PermanentLockedAccountAminoMsg): PermanentLockedAccount;
toAminoMsg(message: PermanentLockedAccount): PermanentLockedAccountAminoMsg;
fromProtoMsg(message: PermanentLockedAccountProtoMsg): PermanentLockedAccount;
toProto(message: PermanentLockedAccount): Uint8Array;
toProtoMsg(message: PermanentLockedAccount): PermanentLockedAccountProtoMsg;
registerTypeUrl(): void;
};