Skip to content
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
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
613 changes: 613 additions & 0 deletions cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions cadence/tests/test_helpers.cdc
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,15 @@ access(all) fun deployContracts() {
)
Test.expect(err, Test.beNil())

err = Test.deployContract(
name: "FlowYieldVaultsStrategiesV1_1",
path: "../contracts/FlowYieldVaultsStrategiesV1_1.cdc",
arguments: [
"0x986Cb42b0557159431d48fE0A40073296414d410",
"0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39",
"0x8dd92c8d0C3b304255fF9D98ae59c3385F88360C"
]
)
// FLOW looping strategy
err = Test.deployContract(
name: "PMStrategiesV1",
Expand Down
62 changes: 61 additions & 1 deletion flow.json
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,15 @@
"testnet": "d2580caf2ef07c2f"
}
},
"FlowYieldVaultsStrategiesV1_1": {
"source": "cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc",
"aliases": {
"emulator": "045a1763c93006ca",
"mainnet": "b1d63873c3cc9f79",
"testing": "0000000000000009",
"testnet": "d2580caf2ef07c2f"
}
},
"FungibleTokenConnectors": {
"source": "./lib/FlowCreditMarket/FlowActions/cadence/contracts/connectors/FungibleTokenConnectors.cdc",
"aliases": {
Expand Down Expand Up @@ -856,6 +865,23 @@
]
},
{
"name": "FlowYieldVaultsStrategiesV1_1",
"args": [
{
"value": "0x986Cb42b0557159431d48fE0A40073296414d410",
"type": "String"
},
{
"value": "0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39",
"type": "String"
},
{
"value": "0x8dd92c8d0C3b304255fF9D98ae59c3385F88360C",
"type": "String"
}
]
},
{
"name": "PMStrategiesV1",
"args": [
{
Expand Down Expand Up @@ -967,6 +993,23 @@
]
},
{
"name": "FlowYieldVaultsStrategiesV1_1",
"args": [
{
"value": "0xca6d7Bb03334bBf135902e1d919a5feccb461632",
"type": "String"
},
{
"value": "0xeEDC6Ff75e1b10B903D9013c358e446a73d35341",
"type": "String"
},
{
"value": "0x370A8DF17742867a44e56223EC20D82092242C85",
"type": "String"
}
]
},
{
"name": "PMStrategiesV1",
"args": [
{
Expand Down Expand Up @@ -1053,8 +1096,25 @@
"type": "Array"
}
]
},
{
"name": "FlowYieldVaultsStrategiesV1_1",
"args": [
{
"value": "0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39",
"type": "String"
},
{
"value": "0x2Db6468229F6fB1a77d248Dbb1c386760C257804",
"type": "String"
},
{
"value": "0xA1e0E4CCACA34a738f03cFB1EAbAb16331FA3E2c",
"type": "String"
}
]
}
]
}
}
}
}
4 changes: 2 additions & 2 deletions local/punchswap/punchswap.env
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ TOKENS_OWNER=0xC31A5268a1d311d992D637E8cE925bfdcCEB4310
USDC_MINT=2000000000000
WBTC_MINT=100000000000000

USDC_ADDR=0x102A7ed67858cF757CBBeA3390eaB72fcc60237E
WBTC_ADDR=0x6Ce75363856e46B42bf0c933E01A4Eec17eE963B
USDC_ADDR=0xaf2Bb3E0017d2eD9B69004c9b38318a166fA9f63
WBTC_ADDR=0x34A99426966D2023f1f66929c1b0989fA5C6B9FC

# how much to fund the helper (base units)
# USDC_FUND=600000000 # 600k * 1e6
Expand Down
12 changes: 12 additions & 0 deletions local/setup_emulator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,18 @@ flow transactions send ./cadence/transactions/flow-yield-vaults/admin/add_strate
/storage/FlowYieldVaultsStrategyComposerIssuer_0x045a1763c93006ca \
--signer emulator-flow-yield-vaults

# flow transactions send ../cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
# "A.0ae53cb6e3f42a79.FlowToken.Vault" \
# <yield token>



flow transactions send ./cadence/transactions/flow-yield-vaults/admin/add_strategy_composer.cdc \
'A.045a1763c93006ca.FlowYieldVaultsStrategiesV1_1.USDFStrategy' \
'A.045a1763c93006ca.FlowYieldVaultsStrategiesV1_1.USDFStrategyComposer' \
/storage/FlowYieldVaultsStrategyV1_1ComposerIssuer_0x045a1763c93006ca \
--signer emulator-flow-yield-vaults

# grant PoolBeta cap
echo "Grant Protocol Beta access to FlowYieldVaults"
flow transactions send ./lib/FlowCreditMarket/cadence/tests/transactions/flow-credit-market/pool-management/03_grant_beta.cdc \
Expand Down
37 changes: 34 additions & 3 deletions local/setup_mainnet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,42 @@ flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connec
flow transactions send ./lib/FlowCreditMarket/FlowActions/cadence/transactions/fungible-tokens/setup_generic_vault.cdc 'A.1e4aa0b87d10b141.EVMVMBridgedToken_c52e820d2d6207d18667a97e2c6ac22eb26e803c.Vault' --network mainnet --signer mainnet-admin
# flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connector.cdc /storage/EVMVMBridgedToken_4154d5b0e2931a0a1e5b733f19161aa7d2fc4b95Vault --network mainnet --signer mainnet-admin
#


