Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
function hasBalance(id) {
if (feeStatus[id] === undefined) return true;
return feeStatus[id] && feeStatus[id].hasBalance;
}
let fee_asset_types = [];
if (!(from_account && from_account.get("balances"))) {
return {fee_asset_types};
}
let account_balances = state.from_account.get("balances").toJS();
fee_asset_types = Object.keys(account_balances).sort(utils.sortID);
for (let key in account_balances) {
let asset = ChainStore.getObject(key);
let balanceObject = ChainStore.getObject(account_balances[key]);
if (balanceObject && balanceObject.get("balance") === 0) {
if (fee_asset_types.indexOf(key) !== -1) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
if (asset) {
// Remove any assets that do not have valid core exchange rates
let priceIsValid = false,
p;
try {
p = new Price({
base: new Asset(
asset
.getIn([
"options",
}
function hasBalance(id) {
if (feeStatus[id] === undefined) return true;
return feeStatus[id] && feeStatus[id].hasBalance;
}
let fee_asset_types = [];
if (!(from_account && from_account.get("balances"))) {
return {fee_asset_types};
}
let account_balances = state.from_account.get("balances").toJS();
fee_asset_types = Object.keys(account_balances).sort(utils.sortID);
for (let key in account_balances) {
let asset = ChainStore.getObject(key);
let balanceObject = ChainStore.getObject(account_balances[key]);
if (balanceObject && balanceObject.get("balance") === 0) {
if (fee_asset_types.indexOf(key) !== -1) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
if (asset) {
// Remove any assets that do not have valid core exchange rates
let priceIsValid = false,
p;
try {
p = new Price({
base: new Asset(
asset
.getIn([
"options",
return feeStatus[id] && feeStatus[id].hasPoolBalance;
}
function hasBalance(id) {
if (feeStatus[id] === undefined) return true;
return feeStatus[id] && feeStatus[id].hasBalance;
}
let fee_asset_types = [];
if (!(btsAccount && btsAccount.get("balances"))) {
return {fee_asset_types};
}
let account_balances = btsAccount.get("balances").toJS();
fee_asset_types = Object.keys(account_balances).sort(utils.sortID);
for (let key in account_balances) {
let asset = ChainStore.getObject(key);
let balanceObject = ChainStore.getObject(account_balances[key]);
if (balanceObject && balanceObject.get("balance") === 0) {
if (fee_asset_types.indexOf(key) !== -1) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
if (asset) {
// Remove any assets that do not have valid core exchange rates
let priceIsValid = false,
p;
try {
p = new Price({
base: new Asset(
asset
.getIn([
return feeStatus[id] && feeStatus[id].hasPoolBalance;
}
function hasBalance(id) {
if (feeStatus[id] === undefined) return true;
return feeStatus[id] && feeStatus[id].hasBalance;
}
let fee_asset_types = [];
if (!(from_account && from_account.get("balances"))) {
return {fee_asset_types};
}
let account_balances = state.from_account.get("balances").toJS();
fee_asset_types = Object.keys(account_balances).sort(utils.sortID);
for (let key in account_balances) {
let asset = ChainStore.getObject(key);
let balanceObject = ChainStore.getObject(account_balances[key]);
if (balanceObject && balanceObject.get("balance") === 0) {
if (fee_asset_types.indexOf(key) !== -1) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
if (asset) {
// Remove any assets that do not have valid core exchange rates
let priceIsValid = false,
p;
try {
p = new Price({
base: new Asset(
asset
.getIn([
render() {
let {witness, isCurrent, rank} = this.props;
let witness_data = ChainStore.getWitnessById( this.props.witness.get('id') );
if ( !witness_data ) return null;
let total_votes = witness_data.get( "total_votes" );
let witness_aslot = witness_data.get('last_aslot')
let color = {};
if( this.props.most_recent - witness_aslot > 100 ) {
color = {borderLeft: "1px solid #FCAB53"};
}
else {
color = {borderLeft: "1px solid #50D2C2"};
}
let last_aslot_time = new Date(Date.now() - ((this.props.most_recent - witness_aslot ) * ChainStore.getObject( "2.0.0" ).getIn( ["parameters","block_interval"] )*1000));
let currentClass = isCurrent ? "active-witness" : "";
let missed = witness_data.get('total_missed');
let missedClass = classNames("txtlabel",
{"success": missed <= 500 },
{"info": missed > 500 && missed <= 1250},
{"warning": missed > 1250 && missed <= 2000},
{"error": missed >= 200}
);
return (
{rank}
{witness.get("name")}
.filter(a => {
if (!a) { return false; }
let account = ChainStore.getObject(a.get("witness_account"));
if (!account) return false;
let name = account.get("name");
if (!name) return false;
return name.indexOf(this.props.filter) !== -1;
})
.sort((a, b) => {
if (hide_amount) {
colorClass += " no-amount";
}
if (asPercentage) {
let supply = parseInt(asset.dynamic.current_supply, 10);
let percent = utils.format_number((amount / supply) * 100, 4);
return (
<span>
{percent}%
</span>
)
}
let issuer = ChainStore.getObject(asset.issuer, false, false);
let issuerName = issuer ? issuer.get('name') : '';
let description = assetUtils.parseDescription(asset.options.description);
const currency_popover_body = !hide_asset && this.props.assetInfo && <div>
{this.props.assetInfo}
</div>;
return (
update(next_props = null)
{
//let keep_updating = (options && options.keep_updating) || this.props.keep_updating;
//if(!next_props && !keep_updating && this.state.resolved) return;
let props = next_props || this.props;
let new_state = {};
let all_objects_counter = 0;
let resolved_objects_counter = 0;
for( let key of this.chain_objects )
{
let prop = props[key] || this.dynamic_props[key] || this.default_props[key];
if(prop) {
let new_obj = ChainStore.getObject(prop, false, this.default_props["autosubscribe"]);
if (new_obj === undefined && this.required_props.indexOf(key) === -1 && new_obj !== this.state[key]) new_state[key] = new_obj;
else if (new_obj && new_obj !== this.state[key]) new_state[key] = new_obj;
++all_objects_counter;
if (new_obj !== undefined) ++resolved_objects_counter;
} else {
if(this.state[key]) new_state[key] = null;
}
}
for( let key of this.chain_accounts )
{
let prop = props[key] || this.dynamic_props[key] || this.default_props[key];
if(prop) {
if(prop[0] === "#" && Number.parseInt(prop.substring(1)))
prop = "1.2." + prop.substring(1);
let new_obj = ChainStore.getAccount(prop, this.default_props["autosubscribe"]);
if (new_obj === undefined && this.required_props.indexOf(key) === -1 && new_obj !== this.state[key]) new_state[key] = new_obj;
_getAvailableAssets(state = this.state) {
const { from_account, from_error } = state;
let asset_types = [], fee_asset_types = [];
if (!(from_account && from_account.get("balances") && !from_error)) {
return {asset_types, fee_asset_types};
}
let account_balances = state.from_account.get("balances").toJS();
asset_types = Object.keys(account_balances).sort(utils.sortID);
fee_asset_types = Object.keys(account_balances).sort(utils.sortID);
for (let key in account_balances) {
let asset = ChainStore.getObject(key);
let balanceObject = ChainStore.getObject(account_balances[key]);
if (balanceObject && balanceObject.get("balance") === 0) {
asset_types.splice(asset_types.indexOf(key), 1);
if (fee_asset_types.indexOf(key) !== -1) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
if (asset) {
if (asset.get("id") !== "1.3.0" && !utils.isValidPrice(asset.getIn(["options", "core_exchange_rate"]))) {
fee_asset_types.splice(fee_asset_types.indexOf(key), 1);
}
}
}
return {asset_types, fee_asset_types};
}