npm.io
1.0.0 • Published 12h ago

@gitmyabi/pepu

Licence
MIT
Version
1.0.0
Deps
1
Size
79 kB
Vulns
0
Weekly
0

@gitmyabi/pepu

Auto-generated TypeScript type bindings for PEPU

  • Build ID: etherscan-pepu-add39272-1787383940149
  • Build Number: 1
  • Commit: bb96a3d
  • Branch: etherscan
  • Target: ethers-v6
  • Contracts: 1

Installation

npm install @gitmyabi/pepu@1.0.0

Usage

Class-based API (TypeChain-like)
import { createPublicClient, createWalletClient, http } from 'viem';
import { mainnet } from 'viem/chains';
import { YourContract } from '@gitmyabi/pepu';

const publicClient = createPublicClient({ chain: mainnet, transport: http() });
const walletClient = createWalletClient({ chain: mainnet, transport: http() });

// Create contract instance
const contract = new YourContract('0x...', { publicClient, walletClient });

// Read functions - call directly like TypeChain!
const result = await contract.yourMethod(param1, param2);

// Write functions - also call directly!
const hash = await contract.transfer('0x...', 1000n);
With viem directly
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
import { YourContractAbi } from '@gitmyabi/pepu';

const client = createPublicClient({
  chain: mainnet,
  transport: http(),
});

// Fully typed contract read
const result = await client.readContract({
  address: '0x...',
  abi: YourContractAbi,
  functionName: 'yourMethod',
  args: [param1, param2],
});

// Fully typed contract write
const hash = await client.writeContract({
  address: '0x...',
  abi: YourContractAbi,
  functionName: 'yourMethod',
  args: [param1, param2],
});
With wagmi
import { useReadContract, useWriteContract } from 'wagmi';
import { YourContractAbi } from '@gitmyabi/pepu';

function MyComponent() {
  const { data } = useReadContract({
    address: '0x...',
    abi: YourContractAbi,
    functionName: 'yourMethod',
    args: [param1, param2],
  });

  const { writeContract } = useWriteContract();
  
  const handleWrite = () => {
    writeContract({
      address: '0x...',
      abi: YourContractAbi,
      functionName: 'yourMethod',
      args: [param1, param2],
    });
  };

  return <button onClick={handleWrite}>Call Contract</button>;
}

Type Safety

This package provides full TypeScript type safety for all contract methods, events, and parameters using viem's type system. All ABIs are exported as const assertions for maximum type inference.

Generated Contracts

This package includes type bindings for 1 contract(s) generated from ABI artifacts.

License

MIT

Keywords