Search Results for

    Show / Hide Table of Contents

    Struct KmdClient

    A client for accessing the kmd service

    Implements
    IKmdClient
    IAlgoApiClient
    Namespace: Algorand.Unity
    Assembly: cs.temp.dll.dll
    Syntax
    [Serializable]
    public struct KmdClient : IKmdClient, IAlgoApiClient
    Remarks

    The kmd service is responsible for managing keys and wallets

    Constructors

    KmdClient(String, Header[])

    Create a new kmd client

    Declaration
    public KmdClient(string address, params Header[] headers)
    Parameters
    Type Name Description
    String address

    url of the service, including the port, e.g. "http://localhost:4001"

    Header[] headers

    extra headers to add to the requests. e.g. ("x-api-key, my-api-key")

    KmdClient(String, String, Header[])

    Create a new kmd client

    Declaration
    public KmdClient(string address, string token = null, params Header[] headers)
    Parameters
    Type Name Description
    String address

    url of the service, including the port, e.g. "http://localhost:4001"

    String token

    token used in authenticating to the service

    Header[] headers

    extra headers to add to the requests. e.g. ("x-api-key, my-api-key")

    Properties

    Address

    Declaration
    public string Address { get; }
    Property Value
    Type Description
    String

    Headers

    Declaration
    public Header[] Headers { get; }
    Property Value
    Type Description
    Header[]

    Token

    Declaration
    public string Token { get; }
    Property Value
    Type Description
    String

    TokenHeader

    Declaration
    public string TokenHeader { get; }
    Property Value
    Type Description
    String

    Methods

    CreateWallet(PrivateKey, FixedString128Bytes, FixedString128Bytes, FixedString128Bytes)

    Create a wallet

    Declaration
    public AlgoApiRequest.Sent<CreateWalletResponse> CreateWallet(PrivateKey masterDerivationKey, FixedString128Bytes walletDriverName, FixedString128Bytes walletName, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    PrivateKey masterDerivationKey
    FixedString128Bytes walletDriverName

    The driver used to store the wallets. Supported values are "sqlite" and "ledger".

    FixedString128Bytes walletName
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<CreateWalletResponse>
    Remarks

    Create a new wallet (collection of keys) with the given parameters.

    DeleteKey(Address, FixedString128Bytes, FixedString128Bytes)

    Deletes the key with the passed public key from the wallet.

    Declaration
    public AlgoApiRequest.Sent DeleteKey(Address address, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address address

    public key of the key to delete

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent

    DeleteMultisig(Address, FixedString128Bytes, FixedString128Bytes)

    Deletes multisig preimage information for the passed address from the wallet.

    Declaration
    public AlgoApiRequest.Sent DeleteMultisig(Address address, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address address

    public key for the key to delete multisig preimage information

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent

    ExportKey(Address, FixedString128Bytes, FixedString128Bytes)

    Export the secret key associated with the passed public key.

    Declaration
    public AlgoApiRequest.Sent<ExportKeyResponse> ExportKey(Address address, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address address

    public key of the key to export

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<ExportKeyResponse>

    ExportMasterKey(FixedString128Bytes, FixedString128Bytes)

    Export the master derivation key from the wallet. This key is a master "backup" key for the underlying wallet. With it, you can regenerate all of the wallets that have been generated with this wallet's POST /v1/key endpoint. This key will not allow you to recover keys imported from other wallets, however.

    Declaration
    public AlgoApiRequest.Sent<ExportMasterKeyResponse> ExportMasterKey(FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<ExportMasterKeyResponse>

    ExportMultisig(Address, FixedString128Bytes)

    Given a multisig address whose preimage this wallet stores, returns the information used to generate the address, including public keys, threshold, and multisig version.

    Declaration
    public AlgoApiRequest.Sent<ExportMultisigResponse> ExportMultisig(Address address, FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    Address address

    public key for the key to export multisig preimage information

    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<ExportMultisigResponse>

    GenerateKey(FixedString128Bytes, Optional<Boolean>)

    Generates the next key in the deterministic key sequence (as determined by the master derivation key) and adds it to the wallet, returning the public key.

    Declaration
    public AlgoApiRequest.Sent<GenerateKeyResponse> GenerateKey(FixedString128Bytes walletHandleToken, Optional<bool> displayMnemonic = default(Optional<bool>))
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Optional<Boolean> displayMnemonic

    whether or not to display the mnemonic

    Returns
    Type Description
    AlgoApiRequest.Sent<GenerateKeyResponse>

    GetSwaggerSpec()

    Gets the current swagger spec.

    Declaration
    public AlgoApiRequest.Sent<AlgoApiObject> GetSwaggerSpec()
    Returns
    Type Description
    AlgoApiRequest.Sent<AlgoApiObject>

    The entire swagger spec in json.

    ImportKey(PrivateKey, FixedString128Bytes)

    Import an externally generated key into the wallet. Note that if you wish to back up the imported key, you must do so by backing up the entire wallet database, because imported keys were not derived from the wallet's master derivation key.

    Declaration
    public AlgoApiRequest.Sent<ImportKeyResponse> ImportKey(PrivateKey privateKey, FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    PrivateKey privateKey

    key to import

    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<ImportKeyResponse>

    ImportMultisig(Ed25519.PublicKey[], Byte, FixedString128Bytes, Byte)

    Generates a multisig account from the passed public keys array and multisig metadata, and stores all of this in the wallet.

    Declaration
    public AlgoApiRequest.Sent<ImportMultisigResponse> ImportMultisig(Ed25519.PublicKey[] publicKeys, byte threshold, FixedString128Bytes walletHandleToken, byte version = 1)
    Parameters
    Type Name Description
    Ed25519.PublicKey[] publicKeys

    Public keys for the accounts used to sign

    Byte threshold

    Number of valid signatures required

    FixedString128Bytes walletHandleToken
    Byte version

    Multisig version. This should always be set to 1.

    Returns
    Type Description
    AlgoApiRequest.Sent<ImportMultisigResponse>

    InitWalletHandleToken(FixedString128Bytes, FixedString128Bytes)

    Initialize a wallet handle token

    Declaration
    public AlgoApiRequest.Sent<InitWalletHandleTokenResponse> InitWalletHandleToken(FixedString128Bytes walletId, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    FixedString128Bytes walletId
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<InitWalletHandleTokenResponse>
    Remarks

    Unlock the wallet and return a wallet handle token that can be used for subsequent operations. These tokens expire periodically and must be renewed. You can use WalletInfo(FixedString128Bytes) to see how much time remains until expiration, and renew it with RenewWalletHandleToken(FixedString128Bytes). When you're done, you can invalidate the token with ReleaseWalletHandleToken(FixedString128Bytes).

    ListKeys(FixedString128Bytes)

    Lists all of the public keys in this wallet. All of them have a stored private key.

    Declaration
    public AlgoApiRequest.Sent<ListKeysResponse> ListKeys(FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<ListKeysResponse>

    ListMultisig(FixedString128Bytes)

    Lists all of the multisig accounts whose preimages this wallet stores

    Declaration
    public AlgoApiRequest.Sent<ListMultisigResponse> ListMultisig(FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<ListMultisigResponse>

    ListWallets()

    List Wallets

    Declaration
    public AlgoApiRequest.Sent<ListWalletsResponse> ListWallets()
    Returns
    Type Description
    AlgoApiRequest.Sent<ListWalletsResponse>
    Remarks

    Lists all of the wallets that kmd is aware of.

    ReleaseWalletHandleToken(FixedString128Bytes)

    Release a wallet handle token

    Declaration
    public AlgoApiRequest.Sent ReleaseWalletHandleToken(FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent
    Remarks

    Invalidate the passed wallet handle token, making it invalid for use in subsequent requests.

    RenameWallet(FixedString128Bytes, FixedString128Bytes, FixedString128Bytes)

    Rename a wallet

    Declaration
    public AlgoApiRequest.Sent<RenameWalletResponse> RenameWallet(FixedString128Bytes walletId, FixedString128Bytes newName, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    FixedString128Bytes walletId
    FixedString128Bytes newName
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<RenameWalletResponse>
    Remarks

    Rename the underlying wallet to something else

    RenewWalletHandleToken(FixedString128Bytes)

    Renew a wallet handle token

    Declaration
    public AlgoApiRequest.Sent<RenewWalletHandleTokenResponse> RenewWalletHandleToken(FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<RenewWalletHandleTokenResponse>
    Remarks

    Renew a wallet handle token, increasing its expiration duration to its initial value

    SignMultisig(MultisigSig, Ed25519.PublicKey, Byte[], FixedString128Bytes, FixedString128Bytes)

    Sign a multisig transaction

    Declaration
    public AlgoApiRequest.Sent<SignMultisigResponse> SignMultisig(MultisigSig msig, Ed25519.PublicKey publicKey, byte[] transactionData, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    MultisigSig msig

    Current multisig signature object

    Ed25519.PublicKey publicKey

    public key of the key to use to add a signature to the multisig

    Byte[] transactionData

    transaction serialized as msgpack

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<SignMultisigResponse>
    Remarks

    Start a multisig signature, or add a signature to a partially completed multisig signature object.

    SignProgram(Address, Byte[], FixedString128Bytes, FixedString128Bytes)

    Sign program

    Declaration
    public AlgoApiRequest.Sent<SignProgramResponse> SignProgram(Address account, byte[] programData, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address account

    Account to sign the program with

    Byte[] programData

    compiled program bytes

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<SignProgramResponse>
    Remarks

    Signs the passed program with a key from the wallet, determined by the account named in the request.

    SignProgramMultisig(Address, Byte[], MultisigSig, Ed25519.PublicKey, FixedString128Bytes, FixedString128Bytes)

    Sign a program for a multisig account

    Declaration
    public AlgoApiRequest.Sent<SignProgramMultisigResponse> SignProgramMultisig(Address msigAccount, byte[] programData, MultisigSig msig, Ed25519.PublicKey publicKey, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address msigAccount

    The address of the multisig account. See https://developer.algorand.org/docs/get-details/accounts/create/#multisignature

    Byte[] programData

    compiled program bytes

    MultisigSig msig

    current multisig signature object

    Ed25519.PublicKey publicKey

    public key of the key to use to add a signature to the multisig

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<SignProgramMultisigResponse>
    Remarks

    Start a multisig signature, or add a signature to a partially completed multisig signature object.

    SignTransaction(Address, Byte[], FixedString128Bytes, FixedString128Bytes)

    Sign a transaction

    Declaration
    public AlgoApiRequest.Sent<SignTransactionResponse> SignTransaction(Address account, byte[] transactionData, FixedString128Bytes walletHandleToken, FixedString128Bytes walletPassword)
    Parameters
    Type Name Description
    Address account

    public key of the key to sign the transaction

    Byte[] transactionData

    transaction serialized as msgpack

    FixedString128Bytes walletHandleToken
    FixedString128Bytes walletPassword
    Returns
    Type Description
    AlgoApiRequest.Sent<SignTransactionResponse>

    Versions()

    Retrieves the current version of the kmd service

    Declaration
    public AlgoApiRequest.Sent<VersionsResponse> Versions()
    Returns
    Type Description
    AlgoApiRequest.Sent<VersionsResponse>

    WalletInfo(FixedString128Bytes)

    Get wallet info

    Declaration
    public AlgoApiRequest.Sent<WalletInfoResponse> WalletInfo(FixedString128Bytes walletHandleToken)
    Parameters
    Type Name Description
    FixedString128Bytes walletHandleToken
    Returns
    Type Description
    AlgoApiRequest.Sent<WalletInfoResponse>
    Remarks

    Returns information about the wallet associated with the passed wallet handle token. Additionally returns expiration information about the token itself.

    Implements

    IKmdClient
    IAlgoApiClient
    ☀
    ☾
    In This Article
    Back to top
    Generated by DocFX
    ☀
    ☾