From 687a5e5b2b9edca266bad65eb491a47c416599d1 Mon Sep 17 00:00:00 2001 From: Salmatcre8 <118213044+Salmatcre8@users.noreply.github.com> Date: Tue, 11 Aug 2026 20:13:50 +0100 Subject: [PATCH 1/2] chore(contracts): record testnet deployment Deploys the registry and demo-emitter contracts to Stellar testnet via deploy/deploy_testnet.sh and commits the resulting contract IDs and wasm hashes. This is what flips CI's verify-provenance job from skip to a real check, and what apps/web's fireDemoEvent.ts needs to stop returning DemoEmitterNotConfiguredError on the /demo/contracts "Fire test event" button. registry: CCM4U5BGSLAGD2OYHAQUYLXVZNWI4EECJYPVJMOBSYI434FZ5Z2LGIWO demo-emitter: CAP6TJP7WVVSAK5BKKAA32J6G7RPT6X6Q7US7SMBGZ3NZ73HSXFNFCRH Both wasm hashes verified against on-chain state via `stellar contract fetch` before committing. --- contracts/deployed.testnet.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/contracts/deployed.testnet.json b/contracts/deployed.testnet.json index 4a5bf350..4813688e 100644 --- a/contracts/deployed.testnet.json +++ b/contracts/deployed.testnet.json @@ -1,15 +1,15 @@ { "network": "testnet", - "deployerPublicKey": "", - "deployedAt": "", + "deployerPublicKey": "GBBHYIMKT43UAFUG2F4QHSJK25Q2AZSA3RRB6JSHUABDAXMQARGJZYHG", + "deployedAt": "2026-08-11T19:13:15Z", "contracts": { "registry": { - "contractId": "", - "wasmHash": "" + "contractId": "CCM4U5BGSLAGD2OYHAQUYLXVZNWI4EECJYPVJMOBSYI434FZ5Z2LGIWO", + "wasmHash": "47fdc006e3a741009a45e0eeaf4af8fd41f24394335bdfac3dee0730ddeff65c" }, "demoEmitter": { - "contractId": "", - "wasmHash": "" + "contractId": "CAP6TJP7WVVSAK5BKKAA32J6G7RPT6X6Q7US7SMBGZ3NZ73HSXFNFCRH", + "wasmHash": "30b0aedaa8dbca00a16d01d91333703d210dd1ef3c8a21ce270baa12b33c1baf" } } } From 63eec539d815ffbb34f708daaf4455fc4d7b1311 Mon Sep 17 00:00:00 2001 From: Salmatcre8 <118213044+Salmatcre8@users.noreply.github.com> Date: Tue, 11 Aug 2026 20:31:56 +0100 Subject: [PATCH 2/2] fix(contracts): redeploy with a reproducible build, matching CI's rebuild The first deployment (939be5ae.../e16bedfd...) redeployed here was built locally without CARGO_HOME normalization: soroban-sdk's ledger.rs embeds its own absolute source path via a panic-location capture, so the wasm hash differed by build machine even with identical source and identical rustc version. verify-provenance's independent rebuild in CI (CARGO_HOME= /home/runner/.cargo) correctly caught the drift and failed. Rebuilt with RUSTFLAGS="--remap-path-prefix=$CARGO_HOME=/home/runner/.cargo" to match CI's embedded path exactly, confirmed the local build hash equals CI's independently-rebuilt hash, and redeployed both contracts from that exact wasm. registry: CDSCV5WBIK74OXFQLJMBMJHBWYBNEFGQGEG2YBKVKJSIWKP676AJF2QA demo-emitter: CBWXJ3AJZ7Y57XZWZV75VZRRSCZ5DT5VLPKKSC6FYG4YI4ELO5AXBBVP --- contracts/deployed.testnet.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contracts/deployed.testnet.json b/contracts/deployed.testnet.json index 4813688e..46c88e71 100644 --- a/contracts/deployed.testnet.json +++ b/contracts/deployed.testnet.json @@ -1,15 +1,15 @@ { "network": "testnet", "deployerPublicKey": "GBBHYIMKT43UAFUG2F4QHSJK25Q2AZSA3RRB6JSHUABDAXMQARGJZYHG", - "deployedAt": "2026-08-11T19:13:15Z", + "deployedAt": "2026-08-11T19:31:21Z", "contracts": { "registry": { - "contractId": "CCM4U5BGSLAGD2OYHAQUYLXVZNWI4EECJYPVJMOBSYI434FZ5Z2LGIWO", - "wasmHash": "47fdc006e3a741009a45e0eeaf4af8fd41f24394335bdfac3dee0730ddeff65c" + "contractId": "CDSCV5WBIK74OXFQLJMBMJHBWYBNEFGQGEG2YBKVKJSIWKP676AJF2QA", + "wasmHash": "939be5ae7d6b6c421f30dad75c56e613c5136897aadf54dfec2a7ae441cec334" }, "demoEmitter": { - "contractId": "CAP6TJP7WVVSAK5BKKAA32J6G7RPT6X6Q7US7SMBGZ3NZ73HSXFNFCRH", - "wasmHash": "30b0aedaa8dbca00a16d01d91333703d210dd1ef3c8a21ce270baa12b33c1baf" + "contractId": "CBWXJ3AJZ7Y57XZWZV75VZRRSCZ5DT5VLPKKSC6FYG4YI4ELO5AXBBVP", + "wasmHash": "e16bedfd9616c5653bcefcafa5b055f0befabd7891a8d8350a14f78fba578757" } } }