UNPKG

@fewcha/web3

Version:

The `@fewcha/web3` library aims to be an all-in-one toolkit to enable developers interact with Aptos Blockchain and its ecosystem.

206 lines 15.2 kB
import { HexString, MaybeHexString, TokenTypes, Types } from "aptos"; import { Base64DataBuffer, ExecuteTransactionRequestType, GatewayTxSeqNumber, GetObjectDataResponse, GetTxnDigestsResponse, MergeCoinTransaction, MoveCallTransaction, ObjectId, ObjectOwner, PayTransaction, PublishTransaction, SignaturePubkeyPair, SignatureScheme, SplitCoinTransaction, SubscriptionId, SuiAddress, SuiEventEnvelope, SuiEventFilter, SuiEvents, SuiExecuteTransactionResponse, SuiMoveFunctionArgTypes, SuiMoveNormalizedFunction, SuiMoveNormalizedModule, SuiMoveNormalizedModules, SuiMoveNormalizedStruct, SuiObjectInfo, SuiObjectRef, SuiTransactionResponse, TransactionDigest, TransactionEffects, TransferObjectTransaction, TransferSuiTransaction } from "@mysten/sui.js"; export declare type Response<T> = { data: T; method: string; status: number; }; export declare type PublicAccount = { address: string; publicKey: string; }; export interface IWeb3Provider { connect(): Promise<Response<PublicAccount>>; disconnect(): Promise<Response<boolean>>; isConnected(): Promise<Response<boolean>>; account(): Promise<Response<PublicAccount>>; getNetwork(): Promise<Response<string>>; getNetworkURL(): Promise<Response<string>>; getNetworkType(): Promise<Response<string>>; getBalance(): Promise<Response<string>>; aptos: IWeb3AptosSDK; sui: IWeb3SuiSDK; token: IWeb3AptosToken; coin: IWeb3Coin; } export declare type OptionalTransactionArgs = { maxGasAmount?: string; gasUnitPrice?: string; expireTimestamp?: string; }; export declare type SubmitTransactionRequest = { sender: string; sequence_number: string; max_gas_amount: string; gas_unit_price: string; expiration_timestamp_secs: string; payload: Types.TransactionPayload; signature: Types.TransactionSignature; }; export declare type EstimateGasArgs = { estimateGasUnitPrice?: boolean; estimateMaxGasAmount?: boolean; estimatePrioritizedGasUnitPrice?: boolean; }; export declare type IWeb3AptosSDK = { generateTransaction(payload: Types.EntryFunctionPayload, options?: Partial<SubmitTransactionRequest>): Promise<Response<Uint8Array>>; generateRawTransaction(payload: Uint8Array, extraArgs?: OptionalTransactionArgs): Promise<Response<Uint8Array>>; generateBCSTransaction(rawTransaction: Uint8Array): Promise<Response<Uint8Array>>; generateBCSSimulation(rawTransaction: Uint8Array): Promise<Response<Uint8Array>>; signMessage(message: SignMessagePayload): Promise<Response<SignMessageResponse>>; signTransaction(rawTransaction: Uint8Array): Promise<Response<Uint8Array>>; submitTransaction(signedTxn: Uint8Array): Promise<Response<Types.HexEncodedBytes>>; signAndSubmitTransaction(rawTransaction: Uint8Array): Promise<Response<Types.HexEncodedBytes>>; submitSignedBCSTransaction(signedTxn: Uint8Array): Promise<Response<Types.HexEncodedBytes>>; generateSignSubmitTransaction(payload: Types.EntryFunctionPayload, options?: Partial<SubmitTransactionRequest>): Promise<Response<Types.HexEncodedBytes>>; generateSignSubmitRawTransaction(payload: Uint8Array, extraArgs?: OptionalTransactionArgs & { checkSuccess?: boolean; timeoutSecs?: number; }): Promise<Response<Types.HexEncodedBytes>>; generateSignSubmitWaitForTransaction(payload: Uint8Array, extraArgs?: OptionalTransactionArgs & { checkSuccess?: boolean; timeoutSecs?: number; }): Promise<Response<Types.Transaction>>; simulateTransaction(rawTransaction: Uint8Array, query?: EstimateGasArgs): Promise<Response<Types.UserTransaction[]>>; submitBCSSimulation(bcsBody: Uint8Array, query?: EstimateGasArgs): Promise<Response<Types.UserTransaction[]>>; getAccount(accountAddress: MaybeHexString): Promise<Response<Types.AccountData>>; getAccountTransactions(accountAddress: MaybeHexString, query?: PaginationArgs): Promise<Response<Types.Transaction[]>>; getAccountModules(accountAddress: MaybeHexString, query?: { ledgerVersion?: number; }): Promise<Response<Types.MoveModuleBytecode[]>>; getAccountModule(accountAddress: MaybeHexString, moduleName: string, query?: { ledgerVersion?: number; }): Promise<Response<Types.MoveModuleBytecode>>; getAccountResources(accountAddress: MaybeHexString, query?: { ledgerVersion?: number; }): Promise<Response<Types.MoveResource[]>>; getAccountResource(accountAddress: MaybeHexString, resourceType: Types.MoveStructTag, query?: { ledgerVersion?: number; }): Promise<Response<Types.MoveResource>>; getEventsByCreationNumber(address: MaybeHexString, creationNumber: number | string, query?: PaginationArgs): Promise<Response<Types.Event[]>>; getEventsByEventHandle(address: MaybeHexString, eventHandleStruct: Types.MoveStructTag, fieldName: string, query?: PaginationArgs): Promise<Response<Types.Event[]>>; getTransactions(query?: PaginationArgs): Promise<Response<Types.Transaction[]>>; getTransactionByHash(txnHash: string): Promise<Response<Types.Transaction>>; getTransactionByVersion(txnVersion: number): Promise<Response<Types.Transaction>>; transactionPending(txnHash: string): Promise<Response<boolean>>; waitForTransactionWithResult(txnHash: string, extraArgs?: { timeoutSecs?: number; checkSuccess?: boolean; }): Promise<Response<Types.Transaction>>; waitForTransaction(txnHash: string, extraArgs?: { timeoutSecs?: number; checkSuccess?: boolean; }): Promise<Response<void>>; getLedgerInfo(): Promise<Response<Types.IndexResponse>>; getChainId(): Promise<Response<number>>; getTableItem(handle: string, data: Types.TableItemRequest, query?: { ledgerVersion?: number; }): Promise<Response<any>>; lookupOriginalAddress(addressOrAuthKey: MaybeHexString): Promise<Response<HexString>>; getBlockByHeight(blockHeight: number, withTransactions?: boolean): Promise<Response<Types.Block>>; getBlockByVersion(version: number, withTransactions?: boolean): Promise<Response<Types.Block>>; }; export declare type IWeb3SuiSDK = { getMoveFunctionArgTypes(objectId: string, moduleName: string, functionName: string): Promise<Response<SuiMoveFunctionArgTypes>>; getNormalizedMoveModulesByPackage(objectId: string): Promise<Response<SuiMoveNormalizedModules>>; getNormalizedMoveModule(objectId: string, moduleName: string): Promise<Response<SuiMoveNormalizedModule>>; getNormalizedMoveFunction(objectId: string, moduleName: string, functionName: string): Promise<Response<SuiMoveNormalizedFunction>>; getNormalizedMoveStruct(objectId: string, moduleName: string, structName: string): Promise<Response<SuiMoveNormalizedStruct>>; getObjectsOwnedByAddress(address: string): Promise<Response<SuiObjectInfo[]>>; getGasObjectsOwnedByAddress(address: string): Promise<Response<SuiObjectInfo[]>>; getObjectsOwnedByObject(objectId: string): Promise<Response<SuiObjectInfo[]>>; getObject(objectId: string): Promise<Response<GetObjectDataResponse>>; getObjectRef(objectId: string): Promise<Response<SuiObjectRef | undefined>>; getObjectBatch(objectIds: string[]): Promise<Response<GetObjectDataResponse[]>>; getTransactionsForObject(objectID: string): Promise<Response<GetTxnDigestsResponse>>; getTransactionsForAddress(addressID: string): Promise<Response<GetTxnDigestsResponse>>; getTransactionWithEffects(digest: TransactionDigest): Promise<Response<SuiTransactionResponse>>; getTransactionWithEffectsBatch(digests: TransactionDigest[]): Promise<Response<SuiTransactionResponse[]>>; executeTransaction(txnBytes: string, signatureScheme: SignatureScheme, signature: string, pubkey: string): Promise<Response<SuiTransactionResponse>>; executeTransactionWithRequestType(txnBytes: string, signatureScheme: SignatureScheme, signature: string, pubkey: string, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; getTotalTransactionNumber(): Promise<Response<number>>; getTransactionDigestsInRange(start: GatewayTxSeqNumber, end: GatewayTxSeqNumber): Promise<Response<GetTxnDigestsResponse>>; getRecentTransactions(count: number): Promise<Response<GetTxnDigestsResponse>>; syncAccountState(address: string): Promise<Response<any>>; getEventsByTransaction(digest: TransactionDigest, count?: number): Promise<Response<SuiEvents>>; getEventsByModule(package_: string, module: string, count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; getEventsByMoveEventStructName(moveEventStructName: string, count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; getEventsBySender(sender: SuiAddress, count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; getEventsByRecipient(recipient: ObjectOwner, count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; getEventsByObject(object: ObjectId, count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; getEventsByTimeRange(count?: number, startTime?: number, endTime?: number): Promise<Response<SuiEvents>>; subscribeEvent(filter: SuiEventFilter, onMessage: (event: SuiEventEnvelope) => void): Promise<Response<SubscriptionId>>; unsubscribeEvent(id: SubscriptionId): Promise<Response<boolean>>; dryRunTransaction(txnBytes: string, signatureScheme: SignatureScheme, signature: string, pubkey: string): Promise<Response<TransactionEffects>>; signAndDryRunTransaction(txBytes: Base64DataBuffer): Promise<Response<TransactionEffects>>; transferObjectDryRun(transaction: TransferObjectTransaction): Promise<Response<TransactionEffects>>; executeMoveCallDryRun(transaction: MoveCallTransaction): Promise<Response<TransactionEffects>>; transferSuiDryRun(transaction: TransferSuiTransaction): Promise<Response<TransactionEffects>>; publishDryRun(transaction: PublishTransaction): Promise<Response<TransactionEffects>>; signData(data: Base64DataBuffer): Promise<Response<SignaturePubkeyPair>>; signAndExecuteTransaction(txBytes: Base64DataBuffer): Promise<Response<SuiTransactionResponse>>; signAndExecuteTransactionWithRequestType(txBytes: Base64DataBuffer, requestType: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; transferObject(transaction: TransferObjectTransaction): Promise<Response<SuiTransactionResponse>>; transferSui(transaction: TransferSuiTransaction): Promise<Response<SuiTransactionResponse>>; pay(transaction: PayTransaction): Promise<Response<SuiTransactionResponse>>; mergeCoin(transaction: MergeCoinTransaction): Promise<Response<SuiTransactionResponse>>; splitCoin(transaction: SplitCoinTransaction): Promise<Response<SuiTransactionResponse>>; executeMoveCall(transaction: MoveCallTransaction): Promise<Response<SuiTransactionResponse>>; publish(transaction: PublishTransaction): Promise<Response<SuiTransactionResponse>>; transferObjectWithRequestType(transaction: TransferObjectTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; transferSuiWithRequestType(transaction: TransferSuiTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; payWithRequestType(transaction: PayTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; mergeCoinWithRequestType(transaction: MergeCoinTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; splitCoinWithRequestType(transaction: SplitCoinTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; executeMoveCallWithRequestType(transaction: MoveCallTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; publishWithRequestType(transaction: PublishTransaction, requestType?: ExecuteTransactionRequestType): Promise<Response<SuiExecuteTransactionResponse>>; }; export declare type IWeb3AptosToken = { createCollection(name: string, description: string, uri: string, maxAmount: number, extraArgs?: OptionalTransactionArgs): Promise<Response<string>>; createToken(collectionName: string, name: string, description: string, supply: number, uri: string, max?: number, royalty_payee_address?: MaybeHexString, royalty_points_denominator?: number, royalty_points_numerator?: number, property_keys?: Array<string>, property_values?: Array<string>, property_types?: Array<string>, extraArgs?: OptionalTransactionArgs): Promise<Response<string>>; offerToken(receiver: MaybeHexString, creator: MaybeHexString, collectionName: string, name: string, amount: number, property_version?: number, extraArgs?: OptionalTransactionArgs): Promise<Response<string>>; claimToken(sender: MaybeHexString, creator: MaybeHexString, collectionName: string, name: string, property_version?: number, extraArgs?: OptionalTransactionArgs): Promise<Response<string>>; cancelTokenOffer(receiver: MaybeHexString, creator: MaybeHexString, collectionName: string, name: string, property_version?: number, extraArgs?: OptionalTransactionArgs): Promise<Response<string>>; getCollectionData(creator: MaybeHexString, collectionName: string): Promise<Response<any>>; getTokenData(creator: MaybeHexString, collectionName: string, tokenName: string): Promise<Response<TokenTypes.TokenData>>; getToken(creator: MaybeHexString, collectionName: string, tokenName: string, property_version: string): Promise<TokenTypes.Token>; getTokenForAccount(account: MaybeHexString, tokenId: TokenTypes.TokenId): Promise<Response<TokenTypes.Token>>; }; export declare type IWeb3Coin = { faucet(address: string, nodeUrl: string, faucetUrl: string): Promise<void>; getCoins(owner: string): Promise<string[]>; getCoinInfo(coinResource: string): Promise<CoinData>; getBalance(owner: string, coinResource: string, coinManagedType: string): Promise<string>; buildTransferCoinPayload(receiver: string, amount: string, coinTypeResource: string, sender: string | undefined): Promise<any>; getPublishedCoinPackages(owner: string): Promise<string[]>; buildMintCoinPayload(receiver: string, amount: string, coinTypeResource: string): Promise<any>; }; export interface PaginationArgs { start?: number; limit?: number; } export declare type CoinData = { coin_type_resource: string; name: string; symbol: string; decimals: number; }; export interface SignMessagePayload { address?: boolean; application?: boolean; chainId?: boolean; message: string; nonce: string; } export interface SignMessageResponse { address: string; application: string; chainId: number; fullMessage: string; message: string; nonce: string; prefix: string; signature: string; } export declare const createReponse: <T>(method: string, status: number, data: T) => Response<T>; //# sourceMappingURL=types.d.ts.map