namvhoang02 / aptos-e2e-dapp

https://aptos-e2e-dapp.vercel.app
0 stars 0 forks source link

switch network #17

Closed namvhoang02 closed 6 days ago

namvhoang02 commented 1 week ago

Note: After reviewing the source code, we see that the network is only available when the user connects to a wallet. Sourcecode: https://github.com/aptos-labs/aptos-wallet-adapter/blob/main/packages/wallet-adapter-core/src/WalletCore.ts#L775

Desired experience: User can view data even without connecting wallet => Use indexer, here is an example:

fetch("https://indexer.mainnet.aptoslabs.com/v1/graphql/", {
  "headers": {
    "accept": "application/json, text/plain, */*",
    "accept-language": "en-US,en;q=0.9",
    "content-type": "application/json",
    "priority": "u=1, i",
    ...
    "x-aptos-client": "aptos-ts-sdk/1.21.0"
  },
  "referrer": "https://app.cellana.finance/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": "{\"query\":\"\\n query getCurrentFungibleAssetBalances($address: String!, $filtered_coins: [String!]) {\\n  current_fungible_asset_balances(\\n    where: {owner_address: {_eq: $address}, asset_type: {_nin: $filtered_coins}, is_frozen: {_eq: false}}\\n  ) {\\n    amount\\n    asset_type\\n    metadata {\\n      asset_type\\n      decimals\\n      icon_uri\\n      name\\n      symbol\\n    }\\n  }\\n}\\n\",\"variables\":{\"filtered_coins\":[\"0xf658475dc67a4d48295dbcea6de1dc3c9af64c1c80d4161284df369be941dafb::moon_coin::MoonCoin\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Questss::Quests\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::quest::Quest\",\"0xbc106d0fef7e5ce159423a1a9312e011bca7fb57f961146a2f88003a779b25c2::QUEST::QUEST\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Questseess::Questsee\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::graffio::GRAFFIO\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::ograffioo::Ograffioo\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::ograffio::Ograffio\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::memes::Memecoins\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::meme::Memecoin\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::tortugafin::Tortugafin\",\"0x397071c01929cc6672a17f130bd62b1bce224309029837ce4f18214cc83ce2a7::USDC::USDC\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Ogrf::Ogrff\",\"0xa72a97e872be9ee3d2f14d56fd511eb7e4a53f4055be3a267d8602e7685b41c0::coin::T\",\"0x24a808cbdeee2e8b771fec7ce9140bab2cbbf89426bf135d6b5d88e6736bb038::EZMoney::EZ_Money\",\"0x48327a479bf5c5d2e36d5e9846362cff2d99e0e27ff92859fc247893fded3fbd::APTOS::APTOS\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Memecoins::Aptmeme\",\"0xbde343d6d2a7b407b1314c6c6ef771ebd72b95f9f67b688bbaea5ece4b98bb57::maincoin::Aptmeme\",\"0xf658475dc67a4d48295dbcea6de1dc3c9af64c1c80d4161284df369be941dafb::moon_coin::MoonCoin\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Questss::Quests\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::quest::Quest\",\"0xbc106d0fef7e5ce159423a1a9312e011bca7fb57f961146a2f88003a779b25c2::QUEST::QUEST\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Questseess::Questsee\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::graffio::GRAFFIO\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::ograffioo::Ograffioo\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::ograffio::Ograffio\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::memes::Memecoins\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::meme::Memecoin\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::tortugafin::Tortugafin\",\"0x397071c01929cc6672a17f130bd62b1bce224309029837ce4f18214cc83ce2a7::USDC::USDC\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Ogrf::Ogrff\",\"0xa72a97e872be9ee3d2f14d56fd511eb7e4a53f4055be3a267d8602e7685b41c0::coin::T\",\"0x24a808cbdeee2e8b771fec7ce9140bab2cbbf89426bf135d6b5d88e6736bb038::EZMoney::EZ_Money\",\"0x48327a479bf5c5d2e36d5e9846362cff2d99e0e27ff92859fc247893fded3fbd::APTOS::APTOS\",\"0xbbc4a9af0e7fa8885bda5db08028e7b882f2c2bba1e0fedbad1d8316f73f8b2f::Memecoins::Aptmeme\"]}}",
  "method": "POST",
  "mode": "cors",
  "credentials": "omit"
});

After connecting, display networks and allow user to select

namvhoang02 commented 1 week ago

https://github.com/trustwallet/wallet-core/pull/2595/files#diff-c1ccab6b761f7c3ef53302c329215f605bb24c73aa16fb75bc4da712926e972bR397

{
    "id": "aptos",
    "name": "Aptos",
    "displayName": "Aptos",
    "coinId": 637,
    "symbol": "APT",
    "decimals": 8,
    "chainId": "1",
    "blockchain": "Aptos",
    "derivation": [
      {
        "path": "m/44'/637'/0'/0'/0'"
      }
    ],
    "curve": "ed25519",
    "publicKeyType": "ed25519",
    "explorer": {
      "url": "https://explorer.aptoslabs.com",
      "txPath": "/txn/",
      "accountPath": "/account/",
      "sampleTx": "91424546",
      "sampleAccount": "0x6af7d07b8a541913dfa87a9f99628faa255c70241ef9ebd9b82a7e715ee13108"
    },
    "info": {
      "url": "https://aptoslabs.com/",
      "source": "https://github.com/aptos-labs/aptos-core",
      "rpc": "https://fullnode.devnet.aptoslabs.com",
      "documentation": "https://fullnode.devnet.aptoslabs.com/v1/spec#/"
    }
  },