Commit e2898170 authored by aniket-engg's avatar aniket-engg Committed by Aniket

modal

parent db155687
import * as packageJson from '../../../../../package.json' import * as packageJson from '../../../../../package.json'
import { Plugin } from '@remixproject/engine' import { Plugin } from '@remixproject/engine'
const yo = require('yo-yo')
const modalDialogCustom = require('../ui/modal-dialog-custom') const modalDialogCustom = require('../ui/modal-dialog-custom')
import Web3 from 'web3' import Web3 from 'web3'
...@@ -15,26 +16,12 @@ const profile = { ...@@ -15,26 +16,12 @@ const profile = {
export default class HardhatProvider extends Plugin { export default class HardhatProvider extends Plugin {
constructor () { constructor () {
super(profile) super(profile)
this.provider = new Web3.providers.HttpProvider('http://127.0.0.1:8545') this.provider = null
} }
web3ProviderDialogBody () { hardhatProviderDialogBody () {
const thePath = '<path/to/local/folder/for/test/chain>'
return yo` return yo`
<div class=""> <div class="">
Note: To use Geth & https://remix.ethereum.org, configure it to allow requests from Remix:(see <a href="https://geth.ethereum.org/docs/rpc/server" target="_blank">Geth Docs on rpc server</a>)
<div class="border p-1">geth --http --http.corsdomain https://remix.ethereum.org</div>
<br>
To run Remix & a local Geth test node, use this command: (see <a href="https://geth.ethereum.org/getting-started/dev-mode" target="_blank">Geth Docs on Dev mode</a>)
<div class="border p-1">geth --http --http.corsdomain="${window.origin}" --http.api web3,eth,debug,personal,net --vmdebug --datadir ${thePath} --dev console</div>
<br>
<br>
<b>WARNING:</b> It is not safe to use the --http.corsdomain flag with a wildcard: <b>--http.corsdomain *</b>
<br>
<br>For more info: <a href="https://remix-ide.readthedocs.io/en/latest/run.html#more-about-web3-provider" target="_blank">Remix Docs on Web3 Provider</a>
<br>
<br>
Hardhat Provider Endpoint Hardhat Provider Endpoint
</div> </div>
` `
...@@ -42,17 +29,22 @@ export default class HardhatProvider extends Plugin { ...@@ -42,17 +29,22 @@ export default class HardhatProvider extends Plugin {
sendAsync (data) { sendAsync (data) {
console.log('Inside sendAsync - modalDialogCustom', modalDialogCustom) console.log('Inside sendAsync - modalDialogCustom', modalDialogCustom)
modalDialogCustom.prompt('Hardhat node request', this.web3ProviderDialogBody(), 'http://127.0.0.1:8545') modalDialogCustom.prompt('Hardhat node request', this.hardhatProviderDialogBody(), 'http://127.0.0.1:8545', (target) => {
// return new Promise((resolve, reject) => { console.log('target--->', target)
// if (this.provider) { this.provider = new Web3.providers.HttpProvider(target)
// this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](data, (error, message) => { return new Promise((resolve, reject) => {
// if (error) return reject(error) console.log('inside sendAsync promise')
// resolve(message) if (this.provider) {
// }) this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](data, (error, message) => {
// } else { if (error) return reject(error)
// resolve({"jsonrpc": "2.0", "result": [], "id": data.id}) resolve(message)
// } })
// }) } else {
resolve({"jsonrpc": "2.0", "result": [], "id": data.id})
}
})
})
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment