cns 0.3.3 → 0.3.5
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/Gemfile.lock +1 -1
 - data/lib/cns/apibc.rb +34 -0
 - data/lib/cns/bigquery1.rb +7 -6
 - data/lib/cns/bigquery2.rb +1 -0
 - data/lib/cns/bigquery3.rb +18 -0
 - data/lib/cns/etherscan1.rb +19 -0
 - data/lib/cns/etherscan2.rb +30 -6
 - data/lib/cns/version.rb +1 -1
 - data/ruby-lint.yml +10 -0
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: '07580f6979525f8cc820f784769c92c439a5609cd167af622ff03325bd889f5a'
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f6038962e0dae1af567bccbcc50cc9eb82fa43f0520d431bad6020fec6d02028
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ae31f87a851c5e930a4bb516dbee3c69ede3dccd9772cbb96d9ad63d6ac1ce4428a61839cb3275fc9f59db2f31777cfad7ced54bfc669d50a807ce02a2072ddd
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: dcb4d565c017bb425895f4ba32ad8e8644f6cbbb61a187ea3622bfcc4ed709e7a6f5cc24b96de9a442cd817e6093b7f4cc4518d1c98b9858bd96acddeb62e9f4
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/lib/cns/apibc.rb
    CHANGED
    
    | 
         @@ -206,6 +206,40 @@ module Cns 
     | 
|
| 
       206 
206 
     | 
    
         
             
                  aes
         
     | 
| 
       207 
207 
     | 
    
         
             
                end
         
     | 
| 
       208 
208 
     | 
    
         | 
| 
      
 209 
     | 
    
         
            +
                # @example withw_es
         
     | 
| 
      
 210 
     | 
    
         
            +
                # {
         
     | 
| 
      
 211 
     | 
    
         
            +
                #    "status":"1",
         
     | 
| 
      
 212 
     | 
    
         
            +
                #    "message":"OK",
         
     | 
| 
      
 213 
     | 
    
         
            +
                #    "result":[
         
     | 
| 
      
 214 
     | 
    
         
            +
                #       {
         
     | 
| 
      
 215 
     | 
    
         
            +
                #          "withdrawalIndex":"14",
         
     | 
| 
      
 216 
     | 
    
         
            +
                #          "validatorIndex":"119023",
         
     | 
| 
      
 217 
     | 
    
         
            +
                #          "address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
         
     | 
| 
      
 218 
     | 
    
         
            +
                #          "amount":"3244098967",
         
     | 
| 
      
 219 
     | 
    
         
            +
                #          "blockNumber":"17034877",
         
     | 
| 
      
 220 
     | 
    
         
            +
                #          "timestamp":"1681338599"
         
     | 
| 
      
 221 
     | 
    
         
            +
                #       }
         
     | 
| 
      
 222 
     | 
    
         
            +
                #    ]
         
     | 
| 
      
 223 
     | 
    
         
            +
                # }
         
     | 
| 
      
 224 
     | 
    
         
            +
                # @param (see norml_es)
         
     | 
| 
      
 225 
     | 
    
         
            +
                # @return [Array<Hash>] lista blocos etherscan
         
     | 
| 
      
 226 
     | 
    
         
            +
                def withw_es(add, pag = 0, aes = [])
         
     | 
| 
      
 227 
     | 
    
         
            +
                  res = JSON.parse(
         
     | 
| 
      
 228 
     | 
    
         
            +
                    conn_es.get(
         
     | 
| 
      
 229 
     | 
    
         
            +
                      '/api',
         
     | 
| 
      
 230 
     | 
    
         
            +
                      action: 'txsBeaconWithdrawal',
         
     | 
| 
      
 231 
     | 
    
         
            +
                      address: add,
         
     | 
| 
      
 232 
     | 
    
         
            +
                      offset: 10_000,
         
     | 
| 
      
 233 
     | 
    
         
            +
                      page: pag += 1
         
     | 
| 
      
 234 
     | 
    
         
            +
                    ).body,
         
     | 
| 
      
 235 
     | 
    
         
            +
                    symbolize_names: true
         
     | 
| 
      
 236 
     | 
    
         
            +
                  )[:result]
         
     | 
| 
      
 237 
     | 
    
         
            +
                  aes += res
         
     | 
| 
      
 238 
     | 
    
         
            +
                  res.count < 10_000 ? aes : withw_es(add, pag, aes)
         
     | 
