stellar-plus
Version:
beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain
84 lines (83 loc) • 3.23 kB
TypeScript
import { Spec } from '@stellar/stellar-sdk/contract';
import { AssetType } from '../../../stellar-plus/asset/types';
import { Options } from '../../../stellar-plus/core/contract-engine/types';
import { SorobanTransactionPipelineOutputSimple } from '../../../stellar-plus/core/pipelines/soroban-transaction/types';
import { SorobanSimulationInvocation, TransactionInvocation } from '../../../stellar-plus/core/types';
import { NetworkConfig, i128, u32 } from '../../../stellar-plus/types';
export type SorobanTokenHandlerConstructorArgs = {
networkConfig: NetworkConfig;
contractParameters?: {
spec?: Spec;
contractId?: string;
wasm?: Buffer;
wasmHash?: string;
};
options?: Options;
};
export type SorobanTokenInterface = AssetType & SorobanTokenInterfaceManagement & SorobanTokenInterfaceUser;
export type SorobanTokenInterfaceManagement = {
initialize: (args: {
admin: string;
decimal: u32;
name: string;
symbol: string;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
setAdmin: (args: {
id: string;
new_admin: string;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
admin: (args: TransactionInvocation) => Promise<string>;
setAuthorized: (args: {
id: string;
authorize: boolean;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
mint: (args: {
to: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
clawback: (args: {
from: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
};
export type SorobanTokenInterfaceUser = {
allowance: (args: {
from: string;
spender: string;
} & SorobanSimulationInvocation) => Promise<i128>;
approve: (args: {
from: string;
spender: string;
amount: i128;
expiration_ledger: u32;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
balance: (args: {
id: string;
} & SorobanSimulationInvocation) => Promise<i128>;
spendableBalance: (args: {
id: string;
} & SorobanSimulationInvocation) => Promise<i128>;
transfer: (args: {
from: string;
to: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
transferFrom: (args: {
spender: string;
from: string;
to: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
burn: (args: {
from: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
burnFrom: (args: {
spender: string;
from: string;
amount: i128;
} & TransactionInvocation) => Promise<SorobanTransactionPipelineOutputSimple>;
decimals: (args: SorobanSimulationInvocation) => Promise<u32>;
name: (args: SorobanSimulationInvocation) => Promise<string>;
symbol: (args: SorobanSimulationInvocation) => Promise<string>;
};