solana-studio 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/solana/client.rb +7 -1
- data/lib/solana_studio.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 309578396b9717148d416026b43b3e8c6ac485e76620680dd3e0e382b1c1600a
|
|
4
|
+
data.tar.gz: b5ae8dbb553d4941343bf30da034f890effad52b0c0b1d45639c6d51d0b384cf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c6d84c1fe7e7ddabf243522864fcbd520325419c373e65e0245dbfc28925bf0d9d70adad1a3ad225fca51c263404309e0b0fc6b08425164592f8495d3ece2d2e
|
|
7
|
+
data.tar.gz: 074a079e4d03ad0ef6ed1d4fb4376788adc5f3a212428c227b88fff2416a23d3ec7d91996989cebc2f7980fa710de9a24b69536ff7a1ace31b78e691f6ed1388
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## v0.4.3 (2026-05-27)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **`Solana::Client#http_post` now preserves the query string when constructing the `Net::HTTP::Post` path** (was: dropped). RPC providers that carry their API key on the query — Helius (`https://devnet.helius-rpc.com/?api-key=…`), QuickNode, Triton — previously received an authless request and replied with their equivalent of `"missing api key"`, breaking every RPC call. `@uri.request_uri` is the correct accessor (path + "?" + query); `@uri.path` returns only the path portion. Surfaced when turf-monster moved off the public devnet endpoint to Helius.
|
|
9
|
+
|
|
10
|
+
### Tests
|
|
11
|
+
- New `test/client_test.rb` (2 tests): asserts `http_post` builds the request with the full request-URI (path + query) when the RPC URL carries a query string, and falls back to `"/"` when path is empty.
|
|
12
|
+
|
|
5
13
|
## v0.4.2 (2026-05-19)
|
|
6
14
|
|
|
7
15
|
Tier-3 fixes from the turf-monster pre-prod opsec audit (OPSEC-017/018/043).
|
data/lib/solana/client.rb
CHANGED
|
@@ -152,7 +152,13 @@ module Solana
|
|
|
152
152
|
http.open_timeout = 10
|
|
153
153
|
http.read_timeout = 30
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
# `request_uri` preserves the query string (path + "?" + query).
|
|
156
|
+
# `path` alone drops it, which silently breaks RPC providers that
|
|
157
|
+
# carry credentials on the query — e.g. Helius:
|
|
158
|
+
# `https://devnet.helius-rpc.com/?api-key=…`. The server replies
|
|
159
|
+
# with `{"error":"missing api key"}` and the client retries.
|
|
160
|
+
request_path = @uri.request_uri
|
|
161
|
+
request = Net::HTTP::Post.new(request_path.empty? ? "/" : request_path)
|
|
156
162
|
request["Content-Type"] = "application/json"
|
|
157
163
|
request.body = body.to_json
|
|
158
164
|
|
data/lib/solana_studio.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solana-studio
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex McRitchie
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ed25519
|