Files
PolyTraderSharp/agentspace/scripts/tmp_hash.py
T
bergmandClaude Opus 4.8 475d396f80 Baseline: Ausgangszustand vor Modularisierung
Erster Commit des bestehenden monolithischen WinForms-Copytraders,
inklusive der Alt-Backups (*.bak), damit diese dauerhaft in der
Historie rekonstruierbar bleiben. Threema-Lib unter libs/ wurde
vendored (nested .git entfernt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:16:16 +02:00

40 lines
1.5 KiB
Python

from eth_account import Account
import json
import os
import sys
sys.path.insert(0, "J:/Softwareprojekte/Polytrader/venv/Lib/site-packages")
from py_order_utils.builders.base_builder import BaseBuilder
from py_order_utils.model.order import OrderData
from py_order_utils.signer import Signer
order_json = '''{"salt":17747015785747,"maker":"0x628914cf1e96a9d1ab8f0489a9f64be5633bac41","signer":"0x883fe952a23bb68aab8832343d4bedde759b40ea","taker":"0x0000000000000000000000000000000000000000","tokenId":"54119275359569982132308633107899675342776540894581625713762792947175003762644","makerAmount":"999180","takerAmount":"3660000","expiration":"0","nonce":"0","feeRateBps":"0","side":"BUY","signatureType":0}'''
data = json.loads(order_json)
data["side"] = 0 if data["side"] == "BUY" else 1
priv_key = "0x" + "1"*64
signer = Signer(priv_key)
builder = BaseBuilder('0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E', 137, signer, lambda: 1)
from py_order_utils.model.order import Order
order = Order(
salt=int(data["salt"]),
maker=data["maker"],
signer=data["signer"],
taker=data["taker"],
tokenId=int(data["tokenId"]),
makerAmount=int(data["makerAmount"]),
takerAmount=int(data["takerAmount"]),
expiration=int(data["expiration"]),
nonce=int(data["nonce"]),
feeRateBps=int(data["feeRateBps"]),
side=int(data["side"]),
signatureType=int(data["signatureType"])
)
struct_hash = builder._create_struct_hash(order)
print("PYTHON_STRUCT_HASH|" + struct_hash)
print("PYTHON_SIG|" + signer.sign(struct_hash))