from grapheneapi.grapheneclient import GrapheneClient import json from deepdiff import DeepDiff proposer = "xeroc" expiration = "2016-01-28T05:59:59" broadcast = False class Wallet(): wallet_host = "localhost" wallet_port = 8092 if __name__ == '__main__': graphene = GrapheneClient(Wallet) obj = graphene.getObject("2.0.0") current_fees = obj["parameters"]["current_fees"]["parameters"] old_fees = obj["parameters"]["current_fees"] scale = obj["parameters"]["current_fees"]["scale"] / 1e4 # General change of parameter changes = {"limit_order_cancel": { "fee" : int(0.01 / scale * 1e5) }} print("=" * 80) tx = graphene.rpc.propose_fee_change(proposer, expiration, changes, broadcast) new_fees = tx["operations"][0][1]["proposed_ops"][0]["op"][1]["new_parameters"]["current_fees"] print(json.dumps(DeepDiff(old_fees, new_fees), indent=4))
from grapheneapi.grapheneclient import GrapheneClient from pprint import pprint import config from datetime import datetime import time def formatTimeFromNow(secs=0): return datetime.utcfromtimestamp(time.time() + int(secs)).strftime('%Y-%m-%dT%H:%M:%S') if __name__ == '__main__': client = GrapheneClient(config) core_asset = client.getObject("1.3.0") account = client.rpc.get_account(config.account) proposer = client.rpc.get_account(config.proposer) ops = [] for asset_name in config.burn_assets: asset = client.rpc.get_asset(asset_name) amount = config.burn_assets[asset_name] op = client.rpc.get_prototype_operation("asset_reserve_operation") op[1]["payer"] = account["id"] op[1]["amount_to_reserve"]["asset_id"] = asset["id"] op[1]["amount_to_reserve"]["amount"] = int(amount * 10**asset["precision"]) ops.append(op)
drain = "<asset>" account = "<asset-issuer>" def formatTimeFromNow(secs=0): return datetime.utcfromtimestamp(time.time() + int(secs)).strftime("%Y-%m-%dT%H:%M:%S") if __name__ == "__main__": config = Config client = GrapheneClient(config) account = client.rpc.get_account(config.account) asset = client.rpc.get_asset(config.drain) assetdyn = client.getObject(asset["dynamic_asset_data_id"]) fee_pool = int(assetdyn["fee_pool"]) / 10 ** client.getObject("1.3.0")["precision"] op = client.rpc.get_prototype_operation("limit_order_create_operation") op[1]["fee"]["amount"] = int(fee_pool * 10 ** asset["precision"]) op[1]["fee"]["asset_id"] = asset["id"] op[1]["seller"] = account["id"] op[1]["amount_to_sell"]["amount"] = 1 op[1]["amount_to_sell"]["asset_id"] = asset["id"] op[1]["min_to_receive"]["amount"] = 1 op[1]["min_to_receive"]["asset_id"] = "1.3.0" op[1]["expiration"] = formatTimeFromNow(60 * 60 * 12) buildHandle = client.rpc.begin_builder_transaction() client.rpc.add_operation_to_builder_transaction(buildHandle, op) tx = client.rpc.sign_builder_transaction(buildHandle, True)
drain = "<asset>" account = "<asset-issuer>" def formatTimeFromNow(secs=0): return datetime.utcfromtimestamp(time.time() + int(secs)).strftime('%Y-%m-%dT%H:%M:%S') if __name__ == '__main__': config = Config client = GrapheneClient(config) account = client.rpc.get_account(config.account) asset = client.rpc.get_asset(config.drain) assetdyn = client.getObject(asset["dynamic_asset_data_id"]) fee_pool = int( assetdyn["fee_pool"]) / 10**client.getObject("1.3.0")["precision"] op = client.rpc.get_prototype_operation("limit_order_create_operation") op[1]["fee"]["amount"] = int(fee_pool * 10**asset["precision"]) op[1]["fee"]["asset_id"] = asset["id"] op[1]["seller"] = account["id"] op[1]["amount_to_sell"]["amount"] = 1 op[1]["amount_to_sell"]["asset_id"] = asset["id"] op[1]["min_to_receive"]["amount"] = 1 op[1]["min_to_receive"]["asset_id"] = "1.3.0" op[1]["expiration"] = formatTimeFromNow(60 * 60 * 12) buildHandle = client.rpc.begin_builder_transaction() client.rpc.add_operation_to_builder_transaction(buildHandle, op)
from grapheneapi.grapheneclient import GrapheneClient from pprint import pprint import config from datetime import datetime import time def formatTimeFromNow(secs=0): return datetime.utcfromtimestamp(time.time() + int(secs)).strftime( "%Y-%m-%dT%H:%M:%S" ) if __name__ == "__main__": client = GrapheneClient(config) core_asset = client.getObject("1.3.0") account = client.rpc.get_account(config.account) proposer = client.rpc.get_account(config.proposer) ops = [] for assetname in config.refund_asset_pools: asset = client.rpc.get_asset(assetname) dynamic = client.getObject(asset["dynamic_asset_data_id"]) fee_pool = dynamic["fee_pool"] difference = config.refund_target_amount * 10 ** core_asset["precision"] - int( fee_pool ) if difference > 0:
import json from deepdiff import DeepDiff proposer = "xeroc" expiration = "2016-01-28T05:59:59" broadcast = False class Wallet: wallet_host = "localhost" wallet_port = 8092 if __name__ == "__main__": graphene = GrapheneClient(Wallet) obj = graphene.getObject("2.0.0") current_fees = obj["parameters"]["current_fees"]["parameters"] old_fees = obj["parameters"]["current_fees"] scale = obj["parameters"]["current_fees"]["scale"] / 1e4 # General change of parameter changes = {"limit_order_cancel": {"fee": int(0.01 / scale * 1e5)}} print("=" * 80) tx = graphene.rpc.propose_fee_change(proposer, expiration, changes, broadcast) new_fees = tx["operations"][0][1]["proposed_ops"][0]["op"][1]["new_parameters"][ "current_fees" ] print(json.dumps(DeepDiff(old_fees, new_fees), indent=4))