1 import { normalizeBTMAmountUnit, converIntToDec } from 'utility/buildInOutDisplay'
2 import { btmID } from 'utility/environment'
3 import { sum } from 'utility/math'
5 export const balance = (values, assetDecimal, balances, btmAmountUnit) => {
6 let filteredBalances = balances
7 if (values.accountAlias) {
8 filteredBalances = filteredBalances.filter(balance => balance.accountAlias === values.accountAlias)
10 if (values.accountId) {
11 filteredBalances = filteredBalances.filter(balance => balance.accountId === values.accountId)
13 if (values.assetAlias) {
14 filteredBalances = filteredBalances.filter(balance => balance.assetAlias === values.assetAlias)
17 filteredBalances = filteredBalances.filter(balance => balance.assetId === values.assetId)
20 if(filteredBalances.length === 1){
21 if (filteredBalances[0].assetId === btmID){
22 return normalizeBTMAmountUnit(filteredBalances[0].assetId, filteredBalances[0].amount, btmAmountUnit)
23 }else if( assetDecimal ){
24 return converIntToDec(filteredBalances[0].amount, assetDecimal)
26 return filteredBalances[0].amount
33 export const getAssetDecimal = (values, asset) => {
34 let filteredAsset = asset
35 if (values.assetAlias.value) {
36 filteredAsset = filteredAsset.filter(asset => asset.alias === values.assetAlias.value)
38 if (values.assetId.value) {
39 filteredAsset = filteredAsset.filter(asset => asset.id === values.assetId.value)
42 return (filteredAsset.length === 1 && filteredAsset[0].definition && filteredAsset[0].id !== btmID ) ?
43 filteredAsset[0].definition.decimals : null
46 export const normalTxActionBuilder = (transaction, gas, prop) =>{
47 const accountAlias = transaction.accountAlias
48 const accountId = transaction.accountId
49 const assetAlias = transaction.assetAlias
50 const assetId = transaction.assetId
51 const receivers = transaction.receivers
53 const totalAmount = sum(receivers, prop )
72 const actions = [spendAction, gasAction]
73 receivers.forEach((receiver)=>{
76 address: receiver.address,
79 amount: Number(receiver.amount),
80 type: 'control_address'
88 export const issueAssetTxActionBuilder = (transaction, gas,prop) =>{
89 const accountAlias = transaction.accountAlias
90 const accountId = transaction.accountId
91 const assetAlias = transaction.assetAlias
92 const assetId = transaction.assetId
93 const receivers = transaction.receivers
95 const totalAmount = sum(receivers, prop )
109 type: 'spend_account'
112 const actions = [spendAction, gasAction]
113 receivers.forEach((receiver)=>{
116 address: receiver.address,
119 amount: Number(receiver.amount),
120 type: 'control_address'