Ixian SDK
IXICore.Transaction Class Reference

Represents a single transaction on the Ixian blockchain. More...

Classes

struct  MultisigAddrAdd
 Another allowed signer is being added to a Wallet. If the target wallet is not yet a 'Multi-Signature' wallet, it will be converted into one and the number of required signatures will be set to 1. More...
 
struct  MultisigAddrDel
 An allowed signer is being removed from a Wallet. If the target wallet is not a 'Multi-Signature' wallet, such a transaction is considered invalid. The original Wallet's owner cannot be removed. More...
 
struct  MultisigChSig
 Change the number of required signatures for a 'Multi-Signature' wallet. More...
 
struct  MultisigTxData
 Additional signature for an existing MultisigTX transaction that is waiting in the pool. More...
 

Public Types

enum  Type : int {
  Type.Normal = 0, Type.PoWSolution = 1, Type.StakingReward = 2, Type.Genesis = 3,
  Type.MultisigTX = 4, Type.ChangeMultisigWallet = 5, Type.MultisigAddTxSignature = 6
}
 Type of the transaction. More...
 
enum  MultisigWalletChangeType : byte { MultisigWalletChangeType.AddSigner = 1, MultisigWalletChangeType.DelSigner = 2, MultisigWalletChangeType.ChangeReqSigs = 3 }
 Type of change being performed on a 'Multi-Signature' wallet. More...
 

Public Member Functions

 Transaction (int tx_type)
 Creates an empty transaction of the specified type. More...
 
 Transaction (int tx_type, IxiNumber tx_amount, IxiNumber tx_feePerKb, byte[] tx_to, byte[] tx_from, byte[] tx_data, byte[] tx_pubKey, ulong tx_blockHeight, int tx_nonce=-1, long tx_timestamp=0)
 Generates a new transaction from the provided data. This variant widthdraws from and deposits to a single address. More...
 
 Transaction (int tx_type, IxiNumber tx_feePerKb, SortedDictionary< byte[], IxiNumber > tx_toList, byte[] tx_from, byte[] tx_data, byte[] tx_pubKey, ulong tx_blockHeight, int tx_nonce=-1, long tx_timestamp=0)
 Generates a new transaction from the provided data. This variant can deposit to a multiple addresses. More...
 
 Transaction (int tx_type, IxiNumber tx_feePerKb, SortedDictionary< byte[], IxiNumber > tx_toList, SortedDictionary< byte[], IxiNumber > tx_fromList, byte[] tx_data, byte[] tx_pubKey, ulong tx_blockHeight, int tx_nonce=-1, bool sign_transaction=true)
 Generates a new transaction from the provided data. This variant can withdraw from and deposit to a multiple addresses. More...
 
 Transaction (Transaction tx_transaction)
 Copy constructor. More...
 
 Transaction (byte[] bytes, bool include_applied=false)
 Constructs a transaction object from the serialized transaction data. See also getBytes(). More...
 
byte [] getBytes (bool include_applied=false)
 Serializes the transaction object for transmission and returns a byte-field. See also the constructor Transaction(byte[]). More...
 
bool equals (Transaction tx)
 Checks if the two transactions are exactly equal. More...
 
bool verifySignature (byte[] pubkey, byte[] nonce)
 Checks the transaction's signature against the given public key and address nonce. More...
 
string generateID ()
 Generates the Transaction ID from the transaction data. More...
 
byte [] getSignature (byte[] checksum, byte[] private_key=null)
 Calculates the signature for the transaction. More...
 
IxiNumber calculateTotalAmount ()
 Calculates the total transaction amount, without fee. More...
 
void generateChecksums ()
 Calculates the transaction checksum and stores it in the transaction. More...
 
IxiNumber calculateMinimumFee (IxiNumber pricePerKb)
 Calculates the lowest possible transaction fee based on the size of the transaction. More...
 
object GetMultisigData ()
 Wrapper function to attempt and parse the transaction's optional data field as some kind of Multisig object. More...
 
Dictionary< string, object > toDictionary ()
 Encodes all transaction data fields into a Dictionary for easier conversion to JSON via the REST API server. More...
 

Static Public Member Functions

static byte [] calculateChecksum (Transaction transaction)
 Calculates the transaction's checksum. More...
 
static AddressData findMyMultisigAddressData (byte[] multisig_address)
 Checks owned addresses and returns the first one which is allowed to sign transactions for multisig_address. More...
 
