bridge_ui: safely set target chain in recovery
Change-Id: I7d6e03b56b61129d72ef641059871ff362a3f0f4
This commit is contained in:
parent
a956e570fb
commit
4c85daa531
|
@ -519,14 +519,6 @@ export default function Recovery() {
|
|||
fullWidth
|
||||
margin="normal"
|
||||
/>
|
||||
<TextField
|
||||
variant="outlined"
|
||||
label="Target Chain"
|
||||
disabled
|
||||
value={parsedPayload?.targetChain.toString() || ""}
|
||||
fullWidth
|
||||
margin="normal"
|
||||
/>
|
||||
<TextField
|
||||
variant="outlined"
|
||||
label="Target Address"
|
||||
|
|
|
@ -217,8 +217,14 @@ export const nftSlice = createSlice({
|
|||
};
|
||||
}>
|
||||
) => {
|
||||
const prevTargetChain = state.targetChain;
|
||||
state.signedVAAHex = action.payload.vaa;
|
||||
state.targetChain = action.payload.parsedPayload.targetChain;
|
||||
if (state.sourceChain === action.payload.parsedPayload.targetChain) {
|
||||
state.sourceChain = prevTargetChain;
|
||||
state.sourceParsedTokenAccount = undefined;
|
||||
state.sourceParsedTokenAccounts = getEmptyDataWrapper();
|
||||
}
|
||||
state.targetAddressHex = action.payload.parsedPayload.targetAddress;
|
||||
state.originChain = action.payload.parsedPayload.originChain;
|
||||
state.originAsset = action.payload.parsedPayload.originAddress;
|
||||
|
|
|
@ -121,6 +121,9 @@ export const selectNFTTargetError = (state: RootState) => {
|
|||
if (!state.nft.targetChain) {
|
||||
return "Select a target chain";
|
||||
}
|
||||
if (state.nft.sourceChain === state.nft.targetChain) {
|
||||
return "Select a different target and source";
|
||||
}
|
||||
if (state.nft.targetChain === CHAIN_ID_SOLANA && !state.nft.targetAsset) {
|
||||
// target asset is only required for solana
|
||||
// in the cases of new transfers, target asset will not exist and be created on redeem
|
||||
|
@ -256,6 +259,9 @@ export const selectTransferTargetError = (state: RootState) => {
|
|||
if (!state.transfer.targetChain) {
|
||||
return "Select a target chain";
|
||||
}
|
||||
if (state.transfer.sourceChain === state.transfer.targetChain) {
|
||||
return "Select a different target and source";
|
||||
}
|
||||
if (!state.transfer.targetAsset) {
|
||||
return UNREGISTERED_ERROR_MESSAGE;
|
||||
}
|
||||
|
|
|
@ -228,8 +228,14 @@ export const transferSlice = createSlice({
|
|||
};
|
||||
}>
|
||||
) => {
|
||||
const prevTargetChain = state.targetChain;
|
||||
state.signedVAAHex = action.payload.vaa;
|
||||
state.targetChain = action.payload.parsedPayload.targetChain;
|
||||
if (state.sourceChain === action.payload.parsedPayload.targetChain) {
|
||||
state.sourceChain = prevTargetChain;
|
||||
state.sourceParsedTokenAccount = undefined;
|
||||
state.sourceParsedTokenAccounts = getEmptyDataWrapper();
|
||||
}
|
||||
state.targetAddressHex = action.payload.parsedPayload.targetAddress;
|
||||
state.originChain = action.payload.parsedPayload.originChain;
|
||||
state.originAsset = action.payload.parsedPayload.originAddress;
|
||||
|
|
Loading…
Reference in New Issue