function (runState) {
    const [offset, length] = runState.stack.popN(2)
    subMemUsage(runState, offset, length)
    let data = Buffer.alloc(0)
    if (!length.isZero()) {
      data = runState.memory.read(offset.toNumber(), length.toNumber())
    }
    // copy fee
    subGas(runState, new BN(runState._common.param('gasPrices', 'sha3Word')).imul(length.divCeil(new BN(32))))
    const r = new BN(utils.keccak256(data))
    runState.stack.push(r)
  }
function (runState) {
    const [offset, length] = runState.stack.popN(2)
    subMemUsage(runState, offset, length)
    let data = Buffer.alloc(0)
    if (!length.isZero()) {
      data = runState.memory.read(offset.toNumber(), length.toNumber())
    }
    
    subGas(runState, new BN(runState._common.param('gasPrices', 'sha3Word')).imul(length.divCeil(new BN(32))))
    const r = new BN(utils.keccak256(data))
    runState.stack.push(r)
  }
function ( runState ) { const [ offset , length ] = runState . stack . popN ( 2 ) subMemUsage ( runState , offset , length ) let data = Buffer . alloc ( 0 ) if ( ! length . isZero ( ) ) { data = runState . memory . read ( offset . toNumber ( ) , length . toNumber ( ) ) } // copy fee subGas ( runState , new BN ( runState . _common . param ( 'gasPrices' , 'sha3Word' ) ) . imul ( length . divCeil ( new BN ( 32 ) ) ) ) const r = new BN ( utils . keccak256 ( data ) ) runState . stack . push ( r ) }
0x20 range - crypto
0x20 range - crypto