@subwallet/extension-base 1.1.2-1 → 1.1.4-0

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.
Files changed (59) hide show
  1. package/background/KoniTypes.d.ts +18 -0
  2. package/background/KoniTypes.js +2 -1
  3. package/cjs/background/KoniTypes.js +4 -2
  4. package/cjs/koni/api/dotsama/transfer.js +0 -2
  5. package/cjs/koni/api/nft/config.js +13 -13
  6. package/cjs/koni/api/nft/nft.js +1 -1
  7. package/cjs/koni/api/nft/rmrk_nft/index.js +57 -48
  8. package/cjs/koni/background/handlers/Extension.js +179 -120
  9. package/cjs/koni/background/handlers/State.js +73 -48
  10. package/cjs/packageInfo.js +1 -1
  11. package/cjs/services/chain-service/constants.js +2 -1
  12. package/cjs/services/chain-service/handler/SubstrateApi.js +8 -0
  13. package/cjs/services/chain-service/handler/manta/MantaPrivateHandler.js +1 -1
  14. package/cjs/services/chain-service/handler/manta/manta-extension-sdk-empty.js +13 -0
  15. package/cjs/services/chain-service/index.js +20 -6
  16. package/cjs/services/request-service/handler/PopupHandler.js +2 -2
  17. package/cjs/services/request-service/helper/index.js +2 -26
  18. package/cjs/services/storage-service/db-stores/Metadata.js +1 -1
  19. package/cjs/services/wallet-connect-service/constants.js +8 -5
  20. package/cjs/services/wallet-connect-service/index.js +50 -36
  21. package/cjs/utils/environment.js +32 -2
  22. package/cjs/utils/index.js +21 -5
  23. package/cjs/utils/registry.js +25 -0
  24. package/koni/api/dotsama/transfer.js +0 -2
  25. package/koni/api/nft/config.d.ts +3 -3
  26. package/koni/api/nft/config.js +9 -9
  27. package/koni/api/nft/nft.js +1 -1
  28. package/koni/api/nft/rmrk_nft/index.d.ts +0 -1
  29. package/koni/api/nft/rmrk_nft/index.js +58 -49
  30. package/koni/background/handlers/Extension.d.ts +2 -0
  31. package/koni/background/handlers/Extension.js +72 -15
  32. package/koni/background/handlers/State.d.ts +7 -2
  33. package/koni/background/handlers/State.js +73 -48
  34. package/package.json +17 -6
  35. package/packageInfo.js +1 -1
  36. package/services/chain-service/constants.d.ts +1 -0
  37. package/services/chain-service/constants.js +2 -1
  38. package/services/chain-service/handler/SubstrateApi.js +8 -0
  39. package/services/chain-service/handler/manta/MantaPrivateHandler.d.ts +1 -1
  40. package/services/chain-service/handler/manta/MantaPrivateHandler.js +1 -1
  41. package/services/chain-service/handler/manta/manta-extension-sdk-empty.d.ts +4 -0
  42. package/services/chain-service/handler/manta/manta-extension-sdk-empty.js +5 -0
  43. package/services/chain-service/index.d.ts +2 -1
  44. package/services/chain-service/index.js +20 -6
  45. package/services/request-service/handler/PopupHandler.js +1 -1
  46. package/services/request-service/helper/index.d.ts +0 -2
  47. package/services/request-service/helper/index.js +0 -23
  48. package/services/request-service/types.d.ts +0 -1
  49. package/services/storage-service/db-stores/Metadata.js +1 -1
  50. package/services/wallet-connect-service/constants.d.ts +2 -1
  51. package/services/wallet-connect-service/constants.js +5 -3
  52. package/services/wallet-connect-service/index.d.ts +0 -1
  53. package/services/wallet-connect-service/index.js +50 -36
  54. package/utils/environment.d.ts +4 -1
  55. package/utils/environment.js +28 -1
  56. package/utils/index.d.ts +2 -0
  57. package/utils/index.js +4 -1
  58. package/utils/registry.d.ts +4 -0
  59. package/utils/registry.js +18 -0
@@ -35,6 +35,10 @@ export interface RuntimeEnvironmentInfo {
35
35
  host?: string;
36
36
  protocol?: string;
37
37
  }
