@agoric/inter-protocol 0.13.4-dev-d32a66a.0 → 0.13.4-pismo-dev-f760927.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +20 -26
  2. package/bundles/bundle-amm-meta.js +618 -0
  3. package/bundles/bundle-amm.js +1 -0
  4. package/bundles/bundle-feeDistributor-meta.js +346 -0
  5. package/bundles/bundle-feeDistributor.js +1 -1
  6. package/bundles/bundle-interchainPool-meta.js +534 -0
  7. package/bundles/bundle-interchainPool.js +1 -0
  8. package/bundles/bundle-liquidateIncrementally-meta.js +442 -0
  9. package/bundles/bundle-liquidateIncrementally.js +1 -0
  10. package/bundles/bundle-liquidateMinimum-meta.js +442 -0
  11. package/bundles/bundle-liquidateMinimum.js +1 -0
  12. package/bundles/bundle-psm-meta.js +538 -0
  13. package/bundles/bundle-psm.js +1 -1
  14. package/bundles/bundle-psmCharter-meta.js +418 -0
  15. package/bundles/bundle-psmCharter.js +1 -0
  16. package/bundles/bundle-reserve-meta.js +542 -0
  17. package/bundles/bundle-reserve.js +1 -1
  18. package/bundles/bundle-scaledPriceAuthority-meta.js +442 -0
  19. package/bundles/bundle-scaledPriceAuthority.js +1 -1
  20. package/bundles/bundle-stakeFactory-meta.js +574 -0
  21. package/bundles/bundle-stakeFactory.js +1 -0
  22. package/bundles/bundle-vaultFactory-meta.js +598 -0
  23. package/bundles/bundle-vaultFactory.js +1 -1
  24. package/exported.js +2 -0
  25. package/package.json +31 -34
  26. package/scripts/add-collateral-core.js +4 -14
  27. package/scripts/add-initial-liquidity.js +180 -0
  28. package/scripts/build-bundles.js +2 -9
  29. package/scripts/deploy-contracts.js +4 -1
  30. package/scripts/init-core.js +38 -20
  31. package/scripts/invite-committee-core.js +1 -1
  32. package/scripts/manual-price-feed.js +2 -2
  33. package/scripts/price-feed-core.js +6 -7
  34. package/src/collect.js +13 -0
  35. package/src/collectFees.js +14 -8
  36. package/src/contractSupport.js +68 -24
  37. package/src/econCommitteeCharter.js +77 -161
  38. package/src/feeDistributor.js +20 -60
  39. package/src/index.js +0 -2
  40. package/src/interchainPool.js +135 -0
  41. package/src/interest-math.js +4 -1
  42. package/src/interest.js +13 -20
  43. package/src/makeTracer.js +36 -0
  44. package/src/my-lien.js +85 -0
  45. package/src/proposals/addAssetToVault.js +94 -89
  46. package/src/proposals/committee-proposal.js +40 -141
  47. package/src/proposals/core-proposal.js +167 -100
  48. package/src/proposals/demoIssuers.js +685 -0
  49. package/src/proposals/econ-behaviors.js +564 -320
  50. package/src/proposals/price-feed-proposal.js +78 -175
  51. package/src/proposals/sim-behaviors.js +40 -0
  52. package/src/proposals/startEconCommittee.js +12 -25
  53. package/src/proposals/startPSM.js +211 -231
  54. package/src/proposals/utils.js +17 -31
  55. package/src/psm/psm.js +160 -272
  56. package/src/psm/psmCharter.js +139 -0
  57. package/src/psm/types.js +0 -2
  58. package/src/reserve/assetReserve.js +413 -56
  59. package/src/reserve/doc.md +3 -1
  60. package/src/reserve/params.js +5 -2
  61. package/src/stakeFactory/README.md +62 -0
  62. package/src/stakeFactory/attestation.js +267 -0
  63. package/src/stakeFactory/attestationTool.js +66 -0
  64. package/src/stakeFactory/constants.js +16 -0
  65. package/src/stakeFactory/params.js +31 -0
  66. package/src/stakeFactory/stakeFactory.js +236 -0
  67. package/src/stakeFactory/stakeFactoryKit.js +455 -0
  68. package/src/stakeFactory/stakeFactoryManager.js +296 -0
  69. package/src/stakeFactory/types.js +42 -0
  70. package/src/vaultFactory/burn.js +1 -2
  71. package/src/vaultFactory/liquidateIncrementally.js +350 -0
  72. package/src/vaultFactory/liquidateMinimum.js +100 -0
  73. package/src/vaultFactory/liquidation.js +108 -270
  74. package/src/vaultFactory/orderedVaultStore.js +1 -0
  75. package/src/vaultFactory/params.js +112 -133
  76. package/src/vaultFactory/prioritizedVaults.js +79 -36
  77. package/src/vaultFactory/storeUtils.js +9 -67
  78. package/src/vaultFactory/type-imports.js +0 -2
  79. package/src/vaultFactory/types.js +26 -22
  80. package/src/vaultFactory/vault.js +709 -772
  81. package/src/vaultFactory/vaultDirector.js +483 -480
  82. package/src/vaultFactory/vaultFactory.js +60 -99
  83. package/src/vaultFactory/vaultHolder.js +95 -121
  84. package/src/vaultFactory/vaultKit.js +31 -39
  85. package/src/vaultFactory/vaultManager.js +868 -1249
  86. package/src/vpool-xyk-amm/AttackersGuide.md +89 -0
  87. package/src/vpool-xyk-amm/addLiquidity.js +222 -0
  88. package/src/vpool-xyk-amm/addPool.js +197 -0
  89. package/src/vpool-xyk-amm/constantProduct/AMM-Trade.jpeg +0 -0
  90. package/src/vpool-xyk-amm/constantProduct/README.md +204 -0
  91. package/src/vpool-xyk-amm/constantProduct/calcFees.js +99 -0
  92. package/src/vpool-xyk-amm/constantProduct/calcSwapPrices.js +85 -0
  93. package/src/vpool-xyk-amm/constantProduct/core.js +153 -0
  94. package/src/vpool-xyk-amm/constantProduct/defaults.js +5 -0
  95. package/src/vpool-xyk-amm/constantProduct/getXY.js +52 -0
  96. package/src/vpool-xyk-amm/constantProduct/internal-types.js +116 -0
  97. package/src/vpool-xyk-amm/constantProduct/invariants.js +43 -0
  98. package/src/vpool-xyk-amm/constantProduct/swap.js +272 -0
  99. package/src/vpool-xyk-amm/constantProduct/types.js +32 -0
  100. package/src/vpool-xyk-amm/doublePool.js +194 -0
  101. package/src/vpool-xyk-amm/estimate.js +155 -0
  102. package/src/vpool-xyk-amm/multipoolMarketMaker.js +520 -0
  103. package/src/vpool-xyk-amm/params.js +61 -0
  104. package/src/vpool-xyk-amm/pool.js +396 -0
  105. package/src/vpool-xyk-amm/priceAuthority.js +94 -0
  106. package/src/vpool-xyk-amm/removeLiquidity.js +31 -0
  107. package/src/vpool-xyk-amm/singlePool.js +73 -0
  108. package/src/vpool-xyk-amm/swap.js +69 -0
  109. package/src/vpool-xyk-amm/types.js +154 -0
  110. package/bundles/bundle-auctioneer-js-meta.json +0 -722
  111. package/bundles/bundle-auctioneer.js +0 -1
  112. package/bundles/bundle-econCommitteeCharter-js-meta.json +0 -514
  113. package/bundles/bundle-econCommitteeCharter.js +0 -1
  114. package/bundles/bundle-feeDistributor-js-meta.json +0 -458
  115. package/bundles/bundle-fluxAggregatorKit-js-meta.json +0 -674
  116. package/bundles/bundle-fluxAggregatorKit.js +0 -1
  117. package/bundles/bundle-psm-js-meta.json +0 -666
  118. package/bundles/bundle-reserve-js-meta.json +0 -662
  119. package/bundles/bundle-scaledPriceAuthority-js-meta.json +0 -542
  120. package/bundles/bundle-vaultFactory-js-meta.json +0 -786
  121. package/scripts/start-local-chain.sh +0 -84
  122. package/src/auction/auctionBook.js +0 -755
  123. package/src/auction/auctioneer.js +0 -720
  124. package/src/auction/offerBook.js +0 -221
  125. package/src/auction/params.js +0 -174
  126. package/src/auction/scheduleMath.js +0 -167
  127. package/src/auction/scheduler.js +0 -370
  128. package/src/auction/sortedOffers.js +0 -136
  129. package/src/auction/util.js +0 -55
  130. package/src/clientSupport.js +0 -324
  131. package/src/price/README.md +0 -57
  132. package/src/price/fluxAggregatorContract.js +0 -190
  133. package/src/price/fluxAggregatorKit.js +0 -375
  134. package/src/price/priceOracleKit.js +0 -127
  135. package/src/price/roundsManager.js +0 -726
  136. package/src/psm/README.md +0 -71
  137. package/src/reserve/assetReserveKit.js +0 -303
  138. package/src/typeGuards.js +0 -13
  139. package/src/vaultFactory/Liquidation.md +0 -100
  140. package/src/vaultFactory/math.js +0 -95
