# default config
[NodeConfig]
BaseConfigTOML = """
[Feature]
LogPoller = true

[Database]
MaxIdleConns = 20
MaxOpenConns = 40
MigrateOnStartup = true

[Log]
Level = 'debug'
JSONConsole = true

[Log.File]
MaxSize = '0b'

[WebServer]
AllowOrigins = '*'
HTTPPort = 6688
HTTPWriteTimeout = '1m0s'
SecureCookies = false

[WebServer.RateLimit]
Authenticated = 2000
Unauthenticated = 100

[WebServer.TLS]
HTTPSPort = 0
"""

[NodeConfig.ChainConfigTOMLByChainID]
# OPTIMISM SEPOLIA
11155420 = """
BlockBackfillDepth = 500
LogBackfillBatchSize = 1000
RPCDefaultBatchSize = 25

[GasEstimator]
LimitDefault = 3500000

[GasEstimator.BlockHistory]
BatchSize = 100
"""

# BASE SEPOLIA
84532 = """
BlockBackfillDepth = 500
LogBackfillBatchSize = 1000
RPCDefaultBatchSize = 25

[GasEstimator]
LimitDefault = 3500000

[GasEstimator.BlockHistory]
BatchSize = 100
"""

[Common]
chainlink_node_funding = 0.5

[VRFv2Plus]
[VRFv2Plus.General]
cancel_subs_after_test_run = true
use_existing_env = false
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 3
# Can be "LINK", "NATIVE" or "LINK_AND_NATIVE"
subscription_billing_type = "LINK_AND_NATIVE"
generate_txs_on_chain = false

#CL Node config
cl_node_max_gas_price_gwei = 10
number_of_sending_keys_to_create = 0

# Randomness Request Config
number_of_sub_to_create = 1
number_of_words = 3
callback_gas_limit = 1000000
subscription_funding_amount_link = 5.0
subscription_funding_amount_native=1
subscription_refunding_amount_link = 5.0
subscription_refunding_amount_native = 1
randomness_request_count_per_request = 1
randomness_request_count_per_request_deviation = 0
random_words_fulfilled_event_timeout = "2m"
wait_for_256_blocks_timeout = "280s"

# Coordinator config
link_native_feed_response = 1000000000000000000
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "60000000000000000"
staleness_seconds = 86400
gas_after_payment_calculation = 33825
fulfillment_flat_fee_native_ppm=0
fulfillment_flat_fee_link_discount_ppm=0
native_premium_percentage=24
link_premium_percentage=20

#  0 = L1_GAS_FEES_MODE; 1 = L1_CALLDATA_GAS_COST_MODE; 2 = L1_GAS_FEES_UPPER_BOUND_MODE
l1_fee_calculation_mode = 2
l1_fee_coefficient = 80

# Wrapper config
wrapped_gas_overhead = 50000
coordinator_gas_overhead_native = 52000
coordinator_gas_overhead_link = 74000
coordinator_gas_overhead_per_word = 440
wrapper_max_number_of_words = 10
wrapper_consumer_funding_amount_native_token = 1.0
wrapper_consumer_funding_amount_link = 10
coordinator_native_premium_percentage=24
coordinator_link_premium_percentage=20

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 1.1
vrf_job_batch_fulfillment_enabled = true
vrf_job_batch_fulfillment_gas_multiplier = 1.15
vrf_job_poll_period = "1s"
vrf_job_request_timeout = "24h"
# should be "latest" if minimum_confirmations>0, "pending" if minimum_confirmations=0
vrf_job_simulation_block="latest"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 250
bhs_job_poll_period = "1s"
bhs_job_run_timeout = "24h"

# BHF Job config
bhf_job_wait_blocks = 260
bhf_job_lookback_blocks = 500
bhf_job_poll_period = "30s"
bhf_job_run_timeout = "1h"

# PERFORMANCE test specific config

[VRFv2Plus.ExistingEnv]
coordinator_address = ""
consumer_address = ""
sub_id = ""
key_hash = ""
create_fund_subs_and_add_consumers = true
link_address = ""
node_sending_key_funding_min = 1
node_sending_keys = []

