From c282a09b17801147eb9daa18bdfc0fa96c3eabce Mon Sep 17 00:00:00 2001 From: "Jesse C. Fisher" Date: Sat, 11 Nov 2023 15:00:17 +0000 Subject: [PATCH] Add basic icrc1 standard token parsing --- app/controllers/tokens_controller.rb | 12 +++++++++++- app/views/tokens/show.html.haml | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/controllers/tokens_controller.rb b/app/controllers/tokens_controller.rb index ddf0b67f..05e0ad71 100644 --- a/app/controllers/tokens_controller.rb +++ b/app/controllers/tokens_controller.rb @@ -31,13 +31,23 @@ class TokensController < ApplicationController @token.standard = :unknown else @token.standard = :dip20 - @token.transfer_fee = metadata.lines[2].split[2] + @token.transfer_fee = metadata.lines[2].split[2].to_i @token.decimals = metadata.lines[3].split[2] # @token.owner = metadata.lines[4].split[3] @token.logo_url = metadata.lines[5].split[2] + @token.name = metadata.lines[6].split("\"")[1] + @token.total_supply = metadata.lines[7].split[2].to_i/(10**@token.decimals) + @token.symbol = metadata.lines[8].split("\"")[1] end else @token.standard = :icrc1 + @token.transfer_fee = metadata.lines[2].split[5].to_i + @token.decimals = metadata.lines[5].split[7].to_i + @token.logo_url = metadata.lines[9].split[2] + @token.name = metadata.lines[3].split("\"")[3] + total_supply = `dfx canister --network ic call #{@token.canister_id} icrc1_total_supply 2>&1` + @token.total_supply = total_supply.split[0][1..-1].to_i/(10**@token.decimals) + @token.symbol = metadata.lines[4].split("\"")[3] end # elsif call getMetadata #dip20 respond_to do |format| diff --git a/app/views/tokens/show.html.haml b/app/views/tokens/show.html.haml index bd69295f..765ef807 100644 --- a/app/views/tokens/show.html.haml +++ b/app/views/tokens/show.html.haml @@ -30,5 +30,5 @@ = @token.decimals %p %b Transfer fee: - = @token.transfer_fee + = @token.transfer_fee/(10.0**@token.decimals)