Skip to content

Commit d5d9275

Browse files
authored
sccp-394/395 (#666)
* sccp-394 initial commit * scp-395 * pretty * remoev duplicates * Revert "pretty" This reverts commit 28ddaaa. * Revert "scp-395" This reverts commit eb1cf34. * Revert "remoev duplicates" This reverts commit bb6eb65. * kill atomic orders, cbeth, cbbtc, wsteth, weth
1 parent 6fb84f3 commit d5d9275

22 files changed

+976
-10
lines changed

omnibus-base-mainnet-andromeda.toml

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name = "synthetix-omnibus"
2-
version = "83"
2+
version = "84"
33
description = "Andromeda deployment"
44
preset = "andromeda"
55
deployers = [
@@ -101,8 +101,10 @@ include = [
101101
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-imx.toml",
102102
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-inj.toml",
103103
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-io.toml",
104+
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-ip.toml",
104105
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-jto.toml",
105106
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-jup.toml",
107+
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-kaito.toml",
106108
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-kmno.toml",
107109
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-ldo.toml",
108110
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-link.toml",
@@ -116,6 +118,7 @@ include = [
116118
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-morpho.toml",
117119
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-near.toml",
118120
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-not.toml",
121+
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-om.toml",
119122
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-op.toml",
120123
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-ordi.toml",
121124
"tomls/omnibus-base-mainnet-andromeda/oracles/pyth-pendle.toml",
@@ -228,8 +231,10 @@ include = [
228231
"tomls/omnibus-base-mainnet-andromeda/perps/markets/imx.toml",
229232
"tomls/omnibus-base-mainnet-andromeda/perps/markets/inj.toml",
230233
"tomls/omnibus-base-mainnet-andromeda/perps/markets/io.toml",
234+
"tomls/omnibus-base-mainnet-andromeda/perps/markets/ip.toml",
231235
"tomls/omnibus-base-mainnet-andromeda/perps/markets/jto.toml",
232236
"tomls/omnibus-base-mainnet-andromeda/perps/markets/jup.toml",
237+
"tomls/omnibus-base-mainnet-andromeda/perps/markets/kaito.toml",
233238
"tomls/omnibus-base-mainnet-andromeda/perps/markets/kmno.toml",
234239
"tomls/omnibus-base-mainnet-andromeda/perps/markets/ldo.toml",
235240
"tomls/omnibus-base-mainnet-andromeda/perps/markets/link.toml",
@@ -243,6 +248,7 @@ include = [
243248
"tomls/omnibus-base-mainnet-andromeda/perps/markets/morpho.toml",
244249
"tomls/omnibus-base-mainnet-andromeda/perps/markets/near.toml",
245250
"tomls/omnibus-base-mainnet-andromeda/perps/markets/not.toml",
251+
"tomls/omnibus-base-mainnet-andromeda/perps/markets/om.toml",
246252
"tomls/omnibus-base-mainnet-andromeda/perps/markets/op.toml",
247253
"tomls/omnibus-base-mainnet-andromeda/perps/markets/ordi.toml",
248254
"tomls/omnibus-base-mainnet-andromeda/perps/markets/pendle.toml",
@@ -441,8 +447,10 @@ pyth_feed_id_icp = "0xc9907d786c5821547777780a1e4f89484f3417cb14dd244f2b0a34ea7a
441447
pyth_feed_id_imx = "0x941320a8989414874de5aa2fc340a75d5ed91fdff1613dd55f83844d52ea63a2"
442448
pyth_feed_id_inj = "0x7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592"
443449
pyth_feed_id_io = "0x82595d1509b770fa52681e260af4dda9752b87316d7c048535d8ead3fa856eb1"
450+
pyth_feed_id_ip = "0xb620ba83044577029da7e4ded7a2abccf8e6afc2a0d4d26d89ccdd39ec109025"
444451
pyth_feed_id_jto = "0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2"
445452
pyth_feed_id_jup = "0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996"
453+
pyth_feed_id_kaito = "0x7302dee641a08507c297a7b0c8b3efa74a48a3baa6c040acab1e5209692b7e59"
446454
pyth_feed_id_kmno = "0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0"
447455
pyth_feed_id_ldo = "0xc63e2a7f37a04e5e614c07238bedb25dcc38927fba8fe890597a593c0b2fa4ad"
448456
pyth_feed_id_link = "0x8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221"
@@ -455,6 +463,7 @@ pyth_feed_id_moodeng = "0xffff73128917a90950cd0473fd2551d7cd274fd5a6cc45641881bb
455463
pyth_feed_id_morpho = "0x5b2a4c542d4a74dd11784079ef337c0403685e3114ba0d9909b5c7a7e06fdc42"
456464
pyth_feed_id_near = "0xc415de8d2eba7db216527dff4b60e8f3a5311c740dadb233e13e12547e226750"
457465
pyth_feed_id_not = "0x75ec6f04d4bded6afdc1440689be4402dd1e23d2ff2c21e081871eb2739ceb36"
466+
pyth_feed_id_om = "0xef8382df144cd3289a754b07bfb51acbe5bbc47444c36f727169c06387469ac6"
458467
pyth_feed_id_op = "0x385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf"
459468
pyth_feed_id_ordi = "0x193c739db502aadcef37c2589738b1e37bdb257d58cf1ab3c7ebc8e6df4e3ec0"
460469
pyth_feed_id_pendle = "0x9a4df90b25497f66b1afb012467e316e801ca3d839456db028892fe8c70c8016"

omnibus-base-sepolia-andromeda.toml

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name = "synthetix-omnibus"
2-
version = "82"
2+
version = "83"
33
description = "Andromeda dev deployment"
44
preset = "andromeda"
55
deployers = ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"]
@@ -91,8 +91,10 @@ include = [
9191
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-imx.toml",
9292
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-inj.toml",
9393
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-io.toml",
94+
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-ip.toml",
9495
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-jto.toml",
9596
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-jup.toml",
97+
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-kaito.toml",
9698
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-kmno.toml",
9799
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-ldo.toml",
98100
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-link.toml",
@@ -106,6 +108,7 @@ include = [
106108
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-morpho.toml",
107109
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-near.toml",
108110
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-not.toml",
111+
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-om.toml",
109112
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-op.toml",
110113
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-ordi.toml",
111114
"tomls/omnibus-base-sepolia-andromeda/oracles/pyth-pendle.toml",
@@ -211,8 +214,10 @@ include = [
211214
"tomls/omnibus-base-sepolia-andromeda/perps/markets/imx.toml",
212215
"tomls/omnibus-base-sepolia-andromeda/perps/markets/inj.toml",
213216
"tomls/omnibus-base-sepolia-andromeda/perps/markets/io.toml",
217+
"tomls/omnibus-base-sepolia-andromeda/perps/markets/ip.toml",
214218
"tomls/omnibus-base-sepolia-andromeda/perps/markets/jto.toml",
215219
"tomls/omnibus-base-sepolia-andromeda/perps/markets/jup.toml",
220+
"tomls/omnibus-base-sepolia-andromeda/perps/markets/kaito.toml",
216221
"tomls/omnibus-base-sepolia-andromeda/perps/markets/kmno.toml",
217222
"tomls/omnibus-base-sepolia-andromeda/perps/markets/ldo.toml",
218223
"tomls/omnibus-base-sepolia-andromeda/perps/markets/link.toml",
@@ -226,6 +231,7 @@ include = [
226231
"tomls/omnibus-base-sepolia-andromeda/perps/markets/morpho.toml",
227232
"tomls/omnibus-base-sepolia-andromeda/perps/markets/near.toml",
228233
"tomls/omnibus-base-sepolia-andromeda/perps/markets/not.toml",
234+
"tomls/omnibus-base-sepolia-andromeda/perps/markets/om.toml",
229235
"tomls/omnibus-base-sepolia-andromeda/perps/markets/op.toml",
230236
"tomls/omnibus-base-sepolia-andromeda/perps/markets/ordi.toml",
231237
"tomls/omnibus-base-sepolia-andromeda/perps/markets/pendle.toml",
@@ -478,8 +484,10 @@ pyth_feed_id_icp = "0xc9907d786c5821547777780a1e4f89484f3417cb14dd244f2b0a34ea7a
478484
pyth_feed_id_imx = "0x941320a8989414874de5aa2fc340a75d5ed91fdff1613dd55f83844d52ea63a2"
479485
pyth_feed_id_inj = "0x7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592"
480486
pyth_feed_id_io = "0x82595d1509b770fa52681e260af4dda9752b87316d7c048535d8ead3fa856eb1"
487+
pyth_feed_id_ip = "0xb620ba83044577029da7e4ded7a2abccf8e6afc2a0d4d26d89ccdd39ec109025"
481488
pyth_feed_id_jto = "0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2"
482489
pyth_feed_id_jup = "0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996"
490+
pyth_feed_id_kaito = "0x7302dee641a08507c297a7b0c8b3efa74a48a3baa6c040acab1e5209692b7e59"
483491
pyth_feed_id_kmno = "0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0"
484492
pyth_feed_id_ldo = "0xc63e2a7f37a04e5e614c07238bedb25dcc38927fba8fe890597a593c0b2fa4ad"
485493
pyth_feed_id_link = "0x8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221"
@@ -492,6 +500,7 @@ pyth_feed_id_moodeng = "0xffff73128917a90950cd0473fd2551d7cd274fd5a6cc45641881bb
492500
pyth_feed_id_morpho = "0x5b2a4c542d4a74dd11784079ef337c0403685e3114ba0d9909b5c7a7e06fdc42"
493501
pyth_feed_id_near = "0xc415de8d2eba7db216527dff4b60e8f3a5311c740dadb233e13e12547e226750"
494502
pyth_feed_id_not = "0x75ec6f04d4bded6afdc1440689be4402dd1e23d2ff2c21e081871eb2739ceb36"
503+
pyth_feed_id_om = "0xef8382df144cd3289a754b07bfb51acbe5bbc47444c36f727169c06387469ac6"
495504
pyth_feed_id_op = "0x385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf"
496505
pyth_feed_id_ordi = "0x193c739db502aadcef37c2589738b1e37bdb257d58cf1ab3c7ebc8e6df4e3ec0"
497506
pyth_feed_id_pendle = "0x9a4df90b25497f66b1afb012467e316e801ca3d839456db028892fe8c70c8016"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This registers a staleness node that looks to Pyth for a fresh enough price, or otherwise reverts with an ERC-7412 compatible error
2+
# Latest Pyth Price
3+
[invoke.registerPythIpOracleNode]
4+
target = ["system.oracle_manager.Proxy"]
5+
func = "registerNode"
6+
args = [
7+
5, # 5 = pyth aggregator type
8+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pyth_feed_id_ip, false]) %>",
9+
[
10+
],
11+
]
12+
extra.ip_pyth_oracle_id.event = "NodeRegistered"
13+
extra.ip_pyth_oracle_id.arg = 0
14+
# Pyth Off-chain Lookup
15+
[invoke.registerLookupIpOracleNode]
16+
target = ["system.oracle_manager.Proxy"]
17+
func = "registerNode"
18+
args = [
19+
9, # 9 = PythOffchainLookupNode
20+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pyth_feed_id_ip, settings.default_staleness_tolerance]) %>",
21+
[
22+
],
23+
]
24+
extra.ip_lookup_oracle_id.event = "NodeRegistered"
25+
extra.ip_lookup_oracle_id.arg = 0
26+
# Staleness Node
27+
[invoke.registerIpOracleNode]
28+
target = ["system.oracle_manager.Proxy"]
29+
func = "registerNode"
30+
args = [
31+
7, # 7 = staleness circuit breaker
32+
"<%= defaultAbiCoder.encode(['uint256'], [settings.default_staleness_tolerance]) %>",
33+
[
34+
"<%= extras.ip_pyth_oracle_id %>",
35+
"<%= extras.ip_lookup_oracle_id %>",
36+
],
37+
]
38+
extra.ip_oracle_id.event = "NodeRegistered"
39+
extra.ip_oracle_id.arg = 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This registers a staleness node that looks to Pyth for a fresh enough price, or otherwise reverts with an ERC-7412 compatible error
2+
# Latest Pyth Price
3+
[invoke.registerPythKaitoOracleNode]
4+
target = ["system.oracle_manager.Proxy"]
5+
func = "registerNode"
6+
args = [
7+
5, # 5 = pyth aggregator type
8+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pyth_feed_id_kaito, false]) %>",
9+
[
10+
],
11+
]
12+
extra.kaito_pyth_oracle_id.event = "NodeRegistered"
13+
extra.kaito_pyth_oracle_id.arg = 0
14+
# Pyth Off-chain Lookup
15+
[invoke.registerLookupKaitoOracleNode]
16+
target = ["system.oracle_manager.Proxy"]
17+
func = "registerNode"
18+
args = [
19+
9, # 9 = PythOffchainLookupNode
20+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pyth_feed_id_kaito, settings.default_staleness_tolerance]) %>",
21+
[
22+
],
23+
]
24+
extra.kaito_lookup_oracle_id.event = "NodeRegistered"
25+
extra.kaito_lookup_oracle_id.arg = 0
26+
# Staleness Node
27+
[invoke.registerKaitoOracleNode]
28+
target = ["system.oracle_manager.Proxy"]
29+
func = "registerNode"
30+
args = [
31+
7, # 7 = staleness circuit breaker
32+
"<%= defaultAbiCoder.encode(['uint256'], [settings.default_staleness_tolerance]) %>",
33+
[
34+
"<%= extras.kaito_pyth_oracle_id %>",
35+
"<%= extras.kaito_lookup_oracle_id %>",
36+
],
37+
]
38+
extra.kaito_oracle_id.event = "NodeRegistered"
39+
extra.kaito_oracle_id.arg = 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This registers a staleness node that looks to Pyth for a fresh enough price, or otherwise reverts with an ERC-7412 compatible error
2+
# Latest Pyth Price
3+
[invoke.registerPythOmOracleNode]
4+
target = ["system.oracle_manager.Proxy"]
5+
func = "registerNode"
6+
args = [
7+
5, # 5 = pyth aggregator type
8+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pyth_feed_id_om, false]) %>",
9+
[
10+
],
11+
]
12+
extra.om_pyth_oracle_id.event = "NodeRegistered"
13+
extra.om_pyth_oracle_id.arg = 0
14+
# Pyth Off-chain Lookup
15+
[invoke.registerLookupOmOracleNode]
16+
target = ["system.oracle_manager.Proxy"]
17+
func = "registerNode"
18+
args = [
19+
9, # 9 = PythOffchainLookupNode
20+
"<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pyth_feed_id_om, settings.default_staleness_tolerance]) %>",
21+
[
22+
],
23+
]
24+
extra.om_lookup_oracle_id.event = "NodeRegistered"
25+
extra.om_lookup_oracle_id.arg = 0
26+
# Staleness Node
27+
[invoke.registerOmOracleNode]
28+
target = ["system.oracle_manager.Proxy"]
29+
func = "registerNode"
30+
args = [
31+
7, # 7 = staleness circuit breaker
32+
"<%= defaultAbiCoder.encode(['uint256'], [settings.default_staleness_tolerance]) %>",
33+
[
34+
"<%= extras.om_pyth_oracle_id %>",
35+
"<%= extras.om_lookup_oracle_id %>",
36+
],
37+
]
38+
extra.om_oracle_id.event = "NodeRegistered"
39+
extra.om_oracle_id.arg = 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
[var.perps_ip_market_settings]
2+
ip_perps_market_id = "10600"
3+
ip_perps_market_skew_scale = "<%= parseEther(String(3_000_000)) %>"
4+
ip_perps_market_max_funding_velocity = "<%= parseEther('36') %>"
5+
ip_perps_maker_fee_ratio = "<%= parseEther('0.000200') %>"
6+
ip_perps_taker_fee_ratio = "<%= parseEther('0.001000') %>"
7+
ip_perps_max_market_size = "<%= parseEther(String(430_000)) %>"
8+
ip_perps_max_market_value = "<%= parseEther(String(1_500_000)) %>"
9+
ip_perps_initial_margin_ratio = "<%= parseEther('3.271') %>"
10+
ip_perps_maintenance_margin_scalar = "<%= parseEther('0.391') %>"
11+
ip_perps_minimum_initial_margin_ratio = "<%= parseEther('0.2') %>"
12+
ip_perps_flag_reward_ratio_d18 = "<%= parseEther('0.0003') %>"
13+
ip_perps_max_liquidation_limit_accumulation_multiplier = "<%= parseEther('1.5') %>"
14+
ip_perps_max_seconds_in_liquidation_window = "30"
15+
ip_perps_minimum_position_margin = "<%= parseEther('15') %>"
16+
ip_perps_locked_oi_ratio = "<%= parseEther('0.1') %>"
17+
ip_perps_max_liquidation_pd = "<%= parseEther('0.0005') %>"
18+
ip_perps_endorsed_liquidator = "0x11233749514Ab8d00C0A5873DF7428b3db70030f"
19+
20+
[invoke.createIpPerpsMarket]
21+
target = ["perpsFactory.PerpsMarketProxy"]
22+
fromCall.func = "owner"
23+
func = "createMarket"
24+
args = ["<%= settings.ip_perps_market_id %>", "Story", "IP"]
25+
26+
[invoke.setPerpsPriceIp]
27+
target = ["perpsFactory.PerpsMarketProxy"]
28+
fromCall.func = "owner"
29+
func = "updatePriceData"
30+
args = [
31+
"<%= settings.ip_perps_market_id %>",
32+
"<%= extras.ip_oracle_id %>",
33+
"<%= settings.strict_staleness_tolerance %>",
34+
]
35+
36+
[invoke.addPerpsIpSettlementStrategy]
37+
target = ["perpsFactory.PerpsMarketProxy"]
38+
fromCall.func = "owner"
39+
func = "addSettlementStrategy"
40+
args = [
41+
42+
"<%= settings.ip_perps_market_id %>",
43+
44+
{ strategyType = "0", settlementDelay = "0", settlementWindowDuration = "1", priceVerificationContract = "0x0000000000000000000000000000000000000000", feedId = "0x0000000000000000000000000000000000000000000000000000000000000000", settlementReward = "0", disabled = false, commitmentPriceDelay = "0" },
45+
]
46+
extra.ip_pyth_settlement_strategy.event = "SettlementStrategyAdded"
47+
extra.ip_pyth_settlement_strategy.arg = 2
48+
[invoke.setPerpsIpSettlementStrategy]
49+
target = ["perpsFactory.PerpsMarketProxy"]
50+
fromCall.func = "owner"
51+
func = "setSettlementStrategy"
52+
args = [
53+
"<%= settings.ip_perps_market_id %>",
54+
"<%= extras.ip_pyth_settlement_strategy %>",
55+
{ strategyType = "0", settlementDelay = "<%= settings.settlement_delay %>", settlementWindowDuration = "<%= settings.settlement_window_duration %>", priceVerificationContract = "<%= imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address %>", feedId = "<%= settings.pyth_feed_id_ip %>", settlementReward = "<%= settings.settlement_reward %>", disabled = false, commitmentPriceDelay = "<%= settings.commitment_price_delay %>" },
56+
]
57+
58+
[invoke.setPerpsIpFundingParameters]
59+
target = ["perpsFactory.PerpsMarketProxy"]
60+
fromCall.func = "owner"
61+
func = "setFundingParameters"
62+
args = [
63+
"<%= settings.ip_perps_market_id %>",
64+
"<%= settings.ip_perps_market_skew_scale %>",
65+
"<%= settings.ip_perps_market_max_funding_velocity %>",
66+
]
67+
68+
[invoke.setPerpsIpOrderFees]
69+
target = ["perpsFactory.PerpsMarketProxy"]
70+
fromCall.func = "owner"
71+
func = "setOrderFees"
72+
args = [
73+
"<%= settings.ip_perps_market_id %>",
74+
"<%= settings.ip_perps_maker_fee_ratio %>",
75+
"<%= settings.ip_perps_taker_fee_ratio %>",
76+
]
77+
78+
[invoke.setPerpsIpMaxMarketSize]
79+
target = ["perpsFactory.PerpsMarketProxy"]
80+
fromCall.func = "owner"
81+
func = "setMaxMarketSize"
82+
args = ["<%= settings.ip_perps_market_id %>", "<%= settings.ip_perps_max_market_size %>"]
83+
84+
[invoke.setPerpsIpMaxMarketValue]
85+
target = ["perpsFactory.PerpsMarketProxy"]
86+
fromCall.func = "owner"
87+
func = "setMaxMarketValue"
88+
args = ["<%= settings.ip_perps_market_id %>", "<%= settings.ip_perps_max_market_value %>"]
89+
90+
[invoke.setPerpsIpMaxLiquidationParameters]
91+
target = ["perpsFactory.PerpsMarketProxy"]
92+
fromCall.func = "owner"
93+
func = "setMaxLiquidationParameters"
94+
args = [
95+
"<%= settings.ip_perps_market_id %>",
96+
"<%= settings.ip_perps_max_liquidation_limit_accumulation_multiplier %>",
97+
"<%= settings.ip_perps_max_seconds_in_liquidation_window %>",
98+
"<%= settings.ip_perps_max_liquidation_pd %>",
99+
"<%= settings.ip_perps_endorsed_liquidator %>",
100+
]
101+
102+
[invoke.setPerpsIpLiquidationParameters]
103+
target = ["perpsFactory.PerpsMarketProxy"]
104+
fromCall.func = "owner"
105+
func = "setLiquidationParameters"
106+
args = [
107+
"<%= settings.ip_perps_market_id %>",
108+
"<%= settings.ip_perps_initial_margin_ratio %>",
109+
"<%= settings.ip_perps_minimum_initial_margin_ratio %>",
110+
"<%= settings.ip_perps_maintenance_margin_scalar %>",
111+
"<%= settings.ip_perps_flag_reward_ratio_d18 %>",
112+
"<%= settings.ip_perps_minimum_position_margin %>",
113+
]
114+
115+
[invoke.setPerpsIpLockedOiRatio]
116+
target = ["perpsFactory.PerpsMarketProxy"]
117+
fromCall.func = "owner"
118+
func = "setLockedOiRatio"
119+
args = ["<%= settings.ip_perps_market_id %>", "<%= settings.ip_perps_locked_oi_ratio %>"]

0 commit comments

Comments
 (0)