Summary --
RAM usage was examined from a high level perspective to try to understand if the RAM bumps used In the marketplace actions are adequate.
Limitations --
No code was added to the actions to determine actual memory use of each, this code needs to be added to each call and the memory use needs to be recorded for the actions that have been deemed to be in need of memory use analysis.
List domain Action -
Parameters —
name &actor
string &fio_domain
uint64_t &sale_price
uint64_t &max_fee
string &tpid
Tables affected —
Owner of domain updated in domains table (fio.address) no RAM impact.
Entry added into domain sales containing
d.owner
d.ownerhash
d.domain
d.domainhash
d.sale_price
d.commission_fee
d.date_listed
d.date_updated
d.status
Recommendation — Since a record containing increase RAM bump on this command from the present 512 which seems in-adequate, Add print statements and get the TX size, (1.5 X this for the RAM bump)…
Cxlistdomain --
Parameters —
name &actor,
string &fio_domain,
int64_t &max_fee,
string &tpid
Tables updated
Domain sales status updated to “cancelled”.
Recommendation — reduce RAM bump to be 256 on this call.
Buy domain
Parameters —
name &actor, const int64_t &sale_id,
string &fio_domain, const int64_t &max_buy_price,
int64_t &max_fee, const string &tpid
Tables updated
Domain sales status updated to “sold”.
Recommendation — reduce RAM bump to be 256 on this call.
Set market place config
Tables updated
mrkplconfigs row added
row.owner = actor.value;
row.ownerhash = ownerHash;
row.commission_fee = commission_fee;
row.listing_fee = listing_fee;
row.e_break = e_break;
Recommendation — increase RAM bump on this command from the present 512 which seems in-adequate, Add print statements and get the TX size, (1.5 X this for the RAM bump)…
Cxburned —
Only called by a FIO system contract (with unlimited resources) no ram bump needed….