@@ -100,7 +100,6 @@ const useInviter = () => {
100100
101101 // NB(shrugs) - must be processed in serial because main thread, etc
102102 let signedInvites = [];
103− let errorCount = 0;
104103 for (let i = 0; i < numInvites; i++) {
105104 setProgress(x => x + 1);
106105 try {
@@ -159,7 +158,7 @@ const useInviter = () => {
159158 () => setNeedFunds(undefined)
160159 );
161160
162− let unsentInvites = [];
161+ let inviteErrors = [];
163162 let confirmedInvites = [];
164163 const txAndMailings = signedInvites.map(async invite => {
165164 try {
@@ -172,8 +171,12 @@ const useInviter = () => {
172171 await waitForTransactionConfirm(_web3, txHash);
173172 confirmedInvites.push(invite);
174173 } catch (error) {
175− console.error(error);
176− unsentInvites.push(invite);
174+ console.error('Error sending invite tx:', error);
175+ if (typeof error === 'string') {
176+ inviteErrors.push(error);
177+ } else if (typeof error === 'object' && error.message) {
178+ inviteErrors.push(error.message);
179+ }
177180 return;
178181 }
179182 });
@@ -183,24 +186,14 @@ const useInviter = () => {
183186 setTxStatus(STATUS.SUCCESS);
184187 setInvites(confirmedInvites);
185188
186− if (unsentInvites.length > 0) {
187− return { errors: { [FORM_ERROR]: unsentInvites } };
188− }
189−
190− if (errorCount > 0) {
189+ if (inviteErrors.length > 0) {
191190 return {
192191 errors: {
193− [WARNING]: `There ${pluralize(
194− errorCount,
195− 'was',
196− 'were'
197− )} ${pluralize(
198− errorCount,
199− 'error'
200− )} while generating wallets. You can still send the invites that generated correctly.`,
192+ [FORM_ERROR]: ['Error sending invites: ', ...inviteErrors],
201193 },
202194 };
203195 }
196+
204197 return { invites: confirmedInvites };
205198 },
206199 [