All files / src/tokens cpu.js

72.22% Statements 13/18
50% Branches 3/6
66.67% Functions 4/6
72.22% Lines 13/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 499x 9x 9x                     2x 2x 2x 2x           2x 2x       3x       1x 1x               9x                
const CONTRACT_NAME = 'token.ore';
const ORE_CPU_ACCOUNT_NAME = 'cpu.ore';
const TOKEN_SYMBOL = 'CPU';
 
let amount;
/* Public */
 
function issueCpu(toAccountName, cpuAmount, memo = '') {
  amount = this.getAmount(cpuAmount, TOKEN_SYMBOL);
  return this.issueToken(toAccountName, amount, ORE_CPU_ACCOUNT_NAME, CONTRACT_NAME, memo);
}
 
async function approveCpu(fromAccountName, toAccountName, cpuAmount, memo = '', permission = 'active') {
  amount = this.getAmount(cpuAmount, TOKEN_SYMBOL);
  const fromAccountBalance = await this.getCpuBalance(fromAccountName, TOKEN_SYMBOL, CONTRACT_NAME);
  Eif (fromAccountBalance > 0) {
    return this.approveTransfer(fromAccountName, toAccountName, amount, CONTRACT_NAME, memo, permission);
  }
  throw new Error('The account does not have sufficient balance');
}
 
async function getApprovedCpuBalance(fromAccountName, toAccountName) {
  const approvedBalance = await this.getApprovedAmount.bind(this)(fromAccountName, toAccountName, TOKEN_SYMBOL, CONTRACT_NAME);
  return approvedBalance;
}
 
function getCpuBalance(oreAccountName) {
  return this.getBalance(oreAccountName, TOKEN_SYMBOL, CONTRACT_NAME);
}
 
function transferCpu(fromAccountName, toAccountName, cpuAmount, memo = '') {
  amount = this.getAmount(cpuAmount, TOKEN_SYMBOL);
  return this.transferToken(fromAccountName, toAccountName, amount, CONTRACT_NAME, memo);
}
 
function transferCpufrom(approvedAccountName, fromAccountName, toAccountName, cpuAmount, memo) {
  amount = this.getAmount(cpuAmount, TOKEN_SYMBOL);
  return this.transferFrom(approvedAccountName, fromAccountName, toAccountName, amount, CONTRACT_NAME, memo);
}
 
module.exports = {
  issueCpu,
  approveCpu,
  getCpuBalance,
  getApprovedCpuBalance,
  transferCpu,
  transferCpufrom
};