Package foundation.omni.tx
Class OmniTxBuilder
java.lang.Object
foundation.omni.tx.OmniTxBuilder
Builds Omni transactions in bitcoinj Transaction objects
-
Constructor Summary
ConstructorsConstructorDescriptionOmniTxBuilder(OmniNetwork omniNetwork) OmniTxBuilder(OmniNetwork omniNetwork, FeeCalculator feeCalculator) OmniTxBuilder(org.bitcoinj.base.BitcoinNetwork bitcoinNetwork) OmniTxBuilder(org.bitcoinj.base.BitcoinNetwork bitcoinNetwork, FeeCalculator feeCalculator) -
Method Summary
Modifier and TypeMethodDescriptionorg.bitcoinj.core.TransactioncreateClassBTransaction(org.bitcoinj.crypto.ECKey redeemingKey, org.bitcoinj.base.ScriptType scriptType, org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Class B Omni transaction in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateClassCTransaction(org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Class C Omni transaction in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateOmniTransaction(org.bitcoinj.crypto.ECKey redeemingKey, org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Omni transaction (P2PKH) in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateSignedClassBTransaction(org.bitcoinj.crypto.ECKey fromKey, org.bitcoinj.base.ScriptType scriptType, Collection<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address refAddress, byte[] payload) Create a signed Omni Class B (from a single address) transaction in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateSignedOmniTransaction(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address refAddress, byte[] payload) Create a signed Omni Class B (from a single P2PKH address) transaction in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateSignedSimpleSend(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address toAddress, CurrencyID currencyID, OmniValue amount) Create a signed Class B (from a single P2PKH address) simple send Transactionorg.bitcoinj.core.TransactioncreateUnsignedOmniTransaction(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionInput> inputs, org.bitcoinj.base.Address refAddress, byte[] payload) Create an unsigned Omni transaction, with unsigned inputs in a bitcoinj Transaction objectorg.bitcoinj.core.TransactioncreateUnsignedSimpleSend(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionInput> inputs, org.bitcoinj.base.Address toAddress, CurrencyID currencyID, OmniValue amount) Create a signed simple send Transaction
-
Constructor Details
-
OmniTxBuilder
public OmniTxBuilder(org.bitcoinj.base.BitcoinNetwork bitcoinNetwork) -
OmniTxBuilder
-
OmniTxBuilder
-
OmniTxBuilder
- Parameters:
omniNetwork- The network to construct transactions forfeeCalculator- transaction fee calculator
-
-
Method Details
-
createOmniTransaction
public org.bitcoinj.core.Transaction createOmniTransaction(org.bitcoinj.crypto.ECKey redeemingKey, org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Omni transaction (P2PKH) in a bitcoinj Transaction object
TODO: Exact output amounts.
- Parameters:
redeemingKey- Public key used for creating redeemable multisig data outputs (for Class B)refAddress- (optional) Omni reference address (for the reference output) or nullpayload- Omni transaction payload as a raw byte array- Returns:
- Incomplete Transaction, no inputs or change output
-
createClassCTransaction
public org.bitcoinj.core.Transaction createClassCTransaction(org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Class C Omni transaction in a bitcoinj Transaction object- Parameters:
refAddress- (optional) Omni reference address (for the reference output) or nullpayload- Omni transaction payload as a raw byte array- Returns:
- Incomplete Transaction, no inputs or change output
-
createClassBTransaction
public org.bitcoinj.core.Transaction createClassBTransaction(org.bitcoinj.crypto.ECKey redeemingKey, org.bitcoinj.base.ScriptType scriptType, org.bitcoinj.base.Address refAddress, byte[] payload) Create unsigned Class B Omni transaction in a bitcoinj Transaction object- Parameters:
redeemingKey- Public key used for creating redeemable multisig data outputsscriptType- script type for redeemingKey address - P2PKH or other single-key script typerefAddress- (optional) Omni reference address (for the reference output) or nullpayload- Omni transaction payload as a raw byte array- Returns:
- Incomplete Transaction, no inputs or change output
-
createSignedOmniTransaction
public org.bitcoinj.core.Transaction createSignedOmniTransaction(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address refAddress, byte[] payload) throws org.bitcoinj.core.InsufficientMoneyException Create a signed Omni Class B (from a single P2PKH address) transaction in a bitcoinj Transaction object- Parameters:
fromKey- Private key/address to send from and receive change tounspentOutputs- A collection of unspent outputs for funding the transactionrefAddress- The Omni reference address (for the reference output)payload- Omni transaction payload as a raw byte array- Returns:
- Signed and ready-to-send Transaction
- Throws:
org.bitcoinj.core.InsufficientMoneyException- Not enough bitcoin for fees
-
createSignedClassBTransaction
public org.bitcoinj.core.Transaction createSignedClassBTransaction(org.bitcoinj.crypto.ECKey fromKey, org.bitcoinj.base.ScriptType scriptType, Collection<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address refAddress, byte[] payload) throws org.bitcoinj.core.InsufficientMoneyException Create a signed Omni Class B (from a single address) transaction in a bitcoinj Transaction object- Parameters:
fromKey- Private key/address to send from and receive change toscriptType- Script Type to use (alternatively we could take an address??)unspentOutputs- A collection of unspent outputs for funding the transactionrefAddress- The Omni reference address (for the reference output)payload- Omni transaction payload as a raw byte array- Returns:
- Signed and ready-to-send Transaction
- Throws:
org.bitcoinj.core.InsufficientMoneyException- Not enough bitcoin for feesorg.bitcoinj.core.InsufficientMoneyException- if unspentOutputs contain insufficient funds for the transaction
-
createUnsignedOmniTransaction
public org.bitcoinj.core.Transaction createUnsignedOmniTransaction(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionInput> inputs, org.bitcoinj.base.Address refAddress, byte[] payload) throws org.bitcoinj.core.InsufficientMoneyException Create an unsigned Omni transaction, with unsigned inputs in a bitcoinj Transaction object- Parameters:
fromKey- Private key/address to send from and receive change toinputs- - a collection of inputs to add to the transactionrefAddress- The Omni reference address (for the reference output)payload- Omni transaction payload as a raw byte array- Returns:
- Unsigned OmniTransaction Transaction
- Throws:
org.bitcoinj.core.InsufficientMoneyException- Not enough bitcoin for fees
-
createSignedSimpleSend
public org.bitcoinj.core.Transaction createSignedSimpleSend(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionOutput> unspentOutputs, org.bitcoinj.base.Address toAddress, CurrencyID currencyID, OmniValue amount) throws org.bitcoinj.core.InsufficientMoneyException Create a signed Class B (from a single P2PKH address) simple send Transaction- Parameters:
fromKey- Private key (P2PKH address) to send fromunspentOutputs- A collection of unspent outputs for funding the transactiontoAddress- The Omni reference address (for the reference output, destination address in this case)currencyID- The Omni currency IDamount- The currency amount in willetts- Returns:
- Signed and ready-to-send Transaction
- Throws:
org.bitcoinj.core.InsufficientMoneyException- Not enough bitcoin for fees
-
createUnsignedSimpleSend
public org.bitcoinj.core.Transaction createUnsignedSimpleSend(org.bitcoinj.crypto.ECKey fromKey, List<org.bitcoinj.core.TransactionInput> inputs, org.bitcoinj.base.Address toAddress, CurrencyID currencyID, OmniValue amount) throws org.bitcoinj.core.InsufficientMoneyException Create a signed simple send Transaction- Parameters:
fromKey- Private key/address to send frominputs- unsigned inputs to use for the transactiontoAddress- The Omni reference address (for the reference output, destination address in this case)currencyID- The Omni currency IDamount- The currency amount in willetts- Returns:
- unsigned transaction
- Throws:
org.bitcoinj.core.InsufficientMoneyException- Not enough bitcoin for fees
-