| 
      
 239 
     | 
    
         
            +
                rescue StandardError
         
     | 
| 
      
 240 
     | 
    
         
            +
                  aes
         
     | 
| 
      
 241 
     | 
    
         
            +
                end
         
     | 
| 
      
 242 
     | 
    
         
            +
             
     | 
| 
       209 
243 
     | 
    
         
             
                # @example token_es
         
     | 
| 
       210 
244 
     | 
    
         
             
                #  {
         
     | 
| 
       211 
245 
     | 
    
         
             
                #    status: '1',
         
     | 
    
        data/lib/cns/bigquery1.rb
    CHANGED
    
    | 
         @@ -34,21 +34,21 @@ module Cns 
     | 
|
| 
       34 
34 
     | 
    
         
             
                def mostra_tudo
         
     | 
| 
       35 
35 
     | 
    
         
             
                  apius.mostra_resumo
         
     | 
| 
       36 
36 
     | 
    
         
             
                  apide.mostra_resumo
         
     | 
| 
       37 
     | 
    
         
            -
                  apifr.mostra_resumo
         
     | 
| 
       38 
     | 
    
         
            -
                  apimt.mostra_resumo
         
     | 
| 
      
 37 
     | 
    
         
            +
                  #apifr.mostra_resumo
         
     | 
| 
      
 38 
     | 
    
         
            +
                  #apimt.mostra_resumo
         
     | 
| 
       39 
39 
     | 
    
         
             
                  apies.mostra_resumo
         
     | 
| 
       40 
40 
     | 
    
         
             
                  apigm.mostra_resumo
         
     | 
| 
       41 
     | 
    
         
            -
                  # 
     | 
| 
      
 41 
     | 
    
         
            +
                  #apibc.mostra_resumo
         
     | 
| 
       42 
42 
     | 
    
         
             
                end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
                # insere (caso existam) dados novos kraken/bitcoinde/paymium/therock/etherscan/greymass/beaconchain no bigquery
         
     | 
| 
       45 
45 
     | 
    
         
             
                def processa_tudo
         
     | 
| 
       46 
46 
     | 
    
         
             
                  processa_us
         
     | 
| 
       47 
47 
     | 
    
         
             
                  processa_de
         
     | 
| 
       48 
     | 
    
         
            -
                  processa_frmt
         
     | 
| 
      
 48 
     | 
    
         
            +
                  #processa_frmt
         
     | 
| 
       49 
49 
     | 
    
         
             
                  processa_eth
         
     | 
| 
       50 
50 
     | 
    
         
             
                  processa_eos
         
     | 
| 
       51 
     | 
    
         
            -
                  # 
     | 
| 
      
 51 
     | 
    
         
            +
                  #processa_bc
         
     | 
| 
       52 
52 
     | 
    
         
             
                end
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
                # insere transacoes blockchain novas nas tabelas etht (norml), ethi (internas), ethp (block), ethk (token)
         
     | 
| 
         @@ -56,6 +56,7 @@ module Cns 
     | 
|
| 
       56 
56 
     | 
    
         
             
                  puts(format("%<n>4i TRANSACOES ETH NORMAIS\tINSERIDAS etht", n: apies.novtx.empty? ? 0 : dml(etht_ins)))
         
     | 
| 
       57 
57 
     | 
    
         
             
                  puts(format("%<n>4i TRANSACOES ETH INTERNAS\tINSERIDAS ethi", n: apies.novix.empty? ? 0 : dml(ethi_ins)))
         
     | 
| 
       58 
58 
     | 
    
         
             
                  puts(format("%<n>4i TRANSACOES ETH BLOCK\tINSERIDAS ethp", n: apies.novpx.empty? ? 0 : dml(ethp_ins)))
         
     | 
| 
      
 59 
     | 
    
         
            +
                  puts(format("%<n>4i TRANSACOES ETH WITHDRAWALS\tINSERIDAS ethw", n: apies.novwx.empty? ? 0 : dml(ethw_ins)))
         
     | 
| 
       59 
60 
     | 
    
         
             
                  puts(format("%<n>4i TOKENS\tETH\t\tINSERIDAS ethk", n: apies.novkx.empty? ? 0 : dml(ethk_ins)))
         
     | 
| 
       60 
61 
     | 
    
         
             
                end
         
     | 
| 
       61 
62 
     | 
    
         | 
| 
         @@ -88,7 +89,7 @@ module Cns 
     | 
|
| 
       88 
