{
    "testId": "kqa-e2e-brlusd",
    "name": "KQA continuous e2e \u2014 KBRL/KUSD 1-1 match on bravo testnet",
    "comment": "KATRUN-KFLOW1 automated run: clean the book, alice buys, bob sells at the same price, exactly one tx with one fill must appear. Exercises join, addAccount, orderCreate, matching, clustering and tx composition end-to-end on every loop; verdict lands in kflow (KATRUN-E2E1).",
    "network": "testnet",
    "gameId": "kqa-e2e-1",
    "deleteGameAfterRun": false,
    "tradingMode": "orderBook",
    "settleMs": 4000,
    "loopEveryMs": 120000,
    "publishNotes": false,
    "assets": {
        "KBRL": {
            "id": "0.0.2340890",
            "decimals": 6
        },
        "KUSD": {
            "id": "0.0.2341021",
            "decimals": 6
        }
    },
    "defaults": {
        "minFill": {
            "numerator": 1,
            "denominator": 200000
        },
        "timeInForce": "GTC"
    },
    "actors": {
        "alice": {
            "accountId": "0.0.4271",
            "name": "\ud83e\uddea kqa alice (buyer)"
        },
        "bob": {
            "accountId": "0.0.4782",
            "name": "\ud83e\uddea kqa bob (seller)"
        }
    },
    "steps": [
        {
            "waitMs": 500,
            "action": "deleteOrders",
            "note": "fixed game reused each loop \u2014 clear any residue from a failed prior run first"
        },
        {
            "waitMs": 1000,
            "actor": "alice",
            "action": "order",
            "offer": {
                "asset": "KUSD",
                "amount": 1000000
            },
            "request": {
                "asset": "KBRL",
                "amount": 5000000
            },
            "note": "alice buys 5 KBRL for 1 KUSD"
        },
        {
            "waitMs": 800,
            "actor": "bob",
            "action": "order",
            "offer": {
                "asset": "KBRL",
                "amount": 5000000
            },
            "request": {
                "asset": "KUSD",
                "amount": 1000000
            },
            "note": "bob sells 5 KBRL for 1 KUSD -> should fill alice 100%"
        }
    ],
    "expect": {
        "txCount": 1,
        "fillCount": 1
    }
}