text: /**
   * Wallet API
   * # Introduction Wallet API is an API for creating and managing Klaytn accounts as well as sending transactions. If you create your Klaytn account using Wallet API, you don't have to manage your private key yourself. Wallet API provides a wallet for safe storage of your Klaytn account private keys that you would need to use BApps. For more details on how to use Wallet API, please refer to this [tutorial](https://docs.klaytnapi.com/v/en/tutorial).  Wallet API can be divided into the Account part, which creates and manages Klaytn accounts, and the Transaction part, which sends different kinds of transactions.  Wallet API creates, deletes and monitors Klaytn accounts and updates the accounts to multisig, and manages all private keys for all accounts registered on KAS.  Wallet API can also create transaction to send it to Klaytn. These include transactions sent from multisig accounts. In case of muiltisig accounts, a transaction will automatically be sent to Klaytn once \\(Threshold\\) is met. For more detail, please refer to this [tutorial](https://docs.klaytnapi.com/v/en/tutorial).  There are mainly two types of transactions: basic transactions and fee delegation transactions. Fee delegation transactions include Global Fee Delegation transaction and user fee deletation transaction. With the Global Fee Delegation transaction scheme, the transaction fee will initially be paid by GroundX and then be charged to you at a later date. With the User Fee Delegation transaction scheme, you create an account that pays the transaction fees on behalf of the users when a transaction.  The functionalities and limits of Wallet API are shown below:  | Version | Item | Description | | :--- | :--- | :--- | | 2.0 | Limits | Supports Cypress(Mainnet), Baobab(Testnet) \\ Doesn't support (Service Chain \\) | |  |  | Doesn't support account management for external custodial keys | |  |  | Doesn't support multisig for RLP encoded transactions | |  | Account management | Create, retrieve and delete account | |  |  | Multisig account update | |  | Managing transaction | [Basic](https://ko.docs.klaytn.com/klaytn/design/transactions/basic) creating and sending transaction | |  |  | [FeeDelegatedWithRatio](https://ko.docs.klaytn.com/klaytn/design/transactions/partial-fee-delegation) creating and sending transaction | |  |  | RLP encoded transaction\\([Legacy](https://ko.docs.klaytn.com/klaytn/design/transactions/basic#txtypelegacytransaction), [Basic](https://ko.docs.klaytn.com/klaytn/design/transactions/basic), [FeeDelegatedWithRatio](https://ko.docs.klaytn.com/klaytn/design/transactions/partial-fee-delegation)\\) creating and sending | |  |  | Managing and sending multisig transactions | |  | Administrator | Manage resource pool\\(create, query pool, delete, retrieve account \\) |
   *
   * OpenAPI spec version: 1.0
   *
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   *
   */
  
  const ApiClient = require('../../ApiClient')
  
  /**
   * The FDUserProcessRLPRequest model module.
   * @class FDUserProcessRLPRequest
   * @version 1.0
   */
  class FDUserProcessRLPRequest {
      /**
       * Constructs a new <code>FDUserProcessRLPRequest</code>.
       * RLP User Fee Delegation transaction request schema
       * @alias FDUserProcessRLPRequest
       * @class
       * @param rlp {String} The Klaytn RLP formats SigRLP or TxHashRLP are accepted as RLP values and only (partial) fee delegation transaction type is allowed.
       * @param feePayer {String} Account address for user Fee Delegation
       */
  
      constructor(rlp, feePayer) {
          this.rlp = rlp
          this.feePayer = feePayer
      }
  
      /**
       * Constructs a <code>FDUserProcessRLPRequest</code> from a plain JavaScript object, optionally creating a new instance.
       * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
       * @param {Object} data The plain JavaScript object bearing properties of interest.
       * @param {FDUserProcessRLPRequest} obj Optional instance to populate.
       * @return {FDUserProcessRLPRequest} The populated <code>FDUserProcessRLPRequest</code> instance.
       * @memberof FDUserProcessRLPRequest
       */
      static constructFromObject(data, obj) {
          if (data) {
              obj = obj || new FDUserProcessRLPRequest()
  
              if (data.hasOwnProperty('rlp')) {
                  obj.rlp = ApiClient.convertToType(data.rlp, 'String')
              }
              if (data.hasOwnProperty('submit')) {
                  obj.submit = ApiClient.convertToType(data.submit, 'Boolean')
              }
              if (data.hasOwnProperty('feePayer')) {
                  obj.feePayer = ApiClient.convertToType(data.feePayer, 'String')
              }
              if (data.hasOwnProperty('feeRatio')) {
                  obj.feeRatio = ApiClient.convertToType(data.feeRatio, 'Number')
              }
          }
          return obj
      }
  }
  
  /**
   * The Klaytn RLP formats SigRLP or TxHashRLP are accepted as RLP values and only (partial) fee delegation transaction type is allowed.
   * @type {String}
   * @memberof FDUserProcessRLPRequest
   */
  FDUserProcessRLPRequest.prototype.rlp = undefined
  /**
   * Shows whether to send the transaction to Klaytn
   * @type {Boolean}
   * @memberof FDUserProcessRLPRequest
   */
  FDUserProcessRLPRequest.prototype.submit = undefined
  /**
   * Account address for user Fee Delegation
   * @type {String}
   * @memberof FDUserProcessRLPRequest
   */
  FDUserProcessRLPRequest.prototype.feePayer = undefined
  /**
   * The ratio of the gas fee to be delegated. When it's empty or 0, the entire fee will be delegated.
   * @type {Number}
   * @memberof FDUserProcessRLPRequest
   */
  FDUserProcessRLPRequest.prototype.feeRatio = undefined
  
  module.exports = FDUserProcessRLPRequest
  