static Transaction multisigTransaction (IxiNumber tx_amount, IxiNumber tx_fee, byte[] tx_to, byte[] tx_from, ulong tx_blockHeight)
 Generates a multisig transaction. More...
 
static Transaction multisigTransaction (IxiNumber tx_fee, SortedDictionary< byte[], IxiNumber > tx_to_list, byte[] tx_from, ulong tx_blockHeight)
 Generates a multisig transaction with multiple destination addresses. More...
 
static Transaction multisigAddTxSignature (string orig_txid, IxiNumber tx_fee, byte[] tx_from, ulong tx_blockHeight)
 Adds a signature to the specified multisig transaction, if possible. This function generates a transaction which adds the signature for orig_txid. More...
 
static Transaction multisigAddKeyTransaction (byte[] allowed_address, IxiNumber tx_fee, byte[] tx_from, ulong tx_blockHeight)
 Adds a signature to the specified multisig wallet. This function generates a transaction which adds the specified allowed_address to the multisig wallet tx_from. More...
 
static Transaction multisigDelKeyTransaction (byte[] disallowed_address, IxiNumber tx_fee, byte[] tx_from, ulong tx_blockHeight)
 Deletes a signature from the specified multisig wallet. This function generates a transaction which deletes the specified disallowed_address from the multisig wallet tx_from. More...
 
static Transaction multisigChangeReqSigs (byte sigs, IxiNumber tx_fee, byte[] tx_from, ulong tx_blockHeight)
 Changes the multisig wallet minimum required signatures value. This function generates a transaction which changes the specified multisig wallet tx_from with a new minimum required signatures value.. More...
 

Public Attributes

int version
 Transaction version. More...
 
string id
 Transaction ID. More...
 
int type
 Transaction type. See also Transaction.Type. More...
 
IxiNumber amount = new IxiNumber("0")
 Total amount of Ixi being transferred. More...
 
IxiNumber fee = new IxiNumber("0")
 Transaction fee - based on the serialized size of the transaction. More...
 
SortedDictionary< byte[], IxiNumberfromList = new SortedDictionary<byte[], IxiNumber>(new ByteArrayComparer())
 Source wallets where the funds are withdrawn. Each address specifies the amount of Ixi being widthrawn from it. More...
 
SortedDictionary< byte[], IxiNumbertoList = new SortedDictionary<byte[], IxiNumber>(new ByteArrayComparer())
 Destination wallets where the funds will be deposited. Each address specifies the amount of Ixi being deposited to it. More...
 
byte [] data
 Optional data included with the transaction. This can be any byte-field. The transaction fee will increase with the amount of data. More...
 
ulong blockHeight
 Block number when the transaction was generated. More...
 
int nonce
 Unique 'nonce' value which prevents certain classes of transaction replay attacks. More...
 
long timeStamp
 Timestam of when the transaction was created as a unix epoch (seconds since 1970-01-01). More...
 
byte [] checksum
 Checksum of all transaction data to ensure it hasn't been tampered with or corrupted during transmission. More...
 
byte [] signature
 Signature by the originating wallets' primary key. See fromList. More...
 
byte [] pubKey
 Publick key which performed the signature and owns the source wallets in fromList. More...
 
ulong applied
 Block height at which the transaction was applied. More...
 
bool fromLocalStorage = false
 Indicator if the transaction was loaded from cold storage. More...
 
bool powVerified = false
 Helper flag that determines whether PoW solution was already verified (used locally) More...
 

Static Public Attributes

static int maxVersion = 3
 Currently latest transaction version. More...
 

Detailed Description

Represents a single transaction on the Ixian blockchain.

A transaction is an atomic change which manipulates the Ixian WalletState. Each transaction processed by the DLT must be validated in some way:

  • For regular transactions this means a valid cryptographic signature by the source wallet owner.
  • For 'Multi-Signature' transactions this may include multiple cryptographic signatures
  • For 'PoW solution' transactions, the proposed value must be valid for the block it solves
  • For a 'Staking Reward' transaction, the proposed changes must be inline with the frozen signatures and the transaction must be accepted by the network majority.

Definition at line 25 of file Transaction.cs.

Member Enumeration Documentation

◆ MultisigWalletChangeType

Type of change being performed on a 'Multi-Signature' wallet.

Enumerator
AddSigner 

A signer is being added to the Allowed Signers list.

DelSigner 

A signer is being removed from the Alloewd Signers list.

