#!/usr/bin/python3

import requests
from hashlib import sha256
import ecdsa

#private_key = '03486537091ceb021fb313e5cf3eb04d44ca2f19f72112a1'
private_key = '039e1c137aa296d7af0cd55b468018ad1020949c2731e5141d032b8371490f48'

# Generate SK from the private key
private_key_int = int(private_key, 16)
sk = ecdsa.SigningKey.from_secret_exponent(private_key_int, curve=ecdsa.SECP256k1)

## Get the server public key
url = 'http://localhost:5000/serverkey'

# sign the message
signature = sk.sign(url.encode('utf-8'))
signature_hex = signature.hex()

response = requests.get(url, headers={"auth":signature_hex})
print('>>> ', response.status_code)
print('>>> ', response.content)



## Get some kline data from the server
url = 'http://localhost:5000/?t=1672259440'

# sign the message
signature = sk.sign(url.encode('utf-8'))
signature_hex = signature.hex()

print('we signed: ', url)
print('We will send:')
print('to: ', url)
print('auth: ', signature_hex)
print('------------------------')

response = requests.get(url, headers={"auth":signature_hex})
print('>>> ', response.status_code)
print('>>> ', response.content)

##
##bytes_public_key = bytes.fromhex(ecdsa_public_key)
##
##bytes_signed_data = signature_hex.encode('utf-8')
##
##
##vk = ecdsa.VerifyingKey.from_string(bytes_public_key, curve=ecdsa.SECP256k1)
##
##if vk.verify(signature_hex, unsigned_data):
##    response = "YES"
##else:
##    response = "NO"
##
##

exit(0)
