Skip to content

Commit 5b14681

Browse files
committed
internal/evm: add stack effects of TRON opcodes
1 parent 4978541 commit 5b14681

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

internal/evm/ops.go

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -366,23 +366,22 @@ var oplist = []*Op{
366366
{Name: "LOG4", Code: 0xa4, in: stack{"memOffset", "length", "topic1", "topic2", "topic3", "topic4"}},
367367

368368
// TRON-specific opcodes
369-
// TODO: stack effects
370-
{Name: "CALLTOKEN", Code: 0xd0},
371-
{Name: "TOKENBALANCE", Code: 0xd1},
372-
{Name: "CALLTOKENVALUE", Code: 0xd2},
373-
{Name: "CALLTOKENID", Code: 0xd3},
374-
{Name: "ISCONTRACT", Code: 0xd4},
375-
{Name: "FREEZE", Code: 0xd5},
376-
{Name: "UNFREEZE", Code: 0xd6},
377-
{Name: "FREEZEEXPIRETIME", Code: 0xd7},
378-
{Name: "VOTEWITNESS", Code: 0xd8},
379-
{Name: "WITHDRAWREWARD", Code: 0xd9},
380-
{Name: "FREEZEBALANCEV2", Code: 0xda},
381-
{Name: "UNFREEZEBALANCEV2", Code: 0xdb},
382-
{Name: "CANCELALLUNFREEZEV2", Code: 0xdc},
383-
{Name: "WITHDRAWEXPIREUNFREEZE", Code: 0xdd},
384-
{Name: "DELEGATERESOURCE", Code: 0xde},
385-
{Name: "UNDELEGATERESOURCE", Code: 0xdf},
369+
{Name: "CALLTOKEN", Code: 0xd0, in: stack{"gas", "address", "value", "tokenId", "argOffset", "argLength", "returnOffset", "returnLength"}, out: stack{"ok"}},
370+
{Name: "TOKENBALANCE", Code: 0xd1, in: stack{"tokenId", "address"}, out: stack{"balance"}},
371+
{Name: "CALLTOKENVALUE", Code: 0xd2, out: stack{"value"}},
372+
{Name: "CALLTOKENID", Code: 0xd3, out: stack{"tokenId"}},
373+
{Name: "ISCONTRACT", Code: 0xd4, in: stack{"address"}, out: stack{"isContract"}},
374+
{Name: "FREEZE", Code: 0xd5, in: stack{"resourceType", "frozenBalance", "receiverAddress"}, out: stack{"ok"}},
375+
{Name: "UNFREEZE", Code: 0xd6, in: stack{"resourceType", "targetAddress"}, out: stack{"ok"}},
376+
{Name: "FREEZEEXPIRETIME", Code: 0xd7, in: stack{"resourceType", "targetAddress"}, out: stack{"expireTime"}},
377+
{Name: "VOTEWITNESS", Code: 0xd8, in: stack{"amountArrayLength", "amountArrayOffset", "witnessArrayLength", "witnessArrayOffset"}, out: stack{"ok"}},
378+
{Name: "WITHDRAWREWARD", Code: 0xd9, out: stack{"withdrawReward"}},
379+
{Name: "FREEZEBALANCEV2", Code: 0xda, in: stack{"resourceType", "frozenBalance"}, out: stack{"ok"}},
380+
{Name: "UNFREEZEBALANCEV2", Code: 0xdb, in: stack{"resourceType", "unfreezeBalance"}, out: stack{"ok"}},
381+
{Name: "CANCELALLUNFREEZEV2", Code: 0xdc, out: stack{"ok"}},
382+
{Name: "WITHDRAWEXPIREUNFREEZE", Code: 0xdd, out: stack{"ok"}},
383+
{Name: "DELEGATERESOURCE", Code: 0xde, in: stack{"resourceType", "delegateBalance", "receiverAddress"}, out: stack{"ok"}},
384+
{Name: "UNDELEGATERESOURCE", Code: 0xdf, in: stack{"resourceType", "unDelegateBalance", "receiverAddress"}, out: stack{"ok"}},
386385

387386
// Call family
388387
{

0 commit comments

Comments
 (0)