The signer, who is being removed, can still validate the transaction that removes their address from the list. The change The number of signatures must be equal to or less than the number of distinct allowed signers. A ChangeMultisigWallet transaction which would make it impossible to use the wallet is invalid, even if it has enough correct signatures.

ChangeReqSigs 

The number of required signatures for the 'Multi-Signature' wallet is being changed.

The number of signatures must be equal to or less than the number of distinct allowed signers. A ChangeMultisigWallet transaction which would make it impossible to use the wallet is invalid, even if it has enough correct signatures.

Definition at line 69 of file Transaction.cs.

◆ Type

enum IXICore.Transaction.Type : int
strong

Type of the transaction.

Enumerator
Normal 

Regular transaction which sends balance from a set of Wallets to a set of Wallets.

PoWSolution 

Transaction sends a PoW (Proof of Work) solution for a specific block and awards the signer a certain amount of Ixi as a reward.

StakingReward 

Transaction awards the Master Nodes which participate in the consensus algorithm a certain reward of Ixi.

Genesis 

Genesis transaction which created initial Ixi currency from nothing and deposited it into the seed nodes' wallets.

This type of transaction should never again appear after the first block.

MultisigTX 

Similar to Trasaction.Type.Normal, but requires multiple signatures to spend funds from a 'Multi-Signature' wallet.

ChangeMultisigWallet 

Special transaction which alows modifying the list of allowed signers on a 'Multi-Signature' wallet.

MultisigAddTxSignature 

When a transaction involving a 'Multi-Signature' is first posted, it only has one signature, so this stub transaction is used to add signatures so that private key sharing is not required among signers.

Definition at line 30 of file Transaction.cs.

Constructor & Destructor Documentation

◆ Transaction() [1/6]

IXICore.Transaction.Transaction ( int  tx_type)

Creates an empty transaction of the specified type.

Parameters
tx_typeTransaction type. See Transaction.Type.

Definition at line 312 of file Transaction.cs.

◆ Transaction() [2/6]

IXICore.Transaction.Transaction ( int  tx_type,
IxiNumber  tx_amount,
IxiNumber  tx_feePerKb,
byte []  tx_to,
byte []  tx_from,
byte []  tx_data,
byte []  tx_pubKey,
ulong  tx_blockHeight,
int  tx_nonce = -1,
long  tx_timestamp = 0 
)

Generates a new transaction from the provided data. This variant widthdraws from and deposits to a single address.

The Fee can be higher than the minimum network fee, which will cause the transaction to be included faster in the event of congestion.

Parameters
tx_typeType of the transaction. See Transaction.Type.
tx_amountTotal Ixi amount being transferred.
tx_feePerKbTransaction fee per kilobyte of data.
tx_toDestination address or nonce.
tx_fromSource address or nonce.
tx_dataOptional extra data.
tx_pubKeyPublic key used to sign the transaction, if neccessary.
tx_blockHeightBlock height when the transaction was generated.
tx_nonceUnique transaction nonce value.
tx_timestampTimestamp (unix epoch) when the transaction was generated.

Definition at line 346 of file Transaction.cs.

◆ Transaction() [3/6]

IXICore.Transaction.Transaction ( int  tx_type,
IxiNumber  tx_feePerKb,
SortedDictionary< byte[], IxiNumber tx_toList,
byte []  tx_from,
byte []  tx_data,
byte []  tx_pubKey,
ulong  tx_blockHeight,
int  tx_nonce = -1,
long  tx_timestamp = 0 
)

Generates a new transaction from the provided data. This variant can deposit to a multiple addresses.

The Fee can be higher than the minimum network fee, which will cause the transaction to be included faster in the event of congestion. The sum if all amounts in the tx_toList is equal to amount.

Parameters
tx_typeType of the transaction. See Transaction.Type.
tx_feePerKbTransaction fee per kilobyte of data.
tx_toListList of deposit addresses and their amounts.
tx_fromWithdrawal address.
tx_dataOptional extra data.
tx_pubKeySigner public key, if neccessary.
tx_blockHeightBlock number when the transaction was generated.
tx_nonceUnique nonce value for the transaction.
tx_timestampTimestamp (unich epoch) when the transaction was generated.

Definition at line 415 of file Transaction.cs.

◆ Transaction() [4/6]