38
+ export declare type TargetEnvironment = 'extension' | 'webapp' | 'web-runner';
39
+ export interface EnvironmentSupport {
40
+ MANTA_ZK: boolean;
41
+ }
38
42
  export interface ServiceInfo {
39
43
  chainInfoMap: Record<string, _ChainInfo>;
40
44
  chainStateMap: Record<string, _ChainState>;
@@ -333,6 +337,9 @@ export declare type RequestChangeShowZeroBalance = {
333
337
  export declare type RequestChangeLanguage = {
334
338
  language: LanguageType;
335
339
  };
340
+ export declare type RequestChangeShowBalance = {
341
+ enable: boolean;
342
+ };
336
343
  export interface RandomTestRequest {
337
344
  start: number;
338
345
  end: number;
@@ -1490,6 +1497,13 @@ export interface MantaPayEnableResponse {
1490
1497
  success: boolean;
1491
1498
  message: MantaPayEnableMessage;
1492
1499
  }
1500
+ export interface RequestFindRawMetadata {
1501
+ genesisHash: string;
1502
+ }
1503
+ export interface ResponseFindRawMetadata {
1504
+ rawMetadata: string;
1505
+ specVersion: number;
1506
+ }
1493
1507
  export interface KoniRequestSignatures {
1494
1508
  'pri(staking.submitTuringCancelCompound)': [RequestTuringCancelStakeCompound, SWTransactionResponse];
1495
1509
  'pri(staking.submitTuringCompound)': [RequestTuringStakeCompound, SWTransactionResponse];
@@ -1595,6 +1609,7 @@ export interface KoniRequestSignatures {
1595
1609
  'pri(settings.saveEnableChainPatrol)': [RequestChangeEnableChainPatrol, boolean];
1596
1610
  'pri(settings.saveLanguage)': [RequestChangeLanguage, boolean];
1597
1611
  'pri(settings.saveShowZeroBalance)': [RequestChangeShowZeroBalance, boolean];
1612
+ 'pri(settings.saveShowBalance)': [RequestChangeShowBalance, boolean];
1598
1613
  'pri(transaction.history.getSubscription)': [null, TransactionHistoryItem[], TransactionHistoryItem[]];
1599
1614
  'pri(transfer.checkReferenceCount)': [RequestTransferCheckReferenceCount, boolean];
1600
1615
  'pri(transfer.checkSupporting)': [RequestTransferCheckSupporting, SupportTransferResponse];
@@ -1660,7 +1675,10 @@ export interface KoniRequestSignatures {
1660
1675
  'pri(walletConnect.session.reconnect)': [RequestReconnectConnectWalletSession, boolean];
1661
1676
  'pri(walletConnect.session.subscribe)': [null, SessionTypes.Struct[], SessionTypes.Struct[]];
1662
1677
  'pri(walletConnect.session.disconnect)': [RequestDisconnectWalletConnectSession, boolean];
1678
+ 'pri(metadata.find)': [RequestFindRawMetadata, ResponseFindRawMetadata];
1663
1679
  }
1664
1680
  export interface ApplicationMetadataType {
1665
1681
  version: string;
1666
1682
  }
1683
+ export declare type OSType = 'Mac OS' | 'iOS' | 'Windows' | 'Android' | 'Linux' | 'Unknown';
1684
+ export declare const MobileOS: OSType[];
@@ -230,4 +230,5 @@ export let MantaPayEnableMessage;
230
230
  MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
231
231
  MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
232
232
  MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
233
- })(MantaPayEnableMessage || (MantaPayEnableMessage = {}));
233
+ })(MantaPayEnableMessage || (MantaPayEnableMessage = {}));
234
+ export const MobileOS = ['iOS', 'Android'];
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UnstakingStatus = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.StakingStatus = exports.RuntimeEnvironment = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.NETWORK_ERROR = exports.MantaPayEnableMessage = exports.ExtrinsicType = exports.ExtrinsicStatus = exports.ExternalRequestPromiseStatus = exports.EvmProviderErrorType = exports.CrowdloanParaState = exports.ContractType = exports.ChainType = exports.ChainEditStandard = exports.BasicTxWarningCode = exports.BasicTxErrorType = exports.BalanceErrorType = exports.AccountExternalErrorCode = exports.APIItemState = void 0;
6
+ exports.UnstakingStatus = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.StakingStatus = exports.RuntimeEnvironment = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.NETWORK_ERROR = exports.MobileOS = exports.MantaPayEnableMessage = exports.ExtrinsicType = exports.ExtrinsicStatus = exports.ExternalRequestPromiseStatus = exports.EvmProviderErrorType = exports.CrowdloanParaState = exports.ContractType = exports.ChainType = exports.ChainEditStandard = exports.BasicTxWarningCode = exports.BasicTxErrorType = exports.BalanceErrorType = exports.AccountExternalErrorCode = exports.APIItemState = void 0;
7
7
  // Copyright 2019-2022 @polkadot/extension-koni authors & contributors
8
8
  // SPDX-License-Identifier: Apache-2.0
9
9
  let RuntimeEnvironment;
@@ -249,4 +249,6 @@ exports.MantaPayEnableMessage = MantaPayEnableMessage;
249
249
  MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
250
250
  MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
251
251
  MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
252
- })(MantaPayEnableMessage || (exports.MantaPayEnableMessage = MantaPayEnableMessage = {}));
252
+ })(MantaPayEnableMessage || (exports.MantaPayEnableMessage = MantaPayEnableMessage = {}));
253
+ const MobileOS = ['iOS', 'Android'];
254
+ exports.MobileOS = MobileOS;
@@ -176,8 +176,6 @@ const createTransferExtrinsic = async _ref => {
176
176
  // }
177
177
  } else if (_constants._TRANSFER_CHAIN_GROUP.sora_substrate.includes(networkKey) && isTxAssetsSupported) {
178
178
  transfer = api.tx.assets.transfer((0, _utils2._getTokenOnChainAssetId)(tokenInfo), to, value);
179
- } else if (_constants._TRANSFER_CHAIN_GROUP.avail.includes(networkKey)) {
180
- /* empty */
181
179
  } else if (isTxBalancesSupported && (0, _utils2._isNativeToken)(tokenInfo)) {
182
180
  if (transferAll) {
183
181
  transfer = api.tx.balances.transferAll(to, false);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNIQUE_SCAN_ENDPOINT = exports.UNIQUE_IPFS_GATEWAY = exports.TRANSFER_CHAIN_ID = exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN = exports.SUPPORTED_NFT_NETWORKS = exports.SINGULAR_V2_ENDPOINT = exports.SINGULAR_V2_COLLECTION_ENDPOINT = exports.SINGULAR_V1_ENDPOINT = exports.SINGULAR_V1_COLLECTION_ENDPOINT = exports.RMRK_PINATA_SERVER = exports.QUARTZ_SCAN_ENDPOINT = exports.PINATA_IPFS_GATEWAY = exports.NFT_STORAGE_GATEWAY = exports.KANARIA_EXTERNAL_SERVER = exports.KANARIA_ENDPOINT = exports.IPFS_TELOS_MIAMI = exports.IPFS_IO_GATEWAY = exports.IPFS_GATEWAY_CLOUD = exports.IPFS_FLEEK = exports.GATEWAY_IPFS_IO = exports.DWEB_LINK = exports.CLOUDFLARE_PINATA_SERVER = exports.CF_IPFS_GATEWAY = exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = exports.BIT_COUNTRY_IPFS_SERVER = void 0;
6
+ exports.UNIQUE_SCAN_ENDPOINT = exports.UNIQUE_IPFS_GATEWAY = exports.TRANSFER_CHAIN_ID = exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN_NAME = exports.SUPPORTED_TRANSFER_EVM_CHAIN = exports.SUPPORTED_NFT_NETWORKS = exports.SINGULAR_V2_ENDPOINT = exports.SINGULAR_V2_COLLECTION_ENDPOINT = exports.SINGULAR_V1_ENDPOINT = exports.SINGULAR_V1_COLLECTION_ENDPOINT = exports.RMRK_PINATA_SERVER = exports.QUARTZ_SCAN_ENDPOINT = exports.PINATA_IPFS_GATEWAY = exports.NFT_STORAGE_GATEWAY = exports.KANARIA_EXTERNAL_SERVER = exports.KANARIA_ENDPOINT = exports.IPFS_W3S_LINK = exports.IPFS_HARDBIN = exports.IPFS_GATEWAY_4EVERLAND = exports.IPFS_FLEEK = exports.GATEWAY_IPFS_IO = exports.DWEB_LINK = exports.CLOUDFLARE_PINATA_SERVER = exports.CF_IPFS_GATEWAY = exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = exports.BIT_COUNTRY_IPFS_SERVER = void 0;
7
7
  exports.getRandomIpfsGateway = getRandomIpfsGateway;
8
8
  var _utils = require("@subwallet/extension-base/utils");
9
9
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -43,18 +43,18 @@ const UNIQUE_IPFS_GATEWAY = 'https://ipfs.unique.network/ipfs/';
43
43
  exports.UNIQUE_IPFS_GATEWAY = UNIQUE_IPFS_GATEWAY;
44
44
  const NFT_STORAGE_GATEWAY = 'https://nftstorage.link/ipfs/';
45
45
  exports.NFT_STORAGE_GATEWAY = NFT_STORAGE_GATEWAY;
46
- const IPFS_IO_GATEWAY = 'https://ipfs.io/ipfs/';
47
- exports.IPFS_IO_GATEWAY = IPFS_IO_GATEWAY;
46
+ const IPFS_W3S_LINK = 'https://w3s.link/ipfs/';
47
+ exports.IPFS_W3S_LINK = IPFS_W3S_LINK;
48
48
  const GATEWAY_IPFS_IO = 'https://gateway.ipfs.io/ipfs/';
49
49
  exports.GATEWAY_IPFS_IO = GATEWAY_IPFS_IO;
50
50
  const DWEB_LINK = 'https://dweb.link/ipfs/';
51
51
  exports.DWEB_LINK = DWEB_LINK;
52
- const IPFS_GATEWAY_CLOUD = 'https://ipfs-gateway.cloud/ipfs/';
53
- exports.IPFS_GATEWAY_CLOUD = IPFS_GATEWAY_CLOUD;
52
+ const IPFS_GATEWAY_4EVERLAND = 'https://4everland.io/ipfs/';
53
+ exports.IPFS_GATEWAY_4EVERLAND = IPFS_GATEWAY_4EVERLAND;
54
54
  const IPFS_FLEEK = 'https://ipfs.fleek.co/ipfs/';
55
55
  exports.IPFS_FLEEK = IPFS_FLEEK;
56
- const IPFS_TELOS_MIAMI = 'https://ipfs.telos.miami/ipfs';
57
- exports.IPFS_TELOS_MIAMI = IPFS_TELOS_MIAMI;
56
+ const IPFS_HARDBIN = 'https://hardbin.com/ipfs';
57
+ exports.IPFS_HARDBIN = IPFS_HARDBIN;
58
58
  let SUPPORTED_NFT_NETWORKS;
59
59
  exports.SUPPORTED_NFT_NETWORKS = SUPPORTED_NFT_NETWORKS;
60
60
  (function (SUPPORTED_NFT_NETWORKS) {
@@ -103,8 +103,8 @@ exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = SUPPORTED_TRANSFER_SUBSTRATE_C
103
103
  SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME["pioneer"] = "pioneer";
104
104
  })(SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME || (exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = {}));
105
105
  const RANDOM_IPFS_GATEWAY_SETTING = [{
106
- provider: IPFS_IO_GATEWAY,
107
- weight: 0 // Not stable
106
+ provider: IPFS_W3S_LINK,
107
+ weight: 1
108
108
  }, {
109
109
  provider: CF_IPFS_GATEWAY,
110
110
  weight: 4
@@ -121,11 +121,11 @@ const RANDOM_IPFS_GATEWAY_SETTING = [{
121
121
  provider: DWEB_LINK,
122
122
  weight: 5
123
123
  }, {
124
- provider: IPFS_GATEWAY_CLOUD,
125
- weight: 0 // Deceptive site warning
124
+ provider: IPFS_GATEWAY_4EVERLAND,
125
+ weight: 2
126
126
  }, {
127
- provider: IPFS_TELOS_MIAMI,
128
- weight: 0
127
+ provider: IPFS_HARDBIN,
128
+ weight: 1
129
129
  }];
130
130
  if (!_utils.RuntimeInfo.protocol || _utils.RuntimeInfo.protocol && !_utils.RuntimeInfo.protocol.startsWith('http')) {
131
131
  RANDOM_IPFS_GATEWAY_SETTING.push({
@@ -74,7 +74,7 @@ class BaseNftApi {
74
74
  if (!input || input.length === 0) {
75
75
  return undefined;
76
76
  }
77
- if ((0, _utils.isUrl)(input)) {
77
+ if ((0, _utils.isUrl)(input) || input.includes('https://') || input.includes('http')) {
78
78
  return input;
79
79
  }
80
80
  if (input.startsWith('/ipfs/')) {
@@ -24,18 +24,23 @@ class RmrkNftApi extends _nft.BaseNftApi {
24
24
  constructor(addresses, chain) {
25
25
  super(chain, null, addresses);
26
26
  }
27
- parseUrl(input) {
28
- if (!input || input.length === 0) {
29
- return undefined;
30
- }
31
- if ((0, _utils.isUrl)(input) || input.includes('https://') || input.includes('http')) {
32
- return input;
33
- }
34
- if (!input.includes('ipfs://ipfs/')) {
35
- return (0, _config.getRandomIpfsGateway)() + input;
36
- }
37
- return (0, _config.getRandomIpfsGateway)() + input.split('ipfs://ipfs/')[1];
38
- }
27
+
28
+ // override parseUrl (input: string): string | undefined {
29
+ // if (!input || input.length === 0) {
30
+ // return undefined;
31
+ // }
32
+ //
33
+ // if (isUrl(input) || input.includes('https://') || input.includes('http')) {
34
+ // return input;
35
+ // }
36
+ //
37
+ // if (!input.includes('ipfs://ipfs/')) {
38
+ // return getRandomIpfsGateway() + input;
39
+ // }
40
+ //
41
+ // return getRandomIpfsGateway() + input.split('ipfs://ipfs/')[1];
42
+ // }
43
+
39
44
  async getMetadata(metadataUrl) {
40
45
  let url = metadataUrl;
41
46
  if (!(0, _utils.isUrl)(metadataUrl)) {
@@ -76,53 +81,57 @@ class RmrkNftApi extends _nft.BaseNftApi {
76
81
  }));
77
82
  const nfts = [];
78
83
  await Promise.all(data.map(async item => {
79
- const primaryResource = item.primaryResource ? item.primaryResource : null;
80
- const metadataUri = primaryResource && primaryResource.metadata ? primaryResource.metadata : item.metadata;
81
- const nftMetadata = await this.getMetadata(metadataUri);
82
- if (item.source === RMRK_SOURCE.BIRD_KANARIA) {
83
- nfts.push({
84
- ...item,
85
- metadata: nftMetadata,
86
- owner: account
87
- });
88
- } else if (item.source === RMRK_SOURCE.KANARIA) {
89
- nfts.push({
90
- ...item,
91
- metadata: {
92
- ...nftMetadata,
93
- image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.image)
94
- },
95
- owner: account
96
- });
97
- } else if (item.source === RMRK_SOURCE.SINGULAR_V1) {
98
- nfts.push({
99
- ...item,
100
- metadata: {
101
- description: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.description,
102
- name: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.name,
103
- attributes: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.attributes,
104
- animation_url: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.animation_url),
105
- image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.image)
106
- },
107
- owner: account
108
- });
109
- } else if (item.source === RMRK_SOURCE.SINGULAR_V2) {
110
- const id = item.id;
111
- if (!id.toLowerCase().includes(KANBIRD_KEYWORD)) {
112
- // excludes kanaria bird, already handled above
84
+ try {
85
+ const primaryResource = item.primaryResource ? item.primaryResource : null;
86
+ const metadataUri = primaryResource && primaryResource.metadata ? primaryResource.metadata : item.metadata;
87
+ const nftMetadata = await this.getMetadata(metadataUri);
88
+ if (item.source === RMRK_SOURCE.BIRD_KANARIA) {
89
+ nfts.push({
90
+ ...item,
91
+ metadata: nftMetadata,
92
+ owner: account
93
+ });
94
+ } else if (item.source === RMRK_SOURCE.KANARIA) {
95
+ nfts.push({
96
+ ...item,
97
+ metadata: {
98
+ ...nftMetadata,
99
+ image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.image)
100
+ },
101
+ owner: account
102
+ });
103
+ } else if (item.source === RMRK_SOURCE.SINGULAR_V1) {
113
104
  nfts.push({
114
105
  ...item,
115
106
  metadata: {
116
107
  description: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.description,
117
108
  name: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.name,
118
109
  attributes: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.attributes,
119
- properties: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.properties,
120
110
  animation_url: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.animation_url),
121
- image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.mediaUri)
111
+ image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.image)
122
112
  },
123
113
  owner: account
124
114
  });
115
+ } else if (item.source === RMRK_SOURCE.SINGULAR_V2) {
116
+ const id = item.id;
117
+ if (!id.toLowerCase().includes(KANBIRD_KEYWORD)) {
118
+ // excludes kanaria bird, already handled above
119
+ nfts.push({
120
+ ...item,
121
+ metadata: {
122
+ description: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.description,
123
+ name: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.name,
124
+ attributes: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.attributes,
125
+ properties: nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.properties,
126
+ animation_url: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.animation_url),
127
+ image: this.parseUrl(nftMetadata === null || nftMetadata === void 0 ? void 0 : nftMetadata.mediaUri)
128
+ },
129
+ owner: account
130
+ });
131
+ }
125
132
  }
133
+ } catch (e) {
134
+ console.log('error fetching RMRK NFT', e);
126
135
  }
127
136
  }));
128
137
  return nfts;