cns 0.7.7 → 0.7.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daa2f08ad64618d371bd4a5d0af2b481f9ad2e33760d10262ecf11b1581824a8
4
- data.tar.gz: f8128a31e98e12afdfdd8e7705548f9c1bc51d3b7f39131c5bb16389ac9e5954
3
+ metadata.gz: 48a02e454e207a6aa48b986a36958b09eaa5c2c62ed68afb03ce29e65037fc34
4
+ data.tar.gz: 10303468b212b86461eb1065b4c1a9da252c5eaec764983a167b6277657a62e7
5
5
  SHA512:
6
- metadata.gz: 449ae96de20bd33e218ec16e2ddc72460a2c5f603cd0a7b1c376c2fc89a0a8da6cabc5b5e22b8e44d18e24ea756ccdb55394034a27454e87bb400c2419bc867b
7
- data.tar.gz: cec6b5f69081f1e5f1840dfd6af2f10576835041d1a434af18e21282df16f90377edd568ae9e404f022ee3dc127178026f8982132efa2c556df21c2ff95d219a
6
+ metadata.gz: 16cf654b5201898eb5fcbd4a4531244969b80042bbaa79ff120501140ffedd3eaf4345cf7aaa46cae8930374ad8622a7f667aebccd3fc24a8e76e10dac8fab1c
7
+ data.tar.gz: f0e7ab1c9f1c83e6977e833b7e13b548419ab6b98f941c1f76765b4edd7b4832c13c0dc2ff3fd4752bec16862ee0545ad178c2622dc424caa7e4120d64fa26d1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cns (0.7.7)
4
+ cns (0.7.8)
5
5
  curb
6
6
  faraday
7
7
  google-cloud-bigquery
data/lib/cns/apibc.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require("faraday")
4
- require("json")
3
+ require('faraday')
4
+ require('json')
5
5
 
6
6
  # @author Hernani Rodrigues Vaz
7
7
  module Cns
@@ -11,15 +11,15 @@ module Cns
11
11
  # @param addresses [Array<String>] List of ETH addresses (max 20)
12
12
  # @return [Array<Hash>] List of addresses with balances
13
13
  def account_es(addresses)
14
- response = etherscan_req("balancemulti", addresses.join(","), 1, tag: "latest")
15
- response[:status] == "1" ? response.dig(:result) : []
14
+ response = etherscan_req('balancemulti', addresses.join(','), 1, tag: 'latest')
15
+ response[:status] == '1' ? response.dig(:result) : []
16
16
  end
17
17
 
18
18
  # Get EOS account information
19
19
  # @param address [String] EOS account name
20
20
  # @return [Hash] Account details with resources
21
21
  def account_gm(address)
22
- response = greymass_req("/v1/chain/get_account", { account_name: address })
22
+ response = greymass_req('/v1/chain/get_account', { account_name: address })
23
23
  response || { core_liquid_balance: 0, total_resources: { net_weight: 0, cpu_weight: 0 } }
24
24
  end
25
25
 
@@ -27,35 +27,35 @@ module Cns
27
27
  # @param [String] address endereco ETH
28
28
  # @return [Array<Hash>] lista transacoes normais etherscan
29
29
  def norml_es(address)
30
- pag_etherscan_req("txlist", address)
30
+ pag_etherscan_req('txlist', address)
31
31
  end
32
32
 
33
33
  # Get internal transactions for ETH address
34
34
  # @param (see norml_es)
35
35
  # @return [Array<Hash>] lista transacoes internas etherscan
36
36
  def inter_es(address)
37
- pag_etherscan_req("txlistinternal", address)
37
+ pag_etherscan_req('txlistinternal', address)
38
38
  end
39
39
 
40
40
  # Get mined blocks for ETH address
41
41
  # @param (see norml_es)
42
42
  # @return [Array<Hash>] lista blocos etherscan
43
43
  def block_es(address)
