Constructor
new Transaction(envelope, networkPassphraseopt)
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
envelope |
string
|
xdr.TransactionEnvelope
|
transaction envelope object or base64 encoded string |
|
networkPassphrase |
string
|
<optional> |
passphrase of the target stellar network (e.g. "Public Global Stellar Network ; September 2015") |
Extends
Classes
Members
(readonly) extraSigners :Array.<string>
array of extra signers (StrKeys)
- Source:
Type:
-
Array.<string>
(readonly) fee :string
- Overrides:
- Source:
Type:
-
string
(readonly) ledgerBounds :object
Properties:
Name | Type | Description |
---|---|---|
minLedger |
number
|
smallest ledger bound (uint32) |
maxLedger |
number
|
largest ledger bound (or 0 for inf) |
- Source:
Type:
-
object
(readonly) minAccountSequence :string
64 bit account sequence
- Source:
Type:
-
string
(readonly) minAccountSequenceAge :number
64 bit number of seconds
- Source:
Type:
-
number
(readonly) minAccountSequenceLedgerGap :number
32 bit number of ledgers
- Source:
Type:
-
number
(readonly) networkPassphrase :string
- Overrides:
- Source:
Type:
-
string
(readonly) operations :Array.<xdr.Operation>
- Source:
Type:
-
Array.<xdr.Operation>
(readonly) signatures :Array.<xdr.DecoratedSignature>
- Overrides:
- Source:
Type:
-
Array.<xdr.DecoratedSignature>
(readonly) timeBounds :object
Properties:
Name | Type | Description |
---|---|---|
64 |
string
|
bit unix timestamp |
64 |
string
|
bit unix timestamp |
- Source:
Type:
-
object
Methods
addDecoratedSignature(signature) → {void}
Add a decorated signature directly to the transaction envelope.
- Overrides:
- Source:
- See:
-
- Keypair.signDecorated
- Keypair.signPayloadDecorated
Parameters:
Name | Type | Description |
---|---|---|
signature |
xdr.DecoratedSignature
|
raw signature to add |
Returns:
- Type:
-
void
addSignature(publicKey, signature) → {void}
Add a signature to the transaction. Useful when a party wants to pre-sign a transaction but doesn't want to give access to their secret keys. This will also verify whether the signature is valid.
Here's how you would use this feature to solicit multiple signatures.
- Use
TransactionBuilder
to build a new transaction. - Make sure to set a long enough timeout on that transaction to give your signers enough time to sign!
- Once you build the transaction, use
transaction.toXDR()
to get the base64-encoded XDR string. - Warning! Once you've built this transaction, don't submit any other transactions onto your account! Doing so will invalidate this pre-compiled transaction!
- Send this XDR string to your other parties. They can use the instructions for getKeypairSignature to sign the transaction.
- They should send you back their
publicKey
and thesignature
string from getKeypairSignature, both of which you pass to this function.
- Overrides:
- Source:
Parameters:
Name | Type | Description |
---|---|---|
publicKey |
string
|
The public key of the signer |
signature |
string
|
The base64 value of the signature XDR |
Returns:
- Type:
-
void
getClaimableBalanceId(opIndex) → {string}
Calculate the claimable balance ID for an operation within the transaction.
- Source:
- See:
Parameters:
Name | Type | Description |
---|---|---|
opIndex |
integer
|
the index of the CreateClaimableBalance op |
Throws:
-
-
for invalid
opIndex
value - Type
-
RangeError
-
-
-
if op at
opIndex
is notCreateClaimableBalance
- Type
-
TypeError
-
-
for general XDR un/marshalling failures
Returns:
- Type:
-
string
a hex string representing the claimable balance ID
getKeypairSignature(keypair) → {string}
Signs a transaction with the given Keypair. Useful if someone sends you a transaction XDR for you to sign and return (see addSignature for more information).
When you get a transaction XDR to sign....
- Instantiate a
Transaction
object with the XDR - Use Keypair to generate a keypair object for your Stellar seed.
- Run
getKeypairSignature
with that keypair - Send back the signature along with your publicKey (not your secret seed!)
Example:
// `transactionXDR` is a string from the person generating the transaction
const transaction = new Transaction(transactionXDR, networkPassphrase);
const keypair = Keypair.fromSecret(myStellarSeed);
return transaction.getKeypairSignature(keypair);
- Overrides:
- Source:
Parameters:
Name | Type | Description |
---|---|---|
keypair |
Keypair
|
Keypair of signer |
Returns:
- Type:
-
string
Signature string
hash() → {Buffer}
Returns a hash for this transaction, suitable for signing.
- Overrides:
- Source:
Returns:
- Type:
-
Buffer
sign(…keypairs) → {void}
Signs the transaction with the given Keypair.
- Overrides:
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keypairs |
Keypair
|
<repeatable> |
Keypairs of signers |
Returns:
- Type:
-
void
signHashX(preimage) → {void}
Add hashX
signer preimage as signature.
- Overrides:
- Source:
Parameters:
Name | Type | Description |
---|---|---|
preimage |
Buffer
|
String
|
Preimage of hash used as signer |
Returns:
- Type:
-
void
signatureBase() → {Buffer}
Returns the "signature base" of this transaction, which is the value that, when hashed, should be signed to create a signature that validators on the Stellar Network will accept.
It is composed of a 4 prefix bytes followed by the xdr-encoded form of this transaction.
- Source:
Returns:
- Type:
-
Buffer
toEnvelope() → {xdr.TransactionEnvelope}
To envelope returns a xdr.TransactionEnvelope which can be submitted to the network.
- Source:
Returns:
- Type:
-
xdr.TransactionEnvelope
toXDR() → {string}
Get the transaction envelope as a base64-encoded string
- Overrides:
- Source:
Returns:
- Type:
-
string
XDR string