Skip to content

Commit 2eb26f5

Browse files
authored
Revert "feat: Inherit all Assets from Cosmos Chain Registry (#2584)" (#3311)
This reverts commit 6721a2c.
1 parent 2e2b4db commit 2eb26f5

File tree

615 files changed

+2183
-70110
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

615 files changed

+2183
-70110
lines changed

.github/workflows/utility/generate_assetlist.mjs

Lines changed: 4 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -26,108 +26,6 @@ async function asyncForEach(array, callback) {
2626
}
2727
}
2828

29-
async function getAssetsFromChainRegistry(localChainName, asset_datas) {
30-
31-
//get network_type (mainnet vs testnet)
32-
const localNetworkType = chain_reg.getFileProperty(localChainName, "chain", "network_type");
33-
if (localNetworkType !== "mainnet" && localNetworkType !== "testnet" && localNetworkType !== "devnet") return;
34-
35-
//try each chain of that network_type
36-
let chains = chain_reg.getChains() || [];
37-
38-
await asyncForEach(chains, async (chainName) => {
39-
40-
if (chainName === localChainName) return; //we'll check assets under this chain separately
41-
42-
const networkType = chain_reg.getFileProperty(chainName, "chain", "network_type");
43-
if (networkType !== localNetworkType) return; // must match the local chain's network type
44-
45-
const chainType = chain_reg.getFileProperty(chainName, "chain", "chain_type");
46-
if (chainType !== "cosmos") return; // must be a cosmos chain
47-
48-
// Checkpoint: the chain now qualifies, but we still need to check that there exists an ibc connection
49-
50-
//get IBC channels
51-
const channels = chain_reg.getIBCFileProperty(chainName, localChainName, "channels") || [];
52-
if (channels.length <= 0) return;
53-
54-
//find the transfer/transfer channel
55-
const defaultChannel = channels.find(channel => (
56-
channel.chain_1.port_id === "transfer" && channel.chain_2.port_id === "transfer"
57-
));
58-
59-
//find the only cw20 channel
60-
const cw20Channels = channels.filter(channel => (
61-
channel.chain_1.port_id.startsWith("cw20:") || channel.chain_2.port_id.startsWith("cw20:")
62-
));
63-
let cw20Channel;
64-
if (cw20Channels.length === 1) cw20Channel = cw20Channels[0];
65-
66-
if (!defaultChannel && !cw20Channel) return;
67-
const isChain1 = chainName === [chainName, localChainName].sort()?.[0] ? true : false;
68-
69-
// Checkpoint: now that we know there exists an ibc connection, we can iterate the assets
70-
71-
//get the chain's assets
72-
const assets = chain_reg.getFileProperty(chainName, "assetlist", "assets") || [];
73-
74-
//iterate the assets
75-
await asyncForEach(assets, async (asset) => {
76-
//assets.forEach((asset) => {
77-
78-
//get asset type
79-
const typeAsset = asset.type_asset;
80-
if (typeAsset !== "sdk.coin" && typeAsset !== "cw20") return;
81-
82-
//set base_denom
83-
const baseDenom = asset.base;
84-
85-
//--Establish Asset Data--
86-
let asset_data = {
87-
chainName: localChainName, //osmosis vs osmosistestnet vs osmosistestnet4 vs ...
88-
zone_config: {},
89-
zone_asset: {},
90-
frontend: {},
91-
chain_reg: {},
92-
asset_detail: {},
93-
}
94-
95-
//we should check to make sure it's not already in the zone_assets
96-
let existingAsset = asset_datas.find((asset_data) => {
97-
asset_data.zone_asset.chain_name === chainName && asset_data.zone_asset.base_denom === baseDenom
98-
});
99-
// but this doesn't check cases where it's registered directly under osmosis
100-
if (existingAsset) return;
101-
102-
asset_data.zone_asset.chain_name = chainName;
103-
asset_data.zone_asset.base_denom = baseDenom;
104-
105-
//source_asset (the most recent ibc transfer source (not necessarily the origin))
106-
assetlist.setSourceAsset(asset_data);
107-
108-
const channel = typeAsset === "cw20" ? cw20Channel : defaultChannel;
109-
if (typeAsset === "cw20" && !cw20Channel) return;
110-
const channel_id = isChain1 ? channel.chain_2.channel_id : channel.chain_1.channel_id;
111-
const path = "transfer" + "/" + channel_id + "/" + baseDenom;
112-
113-
asset_data.zone_asset.path = path;
114-
115-
await assetlist.setLocalAsset(asset_data);
116-
117-
existingAsset = asset_datas.find((existingAssetData) => (
118-
existingAssetData.local_asset.base_denom === asset_data.local_asset.base_denom
119-
));
120-
if (existingAsset) return;
121-
122-
//add to asset_datas array
123-
asset_datas.push(asset_data);
124-
125-
});
126-
127-
});
128-
129-
}
130-
13129
const generateAssets = async (
13230
chainName,
13331
zoneConfig,
@@ -168,7 +66,7 @@ const generateAssets = async (
16866
//source_asset (the most recent ibc transfer source (not necessarily the origin))
16967
assetlist.setSourceAsset(asset_data);
17068

171-
//make sure it exists
69+
//make usre it exists
17270
if (!chain_reg.getAssetProperty(asset_data.source_asset.chain_name, asset_data.source_asset.base_denom, "base")) {
17371
console.log(`Asset does not exist! ${asset_data.source_asset.chain_name}, ${asset_data.source_asset.base_denom}`);
17472
return;
@@ -188,9 +86,6 @@ const generateAssets = async (
18886

18987
});
19088

191-
//get assets from chain registry
192-
await getAssetsFromChainRegistry(chainName, asset_datas);
193-
19489
assetlist.setCanonicalAssets(asset_datas);
19590
assetlist.setIdentityAssets(asset_datas);
19691

@@ -290,9 +185,9 @@ async function generateAssetlist(chainName) {
290185
chainName,
291186
zoneConfig,
292187
zoneAssetlist,
293-
frontend_assets, //saves to generated/frontend/assetlist.json
294-
chain_reg_assets, //saves to generated/chain_registry/assetlist.json
295-
asset_detail_assets //saves to generated/asset_detail/assetlist.json
188+
frontend_assets,
189+
chain_reg_assets,
190+
asset_detail_assets
296191
);
297192

298193
let frontend_assetlist = {

.github/workflows/utility/generate_assetlist_functions.mjs

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -479,8 +479,8 @@ export function setIdentityAsset(asset_data) {
479479
) { break; }
480480

481481
let provider = null;
482-
if (traceTypesNeedingProvider.includes(traces[i].type)) {
483-
provider = asset_data.zone_config?.providers?.find(
482+
if ( traceTypesNeedingProvider.includes(traces[i].type) ) {
483+
provider = asset_data.zone_config?.providers.find(
484484
provider => //where...
485485
provider.provider === traces[i].provider
486486
)
@@ -1572,35 +1572,32 @@ export function setTransferMethods(asset_data) {
15721572
});
15731573

15741574
if (asset_data.source_asset.chain_name !== asset_data.chainName) {
1575-
const live = chain_reg.getFileProperty(asset_data.source_asset.chain_name, "chain", "status");
1576-
if (live === "live") {
1577-
const traces = getAssetProperty(asset_data.local_asset, "traces");
1578-
const trace = traces?.[traces.length - 1];
1579-
1580-
// Only add IBC transfer method if we have a valid trace with required fields
1581-
if (trace?.counterparty?.chain_name && trace?.chain?.channel_id) {
1582-
const ibcTransferMethod = {
1583-
name: "Osmosis IBC Transfer",
1584-
type: "ibc",
1585-
counterparty: {
1586-
chainName: trace.counterparty.chain_name,
1587-
chainId: chain_reg.getFileProperty(
1588-
trace.counterparty.chain_name,
1589-
"chain",
1590-
"chain_id"
1591-
),
1592-
sourceDenom: trace.counterparty.base_denom,
1593-
port: trace.counterparty.port ?? "transfer",
1594-
channelId: trace.counterparty.channel_id
1595-
},
1596-
chain: {
1597-
port: trace.chain.port ?? "transfer",
1598-
channelId: trace.chain.channel_id,
1599-
path: trace.chain.path
1600-
}
1575+
const traces = getAssetProperty(asset_data.local_asset, "traces");
1576+
const trace = traces?.[traces.length - 1];
1577+
1578+
// Only add IBC transfer method if we have a valid trace with required fields
1579+
if (trace?.counterparty?.chain_name && trace?.chain?.channel_id) {
1580+
const ibcTransferMethod = {
1581+
name: "Osmosis IBC Transfer",
1582+
type: "ibc",
1583+
counterparty: {
1584+
chainName: trace.counterparty.chain_name,
1585+
chainId: chain_reg.getFileProperty(
1586+
trace.counterparty.chain_name,
1587+
"chain",
1588+
"chain_id"
1589+
),
1590+
sourceDenom: trace.counterparty.base_denom,
1591+
port: trace.counterparty.port ?? "transfer",
1592+
channelId: trace.counterparty.channel_id
1593+
},
1594+
chain: {
1595+
port: trace.chain.port ?? "transfer",
1596+
channelId: trace.chain.channel_id,
1597+
path: trace.chain.path
16011598
}
1602-
transferMethods.push(ibcTransferMethod);
16031599
}
1600+
transferMethods.push(ibcTransferMethod);
16041601
}
16051602
}
16061603

@@ -1712,7 +1709,7 @@ export function setSocials(asset_data) {
17121709

17131710
let socials = getAssetProperty(asset_data.canonical_asset, "socials");
17141711
asset_data.asset_detail.websiteURL = socials?.website;
1715-
asset_data.asset_detail.twitterURL = socials?.twitter || socials?.x;
1712+
asset_data.asset_detail.twitterURL = socials?.twitter;
17161713
if (socials) { return; }
17171714

17181715
if (getAssetProperty(asset_data.canonical_asset, "is_staking")) {
@@ -1723,7 +1720,7 @@ export function setSocials(asset_data) {
17231720
)
17241721
}
17251722
asset_data.asset_detail.websiteURL = socials?.website;
1726-
asset_data.asset_detail.twitterURL = socials?.twitter || socials?.x;
1723+
asset_data.asset_detail.twitterURL = socials?.twitter;
17271724
if (socials) { return; }
17281725

17291726
socials = chain_reg.getAssetPropertyWithTraceCustom(
@@ -1733,7 +1730,7 @@ export function setSocials(asset_data) {
17331730
originTraceTypes
17341731
);
17351732
asset_data.asset_detail.websiteURL = socials?.website;
1736-
asset_data.asset_detail.twitterURL = socials?.twitter || socials?.x;
1733+
asset_data.asset_detail.twitterURL = socials?.twitter;
17371734

17381735
}
17391736

0 commit comments

Comments
 (0)