🚷 Reject Wc sessions
This commit is contained in:
parent
2ccd990255
commit
85e9df69f8
|
@ -279,6 +279,7 @@
|
|||
(def ^:const wallet-connect-supported-events #{"accountsChanged" "chainChanged"})
|
||||
(def ^:const wallet-connect-session-proposal-event "session_proposal")
|
||||
(def ^:const wallet-connect-session-request-event "session_request")
|
||||
(def ^:const wallet-connect-user-rejected-session-proposal-error-type "USER_REJECTED_METHODS")
|
||||
|
||||
(def ^:const dapp-permission-contact-code "contact-code")
|
||||
(def ^:const dapp-permission-web3 "web3")
|
||||
|
|
|
@ -78,6 +78,18 @@
|
|||
(promesa/then on-success)
|
||||
(promesa/catch on-fail)))))
|
||||
|
||||
(rf/reg-fx
|
||||
:effects.wallet-connect/reject-session
|
||||
(fn [{:keys [web3-wallet proposal on-success on-fail]}]
|
||||
(let [{:keys [id]} proposal
|
||||
reason (wallet-connect/get-sdk-error
|
||||
constants/wallet-connect-user-rejected-session-proposal-error-type)]
|
||||
(-> (.rejectSession web3-wallet
|
||||
(clj->js {:id id
|
||||
:reason reason}))
|
||||
(promesa/then on-success)
|
||||
(promesa/catch on-fail)))))
|
||||
|
||||
(rf/reg-fx
|
||||
:effects.wallet-connect/sign-message
|
||||
(fn [{:keys [password address data on-success on-error]}]
|
||||
|
|
|
@ -111,7 +111,12 @@
|
|||
:wallet-connect/close-session-request
|
||||
(fn [_ _]
|
||||
{:fx [[:dispatch [:dismiss-modal :screen/wallet.wallet-connect-session-proposal]]
|
||||
[:dispatch [:wallet-connect/reset-current-session-request]]]}))
|
||||
[:dispatch [:wallet-connect/reset-current-session-request]]
|
||||
[:effects.wallet-connect/reject-session
|
||||
{:web3-wallet
|
||||
:proposal
|
||||
:on-success
|
||||
:on-fail}]]}))
|
||||
|
||||
(rf/reg-event-fx
|
||||
:wallet-connect/fetch-active-sessions
|
||||
|
@ -146,24 +151,24 @@
|
|||
:events constants/wallet-connect-supported-events
|
||||
:accounts accounts}})]
|
||||
{:fx [[:effects.wallet-connect/approve-session
|
||||
{:web3-wallet web3-wallet
|
||||
:proposal current-proposal
|
||||
{:web3-wallet web3-wallet
|
||||
:proposal current-proposal
|
||||
:supported-namespaces supported-namespaces
|
||||
:on-success (fn []
|
||||
(log/info "Wallet Connect session approved")
|
||||
(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]))}]
|
||||
:on-success (fn []
|
||||
(log/info "Wallet Connect session approved")
|
||||
(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]))}]
|
||||
[:dispatch [:dismiss-modal :screen/wallet.wallet-connect-session-proposal]]]})))
|
||||
|
||||
(rf/reg-event-fx
|
||||
|
|
Loading…
Reference in New Issue