-
Notifications
You must be signed in to change notification settings - Fork 2
fix: improve spacing and rendering of array and structs details section [OPT-352] #658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 895a2ec The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR improves the rendering of arrays and structs in markdown proposal details by removing nested bullet points that were causing indentation issues with collapsible <details> blocks. The changes ensure cleaner rendering by moving from indented list items to top-level formatting with proper <summary> tags and fenced code blocks.
Key changes:
- Updated markdown templates to use top-level
<details>blocks with<summary>and fenced code blocks instead of inline HTML - Modified input/output rendering to use bold formatting without list markers
- Updated all test assertions to match the new template format
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| experimental/analyzer/templates/markdown/details.tmpl | Restructured details template to use multi-line format with <summary> and fenced code blocks |
| experimental/analyzer/templates/markdown/decoded_call.tmpl | Removed list markers from inputs/outputs, changed to bold formatting at top level |
| experimental/analyzer/renderer_markdown_test.go | Updated test assertions to expect new template format without nested lists and with proper <summary> tags |
| .changeset/purple-trams-sort.md | Added changeset documenting the fix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## chainlink-deployments-framework@0.74.3 ### Patch Changes - [#660](#660) [`a8928d5`](a8928d5) Thanks [@ecPablo](https://github.com/ecPablo)! - fix: avoid loading proposal ctx if the provider is nil chore: add deprecation warning to mcmsv2 commands - [#666](#666) [`d5bcb7c`](d5bcb7c) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix(jd): remove wsrpc from error message - [#655](#655) [`3791c84`](3791c84) Thanks [@gustavogama-cll](https://github.com/gustavogama-cll)! - feat: log from, to and raw data in forktests - [#658](#658) [`504cfaa`](504cfaa) Thanks [@ecPablo](https://github.com/ecPablo)! - fix proposal analyzer render issues with array details --------- Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>





The nested bullets was giving issues to to indents when using the collapsible blocks with arrays and structs. We fix the templates so that the rendering of details is cleaner. The main difference is that we are removing the bullets as that messes up the collapsible details section.
Decoded Proposal looks like this now:
Batch 0
Chain selector:
16015286601757825753(ethereum-testnet-sepolia)Operation 0
Address:
0x88C6be3328DC0aa67d6E7E2Fd2245B35e6389030address of ProposerManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:falseOperation 1
Address:
0xF5402d1B437D323E2F0d72874d14Ae9B1027A1a4address of CancellerManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:falseOperation 2
Address:
0xF6899f4ddAd6cb52a58F031fA6A8a19a2AC1Bc5Caddress of BypasserManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:falseBatch 1
Chain selector:
13264668187771770619(binance_smart_chain-testnet)Operation 0
Address:
0x88C6be3328DC0aa67d6E7E2Fd2245B35e6389030address of ProposerManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:falseOperation 1
Address:
0xF5402d1B437D323E2F0d72874d14Ae9B1027A1a4address of CancellerManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:falseOperation 2
Address:
0xF6899f4ddAd6cb52a58F031fA6A8a19a2AC1Bc5Caddress of BypasserManyChainMultiSig 1.0.0 from ethereum-testnet-sepoliaMethod:
function setConfig(address[] signerAddresses, uint8[] signerGroups, uint8[32] groupQuorums, uint8[32] groupParents, bool clearRoot) returns()Inputs:
signerAddresses: array[2]: [0x9cA1A1bAf18278Ed49FC25E35753768167959082, 0xAd5F37dB17a54eb3b8c6DE6774b3D410CE8AeDD5]Details
signerGroups: array[2]: [0, 0]Details
groupQuorums: array[32]: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
groupParents: array[32]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … (+29)]Details
clearRoot:false