refactor addProvider

pull/3356/head
yann300 2 years ago
parent a8c1ad1fed
commit 140d8a394d
  1. 102
      apps/remix-ide/src/app/udapp/run-tab.js

@ -101,13 +101,15 @@ export class RunTab extends ViewPlugin {
async onInitDone () { async onInitDone () {
const udapp = this // eslint-disable-line const udapp = this // eslint-disable-line
const addProvider = async (name, displayName, isInjected) => {
await this.call('blockchain', 'addProvider', { await this.call('blockchain', 'addProvider', {
name: 'Hardhat Provider', name: displayName,
isInjected: false, isInjected,
init: () => { return this.call(name, 'init') },
provider: { provider: {
async sendAsync (payload, callback) { async sendAsync (payload, callback) {
try { try {
const result = await udapp.call('hardhat-provider', 'sendAsync', payload) const result = await udapp.call(name, 'sendAsync', payload)
callback(null, result) callback(null, result)
} catch (e) { } catch (e) {
callback(e) callback(e)
@ -115,95 +117,15 @@ export class RunTab extends ViewPlugin {
} }
} }
}) })
await this.call('blockchain', 'addProvider', {
name: 'Ganache Provider',
isInjected: false,
provider: {
async sendAsync (payload, callback) {
try {
const result = await udapp.call('ganache-provider', 'sendAsync', payload)
callback(null, result)
} catch (e) {
callback(e)
}
}
}
})
await this.call('blockchain', 'addProvider', {
name: 'Foundry Provider',
isInjected: false,
provider: {
async sendAsync (payload, callback) {
try {
const result = await udapp.call('foundry-provider', 'sendAsync', payload)
callback(null, result)
} catch (e) {
callback(e)
}
}
}
})
await this.call('blockchain', 'addProvider', {
name: 'Wallet Connect',
isInjected: false,
provider: {
async sendAsync (payload, callback) {
try {
const result = await udapp.call('walletconnect', 'sendAsync', payload)
callback(null, result)
} catch (e) {
callback(e)
}
}
}
})
await this.call('blockchain', 'addProvider', {
name: 'External Http Provider',
provider: {
async sendAsync (payload, callback) {
try {
const result = await udapp.call('basic-http-provider', 'sendAsync', payload)
callback(null, result)
} catch (e) {
callback(e)
} }
}
}
})
await this.call('blockchain', 'addProvider', { await addProvider('hardhat-provider', 'Hardhat Provider', false)
name: 'Optimism Provider', await addProvider('ganache-provider', 'Ganache Provider', false)
isInjected: true, await addProvider('foundry-provider', 'Foundry Provider', false)
provider: { await addProvider('walletconnect', 'Wallet Connect', false)
async sendAsync (payload, callback) { await addProvider('basic-http-provider', 'External Http Provider', false)
try { await addProvider('injected-optimism-provider', 'Optimism Provider', true)
const result = await udapp.call('injected-optimism-provider', 'sendAsync', payload) await addProvider('injected-arbitrum-one-provider', 'Arbitrum One Provider', true)
callback(null, result)
} catch (e) {
callback(e)
}
}
}
})
await this.call('blockchain', 'addProvider', {
name: 'Arbitrum One Provider',
isInjected: true,
provider: {
async sendAsync (payload, callback) {
try {
const result = await udapp.call('injected-arbitrum-one-provider', 'sendAsync', payload)
callback(null, result)
} catch (e) {
callback(e)
}
}
}
})
} }
writeFile (fileName, content) { writeFile (fileName, content) {

Loading…
Cancel
Save