hive_sql 1.0.2 → 1.0.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/Rakefile +191 -20
- data/lib/hive_sql/models/account.rb +5 -0
- data/lib/hive_sql/models/block.rb +13 -1
- data/lib/hive_sql/models/comment.rb +40 -4
- data/lib/hive_sql/models/dynamic_global_properties.rb +26 -1
- data/lib/hive_sql/models/proposal.rb +26 -0
- data/lib/hive_sql/models/proposal_approval.rb +15 -0
- data/lib/hive_sql/models/reblog.rb +2 -2
- data/lib/hive_sql/models/transaction.rb +14 -0
- data/lib/hive_sql/models/tx/account_witness_proxy.rb +2 -2
- data/lib/hive_sql/models/tx/custom.rb +1 -0
- data/lib/hive_sql/models/tx/proposal_create.rb +35 -0
- data/lib/hive_sql/models/tx/{update_proposal_vote.rb → proposal_vote_update.rb} +3 -3
- data/lib/hive_sql/models/vo/account_created.rb +23 -0
- data/lib/hive_sql/models/vo/changed_recovery_account.rb +20 -0
- data/lib/hive_sql/models/vo/clear_null_account_balance.rb +21 -0
- data/lib/hive_sql/models/vo/comments_vote.rb +25 -0
- data/lib/hive_sql/models/vo/sps_fund.rb +3 -1
- data/lib/hive_sql/version.rb +1 -1
- data/lib/hive_sql.rb +8 -1
- metadata +43 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a69a495f4ca59bbda3187a5e67811b164d545001e45aa48559fd3c71dc7a9b5
|
4
|
+
data.tar.gz: b94bed8fdba6e7ffb967ef8fa2cb0c4c39f13d3c9ae9559456c3dd34b7dd5d7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b49ed0517155beb3a03374d94587b457a1e2c8a55a80856a7e2d707410b80fd147ef1de13a5dd4f361fa092e818310f477915b2302b3ec8666abb22c9157b6fa
|
7
|
+
data.tar.gz: b60eace66ec04cbfd0502e001de0223ef6c5650775f727e0d96a9e92216ed42c61db3586a14892727fa25d58934638cb190ee271cff5adcc8ae5eb32648a03c0
|
data/Rakefile
CHANGED
@@ -78,6 +78,46 @@ namespace :created do
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
namespace :deleted do
|
82
|
+
desc 'Lists comments deleted grouped by author and date.'
|
83
|
+
task :comments, [:author, :days_ago, :minimum_deletes] do |t, args|
|
84
|
+
now = Time.now.utc
|
85
|
+
author = args[:author]
|
86
|
+
after_timestamp = now - ((args[:days_ago] || '7').to_i * 86400)
|
87
|
+
minimum_deletes = (args[:minimum_deletes] || '1').to_i
|
88
|
+
|
89
|
+
delete_comments = HiveSQL::Tx::DeleteComment.all
|
90
|
+
|
91
|
+
if !!author || author == '%'
|
92
|
+
unless author == '%'
|
93
|
+
delete_comments = delete_comments.where(author: author)
|
94
|
+
end
|
95
|
+
elsif author =~ /.*%.*/
|
96
|
+
delete_comments = delete_comments.where('author LIKE ?', author)
|
97
|
+
end
|
98
|
+
|
99
|
+
delete_comments = delete_comments.where('timestamp > ?', after_timestamp)
|
100
|
+
rewards = HiveSQL::Vo::AuthorReward.where(author: delete_comments.select(:author), permlink: delete_comments.select(:permlink))
|
101
|
+
delete_comments = delete_comments.group('CAST(timestamp AS DATE)', :author)
|
102
|
+
delete_comments = delete_comments.order('cast_timestamp_as_date ASC')
|
103
|
+
|
104
|
+
delete_comments = delete_comments.count
|
105
|
+
|
106
|
+
if minimum_deletes > 1
|
107
|
+
delete_comments = delete_comments.select{|k, v| v >= minimum_deletes}
|
108
|
+
end
|
109
|
+
|
110
|
+
puts "# Daily deleted comment count by #{author.nil? ? 'all account authors' : author} since #{after_timestamp} ..."
|
111
|
+
ap delete_comments
|
112
|
+
puts "# Total deleted comments: #{delete_comments.values.sum}"
|
113
|
+
|
114
|
+
puts "# Author reward impact:"
|
115
|
+
puts "# HBD: #{rewards.sum(:hbd_payout)}"
|
116
|
+
puts "# HIVE: #{rewards.sum(:hive_payout)}"
|
117
|
+
puts "# VESTS: #{rewards.sum(:vesting_payout)}"
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
81
121
|
desc 'Lists sum of transfers grouped by date, from, and to.'
|
82
122
|
task :transfers, [:minimum_amount, :symbol, :days_ago] do |t, args|
|
83
123
|
now = Time.now.utc
|
@@ -231,7 +271,7 @@ namespace :crosscheck do
|
|
231
271
|
task :transfers, [:account] do |t, args|
|
232
272
|
exchanges = %w(bittrex poloniex openledger blocktrades deepcrypto8 gopax
|
233
273
|
binanceexchange teambitwala changelly hitbtc-exchange korbit roomofsatoshi
|
234
|
-
shapeshiftio)
|
274
|
+
shapeshiftio huobi-withdrawal bithumbrecv2 user.dunamu hot.dunamu)
|
235
275
|
account = args[:account]
|
236
276
|
|
237
277
|
if account.nil? || account == ''
|
@@ -408,7 +448,14 @@ namespace :rewards do
|
|
408
448
|
when 'VESTS' then rewards.sum(:vesting_payout)
|
409
449
|
when 'MVESTS'
|
410
450
|
rewards.sum('vesting_payout / 1000000')
|
411
|
-
|
451
|
+
when 'HP'
|
452
|
+
properties = HiveSQL::DynamicGlobalProperties.first
|
453
|
+
total_vesting_fund_hive = properties.total_vesting_fund_hive.to_f
|
454
|
+
total_vesting_shares_mvest = properties.total_vesting_shares.to_f / 1e6
|
455
|
+
base_per_mvest = total_vesting_fund_hive / total_vesting_shares_mvest
|
456
|
+
|
457
|
+
rewards.sum("(vesting_payout / 1000000) * #{base_per_mvest}")
|
458
|
+
else; puts "Unknown symbol: #{symbol}. Symbols supported: HBD, HIVE, VESTS, MVESTS, HP"
|
412
459
|
end
|
413
460
|
|
414
461
|
ap rewards
|
@@ -440,13 +487,24 @@ namespace :rewards do
|
|
440
487
|
puts "Daily curation reward #{symbol} sum grouped by date since #{after_timestamp} ..."
|
441
488
|
end
|
442
489
|
|
443
|
-
case symbol
|
490
|
+
rewards = case symbol
|
444
491
|
when 'VESTS'
|
445
|
-
|
492
|
+
rewards.sum("TRY_PARSE(REPLACE(reward, ' VESTS', '') AS float)")
|
446
493
|
when 'MVESTS'
|
447
|
-
|
448
|
-
|
494
|
+
rewards.sum("TRY_PARSE(REPLACE(reward, ' VESTS', '') AS float) / 1000000")
|
495
|
+
when 'HP'
|
496
|
+
properties = HiveSQL::DynamicGlobalProperties.first
|
497
|
+
total_vesting_fund_hive = properties.total_vesting_fund_hive.to_f
|
498
|
+
total_vesting_shares_mvest = properties.total_vesting_shares.to_f / 1e6
|
499
|
+
base_per_mvest = total_vesting_fund_hive / total_vesting_shares_mvest
|
500
|
+
|
501
|
+
rewards.sum("(TRY_PARSE(REPLACE(reward, ' VESTS', '') AS float) / 1000000) * #{base_per_mvest}")
|
502
|
+
else; puts "Unknown symbol: #{symbol}. Symbols supported: VESTS, MVESTS, HP"
|
449
503
|
end
|
504
|
+
|
505
|
+
ap rewards
|
506
|
+
sum = rewards.values.sum
|
507
|
+
puts "# Total rewards: %.3f %s (average: %.3f per day)" % [sum, symbol, (sum / rewards.size)]
|
450
508
|
end
|
451
509
|
end
|
452
510
|
|
@@ -524,7 +582,7 @@ end
|
|
524
582
|
|
525
583
|
desc <<~EOF
|
526
584
|
Top comments by what ...
|
527
|
-
Allowed \"what\" options: upvoted downvoted
|
585
|
+
Allowed \"what\" options: voter upvoted downvoted
|
528
586
|
EOF
|
529
587
|
task :top, [:what, :limit] do |t, args|
|
530
588
|
what = args[:what].to_s.downcase.to_sym
|
@@ -532,6 +590,13 @@ task :top, [:what, :limit] do |t, args|
|
|
532
590
|
since = 1.week.ago
|
533
591
|
|
534
592
|
case what
|
593
|
+
when :voter
|
594
|
+
votes = HiveSQL::Tx::Vote.after(since)
|
595
|
+
votes = votes.group(:voter)
|
596
|
+
votes = votes.order('count_all DESC')
|
597
|
+
votes = votes.limit(limit)
|
598
|
+
|
599
|
+
ap votes.count
|
535
600
|
when :upvoted, :downvoted
|
536
601
|
comments = HiveSQL::Comment.after(since)
|
537
602
|
comments = if what == :upvoted
|
@@ -553,6 +618,8 @@ task :top, [:what, :limit] do |t, args|
|
|
553
618
|
|
554
619
|
puts "#{v}; #{created.round(2)} days ago: #{url}"
|
555
620
|
end
|
621
|
+
else
|
622
|
+
exec 'rake -D top | head -3'
|
556
623
|
end
|
557
624
|
end
|
558
625
|
|
@@ -602,20 +669,124 @@ task :proposal_pay, [:minimum_payment, :days_ago] do |t, args|
|
|
602
669
|
puts "Average daily payments: #{'%.3f' % average_daily_payments} #{symbol}"
|
603
670
|
end
|
604
671
|
|
672
|
+
desc 'Lists sum of HBD interest grouped by date, from, and to.'
|
673
|
+
task :interest, [:minimum_payment, :days_ago] do |t, args|
|
674
|
+
now = Time.now.utc
|
675
|
+
minimum_payment = (args[:minimum_payment] || '0.001').to_f
|
676
|
+
days_ago = (args[:days_ago] || '30').to_i
|
677
|
+
after_timestamp = now - days_ago * 86400
|
678
|
+
|
679
|
+
payments = HiveSQL::Vo::Interest.all
|
680
|
+
payments = payments.where('Interest > ?', minimum_payment)
|
681
|
+
payments = payments.where('timestamp > ?', after_timestamp)
|
682
|
+
duration = payments.minimum(:timestamp)
|
683
|
+
|
684
|
+
payments = payments.group('CAST(timestamp AS DATE)')
|
685
|
+
payments = payments.order('cast_timestamp_as_date ASC')
|
686
|
+
|
687
|
+
puts "# Daily interest payment sum #{'%.3f HBD' % minimum_payment} and over, since #{after_timestamp} ..."
|
688
|
+
ap payments.sum(:Interest)
|
689
|
+
|
690
|
+
actual_days = ((((Time.now - duration)) / 60) / 60) / 24
|
691
|
+
interst_sum = payments.sum(:Interest).values.sum
|
692
|
+
average_daily_payments = interst_sum / actual_days
|
693
|
+
puts "Total interest paid for period #{'%.3f HBD' % interst_sum}; average daily payments: #{'%.3f HBD' % average_daily_payments} (days: #{actual_days})"
|
694
|
+
end
|
695
|
+
|
605
696
|
# Doesn't look like this table exists.
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
697
|
+
desc 'List conversion HBD conversion request sums grouped by day.'
|
698
|
+
task :convert, [:days_ago] do |t, args|
|
699
|
+
now = Time.now.utc
|
700
|
+
after_timestamp = now - ((args[:days_ago] || '3.5').to_f * 86400)
|
701
|
+
|
702
|
+
converts = HiveSQL::Vo::FillConvertRequest
|
703
|
+
converts = converts.where('timestamp > ?', after_timestamp)
|
704
|
+
converts = converts.group('CAST(timestamp AS DATE)')
|
705
|
+
converts = converts.order('cast_timestamp_as_date ASC')
|
706
|
+
|
707
|
+
puts "# Daily HBD conversion requests sum grouped by date since #{after_timestamp} ..."
|
708
|
+
ap converts.sum(:amount_in)
|
709
|
+
end
|
710
|
+
|
711
|
+
# Doesn't look like this table exists.
|
712
|
+
desc 'List daily activity of account, for specified days (default 90)'
|
713
|
+
task :activity, [:account_name, :days_ago] do |t, args|
|
714
|
+
now = Time.now.utc
|
715
|
+
after_timestamp = now - ((args[:days_ago] || '90').to_f * 86400)
|
716
|
+
account_name = args[:account_name]
|
717
|
+
|
718
|
+
trx = HiveSQL::Transaction.by(account_name)
|
719
|
+
trx = trx.joins(:block).where('timestamp > ?', after_timestamp)
|
720
|
+
trx = trx.group('type')
|
721
|
+
trx = trx.order('count_type ASC')
|
722
|
+
|
723
|
+
puts "# Daily transactions by #{account_name} for type count grouped by type since #{after_timestamp} ..."
|
724
|
+
ap trx.count(:type)
|
725
|
+
end
|
726
|
+
|
727
|
+
namespace :witnesses do
|
728
|
+
desc 'Count witnesses that have signed blocks, group by day.'
|
729
|
+
task :count, [:days_ago] do |t, args|
|
730
|
+
now = Time.now.utc
|
731
|
+
days_ago = (args[:days_ago] || '3.5').to_f
|
732
|
+
after_timestamp = now - (days_ago * 86400)
|
733
|
+
|
734
|
+
blocks = HiveSQL::Block
|
735
|
+
blocks = blocks.where('timestamp > ?', after_timestamp)
|
736
|
+
duration = blocks.minimum(:timestamp)
|
737
|
+
total_witness_count = blocks.distinct.count(:witness)
|
738
|
+
blocks = blocks.group('CAST(timestamp AS DATE)')
|
739
|
+
blocks = blocks.order('cast_timestamp_as_date ASC')
|
740
|
+
|
741
|
+
actual_days = ((((Time.now - duration)) / 60) / 60) / 24
|
742
|
+
|
743
|
+
puts "Witness count that signed blocks grouped by date since #{after_timestamp} ..."
|
744
|
+
ap blocks.distinct.count(:witness)
|
745
|
+
puts "# Total unique witnesses: %d (average: %.1f per day)" % [total_witness_count, (blocks.distinct.count(:witness).values.sum) / actual_days]
|
746
|
+
end
|
747
|
+
|
748
|
+
desc 'Witness accounts that have signed blocks, group by day.'
|
749
|
+
task :accounts, [:days_ago] do |t, args|
|
750
|
+
now = Time.now.utc
|
751
|
+
days_ago = (args[:days_ago] || '3.5').to_f
|
752
|
+
after_timestamp = now - (days_ago * 86400)
|
753
|
+
|
754
|
+
blocks = HiveSQL::Block
|
755
|
+
blocks = blocks.where('timestamp > ?', after_timestamp)
|
756
|
+
duration = blocks.minimum(:timestamp)
|
757
|
+
total_witness_count = blocks.distinct.count(:witness)
|
758
|
+
blocks = blocks.group(:witness)
|
759
|
+
blocks = blocks.order('1 ASC')
|
760
|
+
|
761
|
+
actual_days = ((((Time.now - duration)) / 60) / 60) / 24
|
762
|
+
|
763
|
+
puts "Witness count that signed blocks grouped by date since #{after_timestamp} ..."
|
764
|
+
ap blocks.distinct.count(:all)
|
765
|
+
puts "# Total unique witnesses: %d" % [total_witness_count]
|
766
|
+
end
|
767
|
+
|
768
|
+
desc 'New witness accounts that have signed blocks, group by day.'
|
769
|
+
task :new_accounts, [:days_ago] do |t, args|
|
770
|
+
now = Time.now.utc
|
771
|
+
days_ago = (args[:days_ago] || '3.5').to_f
|
772
|
+
after_timestamp = now - (days_ago * 86400)
|
773
|
+
|
774
|
+
blocks = HiveSQL::Block
|
775
|
+
previous_blocks = blocks.where('timestamp <= ?', after_timestamp).limit(9600) # about one day of blocks
|
776
|
+
previous_blocks = previous_blocks.order(block_num: :desc)
|
777
|
+
blocks = blocks.where('timestamp > ?', after_timestamp).where.not(witness: previous_blocks.select(:witness))
|
778
|
+
duration = blocks.minimum(:timestamp)
|
779
|
+
total_witness_count = blocks.distinct.count(:witness)
|
780
|
+
blocks = blocks.group(:witness)
|
781
|
+
blocks = blocks.order('1 ASC')
|
782
|
+
|
783
|
+
actual_days = ((((Time.now - duration)) / 60) / 60) / 24
|
784
|
+
|
785
|
+
puts "New witness count that signed blocks grouped by date since #{after_timestamp} ..."
|
786
|
+
ap blocks.distinct.count(:all)
|
787
|
+
puts "# Total unique witnesses: %d" % [total_witness_count]
|
788
|
+
end
|
789
|
+
end
|
619
790
|
|
620
791
|
desc 'Build a new version of the hive_sql gem.'
|
621
792
|
task :build do
|
@@ -29,6 +29,11 @@ module HiveSQL
|
|
29
29
|
has_many :subscriptions, foreign_key: :subscriber, class_name: 'HiveSQL::CommunitySubscriber', primary_key: :name
|
30
30
|
has_many :subscribed_communities, through: :subscriptions, source: :community_record
|
31
31
|
|
32
|
+
has_many :proposals, foreign_key: :creator, class_name: 'HiveSQL::Proposal', primary_key: :name
|
33
|
+
|
34
|
+
has_many :proposal_votes, foreign_key: :voter, class_name: 'HiveSQL::ProposalApproval', primary_key: :name
|
35
|
+
has_many :approved_proposals, through: :proposal_votes, source: :proposal
|
36
|
+
|
32
37
|
scope :before, lambda { |before, field = 'created'| where("#{field} < ?", before) }
|
33
38
|
scope :after, lambda { |after, field = 'created'| where("#{field} > ?", after) }
|
34
39
|
scope :today, -> { after(1.day.ago) }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
1
3
|
module HiveSQL
|
2
4
|
class Block < HiveSQL::SqlBase
|
3
5
|
|
@@ -5,7 +7,17 @@ module HiveSQL
|
|
5
7
|
self.primary_key = :block_num
|
6
8
|
|
7
9
|
has_many :transactions, foreign_key: :block_num
|
8
|
-
|
10
|
+
|
11
|
+
# You have the actual trx_id that the blockchain knows about and you would
|
12
|
+
# like to get this corresponding block. Well, HiveSQL doesn't store that,
|
13
|
+
# so we have to do an RPC lookup.
|
14
|
+
scope :trx_id, lambda { |trx_id|
|
15
|
+
block_num = JSON[open("http://anyx.io/v1/account_history_api/get_transaction?id=#{trx_id}").read].tap do |tx|
|
16
|
+
tx['block_num']
|
17
|
+
end
|
18
|
+
|
19
|
+
where(block_num: block_num)
|
20
|
+
}
|
9
21
|
end
|
10
22
|
end
|
11
23
|
|
@@ -25,8 +25,11 @@ module HiveSQL
|
|
25
25
|
|
26
26
|
scope :normalized_json, -> { where("json_metadata LIKE '{%}' AND ISJSON(json_metadata) > 0") }
|
27
27
|
|
28
|
-
scope :app, lambda { |app|
|
29
|
-
normalized_json.where("JSON_VALUE(json_metadata, '$.app') LIKE ?", "#{app}/%")
|
28
|
+
scope :app, lambda { |app, forward = true|
|
29
|
+
r = normalized_json.where("JSON_VALUE(json_metadata, '$.app') LIKE ?", "#{app}/%")
|
30
|
+
r = where.not(id: r.select(:id)) unless forward
|
31
|
+
|
32
|
+
r
|
30
33
|
}
|
31
34
|
|
32
35
|
scope :app_version, lambda { |version|
|
@@ -37,12 +40,15 @@ module HiveSQL
|
|
37
40
|
scope :author, lambda {|author| joins(:author_record).where(author: author)}
|
38
41
|
|
39
42
|
scope :tagged, lambda { |tag, options = {exclude_category: false}|
|
43
|
+
tag = [tag].flatten
|
40
44
|
exclude_category = !!options[:exclude_category]
|
45
|
+
tagged_posts = HiveSQL::Tag.where(tag: tag).select(:comment_ID)
|
46
|
+
tagged_posts = tagged_posts.where("comment_ID > ?", minimum(:ID))
|
41
47
|
|
42
48
|
if exclude_category
|
43
|
-
where(id:
|
49
|
+
where(id: tagged_posts.select(:comment_ID))
|
44
50
|
else
|
45
|
-
where("ID IN(?) OR category = ?",
|
51
|
+
where("ID IN(?) OR category = ?", tagged_posts.select(:comment_ID), tag.first)
|
46
52
|
end
|
47
53
|
}
|
48
54
|
|
@@ -66,6 +72,32 @@ module HiveSQL
|
|
66
72
|
where("JSON_VALUE(beneficiaries, '$.account') IN(?)", [account].flatten)
|
67
73
|
}
|
68
74
|
|
75
|
+
scope :query, lambda { |query, forward = true|
|
76
|
+
query = [query].flatten.map{|q| "%#{q}%"}
|
77
|
+
condition = []
|
78
|
+
sub_conditions = []
|
79
|
+
|
80
|
+
sub_conditions << "LOWER(author) LIKE ?"
|
81
|
+
sub_conditions << "LOWER(permlink) LIKE ?"
|
82
|
+
sub_conditions << "LOWER(category) LIKE ?"
|
83
|
+
sub_conditions << "LOWER(parent_author) LIKE ?"
|
84
|
+
sub_conditions << "LOWER(parent_permlink) LIKE ?"
|
85
|
+
sub_conditions << "LOWER(title) LIKE ?"
|
86
|
+
sub_conditions << "LOWER(body) LIKE ?"
|
87
|
+
sub_conditions << "LOWER(json_metadata) LIKE ?"
|
88
|
+
sub_conditions << "LOWER(beneficiaries) LIKE ?"
|
89
|
+
sub_conditions << "LOWER(root_title) LIKE ?"
|
90
|
+
|
91
|
+
query.each do |q|
|
92
|
+
condition += sub_conditions
|
93
|
+
end
|
94
|
+
|
95
|
+
r = where(condition.join(' OR '), *(query * sub_conditions.size))
|
96
|
+
r = where.not(id: r.select(:id)) unless forward
|
97
|
+
|
98
|
+
r
|
99
|
+
}
|
100
|
+
|
69
101
|
def self.find_by_author(author)
|
70
102
|
where(author: author).first
|
71
103
|
end
|
@@ -85,6 +117,10 @@ module HiveSQL
|
|
85
117
|
def tag_names
|
86
118
|
tags.pluck(:tag)
|
87
119
|
end
|
120
|
+
|
121
|
+
def hydrated_json_metadata
|
122
|
+
JSON[json_metadata] rescue {}
|
123
|
+
end
|
88
124
|
end
|
89
125
|
end
|
90
126
|
|
@@ -18,17 +18,23 @@ end
|
|
18
18
|
# num_pow_witnesses: integer,
|
19
19
|
# virtual_supply: money,
|
20
20
|
# current_supply: money,
|
21
|
+
# current_supply_symbol: varchar,
|
21
22
|
# confidential_supply: money,
|
23
|
+
# confidential_supply_symbol: varchar,
|
22
24
|
# current_hbd_supply: money,
|
25
|
+
# current_hbd_supply_symbol: varchar,
|
23
26
|
# confidential_hbd_supply: money,
|
24
27
|
# total_vesting_fund_hive: money,
|
25
28
|
# total_vesting_fund_hive_symbol: varchar,
|
26
29
|
# total_vesting_shares: money,
|
27
30
|
# total_vesting_shares_symbol: varchar,
|
28
31
|
# total_reward_fund_hive: money,
|
32
|
+
# total_reward_fund_hive_symbol: varchar,
|
29
33
|
# total_reward_shares2: varchar,
|
30
34
|
# pending_rewarded_vesting_shares: varchar,
|
35
|
+
# pending_rewarded_vesting_shares_symbol: varchar,
|
31
36
|
# pending_rewarded_vesting_hive: varchar,
|
37
|
+
# pending_rewarded_vesting_hive_symbol: varchar,
|
32
38
|
# hbd_interest_rate: integer,
|
33
39
|
# hbd_print_rate: integer,
|
34
40
|
# average_block_size: integer,
|
@@ -41,5 +47,24 @@ end
|
|
41
47
|
# vote_power_reserve_rate: integer,
|
42
48
|
# current_reserve_ratio: integer,
|
43
49
|
# vote_regeneration_per_day: integer,
|
44
|
-
# hive_per_vest: money
|
50
|
+
# hive_per_vest: money,
|
51
|
+
# required_actions_partition_percent: integer,
|
52
|
+
# target_votes_per_period: integer,
|
53
|
+
# delegation_return_period: integer,
|
54
|
+
# reverse_auction_seconds: integer,
|
55
|
+
# available_account_subsidies: integer,
|
56
|
+
# hbd_stop_percent: integer,
|
57
|
+
# hbd_start_percent: integer,
|
58
|
+
# next_maintenance_time: timestamp,
|
59
|
+
# last_budget_time: timestamp,
|
60
|
+
# content_reward_percent: integer,
|
61
|
+
# vesting_reward_percent: integer,
|
62
|
+
# sps_fund_percent: integer,
|
63
|
+
# sps_interval_ledger: integer,
|
64
|
+
# sps_interval_ledger_symbol: varchar,
|
65
|
+
# downvote_pool_percent: integer,
|
66
|
+
# smt_creation_fee: money,
|
67
|
+
# smt_creation_fee_symbol: varchar,
|
68
|
+
# price_hive_usd: money,
|
69
|
+
# price_hbd_usd: money
|
45
70
|
# )
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
class Proposal < HiveSQL::SqlBase
|
3
|
+
self.table_name = :Proposals
|
4
|
+
|
5
|
+
belongs_to :creator_record, foreign_key: :creator, class_name: 'HiveSQL::Account', primary_key: :name
|
6
|
+
belongs_to :receiver_record, foreign_key: :receiver, class_name: 'HiveSQL::Account', primary_key: :name
|
7
|
+
has_many :approvals, foreign_key: :proposal_id, class_name: 'HiveSQL::ProposalApproval', primary_key: :id
|
8
|
+
has_many :voters, through: :approvals, source: :voter
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# Structure
|
13
|
+
#
|
14
|
+
# HiveSQL::Follower(
|
15
|
+
# id integer,
|
16
|
+
# creator varchar,
|
17
|
+
# receiver varchar,
|
18
|
+
# start_date timestamp,
|
19
|
+
# end_date timestamp,
|
20
|
+
# daily_pay money,
|
21
|
+
# daily_pay_symbol varchar(3),
|
22
|
+
# subject varchar,
|
23
|
+
# permlink varchar,
|
24
|
+
# total_votes integer,
|
25
|
+
# deleted boolean
|
26
|
+
# )
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
class ProposalApproval < HiveSQL::SqlBase
|
3
|
+
self.table_name = :ProposalsApprovals
|
4
|
+
|
5
|
+
belongs_to :proposal, foreign_key: :proposal_id, class_name: 'Proposal', primary_key: :id
|
6
|
+
belongs_to :voter_record, foreign_key: :voter, class_name: 'Account', primary_key: :name
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
# Structure
|
11
|
+
#
|
12
|
+
# HiveSQL::Follower(
|
13
|
+
# proposal_id integer,
|
14
|
+
# voter varchar
|
15
|
+
# )
|
@@ -3,8 +3,8 @@ module HiveSQL
|
|
3
3
|
|
4
4
|
self.table_name = :Reblogs
|
5
5
|
|
6
|
-
belongs_to :
|
7
|
-
belongs_to :
|
6
|
+
belongs_to :account_record, foreign_key: :account, class_name: 'Account', primary_key: :name
|
7
|
+
belongs_to :author_record, foreign_key: :author, class_name: 'Account', primary_key: :name
|
8
8
|
|
9
9
|
def comment; Comment::find_by(author: author, permlink: permlink); end
|
10
10
|
end
|
@@ -14,6 +14,20 @@ module HiveSQL
|
|
14
14
|
|
15
15
|
scope :type, lambda { |type| where(type: type) }
|
16
16
|
|
17
|
+
scope :by, lambda {|account_name|
|
18
|
+
account_name = [account_name].flatten
|
19
|
+
sub_selects = []
|
20
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxAccountCreates WHERE creator IN (?))'
|
21
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxAccountRecovers WHERE recovery_account IN (?))'
|
22
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxAccountUpdates WHERE account IN (?))'
|
23
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxAccountWitnessProxies WHERE account IN (?))'
|
24
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxAccountWitnessVotes WHERE account IN (?))'
|
25
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxClaimRewardBalances WHERE account IN (?))'
|
26
|
+
sub_selects << 'tx_id IN (SELECT tx_id FROM TxComments WHERE author IN (?))'
|
27
|
+
|
28
|
+
where(sub_selects.join(' OR '), *([account_name] * sub_selects.size))
|
29
|
+
}
|
30
|
+
|
17
31
|
# So you have a Transaction#tx_id and you want to know what the operation was
|
18
32
|
# that lead to it. Well, that's tricky because all of the ops are in their
|
19
33
|
# own tables. This method will (slowly) try to find the appropriate table.
|
@@ -10,7 +10,7 @@ module HiveSQL
|
|
10
10
|
|
11
11
|
ids = active.map do |p|
|
12
12
|
p.id unless AccountWitnessProxy.where(account: p.account).
|
13
|
-
where.not(proxy: p.
|
13
|
+
where.not(proxy: p.proxy).
|
14
14
|
where('timestamp > ?', p.timestamp).exists?
|
15
15
|
end
|
16
16
|
|
@@ -26,6 +26,6 @@ end
|
|
26
26
|
# ID: integer,
|
27
27
|
# tx_id: integer,
|
28
28
|
# account: varchar,
|
29
|
-
#
|
29
|
+
# proxy: varchar,
|
30
30
|
# timestamp: datetime
|
31
31
|
# )
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
module Tx
|
3
|
+
class ProposalCreate < HiveSQL::SqlBase
|
4
|
+
belongs_to :voter_record, foreign_key: :account, primary_key: :voter, class_name: 'HiveSQL::Account'
|
5
|
+
|
6
|
+
self.table_name = :TxProposalCreates
|
7
|
+
|
8
|
+
scope :proposal, lambda { |id, invert = false|
|
9
|
+
if !!invert
|
10
|
+
where("? NOT IN (SELECT value FROM OPENJSON(proposal_ids,'$'))", id)
|
11
|
+
else
|
12
|
+
where("? IN (SELECT value FROM OPENJSON(proposal_ids,'$'))", id)
|
13
|
+
end
|
14
|
+
}
|
15
|
+
|
16
|
+
scope :approve, lambda {|approve = true| where(approve: approve)}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Structure
|
22
|
+
#
|
23
|
+
# HiveSQL::Tx::ProposalCreate(
|
24
|
+
# ID: integer,
|
25
|
+
# tx_id: integer,
|
26
|
+
# creator: varchar,
|
27
|
+
# receiver: varchar,
|
28
|
+
# start_date: datetime
|
29
|
+
# end_date: datetime
|
30
|
+
# daily_pay: money,
|
31
|
+
# daily_pay_symbol: boolean,
|
32
|
+
# subject: varchar,
|
33
|
+
# permlink: varchar,
|
34
|
+
# timestamp: datetime
|
35
|
+
# )
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module HiveSQL
|
2
2
|
module Tx
|
3
|
-
class
|
3
|
+
class ProposalVoteUpdate < HiveSQL::SqlBase
|
4
4
|
belongs_to :voter_record, foreign_key: :account, primary_key: :voter, class_name: 'HiveSQL::Account'
|
5
5
|
|
6
|
-
self.table_name = :
|
6
|
+
self.table_name = :TxProposalVoteUpdates
|
7
7
|
|
8
8
|
scope :proposal, lambda { |id, invert = false|
|
9
9
|
if !!invert
|
@@ -20,7 +20,7 @@ end
|
|
20
20
|
|
21
21
|
# Structure
|
22
22
|
#
|
23
|
-
# HiveSQL::Tx::
|
23
|
+
# HiveSQL::Tx::ProposalVoteUpdate(
|
24
24
|
# ID: integer,
|
25
25
|
# tx_id: integer,
|
26
26
|
# voter: varchar,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
module Vo
|
3
|
+
class AccountCreated < HiveSQL::SqlBase
|
4
|
+
|
5
|
+
self.table_name = :VOAccountCreateds
|
6
|
+
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
# Structure
|
12
|
+
#
|
13
|
+
# HiveSQL::Vo::AccountCreated(
|
14
|
+
# ID: integer,
|
15
|
+
# block_num: integer,
|
16
|
+
# timestamp: datetime,
|
17
|
+
# new_account_name: varchar,
|
18
|
+
# creator: varchar,
|
19
|
+
# initial_vesting_shares: money,
|
20
|
+
# initial_vesting_shares_symbol: varchar,
|
21
|
+
# initial_delegation: money,
|
22
|
+
# initial_delegation_symbol: varchar
|
23
|
+
# )
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
module Vo
|
3
|
+
class ChangedRecoveryAccount < HiveSQL::SqlBase
|
4
|
+
|
5
|
+
self.table_name = :VOChangedRecoveryAccounts
|
6
|
+
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
# Structure
|
12
|
+
#
|
13
|
+
# HiveSQL::Vo::ChangedRecoveryAccount(
|
14
|
+
# ID: integer,
|
15
|
+
# block_num: integer,
|
16
|
+
# timestamp: datetime,
|
17
|
+
# account: varchar,
|
18
|
+
# old_recovery_account: varchar,
|
19
|
+
# new_recovery_account: varchar
|
20
|
+
# )
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
module Vo
|
3
|
+
class ClearNullAccountBalance < HiveSQL::SqlBase
|
4
|
+
|
5
|
+
self.table_name = :VOClearNullAccountBalances
|
6
|
+
|
7
|
+
def hydrated_total_cleared
|
8
|
+
JSON[total_cleared]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# Structure
|
15
|
+
#
|
16
|
+
# HiveSQL::Vo::ClearNullAccountBalance(
|
17
|
+
# ID: integer,
|
18
|
+
# block_num: integer,
|
19
|
+
# timestamp: datetime,
|
20
|
+
# total_cleared: json
|
21
|
+
# )
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module HiveSQL
|
2
|
+
module Vo
|
3
|
+
class CommentsVote < HiveSQL::SqlBase
|
4
|
+
|
5
|
+
self.table_name = :VOCommentsVotes
|
6
|
+
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
# Structure
|
12
|
+
#
|
13
|
+
# HiveSQL::Vo::CommentsVote(
|
14
|
+
# ID: integer,
|
15
|
+
# block_num: integer,
|
16
|
+
# timestamp: datetime,
|
17
|
+
# voter: varchar,
|
18
|
+
# author: varchar,
|
19
|
+
# permlink: varchar
|
20
|
+
# weight: integer,
|
21
|
+
# rshares: integer,
|
22
|
+
# total_vote_weight: integer,
|
23
|
+
# pending_payout: money
|
24
|
+
# pending_payout_symbol: varchar
|
25
|
+
# )
|
data/lib/hive_sql/version.rb
CHANGED
data/lib/hive_sql.rb
CHANGED
@@ -14,6 +14,8 @@ require "hive_sql/models/community_role"
|
|
14
14
|
require "hive_sql/models/delegation"
|
15
15
|
require "hive_sql/models/dynamic_global_properties"
|
16
16
|
require "hive_sql/models/follower"
|
17
|
+
require "hive_sql/models/proposal"
|
18
|
+
require "hive_sql/models/proposal_approval"
|
17
19
|
require "hive_sql/models/reblog"
|
18
20
|
require "hive_sql/models/tag"
|
19
21
|
require "hive_sql/models/token"
|
@@ -41,7 +43,8 @@ require "hive_sql/models/tx/feed"
|
|
41
43
|
require "hive_sql/models/tx/limit_order"
|
42
44
|
require "hive_sql/models/tx/pow"
|
43
45
|
require "hive_sql/models/tx/transfer"
|
44
|
-
require "hive_sql/models/tx/
|
46
|
+
require "hive_sql/models/tx/proposal_create"
|
47
|
+
require "hive_sql/models/tx/proposal_vote_update"
|
45
48
|
require "hive_sql/models/tx/vote"
|
46
49
|
require "hive_sql/models/tx/withdraw"
|
47
50
|
require "hive_sql/models/tx/withdraw_vesting_route"
|
@@ -52,10 +55,14 @@ require "hive_sql/models/tx/custom/witness"
|
|
52
55
|
require "hive_sql/models/tx/custom/reblog"
|
53
56
|
require "hive_sql/models/tx/custom/community"
|
54
57
|
|
58
|
+
require "hive_sql/models/vo/account_created"
|
55
59
|
require "hive_sql/models/vo/author_reward"
|
60
|
+
require "hive_sql/models/vo/changed_recovery_account"
|
61
|
+
require "hive_sql/models/vo/clear_null_account_balance"
|
56
62
|
require "hive_sql/models/vo/comment_benefactor_reward"
|
57
63
|
require "hive_sql/models/vo/comment_payout_update"
|
58
64
|
require "hive_sql/models/vo/comment_reward"
|
65
|
+
require "hive_sql/models/vo/comments_vote"
|
59
66
|
require "hive_sql/models/vo/curation_reward"
|
60
67
|
require "hive_sql/models/vo/fill_convert_request"
|
61
68
|
require "hive_sql/models/vo/fill_order"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hive_sql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Martin (inertia)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -34,42 +34,42 @@ dependencies:
|
|
34
34
|
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 12.1.0
|
40
37
|
- - "~>"
|
41
38
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
39
|
+
version: '13.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 13.0.6
|
43
43
|
type: :development
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 12.1.0
|
50
47
|
- - "~>"
|
51
48
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
49
|
+
version: '13.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 13.0.6
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: minitest-proveit
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - ">="
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 1.0.0
|
60
57
|
- - "~>"
|
61
58
|
- !ruby/object:Gem::Version
|
62
59
|
version: '1.0'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.0.0
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 1.0.0
|
70
67
|
- - "~>"
|
71
68
|
- !ruby/object:Gem::Version
|
72
69
|
version: '1.0'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.0.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: minitest
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,22 +174,22 @@ dependencies:
|
|
174
174
|
name: irb
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
|
-
- - ">="
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: 1.0.0
|
180
177
|
- - "~>"
|
181
178
|
- !ruby/object:Gem::Version
|
182
179
|
version: '1.0'
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 1.0.0
|
183
183
|
type: :development
|
184
184
|
prerelease: false
|
185
185
|
version_requirements: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
|
-
- - ">="
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 1.0.0
|
190
187
|
- - "~>"
|
191
188
|
- !ruby/object:Gem::Version
|
192
189
|
version: '1.0'
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 1.0.0
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
194
|
name: nokogiri
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -267,6 +267,9 @@ dependencies:
|
|
267
267
|
- - ">="
|
268
268
|
- !ruby/object:Gem::Version
|
269
269
|
version: '4'
|
270
|
+
- - "<"
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: 7.0.3
|
270
273
|
type: :runtime
|
271
274
|
prerelease: false
|
272
275
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -274,26 +277,29 @@ dependencies:
|
|
274
277
|
- - ">="
|
275
278
|
- !ruby/object:Gem::Version
|
276
279
|
version: '4'
|
280
|
+
- - "<"
|
281
|
+
- !ruby/object:Gem::Version
|
282
|
+
version: 7.0.3
|
277
283
|
- !ruby/object:Gem::Dependency
|
278
284
|
name: awesome_print
|
279
285
|
requirement: !ruby/object:Gem::Requirement
|
280
286
|
requirements:
|
281
|
-
- - ">="
|
282
|
-
- !ruby/object:Gem::Version
|
283
|
-
version: 1.7.0
|
284
287
|
- - "~>"
|
285
288
|
- !ruby/object:Gem::Version
|
286
289
|
version: '1.7'
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: 1.7.0
|
287
293
|
type: :runtime
|
288
294
|
prerelease: false
|
289
295
|
version_requirements: !ruby/object:Gem::Requirement
|
290
296
|
requirements:
|
291
|
-
- - ">="
|
292
|
-
- !ruby/object:Gem::Version
|
293
|
-
version: 1.7.0
|
294
297
|
- - "~>"
|
295
298
|
- !ruby/object:Gem::Version
|
296
299
|
version: '1.7'
|
300
|
+
- - ">="
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: 1.7.0
|
297
303
|
description: Rails compatible gem that provides full DB connection and models to HiveSQL.io
|
298
304
|
email:
|
299
305
|
- hive_sql@martin-studio.com
|
@@ -317,6 +323,8 @@ files:
|
|
317
323
|
- lib/hive_sql/models/delegation.rb
|
318
324
|
- lib/hive_sql/models/dynamic_global_properties.rb
|
319
325
|
- lib/hive_sql/models/follower.rb
|
326
|
+
- lib/hive_sql/models/proposal.rb
|
327
|
+
- lib/hive_sql/models/proposal_approval.rb
|
320
328
|
- lib/hive_sql/models/reblog.rb
|
321
329
|
- lib/hive_sql/models/sql_base.rb
|
322
330
|
- lib/hive_sql/models/tag.rb
|
@@ -345,16 +353,21 @@ files:
|
|
345
353
|
- lib/hive_sql/models/tx/feed.rb
|
346
354
|
- lib/hive_sql/models/tx/limit_order.rb
|
347
355
|
- lib/hive_sql/models/tx/pow.rb
|
356
|
+
- lib/hive_sql/models/tx/proposal_create.rb
|
357
|
+
- lib/hive_sql/models/tx/proposal_vote_update.rb
|
348
358
|
- lib/hive_sql/models/tx/transfer.rb
|
349
|
-
- lib/hive_sql/models/tx/update_proposal_vote.rb
|
350
359
|
- lib/hive_sql/models/tx/vote.rb
|
351
360
|
- lib/hive_sql/models/tx/withdraw.rb
|
352
361
|
- lib/hive_sql/models/tx/withdraw_vesting_route.rb
|
353
362
|
- lib/hive_sql/models/tx/witness_update.rb
|
363
|
+
- lib/hive_sql/models/vo/account_created.rb
|
354
364
|
- lib/hive_sql/models/vo/author_reward.rb
|
365
|
+
- lib/hive_sql/models/vo/changed_recovery_account.rb
|
366
|
+
- lib/hive_sql/models/vo/clear_null_account_balance.rb
|
355
367
|
- lib/hive_sql/models/vo/comment_benefactor_reward.rb
|
356
368
|
- lib/hive_sql/models/vo/comment_payout_update.rb
|
357
369
|
- lib/hive_sql/models/vo/comment_reward.rb
|
370
|
+
- lib/hive_sql/models/vo/comments_vote.rb
|
358
371
|
- lib/hive_sql/models/vo/curation_reward.rb
|
359
372
|
- lib/hive_sql/models/vo/fill_convert_request.rb
|
360
373
|
- lib/hive_sql/models/vo/fill_order.rb
|
@@ -388,7 +401,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
388
401
|
- !ruby/object:Gem::Version
|
389
402
|
version: '0'
|
390
403
|
requirements: []
|
391
|
-
rubygems_version: 3.
|
404
|
+
rubygems_version: 3.1.6
|
392
405
|
signing_key:
|
393
406
|
specification_version: 4
|
394
407
|
summary: Ruby/Rails wrapper for HiveSQL.io
|