0xpatrickdev / agoric-vault-collateral-proposal

CoreEval Proposal and Permits for Inter Vault Collateral Type
0 stars 3 forks source link

stATOM vs STATOM in agoricNames.brand #16

Closed dckc closed 1 year ago

dckc commented 1 year ago

In #15 stATOM is used for proposedName, but "The asset keyword must begin with an uppercase letter, so STATOM is used".

Unfortunately, the keyword is used in more places than it should be; in particular, in agoricNames.

dckc commented 1 year ago

possible solution:

0xpatrickdev commented 1 year ago

I incorporated the changes here, as some of your other relevant PR's were not merged in yet:

Preliminary testing is showing a Error: keyword "stATOM" must be an ascii identifier starting with upper case. is still being thrown:

``` 2023-08-22T15:53:50.615Z block-manager: block 77 commit 2023-08-22T15:53:55.731Z block-manager: block 78 begin 2023-08-22T15:53:55.743Z SwingSet: vat: v1: evaluateBundleCap { manifestBundleRef: { bundleID: 'b1-f438dcc1efa2ae7c154e9e4cefdd2dd02478d68324f8057377f6115b84bce8aea626e0018cff923ba12945e1f809c71bcbbdd1652385d350eecbf8c825d6a3fe' }, exportedGetManifest: 'getManifestForAddAssetToVault', vatAdminSvc: Promise [Promise] {} } 2023-08-22T15:53:55.745Z SwingSet: vat: v1: evaluateBundleCap { manifestBundleRef: { bundleID: 'b1-1c8e93cc80b28b2cf6b1252e9b6edb0253a1f962889f8a255397b43984950a263dd9c9efd82aee5744b46e7bd57ff1c733030e9f4dc8da9b355b185a59687862' }, exportedGetManifest: 'getManifestForPriceFeed', vatAdminSvc: Promise [Promise] {} } 2023-08-22T15:53:56.176Z SwingSet: vat: v1: execute { exportedGetManifest: 'getManifestForAddAssetToVault', behaviors: [ 'INVITE_PSM_COMMITTEE_MANIFEST', 'PSM_MANIFEST', 'addAssetToVault', 'getManifestForAddAssetToVault', 'getManifestForPsm', 'getManifestForPsmGovernance', 'inviteCommitteeMembers', 'inviteToEconCharter', 'makeAnchorAsset', 'publishInterchainAssetFromBank', 'publishInterchainAssetFromBoardId', 'registerScaledPriceAuthority', 'startEconCharter', 'startPSM' ] } 2023-08-22T15:53:56.205Z block-manager: block 78 commit 2023-08-22T15:54:00.846Z block-manager: block 79 begin 2023-08-22T15:54:01.123Z SwingSet: vat: v1: execute { exportedGetManifest: 'getManifestForPriceFeed', behaviors: [ 'createPriceFeed', 'ensureOracleBrands', 'getManifestForPriceFeed', 'instanceNameFor', 'startPriceFeeds' ] } 2023-08-22T15:54:01.169Z block-manager: block 79 commit 2023-08-22T15:54:05.984Z block-manager: block 80 begin 2023-08-22T15:54:06.140Z SwingSet: vat: v1: coreProposal: addAssetToVault 2023-08-22T15:54:06.140Z SwingSet: vat: v1: coreProposal: publishInterchainAssetFromBank 2023-08-22T15:54:06.140Z SwingSet: vat: v1: coreProposal: registerScaledPriceAuthority 2023-08-22T15:54:06.150Z SwingSet: vat: v1: coreProposal: createPriceFeed 2023-08-22T15:54:06.151Z SwingSet: vat: v1: ----- RunPriceFeed.2 2 createPriceFeed 2023-08-22T15:54:06.151Z SwingSet: vat: v1: coreProposal: ensureOracleBrands 2023-08-22T15:54:06.151Z SwingSet: vat: v1: ----- RunPriceFeed.2 3 ensureOracleBrands 2023-08-22T15:54:06.260Z SwingSet: vat: v1: oracleBrand stATOM: new Promise 2023-08-22T15:54:06.260Z SwingSet: vat: v1: oracleBrand stATOM settled; remaining: [] 2023-08-22T15:54:08.257Z block-manager: block 80 commit 2023-08-22T15:54:11.101Z block-manager: block 81 begin 2023-08-22T15:54:11.113Z SwingSet: vat: v1: ----- RunPriceFeed.2 4 got terms 2023-08-22T15:54:11.158Z SwingSet: vat: v1: ----- RunPriceFeed.2 5 awaiting startInstance 2023-08-22T15:54:11.174Z SwingSet: vat: v36: ----- ReserveKit.5 7 addIssuer { brand: Object [Alleged: stATOM brand] {}, keyword: 'STATOM' } 2023-08-22T15:54:11.174Z SwingSet: vat: v36: ----- ReserveKit.5 8 addIssuer storing { keyword: 'STATOM', brand: Object [Alleged: stATOM brand] {} } 2023-08-22T15:54:11.174Z SwingSet: vat: v36: ----- ReserveKit.5 9 saveBrandKeyword Object [Alleged: stATOM brand] {} STATOM 2023-08-22T15:54:12.687Z block-manager: block 81 commit 2023-08-22T15:54:16.268Z block-manager: block 82 begin 2023-08-22T15:54:16.289Z SwingSet: vat: v29: provisionPool notified of new asset Object [Alleged: stATOM brand] {} 2023-08-22T15:54:16.290Z SwingSet: xsnap: v29: UnhandledPromiseRejectionWarning: (Error#1) 2023-08-22T15:54:16.291Z SwingSet: xsnap: v29: Error#1: keyword stATOM must be an ascii identifier starting with upper case. 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 () 2023-08-22T15:54:16.299Z SwingSet: vat: v42: ----- WltFct.5 11 registering asset stATOM 2023-08-22T15:54:19.133Z block-manager: block 82 commit 2023-08-22T15:54:21.398Z block-manager: block 83 begin 2023-08-22T15:54:21.736Z SwingSet: vat: v1: instance STATOM-USD price feed: new Promise 2023-08-22T15:54:21.736Z SwingSet: vat: v1: ----- RunPriceFeed.2 6 registered STATOM-USD price feed Object [Alleged: InstanceHandle] {} 2023-08-22T15:54:21.736Z SwingSet: vat: v1: ----- RunPriceFeed.2 7 distributing invitations [ 'agoric1ldmtatp24qlllgxmrsjzcpe20fvlkp448zcuce', 'agoric140dmkrz2e42ergjj7gyvejhzmjzurvqeq82ang', 'agoric1w8wktaur4zf8qmmtn3n7x3r0jhsjkjntcm3u6h', 'agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk', 'agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf', 'agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft', 'agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4', 'agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82', 'agoric15xddzse9lq74cyt6ev9d7wywxerenxdgxsdc3m', 'agoric1w5wmck6q2xrt20ax3njlk2k87m4t4l2y2xgw2d' ] 2023-08-22T15:54:21.737Z SwingSet: vat: v1: instance STATOM-USD price feed settled; remaining: [] 2023-08-22T15:54:21.753Z SwingSet: vat: v17: charter: adding instance STATOM-USD price feed 2023-08-22T15:54:21.758Z SwingSet: vat: v50: ----- FlxAgg.7 2 makeOracleInvitation agoric1ldmtatp24qlllgxmrsjzcpe20fvlkp448zcuce 2023-08-22T15:54:21.761Z SwingSet: vat: v50: ----- FlxAgg.7 3 makeOracleInvitation agoric140dmkrz2e42ergjj7gyvejhzmjzurvqeq82ang 2023-08-22T15:54:21.764Z SwingSet: vat: v50: ----- FlxAgg.7 4 makeOracleInvitation agoric1w8wktaur4zf8qmmtn3n7x3r0jhsjkjntcm3u6h 2023-08-22T15:54:21.767Z SwingSet: vat: v50: ----- FlxAgg.7 5 makeOracleInvitation agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk 2023-08-22T15:54:21.770Z SwingSet: vat: v50: ----- FlxAgg.7 6 makeOracleInvitation agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf 2023-08-22T15:54:21.774Z SwingSet: vat: v50: ----- FlxAgg.7 7 makeOracleInvitation agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft 2023-08-22T15:54:21.778Z SwingSet: vat: v50: ----- FlxAgg.7 8 makeOracleInvitation agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4 2023-08-22T15:54:21.781Z SwingSet: vat: v50: ----- FlxAgg.7 9 makeOracleInvitation agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82 2023-08-22T15:54:21.784Z SwingSet: vat: v50: ----- FlxAgg.7 10 makeOracleInvitation agoric15xddzse9lq74cyt6ev9d7wywxerenxdgxsdc3m 2023-08-22T15:54:21.787Z SwingSet: vat: v50: ----- FlxAgg.7 11 makeOracleInvitation agoric1w5wmck6q2xrt20ax3njlk2k87m4t4l2y2xgw2d 2023-08-22T15:54:21.910Z block-manager: block 83 commit 2023-08-22T15:54:26.534Z block-manager: block 84 begin 2023-08-22T15:54:26.719Z block-manager: block 84 commit 2023-08-22T15:54:31.667Z block-manager: block 85 begin 2023-08-22T15:54:31.697Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1ldmtatp24qlllgxmrsjzcpe20fvlkp448zcuce 2023-08-22T15:54:31.700Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric140dmkrz2e42ergjj7gyvejhzmjzurvqeq82ang 2023-08-22T15:54:31.703Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1w8wktaur4zf8qmmtn3n7x3r0jhsjkjntcm3u6h 2023-08-22T15:54:31.705Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk 2023-08-22T15:54:31.709Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf 2023-08-22T15:54:31.716Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft 2023-08-22T15:54:31.719Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4 2023-08-22T15:54:31.722Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82 2023-08-22T15:54:31.724Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric15xddzse9lq74cyt6ev9d7wywxerenxdgxsdc3m 2023-08-22T15:54:31.727Z SwingSet: vat: v1: awaiting depositFacet for STATOM-USD price feed member agoric1w5wmck6q2xrt20ax3njlk2k87m4t4l2y2xgw2d 2023-08-22T15:54:31.833Z SwingSet: vat: v1: depositing to STATOM-USD price feed member agoric15xddzse9lq74cyt6ev9d7wywxerenxdgxsdc3m 2023-08-22T15:54:31.870Z SwingSet: vat: v1: confirmed deposit 1/1 for STATOM-USD price feed member agoric15xddzse9lq74cyt6ev9d7wywxerenxdgxsdc3m 2023-08-22T15:54:31.985Z block-manager: block 85 commit 2023-08-22T15:54:36.803Z block-manager: block 86 begin ```
GitHub
Comparing pc/statom-vault-proposal...pc/statom-vault-proposal-issuerName · 0xpatrickdev/agoric-sdk
monorepo for the Agoric Javascript smart contract platform - Comparing pc/statom-vault-proposal...pc/statom-vault-proposal-issuerName · 0xpatrickdev/agoric-sdk
GitHub
Comparing main...feat/brand-issuer-name · 0xpatrickdev/agoric-vault-collateral-proposal
CoreEval Proposal and Permits for Inter Vault Collateral Type - Comparing main...feat/brand-issuer-name · 0xpatrickdev/agoric-vault-collateral-proposal
dckc commented 1 year ago

Thanks a bunch for testing.

Looks like we have more keyword/issuerName conflation in provisionPool. :-/

await zcf.saveIssuer(desc.issuer, desc.issuerName);

https://github.com/Agoric/agoric-sdk/blob/mainnet1B/packages/vats/src/provisionPoolKit.js#L347

dckc commented 1 year ago

re provisionPool, I have an idea. It's in https://github.com/Agoric/agoric-sdk/pull/8229 as 2b75c1ba1. Try it out please?

dckc commented 1 year ago

the provisionPool bug isn't critical path to stATOM: the provisoinPool only needs to track assets that it can trade via a PSM.