Purpose

This chart shows how individual active rules affect gas consumption of basic token actions.

The gas tests were done using simple ERC20 and ERC721 tokens that integrate the Forte Rules Engine. The comparison is between the base usage(Rules engine integrated but with no active rules) and with the rule active and passing.

Column Definitions

  • Rule = Named Rule Engine rule being tested
  • Action = User action being tested
  • Base Usage = Amount of gas used with for the action with the Rules Engine integrated but no active rules
  • Additional Gas = Additional gas used to evaluate the rule
  • % Increase = Percentage increase in gas used to evaluate the rule(difference divided by original amount * 100)

ERC721


RuleActionBase UsageWith Rule UsageAdditional Gas% Increase
Account Approve/Deny Oracletransferfrom870279267256456.5%
burn444094723328246.4%
safeMint15233315515728241.9%
Account Approve/Deny Oracle Flexibletransferfrom870279004530183.5%
burn444094742730186.8%
safeMint15233315535130182.0%
Account Deny For No Access Level Ruletransferfrom870271195103248337.3%
burn44409n/an/an/a
safeMint1523331856973336421.9%
Account Max Trade Sizetransferfrom(sell/buy)972511118261457515.0%
burn44409n/an/an/a
safeMint152333n/an/an/a
Account Max Tx Value By Risk Scoretransferfrom870271307814375450.3%
burn44409n/an/an/a
safeMint1523331909333860025.3%
Account Max Value By Access Level Ruletransferfrom870271190403201336.8%
burn44409n/an/an/a
safeMint1523331866433431022.5%
Account Max Value by Risk Ruletransferfrom870271209813395439.0%
burn44409n/an/an/a
safeMint1523331885843625123.8%
Account Max Value Out By Access Leveltransferfrom870271221383511140.3%
burn44409672622285351.5%
safeMint152333n/an/an/a
Account Min/Max Token Balance Ruletransferfrom870271032021617518.6%
burn44409556991129025.4%
safeMint152333165363130308.6%
Token Max Buy-Sell Volume Ruletransferfrom870271087451149411.8%
burn44409n/an/an/a
safeMint152333n/an/an/a
Token Max Daily Trades Ruletransferfrom870271430625603564.4%
burn44409n/an/an/a
safeMint1523332083715603836.8%
Token Max Supply Volatility Ruletransferfrom87027n/a00
burn4440950763635414.3%
safeMint1523331784452611217.1%
Token Max Trading Volumetransferfrom870279239253656.2%
burn4440950763635414.3%
safeMint15233315769853653.5%
Token Minimum Hold Timetransferfrom870279032933023.8%
burn444094741630076.8%
safeMint152333n/an/an/a

ERC20


RuleActionBase UsageWith Rule UsageAdditional Gas% Increase
Account Approve/Deny Oracletransfer3900144646564514.5%
burn309703379428249.1%
mint312413406528249.0%
Account Approve/Deny Oracle Flexibletransfer390014201930187.7%
burn309703398830189.7%
mint312413425930189.7%
Account Deny For No Access Level Ruletransfer39001678402883973.9%
burn30970n/an/an/a
mint31241589612772088.7%
Account Max Trade Sizetransfer(sell)4545052748729816.1%
burn30970n/an/an/a
mint31241n/an/an/a
Account Max Tx Value By Risk Scoretransfer390017911440113102.9%
burn30970n/an/an/a
mint312416419732956105.5%
Account Max Value By Access Level Ruletransfer39001673722837172.7%
burn30970n/an/an/a
mint31241599062866591.8%
Account Max Value by Risk Ruletransfer39001693143031377.7%
burn30970n/an/an/a
mint31241618483060798.0%
Account Max Value Out By Access Leveltransfer39001684702946975.6%
burn30970523222135268.9%
mint31241n/an/an/a
Account Min/Max Token Balance Ruletransfer39001551791617841.5%
burn30970422601129036.5%
mint31241442711303041.7%
Token Max Buy-Sell Volume Ruletransfer(sell)4545051153570312.5%
burn30970n/an/an/a
mint31241n/an/an/a
Token Max Supply Volatility Ruletransfer39001n/an/an/a
burn3097037322635220.5%
mint31241573512611083.6%
Token Max Trading Volumetransfer3900144364536313.8%
burn30970n/an/an/a
mint3124136604536317.2%
Token Min Transaction Sizetransfer390014165426536.8%
burn309703362326538.6%
mint312413389426538.5%