From 9ba59a037abd3584ec8fac8d06f9cb0162ea70c8 Mon Sep 17 00:00:00 2001 From: dcatki <42241987+dcatki@users.noreply.github.com> Date: Sat, 6 Jul 2024 21:07:56 +0100 Subject: [PATCH 1/5] Update limit-order-multiple.rain --- strategies/limit-order-multiple.rain | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/strategies/limit-order-multiple.rain b/strategies/limit-order-multiple.rain index d6d6274..22ecb64 100644 --- a/strategies/limit-order-multiple.rain +++ b/strategies/limit-order-multiple.rain @@ -1,3 +1,7 @@ +# WLTH/Base +# 5 buy and sell targets +# Each target you set buy price and amount and sell price and amount + networks: polygon-dolz: rpc: https://polygon-mainnet.g.alchemy.com/v2/y3BXawVv5uuP_g8BaDlKbKoTBGHo9zD9 @@ -327,4 +331,4 @@ deployments: #handle-io trade-count-key: hash(order-hash() count-key), trade-count: get(trade-count-key), - :set(trade-count-key add(trade-count 1)); \ No newline at end of file + :set(trade-count-key add(trade-count 1)); From 76b863a17a6b3aa458eebf383c1ad3e99c1ebeae Mon Sep 17 00:00:00 2001 From: dcatki <42241987+dcatki@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:42:49 +0100 Subject: [PATCH 2/5] Update and rename strategies/limit-order-multiple.rain to strategies/wlth/limit-order-multiple.rain @Siddharth2207 here I've updated the strategy header and set up the network, contracts etc --- .../{ => wlth}/limit-order-multiple.rain | 90 ++++++++++--------- 1 file changed, 49 insertions(+), 41 deletions(-) rename strategies/{ => wlth}/limit-order-multiple.rain (84%) diff --git a/strategies/limit-order-multiple.rain b/strategies/wlth/limit-order-multiple.rain similarity index 84% rename from strategies/limit-order-multiple.rain rename to strategies/wlth/limit-order-multiple.rain index 22ecb64..c7324f1 100644 --- a/strategies/limit-order-multiple.rain +++ b/strategies/wlth/limit-order-multiple.rain @@ -1,60 +1,68 @@ -# WLTH/Base +# Limit Order Strategy # 5 buy and sell targets # Each target you set buy price and amount and sell price and amount +# Target Network: Base +# Quote (Input / Incoming): USDC or WLTH +# Base (Output / Outgoing): WLTH or USDC +# Token contract: https://basescan.org/address/0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D +# Token github: NA +# Liquidity protocol: Uniswap V3 +# Liquidity pool address: https://www.dextools.io/app/en/base/pair-explorer/0x1536ee1506e24e5a36be99c73136cd82907a902e?t=1717921711270 +# Liquidity pool fee: 0.3% networks: - polygon-dolz: - rpc: https://polygon-mainnet.g.alchemy.com/v2/y3BXawVv5uuP_g8BaDlKbKoTBGHo9zD9 - chain-id: 137 - network-id: 137 - currency: MATIC + base: + rpc: https://mainnet.base.org + chain-id: 8453 + network-id: 8453 + currency: ETH subgraphs: - polygon-dolz: https://api.thegraph.com/subgraphs/name/h20liquidity/polygon-0xc95a5f8e + base: https://api.thegraph.com/subgraphs/name/h20liquidity/base-0x2aee87 orderbooks: - polygon-dolz: - address: 0xc95A5f8eFe14d7a20BD2E5BAFEC4E71f8Ce0B9A6 - network: polygon-dolz - subgraph: polygon-dolz + base: + address: 0x2AeE87D75CD000583DAEC7A28db103B1c0c18b76 + network: base + subgraph: base deployers: - polygon-dolz: - address: 0xB3aC858bEAf7814892d3946A8C109A7D701DF8E7 - network: polygon-dolz + base: + address: 0xfca89cD12Ba1346b1ac570ed988AB43b812733fe + network: base tokens: - polygon-dolz: - network: polygon-dolz - address: 0x6ab4E20f36ca48B61ECd66c0450fDf665Fa130be - polygon-usdt: - network: polygon-dolz - address: 0xc2132D05D31c914a87C6611C10748AEb04B58e8F + base-wlth: + network: base + address: 0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D + base-usdc: + network: base + address: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 orders: # vault-id generated with `openssl rand -hex 32` - polygon-dolz-sell: - orderbook: polygon-dolz + base-wlth-sell: + orderbook: base inputs: - - token: polygon-usdt - vault-id: 0x6049f8ee79b82dd5bc82b368114bb0a69f34d539b04b43208241e1f68da134a8 + - token: base-usdc + vault-id: outputs: - - token: polygon-dolz - vault-id: 0x6049f8ee79b82dd5bc82b368114bb0a69f34d539b04b43208241e1f68da134a8 - polygon-dolz-buy: - orderbook: polygon-dolz + - token: base-wlth + vault-id: + base-wlth-buy: + orderbook: base inputs: - - token: polygon-dolz - vault-id: 0x6049f8ee79b82dd5bc82b368114bb0a69f34d539b04b43208241e1f68da134a8 + - token: base-wlth + vault-id: outputs: - - token: polygon-usdt - vault-id: 0x6049f8ee79b82dd5bc82b368114bb0a69f34d539b04b43208241e1f68da134a8 + - token: base-usdc + vault-id: scenarios: limit-orders: - network: polygon-dolz - deployer: polygon-dolz - orderbook: polygon-dolz + network: base + deployer: base + orderbook: base bindings: # Ask for now, registry in future. uniswap-words: 0xbc609623F5020f6Fc7481024862cD5EE3FFf52D7 @@ -127,7 +135,7 @@ scenarios: charts: - buy-dolz-metrics: + buy-wlth-metrics: scenario: limit-orders.buy.metric metrics: - label: io-ratio-1 @@ -151,7 +159,7 @@ charts: - label: amount-5 value: 0.3.11 - sell-dolz-metrics: + sell-wlth-metrics: scenario: limit-orders.sell.metric metrics: - label: io-ratio-1 @@ -244,12 +252,12 @@ charts: y: 0.3.0 deployments: - dolz-buy: + wlth-buy: scenario: limit-orders.buy.prod - order: polygon-dolz-buy - dolz-sell: + order: base-wlth-buy + wlth-sell: scenario: limit-orders.sell.prod - order: polygon-dolz-sell + order: base-wlth-sell --- #uniswap-words !The subparser for the Uniswap words #orderbook-subparser !The subparser for the Orderbook words From 9654e342080c5f9e2dd1bd25333a7fe3c856bbff Mon Sep 17 00:00:00 2001 From: dcatki <42241987+dcatki@users.noreply.github.com> Date: Sun, 7 Jul 2024 20:44:59 +0100 Subject: [PATCH 3/5] Update limit-order-multiple.rain --- strategies/wlth/limit-order-multiple.rain | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/strategies/wlth/limit-order-multiple.rain b/strategies/wlth/limit-order-multiple.rain index c7324f1..67b4659 100644 --- a/strategies/wlth/limit-order-multiple.rain +++ b/strategies/wlth/limit-order-multiple.rain @@ -135,7 +135,7 @@ scenarios: charts: - buy-wlth-metrics: + base-wlth-buy-metrics: scenario: limit-orders.buy.metric metrics: - label: io-ratio-1 @@ -159,7 +159,7 @@ charts: - label: amount-5 value: 0.3.11 - sell-wlth-metrics: + base-wlth-sell-metrics: scenario: limit-orders.sell.metric metrics: - label: io-ratio-1 @@ -252,10 +252,10 @@ charts: y: 0.3.0 deployments: - wlth-buy: + base-wlth-buy: scenario: limit-orders.buy.prod order: base-wlth-buy - wlth-sell: + base-wlth-sell: scenario: limit-orders.sell.prod order: base-wlth-sell --- From 7ad784bfd30788b77a61429ce33cf0c9cd1a5035 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Mon, 8 Jul 2024 13:00:53 +0530 Subject: [PATCH 4/5] wlth-limit-order-multiple --- ...le.rain => wlth-limit-order-multiple.rain} | 74 +++++------ .../WlthLimitOrderMultipleTest.t.sol} | 118 ++++++++++-------- 2 files changed, 100 insertions(+), 92 deletions(-) rename strategies/wlth/{limit-order-multiple.rain => wlth-limit-order-multiple.rain} (84%) rename test/{PolygonLimitOrders.t.sol => wlth/WlthLimitOrderMultipleTest.t.sol} (72%) diff --git a/strategies/wlth/limit-order-multiple.rain b/strategies/wlth/wlth-limit-order-multiple.rain similarity index 84% rename from strategies/wlth/limit-order-multiple.rain rename to strategies/wlth/wlth-limit-order-multiple.rain index 67b4659..6afd04e 100644 --- a/strategies/wlth/limit-order-multiple.rain +++ b/strategies/wlth/wlth-limit-order-multiple.rain @@ -11,79 +11,79 @@ # Liquidity pool fee: 0.3% networks: - base: - rpc: https://mainnet.base.org + base-community: + rpc: https://rpc.ankr.com/base/8e4cac5728d95471ae55724953c7ae6f19a227ac05146276f09717692b732dae chain-id: 8453 network-id: 8453 currency: ETH subgraphs: - base: https://api.thegraph.com/subgraphs/name/h20liquidity/base-0x2aee87 + base-community: https://api.thegraph.com/subgraphs/name/h20liquidity/base-0x2aee87 orderbooks: - base: + base-community: address: 0x2AeE87D75CD000583DAEC7A28db103B1c0c18b76 - network: base - subgraph: base + network: base-community + subgraph: base-community deployers: - base: - address: 0xfca89cD12Ba1346b1ac570ed988AB43b812733fe - network: base + base-community: + address: 0x56394785a22b3BE25470a0e03eD9E0a939C47b9b + network: base-community tokens: base-wlth: - network: base + network: base-community address: 0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D base-usdc: - network: base + network: base-community address: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 orders: # vault-id generated with `openssl rand -hex 32` base-wlth-sell: - orderbook: base + orderbook: base-community inputs: - token: base-usdc - vault-id: + vault-id: 0x4cdcdc67a7a737779706b4490be2bef03155001562525dbe78200bc0839f8c35 outputs: - token: base-wlth - vault-id: + vault-id: 0x4cdcdc67a7a737779706b4490be2bef03155001562525dbe78200bc0839f8c35 base-wlth-buy: - orderbook: base + orderbook: base-community inputs: - token: base-wlth - vault-id: + vault-id: 0x4cdcdc67a7a737779706b4490be2bef03155001562525dbe78200bc0839f8c35 outputs: - token: base-usdc - vault-id: + vault-id: 0x4cdcdc67a7a737779706b4490be2bef03155001562525dbe78200bc0839f8c35 scenarios: limit-orders: - network: base - deployer: base - orderbook: base + network: base-community + deployer: base-community + orderbook: base-community bindings: # Ask for now, registry in future. - uniswap-words: 0xbc609623F5020f6Fc7481024862cD5EE3FFf52D7 - orderbook-subparser: 0x8f037f2a3fF2dee510486D9C63A47A245991a4C1 + uniswap-words: 0xD6B34F97d4A8Cb38D0544dB241CB3f335866f490 + orderbook-subparser: 0x8D96ea3EF24D7123882c51CE4325b89bc0d63f9e scenarios: buy: bindings: # io-ratio and amount for first order. - io-ratio-1: 100 + io-ratio-1: 35 ouptut-amount-1: 1 # io-ratio and amount for second order. - io-ratio-2: 105 + io-ratio-2: 36 ouptut-amount-2: 1.5 # io-ratio and amount for third order. - io-ratio-3: 110 + io-ratio-3: 37 ouptut-amount-3: 2 # io-ratio and amount for third order. - io-ratio-4: 115 + io-ratio-4: 38 ouptut-amount-4: 2.5 # io-ratio and amount for third order. - io-ratio-5: 120 + io-ratio-5: 39 ouptut-amount-5: 3 scenarios: prod: @@ -103,20 +103,20 @@ scenarios: sell: bindings: # io-ratio and amount for first order. - io-ratio-1: 0.0080 - ouptut-amount-1: 100 + io-ratio-1: 0.02 + ouptut-amount-1: 50 # io-ratio and amount for second order. - io-ratio-2: 0.0085 - ouptut-amount-2: 150 + io-ratio-2: 0.021 + ouptut-amount-2: 75 # io-ratio and amount for third order. - io-ratio-3: 0.0090 - ouptut-amount-3: 200 + io-ratio-3: 0.022 + ouptut-amount-3: 100 # io-ratio and amount for third order. - io-ratio-4: 0.0095 - ouptut-amount-4: 250 + io-ratio-4: 0.023 + ouptut-amount-4: 125 # io-ratio and amount for third order. - io-ratio-5: 0.0100 - ouptut-amount-5: 300 + io-ratio-5: 0.024 + ouptut-amount-5: 150 scenarios: prod: bindings: diff --git a/test/PolygonLimitOrders.t.sol b/test/wlth/WlthLimitOrderMultipleTest.t.sol similarity index 72% rename from test/PolygonLimitOrders.t.sol rename to test/wlth/WlthLimitOrderMultipleTest.t.sol index ca26da5..a23869d 100644 --- a/test/PolygonLimitOrders.t.sol +++ b/test/wlth/WlthLimitOrderMultipleTest.t.sol @@ -26,29 +26,29 @@ import "h20.test-std/lib/LibProcessStream.sol"; uint256 constant VAULT_ID = uint256(keccak256("vault")); -/// @dev https://polygonscan.com/address/0x6ab4E20f36ca48B61ECd66c0450fDf665Fa130be -IERC20 constant POLYGON_DOLZ = IERC20(0x6ab4E20f36ca48B61ECd66c0450fDf665Fa130be); +/// @dev https://basescan.org/address/0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D +IERC20 constant BASE_WLTH= IERC20(0x99b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D); -/// @dev https://polygonscan.com/address/0xc2132D05D31c914a87C6611C10748AEb04B58e8F -IERC20 constant POLYGON_USDT = IERC20(0xc2132D05D31c914a87C6611C10748AEb04B58e8F); +/// @dev https://basescan.org/address/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 +IERC20 constant BASE_USDC = IERC20(0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913); -function polygonDolzIo() pure returns (IO memory) { - return IO(address(POLYGON_DOLZ), 18, VAULT_ID); +function baseWlthIo() pure returns (IO memory) { + return IO(address(BASE_WLTH), 18, VAULT_ID); } -function polygonUsdtIo() pure returns (IO memory) { - return IO(address(POLYGON_USDT), 6, VAULT_ID); -} -contract DcaOracleUniv3Test is StrategyTests { +function baseUsdcIo() pure returns (IO memory) { + return IO(address(BASE_USDC), 6, VAULT_ID); +} + +contract WlthLimitOrderMultipleTest is StrategyTests { using SafeERC20 for IERC20; using Strings for address; - uint256 constant FORK_BLOCK_NUMBER = 59037467; - + uint256 constant FORK_BLOCK_NUMBER = 16817115; function selectFork() internal { - uint256 fork = vm.createFork(vm.envString("RPC_URL_POLYGON")); + uint256 fork = vm.createFork(vm.envString("RPC_URL_BASE")); vm.selectFork(fork); vm.rollFork(FORK_BLOCK_NUMBER); } @@ -60,35 +60,39 @@ contract DcaOracleUniv3Test is StrategyTests { function setUp() public { selectFork(); - PARSER = IParserV1(0x7A44459893F99b9d9a92d488eb5d16E4090f0545); - INTERPRETER = IInterpreterV2(0x762adD85a30A83722feF2e029087C9D110B6a7b3); - STORE = IInterpreterStoreV2(0x59401C9302E79Eb8AC6aea659B8B3ae475715e86); - EXPRESSION_DEPLOYER = IExpressionDeployerV3(0xB3aC858bEAf7814892d3946A8C109A7D701DF8E7); - ORDERBOOK = IOrderBookV3(0xc95A5f8eFe14d7a20BD2E5BAFEC4E71f8Ce0B9A6); - ARB_INSTANCE = IOrderBookV3ArbOrderTaker(0x9a8545FA798A7be7F8E1B8DaDD79c9206357C015); - ROUTE_PROCESSOR = IRouteProcessor(address(0xE7eb31f23A5BefEEFf76dbD2ED6AdC822568a5d2)); + PARSER = IParserV1(0xF836f2746B407136a5bCB515495949B1edB75184); + STORE = IInterpreterStoreV2(0x6E4b01603edBDa617002A077420E98C86595748E); + INTERPRETER = IInterpreterV2(0x379b966DC6B117dD47b5Fc5308534256a4Ab1BCC); + EXPRESSION_DEPLOYER = IExpressionDeployerV3(0x56394785a22b3BE25470a0e03eD9E0a939C47b9b); + ORDERBOOK = IOrderBookV3(0x2AeE87D75CD000583DAEC7A28db103B1c0c18b76); + ARB_INSTANCE = IOrderBookV3ArbOrderTaker(0x199b22ce0c9fD88476cCaA2d2aB253Af38BAE3Ae); + ROUTE_PROCESSOR = IRouteProcessor(address(0x83eC81Ae54dD8dca17C3Dd4703141599090751D1)); + EXTERNAL_EOA = address(0x654FEf5Fb8A1C91ad47Ba192F7AA81dd3C821427); + APPROVED_EOA = address(0x669845c29D9B1A64FFF66a55aA13EB4adB889a88); + ORDER_OWNER = address(0x19f95a84aa1C48A2c6a7B2d5de164331c86D030C); + EXTERNAL_EOA = address(0x654FEf5Fb8A1C91ad47Ba192F7AA81dd3C821427); APPROVED_EOA = address(0x669845c29D9B1A64FFF66a55aA13EB4adB889a88); ORDER_OWNER = address(0x19f95a84aa1C48A2c6a7B2d5de164331c86D030C); - } + } - function testPolygonLimitOrdersSell() public { + function testWlthLimitOrdersSell() public { IO[] memory inputVaults = new IO[](1); - inputVaults[0] = polygonUsdtIo(); + inputVaults[0] = baseUsdcIo(); IO[] memory outputVaults = new IO[](1); - outputVaults[0] = polygonDolzIo(); + outputVaults[0] = baseWlthIo(); LibStrategyDeployment.StrategyDeployment memory strategy = LibStrategyDeployment.StrategyDeployment( - getEncodedBuyDolzRoute(address(ARB_INSTANCE)), - getEncodedSellDolzRoute(address(ARB_INSTANCE)), + getEncodedBuyWlthRoute(address(ARB_INSTANCE)), + getEncodedSellWlthRoute(address(ARB_INSTANCE)), 0, 0, 1e6, 10000e18, 0, 0, - "strategies/limit-order-multiple.rain", + "strategies/wlth/wlth-limit-order-multiple.rain", "limit-orders.sell.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -106,8 +110,8 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 0.008e18); - assertEq(strategyAmount, 100e18); + assertEq(strategyRatio, 0.02e18); + assertEq(strategyAmount, 50e18); } { vm.recordLogs(); @@ -117,8 +121,8 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 0.0085e18); - assertEq(strategyAmount, 150e18); + assertEq(strategyRatio, 0.021e18); + assertEq(strategyAmount, 75e18); } { vm.recordLogs(); @@ -128,8 +132,8 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 0.0090e18); - assertEq(strategyAmount, 200e18); + assertEq(strategyRatio, 0.022e18); + assertEq(strategyAmount, 100e18); } { vm.recordLogs(); @@ -139,8 +143,8 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 0.0095e18); - assertEq(strategyAmount, 250e18); + assertEq(strategyRatio, 0.023e18); + assertEq(strategyAmount, 125e18); } { vm.recordLogs(); @@ -150,32 +154,33 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 0.01e18); - assertEq(strategyAmount, 300e18); + assertEq(strategyRatio, 0.024e18); + assertEq(strategyAmount, 150e18); } { vm.expectRevert("Max order count"); takeArbOrder(order, strategy.takerRoute, strategy.inputTokenIndex, strategy.outputTokenIndex); - } + } + } - function testPolygonLimitOrdersBuy() public { + function testWlthLimitOrdersBuy() public { IO[] memory inputVaults = new IO[](1); - inputVaults[0] = polygonDolzIo(); + inputVaults[0] = baseWlthIo(); IO[] memory outputVaults = new IO[](1); - outputVaults[0] = polygonUsdtIo(); + outputVaults[0] = baseUsdcIo(); LibStrategyDeployment.StrategyDeployment memory strategy = LibStrategyDeployment.StrategyDeployment( - getEncodedSellDolzRoute(address(ARB_INSTANCE)), - getEncodedBuyDolzRoute(address(ARB_INSTANCE)), + getEncodedSellWlthRoute(address(ARB_INSTANCE)), + getEncodedBuyWlthRoute(address(ARB_INSTANCE)), 0, 0, - 2000000e18, + 100000e18, 10000e6, 0, 0, - "strategies/limit-order-multiple.rain", + "strategies/wlth/wlth-limit-order-multiple.rain", "limit-orders.buy.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -202,7 +207,7 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 100e18); + assertEq(strategyRatio, 35e18); assertEq(strategyAmount, 1e18); } { @@ -213,7 +218,7 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 105e18); + assertEq(strategyRatio, 36e18); assertEq(strategyAmount, 1.5e18); } { @@ -224,7 +229,7 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 110e18); + assertEq(strategyRatio, 37e18); assertEq(strategyAmount, 2e18); } { @@ -235,7 +240,7 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 115e18); + assertEq(strategyRatio, 38e18); assertEq(strategyAmount, 2.5e18); } { @@ -246,7 +251,7 @@ contract DcaOracleUniv3Test is StrategyTests { Vm.Log[] memory entries = vm.getRecordedLogs(); (uint256 strategyAmount, uint256 strategyRatio) = getCalculationContext(entries); - assertEq(strategyRatio, 120e18); + assertEq(strategyRatio, 39e18); assertEq(strategyAmount, 3e18); } { @@ -255,18 +260,21 @@ contract DcaOracleUniv3Test is StrategyTests { } } - function getEncodedBuyDolzRoute(address toAddress) internal pure returns (bytes memory) { + function getEncodedBuyWlthRoute(address toAddress) internal pure returns (bytes memory) { bytes memory ROUTE_PRELUDE = - hex"02c2132D05D31c914a87C6611C10748AEb04B58e8F01ffff01C56DDB5C93B8E92B9409DCE43a9169aa643495b800"; + hex"02833589fCD6eDb6E08f4c7C32D4f71b54bdA0291301ffff011536EE1506e24e5A36Be99C73136cD82907A902E01"; return abi.encode(bytes.concat(ROUTE_PRELUDE, abi.encodePacked(address(toAddress)))); } - function getEncodedSellDolzRoute(address toAddress) internal pure returns (bytes memory) { + function getEncodedSellWlthRoute(address toAddress) internal pure returns (bytes memory) { bytes memory ROUTE_PRELUDE = - hex"026ab4E20f36ca48B61ECd66c0450fDf665Fa130be01ffff01C56DDB5C93B8E92B9409DCE43a9169aa643495b801"; + hex"0299b2B1A2aDB02B38222ADcD057783D7e5D1FCC7D01ffff011536EE1506e24e5A36Be99C73136cD82907A902E00"; return abi.encode(bytes.concat(ROUTE_PRELUDE, abi.encodePacked(address(toAddress)))); } -} \ No newline at end of file +} + + + From c0c1c677cc5e7fcec46a27355a92c5d731b0292e Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Mon, 8 Jul 2024 13:43:19 +0530 Subject: [PATCH 5/5] fix --- test/DcaOracleUniv3Test.t.sol | 14 +++++++------- test/StreamingDcaTest.t.sol | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/test/DcaOracleUniv3Test.t.sol b/test/DcaOracleUniv3Test.t.sol index 7bc9c62..90ec60c 100644 --- a/test/DcaOracleUniv3Test.t.sol +++ b/test/DcaOracleUniv3Test.t.sol @@ -92,7 +92,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e6, expectedRatio, expectedAmountOutputMax, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.buy.deviation.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -126,7 +126,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e18, expectedRatio, expectedAmountOutputMax, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.sell.deviation.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -156,7 +156,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e6, 0, 0, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.buy.deviation.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -205,7 +205,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e18, 0, 0, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.sell.deviation.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -286,7 +286,7 @@ contract DcaOracleUniv3Test is StrategyTests { 100000e6, expectedRatio, expectedAmountOutputMax, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.buy.test", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -337,7 +337,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e18, expectedRatio, expectedAmountOutputMax, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.sell.test", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -370,7 +370,7 @@ contract DcaOracleUniv3Test is StrategyTests { 10000e18, 0, 0, - "strategies/dca-oracle-polygon-univ3.rain", + "strategies/dca-oracle-univ3.rain", "polygon-dolz-dca-univ3.sell.deviation.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", diff --git a/test/StreamingDcaTest.t.sol b/test/StreamingDcaTest.t.sol index 2b202fc..9f01894 100644 --- a/test/StreamingDcaTest.t.sol +++ b/test/StreamingDcaTest.t.sol @@ -93,7 +93,7 @@ contract DcaOracleUniv3Test is StrategyTests { 100000e18, expectedIoRatio, expectedOutputMax, - "strategies/polygon-streaming-dca.rain", + "strategies/dca-streaming.rain", "streaming-dca.sell-dolz.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -127,7 +127,7 @@ contract DcaOracleUniv3Test is StrategyTests { 100000e6, expectedIoRatio, expectedOutputMax, - "strategies/polygon-streaming-dca.rain", + "strategies/dca-streaming.rain", "streaming-dca.buy-dolz.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -157,7 +157,7 @@ contract DcaOracleUniv3Test is StrategyTests { 100000e18, 0, 0, - "strategies/polygon-streaming-dca.rain", + "strategies/dca-streaming.rain", "streaming-dca.sell-dolz.test", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml", @@ -190,7 +190,7 @@ contract DcaOracleUniv3Test is StrategyTests { 100000e18, 0, 0, - "strategies/polygon-streaming-dca.rain", + "strategies/dca-streaming.rain", "streaming-dca.sell-dolz.prod", "./lib/h20.test-std/lib/rain.orderbook", "./lib/h20.test-std/lib/rain.orderbook/Cargo.toml",