In steem-ruby, the method Steem::NetworkBroadcastApi#broadcast_transaction_synchronous was never officially available as an RPC. Early versions of AppBase provided this method and steem-ruby would pass it along, but when AppBase dropped it, it also became unavailable in steem-ruby.
Prior to this, steem-ruby didn't even need a concrete class for Steem::NetworkBroadcastApi because it is dynamically defined at runtime with all available methods.
For now, the workaround is to use Steem::CondenserApi#broadcast_transaction_synchronous, but this is not a good long-term solution.
Instead, we should actually add the concrete class called Steem::NetworkBroadcastApi with an instance method of broadcast_transaction_synchronous to simulate the desired behavior by internally polling broadcasts with Steem::TransactionStatusApi#find_transaction.
When the new Steem::NetworkBroadcastApi#broadcast_transaction_synchronous method polls for the transaction, it should poll for within_reversible_block and include block_num in the result like Steem::CondenserApi#broadcast_transaction_synchronous currently does.
AC
[ ] Create concrete class lib/steem/network_broadcast_api.rb with an instance method broadcast_transaction_synchronous that handles polling
[ ] Define tests in test/steem/network_broadcast_api_test.rb
In
steem-ruby
, the methodSteem::NetworkBroadcastApi#broadcast_transaction_synchronous
was never officially available as an RPC. Early versions of AppBase provided this method andsteem-ruby
would pass it along, but when AppBase dropped it, it also became unavailable insteem-ruby
.Prior to this,
steem-ruby
didn't even need a concrete class forSteem::NetworkBroadcastApi
because it is dynamically defined at runtime with all available methods.For now, the workaround is to use
Steem::CondenserApi#broadcast_transaction_synchronous
, but this is not a good long-term solution.Instead, we should actually add the concrete class called
Steem::NetworkBroadcastApi
with an instance method ofbroadcast_transaction_synchronous
to simulate the desired behavior by internally polling broadcasts withSteem::TransactionStatusApi#find_transaction
.https://developers.steem.io/apidefinitions/#apidefinitions-transaction-status-api
When the new
Steem::NetworkBroadcastApi#broadcast_transaction_synchronous
method polls for the transaction, it should poll forwithin_reversible_block
and includeblock_num
in the result likeSteem::CondenserApi#broadcast_transaction_synchronous
currently does.AC
lib/steem/network_broadcast_api.rb
with an instance methodbroadcast_transaction_synchronous
that handles pollingtest/steem/network_broadcast_api_test.rb