<?xml version="1.0"?>
<!-- format guideline: non-tab four-space indentation -->
<node>
    <general>
        <DEBUG_LEVEL>3</DEBUG_LEVEL>
        <ENABLE_DO_REJOIN>false</ENABLE_DO_REJOIN>
        <LOOKUP_NODE_MODE>true</LOOKUP_NODE_MODE>
        <MAX_ENTRIES_FOR_DIAGNOSTIC_DATA>50</MAX_ENTRIES_FOR_DIAGNOSTIC_DATA>
        <CHAIN_ID>222</CHAIN_ID>	
        <NETWORK_ID>3</NETWORK_ID>
        <!-- testnet -->
        <GENESIS_PUBKEY>03B70CF2ABEAE4E86DAEF1A36243E44CD61138B89055099C0D220B58FB86FF588A</GENESIS_PUBKEY>
        <UPGRADE_TARGET_DS_NUM>1</UPGRADE_TARGET_DS_NUM>
        <!-- Do not add a trailing "/" in the path-->
        <STORAGE_PATH>.</STORAGE_PATH>
        <NUM_EPOCHS_PER_PERSISTENT_DB>250000</NUM_EPOCHS_PER_PERSISTENT_DB>
        <KEEP_HISTORICAL_STATE>true</KEEP_HISTORICAL_STATE>
        <NUM_DS_EPOCHS_STATE_HISTORY>200</NUM_DS_EPOCHS_STATE_HISTORY>
        <INIT_TRIE_DB_SNAPSHOT_EPOCH>0</INIT_TRIE_DB_SNAPSHOT_EPOCH>
        <ENABLE_MEMORY_STATS>false</ENABLE_MEMORY_STATS>
    </general>
    <version>
        <MSG_VERSION>1</MSG_VERSION>
        <TRANSACTION_VERSION>1</TRANSACTION_VERSION>
        <DSBLOCK_VERSION>2</DSBLOCK_VERSION>
        <TXBLOCK_VERSION>1</TXBLOCK_VERSION>
        <MICROBLOCK_VERSION>1</MICROBLOCK_VERSION>
        <VCBLOCK_VERSION>1</VCBLOCK_VERSION>
        <BLOCKLINK_VERSION>1</BLOCKLINK_VERSION>
        <DSCOMMITTEE_VERSION>1</DSCOMMITTEE_VERSION>
        <SHARDINGSTRUCTURE_VERSION>1</SHARDINGSTRUCTURE_VERSION>
        <ACCOUNT_VERSION>1</ACCOUNT_VERSION>
        <CONTRACT_STATE_VERSION>1</CONTRACT_STATE_VERSION>
    </version>
    <seed>
        <ARCHIVAL_LOOKUP>false</ARCHIVAL_LOOKUP>
        <SEED_TXN_COLLECTION_TIME_IN_SEC>5</SEED_TXN_COLLECTION_TIME_IN_SEC>
        <TXN_STORAGE_LIMIT>100000</TXN_STORAGE_LIMIT>
        <SEED_SYNC_SMALL_PULL_INTERVAL>5</SEED_SYNC_SMALL_PULL_INTERVAL>
        <SEED_SYNC_LARGE_PULL_INTERVAL>10</SEED_SYNC_LARGE_PULL_INTERVAL>
        <ENABLE_SEED_TO_SEED_COMMUNICATION>false</ENABLE_SEED_TO_SEED_COMMUNICATION>
        <P2P_SEED_CONNECT_PORT>33135</P2P_SEED_CONNECT_PORT>
        <P2P_SEED_SERVER_CONNECTION_TIMEOUT>20</P2P_SEED_SERVER_CONNECTION_TIMEOUT>
        <FETCH_DS_BLOCK_LIMIT>2</FETCH_DS_BLOCK_LIMIT>
    </seed>
    <remotestorageDB>
        <REMOTESTORAGE_DB_HOST/>
        <REMOTESTORAGE_DB_NAME>txn</REMOTESTORAGE_DB_NAME>
        <REMOTESTORAGE_DB_PORT>27017</REMOTESTORAGE_DB_PORT>
        <REMOTESTORAGE_DB_ENABLE>false</REMOTESTORAGE_DB_ENABLE>
        <REMOTESTORAGE_DB_TLS_FILE/>
        <REMOTESTORAGE_DB_SERVER_SELECTION_TIMEOUT_MS>1000</REMOTESTORAGE_DB_SERVER_SELECTION_TIMEOUT_MS>
        <REMOTESTORAGE_DB_SOCKET_TIMEOUT_MS>10000</REMOTESTORAGE_DB_SOCKET_TIMEOUT_MS>
    </remotestorageDB>
    <consensus>
        <TOLERANCE_FRACTION>0.667</TOLERANCE_FRACTION>
        <COMMIT_WINDOW_IN_SECONDS>10</COMMIT_WINDOW_IN_SECONDS>
        <CONSENSUS_MSG_ORDER_BLOCK_WINDOW>10</CONSENSUS_MSG_ORDER_BLOCK_WINDOW>
        <CONSENSUS_OBJECT_TIMEOUT>20</CONSENSUS_OBJECT_TIMEOUT>
        <DS_NUM_CONSENSUS_SUBSETS>2</DS_NUM_CONSENSUS_SUBSETS>
        <SHARD_NUM_CONSENSUS_SUBSETS>1</SHARD_NUM_CONSENSUS_SUBSETS>
        <COMMIT_TOLERANCE_PERCENT>80</COMMIT_TOLERANCE_PERCENT>
        <SUBSET0_RESPONSE_DELAY_IN_MS>1000</SUBSET0_RESPONSE_DELAY_IN_MS>
    </consensus>
    <data_sharing>
        <BROADCAST_TREEBASED_CLUSTER_MODE>true</BROADCAST_TREEBASED_CLUSTER_MODE>
        <MULTICAST_CLUSTER_SIZE>10</MULTICAST_CLUSTER_SIZE>
        <NUM_FORWARDED_BLOCK_RECEIVERS_PER_SHARD>10</NUM_FORWARDED_BLOCK_RECEIVERS_PER_SHARD>
        <NUM_NODES_TO_SEND_LOOKUP>3</NUM_NODES_TO_SEND_LOOKUP>
        <NUM_OF_TREEBASED_CHILD_CLUSTERS>5</NUM_OF_TREEBASED_CHILD_CLUSTERS>
        <POW_PACKET_SENDERS>5</POW_PACKET_SENDERS>
        <TX_SHARING_CLUSTER_SIZE>10</TX_SHARING_CLUSTER_SIZE>
        <NUM_SHARE_PENDING_TXNS>5</NUM_SHARE_PENDING_TXNS>
    </data_sharing>
    <dispatcher>
        <USE_REMOTE_TXN_CREATOR>false</USE_REMOTE_TXN_CREATOR>
        <NUM_DISPATCHERS>1</NUM_DISPATCHERS>
        <TXN_PATH/>
    </dispatcher>
    <epoch_timing>
        <DELAY_FIRSTXNEPOCH_IN_MS>2000</DELAY_FIRSTXNEPOCH_IN_MS>
        <FETCHING_MISSING_DATA_TIMEOUT>10</FETCHING_MISSING_DATA_TIMEOUT>
        <DS_ANNOUNCEMENT_DELAY_IN_MS>3000</DS_ANNOUNCEMENT_DELAY_IN_MS>
        <SHARD_ANNOUNCEMENT_DELAY_IN_MS>3000</SHARD_ANNOUNCEMENT_DELAY_IN_MS>
        <LOOKUP_DELAY_SEND_TXNPACKET_IN_MS>3000</LOOKUP_DELAY_SEND_TXNPACKET_IN_MS>
        <MICROBLOCK_TIMEOUT>180</MICROBLOCK_TIMEOUT>
        <NEW_NODE_SYNC_INTERVAL>80</NEW_NODE_SYNC_INTERVAL>
        <POW_SUBMISSION_TIMEOUT>500</POW_SUBMISSION_TIMEOUT>
        <POW_WINDOW_IN_SECONDS>60</POW_WINDOW_IN_SECONDS>
        <POWPACKETSUBMISSION_WINDOW_IN_SECONDS>150</POWPACKETSUBMISSION_WINDOW_IN_SECONDS>
        <RECOVERY_SYNC_TIMEOUT>5</RECOVERY_SYNC_TIMEOUT>
        <TX_DISTRIBUTE_TIME_IN_MS>30000</TX_DISTRIBUTE_TIME_IN_MS>
        <EXTRA_TX_DISTRIBUTE_TIME_IN_MS>15000</EXTRA_TX_DISTRIBUTE_TIME_IN_MS>
        <DS_TX_PROCESSING_TIMEOUT>55</DS_TX_PROCESSING_TIMEOUT>
        <NEW_LOOKUP_SYNC_DELAY_IN_SECONDS>300</NEW_LOOKUP_SYNC_DELAY_IN_SECONDS>
        <GETSHARD_TIMEOUT_IN_SECONDS>3</GETSHARD_TIMEOUT_IN_SECONDS>
        <GETSTATEDELTAS_TIMEOUT_IN_SECONDS>5</GETSTATEDELTAS_TIMEOUT_IN_SECONDS>
        <GETCOSIGREWARDS_TIMEOUT_IN_SECONDS>5</GETCOSIGREWARDS_TIMEOUT_IN_SECONDS>
        <RETRY_REJOINING_TIMEOUT>10</RETRY_REJOINING_TIMEOUT>
        <RETRY_GETSTATEDELTAS_COUNT>3</RETRY_GETSTATEDELTAS_COUNT>
        <RETRY_COSIGREWARDS_COUNT>3</RETRY_COSIGREWARDS_COUNT>
        <MAX_FETCHMISSINGMBS_NUM>12</MAX_FETCHMISSINGMBS_NUM>
        <LAST_N_TXBLKS_TOCHECK_FOR_MISSINGMBS>10</LAST_N_TXBLKS_TOCHECK_FOR_MISSINGMBS>
        <REMOVENODEFROMBLACKLIST_DELAY_IN_SECONDS>1</REMOVENODEFROMBLACKLIST_DELAY_IN_SECONDS>
    </epoch_timing>
    <gas>
        <DS_MICROBLOCK_GAS_LIMIT>500000</DS_MICROBLOCK_GAS_LIMIT>
        <SHARD_MICROBLOCK_GAS_LIMIT>400000</SHARD_MICROBLOCK_GAS_LIMIT>
        <CONTRACT_CREATE_GAS>50</CONTRACT_CREATE_GAS>
        <CONTRACT_INVOKE_GAS>10</CONTRACT_INVOKE_GAS>
        <NORMAL_TRAN_GAS>50</NORMAL_TRAN_GAS>
        <GAS_CONGESTION_PERCENT>80</GAS_CONGESTION_PERCENT>
        <UNFILLED_PERCENT_LOW>10</UNFILLED_PERCENT_LOW>
        <UNFILLED_PERCENT_HIGH>70</UNFILLED_PERCENT_HIGH>
        <GAS_PRICE_MIN_VALUE>2000000000</GAS_PRICE_MIN_VALUE>
        <GAS_PRICE_PRECISION>2</GAS_PRICE_PRECISION>
        <GAS_PRICE_DROP_RATIO>10</GAS_PRICE_DROP_RATIO>
        <GAS_PRICE_RAISE_RATIO_LOWER>5</GAS_PRICE_RAISE_RATIO_LOWER>
        <GAS_PRICE_RAISE_RATIO_UPPER>15</GAS_PRICE_RAISE_RATIO_UPPER>
        <GAS_PRICE_TOLERANCE>10</GAS_PRICE_TOLERANCE>
        <MEAN_GAS_PRICE_DS_NUM>5</MEAN_GAS_PRICE_DS_NUM>
        <LEGAL_GAS_PRICE_IP>127.0.0.1</LEGAL_GAS_PRICE_IP>
    </gas>
    <gossip>
        <BROADCAST_GOSSIP_MODE>true</BROADCAST_GOSSIP_MODE>
        <SEND_RESPONSE_FOR_LAZY_PUSH>true</SEND_RESPONSE_FOR_LAZY_PUSH>
        <GOSSIP_CUSTOM_ROUNDS_SETTINGS>true</GOSSIP_CUSTOM_ROUNDS_SETTINGS>
        <gossip_custom_rounds>
            <MAX_ROUNDS_IN_BSTATE>2</MAX_ROUNDS_IN_BSTATE>
            <MAX_ROUNDS_IN_CSTATE>3</MAX_ROUNDS_IN_CSTATE>
            <MAX_TOTAL_ROUNDS>6</MAX_TOTAL_ROUNDS>
        </gossip_custom_rounds>
        <MAX_NEIGHBORS_PER_ROUND>10</MAX_NEIGHBORS_PER_ROUND>
        <NUM_GOSSIP_RECEIVERS>10</NUM_GOSSIP_RECEIVERS>
        <ROUND_TIME_IN_MS>1000</ROUND_TIME_IN_MS>
        <SIMULATED_NETWORK_DELAY_IN_MS>0</SIMULATED_NETWORK_DELAY_IN_MS>
        <KEEP_RAWMSG_FROM_LAST_N_ROUNDS>18</KEEP_RAWMSG_FROM_LAST_N_ROUNDS>
        <SIGN_VERIFY_EMPTY_MSGTYP>true</SIGN_VERIFY_EMPTY_MSGTYP>
        <SIGN_VERIFY_NONEMPTY_MSGTYP>true</SIGN_VERIFY_NONEMPTY_MSGTYP>
    </gossip>
    <gpu>
        <!-- Which GPU to use, can use multiple GPU, for example: "0, 2, 4" -->
        <GPU_TO_USE>0</GPU_TO_USE>
        <opencl>
            <LOCAL_WORK_SIZE>128</LOCAL_WORK_SIZE>
            <GLOBAL_WORK_SIZE_MULTIPLIER>8192</GLOBAL_WORK_SIZE_MULTIPLIER>
            <START_EPOCH>0</START_EPOCH>
        </opencl>
        <cuda>
            <BLOCK_SIZE>128</BLOCK_SIZE>
            <GRID_SIZE>8192</GRID_SIZE>
            <STREAM_NUM>2</STREAM_NUM>
            <SCHEDULE_FLAG>4</SCHEDULE_FLAG>
        </cuda>
    </gpu>
    <guard_mode>
        <GUARD_MODE>false</GUARD_MODE>
        <EXCLUDE_PRIV_IP>false</EXCLUDE_PRIV_IP>
        <!-- Unit for window time is seconds.-->
        <WINDOW_FOR_DS_NETWORK_INFO_UPDATE>300</WINDOW_FOR_DS_NETWORK_INFO_UPDATE>
        <SHARD_GUARD_TOL>0.334</SHARD_GUARD_TOL>
        <SHARD_LEADER_SELECT_TOL>200</SHARD_LEADER_SELECT_TOL>
    </guard_mode>
    <heartbeat>
        <HEARTBEAT_INTERVAL_IN_SECONDS>10</HEARTBEAT_INTERVAL_IN_SECONDS>
    </heartbeat>
    <jsonrpc>
        <!-- Only for lookup nodes -->
        <LOOKUP_RPC_PORT>4201</LOOKUP_RPC_PORT>
        <NUM_SHARD_PEER_TO_REVEAL>5</NUM_SHARD_PEER_TO_REVEAL>
        <!-- For lookup, DS and shard nodes -->
        <STATUS_RPC_PORT>4301</STATUS_RPC_PORT>
        <IP_TO_BIND>127.0.0.1</IP_TO_BIND>
        <ENABLE_STATUS_RPC>true</ENABLE_STATUS_RPC>
        <SCILLA_IPC_SOCKET_PATH>/tmp/zilliqa.sock</SCILLA_IPC_SOCKET_PATH>
        <SCILLA_SERVER_SOCKET_PATH>/tmp/scilla-server.sock</SCILLA_SERVER_SOCKET_PATH>
        <SCILLA_SERVER_BINARY>scilla-server</SCILLA_SERVER_BINARY>
        <ENABLE_WEBSOCKET>false</ENABLE_WEBSOCKET>
        <WEBSOCKET_PORT>4401</WEBSOCKET_PORT>
        <!-- Only for lookup nodes used for staking data retrieval -->
        <ENABLE_STAKING_RPC>false</ENABLE_STAKING_RPC>
        <STAKING_RPC_PORT>4501</STAKING_RPC_PORT>
        <ENABLE_GETTXNBODIESFORTXBLOCK>false</ENABLE_GETTXNBODIESFORTXBLOCK>
        <NUM_TXNS_PER_PAGE>2500</NUM_TXNS_PER_PAGE>
        <PENDING_TXN_QUERY_NUM_EPOCHS>3</PENDING_TXN_QUERY_NUM_EPOCHS>
        <PENDING_TXN_QUERY_MAX_RESULTS>1000</PENDING_TXN_QUERY_MAX_RESULTS>
        <CONNECTION_IO_USE_EPOLL>true</CONNECTION_IO_USE_EPOLL>
        <!-- Timeout in seconds for ANY connection to safehttpserver port, 0 means no timeout-->
        <CONNECTION_ALL_TIMEOUT>1</CONNECTION_ALL_TIMEOUT>
        <!-- Timeout in seconds for ONLY connection that reach our callback function, 0 means no timeout-->
        <CONNECTION_CALLBACK_TIMEOUT>0</CONNECTION_CALLBACK_TIMEOUT>
    </jsonrpc>
    <network_composition>
        <!-- Shard size will be automatically calculated if COMM_SIZE = 0 -->
        <COMM_SIZE>200</COMM_SIZE>
        <NUM_DS_ELECTION>5</NUM_DS_ELECTION>
        <!-- DS Node must meet this minimum threshold to remain in the committee -->
        <DS_PERFORMANCE_THRESHOLD_PERCENT>0.05</DS_PERFORMANCE_THRESHOLD_PERCENT>
        <!-- Maximum number of Byzantine DS Nodes to remove each round. Must be smaller than
             NUM_DS_ELECTION -->
        <NUM_DS_BYZANTINE_REMOVED>3</NUM_DS_BYZANTINE_REMOVED>
        <!-- SHARD_SIZE_TOLERANCE_LO must be smaller than COMM_SIZE -->
        <SHARD_SIZE_TOLERANCE_LO>50</SHARD_SIZE_TOLERANCE_LO>
        <SHARD_SIZE_TOLERANCE_HI>10</SHARD_SIZE_TOLERANCE_HI>
        <STORE_DS_COMMITTEE_INTERVAL>10</STORE_DS_COMMITTEE_INTERVAL>
    </network_composition>
    <p2pcomm>
        <BROADCAST_INTERVAL>60</BROADCAST_INTERVAL>
        <BROADCAST_EXPIRY>600</BROADCAST_EXPIRY>
        <FETCH_LOOKUP_MSG_MAX_RETRY>3</FETCH_LOOKUP_MSG_MAX_RETRY>
        <MAXSENDMESSAGE>600</MAXSENDMESSAGE>
        <MAXRECVMESSAGE>200</MAXRECVMESSAGE>
        <MAXRETRYCONN>3</MAXRETRYCONN>
        <MSGQUEUE_SIZE>128</MSGQUEUE_SIZE>
        <PUMPMESSAGE_MILLISECONDS>1</PUMPMESSAGE_MILLISECONDS>
        <SENDQUEUE_SIZE>128</SENDQUEUE_SIZE>
        <MAX_GOSSIP_MSG_SIZE_IN_BYTES>5000000</MAX_GOSSIP_MSG_SIZE_IN_BYTES>
        <MIN_READ_WATERMARK_IN_BYTES>0</MIN_READ_WATERMARK_IN_BYTES>
        <MAX_READ_WATERMARK_IN_BYTES>10000000</MAX_READ_WATERMARK_IN_BYTES>
        <BLACKLIST_NUM_TO_POP>5</BLACKLIST_NUM_TO_POP>
        <MAX_PEER_CONNECTION>100</MAX_PEER_CONNECTION>
        <MAX_PEER_CONNECTION_P2PSEED>20</MAX_PEER_CONNECTION_P2PSEED>
        <MAX_WHITELISTREQ_LIMIT>5</MAX_WHITELISTREQ_LIMIT>
        <SENDJOBPEERS_TIMEOUT>5</SENDJOBPEERS_TIMEOUT>
    </p2pcomm>
    <pow>
        <CUDA_GPU_MINE>false</CUDA_GPU_MINE>
        <FULL_DATASET_MINE>true</FULL_DATASET_MINE>
        <OPENCL_GPU_MINE>false</OPENCL_GPU_MINE>
        <REMOTE_MINE>false</REMOTE_MINE>
        <MINING_PROXY_URL>http://127.0.0.1:4202/api</MINING_PROXY_URL>
        <MINING_PROXY_TIMEOUT_IN_MS>15000</MINING_PROXY_TIMEOUT_IN_MS>
        <MAX_RETRY_SEND_POW_TIME>5</MAX_RETRY_SEND_POW_TIME>
        <!-- Every interval seconds to check if mining proxy has the PoW result -->
        <CHECK_MINING_RESULT_INTERVAL>5</CHECK_MINING_RESULT_INTERVAL>
        <!-- Make zilliqa node as an getWork server -->
        <GETWORK_SERVER_MINE>false</GETWORK_SERVER_MINE>
        <GETWORK_SERVER_PORT>4202</GETWORK_SERVER_PORT>
        <DS_POW_DIFFICULTY>5</DS_POW_DIFFICULTY>
        <POW_DIFFICULTY>3</POW_DIFFICULTY>
        <POW_BOUNDARY_N_DIVIDED>8</POW_BOUNDARY_N_DIVIDED>
        <POW_BOUNDARY_N_DIVIDED_START>32</POW_BOUNDARY_N_DIVIDED_START>
        <POW_SUBMISSION_LIMIT>2</POW_SUBMISSION_LIMIT>
        <NUM_FINAL_BLOCK_PER_POW>50</NUM_FINAL_BLOCK_PER_POW>
        <!-- Shard difficulty adjust by compare pow number to EXPECTED_SHARD_NODE_NUM -->
        <POW_CHANGE_TO_ADJ_DIFF>99</POW_CHANGE_TO_ADJ_DIFF>
        <!-- DS difficulty adjust by compare DS pow number to NUM_DS_ELECTION -->
        <POW_CHANGE_TO_ADJ_DS_DIFF>5</POW_CHANGE_TO_ADJ_DS_DIFF>
        <DIFFICULTY_DIFF_TOL>4</DIFFICULTY_DIFF_TOL>
        <!-- If PoW submissions over this number, will increase difficulty -->
        <EXPECTED_SHARD_NODE_NUM>1800</EXPECTED_SHARD_NODE_NUM>
        <!-- If PoW submissions over this number, will select nodes by reputation -->
        <MAX_SHARD_NODE_NUM>1900</MAX_SHARD_NODE_NUM>
        <MIN_NODE_REPUTATION_PRIORITY>4</MIN_NODE_REPUTATION_PRIORITY>
        <MISORDER_TOLERANCE_IN_PERCENT>5</MISORDER_TOLERANCE_IN_PERCENT>
        <!-- To avoid premature rejoining, set this to a value such as several Tx epochs after DS epoch -->
        <DSBLOCK_EXTRA_WAIT_TIME>120</DSBLOCK_EXTRA_WAIT_TIME>
        <DIFF_IP_TOLERANCE_IN_PERCENT>10</DIFF_IP_TOLERANCE_IN_PERCENT>
        <TXN_SHARD_TARGET_DIFFICULTY>2</TXN_SHARD_TARGET_DIFFICULTY>
        <TXN_DS_TARGET_DIFFICULTY>3</TXN_DS_TARGET_DIFFICULTY>
        <TXN_DS_TARGET_NUM>360</TXN_DS_TARGET_NUM>
        <PRIORITY_TOLERANCE_IN_PERCENT>5</PRIORITY_TOLERANCE_IN_PERCENT>
        <SKIP_POW_REATTEMPT_FOR_DS_DIFF>false</SKIP_POW_REATTEMPT_FOR_DS_DIFF>
        <POW_SUBMISSION_VERSION_TAG/>
    </pow>
    <recovery>
        <WAIT_LOOKUP_WAKEUP_IN_SECONDS>0</WAIT_LOOKUP_WAKEUP_IN_SECONDS>
        <GET_INITIAL_DS_FROM_REPO>false</GET_INITIAL_DS_FROM_REPO>
        <SHARD_DELAY_WAKEUP_IN_SECONDS>40</SHARD_DELAY_WAKEUP_IN_SECONDS>
        <TERMINATION_COUNTDOWN_IN_SECONDS>5</TERMINATION_COUNTDOWN_IN_SECONDS>
        <UPGRADE_HOST_ACCOUNT>Zilliqa</UPGRADE_HOST_ACCOUNT>
        <UPGRADE_HOST_REPO>Zilliqa-Release</UPGRADE_HOST_REPO>
        <REJOIN_NODE_NOT_IN_NETWORK>true</REJOIN_NODE_NOT_IN_NETWORK>
        <RESUME_BLACKLIST_DELAY_IN_SECONDS>30</RESUME_BLACKLIST_DELAY_IN_SECONDS>
        <INCRDB_DSNUMS_WITH_STATEDELTAS>5</INCRDB_DSNUMS_WITH_STATEDELTAS>
        <CONTRACT_STATES_MIGRATED>false</CONTRACT_STATES_MIGRATED>
        <MAX_IPCHANGE_REQUEST_LIMIT>1</MAX_IPCHANGE_REQUEST_LIMIT>
        <MAX_REJOIN_NETWORK_ATTEMPTS>2</MAX_REJOIN_NETWORK_ATTEMPTS>
        <RELEASE_CACHE_INTERVAL>5</RELEASE_CACHE_INTERVAL>
        <DIRBLOCK_FETCH_LIMIT>1</DIRBLOCK_FETCH_LIMIT>
    </recovery>
    <smart_contract>
        <ENABLE_SC>true</ENABLE_SC>
        <SCILLA_ROOT>/scilla/0/</SCILLA_ROOT>
        <SCILLA_CHECKER>bin/scilla-checker</SCILLA_CHECKER>
        <SCILLA_BINARY>bin/scilla-runner</SCILLA_BINARY>
        <SCILLA_FILES>scilla_files</SCILLA_FILES>
        <SCILLA_LOG>_build</SCILLA_LOG>
        <SCILLA_LIB>src/stdlib</SCILLA_LIB>
        <INIT_JSON>init.json</INIT_JSON>
        <INPUT_STATE_JSON>input_state.json</INPUT_STATE_JSON>
        <INPUT_BLOCKCHAIN_JSON>input_blockchain.json</INPUT_BLOCKCHAIN_JSON>
        <INPUT_MESSAGE_JSON>input_message.json</INPUT_MESSAGE_JSON>
        <OUTPUT_JSON>output.json</OUTPUT_JSON>
        <INPUT_CODE>input</INPUT_CODE>
        <CONTRACT_FILE_EXTENSION>.scilla</CONTRACT_FILE_EXTENSION>
        <LIBRARY_CODE_EXTENSION>.scillib</LIBRARY_CODE_EXTENSION>
        <EXTLIB_FOLDER>scilla_libs</EXTLIB_FOLDER>
        <ENABLE_SCILLA_MULTI_VERSION>false</ENABLE_SCILLA_MULTI_VERSION>
        <FIELDS_MAP_DEPTH_INDICATOR>_fields_map_depth</FIELDS_MAP_DEPTH_INDICATOR>
        <LOG_SC>false</LOG_SC>
        <DISABLE_SCILLA_LIB>false</DISABLE_SCILLA_LIB>
        <disambiguate_exclusion_list>
            <entry>
                <CONTRACT_ADDRESS>0000000000000000000000000000000000000000</CONTRACT_ADDRESS>
            </entry>
        </disambiguate_exclusion_list>
        <SCILLA_SERVER_PENDING_IN_MS>1500</SCILLA_SERVER_PENDING_IN_MS>
        <SCILLA_SERVER_LOOP_WAIT_MICROSECONDS>10</SCILLA_SERVER_LOOP_WAIT_MICROSECONDS>
    </smart_contract>
    <tests>
        <ENABLE_CHECK_PERFORMANCE_LOG>false</ENABLE_CHECK_PERFORMANCE_LOG>
        <NUM_TXN_TO_SEND_PER_ACCOUNT>100</NUM_TXN_TO_SEND_PER_ACCOUNT>
        <ENABLE_ACCOUNTS_POPULATING>false</ENABLE_ACCOUNTS_POPULATING>
        <UPDATE_PREGENED_ACCOUNTS>false</UPDATE_PREGENED_ACCOUNTS>
        <NUM_ACCOUNTS_PREGENERATE>0</NUM_ACCOUNTS_PREGENERATE>
        <PREGEN_ACCOUNT_TIMES>0</PREGEN_ACCOUNT_TIMES>
        <PREGENED_ACCOUNTS_FILE/>
        <LOG_PARAMETERS>false</LOG_PARAMETERS>
    </tests>
    <transactions>
        <TOTAL_COINBASE_REWARD>8400000000000000000000</TOTAL_COINBASE_REWARD>
        <COINBASE_REWARD_PER_DS>176000000000000000</COINBASE_REWARD_PER_DS>
        <TOTAL_GENESIS_TOKEN>12600000000000000000000</TOTAL_GENESIS_TOKEN>
        <BASE_REWARD_IN_PERCENT>20</BASE_REWARD_IN_PERCENT>
        <LOOKUP_REWARD_IN_PERCENT>40</LOOKUP_REWARD_IN_PERCENT>
        <MAX_CODE_SIZE_IN_BYTES>76800</MAX_CODE_SIZE_IN_BYTES>
        <MAX_CONTRACT_EDGES>20</MAX_CONTRACT_EDGES>
        <SCILLA_CHECKER_INVOKE_GAS>100</SCILLA_CHECKER_INVOKE_GAS>
        <SCILLA_RUNNER_INVOKE_GAS>300</SCILLA_RUNNER_INVOKE_GAS>
        <SYS_TIMESTAMP_VARIANCE_IN_SECONDS>3600</SYS_TIMESTAMP_VARIANCE_IN_SECONDS>
        <TXN_MISORDER_TOLERANCE_IN_PERCENT>50</TXN_MISORDER_TOLERANCE_IN_PERCENT>
        <TXNS_MISSING_TOLERANCE_IN_PERCENT>0</TXNS_MISSING_TOLERANCE_IN_PERCENT>
        <PACKET_EPOCH_LATE_ALLOW>1</PACKET_EPOCH_LATE_ALLOW>
        <PACKET_BYTESIZE_LIMIT>1572864</PACKET_BYTESIZE_LIMIT>
        <SMALL_TXN_SIZE>1024</SMALL_TXN_SIZE>
        <ACCOUNT_IO_BATCH_SIZE>2000000</ACCOUNT_IO_BATCH_SIZE>
        <ENABLE_REPOPULATE>true</ENABLE_REPOPULATE>
        <REPOPULATE_STATE_IN_DS>0</REPOPULATE_STATE_IN_DS>
        <REPOPULATE_STATE_PER_N_DS>10</REPOPULATE_STATE_PER_N_DS>
        <NUM_STORE_TX_BODIES_INTERVAL>5</NUM_STORE_TX_BODIES_INTERVAL>
        <BUCKET_NAME>xxxxxxxxxxx</BUCKET_NAME>
        <TXN_PERSISTENCE_NAME>txnsbackup</TXN_PERSISTENCE_NAME>
        <ENABLE_TXNS_BACKUP>false</ENABLE_TXNS_BACKUP>
        <SHARDLDR_SAVE_TXN_LOCALLY>false</SHARDLDR_SAVE_TXN_LOCALLY>
        <BLOOM_FILTER_FALSE_RATE>0.000001</BLOOM_FILTER_FALSE_RATE>
        <TXN_DISPATCH_ATTEMPT_LIMIT>3</TXN_DISPATCH_ATTEMPT_LIMIT>
    </transactions>
    <verifier>
        <exclusion_list>
	</exclusion_list>
	<IGNORE_BLOCKCOSIG_CHECK>true</IGNORE_BLOCKCOSIG_CHECK>
    </verifier>
    <viewchange>
        <POST_VIEWCHANGE_BUFFER>10</POST_VIEWCHANGE_BUFFER>
        <VIEWCHANGE_EXTRA_TIME>15</VIEWCHANGE_EXTRA_TIME>
        <VIEWCHANGE_PRECHECK_TIME>10</VIEWCHANGE_PRECHECK_TIME>
        <VIEWCHANGE_TIME>600</VIEWCHANGE_TIME>
    </viewchange>
    <!-- These are the genesis accounts -->
    <accounts>
        <account>
            <wallet_address>cc02a3c906612cc5bdb087a30e6093c9f0aa04fc</wallet_address>
        </account>
    </accounts>
    <!-- These are the genesis accounts used for ds txn dispatching for test purpose only -->
    <ds_accounts>
        <account>
            <wallet_address>ee06b3c906612cc5bdb087a30e6093c9f0aa04fd</wallet_address>
        </account>
    </ds_accounts>
    <!-- The remaining constants below are auto-populated -->
    <lookups>
        <!--IP to be provided after public testnet launch.
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
    -->
    </lookups>
    <multipliers>
        <!--IP to be provided after public testnet launch.
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        -->
    </multipliers>
    <upper_seed>
        <!--
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        -->
    </upper_seed>
    <lower_seed>
        <!--
        <peer>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        -->
    </lower_seed>
    <l2l_data_providers>
        <!--
        <peer>
            <hostname></hostname>
            <ip></ip>
            <port>33133</port>
            <pubkey></pubkey>
        </peer>
        -->
    </l2l_data_providers>
    <ds_guard>
        <!--Pubkey to be provided in testnet/mainnet.
        <DSPUBKEY></DSPUBKEY>
        -->
    </ds_guard>
    <shard_guard>
        <!--Pubkey to be provided in testnet/mainnet.
        <SHARDPUBKEY></SHARDPUBKEY>
        -->
    </shard_guard>
</node>
