Skip to content

Commit e71806f

Browse files
authored
Merge pull request #264 from mars-protocol/feat/update-deployment-config
[Neutron] Update deployment config
2 parents f15d673 + 965f1cf commit e71806f

18 files changed

+1343
-290
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ version = "1.2.0"
2020
authors = [
2121
"Gabe R. <[email protected]>",
2222
"Larry Engineer <[email protected]>",
23-
"Piotr Babel <[email protected]>",
23+
"Piotr B. <[email protected]>",
2424
"Spike Spiegel <[email protected]>",
2525
"Brianna M. <[email protected]>",
2626
"Ahmad Kaouk",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"address-provider": "neutron17yehp4x7n79zq9dlw4g7xmnrvwdjjj2yecq26844sg8yu74knlxqfx5vqv",
3+
"red-bank": "neutron1n97wnm7q6d2hrcna3rqlnyqw2we6k0l8uqvmyqq6gsml92epdu7quugyph",
4+
"incentives": "neutron1aszpdh35zsaz0yj80mz7f5dtl9zq5jfl8hgm094y0j0vsychfekqxhzd39",
5+
"oracle": "neutron1dwp6m7pdrz6rnhdyrx5ha0acsduydqcpzkylvfgspsz60pj2agxqaqrr7g",
6+
"rewards-collector": "neutron1h4l6rvylzcuxwdw3gzkkdzfjdxf4mv2ypfdgvnvag0dtz6x07gps6fl2vm",
7+
"swapper": "neutron1udr9fc3kd743dezrj38v2ac74pxxr6qsx4xt4nfpcfczgw52rvyqyjp5au"
8+
}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
"address-provider": "neutron15y9umftrhft509l2lkegqseafddrhvvfze3u5zghtf2l6zgc0dwsxqc89e",
3-
"red-bank": "neutron15yd62stm3y3rrea6tw8xj3232navey8ugzyr29e8jc0wzgkuu2mqlnhfkt",
4-
"incentives": "neutron1dj6jfctqmtzu3497yp2s0px5ucaakere8mahwgleqftgmkn6eers2rtdyp",
5-
"oracle": "neutron13nyf8s03z30ha4ry9utv7y0pnwr3txnvdan6m0p5t549skzqwmxqx9h0xa",
6-
"rewards-collector": "neutron16uvtpuh7qrqeg05kv8sgsjew3xg44sfj77yvse24l35nlu3gqswq303m40",
7-
"swapper": "neutron1dax7tl6ydtpa2gym6xyaqdlrvqkkwh96q8e557fd03n945c0ux8q5k3r4j"
2+
"address-provider": "neutron187fjlesys2c0z7xzhu43we4rx7tc4twnr5m6r2u7u5hpm03wvjqs0gk2lp",
3+
"red-bank": "neutron15dn9w9vcdkpp2kfjuz4suqh2w8ajyqsgujlykm9x58hsjss5ff7qpmhlln",
4+
"incentives": "neutron187hw8pqfhmxt4tk9star7tkjhu438k566jtgjskz4889pndp2vysh73ezh",
5+
"oracle": "neutron1g4samkydfdyjec424ccucvjcuuls0ql8mfp2glf739mg0uqr74yqhdx9kn",
6+
"rewards-collector": "neutron1re4v85k6kr8r7f3j4s4vrk3dvlyefc3xeg7jetv2jlpskahs5xrs8d6vw5",
7+
"swapper": "neutron16xdh5w4dynfjrvnfuhv9h2znks94fyt4gp448jhtmjs3xd6smjvqumh9x2"
88
}

scripts/deploy/base/deployer.ts

