Differentiate simple eth transfers from transfer method calls
This commit is contained in:
parent
ea1073ca66
commit
693e0c6611
|
@ -6,11 +6,22 @@ type MethodNameProps = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const MethodName: React.FC<MethodNameProps> = ({ data }) => {
|
const MethodName: React.FC<MethodNameProps> = ({ data }) => {
|
||||||
const methodName = use4Bytes(data);
|
const rawFourBytes = data.slice(0, 10);
|
||||||
|
const methodName = use4Bytes(rawFourBytes);
|
||||||
|
const isSimpleTransfer = data === "0x";
|
||||||
|
const methodTitle = isSimpleTransfer
|
||||||
|
? "ETH Transfer"
|
||||||
|
: methodName === rawFourBytes
|
||||||
|
? methodName
|
||||||
|
: `${methodName} [${rawFourBytes}]`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="bg-blue-50 rounded-lg px-3 py-1 min-h-full flex items-baseline text-xs max-w-max">
|
<div
|
||||||
<p className="truncate" title={methodName}>
|
className={`${
|
||||||
|
isSimpleTransfer ? "bg-yellow-100" : "bg-blue-50"
|
||||||
|
} rounded-lg px-3 py-1 min-h-full flex items-baseline text-xs max-w-max`}
|
||||||
|
>
|
||||||
|
<p className="truncate" title={methodTitle}>
|
||||||
{methodName}
|
{methodName}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,12 +4,10 @@ import { fourBytesURL } from "./url";
|
||||||
|
|
||||||
const cache = new Map<string, string | null>();
|
const cache = new Map<string, string | null>();
|
||||||
|
|
||||||
export const use4Bytes = (data: string) => {
|
export const use4Bytes = (rawFourBytes: string) => {
|
||||||
const runtime = useContext(RuntimeContext);
|
const runtime = useContext(RuntimeContext);
|
||||||
const assetsURLPrefix = runtime.config?.assetsURLPrefix;
|
const assetsURLPrefix = runtime.config?.assetsURLPrefix;
|
||||||
|
|
||||||
let rawFourBytes = data.slice(0, 10);
|
|
||||||
|
|
||||||
const [name, setName] = useState<string>();
|
const [name, setName] = useState<string>();
|
||||||
const [fourBytes, setFourBytes] = useState<string>();
|
const [fourBytes, setFourBytes] = useState<string>();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
@ -45,7 +43,7 @@ export const use4Bytes = (data: string) => {
|
||||||
});
|
});
|
||||||
}, [rawFourBytes, assetsURLPrefix, fourBytes]);
|
}, [rawFourBytes, assetsURLPrefix, fourBytes]);
|
||||||
|
|
||||||
if (data === "0x") {
|
if (rawFourBytes === "0x") {
|
||||||
return "Transfer";
|
return "Transfer";
|
||||||
}
|
}
|
||||||
if (assetsURLPrefix === undefined) {
|
if (assetsURLPrefix === undefined) {
|
||||||
|
|
Loading…
Reference in New Issue