Upgrade Soroban SDK in stellar-demo-staking example contract
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust, wasm
- Ambito
- blockchain
Direzione di ricerca
Inizia da examples/basic-react-app/contracts/stellar-demo-staking/Cargo.toml e Cargo.lock, quindi esamina il codice sorgente del contratto per individuare le API dell'SDK interessate dall'aggiornamento da v22 a v25 o v26. Esegui cargo update e la compilazione con cargo build --target wasm32-unknown-unknown --release, quindi esegui i test del contratto e prova localmente con uno smoke test il deployment sulla testnet di Stellar. Il lavoro è completato quando gli avvisi relativi alle dipendenze sono stati risolti, il contratto viene compilato correttamente e i test passano, e tutti i riferimenti interessati in README o nel quickstart sono stati aggiornati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The Soroban demo contract under `examples/basic-react-app/contracts/stellar-demo-staking` is pinned to `soroban-sdk` v22, which transitively brings in vulnerable versions of `stellar-xdr` (22.1.0) and `soroban-env-host` (22.1.3). Both have open Dependabot advisories that can only be resolved by bumping the SDK majors.
Context
Two open Dependabot alerts on `examples/basic-react-app/contracts/stellar-demo-staking/Cargo.lock`:
| Advisory | Package | Current → Patched | Severity |
|---|---|---|---|
| GHSA-x57h-xx53-v53w | `stellar-xdr` | 22.1.0 → 25.0.1 | moderate |
| GHSA-pm4j-7r4q-ccg8 | `soroban-env-host` | 22.1.3 → 26.0.0 | low |
Neither is exploitable in the demo's current usage — `soroban-env-host` runs inside Stellar validators (not in our build), and `stellar-xdr`'s `StringM::from_str` bypass only matters if the contract parses untrusted XDR strings, which the staking demo doesn't. The alerts are being dismissed in the Security tab in the meantime.
Why upgrade anyway
- Keeps the demo contract aligned with current Soroban tooling and protocol version
- Removes a recurring source of Dependabot noise on the example contract
- Future contributors copying this example get an up-to-date starting point
Goal
Bump `soroban-sdk` from v22 to a current major (v25 or v26) in:
- `examples/basic-react-app/contracts/stellar-demo-staking/Cargo.toml`
- the matching `Cargo.lock`
Scope
- Update `soroban-sdk` version in `Cargo.toml`
- `cargo update` to refresh `stellar-xdr`, `soroban-env-host`, and friends
- Adjust contract source for any breaking host-API or type changes between SDK majors
- Verify the contract still builds (`cargo build --target wasm32-unknown-unknown --release`) and tests pass
- Smoke-test deployment locally (Stellar testnet) before merging
- Update any README / quickstart instructions that reference the SDK version
Notes
- Priority: low — example/demo code only, not published as a package
- Not a release blocker for any `@openzeppelin/ui-*` package
- Lingua principale
- TypeScript
- Stelle
- 7
- Fork
- 4
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenZeppelin/openzeppelin-ui
-
Banner: allow a non-alert role for info and status notesForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OpenZeppelin/openzeppelin-ui#258 ·
-
AddressDisplay: configurable copy button labelForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenZeppelin/openzeppelin-ui#256 ·
-
Form fields write aria-describedby=" " when there's no helper text or errorForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenZeppelin/openzeppelin-ui#251 ·
-
EmptyState: action slot, optional icon and descriptionForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
OpenZeppelin/openzeppelin-ui#249 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OpenZeppelin/openzeppelin-ui#201 ·
Tutte le issue di OpenZeppelin/openzeppelin-ui
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jeanibarz/knowledge-base-mcp-server#1268 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
Koenkk/zigbee-herdsman-converters#13820 ·
I maintainer di solito rispondono entro 2 giorni
-
[prefer-expect-resolves] autofix leaves a stray ")" when the awaited expression is parenthesizedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
jest-community/eslint-plugin-jest#2052 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Wallet functions throws TypeError when the wallet has no account IDForse già presa @Medhansh-741 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
hiero-ledger/hiero-sdk-js#4781 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno