code: async function sendTransaction (tx, options = {}) {
    const { waitMined, verify } = R.merge(this.Chain.defaults, options)
    // Verify transaction before broadcast
    if (this.verifyTxBeforeSend || verify) {
      const { validation, tx: txObject, txType } = await this.unpackAndVerify(tx)
      if (validation.length) {
        throw Object.assign(Error('Transaction verification error'), {
          code: 'TX_VERIFICATION_ERROR',
          errorData: { validation, tx: txObject, txType },
          txHash: tx
        })
      }
    }
  
    try {
      const { txHash } = await this.api.postTransaction({ tx })
      return waitMined ? { ...(await this.poll(txHash, options)), rawTx: tx } : { hash: txHash, rawTx: tx }
    } catch (e) {
      throw Object.assign(
        (new Error(e.message)),
        {
          rawTx: tx,
          verifyTx: () => this.unpackAndVerify(tx)
        }
      )
    }
  }
docs: ChainNode module
  
  This is the complement to {@link module:@aeternity/aepp-sdk/es/chain}.
  @module @aeternity/aepp-sdk/es/chain/node
  @export ChainNode
  @example import ChainNode from '@aeternity/aepp-sdk/es/chain/node'