IXICore.Transaction.Transaction ( int  tx_type,
IxiNumber  tx_feePerKb,
SortedDictionary< byte[], IxiNumber tx_toList,
SortedDictionary< byte[], IxiNumber tx_fromList,
byte []  tx_data,
byte []  tx_pubKey,
ulong  tx_blockHeight,
int  tx_nonce = -1,
bool  sign_transaction = true 
)

Generates a new transaction from the provided data. This variant can withdraw from and deposit to a multiple addresses.

The Fee can be higher than the minimum network fee, which will cause the transaction to be included faster in the event of congestion. All addresses in the tx_fromList must belong to the same signing keypair. The sum if all amounts in the tx_toList is equal to amount. The sum of all amounts in the tx_fromList must be equal to amount + fee.

Parameters
tx_typeType of the transaction. See Transaction.Type.
tx_feePerKbTransaction fee per kilobyte of data.
tx_toListList of deposit addresses and their amounts.
tx_fromListList of withdrawal addresses and their amounts.
tx_dataOptional extra data.
tx_pubKeyPubkey which can sign all the addresses in tx_fromList, if not already known.
tx_blockHeightBlock number when the transaction was generated.
tx_nonceUnique nonce value for the transaction.
sign_transactionTrue if the signature should be calculated, false if the signature will be calculated later

Definition at line 491 of file Transaction.cs.

◆ Transaction() [5/6]

IXICore.Transaction.Transaction ( Transaction  tx_transaction)

Copy constructor.

In some places the Ixian software requires a full copy of the transaction and not a shared reference, so this constructor is provided to achieve that.

Parameters
tx_transactionSource transaction to copy.

Definition at line 547 of file Transaction.cs.

◆ Transaction() [6/6]

IXICore.Transaction.Transaction ( byte []  bytes,
bool  include_applied = false 
)

Constructs a transaction object from the serialized transaction data. See also getBytes().

Parameters
bytesByte-field with the serialized transaction
include_appliedWhether to include the 'applied' flag when reading the transaction data.

Definition at line 614 of file Transaction.cs.

Member Function Documentation

◆ calculateChecksum()

static byte [] IXICore.Transaction.calculateChecksum ( Transaction  transaction)
static

Calculates the transaction's checksum.

Parameters
transactionTransaction to calculate the checksum from.
Returns
Byte-field with the checksum value.

Definition at line 962 of file Transaction.cs.

◆ calculateMinimumFee()

IxiNumber IXICore.Transaction.calculateMinimumFee ( IxiNumber  pricePerKb)

Calculates the lowest possible transaction fee based on the size of the transaction.

Parameters
pricePerKbPrice per kilobyte of data.
Returns
Minimum fee given the specified price per kilobyte.

Definition at line 1069 of file Transaction.cs.

◆ calculateTotalAmount()

IxiNumber IXICore.Transaction.calculateTotalAmount ( )

Calculates the total transaction amount, without fee.

Returns
Sum of all deposits in the transaction's toList.

Definition at line 1045 of file Transaction.cs.

◆ equals()

bool IXICore.Transaction.equals ( Transaction  tx)

Checks if the two transactions are exactly equal.

Parameters
txOther transaction.
Returns
True if both objects represent the same Ixian transaction.

Definition at line 825 of file Transaction.cs.

◆ findMyMultisigAddressData()

static AddressData IXICore.Transaction.findMyMultisigAddressData ( byte []  multisig_address)
static

Checks owned addresses and returns the first one which is allowed to sign transactions for multisig_address.

Parameters
multisig_addressMultisig address to check.
Returns
Own address which is allowed to sign transactions for multisig_address, or null, if no such local address.

Definition at line 1455 of file Transaction.cs.

◆ generateChecksums()

void IXICore.Transaction.generateChecksums ( )

Calculates the transaction checksum and stores it in the transaction.

Definition at line 1058 of file Transaction.cs.

◆ generateID()

string IXICore.Transaction.generateID ( )

Generates the Transaction ID from the transaction data.

Returns
TXID

Definition at line 889 of file Transaction.cs.

◆ getBytes()

byte [] IXICore.Transaction.getBytes ( bool  include_applied = false)

Serializes the transaction object for transmission and returns a byte-field. See also the constructor Transaction(byte[]).

Returns
Byte-field with the serialized transaction, suiteable for network transmission.

Definition at line 724 of file Transaction.cs.

◆ GetMultisigData()

object IXICore.Transaction.GetMultisigData ( )

Wrapper function to attempt and parse the transaction's optional data field as some kind of Multisig object.

Returns
A multisig data object, if found, or null.

