|
| 1 | +import hashlib |
1 | 2 | import json |
2 | 3 | import logging |
3 | 4 | import os |
@@ -569,25 +570,28 @@ def verify(args: Any) -> None: |
569 | 570 |
|
570 | 571 | def unverify(args: Any) -> None: |
571 | 572 | account = cli_shared.prepare_account(args) |
572 | | - contract = args.contract |
573 | | - code_hash = args.code_hash |
574 | | - verifier_url = f"{args.verifier_url}/verifier" |
| 573 | + contract: str = args.contract |
| 574 | + code_hash: str = args.code_hash |
| 575 | + verifier_url: str = f"{args.verifier_url}/verifier" |
575 | 576 |
|
576 | 577 | payload = { |
577 | 578 | "contract": contract, |
578 | 579 | "codeHash": code_hash, |
579 | 580 | } |
580 | 581 |
|
581 | | - payload_json = json.dumps(payload, separators=(",", ":")) |
582 | | - message = Message(payload_json.encode()) |
583 | | - signature = account.sign_message(message) |
| 582 | + serialized_payload = json.dumps(payload, separators=(",", ":")).encode("utf-8") |
| 583 | + hash = hashlib.sha256(serialized_payload).hexdigest() |
| 584 | + message_to_sign = (contract + hash).encode("utf-8") |
| 585 | + |
| 586 | + signature = account.sign_message(Message(message_to_sign)) |
584 | 587 |
|
585 | 588 | request_payload = { |
586 | 589 | "signature": signature.hex(), |
587 | | - "payload": payload_json, |
| 590 | + "payload": payload, |
588 | 591 | } |
589 | 592 |
|
590 | | - response = requests.delete(verifier_url, json=request_payload) |
| 593 | + headers = {"Content-type": "application/json"} |
| 594 | + response = requests.delete(verifier_url, json=request_payload, headers=headers) |
591 | 595 | logger.info(f"Your request to unverify contract {contract} was submitted.") |
592 | 596 | print(response.json().get("message")) |
593 | 597 |
|
|
0 commit comments