UNPKG

@arcana/ca-sdk

Version:

Arcana Network's chain abstraction SDK for unified balance in Web3 apps

29 lines (28 loc) 2.31 kB
import { Currency } from "@arcana/ca-common"; import { Account, Address, PublicClient, WalletClient, WebSocketTransport } from "viem"; import { ChainList } from "../chains"; import { Chain, EVMTransaction, NetworkConfig } from "../typings"; declare const isEVMTx: (tx: unknown) => tx is EVMTransaction; declare const getAllowance: (chain: Chain, address: `0x${string}`, tokenContract: `0x${string}`, chainList: ChainList) => Promise<bigint>; declare const getAllowances: (input: { chainID: number; tokenContract: `0x${string}`; }[], address: `0x${string}`, chainList: ChainList) => Promise<{ [k: number]: bigint; }>; declare const waitForIntentFulfilment: (publicClient: PublicClient<WebSocketTransport>, vaultContractAddr: `0x${string}`, requestHash: `0x${string}`, ac: AbortController) => Promise<unknown>; declare const requestTimeout: (timeout: number, ac: AbortController) => Promise<unknown>; declare const getTokenTxFunction: (data: `0x${string}`) => { args: readonly [] | readonly [`0x${string}`] | readonly [`0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`] | readonly [`0x${string}`, `0x${string}`, bigint]; functionName: "symbol" | "name" | "decimals" | "transfer" | "allowance" | "approve" | "totalSupply" | "transferFrom" | "balanceOf"; } | { args: never[]; functionName: string; }; declare const setAllowances: (tokenContractAddresses: Array<`0x${string}`>, client: WalletClient, networkConfig: NetworkConfig, chainList: ChainList, chain: Chain, amount: bigint) => Promise<void>; declare const getL1Fee: (chain: Chain, input?: `0x${string}`) => Promise<bigint>; declare const waitForTxReceipt: (hash: `0x${string}`, publicClient: PublicClient) => Promise<void>; declare const switchChain: (client: WalletClient, chain: Chain) => Promise<void>; declare function signPermitForAddressAndValue(cur: Currency, client: WalletClient, publicClient: PublicClient, account: Account, spender: Address, value: bigint, deadline?: bigint): Promise<`0x${string}`>; declare const createPublicClientWithFallback: (chain: Chain) => PublicClient; export { createPublicClientWithFallback, getAllowance, getAllowances, getL1Fee, getTokenTxFunction, isEVMTx, requestTimeout, setAllowances, signPermitForAddressAndValue, switchChain, waitForIntentFulfilment, waitForTxReceipt, };