quicknode_sdk 0.1.0.pre.alpha.30-aarch64-linux → 0.1.1-aarch64-linux
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/README.md +41 -25
- data/lib/quicknode_sdk/quicknode_sdk.so +0 -0
- 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: 7a3f4f9d1920af63dae76da08b608550bf27625ba7b293ed1711d67dffe9e28c
|
|
4
|
+
data.tar.gz: a1f73f064a382ea3366a43fe4aa372465ddc4e6e200b6ae185627845ad793555
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2622e4404fbc12da5284d0f5ab74b26515c2d8032989885801ce267164cac31bbf1c998a3343010d81e609721e9971de54f3ac20dda10e854747a3905fe3ab01
|
|
7
|
+
data.tar.gz: 9cf30f83a605fa25f21c7d937b943a8785e56020d59bd1d1b4d35d22f6768e215e2a6f0c355397736c0c2cd2b5df5634115e73de8361cc0e86ecf73c07b3e09a
|
data/README.md
CHANGED
|
@@ -137,7 +137,9 @@ Snippets assume `qn` was already constructed via the Quick Start. Optional param
|
|
|
137
137
|
|
|
138
138
|
### Language conventions
|
|
139
139
|
|
|
140
|
-
- Methods are **blocking** (not async). Parameters are a single Hash with symbol keys.
|
|
140
|
+
- Methods are **blocking** (not async). Parameters are a single Hash with symbol keys. Unknown parameter keys raise `ArgumentError`.
|
|
141
|
+
- **Response shape.** Every method that returns data returns a `QuicknodeSdk::IndifferentHash` — a plain `Hash` subclass with `Hashie::Extensions::IndifferentAccess`. Access values with `resp[:data]`, `resp["data"]`, or `resp.dig(:data, :id)`. Nested hashes and arrays are wrapped recursively, so symbol or string keys work at every level. **Dot accessors (`resp.data.id`) do not work** — there is no `MethodAccess` extension on this class. Use `[]` or `dig`.
|
|
142
|
+
- **Pagination key naming differs across products** because the underlying APIs do. Admin list endpoints return `resp[:pagination]` (`{ total, limit, offset }`); streams and webhooks list endpoints return `resp[:pageInfo]` (same shape, camelCase). Per-method `**Returns**` blocks note which one applies.
|
|
141
143
|
|
|
142
144
|
---
|
|
143
145
|
|
|
@@ -833,13 +835,13 @@ Returns the rate-limit rows currently enforced on the endpoint, each identifying
|
|
|
833
835
|
|
|
834
836
|
**Parameters**: `id` (endpoint id, required).
|
|
835
837
|
|
|
836
|
-
**Returns**: `GetRateLimitsResponse` (as
|
|
838
|
+
**Returns**: `GetRateLimitsResponse` (as an `IndifferentHash`) with `data[:rate_limits]: Array<RateLimitEntry>`.
|
|
837
839
|
|
|
838
840
|
```ruby
|
|
839
841
|
# Ruby
|
|
840
842
|
resp = qn.admin.get_rate_limits(id: "123")
|
|
841
|
-
resp.data
|
|
842
|
-
puts "#{row
|
|
843
|
+
resp.dig(:data, :rate_limits)&.each do |row|
|
|
844
|
+
puts "#{row[:bucket]} #{row[:rate_limit]} #{row[:source]} #{row[:id]}"
|
|
843
845
|
end
|
|
844
846
|
```
|
|
845
847
|
|
|
@@ -864,14 +866,14 @@ Returns the HTTP and WebSocket URLs for the endpoint without fetching the full e
|
|
|
864
866
|
|
|
865
867
|
**Parameters**: `id` (endpoint id, required).
|
|
866
868
|
|
|
867
|
-
**Returns**: `GetEndpointUrlsResponse` (as
|
|
869
|
+
**Returns**: `GetEndpointUrlsResponse` (as an `IndifferentHash`) with `data[:http_url]`, `data[:wss_url]`, and `data[:multichain_urls]`.
|
|
868
870
|
|
|
869
871
|
```ruby
|
|
870
872
|
# Ruby
|
|
871
873
|
resp = qn.admin.get_endpoint_urls(id: "123")
|
|
872
|
-
puts resp.data
|
|
873
|
-
resp.data
|
|
874
|
-
puts "#{network} #{urls
|
|
874
|
+
puts resp.dig(:data, :http_url)
|
|
875
|
+
resp.dig(:data, :multichain_urls)&.each do |network, urls|
|
|
876
|
+
puts "#{network} #{urls[:http_url]}"
|
|
875
877
|
end
|
|
876
878
|
```
|
|
877
879
|
|
|
@@ -883,7 +885,7 @@ Returns metric series for an endpoint over a time period.
|
|
|
883
885
|
|
|
884
886
|
**Parameters**: `id` (endpoint id, required); body: `period` (`"hour"` | `"day"` | `"week"` | `"month"`), `metric` (e.g. `"method_calls_over_time"`, `"response_status_breakdown"`).
|
|
885
887
|
|
|
886
|
-
**Returns**: `GetEndpointMetricsResponse` (as
|
|
888
|
+
**Returns**: `GetEndpointMetricsResponse` (as an `IndifferentHash`) with `data: Array<EndpointMetric>`. Each `EndpointMetric` has `tag: Array<String>` and `data: Array<Array<Integer>>` of `[timestamp, value]` pairs. Single-axis series (e.g. `response_time_over_time` with a percentile) come back as a one-element tag like `["p95"]`; multi-axis series come back as `["network", "arbitrum-mainnet"]`.
|
|
887
889
|
|
|
888
890
|
```ruby
|
|
889
891
|
# Ruby
|
|
@@ -900,7 +902,7 @@ Returns account-level metric series. Supports an optional `percentile` (e.g. `"p
|
|
|
900
902
|
|
|
901
903
|
**Parameters**: `period` (required), `metric` (required), `percentile` (string, optional).
|
|
902
904
|
|
|
903
|
-
**Returns**: `GetAccountMetricsResponse` (as
|
|
905
|
+
**Returns**: `GetAccountMetricsResponse` (as an `IndifferentHash`) with `data: Array<EndpointMetric>`. See `get_endpoint_metrics` above for the `tag: Array<String>` shape.
|
|
904
906
|
|
|
905
907
|
```ruby
|
|
906
908
|
# Ruby
|
|
@@ -1010,13 +1012,13 @@ resp = qn.admin.list_tags
|
|
|
1010
1012
|
|
|
1011
1013
|
Renames an account-level tag.
|
|
1012
1014
|
|
|
1013
|
-
**Parameters**: `
|
|
1015
|
+
**Parameters**: `id` (i32, required — the tag id); body: `label` (string, required).
|
|
1014
1016
|
|
|
1015
1017
|
**Returns**: `RenameTagResponse` with updated `AccountTag`.
|
|
1016
1018
|
|
|
1017
1019
|
```ruby
|
|
1018
1020
|
# Ruby
|
|
1019
|
-
resp = qn.admin.rename_tag(
|
|
1021
|
+
resp = qn.admin.rename_tag(id: 42, label: "staging")
|
|
1020
1022
|
```
|
|
1021
1023
|
|
|
1022
1024
|
##### `delete_account_tag` / `deleteAccountTag`
|
|
@@ -1032,6 +1034,24 @@ Deletes a tag from the account. The tag must first be removed from any endpoints
|
|
|
1032
1034
|
qn.admin.delete_account_tag(id: 42)
|
|
1033
1035
|
```
|
|
1034
1036
|
|
|
1037
|
+
#### Tag / delete method parameter quick-reference
|
|
1038
|
+
|
|
1039
|
+
The pattern across the Admin client: `id:` always names the **parent** resource. The child resource takes its own `<child>_id:`. The two account-level tag operations collapse to a single `id:` (the tag id) because there is no parent endpoint.
|
|
1040
|
+
|
|
1041
|
+
| Method | Required keys |
|
|
1042
|
+
|---|---|
|
|
1043
|
+
| `delete_tag` (per-endpoint) | `id:` (endpoint id), `tag_id:` |
|
|
1044
|
+
| `delete_account_tag` | `id:` (tag id) |
|
|
1045
|
+
| `rename_tag` | `id:` (tag id), `label:` |
|
|
1046
|
+
| `delete_token` | `id:` (endpoint id), `token_id:` |
|
|
1047
|
+
| `delete_referrer` | `id:`, `referrer_id:` |
|
|
1048
|
+
| `delete_ip` | `id:`, `ip_id:` |
|
|
1049
|
+
| `delete_domain_mask` | `id:`, `domain_mask_id:` |
|
|
1050
|
+
| `delete_jwt` | `id:`, `jwt_id:` |
|
|
1051
|
+
| `delete_method_rate_limit` | `id:`, `method_rate_limit_id:` |
|
|
1052
|
+
| `delete_request_filter` | `id:`, `request_filter_id:` |
|
|
1053
|
+
| `delete_rate_limit_override` | `id:`, `override_id:` |
|
|
1054
|
+
|
|
1035
1055
|
---
|
|
1036
1056
|
|
|
1037
1057
|
### Streams Client
|
|
@@ -1048,20 +1068,16 @@ Enums used across stream methods:
|
|
|
1048
1068
|
- **`FilterLanguage`**: `Javascript`, `Go`, `Wasm`.
|
|
1049
1069
|
- **`StreamMetadataLocation`**: `Body`, `Header`, `None`.
|
|
1050
1070
|
|
|
1051
|
-
Destinations are expressed via `DestinationAttributes`. Each variant wraps an attribute struct:
|
|
1071
|
+
Destinations are expressed via `DestinationAttributes`. Each variant wraps an attribute struct. On returned `Stream` records, `destination_attributes` is **flat** (no `attributes:` nesting) — access fields directly with `resp.dig(:destination_attributes, :url)`.
|
|
1072
|
+
|
|
1052
1073
|
|
|
1053
1074
|
| Variant | Struct | Key fields |
|
|
1054
1075
|
|---|---|---|
|
|
1055
1076
|
| `Webhook` | `WebhookAttributes` | `url`, `max_retry`, `retry_interval_sec`, `post_timeout_sec`, `compression`, `security_token?` |
|
|
1056
1077
|
| `S3` | `S3Attributes` | `endpoint`, `access_key`, `secret_key`, `bucket`, `object_prefix`, `compression`, `file_type`, `max_retry`, `retry_interval_sec`, `use_ssl?` |
|
|
1057
1078
|
| `Azure` | `AzureAttributes` | `storage_account`, `sas_token`, `container`, `compression`, `file_type`, `max_retry`, `retry_interval_sec`, `blob_prefix?` |
|
|
1058
|
-
| `Postgres` | `PostgresAttributes` | `host`, `port
|
|
1059
|
-
| `
|
|
1060
|
-
| `Mongo` | `MongoAttributes` | `connection_string`, `database`, `collection`, `max_retry`, `retry_interval_sec` |
|
|
1061
|
-
| `Clickhouse` | `ClickhouseAttributes` | `host`, `port`, `username`, `password`, `database`, `table`, `max_retry`, `retry_interval_sec`, `use_ssl?` |
|
|
1062
|
-
| `Snowflake` | `SnowflakeAttributes` | `account`, `warehouse`, `database`, `schema`, `table`, `username`, `private_key`, `max_retry`, `retry_interval_sec` |
|
|
1063
|
-
| `Kafka` | `KafkaAttributes` | `bootstrap_servers`, `topic`, `compression`, `max_retry`, `retry_interval_sec` |
|
|
1064
|
-
| `Redis` | `RedisAttributes` | `host`, `port`, `username`, `password`, `key`, `max_retry`, `retry_interval_sec`, `use_ssl?` |
|
|
1079
|
+
| `Postgres` | `PostgresAttributes` | `host`, `port?` (default `5432`), `username`, `password`, `database`, `table_name`, `sslmode`, `max_retry?`, `retry_interval_sec?` |
|
|
1080
|
+
| `Kafka` | `KafkaAttributes` | `bootstrap_servers`, `topic_name`, `compression_type`, `batch_size?`, `linger_ms?`, `max_message_bytes?`, `timeout_sec?`, `max_retry?`, `retry_interval_sec?`, `username?`, `password?`, `protocol?`, `mechanisms?` |
|
|
1065
1081
|
|
|
1066
1082
|
Wrapper naming per language:
|
|
1067
1083
|
|
|
@@ -1109,7 +1125,7 @@ Paginated list of streams on the account.
|
|
|
1109
1125
|
|
|
1110
1126
|
**Parameters** (all optional): `offset` (i64), `limit` (i64), `order_by` (string), `order_direction` (`"asc"` | `"desc"`), `stream_type` (string).
|
|
1111
1127
|
|
|
1112
|
-
**Returns**: `ListStreamsResponse` with `data: Stream[]` and `
|
|
1128
|
+
**Returns**: `ListStreamsResponse` with `data: Stream[]` and `pageInfo` (camelCase on the wire — access as `resp[:pageInfo][:total]`).
|
|
1113
1129
|
|
|
1114
1130
|
```ruby
|
|
1115
1131
|
# Ruby
|
|
@@ -1250,7 +1266,7 @@ Accessed as `qn.webhooks`. Creates webhooks from filter templates and manages th
|
|
|
1250
1266
|
| Factory | Argument struct | Fields |
|
|
1251
1267
|
|---|---|---|
|
|
1252
1268
|
| `evm_wallet_filter` | `EvmWalletFilterTemplate` | `wallets: string[]` |
|
|
1253
|
-
| `evm_contract_events` | `EvmContractEventsTemplate` | `contracts: string[]`, `
|
|
1269
|
+
| `evm_contract_events` | `EvmContractEventsTemplate` | `contracts: string[]`, `eventHashes?: string[]` (camelCase — `event_hashes` is rejected by the API) |
|
|
1254
1270
|
| `evm_abi_filter` | `EvmAbiFilterTemplate` | `abi: string` (JSON), `contracts: string[]` |
|
|
1255
1271
|
| `solana_wallet_filter` | `SolanaWalletFilterTemplate` | `accounts: string[]` |
|
|
1256
1272
|
| `bitcoin_wallet_filter` | `BitcoinWalletFilterTemplate` | `wallets: string[]` |
|
|
@@ -1262,7 +1278,7 @@ Accessed as `qn.webhooks`. Creates webhooks from filter templates and manages th
|
|
|
1262
1278
|
|
|
1263
1279
|
`WebhookStartFrom`: `Last` (resume from last delivered block) or `Latest` (start from newest).
|
|
1264
1280
|
|
|
1265
|
-
In Ruby, `template_args` is passed as a JSON string under the key `template_args_json
|
|
1281
|
+
In Ruby, `template_args` is passed as a JSON string under the key `template_args_json` on every template-aware method. The destination is passed as a JSON string under `destination_attributes_json` on `create_webhook_from_template` and `update_webhook`. **`update_webhook_template` cannot change the destination** — it accepts only `webhook_id`, `template_args_json`, `name?`, and `notification_email?`.
|
|
1266
1282
|
|
|
1267
1283
|
#### Webhooks methods
|
|
1268
1284
|
|
|
@@ -1333,9 +1349,9 @@ webhook = qn.webhooks.update_webhook(id: "wh-1", name: "Renamed Webhook")
|
|
|
1333
1349
|
|
|
1334
1350
|
##### `update_webhook_template` / `updateWebhookTemplate`
|
|
1335
1351
|
|
|
1336
|
-
Updates the template args (and optionally name
|
|
1352
|
+
Updates the template args (and optionally name and notification email) on an existing template-backed webhook. The destination cannot be changed after creation — to point a webhook at a new URL or storage backend, create a new one.
|
|
1337
1353
|
|
|
1338
|
-
**Parameters**: `webhook_id` (required), `
|
|
1354
|
+
**Parameters**: `webhook_id` (required), `template_args_json` (required — JSON string); optional: `name`, `notification_email`.
|
|
1339
1355
|
|
|
1340
1356
|
**Returns**: updated `Webhook`.
|
|
1341
1357
|
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: quicknode_sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: aarch64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Quicknode
|
|
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: hashie
|