bitshares.asset module

class bitshares.asset.Asset(*args, **kwargs)[source]

Bases: bitshares.instance.BlockchainInstance, bitshares.asset.Asset

Deals with Assets of the network.

Parameters:
  • Asset (str) – Symbol name or object id of an asset
  • lazy (bool) – Lazy loading
  • full (bool) – Also obtain bitasset-data and dynamic asset data
  • blockchain_instance (bitshares.bitshares.BitShares) – BitShares instance
Returns:

All data of an asset

Return type:

dict

Note

This class comes with its own caching function to reduce the load on the API server. Instances of this class can be refreshed with Asset.refresh().

add_authorities(type, authorities=[])[source]

Add authorities to an assets white/black list

Parameters:
  • type (str) – blacklist or whitelist
  • authorities (list) – List of authorities (Accounts)
add_markets(type, authorities=[], force_enable=True)[source]

Add markets to an assets white/black list

Parameters:
  • type (str) – blacklist or whitelist
  • markets (list) – List of markets (assets)
  • force_enable (bool) – Force enable white_list flag
bitshares

Alias for the specific blockchain

blockchain
blockchain_instance_class

alias of bitshares.instance.BlockchainInstance

classmethod cache_object(data, key=None)

This classmethod allows to feed an object into the cache is is mostly used for testing

calls
chain

Short form for blockchain (for the lazy)

change_issuer(new_issuer, **kwargs)[source]

Change asset issuer (needs signing with owner key!)

Parameters:
  • type (str) – blacklist or whitelist
  • authorities (list) – List of authorities (Accounts)
clear() → None. Remove all items from D.
classmethod clear_cache()

Clear/Reset the entire Cache

copy() → a shallow copy of D
define_classes()[source]

Needs to define instance variables that provide classes

disableflag(flag)[source]

Enable a certain flag.

Parameters:flag (str) – Flag name
enableflag(flag)[source]

Enable a certain flag.

Parameters:flag (str) – Flag name
ensure_full()[source]
feed
feeds
flags

List the permissions that are currently used (flags)

fromkeys()

Create a new dictionary with keys from iterable and values set to value.

get()

Return the value for key if key is in the dictionary, else default.

get_call_orders(limit=100)[source]
get_instance_class()

Should return the Chain instance class, e.g. bitshares.BitShares

get_settle_orders(limit=100)[source]
getfromcache(id)

Get an element from the cache explicitly

halt()[source]

Halt this asset from being moved or traded

identifier = None
incached(id)

Is an element cached?

classmethod inject(cls)
is_bitasset

Is the asset a market pegged asset?

is_fully_loaded

Is this instance fully loaded / e.g. all data available?

issue(amount, to, memo=None, **kwargs)[source]

Issue new shares of an asset

Parameters:
  • amount (float) – Amount to issue
  • to (str) – Recipient
  • memo (str) – (optional) Memo message
items()

This overwrites items() so that refresh() is called it the object is not already fetched

keys() → a set-like object providing a view on D's keys
market_fee_percent
max_market_fee
static objectid_valid(i)

Test if a string looks like a regular object id of the form::

xxxx.yyyyy.zzzz

with those being numbers.

perform_id_tests = True
permissions

List the permissions for this asset that the issuer can obtain

pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised

popitem() → (k, v), remove and return some (key, value) pair as a

2-tuple; but raise KeyError if D is empty.

precision
refresh()[source]

Refresh the data from the API server

release(whitelist_authorities=[], blacklist_authorities=[], whitelist_markets=[], blacklist_markets=[])[source]

Release this asset and allow unrestricted transfer, trading, etc.

Parameters:
  • whitelist_authorities (list) – List of accounts that serve as whitelist authorities
  • blacklist_authorities (list) – List of accounts that serve as blacklist authorities
  • whitelist_markets (list) – List of assets to allow trading with
  • blacklist_markets (list) – List of assets to prevent trading with
remove_authorities(type, authorities=[])[source]

Remove authorities from an assets white/black list

Parameters:
  • type (str) – blacklist or whitelist
  • authorities (list) – List of authorities (Accounts)
remove_markets(type, authorities=[])[source]

Remove markets from an assets white/black list

Parameters:
  • type (str) – blacklist or whitelist
  • markets (list) – List of markets (assets)
seize(from_account, to_account, amount)[source]

Seize amount from an account and send to another

… note:: This requires the override_authority to be
set for this asset!
Parameters:
set_market_fee(percentage_fee, max_market_fee)[source]

Set trading percentage fee

Parameters:
static set_shared_blockchain_instance(instance)

This method allows us to override default instance for all users of SharedInstance.instance.

Parameters:instance (chaininstance) – Chain instance
setdefault()

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

setoptions(flags)[source]

Enable a certain flag.

Flags:

  • charge_market_fee
  • white_list
  • override_authority
  • transfer_restricted
  • disable_force_settle
  • global_settle
  • disable_confidential
  • witness_fed_asset
  • committee_fed_asset
Parameters:flag (dict) – dictionary of flags and boolean
settlements
shared_blockchain_instance()

This method will initialize SharedInstance.instance and return it. The purpose of this method is to have offer single default instance that can be reused by multiple classes.

space_id = 1
store(data, key='id')

Cache the list

Parameters:data (list) – List of objects to cache
symbol
test_valid_objectid(i)

Alias for objectid_valid

testid(id)

In contrast to validity, this method tests if the objectid matches the type_id provided in self.type_id or self.type_ids

type_id = None
type_ids = []
update([E, ]**F) → None. Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

update_cer(cer, account=None, **kwargs)[source]

Update the Core Exchange Rate (CER) of an asset

update_feed_producers(producers)[source]

Update bitasset feed producers

Parameters:producers (list) – List of accounts that are allowed to produce a feed
values() → an object providing a view on D's values