0

My view should return multiple elements, but I always got only one. I am calling my view with /vm-values/query.

Should I use another gateway endpoint for the MultiValueEncoded view?

Fargerik
  • 210
  • 2
  • 6

1 Answers1

0

To resolve this issue, I used the queryContract function from the class ApiNetworkProvider in the erdjs npm package.

const apiNetworkProvider = new ApiNetworkProvider("https://devnet-api.elrond.com");

const output = await apiNetworkProvider.queryContract({
    address: "erd1....",
    func: {
        toString(): string {
            return "myFunc";
        }
    },
    getEncodedArguments() {
        return []; // I don't need args
    },
});

The returnData is encoded in base64, so I decoded like so:

const decodedData = output.returnData.map(data => Buffer.from(data, "base64").toString());
Fargerik
  • 210
  • 2
  • 6