module MixinBot::API::Withdraw

Public Instance Methods

create_withdraw_address(options, access_token: nil) click to toggle source

developers.mixin.one/api/alpha-mixin-network/create-address/

# File lib/mixin_bot/api/withdraw.rb, line 7
def create_withdraw_address(options, access_token: nil)
  path = '/addresses'
  encrypted_pin = encrypt_pin(options[:pin])
  payload =
    # for EOS withdraw, account_name & account_tag must be valid
    if options[:public_key].nil?
      {
        asset_id: options[:asset_id],
        account_name: options[:account_name],
        account_tag: options[:account_tag],
        label: options[:label],
        pin: encrypted_pin
      }
    # for other withdraw
    else
      {
        asset_id: options[:asset_id],
        public_key: options[:public_key],
        label: options[:label],
        pin: encrypted_pin
      }
    end

  access_token ||= access_token('POST', path, payload.to_json)
  authorization = format('Bearer %<access_token>s', access_token: access_token)
  client.post(path, headers: { 'Authorization': authorization }, json: payload)
end
delete_withdraw_address(address, pin, access_token: nil) click to toggle source

developers.mixin.one/api/alpha-mixin-network/delete-address/

# File lib/mixin_bot/api/withdraw.rb, line 44
def delete_withdraw_address(address, pin, access_token: nil)
  path = format('/addresses/%<address>s/delete', address: address)
  payload = {
    pin: encrypt_pin(pin)
  }

  access_token ||= access_token('POST', path, payload.to_json)
  authorization = format('Bearer %<access_token>s', access_token: access_token)
  client.post(path, headers: { 'Authorization': authorization }, json: payload)
end
get_withdraw_address(address, access_token: nil) click to toggle source

developers.mixin.one/api/alpha-mixin-network/read-address/

# File lib/mixin_bot/api/withdraw.rb, line 36
def get_withdraw_address(address, access_token: nil)
  path = format('/addresses/%<address>s', address: address)
  access_token ||= access_token('GET', path, '')
  authorization = format('Bearer %<access_token>s', access_token: access_token)
  client.get(path, headers: { 'Authorization': authorization })
end
withdrawals(options, access_token: nil) click to toggle source

developers.mixin.one/api/alpha-mixin-network/withdrawal-addresses/

# File lib/mixin_bot/api/withdraw.rb, line 56
def withdrawals(options, access_token: nil)
  address_id = options[:address_id]
  pin = options[:pin]
  amount = options[:amount]
  trace_id = options[:trace_id]
  memo = options[:memo]

  path = '/withdrawals'
  payload = {
    address_id: address_id,
    amount: amount,
    trace_id: trace_id,
    memo: memo,
    pin: encrypt_pin(pin)
  }

  access_token ||= access_token('POST', path, payload.to_json)
  authorization = format('Bearer %<access_token>s', access_token: access_token)
  client.post(path, headers: { 'Authorization': authorization }, json: payload)
end