@@ -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