All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Include ERC20 and ERC721 token transfer information into transaction content.
- Add support for reading from smart contracts.
- Add
deploy_nft
support for deploying ERC721 contracts from MPC / dev-managed wallets. - Add
deploy_multi_token
support for deploying ERC1155 contracts from MPC / dev-managed wallets. - Add
createWebhook
method toWallet
to deploy a wallet activity webhook, updatedWebhook
class to disallow users from specifying webhook signature. Webhook signature is now generated by the API.
- Add
deploy_token
support for deploying ERC20 tokens from MPC / dev-managed wallets. - Allow for calling
invoke_contract
without an ABI for known contract types (ERC20, ERC721, and ERC1155). - Fix handling when invoking a contract that is not-payable.
- Add Arbitrum-Mainnet support for Native transfers.
- Add optional arguments to allow setting amount for payable contract method invocations
- Add support for listing address transactions.
- Add support for creating arbitrary payload signatures.
- Add support for invoking Smart Contracts using MPC and Developer-managed Wallets.
- USDC Faucet support on Base-Sepolia
- Doc updates for staking
- Incorrect stake client api being used for staking_operation.complete when calling
broadcast_staking_operation
- Expose all networks as constants, e.g.
Coinbase::Network::ETHEREUM_MAINNET
- Add support for managing Webhooks.
- Add support for listing smart contract events.
- Add support for Dedicated ETH Staking for wallet addresses
- All method signatures that took a
network_id
now take anetwork
that can be either a network constant (e.g.Coinbase::Network::BASE_MAINNET
) or a network ID (e.g.:base_mainnet
)
- Add to_address_id method to Transaction class
- Remove "pending" status from staking operation status
- Add support for gasless transfers. Initially only supporting USDC sends on Base mainnet.
- Add support for list historical balances for an asset of an address.
- Add support for Ethereum-Mainnet and Polygon-Mainnet
- Add support for retrieving historical staking balances information
- Add USD value conversion details to the StakingReward object
- Support for Shared ETH Staking for Wallet Addresses
unsigned_payload
,signed_payload
,status
, andtransaction_hash
in-line fields onTransfer
are deprecated in favor of those onTransaction
- Add support for trade with MPC Server-Signer
- Add support for Dedicated ETH Staking for external addresses
- Add support for listing validator details and fetch details of a specific validator
- Improved accessibility for
StakingReward
andStakingOperation
classes
- Support external addresses for balance fetching and requesting faucet funds.
- Support for building staking operations and transactions
- Support for retrieving staking rewards information
- Add support for listing address trades via
address.trades
- Migrate to enumerator pattern for listing address transfers via
address.transfers
- Remove unused
base_sepolia_rpc_url
configuration option. - Support assets dynamically from the backend without SDK changes.
- Ability to trade assets from wallet and addresses
- Note: Only supported on
base-mainnet
, not onbase-sepolia
.
- Note: Only supported on
base-mainnet
network support- Note: Faucet functionality is not supported.
- Note: Server signer functionality is not yet supported.
- ServerSigner object
- Ability to get default Server-Signer
- Server-Signer feature: ability to create wallets backed by server signers and create transfers with them.
- Changed save_wallet to save_seed
- Changed load_wallets to load_seed and moved at wallet level
wallets
method on the User class- Ability to hydrate wallets (i.e. set the seed on it)
- Ability to create wallets backed by server signers.
- Note: External developers cannot use this until we enable them to create and run them.
- Refactor methods to be more idiomatic for Ruby.
- Allow storing seeds in local file system
- Coinbase.configure_from_file
- Faucet
- Individual private key export
- Allow disabling debug tracing
- Error specifications
- WETH ERC-20
- Configuration via Config object
- API Key-based authentication
- API clients to use server-side architecture
- User object and default_user
- Send and receive ERC-20s
Initial release of the Coinbase Ruby SDK. Purely client-side implementation.
- Wallet creation and export
- Address creation
- Send and receive ETH
- Supported networks: Base Sepolia