Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions end_to_end_tests/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0](https://github.com/dfinity/sol-rpc-canister/releases/tag/sol_rpc_e2e_tests-v1.0.0) - 2025-07-31

### Added

- [**breaking**] add `try_send` method to SOL RPC client ([#187](https://github.com/dfinity/sol-rpc-canister/pull/187))
- add client method to estimate recent blockhash ([#121](https://github.com/dfinity/sol-rpc-canister/pull/121))
- add client method to sign a transaction ([#113](https://github.com/dfinity/sol-rpc-canister/pull/113))

### Other

- migrate dependencies to `solana-sdk` repository ([#55](https://github.com/dfinity/sol-rpc-canister/pull/55))
- add `Cargo.toml` linting to CI pipeline ([#155](https://github.com/dfinity/sol-rpc-canister/pull/155))
- update dependencies and bump version ([#145](https://github.com/dfinity/sol-rpc-canister/pull/145))
- durable nonce end-to-end test ([#124](https://github.com/dfinity/sol-rpc-canister/pull/124))
- add client builder helper methods for `RpcConfig` ([#133](https://github.com/dfinity/sol-rpc-canister/pull/133))
- bump version and use a release notes template ([#130](https://github.com/dfinity/sol-rpc-canister/pull/130))
- use threshold signing in end-to-end tests ([#114](https://github.com/dfinity/sol-rpc-canister/pull/114))
- end-to-end tests for `sendTransaction` ([#104](https://github.com/dfinity/sol-rpc-canister/pull/104))
50 changes: 50 additions & 0 deletions examples/basic_solana/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0](https://github.com/dfinity/sol-rpc-canister/releases/tag/basic_solana-v1.0.0) - 2025-07-31

### Added

- add client method to estimate recent blockhash ([#121](https://github.com/dfinity/sol-rpc-canister/pull/121))
- method to extract durable nonce from account ([#117](https://github.com/dfinity/sol-rpc-canister/pull/117))
- add client method to sign a transaction ([#113](https://github.com/dfinity/sol-rpc-canister/pull/113))
- add support for `getTokenAccountBalance` RPC method ([#90](https://github.com/dfinity/sol-rpc-canister/pull/90))
- default commitment level for `SolRpcClient` ([#77](https://github.com/dfinity/sol-rpc-canister/pull/77))
- Support method `getBalance` ([#74](https://github.com/dfinity/sol-rpc-canister/pull/74))
- add `sendTransaction` RPC method ([#59](https://github.com/dfinity/sol-rpc-canister/pull/59))
- Implement getSlot RPC method ([#33](https://github.com/dfinity/sol-rpc-canister/pull/33))
- basic Solana wallet example ([#1](https://github.com/dfinity/sol-rpc-canister/pull/1))

### Fixed

- use correct Token Program for SPL in `basic_solana` ([#128](https://github.com/dfinity/sol-rpc-canister/pull/128))

### Other

- improvements to SOL RPC docs ([#158](https://github.com/dfinity/sol-rpc-canister/pull/158))
- add `Custom` Solana network to `basic_solana` canister ([#171](https://github.com/dfinity/sol-rpc-canister/pull/171))
- migrate dependencies to `solana-sdk` repository ([#55](https://github.com/dfinity/sol-rpc-canister/pull/55))
- add build requirements to READMEs and rustdoc ([#169](https://github.com/dfinity/sol-rpc-canister/pull/169))
- more links ([#168](https://github.com/dfinity/sol-rpc-canister/pull/168))
- improve `basic_solana` Candid documentation ([#161](https://github.com/dfinity/sol-rpc-canister/pull/161))
- use build script for `basic_solana` deployment ([#156](https://github.com/dfinity/sol-rpc-canister/pull/156))
- add support for running `basic_solana` locally and on mainnet ([#91](https://github.com/dfinity/sol-rpc-canister/pull/91))
- update dependencies and bump version ([#145](https://github.com/dfinity/sol-rpc-canister/pull/145))
- add client builder helper methods for `RpcConfig` ([#133](https://github.com/dfinity/sol-rpc-canister/pull/133))
- use 2-out-of-3 threshold consensus for `basic_solana` ([#132](https://github.com/dfinity/sol-rpc-canister/pull/132))
- bump version and use a release notes template ([#130](https://github.com/dfinity/sol-rpc-canister/pull/130))
- update Rust and libraries ([#126](https://github.com/dfinity/sol-rpc-canister/pull/126))
- [**breaking**] use secure primitive types for `Pubkey`, `Signature` and `Hash` ([#98](https://github.com/dfinity/sol-rpc-canister/pull/98))
- remove unused `serde_json` dependency in `basic_solana` ([#94](https://github.com/dfinity/sol-rpc-canister/pull/94))
- clean-up TODOs ([#81](https://github.com/dfinity/sol-rpc-canister/pull/81))
- transfer of SPL token in `basic_solana` ([#78](https://github.com/dfinity/sol-rpc-canister/pull/78))
- integration tests for the `basic_solana` example ([#75](https://github.com/dfinity/sol-rpc-canister/pull/75))
- use SOL RPC canister in `basic_solana` example ([#69](https://github.com/dfinity/sol-rpc-canister/pull/69))
- *(deps)* Bump base64 from 0.13.1 to 0.22.1 ([#11](https://github.com/dfinity/sol-rpc-canister/pull/11))
- *(deps)* use new ic-ed25519 crate ([#7](https://github.com/dfinity/sol-rpc-canister/pull/7))
76 changes: 76 additions & 0 deletions integration_tests/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0](https://github.com/dfinity/sol-rpc-canister/releases/tag/sol_rpc_int_tests-v1.0.0) - 2025-07-31

### Added

- [**breaking**] add `try_send` method to SOL RPC client ([#187](https://github.com/dfinity/sol-rpc-canister/pull/187))
- Select supported providers based on successful responses ([#183](https://github.com/dfinity/sol-rpc-canister/pull/183))
- add client method to estimate recent blockhash ([#121](https://github.com/dfinity/sol-rpc-canister/pull/121))
- add support for `transactionDetails=accounts` ([#139](https://github.com/dfinity/sol-rpc-canister/pull/139))
- add support for `rewards` parameter for `getBlock` ([#135](https://github.com/dfinity/sol-rpc-canister/pull/135))
- add client method to sign a transaction ([#113](https://github.com/dfinity/sol-rpc-canister/pull/113))
- Candid NonZeroU8 ([#108](https://github.com/dfinity/sol-rpc-canister/pull/108))
- add support for `getSignaturesForAddress` ([#106](https://github.com/dfinity/sol-rpc-canister/pull/106))
- add support for `getSignatureStatuses` RPC method ([#96](https://github.com/dfinity/sol-rpc-canister/pull/96))
- Add support for `getRecentPrioritizationFees` ([#92](https://github.com/dfinity/sol-rpc-canister/pull/92))
- add support for `getTokenAccountBalance` RPC method ([#90](https://github.com/dfinity/sol-rpc-canister/pull/90))
- Support method `getBalance` ([#74](https://github.com/dfinity/sol-rpc-canister/pull/74))
- add support for `getTransaction` RPC method ([#68](https://github.com/dfinity/sol-rpc-canister/pull/68))
- add `getBlock` RPC method ([#53](https://github.com/dfinity/sol-rpc-canister/pull/53))
- add `sendTransaction` RPC method ([#59](https://github.com/dfinity/sol-rpc-canister/pull/59))
- cycles cost ([#52](https://github.com/dfinity/sol-rpc-canister/pull/52))
- add `getAccountInfo` RPC method ([#49](https://github.com/dfinity/sol-rpc-canister/pull/49))
- client builder ([#54](https://github.com/dfinity/sol-rpc-canister/pull/54))
- round result from `getSlot` RPC method ([#48](https://github.com/dfinity/sol-rpc-canister/pull/48))
- use `canhttp` `multi` feature ([#46](https://github.com/dfinity/sol-rpc-canister/pull/46))
- Implement a method for making generic RPC request ([#39](https://github.com/dfinity/sol-rpc-canister/pull/39))
- Implement getSlot RPC method ([#33](https://github.com/dfinity/sol-rpc-canister/pull/33))
- add logging crate ([#13](https://github.com/dfinity/sol-rpc-canister/pull/13))
- add support for override providers ([#12](https://github.com/dfinity/sol-rpc-canister/pull/12))
- Add support for API keys ([#10](https://github.com/dfinity/sol-rpc-canister/pull/10))
- hard-code SOL RPC providers ([#9](https://github.com/dfinity/sol-rpc-canister/pull/9))

### Fixed

- missing `TraceHttp` logs ([#129](https://github.com/dfinity/sol-rpc-canister/pull/129))

### Other

- do not record metrics for requests with insufficient cycles ([#184](https://github.com/dfinity/sol-rpc-canister/pull/184))
- require HTTP outcall base fee ([#185](https://github.com/dfinity/sol-rpc-canister/pull/185))
- add more metrics ([#144](https://github.com/dfinity/sol-rpc-canister/pull/144))
- migrate dependencies to `solana-sdk` repository ([#55](https://github.com/dfinity/sol-rpc-canister/pull/55))
- integration test for fetching metrics ([#143](https://github.com/dfinity/sol-rpc-canister/pull/143))
- update dependencies and bump version ([#145](https://github.com/dfinity/sol-rpc-canister/pull/145))
- Revisit response size estimates ([#147](https://github.com/dfinity/sol-rpc-canister/pull/147))
- add missing documentation for `getTransaction` ([#137](https://github.com/dfinity/sol-rpc-canister/pull/137))
- add helper methods for request builders ([#136](https://github.com/dfinity/sol-rpc-canister/pull/136))
- add client builder helper methods for `RpcConfig` ([#133](https://github.com/dfinity/sol-rpc-canister/pull/133))
- bump version and use a release notes template ([#130](https://github.com/dfinity/sol-rpc-canister/pull/130))
- update Rust and libraries ([#126](https://github.com/dfinity/sol-rpc-canister/pull/126))
- add Chainstack RPC provider ([#118](https://github.com/dfinity/sol-rpc-canister/pull/118))
- end-to-end tests for `sendTransaction` ([#104](https://github.com/dfinity/sol-rpc-canister/pull/104))
- [**breaking**] use secure primitive types for `Pubkey`, `Signature` and `Hash` ([#98](https://github.com/dfinity/sol-rpc-canister/pull/98))
- use default commitment for client in `solana_test_validator.rs` ([#97](https://github.com/dfinity/sol-rpc-canister/pull/97))
- add integration test for `getTokenAccountBalance` ([#95](https://github.com/dfinity/sol-rpc-canister/pull/95))
- integration test for `verifyApiKey` ([#82](https://github.com/dfinity/sol-rpc-canister/pull/82))
- use `canlog_derive` and `canlog` from crates.io ([#84](https://github.com/dfinity/sol-rpc-canister/pull/84))
- *(http-types)* Remove http_types module and use external ic-http-types crate ([#73](https://github.com/dfinity/sol-rpc-canister/pull/73))
- use SOL RPC canister to fetch blockhash in integration test ([#67](https://github.com/dfinity/sol-rpc-canister/pull/67))
- use constant size JSON-RPC request ID ([#62](https://github.com/dfinity/sol-rpc-canister/pull/62))
- add NOTICE to Apache license ([#60](https://github.com/dfinity/sol-rpc-canister/pull/60))
- Forward calls through wallet canister ([#40](https://github.com/dfinity/sol-rpc-canister/pull/40))
- Add some tested RPC providers for Solana Mainnet and Devnet ([#15](https://github.com/dfinity/sol-rpc-canister/pull/15))
- Streamline providers ([#32](https://github.com/dfinity/sol-rpc-canister/pull/32))
- e2e test with Solana test validator ([#20](https://github.com/dfinity/sol-rpc-canister/pull/20))
- *(deps)* update Pocket IC ([#31](https://github.com/dfinity/sol-rpc-canister/pull/31))
- update rust toolchain to 1.85 ([#21](https://github.com/dfinity/sol-rpc-canister/pull/21))
- initial cargo workspace and build pipeline ([#2](https://github.com/dfinity/sol-rpc-canister/pull/2))
19 changes: 19 additions & 0 deletions libs/client/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.0.0](https://github.com/dfinity/sol-rpc-canister/compare/sol_rpc_client-v1.0.0...sol_rpc_client-v2.0.0) - 2025-07-31

### Added

- [**breaking**] add `try_send` method to SOL RPC client ([#187](https://github.com/dfinity/sol-rpc-canister/pull/187))

### Fixed

- use correct fee for t-sig with local development key ([#160](https://github.com/dfinity/sol-rpc-canister/pull/160))

### Other

- revert `sol_rpc_client` bump ([#178](https://github.com/dfinity/sol-rpc-canister/pull/178))
- migrate dependencies to `solana-sdk` repository ([#55](https://github.com/dfinity/sol-rpc-canister/pull/55))
- add build requirements to READMEs and rustdoc ([#169](https://github.com/dfinity/sol-rpc-canister/pull/169))
- bump `sol_rpc_client` to `v1.0.1` ([#164](https://github.com/dfinity/sol-rpc-canister/pull/164))
- enable `ed25519` feature in docs ([#162](https://github.com/dfinity/sol-rpc-canister/pull/162))
- add `Cargo.toml` linting to CI pipeline ([#155](https://github.com/dfinity/sol-rpc-canister/pull/155))

## [1.0.0] - 2025-06-13

### Added
Expand Down
4 changes: 2 additions & 2 deletions libs/client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sol_rpc_client"
version = "1.0.0"
version = "2.0.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it need to be a major upgrade for the client? I guess the struct with the breaking change is exposed by the client.

description = "Client to interact with the SOL RPC canister"
authors.workspace = true
edition.workspace = true
Expand Down Expand Up @@ -31,7 +31,7 @@ ic-ed25519 = { workspace = true, optional = true }
ic-error-types = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
sol_rpc_types = { version = "1.0.0", path = "../types" }
sol_rpc_types = { version = "2.0.0", path = "../types" }
solana-account-decoder-client-types = { workspace = true, features = ["zstd"] }
solana-hash = { workspace = true }
solana-instruction = { workspace = true }
Expand Down
15 changes: 15 additions & 0 deletions libs/types/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.0.0](https://github.com/dfinity/sol-rpc-canister/compare/sol_rpc_types-v1.0.0...sol_rpc_types-v2.0.0) - 2025-07-31

### Added

- Select supported providers based on successful responses ([#183](https://github.com/dfinity/sol-rpc-canister/pull/183))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The relevant change to that crate is that there is a new method (rpc_provider_id), should be in the Added section.


### Other

- require HTTP outcall base fee ([#185](https://github.com/dfinity/sol-rpc-canister/pull/185))
- add optional `cost_units` to `TransactionStatusMeta` ([#180](https://github.com/dfinity/sol-rpc-canister/pull/180))
- migrate dependencies to `solana-sdk` repository ([#55](https://github.com/dfinity/sol-rpc-canister/pull/55))
- improve docs for `InstallArgs` ([#172](https://github.com/dfinity/sol-rpc-canister/pull/172))
- add build requirements to READMEs and rustdoc ([#169](https://github.com/dfinity/sol-rpc-canister/pull/169))
- add `Cargo.toml` linting to CI pipeline ([#155](https://github.com/dfinity/sol-rpc-canister/pull/155))

## [1.0.0] - 2025-06-13

### Added
Expand Down
2 changes: 1 addition & 1 deletion libs/types/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sol_rpc_types"
version = "1.0.0"
version = "2.0.0"
description = "Candid types used by the SOL RPC canister"
authors.workspace = true
edition.workspace = true
Expand Down
6 changes: 4 additions & 2 deletions release-plz.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,18 @@ publish_allow_dirty = false
[[package]] # the double square brackets define a TOML table array
name = "sol_rpc_canister"
semver_check = false # disable API breaking changes checks
release = true
publish = false # disable `cargo publish`
initial_version = "1.0.0"

[[package]] # the double square brackets define a TOML table array
name = "sol_rpc_client"
#git_release_enable = false # enable GitHub releases
#git_release_enable = false # disable GitHub releaseschangelog = true
publish = true # enable `cargo publish`

[[package]] # the double square brackets define a TOML table array
name = "sol_rpc_types"
#git_release_enable = false # enable GitHub releases
#git_release_enable = false # disable GitHub releases
publish = true # enable `cargo publish`

[[package]]
Expand Down