-
Notifications
You must be signed in to change notification settings - Fork 660
Description
From @theoreticalbts on July 31, 2015 15:22
Any operation with potentially unbounded size needs to charge a size fee. Determining whether an operation is variable-size is non-trivial. An operation is variable size if it contains a vector, flat_set or other potentially variable-size element.
Note that this containment may be through any number of intermediate structs. For example, any operation which contains an authority has potentially unbounded size.
We should be able to audit this in a semi-automatic way with logic similar to js_operation_serializer which traverses all operations, and noting any variable-size types found (in any number of sub-structures), allowing us to flag each operation as variable-sized (or not). We will still have to manually specify whether any base type is variable-size or not.
Copied from original issue: cryptonomex/graphene#216