FIO -- Read performance of state access in FIO, overview

Purpose

The purpose of this document is to describe an approach that may be used to analyze FIO read performance of state in the FIO chain plugin and FIO contracts. Specifically it will:

  • Document all of the uses of get table rows within the chain plugin within fio.

  • Analyze each from a “read performance” perspective and publish a list of the reads along with a level of concern for each.

  • Decide on next steps.

Summary of Results and Next Steps

  • Uses of get table rows is documented below.

  • Alternative options are documented below.

The “Deploy high-powered / modified API plugin” solution was determined to be the easiest solution to deploy and it maintains decentralization. The analysis is tracked here. Development and rollout will be tracked in FIP-46 and this epic.

Alternative Options

Option

Status

Description

Pros

Cons

Centralized

Dev Effort

Low: weeks
Med: 1-2 months
High: 2+ months

QA Effort

Low: 1 week
Med: 2-4 weeks
High: 1m+

Data Migration Effort

Option

Status

Description

Pros

Cons

Centralized

Dev Effort

Low: weeks
Med: 1-2 months
High: 2+ months

QA Effort

Low: 1 week
Med: 2-4 weeks
High: 1m+

Data Migration Effort

Table redesign and migration

Not viable

Redesign tables with proper scope and/or indexes and migrate data to new tables

  • Clean - Table lookups act on primary table

  • Data migration of full tables is complex and prone to error.

  • Migration requires multiple msigs

  • Requires table redesign and new tables

No

High

Med - High

High

New lookup tables

Possible medium to long term solution

Create secondary lookup tables alongside existing tables

  • New tables can be deployed and populated without impacting user experience

  • FIO can “control” the rollout

  • Adds complexity with “duplicate” tables

  • Still requires some migration, but much less than with the full table redesign

No

Med

Med

Med

Off-chain database

Large transaction solution

An off-chain database can be created and the data indexed for specific lookups.

 

  • Very flexible and easy to add new lookups in the future

  • Fast lookups

  • Data cohesion (keeping offline data in sync with state)

  • Data latency (speed of data syncing)

Yes

Med-High

High

High

Off-chain - block crawling

 

Crawl each block looking for specific transactions and index those into a local database

  • Understandable architecture and process

  • Can be indexed to local db for fast lookups

  • Centralized

  • Not guaranteed to be in sync with state. Needs validation?

  • Still requires a good data model

Yes

Med (depends on validation)

Low

Low (if you have someone who knows history nodes)

History node

#2?

Can a history node solve any of this?

Initial research shows this may be an offline centralized solution. Needs further research with exchange integrators.

 

 

No

 

 

 

Brute force searches (as a service)

#3?

Runtime Javascript code to page through the entire table and pull out needed data. Could be deployed as an API service endpoint on AWS or an integrator can deploy the code in their wallet.

  • Easy to implement and roll out

  • Linear performance degradation as table grows

Yes

Low

Low

Low

Brute force searches (via SDK)

#3?

First try simple version, if more data, do the more complex query.

 

 

No

 

 

 

Deploy high-powered / modified API plugin

#1

Remove cpu and other limits on query time for fio API node

  • Uses existing node infrastructure

  • Would not need to write new queries

  • Linear performance degradation as table grows

No

Low

Med

Low

Deploy high-powered / modified API node that we host

#1.b

 

 

 

Yes

 

 

 

Limits on number of table entries

Not viable

Put limits in the contracts for table size (as we do for mapped addresses).

  • Easy to code and test

  • Big impact to usability when limiting number of domains or nfts, etc.

 

Low

Low

Low

Results: FIO Getters

 

Endpoint

Location

Table

get_table_rows lookup

Index

Limits

get_escrow_listings

./chain_plugin.cpp:1813:

./chain_plugin.cpp:1823:

 

 

 

 

get_pending_fio_requests

./chain_plugin.cpp:1933:

./chain_plugin.cpp:1943:

fiotrxtss

.code = fio.reqobt
.scope = fio.reqobt
.table = fiotrxtss,
.lower_bound = payer_account
.upper_bound = payer_account
.index_position = 9 (by_payerstat)

uint64_t by_payerstat() const { return payer_account + static_cast<uint64_t>(fio_data_type); }

 

