vue-sui-wallet
Advanced tools
Comparing version
@@ -1,6 +0,6 @@ | ||
import { inject as v, ref as p, openBlock as u, createElementBlock as c, createElementVNode as g, normalizeClass as C, unref as m, toDisplayString as l, Fragment as k, renderList as _, createTextVNode as S, createCommentVNode as y, computed as P, onMounted as b, onUnmounted as L, withDirectives as w, vShow as f, createVNode as M } from "vue"; | ||
const T = ` | ||
import { inject as d, ref as p, openBlock as u, createElementBlock as c, createElementVNode as v, normalizeClass as C, unref as m, toDisplayString as l, Fragment as k, renderList as _, createTextVNode as P, createCommentVNode as y, computed as S, onMounted as b, onUnmounted as L, withDirectives as w, vShow as f, createVNode as M } from "vue"; | ||
const A = ` | ||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 40 40" width="40" height="40" > | ||
<path d="M1.8611,33.0541a13.6477,13.6477,0,0,0,23.7778,0,13.89,13.89,0,0,0,0-13.8909L15.1824.8368a1.6444,1.6444,0,0,0-2.8648,0L1.8611,19.1632A13.89,13.89,0,0,0,1.8611,33.0541ZM10.8044,9.5555,13.0338,5.648a.8222.8222,0,0,1,1.4324,0L23.043,20.68a10.8426,10.8426,0,0,1,.8873,8.8828,9.4254,9.4254,0,0,0-.4388-1.4586c-1.1847-3.0254-3.8634-5.36-7.9633-6.9393-2.8187-1.0819-4.618-2.6731-5.3491-4.73C9.2375,13.7848,10.221,10.8942,10.8044,9.5555ZM7.0028,16.2184,4.457,20.68a10.8569,10.8569,0,0,0,0,10.8582,10.6776,10.6776,0,0,0,16.1566,2.935,7.5061,7.5061,0,0,0,.0667-5.2913c-.87-2.1858-2.9646-3.9308-6.2252-5.1876-3.6857-1.4147-6.08-3.6233-7.1157-6.5625A9.297,9.297,0,0,1,7.0028,16.2184Z" fill="currentColor" style="fill-rule:evenodd"/></svg> | ||
`, A = ` | ||
`, T = ` | ||
<svg width="36" height="49.787234042553195" viewBox="0 0 47 65" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||
@@ -13,6 +13,6 @@ <path d="M6.00471 1H40.0029C42.7644 1 45.0029 3.23858 45.0029 6V44.8425C45.0029 47.604 42.7643 49.8425 40.0029 49.8425H6.0047C3.24328 49.8425 1.0047 47.604 1.0047 44.8425V6C1.0047 3.23858 3.24329 1 6.00471 1Z" stroke="url(#ethos-stroke)" stroke-width="2"></path> | ||
`, I = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | ||
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`, d = { | ||
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`, g = { | ||
provider: "sui.provider", | ||
address: "sui.address" | ||
}, $ = async ({ provider: e, walletProviders: s }) => window[e] ? window[e].requestPermissions().then(() => window[e].getAccounts().then((t) => (localStorage.setItem(d.provider, e), localStorage.setItem(d.address, t[0]), { | ||
}, $ = async ({ provider: e, walletProviders: s }) => window[e] ? window[e].requestPermissions().then(() => window[e].getAccounts().then((t) => (localStorage.setItem(g.provider, e), localStorage.setItem(g.address, t[0]), { | ||
provider: e, | ||
@@ -25,9 +25,9 @@ userAddress: t[0] | ||
const e = { isLoggedIn: !1 }; | ||
let s = localStorage.getItem(d.provider); | ||
let s = localStorage.getItem(g.provider); | ||
return !s || !window[s] ? e : window[s].hasPermissions().then((t) => (t && (e.isLoggedIn = !0), e)).catch((t) => e); | ||
}, V = () => { | ||
localStorage.removeItem(d.provider), localStorage.removeItem(d.address); | ||
}, q = () => { | ||
let e = localStorage.getItem(d.provider); | ||
return e ? window[e] : null; | ||
localStorage.removeItem(g.provider), localStorage.removeItem(g.address); | ||
}, q = (e) => { | ||
const s = e.provide("suiAuthProvider"); | ||
return console.log(s), null; | ||
}, j = { | ||
@@ -37,3 +37,3 @@ suiWallet: { | ||
title: "Sui Wallet", | ||
logo: T, | ||
logo: A, | ||
url: "https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil" | ||
@@ -44,3 +44,3 @@ }, | ||
title: "Ethos Wallet", | ||
logo: A, | ||
logo: T, | ||
url: "https://chrome.google.com/webstore/detail/ethos-sui-wallet/mcbigmjiafegjnnogedioegffbooigli" | ||
@@ -50,3 +50,3 @@ } | ||
function W() { | ||
const e = v("suiAuthProvider"), s = v("suiAuthAccount"), t = v("suiWalletProviders"), o = v("suiRequestWalletPermissions"), a = v("suiWalletLogout"), r = v("suiWallet"), n = v("suiVerifyWalletPermissions"); | ||
const e = d("suiAuthProvider"), s = d("suiAuthAccount"), t = d("suiWalletProviders"), o = d("suiRequestWalletPermissions"), a = d("suiWalletLogout"), r = d("suiWallet"), n = d("suiVerifyWalletPermissions"); | ||
return { | ||
@@ -87,10 +87,10 @@ suiWallet: r, | ||
return (r, n) => (u(), c("div", H, [ | ||
g("div", { | ||
v("div", { | ||
class: "modal-backdrop", | ||
onClick: n[0] || (n[0] = (i) => r.$emit("closeModal")) | ||
}), | ||
g("div", { | ||
v("div", { | ||
class: C(["modal", e.bodyClasses]) | ||
}, [ | ||
g("div", { | ||
v("div", { | ||
innerHTML: m(I), | ||
@@ -100,3 +100,3 @@ class: "close-btn ease-in-out duration-300", | ||
}, null, 8, E), | ||
g("p", Z, l(e.chooseProvider), 1), | ||
v("p", Z, l(e.chooseProvider), 1), | ||
(u(!0), c(k, null, _(m(o).suiWalletProviders, (i) => (u(), c("button", { | ||
@@ -107,7 +107,7 @@ key: i.key, | ||
}, [ | ||
g("span", { | ||
v("span", { | ||
innerHTML: i.logo, | ||
class: "logo-icon" | ||
}, null, 8, U), | ||
S(" " + l(e.connect) + " " + l(i.title), 1) | ||
P(" " + l(e.connect) + " " + l(i.title), 1) | ||
], 8, N))), 128)), | ||
@@ -176,3 +176,3 @@ t.value ? (u(), c("p", D, l(t.value), 1)) : y("", !0) | ||
setup(e) { | ||
const t = p(e.startToggled), o = W(), a = P(() => !!o.account.value), r = () => { | ||
const t = p(e.startToggled), o = W(), a = S(() => !!o.account.value), r = () => { | ||
o.verifyPermissions().then((i) => { | ||
@@ -192,4 +192,4 @@ i.isLoggedIn || n(); | ||
e.showInformationText ? w((u(), c("div", Y, [ | ||
g("p", z, l(e.connectedWalletText) + ": " + l(m(o).provider), 1), | ||
g("p", F, l(e.addressText) + ": " + l(m(o).account), 1) | ||
v("p", z, l(e.connectedWalletText) + ": " + l(m(o).provider), 1), | ||
v("p", F, l(e.addressText) + ": " + l(m(o).account), 1) | ||
], 512)), [ | ||
@@ -218,11 +218,11 @@ [f, m(a)] | ||
} | ||
}, Q = /* @__PURE__ */ O(K, [["__scopeId", "data-v-f378f749"]]), X = { | ||
}, J = /* @__PURE__ */ O(K, [["__scopeId", "data-v-f378f749"]]), X = { | ||
install: (e, s) => { | ||
e.provide("suiAuthProvider", p(localStorage.getItem(d.provider) || null)), e.provide("suiAuthAccount", p(localStorage.getItem(d.address) || null)), e.provide("suiWalletProviders", j), e.provide("suiRequestWalletPermissions", $), e.provide("suiWallet", q), e.provide("suiWalletLogout", V), e.provide("suiVerifyWalletPermissions", B); | ||
e.provide("suiAuthProvider", p(localStorage.getItem(g.provider) || null)), e.provide("suiAuthAccount", p(localStorage.getItem(g.address) || null)), e.provide("suiWalletProviders", j), e.provide("suiRequestWalletPermissions", $), e.provide("suiWallet", q(e)), e.provide("suiWalletLogout", V), e.provide("suiVerifyWalletPermissions", B), console.log(e), e.component("sui-connect-button", J); | ||
} | ||
}; | ||
export { | ||
Q as SuiConnectButton, | ||
J as SuiConnectButton, | ||
X as default, | ||
W as useSuiWallet | ||
}; |
@@ -1,2 +0,2 @@ | ||
(function(r,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.VueSuiWallet={},r.Vue))})(this,function(r,e){"use strict";const m=` | ||
(function(r,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.VueSuiWallet={},r.Vue))})(this,function(r,e){"use strict";const f=` | ||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 40 40" width="40" height="40" > | ||
@@ -11,3 +11,3 @@ <path d="M1.8611,33.0541a13.6477,13.6477,0,0,0,23.7778,0,13.89,13.89,0,0,0,0-13.8909L15.1824.8368a1.6444,1.6444,0,0,0-2.8648,0L1.8611,19.1632A13.89,13.89,0,0,0,1.8611,33.0541ZM10.8044,9.5555,13.0338,5.648a.8222.8222,0,0,1,1.4324,0L23.043,20.68a10.8426,10.8426,0,0,1,.8873,8.8828,9.4254,9.4254,0,0,0-.4388-1.4586c-1.1847-3.0254-3.8634-5.36-7.9633-6.9393-2.8187-1.0819-4.618-2.6731-5.3491-4.73C9.2375,13.7848,10.221,10.8942,10.8044,9.5555ZM7.0028,16.2184,4.457,20.68a10.8569,10.8569,0,0,0,0,10.8582,10.6776,10.6776,0,0,0,16.1566,2.935,7.5061,7.5061,0,0,0,.0667-5.2913c-.87-2.1858-2.9646-3.9308-6.2252-5.1876-3.6857-1.4147-6.08-3.6233-7.1157-6.5625A9.297,9.297,0,0,1,7.0028,16.2184Z" fill="currentColor" style="fill-rule:evenodd"/></svg> | ||
<stop offset="1" stop-color="currentColor" stop-opacity="0"></stop></linearGradient></defs></svg> | ||
`,f=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | ||
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`,c={provider:"sui.provider",address:"sui.address"},h=async({provider:t,walletProviders:l})=>window[t]?window[t].requestPermissions().then(()=>window[t].getAccounts().then(o=>(localStorage.setItem(c.provider,t),localStorage.setItem(c.address,o[0]),{provider:t,userAddress:o[0]}))).catch(o=>({error:`You need to give ${l[t].title} permissions to continue.`,userAddress:null})):window.open(l[t].url,"_blank").focus(),w=async()=>{const t={isLoggedIn:!1};let l=localStorage.getItem(c.provider);return!l||!window[l]?t:window[l].hasPermissions().then(o=>(o&&(t.isLoggedIn=!0),t)).catch(o=>t)},y=()=>{localStorage.removeItem(c.provider),localStorage.removeItem(c.address)},k=()=>{let t=localStorage.getItem(c.provider);return t?window[t]:null},S={suiWallet:{key:"suiWallet",title:"Sui Wallet",logo:m,url:"https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil"},ethosWallet:{key:"ethosWallet",title:"Ethos Wallet",logo:p,url:"https://chrome.google.com/webstore/detail/ethos-sui-wallet/mcbigmjiafegjnnogedioegffbooigli"}};function g(){const t=e.inject("suiAuthProvider"),l=e.inject("suiAuthAccount"),o=e.inject("suiWalletProviders"),n=e.inject("suiRequestWalletPermissions"),d=e.inject("suiWalletLogout"),i=e.inject("suiWallet"),s=e.inject("suiVerifyWalletPermissions");return{suiWallet:i,verifyPermissions:s,logout:d,provider:t,suiWalletProviders:o,account:l,requestWalletPermissions:n}}const j="",W={class:"modal-wrap"},C=["innerHTML"],_={class:"text-center mb-6"},v=["onClick"],x=["innerHTML"],P={key:0,class:"error"},B={__name:"SuiConnectModal",props:{bodyClasses:String,connect:String,chooseProvider:String},emits:["closeModal"],setup(t,{emit:l}){const o=e.ref(null),n=g(),d=i=>{o.value=null,n.provider.value=i,n.requestWalletPermissions({provider:n.provider.value,walletProviders:n.suiWalletProviders}).then(s=>{if(s.error){o.value=s.error;return}n.account.value=s.userAddress,n.provider.value=s.provider,l("closeModal")})};return(i,s)=>(e.openBlock(),e.createElementBlock("div",W,[e.createElementVNode("div",{class:"modal-backdrop",onClick:s[0]||(s[0]=a=>i.$emit("closeModal"))}),e.createElementVNode("div",{class:e.normalizeClass(["modal",t.bodyClasses])},[e.createElementVNode("div",{innerHTML:e.unref(f),class:"close-btn ease-in-out duration-300",onClick:s[1]||(s[1]=a=>i.$emit("closeModal"))},null,8,C),e.createElementVNode("p",_,e.toDisplayString(t.chooseProvider),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).suiWalletProviders,a=>(e.openBlock(),e.createElementBlock("button",{key:a.key,class:"provider-btn ease-in-out duration-300",onClick:u=>d(a.key)},[e.createElementVNode("span",{innerHTML:a.logo,class:"logo-icon"},null,8,x),e.createTextVNode(" "+e.toDisplayString(t.connect)+" "+e.toDisplayString(a.title),1)],8,v))),128)),o.value?(e.openBlock(),e.createElementBlock("p",P,e.toDisplayString(o.value),1)):e.createCommentVNode("",!0)],2)]))}},$="",b=(t,l)=>{const o=t.__vccOpts||t;for(const[n,d]of l)o[n]=d;return o},L={class:"sui-login-wrapper"},M={key:0,class:"sui-account-details"},T={class:"wallet-text"},V={class:"address-text"},E=b({__name:"SuiConnectButton",props:{startToggled:{type:Boolean,default:!1},showInformationText:{type:Boolean,default:!0},connectedWalletText:{type:String,default:"Connected Wallet"},addressText:{type:String,default:"Address"},connectText:{type:String,default:"Connect Your Wallet"},logoutText:{type:String,default:"Logout"},chooseProvider:{type:String,default:"Select wallet provider:"},connect:{type:String,default:""}},setup(t){const l=t,o=e.ref(l.startToggled),n=g(),d=e.computed(()=>!!n.account.value),i=()=>{n.verifyPermissions().then(a=>{a.isLoggedIn||s()})};e.onMounted(()=>{window.addEventListener("load",i)}),e.onUnmounted(()=>{window.removeEventListener("load",i)});const s=()=>{n.provider.value=null,n.account.value=null,n.logout()};return(a,u)=>(e.openBlock(),e.createElementBlock("div",L,[t.showInformationText?e.withDirectives((e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("p",T,e.toDisplayString(t.connectedWalletText)+": "+e.toDisplayString(e.unref(n).provider),1),e.createElementVNode("p",V,e.toDisplayString(t.addressText)+": "+e.toDisplayString(e.unref(n).account),1)],512)),[[e.vShow,e.unref(d)]]):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"sui-logout-btn",onClick:s},e.toDisplayString(t.logoutText),1)):(e.openBlock(),e.createElementBlock("button",{key:1,class:"sui-login-button",onClick:u[0]||(u[0]=I=>o.value=!0)},e.toDisplayString(t.connectText),1)),e.withDirectives(e.createVNode(B,{connect:t.connect,"choose-provider":t.chooseProvider,onCloseModal:u[1]||(u[1]=I=>{o.value=!1})},null,8,["connect","choose-provider"]),[[e.vShow,o.value]])]))}},[["__scopeId","data-v-f378f749"]]),A={install:(t,l)=>{t.provide("suiAuthProvider",e.ref(localStorage.getItem(c.provider)||null)),t.provide("suiAuthAccount",e.ref(localStorage.getItem(c.address)||null)),t.provide("suiWalletProviders",S),t.provide("suiRequestWalletPermissions",h),t.provide("suiWallet",k),t.provide("suiWalletLogout",y),t.provide("suiVerifyWalletPermissions",w)}};r.SuiConnectButton=E,r.default=A,r.useSuiWallet=g,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); | ||
`,h=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | ||
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`,d={provider:"sui.provider",address:"sui.address"},y=async({provider:t,walletProviders:s})=>window[t]?window[t].requestPermissions().then(()=>window[t].getAccounts().then(o=>(localStorage.setItem(d.provider,t),localStorage.setItem(d.address,o[0]),{provider:t,userAddress:o[0]}))).catch(o=>({error:`You need to give ${s[t].title} permissions to continue.`,userAddress:null})):window.open(s[t].url,"_blank").focus(),w=async()=>{const t={isLoggedIn:!1};let s=localStorage.getItem(d.provider);return!s||!window[s]?t:window[s].hasPermissions().then(o=>(o&&(t.isLoggedIn=!0),t)).catch(o=>t)},k=()=>{localStorage.removeItem(d.provider),localStorage.removeItem(d.address)},S=t=>{const s=t.provide("suiAuthProvider");return console.log(s),null},W={suiWallet:{key:"suiWallet",title:"Sui Wallet",logo:f,url:"https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil"},ethosWallet:{key:"ethosWallet",title:"Ethos Wallet",logo:p,url:"https://chrome.google.com/webstore/detail/ethos-sui-wallet/mcbigmjiafegjnnogedioegffbooigli"}};function g(){const t=e.inject("suiAuthProvider"),s=e.inject("suiAuthAccount"),o=e.inject("suiWalletProviders"),n=e.inject("suiRequestWalletPermissions"),a=e.inject("suiWalletLogout"),i=e.inject("suiWallet"),l=e.inject("suiVerifyWalletPermissions");return{suiWallet:i,verifyPermissions:l,logout:a,provider:t,suiWalletProviders:o,account:s,requestWalletPermissions:n}}const I="",v={class:"modal-wrap"},C=["innerHTML"],_={class:"text-center mb-6"},x=["onClick"],P=["innerHTML"],B={key:0,class:"error"},b={__name:"SuiConnectModal",props:{bodyClasses:String,connect:String,chooseProvider:String},emits:["closeModal"],setup(t,{emit:s}){const o=e.ref(null),n=g(),a=i=>{o.value=null,n.provider.value=i,n.requestWalletPermissions({provider:n.provider.value,walletProviders:n.suiWalletProviders}).then(l=>{if(l.error){o.value=l.error;return}n.account.value=l.userAddress,n.provider.value=l.provider,s("closeModal")})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",{class:"modal-backdrop",onClick:l[0]||(l[0]=c=>i.$emit("closeModal"))}),e.createElementVNode("div",{class:e.normalizeClass(["modal",t.bodyClasses])},[e.createElementVNode("div",{innerHTML:e.unref(h),class:"close-btn ease-in-out duration-300",onClick:l[1]||(l[1]=c=>i.$emit("closeModal"))},null,8,C),e.createElementVNode("p",_,e.toDisplayString(t.chooseProvider),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).suiWalletProviders,c=>(e.openBlock(),e.createElementBlock("button",{key:c.key,class:"provider-btn ease-in-out duration-300",onClick:u=>a(c.key)},[e.createElementVNode("span",{innerHTML:c.logo,class:"logo-icon"},null,8,P),e.createTextVNode(" "+e.toDisplayString(t.connect)+" "+e.toDisplayString(c.title),1)],8,x))),128)),o.value?(e.openBlock(),e.createElementBlock("p",B,e.toDisplayString(o.value),1)):e.createCommentVNode("",!0)],2)]))}},$="",L=(t,s)=>{const o=t.__vccOpts||t;for(const[n,a]of s)o[n]=a;return o},M={class:"sui-login-wrapper"},T={key:0,class:"sui-account-details"},V={class:"wallet-text"},E={class:"address-text"},m=L({__name:"SuiConnectButton",props:{startToggled:{type:Boolean,default:!1},showInformationText:{type:Boolean,default:!0},connectedWalletText:{type:String,default:"Connected Wallet"},addressText:{type:String,default:"Address"},connectText:{type:String,default:"Connect Your Wallet"},logoutText:{type:String,default:"Logout"},chooseProvider:{type:String,default:"Select wallet provider:"},connect:{type:String,default:""}},setup(t){const s=t,o=e.ref(s.startToggled),n=g(),a=e.computed(()=>!!n.account.value),i=()=>{n.verifyPermissions().then(c=>{c.isLoggedIn||l()})};e.onMounted(()=>{window.addEventListener("load",i)}),e.onUnmounted(()=>{window.removeEventListener("load",i)});const l=()=>{n.provider.value=null,n.account.value=null,n.logout()};return(c,u)=>(e.openBlock(),e.createElementBlock("div",M,[t.showInformationText?e.withDirectives((e.openBlock(),e.createElementBlock("div",T,[e.createElementVNode("p",V,e.toDisplayString(t.connectedWalletText)+": "+e.toDisplayString(e.unref(n).provider),1),e.createElementVNode("p",E,e.toDisplayString(t.addressText)+": "+e.toDisplayString(e.unref(n).account),1)],512)),[[e.vShow,e.unref(a)]]):e.createCommentVNode("",!0),e.unref(a)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"sui-logout-btn",onClick:l},e.toDisplayString(t.logoutText),1)):(e.openBlock(),e.createElementBlock("button",{key:1,class:"sui-login-button",onClick:u[0]||(u[0]=j=>o.value=!0)},e.toDisplayString(t.connectText),1)),e.withDirectives(e.createVNode(b,{connect:t.connect,"choose-provider":t.chooseProvider,onCloseModal:u[1]||(u[1]=j=>{o.value=!1})},null,8,["connect","choose-provider"]),[[e.vShow,o.value]])]))}},[["__scopeId","data-v-f378f749"]]),A={install:(t,s)=>{t.provide("suiAuthProvider",e.ref(localStorage.getItem(d.provider)||null)),t.provide("suiAuthAccount",e.ref(localStorage.getItem(d.address)||null)),t.provide("suiWalletProviders",W),t.provide("suiRequestWalletPermissions",y),t.provide("suiWallet",S(t)),t.provide("suiWalletLogout",k),t.provide("suiVerifyWalletPermissions",w),console.log(t),t.component("sui-connect-button",m)}};r.SuiConnectButton=m,r.default=A,r.useSuiWallet=g,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); |
{ | ||
"name": "vue-sui-wallet", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"author": "Manolis Liolios", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -27,8 +27,6 @@ # Vue Sui Wallet | ||
You can render a "connect to wallet" button using the following code: | ||
You can render a "connect to wallet" button using the following code. | ||
The component is already globally accessible by importing it in main.js. | ||
``` | ||
// Inside script | ||
import SuiConnectButton from "vue-sui-wallet"; | ||
// in your template | ||
@@ -103,1 +101,41 @@ <sui-connect-button></sui-connect-button> | ||
| connect: String | Default value is `` | | ||
### Available Sui Wallet Functionality | ||
You can easily use the sui wallet API by importing it like: | ||
``` | ||
const {suiWallet} = useSuiWallet(); | ||
``` | ||
Then, you can call any of the functions that sui wallet extension has. | ||
For example: | ||
``` | ||
const {suiWallet} = useSuiWallet(); | ||
// We always check if suiWallet() doesn't return null | ||
// If the account is not authenticated, it returns null | ||
// and it will break! | ||
if(suiWallet()){ | ||
suiWallet().getAccounts(); // that will return a list of accounts in the wallet. | ||
suiWallet().executeMoveCall({...params}); | ||
suiWallet().executeSerializedMoveCall({...params}); | ||
suiWallet().hasPermissions(); | ||
suiWallet().send(); | ||
} | ||
``` | ||
A list of current functions supported. | ||
- `executeMoveCall` | ||
- `executeSerializedMoveCall` | ||
- `getAccounts` | ||
- `hasPermissions` | ||
- `requestPermissions` | ||
- `send` | ||
- `sendAndExecuteTransaction` |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
27744
3.67%266
0.38%139
36.27%0
-100%