@aarc-dev/core-viem
Version:
71 lines (70 loc) • 4.92 kB
TypeScript
import { BalancesData, BalancesResponse, CheckoutDto, CheckoutOnrampParams, CheckoutRouteDto, DepositAddressActivationDto, DepositAddressActivationResponse, DepositCalldataResponse, DepositDto, DepositOnRampParams, DepositRouteDto, ExecuteMigrationForwardDto, ExecuteMigrationGaslessDto, ExecuteMigrationNonGaslessDto, IsTokenSupportedResponse, MoonpayOnRampParams, PriceData, QrCodeDepositAddressDto, QrCodeDepositAddressResponse, RelayedTxListResponse, RoutingRequestDto, RoutingRequestDtoFromAmount, RoutingRequestResponseDto, RoutingRequestResponseDtoFromAmount, SupportedChainInfo, SupportedTokensResponse, TrxStatusResponse, KadoOnRampParams, DepositAddressData, StatusResponseDto, DepositAddressDTO } from "./utils/CoreTypes";
export declare class AarcCore {
apiKey: string;
constructor(apiKey: string, isDebug?: boolean);
executeMigrationGasless(executeMigrationGaslessDto: ExecuteMigrationGaslessDto): Promise<RelayedTxListResponse[]>;
/**
* @description this function will return balances of ERC-20, ERC-721 and native tokens
* @param balancesDto
* @returns
*/
fetchBalances(eoaAddress: string, chainId: number, fetchBalancesOnly?: boolean, tokenAddresses?: string[]): Promise<BalancesResponse>;
/**
* @description this function will return balances of ERC-20, ERC-721 and native tokens
* if given destinationToken then it will return amount required to convert to that token
* @param eoaAddress wallet address
* @param destinationToken token details to get balances
* @returns
*/
fetchMultiChainBalances(eoaAddress: string, destinationToken?: {
tokenAddress: string;
tokenChainId: number;
tokenAmount?: string;
}): Promise<BalancesData>;
fetchTokenPrice(tokenSymbol: string, tokenAddress?: string, tokenChainId?: string): Promise<PriceData>;
isTokenSupported(chainId: number, tokenAddress: string): Promise<IsTokenSupportedResponse>;
getSupportedTokens(chainId: number): Promise<SupportedTokensResponse>;
getSupportedChains(): Promise<SupportedChainInfo>;
executeMigration(executeMigrationNonGaslessDto: ExecuteMigrationNonGaslessDto): Promise<RelayedTxListResponse[]>;
performDeposit(depositDto: DepositDto): Promise<RelayedTxListResponse[]>;
performCheckout(depositDto: CheckoutDto): Promise<RelayedTxListResponse[]>;
getDepositRoute(depositRouteDto: DepositRouteDto): Promise<DepositCalldataResponse>;
getCheckoutRoute(checkoutRouteDto: CheckoutRouteDto): Promise<import("./utils").CheckoutCalldataResponse>;
executeMigrationForward(executeMigrationForwardDto: ExecuteMigrationForwardDto): Promise<RelayedTxListResponse[]>;
getTransactionStatus(taskId: string): Promise<TrxStatusResponse>;
generateDepositOnrampUrl(onrampData: DepositOnRampParams): Promise<string | Error>;
generateCheckoutOnrampUrl(onrampData: CheckoutOnrampParams): Promise<string | Error>;
generateMoonpayOnrampUrl(onrampData: MoonpayOnRampParams): Promise<string | Error>;
generateKadoOnrampUrl(onrampData: KadoOnRampParams): Promise<string | Error>;
getDepositAddress({ toAmount, provider, gasLimit, slippage, routeType, fromAmount, userOpHash, fromChainId, fromAddress, transferOut, transferType, targetCalldata, userOperations, fromTokenAddress, destinationChainId, destinationRecipient, destinationTokenAddress, dappId, userId, refundAddress, }: DepositAddressDTO): Promise<DepositAddressData>;
/**
* @description Get deposit address for routing requests with toAmount
* @param routingRequestDto
* @returns RoutingRequestResponseDto
*/
getRoutingRequestDepositAddress(routingRequestDto: RoutingRequestDto): Promise<RoutingRequestResponseDto>;
/**
* @description Get deposit address for routing requests with fromAmount
* @param routingRequestDto
* @returns RoutingRequestResponseDtoFromAmount
*/
getRoutingRequestDepositAddressFromAmount(routingRequestDto: RoutingRequestDtoFromAmount): Promise<RoutingRequestResponseDtoFromAmount>;
postExecuteToAddress({ depositData, trxHash, }: {
depositData: DepositAddressData | RoutingRequestResponseDtoFromAmount;
trxHash: string;
}): Promise<void>;
getRequestStatus: (requestId: string) => Promise<StatusResponseDto>;
/**
* @description Get QR code deposit address for simple deposit requests
* @param qrCodeDepositAddressDto
* @returns QrCodeDepositAddressResponse
*/
getQrCodeDepositAddress(qrCodeDepositAddressDto: QrCodeDepositAddressDto): Promise<QrCodeDepositAddressResponse>;
/**
* @description Activate deposit address for QR flow
* @param depositAddressActivationDto
* @returns DepositAddressActivationResponse
*/
activateDepositAddress(depositAddressActivationDto: DepositAddressActivationDto): Promise<DepositAddressActivationResponse>;
}
export default AarcCore;