package/README.md CHANGED
@@ -30,8 +30,6 @@ To maintain that the keys of vaults to liquidate are stable requires that its ke
30
30
 
31
31
  VaultFactory publishes data using StoredPublishKit which tees writes to off-chain storage. These can then be followed off-chain like so,
32
32
  ```js
33
- import { makeFollower } from '@agoric/casting';
34
-
35
33
  const key = `published.vaultFactory.metrics`; // or whatever the stream of interest is
36
34
  const leader = makeDefaultLeader();
37
35
  const follower = makeFollower(storeKey, leader);
@@ -42,34 +40,30 @@ import { makeFollower } from '@agoric/casting';
42
40
 
43
41
  The canonical keys (under `published`) are as follows. Non-terminal nodes could have data but don't yet. A `0` indicates the index of that child in added order. To get the actual key look it up in parent. High cardinality types get a parent key for enumeration (e.g. `vaults`.)
44
42
  - `published`
45
- - `vaultFactory` - [snapshot of details](./test/vaultFactory/snapshots/test-vaultFactory.js.md)
43
+ - `vaultFactory`
46
44
  - `governance`
47
45
  - `metrics`
48
- - `managers`
49
- - `manager0`
50
- - `metrics`
51
- - `governance`
52
- - `vaults`
53
- - `vault0`
54
- - `auction` - [snapshot of details](./test/auction/snapshots/test-auctionContract.js.md)
55
- - `schedule`
46
+ - `manager0`
47
+ - `metrics`
48
+ - `governance`
49
+ - `vaults`
50
+ - `vault0`
51
+ - `amm`
52
+ - `metrics`
56
53
  - `governance`
57
- - `book0`
58
- - `reserve` - [snapshot of details](./test/reserve/snapshots/test-reserve.js.md)
59
- - `governance`
60
- - `metrics`
61
- - `priceFeed` - [snapshot of details](./test/price/snapshots/test-fluxAggregatorKit.js.md)
62
- - `${inputBrand}-${outputBrand}_price_feed`
63
- - `${inputBrand}-${outputBrand}_price_feed.latestRound`
64
- - `psm` - [snapshot of details](./test/psm/snapshots/test-psm.js.md)
54
+ - `pool0`
55
+ - `init`
56
+ - `metrics`
57
+ - `psm`
65
58
  - `<minted>`
66
59
  - `<anchor>`
67
60
  - `governance`
68
61
  - `metrics`
69
- - `committees` - [snapshot of details](../governance/test/unitTests/snapshots/test-committee.js.md)
62
+ - `stakeFactory`
63
+ - `governance`
64
+ - `committees`
70
65
  - `Economic_Committee`
71
66
  - `latestQuestion`
72
- - `latestOutcome`
73
67
 
74
68
  ### Demo
75
69
 
@@ -83,9 +77,9 @@ Once you see a string like `block 17 commit` then the chain is available. In ano
83
77
  # shows keys of the vaultFactory
84
78
  agd query vstorage keys 'published.vaultFactory'
85
79
  # lists vaults
86
- agd query vstorage keys 'published.vaultFactory.managers.manager0.vaults'
80
+ agd query vstorage keys 'published.vaultFactory.manager0.vaults'
87
81
  # follow metrics
88
- agoric follow :published.vaultFactory.managers.manager0.metrics
82
+ agoric follow :published.vaultFactory.manager0.metrics
89
83
  ```
90
84
 
91
85
  Start a new terminal to get a prompt.
@@ -108,16 +102,16 @@ vaultFactoryInstance = E(home.agoricNames).lookup('instance', 'VaultFactory')
108
102
  vaultFactoryPublicFacet = E(home.zoe).getPublicFacet(vaultFactoryInstance)
109
103
  # get a reference to the minted brand (soon to be IST)
110
104
  E(home.agoricNames).lookup('brand', 'IST');
111
- stableBrand=history[-1]
105
+ runBrand=history[-1]
112
106
  # get a reference to the collateral brand
113
- E(home.agoricNames).lookup('brand', 'ATOM')
107
+ E(home.agoricNames).lookup('brand', 'IbcATOM')
114
108
  atomBrand=history[-1]
115
109
  # get a reference to the collateral manager, using history because the brand must be the same object
116
110
  collateralManager = E(vaultFactoryPublicFacet).getCollateralManager(atomBrand)
117
111
  # proposal
118
112
  proposal = ({
119
113
  give: { Collateral: { brand: atomBrand, value: 1000n } },
120
- want: { IST: { brand: stableBrand, value: 1n } },
114
+ want: { IST: { brand: runBrand, value: 1n } },
121
115
  })
122
116
  # get the ATOM purse
123
117
  E(home.wallet).getPurses()