multiversx / mx-sdk-js-network-providers

Network Provider (API, Gateway) components (compatible with sdk-js).
Other
6 stars 6 forks source link

Problems with getAccount for gateway (ProxyNetworkProvider) #17

Closed juliancwirko closed 2 years ago

juliancwirko commented 2 years ago

According to docs, we can use the ApiNetworkProvider or ProxyNetworkProvider

import { ApiNetworkProvider } from "@elrondnetwork/erdjs-network-providers";
let networkProvider = new ApiNetworkProvider("https://devnet-api.elrond.com");

or

import { ProxyNetworkProvider } from "@elrondnetwork/erdjs-network-providers";
let networkProvider = new ProxyNetworkProvider("https://devnet-gateway.elrond.com");

https://docs.elrond.com/sdk-and-tools/erdjs/erdjs-cookbook/#creating-network-providers

Then we should be able to use getAccount in both cases, right?

let addressOfAlice = new Address("erd1...");
let alice = new Account(addressOfAlice);
let aliceOnNetwork = await networkProvider.getAccount(addressOfAlice);

https://docs.elrond.com/sdk-and-tools/erdjs/erdjs-cookbook/#synchronizing-an-account-object

but for the gateway, we don't have such an endpoint, for example: https://devnet-gateway.elrond.com/accounts/erd1vz0ny7g4xjpsewjvm4czuece0q5zf496dl5qken7wkkctxxygtksha4te7

Works well with the ApiNetworkProvider What am I missing here?

juliancwirko commented 2 years ago

aaaaaah I think I missed that the getAccount in both cases uses a different endpoint 🤦‍♂️

So it is not enough to pass the URL (gateway or API). but it is now required (since erdjs 10) to indicate what we want to use