diff --git a/src/base/orgs/View.svelte b/src/base/orgs/View.svelte
index ca5be5fd8..964cc1238 100644
--- a/src/base/orgs/View.svelte
+++ b/src/base/orgs/View.svelte
@@ -331,7 +331,7 @@
{/await}
-
+
{/await}
{:else}
diff --git a/src/base/orgs/View/Anchor.svelte b/src/base/orgs/View/Anchor.svelte
index 05ba210f1..8c6b3de6b 100644
--- a/src/base/orgs/View/Anchor.svelte
+++ b/src/base/orgs/View/Anchor.svelte
@@ -30,31 +30,32 @@
const dispatch = createEventDispatcher();
let state = State.Idle;
+ let error: string | null = null;
let action: null | Action = null;
- const isSigned = project.confirmations.includes(
- ethers.utils.getAddress(account)
- );
+
const close = () => {
action = null;
state = State.Idle;
- // Could eventually be a separate function if we want to handle a Cancel event differently.
- dispatch("success");
};
+
const pending = safe.threshold - project.confirmations.length;
const executeTransaction = async (safeTxHash: string) => {
try {
action = Action.Execute;
- state = State.Confirm;
+ state = State.Signing;
const txResult = await utils.executeSignedSafeTransaction(safe.address, safeTxHash, config);
state = State.Submitting;
await txResult.transactionResponse?.wait();
state = State.Success;
- } catch (err) {
+ } catch (err: any) {
console.error(err);
+ error = err.message;
+ state = State.Failed;
}
};
+
const confirmAnchor = async (safeTxHash: string) => {
try {
action = Action.Sign;
@@ -65,11 +66,16 @@
await config.safe.client?.confirmTransaction(safeTxHash, signature.data);
state = State.Success;
- } catch (err) {
+ } catch (err: any) {
console.error(err);
+ error = err.message;
state = State.Failed;
}
};
+
+ $: isSigned = project.confirmations.includes(
+ ethers.utils.getAddress(account)
+ );