enum class trxstatus { requested = 0, rejected = 1, sent_to_blockchain = 2, cancelled = 3, obt_action = 4, other = 5 //Future Use };

 

Limit

If account has > 2000 of requested, it will not return them all.

get_cancelled_fio_requests

./chain_plugin.cpp:2027:

./chain_plugin.cpp:2037:

fiotrxtss

.code = fio.reqobt
.scope = fio.reqobt
.table = fiotrxtss,
.lower_bound = payee_account + 3
.upper_bound = payee_account + 3
.index_position = 10 (by_payeestat)

uint64_t by_payeestat() const { return payee_account + static_cast<uint64_t>(fio_data_type); }

 

 

Limit

If account has > 2000 of cancelled it will not return them all.

get_received_fio_requests

./chain_plugin.cpp:2122:

./chain_plugin.cpp:2132:

fiotrxtss

.code = fio.reqobt
.scope = fio.reqobt
.table = fiotrxtss,
.lower_bound = payer_account + true
.upper_bound = payer_account + true
.index_position = 13 (by_payerreq)

 

Limit

If account has > 2000 of (requested, rejected, sent_to_blockchain, cancelled) it will not return them all.

get_sent_fio_requests

./chain_plugin.cpp:2225:

./chain_plugin.cpp:2235:

fiotrxtss

.code = fio.reqobt
.scope = fio.reqobt
.table = fiotrxtss,
.lower_bound = payee_account + true
.upper_bound = payee_account + true
.index_position = 14 (by_payeereq)

 

 

If account has > 2000 of (requested, rejected, sent_to_blockchain, cancelled) it will not return them all.

get_obt_data

./chain_plugin.cpp:2225:

./chain_plugin.cpp:2235:

fiotrxtss

.code = fio.reqobt
.scope = fio.reqobt
.table = fiotrxtss,
.lower_bound = account + true
.upper_bound = account + true
.index_position = 11 (by_payerobt)

and

.index_position = 12 (by_payeeobt)

Returns records of sent_to_blockchain or obt_action

 

If account has > 2000 of (sent_to_blockchain + obt_action) items, it will not return them all.

get_nfts_fio_address

./chain_plugin.cpp:2450:

./chain_plugin.cpp:2459:

 

.code = fio.address
.scope = fio.address
.table = nfts,
.lower_bound = hash of crypto handle
.upper_bound = hash of crypto handle
.index_position = 2 (by_address)

If FIO Crypto Handle has > 2000 nfts mapped it will not return them all.

get_nfts_hash

./chain_plugin.cpp:2516:

./chain_plugin.cpp:2525:

 

.code = fio.address
.scope = fio.address
.table = nfts,
.lower_bound = hash
.upper_bound = hash
.index_position = 4 (by_hash)

If there are > 2000 nfts with the specified hash, it will not return them all.

get_nfts_contract

./chain_plugin.cpp:2585:

./chain_plugin.cpp:2594:

 

.code = fio.address
.scope = fio.address
.table = nfts,
.lower_bound = contract address
.upper_bound = contract address
.index_position = 3 (by_contract_address)

If there are > 2000 nfts with the specified contract address, it will not return them all.

get_fio_names

./chain_plugin.cpp:2681:

./chain_plugin.cpp:2691:

./chain_plugin.cpp:2724:

./chain_plugin.cpp:2733:

 

.code = fio.address
.scope = fio.address
.table = fionames,
.lower_bound = account
.upper_bound = account
.index_position = 4 (by_name)

This also returns all domains associated with the account.

If the account has > 2000 crypto handles, it will not return them all.

get_fio_domains

./chain_plugin.cpp:2800:

./chain_plugin.cpp:2809:

 

.code = fio.address
.scope = fio.address
.table = domains,
.lower_bound = account
.upper_bound = account
.index_position = 2 (by_name)

If the account has > 2000 domains, it will not return them all.

get_fio_addresses

./chain_plugin.cpp:2880:

./chain_plugin.cpp:2890:

 

 

 

 

get_pub_addresses

./chain_plugin.cpp:3580:

./chain_plugin.cpp:3589:

./chain_plugin.cpp:3610:

./chain_plugin.cpp:3619:

 

 

 

 

 

 

 

 

All endpoints list.

 

Endpoint

Location

Description and parameters

Read Performance Rating and Notes

Fio — chain plugin

./include/eosio/chain_plugin/chain_plugin.hpp:385:

./include/eosio/chain_plugin/chain_plugin.hpp:401:

./include/eosio/chain_plugin/chain_plugin.hpp:406:

./include/eosio/chain_plugin/chain_plugin.hpp:515:

./include/eosio/chain_plugin/chain_plugin.hpp:885:

./include/eosio/chain_plugin/chain_plugin.hpp:888:

./include/eosio/chain_plugin/chain_plugin.hpp:889:

./include/eosio/chain_plugin/chain_plugin.hpp:890:

./include/eosio/chain_plugin/chain_plugin.hpp:988:

./include/eosio/chain_plugin/chain_plugin.hpp:989:

./include/eosio/chain_plugin/chain_plugin.hpp:990:

./include/eosio/chain_plugin/chain_plugin.hpp:1651:

./include/eosio/chain_plugin/chain_plugin.hpp:1654:

 

 

get_table_index

./chain_plugin.cpp:1493: 

 

 

get_locks

./chain_plugin.cpp:1659:

./chain_plugin.cpp:1669:

 

 

get_escrow_listings

./chain_plugin.cpp:1813:

./chain_plugin.cpp:1823:

 

 

get_pending_fio_requests

./chain_plugin.cpp:1933:

./chain_plugin.cpp:1943:

 

 

get_cancelled_fio_requests

./chain_plugin.cpp:2027:

./chain_plugin.cpp:2037:

 

 

get_received_fio_requests

./chain_plugin.cpp:2122:

./chain_plugin.cpp:2132:

 

 

get_sent_fio_requests

./chain_plugin.cpp:2225:

./chain_plugin.cpp:2235:

 

 

get_obt_data

./chain_plugin.cpp:2324:

./chain_plugin.cpp:2334:

./chain_plugin.cpp:2340:

./chain_plugin.cpp:2350:

 

 

get_nfts_fio_address

./chain_plugin.cpp:2450:

./chain_plugin.cpp:2459:

 

 

get_nfts_hash

./chain_plugin.cpp:2516:

./chain_plugin.cpp:2525:

 

 

get_nfts_contract

./chain_plugin.cpp:2585:

./chain_plugin.cpp:2594:

 

 

GetFIOAccount

./chain_plugin.cpp:2641:

./chain_plugin.cpp:2644:

./chain_plugin.cpp:2655:

 

 

get_fio_names

./chain_plugin.cpp:2681:

./chain_plugin.cpp:2691:

./chain_plugin.cpp:2724:

./chain_plugin.cpp:2733:

 

 

get_fio_domains

./chain_plugin.cpp:2800:

./chain_plugin.cpp:2809:

 

 

get_fio_addresses

./chain_plugin.cpp:2880:

./chain_plugin.cpp:2890:

 

 

get_staking_row

Chain_plugin .cpp:2943.    

 

 

get_fio_balance

./chain_plugin.cpp:2976:

./chain_plugin.cpp:2986:

./chain_plugin.cpp:2987:

./chain_plugin.cpp:3016:

./chain_plugin.cpp:3026:

./chain_plugin.cpp:3027:

./chain_plugin.cpp:3039:

./chain_plugin.cpp:3049:

./chain_plugin.cpp:3100:

./chain_plugin.cpp:3110:

 

 

get_fee

./chain_plugin.cpp:3201:

./chain_plugin.cpp:3211:

./chain_plugin.cpp:3239:

./chain_plugin.cpp:3248:

 

 

get_oracle_fees

./chain_plugin.cpp:3287:

./chain_plugin.cpp:3293:

./chain_plugin.cpp:3294:

 

 

get_whitelist

./chain_plugin.cpp:3349:       

./chain_plugin.cpp:3359: 

 

 

check_whitelist

./chain_plugin.cpp:3395: 

./chain_plugin.cpp:3405:                      

 

 

get_pub_address

./chain_plugin.cpp:3448:

./chain_plugin.cpp:3449:

./chain_plugin.cpp:3450:

./chain_plugin.cpp:3460:

./chain_plugin.cpp:3469:

./chain_plugin.cpp:3490:

./chain_plugin.cpp:3499:

./chain_plugin.cpp:3570:

./chain_plugin.cpp:3571:

./chain_plugin.cpp:3572:

 

 

get_pub_addresses

./chain_plugin.cpp:3580:

./chain_plugin.cpp:3589:

./chain_plugin.cpp:3610:

./chain_plugin.cpp:3619:

 

 

avail_check

./chain_plugin.cpp:3685:

./chain_plugin.cpp:3686:

./chain_plugin.cpp:3687:

./chain_plugin.cpp:3693:

./chain_plugin.cpp:3703:

./chain_plugin.cpp:3713:

./chain_plugin.cpp:3723:

 

 

get_table_rows

./chain_plugin.cpp:3749:

./chain_plugin.cpp:3760:

./chain_plugin.cpp:3769:

./chain_plugin.cpp:3773:

./chain_plugin.cpp:3779:

./chain_plugin.cpp:3782:

./chain_plugin.cpp:3784:

./chain_plugin.cpp:3789:

./chain_plugin.cpp:3798:

./chain_plugin.cpp:3801:

 

 

get_account

./chain_plugin.cpp:6481:

./chain_plugin.cpp:6492:

 

 

 

Contract Actions

For each contract action we will perform a summary analysis of the read performance.

Data to be collected:

  • Detail the following parameters accessed in get_table_rows

    • contract

    • scope

    • table

    • index type used (primary or secondary index, and index used).

  • Publish a description as necessary to illuminate the limitations or performance factors of the read.

  • Rate the endpoint according to:

    1) GREEN — the read functions well and has no identifiable limits or issues.

    2) YELLOW— the read has paging capability but users are forced to query many times to get desired data.

    3) RED —   this read is severely limited and will not function beyond a certain amount of data associated with the read.

 

 

 

