diff --git a/src/components/NFTList.js b/src/components/NFTList.js index 0f86530..fb38d20 100644 --- a/src/components/NFTList.js +++ b/src/components/NFTList.js @@ -259,6 +259,25 @@ export default function NFTList(props) { api.token(c.canister).getTokens(account.address, identity.principal).then(nfts => { if (nfts.length){ _nfts = _nfts.concat(nfts.map(nft => { + switch (c.canister) + { + case "ah2fs-fqaaa-aaaak-aalya-cai": + { + return { + ...nft, + metadata : nft.metadata, + allowedToList : allowedForMarket.indexOf(nft.canister) >= 0, + }; + } + default: + { + return { + ...nft, + metadata : toHexString(nft.metadata), + allowedToList : allowedForMarket.indexOf(nft.canister) >= 0, + }; + } + } return { ...nft, metadata : toHexString(nft.metadata), diff --git a/src/ic/extjs.js b/src/ic/extjs.js index b4c0ff0..2b5d4a9 100644 --- a/src/ic/extjs.js +++ b/src/ic/extjs.js @@ -169,6 +169,39 @@ class ExtConnection { getTokens : (aid, principal) => { return new Promise((resolve, reject) => { switch(tokenObj.canister) { + //distrikt canister + case "ah2fs-fqaaa-aaaak-aalya-cai": + if (typeof api.tokens_ext == 'undefined') reject("Not supported"); + else { + try { + api.tokens_ext(aid).then(r => { + if (typeof r.ok != 'undefined') { + resolve(r.ok.map(d => { + let i = -1; + let metadata = ""; + while(i++ < d[2][0].length) + { + metadata+=String.fromCharCode(d[2][0][i]); + } + return { + index : d[0], + id : tokenIdentifier(tokenObj.canister, d[0]), + canister : tokenObj.canister, + listing : d[1].length ? d[1][0] : false, + metadata : d[2].length ? metadata : false, + } + })); + }else if (typeof r.err != 'undefined') { + if (r.err.hasOwnProperty("Other") && r.err.Other === "No tokens") { + resolve([]); + } else reject(r.err) + } else reject(r); + }).catch(reject); + } catch(e) { + reject(e); + }; + }; + break; case "qcg3w-tyaaa-aaaah-qakea-cai": case "jzg5e-giaaa-aaaah-qaqda-cai": case "d3ttm-qaaaa-aaaai-qam4a-cai":