|
| 1 | +--- |
| 2 | +'@celo/governance': patch |
| 3 | +'@celo/actions': patch |
| 4 | +'@celo/dev-utils': patch |
| 5 | +'@celo/explorer': patch |
| 6 | +'@celo/celocli': patch |
| 7 | +--- |
| 8 | + |
| 9 | +Fix several `governance`/`celocli` command output & safety issues: |
| 10 | +- `governance:propose` logged `undefined is a proxy, repointing to ...` for |
| 11 | + core-contract proxy repoints (logged `tx.address` which is undefined when the |
| 12 | + tx is keyed by `contract`); now logs the real proxy id. |
| 13 | +- `governance:propose` now surfaces the new proposal id (`ProposalQueued`), and |
| 14 | + the `--useMultiSig` path surfaces the multisig transaction id (`Submission` on |
| 15 | + submit, `Confirmation` on a later signer) plus the proposal id when the submit |
| 16 | + reaches threshold and executes in the same receipt. |
| 17 | +- `@celo/actions` `getGroupsWithPendingVotes` now filters on pending votes `> 0` |
| 18 | + (was `>= 0`, which returned every group); fixes `election:activate` selecting |
| 19 | + groups with no pending votes. |
| 20 | +- `governance:execute` now checks the proposal is approved before sending, so it |
| 21 | + fails the precondition cleanly instead of reverting with "Proposal not approved". |
| 22 | +- `governance:upvote`/`revokeupvote`/`votePartially` and `multisig:approve` now |
| 23 | + decode and print their on-chain events (proposal id / transaction id). |
| 24 | +- `governance:propose` can now build a core-contract call whose method is added |
| 25 | + by an earlier upgrade tx in the same proposal: when the method is absent from |
| 26 | + the bundled ABI, it is resolved from the implementation a prior tx repoints the |
| 27 | + proxy to (verified metadata), with a raw `function: "name(uint256)"` signature |
| 28 | + fallback. |
| 29 | +- `governance:propose` now simulates the proposal by default against a |
| 30 | + self-contained local fork (bundled `@foundry-rs/anvil`) of the connected node, |
| 31 | + applying the transactions in order so a transaction that depends on an earlier |
| 32 | + one (e.g. a method added by a prior upgrade tx) simulates correctly. Use |
| 33 | + `--simulate <rpcUrl>` to target an external fork, or `--no-simulate` to fall |
| 34 | + back to the previous independent per-transaction `eth_call` checks. |
| 35 | +- `lockedcelo:withdraw` (and `releasecelo:locked-gold` withdraw) no longer spin |
| 36 | + in an infinite loop when no pending withdrawal is available, and re-fetch |
| 37 | + between withdrawals to avoid stale indices. |
| 38 | +- `@celo/dev-utils` anvil test harness now resolves the foundry-installed |
| 39 | + `anvil` (snapshot-compatible) instead of a package-manager `anvil` bin shim, |
| 40 | + so packages that bundle a newer anvil don't break the devchain state load. |
| 41 | +- `@celo/explorer` `fetchMetadata` now uses the Sourcify v2 API (the v1 repo API |
| 42 | + has been sunset / returns 503), so contract ABI resolution (used by |
| 43 | + `governance:propose` to build calls to verified contracts, including |
| 44 | + implementations added by an in-proposal upgrade) works again. |
0 commit comments