test: try agoric-sdk with "no-passable-symbols" endo#10084
test: try agoric-sdk with "no-passable-symbols" endo#10084
Conversation
Deploying agoric-sdk with
|
| Latest commit: |
1d9f98d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://09d2e5f3.agoric-sdk.pages.dev |
| Branch Preview URL: | https://markm-test-w-some-endo-3.agoric-sdk.pages.dev |
323d327 to
1d9f98d
Compare
Closes: #XXXX Refs: - ocapn/ocapn#125 - https://github.com/ocapn/ocapn/blob/28af626441da888c4a520309222e18266dd2f1f2/draft-specifications/Model.md - #2452 - Agoric/agoric-sdk#10084 - https://github.com/tc39/proposal-immutable-arraybuffer - #2414 ## Description Revise Smallcaps cheatsheet to track OCapn as of ocapn/ocapn#125 ### Security Considerations none ### Scaling Considerations none ### Documentation Considerations the point. The cheatsheet was becoming too stale. ### Testing Considerations none ### Compatibility Considerations none ### Upgrade Considerations none
There was a problem hiding this comment.
Pull Request Overview
This PR removes support for passable symbols from the Agoric SDK to test compatibility with the "no-passable-symbols" version of Endo. The changes systematically eliminate symbol handling across various components.
- Removes symbol type checks and handling from proxy operations and marshaling utilities
- Updates telemetry and debugging code to no longer process symbol-based method names
- Eliminates symbol-related serialization cases from slogulator and kdebug modules
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/vats/src/core/utils.js | Removes symbol type check from proxy getter |
| packages/telemetry/src/slog-to-otel.js | Updates method type annotation and removes symbol handling in message parsing |
| packages/swingset-runner/src/slogulator.js | Removes symbol serialization cases from value and method legibilization |
| packages/swingset-liveslots/src/liveslots.js | Updates DeviceHandler to only accept string properties |
| packages/swingset-liveslots/src/kdebug.js | Removes symbol handling from value and method legibilization |
| packages/swingset-liveslots/src/facetiousness.js | Removes symbol property check from facet assessment |
| packages/smart-wallet/src/offerWatcher.js | Removes symbol case from result type handling |
| packages/internal/src/callback.js | Removes isPassableSymbol import and symbol validation from callback methods |
| packages/SwingSet/test/upgrade/upgrade.test.js | Adds gratuitous comment for PR creation |
| packages/SwingSet/src/lib/kdebug.js | Removes symbol handling from value and method legibilization |
| packages/SwingSet/src/kernel/deviceSlots.js | Updates proxy to only accept string properties |
| packages/SwingSet/src/controller/controller.js | Removes symbol type checks from queue methods |
| get: (t, propName) => { | ||
| if (typeof propName !== 'symbol') { | ||
| propName in t || | ||
| Fail`${q(propName)} not permitted, only ${q(keys(template))}`; | ||
| } | ||
| propName in t || | ||
| Fail`${q(propName)} not permitted, only ${q(keys(template))}`; | ||
| return t[propName]; | ||
| }, |
There was a problem hiding this comment.
Removing the symbol type check without adding proper type validation could allow non-string property access to bypass the permission check. The condition propName in t will still execute for symbols, but the error message assumes string properties.
| }; | ||
| }; | ||
|
|
||
| // Gratuitous change so I can create an otherwise identical PR |
There was a problem hiding this comment.
This gratuitous comment should be removed as it adds no value to the codebase and appears to be temporary scaffolding for PR creation.
| // Gratuitous change so I can create an otherwise identical PR |
#endo-branch: markm-no-passable-symbols
closes: #XXXX
refs: endojs/endo#2452
Description
Security Considerations
Scaling Considerations
Documentation Considerations
Testing Considerations
Upgrade Considerations