diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2840687 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "tools/compiler/src/chain-registry"] + path = tools/compiler/src/chain-registry + url = https://github.com/cosmos/chain-registry diff --git a/registry/chains/penumbra-1.json b/registry/chains/penumbra-1.json index ce6f31d..666ce1f 100644 --- a/registry/chains/penumbra-1.json +++ b/registry/chains/penumbra-1.json @@ -92,6 +92,33 @@ } ] }, + "1KnnW2hZa5VOGRlXSDgexDY72QOjuWa2if43is7ldwE=": { + "description": "Fractionalized Celestine Sloth Society", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fSLOTH" + }, + { + "denom": "transfer/channel-4/fSLOTH", + "exponent": 9 + } + ], + "base": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fSLOTH", + "display": "transfer/channel-4/fSLOTH", + "name": "fSLOTH", + "symbol": "fSLOTH", + "penumbraAssetId": { + "inner": "1KnnW2hZa5VOGRlXSDgexDY72QOjuWa2if43is7ldwE=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/fSLOTH.png", + "theme": { + "primaryColorHex": "#639BFF" + } + } + ] + }, "1b1489PiR06kGAYS4y4+J0baqVEdYYqLDlxkHLy5CwA=": { "description": "The governance and utility token of Yieldmos, the Interchain Automation Protocol", "denomUnits": [ @@ -187,23 +214,23 @@ ], "base": "transfer/channel-4/factory/osmo14mafhhp337yjj2aujplawz0tks6jd2lel4hkwz4agyzhvvztzaqsqzjq8x/alloyed/allTRX", "display": "transfer/channel-4/trx", - "name": "Alloyed TRX", + "name": "Tron", "symbol": "TRX", "penumbraAssetId": { "inner": "4rBRD1He9RNXc+6+KOw1vCKG7ZsLWqOVL4NRWdbKDQc=" }, "images": [ { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTRX.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTRX.svg", + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/tron/images/trx.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/tron/images/trx.svg", "theme": { "primaryColorHex": "#FF060A", "circle": true } }, { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/tron/images/trx.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/tron/images/trx.svg", + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTRX.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTRX.svg", "theme": { "primaryColorHex": "#FF060A", "circle": true @@ -347,6 +374,41 @@ } ] }, + "9sKDSVM9qU0G3ASpZted8wJB8fhdadAtzxZxE5tJMxI=": { + "description": "An alloy of ARB asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1p7x454ex08s4f9ztmm7wfv7lvtgdkfztj2u7v7fezfcauy85q35qmqrdpk/alloyed/allARB" + }, + { + "denom": "transfer/channel-4/arb", + "exponent": 12 + } + ], + "base": "transfer/channel-4/factory/osmo1p7x454ex08s4f9ztmm7wfv7lvtgdkfztj2u7v7fezfcauy85q35qmqrdpk/alloyed/allARB", + "display": "transfer/channel-4/arb", + "name": "Arbitrum", + "symbol": "ARB", + "penumbraAssetId": { + "inner": "9sKDSVM9qU0G3ASpZted8wJB8fhdadAtzxZxE5tJMxI=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/arbitrum/images/arb.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/arbitrum/images/arb.svg", + "theme": { + "primaryColorHex": "#253545" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allARB.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allARB.svg", + "theme": { + "primaryColorHex": "#9DCCED" + } + } + ] + }, "Ar6MhFcFk9QWltJ2omSY3xgXpextuXXTsQsubmSy7gk=": { "description": "Sail DAO is a liquidity deployment and management DAO built as a collaboration between the Osmosis and Migaloo Blockchains.", "denomUnits": [ @@ -402,6 +464,42 @@ } ] }, + "BK/Hz826s94tKv7AxSPTGqojgzTnZSsZjpUTYupkZws=": { + "description": "An alloy of TON asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo12lnwf54yd30p6amzaged2atln8k0l32n7ncxf04ctg7u7ymnsy7qkqgsw4/alloyed/allTON" + }, + { + "denom": "transfer/channel-4/ton", + "exponent": 9 + } + ], + "base": "transfer/channel-4/factory/osmo12lnwf54yd30p6amzaged2atln8k0l32n7ncxf04ctg7u7ymnsy7qkqgsw4/alloyed/allTON", + "display": "transfer/channel-4/ton", + "name": "TON (The Open Network)", + "symbol": "TON", + "penumbraAssetId": { + "inner": "BK/Hz826s94tKv7AxSPTGqojgzTnZSsZjpUTYupkZws=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ton/images/ton.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ton/images/ton.svg", + "theme": { + "primaryColorHex": "#0088CC", + "circle": true + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTON.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allTON.svg", + "theme": { + "primaryColorHex": "#0088CC" + } + } + ] + }, "EMttUTznXaZu2d7ecHS5UC0RvJsBh9GYc79abym2ewc=": { "description": "Margined Power Token sqBTC", "denomUnits": [ @@ -598,18 +696,26 @@ ], "base": "transfer/channel-4/factory/osmo1n3n75av8awcnw4jl62n3l48e6e4sxqmaf97w5ua6ddu4s475q5qq9udvx4/alloyed/allSOL", "display": "transfer/channel-4/allSOL", - "name": "Alloyed SOL", - "symbol": "allSOL", + "name": "Solana", + "symbol": "SOL", "penumbraAssetId": { "inner": "LdexCcIS7h5jbSjieMV+MoC2IB1XmuKxzNNeRgq4QAQ=" }, "images": [ { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSOL.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSOL.svg" + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/solana/images/sol_circle.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/solana/images/sol_circle.svg", + "theme": { + "circle": true + } }, { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/solana/images/sol.svg" + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/solana/images/sol.svg", + "theme": {} + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSOL.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSOL.svg" } ] }, @@ -641,6 +747,68 @@ } ] }, + "McCafoNb60lBtL1I77ADhx0GII9EHH8iCqmpGro3Pgk=": { + "description": "An alloy of PEPE asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1nnlxegt0scm9qkzys9c874t0ntapv4epfjy2w49c0xdrp3dr0v4ssmelzx/alloyed/allPEPE" + }, + { + "denom": "transfer/channel-4/pepe", + "exponent": 12 + } + ], + "base": "transfer/channel-4/factory/osmo1nnlxegt0scm9qkzys9c874t0ntapv4epfjy2w49c0xdrp3dr0v4ssmelzx/alloyed/allPEPE", + "display": "transfer/channel-4/pepe", + "name": "Pepe", + "symbol": "PEPE", + "penumbraAssetId": { + "inner": "McCafoNb60lBtL1I77ADhx0GII9EHH8iCqmpGro3Pgk=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/pepe.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/pepe.svg", + "theme": { + "primaryColorHex": "#cc3233" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allPEPE.png", + "theme": { + "primaryColorHex": "#549C44", + "circle": true + } + } + ] + }, + "Md6xXujgk0jvdUPhlf/05wvTeXDEh8X/bDurrVJw2gU=": { + "description": "Banana Vault Token - Peelworks Factory II", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1xu0gk9aggv79597xwazyfzaggv2pze9z7cq3p9p72tkkux9a7xaqufa792/BVT" + }, + { + "denom": "transfer/channel-4/BVT0", + "exponent": 18 + } + ], + "base": "transfer/channel-4/factory/osmo1xu0gk9aggv79597xwazyfzaggv2pze9z7cq3p9p72tkkux9a7xaqufa792/BVT", + "display": "transfer/channel-4/BVT0", + "name": "Peelworks Factory", + "symbol": "BVT0", + "penumbraAssetId": { + "inner": "Md6xXujgk0jvdUPhlf/05wvTeXDEh8X/bDurrVJw2gU=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/BVT0.png", + "theme": { + "primaryColorHex": "#203135" + } + } + ] + }, "N6cjbF+9/ztCnmEb035XRlDJCgxwm4Q+apv5m73ZGgA=": { "description": "The permissioned staking asset for Noble Chain", "denomUnits": [ @@ -669,6 +837,33 @@ } ] }, + "NOESp7JdfFAbqjvjFqMAk/lwF+eIii+VIU5ZjCj62Qo=": { + "description": "Fractionalized Mad Scientists", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fMAD" + }, + { + "denom": "transfer/channel-4/fMAD", + "exponent": 9 + } + ], + "base": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fMAD", + "display": "transfer/channel-4/fMAD", + "name": "fMAD", + "symbol": "fMAD", + "penumbraAssetId": { + "inner": "NOESp7JdfFAbqjvjFqMAk/lwF+eIii+VIU5ZjCj62Qo=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/fMAD.png", + "theme": { + "primaryColorHex": "#639BFF" + } + } + ] + }, "OUcXG7YEx8a5Nld/wCMK1aOKARlvoJtGpXHkju4LVgQ=": { "description": "Coin to support the real world in Wilhelmshall im Huy", "denomUnits": [ @@ -770,19 +965,99 @@ ], "base": "transfer/channel-4/factory/osmo1z6r6qdknhgsc0zeracktgpcxf43j6sekq07nw8sxduc9lg0qjjlqfu25e3/alloyed/allBTC", "display": "transfer/channel-4/allBTC", - "name": "Alloyed BTC", - "symbol": "allBTC", + "name": "Bitcoin", + "symbol": "BTC", "penumbraAssetId": { "inner": "QU5yP3S9mHwCzLyZdYXtUrGW4v/nWzeTqmjMKZZiaRA=" }, "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/bitcoin/images/btc.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/bitcoin/images/btc.svg", + "theme": { + "primaryColorHex": "#f4941c", + "circle": true + } + }, { "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allBTC.svg" + } + ] + }, + "Rvh55FJrd8q3kT8xYIl5ApTOc9ErxyL8m1NS5RArHxE=": { + "description": "An alloy of OP asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1nufyzqlm8qhu2w7lm0l4rrax0ec8rsk69mga4tel8eare7c7ljaqpk2lyg/alloyed/allOP" }, { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/bitcoin/images/btc.png", + "denom": "transfer/channel-4/op", + "exponent": 12 + } + ], + "base": "transfer/channel-4/factory/osmo1nufyzqlm8qhu2w7lm0l4rrax0ec8rsk69mga4tel8eare7c7ljaqpk2lyg/alloyed/allOP", + "display": "transfer/channel-4/op", + "name": "Optimism", + "symbol": "OP", + "penumbraAssetId": { + "inner": "Rvh55FJrd8q3kT8xYIl5ApTOc9ErxyL8m1NS5RArHxE=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/optimism/images/op.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/optimism/images/op.svg", + "theme": { + "primaryColorHex": "#fc0424" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allOP.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allOP.svg", + "theme": { + "primaryColorHex": "#fc0424" + } + } + ] + }, + "SBYNLMUsCQQJaZZYXbrDHD5u/q6rdo6sURKyBlGMtxE=": { + "description": "An alloy of DOT asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1r53fx9fvcdzncrs7zkn4gw5vfelx5gk8k5wc6wqha2jpkh992rusr5tk02/alloyed/allDOT" + }, + { + "denom": "transfer/channel-4/dot", + "exponent": 10 + } + ], + "base": "transfer/channel-4/factory/osmo1r53fx9fvcdzncrs7zkn4gw5vfelx5gk8k5wc6wqha2jpkh992rusr5tk02/alloyed/allDOT", + "display": "transfer/channel-4/dot", + "name": "Polkadot", + "symbol": "DOT", + "penumbraAssetId": { + "inner": "SBYNLMUsCQQJaZZYXbrDHD5u/q6rdo6sURKyBlGMtxE=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/polkadot/images/dot.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/polkadot/images/dot.svg", + "theme": { + "primaryColorHex": "#e4047c" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allDOT.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allDOT.svg", + "theme": { + "primaryColorHex": "#E6007A", + "circle": true + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/polkadot/images/dot.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/polkadot/images/dot.svg", "theme": { - "primaryColorHex": "#f4941c" + "primaryColorHex": "#e4047c" } } ] @@ -800,8 +1075,8 @@ ], "base": "transfer/channel-4/factory/osmo1myv2g72h8dan7n4hx7stt3mmust6ws03zh6gxc7vz4hpmgp5z3lq9aunm9/TRX.rt", "display": "transfer/channel-4/trx", - "name": "Tronix", - "symbol": "TRX", + "name": "Tron (Router)", + "symbol": "TRX.rt", "penumbraAssetId": { "inner": "TNHw/+5PPN0BC2U1Q80CnhoiKx3GI8ivmb2OG6m5yAI=" }, @@ -892,6 +1167,33 @@ } ] }, + "V572bV9yiK9nJWMM9/P5mwCeiGfT4JbMy6j2RUi93g4=": { + "description": "Fractionalized Bad Kids", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fBAD" + }, + { + "denom": "transfer/channel-4/fBAD", + "exponent": 9 + } + ], + "base": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fBAD", + "display": "transfer/channel-4/fBAD", + "name": "fBAD", + "symbol": "fBAD", + "penumbraAssetId": { + "inner": "V572bV9yiK9nJWMM9/P5mwCeiGfT4JbMy6j2RUi93g4=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/fBAD.png", + "theme": { + "primaryColorHex": "#639BFF" + } + } + ] + }, "VDEYVUZ8ZKlhsAT2nr6NgdNdi7jREsKmFUV0U5uUxwU=": { "description": "OnE mEmEcOiN tO cOnNeCt oL ImBeCiles - aNd in Da Cosmos BiNd DeM", "denomUnits": [ @@ -966,6 +1268,33 @@ } ] }, + "ZMvzNe0oaoRjhBIPf0KgUGH0EVaE6der5FavRNfMbgQ=": { + "description": "Fractionalized DAONuts", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fNUT" + }, + { + "denom": "transfer/channel-4/fNUT", + "exponent": 9 + } + ], + "base": "transfer/channel-4/factory/osmo1dywfmhyc8y0wga7qpzej0x0mgwqg25fj4eccp494w8yafzdpgamsx9ryyv/fNUT", + "display": "transfer/channel-4/fNUT", + "name": "fNUT", + "symbol": "fNUT", + "penumbraAssetId": { + "inner": "ZMvzNe0oaoRjhBIPf0KgUGH0EVaE6der5FavRNfMbgQ=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/fNUT.png", + "theme": { + "primaryColorHex": "#639BFF" + } + } + ] + }, "d2/yBdjkz//htrQwHYXVx3XN2QILdZoS5ickDAcRWgs=": { "description": "Beer Is Good for You!", "denomUnits": [ @@ -1013,10 +1342,11 @@ }, "images": [ { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/noble/images/USDCoin.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/noble/images/USDCoin.svg", + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg", "theme": { - "primaryColorHex": "#2474cc" + "primaryColorHex": "#2775CA", + "circle": true } } ] @@ -1072,6 +1402,77 @@ } ] }, + "h4c+OAGonGVREC9ZaYzLbrpnSkUpl0JhHqHwBogeXw0=": { + "description": "An alloy of LINK asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo18zdw5yvs6gfp95rp74qqwug9yduw2fyr8kplk2xgs726s9axc5usa2vpgw/alloyed/allLINK" + }, + { + "denom": "transfer/channel-4/link", + "exponent": 12 + } + ], + "base": "transfer/channel-4/factory/osmo18zdw5yvs6gfp95rp74qqwug9yduw2fyr8kplk2xgs726s9axc5usa2vpgw/alloyed/allLINK", + "display": "transfer/channel-4/link", + "name": "Chainlink", + "symbol": "LINK", + "penumbraAssetId": { + "inner": "h4c+OAGonGVREC9ZaYzLbrpnSkUpl0JhHqHwBogeXw0=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/link.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/link.svg", + "theme": { + "primaryColorHex": "#2c5cdc" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allLINK.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allLINK.svg", + "theme": { + "primaryColorHex": "#2A5ADA", + "circle": true + } + } + ] + }, + "hOnMqQbpe5Abe7vvfHYda77fg3Zit88fatqDfPO1bgQ=": { + "description": "An alloy of SHIB asset variants on Osmosis.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1f588gk9dazpsueevdl2w6wfkmfmhg5gdvg2uerdlzl0atkasqhsq59qc6a/alloyed/allSHIB" + }, + { + "denom": "transfer/channel-4/shib", + "exponent": 12 + } + ], + "base": "transfer/channel-4/factory/osmo1f588gk9dazpsueevdl2w6wfkmfmhg5gdvg2uerdlzl0atkasqhsq59qc6a/alloyed/allSHIB", + "display": "transfer/channel-4/shib", + "name": "Shiba Inu", + "symbol": "SHIB", + "penumbraAssetId": { + "inner": "hOnMqQbpe5Abe7vvfHYda77fg3Zit88fatqDfPO1bgQ=" + }, + "images": [ + { + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/shib.svg", + "theme": { + "primaryColorHex": "#FFA409" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSHIB.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allSHIB.svg", + "theme": { + "primaryColorHex": "#FFA409", + "circle": true + } + } + ] + }, "iI81O5821jqBIu4F1S2E4++UlzcvK+yI8cLEKZICgAs=": { "description": "ERIS liquid staked OSMO", "denomUnits": [ @@ -1126,6 +1527,68 @@ } ] }, + "k2flRuIwi8IAvyDasAL/9fjl8mGpPCPCMhYmsh8AlQQ=": { + "description": "CosmoUSD", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo104jtrwcljnxfljhml8mxrw7qetcsdmqvy3sprw/ucosmousd" + }, + { + "denom": "transfer/channel-4/CosmoUSD", + "exponent": 6 + } + ], + "base": "transfer/channel-4/factory/osmo104jtrwcljnxfljhml8mxrw7qetcsdmqvy3sprw/ucosmousd", + "display": "transfer/channel-4/CosmoUSD", + "name": "CosmoUSD", + "symbol": "COSMOUSD", + "penumbraAssetId": { + "inner": "k2flRuIwi8IAvyDasAL/9fjl8mGpPCPCMhYmsh8AlQQ=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/CosmoUSD.png", + "theme": { + "primaryColorHex": "#343169" + } + } + ] + }, + "laTqmqV0r3PERHERkPSyNu7d697F4C8mupKyfsKnjAo=": { + "description": "Avail is a web3 infrastructure layer that allows modular execution layers to scale and interoperate in a trust minimized way.", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1myv2g72h8dan7n4hx7stt3mmust6ws03zh6gxc7vz4hpmgp5z3lq9aunm9/AVAIL.rt" + }, + { + "denom": "transfer/channel-4/AVAIL", + "exponent": 18 + } + ], + "base": "transfer/channel-4/factory/osmo1myv2g72h8dan7n4hx7stt3mmust6ws03zh6gxc7vz4hpmgp5z3lq9aunm9/AVAIL.rt", + "display": "transfer/channel-4/AVAIL", + "name": "Avail", + "symbol": "AVAIL", + "penumbraAssetId": { + "inner": "laTqmqV0r3PERHERkPSyNu7d697F4C8mupKyfsKnjAo=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/avail.eth.rt.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/avail.eth.rt.svg", + "theme": { + "primaryColorHex": "#2B80D7" + } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/avail/images/avail.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/avail/images/avail.svg", + "theme": { + "primaryColorHex": "#2B80D7" + } + } + ] + }, "p6M59C5nGy2x3iJtRIPT5jA2ZhytFVTXX192/gTsHgA=": { "description": "The Cosmos Network's premier self-hatred memecoin.", "denomUnits": [ @@ -1207,6 +1670,25 @@ } ] }, + "rNNsvEj1LBheBJ3R4rJg+gmG6YXVGA6xmHCFVy0CPgM=": { + "description": "USDC supplied on Mars looped using Membrane by a vault", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo1vf6e300hv2qe7r5rln8deft45ewgyytjnwfrdfcv5rgzrfy0s6cswjqf9r/mars-usdc-looped" + }, + { + "denom": "transfer/channel-4/loopedUSDCmars", + "exponent": 6 + } + ], + "base": "transfer/channel-4/factory/osmo1vf6e300hv2qe7r5rln8deft45ewgyytjnwfrdfcv5rgzrfy0s6cswjqf9r/mars-usdc-looped", + "display": "transfer/channel-4/loopedUSDCmars", + "name": "Mars Looped USDC", + "symbol": "loopedUSDCmars", + "penumbraAssetId": { + "inner": "rNNsvEj1LBheBJ3R4rJg+gmG6YXVGA6xmHCFVy0CPgM=" + } + }, "rvPy5azGrvxTK0dzmiLWAfzsGrlqV9WM7wfHQhPJiQE=": { "description": "Jacob Haertnellez Turtle. Launched by Jake's Personally appointed TURD Cult Leader...\"NotSeanO'Riley.\" TURD is going to lead the shitcoins of Cosmos! Or Rug You. It will be Jake's Fault. ", "denomUnits": [ @@ -1323,15 +1805,12 @@ ], "base": "transfer/channel-4/factory/osmo1em6xs47hd82806f5cxgyufguxrrc7l0aqx7nzzptjuqgswczk8csavdxek/alloyed/allUSDT", "display": "transfer/channel-4/allUSDT", - "name": "Alloyed USDT", - "symbol": "allUSDT", + "name": "Tether USD", + "symbol": "USDT", "penumbraAssetId": { "inner": "v4sDXdozm2zajyIeeXc7D9hx8npHKSD4TEqitPmKcA0=" }, "images": [ - { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allUSDT.svg" - }, { "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt.png", "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt.svg", @@ -1339,6 +1818,16 @@ "primaryColorHex": "#009393", "circle": true } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt_logomark.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt_logomark.svg", + "theme": { + "primaryColorHex": "#50AF95" + } + }, + { + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allUSDT.svg" } ] }, @@ -1370,7 +1859,7 @@ ] }, "w5681cktB4+4eGef8ADtZ8fQSlt3IuLI7BtueUwVOg0=": { - "description": "USDT is the official stablecoin issued by Tether on the TRON network.", + "description": "A synthetic version of USDT issued by Router, which can be unwrapped to USDT on several chains.", "denomUnits": [ { "denom": "transfer/channel-4/factory/osmo1myv2g72h8dan7n4hx7stt3mmust6ws03zh6gxc7vz4hpmgp5z3lq9aunm9/USDT.rt" @@ -1382,12 +1871,20 @@ ], "base": "transfer/channel-4/factory/osmo1myv2g72h8dan7n4hx7stt3mmust6ws03zh6gxc7vz4hpmgp5z3lq9aunm9/USDT.rt", "display": "transfer/channel-4/usdt", - "name": "Tether USD", - "symbol": "USDT", + "name": "Tether USD (Ethereum via Router)", + "symbol": "USDT.eth.rt", "penumbraAssetId": { "inner": "w5681cktB4+4eGef8ADtZ8fQSlt3IuLI7BtueUwVOg0=" }, "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/usdt.rt.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/usdt.rt.svg", + "theme": { + "primaryColorHex": "#009393", + "circle": true + } + }, { "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt.png", "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdt.svg", @@ -1438,22 +1935,22 @@ ], "base": "transfer/channel-4/factory/osmo1k6c8jln7ejuqwtqmay3yvzrg3kueaczl96pk067ldg8u835w0yhsw27twm/alloyed/allETH", "display": "transfer/channel-4/allETH", - "name": "Alloyed ETH", - "symbol": "allETH", + "name": "Ethereum", + "symbol": "ETH", "penumbraAssetId": { "inner": "wvdhZWgNarKHAJit1ikuBeR7nQB7x83rgf6vYYBHdg4=" }, "images": [ - { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allETH.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allETH.svg" - }, { "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/eth-white.png", "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/eth-white.svg", "theme": { "primaryColorHex": "#303030" } + }, + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allETH.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/allETH.svg" } ] }, @@ -1512,6 +2009,33 @@ } } ] + }, + "za/OmxtGVAwvXWiizJSHIjT/PBzQ6Xh2lXtBbMv8UxE=": { + "description": "Banana Vault Token - Banana Beach (🍹,🌴) II", + "denomUnits": [ + { + "denom": "transfer/channel-4/factory/osmo16nxtnrnl7lctvnhhpcxqmmpv63n93zgg0ukaveyc0jl4dtad79cs53c3an/BVT" + }, + { + "denom": "transfer/channel-4/BVT1", + "exponent": 18 + } + ], + "base": "transfer/channel-4/factory/osmo16nxtnrnl7lctvnhhpcxqmmpv63n93zgg0ukaveyc0jl4dtad79cs53c3an/BVT", + "display": "transfer/channel-4/BVT1", + "name": "Banana Beach", + "symbol": "BVT1", + "penumbraAssetId": { + "inner": "za/OmxtGVAwvXWiizJSHIjT/PBzQ6Xh2lXtBbMv8UxE=" + }, + "images": [ + { + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/BVT1.png", + "theme": { + "primaryColorHex": "#00bdc3" + } + } + ] } }, "numeraires": [] diff --git a/registry/chains/penumbra-testnet-deimos-8-x6de97e39.json b/registry/chains/penumbra-testnet-deimos-8-x6de97e39.json index 2638db2..ee0ffee 100644 --- a/registry/chains/penumbra-testnet-deimos-8-x6de97e39.json +++ b/registry/chains/penumbra-testnet-deimos-8-x6de97e39.json @@ -103,7 +103,12 @@ }, "images": [ { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg" + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg", + "theme": { + "primaryColorHex": "#2775CA", + "circle": true + } } ] }, diff --git a/registry/chains/penumbra-testnet-deimos-8.json b/registry/chains/penumbra-testnet-deimos-8.json deleted file mode 100644 index 2638db2..0000000 --- a/registry/chains/penumbra-testnet-deimos-8.json +++ /dev/null @@ -1,428 +0,0 @@ -{ - "chainId": "penumbra-testnet-deimos-8-x6de97e39", - "ibcConnections": [ - { - "addressPrefix": "osmo", - "chainId": "osmo-test-5", - "channelId": "channel-0", - "counterpartyChannelId": "channel-8568", - "displayName": "Osmosis", - "images": [ - { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/f1348793beb994c6cc0256ed7ebdb48c7aa70003/osmosis/images/osmo.svg" - } - ] - }, - { - "addressPrefix": "noble", - "chainId": "grand-1", - "channelId": "channel-1", - "counterpartyChannelId": "channel-199", - "displayName": "Noble", - "images": [ - { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/2ca39d0e4eaf3431cca13991948e099801f02e46/noble/images/stake.svg" - } - ] - } - ], - "assetById": { - "6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=": { - "denomUnits": [ - { - "denom": "cube" - } - ], - "base": "cube", - "display": "cube", - "symbol": "CUBE", - "penumbraAssetId": { - "inner": "6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=" - } - }, - "HLkKbVfA72oQaMdYFroWQ1qoSyl/KLHZiOMJhL2y9w0=": { - "denomUnits": [ - { - "denom": "test_eth", - "exponent": 18 - }, - { - "denom": "wtest_eth" - } - ], - "base": "wtest_eth", - "display": "test_eth", - "symbol": "TestETH", - "penumbraAssetId": { - "inner": "HLkKbVfA72oQaMdYFroWQ1qoSyl/KLHZiOMJhL2y9w0=" - } - }, - "HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=": { - "denomUnits": [ - { - "denom": "gm", - "exponent": 6 - }, - { - "denom": "mgm", - "exponent": 3 - }, - { - "denom": "ugm" - } - ], - "base": "ugm", - "display": "gm", - "symbol": "GM", - "penumbraAssetId": { - "inner": "HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/full-moon-face.svg" - } - ] - }, - "J0fi/vGPSy8XmGGzU+rtpPxHirechCzuPf23cnZ5FgA=": { - "description": "USD Coin", - "denomUnits": [ - { - "denom": "transfer/channel-1/uusdc" - }, - { - "denom": "transfer/channel-1/usdc", - "exponent": 6 - } - ], - "base": "transfer/channel-1/uusdc", - "display": "transfer/channel-1/usdc", - "name": "USD Coin", - "symbol": "USDC", - "penumbraAssetId": { - "inner": "J0fi/vGPSy8XmGGzU+rtpPxHirechCzuPf23cnZ5FgA=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg" - } - ] - }, - "KX8cjRGFpZUkZCwCtUX8Pi2lEyO5g0oPVr8WhsLgkwg=": { - "denomUnits": [ - { - "denom": "transfer/channel-0/uion" - }, - { - "denom": "transfer/channel-0/ion", - "exponent": 6 - } - ], - "base": "transfer/channel-0/uion", - "display": "transfer/channel-0/ion", - "name": "Ion", - "symbol": "ION", - "penumbraAssetId": { - "inner": "KX8cjRGFpZUkZCwCtUX8Pi2lEyO5g0oPVr8WhsLgkwg=" - }, - "images": [ - { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.svg" - } - ] - }, - "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=": { - "denomUnits": [ - { - "denom": "penumbra", - "exponent": 6 - }, - { - "denom": "mpenumbra", - "exponent": 3 - }, - { - "denom": "upenumbra" - } - ], - "base": "upenumbra", - "display": "penumbra", - "symbol": "UM", - "penumbraAssetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/um.svg" - } - ] - }, - "VvnzHX2uGYbOLAf4etff37yf1EQAS/8RzdAS63FZuwI=": { - "description": "Love is a test tokenfactory asset controlled by the Strangelove Team", - "denomUnits": [ - { - "denom": "transfer/channel-1/ulove" - }, - { - "denom": "transfer/channel-1/love", - "exponent": 6 - } - ], - "base": "transfer/channel-1/ulove", - "display": "transfer/channel-1/love", - "name": "Love", - "symbol": "LOVE", - "penumbraAssetId": { - "inner": "VvnzHX2uGYbOLAf4etff37yf1EQAS/8RzdAS63FZuwI=" - } - }, - "Y3SIJktGY/trlNV/VRPhMVyBA4RyXmubxjzs0BGsPQ0=": { - "denomUnits": [ - { - "denom": "udelegation_penumbravalid1d3c0v5phydt7vdakajzxpw0mev7jcgurk7eeuw6z4cqqks2wxyrqu72gau" - }, - { - "denom": "mdelegation_penumbravalid1d3c0v5phydt7vdakajzxpw0mev7jcgurk7eeuw6z4cqqks2wxyrqu72gau", - "exponent": 3 - }, - { - "denom": "delegation_penumbravalid1d3c0v5phydt7vdakajzxpw0mev7jcgurk7eeuw6z4cqqks2wxyrqu72gau", - "exponent": 6 - } - ], - "base": "udelegation_penumbravalid1d3c0v5phydt7vdakajzxpw0mev7jcgurk7eeuw6z4cqqks2wxyrqu72gau", - "display": "delegation_penumbravalid1d3c0v5phydt7vdakajzxpw0mev7jcgurk7eeuw6z4cqqks2wxyrqu72gau", - "symbol": "delUM(Penumbra Labs CI 1)", - "penumbraAssetId": { - "inner": "Y3SIJktGY/trlNV/VRPhMVyBA4RyXmubxjzs0BGsPQ0=" - }, - "images": [ - { - "png": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png" - } - ] - }, - "g128RUoEK9S9qg/E26hO/HqfS1x+alzMmC1TN7e9fgk=": { - "description": "The controlled staking asset for Noble Chain", - "denomUnits": [ - { - "denom": "transfer/channel-1/ustake" - }, - { - "denom": "transfer/channel-1/stake", - "exponent": 6 - } - ], - "base": "transfer/channel-1/ustake", - "display": "transfer/channel-1/stake", - "name": "Stake", - "symbol": "STAKE", - "penumbraAssetId": { - "inner": "g128RUoEK9S9qg/E26hO/HqfS1x+alzMmC1TN7e9fgk=" - } - }, - "j0fAr5g+SxQguIafcYD1ifc+q9jE2m2dZ+u6YrsPdAU=": { - "description": "Ondo US Dollar Yield", - "denomUnits": [ - { - "denom": "transfer/channel-1/ausdy" - }, - { - "denom": "transfer/channel-1/usdy", - "exponent": 18 - } - ], - "base": "transfer/channel-1/ausdy", - "display": "transfer/channel-1/usdy", - "name": "Ondo US Dollar Yield", - "symbol": "USDY", - "penumbraAssetId": { - "inner": "j0fAr5g+SxQguIafcYD1ifc+q9jE2m2dZ+u6YrsPdAU=" - }, - "images": [ - { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdy.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdy.svg" - } - ] - }, - "jIowYEpoMr+LQYqjDVEnQO6hyzb9raVxbO1GLyDxlhI=": { - "description": "The native token of Osmosis", - "denomUnits": [ - { - "denom": "transfer/channel-0/uosmo" - }, - { - "denom": "transfer/channel-0/osmo", - "exponent": 6 - } - ], - "base": "transfer/channel-0/uosmo", - "display": "transfer/channel-0/osmo", - "name": "Osmosis Testnet", - "symbol": "OSMO", - "penumbraAssetId": { - "inner": "jIowYEpoMr+LQYqjDVEnQO6hyzb9raVxbO1GLyDxlhI=" - }, - "images": [ - { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg" - } - ] - }, - "nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=": { - "denomUnits": [ - { - "denom": "pizza" - } - ], - "base": "pizza", - "display": "pizza", - "symbol": "PIZZA", - "penumbraAssetId": { - "inner": "nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/pizza.svg" - } - ] - }, - "nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=": { - "denomUnits": [ - { - "denom": "gn", - "exponent": 6 - }, - { - "denom": "mgn", - "exponent": 3 - }, - { - "denom": "ugn" - } - ], - "base": "ugn", - "display": "gn", - "symbol": "GN", - "penumbraAssetId": { - "inner": "nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/new-moon-face.svg" - } - ] - }, - "o2gZdbhCH70Ry+7iBhkSeHC/PB1LZhgkn7LHC2kEhQc=": { - "denomUnits": [ - { - "denom": "test_btc", - "exponent": 8 - }, - { - "denom": "test_sat" - } - ], - "base": "test_sat", - "display": "test_btc", - "symbol": "TestBTC", - "penumbraAssetId": { - "inner": "o2gZdbhCH70Ry+7iBhkSeHC/PB1LZhgkn7LHC2kEhQc=" - } - }, - "pmpygqUf4DL+z849rGPpudpdK/+FAv8qQ01U2C73kAw=": { - "denomUnits": [ - { - "denom": "test_osmo", - "exponent": 6 - }, - { - "denom": "mtest_osmo", - "exponent": 3 - }, - { - "denom": "utest_osmo" - } - ], - "base": "utest_osmo", - "display": "test_osmo", - "symbol": "TestOSMO", - "penumbraAssetId": { - "inner": "pmpygqUf4DL+z849rGPpudpdK/+FAv8qQ01U2C73kAw=" - } - }, - "ra98J77CX10Us2s6+d7bebfpm1Q3+UOycPfaaEeeuAY=": { - "denomUnits": [ - { - "denom": "transfer/channel-0/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz" - }, - { - "denom": "transfer/channel-0/willyz", - "exponent": 6 - } - ], - "base": "transfer/channel-0/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz", - "display": "transfer/channel-0/willyz", - "name": "Willyz", - "symbol": "WILLYZ", - "penumbraAssetId": { - "inner": "ra98J77CX10Us2s6+d7bebfpm1Q3+UOycPfaaEeeuAY=" - }, - "images": [ - { - "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.png", - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.svg" - } - ] - }, - "reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=": { - "denomUnits": [ - { - "denom": "test_usd", - "exponent": 18 - }, - { - "denom": "wtest_usd" - } - ], - "base": "wtest_usd", - "display": "test_usd", - "symbol": "TestUSD", - "penumbraAssetId": { - "inner": "reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=" - }, - "images": [ - { - "svg": "https://raw.githubusercontent.com/prax-wallet/registry/main/images/test-usd.svg" - } - ] - }, - "ypUT1AOtjfwMOKMATACoD9RSvi8jY/YnYGi46CZ/6Q8=": { - "denomUnits": [ - { - "denom": "test_atom", - "exponent": 6 - }, - { - "denom": "mtest_atom", - "exponent": 3 - }, - { - "denom": "utest_atom" - } - ], - "base": "utest_atom", - "display": "test_atom", - "symbol": "TestATOM", - "penumbraAssetId": { - "inner": "ypUT1AOtjfwMOKMATACoD9RSvi8jY/YnYGi46CZ/6Q8=" - } - } - }, - "numeraires": [ - "reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=", - "J0fi/vGPSy8XmGGzU+rtpPxHirechCzuPf23cnZ5FgA=" - ] -} \ No newline at end of file diff --git a/registry/chains/penumbra-testnet-phobos-1.json b/registry/chains/penumbra-testnet-phobos-1.json index 2d6d9ca..7ff3264 100644 --- a/registry/chains/penumbra-testnet-phobos-1.json +++ b/registry/chains/penumbra-testnet-phobos-1.json @@ -129,7 +129,12 @@ }, "images": [ { - "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg" + "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.png", + "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg", + "theme": { + "primaryColorHex": "#2775CA", + "circle": true + } } ] }, diff --git a/tools/compiler/src/github/assetlist_schema.rs b/tools/compiler/src/assetlist_schema.rs similarity index 100% rename from tools/compiler/src/github/assetlist_schema.rs rename to tools/compiler/src/assetlist_schema.rs diff --git a/tools/compiler/src/chain-registry b/tools/compiler/src/chain-registry new file mode 160000 index 0000000..e01e84f --- /dev/null +++ b/tools/compiler/src/chain-registry @@ -0,0 +1 @@ +Subproject commit e01e84f842057c587868fddb946834f3aaa4df00 diff --git a/tools/compiler/src/github/mod.rs b/tools/compiler/src/github/mod.rs deleted file mode 100644 index 07c84db..0000000 --- a/tools/compiler/src/github/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod assetlist_schema; -pub mod types; diff --git a/tools/compiler/src/github/types.rs b/tools/compiler/src/github/types.rs deleted file mode 100644 index c6cc03e..0000000 --- a/tools/compiler/src/github/types.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::default::Default; - -use serde::{Deserialize, Serialize}; - -use crate::github::assetlist_schema::Asset; - -#[derive(Default, Debug, Clone, Serialize, Deserialize)] -pub struct AssetList { - pub chain_name: String, - pub assets: Vec, -} - -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct Links { - #[serde(rename = "self")] - pub self_field: String, - pub git: String, - pub html: String, -} - -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct GitHubContent { - pub name: String, - pub path: String, - pub sha: String, - pub size: u64, - pub url: String, - pub html_url: String, - pub git_url: String, - pub download_url: String, - #[serde(rename = "type")] - pub type_field: String, - pub content: String, - pub encoding: String, - #[serde(rename = "_links")] - pub links: Links, -} diff --git a/tools/compiler/src/lib.rs b/tools/compiler/src/lib.rs index 331cc30..a133be7 100644 --- a/tools/compiler/src/lib.rs +++ b/tools/compiler/src/lib.rs @@ -1,6 +1,5 @@ +pub mod assetlist_schema; pub mod error; -pub mod github; pub mod parser; pub mod processor; -pub mod querier; pub mod validator; diff --git a/tools/compiler/src/main.rs b/tools/compiler/src/main.rs index 595d6a8..5001a7e 100644 --- a/tools/compiler/src/main.rs +++ b/tools/compiler/src/main.rs @@ -1,12 +1,7 @@ use penumbra_registry::error::AppResult; use penumbra_registry::processor::generate_registry; -#[tokio::main] -async fn main() -> AppResult<()> { +fn main() -> AppResult<()> { tracing_subscriber::fmt::init(); - - if std::env::var("GITHUB_TOKEN").is_err() { - tracing::warn!("GITHUB_TOKEN env var not set, requests may fail due to API ratelimiting"); - } - generate_registry().await + generate_registry() } diff --git a/tools/compiler/src/processor.rs b/tools/compiler/src/processor.rs index 2986018..faaddec 100644 --- a/tools/compiler/src/processor.rs +++ b/tools/compiler/src/processor.rs @@ -4,19 +4,17 @@ use std::fs; use std::path::Path; use tracing::instrument; +use crate::assetlist_schema::{AssetList, AssetTypeAsset}; use crate::error::{AppError, AppResult}; -use crate::github::assetlist_schema::AssetTypeAsset; use crate::parser::{ copy_globals, get_chain_configs, reset_registry_dir, ChainConfig, EntityMetadata, GlobalsInput, IbcInput, Image, LOCAL_INPUT_DIR, LOCAL_REGISTRY_DIR, }; -use crate::querier::query_github_assets; use crate::validator::generate_metadata_from_validators; use penumbra_asset::asset::{Id, Metadata}; use penumbra_asset::STAKING_TOKEN_ASSET_ID; use penumbra_proto::penumbra::core::asset::v1 as pb; use serde::{Deserialize, Serialize}; -use tokio::task; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] @@ -75,22 +73,16 @@ pub struct Registry { pub numeraires: Vec, } -pub async fn generate_registry() -> AppResult<()> { +pub fn generate_registry() -> AppResult<()> { reset_registry_dir(LOCAL_REGISTRY_DIR)?; copy_globals(LOCAL_INPUT_DIR, LOCAL_REGISTRY_DIR)?; // Get local configs from /input directory let chain_configs = get_chain_configs(LOCAL_INPUT_DIR)?; - let mut tasks = Vec::new(); - chain_configs.into_iter().for_each(|c| { - // Async fetch metadata for ibc assets from cosmos registry - let task = task::spawn(async move { process_chain_config(c).await }); - tasks.push(task); - }); // Take resulting registries and save to /registry - for task in tasks { - let registry = task.await??; + for c in chain_configs { + let registry = process_chain_config(c)?; let file_name = format!("{}.json", registry.chain_id); let output_path = Path::new(LOCAL_REGISTRY_DIR).join("chains").join(file_name); let output_json = serde_json::to_string_pretty(®istry)?; @@ -142,16 +134,22 @@ pub fn base64_id(id: &Id) -> AppResult { Ok(base64_str) } -async fn process_chain_config(chain_config: ChainConfig) -> AppResult { +fn process_chain_config(chain_config: ChainConfig) -> AppResult { let mut all_metadata = Vec::new(); all_metadata.extend(generate_metadata_from_validators(&chain_config.validators)?); all_metadata.extend(chain_config.native_assets.clone()); - // For each ibc connection, fetch all metadata of native assets from the cosmos registry - let responses = query_github_assets(&chain_config).await?; + // For each ibc connection, grab all metadata of native assets from the cosmos registry + for ibc_input in &chain_config.ibc_connections { + let assetlist_path = Path::new("./src/chain-registry") + .join(&ibc_input.cosmos_registry_dir) + .join("assetlist.json"); + + // Parse the local JSON into the AssetList struct + let data = fs::read_to_string(assetlist_path)?; + let asset_list: AssetList = serde_json::from_str(&data)?; - for (ibc_data, asset_list) in responses { for source_asset in asset_list.assets { // ICS20 assets should be unwound through their native chains, we can skip if source_asset.type_asset == AssetTypeAsset::Ics20 { @@ -161,7 +159,7 @@ async fn process_chain_config(chain_config: ChainConfig) -> AppResult let asset_json = serde_json::to_string(&source_asset)?; let source_asset_metadata = serde_json::from_str(&asset_json)?; let transferred_asset = - transport_metadata_along_channel(&ibc_data, source_asset_metadata)?; + transport_metadata_along_channel(ibc_input, source_asset_metadata)?; all_metadata.push(transferred_asset); } }