# Setup UniV3 path tauUSDFv -> USDF -> WFLOW
flow transactions send ../cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix relative path: This should be ./cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc instead of ../cadence/... since the script runs from the repo root.

'A.1654653399040a61.FlowToken.Vault' \
"0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c" \
'["0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c","0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED","0xd3bF53DAC106A0290B0483EcBC89d40FcC961f3e"]' \
'[100,3000]' \
--network mainnet \
--signer mainnet-admin


# Setup UniV3 path tauUSDFv -> USDF -> WBTC
flow transactions send ../cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
'A.0x1e4aa0b87d10b141.EVMVMBridgedToken_717dae2baf7656be9a9b01dee31d571a9d4c9579.Vault' \
"0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c" \
'["0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c","0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED","0x717DAE2BaF7656BE9a9B01deE31d571a9d4c9579"]' \
'[100,3000]' \
--network mainnet \
--signer mainnet-admin

# Setup UniV3 path tauUSDFv -> USDF -> WETH
flow transactions send ../cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
'A.0x1e4aa0b87d10b141.EVMVMBridgedToken_2f6f07cdcf3588944bf4c42ac74ff24bf56e7590.Vault' \
"0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c" \
'["0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c","0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED","0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590"]' \
'[100,3000]' \
--network mainnet \
--signer mainnet-admin

#
# add TracerStrategy as supported Strategy with the ability to initialize when new YieldVaults are created
flow transactions send ./cadence/transactions/flow-yield-vaults/admin/add_strategy_composer.cdc \
'A.b1d63873c3cc9f79.FlowYieldVaultsStrategies.mUSDCStrategy' \
'A.b1d63873c3cc9f79.FlowYieldVaultsStrategies.mUSDCStrategyComposer' \
/storage/FlowYieldVaultsStrategyComposerIssuer_0xb1d63873c3cc9f79 \
'A.b1d63873c3cc9f79.FlowYieldVaultsStrategiesV1_1.mUSDFStrategy' \
'A.b1d63873c3cc9f79.FlowYieldVaultsStrategiesV1_1.mUSDFStrategyComposer' \
/storage/FlowYieldVaultsStrategyV1_1ComposerIssuer_0xb1d63873c3cc9f79 \
--network mainnet \
--signer mainnet-admin

Expand Down
86 changes: 80 additions & 6 deletions local/setup_testnet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboard
# configure FlowCreditMarket
#
# add MOET - USD association on Band Oracle
flow transactions send ../lib/FlowCreditMarket/FlowActions/cadence/transactions/band-oracle-connector/add_symbol.cdc "USD" "A.426f0458ced60037.MOET.Vault"
#
cd ./libs/FlowCreditMarket/FlowActions && flow transactions send ./cadence/transactions/band-oracle-connector/add_symbol.cdc "USD" "A.426f0458ced60037.MOET.Vault" --network testnet --signer testnet-band-oracle-connectors

# create Pool with MOET as default token with Mock Oracle
flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-factory/create_and_store_pool.cdc 'A.426f0458ced60037.MOET.Vault' --network testnet --signer testnet-flow-credit-market-deployer
# update Pool with Band Oracle instead of Mock Oracle
Expand All @@ -31,6 +31,32 @@ flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-m
--network testnet \
--signer testnet-flow-credit-market-deployer

# add WBTC to band oracle
cd ./lib/FlowCreditMarket/FlowActions && flow transactions send ./cadence/transactions/band-oracle-connector/add_symbol.cdc "BTC" "A.dfc20aee650fcbdf.EVMVMBridgedToken_208d09d2a6dd176e3e95b3f0de172a7471c5b2d6.Vault" --network testnet --signer testnet-band-oracle-connectors && cd ../../..

# add WETH to band oracle
cd ./lib/FlowCreditMarket/FlowActions && flow transactions send ./cadence/transactions/band-oracle-connector/add_symbol.cdc "ETH" "A.dfc20aee650fcbdf.EVMVMBridgedToken_059a77239dafa770977dd9f1e98632c3e4559848.Vault" --network testnet --signer testnet-band-oracle-connectors && cd ../../..

# add WBTC as supported token
flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_simple_interest_curve.cdc \
'A.dfc20aee650fcbdf.EVMVMBridgedToken_208d09d2a6dd176e3e95b3f0de172a7471c5b2d6.Vault' \
0.8 \
1.0 \
1_000_000.0 \
1_000_000.0 \
--network testnet \
--signer testnet-flow-credit-market-deployer

# add WETH as supported token
flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_simple_interest_curve.cdc \
'A.dfc20aee650fcbdf.EVMVMBridgedToken_059a77239dafa770977dd9f1e98632c3e4559848.Vault' \
0.8 \
1.0 \
1_000_000.0 \
1_000_000.0 \
--network testnet \
--signer testnet-flow-credit-market-deployer

