```
chore: remove obsolete payment architecture and integration test documentation - Remove AITBC_PAYMENT_ARCHITECTURE.md (dual-currency system documentation) - Remove IMPLEMENTATION_COMPLETE_SUMMARY.md (integration test completion summary) - Remove INTEGRATION_TEST_FIXES.md (test fixes documentation) - Remove INTEGRATION_TEST_UPDATES.md (real features implementation notes) - Remove PAYMENT_INTEGRATION_COMPLETE.md (wallet-coordinator integration docs) - Remove WALLET_COORDINATOR_INTEGRATION.md (payment
This commit is contained in:
65
scripts/testing/test_minimal.py
Normal file
65
scripts/testing/test_minimal.py
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Minimal test to debug transaction import
|
||||
"""
|
||||
|
||||
import json
|
||||
import hashlib
|
||||
import requests
|
||||
|
||||
BASE_URL = "https://aitbc.bubuit.net/rpc"
|
||||
CHAIN_ID = "ait-devnet"
|
||||
|
||||
def compute_block_hash(height, parent_hash, timestamp):
|
||||
"""Compute block hash using the same algorithm as PoA proposer"""
|
||||
payload = f"{CHAIN_ID}|{height}|{parent_hash}|{timestamp}".encode()
|
||||
return "0x" + hashlib.sha256(payload).hexdigest()
|
||||
|
||||
def test_minimal():
|
||||
"""Test with minimal data"""
|
||||
|
||||
# Get current head
|
||||
response = requests.get(f"{BASE_URL}/head")
|
||||
head = response.json()
|
||||
|
||||
# Create a new block
|
||||
height = head["height"] + 1
|
||||
parent_hash = head["hash"]
|
||||
timestamp = "2026-01-29T10:20:00"
|
||||
block_hash = compute_block_hash(height, parent_hash, timestamp)
|
||||
|
||||
# Test with empty transactions list first
|
||||
test_block = {
|
||||
"height": height,
|
||||
"hash": block_hash,
|
||||
"parent_hash": parent_hash,
|
||||
"proposer": "test-proposer",
|
||||
"timestamp": timestamp,
|
||||
"tx_count": 0,
|
||||
"transactions": []
|
||||
}
|
||||
|
||||
print("Testing with empty transactions list...")
|
||||
response = requests.post(f"{BASE_URL}/blocks/import", json=test_block)
|
||||
print(f"Status: {response.status_code}")
|
||||
print(f"Response: {response.json()}")
|
||||
|
||||
if response.status_code == 200:
|
||||
print("\n✅ Empty transactions work!")
|
||||
|
||||
# Now test with one transaction
|
||||
height = height + 1
|
||||
block_hash = compute_block_hash(height, parent_hash, timestamp)
|
||||
|
||||
test_block["height"] = height
|
||||
test_block["hash"] = block_hash
|
||||
test_block["tx_count"] = 1
|
||||
test_block["transactions"] = [{"tx_hash": "0xtest", "sender": "0xtest", "recipient": "0xtest", "payload": {}}]
|
||||
|
||||
print("\nTesting with one transaction...")
|
||||
response = requests.post(f"{BASE_URL}/blocks/import", json=test_block)
|
||||
print(f"Status: {response.status_code}")
|
||||
print(f"Response: {response.json()}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_minimal()
|
||||
Reference in New Issue
Block a user