cns 0.7.7 → 0.7.8

Sign up to get free protection for your applications and to get access to all the features.
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