/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Additional protocol / operation specific key-value parameters:  For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure.](https://developers.fireblocks.com/reference/transaction-objects#inputsselection) The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint.](https://developers.fireblocks.com/reference/getunspentinputs)  For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata)  For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. For **exchange compliance (e.g., Binance) and Travel Rule purposes**, include the key `piiData` containing a **custom JSON structure** with Personally Identifiable Information (PII) relevant to the transaction. This data must be fully **encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is **hybrid encryption** using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange\'s public key. [development libraries](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks)  **Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call.
 * @export
 * @interface ExtraParameters
 */
export interface ExtraParameters {
    [key: string]: any;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ExtraParameters
     */
    'nodeControls'?: {
        [key: string]: any;
    } | null;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ExtraParameters
     */
    'rawMessageData'?: {
        [key: string]: any;
    } | null;
    /**
     *
     * @type {string}
     * @memberof ExtraParameters
     */
    'contractCallData'?: string | null;
    /**
     *
     * @type {string}
     * @memberof ExtraParameters
     */
    'programCallData'?: string | null;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ExtraParameters
     */
    'inputsSelection'?: {
        [key: string]: any;
    } | null;
    /**
     *
     * @type {boolean}
     * @memberof ExtraParameters
     */
    'allowBaseAssetAddress'?: boolean | null;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ExtraParameters
     */
    'piiData'?: {
        [key: string]: any;
    } | null;
}