Endpoint

Location

Description and parameters

Read Performance Rating and Notes

Tpidclaim

./contracts/fio.treasury/fio.treasury.cpp:80:          

 

 

bpclaim

./contracts/fio.treasury/fio.treasury.cpp:141:         
./contracts/fio.treasury/fio.treasury.cpp:148:        
./contracts/fio.treasury/fio.treasury.cpp:163:        
./contracts/fio.treasury/fio.treasury.cpp:330:       
./contracts/fio.treasury/fio.treasury.cpp:332:       

 

 

setabi

./contracts/eosio.bios/include/eosio.bios/eosio.bios.hpp:194: 

 

 

autoproxy

./contracts/fio.tpid/fio.tpid.cpp:37:               

 

 

process_auto_proxy

./contracts/fio.tpid/fio.tpid.cpp:69:               
./contracts/fio.tpid/fio.tpid.cpp:74:               
./contracts/fio.tpid/fio.tpid.cpp:76:   
./contracts/fio.tpid/fio.tpid.cpp:85:    

 

 

updatetpid

./contracts/fio.tpid/fio.tpid.cpp:105:             
./contracts/fio.tpid/fio.tpid.cpp:118:    

 

 

rewardspaid

./contracts/fio.tpid/fio.tpid.cpp:130:              

 

 

computeusablebalance

./contracts/fio.token/include/fio.token/fio.token.hpp:169:     

 

 

computeremaininglockedtokens

./contracts/fio.token/include/fio.token/fio.token.hpp:201:     

 

 

computegenerallockedtokens

./contracts/fio.token/include/fio.token/fio.token.hpp:399:    

 

 

Create

./contracts/fio.token/src/fio.token.cpp:27:       

 

 

Issue

./contracts/fio.token/src/fio.token.cpp:42:     

 

 

retire

./contracts/fio.token/src/fio.token.cpp:89:     
./contracts/fio.token/src/fio.token.cpp:99:     
./contracts/fio.token/src/fio.token.cpp:105:   
./contracts/fio.token/src/fio.token.cpp:111:  

 

 

can_transfer

./contracts/fio.token/src/fio.token.cpp:158:   

 

 

transfer_public_key

./contracts/fio.token/src/fio.token.cpp:262:   
./contracts/fio.token/src/fio.token.cpp:290:   
./contracts/fio.token/src/fio.token.cpp:335:   
./contracts/fio.token/src/fio.token.cpp:375:          

 

 

transfer

./contracts/fio.token/src/fio.token.cpp:449:    

 

 

trnsfiopubky

./contracts/fio.token/src/fio.token.cpp:488:    

 

 

trnsloctoks

./contracts/fio.token/src/fio.token.cpp:544:    
./contracts/fio.token/src/fio.token.cpp:572:      

 

 

add_balance

./contracts/fio.token/src/fio.token.cpp:650:    

 

 

accountmgnt

./contracts/fio.address/fio.address.cpp:68:    
./contracts/fio.address/fio.address.cpp:86:     

 

 

addburnq

./contracts/fio.address/fio.address.cpp:68:    
./contracts/fio.address/fio.address.cpp:86:          

 

 

getBundledAmount

./contracts/fio.address/fio.address.cpp:167:  

 

 

fio_address_update

./contracts/fio.address/fio.address.cpp:202: 
./contracts/fio.address/fio.address.cpp:223: 
./contracts/fio.address/fio.address.cpp:227: 

 

 

fio_domain_update

./contracts/fio.address/fio.address.cpp:269:

 

 

perform_remove_address

./contracts/fio.address/fio.address.cpp:301: 
./contracts/fio.address/fio.address.cpp:309:
./contracts/fio.address/fio.address.cpp:364:

 

 

perform_remove_all_addresses

./contracts/fio.address/fio.address.cpp:417: 
./contracts/fio.address/fio.address.cpp:424:
./contracts/fio.address/fio.address.cpp:466:

 

 

chain_data_update

./contracts/fio.address/fio.address.cpp:518: 
./contracts/fio.address/fio.address.cpp:525: 
./contracts/fio.address/fio.address.cpp:554: 
./contracts/fio.address/fio.address.cpp:555: 
./contracts/fio.address/fio.address.cpp:598:   

 

 

regaddress

./contracts/fio.address/fio.address.cpp:706:         

 

 

regdomain

./contracts/fio.address/fio.address.cpp:775:         

 

 

renewdomain

./contracts/fio.address/fio.address.cpp:840:        
./contracts/fio.address/fio.address.cpp:849:          

 

 

renewaddress

./contracts/fio.address/fio.address.cpp:928:        
./contracts/fio.address/fio.address.cpp:942:        
./contracts/fio.address/fio.address.cpp:951:         

 

 

burnexpired

./contracts/fio.address/fio.address.cpp:1015:       
./contracts/fio.address/fio.address.cpp:1022:       
./contracts/fio.address/fio.address.cpp:1030:       
./contracts/fio.address/fio.address.cpp:1032:       
./contracts/fio.address/fio.address.cpp:1044:       
./contracts/fio.address/fio.address.cpp:1046:       
./contracts/fio.address/fio.address.cpp:1068:       
./contracts/fio.address/fio.address.cpp:1070:       
./contracts/fio.address/fio.address.cpp:1085:   

 

 

addnft

./contracts/fio.address/fio.address.cpp:1249:       
./contracts/fio.address/fio.address.cpp:1257:        
./contracts/fio.address/fio.address.cpp:1265:        
./contracts/fio.address/fio.address.cpp:1301:         
./contracts/fio.address/fio.address.cpp:1374:    

 

 

remnft

./contracts/fio.address/fio.address.cpp:1444:         
./contracts/fio.address/fio.address.cpp:1452:         
./contracts/fio.address/fio.address.cpp:1484:
./contracts/fio.address/fio.address.cpp:1499:
./contracts/fio.address/fio.address.cpp:1536:               

 

 

remallnfts

./contracts/fio.address/fio.address.cpp:1594:   
./contracts/fio.address/fio.address.cpp:1602:   
./contracts/fio.address/fio.address.cpp:1611:    
./contracts/fio.address/fio.address.cpp:1635:      

 

 

burnnfts

./contracts/fio.address/fio.address.cpp:1687:   

 

 

setdomainpub

./contracts/fio.address/fio.address.cpp:1733:   
./contracts/fio.address/fio.address.cpp:1763:      

 

 

bind2eosio

./contracts/fio.address/fio.address.cpp:1823:   

 

 

xferaddress

./contracts/fio.address/fio.address.cpp:1858:   
./contracts/fio.address/fio.address.cpp:1866:   
./contracts/fio.address/fio.address.cpp:1875:   
./contracts/fio.address/fio.address.cpp:1882:   
./contracts/fio.address/fio.address.cpp:1904:       

 

 

burnaddress

./contracts/fio.address/fio.address.cpp:1959:   
./contracts/fio.address/fio.address.cpp:1966:   
./contracts/fio.address/fio.address.cpp:1973:   
./contracts/fio.address/fio.address.cpp:1980:   
./contracts/fio.address/fio.address.cpp:1994:       

 

 

