Greetings fellas, I use Moralis.Web3Api.Native.RunContractFunction
. And I need to declare some output parameters, like that.
object[] _outputParams = new object[1];
_outputParams[0] = new {internalType = "uint256[]", name = "carIds", type = "uint256[]"};
When it was single ABI line - it was easy. But right now I got ABI json with a lot of nested objects. How to reproduce it in C# code?
My ABI outputs params:
"outputs":[
{
"components":[
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"body",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"engine",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"transmission",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"wheels",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"hood",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
},
{
"internalType":"uint256",
"name":"tier",
"type":"uint256"
},
{
"internalType":"uint256",
"name":"horsepower",
"type":"uint256"
}
],
"internalType":"struct Power",
"name":"spoiler",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
}
],
"internalType":"struct Visual",
"name":"color",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
}
],
"internalType":"struct Visual",
"name":"neon",
"type":"tuple"
},
{
"components":[
{
"internalType":"uint256",
"name":"id",
"type":"uint256"
},
{
"internalType":"string",
"name":"name",
"type":"string"
}
],
"internalType":"struct Visual",
"name":"graffiti",
"type":"tuple"
}
],
"internalType":"struct Car",
"name":"",
"type":"tuple"
}
],