echo "swap Flow to MOET"
flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/create_position.cdc 100000.0 --network testnet --signer testnet-flow-credit-market-deployer

Expand All @@ -50,6 +76,7 @@ flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connec
flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connector.cdc /storage/moetTokenVault_0x426f0458ced60037 --network testnet --signer testnet-admin
#flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connector.cdc /storage/yieldTokenVault_0xd2580caf2ef07c2f --network testnet --signer testnet-admin

# setup yield token vault
flow transactions send ./lib/FlowCreditMarket/FlowActions/cadence/transactions/fungible-tokens/setup_generic_vault.cdc 'A.dfc20aee650fcbdf.EVMVMBridgedToken_4154d5b0e2931a0a1e5b733f19161aa7d2fc4b95.Vault' --network testnet --signer testnet-admin
flow transactions send ./cadence/transactions/mocks/swapper/set_liquidity_connector.cdc /storage/EVMVMBridgedToken_4154d5b0e2931a0a1e5b733f19161aa7d2fc4b95Vault --network testnet --signer testnet-admin

Expand All @@ -61,11 +88,36 @@ flow transactions send ./cadence/transactions/flow-yield-vaults/admin/add_strate
--network testnet \
--signer testnet-admin

flow transactions send ./cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
'A.7e60df042a9c0868.FlowToken.Vault' \
"0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95" \
'["0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95", "0xd3bF53DAC106A0290B0483EcBC89d40FcC961f3e"]' \
'[3000]' \
--network testnet \
--signer testnet-admin

# WETH univ3 path and fees
flow transactions send ./cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
'A.dfc20aee650fcbdf.EVMVMBridgedToken_059a77239dafa770977dd9f1e98632c3e4559848.Vault' \
"0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95" \
'["0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95","0x02d3575e2516a515E9B91a52b294Edc80DC7987c", "0x059A77239daFa770977DD9f1E98632C3E4559848"]' \
'[3000,3000]' \
--network testnet \
--signer testnet-admin

# WBTC univ3 path and fees
flow transactions send ./cadence/transactions/flow-yield-vaults/admin/upsert_musdf_config.cdc \
'A.dfc20aee650fcbdf.EVMVMBridgedToken_208d09d2a6dd176e3e95b3f0de172a7471c5b2d6.Vault' \
"0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95" \
'["0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95","0x02d3575e2516a515E9B91a52b294Edc80DC7987c","0x208d09d2a6Dd176e3e95b3F0DE172A7471C5B2d6"]' \
'[3000,3000]' \
--network testnet \
--signer testnet-admin

flow transactions send ./cadence/transactions/flow-yield-vaults/admin/add_strategy_composer.cdc \
'A.d2580caf2ef07c2f.FlowYieldVaultsStrategies.mUSDCStrategy' \
'A.d2580caf2ef07c2f.FlowYieldVaultsStrategies.mUSDCStrategyComposer' \
/storage/FlowYieldVaultsStrategyComposerIssuer_0xd2580caf2ef07c2f \
'A.d2580caf2ef07c2f.FlowYieldVaultsStrategiesV1_1.mUSDFStrategy' \
'A.d2580caf2ef07c2f.FlowYieldVaultsStrategiesV1_1.mUSDFStrategyComposer' \
/storage/FlowYieldVaultsStrategyV1_1ComposerIssuer_0xd2580caf2ef07c2f \
--network testnet \
--signer testnet-admin

Expand All @@ -87,10 +139,32 @@ flow transactions send ./lib/flow-evm-bridge/cadence/transactions/flow-token/tra
# --proposer <TEST_USER> \
# --payer testnet-admin \
# --network testnet
#
#
# Flow
# flow transactions send ./cadence/transactions/flow-yield-vaults/create_yield_vault.cdc \
# A.d2580caf2ef07c2f.FlowYieldVaultsStrategies.mUSDCStrategy \
# A.d2580caf2ef07c2f.FlowYieldVaultsStrategiesV1_1.mUSDFStrategy \
# A.7e60df042a9c0868.FlowToken.Vault \
# 100.0 \
# --signer <TEST_USER> \
# --compute-limit 9999 \
# --network testnet
#
#
# WBTC (BTCf)
# flow transactions send ./cadence/transactions/flow-yield-vaults/create_yield_vault.cdc \
# A.d2580caf2ef07c2f.FlowYieldVaultsStrategiesV1_1.mUSDFStrategy \
# A.dfc20aee650fcbdf.EVMVMBridgedToken_208d09d2a6dd176e3e95b3f0de172a7471c5b2d6.Vault \
# 0.00001 \
# --signer <TEST_USER> \
# --compute-limit 9999 \
# --network testnet
#
# WETH (ETHf)
# flow transactions send ./cadence/transactions/flow-yield-vaults/create_yield_vault.cdc \
# A.d2580caf2ef07c2f.FlowYieldVaultsStrategiesV1_1.mUSDFStrategy \
# A.dfc20aee650fcbdf.EVMVMBridgedToken_059a77239dafa770977dd9f1e98632c3e4559848.Vault \
# 0.001 \
# --signer <TEST_USER> \
# --compute-limit 9999 \
# --network testnet