You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: expose wallet.registerContractClass for simulating contract upgrades
Adds `wallet.registerContractClass(artifact)` (a thin pass-through to PXE) so callers can register a new class artifact locally before passing an instance override that targets it. Without this, PXE-side ACIR dispatch can't resolve private functions of the override's class.
With `fastForwardContractUpdate` (upstack) plus this method, a single `.simulate({ overrides })` covers both private and public function calls on an upgraded contract:
```ts
await wallet.registerContractClass(UpdatedContract.artifact);
const overrides = await fastForwardContractUpdate({ instanceAddress, newClassId, node });
await updatedContract.methods.set_private_value().simulate({ from, overrides });
```
0 commit comments