Merge branch 'fix_get_proof' of https://github.com/ethereum/remix-project into newFEdesktop

pull/4422/head
filip mertens 11 months ago
commit 83066a422e
  1. 36
      libs/remix-simulator/src/vm-context.ts

@ -225,18 +225,32 @@ class CustomEthersStateManager extends StateManagerCommonStorageDump {
* @private
*/
async getAccountFromProvider(address: Address): Promise<Account> {
const accountData = await this.provider.send('eth_getProof', [
address.toString(),
[],
this.blockTag,
])
const codeHash = accountData.codeHash === '0x0000000000000000000000000000000000000000000000000000000000000000' ? '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470' : accountData.codeHash
const account = Account.fromAccountData({
let accountData
try {
accountData = await this.provider.send('eth_getProof', [
address.toString(),
[],
this.blockTag,
])
} catch (e) {
console.log(e)
}
let account
if (!accountData) {
account = Account.fromAccountData({
balance: BigInt(0),
nonce: BigInt(0),
codeHash: toBuffer('0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470')
})
} else {
const codeHash = accountData.codeHash === '0x0000000000000000000000000000000000000000000000000000000000000000' ? '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470' : accountData.codeHash
account = Account.fromAccountData({
balance: BigInt(accountData.balance),
nonce: BigInt(accountData.nonce),
codeHash: toBuffer(codeHash)
// storageRoot: toBuffer([]), // we have to remove this in order to force the creation of the Trie in the local state.
})
nonce: BigInt(accountData.nonce),
codeHash: toBuffer(codeHash)
// storageRoot: toBuffer([]), // we have to remove this in order to force the creation of the Trie in the local state.
})
}
return account
}
}

Loading…
Cancel
Save