Module: MixinBot::API::LegacyMultisig
- Included in:
- MixinBot::API
- Defined in:
- lib/mixin_bot/api/legacy_multisig.rb
Constant Summary collapse
- MULTISIG_REQUEST_ACTIONS =
%i[sign unlock].freeze
Instance Method Summary collapse
- #cancel_multisig_request(request_id, access_token: nil) ⇒ Object (also: #cancel_multisig)
-
#create_multisig_payment(**kwargs) ⇒ Object
pay to the multisig address used for create multisig payment code_id.
- #create_multisig_request(action, raw, access_token: nil) ⇒ Object
-
#create_sign_multisig_request(raw, access_token: nil) ⇒ Object
transfer from the multisig address.
-
#create_unlock_multisig_request(raw, access_token: nil) ⇒ Object
transfer from the multisig address create a request for unlock a multi-sign.
- #sign_multisig_request(request_id, pin = nil) ⇒ Object
- #unlock_multisig_request(request_id, pin = nil) ⇒ Object
- #verify_multisig(code_id, access_token: nil) ⇒ Object
Instance Method Details
#cancel_multisig_request(request_id, access_token: nil) ⇒ Object Also known as: cancel_multisig
44 45 46 47 48 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 44 def cancel_multisig_request(request_id, access_token: nil) warn_legacy_mixin_api!('LegacyMultisig#cancel_multisig_request') path = format('/multisigs/requests/%<request_id>s/cancel', request_id:) client.post path, access_token: end |
#create_multisig_payment(**kwargs) ⇒ Object
pay to the multisig address used for create multisig payment code_id
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 63 def create_multisig_payment(**kwargs) warn_legacy_mixin_api!('LegacyMultisig#create_multisig_payment') path = '/payments' payload = { asset_id: kwargs[:asset_id], amount: format('%.8f', kwargs[:amount].to_d), trace_id: kwargs[:trace_id] || SecureRandom.uuid, memo: kwargs[:memo], opponent_multisig: { receivers: kwargs[:receivers], threshold: kwargs[:threshold] } } client.post path, **payload, access_token: kwargs[:access_token] end |
#create_multisig_request(action, raw, access_token: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 7 def create_multisig_request(action, raw, access_token: nil) warn_legacy_mixin_api!('LegacyMultisig#create_multisig_request') unless MULTISIG_REQUEST_ACTIONS.include? action.to_sym raise ArgumentError, "request action is limited in #{MULTISIG_REQUEST_ACTIONS.join(', ')}" end path = '/multisigs/requests' payload = { action:, raw: } client.post path, **payload, access_token: end |
#create_sign_multisig_request(raw, access_token: nil) ⇒ Object
transfer from the multisig address
23 24 25 26 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 23 def create_sign_multisig_request(raw, access_token: nil) warn_legacy_mixin_api!('LegacyMultisig#create_sign_multisig_request') create_multisig_request 'sign', raw, access_token: end |
#create_unlock_multisig_request(raw, access_token: nil) ⇒ Object
transfer from the multisig address create a request for unlock a multi-sign
30 31 32 33 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 30 def create_unlock_multisig_request(raw, access_token: nil) warn_legacy_mixin_api!('LegacyMultisig#create_unlock_multisig_request') create_multisig_request 'unlock', raw, access_token: end |
#sign_multisig_request(request_id, pin = nil) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 35 def sign_multisig_request(request_id, pin = nil) warn_legacy_mixin_api!('LegacyMultisig#sign_multisig_request') pin ||= config.pin path = format('/multisigs/requests/%<request_id>s/sign', request_id:) payload = tip_or_legacy_pin_payload(pin, 'TIP:MULTISIG:REQUEST:SIGN:', request_id) client.post path, **payload end |
#unlock_multisig_request(request_id, pin = nil) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 51 def unlock_multisig_request(request_id, pin = nil) warn_legacy_mixin_api!('LegacyMultisig#unlock_multisig_request') pin ||= config.pin path = format('/multisigs/requests/%<request_id>s/unlock', request_id:) payload = tip_or_legacy_pin_payload(pin, 'TIP:MULTISIG:REQUEST:UNLOCK:', request_id) client.post path, **payload end |
#verify_multisig(code_id, access_token: nil) ⇒ Object
79 80 81 82 83 |
# File 'lib/mixin_bot/api/legacy_multisig.rb', line 79 def verify_multisig(code_id, access_token: nil) warn_legacy_mixin_api!('LegacyMultisig#verify_multisig') path = format('/codes/%<code_id>s', code_id:) client.get path, access_token: end |