Class: IcAgent::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/ic_agent/agent.rb

Class Method Summary collapse

Class Method Details

.sign_request(req, iden) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ic_agent/agent.rb', line 6

def self.sign_request(req, iden)
  req_id = IcAgent::Utils.to_request_id(req)
  msg = IcAgent::IC_REQUEST_DOMAIN_SEPARATOR + req_id
  sig = iden.sign(msg)
  envelop = {
    'content': req,
    'sender_pubkey': sig[0],
    'sender_sig': sig[1]
  }

  if iden.is_a?(DelegateIdentity)
    envelop.update({
                     'sender_pubkey': iden.der_pubkey,
                     'sender_delegation': iden.delegations
                   })
  end
  [req_id, CBOR.encode(envelop)]
end