fix: consistent label corpus across chains, ordered product entity list - #730
Conversation
Hexagate sync — dry-run
chain 1: +0 / -4Remove:
chain 8453: +0 / -1Remove:
Skipped chains (no sync):
|
e7c1792 to
c983614
Compare
|
Review of head [P2] Compare social profiles independently of object key order — verify.js:470–472
Downstream compatibility clarification: The claim that consumers already take only the first entity needs qualification. In the local Euler Lite checkout inspected during review, Validation: the exact PR head passes |
Sync the four entity descriptions that drifted between chain files (AlphaGrowth on Linea, Clearstar on HyperEVM, Hyperithm and K3 Capital on Monad) to the wording every other chain uses. Define the order of a product's entity list: the first entity governs the product, any further entities are display-only co-brands. kpk-securitize keeps ["kpk", "securitize"] under that reading. Remove escrow vaults from products: four under Swaap Lend on Ethereum and the Yieldpoint yUTY collateral vault under JPEG Trading x Yieldpoint on Base. Escrow vaults are verified by the EscrowedCollateralPerspective, are governor-less shared infrastructure, and belong to no product. These five were the only escrows listed anywhere in the corpus on active chains. Sonic is no longer operated: the last active Re7 vault moves to deprecatedVaults and both Sonic products carry a deprecation reason. verify.js now enforces identical entity profiles across chain files and distinct, known entity IDs in every product entity list.
c983614 to
a5f6d8b
Compare
Summary
Fixes source inconsistencies that the euler-data-v3 unified labels importer currently has to resolve through a reviewed override manifest, and tightens
verify.jsso they cannot come back.Data
entitykeeps its string-or-list form, but the list is now ordered. The first entity governs the product, any further entities are display-only co-brands with no governance role.kpk-securitizestays["kpk", "securitize"]and reads as KPK-governed, Securitize co-branded. The v3 importer interprets it this way; no new field is introduced.EscrowedCollateralPerspective; they are governor-less shared infrastructure and belong to no product. A scan of every escrow-verified vault on all eleven active chains (143 vaults) against every product and earn-vault list found exactly these five.deprecatedVaults, and both Sonic products get a deprecation reason, matching the other chains Euler no longer operates on.Verification
verify.jsnow rejects:name,logo,description,urlorsocialdiffers between chain files;entitylist is empty, repeats an entity, or references an unknown entity.It cannot detect escrow vaults, since that needs on-chain perspective state; the v3 importer's database preflight blocks a product vault whose discovered type is escrow.
The README documents the ordering rule and the cross-chain profile rule.
Downstream
Consumers already read
entityas string-or-array and take the first element as the owner, so nothing changes for them. The v3 importer follow-up (euler-data-v3#629) reads the rest of the list as co-brands. euler-data-v3#626 becomes unnecessary.Test plan
node verify.jspasses on the branchbiome check .clean