Skip to content

Commit

Permalink
[wallet-integration] new wallets integration
Browse files Browse the repository at this point in the history
  • Loading branch information
bobcoin98 committed Nov 28, 2023
1 parent 94e643b commit da2ace5
Show file tree
Hide file tree
Showing 6 changed files with 1,302 additions and 481 deletions.
147 changes: 118 additions & 29 deletions app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import * as HDKey from 'hdkey'
import * as ethUtils from 'ethereumjs-util'
import Meta from 'vue-meta'
import Helper from './utils'
const { connectCoin98, connectMetamask, connectRamper, connectViction, WALLET_TYPE } = require('./walletAdapter.js')

Vue.use(Meta)
Vue.use(BootstrapVue)
Expand All @@ -44,9 +45,9 @@ Vue.use(Toasted, {
position: 'bottom-right',
theme: 'bubble',
duration: 4000,
action : {
text : 'Dismiss',
onClick : (e, toastObject) => {
action: {
text: 'Dismiss',
onClick: (e, toastObject) => {
toastObject.goAway(0)
}
},
Expand All @@ -55,7 +56,7 @@ Vue.use(Toasted, {

// set trezor's manifest
TrezorConnect.manifest({
email: '[email protected]',
email: '[email protected]',
appUrl: 'https://vicmaster.xyz'
})

Expand All @@ -81,23 +82,63 @@ Vue.prototype.setupProvider = async function (provider, wjs) {
Vue.prototype.getAccount = async function () {
const provider = Vue.prototype.NetworkProvider || ''
const wjs = Vue.prototype.web3
const config = await getConfig()
const supportedWalletOption = [{
chainId: '0x' + parseInt(config.blockchain.networkId).toString(16),
chainName: 'Viction',
nativeCurrency: {
name: 'VIC',
symbol: 'VIC',
decimals: 18
},
rpcUrls: [config.blockchain.rpc]
}]

let account
switch (provider) {
case 'metamask':
// Request account access if needed - for metamask
if (window.ethereum) {
// await window.ethereum.enable()
await window.ethereum.request({ method: 'eth_requestAccounts' })
case WALLET_TYPE.COIN98:
account = await connectCoin98(supportedWalletOption)
break
case WALLET_TYPE.VICTION:
if (window.coin98) {
account = await connectCoin98(supportedWalletOption)
break
}
account = (await wjs.eth.getAccounts())[0]
account = await connectViction(supportedWalletOption)
break
case WALLET_TYPE.RAMPER:
if (window.coin98) {
account = await connectCoin98(supportedWalletOption)
break
}
if (window.viction) {
account = await connectViction(supportedWalletOption)
break
}
account = await connectRamper(supportedWalletOption)
break
// case 'pantograph':
// // Request account access if needed - for metamask
// if (window.tomochain) {
// await window.tomochain.enable()
// }
// account = (await wjs.eth.getAccounts())[0]
// break
case WALLET_TYPE.METAMASK:
if (window.coin98) {
account = await connectCoin98(supportedWalletOption)
break
}
if (window.viction) {
account = await connectViction(supportedWalletOption)
break
}
if (window.ramper2) {
account = await connectRamper(supportedWalletOption)
break
}
account = await connectMetamask(supportedWalletOption)
break
// case 'pantograph':
// // Request account access if needed - for metamask
// if (window.tomochain) {
// await window.tomochain.enable()
// }
// account = (await wjs.eth.getAccounts())[0]
// break
case 'tomowalletDapp':
account = (await wjs.eth.getAccounts())[0]
break
Expand Down Expand Up @@ -299,7 +340,7 @@ getConfig().then((config) => {
localStorage.set('configMaster', config)
Vue.use(VueAnalytics, {
id: config.GA,
linkers: ['master.tomochain.com'],
linkers: ['vicmaster.xyz'],
router,
autoTraking: {
screenView: true
Expand All @@ -324,7 +365,55 @@ Vue.prototype.detectNetwork = async function (provider) {
const chainConfig = config.blockchain
if (!wjs) {
switch (provider) {
case 'metamask':
case WALLET_TYPE.COIN98:
if (window.coin98) {
let p = window.coin98.provider
wjs = new Web3(p)
}
break
case WALLET_TYPE.VICTION:
if (window.coin98) {
let p = window.coin98.provider
wjs = new Web3(p)
break
}
if (window.viction) {
let p = window.viction
wjs = new Web3(p)
}
break
case WALLET_TYPE.RAMPER:
if (window.coin98) {
let p = window.coin98.provider
wjs = new Web3(p)
break
}
if (window.viction) {
let p = window.viction
wjs = new Web3(p)
break
}
if (window.ramper2) {
let p = window.ramper2.provider
wjs = new Web3(p)
}
break
case WALLET_TYPE.METAMASK:
if (window.coin98) {
let p = window.coin98.provider
wjs = new Web3(p)
break
}
if (window.viction) {
let p = window.viction
wjs = new Web3(p)
break
}
if (window.ramper2) {
let p = window.ramper2.provider
wjs = new Web3(p)
break
}
if (window.ethereum) {
let p = window.ethereum
wjs = new Web3(p)
Expand All @@ -340,16 +429,16 @@ Vue.prototype.detectNetwork = async function (provider) {
}
}
break
// case 'pantograph':
// if (window.tomoWeb3) {
// if (window.tomoWeb3.currentProvider) {
// let pp = window.tomoWeb3.currentProvider
// wjs = new Web3(pp)
// } else {
// wjs = window.tomoWeb3
// }
// }
// break
// case 'pantograph':
// if (window.tomoWeb3) {
// if (window.tomoWeb3.currentProvider) {
// let pp = window.tomoWeb3.currentProvider
// wjs = new Web3(pp)
// } else {
// wjs = window.tomoWeb3
// }
// }
// break
case 'tomowallet':
wjs = new Web3(new HDWalletProvider(
'',
Expand Down
Loading

0 comments on commit da2ace5

Please sign in to comment.