Skip to content

Commit

Permalink
Merge pull request #2 from johnson86tw/refactor/use-ethers-store
Browse files Browse the repository at this point in the history
Another approach to migrate vue-dapp
  • Loading branch information
tempe-techie authored May 6, 2024
2 parents b7a558e + e6dea05 commit d7a0a63
Show file tree
Hide file tree
Showing 14 changed files with 36 additions and 32 deletions.
2 changes: 1 addition & 1 deletion src/components/MyDomain.vue
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ export default {
},
setup() {
const { address, signer } = storeToRefs(useEthers())
const { address, signer } = useEthers()
const toast = useToast()
return { address, signer, toast }
Expand Down
2 changes: 1 addition & 1 deletion src/components/MyTlds.vue
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export default {
},
setup() {
const { address, isConnected, signer } = storeToRefs(useEthers())
const { address, isConnected, signer } = useEthers()
return { address, isConnected, signer }
},
Expand Down
2 changes: 1 addition & 1 deletion src/components/SendTokensComponent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ export default {
},
setup() {
const { address, balance, signer } = storeToRefs(useEthers())
const { address, balance, signer } = useEthers()
const toast = useToast()
const { getFallbackProvider } = useChainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/components/domainEdit/EditOtherData.vue
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ export default {
},
setup() {
const { address, signer } = storeToRefs(useEthers())
const { address, signer } = useEthers()
const toast = useToast()
return { address, signer, toast }
Expand Down
2 changes: 1 addition & 1 deletion src/components/domainEdit/EditPfp.vue
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ export default {
},
setup() {
const { address, signer } = storeToRefs(useEthers())
const { address, signer } = useEthers()
const toast = useToast()
return { address, shortenAddress, signer, toast }
Expand Down
2 changes: 1 addition & 1 deletion src/components/domainEdit/EditUrl.vue
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ export default {
},
setup() {
const { address, signer } = storeToRefs(useEthers())
const { address, signer } = useEthers()
const toast = useToast()
return { address, signer, toast }
Expand Down
36 changes: 20 additions & 16 deletions src/pinia-stores/ethers.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
import { defineStore } from 'pinia'
import { ethers } from 'ethers'
import { markRaw } from 'vue'
import { computed, markRaw } from 'vue'
import { useVueDapp } from '@vue-dapp/core'

export const useEthers = defineStore('Ethers', {
export const useEthersStore = defineStore('ethers', {
state: () => ({
provider: null,
signer: null,
balance: 0n,
}),
getters: {
address(state) {
const { address } = useVueDapp()
return address.value
},
chainId(state) {
const { chainId } = useVueDapp()
return chainId.value
},
isConnected(state) {
const { isConnected } = useVueDapp()
return isConnected.value
},
},
actions: {
async setWallet(_provider) {
this.provider = markRaw(new ethers.providers.Web3Provider(_provider))
Expand All @@ -43,3 +29,21 @@ export const useEthers = defineStore('Ethers', {
},
},
})

export function useEthers() {
const ethersStore = useEthersStore()
const { address } = useVueDapp()

const checksummedAddress = address.value ? ethers.utils.getAddress(address.value) : null

return {
...useVueDapp(),
provider: computed(() => ethersStore.provider),
signer: computed(() => ethersStore.signer),
address: computed(() => checksummedAddress),
balance: computed(() => ethersStore.balance),
setWallet: ethersStore.setWallet,
resetWallet: ethersStore.resetWallet,
fetchBalance: ethersStore.fetchBalance,
}
}
8 changes: 4 additions & 4 deletions src/store/modules/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export default {

setUserData(state) {
const { address } = useVueDapp()
const { balance } = storeToRefs(useEthers())
const { balance } = useEthers()

state.userAddress = address.value
state.userShortAddress = shortenAddress(address.value)
Expand Down Expand Up @@ -200,7 +200,7 @@ export default {
actions: {
async checkIfAdmin({ commit, rootGetters }) {
const { address } = useVueDapp()
const { signer } = storeToRefs(useEthers())
const { signer } = useEthers()

if (address.value) {
// check if user has any admin privileges
Expand Down Expand Up @@ -254,7 +254,7 @@ export default {
let selectedNameKey = null

const { address, chainId } = useVueDapp()
const { signer } = storeToRefs(useEthers())
const { signer } = useEthers()

if (address.value) {
dispatch('fetchCanUserBuy')
Expand Down Expand Up @@ -338,7 +338,7 @@ export default {

// fetch selectedName data (image etc.)
async fetchSelectedNameData({ commit, state, rootGetters }) {
const { signer } = storeToRefs(useEthers())
const { signer } = useEthers()

if (state.selectedName) {
const nameArr = state.selectedName.split('.')
Expand Down
2 changes: 1 addition & 1 deletion src/views/Admin.vue
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,7 @@ export default {
},
setup() {
const { address, isConnected, signer } = storeToRefs(useEthers())
const { address, isConnected, signer } = useEthers()
const toast = useToast()
const { buyNotValid } = useDomainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/views/Allowance.vue
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ export default {
},
setup() {
const { signer } = storeToRefs(useEthers())
const { signer } = useEthers()
const toast = useToast()
const { getFallbackProvider } = useChainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/views/DomainDetails.vue
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ export default {
},
setup() {
const { isConnected, signer } = storeToRefs(useEthers())
const { isConnected, signer } = useEthers()
const toast = useToast()
const { getChainName, getFallbackProvider } = useChainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/views/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ export default {
setup() {
const { open } = useVueDappModal()
const { address, chainId, isConnected, signer } = storeToRefs(useEthers())
const { address, chainId, isConnected, signer } = useEthers()
const toast = useToast()
const { buyNotValid } = useDomainHelpers()
const { switchNetwork } = useChainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/views/Profile.vue
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ export default {
},
setup() {
const { address, isConnected, signer } = storeToRefs(useEthers())
const { address, isConnected, signer } = useEthers()
const toast = useToast()
const { getFallbackProvider } = useChainHelpers()
Expand Down
2 changes: 1 addition & 1 deletion src/views/TransferDomain.vue
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ export default {
},
setup() {
const { address, chainId, signer } = storeToRefs(useEthers())
const { address, chainId, signer } = useEthers()
const toast = useToast()
const { getFallbackProvider } = useChainHelpers()
Expand Down

0 comments on commit d7a0a63

Please sign in to comment.