Updated on 2026-08-14
This commit is contained in:
parent
9a81079ec9
commit
1a54ecc244
10 changed files with 745 additions and 43 deletions
58
app/src/main/java/com/tangem/wallet/EOS/EosPacker.java
Normal file
58
app/src/main/java/com/tangem/wallet/EOS/EosPacker.java
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
package com.tangem.wallet.EOS;
|
||||
|
||||
import io.jafka.jeos.convert.Packer;
|
||||
import io.jafka.jeos.core.common.transaction.TransactionAction;
|
||||
import io.jafka.jeos.core.common.transaction.TransactionAuthorization;
|
||||
import io.jafka.jeos.util.Raw;
|
||||
import io.jafka.jeos.util.ecc.Hex;
|
||||
|
||||
public class EosPacker extends Packer {
|
||||
public static Raw packPackedTransaction(String chainId, EosPackedTransaction t) {
|
||||
Raw raw = new Raw();
|
||||
//chain
|
||||
raw.pack(Hex.toBytes(chainId));
|
||||
//expiration
|
||||
raw.packUint32(t.getExpirationSec());
|
||||
//ref_block_num
|
||||
raw.packUint16(t.getRefBlockNum().intValue());
|
||||
//ref_block_prefix
|
||||
raw.packUint32(t.getRefBlockPrefix());
|
||||
//max_net_usage_words
|
||||
raw.packVarint32(t.getMaxNetUsageWords());
|
||||
//max_cpu_usage_ms
|
||||
raw.packUint8(t.getMaxCpuUsageMs());//TODO: what the type?
|
||||
//delay_sec
|
||||
raw.packVarint32(t.getDelaySec());
|
||||
//context_free_actions
|
||||
raw.packVarint32(t.getContextFreeActions().size());
|
||||
//TODO: getContextFreeActions
|
||||
|
||||
//actions
|
||||
raw.packVarint32(t.getActions().size());
|
||||
|
||||
for (TransactionAction a : t.getActions()) {
|
||||
//action.account
|
||||
raw.packName(a.getAccount())//
|
||||
.packName(a.getName())//
|
||||
.packVarint32(a.getAuthorization().size())//
|
||||
;
|
||||
//action.authorization
|
||||
for (TransactionAuthorization au : a.getAuthorization()) {
|
||||
raw.packName(au.getActor())//
|
||||
.packName(au.getPermission());
|
||||
}
|
||||
|
||||
//action.data
|
||||
byte[] dat = Hex.toBytes(a.getData());
|
||||
raw.packVarint32(dat.length);
|
||||
raw.pack(dat);
|
||||
}
|
||||
//transaction_extensions
|
||||
//raw.packVarint32(t.getTransactionExtensions().size());
|
||||
//TODO: getTransactionExtensions
|
||||
|
||||
//context_free_data
|
||||
//raw.packVarint32(t.getContextFreeActions().size());
|
||||
return raw;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue