Skip to main content
Home

Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score94%
Publisheda year ago (0.2.14)

Solidity ABI to types without codegen. Supports: ethers6

Typed Contracts

Typed Contracts is a TypeScript type library, to create contract types based on ABI data, without any code generation.

Supports: ethers6

Install

jsr.io/@nomadshiba/typed-contracts

Usage

import { TypedContract } from "typed-contracts/types/ethers6"
import { Contract } from "ethers"

export type ERC20Contract = TypedContract<typeof ERC20_abi> & {}
export const ERC20_connect = (address: string, runner: ContractRunner) =>
	new Contract(address, ERC20_abi, runner) as ERC20Contract

export const ERC20_abi = [
	// ...
] as const
Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";
or

Import directly with a jsr specifier

import * as typed_contracts from "jsr:@nomadshiba/typed-contracts";

Add Package

pnpm i jsr:@nomadshiba/typed-contracts
or (using pnpm 10.8 or older)
pnpm dlx jsr add @nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";

Add Package

yarn add jsr:@nomadshiba/typed-contracts
or (using Yarn 4.8 or older)
yarn dlx jsr add @nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";

Add Package

vlt install jsr:@nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";

Add Package

npx jsr add @nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";

Add Package

bunx jsr add @nomadshiba/typed-contracts

Import symbol

import * as typed_contracts from "@nomadshiba/typed-contracts";