xferdomain

./contracts/fio.address/fio.address.cpp:2043:   
./contracts/fio.address/fio.address.cpp:2051:        

 

 

addbundles

./contracts/fio.address/fio.address.cpp:2118:     
./contracts/fio.address/fio.address.cpp:2123:     
./contracts/fio.address/fio.address.cpp:2132:     

 

 

decrcounter

./contracts/fio.address/fio.address.cpp:2177:      

 

 

xferescrow

./contracts/fio.address/fio.address.cpp:2210:     

 

 

listdomain

./contracts/fio.escrow/fio.escrow.cpp:97:          
./contracts/fio.escrow/fio.escrow.cpp:111:         
./contracts/fio.escrow/fio.escrow.cpp:136:     

 

 

cxlistdomain

./contracts/fio.escrow/fio.escrow.cpp:206:       
./contracts/fio.escrow/fio.escrow.cpp:217:        
./contracts/fio.escrow/fio.escrow.cpp:238:          

 

 

buydomain

./contracts/fio.escrow/fio.escrow.cpp:302:       
./contracts/fio.escrow/fio.escrow.cpp:325:       
./contracts/fio.escrow/fio.escrow.cpp:359:           

 

 

setmrkplcfg

./contracts/fio.escrow/fio.escrow.cpp:429:       
./contracts/fio.escrow/fio.escrow.cpp:476:       
./contracts/fio.escrow/fio.escrow.cpp:515:    

 

 

stakefio

./contracts/fio.staking/fio.staking.cpp:100:      
./contracts/fio.staking/fio.staking.cpp:113:       
./contracts/fio.staking/fio.staking.cpp:159:      
./contracts/fio.staking/fio.staking.cpp:163:      
./contracts/fio.staking/fio.staking.cpp:175:      
./contracts/fio.staking/fio.staking.cpp:215:   

 

 

unstakefio

./contracts/fio.staking/fio.staking.cpp:264:     
./contracts/fio.staking/fio.staking.cpp:273:     
./contracts/fio.staking/fio.staking.cpp:284:     
./contracts/fio.staking/fio.staking.cpp:405:     
./contracts/fio.staking/fio.staking.cpp:427:    

 

 

propose

./contracts/eosio.msig/src/eosio.msig.cpp:65:
./contracts/eosio.msig/src/eosio.msig.cpp:71:      

 

 

approve

./contracts/eosio.msig/src/eosio.msig.cpp:172: 
./contracts/eosio.msig/src/eosio.msig.cpp:174: 
./contracts/eosio.msig/src/eosio.msig.cpp:186:    

 

 

unapprove

./contracts/eosio.msig/src/eosio.msig.cpp:226: 
./contracts/eosio.msig/src/eosio.msig.cpp:228: 
./contracts/eosio.msig/src/eosio.msig.cpp:238: 

 

 

cancel

./contracts/eosio.msig/src/eosio.msig.cpp:280: 
./contracts/eosio.msig/src/eosio.msig.cpp:285:     

 

 

exec

./contracts/eosio.msig/src/eosio.msig.cpp:320: 
./contracts/eosio.msig/src/eosio.msig.cpp:326: 
./contracts/eosio.msig/src/eosio.msig.cpp:336:  

 

 

invalidate

./contracts/eosio.msig/src/eosio.msig.cpp:376: 

 

 

set_auto_proxy

./contracts/fio.common/fio.common.hpp:262:    

 

 

process_rewards

./contracts/fio.common/fio.common.hpp:295:    

 

 

processbucketrewards

./contracts/fio.common/fio.common.hpp:368:    

 

 

updatepower

./contracts/fio.system/src/delegate_bandwidth.cpp:69:

 

 

burnaction

./contracts/fio.system/src/voting.cpp:43:         
./contracts/fio.system/src/voting.cpp:52:   

 

 

regiproducer

./contracts/fio.system/src/voting.cpp:92:        

 

 

regproduce

./contracts/fio.system/src/voting.cpp:171: 
./contracts/fio.system/src/voting.cpp:179:    
./contracts/fio.system/src/voting.cpp:199:  

 

 

unregprod

./contracts/fio.system/src/voting.cpp:252:    
./contracts/fio.system/src/voting.cpp:261:    
./contracts/fio.system/src/voting.cpp:271:    
./contracts/fio.system/src/voting.cpp:284:  

 

 

update_elected_producers

./contracts/fio.system/src/voting.cpp:343:   

 

 

voteproducer

./contracts/fio.system/src/voting.cpp:462:   
./contracts/fio.system/src/voting.cpp:467:   
./contracts/fio.system/src/voting.cpp:485:   
./contracts/fio.system/src/voting.cpp:490:       
./contracts/fio.system/src/voting.cpp:503:     
./contracts/fio.system/src/voting.cpp:525:     

 

 

voteproxy

./contracts/fio.system/src/voting.cpp:588:     
./contracts/fio.system/src/voting.cpp:597:      
./contracts/fio.system/src/voting.cpp:608:     
./contracts/fio.system/src/voting.cpp:623:     
./contracts/fio.system/src/voting.cpp:630:     
./contracts/fio.system/src/voting.cpp:643:     
./contracts/fio.system/src/voting.cpp:663:      

 

 

inhibitunlck

./contracts/fio.system/src/voting.cpp:710:      

 

 

get_votable_balance

./contracts/fio.system/src/voting.cpp:740:     
./contracts/fio.system/src/voting.cpp:786:          

 

 

update_votes

./contracts/fio.system/src/voting.cpp:818:     
./contracts/fio.system/src/voting.cpp:847:     
./contracts/fio.system/src/voting.cpp:863:     
./contracts/fio.system/src/voting.cpp:888:      

 

 

updlocked

./contracts/fio.system/src/voting.cpp:929:     

 

 

setautoproxy

./contracts/fio.system/src/voting.cpp:951:      
./contracts/fio.system/src/voting.cpp:955:      

 

 

crautoproxy

./contracts/fio.system/src/voting.cpp:975:     
./contracts/fio.system/src/voting.cpp:980:      

 

 

unregproxy

./contracts/fio.system/src/voting.cpp:1010:    
./contracts/fio.system/src/voting.cpp:1019:    
./contracts/fio.system/src/voting.cpp:1034:        

 

 

regproxy

./contracts/fio.system/src/voting.cpp:1079:    
./contracts/fio.system/src/voting.cpp:1087:    
./contracts/fio.system/src/voting.cpp:1106:       

 

 

regiproxy

./contracts/fio.system/src/voting.cpp:1166:     

 

 

propagate_weight_change

./contracts/fio.system/src/voting.cpp:1217:      
./contracts/fio.system/src/voting.cpp:1232:     
./contracts/fio.system/src/voting.cpp:1244:    

 

 

onblock

./contracts/fio.system/src/producer_pay.cpp:44: 

 

 

resetclaim

./contracts/fio.system/src/producer_pay.cpp:64: 

 

 

updlbpclaim

./contracts/fio.system/src/producer_pay.cpp:76: 

 

 

rmvproducer

./contracts/fio.system/src/fio.system.cpp:84:       

 

 

