UNPKG

meta-contract-debug

Version:

Meta Contract SDK

35 lines (34 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.newDataPart = void 0; const TokenUtil = require("../../common/tokenUtil"); const NFT_ID_LEN = 36; const NFT_CODE_HASH_LEN = 20; const NFT_ID_OFFSET = 0 + NFT_ID_LEN; const NFT_CODE_HASH_OFFSET = NFT_ID_OFFSET + NFT_CODE_HASH_LEN; function newDataPart(dataPart) { let nSendersBuf = TokenUtil.getUInt32Buf(dataPart.nSenders); let receiverTokenAmountArrayBuf = Buffer.alloc(0); dataPart.receiverTokenAmountArray.forEach((tokenAmount) => { receiverTokenAmountArrayBuf = Buffer.concat([ receiverTokenAmountArrayBuf, tokenAmount.toBuffer({ endian: 'little', size: 8 }), ]); }); let recervierArrayBuf = Buffer.alloc(0); dataPart.receiverArray.map((address) => { recervierArrayBuf = Buffer.concat([recervierArrayBuf, address.hashBuffer]); }); let nReceiversBuf = TokenUtil.getUInt32Buf(dataPart.nReceivers); let tokenCodeHashBuf = Buffer.from(dataPart.tokenCodeHash, 'hex'); let tokenIDBuf = Buffer.from(dataPart.tokenID, 'hex'); return Buffer.concat([ nSendersBuf, receiverTokenAmountArrayBuf, recervierArrayBuf, nReceiversBuf, tokenCodeHashBuf, tokenIDBuf, ]); } exports.newDataPart = newDataPart;