89 
     | 
    
         
             
                def processa_bc
         
     | 
| 
       89 
90 
     | 
    
         
             
                  # puts(format("%<n>4i ATTESTATIONS INSERIDAS #{BD}.eth2at", n: apibc.novtx.empty? ? 0 : dml(eth2at_ins)))
         
     | 
| 
       90 
91 
     | 
    
         
             
                  # puts(format("%<n>4i PROPOSALS INSERIDAS #{BD}.eth2pr", n: apibc.novkx.empty? ? 0 : dml(eth2pr_ins)))
         
     | 
| 
       91 
     | 
    
         
            -
                  puts(format("%<n>4i BALANCES\tETH2\t\tINSERIDOS eth2bh", n: apibc.nov.empty? ? 0 : dml(eth2bh_ins)))
         
     | 
| 
      
 92 
     | 
    
         
            +
                  puts(format("%<n>4i BALANCES\tETH2\t\tINSERIDOS #{BD}.eth2bh", n: apibc.nov.empty? ? 0 : dml(eth2bh_ins)))
         
     | 
| 
       92 
93 
     | 
    
         
             
                end
         
     | 
| 
       93 
94 
     | 
    
         | 
| 
       94 
95 
     | 
    
         
             
                # cria job bigquery & verifica execucao
         
     | 
    
        data/lib/cns/bigquery2.rb
    CHANGED
    
    
    
        data/lib/cns/bigquery3.rb
    CHANGED
    
    | 
         @@ -29,6 +29,12 @@ module Cns 
     | 
|
| 
       29 
29 
     | 
    
         
             
                  ") VALUES#{apies.novpx.map { |obj| ethp_1val(obj) }.join(',')}"
         
     | 
| 
       30 
30 
     | 
    
         
             
                end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
                # @return [String] comando insert SQL formatado ethw (withdrawals)
         
     | 
| 
      
 33 
     | 
    
         
            +
                def ethw_ins
         
     | 
| 
      
 34 
     | 
    
         
            +
                  "insert #{BD}.ethw(withdrawalindex,validatorindex,address,amount,blocknumber,timestamp" \
         
     | 
| 
      
 35 
     | 
    
         
            +
                  ") VALUES#{apies.novwx.map { |obj| ethw_1val(obj) }.join(',')}"
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
       32 
38 
     | 
    
         
             
                # @return [String] comando insert SQL formatado ethk (token)
         
     | 
| 
       33 
39 
     | 
    
         
             
                def ethk_ins
         
     | 
| 
       34 
40 
     | 
    
         
             
                  "insert #{BD}.ethk(blocknumber,timestamp,txhash,nonce,blockhash,transactionindex,axfrom,axto,iax," \
         
     | 
| 
         @@ -132,6 +138,18 @@ module Cns 
     | 
|
| 
       132 
138 
     | 
    
         
             
                  "'#{htx[:iax]}')"
         
     | 
| 
       133 
139 
     | 
    
         
             
                end
         
     | 
| 
       134 
140 
     | 
    
         | 
| 
      
 141 
     | 
    
         
            +
                # @example (see Apibc#block_es)
         
     | 
| 
      
 142 
     | 
    
         
            +
                # @param [Hash] htx transacao withdrawals etherscan
         
     | 
| 
      
 143 
     | 
    
         
            +
                # @return [String] valores formatados ethi (withdrawals parte1)
         
     | 
| 
      
 144 
     | 
    
         
            +
                def ethw_1val(htx)
         
     | 
| 
      
 145 
     | 
    
         
            +
                  "(#{Integer(htx[:withdrawalIndex])}," \
         
     | 
| 
      
 146 
     | 
    
         
            +
                  "#{Integer(htx[:validatorIndex])}," \
         
     | 
| 
      
 147 
     | 
    
         
            +
                  "'#{htx[:address]}'," \
         
     | 
| 
      
 148 
     | 
    
         
            +
                  "cast('#{htx[:amount]}' as numeric)," \
         
     | 
| 
      
 149 
     | 
    
         
            +
                  "#{Integer(htx[:blockNumber])}," \
         
     | 
| 
      
 150 
     | 
    
         
            +
                  "#{Integer(htx[:timestamp])})"
         
     | 
| 
      
 151 
     | 
    
         
            +
                end
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
       135 
153 
     | 
    
         
             
                # @example (see Apibc#token_es)
         
     | 
| 
       136 
