@akhi3030 brought up a scenario that is not yet covered in tests:
Use a plugin of version vX in smart contract C and deploy it on chain (via near-workspaces).
Uprade near-plugins in C to a newer version vY > vX.
Compile C using vY of near-plugins, deploy it and verify it can read the contract's old state.
Some inspiration might be taken from test_deploy_code_with_migration which upgrades a contract, calls its migration function and interacts with the contract after the upgrade.
@akhi3030 brought up a scenario that is not yet covered in tests:
vX
in smart contractC
and deploy it on chain (vianear-workspaces
).near-plugins
inC
to a newer versionvY > vX
.C
usingvY
ofnear-plugins
, deploy it and verify it can read the contract's old state.Some inspiration might be taken from
test_deploy_code_with_migration
which upgrades a contract, calls its migration function and interacts with the contract after the upgrade.