setabi

./contracts/fio.system/src/fio.system.cpp:185:     

 

 

addgenlocked

./contracts/fio.system/src/fio.system.cpp:246:     

 

 

modgenlocked

./contracts/fio.system/src/fio.system.cpp:295:     

 

 

clrgenlocked

./contracts/fio.system/src/fio.system.cpp:317:      

 

 

wraptokens

./contracts/fio.oracle/fio.oracle.cpp:137:        

 

 

unwraptokens

./contracts/fio.oracle/fio.oracle.cpp:189:        
./contracts/fio.oracle/fio.oracle.cpp:195:        
./contracts/fio.oracle/fio.oracle.cpp:199:        
./contracts/fio.oracle/fio.oracle.cpp:213:        
./contracts/fio.oracle/fio.oracle.cpp:237:   

 

 

regoracle

./contracts/fio.oracle/fio.oracle.cpp:266:       
./contracts/fio.oracle/fio.oracle.cpp:275:                          

 

 

unregoracle

./contracts/fio.oracle/fio.oracle.cpp:298:        

 

 

setoraclefee

./contracts/fio.oracle/fio.oracle.cpp:318:         

 

 

wrapdomain

/contracts/fio.oracle/fio.oracle.cpp:387:          
./contracts/fio.oracle/fio.oracle.cpp:463:   

 

 

unwrapdomain

/contracts/fio.oracle/fio.oracle.cpp:506:          
./contracts/fio.oracle/fio.oracle.cpp:523:         
./contracts/fio.oracle/fio.oracle.cpp:529:         
./contracts/fio.oracle/fio.oracle.cpp:533:         
./contracts/fio.oracle/fio.oracle.cpp:544:        
./contracts/fio.oracle/fio.oracle.cpp:570:        
./contracts/fio.oracle/fio.oracle.cpp:581:           

 

 

update_fees

./contracts/fio.fee/fio.fee.cpp:82:           
./contracts/fio.fee/fio.fee.cpp:87:           
./contracts/fio.fee/fio.fee.cpp:119:  

 

 

setfeevote

./contracts/fio.fee/fio.fee.cpp:172:          
./contracts/fio.fee/fio.fee.cpp:180:        
./contracts/fio.fee/fio.fee.cpp:183:        
./contracts/fio.fee/fio.fee.cpp:200:       
./contracts/fio.fee/fio.fee.cpp:229:       
./contracts/fio.fee/fio.fee.cpp:255:     

 

 

bundlevote

./contracts/fio.fee/fio.fee.cpp:332:       
./contracts/fio.fee/fio.fee.cpp:357:  

 

 

setfeemult

./contracts/fio.fee/fio.fee.cpp:415:       
./contracts/fio.fee/fio.fee.cpp:427:       
./contracts/fio.fee/fio.fee.cpp:450:       
./contracts/fio.fee/fio.fee.cpp:453:       
./contracts/fio.fee/fio.fee.cpp:462:       
./contracts/fio.fee/fio.fee.cpp:476:       

 

 

mandatoryfee

./contracts/fio.fee/fio.fee.cpp:519:       

 

 

bytemandfee

./contracts/fio.fee/fio.fee.cpp:556:      

 

 

createfee

./contracts/fio.fee/fio.fee.cpp:608:      

 

 

migrtrx

./contracts/fio.request.obt/fio.request.obt.cpp:65: 

 

 

recordobt

./contracts/fio.request.obt/fio.request.obt.cpp:157:   
./contracts/fio.request.obt/fio.request.obt.cpp:165:   
./contracts/fio.request.obt/fio.request.obt.cpp:177:    
./contracts/fio.request.obt/fio.request.obt.cpp:185:   
./contracts/fio.request.obt/fio.request.obt.cpp:194:   
./contracts/fio.request.obt/fio.request.obt.cpp:204:   
./contracts/fio.request.obt/fio.request.obt.cpp:247:  

 

 

newfundsreq

./contracts/fio.request.obt/fio.request.obt.cpp:354:    
./contracts/fio.request.obt/fio.request.obt.cpp:360:    
./contracts/fio.request.obt/fio.request.obt.cpp:368:    
./contracts/fio.request.obt/fio.request.obt.cpp:374:     
./contracts/fio.request.obt/fio.request.obt.cpp:382:     
./contracts/fio.request.obt/fio.request.obt.cpp:398:    

 

 

rejectfndreq

./contracts/fio.request.obt/fio.request.obt.cpp:513:      
./contracts/fio.request.obt/fio.request.obt.cpp:524:     
./contracts/fio.request.obt/fio.request.obt.cpp:535:     
./contracts/fio.request.obt/fio.request.obt.cpp:555:        

 

 

cancelfndreq

./contracts/fio.request.obt/fio.request.obt.cpp:650: 
./contracts/fio.request.obt/fio.request.obt.cpp:663: 
./contracts/fio.request.obt/fio.request.obt.cpp:673: 
./contracts/fio.request.obt/fio.request.obt.cpp:693: 
./contracts/fio.request.obt/fio.request.obt.hpp:114:       

 

 

Data

The following is a list of Identified uses of get table rows.

