From 4156433f5db170e5299fcbc780e92e92a4cd3197 Mon Sep 17 00:00:00 2001 From: Shivek Khurana Date: Tue, 11 Jun 2024 20:10:44 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Persistence=20works?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Also moved closing of modal to approval stage --- .../wallet/wallet_connect/events.cljs | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/status_im/contexts/wallet/wallet_connect/events.cljs b/src/status_im/contexts/wallet/wallet_connect/events.cljs index 57c6701be0..8dba642f7f 100644 --- a/src/status_im/contexts/wallet/wallet_connect/events.cljs +++ b/src/status_im/contexts/wallet/wallet_connect/events.cljs @@ -110,7 +110,7 @@ (rf/reg-event-fx :wallet-connect/close-session-request (fn [_ _] - {:fx [[:dispatch [:navigate-back]] + {:fx [[:dispatch [:dismiss-modal :screen/wallet.wallet-connect-session-proposal]] [:dispatch [:wallet-connect/reset-current-session-request]]]})) (rf/reg-event-fx @@ -151,14 +151,20 @@ :supported-namespaces supported-namespaces :on-success (fn [] (log/info "Wallet Connect session approved") - (prn current-proposal) - (rf/dispatch [:wallet-connect/reset-current-session-proposal])) + (let [metadata (-> current-proposal :params :proposer :metadata)] + (rf/dispatch [:wallet-connect/reset-current-session-proposal]) + (rf/dispatch [:wallet-connect/persist-session + {:id (:id current-proposal) + :dapp-name (:name metadata) + :dapp-url (:url metadata) + :session-info current-proposal}]))) :on-fail (fn [error] (log/error "Wallet Connect session approval failed" {:error error :event :wallet-connect/approve-session}) (rf/dispatch - [:wallet-connect/reset-current-session-proposal]))}]]}))) + [:wallet-connect/reset-current-session-proposal]))}] + [:dispatch [:dismiss-modal :screen/wallet.wallet-connect-session-proposal]]]}))) (rf/reg-event-fx :wallet-connect/on-scan-connection @@ -186,20 +192,19 @@ {:version version})}]]]} :else - {:fx [[:dispatch [:wallet-connect/pair scanned-text]] - [:dispatch [:dismiss-modal :screen/wallet.wallet-connect-session-proposal]]]})))) + {:fx [[:dispatch [:wallet-connect/pair scanned-text]]]})))) (rf/reg-event-fx :wallet-connect/persist-session (fn [_ [{:keys [id dapp-name dapp-url session-info]}]] {:fx [[:json-rpc/call [{:method "wakuext_addWalletConnectSession" - :params [{:id id + :params [{:id (str id) :dappName dapp-name :dappUrl dapp-url - :info (-> session-info - clj->js - js/JSON.stringify)}] + :info (-> session-info + clj->js + js/JSON.stringify)}] :on-success #(log/info "Wallet Connect session persisted") :on-error #(log/info "Wallet Connect session persistence failed" %)}]]]})) @@ -214,4 +219,4 @@ {:fx [[:json-rpc/call [{:method "wakuext_getWalletConnectSession" :on-success [:wallet-connect/fetch-persisted-sessions-success] - :on-error #(log/info "Wallet Connect fetch persistted sessions failed")}]]]})) + :on-error #(log/info "Wallet Connect fetch persisted sessions failed")}]]]}))