lib/cns/etherscan2.rb in cns-0.1.1 vs lib/cns/etherscan2.rb in cns-0.1.2

- old
+ new

@@ -1,11 +1,22 @@ # frozen_string_literal: true # @author Hernani Rodrigues Vaz module Cns - # classe para processar carteiras & transacoes normais e tokens + # classe para processar transacoes do etherscan class Etherscan + # @return [String] texto carteiras & transacoes & ajuste dias + def mostra_resumo + return unless dados.count.positive? + + puts("\nid address etherscan nm tk bigquery nm tk") + dados.each { |e| puts(formata_carteira(e)) } + mostra_transacao_norml + mostra_transacao_token + mostra_configuracao_ajuste_dias + end + # @param [Hash] hjn dados juntos bigquery & etherscan # @return [String] texto formatado duma carteira def formata_carteira(hjn) format( '%<s1>-6.6s %<s2>-32.32s ', @@ -17,16 +28,16 @@ # @param (see formata_carteira) # @return [String] texto formatado valores duma carteira def formata_valores(hjn) format( '%<v1>11.6f %<n1>2i %<n3>2i %<v2>12.6f %<n2>2i %<n4>2i %<ok>-3s', - v1: hjn[:bs], - n1: hjn[:bt].count, - n3: hjn[:bk].count, - v2: hjn[:es], - n2: hjn[:et].count, - n4: hjn[:ek].count, + v1: hjn[:es], + n1: hjn[:et].count, + n3: hjn[:ek].count, + v2: hjn[:bs], + n2: hjn[:bt].count, + n4: hjn[:bk].count, ok: ok?(hjn) ? 'OK' : 'NOK' ) end # @param (see formata_carteira) @@ -40,16 +51,17 @@ # @param add (see filtrar_tx) # @param [Integer] max chars a mostrar # @return [String] endereco formatado def formata_endereco(add, max) i = Integer((max - 2) / 2) - e = (max <= 20 ? dbq[:wb].select { |s| s[:ax] == add }.first : nil) || { id: add } + e = (max <= 20 ? bqd[:wb].select { |s| s[:ax] == add }.first : nil) || { id: add } max < 7 ? 'erro' : "#{e[:id][0, i - 3]}..#{add[-i - 3..]}" end - # @param [Hash] htx transacao normal - # @return [String] texto formatado transacao normal + # @example (see Apibc#norml_es) + # @param [Hash] htx transacao normal etherscan + # @return [String] texto formatado transacao normal etherscan def formata_transacao_norml(htx) format( '%<bn>9i %<fr>-20.20s %<to>-20.20s %<dt>10.10s %<vl>17.6f', bn: htx[:blockNumber], fr: formata_endereco(htx[:from], 20), @@ -57,32 +69,22 @@ dt: Time.at(Integer(htx[:timeStamp])), vl: (htx[:value].to_d / 10**18).round(10) ) end - # @param [Hash] hkx transacao token - # @return [String] texto formatado transacao token + # @example (see Apibc#token_es) + # @param [Hash] hkx transacao token etherscan + # @return [String] texto formatado transacao token etherscan def formata_transacao_token(hkx) format( '%<bn>9i %<fr>-20.20s %<to>-20.20s %<dt>10.10s %<vl>11.3f %<sy>-5.5s', bn: hkx[:blockNumber], fr: formata_endereco(hkx[:from], 20), to: formata_endereco(hkx[:to], 20), dt: Time.at(Integer(hkx[:timeStamp])), vl: (hkx[:value].to_d / 10**18).round(10), sy: hkx[:tokenSymbol] ) - end - - # @return [String] texto carteiras & transacoes & ajuste dias - def mostra_resumo - return unless dados.count.positive? - - puts("\nid address bigquery nm tk etherscan nm tk") - dados.each { |e| puts(formata_carteira(e)) } - mostra_transacao_norml - mostra_transacao_token - mostra_configuracao_ajuste_dias end # @return [String] texto transacoes normais def mostra_transacao_norml return unless ops[:v] && novtx.count.positive?