[VRFv2Plus.Performance]
test_duration = "10s"
rate_limit_unit_duration = "3s"
rps = 1
bhs_test_duration = "10s"
bhs_test_rate_limit_unit_duration = "3s"
bhs_test_rps = 1

#SOAK TEST CONFIG
[Soak.Common]
chainlink_node_funding = 0.1

[Soak.VRFv2Plus.General]
randomness_request_count_per_request = 4 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
number_of_sending_keys_to_create = 0
subscription_funding_amount_link = 50
subscription_funding_amount_native=10

[Soak.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "10s"
rps = 1
bhs_test_duration = "1m"
bhs_test_rate_limit_unit_duration = "3s"
bhs_test_rps = 1

# LOAD TEST CONFIG
[Load.Common]
chainlink_node_funding = 0.1

[Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
number_of_sending_keys_to_create = 0
subscription_funding_amount_link = 5.0
subscription_funding_amount_native=1

[Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1
bhs_test_duration = "1m"
bhs_test_rate_limit_unit_duration = "3s"
bhs_test_rps = 1

# STRESS TEST CONFIG
[Stress.Common]
chainlink_node_funding = 0.1

[Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
number_of_sending_keys_to_create = 0
subscription_funding_amount_link = 5.0
subscription_funding_amount_native=1

[Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1
bhs_test_duration = "1m"
bhs_test_rate_limit_unit_duration = "3s"
bhs_test_rps = 1

### POLYGON AMOY Config

[POLYGON_AMOY.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 3

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

# NEW ENV CONFIG
# CL Node config
cl_node_max_gas_price_gwei = 200
number_of_sending_keys_to_create = 0

# Coordinator config
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "19823132181656390000"
staleness_seconds = 172_800
gas_after_payment_calculation = 48_500
fulfillment_flat_fee_native_ppm = 0
fulfillment_flat_fee_link_discount_ppm = 0
native_premium_percentage = 84
link_premium_percentage = 70

# Wrapper config
wrapped_gas_overhead = 13_400
coordinator_gas_overhead_native = 99_500
coordinator_gas_overhead_link = 121_500
coordinator_gas_overhead_per_word = 435
coordinator_native_premium_percentage = 84
coordinator_link_premium_percentage = 70
wrapper_max_number_of_words = 10

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 3.0
vrf_job_batch_fulfillment_enabled = true
vrf_job_batch_fulfillment_gas_multiplier = 1.1
vrf_job_poll_period = "2s"
vrf_job_request_timeout = "2h0m0s"
vrf_job_simulation_block = "latest"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 200
bhs_job_poll_period = "2s"
bhs_job_run_timeout = "30s"
# NEW ENV CONFIG END

[POLYGON_AMOY.VRFv2Plus.ExistingEnv]
coordinator_address = "0x7541EbaE23f32B4A1A2e7a8Cbf9da9582767A9B4"
consumer_address = ""
sub_id = ""
key_hash = "0xd360445bacd26df47086ccf255c4f932d297ed8d5c7334b51eed32f61c541601"
#key_hash = "0x2328cbee29e32d0b6662d6df82ff0fea7be300bd310561c92f515c9ee19464f1"
#key_hash = "0x25f4e2d0509f42ec77db5380f3433a89fe623fa75f65d5b398d5f498327be4dd"
create_fund_subs_and_add_consumers = true
link_address = "0x0Fd9e8d3aF1aaee056EB9e802c3A762a667b1904"
node_sending_key_funding_min = 10
node_sending_keys = [
    "0xD96013C241f1741C35a135321969f92Aae02A12F",
    "0x0580E61a5523F5CAAC4968E4f8FE63b59596BdD7",
    "0xd15FcEa6a6AA17085930Fbd5647A9F7fD2Ff58b8",
    "0xB7277cBb6E7028AE65235b8ee9201AcBb14B11d4",
    "0x6D36a1dC1eEd25C75961E989c4d01Cd4453bE465",
    "0xd299Cd7C0073b71e620bf8A3bfD50F75c0b49af8",
    "0x48BE7BAED0b65776D85DF971fA901c637cFC5e87",
    #    BHS
    "0x638372de870eF0F8E675A3f67F18D5bd4A2fd804",
    "0xF9eF03816411D037202d5ed4457dC1613e3bd729",
    "0xCD66973f8fbaE787211EC20228c6bd90D83562A8",
    "0x242ea1F4Bb72EF643B2D8EF22e18a89f00742F40",
    "0xaA09B4F9B5710b239fdbf1D0f535dd7f86F91219",
    "0xe6b72B647B8B45C5562F7a5259E187889C747d3b",
    "0x2c1185C4d3B0B4a577d4079Ee193A4e293164D9d"
]

#SMOKE TEST CONFIG
[POLYGON_AMOY-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5
subscription_funding_amount_native = 1
subscription_refunding_amount_link = 5
subscription_refunding_amount_native = 1
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "15m"

wrapper_consumer_funding_amount_native_token = 1.0
wrapper_consumer_funding_amount_link = 5


[POLYGON_AMOY-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "15s"
rps = 1


#SOAK TEST CONFIG
[POLYGON_AMOY-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 500
subscription_funding_amount_native = 200

[POLYGON_AMOY-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[POLYGON_AMOY-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[POLYGON_AMOY-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[POLYGON_AMOY-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[POLYGON_AMOY-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1

### ARBITRUM SEPOLIA Config

[ARBITRUM_SEPOLIA.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0
subscription_billing_type = "LINK_AND_NATIVE"

cl_node_max_gas_price_gwei = 50
number_of_sending_keys_to_create = 0

# Coordinator config
callback_gas_limit = 1000000
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "5352799651145251"
staleness_seconds = 172_800
gas_after_payment_calculation = 56000
fulfillment_flat_fee_native_ppm=0
fulfillment_flat_fee_link_discount_ppm=0
native_premium_percentage=60
link_premium_percentage=50

# Wrapper config
wrapped_gas_overhead = 13_400
coordinator_gas_overhead_native = 104_500
coordinator_gas_overhead_link = 126_500
coordinator_gas_overhead_per_word = 435
coordinator_native_premium_percentage=60
coordinator_link_premium_percentage=50
wrapper_max_number_of_words = 10

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 3.0
vrf_job_batch_fulfillment_enabled = true
vrf_job_batch_fulfillment_gas_multiplier = 1.1
vrf_job_poll_period = "300ms"
vrf_job_request_timeout = "2h0m0s"
vrf_job_simulation_block="pending"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 200
bhs_job_poll_period = "300ms"
bhs_job_run_timeout = "30s"
# NEW ENV CONFIG END

[ARBITRUM_SEPOLIA.VRFv2Plus.ExistingEnv]
coordinator_address = "0xF7ba1Cf141F9729abC43c146dc2bf86EbcfD8603"
consumer_address = ""
sub_id = ""
key_hash = "0xe13aa26fe94bfcd2ae055911f4d3bf1aed54ca6cf77af34e17f918802fd69ba1"
create_fund_subs_and_add_consumers = true
link_address = "0xb1D4538B4571d411F07960EF2838Ce337FE1E80E"
node_sending_key_funding_min = 20
node_sending_keys = [
    "0xbE21ae371FcA1aC2d8A152e707D21e68d7d99252",
    "0xb13e9BA0aE94FD3b89B13b092e6d41614c805134",
    "0x27aa703e585Ee165B7c977EAA652eCFa13b08294",
    "0x9324643ACD2ec5b0813488E5EdAb64C3758ae4Ee",
    "0x7CBA8c8e86f23f23363051650Fe5AE4DE78c3652",
    "0x9A0143a4BAB55A826331A8ef82462557633aA016",
    "0xD4259633F8e87949F683433a17e1fFcCE27865AC",
    "0x5e47B71d6F95f68cd5538907ec6A9635b1Fe30Fa",
    "0xa850a1a257FDF439c8f854ce3b89dd5b6F411827",
    "0x7c82D56087c10aF2c3970f9a9Be7786B2850ce91",
    "0x9545CB59956347d3debf27f5029754bBE1d398FA",
    "0xEb8C69ac19709f27A97FB4A561f51AD2F9b34c5B",
    #   BHS
    "0xf0e8cF7Fbd28Fc4D412B76B744CDA269df671F8e",
    "0x317A02A658d12E5Bb4A6270171E7385928dD2d53",
    "0x480f1dbcEc118Bd91e4dbb7e45bFa4A73180d21f",
    "0x500a2662FaF981EC4669f791349D37Cbf1bE7d85",
    "0x2ad350374B904c10B47c64ECdBD9e70BB0833Be2",
    "0x0b946F0bF4e63C12b5157137f1c130f0788bC1b1",
    #    BHF
    "0x571BBF4a5b07fc3F47Bd3B65CE2FE73739f86623"
]

#SMOKE TEST CONFIG
[ARBITRUM_SEPOLIA-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5
subscription_funding_amount_native = 1
subscription_refunding_amount_link = 20
subscription_refunding_amount_native = 10
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "100s"

wrapper_consumer_funding_amount_native_token = 1.0
wrapper_consumer_funding_amount_link = 5

[ARBITRUM_SEPOLIA-Smoke.VRFv2Plus.Performance]
test_duration = "1s"
rate_limit_unit_duration = "10s"
rps = 1


#SOAK TEST CONFIG
[ARBITRUM_SEPOLIA-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 4 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 100

[ARBITRUM_SEPOLIA-Soak.VRFv2Plus.Performance]
test_duration = "1h"
rate_limit_unit_duration = "10s"
rps = 1

# LOAD TEST CONFIG
[ARBITRUM_SEPOLIA-Load.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 100
subscription_funding_amount_native = 60

[ARBITRUM_SEPOLIA-Load.VRFv2Plus.Performance]
test_duration = "30m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[ARBITRUM_SEPOLIA-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[ARBITRUM_SEPOLIA-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


### AVALANCHE FUJI Config
[AVALANCHE_FUJI.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

# NEW ENV CONFIG
# CL Node config
cl_node_max_gas_price_gwei = 300
number_of_sending_keys_to_create = 0

# Coordinator config
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "378709808510249900"
staleness_seconds = 172_800
gas_after_payment_calculation = 56_000
fulfillment_flat_fee_native_ppm = 0
fulfillment_flat_fee_link_discount_ppm = 0
native_premium_percentage = 60
link_premium_percentage = 50

# Wrapper config
wrapped_gas_overhead = 13_400
coordinator_gas_overhead_native = 107_000
coordinator_gas_overhead_link = 129_000
coordinator_gas_overhead_per_word = 435
coordinator_native_premium_percentage = 60
coordinator_link_premium_percentage = 50
wrapper_max_number_of_words = 10

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 3.0
vrf_job_batch_fulfillment_enabled = true
vrf_job_batch_fulfillment_gas_multiplier = 1.1
vrf_job_poll_period = "2s"
vrf_job_request_timeout = "2h0m0s"
vrf_job_simulation_block = "pending"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 200
bhs_job_poll_period = "2s"
bhs_job_run_timeout = "30s"
# NEW ENV CONFIG END

[AVALANCHE_FUJI.VRFv2Plus.ExistingEnv]
coordinator_address = "0xE122bf3Badd6545bDec5D4627a6DAd16352A1b36"
consumer_address = ""
sub_id = ""
key_hash = "0x5b03254a80ea3eb72139ff0423cb88be42612780c3dd25f1d95a5ba7708a4be1"
create_fund_subs_and_add_consumers = true
link_address = "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846"
node_sending_key_funding_min = 50
node_sending_keys = [
    "0x3D7Da5D6A23CA2240CE576C8638C1798a023920a",
    #   BHS
    "0x72c8565279430F5179b0090d51ab8BB53Da323B5"
]

#SMOKE TEST CONFIG
[AVALANCHE_FUJI-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link =  20
subscription_funding_amount_native = 20
subscription_refunding_amount_link = 20
subscription_refunding_amount_native = 20
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "10m"

wrapper_consumer_funding_amount_native_token = 1.0
wrapper_consumer_funding_amount_link = 5

[AVALANCHE_FUJI-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "10s"
rps = 1


#SOAK TEST CONFIG
[AVALANCHE_FUJI-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[AVALANCHE_FUJI-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[AVALANCHE_FUJI-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[AVALANCHE_FUJI-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[AVALANCHE_FUJI-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[AVALANCHE_FUJI-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1

### ETH SEPOLIA Config
[SEPOLIA.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 3

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

# NEW ENV CONFIG
# CL Node config
cl_node_max_gas_price_gwei = 100
number_of_sending_keys_to_create = 0

# Coordinator config
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "5354747932930759"
staleness_seconds = 172_800
gas_after_payment_calculation = 38_900
fulfillment_flat_fee_native_ppm = 0
fulfillment_flat_fee_link_discount_ppm = 0
native_premium_percentage = 24
link_premium_percentage = 20

# Wrapper config
wrapped_gas_overhead = 13_400
coordinator_gas_overhead_native = 90_000
coordinator_gas_overhead_link = 112_000
coordinator_gas_overhead_per_word = 435
coordinator_native_premium_percentage = 24
coordinator_link_premium_percentage = 20
wrapper_max_number_of_words = 10

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 1.15
vrf_job_batch_fulfillment_enabled = false
vrf_job_batch_fulfillment_gas_multiplier = 1.1
vrf_job_poll_period = "5s"
vrf_job_request_timeout = "2h0m0s"
vrf_job_simulation_block = "latest"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 200
bhs_job_poll_period = "30s"
bhs_job_run_timeout = "1m0s"
# NEW ENV CONFIG END

[SEPOLIA.VRFv2Plus.ExistingEnv]
coordinator_address = "0x2F3b892710523Ee9A85c3155a42089fFe99Ca31e"
consumer_address = ""
sub_id = ""
key_hash = "0xf5b4a359df0598eef89872ea2170f2afa844dbf74b417e6d44d4bda9420aceb2"
create_fund_subs_and_add_consumers = true
link_address = "0x779877A7B0D9E8603169DdbD7836e478b4624789"
node_sending_key_funding_min = 50
node_sending_keys = [
    "0x0c0DC7f33A1256f0247c5ea75861d385fa5FED31",
    #    BHS
    "0xEd8A4b792d16484f6c9B4df1e721e8280925Db80",
]

#SMOKE TEST CONFIG
[SEPOLIA-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5
subscription_funding_amount_native = 1
subscription_refunding_amount_link = 5
subscription_refunding_amount_native = 1
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "70m"

wrapper_consumer_funding_amount_native_token = 1.0
wrapper_consumer_funding_amount_link = 5

[SEPOLIA-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "3s"
rps = 1

#SOAK TEST CONFIG
[SEPOLIA-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 500
subscription_funding_amount_native = 200

[SEPOLIA-Soak.VRFv2Plus.Performance]
test_duration = "2h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[SEPOLIA-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 30

[SEPOLIA-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1

# STRESS TEST CONFIG
[SEPOLIA-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[SEPOLIA-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1

### BSC SEPOLIA Config
[BSC_TESTNET.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 3

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

# NEW ENV CONFIG
# CL Node config
cl_node_max_gas_price_gwei = 50
number_of_sending_keys_to_create = 0

# Coordinator config
max_gas_limit_coordinator_config = 2500000
fallback_wei_per_unit_link = "30531029880396850"
staleness_seconds = 172_800
gas_after_payment_calculation = 48_500
fulfillment_flat_fee_native_ppm = 0
fulfillment_flat_fee_link_discount_ppm = 0
native_premium_percentage = 60
link_premium_percentage = 50

# Wrapper config
wrapped_gas_overhead = 13_400
coordinator_gas_overhead_native = 99_500
coordinator_gas_overhead_link = 121_500
coordinator_gas_overhead_per_word = 435
coordinator_native_premium_percentage = 60
coordinator_link_premium_percentage = 50
wrapper_max_number_of_words = 10

# VRF Job config
vrf_job_forwarding_allowed = false
vrf_job_estimate_gas_multiplier = 1.1
vrf_job_batch_fulfillment_enabled = true
vrf_job_batch_fulfillment_gas_multiplier = 1.1
vrf_job_poll_period = "3s"
vrf_job_request_timeout = "2h0m0s"
vrf_job_simulation_block = "latest"

# BHS Job config
bhs_job_wait_blocks = 30
bhs_job_lookback_blocks = 200
bhs_job_poll_period = "2s"
bhs_job_run_timeout = "30s"
# NEW ENV CONFIG END

[BSC_TESTNET.VRFv2Plus.ExistingEnv]
coordinator_address = "0x84A477F6ebF33501eE3ACA86fEcB980b1fC99AC2"
consumer_address = ""
sub_id = ""
key_hash = "0x4d43763d3eff849a89cf578a42787baa32132d7a80032125710e95b3972cd214"
create_fund_subs_and_add_consumers = true
link_address = "0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06"
node_sending_key_funding_min = 150
node_sending_keys = [
    "0x4EE2Cc6D50E8acb6BaEf673B03559525a6c92fB8",
    #   BHS
    "0xAFB44568f7DAc218EA6e1C71c366692ED4758A07"
]

#SMOKE TEST CONFIG
[BSC_TESTNET-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 10
subscription_funding_amount_native = 10

[BSC_TESTNET-Smoke.VRFv2Plus.Performance]
test_duration = "15s"
rate_limit_unit_duration = "3s"
rps = 1


#SOAK TEST CONFIG
[BSC_TESTNET-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[BSC_TESTNET-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[BSC_TESTNET-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[BSC_TESTNET-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[BSC_TESTNET-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[BSC_TESTNET-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


### NEXON QA Config
[NEXON_QA.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0
generate_txs_on_chain = true

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

[NEXON_QA.VRFv2Plus.ExistingEnv]
coordinator_address = "0xF1F0beBcc284591FCD28d8f2BAc9f30efdA3E0ea"
consumer_address = ""
sub_id = ""
key_hash = "0x7d5692e71807c4c02f5a109627a9ad2b12a361a346790a306983af9a5e3a186f"
create_fund_subs_and_add_consumers = true
link_address = "0x92Bd61014c5BDc4A43BBbaAEa63d0694BE43ECDd"
node_sending_key_funding_min = 30
node_sending_keys = [
    "0xB97c0C52A2B957b45DA213e652c76090DDd0FEc6",
    "0xe205F5d4a99ca0f474d0b4d12f60a0153c786B4E",
    #   BHS
    "0xf85E291edF0352435f2fD5e817030f6542375a99",
]

#SMOKE TEST CONFIG
[NEXON_QA-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 21
subscription_funding_amount_native = 2
subscription_refunding_amount_link = 21
subscription_refunding_amount_native = 2
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "25m"
wrapper_consumer_funding_amount_link = 21
wrapper_consumer_funding_amount_native_token = 3


[NEXON_QA-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "3s"
rps = 1


#SOAK TEST CONFIG
[NEXON_QA-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[NEXON_QA-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[NEXON_QA-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[NEXON_QA-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[NEXON_QA-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 2

[NEXON_QA-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1

### NEXON DEV Config
[NEXON_DEV.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0
generate_txs_on_chain = true

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

[NEXON_DEV.VRFv2Plus.ExistingEnv]
coordinator_address = "0x6901d7236A823E7B7911d90FBe46E6FA770CC823"
consumer_address = ""
sub_id = ""
key_hash = "0xdc023892a41e5fe74ec7c4c2e8c0a808b01aea7acaf2b2ae30f4e08df877c48b"
create_fund_subs_and_add_consumers = true
link_address = "0xE4DDEDb5A220eC218791dC35b1b4D737ba813EE7"
node_sending_key_funding_min = 30
node_sending_keys = [
    "0xF3d9879a75BBD85890056D7c6cB37C555F9b41A3",
    #   BHS
    "0xb544f9D7c16a30af0EEd0afcC4132D1c63bAF8AC",
]

#SMOKE TEST CONFIG
[NEXON_DEV-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 21
subscription_funding_amount_native = 2
subscription_refunding_amount_link = 21
subscription_refunding_amount_native = 2
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "25m"
wrapper_consumer_funding_amount_link = 21
wrapper_consumer_funding_amount_native_token = 3

[NEXON_DEV-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "3s"
rps = 1


#SOAK TEST CONFIG
[NEXON_DEV-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[NEXON_DEV-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[NEXON_DEV-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[NEXON_DEV-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[NEXON_DEV-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[NEXON_DEV-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


### NEXON TEST Config
[NEXON_TEST.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0
generate_txs_on_chain = true

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

[NEXON_TEST.VRFv2Plus.ExistingEnv]
coordinator_address = "0xAa92Ba21168B48195cAdB87cfaB3eB70B2499F55"
consumer_address = ""
sub_id = ""
key_hash = "0x0cb2a18e8b762cb4c8f7b17a6cc02ac7b9d2a3346f048cfd2f5d37677f8747d8"
create_fund_subs_and_add_consumers = true
link_address = "0xD694472F1CD02E1f3fc3534386bda6802fCFe0f7"
node_sending_key_funding_min = 30
node_sending_keys = [
    "0xBFD780Af421e98C35918e10B9d6da7389C3e1D10",
    "0xbf6c76024672F233aB8164EC00683e1AE774F6b0",
    #   BHS
    "0x2a3900Ac77de110670E060DBFf4fCbe36c6f8170",
]

#SMOKE TEST CONFIG
[NEXON_TEST-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 21
subscription_funding_amount_native = 2
subscription_refunding_amount_link = 21
subscription_refunding_amount_native = 2
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "25m"
wrapper_consumer_funding_amount_link = 5
wrapper_consumer_funding_amount_native_token = 3

[NEXON_TEST-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "3s"
rps = 1


#SOAK TEST CONFIG
[NEXON_TEST-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[NEXON_TEST-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[NEXON_TEST-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[NEXON_TEST-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[NEXON_TEST-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[NEXON_TEST-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


### NEXON STAGE Config
[NEXON_STAGE.VRFv2Plus.General]
#todo - need to have separate minimum_confirmations config for Coordinator, CL Node and Consumer request
minimum_confirmations = 0
generate_txs_on_chain = true

# Consumer Request config
subscription_billing_type = "LINK_AND_NATIVE"
callback_gas_limit = 1000000

[NEXON_STAGE.VRFv2Plus.ExistingEnv]
coordinator_address = "0xF705dD3e7E717F32de0Cc5F833f8009f16122AD1"
consumer_address = ""
sub_id = ""
key_hash = "0xbc9f525e3e1d9e2336f7c77d5f33f5b60aab3765944617fed7f66a6afecac616"
create_fund_subs_and_add_consumers = true
link_address = "0x8E3f5E6dFeb4498437149b0d347ef51427dB1DE2"
node_sending_key_funding_min = 30
node_sending_keys = [
]

#SMOKE TEST CONFIG
[NEXON_STAGE-Smoke.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 21
subscription_funding_amount_native = 2
subscription_refunding_amount_link = 21
subscription_refunding_amount_native = 2
number_of_words = 1
random_words_fulfilled_event_timeout = "1m30s"
wait_for_256_blocks_timeout = "25m"
wrapper_consumer_funding_amount_link = 21
wrapper_consumer_funding_amount_native_token = 3

[NEXON_STAGE-Smoke.VRFv2Plus.Performance]
test_duration = "2s"
rate_limit_unit_duration = "3s"
rps = 1


#SOAK TEST CONFIG
[NEXON_STAGE-Soak.VRFv2Plus.General]
randomness_request_count_per_request = 1 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 0 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 400
subscription_funding_amount_native = 200

[NEXON_STAGE-Soak.VRFv2Plus.Performance]
test_duration = "5h"
rate_limit_unit_duration = "3s"
rps = 1

# LOAD TEST CONFIG
[NEXON_STAGE-Load.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 300
subscription_funding_amount_native = 300

[NEXON_STAGE-Load.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1


# STRESS TEST CONFIG
[NEXON_STAGE-Stress.VRFv2Plus.General]
randomness_request_count_per_request = 3 # amount of randomness requests to make per one TX request
randomness_request_count_per_request_deviation = 2 #NOTE - deviation should be less than randomness_request_count_per_request setting
number_of_sub_to_create = 1
subscription_funding_amount_link = 5.0
subscription_funding_amount_native = 0.1

[NEXON_STAGE-Stress.VRFv2Plus.Performance]
test_duration = "2m"
rate_limit_unit_duration = "3s"
rps = 1
