View functions can be declared as private when the output of the view function is generated by consuming a resource such that the write set is simply thrown away per aptos-labs/aptos-core#8539
Presently, the explorer does not render view functions that are declared private, even though these should be publicly accessible outside of the VM.
econia_testnet_addr=0x40b119411c6a975fca28f1ba5800a8a418bba1e16a3f13b1de92f731e023d135
aptos move view \
--function-id $econia_testnet_addr::market::index_orders \
--args String:1
{
"Result": [
{
"asks": [],
"bids": [
{
"custodian_id": "0",
"order_access_key": "1",
"price": "900",
"size": "1",
"user": "0x40b119411c6a975fca28f1ba5800a8a418bba1e16a3f13b1de92f731e023d135"
},
{
"custodian_id": "0",
"order_access_key": "2",
"price": "899",
"size": "1",
"user": "0x40b119411c6a975fca28f1ba5800a8a418bba1e16a3f13b1de92f731e023d135"
},
{
"custodian_id": "0",
"order_access_key": "3",
"price": "898",
"size": "1",
"user": "0x40b119411c6a975fca28f1ba5800a8a418bba1e16a3f13b1de92f731e023d135"
}
]
}
]
}
@banool @CapCap
Per @davidiw migrated from aptos-labs/aptos-core#8991
View functions can be declared as private when the output of the view function is generated by consuming a resource such that the write set is simply thrown away per aptos-labs/aptos-core#8539
Presently, the explorer does not render view functions that are declared private, even though these should be publicly accessible outside of the VM.
Example
Private view function source code: https://github.com/econia-labs/econia/blob/c79e58eeb7129029d9336edd6205c8aaf73e3866/src/move/econia/sources/market.move#L935-L980
CLI view output:
Explorer link with missing view function:
https://explorer.aptoslabs.com/account/0x40b119411c6a975fca28f1ba5800a8a418bba1e16a3f13b1de92f731e023d135/modules/view/assets?network=testnet
Explorer render with
market::index_orders()missing: