7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/mixin_bot/api/legacy_transfer.rb', line 7
def create_legacy_transfer(pin, **kwargs)
raise ArgumentError, "#{TRANSFER_ARGUMENTS.join(', ')} are needed for create transfer" unless TRANSFER_ARGUMENTS.all? { |param| kwargs.keys.include? param }
asset_id = kwargs[:asset_id]
opponent_id = kwargs[:opponent_id]
amount = format('%.8f', kwargs[:amount].to_d.to_r).gsub(/\.?0+$/, '')
trace_id = kwargs[:trace_id] || SecureRandom.uuid
memo = kwargs[:memo] || ''
payload = {
asset_id:,
opponent_id:,
amount:,
trace_id:,
memo:
}
if pin.length > 6
pin_base64 = encrypt_tip_pin pin, 'TIP:TRANSFER:CREATE:', asset_id, opponent_id, amount, trace_id, memo
payload[:pin_base64] = pin_base64
else
encrypted_pin = encrypt_pin pin
payload[:pin] = encrypted_pin
end
path = '/transfers'
client.post path, **payload
end
|