Skip to content

EOS System Contracts v3.7.0 Release Notes

Choose a tag to compare

@ericpassmore ericpassmore released this 24 Feb 22:29
· 148 commits to main since this release
4b3e860

This release of EOS System Contracts enables support for gifting RAM.

Overview

Enables gifting of RAM which is useful for account creation.

Gift Ram Actions

This release includes new gift ram action, which transfers bytes of ram from gifter (from) to giftee (to), with the characteristic that the transfered ram is encumbered, meaning it can only be returned to the gifter via the ungiftram action. It cannot be traded, sold, re-gifted, or transfered otherwise. Its only use is for storing data.

Requires that giftee does not hold gifted ram by someone else than gifter, as one account can only hold gifted ram from one gifter at any time. Current gifter can gift additional ram to a giftee at any time (no restriction)
Receiving gifted ram does not add any restriction to an account, besides the usage restrictions on the gifted ram itself. For example, the account can purchase additional ram, and transfer, trade or sell this additional ram freely. The ram cost of adding a row in the gifted_ram table will be incurred by the gifter.

giftram(name from, name to, int64_t ram_bytes, std::string memo ); 
ungiftram(name from, name to, std::string memo );

Both giftram and ungiftram return the action_return_ramtransfer struct.

   struct action_return_ramtransfer {
      name    from;
      name    to;
      int64_t bytes;
      int64_t from_ram_bytes;
      int64_t to_ram_bytes;
   };

What's Changed

  • Avoid database update when new ram is not issued with every block. by @greg7mdp in #167
  • Add support for gifting RAM, which is encumbered and cannot be sold or transferred. by @greg7mdp in #168

New Contributors

Full Changelog: v3.6.1...v3.7.0