@luffalab/luffa-endless-sdk
Version:
luffa endless ts sdk
48 lines (38 loc) • 1.35 kB
text/typescript
import { Network, NetworkInfo } from '../types'
export const NetworkToChainId: Record<string, number> = {
mainnet: 220,
testnet: 221,
local: 223,
devnet: 11
};
export const NetworkToNetworkName: Record<string, Network> = {
mainnet: Network.MAINNET,
testnet: Network.TESTNET
};
export const NetworkToNodeAPI: Record<string, string> = {
mainnet: "https://rpc.endless.link/v1",
testnet: "https://rpc-test.endless.link/v1",
devnet: "https://rpc-testnet.endless.link/v1",
local: "http://127.0.0.1:8080/v1",
};
export const getNetworkInfo = (network: string): NetworkInfo => {
return {
name: NetworkToNetworkName[network] ?? network,
chainId: NetworkToChainId[network],
url: NetworkToNodeAPI[network],
}
}
export const isLuffa = () => {
return window && window?._endlessWallet !== undefined || window?.webkit?.messageHandlers?._endlessWallet !== undefined || false;
}
export const isLuffaMiniProgramWebview = () => {
const userAgent = window && window?.navigator?.userAgent || '';
return userAgent.includes('miniProgram');
}
export const isLuffaMiniProgram = () => {
return window?.wx && window?.wx?.canIUse || false;
}
export const networkMap: Partial<Record<Network | string, string>> = {
[Network.MAINNET]: 'endless',
[Network.TESTNET]: 'eds',
}