MCPcopy
hub / github.com/slymnoyann/hey-1 / handleTransactionLifecycle

Function handleTransactionLifecycle

src/hooks/useTransactionLifecycle.tsx:121–171  ·  view source on GitHub ↗
({
    transactionData,
    onCompleted,
    onError
  }: {
    transactionData: AnyTransactionRequestFragment;
    onCompleted: (hash: string) => void;
    onError: (error: ApolloClientError) => void;
  })

Source from the content-addressed store, hash-verified

119 };
120
121 const handleTransactionLifecycle = async ({
122 transactionData,
123 onCompleted,
124 onError
125 }: {
126 transactionData: AnyTransactionRequestFragment;
127 onCompleted: (hash: string) => void;
128 onError: (error: ApolloClientError) => void;
129 }) => {
130 try {
131 if (typeof transactionData === "function") {
132 return onError({
133 message: ERRORS.SomethingWentWrong,
134 name: ERROR_NAMES.UnknownError
135 });
136 }
137 switch (transactionData.__typename) {
138 case "SponsoredTransactionRequest":
139 return await handleSponsoredTransaction(
140 transactionData,
141 onCompleted,
142 onError
143 );
144 case "SelfFundedTransactionRequest":
145 return await handleSelfFundedTransaction(
146 transactionData,
147 onCompleted,
148 onError
149 );
150 case "TransactionWillFail":
151 if ("reason" in transactionData) {
152 return onError({
153 message: transactionData.reason,
154 name: transactionData.__typename
155 });
156 }
157 return onError({
158 message: ERRORS.SomethingWentWrong,
159 name: ERROR_NAMES.UnknownError
160 });
161 default:
162 onError({
163 message: ERRORS.SomethingWentWrong,
164 name: ERROR_NAMES.UnknownError
165 });
166 return;
167 }
168 } catch (error) {
169 return onError(error as ApolloClientError);
170 }
171 };
172
173 return handleTransactionLifecycle;
174};

Callers 15

TipMenuFunction · 0.85
ChooseUsernameFunction · 0.85
BlockOrUnblockAccountFunction · 0.85
DeletePostFunction · 0.85
FollowFunction · 0.85
UnfollowFunction · 0.85
TransferFunction · 0.85
JoinFunction · 0.85
LeaveFunction · 0.85
CreateGroupModalFunction · 0.85
CollectActionButtonFunction · 0.85

Calls 2

Tested by

no test coverage detected