Lines changed: 90 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export class Deployer {
137137
async instantiateOracle(init_params?: WasmOracleCustomInitParams) {
138138
const msg: OracleInstantiateMsg = {
139139
owner: this.deployerAddress,
140-
base_denom: this.config.baseAssetDenom,
140+
base_denom: this.config.oracleBaseDenom,
141141
custom_init: init_params,
142142
}
143143
await this.instantiate('oracle', this.storage.codeIds.oracle!, msg)
@@ -151,15 +151,16 @@ export class Deployer {
151151
safety_fund_denom: this.config.safetyFundDenom,
152152
fee_collector_denom: this.config.feeCollectorDenom,
153153
channel_id: this.config.channelId,
154-
timeout_seconds: this.config.rewardCollectorTimeoutSeconds,
154+
timeout_seconds: this.config.rewardsCollectorTimeoutSeconds,
155155
slippage_tolerance: this.config.slippage_tolerance,
156+
neutron_ibc_config: this.config.rewardsCollectorNeutronIbcConfig,
156157
}
157158
await this.instantiate('rewards-collector', this.storage.codeIds['rewards-collector']!, msg)
158159
}
159160

160161
async instantiateSwapper() {
161162
const msg: SwapperInstantiateMsg = {
162-
owner: this.storage.owner!,
163+
owner: this.deployerAddress,
163164
}
164165

165166
await this.instantiate('swapper', this.storage.codeIds.swapper!, msg)
@@ -302,6 +303,8 @@ export class Deployer {
302303
printYellow(`Twap snapshots recorded for denoms: ${denoms.join(',')}.`)
303304
}
304305
async setOracle(oracleConfig: OracleConfig) {
306+
printBlue(`Setting oracle price source: ${JSON.stringify(oracleConfig)}`)
307+
305308
const msg = {
306309
set_price_source: oracleConfig,
307310
}
@@ -317,7 +320,7 @@ export class Deployer {
317320
})) as { price: number; denom: string }
318321

319322
printGreen(
320-
`${this.config.chainId} :: ${oracleConfig.denom} oracle price : ${JSON.stringify(
323+
`${this.config.chainId} :: ${oracleConfig.denom} oracle price: ${JSON.stringify(
321324
oracleResult,
322325
)}`,
323326
)
@@ -421,62 +424,74 @@ export class Deployer {
421424
const coins = [
422425
{
423426
denom: this.config.atomDenom,
424-
amount: '2000000',
427+
amount: '20000',
425428
},
426429
]
427-
await this.client.sendTokens(
428-
this.deployerAddress,
429-
this.storage.addresses['rewards-collector']!,
430-
coins,
431-
'auto',
432-
)
433-
434-
// Check contract balance before swap
435-
const atomBalanceBefore = await this.client.getBalance(
436-
this.storage.addresses['rewards-collector']!,
437-
this.config.atomDenom,
438-
)
439-
const baseAssetBalanceBefore = await this.client.getBalance(
440-
this.storage.addresses['rewards-collector']!,
441-
this.config.baseAssetDenom,
442-
)
443-
printYellow(
444-
`Rewards Collector balance:
445-
${atomBalanceBefore.amount} ${atomBalanceBefore.denom}
446-
${baseAssetBalanceBefore.amount} ${baseAssetBalanceBefore.denom}`,
447-
)
448430

449-
// Execute swap
450-
const msg = {
451-
swap_asset: {
452-
denom: this.config.atomDenom,
453-
},
454-
}
455-
await this.client.execute(
431+
const deployerAtomBalance = await this.client.getBalance(
456432
this.deployerAddress,
457-
this.storage.addresses['rewards-collector']!,
458-
msg,
459-
'auto',
460-
)
461-
// Check contract balance after swap
462-
const atomBalanceAfter = await this.client.getBalance(
463-
this.storage.addresses['rewards-collector']!,
464433
this.config.atomDenom,
465434
)
466-
const baseAssetBalanceAfter = await this.client.getBalance(
467-
this.storage.addresses['rewards-collector']!,
468-
this.config.baseAssetDenom,
469-
)
470-
printYellow(
471-
`Swap executed. Rewards Collector balance:
472-
${atomBalanceAfter.amount} ${atomBalanceAfter.denom},
473-
${baseAssetBalanceAfter.amount} ${baseAssetBalanceAfter.denom}`,
474-
)
475435

476-
// swapped all atom balance
477-
assert.equal(Number(atomBalanceAfter.amount), 0)
478-
// base asset balance should be greater after swap
479-
assert(Number(baseAssetBalanceAfter.amount) > Number(baseAssetBalanceBefore.amount))
436+
if (Number(deployerAtomBalance.amount) < Number(coins[0].amount)) {
437+
printRed(
438+
`not enough ATOM tokens to complete rewards-collector swap action, ${this.deployerAddress} has ${deployerAtomBalance.amount} ATOM but needs ${coins[0].amount}.`,
439+
)
440+
} else {
441+
await this.client.sendTokens(
442+
this.deployerAddress,
443+
this.storage.addresses['rewards-collector']!,
444+
coins,
445+
'auto',
446+
)
447+
448+
// Check contract balance before swap
449+
const atomBalanceBefore = await this.client.getBalance(
450+
this.storage.addresses['rewards-collector']!,
451+
this.config.atomDenom,
452+
)
453+
const baseAssetBalanceBefore = await this.client.getBalance(
454+
this.storage.addresses['rewards-collector']!,
455+
this.config.baseAssetDenom,
456+
)
457+
printYellow(
458+
`Rewards Collector balance:
459+
${atomBalanceBefore.amount} ${atomBalanceBefore.denom}
460+
${baseAssetBalanceBefore.amount} ${baseAssetBalanceBefore.denom}`,
461+
)
462+
463+
// Execute swap
464+
const msg = {
465+
swap_asset: {
466+
denom: this.config.atomDenom,
467+
},
468+
}
469+
await this.client.execute(
470+
this.deployerAddress,
471+
this.storage.addresses['rewards-collector']!,
472+
msg,
473+
'auto',
474+
)
475+
// Check contract balance after swap
476+
const atomBalanceAfter = await this.client.getBalance(
477+
this.storage.addresses['rewards-collector']!,
478+
this.config.atomDenom,
479+
)
480+
const baseAssetBalanceAfter = await this.client.getBalance(
481+
this.storage.addresses['rewards-collector']!,
482+
this.config.baseAssetDenom,
483+
)
484+
printYellow(
485+
`Swap executed. Rewards Collector balance:
486+
${atomBalanceAfter.amount} ${atomBalanceAfter.denom},
487+
${baseAssetBalanceAfter.amount} ${baseAssetBalanceAfter.denom}`,
488+
)
489+
490+
// swapped all atom balance
491+
assert.equal(Number(atomBalanceAfter.amount), 0)
492+
// base asset balance should be greater after swap
493+
assert(Number(baseAssetBalanceAfter.amount) > Number(baseAssetBalanceBefore.amount))
494+
}
480495
}
481496

482497
async updateIncentivesContractOwner() {
@@ -494,7 +509,7 @@ export class Deployer {
494509
{
495510
config: {},
496511
},
497-
)) as { proposed_new_owner: string; prefix: string }
512+
)) as { proposed_new_owner: string }
498513

499514
printRed(`${incentivesConfig.proposed_new_owner}`)
500515
assert.equal(incentivesConfig.proposed_new_owner, this.config.multisigAddr)
@@ -520,7 +535,7 @@ export class Deployer {
520535
{
521536
config: {},
522537
},
523-
)) as { proposed_new_owner: string; prefix: string }
538+
)) as { proposed_new_owner: string }
524539

525540
assert.equal(redbankConfig.proposed_new_owner, this.config.multisigAddr)
526541
}
@@ -537,7 +552,7 @@ export class Deployer {
537552
printYellow('Owner updated to Mutlisig for Oracle')
538553
const oracleConfig = (await this.client.queryContractSmart(this.storage.addresses.oracle!, {
539554
config: {},
540-
})) as { proposed_new_owner: string; prefix: string }
555+
})) as { proposed_new_owner: string }
541556

542557
assert.equal(oracleConfig.proposed_new_owner, this.config.multisigAddr)
543558
}
@@ -562,11 +577,28 @@ export class Deployer {
562577
{
563578
config: {},
564579
},
565-
)) as { proposed_new_owner: string; prefix: string }
580+
)) as { proposed_new_owner: string }
566581

567582
assert.equal(rewardsConfig.proposed_new_owner, this.config.multisigAddr)
568583
}
569584

585+
async updateSwapperContractOwner() {
586+
const msg = {
587+
update_owner: {
588+
propose_new_owner: {
589+
proposed: this.storage.owner,
590+
},
591+
},
592+
}
593+
await this.client.execute(this.deployerAddress, this.storage.addresses.swapper!, msg, 'auto')
594+
printYellow('Owner updated to Mutlisig for Swapper')
595+
const swapperConfig = (await this.client.queryContractSmart(this.storage.addresses.swapper!, {
596+
owner: {},
597+
})) as { proposed: string }
598+
599+
assert.equal(swapperConfig.proposed, this.config.multisigAddr)
600+
}
601+
570602
async updateAddressProviderContractOwner() {
571603
const msg = {
572604
update_owner: {
@@ -587,7 +619,7 @@ export class Deployer {
587619
{
588620
config: {},
589621
},
590-
)) as { proposed_new_owner: string; prefix: string }
622+
)) as { proposed_new_owner: string }
591623

592624
assert.equal(addressProviderConfig.proposed_new_owner, this.config.multisigAddr)
593625
}

scripts/deploy/base/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ export const taskRunner = async (config: DeploymentConfig) => {
1414
await deployer.upload('address-provider', 'mars_address_provider.wasm')
1515
await deployer.upload('incentives', 'mars_incentives.wasm')
1616
await deployer.upload('oracle', `mars_oracle_${config.oracleName}.wasm`)
17-
await deployer.upload('rewards-collector', `mars_rewards_collector.wasm`)
17+
await deployer.upload(
18+
'rewards-collector',
19+
`mars_rewards_collector_${config.rewardsCollectorName}.wasm`,
20+
)
1821
await deployer.upload('swapper', `mars_swapper_${config.swapperDexName}.wasm`)
1922

2023
// Instantiate contracts
@@ -37,7 +40,7 @@ export const taskRunner = async (config: DeploymentConfig) => {
3740
await deployer.setOracle(oracleConfig)
3841
}
3942

40-
//run tests
43+
// run tests
4144
if (config.runTests) {
4245
await deployer.executeDeposit()
4346
await deployer.executeBorrow()
@@ -51,6 +54,7 @@ export const taskRunner = async (config: DeploymentConfig) => {
5154
await deployer.updateRedBankContractOwner()
5255
await deployer.updateOracleContractOwner()
5356
await deployer.updateRewardsContractOwner()
57+
await deployer.updateSwapperContractOwner()
5458
await deployer.updateAddressProviderContractOwner()
5559
printGreen('It is confirmed that all contracts have transferred ownership to the Multisig')
5660
} else {

0 commit comments

Comments
 (0)