Catalog npm
Back to packageRELEASE DETAILS

0.24.0

npm

@0xslots/contracts

Contract ABIs and addresses for 0xSlots protocol

Published8 Sept 2026
Direct dependencies6
Transitive dependenciesNot calculated

README

Current package documentation

@0xslots/contracts

Contract ABIs and addresses for the 0xSlots protocol, generated by wagmi generate from the Foundry build and the deployment records in apps/contracts/deployments.

Installation

pnpm add @0xslots/contracts viem

Usage

import { createPublicClient, http } from "viem";
import { anvil } from "viem/chains";
import { slotFactoryAbi, slotFactoryAddress } from "@0xslots/contracts";

const client = createPublicClient({ chain: anvil, transport: http() });
const factory = slotFactoryAddress[anvil.id]; // Address | undefined

if (factory) {
  // The beacon implementation every slot proxy points at.
  const implementation = await client.readContract({
    address: factory,
    abi: slotFactoryAbi,
    functionName: "implementation",
  });
}

Everything is also exported from @0xslots/contracts/slots.

Exports

ABIs

ExportContract
slotAbiAn individual Slot
slotFactoryAbiSlotFactory — deploys slots behind one beacon
offerBookAbiOfferBook — standing bids and the fill
minimumTenureModuleAbiMinimumTenureModule
adLandAbiAdLand
slotCollectiveAbi, slotCollectiveFactoryAbiSlotCollective — split + role-gated management — and its factory
slotBoundNftAbi, slotBoundNftFactoryAbi, slotBoundNftWrapperAbiSlot-bound NFT collections, their factory, and the wrapper for existing ERC-721s

Addresses

Per-chain maps, typed Partial<Record<number, Address>> — a contract is present on exactly the chains that have a deployment record carrying a version:

slotFactoryAddress, offerBookAddress, minimumTenureModuleAddress, adLandAddress, slotCollectiveFactoryAddress, slotImplementationAddress and slotCollectiveImplementationAddress (the beacon implementations, not individual slots). slotBoundNftFactoryAddress and slotBoundNftWrapperAddress come straight from codegen, which only emits them when a record exists.

deployBlockOf(contract, chainId) returns the block a contract was deployed at — the lower bound for any historical log query — or undefined where there is no record.

Modules

knownModules[chainId] lists the modules a client can offer by name, and findKnownModule(chainId, address) names one or returns undefined. Both are derived from the deployment records, so a module appears on exactly the chains it is deployed to.

Chains

import { CHAINS, DEFAULT_CHAIN, isDeployedOn } from "@0xslots/contracts";

CHAINS is derived from slotFactoryAddress, sorted local, then testnets, then mainnets. Anvil is filtered out unless NODE_ENV === "development" — bundlers inline NODE_ENV, so a production build drops it at compile time. The address maps themselves are unconditional.

Supported networks

The current protocol is not deployed on a public chain yet. pnpm dev:local deploys it to anvil (31337), and pnpm codegen in this package picks those records up. Use the exported values rather than copying an address.

License

MIT

Downloads & popularity

1downloads
7-day window · source-reported counts23 Oct 2026
10.50
2026-10-23: 1 · observed 2026-10-23T12:22:26.9312188Z
23 Oct23 Oct

npm · 1 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2312026-10-23T12:22:26.9312188Z

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
viem
Environment
{
  "local_name": "viem",
  "alias": false,
  "peer_metadata": null
}
2.50.4runtime
tsx
Environment
{
  "local_name": "tsx",
  "alias": false,
  "peer_metadata": null
}
^4.7.3development
tsup
Environment
{
  "local_name": "tsup",
  "alias": false,
  "peer_metadata": null
}
^8.0.0development
@wagmi/cli
Environment
{
  "local_name": "@wagmi/cli",
  "alias": false,
  "peer_metadata": null
}
^2.10.0development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^5.4.4development
@types/node
Environment
{
  "local_name": "@types/node",
  "alias": false,
  "peer_metadata": null
}
^20.10.8development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "3210ef74b06ece7f489a09bc42d0597f24b047d9",
  "tarball": "https://registry.npmjs.org/@0xslots/contracts/-/contracts-0.24.0.tgz",
  "fileCount": 10,
  "integrity": "sha512-cGje+gbmI4HzHk3JRG4OrzJz5DjnDrI7E0zjJW27IVhzDI62QLQsaQgW7IFTwxFCECn7MlugEOV/z6YIW7Hr2g==",
  "signatures": [
    {
      "sig": "MEUCIQDGJBfn3fAN8WBXdgKZa2g+HHc1pj94XsR3MZTR7mbRVAIgP3jBAwEGgXk8/rRQqjS79HtpBb+WeKUAWNlVsrRBiLs=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 962912
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:29 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:05ddea14b569560c00a7c686de0ecec2ecc219bdd90b2ad3eba5af2accbd0dc5

Other collected versions

1.1.030 Sept1.0.030 Sept0.26.011 Sept0.25.09 Sept0.23.07 Sept0.22.015 AugView all collected versions →