Skip to content
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

provisionPool Error: keyword ... must be an ascii identifier starting with upper case #8238

Closed
dckc opened this issue Aug 22, 2023 · 0 comments · Fixed by #9481
Closed

provisionPool Error: keyword ... must be an ascii identifier starting with upper case #8238

dckc opened this issue Aug 22, 2023 · 0 comments · Fixed by #9481
Labels
bug Something isn't working Inter-protocol Overarching Inter Protocol

Comments

@dckc
Copy link
Member

dckc commented Aug 22, 2023

Describe the bug

NOTE: This bug is only critical for assets where we're adding a PSM. Otherwise, the provisionPool can't use them anyway.

Community testing with stATOM showed that the provisionPool will fail to track its balance of any asset registered in the vbank with an issuerName that doesn't match the Zoe keyword constraints: ASCII identifier string that must begin with an upper case letter.

To Reproduce

Steps to reproduce the behavior:

  1. adapt the STARS proposal to stATOM
  2. deploy bundles; make a governance proposal; vote
  3. Error: keyword "stATOM" must be an ascii identifier starting with upper case shows in chain logs

The stack trace includes a call to saveIssuer.
https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/vats/src/provisionPoolKit.js#L347

Expected behavior

Assets known as xyzABC work fine for funding the provisionPool via a PSM.

Platform Environment

mainnet1B code as well as a few other local chain configurations

Additional context

Community testing with stATOM with @0xpatrickdev

Logs / stacktrace

stack trace from a scenario2 local-chain log
2023-08-22T15:54:16.291Z SwingSet: xsnap: v29: Error: keyword "stATOM" must be an ascii identifier starting with upper case.
 at construct ()
 at Error (/bundled-source/.../node_modules/ses/src/error/tame-error-constructor.js:56)
 at makeError (/bundled-source/.../node_modules/ses/src/error/assert.js:273)
 at fail (/bundled-source/.../node_modules/ses/src/error/assert.js:387)
 at assertKeywordName (.../zoe/src/cleanProposal.js:33)
 at assertUniqueKeyword (.../zoe/src/instanceRecordStorage.js:106)
 at apply ()
 at apply ()
 at In "assertUniqueKeyword" method of (InstanceRecord) (/bundled-source/.../node_modules/@endo/exo/src/exo-tools.js:42)
 at saveIssuer (.../zoe/src/contractFacet/zcfZygote.js:261)
 at saveIssuer (.../zoe/src/contractFacet/zcfZygote.js:257)
 at updateState (.../vats/src/provisionPoolKit.js:344)
 at updateState (.../vats/src/provisionPoolKit.js:342)
 at (.../notifier/src/asyncIterableAdaptor.js:63)
 at ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Inter-protocol Overarching Inter Protocol
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant