-
Notifications
You must be signed in to change notification settings - Fork 8
Mosaic Levy Transaction
Chun Lam edited this page Feb 21, 2024
·
2 revisions
import { Deadline, NetworkType, MosaicModifyLevyTransaction, MosaicRemoveLevyTransaction,
Account, MosaicId, MosaicLevy, TransactionHttp
} from "tsjs-xpx-chain-sdk";
const API_URL = 'http://localhost:3000';
const networkType = NetworkType.TEST_NET;
const generationHash = "56D112C98F7A7E34D1AEDC4BD01BC06CA2276DD546A93E36690B785E82439CA9"; // from block 1
const transactionHttp = new TransactionHttp(API_URL);
const signerAccount = Account.createFromPrivateKey(
'<your_privateKey>',
networkType, 1);
const mosaicId = new MosaicId("13bfc518e40549d7");
// modify mosaic levy
let mosaicModifyLevyTransaction = MosaicModifyLevyTransaction.create(
Deadline.create(),
mosaicId,
MosaicLevy.createWithAbsoluteFee(signerAccount.address, mosaicId, 100),
networkType
)
let signedMosaicModifyLevyTransaction = signerAccount.preV2Sign(mosaicModifyLevyTransaction, generationHash);
console.log("MosaicModifyLevyTx Hash: ", signedMosaicModifyLevyTransaction.hash);
transactionHttp.announce(signedMosaicModifyLevyTransaction);
// remove mosaic levy
let mosaicRemoveLevyTransaction = MosaicRemoveLevyTransaction.create(
Deadline.create(),
mosaicId,
networkType
)
let signedMosaicRemoveLevyTransaction = signerAccount.preV2Sign(mosaicRemoveLevyTransaction, generationHash);
console.log("MosaicRemoveLevyTx Hash: ", signedMosaicRemoveLevyTransaction.hash);
transactionHttp.announce(signedMosaicRemoveLevyTransaction);