def set_fee_address(fee_address): if len(fee_address) != 20: return False storage = MCTManager() storage.put("feeAddress", fee_address)
def set_taker_fee(fee, asset_id): if fee > max_fee: return False if fee < 0: return False storage = MCTManager() key = concat("takerFee", asset_id) storage.put(key, fee)
def transfer_asset_to(address, asset_id, amount): storage = MCTManager() if amount < 1: Notify("Amount to transfer less than 1!") return key = concat(address, asset_id) current_balance = storage.get(key) storage.put(key, current_balance + amount)
def store_offer(trading_pair, offer_hash, offer): ''' Store Single Offer :param trading_pair: :param offer_hash: :param offer: :return: Out put of Storage Call ''' storage = MCTManager() if offer.AvailableAmount == 0: remove_offer(trading_pair, offer_hash) else: offer_data = storage.serialize_array(offer) storage.put(trading_pair + offer_hash, offer_data)
def add_volume(asset_id, native_amount, foreign_amount): time = GetTime() storage = MCTManager() bucket_number = time / bucket_duration volume_key = concat("tradeVolume", bucket_number) volume_key = concat(volume_key, asset_id) volume_data = storage.get(volume_key) if len(volume_data) == 0: volume = Volume() volume.Native = native_amount volume.Foreign = foreign_amount else: volume = storage.deserialize(volume_data) volume.Native = volume.Native + native_amount volume.Foreign = volume.Foreign + foreign_amount storage.put(volume_key, storage.serialize_array(volume))
def reduce_balance(address, asset_id, amount): storage = MCTManager() if amount < 1: Notify("Amount to reduce less than 1") return False key = concat(address, asset_id) current_balance = storage.get(key) new_balance = current_balance - amount if new_balance < 0: Notify("Not enough balance") return False if new_balance > 0: storage.put(key, new_balance) else: storage.delete(key) return True
def initialize(): storage = MCTManager() storage.put('state', 'Active')
def terminate_trading(): storage = MCTManager() storage.put("state", "terminated")
def unfreeze_trading(): storage = MCTManager() storage.put("state", "Active")