UNPKG

loopso-bridge-sdk

Version:
268 lines (261 loc) 8.09 kB
import { ethers, TransactionResponse, Contract } from 'ethers'; type ChainName = "ethereum" | "polygon" | "lukso"; type Token = { name: string; symbol: string; mint: string; contract: string; chainId: number; wChainId?: number; decimals: number; logoURI: string; coingeckoId: string; realOriginChainId?: number; realOriginContractAddress?: string; }; interface ContractInstance { contract: ethers.Contract; } type WrappedTokenInfo = { tokenAddress: string; srcChain: number; tokenType: number; decimals: number; symbol: string; name: string; wrappedTokenAddress: string; }; declare function bridgeTokens(contractAddressSrc: string, signer: ethers.Signer, tokenAddress: string, amount: bigint, dstAddress: string, dstChain: number): Promise<TransactionResponse | null>; declare function bridgeNonFungibleTokens(contractAddressSrc: string, signer: ethers.Signer, tokenAddress: string, dstAddress: string, dstChain: number, tokenId: number, tokenUri: string): Promise<any | null>; declare function getAllSupportedTokens(contractAddress: string, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider): Promise<any>; declare function getFee(contractAddress: string, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider, isFungible: boolean): Promise<number>; declare function isTokenSupported(contractAddressDst: string, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider, tokenAddress: string, srcChain: number): Promise<boolean>; declare function getWrappedTokenInfo(contractAddressOnSrc: string, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider, wrappedTokenAddress: string): Promise<WrappedTokenInfo>; declare function wrapNativeToken(signerOrProvider: ethers.Signer | ethers.JsonRpcProvider, chainId: number, amount: bigint): Promise<any>; declare function unwrapNativeToken(signerOrProvider: ethers.Signer | ethers.JsonRpcProvider, chainId: number, amount: bigint): Promise<any>; declare const ADDRESSES: { LOOPSO_LUKSO_CONTRACT_ADDRESS: string; LOOPSO_MUMBAI_CONTRACT_ADDRESS: string; LAJOS_TOKEN_ADDRESS_MUMBAI: string; LAJOS_NFT_ADDRESS_MUMBAI: string; WRAPPED_MATIC_ADDRESS_MUMBAI: string; LAJOS_TOKEN_ADDRESS_WRAPPED_LUKSO: string; LAJOS_NFT_ADDRESS_WRAPPED_LUKSO: string; WRAPPED_LYX_ADDRESS_LUKSO: string; }; declare const LOOPSO_ABI: ({ inputs: any[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { components: { internalType: string; name: string; type: string; }[]; internalType: string; name: string; type: string; }[]; name: string; outputs: any[]; stateMutability: string; type: string; anonymous?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: ({ components: { internalType: string; name: string; type: string; }[]; internalType: string; name: string; type: string; } | { internalType: string; name: string; type: string; components?: undefined; })[]; stateMutability: string; type: string; anonymous?: undefined; })[]; declare const ERC20_ABI: ({ constant: boolean; inputs: { name: string; type: string; }[]; name: string; outputs: { name: string; type: string; }[]; payable: boolean; stateMutability: string; type: string; anonymous?: undefined; } | { payable: boolean; stateMutability: string; type: string; constant?: undefined; inputs?: undefined; name?: undefined; outputs?: undefined; anonymous?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; name: string; type: string; }[]; name: string; type: string; constant?: undefined; outputs?: undefined; payable?: undefined; stateMutability?: undefined; })[]; declare const ERC721_ABI: ({ inputs: any[]; payable: boolean; stateMutability: string; type: string; anonymous?: undefined; name?: undefined; constant?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; payable?: undefined; stateMutability?: undefined; constant?: undefined; outputs?: undefined; } | { constant: boolean; inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; payable: boolean; stateMutability: string; type: string; anonymous?: undefined; })[]; declare const WRAPPED_ABI: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; name?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; } | { stateMutability: string; type: string; inputs?: undefined; anonymous?: undefined; name?: undefined; outputs?: undefined; })[]; declare const FEE_ABI: string[]; declare function checkTokenAllowance(signer: ethers.Signer, tokenContract: ethers.Contract, contractAddressSrc: string, convertedAmount: bigint): Promise<void>; declare function getAttestationIDHash(wrappedTokenAddr: string, dstChainId: number): string; declare function checkNftApproval(signer: ethers.Signer, erc721Contract: ethers.Contract, contractAddressSrc: string, tokenId: number): Promise<string | null>; declare function getLoopsoContractFromChainId(chainId: number, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider): Contract | null; declare function getLoopsoContractFromContractAddr(contractAddress: string, signerOrProvider: ethers.Signer | ethers.JsonRpcProvider): Contract | null; declare function getContractAddressFromChainId(chainId: number): string | null; interface NftMetadata { id: string; contractAddress: string; metadata: { description: string; image: string; name: string; }; } declare const getLuksoNftMetadata: (filteredData: any[]) => Promise<NftMetadata[] | null>; declare const fetchLuksoNfts: (searchText: string) => Promise<NftMetadata[] | null>; export { ADDRESSES, ChainName, ContractInstance, ERC20_ABI, ERC721_ABI, FEE_ABI, LOOPSO_ABI, NftMetadata, Token, WRAPPED_ABI, WrappedTokenInfo, bridgeNonFungibleTokens, bridgeTokens, checkNftApproval, checkTokenAllowance, fetchLuksoNfts, getAllSupportedTokens, getAttestationIDHash, getContractAddressFromChainId, getFee, getLoopsoContractFromChainId, getLoopsoContractFromContractAddr, getLuksoNftMetadata, getWrappedTokenInfo, isTokenSupported, unwrapNativeToken, wrapNativeToken };