Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
console.log('consumer account', `${endpoint}/node/explorer/accounts/${consumer.toAddress()}`);
console.log('consumer tx', `${endpoint}/node/explorer/txs/${res}`);
// 3. create asset for issuer
const asset = {
moniker: 'asset_to_be_consumed',
readonly: true,
transferrable: true,
data: {
typeUrl: 'json',
value: {
key: 'value2',
},
},
};
const assetAddress = toAssetAddress(asset);
asset.address = assetAddress;
res = await client.sendCreateAssetTx({
tx: { itx: asset },
wallet: issuer,
});
console.log('view asset state', `${endpoint}/node/explorer/assets/${assetAddress}`);
console.log('view asset tx', `${endpoint}/node/explorer/txs/${res}`);
// Start multisig for asset consume
const tx = {
from: issuer.toAddress(),
pk: Buffer.from(hexToBytes(issuer.publicKey)), // pk of application
itx: {
issuer: issuer.toAddress(),
},
readonly,
transferrable,
data: {
type: 'AssetFactory',
value: {
description: factory.description,
limit: factory.limit,
price: await client.fromTokenToUnit(factory.price),
template: factory.template,
allowedSpecArgs: factory.templateVariables,
assetName: factory.assetName,
attributes: Object.assign({ ttl: 0, transferrable: true }, factory.attributes || {}),
},
},
};
const factoryAddress = toAssetAddress(payload);
payload.address = factoryAddress;
const hash = await client.sendCreateAssetTx(
{
tx: {
itx: payload,
},
delegator,
wallet,
},
extra
);
return [hash, factoryAddress];
};
client.createAsset = async (
{ moniker, parent = '', ttl = 0, data, readonly = false, transferrable = true, delegator = '', wallet },
extra
) => {
const payload = { moniker, parent, ttl, readonly, transferrable, data };
const address = toAssetAddress(payload);
payload.address = address;
const hash = await client.sendCreateAssetTx(
{
tx: { itx: payload },
delegator,
wallet,
},
extra
);
return [hash, address];
};
const assets = assetVariables.map(x => {
const payload = {
readonly: true,
transferrable: factory.attributes.transferrable,
ttl: factory.attributes.ttl,
parent: assetFactory,
data: {
type: factory.assetName,
value: x,
},
};
const address = toAssetAddress(payload);
return { address, data: JSON.stringify(x) };
});