154 
     | 
    
         
             
                # @param [Hash] hkx token event etherscan
         
     | 
| 
       137 
155 
     | 
    
         
             
                # @return [String] valores formatados ethk (token parte1)
         
     | 
    
        data/lib/cns/etherscan1.rb
    CHANGED
    
    | 
         @@ -42,6 +42,11 @@ module Cns 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  @novpx ||= bcd.map { |obc| obc[:px].select { |obj| idp.include?(obj[:itx]) } }.flatten
         
     | 
| 
       43 
43 
     | 
    
         
             
                end
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
      
 45 
     | 
    
         
            +
                # @return [Array<Hash>] lista transacoes withdrawals novas
         
     | 
| 
      
 46 
     | 
    
         
            +
                def novwx
         
     | 
| 
      
 47 
     | 
    
         
            +
                  @novwx ||= bcd.map { |obc| obc[:wx].select { |obj| idw.include?(obj[:itx]) } }.flatten
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
       45 
50 
     | 
    
         
             
                # @return [Array<Hash>] lista transacoes token novas
         
     | 
| 
       46 
51 
     | 
    
         
             
                def novkx
         
     | 
| 
       47 
52 
     | 
    
         
             
                  @novkx ||= bcd.map { |obc| obc[:kx].select { |obj| idk.include?(obj[:itx]) } }.flatten
         
     | 
| 
         @@ -80,6 +85,12 @@ module Cns 
     | 
|
| 
       80 
85 
     | 
    
         
             
                           (ops[:t] ? [] : bqd[:np].map { |obq| obq[:itx] })
         
     | 
| 
       81 
86 
     | 
    
         
             
                end
         
     | 
| 
       82 
87 
     | 
    
         | 
| 
      
 88 
     | 
    
         
            +
                # @return [Array<Integer>] lista indices transacoes withdrawals novas
         
     | 
| 
      
 89 
     | 
    
         
            +
                def idw
         
     | 
| 
      
 90 
     | 
    
         
            +
                  @idw ||= bcd.map { |obc| obc[:wx].map { |obj| obj[:itx] } }.flatten -
         
     | 
| 
      
 91 
     | 
    
         
            +
                           (ops[:t] ? [] : bqd[:nw].map { |obq| obq[:itx] })
         
     | 
| 
      
 92 
     | 
    
         
            +
                end
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
       83 
94 
     | 
    
         
             
                # @return [Array<Integer>] lista indices transacoes token novas
         
     | 
| 
       84 
95 
     | 
    
         
             
                def idk
         
     | 
| 
       85 
96 
     | 
    
         
             
                  @idk ||= bcd.map { |obc| obc[:kx].map { |obj| obj[:itx] } }.flatten -
         
     | 
| 
         @@ -97,6 +108,7 @@ module Cns 
     | 
|
| 
       97 
108 
     | 
    
         
             
                    tx: filtrar_tx(acc, api.norml_es(acc)),
         
     | 
| 
       98 
109 
     | 
    
         
             
                    ix: filtrar_tx(acc, api.inter_es(acc)),
         
     | 
| 
       99 
110 
     | 
    
         
             
                    px: filtrar_px(acc, api.block_es(acc)),
         
     | 
| 
      
 111 
     | 
    
         
            +
                    wx: filtrar_px(acc, api.withw_es(acc)),
         
     | 
| 
       100 
112 
     | 
    
         
             
                    kx: filtrar_tx(acc, api.token_es(acc))
         
     | 
| 
       101 
113 
     | 
    
         
             
                  }
         
     | 
| 
       102 
114 
     | 
    
         
             
                end
         
     | 
| 
         @@ -112,11 +124,13 @@ module Cns 
     | 
|
| 
       112 
124 
     | 
    
         
             
                    bt: bqd[:nt].select { |ont| ont[:iax] == xbq },
         
     | 
| 
       113 
125 
     | 
    
         
             
                    bi: bqd[:ni].select { |oni| oni[:iax] == xbq },
         
     | 
| 
       114 
126 
     | 
    
         
             
                    bp: bqd[:np].select { |onp| onp[:iax] == xbq },
         
     | 
| 
      
 127 
     | 
    
         
            +
                    bw: bqd[:nw].select { |onw| onw[:iax] == xbq },
         
     | 
| 
       115 
128 
     | 
    
         
             
                    bk: bqd[:nk].select { |onk| onk[:iax] == xbq },
         
     | 
| 
       116 
