Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(PE-6993): add ANT cu url on all ant usage #626

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/components/cards/NavMenuCard/NavMenuCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ function NavMenuCard() {
buildIOBalanceQuery({
address: walletAddress.toString(),
arioContract,
meta: [arioProcessId, aoNetwork.CU_URL],
meta: [arioProcessId, aoNetwork.ARIO.CU_URL],
}),
);
const arBalance = await queryClient.fetchQuery(
Expand Down
3 changes: 2 additions & 1 deletion src/components/data-display/tables/UndernamesSubtable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const UndernamesSubtable = ({
handlers?: AoANTHandler[];
antId: string;
}) => {
const [{ gateway, arioProcessId }] = useGlobalState();
const [{ gateway, arioProcessId, antAoClient }] = useGlobalState();
const [{ wallet, walletAddress }] = useWalletState();
const [, dispatchTransactionState] = useTransactionState();
const [, dispatchModalState] = useModalState();
Expand Down Expand Up @@ -285,6 +285,7 @@ const UndernamesSubtable = ({
signer: wallet.contractSigner!,
owner: walletAddress.toString(),
dispatch: dispatchTransactionState,
ao: antAoClient,
}).then(() => {
eventEmitter.emit('success', {
message: (
Expand Down
3 changes: 2 additions & 1 deletion src/components/data-display/tables/UndernamesTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ const UndernamesTable = ({
refresh?: () => void;
}) => {
const [searchParams, setSearchParams] = useSearchParams();
const [{ gateway, arioProcessId }] = useGlobalState();
const [{ gateway, arioProcessId, antAoClient }] = useGlobalState();
const [{ wallet, walletAddress }] = useWalletState();
const [, dispatchTransactionState] = useTransactionState();
const [, dispatchModalState] = useModalState();
Expand Down Expand Up @@ -143,6 +143,7 @@ const UndernamesTable = ({
signer: wallet?.contractSigner,
owner: walletAddress?.toString(),
dispatch: dispatchTransactionState,
ao: antAoClient,
});
eventEmitter.emit('success', {
name: 'Manage Undernames',
Expand Down
182 changes: 133 additions & 49 deletions src/components/devtools/NetworkSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,23 @@ function NetworkSettings() {
const [{ wallet }] = useWalletState();
const [newGateway, setNewGateway] = useState<string>(gateway);
const [validGateway, setValidGateway] = useState<boolean>(true);
const [newCuUrl, setNewCuUrl] = useState<string>(NETWORK_DEFAULTS.AO.CU_URL);
const [validCuUrl, setValidCuUrl] = useState<boolean>(true);
const [newMuUrl, setNewMuUrl] = useState<string>(NETWORK_DEFAULTS.AO.MU_URL);

const [newARIOCuUrl, setNewARIOCuUrl] = useState<string>(
NETWORK_DEFAULTS.AO.ARIO.CU_URL,
);
const [validARIOCuUrl, setValidARIOCuUrl] = useState<boolean>(true);

const [newANTCuUrl, setNewANTCuUrl] = useState<string>(
NETWORK_DEFAULTS.AO.ANT.CU_URL,
);
const [validANTCuUrl, setValidANTCuUrl] = useState<boolean>(true);

const [newMuUrl, setNewMuUrl] = useState<string>(
NETWORK_DEFAULTS.AO.ARIO.MU_URL,
);
const [validMuUrl, setValidMuUrl] = useState<boolean>(true);
const [newSuAddress, setNewSuAddress] = useState<string>(
NETWORK_DEFAULTS.AO.SCHEDULER,
NETWORK_DEFAULTS.AO.ARIO.SCHEDULER,
);
const [validSuAddress, setValidSuAddress] = useState<boolean>(true);
const [showGatewayModal, setShowGatewayModal] = useState<boolean>(false);
Expand All @@ -44,16 +55,16 @@ function NetworkSettings() {
setValidGateway(true);
updateGateway(NETWORK_DEFAULTS.ARWEAVE.HOST);
// ao network
setNewCuUrl(NETWORK_DEFAULTS.AO.CU_URL);
setValidCuUrl(true);
setNewMuUrl(NETWORK_DEFAULTS.AO.MU_URL);
setNewARIOCuUrl(NETWORK_DEFAULTS.AO.ARIO.CU_URL);
setValidARIOCuUrl(true);
setNewMuUrl(NETWORK_DEFAULTS.AO.ARIO.MU_URL);
setValidMuUrl(true);
setNewSuAddress(NETWORK_DEFAULTS.AO.SCHEDULER);
setNewSuAddress(NETWORK_DEFAULTS.AO.ARIO.SCHEDULER);
setValidSuAddress(true);
updateAoNetwork({
CU_URL: NETWORK_DEFAULTS.AO.CU_URL,
MU_URL: NETWORK_DEFAULTS.AO.MU_URL,
SCHEDULER: NETWORK_DEFAULTS.AO.SCHEDULER,
updateARIOAoNetwork({
CU_URL: NETWORK_DEFAULTS.AO.ARIO.CU_URL,
MU_URL: NETWORK_DEFAULTS.AO.ARIO.MU_URL,
SCHEDULER: NETWORK_DEFAULTS.AO.ARIO.SCHEDULER,
});
}

Expand All @@ -63,13 +74,13 @@ function NetworkSettings() {
}, [gateway]);

useEffect(() => {
setNewCuUrl(aoNetwork.CU_URL);
setValidCuUrl(true);
setNewMuUrl(aoNetwork.MU_URL);
setNewARIOCuUrl(aoNetwork.ARIO.CU_URL);
setValidARIOCuUrl(true);
setNewMuUrl(aoNetwork.ARIO.MU_URL);
setValidMuUrl(true);
setNewSuAddress(aoNetwork.SCHEDULER);
setNewSuAddress(aoNetwork.ARIO.SCHEDULER);
setValidSuAddress(true);
}, [aoNetwork]);
}, [aoNetwork.ARIO]);

async function updateGateway(gate: string) {
try {
Expand All @@ -93,16 +104,15 @@ function NetworkSettings() {
}
}

function updateAoNetwork(config: {
function updateARIOAoNetwork(config: {
CU_URL?: string;
MU_URL?: string;
SCHEDULER?: string;
}) {
try {
const newConfig = {
...aoNetwork,
...config,
GATEWAY_URL: gateway,
...{ ARIO: { ...aoNetwork.ARIO, ...config, GATEWAY_URL: gateway } },
};
dispatchGlobalState({
type: 'setAONetwork',
Expand All @@ -111,11 +121,11 @@ function NetworkSettings() {

const ao = connect({
GATEWAY_URL: 'https://' + gateway,
CU_URL: newConfig.CU_URL,
MU_URL: newConfig.MU_URL,
CU_URL: newConfig.ARIO.CU_URL,
MU_URL: newConfig.ARIO.MU_URL,
});
dispatchGlobalState({
type: 'setAoClient',
type: 'setARIOAoClient',
payload: ao,
});
dispatchArIOContract({
Expand All @@ -133,6 +143,30 @@ function NetworkSettings() {
}
}

function updateANTAoNetwork(config: { CU_URL?: string }) {
try {
const newConfig = {
...aoNetwork,
...{ ANT: { ...aoNetwork.ANT, ...config } },
};
dispatchGlobalState({
type: 'setAONetwork',
payload: newConfig,
});

const ao = connect({
GATEWAY_URL: 'https://' + gateway,
CU_URL: newConfig.ANT.CU_URL,
});
dispatchGlobalState({
type: 'setANTAoClient',
payload: ao,
});
} catch (error) {
eventEmitter.emit('error', error);
}
}

return (
<div className="flex" style={{ width: '100%' }}>
<Space direction="vertical" style={{ width: '100%' }}>
Expand Down Expand Up @@ -208,42 +242,90 @@ function NetworkSettings() {
}
/>
<span className="flex w-fit justify-center items-center bg-primary-thin rounded-t-md px-4 py-1 border-x-2 border-t-2 border-primary text-md text-primary font-semibold mt-2">
CU URL:{' '}
<span className="text-white pl-2">{aoNetwork.CU_URL}</span>
ARIO CU URL:{' '}
<span className="text-white pl-2">{aoNetwork.ARIO.CU_URL}</span>
</span>
<Input
className="bg-background justify-center items-center"
placeholder="Enter custom CU url"
value={newCuUrl}
value={newARIOCuUrl}
onChange={(e) => {
setValidCuUrl(isValidURL(e.target.value.trim()));
setNewCuUrl(e.target.value.trim());
setValidARIOCuUrl(isValidURL(e.target.value.trim()));
setNewARIOCuUrl(e.target.value.trim());
}}
onClear={() => setNewCuUrl('')}
onClear={() => setNewARIOCuUrl('')}
onPressEnter={(e) =>
updateAoNetwork({
updateARIOAoNetwork({
CU_URL: e.currentTarget.value.trim(),
})
}
variant="outlined"
status={validCuUrl ? '' : 'error'}
status={validARIOCuUrl ? '' : 'error'}
addonAfter={
<div className="flex flex-row" style={{ gap: '5px' }}>
<button
disabled={!validCuUrl}
disabled={!validARIOCuUrl}
className="bg-primary text-black h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() =>
updateAoNetwork({ CU_URL: newCuUrl.trim() })
updateARIOAoNetwork({ CU_URL: newARIOCuUrl.trim() })
}
>
Set CU url
Set ARIO CU url
</button>
<button
className="bg-primary-thin text-white h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() => {
setNewCuUrl(NETWORK_DEFAULTS.AO.CU_URL);
setValidCuUrl(true);
updateAoNetwork({ CU_URL: NETWORK_DEFAULTS.AO.CU_URL });
setNewARIOCuUrl(NETWORK_DEFAULTS.AO.ARIO.CU_URL);
setValidARIOCuUrl(true);
updateARIOAoNetwork({
CU_URL: NETWORK_DEFAULTS.AO.ARIO.CU_URL,
});
}}
>
reset
</button>
</div>
}
/>
<span className="flex w-fit justify-center items-center bg-primary-thin rounded-t-md px-4 py-1 border-x-2 border-t-2 border-primary text-md text-primary font-semibold mt-2">
ANT CU URL:{' '}
<span className="text-white pl-2">{aoNetwork.ANT.CU_URL}</span>
</span>
<Input
className="bg-background justify-center items-center"
placeholder="Enter custom CU url"
value={newANTCuUrl}
onChange={(e) => {
setValidANTCuUrl(isValidURL(e.target.value.trim()));
setNewANTCuUrl(e.target.value.trim());
}}
onClear={() => setNewANTCuUrl('')}
onPressEnter={(e) =>
updateANTAoNetwork({
CU_URL: e.currentTarget.value.trim(),
})
}
variant="outlined"
status={validANTCuUrl ? '' : 'error'}
addonAfter={
<div className="flex flex-row" style={{ gap: '5px' }}>
<button
disabled={!validANTCuUrl}
className="bg-primary text-black h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() =>
updateARIOAoNetwork({ CU_URL: newANTCuUrl.trim() })
}
>
Set ANT CU url
</button>
<button
className="bg-primary-thin text-white h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() => {
setNewANTCuUrl(NETWORK_DEFAULTS.AO.ANT.CU_URL);
setValidANTCuUrl(true);
updateANTAoNetwork({
CU_URL: NETWORK_DEFAULTS.AO.ANT.CU_URL,
});
}}
>
reset
Expand All @@ -253,7 +335,7 @@ function NetworkSettings() {
/>
<span className="flex w-fit justify-center items-center bg-primary-thin rounded-t-md px-4 py-1 border-x-2 border-t-2 border-primary text-md text-primary font-semibold mt-2">
MU URL:{' '}
<span className="text-white pl-2">{aoNetwork.MU_URL}</span>
<span className="text-white pl-2">{aoNetwork.ARIO.MU_URL}</span>
</span>
<Input
className="bg-background justify-center items-center"
Expand All @@ -263,9 +345,9 @@ function NetworkSettings() {
setValidMuUrl(isValidURL(e.target.value.trim()));
setNewMuUrl(e.target.value.trim());
}}
onClear={() => setNewCuUrl('')}
onClear={() => setNewARIOCuUrl('')}
onPressEnter={(e) =>
updateAoNetwork({
updateARIOAoNetwork({
MU_URL: e.currentTarget.value.trim(),
})
}
Expand All @@ -277,17 +359,19 @@ function NetworkSettings() {
disabled={!validMuUrl}
className="bg-primary text-black h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() =>
updateAoNetwork({ MU_URL: newMuUrl.trim() })
updateARIOAoNetwork({ MU_URL: newMuUrl.trim() })
}
>
Set MU url
</button>
<button
className="bg-primary-thin text-white h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() => {
setNewMuUrl(NETWORK_DEFAULTS.AO.MU_URL);
setNewMuUrl(NETWORK_DEFAULTS.AO.ARIO.MU_URL);
setValidMuUrl(true);
updateAoNetwork({ MU_URL: NETWORK_DEFAULTS.AO.MU_URL });
updateARIOAoNetwork({
MU_URL: NETWORK_DEFAULTS.AO.ARIO.MU_URL,
});
}}
>
reset
Expand All @@ -299,7 +383,7 @@ function NetworkSettings() {
SU Address:{' '}
<span className="text-white pl-2">
<ArweaveID
id={new ArweaveTransactionID(aoNetwork.SCHEDULER)}
id={new ArweaveTransactionID(aoNetwork.ARIO.SCHEDULER)}
shouldLink
type={ArweaveIdTypes.ADDRESS}
characterCount={16}
Expand All @@ -318,7 +402,7 @@ function NetworkSettings() {
}}
onClear={() => setNewSuAddress('')}
onPressEnter={(e) =>
updateAoNetwork({
updateARIOAoNetwork({
SCHEDULER: e.currentTarget.value.trim(),
})
}
Expand All @@ -330,18 +414,18 @@ function NetworkSettings() {
disabled={!validSuAddress}
className="bg-primary text-black h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() =>
updateAoNetwork({ SCHEDULER: newSuAddress })
updateARIOAoNetwork({ SCHEDULER: newSuAddress })
}
>
Set Scheduler Address
</button>
<button
className="bg-primary-thin text-white h-full flex w-fit p-1 rounded-sm text-xs"
onClick={() => {
setNewSuAddress(NETWORK_DEFAULTS.AO.SCHEDULER);
setNewSuAddress(NETWORK_DEFAULTS.AO.ARIO.SCHEDULER);
setValidSuAddress(true);
updateAoNetwork({
SCHEDULER: NETWORK_DEFAULTS.AO.SCHEDULER,
updateARIOAoNetwork({
SCHEDULER: NETWORK_DEFAULTS.AO.ARIO.SCHEDULER,
});
}}
>
Expand Down
Loading
Loading