44
- pag_etherscan_req("getminedblocks", address, blocktype: "blocks")
44
+ pag_etherscan_req('getminedblocks', address, blocktype: 'blocks')
45
45
  end
46
46
 
47
47
  # Get withdrawals for ETH address
48
48
  # @param (see norml_es)
49
49
  # @return [Array<Hash>] lista blocos etherscan
50
50
  def withw_es(address)
51
- pag_etherscan_req("txsBeaconWithdrawal", address)
51
+ pag_etherscan_req('txsBeaconWithdrawal', address)
52
52
  end
53
53
 
54
54
  # Get token transfers for ETH address
55
55
  # @param (see norml_es)
56
56
  # @return [Array<Hash>] lista token transfer events etherscan
57
57
  def token_es(address)
58
- pag_etherscan_req("tokentx", address)
58
+ pag_etherscan_req('tokentx', address)
59
59
  end
60
60
 
61
61
  # Get complete transaction history for EOS account
@@ -65,7 +65,7 @@ module Cns
65
65
  actions = []
66
66
  pos = 0
67
67
  loop do
68
- response = greymass_req("/v1/history/get_actions", { account_name: address, pos: pos, offset: 100 })
68
+ response = greymass_req('/v1/history/get_actions', { account_name: address, pos: pos, offset: 100 })
69
69
  batch = response[:actions] || []
70
70
  actions += batch
71
71
  break if batch.size < 100
@@ -80,23 +80,27 @@ module Cns
80
80
  # Reusable Faraday connection
81
81
  def connection(base_url)
82
82
  Faraday.new(base_url) do |conn|
83
- conn.headers = { content_type: "application/json", accept: "application/json", user_agent: "blockchain-api-client" }
84
- conn.adapter Faraday.default_adapter
83
+ conn.headers = {
84
+ content_type: 'application/json',
85
+ accept: 'application/json',
86
+ user_agent: 'blockchain-api-client'
87
+ }
88
+ conn.adapter(Faraday.default_adapter)
85
89
  end
86
90
  end
87
91
 
88
92
  # Generic Etherscan API request handler
89
93
  def etherscan_req(action, address, page = 1, params = {})
90
94
  params = {
91
- module: "account",
95
+ module: 'account',
92
96
  action: action,
93
97
  address: address,
94
98
  page: page,
95
- apikey: ENV.fetch("ETHERSCAN_API_KEY"),
99
+ apikey: ENV.fetch('ETHERSCAN_API_KEY')
96
100
  }.merge(params)
97
- parse_json(connection("https://api.etherscan.io").get("/api", params).body)
101
+ parse_json(connection('https://api.etherscan.io').get('/api', params).body)
98
102
  rescue Faraday::Error, JSON::ParserError
99
- { status: "0", result: [] }
103
+ { status: '0', result: [] }
100
104
  end
101
105
 
102
106
  # Generic method for paginated Etherscan requests
@@ -109,11 +113,11 @@ module Cns
109
113
  page = 1
110
114
  loop do
111
115
  response = etherscan_req(action, address, page, params)
112
- break unless response[:status] == "1"
116
+ break unless response[:status] == '1'
113
117
 
114
118
  batch = response[:result] || []
115
119
  results += batch
116
- break if batch.size < 10000
120
+ break if batch.size < 10_000
117
121
 
118
122
  page += 1
119
123
  end
@@ -122,7 +126,7 @@ module Cns
122
126
 
123
127
  # Generic Greymass API request handler
124
128
  def greymass_req(endpoint, payload)
125
- parse_json((connection("https://eos.greymass.com").post(endpoint) { |req| req.body = payload.to_json }).body)
129
+ parse_json((connection('https://eos.greymass.com').post(endpoint) { |req| req.body = payload.to_json }).body)
126
130
  rescue Faraday::Error, JSON::ParserError
127
131
  nil
128
132
  end
data/lib/cns/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cns
4
- VERSION = '0.7.7'
4
+ VERSION = '0.7.8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.7
4
+ version: 0.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hernâni Rodrigues Vaz