diff --git a/cadence/contracts/FlowYieldVaultsStrategies.cdc b/cadence/contracts/FlowYieldVaultsStrategies.cdc index f585956a..d7f7f46a 100644 --- a/cadence/contracts/FlowYieldVaultsStrategies.cdc +++ b/cadence/contracts/FlowYieldVaultsStrategies.cdc @@ -57,7 +57,7 @@ access(all) contract FlowYieldVaultsStrategies { /// Canonical StoragePath where the StrategyComposerIssuer should be stored access(all) let IssuerStoragePath: StoragePath - /// This is the first Strategy implementation, wrapping a FlowCreditMarket Position along with its related Sink & + /// This is the first Strategy implementation, wrapping a @FlowCreditMarket.Position along with its related Sink & /// Source. While this object is a simple wrapper for the top-level collateralized position, the true magic of the /// DeFiActions is in the stacking of the related connectors. This stacking logic can be found in the /// TracerStrategyComposer construct. @@ -65,15 +65,15 @@ access(all) contract FlowYieldVaultsStrategies { /// An optional identifier allowing protocols to identify stacked connector operations by defining a protocol- /// specific Identifier to associated connectors on construction access(contract) var uniqueID: DeFiActions.UniqueIdentifier? - access(self) let position: FlowCreditMarket.Position + access(self) let position: @FlowCreditMarket.Position access(self) var sink: {DeFiActions.Sink} access(self) var source: {DeFiActions.Source} - init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: FlowCreditMarket.Position) { + init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: @FlowCreditMarket.Position) { self.uniqueID = id - self.position = position self.sink = position.createSink(type: collateralType) self.source = position.createSourceWithOptions(type: collateralType, pullFromTopUpSource: true) + self.position <-position } // Inherited from FlowYieldVaults.Strategy default implementation @@ -200,13 +200,12 @@ access(all) contract FlowYieldVaultsStrategies { let poolRef = poolCap.borrow() ?? panic("Invalid Pool Cap") - let pid = poolRef.createPosition( + let position <- poolRef.createPosition( funds: <-withFunds, issuanceSink: abaSwapSink, repaymentSource: abaSwapSource, pushToDrawDownSink: true ) - let position = FlowCreditMarket.Position(id: pid, pool: poolCap) FlowYieldVaultsStrategies.account.storage.save(poolCap, to: FlowCreditMarket.PoolCapStoragePath) // get Sink & Source connectors relating to the new Position @@ -231,7 +230,7 @@ access(all) contract FlowYieldVaultsStrategies { return <-create TracerStrategy( id: uniqueID, collateralType: collateralType, - position: position + position: <- position ) } } @@ -241,15 +240,15 @@ access(all) contract FlowYieldVaultsStrategies { /// An optional identifier allowing protocols to identify stacked connector operations by defining a protocol- /// specific Identifier to associated connectors on construction access(contract) var uniqueID: DeFiActions.UniqueIdentifier? - access(self) let position: FlowCreditMarket.Position + access(self) let position: @FlowCreditMarket.Position access(self) var sink: {DeFiActions.Sink} access(self) var source: {DeFiActions.Source} - init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: FlowCreditMarket.Position) { + init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: @FlowCreditMarket.Position) { self.uniqueID = id - self.position = position self.sink = position.createSink(type: collateralType) self.source = position.createSourceWithOptions(type: collateralType, pullFromTopUpSource: true) + self.position <-position } // Inherited from FlowYieldVaults.Strategy default implementation @@ -476,13 +475,12 @@ access(all) contract FlowYieldVaultsStrategies { ) ?? panic("Missing or invalid pool capability") let poolRef = poolCap.borrow() ?? panic("Invalid Pool Cap") - let pid = poolRef.createPosition( + let position <- poolRef.createPosition( funds: <-withFunds, issuanceSink: abaSwapSink, repaymentSource: abaSwapSource, pushToDrawDownSink: true ) - let position = FlowCreditMarket.Position(id: pid, pool: poolCap) // get Sink & Source connectors relating to the new Position let positionSink = position.createSinkWithOptions(type: collateralType, pushToDrawDownSink: true) @@ -527,7 +525,7 @@ access(all) contract FlowYieldVaultsStrategies { return <-create mUSDCStrategy( id: uniqueID, collateralType: collateralType, - position: position + position: <-position ) } } diff --git a/cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc b/cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc index 7cfe055b..f613ce72 100644 --- a/cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc +++ b/cadence/contracts/FlowYieldVaultsStrategiesV1_1.cdc @@ -76,15 +76,15 @@ access(all) contract FlowYieldVaultsStrategiesV1_1 { /// An optional identifier allowing protocols to identify stacked connector operations by defining a protocol- /// specific Identifier to associated connectors on construction access(contract) var uniqueID: DeFiActions.UniqueIdentifier? - access(self) let position: FlowCreditMarket.Position + access(self) let position: @FlowCreditMarket.Position access(self) var sink: {DeFiActions.Sink} access(self) var source: {DeFiActions.Source} - init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: FlowCreditMarket.Position) { + init(id: DeFiActions.UniqueIdentifier, collateralType: Type, position: @FlowCreditMarket.Position) { self.uniqueID = id - self.position = position self.sink = position.createSink(type: collateralType) self.source = position.createSourceWithOptions(type: collateralType, pullFromTopUpSource: true) + self.position <-position } // Inherited from FlowYieldVaults.Strategy default implementation @@ -279,7 +279,7 @@ access(all) contract FlowYieldVaultsStrategiesV1_1 { ) // Open FlowCreditMarket position - let position = self._openCreditPosition( + let position <- self._openCreditPosition( funds: <-withFunds, issuanceSink: abaSwapSink, repaymentSource: abaSwapSource @@ -309,7 +309,7 @@ access(all) contract FlowYieldVaultsStrategiesV1_1 { return <-create FlowYieldVaultsStrategiesV1_1.mUSDFStrategy( id: uniqueID, collateralType: collateralType, - position: position + position: <-position ) } @@ -478,7 +478,7 @@ access(all) contract FlowYieldVaultsStrategiesV1_1 { funds: @{FungibleToken.Vault}, issuanceSink: {DeFiActions.Sink}, repaymentSource: {DeFiActions.Source} - ): FlowCreditMarket.Position { + ): @FlowCreditMarket.Position { let poolCap = FlowYieldVaultsStrategiesV1_1.account.storage.copy< Capability >(from: FlowCreditMarket.PoolCapStoragePath) @@ -486,14 +486,14 @@ access(all) contract FlowYieldVaultsStrategiesV1_1 { let poolRef = poolCap.borrow() ?? panic("Invalid Pool Cap") - let pid = poolRef.createPosition( + let position <- poolRef.createPosition( funds: <-funds, issuanceSink: issuanceSink, repaymentSource: repaymentSource, pushToDrawDownSink: true ) - return FlowCreditMarket.Position(id: pid, pool: poolCap) + return <-position } access(self) fun _createYieldToCollateralSwapper( diff --git a/cadence/contracts/mocks/MockSwapper.cdc b/cadence/contracts/mocks/MockSwapper.cdc index 17331354..1d7f3944 100644 --- a/cadence/contracts/mocks/MockSwapper.cdc +++ b/cadence/contracts/mocks/MockSwapper.cdc @@ -94,12 +94,12 @@ access(all) contract MockSwapper { let inTokenPrice = self.oracle.price(ofToken: self.inType()) ?? panic("Price for token \(self.inType().identifier) is currently unavailable") - let uintOutTokenPrice = FlowCreditMarketMath.toUFix128(outTokenPrice) - let uintInTokenPrice = FlowCreditMarketMath.toUFix128(inTokenPrice) + let uintOutTokenPrice = UFix128(outTokenPrice) + let uintInTokenPrice = UFix128(inTokenPrice) // the original formula is correct, but lacks precision // let price = reverse ? outTokenPrice / inTokenPrice : inTokenPrice / outTokenPrice - let uintPrice = reverse ? FlowCreditMarketMath.div(uintOutTokenPrice, uintInTokenPrice) : FlowCreditMarketMath.div(uintInTokenPrice, uintOutTokenPrice) + let uintPrice = reverse ? (uintOutTokenPrice / uintInTokenPrice) : (uintInTokenPrice / uintOutTokenPrice) if amount == UFix64.max { return SwapConnectors.BasicQuote( @@ -110,8 +110,8 @@ access(all) contract MockSwapper { ) } - let uintAmount = FlowCreditMarketMath.toUFix128(amount) - let uintInAmount = out ? uintAmount : FlowCreditMarketMath.div(uintAmount, uintPrice) + let uintAmount = UFix128(amount) + let uintInAmount = out ? uintAmount : (uintAmount / uintPrice) let uintOutAmount = out ? uintAmount * uintPrice : uintAmount let inAmount = FlowCreditMarketMath.toUFix64Round(uintInAmount) diff --git a/cadence/tests/atomic_registration_gc_test.cdc b/cadence/tests/atomic_registration_gc_test.cdc index 9b345184..18280862 100644 --- a/cadence/tests/atomic_registration_gc_test.cdc +++ b/cadence/tests/atomic_registration_gc_test.cdc @@ -41,18 +41,19 @@ access(all) fun setup() { // Setup FlowCreditMarket with a pool & add FLOW as a supported token. createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: collateralFactor, borrowFactor: borrowFactor, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) // Open a wrapped FlowCreditMarket position so strategies have an underlying position to work with. let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario1_test.cdc b/cadence/tests/rebalance_scenario1_test.cdc index 2761541d..80adf99e 100644 --- a/cadence/tests/rebalance_scenario1_test.cdc +++ b/cadence/tests/rebalance_scenario1_test.cdc @@ -44,11 +44,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -56,7 +57,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario2_test.cdc b/cadence/tests/rebalance_scenario2_test.cdc index 228f9308..b92f3554 100644 --- a/cadence/tests/rebalance_scenario2_test.cdc +++ b/cadence/tests/rebalance_scenario2_test.cdc @@ -130,11 +130,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -142,7 +143,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario3a_test.cdc b/cadence/tests/rebalance_scenario3a_test.cdc index 34f21490..6baf54ae 100644 --- a/cadence/tests/rebalance_scenario3a_test.cdc +++ b/cadence/tests/rebalance_scenario3a_test.cdc @@ -73,11 +73,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -85,7 +86,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario3b_test.cdc b/cadence/tests/rebalance_scenario3b_test.cdc index 31dfc21a..6100651a 100644 --- a/cadence/tests/rebalance_scenario3b_test.cdc +++ b/cadence/tests/rebalance_scenario3b_test.cdc @@ -73,11 +73,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -85,7 +86,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario3c_test.cdc b/cadence/tests/rebalance_scenario3c_test.cdc index 34800257..330c4944 100644 --- a/cadence/tests/rebalance_scenario3c_test.cdc +++ b/cadence/tests/rebalance_scenario3c_test.cdc @@ -73,11 +73,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -85,7 +86,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_scenario3d_test.cdc b/cadence/tests/rebalance_scenario3d_test.cdc index d8ebaad5..1f467ae0 100644 --- a/cadence/tests/rebalance_scenario3d_test.cdc +++ b/cadence/tests/rebalance_scenario3d_test.cdc @@ -73,11 +73,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -85,7 +86,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/rebalance_yield_test.cdc b/cadence/tests/rebalance_yield_test.cdc index 90d02690..c0c90108 100644 --- a/cadence/tests/rebalance_yield_test.cdc +++ b/cadence/tests/rebalance_yield_test.cdc @@ -43,11 +43,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.0), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -55,7 +56,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/scheduled_rebalance_integration_test.cdc b/cadence/tests/scheduled_rebalance_integration_test.cdc index ac5b1ccb..b5e8ec92 100644 --- a/cadence/tests/scheduled_rebalance_integration_test.cdc +++ b/cadence/tests/scheduled_rebalance_integration_test.cdc @@ -58,11 +58,12 @@ fun setup() { // Setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -70,7 +71,7 @@ fun setup() { // Open wrapped position let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/scheduled_rebalance_scenario_test.cdc b/cadence/tests/scheduled_rebalance_scenario_test.cdc index 867cf6f1..8dda29bd 100644 --- a/cadence/tests/scheduled_rebalance_scenario_test.cdc +++ b/cadence/tests/scheduled_rebalance_scenario_test.cdc @@ -65,18 +65,19 @@ fun setup() { // Setup FlowCreditMarket with a Pool createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) // Open wrapped position let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/scheduled_supervisor_test.cdc b/cadence/tests/scheduled_supervisor_test.cdc index 6a26f48d..9ba8b7b9 100644 --- a/cadence/tests/scheduled_supervisor_test.cdc +++ b/cadence/tests/scheduled_supervisor_test.cdc @@ -51,18 +51,19 @@ fun setup() { // FlowCreditMarket createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) // Wrapped Position let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/scheduler_edge_cases_test.cdc b/cadence/tests/scheduler_edge_cases_test.cdc index 1ac0cdc3..86c62889 100644 --- a/cadence/tests/scheduler_edge_cases_test.cdc +++ b/cadence/tests/scheduler_edge_cases_test.cdc @@ -47,18 +47,19 @@ fun setup() { // Setup FlowCreditMarket createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: 0.8, borrowFactor: 1.0, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) // Open wrapped position let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/test_helpers.cdc b/cadence/tests/test_helpers.cdc index 1155e843..a833a8a2 100644 --- a/cadence/tests/test_helpers.cdc +++ b/cadence/tests/test_helpers.cdc @@ -215,14 +215,12 @@ access(all) fun deployContracts() { arguments: [] ) Test.expect(err, Test.beNil()) - err = Test.deployContract( - name: "MockFlowCreditMarketConsumer", - path: "../../lib/FlowCreditMarket/cadence/contracts/mocks/MockFlowCreditMarketConsumer.cdc", + name: "MockDexSwapper", + path: "../../lib/FlowCreditMarket/cadence/contracts/mocks/MockDexSwapper.cdc", arguments: [] ) Test.expect(err, Test.beNil()) - // FlowYieldVaults contracts // Deployment order matters due to imports: // 1. FlowYieldVaultsSchedulerRegistry (no FlowYieldVaults dependencies) @@ -463,17 +461,18 @@ fun createAndStorePool(signer: Test.TestAccount, defaultTokenIdentifier: String, } access(all) -fun addSupportedTokenSimpleInterestCurve( +fun addSupportedTokenFixedRateInterestCurve( signer: Test.TestAccount, tokenTypeIdentifier: String, collateralFactor: UFix64, borrowFactor: UFix64, + yearlyRate: UFix128, depositRate: UFix64, depositCapacityCap: UFix64 ) { let additionRes = _executeTransaction( - "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_simple_interest_curve.cdc", - [ tokenTypeIdentifier, collateralFactor, borrowFactor, depositRate, depositCapacityCap ], + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_fixed_rate_curve.cdc", + [ tokenTypeIdentifier, collateralFactor, borrowFactor, yearlyRate, depositRate, depositCapacityCap ], signer ) Test.expect(additionRes, Test.beSucceeded()) diff --git a/cadence/tests/tracer_strategy_test.cdc b/cadence/tests/tracer_strategy_test.cdc index 5146446c..2c2949af 100644 --- a/cadence/tests/tracer_strategy_test.cdc +++ b/cadence/tests/tracer_strategy_test.cdc @@ -49,11 +49,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: flowCollateralFactor, borrowFactor: flowBorrowFactor, + yearlyRate: UFix128(0.0), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -61,7 +62,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/cadence/tests/yield_vault_lifecycle_test.cdc b/cadence/tests/yield_vault_lifecycle_test.cdc index 465044a5..0e1ad05e 100644 --- a/cadence/tests/yield_vault_lifecycle_test.cdc +++ b/cadence/tests/yield_vault_lifecycle_test.cdc @@ -49,11 +49,12 @@ fun setup() { // setup FlowCreditMarket with a Pool & add FLOW as supported token createAndStorePool(signer: protocolAccount, defaultTokenIdentifier: moetTokenIdentifier, beFailed: false) - addSupportedTokenSimpleInterestCurve( + addSupportedTokenFixedRateInterestCurve( signer: protocolAccount, tokenTypeIdentifier: flowTokenIdentifier, collateralFactor: flowCollateralFactor, borrowFactor: flowBorrowFactor, + yearlyRate: UFix128(0.1), depositRate: 1_000_000.0, depositCapacityCap: 1_000_000.0 ) @@ -61,7 +62,7 @@ fun setup() { // open wrapped position (pushToDrawDownSink) // the equivalent of depositing reserves let openRes = executeTransaction( - "../../lib/FlowCreditMarket/cadence/tests/transactions/mock-flow-credit-market-consumer/create_wrapped_position.cdc", + "../../lib/FlowCreditMarket/cadence/transactions/flow-credit-market/position/create_position.cdc", [reserveAmount/2.0, /storage/flowTokenVault, true], protocolAccount ) diff --git a/flow.json b/flow.json index 0914fc34..53bd25ac 100644 --- a/flow.json +++ b/flow.json @@ -188,12 +188,11 @@ "testnet": "426f0458ced60037" } }, - "MockFlowCreditMarketConsumer": { - "source": "./lib/FlowCreditMarket/cadence/contracts/mocks/MockFlowCreditMarketConsumer.cdc", + "MockDexSwapper": { + "source": "./lib/FlowCreditMarket/cadence/contracts/mocks/MockDexSwapper.cdc", "aliases": { "emulator": "045a1763c93006ca", - "testing": "0000000000000008", - "testnet": "d2580caf2ef07c2f" + "testing": "0000000000000007" } }, "MockOracle": { @@ -259,6 +258,7 @@ "ArrayUtils": { "source": "mainnet://1e4aa0b87d10b141.ArrayUtils", "hash": "e70ddc2f0c7c72158a3f6c68de3a131e1f49e2908ad83eac0308f9e2953957d5", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -268,6 +268,7 @@ "BandOracle": { "source": "mainnet://6801a6222ebf784a.BandOracle", "hash": "ababa195ef50b63d71520022aa2468656a9703b924c0f5228cfaa51a71db094d", + "block_height": 141772866, "aliases": { "emulator": "045a1763c93006ca", "mainnet": "6801a6222ebf784a", @@ -278,6 +279,7 @@ "Burner": { "source": "mainnet://f233dcee88fe0abe.Burner", "hash": "71af18e227984cd434a3ad00bb2f3618b76482842bae920ee55662c37c8bf331", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "f233dcee88fe0abe", @@ -287,6 +289,7 @@ "CrossVMMetadataViews": { "source": "mainnet://1d7e57aa55817448.CrossVMMetadataViews", "hash": "7e79b77b87c750de5b126ebd6fca517c2b905ac7f01c0428e9f3f82838c7f524", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1d7e57aa55817448", @@ -296,6 +299,7 @@ "CrossVMNFT": { "source": "mainnet://1e4aa0b87d10b141.CrossVMNFT", "hash": "8fe69f487164caffedab68b52a584fa7aa4d54a0061f4f211998c73a619fbea5", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -305,6 +309,7 @@ "CrossVMToken": { "source": "mainnet://1e4aa0b87d10b141.CrossVMToken", "hash": "9f055ad902e7de5619a2b0f2dc91826ac9c4f007afcd6df9f5b8229c0ca94531", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -314,7 +319,8 @@ }, "EVM": { "source": "mainnet://e467b9dd11fa00df.EVM", - "hash": "c77a07a7eac28b1470b148204d6f2e3527d931b2d2df341618ab888201316a0b", + "hash": "960b0c7df7ee536956af196fba8c8d5dd4f7a89a4ecc61467e31287c4617b0dd", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "e467b9dd11fa00df", @@ -324,6 +330,7 @@ "FlowEVMBridge": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridge", "hash": "9cd0f897b19c0394e9042225e5758d6ae529a0cce19b19ae05bde8e0f14aa10b", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -334,6 +341,7 @@ "FlowEVMBridgeAccessor": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeAccessor", "hash": "888ba0aab5e961924c47b819f4a9f410449c39745e0d3eab20738bf10ef2ed0f", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -344,6 +352,7 @@ "FlowEVMBridgeConfig": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeConfig", "hash": "3c09f74467f22dac7bc02b2fdf462213b2f8ddfb513cd890ad0c2a7016507be3", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -354,6 +363,7 @@ "FlowEVMBridgeCustomAssociationTypes": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeCustomAssociationTypes", "hash": "4651183c3f04f8c5faaa35106b3ab66060ce9868590adb33f3be1900c12ea196", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -364,6 +374,7 @@ "FlowEVMBridgeCustomAssociations": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeCustomAssociations", "hash": "14d1f4ddd347f45d331e543830b94701e1aa1513c56d55c0019c7fac46d8a572", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -374,6 +385,7 @@ "FlowEVMBridgeHandlerInterfaces": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeHandlerInterfaces", "hash": "e32154f2a556e53328a0fce75f1e98b57eefd2a8cb626e803b7d39d452691444", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -384,6 +396,7 @@ "FlowEVMBridgeHandlers": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeHandlers", "hash": "7e8adff1dca0ea1d2e361c17de9eca020f82cabc00a52679078752bf85adb004", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -394,6 +407,7 @@ "FlowEVMBridgeNFTEscrow": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeNFTEscrow", "hash": "30257592838edfd4b72700f43bf0326f6903e879f82ac5ca549561d9863c6fe6", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -404,6 +418,7 @@ "FlowEVMBridgeResolver": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeResolver", "hash": "c1ac18e92828616771df5ff5d6de87866f2742ca4ce196601c11e977e4f63bb3", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -414,6 +429,7 @@ "FlowEVMBridgeTemplates": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeTemplates", "hash": "78b8115eb0ef2be4583acbe655f0c5128c39712084ec23ce47820ea154141898", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -424,6 +440,7 @@ "FlowEVMBridgeTokenEscrow": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeTokenEscrow", "hash": "49df9c8e5d0dd45abd5bf94376d3b9045299b3c2a5ba6caf48092c916362358d", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -434,6 +451,7 @@ "FlowEVMBridgeUtils": { "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeUtils", "hash": "634ed6dde03eb8f027368aa7861889ce1f5099160903493a7a39a86c9afea14b", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -444,6 +462,7 @@ "FlowFees": { "source": "mainnet://f919ee77447b7497.FlowFees", "hash": "341cc0f3cc847d6b787c390133f6a5e6c867c111784f09c5c0083c47f2f1df64", + "block_height": 141772866, "aliases": { "emulator": "e5a8b7f23e8b548f", "mainnet": "f919ee77447b7497", @@ -453,6 +472,7 @@ "FlowStorageFees": { "source": "mainnet://e467b9dd11fa00df.FlowStorageFees", "hash": "a92c26fb2ea59725441fa703aa4cd811e0fc56ac73d649a8e12c1e72b67a8473", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "e467b9dd11fa00df", @@ -462,6 +482,7 @@ "FlowToken": { "source": "mainnet://1654653399040a61.FlowToken", "hash": "f82389e2412624ffa439836b00b42e6605b0c00802a4e485bc95b8930a7eac38", + "block_height": 141772866, "aliases": { "emulator": "0ae53cb6e3f42a79", "mainnet": "1654653399040a61", @@ -470,7 +491,8 @@ }, "FlowTransactionScheduler": { "source": "mainnet://e467b9dd11fa00df.FlowTransactionScheduler", - "hash": "c701f26f6a8e993b2573ec8700142f61c9ca936b199af8cc75dee7d9b19c9e95", + "hash": "23157cf7d70534e45b0ab729133232d0ffb3cdae52661df1744747cb1f8c0495", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "e467b9dd11fa00df", @@ -479,7 +501,8 @@ }, "FlowTransactionSchedulerUtils": { "source": "mainnet://e467b9dd11fa00df.FlowTransactionSchedulerUtils", - "hash": "429ed886472cd65def9e5ab1dd20079b0dcfb23095d18d54077767ac3316a8ce", + "hash": "71a1febab6b9ba76abec36dab1e61b1c377e44fbe627e5fac649deb71b727877", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "e467b9dd11fa00df", @@ -489,6 +512,7 @@ "FungibleToken": { "source": "mainnet://f233dcee88fe0abe.FungibleToken", "hash": "4b74edfe7d7ddfa70b703c14aa731a0b2e7ce016ce54d998bfd861ada4d240f6", + "block_height": 141772866, "aliases": { "emulator": "ee82856bf20e2aa6", "mainnet": "f233dcee88fe0abe", @@ -498,6 +522,7 @@ "FungibleTokenMetadataViews": { "source": "mainnet://f233dcee88fe0abe.FungibleTokenMetadataViews", "hash": "70477f80fd7678466c224507e9689f68f72a9e697128d5ea54d19961ec856b3c", + "block_height": 141772866, "aliases": { "emulator": "ee82856bf20e2aa6", "mainnet": "f233dcee88fe0abe", @@ -507,6 +532,7 @@ "IBridgePermissions": { "source": "mainnet://1e4aa0b87d10b141.IBridgePermissions", "hash": "431a51a6cca87773596f79832520b19499fe614297eaef347e49383f2ae809af", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -516,6 +542,7 @@ "ICrossVM": { "source": "mainnet://1e4aa0b87d10b141.ICrossVM", "hash": "b95c36eef516da7cd4d2f507cd48288cc16b1d6605ff03b6fcd18161ff2d82e7", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -526,6 +553,7 @@ "ICrossVMAsset": { "source": "mainnet://1e4aa0b87d10b141.ICrossVMAsset", "hash": "d9c7b2bd9fdcc454180c33b3509a5a060a7fe4bd49bce38818f22fd08acb8ba0", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -536,6 +564,7 @@ "IEVMBridgeNFTMinter": { "source": "mainnet://1e4aa0b87d10b141.IEVMBridgeNFTMinter", "hash": "e2ad15c495ad7fbf4ab744bccaf8c4334dfb843b50f09e9681ce9a5067dbf049", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -546,6 +575,7 @@ "IEVMBridgeTokenMinter": { "source": "mainnet://1e4aa0b87d10b141.IEVMBridgeTokenMinter", "hash": "0ef39c6cb476f0eea2c835900b6a5a83c1ed5f4dbaaeb29cb68ad52c355a40e6", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -556,6 +586,7 @@ "IFlowEVMNFTBridge": { "source": "mainnet://1e4aa0b87d10b141.IFlowEVMNFTBridge", "hash": "2d495e896510a10bbc7307739aca9341633cac4c7fe7dad32488a81f90a39dd9", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -566,6 +597,7 @@ "IFlowEVMTokenBridge": { "source": "mainnet://1e4aa0b87d10b141.IFlowEVMTokenBridge", "hash": "87f7d752da8446e73acd3bf4aa17fe5c279d9641b7976c56561af01bc5240ea4", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -576,6 +608,7 @@ "MetadataViews": { "source": "mainnet://1d7e57aa55817448.MetadataViews", "hash": "b290b7906d901882b4b62e596225fb2f10defb5eaaab4a09368f3aee0e9c18b1", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1d7e57aa55817448", @@ -585,6 +618,7 @@ "NonFungibleToken": { "source": "mainnet://1d7e57aa55817448.NonFungibleToken", "hash": "a258de1abddcdb50afc929e74aca87161d0083588f6abf2b369672e64cf4a403", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1d7e57aa55817448", @@ -594,6 +628,7 @@ "ScopedFTProviders": { "source": "mainnet://1e4aa0b87d10b141.ScopedFTProviders", "hash": "77213f9588ec9862d07c4706689424ad7c1d8f043d5970d96bf18764bb936fc3", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -604,6 +639,7 @@ "Serialize": { "source": "mainnet://1e4aa0b87d10b141.Serialize", "hash": "064bb0d7b6c24ee1ed370cbbe9e0cda2a4e0955247de5e3e81f2f3a8a8cabfb7", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -613,6 +649,7 @@ "SerializeMetadata": { "source": "mainnet://1e4aa0b87d10b141.SerializeMetadata", "hash": "e9f84ea07e29cae05ee0d9264596eb281c291fc1090a10ce3de1a042b4d671da", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -622,6 +659,7 @@ "StableSwapFactory": { "source": "mainnet://b063c16cac85dbd1.StableSwapFactory", "hash": "a63b57a5cc91085016abc34c1b49622b385a8f976ac2ba0e646f7a3f780d344e", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "b063c16cac85dbd1", @@ -631,6 +669,7 @@ "StringUtils": { "source": "mainnet://1e4aa0b87d10b141.StringUtils", "hash": "28ac1a744ac7fb97253cba007a520a9ec1c2e14458d1bd1add1424fa19282c03", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1e4aa0b87d10b141", @@ -640,6 +679,7 @@ "SwapConfig": { "source": "mainnet://b78ef7afa52ff906.SwapConfig", "hash": "111f3caa0ab506bed100225a1481f77687f6ac8493d97e49f149fa26a174ef99", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "b78ef7afa52ff906", @@ -649,6 +689,7 @@ "SwapError": { "source": "mainnet://b78ef7afa52ff906.SwapError", "hash": "7d13a652a1308af387513e35c08b4f9a7389a927bddf08431687a846e4c67f21", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "b78ef7afa52ff906", @@ -658,6 +699,7 @@ "SwapFactory": { "source": "mainnet://b063c16cac85dbd1.SwapFactory", "hash": "deea03edbb49877c8c72276e1911cf87bdba4052ae9c3ac54c0d4ac62f3ef511", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "b063c16cac85dbd1", @@ -667,6 +709,7 @@ "SwapInterfaces": { "source": "mainnet://b78ef7afa52ff906.SwapInterfaces", "hash": "e559dff4d914fa12fff7ba482f30d3c575dc3d31587833fd628763d1a4ee96b2", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "b78ef7afa52ff906", @@ -676,6 +719,7 @@ "SwapRouter": { "source": "mainnet://a6850776a94e6551.SwapRouter", "hash": "c0365c01978ca32af94602bfddd0796cfe6375e60a05b927b5de539e608baec5", + "block_height": 141772866, "aliases": { "emulator": "f3fcd2c1a78f5eee", "mainnet": "a6850776a94e6551", @@ -685,6 +729,7 @@ "USDCFlow": { "source": "mainnet://f1ab99c82dee3526.USDCFlow", "hash": "da7c21064dc73c06499f0b652caea447233465b49787605ce0f679beca48dee7", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "f1ab99c82dee3526", @@ -694,6 +739,7 @@ "ViewResolver": { "source": "mainnet://1d7e57aa55817448.ViewResolver", "hash": "374a1994046bac9f6228b4843cb32393ef40554df9bd9907a702d098a2987bde", + "block_height": 141772866, "aliases": { "emulator": "f8d6e0586b0a20c7", "mainnet": "1d7e57aa55817448", @@ -831,6 +877,7 @@ "BandOracle", "BandOracleConnectors", "MockSwapper", + "MockDexSwapper", "EVMAbiHelpers", "EVMTokenConnectors", "ERC4626Utils", @@ -1142,4 +1189,4 @@ ] } } -} +} \ No newline at end of file diff --git a/local/e2e_test.sh b/local/e2e_test.sh index 68bdefb1..fd0fd375 100755 --- a/local/e2e_test.sh +++ b/local/e2e_test.sh @@ -35,18 +35,18 @@ run_txn "Creating YieldVault[0]" \ A.0ae53cb6e3f42a79.FlowToken.Vault \ 100.0 \ --signer test-user \ - --gas-limit 9999 + --compute-limit 9999 run_txn "Depositing 20.0 to YieldVault[0]" \ ./cadence/transactions/flow-yield-vaults/deposit_to_yield_vault.cdc 0 20.0 --signer test-user \ - --gas-limit 9999 + --compute-limit 9999 run_txn "Withdrawing 10.0 from YieldVault[0]" \ ./cadence/transactions/flow-yield-vaults/withdraw_from_yield_vault.cdc 0 10.0 --signer test-user \ - --gas-limit 9999 + --compute-limit 9999 run_txn "Closing YieldVault[0]" \ ./cadence/transactions/flow-yield-vaults/close_yield_vault.cdc 0 --signer test-user \ - --gas-limit 9999 + --compute-limit 9999 echo "✅ All E2E transactions SEALED successfully!" diff --git a/local/setup_bridged_tokens.sh b/local/setup_bridged_tokens.sh index 0c64b43b..aa352d1f 100755 --- a/local/setup_bridged_tokens.sh +++ b/local/setup_bridged_tokens.sh @@ -3,17 +3,17 @@ source ./local/punchswap/punchswap.env USDC_ADDR_LOWER=$(echo ${USDC_ADDR#0x} | tr '[:upper:]' '[:lower:]') echo "bridge USDC to Cadence" -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_evm_address.cdc $USDC_ADDR --gas-limit 9999 --signer emulator-flow-yield-vaults +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_evm_address.cdc $USDC_ADDR --compute-limit 9999 --signer emulator-flow-yield-vaults echo "set USDC token price" flow transactions send ./cadence/transactions/mocks/oracle/set_price.cdc "A.f8d6e0586b0a20c7.EVMVMBridgedToken_${USDC_ADDR_LOWER}.Vault" 1.0 --signer emulator-flow-yield-vaults echo "bridge WBTC to Cadence" -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_evm_address.cdc $WBTC_ADDR --gas-limit 9999 --signer emulator-flow-yield-vaults +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_evm_address.cdc $WBTC_ADDR --compute-limit 9999 --signer emulator-flow-yield-vaults # this step is done earlier # echo "bridge MOET to EVM" -# flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.045a1763c93006ca.MOET.Vault" --gas-limit 9999 --signer emulator-flow-yield-vaults +# flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.045a1763c93006ca.MOET.Vault" --compute-limit 9999 --signer emulator-flow-yield-vaults #flow transactions send ../cadence/tests/transactions/create_univ3_pool.cdc @@ -39,7 +39,7 @@ cast send $USDC_ADDR "approve(address,uint256)" $POSITION_MANAGER $MAX_UINT \ echo "transfer MOET" -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/tokens/bridge_tokens_to_any_evm_address.cdc "A.045a1763c93006ca.MOET.Vault" 100000.0 $OWNER --gas-limit 9999 --signer emulator-flow-yield-vaults +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/tokens/bridge_tokens_to_any_evm_address.cdc "A.045a1763c93006ca.MOET.Vault" 100000.0 $OWNER --compute-limit 9999 --signer emulator-flow-yield-vaults # create position / add liquidity diff --git a/local/setup_emulator.sh b/local/setup_emulator.sh index c726fb5d..65ffddbf 100755 --- a/local/setup_emulator.sh +++ b/local/setup_emulator.sh @@ -6,7 +6,7 @@ flow deps install --skip-alias --skip-deployments echo "deploy MOET & bridge MOET to EVM" flow accounts add-contract ./lib/FlowCreditMarket/cadence/contracts/MOET.cdc 1000000.00000000 --signer emulator-flow-yield-vaults -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.045a1763c93006ca.MOET.Vault" --gas-limit 9999 --signer emulator-flow-yield-vaults +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.045a1763c93006ca.MOET.Vault" --compute-limit 9999 --signer emulator-flow-yield-vaults # execute emulator deployment flow deploy @@ -23,7 +23,7 @@ flow transactions send ./cadence/transactions/mocks/oracle/set_price.cdc 'A.045a # create Pool with MOET as default token flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-factory/create_and_store_pool.cdc 'A.045a1763c93006ca.MOET.Vault' --signer emulator-flow-yield-vaults # add FLOW as supported token - params: collateralFactor, borrowFactor, depositRate, depositCapacityCap -flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_simple_interest_curve.cdc \ +flow transactions send ./lib/FlowCreditMarket/cadence/transactions/flow-credit-market/pool-governance/add_supported_token_zero_rate_curve.cdc \ 'A.0ae53cb6e3f42a79.FlowToken.Vault' \ 0.8 \ 1.0 \ @@ -66,5 +66,5 @@ flow transactions send ./lib/FlowCreditMarket/cadence/tests/transactions/flow-cr TIDAL_COA=0x$(flow scripts execute ./lib/flow-evm-bridge/cadence/scripts/evm/get_evm_address_string.cdc 045a1763c93006ca --format inline | sed -E 's/"([^"]+)"/\1/') echo $TIDAL_COA -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/flow-token/transfer_flow_to_cadence_or_evm.cdc $TIDAL_COA 100.0 --signer emulator-flow-yield-vaults --gas-limit 9999 +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/flow-token/transfer_flow_to_cadence_or_evm.cdc $TIDAL_COA 100.0 --signer emulator-flow-yield-vaults --compute-limit 9999 diff --git a/local/setup_mainnet.sh b/local/setup_mainnet.sh index 5982c6d5..d5bf83fd 100755 --- a/local/setup_mainnet.sh +++ b/local/setup_mainnet.sh @@ -12,7 +12,7 @@ flow transactions send ./cadence/transactions/mocks/oracle/set_price.cdc 'A.1654 echo "bridge YieldToken to Cadence" flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_evm_address.cdc 0xc52E820d2D6207D18667a97e2c6Ac22eB26E803c --network mainnet --signer mainnet-admin echo "bridge MOET to EVM" -flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.6b00ff876c299c61.MOET.Vault" --gas-limit 9999 --network mainnet --signer mainnet-flow-credit-market-deployer +flow transactions send ./lib/flow-evm-bridge/cadence/transactions/bridge/onboarding/onboard_by_type_identifier.cdc "A.6b00ff876c299c61.MOET.Vault" --compute-limit 9999 --network mainnet --signer mainnet-flow-credit-market-deployer # configure FlowCreditMarket # @@ -210,7 +210,7 @@ flow transactions send ./lib/FlowCreditMarket/cadence/tests/transactions/flow-cr # TODO # setup coa and transfer flow to it # TIDAL_COA=0x$(flow scripts execute ./lib/flow-evm-bridge/cadence/scripts/evm/get_evm_address_string.cdc 0xb1d63873c3cc9f79 --format inline --network mainnet | sed -E 's/"([^"]+)"/\1/') -# flow transactions send ./lib/flow-evm-bridge/cadence/transactions/flow-token/transfer_flow_to_cadence_or_evm.cdc $TIDAL_COA 100.0 --network mainnet --signer mainnet-admin --gas-limit 9999 +# flow transactions send ./lib/flow-evm-bridge/cadence/transactions/flow-token/transfer_flow_to_cadence_or_evm.cdc $TIDAL_COA 100.0 --network mainnet --signer mainnet-admin --compute-limit 9999 # # # sanity test