Class Account
Create and manage secrets, and perform account-based work such as signing transactions.
Inheritance
Inherited Members
Namespace: Algorand
Assembly: Algorand.dll
Syntax
public class Account
Constructors
| Improve this Doc View SourceAccount()
Generate a newc account, random account.
Declaration
public Account()
Account(Byte[])
Generate a newc account with seed(master derivation key)
Declaration
public Account(byte[] seed)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | seed | seed(master derivation key) |
Account(String)
Create a new account with mnemonic
Declaration
public Account(string mnemonic)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | mnemonic | the mnemonic |
Properties
| Improve this Doc View SourceAddress
Declaration
public Address Address { get; }
Property Value
| Type | Description |
|---|---|
| Address |
Methods
| Improve this Doc View SourceAppendMultisigTransaction(MultisigAddress, SignedTransaction)
AppendMultisigTransaction appends our signature to the given multisig transaction.
Declaration
public SignedTransaction AppendMultisigTransaction(MultisigAddress from, SignedTransaction signedTx)
Parameters
| Type | Name | Description |
|---|---|---|
| MultisigAddress | from | the multisig public identity we are signing for |
| SignedTransaction | signedTx | the partially signed msig tx to which to append signature |
Returns
| Type | Description |
|---|---|
| SignedTransaction | merged multisig transaction |
AppendMultisigTransactionBytes(MultisigAddress, Byte[])
a convenience method for directly appending our signature to a raw tx file
Declaration
public byte[] AppendMultisigTransactionBytes(MultisigAddress from, byte[] txBytes)
Parameters
| Type | Name | Description |
|---|---|---|
| MultisigAddress | from | the public identity we are signing as |
| System.Byte[] | txBytes | the multisig transaction to append signature to |
Returns
| Type | Description |
|---|---|
| System.Byte[] | merged multisignature transaction inclukding our signature |
AppendToLogicsig(LogicsigSignature)
Appends a signature to multisig logic signed transaction
Declaration
public LogicsigSignature AppendToLogicsig(LogicsigSignature lsig)
Parameters
| Type | Name | Description |
|---|---|---|
| LogicsigSignature | lsig | LogicsigSignature append to |
Returns
| Type | Description |
|---|---|
| LogicsigSignature | LogicsigSignature |
EstimatedEncodedSize(Transaction)
EstimateEncodedSize returns the estimated encoded size of the transaction including the signature. This function is useful for calculating the fee from suggested fee per byte.
Declaration
public static int EstimatedEncodedSize(Transaction tx)
Parameters
| Type | Name | Description |
|---|---|---|
| Transaction | tx | the transaction |
Returns
| Type | Description |
|---|---|
| System.Int32 | an estimated byte size for the transaction. |
GetClearTextPublicKey()
Convenience method for getting the underlying public key for raw operations.
Declaration
public byte[] GetClearTextPublicKey()
Returns
| Type | Description |
|---|---|
| System.Byte[] | the public key as length 32 byte array. |
GetEd25519PublicKey()
Get the public key
Declaration
public Ed25519PublicKeyParameters GetEd25519PublicKey()
Returns
| Type | Description |
|---|---|
| Org.BouncyCastle.Crypto.Parameters.Ed25519PublicKeyParameters | public key |
MergeMultisigTransactionBytes(Byte[][])
a convenience method for working directly with raw transaction files.
Declaration
public static byte[] MergeMultisigTransactionBytes(params byte[][] txsBytes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[][] | txsBytes | list of multisig transactions to merge |
Returns
| Type | Description |
|---|---|
| System.Byte[] | an encoded, merged multisignature transaction |
MergeMultisigTransactions(SignedTransaction[])
MergeMultisigTransactions merges the given (partially) signed multisig transactions.
Declaration
public static SignedTransaction MergeMultisigTransactions(params SignedTransaction[] txs)
Parameters
| Type | Name | Description |
|---|---|---|
| SignedTransaction[] | txs | partially signed multisig transactions to merge. Underlying transactions may be mutated. |
Returns
| Type | Description |
|---|---|
| SignedTransaction | merged multisig transaction |
SetFeeByFeePerByte(Transaction, Nullable<UInt64>)
Sets the transaction fee according to suggestedFeePerByte * estimateTxSize.
Declaration
public static void SetFeeByFeePerByte(Transaction tx, ulong? suggestedFeePerByte)
Parameters
| Type | Name | Description |
|---|---|---|
| Transaction | tx | transaction to populate fee field |
| System.Nullable<System.UInt64> | suggestedFeePerByte | suggestedFee given by network |
SignBid(Bid)
Sign a bid with this account
Declaration
public SignedBid SignBid(Bid bid)
Parameters
| Type | Name | Description |
|---|---|---|
| Bid | bid | the bid to sign |
Returns
| Type | Description |
|---|---|
| SignedBid | signed bid |
SignBytes(Byte[])
Sign the given bytes, and wrap in signature. The message is prepended with "MX" for domain separation.
Declaration
public Signature SignBytes(byte[] bytes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | bytes | bytes the data to sign |
Returns
| Type | Description |
|---|---|
| Signature | signature |
SignLogicsig(LogicsigSignature)
Sign LogicSig with account's secret key
Declaration
public LogicsigSignature SignLogicsig(LogicsigSignature lsig)
Parameters
| Type | Name | Description |
|---|---|---|
| LogicsigSignature | lsig | LogicsigSignature to sign |
Returns
| Type | Description |
|---|---|
| LogicsigSignature | LogicsigSignature with updated signature |
SignLogicsig(LogicsigSignature, MultisigAddress)
Sign LogicSig as multisig
Declaration
public LogicsigSignature SignLogicsig(LogicsigSignature lsig, MultisigAddress ma)
Parameters
| Type | Name | Description |
|---|---|---|
| LogicsigSignature | lsig | LogicsigSignature to sign |
| MultisigAddress | ma | MultisigAddress to format multi signature from |
Returns
| Type | Description |
|---|---|
| LogicsigSignature | LogicsigSignature |
SignLogicsigTransaction(LogicsigSignature, Transaction)
Creates SignedTransaction from LogicsigSignature and Transaction. LogicsigSignature must be valid and verifiable against transaction sender field.
Declaration
public static SignedTransaction SignLogicsigTransaction(LogicsigSignature lsig, Transaction tx)
Parameters
| Type | Name | Description |
|---|---|---|
| LogicsigSignature | lsig | LogicsigSignature |
| Transaction | tx | Transaction |
Returns
| Type | Description |
|---|---|
| SignedTransaction | SignedTransaction |
SignMultisigTransaction(MultisigAddress, Transaction)
SignMultisigTransaction creates a multisig transaction from the input and the multisig account.
Declaration
public SignedTransaction SignMultisigTransaction(MultisigAddress from, Transaction tx)
Parameters
| Type | Name | Description |
|---|---|---|
| MultisigAddress | from | sign as this multisignature account |
| Transaction | tx | the transaction to sign |
Returns
| Type | Description |
|---|---|
| SignedTransaction | SignedTransaction a partially signed multisig transaction |
SignTransaction(Transaction)
Sign a transaction with this account
Declaration
public SignedTransaction SignTransaction(Transaction tx)
Parameters
| Type | Name | Description |
|---|---|---|
| Transaction | tx | the transaction to sign |
Returns
| Type | Description |
|---|---|
| SignedTransaction | a signed transaction |
SignTransactionWithFeePerByte(Transaction, UInt64)
Sign a transaction with this account, replacing the fee with the given feePerByte.
Declaration
public SignedTransaction SignTransactionWithFeePerByte(Transaction tx, ulong feePerByte)
Parameters
| Type | Name | Description |
|---|---|---|
| Transaction | tx | transaction to sign |
| System.UInt64 | feePerByte | feePerByte fee per byte, often returned as a suggested fee |
Returns
| Type | Description |
|---|---|
| SignedTransaction | a signed transaction |
TealSign(Byte[], Address)
Creates Signature compatible with ed25519verify TEAL opcode from data and contract address(program hash).
Declaration
public Signature TealSign(byte[] data, Address contractAddress)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | data | data byte[] |
| Address | contractAddress | contractAddress Address |
Returns
| Type | Description |
|---|---|
| Signature | Signature |
TealSignFromProgram(Byte[], Byte[])
Creates Signature compatible with ed25519verify TEAL opcode from data and program bytes
Declaration
public Signature TealSignFromProgram(byte[] data, byte[] program)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | data | data byte[] |
| System.Byte[] | program | program byte[] |
Returns
| Type | Description |
|---|---|
| Signature | Signature |
ToMnemonic()
Converts the 32 byte private key to a 25 word mnemonic, including a checksum. Refer to the mnemonic package for additional documentation.
Declaration
public string ToMnemonic()
Returns
| Type | Description |
|---|---|
| System.String | return string a 25 word mnemonic |