Definition at line 1433 of file Transaction.cs.

◆ getSignature()

byte [] IXICore.Transaction.getSignature ( byte []  checksum,
byte []  private_key = null 
)

Calculates the signature for the transaction.

Parameters
checksumTransaction checksum.
private_keyPrivate key with which to sign the transaction, or null if the primary key should be used.
Returns
Transaction signature in a byte-field.

Definition at line 1024 of file Transaction.cs.

◆ multisigAddKeyTransaction()

static Transaction IXICore.Transaction.multisigAddKeyTransaction ( byte []  allowed_address,
IxiNumber  tx_fee,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Adds a signature to the specified multisig wallet. This function generates a transaction which adds the specified allowed_address to the multisig wallet tx_from.

The transaction fee is paid by tx_from - the multisig wallet.

Parameters
allowed_addressAddress which will be added to tx_from.
tx_feeFee per kilobyte of data.
tx_fromMultisig address where the allowed_address will be added.
tx_blockHeightBlock height at which to generate the new transaction/
Returns
Multisig change transaction.

Definition at line 1599 of file Transaction.cs.

◆ multisigAddTxSignature()

static Transaction IXICore.Transaction.multisigAddTxSignature ( string  orig_txid,
IxiNumber  tx_fee,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Adds a signature to the specified multisig transaction, if possible. This function generates a transaction which adds the signature for orig_txid.

Parameters
orig_txidMultisig transaction which is waiting to accumulate signatures.
tx_feeFee per kilobyte of data.
tx_fromOwn address which may be allowed to sign orig_txid.
tx_blockHeightBlock height at which to generate the new transaction/
Returns
Signing transaction.

Definition at line 1564 of file Transaction.cs.

◆ multisigChangeReqSigs()

static Transaction IXICore.Transaction.multisigChangeReqSigs ( byte  sigs,
IxiNumber  tx_fee,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Changes the multisig wallet minimum required signatures value. This function generates a transaction which changes the specified multisig wallet tx_from with a new minimum required signatures value..

The transaction fee is paid by tx_from - the multisig wallet.

Parameters
sigsNew minimum required signatures value for tx_from.
tx_feeFee per kilobyte of data.
tx_fromMultisig address where the allowed_address will be added.
tx_blockHeightBlock height at which to generate the new transaction/
Returns
Multisig change transaction.

Definition at line 1670 of file Transaction.cs.

◆ multisigDelKeyTransaction()

static Transaction IXICore.Transaction.multisigDelKeyTransaction ( byte []  disallowed_address,
IxiNumber  tx_fee,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Deletes a signature from the specified multisig wallet. This function generates a transaction which deletes the specified disallowed_address from the multisig wallet tx_from.

The transaction fee is paid by tx_from - the multisig wallet.

Parameters
disallowed_addressAddress which will be removed from tx_from.
tx_feeFee per kilobyte of data.
tx_fromMultisig address where the allowed_address will be added.
tx_blockHeightBlock height at which to generate the new transaction/
Returns
Multisig change transaction.

Definition at line 1634 of file Transaction.cs.

◆ multisigTransaction() [1/2]

static Transaction IXICore.Transaction.multisigTransaction ( IxiNumber  tx_amount,
IxiNumber  tx_fee,
byte []  tx_to,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Generates a multisig transaction.

Parameters
tx_amountAmount of Ixi to widthraw and deposit.
tx_feeTransaction fee
tx_toDestination address where the funds should be deposited.
tx_fromMultisig wallet where the funds should be withdrawn.
tx_blockHeightBlockheight at which the transaction is generated.
Returns
Generated transaction object.

Definition at line 1499 of file Transaction.cs.

◆ multisigTransaction() [2/2]

static Transaction IXICore.Transaction.multisigTransaction ( IxiNumber  tx_fee,
SortedDictionary< byte[], IxiNumber tx_to_list,
byte []  tx_from,
ulong  tx_blockHeight 
)
static

Generates a multisig transaction with multiple destination addresses.

Parameters
tx_feeTransaction fee
tx_to_listDestination addresses where the funds should be deposited.
tx_fromMultisig wallet where the funds should be withdrawn.
tx_blockHeightBlockheight at which the transaction is generated.
Returns
Generated transaction object.

Definition at line 1531 of file Transaction.cs.

◆ toDictionary()

Dictionary<string, object> IXICore.Transaction.toDictionary ( )

Encodes all transaction data fields into a Dictionary for easier conversion to JSON via the REST API server.

Returns
Dictionary with all transaction fields.

Definition at line 1698 of file Transaction.cs.

◆ verifySignature()

bool IXICore.Transaction.verifySignature ( byte []  pubkey,
byte []  nonce 
)

Checks the transaction's signature against the given public key and address nonce.

Parameters
pubkeyPublic key which signed the transaction
nonceNonce value of the originating wallet.
Returns
True if the signature is valid.

Definition at line 839 of file Transaction.cs.

Member Data Documentation

◆ amount

IxiNumber IXICore.Transaction.amount = new IxiNumber("0")

Total amount of Ixi being transferred.

Definition at line 204 of file Transaction.cs.

◆ applied

ulong IXICore.Transaction.applied

Block height at which the transaction was applied.

Definition at line 260 of file Transaction.cs.

◆ blockHeight

ulong IXICore.Transaction.blockHeight

Block number when the transaction was generated.

Definition at line 236 of file Transaction.cs.

◆ checksum

byte [] IXICore.Transaction.checksum

Checksum of all transaction data to ensure it hasn't been tampered with or corrupted during transmission.

Definition at line 248 of file Transaction.cs.

◆ data

byte [] IXICore.Transaction.data

Optional data included with the transaction. This can be any byte-field. The transaction fee will increase with the amount of data.

Definition at line 232 of file Transaction.cs.

◆ fee

IxiNumber IXICore.Transaction.fee = new IxiNumber("0")

Transaction fee - based on the serialized size of the transaction.

Definition at line 208 of file Transaction.cs.

◆ fromList

SortedDictionary<byte[], IxiNumber> IXICore.Transaction.fromList = new SortedDictionary<byte[], IxiNumber>(new ByteArrayComparer())

Source wallets where the funds are withdrawn. Each address specifies the amount of Ixi being widthrawn from it.

The sum of all amounts must be equal to amount + fee, otherwise the transaction is invalid. All source wallets must belong to the same primary signing key. The address can either be a wallet address or a nonce value which was used to generate the address. If the value is a nonce value, then the public key, pubKey, for the transaction must be specified.

Definition at line 219 of file Transaction.cs.

◆ fromLocalStorage

bool IXICore.Transaction.fromLocalStorage = false

Indicator if the transaction was loaded from cold storage.

If false, the transaction was generated by the current executable or received through the network.

Definition at line 267 of file Transaction.cs.

◆ id

string IXICore.Transaction.id

Transaction ID.

The transaction ID is not transferred over the network, because it can be recalculated from the transaction data.

Definition at line 196 of file Transaction.cs.

◆ maxVersion

int IXICore.Transaction.maxVersion = 3
static

Currently latest transaction version.

Definition at line 282 of file Transaction.cs.

◆ nonce

int IXICore.Transaction.nonce

Unique 'nonce' value which prevents certain classes of transaction replay attacks.

Definition at line 240 of file Transaction.cs.

◆ powVerified

bool IXICore.Transaction.powVerified = false

Helper flag that determines whether PoW solution was already verified (used locally)

Definition at line 277 of file Transaction.cs.

◆ pubKey

byte [] IXICore.Transaction.pubKey

Publick key which performed the signature and owns the source wallets in fromList.

Definition at line 256 of file Transaction.cs.

◆ signature

byte [] IXICore.Transaction.signature

Signature by the originating wallets' primary key. See fromList.

Definition at line 252 of file Transaction.cs.

◆ timeStamp

long IXICore.Transaction.timeStamp

Timestam of when the transaction was created as a unix epoch (seconds since 1970-01-01).

Definition at line 244 of file Transaction.cs.

◆ toList

SortedDictionary<byte[], IxiNumber> IXICore.Transaction.toList = new SortedDictionary<byte[], IxiNumber>(new ByteArrayComparer())

Destination wallets where the funds will be deposited. Each address specifies the amount of Ixi being deposited to it.

The sum of all amounts must be equal to amount, otherwise the transaction is invalid. Destination wallets can belong to different signing keys.

Definition at line 227 of file Transaction.cs.

◆ type

int IXICore.Transaction.type

Transaction type. See also Transaction.Type.

Definition at line 200 of file Transaction.cs.

◆ version

int IXICore.Transaction.version

Transaction version.

Later versions enable new features which were introduced later in development.

Definition at line 189 of file Transaction.cs.


The documentation for this class was generated from the following file: