solana-ruby 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/solana-ruby/client.rb +42 -52
- data/lib/solana-ruby/version.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: 2e0202ab58e2b0ccb77296d5ffa26a1408527e52dbc3e35231c6751b2b7d4a5c
|
4
|
+
data.tar.gz: f2fa02339b07a39149bad5a5466b976df22af33065ad870481313d2b23a450ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bea7c63739520e701323f6449b21d097eebbf31e79dc659d0ccc1417baa113ef64e786f6d2006c910f5773f12bd157e0606ee6e56409946bdabbe2116abf5466
|
7
|
+
data.tar.gz: 4b00e4f10ea497dec5a32515b323b1eb5b76f2a0e3a34c4b9a91b7b80c2913ff6a2c5441bc5e51278262b08d4060a27141dff0813a87b5fa3d599c9475e94ac0
|
data/lib/solana-ruby/client.rb
CHANGED
@@ -12,9 +12,8 @@ module Solana
|
|
12
12
|
##
|
13
13
|
# Initializes a new Client.
|
14
14
|
#
|
15
|
-
# @param [String, nil]
|
16
|
-
def initialize(api_endpoint = Solana::Utils::MAINNET
|
17
|
-
@api_key = api_key
|
15
|
+
# @param [String, nil] api_endpoint Optional API endpoint. Mainnet by default
|
16
|
+
def initialize(api_endpoint = Solana::Utils::MAINNET)
|
18
17
|
@api_endpoint = api_endpoint
|
19
18
|
end
|
20
19
|
|
@@ -80,21 +79,19 @@ module Solana
|
|
80
79
|
# Retrieves the estimated production time of a specific block.
|
81
80
|
#
|
82
81
|
# @param [Integer] slot_number The slot number of the block.
|
83
|
-
# @param [Hash] options Optional parameters for the request.
|
84
82
|
# @return [Integer] The estimated production time in seconds.
|
85
|
-
def get_block_time(slot_number,
|
86
|
-
request_http('getBlockTime', [slot_number
|
83
|
+
def get_block_time(slot_number, &block)
|
84
|
+
request_http('getBlockTime', [slot_number], &block)
|
87
85
|
end
|
88
86
|
|
89
87
|
##
|
90
88
|
# Retrieves a list of confirmed blocks between two slot numbers.
|
91
89
|
#
|
92
90
|
# @param [Integer] start_slot The start slot number.
|
93
|
-
# @param [Integer] end_slot The end slot number.
|
94
91
|
# @param [Hash] options Optional parameters for the request.
|
95
92
|
# @return [Array<Integer>] The list of confirmed blocks.
|
96
|
-
def get_blocks(start_slot,
|
97
|
-
request_http('getBlocks', [start_slot,
|
93
|
+
def get_blocks(start_slot, options = {}, &block)
|
94
|
+
request_http('getBlocks', [start_slot, options], &block)
|
98
95
|
end
|
99
96
|
|
100
97
|
##
|
@@ -111,10 +108,9 @@ module Solana
|
|
111
108
|
##
|
112
109
|
# Retrieves the list of cluster nodes.
|
113
110
|
#
|
114
|
-
# @param [Hash] options Optional parameters for the request.
|
115
111
|
# @return [Array<Hash>] The list of cluster nodes.
|
116
|
-
def get_cluster_nodes(
|
117
|
-
request_http('getClusterNodes',
|
112
|
+
def get_cluster_nodes(&block)
|
113
|
+
request_http('getClusterNodes', &block)
|
118
114
|
end
|
119
115
|
|
120
116
|
##
|
@@ -129,10 +125,9 @@ module Solana
|
|
129
125
|
##
|
130
126
|
# Retrieves the epoch schedule.
|
131
127
|
#
|
132
|
-
# @param [Hash] options Optional parameters for the request.
|
133
128
|
# @return [Hash] The epoch schedule.
|
134
|
-
def get_epoch_schedule(
|
135
|
-
request_http('getEpochSchedule',
|
129
|
+
def get_epoch_schedule(&block)
|
130
|
+
request_http('getEpochSchedule', &block)
|
136
131
|
end
|
137
132
|
|
138
133
|
##
|
@@ -148,46 +143,41 @@ module Solana
|
|
148
143
|
##
|
149
144
|
# Retrieves the slot of the first available block.
|
150
145
|
#
|
151
|
-
# @param [Hash] options Optional parameters for the request.
|
152
146
|
# @return [Integer] The slot of the first available block.
|
153
|
-
def get_first_available_block(
|
154
|
-
request_http('getFirstAvailableBlock',
|
147
|
+
def get_first_available_block(&block)
|
148
|
+
request_http('getFirstAvailableBlock', &block)
|
155
149
|
end
|
156
150
|
|
157
151
|
##
|
158
152
|
# Retrieves the genesis hash.
|
159
153
|
#
|
160
|
-
# @param [Hash] options Optional parameters for the request.
|
161
154
|
# @return [String] The genesis hash.
|
162
|
-
def get_genesis_hash(
|
163
|
-
request_http('getGenesisHash',
|
155
|
+
def get_genesis_hash(&block)
|
156
|
+
request_http('getGenesisHash', &block)
|
164
157
|
end
|
165
158
|
|
166
159
|
##
|
167
160
|
# Checks the health of the node.
|
168
161
|
#
|
169
|
-
# @param [Hash] options Optional parameters for the request.
|
170
162
|
# @return [String] The health status of the node.
|
171
|
-
def get_health(
|
172
|
-
request_http('getHealth',
|
163
|
+
def get_health(&block)
|
164
|
+
request_http('getHealth', &block)
|
173
165
|
end
|
174
166
|
|
175
167
|
##
|
176
168
|
# Retrieves the highest snapshot slot.
|
177
169
|
#
|
178
|
-
# @param [Hash] options Optional parameters for the request.
|
179
170
|
# @return [Integer] The highest snapshot slot.
|
180
|
-
def get_highest_snapshot_slot(
|
181
|
-
request_http('getHighestSnapshotSlot',
|
171
|
+
def get_highest_snapshot_slot(&block)
|
172
|
+
request_http('getHighestSnapshotSlot', &block)
|
182
173
|
end
|
183
174
|
|
184
175
|
##
|
185
176
|
# Retrieves the identity of the node.
|
186
177
|
#
|
187
|
-
# @param [Hash] options Optional parameters for the request.
|
188
178
|
# @return [Hash] The identity information of the node.
|
189
|
-
def get_identity(
|
190
|
-
request_http('getIdentity',
|
179
|
+
def get_identity(&block)
|
180
|
+
request_http('getIdentity', &block)
|
191
181
|
end
|
192
182
|
|
193
183
|
##
|
@@ -202,10 +192,9 @@ module Solana
|
|
202
192
|
##
|
203
193
|
# Retrieves the current inflation rate.
|
204
194
|
#
|
205
|
-
# @param [Hash] options Optional parameters for the request.
|
206
195
|
# @return [Hash] The inflation rate.
|
207
|
-
def get_inflation_rate(
|
208
|
-
request_http('getInflationRate',
|
196
|
+
def get_inflation_rate(&block)
|
197
|
+
request_http('getInflationRate', &block)
|
209
198
|
end
|
210
199
|
|
211
200
|
##
|
@@ -236,31 +225,30 @@ module Solana
|
|
236
225
|
request_http('getLatestBlockhash', [options], &block)
|
237
226
|
end
|
238
227
|
|
228
|
+
## TODO
|
239
229
|
##
|
240
230
|
# Retrieves the leader schedule.
|
241
231
|
#
|
242
232
|
# @param [Hash] options Optional parameters for the request.
|
243
233
|
# @return [Hash] The leader schedule.
|
244
|
-
def get_leader_schedule(options = {}, &block)
|
245
|
-
request_http('getLeaderSchedule', [options], &block)
|
234
|
+
def get_leader_schedule(slot_number = nil, options = {}, &block)
|
235
|
+
request_http('getLeaderSchedule', [slot_number, options], &block)
|
246
236
|
end
|
247
237
|
|
248
238
|
##
|
249
239
|
# Retrieves the maximum retransmit slot.
|
250
240
|
#
|
251
|
-
# @param [Hash] options Optional parameters for the request.
|
252
241
|
# @return [Integer] The maximum retransmit slot.
|
253
|
-
def get_max_retransmit_slot(
|
254
|
-
request_http('getMaxRetransmitSlot',
|
242
|
+
def get_max_retransmit_slot(&block)
|
243
|
+
request_http('getMaxRetransmitSlot', &block)
|
255
244
|
end
|
256
245
|
|
257
246
|
##
|
258
247
|
# Retrieves the maximum shred insert slot.
|
259
248
|
#
|
260
|
-
# @param [Hash] options Optional parameters for the request.
|
261
249
|
# @return [Integer] The maximum shred insert slot.
|
262
|
-
def get_max_shred_insert_slot(
|
263
|
-
request_http('getMaxShredInsertSlot',
|
250
|
+
def get_max_shred_insert_slot(&block)
|
251
|
+
request_http('getMaxShredInsertSlot', &block)
|
264
252
|
end
|
265
253
|
|
266
254
|
##
|
@@ -296,19 +284,20 @@ module Solana
|
|
296
284
|
##
|
297
285
|
# Retrieves recent performance samples.
|
298
286
|
#
|
287
|
+
# @param [Integer] limit The number of performance samples to retrieve.
|
299
288
|
# @param [Hash] options Optional parameters for the request.
|
300
289
|
# @return [Array<Hash>] The recent performance samples.
|
301
|
-
def get_recent_performance_samples(options = {}, &block)
|
302
|
-
request_http('getRecentPerformanceSamples', [options], &block)
|
290
|
+
def get_recent_performance_samples(limit = 720, options = {}, &block)
|
291
|
+
request_http('getRecentPerformanceSamples', [limit, options], &block)
|
303
292
|
end
|
304
293
|
|
305
294
|
##
|
306
295
|
# Retrieves recent prioritization fees.
|
307
296
|
#
|
308
|
-
# @param [
|
297
|
+
# @param [Array<String>] addresses Optional array of addresses to filter the fees by.
|
309
298
|
# @return [Hash] The recent prioritization fees.
|
310
|
-
def get_recent_prioritization_fees(
|
311
|
-
request_http('getRecentPrioritizationFees', [
|
299
|
+
def get_recent_prioritization_fees(addresses = [], &block)
|
300
|
+
request_http('getRecentPrioritizationFees', [addresses], &block)
|
312
301
|
end
|
313
302
|
|
314
303
|
##
|
@@ -491,8 +480,8 @@ module Solana
|
|
491
480
|
#
|
492
481
|
# @param [Hash] options Optional parameters for the request.
|
493
482
|
# @return [Integer] The minimum ledger slot.
|
494
|
-
def minimum_ledger_slot(
|
495
|
-
request_http('minimumLedgerSlot',
|
483
|
+
def minimum_ledger_slot(&block)
|
484
|
+
request_http('minimumLedgerSlot', &block)
|
496
485
|
end
|
497
486
|
|
498
487
|
##
|
@@ -510,9 +499,10 @@ module Solana
|
|
510
499
|
# Sends a transaction.
|
511
500
|
#
|
512
501
|
# @param [Hash] transaction The transaction to send.
|
502
|
+
# @param [Hash] options Optional parameters for the request.
|
513
503
|
# @return [Hash] The response from the send transaction request.
|
514
|
-
def send_transaction(transaction, &block)
|
515
|
-
request_http('sendTransaction', [transaction.to_json], &block)
|
504
|
+
def send_transaction(transaction, options = {}, &block)
|
505
|
+
request_http('sendTransaction', [transaction.to_json, options], &block)
|
516
506
|
end
|
517
507
|
|
518
508
|
##
|
@@ -549,8 +539,8 @@ module Solana
|
|
549
539
|
#
|
550
540
|
# @param [Hash] options Optional parameters for the subscription.
|
551
541
|
# @yield [Object] The response from the subscription.
|
552
|
-
def block_subscribe(options = {}, &block)
|
553
|
-
request_ws('blockSubscribe', [options], &block)
|
542
|
+
def block_subscribe(filter, options = {}, &block)
|
543
|
+
request_ws('blockSubscribe', [filter, options], &block)
|
554
544
|
end
|
555
545
|
|
556
546
|
##
|
data/lib/solana-ruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solana-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabrice Renard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpx
|