diff --git a/app/markets/components/MarketTableBody.tsx b/app/markets/components/MarketTableBody.tsx
index a8def89f..2892f5f2 100644
--- a/app/markets/components/MarketTableBody.tsx
+++ b/app/markets/components/MarketTableBody.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { Tooltip } from '@nextui-org/tooltip';
+import { Tooltip, Button } from '@nextui-org/react';
import { motion, AnimatePresence } from 'framer-motion';
import Image from 'next/image';
import { FaShieldAlt } from 'react-icons/fa';
@@ -155,19 +155,19 @@ export function MarketTableBody({
)}
-
-
+ |
+
+
+
|
diff --git a/app/positions/components/PositionsSummaryTable.tsx b/app/positions/components/PositionsSummaryTable.tsx
index 81c198e7..c879c5ae 100644
--- a/app/positions/components/PositionsSummaryTable.tsx
+++ b/app/positions/components/PositionsSummaryTable.tsx
@@ -365,9 +365,8 @@ export function PositionsSummaryTable({
|
-
-
-
+ |
+
+
+
+
|
);
diff --git a/src/components/supplyModal.tsx b/src/components/supplyModal.tsx
index 809e2619..41756b73 100644
--- a/src/components/supplyModal.tsx
+++ b/src/components/supplyModal.tsx
@@ -15,7 +15,7 @@ import { usePermit2 } from '@/hooks/usePermit2';
import { useTransactionWithToast } from '@/hooks/useTransactionWithToast';
import { formatBalance } from '@/utils/balance';
import { getExplorerURL } from '@/utils/external';
-import { getBundlerV2, getIRMTitle } from '@/utils/morpho';
+import { getBundlerV2, getIRMTitle, MONARCH_TX_IDENTIFIER } from '@/utils/morpho';
import { findToken } from '@/utils/tokens';
import { Market } from '@/utils/types';
import OracleVendorBadge from './OracleVendorBadge';
@@ -164,11 +164,11 @@ export function SupplyModal({ market, onClose }: SupplyModalProps): JSX.Element
await sendTransactionAsync({
account,
to: getBundlerV2(market.morphoBlue.chain.id),
- data: encodeFunctionData({
+ data: (encodeFunctionData({
abi: morphoBundlerAbi,
functionName: 'multicall',
args: [txs],
- }),
+ }) + MONARCH_TX_IDENTIFIER) as `0x${string}`,
value: useEth ? supplyAmount : 0n,
});
diff --git a/src/hooks/useMultiMarketSupply.ts b/src/hooks/useMultiMarketSupply.ts
index fcd06d93..54b574c8 100644
--- a/src/hooks/useMultiMarketSupply.ts
+++ b/src/hooks/useMultiMarketSupply.ts
@@ -7,7 +7,7 @@ import { usePermit2 } from '@/hooks/usePermit2';
import { useTransactionWithToast } from '@/hooks/useTransactionWithToast';
import { NetworkToken } from '@/types/token';
import { formatBalance } from '@/utils/balance';
-import { getBundlerV2 } from '@/utils/morpho';
+import { getBundlerV2, MONARCH_TX_IDENTIFIER } from '@/utils/morpho';
import { SupportedNetworks } from '@/utils/networks';
import { Market } from '@/utils/types';
import { useERC20Approval } from './useERC20Approval';
@@ -149,11 +149,11 @@ export function useMultiMarketSupply(
await sendTransactionAsync({
account,
to: getBundlerV2(chainId),
- data: encodeFunctionData({
+ data: (encodeFunctionData({
abi: morphoBundlerAbi,
functionName: 'multicall',
args: [txs],
- }),
+ }) + MONARCH_TX_IDENTIFIER) as `0x${string}`,
value: useEth ? totalAmount : 0n,
});
diff --git a/src/hooks/useRebalance.ts b/src/hooks/useRebalance.ts
index 1abc56e2..deea1b36 100644
--- a/src/hooks/useRebalance.ts
+++ b/src/hooks/useRebalance.ts
@@ -5,7 +5,7 @@ import { useAccount, useReadContract, useSignTypedData } from 'wagmi';
import morphoBundlerAbi from '@/abis/bundlerV2';
import morphoAbi from '@/abis/morpho';
import { useTransactionWithToast } from '@/hooks/useTransactionWithToast';
-import { getBundlerV2, MORPHO } from '@/utils/morpho';
+import { getBundlerV2, MONARCH_TX_IDENTIFIER, MORPHO } from '@/utils/morpho';
import { GroupedPosition, RebalanceAction } from '@/utils/types';
import { usePermit2 } from './usePermit2';
@@ -270,11 +270,11 @@ export const useRebalance = (groupedPosition: GroupedPosition, onRebalance?: ()
transactions.push(...supplyTxs);
// Execute all transactions
- const multicallTx = encodeFunctionData({
+ const multicallTx = (encodeFunctionData({
abi: morphoBundlerAbi,
functionName: 'multicall',
args: [transactions],
- });
+ }) + MONARCH_TX_IDENTIFIER) as `0x${string}`;
await sendTransactionAsync({
account,
diff --git a/src/utils/morpho.ts b/src/utils/morpho.ts
index 6b62b62f..3f0b4b04 100644
--- a/src/utils/morpho.ts
+++ b/src/utils/morpho.ts
@@ -4,6 +4,9 @@ import { UserTxTypes } from './types';
export const MORPHO = '0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb';
+// appended to the end of datahash to identify a monarch tx
+export const MONARCH_TX_IDENTIFIER = 'beef';
+
export const getBundlerV2 = (chain: SupportedNetworks) => {
if (chain === SupportedNetworks.Base) {
// ChainAgnosticBundlerV2