# How to upgrade manta parachain client and runtime code base
## Code part
Because our parachain is based on [`statemint`](https://github.com/paritytech/cumulus/tree/master/polkadot-parachains/statemint), so we need to follow `statemint`'s changes.
- Client.
We need to diff this folder: `polkadot-parachains/src`, such as if we need to upgrade client code from `release-v0.9.7` to `release-v0.9.8`:
```shell=
# Diff cargo.toml to see what changes in dependencies
git diff polkadot-v0.9.8 polkadot-v0.9.7 polkadot-parachains/Cargo.toml
git diff polkadot-v0.9.8 polkadot-v0.9.7 polkadot-parachains/src/service.rs
git diff polkadot-v0.9.8 polkadot-v0.9.7 polkadot-parachains/src/command.rs
# ...
```
Now the diff result will tell you what changes in latest commit.
And follow these changes to upgrade our parachain's client code base.
- Runtime
Check folder: `polkadot-parachains/statemint`.
```shell=
# Diff cargo.toml to see what changes in dependencies
git diff polkadot-v0.9.8 polkadot-v0.9.7 polkadot-parachains/statemint/Cargo.toml
git diff polkadot-v0.9.8 polkadot-v0.9.7 polkadot-parachains/statemint/src/lib.rs
# ...
```
After upgrading, resolve the compilation error.
> Tips: If you're using vscode, [`Git History Diff`](https://marketplace.visualstudio.com/items?itemName=huizhou.githd) is good utility for diff part.
## Testign part
Use `manta-pc-launch` for these testing.
- Block time test
Ensure our parachain's block time is faster than acala's, at least not slower than acala's.
- Runtime Upgrade.
- Cross chain transaction.
- ...