def executeOps(ops, wifs=None): if any([not w for w in wifs]): print("Missing required key") return expiration = transactions.formatTimeFromNow(30) ops = transactions.addRequiredFees(rpc, ops, "1.3.0") ref_block_num, ref_block_prefix = transactions.getBlockParams(rpc) tx = transactions.Signed_Transaction( ref_block_num=ref_block_num, ref_block_prefix=ref_block_prefix, expiration=expiration, operations=ops ) tx = tx.sign(wifs, "BTS") pprint(transactions.JsonObj(tx)) if not args.nobroadcast: reply = broadcastTx(tx) if reply: print(reply) else: print("Not broadcasting anything!") reply = None
def constructSignedTransaction(ops): ops = transactions.addRequiredFees(client.ws, ops, "1.3.0") ref_block_num, ref_block_prefix = transactions.getBlockParams(client.ws) expiration = transactions.formatTimeFromNow(30) signed = transactions.Signed_Transaction(ref_block_num, ref_block_prefix, expiration, ops) pprint(transactions.JsonObj(signed)) w = signed.sign(wifs, chain=client.getChainInfo()) return w
def constructSignedTransaction(ops): ops = transactions.addRequiredFees(client.ws, ops, "1.3.0") ref_block_num, ref_block_prefix = transactions.getBlockParams(client.ws) expiration = transactions.formatTimeFromNow(30) tx = transactions.Signed_Transaction( ref_block_num=ref_block_num, ref_block_prefix=ref_block_prefix, expiration=expiration, operations=ops ) w = tx.sign(wifs, chain=client.getChainInfo()) return w
async def build_transaction(self, _ops): if not _ops: return result = await self.ddp_client.rpc('getFee', [_ops]) for idx, _op in enumerate(_ops): _op[1]['fee'] = result[idx] expiration = transactions.formatTimeFromNow(30) ref_block_num, ref_block_prefix = self.get_ref_block() transaction = transactions.Signed_Transaction( ref_block_num=ref_block_num, ref_block_prefix=ref_block_prefix, expiration=expiration, operations=_ops) transaction = transaction.sign([self.wif], 'BTS') transaction = transactions.JsonObj(transaction) await self.ddp_client.rpc('broadcast', [transaction])
from grapheneapi.grapheneapi import GrapheneAPI from graphenebase.transactions import formatTimeFromNow from pprint import pprint broadcast = True proposer = "faucet" client = GrapheneAPI("localhost", 8092, "", "") obj = client.get_object("2.0.0")[0] expiration = formatTimeFromNow( obj["parameters"]["committee_proposal_review_period"] + 30) parameters = { "block_interval": 3, "maintenance_interval": 60 * 2, "maintenance_skip_slots": 3, "committee_proposal_review_period": 0, "maximum_transaction_size": 2048, "maximum_block_size": 2048000000, "maximum_time_until_expiration": 86400, "maximum_proposal_lifetime": 2419200, "maximum_asset_whitelist_authorities": 10, "maximum_asset_feed_publishers": 10, "maximum_witness_count": 1001, "maximum_committee_count": 1001, "maximum_authority_membership": 10, "reserve_percent_of_fee": 2000, "network_percent_of_fee": 2000, "lifetime_referrer_percent_of_fee": 3000, "cashback_vesting_period_seconds": 31536000, "cashback_vesting_threshold": 10000000,
from graphenebase.transactions import formatTimeFromNow from grapheneapi import GrapheneClient from grapheneextra.proposal import Proposal from pprint import pprint symbol = "MILLLIONTDD" issuer = "jonnybitcoin" pm_result = False expiration = formatTimeFromNow(60 * 60 * 24) proposer = "xeroc" class Config(): wallet_host = "localhost" wallet_port = 8092 if __name__ == '__main__': graphene = Proposal(Config) account = graphene.rpc.get_account(issuer) asset = graphene.rpc.get_asset(symbol) # Publish a price settle_price = { "quote": { "asset_id": "1.3.0", "amount": 1 if pm_result else 0 }, "base": { "asset_id": asset["id"], "amount": 1 }
from graphenebase.transactions import formatTimeFromNow from grapheneapi import GrapheneClient from grapheneextra.proposal import Proposal from pprint import pprint symbol = "MILLLIONTDD" issuer = "jonnybitcoin" pm_result = False expiration = formatTimeFromNow(60 * 60 * 24) proposer = "xeroc" class Config(): wallet_host = "localhost" wallet_port = 8092 if __name__ == '__main__': graphene = Proposal(Config) account = graphene.rpc.get_account(issuer) asset = graphene.rpc.get_asset(symbol) # Publish a price settle_price = {"quote": {"asset_id": "1.3.0", "amount": 1 if pm_result else 0}, "base": {"asset_id": asset["id"], "amount": 1 }} tx = graphene.rpc.global_settle_asset(symbol, settle_price, False) tx = graphene.propose_operations(tx["operations"], expiration, proposer, broadcast=True) pprint(tx)