@uzolabs/sdk/contracts, instead of copying them from an explorer.
Early release. This is published in
@uzolabs/sdk 0.2.0 on npm and you can use it today. The API may change before 1.0, so pin the version.What’s in the module
Why it helps
- Typed per network.
getAddresses(968)returns only the keys that exist on testnet, as literal address types. If you use a contract that doesn’t exist on that network, TypeScript catches it before you run anything. - ABIs that match the chain. Each ABI is fetched from BOTScan, and CI fails if it drifts. Because the ABIs are declared
as const, viem can infer function names, arguments and return types. - One source of truth. The Contract addresses page and the SDK list the same addresses. When an address changes, updating the SDK version picks it up.
How it works
quote.ts
Output
Next steps
Addresses
Every key on each network.
ABIs
What’s included and where it comes from.
Constants
Resource ID, decimals, bridge gateways.