+
)}
diff --git a/packages/client/src/pages/CreateSafe.js b/packages/client/src/pages/CreateSafe.js
index 421ed57..bc9e2ca 100644
--- a/packages/client/src/pages/CreateSafe.js
+++ b/packages/client/src/pages/CreateSafe.js
@@ -1,14 +1,12 @@
import React, { useState } from 'react';
import { NavLink, useHistory } from 'react-router-dom';
-import { Web3Consumer } from '../contexts/Web3';
+import { Web3Consumer } from 'contexts/Web3';
import {
Loading,
SafeDetails,
SafeOwners,
SignatureRequirements,
- WalletPrompt,
-} from '../components';
-import { useAddressValidation } from '../hooks';
+} from 'components';
import { SAFE_TYPES } from 'constants/enums';
const AuthorizeTreasury = ({
@@ -16,7 +14,6 @@ const AuthorizeTreasury = ({
safeName,
safeType,
safeOwners,
- safeOwnersValidByAddress,
createTreasury,
creatingTreasury,
createdTreasury,
@@ -25,12 +22,11 @@ const AuthorizeTreasury = ({
let isAuthorizeReady = false;
const history = useHistory();
if (safeName.trim().length && safeType) {
- const everyOwnerHasValidAddress = Object.values(
- safeOwnersValidByAddress
- ).every((isValid) => isValid);
+ const everyOwnerHasValidAddress = safeOwners.every(
+ ({ isValid }) => isValid
+ );
if (everyOwnerHasValidAddress) {
- safeOwners.map((so) => (so.verified = true));
isAuthorizeReady = true;
}
}
@@ -107,40 +103,20 @@ function CreateSafe({ web3 }) {
const [signersAmount, setSignersAmount] = useState(1);
const [creatingTreasury, setCreatingTreasury] = useState(false);
const [createdTreasury, setCreatedTreasury] = useState(false);
- const {
- injectedProvider,
- address,
- loadingTreasuries,
- submittedTransaction,
- createTreasury,
- } = web3;
+ const { address, loadingTreasuries, submittedTransaction, createTreasury } =
+ web3;
const [safeOwners, setSafeOwners] = useState([
- { name: '', address, verified: true },
+ { name: '', address, isValid: true },
]);
- const [safeOwnersValidByAddress, setSafeOwnersValidByAddress] = useState({});
- const { isAddressValid } = useAddressValidation(injectedProvider);
-
- const checkSafeOwnerAddressesValidity = async (newSafeOwners) => {
- const newSafeOwnersValidByAddress = {};
-
- for (const so of newSafeOwners) {
- newSafeOwnersValidByAddress[so.address] = await isAddressValid(
- so.address
- );
- }
-
- setSafeOwnersValidByAddress(newSafeOwnersValidByAddress);
- };
const onSafeOwnersChange = (newSafeOwners) => {
setSafeOwners(newSafeOwners);
- // skip first safe owner since it's the connected user and won't have an address
- checkSafeOwnerAddressesValidity(newSafeOwners.slice(1));
// force signer amount to not exceed amount of safe owners
if (newSafeOwners.length < signersAmount) {
setSignersAmount(newSafeOwners.length);
}
};
+
const onCreateTreasuryClick = async (treasuryData) => {
setCreatingTreasury(true);
await createTreasury(treasuryData);
@@ -249,7 +225,6 @@ function CreateSafe({ web3 }) {
{
- setSafeAddress(e.target.value);
- const maybeValid = isAddr(e.target.value);
- if (maybeValid) {
- const treasury = await getTreasury(e.target.value);
+ const onAddressChange = async ({ value, isValid }) => {
+ setSafeAddress(value);
+ if (isValid) {
+ const treasury = await getTreasury(value);
const newSafeOwners = Object.keys(treasury?.signers ?? {}).map(
(signerAddr) => ({
name: '',
@@ -142,20 +141,7 @@ function LoadSafe({ web3 }) {