From 86823b33d4dd02ad1ef176d250404c4047e2cfb6 Mon Sep 17 00:00:00 2001 From: JY20 Date: Wed, 11 Jun 2025 20:26:13 -0400 Subject: [PATCH] fixing decimals with trade and stake bugs --- trivex_contract/src/trivexaction.cairo | 5 ++++- trivex_web/src/assets/data.json | 13 ++----------- trivex_web/src/components/AppContract.jsx | 6 +++--- trivex_web/src/components/Selection.jsx | 14 ++++++++++++-- trivex_web/src/pages/StrategyPage.js | 6 +++++- 5 files changed, 26 insertions(+), 18 deletions(-) diff --git a/trivex_contract/src/trivexaction.cairo b/trivex_contract/src/trivexaction.cairo index a02e259..304dfce 100644 --- a/trivex_contract/src/trivexaction.cairo +++ b/trivex_contract/src/trivexaction.cairo @@ -108,7 +108,7 @@ mod TrivexAction { quantity: quantity, average_price: average_price, leverage: leverage, - total_value: total_value, + total_value: average_price*quantity, action: action, datetime: get_block_timestamp() }; @@ -298,6 +298,9 @@ mod TrivexAction { if success { self.staked.write((token_address, caller), current_staked - amount); + + let current_total_staked = self.total_staked.read(); + self.total_staked.write(current_total_staked - amount); } } diff --git a/trivex_web/src/assets/data.json b/trivex_web/src/assets/data.json index 5864022..535d188 100644 --- a/trivex_web/src/assets/data.json +++ b/trivex_web/src/assets/data.json @@ -1,17 +1,8 @@ [ - { - "label": "Create New Strategy", - "value": "newStrategy", - "tags": "Custom", - "cost": 0, - "creator": "0x0000000000000000000000000000000000000000000000000000000000000000", - "rating": 0, - "description": "Create your own custom strategy by providing parameters and implementation details." - }, { "label": "Average Rebalance", "value": "averageRebalance", - "tags": "Low Frequency", + "tags": "Mid Frequency", "cost": 1, "creator": "0x012B099F50C3CbCc82ccF7Ee557c9d60255c35C359eA6615435B761Ec3336EC8", "rating": 4.5, @@ -20,7 +11,7 @@ { "label": "Momentum", "value": "momentum", - "tags": "Low Frequency", + "tags": "Mid Frequency", "cost": 2, "creator": "0x012B099F50C3CbCc82ccF7Ee557c9d60255c35C359eA6615435B761Ec3336EC8", "rating": 4, diff --git a/trivex_web/src/components/AppContract.jsx b/trivex_web/src/components/AppContract.jsx index 3c78f53..4cc6d5d 100644 --- a/trivex_web/src/components/AppContract.jsx +++ b/trivex_web/src/components/AppContract.jsx @@ -5,8 +5,8 @@ const hash_provider = new RpcProvider({ nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_7', }); -const classHash = '0x04074c9358508a35eb68e9a785fecffededed939e27705539df6ee5e7efb01f8'; -const contractAddress = '0x074b86ea6740d99816f83b83e30895c88b8e628ff8cbf216cc3310022781228d'; +const classHash = '0x007fe76700f3cf1cbe20df4447ef69b7d3c74fcf35df60e5c6134cb43f202567'; +const contractAddress = '0x066ec78f1ec3aafd617a49890d7007d0d7961139bea637beb2413b6a606efbbd'; const usdcTokenAddress = '0x53b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd5080'; const strkTokenAddress = '0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; @@ -176,7 +176,7 @@ export class AppContract { quantity: Number(item.quantity)/1000000, average_price: Number(item.average_price)/1000000, leverage: Number(item.leverage), - total_value: Number(item.total_value)/1000000, + total_value: Number((Number(item.total_value)/1000000/1000000).toFixed(7)), action: shortString.decodeShortString(item.action), datetime: new Date(Number(item.datetime) * 1000) })); diff --git a/trivex_web/src/components/Selection.jsx b/trivex_web/src/components/Selection.jsx index e7e7a6d..5063d2d 100644 --- a/trivex_web/src/components/Selection.jsx +++ b/trivex_web/src/components/Selection.jsx @@ -18,9 +18,19 @@ const StyledButton = styled(Button)(({ theme }) => ({ } })); +const newStrategyItem = { + "label": "Create New Strategy", + "value": "newStrategy", + "tags": "Custom", + "cost": 0, + "creator": "0x0000000000000000000000000000000000000000000000000000000000000000", + "rating": 0, + "description": "Create your own custom strategy by providing parameters and implementation details." +} + const getTagColor = (tag) => { switch (tag) { - case 'Low Frequency': + case 'Mid Frequency': return { bg: '#9C27B0', color: '#FFFFFF' }; case 'Calculator': return { bg: '#673AB7', color: '#FFFFFF' }; @@ -44,7 +54,7 @@ const Selection = ({ selections, onSelect }) => { } - onClick={() => onSelect({ value: 'newStrategy' })} + onClick={() => onSelect(newStrategyItem)} > Create Strategy diff --git a/trivex_web/src/pages/StrategyPage.js b/trivex_web/src/pages/StrategyPage.js index a765fab..016f802 100644 --- a/trivex_web/src/pages/StrategyPage.js +++ b/trivex_web/src/pages/StrategyPage.js @@ -71,7 +71,11 @@ const StrategyPage = () => { const handleSelect = (item) => { setStrategy(item.value); const index = data.findIndex(strategy => strategy.value === item.value); - setSelectedInfo(data[index]); + if(index == -1){ + setSelectedInfo(item); + }else { + setSelectedInfo(data[index]); + } console.log(`You selected the strategy: ${item.value} at index: ${index}`); };