mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-19 05:29:46 +08:00
- the contract fixture declares every order anti-alphabetically (type names, fields, enum members, union arms, msg arms, helpers) and the harness asserts the exact orders on both emissions - its probe reads the identity getters before init and after a poisoning trap and the harness compares both reads to the sidecar's build_id (V12 plus the ratified exemption, end to end) - V13 rides two independent identical invocations compared hash-equal; V11 rides nm both directions over the prefix - the contract-attest fixture pins tuple-returning init/update, subscriptions presence, the default <out>.contract.json path, the empty absent forms, and Date.now demoting deterministic to false - the validator suite passes a full-vocabulary conformance document and catches one targeted mutation per rule, plus SC4009 refusal coverage through compileLibrary
32 lines
1.1 KiB
JSON
32 lines
1.1 KiB
JSON
{
|
|
"profile_format": 1,
|
|
"name": "conformance-contract",
|
|
"entry": "lib.ts",
|
|
"emission": "llvm",
|
|
"abi": {
|
|
"prefix": "kc_",
|
|
"init_symbol": "kc_init",
|
|
"sink_register_symbol": "kc_set_panic_sink",
|
|
"collect_symbol": null,
|
|
"result_reset_symbol": null
|
|
},
|
|
"exports": [
|
|
{ "export": "boot", "symbol": "kc_boot", "params": [], "returns": "void" },
|
|
{ "export": "send", "symbol": "kc_send", "params": ["f64", "f64"], "returns": "void" },
|
|
{ "export": "commandMsg", "symbol": "kc_command_msg", "params": ["string"], "returns": "void" },
|
|
{ "export": "title", "symbol": "kc_title", "params": [], "returns": "string" },
|
|
{ "export": "helperProbe", "symbol": "kc_helper_probe", "params": ["f64"], "returns": "string" },
|
|
{ "export": "boom", "symbol": "kc_boom", "params": ["f64"], "returns": "f64" }
|
|
],
|
|
"sidecar": {
|
|
"path": "app.contract.json",
|
|
"wire_version": 3,
|
|
"abi_version": 7,
|
|
"snapshot_format": 2,
|
|
"build_id_symbol": "kc_build_id",
|
|
"abi_version_symbol": "kc_abi_version",
|
|
"model": "Model",
|
|
"msg": "Msg"
|
|
}
|
|
}
|