Skip to main content

Try it Live

Run Opcode examples in the interactive playground

Opcode.dupPosition()

Get stack position duplicated by DUP opcode (1-16).
import { dupPosition, DUP1, DUP16 } from 'tevm/Opcode'

dupPosition(DUP1)   // 1
dupPosition(DUP16)  // 16

Parameters

  • opcode: BrandedOpcode - Opcode to check

Returns

number | undefined - Position (1-16) or undefined if not DUP

Stack Semantics

DUP1:  [..., a] → [..., a, a]           (duplicate top)
DUP2:  [..., b, a] → [..., b, a, b]     (duplicate 2nd)
DUP16: [..., p, ..., a] → [..., p, ..., a, p]  (duplicate 16th)