App-btcindo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN



0.015   2017-12-25 (PERLANCAR)

	- Handle DASH <-> DRK symbol confusion (we use DASH at the CLI
	  level, but the JSON API & TAPI still use DRK).


0.014   2017-12-09 (PERLANCAR)

	- balance: Show percentage of value (in IDR) of each currency, add
          formatting/alignments.

	- hold-details: Show price.


0.013   2017-12-09 (PERLANCAR)

	- Handle XLM <-> STR symbol confusion (we use XLM at the CLI level,
	  but the JSON API & TAPI still use STR).

lib/App/btcindo.pm  view on Meta::CPAN

                $rec->{price_idr}     = ($idr_prices{btc} // 0) * ($btc_prices{$currency} // 0);
                $rec->{avail_est_idr} = ($idr_prices{btc} // 0) * ($btc_prices{$currency} // 0) * $rec->{bal_avail};
                $rec->{held_est_idr}  = ($idr_prices{btc} // 0) * ($btc_prices{$currency} // 0) * $rec->{bal_held};
                $rec->{total_est_idr} = ($idr_prices{btc} // 0) * ($btc_prices{$currency} // 0) * $rec->{bal_total};
            }
            $tot_avail_est_idr += $rec->{avail_est_idr};
            $tot_held_est_idr  += $rec->{held_est_idr};
            $tot_total_est_idr += $rec->{total_est_idr};
        }

        # calculate percentages
        for my $rec (@recs) {
            if ($tot_total_est_idr > 0) {
                $rec->{pct_est_idr} = $rec->{total_est_idr} / $tot_total_est_idr;
            } else {
                $rec->{pct_est_idr} = 0;
            }
        }

        push @recs, {
            currency => 'est_idr',
            avail_est_idr => $tot_avail_est_idr,
            held_est_idr  => $tot_held_est_idr,
            total_est_idr => $tot_total_est_idr,
            pct_est_idr   => 1,
        };
        $resmeta{'table.fields'}        = [qw/currency bal_avail price_btc price_idr avail_est_idr bal_held held_est_idr bal_total total_est_idr pct_est_idr/];
        $resmeta{'table.field_aligns'}  = [qw/left     right     right     right     right         right    right        right     right         right/];
        $resmeta{'table.field_formats'} = [undef,      undef,    $fnum8,   $fnum0,   $fnum0,       $fnum8,  $fnum0,      $fnum8,   $fnum0,       'percent'];
    } else {
        $resmeta{'table.fields'}        = [qw/currency bal_avail bal_held bal_total/];
        $resmeta{'table.field_aligns'}  = [qw/left     right     right    right/];
        $resmeta{'table.field_formats'} = [undef,      $fnum8,   $fnum8,  $fnum8,];
    }

    [200, "OK", \@recs, \%resmeta];
}

$SPEC{hold_details} = {



( run in 0.456 second using v1.01-cache-2.11-cpan-05162d3a2b1 )