import { createPublicClient, http } from 'viem';
import { sei } from 'viem/chains';
import {
POINTERVIEW_PRECOMPILE_ABI,
POINTERVIEW_PRECOMPILE_ADDRESS,
} from '@sei-js/precompiles';
const client = createPublicClient({ chain: sei, transport: http() });
// CW20 → ERC-20 pointer
const erc20Pointer = await client.readContract({
address: POINTERVIEW_PRECOMPILE_ADDRESS,
abi: POINTERVIEW_PRECOMPILE_ABI,
functionName: 'getCW20Pointer',
args: ['sei1...cw20ContractAddress'],
});
// CW721 → ERC-721 pointer
const erc721Pointer = await client.readContract({
address: POINTERVIEW_PRECOMPILE_ADDRESS,
abi: POINTERVIEW_PRECOMPILE_ABI,
functionName: 'getCW721Pointer',
args: ['sei1...cw721ContractAddress'],
});
// Native denom → ERC-20 pointer
const nativePointer = await client.readContract({
address: POINTERVIEW_PRECOMPILE_ADDRESS,
abi: POINTERVIEW_PRECOMPILE_ABI,
functionName: 'getNativePointer',
args: ['usei'],
});