Fio — chain plugin
./include/eosio/chain_plugin/chain_plugin.hpp:385:           
./include/eosio/chain_plugin/chain_plugin.hpp:401:           
./include/eosio/chain_plugin/chain_plugin.hpp:406:           
./include/eosio/chain_plugin/chain_plugin.hpp:515:           
./include/eosio/chain_plugin/chain_plugin.hpp:885:           
./include/eosio/chain_plugin/chain_plugin.hpp:888:           
./include/eosio/chain_plugin/chain_plugin.hpp:889:           
./include/eosio/chain_plugin/chain_plugin.hpp:890:               
./include/eosio/chain_plugin/chain_plugin.hpp:988:           
./include/eosio/chain_plugin/chain_plugin.hpp:989:           
./include/eosio/chain_plugin/chain_plugin.hpp:990:               
./include/eosio/chain_plugin/chain_plugin.hpp:1651:
./include/eosio/chain_plugin/chain_plugin.hpp:1654:
get_table_index
./chain_plugin.cpp:1493:       
get_locks
./chain_plugin.cpp:1659:           
./chain_plugin.cpp:1669:           
get_escrow_listings
./chain_plugin.cpp:1813:           
./chain_plugin.cpp:1823:           
get_pending_fio_requests
./chain_plugin.cpp:1933:           
./chain_plugin.cpp:1943:           
get_cancelled_fio_requests
./chain_plugin.cpp:2027:           
./chain_plugin.cpp:2037:           
get_received_fio_requests
./chain_plugin.cpp:2122:           
./chain_plugin.cpp:2132:           
get_sent_fio_requests
./chain_plugin.cpp:2225:           
./chain_plugin.cpp:2235:           
get_obt_data
./chain_plugin.cpp:2324:           
./chain_plugin.cpp:2334:           
./chain_plugin.cpp:2340:           
./chain_plugin.cpp:2350:           
get_nfts_fio_address
./chain_plugin.cpp:2450:          
./chain_plugin.cpp:2459:          
get_nfts_hash
./chain_plugin.cpp:2516:          
./chain_plugin.cpp:2525:          
get_nfts_contract
./chain_plugin.cpp:2585:          
./chain_plugin.cpp:2594:          
GetFIOAccount
./chain_plugin.cpp:2641:       
./chain_plugin.cpp:2644:           
./chain_plugin.cpp:2655:                   
get_fio_names
./chain_plugin.cpp:2681:           
./chain_plugin.cpp:2691:           
./chain_plugin.cpp:2724:           
./chain_plugin.cpp:2733:           
get_fio_domains
./chain_plugin.cpp:2800:           
./chain_plugin.cpp:2809:           
get_fio_addresses
./chain_plugin.cpp:2880:           
./chain_plugin.cpp:2890:           
get_staking_row
Chain_plugin .cpp:2943.            
get_fio_balance
./chain_plugin.cpp:2976:           
./chain_plugin.cpp:2986:           
./chain_plugin.cpp:2987:                   
./chain_plugin.cpp:3016:           
./chain_plugin.cpp:3026:           
./chain_plugin.cpp:3027:                   
./chain_plugin.cpp:3039:           
./chain_plugin.cpp:3049:           
./chain_plugin.cpp:3100:           
./chain_plugin.cpp:3110:           
get_fee
./chain_plugin.cpp:3201:           
./chain_plugin.cpp:3211:           
./chain_plugin.cpp:3239:               
./chain_plugin.cpp:3248:               
get_oracle_fees
./chain_plugin.cpp:3287:           
./chain_plugin.cpp:3293:           
./chain_plugin.cpp:3294:                   
get_whitelist
./chain_plugin.cpp:3349:           
./chain_plugin.cpp:3359:           
check_whitelist
./chain_plugin.cpp:3395:           
./chain_plugin.cpp:3405:           
get_pub_address
./chain_plugin.cpp:3448:           
./chain_plugin.cpp:3449:           
./chain_plugin.cpp:3450:           
./chain_plugin.cpp:3460:           
./chain_plugin.cpp:3469:           
./chain_plugin.cpp:3490:           
./chain_plugin.cpp:3499:           
./chain_plugin.cpp:3570:           
./chain_plugin.cpp:3571:           
./chain_plugin.cpp:3572:           
get_pub_addresses
./chain_plugin.cpp:3580:           
./chain_plugin.cpp:3589:           
./chain_plugin.cpp:3610:             
./chain_plugin.cpp:3619:             
avail_check
./chain_plugin.cpp:3685:           
./chain_plugin.cpp:3686:           
./chain_plugin.cpp:3687:           
./chain_plugin.cpp:3693:           
./chain_plugin.cpp:3703:           
./chain_plugin.cpp:3713:             
./chain_plugin.cpp:3723:             
get_table_rows
./chain_plugin.cpp:3749:       
./chain_plugin.cpp:3760:       
./chain_plugin.cpp:3769:       
./chain_plugin.cpp:3773:       
./chain_plugin.cpp:3779:       
./chain_plugin.cpp:3782:       
./chain_plugin.cpp:3784:       
./chain_plugin.cpp:3789:       
./chain_plugin.cpp:3798:       
./chain_plugin.cpp:3801:         
get_account
./chain_plugin.cpp:6481:         
./chain_plugin.cpp:6492:         

 

