diff --git a/beem/rc.py b/beem/rc.py index dc04a43c6f8556fbed187010d052ad6282827f21..c241602f0e6a5de558d45c2b7459bcd48c454958 100644 --- a/beem/rc.py +++ b/beem/rc.py @@ -228,3 +228,57 @@ class RC(object): execution_time_count = resource_execution_time["account_update_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, state_bytes_count) return self.blockchain.get_rc_cost(resource_count) + + def set_slot_delegator(self, from_pool, to_account, to_slot, signer): + """ Set a slot to receive RC from a pool + + :param str from_pool: Pool to set the slot to + :param str to_account: Account on which we want to update the slot + :param int to_slot: slot we want to set + :param str signer: Account who broadcast this + """ + json_body = [ + 'set_slot_delegator', { + 'from_pool': from_pool, + 'to_account': to_account, + 'to_slot': to_slot, + 'signer': signer, + } + ] + return self.blockchain.custom_json( + "rc", json_body, required_auths=[signer]) + + def delegate_from_pool(self, from_pool, to_account, max_rc): + """ Set a slot to receive RC from a pool + + :param str from_pool: Pool to set the slot to + :param str to_account: Account on which we want to update the slot + :param int max_rc: max rc to delegate + """ + json_body = [ + 'delegate_drc_from_pool', { + 'from_pool': from_pool, + 'to_account': to_account, + 'asset_symbol': {'nai': "@@000000037", 'decimals': 6}, + "drc_max_mana": max_rc, + } + ] + return self.blockchain.custom_json( + "rc", json_body, required_auths=[from_pool]) + + def delegate_to_pool(self, username, to_pool, rc): + """ Set a slot to receive RC from a pool + + :param str username: user delegating rc to the pool + :param str to_pool: Pool to delegate to + :param str rc: rc to delegate + """ + json_body = [ + 'delegate_to_pool', { + 'from_account': username, + 'to_pool': to_pool, + 'amount': {'symbol': "VESTS", 'amount': rc, 'precision': 6, 'nai': '@@000000037'}, + } + ] + return self.blockchain.custom_json( + "rc", json_body, required_auths=[username]) \ No newline at end of file