Add basic icrc1 standard token parsing

This commit is contained in:
Jesse C. Fisher 2023-11-11 15:00:17 +00:00 committed by TheNeedful-DO
parent 5cdc00206c
commit 3bf5a82e86
2 changed files with 12 additions and 2 deletions

View File

@ -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|

View File

@ -30,5 +30,5 @@
= @token.decimals
%p
%b Transfer fee:
= @token.transfer_fee
= @token.transfer_fee/(10.0**@token.decimals)