The following is a list of the uses of the fio.contracts table find.
Tpidclaim
./contracts/fio.treasury/fio.treasury.cpp:80:         
bpclaim
./contracts/fio.treasury/fio.treasury.cpp:141:         
./contracts/fio.treasury/fio.treasury.cpp:148:       
./contracts/fio.treasury/fio.treasury.cpp:163:       
./contracts/fio.treasury/fio.treasury.cpp:330:       
./contracts/fio.treasury/fio.treasury.cpp:332:       
setabi
./contracts/eosio.bios/include/eosio.bios/eosio.bios.hpp:194: 
autoproxy
./contracts/fio.tpid/fio.tpid.cpp:37:               
process_auto_proxy
./contracts/fio.tpid/fio.tpid.cpp:69:               
./contracts/fio.tpid/fio.tpid.cpp:74:               
./contracts/fio.tpid/fio.tpid.cpp:76:               
./contracts/fio.tpid/fio.tpid.cpp:85:               
updatetpid
./contracts/fio.tpid/fio.tpid.cpp:105:             
./contracts/fio.tpid/fio.tpid.cpp:118:             
rewardspaid
./contracts/fio.tpid/fio.tpid.cpp:130:             
computeusablebalance
./contracts/fio.token/include/fio.token/fio.token.hpp:169:     
computeremaininglockedtokens
./contracts/fio.token/include/fio.token/fio.token.hpp:201:     
computegenerallockedtokens
./contracts/fio.token/include/fio.token/fio.token.hpp:399:   
Create
./contracts/fio.token/src/fio.token.cpp:27:       
Issue
./contracts/fio.token/src/fio.token.cpp:42:     
retire
./contracts/fio.token/src/fio.token.cpp:89:     
./contracts/fio.token/src/fio.token.cpp:99:     
./contracts/fio.token/src/fio.token.cpp:105:   
./contracts/fio.token/src/fio.token.cpp:111:   
can_transfer
./contracts/fio.token/src/fio.token.cpp:158:   
transfer_public_key
./contracts/fio.token/src/fio.token.cpp:262:   
./contracts/fio.token/src/fio.token.cpp:290:   
./contracts/fio.token/src/fio.token.cpp:335:  
./contracts/fio.token/src/fio.token.cpp:375:   
transfer
./contracts/fio.token/src/fio.token.cpp:449:   
trnsfiopubky
./contracts/fio.token/src/fio.token.cpp:488:    
trnsloctoks
./contracts/fio.token/src/fio.token.cpp:544:   
./contracts/fio.token/src/fio.token.cpp:572:   
add_balance
./contracts/fio.token/src/fio.token.cpp:650:   
accountmgnt
./contracts/fio.address/fio.address.cpp:68:   
./contracts/fio.address/fio.address.cpp:86:   
addburnq
./contracts/fio.address/fio.address.cpp:129: 
./contracts/fio.address/fio.address.cpp:132: 
getBundledAmount
./contracts/fio.address/fio.address.cpp:167: 
fio_address_update
./contracts/fio.address/fio.address.cpp:202: 
./contracts/fio.address/fio.address.cpp:223: 
./contracts/fio.address/fio.address.cpp:227: 
fio_domain_update
./contracts/fio.address/fio.address.cpp:269:
perform_remove_address
./contracts/fio.address/fio.address.cpp:301: 
./contracts/fio.address/fio.address.cpp:309:
./contracts/fio.address/fio.address.cpp:364:
perform_remove_all_addresses
./contracts/fio.address/fio.address.cpp:417: 
./contracts/fio.address/fio.address.cpp:424:
./contracts/fio.address/fio.address.cpp:466:
chain_data_update
./contracts/fio.address/fio.address.cpp:518: 
./contracts/fio.address/fio.address.cpp:525: 
./contracts/fio.address/fio.address.cpp:554: 
./contracts/fio.address/fio.address.cpp:555:
./contracts/fio.address/fio.address.cpp:598:       
regaddress
./contracts/fio.address/fio.address.cpp:706:         
regdomain
./contracts/fio.address/fio.address.cpp:775:         
renewdomain
./contracts/fio.address/fio.address.cpp:840:       
./contracts/fio.address/fio.address.cpp:849:       
renewaddress
./contracts/fio.address/fio.address.cpp:928:       
./contracts/fio.address/fio.address.cpp:942:       
./contracts/fio.address/fio.address.cpp:951:         
burnexpired
./contracts/fio.address/fio.address.cpp:1015:       
./contracts/fio.address/fio.address.cpp:1022:       
./contracts/fio.address/fio.address.cpp:1030:       
./contracts/fio.address/fio.address.cpp:1032:       
./contracts/fio.address/fio.address.cpp:1044:       
./contracts/fio.address/fio.address.cpp:1046:       
./contracts/fio.address/fio.address.cpp:1068:       
./contracts/fio.address/fio.address.cpp:1070:       
./contracts/fio.address/fio.address.cpp:1085:       
addnft
./contracts/fio.address/fio.address.cpp:1249:       
./contracts/fio.address/fio.address.cpp:1257:       
./contracts/fio.address/fio.address.cpp:1265:       
./contracts/fio.address/fio.address.cpp:1301:         
./contracts/fio.address/fio.address.cpp:1374:         
remnft
./contracts/fio.address/fio.address.cpp:1444:         
./contracts/fio.address/fio.address.cpp:1452:         
./contracts/fio.address/fio.address.cpp:1484:
./contracts/fio.address/fio.address.cpp:1499:
./contracts/fio.address/fio.address.cpp:1536:
remallnfts
./contracts/fio.address/fio.address.cpp:1594:   
./contracts/fio.address/fio.address.cpp:1602:   
./contracts/fio.address/fio.address.cpp:1611:   
./contracts/fio.address/fio.address.cpp:1635:   
burnnfts
./contracts/fio.address/fio.address.cpp:1687:   
setdomainpub
./contracts/fio.address/fio.address.cpp:1733:   
./contracts/fio.address/fio.address.cpp:1763:   
bind2eosio
./contracts/fio.address/fio.address.cpp:1823:   
xferaddress
./contracts/fio.address/fio.address.cpp:1858:   
./contracts/fio.address/fio.address.cpp:1866:   
./contracts/fio.address/fio.address.cpp:1875:   
./contracts/fio.address/fio.address.cpp:1882:   
./contracts/fio.address/fio.address.cpp:1904:   
burnaddress
./contracts/fio.address/fio.address.cpp:1959:   
./contracts/fio.address/fio.address.cpp:1966:   
./contracts/fio.address/fio.address.cpp:1973:   
./contracts/fio.address/fio.address.cpp:1980:   
./contracts/fio.address/fio.address.cpp:1994:   
xferdomain
./contracts/fio.address/fio.address.cpp:2043:   
./contracts/fio.address/fio.address.cpp:2051:   
addbundles
./contracts/fio.address/fio.address.cpp:2118:     
./contracts/fio.address/fio.address.cpp:2123:     
./contracts/fio.address/fio.address.cpp:2132:     
decrcounter
./contracts/fio.address/fio.address.cpp:2177:     
xferescrow
./contracts/fio.address/fio.address.cpp:2210:     
listdomain
./contracts/fio.escrow/fio.escrow.cpp:97:         
./contracts/fio.escrow/fio.escrow.cpp:111:         
./contracts/fio.escrow/fio.escrow.cpp:136:       
cxlistdomain
./contracts/fio.escrow/fio.escrow.cpp:206:       
./contracts/fio.escrow/fio.escrow.cpp:217:       
./contracts/fio.escrow/fio.escrow.cpp:238:       
buydomain
./contracts/fio.escrow/fio.escrow.cpp:302:       
./contracts/fio.escrow/fio.escrow.cpp:325:       
./contracts/fio.escrow/fio.escrow.cpp:359:       
setmrkplcfg
./contracts/fio.escrow/fio.escrow.cpp:429:       
./contracts/fio.escrow/fio.escrow.cpp:476:       
./contracts/fio.escrow/fio.escrow.cpp:515:       
stakefio
./contracts/fio.staking/fio.staking.cpp:100:     
./contracts/fio.staking/fio.staking.cpp:113:       
./contracts/fio.staking/fio.staking.cpp:159:     
./contracts/fio.staking/fio.staking.cpp:163:     
./contracts/fio.staking/fio.staking.cpp:175:     
./contracts/fio.staking/fio.staking.cpp:215:     
unstakefio
./contracts/fio.staking/fio.staking.cpp:264:     
./contracts/fio.staking/fio.staking.cpp:273:     
./contracts/fio.staking/fio.staking.cpp:284:     
./contracts/fio.staking/fio.staking.cpp:405:     
./contracts/fio.staking/fio.staking.cpp:427:     
propose
./contracts/eosio.msig/src/eosio.msig.cpp:65:
./contracts/eosio.msig/src/eosio.msig.cpp:71: 
approve
./contracts/eosio.msig/src/eosio.msig.cpp:172: 
./contracts/eosio.msig/src/eosio.msig.cpp:174: 
./contracts/eosio.msig/src/eosio.msig.cpp:186: 
unapprove
./contracts/eosio.msig/src/eosio.msig.cpp:226: 
./contracts/eosio.msig/src/eosio.msig.cpp:228: 
./contracts/eosio.msig/src/eosio.msig.cpp:238: 
cancel
./contracts/eosio.msig/src/eosio.msig.cpp:280: 
./contracts/eosio.msig/src/eosio.msig.cpp:285: 
exec
./contracts/eosio.msig/src/eosio.msig.cpp:320: 
./contracts/eosio.msig/src/eosio.msig.cpp:326: 
./contracts/eosio.msig/src/eosio.msig.cpp:336: 
invalidate
./contracts/eosio.msig/src/eosio.msig.cpp:376: 
set_auto_proxy
./contracts/fio.common/fio.common.hpp:262:   
process_rewards
./contracts/fio.common/fio.common.hpp:295:   
processbucketrewards
./contracts/fio.common/fio.common.hpp:368:   
updatepower
./contracts/fio.system/src/delegate_bandwidth.cpp:69:
burnaction
./contracts/fio.system/src/voting.cpp:43:         
./contracts/fio.system/src/voting.cpp:52:         
regiproducer
./contracts/fio.system/src/voting.cpp:92:       
regproduce
./contracts/fio.system/src/voting.cpp:171: 
./contracts/fio.system/src/voting.cpp:179:   
./contracts/fio.system/src/voting.cpp:199:   
unregprod
./contracts/fio.system/src/voting.cpp:252:   
./contracts/fio.system/src/voting.cpp:261:   
./contracts/fio.system/src/voting.cpp:271:   
./contracts/fio.system/src/voting.cpp:284:   
update_elected_producers
./contracts/fio.system/src/voting.cpp:343:   
voteproducer
./contracts/fio.system/src/voting.cpp:462:   
./contracts/fio.system/src/voting.cpp:467:   
./contracts/fio.system/src/voting.cpp:485:   
./contracts/fio.system/src/voting.cpp:490:       
./contracts/fio.system/src/voting.cpp:503:     
./contracts/fio.system/src/voting.cpp:525:     
voteproxy
./contracts/fio.system/src/voting.cpp:588:     
./contracts/fio.system/src/voting.cpp:597:     
./contracts/fio.system/src/voting.cpp:608:     
./contracts/fio.system/src/voting.cpp:623:     
./contracts/fio.system/src/voting.cpp:630:     
./contracts/fio.system/src/voting.cpp:643:     
./contracts/fio.system/src/voting.cpp:663:     
inhibitunlck
./contracts/fio.system/src/voting.cpp:710:     
get_votable_balance
./contracts/fio.system/src/voting.cpp:740:     
./contracts/fio.system/src/voting.cpp:786:     
update_votes
./contracts/fio.system/src/voting.cpp:818:     
./contracts/fio.system/src/voting.cpp:847:     
./contracts/fio.system/src/voting.cpp:863:     
./contracts/fio.system/src/voting.cpp:888:     
updlocked
./contracts/fio.system/src/voting.cpp:929:     
setautoproxy
./contracts/fio.system/src/voting.cpp:951:     
./contracts/fio.system/src/voting.cpp:955:     
crautoproxy
./contracts/fio.system/src/voting.cpp:975:     
./contracts/fio.system/src/voting.cpp:980:     
unregproxy
./contracts/fio.system/src/voting.cpp:1010:   
./contracts/fio.system/src/voting.cpp:1019:   
./contracts/fio.system/src/voting.cpp:1034:   
regproxy
./contracts/fio.system/src/voting.cpp:1079:   
./contracts/fio.system/src/voting.cpp:1087:   
./contracts/fio.system/src/voting.cpp:1106:     
regiproxy
./contracts/fio.system/src/voting.cpp:1166:     
propagate_weight_change
./contracts/fio.system/src/voting.cpp:1217:     
./contracts/fio.system/src/voting.cpp:1232:     
./contracts/fio.system/src/voting.cpp:1244:     
onblock
./contracts/fio.system/src/producer_pay.cpp:44: 
resetclaim
./contracts/fio.system/src/producer_pay.cpp:64:
updlbpclaim
./contracts/fio.system/src/producer_pay.cpp:76: 
rmvproducer
./contracts/fio.system/src/fio.system.cpp:84:       
setabi
./contracts/fio.system/src/fio.system.cpp:185:     
addgenlocked
./contracts/fio.system/src/fio.system.cpp:246:     
modgenlocked
./contracts/fio.system/src/fio.system.cpp:295:     
clrgenlocked
./contracts/fio.system/src/fio.system.cpp:317:     
wraptokens
./contracts/fio.oracle/fio.oracle.cpp:137:       
unwraptokens
./contracts/fio.oracle/fio.oracle.cpp:189:       
./contracts/fio.oracle/fio.oracle.cpp:195:       
./contracts/fio.oracle/fio.oracle.cpp:199:       
./contracts/fio.oracle/fio.oracle.cpp:213:       
./contracts/fio.oracle/fio.oracle.cpp:237:       
regoracle
./contracts/fio.oracle/fio.oracle.cpp:266:       
./contracts/fio.oracle/fio.oracle.cpp:275:       
unregoracle
./contracts/fio.oracle/fio.oracle.cpp:298:       
setoraclefee
./contracts/fio.oracle/fio.oracle.cpp:318:         
wrapdomain
/contracts/fio.oracle/fio.oracle.cpp:387:         
./contracts/fio.oracle/fio.oracle.cpp:463:       
unwrapdomain
/contracts/fio.oracle/fio.oracle.cpp:506:         
./contracts/fio.oracle/fio.oracle.cpp:523:         
./contracts/fio.oracle/fio.oracle.cpp:529:         
./contracts/fio.oracle/fio.oracle.cpp:533:         
./contracts/fio.oracle/fio.oracle.cpp:544:       
./contracts/fio.oracle/fio.oracle.cpp:570:       
./contracts/fio.oracle/fio.oracle.cpp:581:       
update_fees
./contracts/fio.fee/fio.fee.cpp:82:           
./contracts/fio.fee/fio.fee.cpp:87:           
./contracts/fio.fee/fio.fee.cpp:119:         
setfeevote
./contracts/fio.fee/fio.fee.cpp:172:         
./contracts/fio.fee/fio.fee.cpp:180:       
./contracts/fio.fee/fio.fee.cpp:183:       
./contracts/fio.fee/fio.fee.cpp:200:       
./contracts/fio.fee/fio.fee.cpp:229:       
./contracts/fio.fee/fio.fee.cpp:255:       
bundlevote
./contracts/fio.fee/fio.fee.cpp:332:       
./contracts/fio.fee/fio.fee.cpp:357:       
setfeemult
./contracts/fio.fee/fio.fee.cpp:415:      
./contracts/fio.fee/fio.fee.cpp:427:       
./contracts/fio.fee/fio.fee.cpp:450:       
./contracts/fio.fee/fio.fee.cpp:453:       
./contracts/fio.fee/fio.fee.cpp:462:       
./contracts/fio.fee/fio.fee.cpp:476:       
mandatoryfee
./contracts/fio.fee/fio.fee.cpp:519:       
bytemandfee
./contracts/fio.fee/fio.fee.cpp:556:     
createfee
./contracts/fio.fee/fio.fee.cpp:608:     
migrtrx
./contracts/fio.request.obt/fio.request.obt.cpp:65: 
recordobt
./contracts/fio.request.obt/fio.request.obt.cpp:157:   
./contracts/fio.request.obt/fio.request.obt.cpp:165:   
./contracts/fio.request.obt/fio.request.obt.cpp:177:   
./contracts/fio.request.obt/fio.request.obt.cpp:185:   
./contracts/fio.request.obt/fio.request.obt.cpp:194:   
./contracts/fio.request.obt/fio.request.obt.cpp:204:   
./contracts/fio.request.obt/fio.request.obt.cpp:247:   
newfundsreq
./contracts/fio.request.obt/fio.request.obt.cpp:354:   
./contracts/fio.request.obt/fio.request.obt.cpp:360:   
./contracts/fio.request.obt/fio.request.obt.cpp:368:   
./contracts/fio.request.obt/fio.request.obt.cpp:374:     
./contracts/fio.request.obt/fio.request.obt.cpp:382:     
./contracts/fio.request.obt/fio.request.obt.cpp:398:     
rejectfndreq
./contracts/fio.request.obt/fio.request.obt.cpp:513:     
./contracts/fio.request.obt/fio.request.obt.cpp:524:     
./contracts/fio.request.obt/fio.request.obt.cpp:535:     
./contracts/fio.request.obt/fio.request.obt.cpp:555:     
cancelfndreq
./contracts/fio.request.obt/fio.request.obt.cpp:650: 
./contracts/fio.request.obt/fio.request.obt.cpp:663: 
./contracts/fio.request.obt/fio.request.obt.cpp:673: 
./contracts/fio.request.obt/fio.request.obt.cpp:693: 
./contracts/fio.request.obt/fio.request.obt.hpp:114: