From 0903873ba08905c5822865e52176cd9648dffcf7 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 4 Oct 2021 17:58:51 +0530 Subject: [PATCH] added dumpStorage back --- apps/remix-ide-e2e/src/tests/ballot.test.ts | 5 ++-- .../src/tests/solidityUnittests.spec.ts | 6 ++--- .../src/web3Provider/web3VmProvider.ts | 8 +++--- libs/remix-simulator/test/blocks.ts | 26 +++++++++---------- 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/apps/remix-ide-e2e/src/tests/ballot.test.ts b/apps/remix-ide-e2e/src/tests/ballot.test.ts index f2dbe5656c..a81fb591ff 100644 --- a/apps/remix-ide-e2e/src/tests/ballot.test.ts +++ b/apps/remix-ide-e2e/src/tests/ballot.test.ts @@ -57,7 +57,7 @@ module.exports = { .goToVMTraceStep(144) .pause(2000) // Should be uncommented while fixing https://github.com/ethereum/remix-project/issues/1644 - // .checkVariableDebug('soliditystate', stateCheck) + .checkVariableDebug('soliditystate', stateCheck) .checkVariableDebug('soliditylocals', localsCheck) }, @@ -117,7 +117,7 @@ const localsCheck = { type: 'address' } } -/* + const stateCheck = { chairperson: { value: '0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C', @@ -175,7 +175,6 @@ const stateCheck = { immutable: false } } -*/ const ballotABI = `[ { diff --git a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts index 067cf17b5d..284e22e929 100644 --- a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts +++ b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts @@ -253,7 +253,7 @@ module.exports = { .waitForElementContainsText('*[data-id="functionPanel"]', 'vote(proposal)', 60000) .pause(2000) // Should be uncommented while fixing https://github.com/ethereum/remix-project/issues/1644 - // .checkVariableDebug('soliditylocals', locals) + .checkVariableDebug('soliditylocals', locals) .clickLaunchIcon('filePanel') .pause(2000) .openFile('tests/ballotFailedDebug_test.sol') @@ -558,7 +558,7 @@ const sources = [ } } ] -/* + const locals = { sender: { value: { @@ -586,4 +586,4 @@ const locals = { type: 'uint256' } } -*/ + diff --git a/libs/remix-lib/src/web3Provider/web3VmProvider.ts b/libs/remix-lib/src/web3Provider/web3VmProvider.ts index a431507687..76d9eb9f01 100644 --- a/libs/remix-lib/src/web3Provider/web3VmProvider.ts +++ b/libs/remix-lib/src/web3Provider/web3VmProvider.ts @@ -132,8 +132,8 @@ export class Web3VmProvider { // dumpStorage throws error as 'Missing Node in DB' // This can be uncommented once that error is handled // https://github.com/ethereum/remix-project/issues/1644 - // const storage = await this.vm.stateManager.dumpStorage(data.to) - const storage = {} + const storage = await this.vm.stateManager.dumpStorage(data.to) + // const storage = {} this.storageCache[this.processingHash][tx['to']] = storage this.lastProcessedStorageTxHash[tx['to']] = this.processingHash } catch (e) { @@ -252,8 +252,8 @@ export class Web3VmProvider { // dumpStorage throws error as 'Missing Node in DB' // This can be uncommented once that error is handled // https://github.com/ethereum/remix-project/issues/1644 - // const storage = await this.vm.stateManager.dumpStorage(account) - const storage = {} + const storage = await this.vm.stateManager.dumpStorage(account) + // const storage = {} this.storageCache[this.processingHash][this.processingAddress] = storage this.lastProcessedStorageTxHash[this.processingAddress] = this.processingHash } catch (e) { diff --git a/libs/remix-simulator/test/blocks.ts b/libs/remix-simulator/test/blocks.ts index e415bb6a14..9ef7df7537 100644 --- a/libs/remix-simulator/test/blocks.ts +++ b/libs/remix-simulator/test/blocks.ts @@ -116,7 +116,6 @@ describe('blocks', () => { }) }) - /* describe('eth_getStorageAt', () => { it('should get storage at position at given address', async () => { const abi: any = [ @@ -201,29 +200,28 @@ describe('blocks', () => { } ] - // const code = '0x608060405234801561001057600080fd5b506040516020806102018339810180604052602081101561003057600080fd5b810190808051906020019092919050505080600081905550506101a9806100586000396000f3fe60806040526004361061005c576000357c0100000000000000000000000000000000000000000000000000000000900480632a1afcd91461006157806360fe47b11461008c5780636d4ce63c146100c7578063ce01e1ec146100f2575b600080fd5b34801561006d57600080fd5b5061007661012d565b6040518082815260200191505060405180910390f35b34801561009857600080fd5b506100c5600480360360208110156100af57600080fd5b8101908080359060200190929190505050610133565b005b3480156100d357600080fd5b506100dc61013d565b6040518082815260200191505060405180910390f35b3480156100fe57600080fd5b5061012b6004803603602081101561011557600080fd5b8101908080359060200190929190505050610146565b005b60005481565b8060008190555050565b60008054905090565b80600081905550807f63a242a632efe33c0e210e04e4173612a17efa4f16aa4890bc7e46caece80de060405160405180910390a25056fea165627a7a7230582063160eb16dc361092a85ced1a773eed0b63738b83bea1e1c51cf066fa90e135d0029' + const code = '0x608060405234801561001057600080fd5b506040516020806102018339810180604052602081101561003057600080fd5b810190808051906020019092919050505080600081905550506101a9806100586000396000f3fe60806040526004361061005c576000357c0100000000000000000000000000000000000000000000000000000000900480632a1afcd91461006157806360fe47b11461008c5780636d4ce63c146100c7578063ce01e1ec146100f2575b600080fd5b34801561006d57600080fd5b5061007661012d565b6040518082815260200191505060405180910390f35b34801561009857600080fd5b506100c5600480360360208110156100af57600080fd5b8101908080359060200190929190505050610133565b005b3480156100d357600080fd5b506100dc61013d565b6040518082815260200191505060405180910390f35b3480156100fe57600080fd5b5061012b6004803603602081101561011557600080fd5b8101908080359060200190929190505050610146565b005b60005481565b8060008190555050565b60008054905090565b80600081905550807f63a242a632efe33c0e210e04e4173612a17efa4f16aa4890bc7e46caece80de060405160405180910390a25056fea165627a7a7230582063160eb16dc361092a85ced1a773eed0b63738b83bea1e1c51cf066fa90e135d0029' - // const contract = new web3.eth.Contract(abi) - // const accounts = await web3.eth.getAccounts() + const contract = new web3.eth.Contract(abi) + const accounts = await web3.eth.getAccounts() - // const contractInstance: any = await contract.deploy({ data: code, arguments: [100] }).send({ from: accounts[0], gas: 400000 }) - // contractInstance.currentProvider = web3.eth.currentProvider - // contractInstance.givenProvider = web3.eth.currentProvider + const contractInstance: any = await contract.deploy({ data: code, arguments: [100] }).send({ from: accounts[0], gas: 400000 }) + contractInstance.currentProvider = web3.eth.currentProvider + contractInstance.givenProvider = web3.eth.currentProvider - // await contractInstance.methods.set(100).send({ from: accounts[0].toLowerCase(), gas: 400000 }) - // let storage = await web3.eth.getStorageAt(contractInstance.options.address, 0) - // assert.deepEqual(storage, '0x64') + await contractInstance.methods.set(100).send({ from: accounts[0].toLowerCase(), gas: 400000 }) + let storage = await web3.eth.getStorageAt(contractInstance.options.address, 0) + assert.deepEqual(storage, '0x64') - // await contractInstance.methods.set(200).send({ from: accounts[0], gas: 400000 }) - // storage = await web3.eth.getStorageAt(contractInstance.options.address, 0) - // assert.deepEqual(storage, '0x64') + await contractInstance.methods.set(200).send({ from: accounts[0], gas: 400000 }) + storage = await web3.eth.getStorageAt(contractInstance.options.address, 0) + assert.deepEqual(storage, '0x64') await contractInstance.methods.set(200).send({ from: accounts[0], gas: 400000 }) storage = await web3.eth.getStorageAt(contractInstance.options.address, 0) assert.deepEqual(storage, '0xc8') }) }) - */ describe('eth_call', () => { it('should get a value', async () => {