Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
f97157a
Integration tests WIP
victoryaskevich Feb 5, 2022
69911de
Merge branch 'master' into withdraw_from_anchor_integration_tests
victoryaskevich Feb 5, 2022
4496bf5
Back to options address
victoryaskevich Feb 5, 2022
0bead7f
Fix anchor_setup
victoryaskevich Feb 5, 2022
c9de65b
update wasm files
pronvis Feb 5, 2022
1eb3483
Print assert numbers
victoryaskevich Feb 5, 2022
9975fe3
Fix print assert numbers
victoryaskevich Feb 5, 2022
c999f28
add debug line before run test
pronvis Feb 5, 2022
0e01185
Withdraw all test WIP
victoryaskevich Feb 9, 2022
61cf569
Calculate anc price from pools
victoryaskevich Feb 10, 2022
e89ba9b
Test deposit and withdraw half
victoryaskevich Feb 10, 2022
605fc61
WIP
victoryaskevich Feb 12, 2022
334ae1a
reward
victoryaskevich Feb 14, 2022
1f4d9e9
executor upgrade
victoryaskevich Feb 14, 2022
b37784e
one more commit
victoryaskevich Feb 15, 2022
7558c3a
WORKING!
victoryaskevich Feb 21, 2022
30af03b
`withdraw_all_on_negative_profit` test
victoryaskevich Feb 21, 2022
d4b1945
fix wallet
victoryaskevich Feb 21, 2022
9ee00f0
Remove withdraw all test
victoryaskevich Feb 21, 2022
0af2597
remove test
victoryaskevich Feb 21, 2022
45d15dc
remove test
victoryaskevich Feb 21, 2022
a870381
remove test
victoryaskevich Feb 21, 2022
40ca8d1
update epoch state
victoryaskevich Feb 21, 2022
ba79304
Update basset_max_ltv
victoryaskevich Feb 22, 2022
7a9095d
test repay
victoryaskevich Feb 22, 2022
3f5fccb
recursive_repay_ok test
victoryaskevich Feb 23, 2022
bcacb1c
test is passing
victoryaskevich Feb 23, 2022
6c268ea
Refactoring
victoryaskevich Feb 23, 2022
9616447
build
victoryaskevich Feb 23, 2022
6989c9b
Comment right usage
victoryaskevich Feb 25, 2022
2b09120
Update tests
victoryaskevich Mar 10, 2022
2c6af11
38. 39. Refactor `provide_liquidity_to_nasset_psi_swap` function
victoryaskevich Mar 11, 2022
c5028a0
41. Refactor `withdraw_all_on_negative_profit` test
victoryaskevich Mar 11, 2022
3aa5266
48. `number_of_blocks_per_year` constant
victoryaskevich Mar 11, 2022
844a4b7
35. Remove logging
victoryaskevich Mar 20, 2022
03ffef1
42. Refactoring
victoryaskevich Mar 20, 2022
290da95
47. Remove unused code
victoryaskevich Mar 20, 2022
5e69fc8
49. Remove unused constant
victoryaskevich Mar 21, 2022
acf6db4
46. Refactoring
victoryaskevich Mar 21, 2022
d58c2f4
37. Add new tests to general executor
victoryaskevich Mar 21, 2022
92fb857
40. 45. Adjust sleep durations
victoryaskevich Mar 21, 2022
e0161e0
32. 33. send tx refactoring
victoryaskevich Mar 26, 2022
5448ad6
Fill addresses in config
victoryaskevich Apr 4, 2022
41b4b16
Rename test
victoryaskevich Apr 4, 2022
8a96a82
Adjust constant
victoryaskevich Apr 4, 2022
8771f0c
34. fix gas adjustment for testnet
victoryaskevich Apr 16, 2022
65c7024
20$ fee is more than enough
pronvis Apr 16, 2022
849cb28
set crazy logic only for localterra
pronvis Apr 16, 2022
b2b731e
set crazy logic only for localterra
pronvis Apr 16, 2022
b50a1c0
speed up local terra
steven4354 Apr 20, 2022
0ce541f
Fix `withdraw_all_on_negative_profit_and_deposit_to_anchor_back_when_…
victoryaskevich Apr 22, 2022
65bf06c
Merge branch 'withdraw_from_anchor_integration_tests' of https://gith…
victoryaskevich Apr 22, 2022
1400f9a
artifacts
victoryaskevich Apr 23, 2022
a3c7a17
readme
victoryaskevich Apr 23, 2022
f818dc5
tune asserts inaccuracy
victoryaskevich Apr 23, 2022
d65b4de
add holding window
steven4354 Apr 24, 2022
f3ff146
string
steven4354 Apr 24, 2022
fa4a61c
Build
victoryaskevich Apr 24, 2022
16619b9
readme
victoryaskevich Apr 24, 2022
4726926
Remove `holding_window` in bvault config
victoryaskevich Apr 24, 2022
2957f22
Set holding window to 2%
victoryaskevich Apr 24, 2022
c8728ef
Remove unused imports
victoryaskevich Apr 24, 2022
8d3369f
Merge pull request #14 from Nexus-Protocol/add_holding_window
victoryaskevich Apr 24, 2022
d0e560f
add for loop to fix
steven4354 Apr 26, 2022
3e52bb7
clean up
steven4354 Apr 26, 2022
7f243f5
Update definition.ts
steven4354 Apr 26, 2022
99c3413
Merge pull request #15 from Nexus-Protocol/withdraw_fix
pronvis Apr 27, 2022
c099e21
fix wrong gasAdj for localterra
pronvis Apr 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,39 @@ Now change paths to artifacts [here](src/basset_vault/definition.ts)
3. `docker pull terramoney/localterra-core:bombay`
4. `docker-compose up`

To speed up local terra,

Comment out this section
```
# # How long we wait for a proposal block before prevoting nil
# timeout_propose = "3s"
# # How much timeout_propose increases with each round
# timeout_propose_delta = "500ms"
# # How long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil)
# timeout_prevote = "1s"
# # How much the timeout_prevote increases with each round
# timeout_prevote_delta = "500ms"
# # How long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil)
# timeout_precommit = "1s"
# # How much the timeout_precommit increases with each round
# timeout_precommit_delta = "500ms"
# # How long we wait after committing a block, before starting on the new
# # height (this gives us a chance to receive some more precommits, even
# # though we already have +2/3).
# timeout_commit = "5s"
```

To this section
```
timeout_precommit = "200ms"
timeout_propose = "200ms"
timeout_propose_delta = "200ms"
timeout_prevote = "200ms"
timeout_prevote_delta = "200ms"
timeout_precommit_delta = "200ms"
timeout_commit = "200ms"
```

# Usage

[start localterra](#start-localterra) before run scripts.
Expand Down Expand Up @@ -88,3 +121,29 @@ Now change paths to artifacts [here](src/basset_vault/definition.ts)

- `npm run psi-distr-integration-tests` - run psi distribution integration tests
- `npm run bvault-integration-tests` - run basset vault integration tests

### Basset vault integration tests

`npm run bvault-integration-tests -- borrow_more_on_bluna_price_increasing` may fail because of anchor inaccuracy on low localterra timeouts, so that for this test use localterra configuration with default timeouts:

```toml
timeout_propose = "3s"
timeout_propose_delta = "500ms"
timeout_prevote = "1s"
timeout_prevote_delta = "500ms"
timeout_precommit = "1s"
timeout_precommit_delta = "500ms"
timeout_commit = "5s"
```

`npm run bvault-integration-tests -- bvault_deposit_and_withdraw_half` needs to be runned with low localterra timeouts:

```toml
timeout_precommit = "200ms"
timeout_propose = "200ms"
timeout_propose_delta = "200ms"
timeout_prevote = "200ms"
timeout_prevote_delta = "200ms"
timeout_precommit_delta = "200ms"
timeout_commit = "200ms"
```
35 changes: 27 additions & 8 deletions src/basset_vault/definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import {
GovernanceConfig,
init_astroport_factory,
PSiTokensOwner,
TokenConfig
TokenConfig,
is_prod,
} from './../config';
import {
create_contract,
Expand All @@ -25,6 +26,7 @@ import {AnchorMarketInfo} from "../integration_tests/deploy_anchor/config";
const artifacts_path = "wasm_artifacts";
const path_to_cosmwasm_artifacts = `${artifacts_path}/cosmwasm_plus`;
const path_to_basset_vault_artifacts = `${artifacts_path}/nexus/basset_vaults`;
const path_to_basset_vault_integration_tests_artifacts = `${artifacts_path}/nexus/basset_vaults_integration_tests`;
const path_to_services_contracts_artifacts = `${artifacts_path}/nexus/services`;
const path_to_terraswap_contracts_artifacts = `${artifacts_path}/terraswap`;
const path_to_astroport_contracts_artifacts = `${artifacts_path}/astroport`;
Expand All @@ -47,6 +49,9 @@ const nasset_token_config_holder_wasm = `${path_to_basset_vault_artifacts}/basse
const nasset_token_rewards_wasm = `${path_to_basset_vault_artifacts}/basset_vault_nasset_rewards.wasm`;
const psi_distributor_wasm = `${path_to_basset_vault_artifacts}/basset_vault_psi_distributor.wasm`;
// ===================================================
const basset_vault_integration_tests_wasm = `${path_to_basset_vault_integration_tests_artifacts}/basset_vault_basset_vault.wasm`;
const basset_vault_strategy_integration_tests_wasm = `${path_to_basset_vault_integration_tests_artifacts}/basset_vault_basset_vault_strategy.wasm`;
// ===================================================

async function init_psi_token(lcd_client: LCDClient, sender: Wallet, code_id: number, init_msg: TokenConfig): Promise<string> {
let contract_addr = await instantiate_contract(lcd_client, sender, sender.key.accAddress, code_id, init_msg);
Expand Down Expand Up @@ -128,9 +133,9 @@ export async function full_init(lcd_client: LCDClient, sender: Wallet, psi_token
console.log(`psi_distributor uploaded\n\tcode_id: ${psi_distributor_code_id}`);
console.log(`=======================`);

let basset_vault_strategy_code_id = await store_contract(lcd_client, sender, basset_vault_strategy_contract_wasm);
let basset_vault_strategy_code_id = await store_contract(lcd_client, sender, is_prod(lcd_client) ? basset_vault_strategy_contract_wasm : basset_vault_strategy_integration_tests_wasm);
console.log(`basset_vault_strategy uploaded\n\tcode_id: ${basset_vault_strategy_code_id}`);
let basset_vault_code_id = await store_contract(lcd_client, sender, basset_vault_wasm);
let basset_vault_code_id = await store_contract(lcd_client, sender, is_prod(lcd_client) ? basset_vault_wasm : basset_vault_integration_tests_wasm);
console.log(`basset_vault uploaded\n\tcode_id: ${basset_vault_code_id}`);
console.log(`=======================`);
// bLUNA
Expand All @@ -139,11 +144,16 @@ export async function full_init(lcd_client: LCDClient, sender: Wallet, psi_token
// instantiate basset_vault_strategy for bLuna
let basset_vault_strategy_config_for_bluna = BassetVaultStrategyConfigForbLuna(lcd_client, governance_contract_addr);

if (anchor_market_info != null && anchor_market_info !== undefined) {
basset_vault_strategy_config_for_bluna.basset_token_addr = anchor_market_info.bluna_token_addr;
if (anchor_market_info !== null && anchor_market_info !== undefined) {
basset_vault_strategy_config_for_bluna.oracle_contract_addr = anchor_market_info.oracle_addr;
basset_vault_strategy_config_for_bluna.basset_token_addr = anchor_market_info.bluna_token_addr;
basset_vault_strategy_config_for_bluna.anchor_market_addr = anchor_market_info.contract_addr;
basset_vault_strategy_config_for_bluna.anchor_interest_model_addr = anchor_market_info.interest_model_addr;
basset_vault_strategy_config_for_bluna.anchor_overseer_addr = anchor_market_info.overseer_addr;
basset_vault_strategy_config_for_bluna.anchor_token_addr = anchor_market_info.anchor_token_addr;
basset_vault_strategy_config_for_bluna.anc_ust_swap_addr = anchor_market_info.anc_stable_swap_addr;
}

let basset_vault_strategy_contract_addr_for_bluna = await instantiate_contract(lcd_client, sender, sender.key.accAddress, basset_vault_strategy_code_id, basset_vault_strategy_config_for_bluna);
console.log(`basset_vault_strategy_for_bluna instantiated\n\taddress: ${basset_vault_strategy_contract_addr_for_bluna}`);
console.log(`=======================`);
Expand All @@ -159,6 +169,7 @@ export async function full_init(lcd_client: LCDClient, sender: Wallet, psi_token
basset_vault_config_for_bluna.anc_stable_swap_addr = anchor_market_info.anc_stable_swap_addr;
basset_vault_config_for_bluna.basset_addr = anchor_market_info.bluna_token_addr;
basset_vault_config_for_bluna.a_custody_basset_addr = anchor_market_info.bluna_custody_addr;
basset_vault_config_for_bluna.a_basset_reward_addr = anchor_market_info.bluna_reward_addr;
}

basset_vault_info_for_bluna = await init_basset_vault(lcd_client, sender, basset_vault_code_id, basset_vault_config_for_bluna);
Expand All @@ -170,10 +181,17 @@ export async function full_init(lcd_client: LCDClient, sender: Wallet, psi_token
{
// instantiate basset_vault_strategy for bETH
let basset_vault_strategy_config_for_beth = BassetVaultStrategyConfigForbEth(lcd_client, governance_contract_addr);
if (anchor_market_info != null && anchor_market_info !== undefined) {
basset_vault_strategy_config_for_beth.basset_token_addr = anchor_market_info.beth_token_addr;

if (anchor_market_info !== null && anchor_market_info !== undefined) {
basset_vault_strategy_config_for_beth.oracle_contract_addr = anchor_market_info.oracle_addr;
basset_vault_strategy_config_for_beth.basset_token_addr = anchor_market_info.beth_token_addr;
basset_vault_strategy_config_for_beth.anchor_market_addr = anchor_market_info.contract_addr;
basset_vault_strategy_config_for_beth.anchor_interest_model_addr = anchor_market_info.interest_model_addr;
basset_vault_strategy_config_for_beth.anchor_overseer_addr = anchor_market_info.overseer_addr;
basset_vault_strategy_config_for_beth.anchor_token_addr = anchor_market_info.anchor_token_addr;
basset_vault_strategy_config_for_beth.anc_ust_swap_addr = anchor_market_info.anc_stable_swap_addr;
}

let basset_vault_strategy_contract_addr_for_beth = await instantiate_contract(lcd_client, sender, sender.key.accAddress, basset_vault_strategy_code_id, basset_vault_strategy_config_for_beth);
console.log(`basset_vault_strategy_for_beth instantiated\n\taddress: ${basset_vault_strategy_contract_addr_for_beth}`);
console.log(`=======================`);
Expand All @@ -189,6 +207,7 @@ export async function full_init(lcd_client: LCDClient, sender: Wallet, psi_token
basset_vault_config_for_beth.anc_stable_swap_addr = anchor_market_info.anc_stable_swap_addr;
basset_vault_config_for_beth.basset_addr = anchor_market_info.beth_token_addr;
basset_vault_config_for_beth.a_custody_basset_addr = anchor_market_info.beth_custody_addr;
basset_vault_config_for_beth.a_basset_reward_addr = anchor_market_info.beth_reward_addr;
}

basset_vault_info_for_beth = await init_basset_vault(lcd_client, sender, basset_vault_code_id, basset_vault_config_for_beth);
Expand Down
72 changes: 58 additions & 14 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,14 @@ export function is_prod(lcd_client: LCDClient): boolean {
return lcd_client.config.chainID.startsWith("columbus");
}

export function is_localterra(lcd_client: LCDClient): boolean {
return lcd_client.config.chainID === "localterra";
}

// ================================================

export async function init_terraswap_factory(lcd_client: LCDClient, sender: Wallet, cw20_code_id: number): Promise<string> {
if (lcd_client.config.chainID === "localterra") {
if (is_localterra(lcd_client)) {
console.log(`in localterra, so storing our own terraswap contracts`);
let terraswap_factory_code_id = await store_contract(lcd_client, sender, terraswap_factory_wasm);
console.log(`terraswap_factory uploaded\n\tcode_id: ${terraswap_factory_code_id}`);
Expand All @@ -53,7 +57,7 @@ export async function init_terraswap_factory(lcd_client: LCDClient, sender: Wall
}

export async function init_astroport_factory(lcd_client: LCDClient, sender: Wallet, cw20_code_id: number): Promise<string> {
if (lcd_client.config.chainID === "localterra") {
if (is_localterra(lcd_client)) {
console.log(`in localterra, so storing our own astroport contracts`);
let astroport_factory_code_id = await store_contract(lcd_client, sender, astroport_factory_wasm);
console.log(`astroport_factory uploaded\n\tcode_id: ${astroport_factory_code_id}`);
Expand Down Expand Up @@ -305,6 +309,13 @@ export interface BassetVaultStrategyConfig {
basset_max_ltv: string,
buffer_part: string,
price_timeframe: number,
anchor_market_addr: string,
anchor_interest_model_addr: string,
anchor_overseer_addr: string,
anchor_token_addr: string,
anc_ust_swap_addr: string,
staking_apr: string,
holding_window: string,
}

export function prod_BassetVaultStrategyConfigForbLuna(governance_contract_addr: string): BassetVaultStrategyConfig {
Expand All @@ -319,6 +330,13 @@ export function prod_BassetVaultStrategyConfigForbLuna(governance_contract_addr:
basset_max_ltv: "0.6",
buffer_part: "0.018",
price_timeframe: 25,
anchor_market_addr: "terra1sepfj7s0aeg5967uxnfk4thzlerrsktkpelm5s",
anchor_interest_model_addr: "terra1kq8zzq5hufas9t0kjsjc62t2kucfnx8txf547n",
anchor_overseer_addr: "terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8",
anchor_token_addr: "terra14z56l0fp2lsf86zy3hty2z47ezkhnthtr9yq76",
anc_ust_swap_addr: "terra1qr2k6yjjd5p2kaewqvg93ag74k6gyjr7re37fs",
staking_apr: "0.0",
holding_window: "0.02",
}
}

Expand All @@ -334,6 +352,13 @@ export function testnet_BassetVaultStrategyConfigForbLuna(governance_contract_ad
basset_max_ltv: "0.6",
buffer_part: "0.018",
price_timeframe: 25,
anchor_market_addr: "terra15dwd5mj8v59wpj0wvt233mf5efdff808c5tkal",
anchor_interest_model_addr: "terra1m25aqupscdw2kw4tnq5ql6hexgr34mr76azh5x",
anchor_overseer_addr: "terra1qljxd0y3j3gk97025qvl3lgq8ygup4gsksvaxv",
anchor_token_addr: "terra1747mad58h0w4y589y3sk84r5efqdev9q4r02pc",
anc_ust_swap_addr: "terra1wfvczps2865j0awnurk9m04u7wdmd6qv3fdnvz",
staking_apr: "0.0",
holding_window: "0.02",
}
}

Expand All @@ -357,6 +382,13 @@ export function prod_BassetVaultStrategyConfigForbEth(governance_contract_addr:
basset_max_ltv: "0.6",
buffer_part: "0.018",
price_timeframe: 25,
anchor_market_addr: "terra1sepfj7s0aeg5967uxnfk4thzlerrsktkpelm5s",
anchor_interest_model_addr: "terra1kq8zzq5hufas9t0kjsjc62t2kucfnx8txf547n",
anchor_overseer_addr: "terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8",
anchor_token_addr: "terra14z56l0fp2lsf86zy3hty2z47ezkhnthtr9yq76",
anc_ust_swap_addr: "terra1qr2k6yjjd5p2kaewqvg93ag74k6gyjr7re37fs",
staking_apr: "0.0",
holding_window: "0.02",
}
}

Expand All @@ -372,6 +404,13 @@ export function testnet_BassetVaultStrategyConfigForbEth(governance_contract_add
basset_max_ltv: "0.6",
buffer_part: "0.018",
price_timeframe: 25,
anchor_market_addr: "terra15dwd5mj8v59wpj0wvt233mf5efdff808c5tkal",
anchor_interest_model_addr: "terra1m25aqupscdw2kw4tnq5ql6hexgr34mr76azh5x",
anchor_overseer_addr: "terra1qljxd0y3j3gk97025qvl3lgq8ygup4gsksvaxv",
anchor_token_addr: "terra1747mad58h0w4y589y3sk84r5efqdev9q4r02pc",
anc_ust_swap_addr: "terra1wfvczps2865j0awnurk9m04u7wdmd6qv3fdnvz",
staking_apr: "0.0",
holding_window: "0.02",
}
}

Expand Down Expand Up @@ -429,7 +468,8 @@ export interface BassetVaultConfig {
///fees, need to calc how much send to governance and community pools
fee_rate: string,
tax_rate: string,
ts_factory_addr: string
ts_factory_addr: string,
a_basset_reward_addr: string,
}

export function prod_BassetVaultConfigForbLuna(
Expand All @@ -442,7 +482,7 @@ export function prod_BassetVaultConfigForbLuna(
psi_token_addr: string,
psi_stable_swap_contract_addr: string,
basset_vault_strategy_contract_addr: string,
ts_factory_addr: string
ts_factory_addr: string,
): BassetVaultConfig {
return {
gov_addr: governance_contract_addr,
Expand Down Expand Up @@ -474,6 +514,7 @@ export function prod_BassetVaultConfigForbLuna(
fee_rate: "0.5",
tax_rate: "0.25",
ts_factory_addr: ts_factory_addr,
a_basset_reward_addr: "terra17yap3mhph35pcwvhza38c2lkj7gzywzy05h7l0",
}
}

Expand All @@ -487,7 +528,7 @@ export function testnet_BassetVaultConfigForbLuna(
psi_token_addr: string,
psi_stable_swap_contract_addr: string,
basset_vault_strategy_contract_addr: string,
ts_factory_addr: string
ts_factory_addr: string,
): BassetVaultConfig {
return {
gov_addr: governance_contract_addr,
Expand Down Expand Up @@ -518,7 +559,8 @@ export function testnet_BassetVaultConfigForbLuna(
///fees, need to calc how much send to governance and community pools
fee_rate: "0.5",
tax_rate: "0.25",
ts_factory_addr: ts_factory_addr
ts_factory_addr: ts_factory_addr,
a_basset_reward_addr: "terra1ac24j6pdxh53czqyrkr6ygphdeftg7u3958tl2",
}
}

Expand All @@ -533,7 +575,7 @@ export function BassetVaultConfigForbLuna(
psi_token_addr: string,
psi_stable_swap_contract_addr: string,
basset_vault_strategy_contract_addr: string,
ts_factory_addr: string
ts_factory_addr: string,
): BassetVaultConfig {
if (is_prod(lcd_client)) {
return prod_BassetVaultConfigForbLuna(
Expand All @@ -546,7 +588,7 @@ export function BassetVaultConfigForbLuna(
psi_token_addr,
psi_stable_swap_contract_addr,
basset_vault_strategy_contract_addr,
ts_factory_addr
ts_factory_addr,
);
} else {
return testnet_BassetVaultConfigForbLuna(
Expand All @@ -559,7 +601,7 @@ export function BassetVaultConfigForbLuna(
psi_token_addr,
psi_stable_swap_contract_addr,
basset_vault_strategy_contract_addr,
ts_factory_addr
ts_factory_addr,
);
}
}
Expand Down Expand Up @@ -605,7 +647,8 @@ export function prod_BassetVaultConfigForbEth(
///fees, need to calc how much send to governance and community pools
fee_rate: "0.5",
tax_rate: "0.25",
ts_factory_addr: ts_factory_addr
ts_factory_addr: ts_factory_addr,
a_basset_reward_addr: "terra1939tzfn4hn960ychpcsjshu8jds3zdwlp8jed9",
}
}

Expand All @@ -619,7 +662,7 @@ export function testnet_BassetVaultConfigForbEth(
psi_token_addr: string,
psi_stable_swap_contract_addr: string,
basset_vault_strategy_contract_addr: string,
ts_factory_addr: string
ts_factory_addr: string,
): BassetVaultConfig {
return {
gov_addr: governance_contract_addr,
Expand Down Expand Up @@ -650,7 +693,8 @@ export function testnet_BassetVaultConfigForbEth(
///fees, need to calc how much send to governance and community pools
fee_rate: "0.5",
tax_rate: "0.25",
ts_factory_addr: ts_factory_addr
ts_factory_addr: ts_factory_addr,
a_basset_reward_addr: "terra1ja3snkedk4t0zp7z3ljd064hcln8dsv5x004na",
}
}

Expand All @@ -665,7 +709,7 @@ export function BassetVaultConfigForbEth(
psi_token_addr: string,
psi_stable_swap_contract_addr: string,
basset_vault_strategy_contract_addr: string,
ts_factory_addr: string
ts_factory_addr: string,
): BassetVaultConfig {
if (is_prod(lcd_client)) {
return prod_BassetVaultConfigForbEth(
Expand All @@ -691,7 +735,7 @@ export function BassetVaultConfigForbEth(
psi_token_addr,
psi_stable_swap_contract_addr,
basset_vault_strategy_contract_addr,
ts_factory_addr
ts_factory_addr,
);
}
}
Loading