129 
     | 
    
         
             
                    es: hbc[:sl],
         
     | 
| 
       117 
130 
     | 
    
         
             
                    et: hbc[:tx],
         
     | 
| 
       118 
131 
     | 
    
         
             
                    ei: hbc[:ix],
         
     | 
| 
       119 
132 
     | 
    
         
             
                    ep: hbc[:px],
         
     | 
| 
      
 133 
     | 
    
         
            +
                    ew: hbc[:wx],
         
     | 
| 
       120 
134 
     | 
    
         
             
                    ek: hbc[:kx]
         
     | 
| 
       121 
135 
     | 
    
         
             
                  }
         
     | 
| 
       122 
136 
     | 
    
         
             
                end
         
     | 
| 
         @@ -154,6 +168,11 @@ module Cns 
     | 
|
| 
       154 
168 
     | 
    
         
             
                  novpx.sort { |ant, prx| ant[:itx] <=> prx[:itx] }
         
     | 
| 
       155 
169 
     | 
    
         
             
                end
         
     | 
| 
       156 
170 
     | 
    
         | 
| 
      
 171 
     | 
    
         
            +
                # @return [Array<Hash>] lista ordenada transacoes withdrawals novas
         
     | 
| 
      
 172 
     | 
    
         
            +
                def sorwx
         
     | 
| 
      
 173 
     | 
    
         
            +
                  novwx.sort { |ant, prx| ant[:itx] <=> prx[:itx] }
         
     | 
| 
      
 174 
     | 
    
         
            +
                end
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
       157 
176 
     | 
    
         
             
                # @return [Array<Hash>] lista ordenada transacoes token novas
         
     | 
| 
       158 
177 
     | 
    
         
             
                def sorkx
         
     | 
| 
       159 
178 
     | 
    
         
             
                  novkx.sort { |ant, prx| ant[:itx] <=> prx[:itx] }
         
     | 
    
        data/lib/cns/etherscan2.rb
    CHANGED
    
    | 
         @@ -8,12 +8,13 @@ module Cns 
     | 
|
| 
       8 
8 
     | 
    
         
             
                def mostra_resumo
         
     | 
| 
       9 
