Skip to content

Instantly share code, notes, and snippets.

@KasraAb
Created November 2, 2020 16:32
Show Gist options
  • Save KasraAb/dc8f606ff3bbac1dd66d3acc2d174edc to your computer and use it in GitHub Desktop.
Save KasraAb/dc8f606ff3bbac1dd66d3acc2d174edc to your computer and use it in GitHub Desktop.
BuyShare
//update sender's account
const new_sender_balance = new BigNum(sender.balance).sub(lisk_amount).toString();
const new_sender_share = (!sender.asset.share)? this.asset.amount
: new BigNum(sender.asset.share).add(this.asset.amount).toString();
const updated_sender = { ...sender, balance: new_sender_balance, asset: { ...sender.asset, share: new_sender_share}};
store.account.set(sender.address, updated_sender);
//update manager's account
const new_manager_balance = new BigNum(Manager.balance).add(lisk_amount).toString();
var new_holders = (!Manager.asset.holders) ? {} : Manager.asset.holders;
new_holders[sender.address] = new_sender_share;
const new_share_supply = (!Manager.asset.shareSupply) ? this.asset.amount
: new BigNum(Manager.asset.shareSupply).add(this.asset.amount).toString();
const updated_manager = {...Manager, balance : new_manager_balance,
asset:{...Manager.asset, holders: new_holders, shareSupply: new_share_supply}};
store.account.set(updated_manager.address, updated_manager);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment