UNPKG

stellar-plus

Version:

beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain

63 lines (62 loc) 2.48 kB
import { AccountHandler } from '../../../stellar-plus/account/account-handler/types'; import { AssetType, AssetTypes } from '../../../stellar-plus/asset/types'; import { ClassicTransactionPipelineInput, ClassicTransactionPipelineOptions, ClassicTransactionPipelineOutput } from '../../../stellar-plus/core/pipelines/classic-transaction/types'; import { TransactionInvocation } from '../../../stellar-plus/core/types'; import { NetworkConfig } from '../../../stellar-plus/types'; export type ClassicAsset = AssetType & { code: string; issuerPublicKey?: string; type: AssetTypes.native | AssetTypes.credit_alphanum4 | AssetTypes.credit_alphanum12; }; export type ClassicAssetHandler = ClassicAsset & ClassicTokenInterface & ClassicUtils; export type ClassicAssetHandlerConstructorArgs = { code: string; issuerAccount?: string | AccountHandler; networkConfig: NetworkConfig; options?: { classicTransactionPipeline?: ClassicTransactionPipelineOptions; }; }; export type ClassicTokenInterface = ClassicTokenInterfaceManagement & ClassicTokenInterfaceUser; export type ClassicTokenInterfaceManagement = { mint: (args: { to: string; amount: number; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; setFlags: (args: { controlFlags: ControlFlags; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; }; export type ClassicTokenInterfaceUser = { balance: (id: string) => Promise<number>; transfer: (args: { from: string; to: string; amount: number; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; burn: (args: { from: string; amount: number; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; decimals: () => Promise<number>; name: () => Promise<string>; symbol: () => Promise<string>; }; export type ClassicUtils = { addTrustlineAndMint: (args: { to: string; amount: number; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; addTrustline: (args: { to: string; } & BaseInvocation) => Promise<ClassicTransactionPipelineOutput>; }; export type ControlFlags = { authorizationRequired?: boolean; authorizationRevocable?: boolean; clawbackEnabled?: boolean; authorizationImmutable?: boolean; }; export type BaseInvocation = TransactionInvocation & { options?: ClassicTransactionPipelineInput['options']; };