bump: v1.0.0 - #35
Merged
Merged
bump: v1.0.0#35
Conversation
Major version release of the Nado Rust SDK (0.3.9 -> 1.0.0). Synced from nado-core via export_rust_sdk.py. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
Pull request overview
This PR prepares the Nado Rust SDK for a major release (0.3.9 → 1.0.0) by syncing regenerated code from nado-core, including the migration from ethers → alloy and updated contract bindings.
Changes:
- Migrates signing, EIP-712 hashing, providers, and contract bindings from ethers-based APIs to alloy equivalents.
- Updates execution/deposit flows to use alloy
CallBuildersend semantics and introduces an ethers-compatible pending-tx receipt polling helper. - Expands supported API surface (new tx/query variants and new builder(s) like
MarketNetFeesBuilder).
Reviewed changes
Copilot reviewed 39 out of 48 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/signer.rs | Switches wallet/signing + EIP-712 trait bound to alloy (PrivateKeySigner, NadoEip712), adds wallet parsing test. |
| src/utils/deposit.rs | Ports deposit + ERC20 client wiring to alloy provider/bindings and adds new receipt polling call. |
| src/utils/deployment.rs | Migrates deployment addresses from H160 to alloy Address. |
| src/utils/constants.rs | Adds a new pending-tx retry constant used by alloy receipt polling. |
| src/nado_utils/tx.rs | Reworks EIP-712 digest/domain plumbing around alloy + adds new tx types. |
| src/nado_utils/trigger.rs | Adds a new trigger execute variant (UpdateDependency). |
| src/nado_utils/serialize_utils.rs | Adds strict string-or-u64 deserializer and adjusts some option serializers. |
| src/nado_utils/revert.rs | Replaces ethers revert parsing with alloy-based revert data decoding. |
| src/nado_utils/provider.rs | Large rewrite: alloy provider construction, rate-limit retry policy, fallback transport, nonce/gas filling, receipt polling, and tests. |
| src/nado_utils/mod.rs | Exposes new alloy-related utility modules. |
| src/nado_utils/indexer.rs | Updates primitives to alloy types and adds new queries/responses (e.g. funding rate history, market net fees, xpoints, cash incentives). |
| src/nado_utils/eip712_structs.rs | Removes ethers EIP-712 derives and adjusts binding conversions for alloy types; adds dependency update structs. |
| src/nado_utils/eip712_alloy.rs | New: maps SDK EIP-712 structs into alloy sol! structs to compute signing hashes. |
| src/nado_utils/bindings/token.rs | Replaces ethers abigen output with alloy sol!(#[sol(rpc)]) binding. |
| src/nado_utils/bindings/serde_helpers.rs | New: serde helpers for alloy U256/Address (string/hex formats). |
| src/nado_utils/bindings/mod.rs | Removes ethers Abigen generator code and adds serde helper module. |
| src/nado_utils/bindings/mock_erc20.rs | Replaces ethers abigen output with alloy sol!(#[sol(rpc)]) binding. |
| src/nado_utils/bindings/gas_info.rs | Replaces ethers abigen output with alloy sol!(#[sol(rpc)]) binding. |
| src/nado_utils/alloy_compat.rs | New: conversion helpers between ethers and alloy primitives with tests. |
| src/nado_client.rs | Updates client wallet type + slow-mode submission to alloy call/send/receipt logic. |
| src/core/indexer.rs | Extends indexer trait with get_market_net_fees. |
| src/core/execute.rs | Ports execute flows to alloy endpoint/querier bindings + adds update_dependency trigger helper. |
| src/core/builder.rs | Wires new MarketNetFeesBuilder into the builder trait. |
| src/core/base.rs | Migrates wallet/signing traits and endpoint/querier address types to alloy. |
| src/builders/indexer/subaccounts.rs | Updates subaccounts builder to alloy Address and adds optional dda. |
| src/builders/indexer/mod.rs | Exposes the new market_net_fees builder module. |
| src/builders/indexer/market_net_fees.rs | New builder for Query::MarketNetFees. |
| src/builders/execute/withdraw_collateral.rs | Migrates send_to and address handling to alloy Address. |
| src/builders/execute/transfer_quote.rs | Migrates nonce/address handling to alloy Address. |
| src/builders/execute/slow_mode.rs | Switches ABI encoding helpers to alloy SolValue. |
| src/builders/execute/place_order.rs | Updates digest/signature types to match new [u8;32] digest and alloy hashing. |
| src/builders/execute/mint_nlp.rs | Migrates nonce/address handling to alloy Address. |
| src/builders/execute/liquidate_subaccount.rs | Migrates nonce/address handling to alloy Address. |
| src/builders/execute/deposit_insurance.rs | Switches ABI encoding helper to alloy SolValue. |
| src/builders/execute/deposit_collateral.rs | Updates receipt type import to alloy. |
| src/builders/execute/burn_nlp.rs | Migrates nonce/address handling to alloy Address. |
| README.md | Updates advertised crate version to 1.0.0. |
| Cargo.toml | Bumps package version and migrates dependencies to alloy crates + adds tower-service/dev deps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major version release of the Nado Rust SDK: 0.3.9 → 1.0.0.
Synced from
nado-corevianado-utils/scripts/export_rust_sdk.py. In addition to the version bump, this export picks up the source's migration frometherstoalloyand refreshed contract bindings.Release
After merge, run the release-plz action to publish to crates.io and cut the GitHub release.
Validation
cargo check --all-featurespasses locally against the same dependency versionsnado-corepins (alloy 2.0.5,alloy-sol-types 1.6.0).nodeUrlpoints at the public endpoint.NO_PUBLIC_EXPORTmarkers,admin.rs,test_client, orworkspace-hackreferences remain.Note
A fresh resolve against the latest crates.io versions currently fails to build:
alloy-sol-types 1.6.1makessol!'sall_derivesemitDefault, which collides with the explicit#[derive(Default)]in the generated bindings (andalloy 2.2.0requires rustc ≥1.94). This is pre-existing dependency drift, independent of the version bump — worth addressing separately (pinalloy-sol-types, or drop the explicitDefaultderive).🤖 Generated with Claude Code