9 
     | 
    
         
             
                  return unless dados.count.positive?
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                  puts("\nid     address 
     | 
| 
      
 11 
     | 
    
         
            +
                  puts("\nid     address             etherscan  tn ti tb tk  tw     bigquery  tn ti tb tk  tw")
         
     | 
| 
       12 
12 
     | 
    
         
             
                  dados.each { |obj| puts(formata_carteira(obj)) }
         
     | 
| 
       13 
13 
     | 
    
         
             
                  mostra_transacao_norml
         
     | 
| 
       14 
14 
     | 
    
         
             
                  mostra_transacao_inter
         
     | 
| 
       15 
15 
     | 
    
         
             
                  mostra_transacao_block
         
     | 
| 
       16 
16 
     | 
    
         
             
                  mostra_transacao_token
         
     | 
| 
      
 17 
     | 
    
         
            +
                  mostra_transacao_withw
         
     | 
| 
       17 
18 
     | 
    
         
             
                  mostra_configuracao_ajuste_dias
         
     | 
| 
       18 
19 
     | 
    
         
             
                end
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
         @@ -21,9 +22,9 @@ module Cns 
     | 
|
| 
       21 
22 
     | 
    
         
             
                # @return [String] texto formatado duma carteira
         
     | 
| 
       22 
23 
     | 
    
         
             
                def formata_carteira(hjn)
         
     | 
| 
       23 
24 
     | 
    
         
             
                  format(
         
     | 
| 
       24 
     | 
    
         
            -
                    '%<s1>-6.6s %<s2>- 
     | 
| 
      
 25 
     | 
    
         
            +
                    '%<s1>-6.6s %<s2>-16.16s ',
         
     | 
| 
       25 
26 
     | 
    
         
             
                    s1: hjn[:id],
         
     | 
| 
       26 
     | 
    
         
            -
                    s2: formata_enderec1(hjn[:ax],  
     | 
| 
      
 27 
     | 
    
         
            +
                    s2: formata_enderec1(hjn[:ax], 16)
         
     | 
| 
       27 
28 
     | 
    
         
             
                  ) + formata_valores(hjn)
         
     | 
| 
       28 
29 
     | 
    
         
             
                end
         
     | 
| 
       29 
30 
     | 
    
         | 
| 
         @@ -31,17 +32,19 @@ module Cns 
     | 
|
| 
       31 
32 
     | 
    
         
             
                # @return [String] texto formatado valores duma carteira
         
     | 
| 
       32 
33 
     | 
    
         
             
                def formata_valores(hjn)
         
     | 
| 
       33 
34 
     | 
    
         
             
                  format(
         
     | 
| 
       34 
     | 
    
         
            -
                    '%<v1>12.6f %<n1> 
     | 
| 
      
 35 
     | 
    
         
            +
                    '%<v1>12.6f %<n1>3i %<n2>2i %<n3>2i %<n4>2i %<w1>3i %<v2>12.6f %<n5>3i %<n6>2i %<n7>2i %<n8>2i %<w2>3i %<ok>-3s',
         
     | 
| 
       35 
36 
     | 
    
         
             
                    v1: hjn[:es],
         
     | 
| 
       36 
37 
     | 
    
         
             
                    n1: hjn[:et].count,
         
     | 
| 
       37 
38 
     | 
    
         
             
                    n2: hjn[:ei].count,
         
     | 
| 
       38 
39 
     | 
    
         
             
                    n3: hjn[:ep].count,
         
     | 
| 
       39 
40 
     | 
    
         
             
                    n4: hjn[:ek].count,
         
     | 
| 
      
 41 
     | 
    
         
            +
                    w1: hjn[:ew].count,
         
     | 
| 
       40 
42 
     | 
    
         
             
                    v2: hjn[:bs],
         
     | 
| 
       41 
43 
     | 
    
         
             
                    n5: hjn[:bt].count,
         
     | 
| 
       42 
44 
     | 
    
         
             
                    n6: hjn[:bi].count,
         
     | 
| 
       43 
45 
     | 
    
         
             
                    n7: hjn[:bp].count,
         
     | 
| 
       44 
46 
     | 
    
         
             
                    n8: hjn[:bk].count,
         
     | 
| 
      
 47 
     | 
    
         
            +
                    w2: hjn[:bw].count,
         
     | 
| 
       45 
48 
     | 
    
         
             
                    ok: ok?(hjn) ? 'OK' : 'NOK'
         
     | 
| 
       46 
49 
     | 
    
         
             
                  )
         
     | 
| 
       47 
50 
     | 
    
         
             
                end
         
     | 
| 
         @@ -49,7 +52,7 @@ module Cns 
     | 
|
| 
       49 
52 
     | 
    
         
             
                # @param (see formata_carteira)
         
     | 
| 
       50 
53 
     | 
    
         
             
                # @return [Boolean] carteira tem transacoes novas(sim=NOK, nao=OK)?
         
     | 
| 
       51 
54 
     | 
    
         
             
                def ok?(hjn)
         
     | 
| 
       52 
     | 
    
         
            -
                  hjn[:bs].round(6) == hjn[:es].round(6) && hjn[:bt].count == hjn[:et].count && hjn[:bi].count == hjn[:ei].count && hjn[:bp].count == hjn[:ep].count && hjn[:bk].count == hjn[:ek].count
         
     | 
| 
      
 55 
     | 
    
         
            +
                  hjn[:bs].round(6) == hjn[:es].round(6) && hjn[:bt].count == hjn[:et].count && hjn[:bi].count == hjn[:ei].count && hjn[:bp].count == hjn[:ep].count && hjn[:bk].count == hjn[:ek].count && hjn[:bw].count == hjn[:ew].count
         
     | 
| 
       53 
56 
     | 
    
         
             
                end
         
     | 
| 
       54 
57 
     | 
    
         | 
| 
       55 
58 
     | 
    
         
             
                # @example ether address inicio..fim
         
     | 
| 
         @@ -61,7 +64,7 @@ module Cns 
     | 
|
| 
       61 
64 
     | 
    
         
             
                  return 'erro' if max < 7
         
     | 
| 
       62 
65 
     | 
    
         | 
| 
       63 
66 
     | 
    
         
             
                  max -= 2
         
     | 
| 
       64 
     | 
    
         
            -
                  ini = Integer(max / 2)
         
     | 
| 
      
 67 
     | 
    
         
            +
                  ini = Integer(max / 2) + 3
         
     | 
| 
       65 
68 
     | 
    
         
             
                  inf = max % 2
         
     | 
| 
       66 
69 
     | 
    
         
             
                  "#{add[0, ini - 3]}..#{add[-inf - ini - 3..]}"
         
     | 
| 
       67 
70 
     | 
    
         
             
                end
         
     | 
| 
         @@ -124,6 +127,19 @@ module Cns 
     | 
|
| 
       124 
127 
     | 
    
         
             
                  )
         
     | 
| 
       125 
128 
     | 
    
         
             
                end
         
     | 
| 
       126 
129 
     | 
    
         | 
| 
      
 130 
     | 
    
         
            +
                # @example (see Apibc#block_es)
         
     | 
| 
      
 131 
     | 
    
         
            +
                # @param [Hash] htx transacao withdrawals etherscan
         
     | 
| 
      
 132 
     | 
    
         
            +
                # @return [String] texto formatado transacao withdrawals etherscan
         
     | 
| 
      
 133 
     | 
    
         
            +
                def formata_transacao_withw(htx)
         
     | 
| 
      
 134 
     | 
    
         
            +
                  format(
         
     | 
| 
      
 135 
     | 
    
         
            +
                    '%<vi>9i %<bn>9i %<dt>10.10s %<vl>10.6f',
         
     | 
| 
      
 136 
     | 
    
         
            +
                    vi: htx[:validatorIndex],
         
     | 
| 
      
 137 
     | 
    
         
            +
                    bn: htx[:blockNumber],
         
     | 
| 
      
 138 
     | 
    
         
            +
                    dt: Time.at(Integer(htx[:timestamp])),
         
     | 
| 
      
 139 
     | 
    
         
            +
                    vl: (htx[:amount].to_d / 10**9).round(10)
         
     | 
| 
      
 140 
     | 
    
         
            +
                  )
         
     | 
| 
      
 141 
     | 
    
         
            +
                end
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
       127 
143 
     | 
    
         
             
                # @return [String] texto transacoes normais
         
     | 
| 
       128 
144 
     | 
    
         
             
                def mostra_transacao_norml
         
     | 
| 
       129 
145 
     | 
    
         
             
                  return unless ops[:v] && novtx.count.positive?
         
     | 
| 
         @@ -156,6 +172,14 @@ module Cns 
     | 
|
| 
       156 
172 
     | 
    
         
             
                  sorkx.each { |obj| puts(formata_transacao_token(obj)) }
         
     | 
| 
       157 
173 
     | 
    
         
             
                end
         
     | 
| 
       158 
174 
     | 
    
         | 
| 
      
 175 
     | 
    
         
            +
                # @return [String] texto transacoes withdrawals
         
     | 
| 
      
 176 
     | 
    
         
            +
                def mostra_transacao_withw
         
     | 
| 
      
 177 
     | 
    
         
            +
                  return unless ops[:v] && novwx.count.positive?
         
     | 
| 
      
 178 
     | 
    
         
            +
             
     | 
| 
      
 179 
     | 
    
         
            +
                  puts("\nvalidator     block data            valor")
         
     | 
| 
      
 180 
     | 
    
         
            +
                  sorwx.each { |obj| puts(formata_transacao_withw(obj)) }
         
     | 
| 
      
 181 
     | 
    
         
            +
                end
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
       159 
183 
     | 
    
         
             
                # @return [String] texto configuracao ajuste dias das transacoes (normais & token)
         
     | 
| 
       160 
184 
     | 
    
         
             
                def mostra_configuracao_ajuste_dias
         
     | 
| 
       161 
185 
     | 
    
         
             
                  return unless (novtx.count + novkx.count).positive?
         
     | 
    
        data/lib/cns/version.rb
    CHANGED
    
    
    
        data/ruby-lint.yml
    ADDED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cns
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Hernâni Rodrigues Vaz
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023-07- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-07-10 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -220,6 +220,7 @@ files: 
     | 
|
| 
       220 
220 
     | 
    
         
             
            - lib/cns/paymium.rb
         
     | 
| 
       221 
221 
     | 
    
         
             
            - lib/cns/therock.rb
         
     | 
| 
       222 
222 
     | 
    
         
             
            - lib/cns/version.rb
         
     | 
| 
      
 223 
     | 
    
         
            +
            - ruby-lint.yml
         
     | 
| 
       223 
224 
     | 
    
         
             
            homepage: https://github.com/hernanirvaz/cns
         
     | 
| 
       224 
225 
     | 
    
         
             
            licenses:
         
     | 
| 
       225 
226 
     | 
    
         
             
            - MIT
         
     |