All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fireblocks.sdk.model.GetTransactionOperation Maven / Gradle / Ivy

/*
 * Fireblocks API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: [email protected]
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package com.fireblocks.sdk.model;


import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * * `TRANSFER` - Transfers funds from one account to another. UTXO blockchains allow
 * multi-input and multi-output transfers. All other blockchains allow transfers with one source
 * address and one destination address. * `MINT` - Mints new tokens. Supported for
 * Stellar, Ripple and EVM-based blockchains. * `BURN` - Burns tokens. Supported for
 * Stellar, Ripple and EVM-based blockchains. * `CONTRACT_CALL` - Calls a smart contract
 * method for web3 operations on any EVM blockchain. The Fireblocks [development
 * libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are
 * recommended for building contract call transactions. * `TYPED_MESSAGE` - An off-chain
 * message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable
 * messages that are not actual transactions. [Learn more about typed
 * messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An
 * off-chain message with no predefined format. Use it to sign any message with your private key,
 * including protocols such as blockchains and custom transaction types that are not natively
 * supported by Fireblocks. [Learn more about raw signing
 * transactions.](https://developers.fireblocks.com/docs/raw-message-signing) *
 * `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an on-chain
 * transaction to create an asset wallet and enable the deposit address. This transaction is
 * automatically created when adding assets on these blockchains at a vault account. *
 * `STAKE` - Assign assets to a staking pool managed by a staking validator. Supported for
 * Stellar and EVM-based blockchains. This transaction is automatically created when performing
 * staking operations. * `UNSTAKE` - Remove assets from a staking pool managed by a
 * staking validator. Supported for Stellar and EVM-based blockchains. This transaction is
 * automatically created when performing staking operations. * `WITHDRAW` - Transfer
 * assets from a dedicated staking vault account to another address. Supported for Stellar and
 * EVM-based blockchains. This transaction is automatically created when performing staking
 * operations. **Note:** Fireblocks will rename this type from `WITHDRAW` to a different
 * type name soon. There will be a 7-day notice regarding the new type name. *
 * `SUPPLY_TO_COMPOUND` - Deprecated since April 1st, 2023. Older transactions may have
 * this as their operation, in case users in the workspace have used the direct integration between
 * Fireblocks and the Compound DeFI protocol. * `REDEEM_FROM_COMPOUND` - Deprecated since
 * April 1st, 2023. Older transactions may have this as their operation, in case users in the
 * workspace have used the direct integration between Fireblocks and the Compound DeFI protocol.
 */
public enum GetTransactionOperation {
    TRANSFER("TRANSFER"),

    BURN("BURN"),

    CONTRACT_CALL("CONTRACT_CALL"),

    MINT("MINT"),

    RAW("RAW"),

    TYPED_MESSAGE("TYPED_MESSAGE"),

    ENABLE_ASSET("ENABLE_ASSET"),

    STAKE("STAKE"),

    UNSTAKE("UNSTAKE"),

    WITHDRAW("WITHDRAW"),

    REDEEM_FROM_COMPOUND("REDEEM_FROM_COMPOUND"),

    SUPPLY_TO_COMPOUND("SUPPLY_TO_COMPOUND");

    private String value;

    GetTransactionOperation(String value) {
        this.value = value;
    }

    @JsonValue
    public String getValue() {
        return value;
    }

    @Override
    public String toString() {
        return String.valueOf(value);
    }

    @JsonCreator
    public static GetTransactionOperation fromValue(String value) {
        for (GetTransactionOperation b : GetTransactionOperation.values()) {
            if (b.value.equals(value)) {
                return b;
            }
        }
        throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    /**
     * Convert the instance into URL query string.
     *
     * @param prefix prefix of the query string
     * @return URL query string
     */
    public String toUrlQueryString(String prefix) {
        if (prefix == null) {
            prefix = "";
        }

        return String.format("%s=%s", prefix, this.toString());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy