Extra ECDSA authentic in header
Request
EDDSA
ECDSA
Approved Hash
X-API-SIG in header
def createOriginTransferMessage(req: dict):
class Transfer(EIP712Struct):
pass
setattr(Transfer, 'from', Address())
Transfer.to = Address()
Transfer.tokenID = Uint(16)
Transfer.amount = Uint(96)
Transfer.feeTokenID = Uint(16)
Transfer.maxFee = Uint(96)
Transfer.validUntil = Uint(32)
Transfer.storageID = Uint(32)
transfer = Transfer(**{
"from" : req['payerAddr'],
"to" : req['payeeAddr'],
"tokenID" : req['token']['tokenId'],
"amount" : int(req['token']['volume']),
"feeTokenID" : req['maxFee']['tokenId'],
"maxFee" : int(req['maxFee']['volume']),
"validUntil" : req['validUntil'],
"storageID" : req['storageId']
})
# print(f"transfer type hash = {bytes.hex(transfer.type_hash())}")
return EIP712.hash_packed(
EIP712.exchangeDomain.hash_struct(),
transfer.hash_struct()
)
message = createUpdateAccountMessage(transfer_request)
v, r, s = sig_utils.ecsign(message, self.ecdsaKey)Last updated