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>
40 lines
1.5 KiB
Python
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))
|