@agoric/inter-protocol 0.16.2-dev-6e5b422.0 → 0.16.2-dev-bd1190d.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 (112) hide show
  1. package/bundles/bundle-auctioneer-js-meta.json +116 -116
  2. package/bundles/bundle-econCommitteeCharter-js-meta.json +71 -71
  3. package/bundles/bundle-feeDistributor-js-meta.json +57 -57
  4. package/bundles/bundle-fluxAggregatorKit-js-meta.json +111 -111
  5. package/bundles/bundle-psm-js-meta.json +109 -109
  6. package/bundles/bundle-reserve-js-meta.json +108 -108
  7. package/bundles/bundle-scaledPriceAuthority-js-meta.json +84 -84
  8. package/bundles/bundle-vaultFactory-js-meta.json +133 -133
  9. package/package.json +19 -17
  10. package/src/auction/auctionBook.d.ts +80 -0
  11. package/src/auction/auctionBook.d.ts.map +1 -0
  12. package/src/auction/auctioneer.d.ts +75 -0
  13. package/src/auction/auctioneer.d.ts.map +1 -0
  14. package/src/auction/offerBook.d.ts +72 -0
  15. package/src/auction/offerBook.d.ts.map +1 -0
  16. package/src/auction/params.d.ts +142 -0
  17. package/src/auction/params.d.ts.map +1 -0
  18. package/src/auction/scheduleMath.d.ts +4 -0
  19. package/src/auction/scheduleMath.d.ts.map +1 -0
  20. package/src/auction/scheduler.d.ts +49 -0
  21. package/src/auction/scheduler.d.ts.map +1 -0
  22. package/src/auction/sortedOffers.d.ts +8 -0
  23. package/src/auction/sortedOffers.d.ts.map +1 -0
  24. package/src/auction/util.d.ts +30 -0
  25. package/src/auction/util.d.ts.map +1 -0
  26. package/src/clientSupport.d.ts +129 -0
  27. package/src/clientSupport.d.ts.map +1 -0
  28. package/src/collectFees.d.ts +2 -0
  29. package/src/collectFees.d.ts.map +1 -0
  30. package/src/contractSupport.d.ts +33 -0
  31. package/src/contractSupport.d.ts.map +1 -0
  32. package/src/econCommitteeCharter.d.ts +45 -0
  33. package/src/econCommitteeCharter.d.ts.map +1 -0
  34. package/src/feeDistributor.d.ts +234 -0
  35. package/src/feeDistributor.d.ts.map +1 -0
  36. package/src/index.d.ts +2 -0
  37. package/src/index.d.ts.map +1 -0
  38. package/src/interest-math.d.ts +3 -0
  39. package/src/interest-math.d.ts.map +1 -0
  40. package/src/interest.d.ts +28 -0
  41. package/src/interest.d.ts.map +1 -0
  42. package/src/price/fluxAggregatorContract.d.ts +110 -0
  43. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  44. package/src/price/fluxAggregatorKit.d.ts +150 -0
  45. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  46. package/src/price/priceOracleKit.d.ts +58 -0
  47. package/src/price/priceOracleKit.d.ts.map +1 -0
  48. package/src/price/roundsManager.d.ts +348 -0
  49. package/src/price/roundsManager.d.ts.map +1 -0
  50. package/src/proposals/addAssetToVault.d.ts +155 -0
  51. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  52. package/src/proposals/committee-proposal.d.ts +121 -0
  53. package/src/proposals/committee-proposal.d.ts.map +1 -0
  54. package/src/proposals/core-proposal.d.ts +149 -0
  55. package/src/proposals/core-proposal.d.ts.map +1 -0
  56. package/src/proposals/econ-behaviors.d.ts +201 -0
  57. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  58. package/src/proposals/price-feed-proposal.d.ts +83 -0
  59. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  60. package/src/proposals/startEconCommittee.d.ts +34 -0
  61. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  62. package/src/proposals/startPSM.d.ts +61 -0
  63. package/src/proposals/startPSM.d.ts.map +1 -0
  64. package/src/proposals/startPSM.js +8 -7
  65. package/src/proposals/utils.d.ts +15 -0
  66. package/src/proposals/utils.d.ts.map +1 -0
  67. package/src/psm/psm.d.ts +193 -0
  68. package/src/psm/psm.d.ts.map +1 -0
  69. package/src/psm/types.d.ts +2 -0
  70. package/src/psm/types.d.ts.map +1 -0
  71. package/src/reserve/assetReserve.d.ts +42 -0
  72. package/src/reserve/assetReserve.d.ts.map +1 -0
  73. package/src/reserve/assetReserveKit.d.ts +126 -0
  74. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  75. package/src/reserve/params.d.ts +10 -0
  76. package/src/reserve/params.d.ts.map +1 -0
  77. package/src/tokens.d.ts +36 -0
  78. package/src/tokens.d.ts.map +1 -0
  79. package/src/typeGuards.d.ts +5 -0
  80. package/src/typeGuards.d.ts.map +1 -0
  81. package/src/vaultFactory/burn.d.ts +2 -0
  82. package/src/vaultFactory/burn.d.ts.map +1 -0
  83. package/src/vaultFactory/liquidation.d.ts +24 -0
  84. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  85. package/src/vaultFactory/math.d.ts +10 -0
  86. package/src/vaultFactory/math.d.ts.map +1 -0
  87. package/src/vaultFactory/orderedVaultStore.d.ts +94 -0
  88. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  89. package/src/vaultFactory/params.d.ts +162 -0
  90. package/src/vaultFactory/params.d.ts.map +1 -0
  91. package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
  92. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  93. package/src/vaultFactory/proceeds.d.ts +34 -0
  94. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  95. package/src/vaultFactory/storeUtils.d.ts +29 -0
  96. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  97. package/src/vaultFactory/type-imports.d.ts +2 -0
  98. package/src/vaultFactory/type-imports.d.ts.map +1 -0
  99. package/src/vaultFactory/types.d.ts +132 -0
  100. package/src/vaultFactory/types.d.ts.map +1 -0
  101. package/src/vaultFactory/vault.d.ts +585 -0
  102. package/src/vaultFactory/vault.d.ts.map +1 -0
  103. package/src/vaultFactory/vaultDirector.d.ts +582 -0
  104. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  105. package/src/vaultFactory/vaultFactory.d.ts +159 -0
  106. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  107. package/src/vaultFactory/vaultHolder.d.ts +205 -0
  108. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  109. package/src/vaultFactory/vaultKit.d.ts +32 -0
  110. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  111. package/src/vaultFactory/vaultManager.d.ts +552 -0
  112. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/inter-protocol",
3
- "version": "0.16.2-dev-6e5b422.0+6e5b422",
3
+ "version": "0.16.2-dev-bd1190d.0+bd1190d",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -11,6 +11,8 @@
11
11
  "build": "yarn build:bundles",
12
12
  "build:bundles": "node ./scripts/build-bundles.js",
13
13
  "build:add-STARS-proposal": "agoric run scripts/add-STARS.js",
14
+ "prepack": "tsc --build jsconfig.build.json",
15
+ "postpack": "git clean -f '*.d.ts*' src/types.js",
14
16
  "test": "ava",
15
17
  "test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js",
16
18
  "test:xs": "exit 0",
@@ -30,15 +32,15 @@
30
32
  },
31
33
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
32
34
  "dependencies": {
33
- "@agoric/assert": "0.6.1-dev-6e5b422.0+6e5b422",
34
- "@agoric/ertp": "0.16.3-dev-6e5b422.0+6e5b422",
35
- "@agoric/governance": "0.10.4-dev-6e5b422.0+6e5b422",
36
- "@agoric/internal": "0.3.3-dev-6e5b422.0+6e5b422",
37
- "@agoric/notifier": "0.6.3-dev-6e5b422.0+6e5b422",
38
- "@agoric/store": "0.9.3-dev-6e5b422.0+6e5b422",
39
- "@agoric/time": "0.3.3-dev-6e5b422.0+6e5b422",
40
- "@agoric/vat-data": "0.5.3-dev-6e5b422.0+6e5b422",
41
- "@agoric/zoe": "0.26.3-dev-6e5b422.0+6e5b422",
35
+ "@agoric/assert": "0.6.1-dev-bd1190d.0+bd1190d",
36
+ "@agoric/ertp": "0.16.3-dev-bd1190d.0+bd1190d",
37
+ "@agoric/governance": "0.10.4-dev-bd1190d.0+bd1190d",
38
+ "@agoric/internal": "0.3.3-dev-bd1190d.0+bd1190d",
39
+ "@agoric/notifier": "0.6.3-dev-bd1190d.0+bd1190d",
40
+ "@agoric/store": "0.9.3-dev-bd1190d.0+bd1190d",
41
+ "@agoric/time": "0.3.3-dev-bd1190d.0+bd1190d",
42
+ "@agoric/vat-data": "0.5.3-dev-bd1190d.0+bd1190d",
43
+ "@agoric/zoe": "0.26.3-dev-bd1190d.0+bd1190d",
42
44
  "@endo/captp": "^3.1.1",
43
45
  "@endo/eventual-send": "^0.17.2",
44
46
  "@endo/far": "^0.2.18",
@@ -47,12 +49,12 @@
47
49
  "jessie.js": "^0.3.2"
48
50
  },
49
51
  "devDependencies": {
50
- "@agoric/deploy-script-support": "0.10.4-dev-6e5b422.0+6e5b422",
51
- "@agoric/smart-wallet": "0.5.4-dev-6e5b422.0+6e5b422",
52
- "@agoric/swingset-liveslots": "0.10.3-dev-6e5b422.0+6e5b422",
53
- "@agoric/swingset-vat": "0.32.3-dev-6e5b422.0+6e5b422",
54
- "@agoric/vats": "0.15.2-dev-6e5b422.0+6e5b422",
55
- "@agoric/zone": "0.2.3-dev-6e5b422.0+6e5b422",
52
+ "@agoric/deploy-script-support": "0.10.4-dev-bd1190d.0+bd1190d",
53
+ "@agoric/smart-wallet": "0.5.4-dev-bd1190d.0+bd1190d",
54
+ "@agoric/swingset-liveslots": "0.10.3-dev-bd1190d.0+bd1190d",
55
+ "@agoric/swingset-vat": "0.32.3-dev-bd1190d.0+bd1190d",
56
+ "@agoric/vats": "0.15.2-dev-bd1190d.0+bd1190d",
57
+ "@agoric/zone": "0.2.3-dev-bd1190d.0+bd1190d",
56
58
  "@endo/bundle-source": "^2.5.1",
57
59
  "@endo/init": "^0.5.56",
58
60
  "@endo/promise-kit": "^0.2.56",
@@ -79,5 +81,5 @@
79
81
  "publishConfig": {
80
82
  "access": "public"
81
83
  },
82
- "gitHead": "6e5b422b80e47c4dac151404f43faea5ab41e9b0"
84
+ "gitHead": "bd1190d9ed860c9f28fbef1711aa0615c63ac00f"
83
85
  }
@@ -0,0 +1,80 @@
1
+ export function makeOfferSpecShape(bidBrand: Brand<'nat'>, collateralBrand: Brand<'nat'>): import("@endo/patterns").Matcher;
2
+ export function prepareAuctionBook(baggage: MapStore<string, unknown>, zcf: ZCF, makeRecorderKit: import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit): (bidBrand: Brand<"nat">, collateralBrand: Brand<"nat">, pAuthority: PriceAuthority, node: StorageNode) => {
3
+ /**
4
+ * @param {Amount<'nat'>} assetAmount
5
+ * @param {ZCFSeat} sourceSeat
6
+ * @param {Amount<'nat'>} [proceedsGoal] an amount that the depositor
7
+ * would like to raise. The auction is requested to not sell more
8
+ * collateral than required to raise that much. The auctioneer might
9
+ * sell more if there is more than one supplier of collateral, and
10
+ * they request inconsistent limits.
11
+ */
12
+ addAssets(assetAmount: Amount<'nat'>, sourceSeat: ZCFSeat, proceedsGoal?: Amount<"nat"> | undefined): void;
13
+ /** @type {(reduction: Ratio) => void} */
14
+ settleAtNewRate(reduction: Ratio): void;
15
+ getCurrentPrice(): Ratio | null;
16
+ hasOrders(): boolean;
17
+ captureOraclePriceForRound(): void;
18
+ setStartingRate(rate: any): void;
19
+ /**
20
+ * @param {OfferSpec} offerSpec
21
+ * @param {ZCFSeat} seat
22
+ * @param {boolean} trySettle
23
+ */
24
+ addOffer(offerSpec: OfferSpec, seat: ZCFSeat, trySettle: boolean): void;
25
+ getSeats(): {
26
+ collateralSeat: ZCFSeat;
27
+ bidHoldingSeat: ZCFSeat;
28
+ };
29
+ exitAllSeats(): void;
30
+ endAuction(): void;
31
+ getDataUpdates(): Subscriber<BookDataNotification>;
32
+ getPublicTopics(): {
33
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<BookDataNotification>;
34
+ };
35
+ };
36
+ export type OfferSpec = {
37
+ maxBuy: Amount<'nat'>;
38
+ } & {
39
+ exitAfterBuy?: boolean;
40
+ } & ({
41
+ offerPrice: Ratio;
42
+ } | {
43
+ offerBidScaling: Ratio;
44
+ });
45
+ export type Baggage = import('@agoric/vat-data').Baggage;
46
+ export type BookDataNotification = {
47
+ /**
48
+ * identifies the priceAuthority and price
49
+ */
50
+ startPrice: Ratio | null;
51
+ /**
52
+ * the price at the current auction tier
53
+ */
54
+ currentPriceLevel: Ratio | null;
55
+ /**
56
+ * The proceeds the sellers were targeting to raise
57
+ */
58
+ startProceedsGoal: Amount<'nat'> | null;
59
+ /**
60
+ * The remainder of
61
+ * the proceeds the sellers were targeting to raise
62
+ */
63
+ remainingProceedsGoal: Amount<'nat'> | null;
64
+ /**
65
+ * The proceeds raised so far in the auction
66
+ */
67
+ proceedsRaised: Amount<'nat'> | undefined;
68
+ /**
69
+ * How much collateral was
70
+ * available for sale at the start. (If more is deposited later, it'll be
71
+ * added in.)
72
+ */
73
+ startCollateral: Amount<'nat'>;
74
+ /**
75
+ * The amount of collateral remaining
76
+ */
77
+ collateralAvailable: Amount<'nat'> | null;
78
+ };
79
+ export type AuctionBook = ReturnType<ReturnType<typeof prepareAuctionBook>>;
80
+ //# sourceMappingURL=auctionBook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auctionBook.d.ts","sourceRoot":"","sources":["auctionBook.js"],"names":[],"mappings":"AAqEO,6CAHI,MAAM,KAAK,CAAC,mBACZ,MAAM,KAAK,CAAC,oCAiBtB;AAwBM,4EAHI,GAAG,mBACH,OAAO,6CAA6C,EAAE,eAAe;IAsWxE;;;;;;;;OAQG;2BAPQ,OAAO,KAAK,CAAC,cACb,OAAO;IA6ElB,yCAAyC;+BAAlB,KAAK,GAAK,IAAI;;;;;IAmGrC;;;;OAIG;wBAHQ,SAAS,QACT,OAAO,aACP,OAAO;;;;;;;;;;;EAkHzB;wBAhsBY;IACZ,MAAU,EAAE,OAAO,KAAK,CAAC,CAAA;CACtB,GAAG;IACN,YAAgB,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,CAAC;IACP,UAAc,EAAE,KAAK,CAAC;CACnB,GAAG;IACN,eAAoB,EAAE,KAAK,CAAC;CACzB,CAAC;sBAuBS,OAAO,kBAAkB,EAAE,OAAO;;;;;gBAKlC,KAAK,GAAW,IAAI;;;;uBACpB,KAAK,GAAW,IAAI;;;;uBACpB,OAAO,KAAK,CAAC,GAAG,IAAI;;;;;2BACpB,OAAO,KAAK,CAAC,GAAG,IAAI;;;;oBAEpB,OAAO,KAAK,CAAC,GAAG,SAAS;;;;;;qBACzB,OAAO,KAAK,CAAC;;;;yBAGb,OAAO,KAAK,CAAC,GAAG,IAAI;;0BAspBpB,WAAW,WAAW,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,75 @@
1
+ export function distributeProportionalSharesWithLimits(unsoldCollateral: Amount<'nat'>, proceeds: Amount<'nat'>, deposits: {
2
+ seat: ZCFSeat;
3
+ amount: Amount<'nat'>;
4
+ goal: Amount<'nat'>;
5
+ }[], collateralSeat: ZCFSeat, bidHoldingSeat: ZCFSeat, collateralKeyword: string, reserveSeat: ZCFSeat, brand: Brand): import("@agoric/zoe/src/contractSupport/atomicTransfer.js").TransferPart[];
6
+ export function start(zcf: ZCF<GovernanceTerms<{
7
+ Electorate: "invitation";
8
+ StartFrequency: "relativeTime";
9
+ ClockStep: "relativeTime";
10
+ StartingRate: "nat";
11
+ LowestRate: "nat";
12
+ DiscountStep: "nat";
13
+ AuctionStartDelay: "relativeTime";
14
+ PriceLockPeriod: "relativeTime";
15
+ }> & {
16
+ timerService: import('@agoric/time/src/types').TimerService;
17
+ reservePublicFacet: AssetReservePublicFacet;
18
+ priceAuthority: PriceAuthority;
19
+ }>, privateArgs: {
20
+ initialPoserInvitation: Invitation;
21
+ storageNode: StorageNode;
22
+ marshaller: Marshaller;
23
+ }, baggage: MapStore<string, unknown>): Promise<{
24
+ publicFacet: GovernedPublicFacet<{
25
+ getElectorate: () => Amount<"set">;
26
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
27
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
28
+ getStartingRate: () => bigint;
29
+ getLowestRate: () => bigint;
30
+ getDiscountStep: () => bigint;
31
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
32
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
33
+ /** @param {Brand<'nat'>} collateralBrand */
34
+ makeBidInvitation(collateralBrand: Brand<'nat'>): Promise<Invitation<R, A>>;
35
+ getSchedules(): {
36
+ liveAuctionSchedule: import("./scheduler.js").Schedule | null;
37
+ nextAuctionSchedule: import("./scheduler.js").Schedule | null;
38
+ };
39
+ getScheduleUpdates(): Subscriber<import("./scheduler.js").ScheduleNotification>;
40
+ getBookDataUpdates(brand: any): Subscriber<import("./auctionBook.js").BookDataNotification>;
41
+ getPublicTopics(brand: any): {
42
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./auctionBook.js").BookDataNotification>;
43
+ } | {
44
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./scheduler.js").ScheduleNotification>;
45
+ };
46
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
47
+ }>;
48
+ creatorFacet: GovernedCreatorFacet<{
49
+ /**
50
+ * @param {Issuer} issuer
51
+ * @param {Keyword} kwd
52
+ */
53
+ addBrand(issuer: Issuer, kwd: Keyword): Promise<void>;
54
+ /** @returns {Promise<import('./scheduler.js').FullSchedule>} */
55
+ getSchedule(): Promise<import('./scheduler.js').FullSchedule>;
56
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
57
+ /**
58
+ * @param {Issuer} issuer
59
+ * @param {Keyword} kwd
60
+ */
61
+ addBrand(issuer: Issuer, kwd: Keyword): Promise<void>;
62
+ /** @returns {Promise<import('./scheduler.js').FullSchedule>} */
63
+ getSchedule(): Promise<import('./scheduler.js').FullSchedule>;
64
+ }>>;
65
+ }>;
66
+ /** @typedef {ContractOf<typeof start>} AuctioneerContract */
67
+ /** @typedef {AuctioneerContract['publicFacet']} AuctioneerPublicFacet */
68
+ /** @typedef {AuctioneerContract['creatorFacet']} AuctioneerCreatorFacet */
69
+ export const AuctionPFShape: import("@endo/patterns").Matcher;
70
+ export type Baggage = import('@agoric/vat-data').Baggage;
71
+ export type AuctioneerContract = ContractOf<typeof start>;
72
+ export type AuctioneerPublicFacet = AuctioneerContract['publicFacet'];
73
+ export type AuctioneerCreatorFacet = AuctioneerContract['creatorFacet'];
74
+ import { auctioneerParamTypes } from './params.js';
75
+ //# sourceMappingURL=auctioneer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auctioneer.d.ts","sourceRoot":"","sources":["auctioneer.js"],"names":[],"mappings":"AA2KO,yEAVI,OAAO,KAAK,CAAC,YACb,OAAO,KAAK,CAAC,YACb;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAA;CAAC,EAAE,kBAC7D,OAAO,kBACP,OAAO,qBACP,MAAM,eAEN,OAAO,SACP,KAAK,8EAgNf;AAeM;;;;;;;;;;kBAXY,OAAO,wBAAwB,EAAE,YAAY;wBACvC,uBAAuB;oBAC3B,cAAc;iBAExB;IACV,sBAA0B,EAAE,UAAU,CAAC;IACvC,WAAe,EAAE,WAAW,CAAC;IAC7B,UAAc,EAAE,UAAU,CAAA;CACvB;;;;;;;;;;QAmOE,4CAA4C;2CAAhC,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;QA+DxB;;;WAGG;yBAFQ,MAAM,OACN,OAAO;QAwBlB,gEAAgE;uBAAlD,QAAQ,OAAO,gBAAgB,EAAE,YAAY,CAAC;;QA1B5D;;;WAGG;yBAFQ,MAAM,OACN,OAAO;QAwBlB,gEAAgE;uBAAlD,QAAQ,OAAO,gBAAgB,EAAE,YAAY,CAAC;;GAQjE;AAED,6DAA6D;AAC7D,yEAAyE;AACzE,2EAA2E;AAE3E,8DAAkE;sBA1qBpD,OAAO,kBAAkB,EAAE,OAAO;iCAsqBlC,WAAW,YAAY,CAAC;oCACxB,kBAAkB,CAAC,aAAa,CAAC;qCACjC,kBAAkB,CAAC,cAAc,CAAC;qCA5qBX,aAAa"}
@@ -0,0 +1,72 @@
1
+ export function prepareScaledBidBook(baggage: MapStore<string, unknown>): (bidScalingPattern: any, collateralBrand: Brand<AssetKind>) => {
2
+ /**
3
+ * @param {ZCFSeat} seat
4
+ * @param {Ratio} bidScaling
5
+ * @param {Amount<'nat'>} wanted
6
+ * @param {boolean} exitAfterBuy
7
+ */
8
+ add(seat: ZCFSeat, bidScaling: Ratio, wanted: Amount<'nat'>, exitAfterBuy: boolean): string;
9
+ /** @param {Ratio} bidScaling */
10
+ offersAbove(bidScaling: Ratio): [string, BidderRecord][];
11
+ hasOrders(): boolean;
12
+ delete(key: any): void;
13
+ updateReceived(key: any, sold: any): void;
14
+ exitAllSeats(): void;
15
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
16
+ /**
17
+ * @param {ZCFSeat} seat
18
+ * @param {Ratio} bidScaling
19
+ * @param {Amount<'nat'>} wanted
20
+ * @param {boolean} exitAfterBuy
21
+ */
22
+ add(seat: ZCFSeat, bidScaling: Ratio, wanted: Amount<'nat'>, exitAfterBuy: boolean): string;
23
+ /** @param {Ratio} bidScaling */
24
+ offersAbove(bidScaling: Ratio): [string, BidderRecord][];
25
+ hasOrders(): boolean;
26
+ delete(key: any): void;
27
+ updateReceived(key: any, sold: any): void;
28
+ exitAllSeats(): void;
29
+ }>;
30
+ export function preparePriceBook(baggage: MapStore<string, unknown>): (priceRatioPattern: any, collateralBrand: Brand<AssetKind>) => {
31
+ /**
32
+ * @param {ZCFSeat} seat
33
+ * @param {Ratio} price
34
+ * @param {Amount<'nat'>} wanted
35
+ * @param {boolean} exitAfterBuy
36
+ */
37
+ add(seat: ZCFSeat, price: Ratio, wanted: Amount<'nat'>, exitAfterBuy: boolean): string;
38
+ offersAbove(price: any): [string, BidderRecord][];
39
+ hasOrders(): boolean;
40
+ delete(key: any): void;
41
+ updateReceived(key: any, sold: any): void;
42
+ exitAllSeats(): void;
43
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
44
+ /**
45
+ * @param {ZCFSeat} seat
46
+ * @param {Ratio} price
47
+ * @param {Amount<'nat'>} wanted
48
+ * @param {boolean} exitAfterBuy
49
+ */
50
+ add(seat: ZCFSeat, price: Ratio, wanted: Amount<'nat'>, exitAfterBuy: boolean): string;
51
+ offersAbove(price: any): [string, BidderRecord][];
52
+ hasOrders(): boolean;
53
+ delete(key: any): void;
54
+ updateReceived(key: any, sold: any): void;
55
+ exitAllSeats(): void;
56
+ }>;
57
+ export type Baggage = import('@agoric/vat-data').Baggage;
58
+ export type BidderRecord = {
59
+ seat: ZCFSeat;
60
+ wanted: Amount<'nat'>;
61
+ seqNum: NatValue;
62
+ received: Amount<'nat'>;
63
+ } & {
64
+ exitAfterBuy: boolean;
65
+ } & ({
66
+ bidScaling: Pattern;
67
+ price: undefined;
68
+ } | {
69
+ bidScaling: undefined;
70
+ price: Ratio;
71
+ });
72
+ //# sourceMappingURL=offerBook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offerBook.d.ts","sourceRoot":"","sources":["offerBook.js"],"names":[],"mappings":"AA+CO;IAiBD;;;;;OAKG;cAJQ,OAAO,cACP,KAAK,UACL,OAAO,KAAK,CAAC,gBACb,OAAO;IAsBlB,gCAAgC;4BAApB,KAAK;;;;;;IA1BjB;;;;;OAKG;cAJQ,OAAO,cACP,KAAK,UACL,OAAO,KAAK,CAAC,gBACb,OAAO;IAsBlB,gCAAgC;4BAApB,KAAK;;;;;GAqCpB;AAcI;IAiBD;;;;;OAKG;cAJQ,OAAO,SACP,KAAK,UACL,OAAO,KAAK,CAAC,gBACb,OAAO;;;;;;;IAJlB;;;;;OAKG;cAJQ,OAAO,SACP,KAAK,UACL,OAAO,KAAK,CAAC,gBACb,OAAO;;;;;;GA0DrB;sBA9MW,OAAO,kBAAkB,EAAE,OAAO;2BAYnC;IACZ,IAAM,EAAE,OAAO,CAAC;IAChB,MAAQ,EAAE,OAAO,KAAK,CAAC,CAAC;IACxB,MAAQ,EAAE,QAAQ,CAAC;IACnB,QAAU,EAAE,OAAO,KAAK,CAAC,CAAC;CACvB,GAAI;IAAC,YAAY,EAAE,OAAO,CAAA;CAAC,GAAG,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,CAAC"}
@@ -0,0 +1,142 @@
1
+ /** @typedef {import('@agoric/governance/src/contractGovernance/typedParamManager.js').AsyncSpecTuple} AsyncSpecTuple */
2
+ /** @typedef {import('@agoric/governance/src/contractGovernance/typedParamManager.js').SyncSpecTuple} SyncSpecTuple */
3
+ export const InvitationShape: import("@endo/patterns").Matcher;
4
+ /**
5
+ * In seconds, how often to start an auction. The auction will start at
6
+ * AUCTION_START_DELAY seconds after a multiple of START_FREQUENCY, with the
7
+ * price at STARTING_RATE_BP. Every CLOCK_STEP, the price will be reduced by
8
+ * DISCOUNT_STEP_BP, as long as the rate is at or above LOWEST_RATE_BP, or until
9
+ * START_FREQUENCY has elapsed.
10
+ */
11
+ export const START_FREQUENCY: "StartFrequency";
12
+ /** in seconds, how often to reduce the price */
13
+ export const CLOCK_STEP: "ClockStep";
14
+ /** discount or markup for starting price in basis points. 9999 = 1bp discount */
15
+ export const STARTING_RATE_BP: "StartingRate";
16
+ /** A limit below which the price will not be discounted. */
17
+ export const LOWEST_RATE_BP: "LowestRate";
18
+ /** amount to reduce prices each time step in bp, as % of the start price */
19
+ export const DISCOUNT_STEP_BP: "DiscountStep";
20
+ /**
21
+ * VaultManagers liquidate vaults at a frequency configured by START_FREQUENCY.
22
+ * Auctions start this long after the hour to give vaults time to finish.
23
+ */
24
+ export const AUCTION_START_DELAY: "AuctionStartDelay";
25
+ export const PRICE_LOCK_PERIOD: "PriceLockPeriod";
26
+ export const auctioneerParamPattern: import("@endo/patterns").Matcher;
27
+ export namespace auctioneerParamTypes {
28
+ let Electorate: "invitation";
29
+ let StartFrequency: "relativeTime";
30
+ let ClockStep: "relativeTime";
31
+ let StartingRate: "nat";
32
+ let LowestRate: "nat";
33
+ let DiscountStep: "nat";
34
+ let AuctionStartDelay: "relativeTime";
35
+ let PriceLockPeriod: "relativeTime";
36
+ }
37
+ export function makeAuctioneerParams({ ElectorateInvitationAmount, StartFrequency, ClockStep, LowestRate, StartingRate, DiscountStep, AuctionStartDelay, PriceLockPeriod, TimerBrand, }: AuctionParams): {
38
+ Electorate: {
39
+ type: "invitation";
40
+ value: Amount<"set">;
41
+ };
42
+ StartFrequency: {
43
+ type: "relativeTime";
44
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
45
+ };
46
+ ClockStep: {
47
+ type: "relativeTime";
48
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
49
+ };
50
+ AuctionStartDelay: {
51
+ type: "relativeTime";
52
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
53
+ };
54
+ PriceLockPeriod: {
55
+ type: "relativeTime";
56
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
57
+ };
58
+ StartingRate: {
59
+ type: "nat";
60
+ value: bigint;
61
+ };
62
+ LowestRate: {
63
+ type: "nat";
64
+ value: bigint;
65
+ };
66
+ DiscountStep: {
67
+ type: "nat";
68
+ value: bigint;
69
+ };
70
+ };
71
+ export function makeAuctioneerParamManager(publisherKit: import('@agoric/notifier').StoredPublisherKit<GovernanceSubscriptionState>, zcf: ZCF, initial: AuctionParams): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
72
+ Electorate: "invitation";
73
+ StartFrequency: "relativeTime";
74
+ ClockStep: "relativeTime";
75
+ StartingRate: "nat";
76
+ LowestRate: "nat";
77
+ DiscountStep: "nat";
78
+ AuctionStartDelay: "relativeTime";
79
+ PriceLockPeriod: "relativeTime";
80
+ }>;
81
+ export function makeGovernedTerms({ storageNode: _storageNode, marshaller: _marshaller }: {
82
+ storageNode: ERef<StorageNode>;
83
+ marshaller: ERef<Marshaller>;
84
+ }, timer: ERef<Timer>, priceAuthority: ERef<PriceAuthority>, reservePublicFacet: ERef<AssetReservePublicFacet>, params: AuctionParams): {
85
+ priceAuthority: ERef<PriceAuthority>;
86
+ reservePublicFacet: ERef<GovernedPublicFacet<{
87
+ makeAddCollateralInvitation(): Promise<Invitation<R, A>>;
88
+ getPublicTopics(): {
89
+ metrics: import("@agoric/zoe/src/contractSupport").PublicTopic<import("../reserve/assetReserveKit").MetricsNotification>;
90
+ };
91
+ }>>;
92
+ timerService: ERef<Timer>;
93
+ governedParams: {
94
+ Electorate: {
95
+ type: "invitation";
96
+ value: Amount<"set">;
97
+ };
98
+ StartFrequency: {
99
+ type: "relativeTime";
100
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
101
+ };
102
+ ClockStep: {
103
+ type: "relativeTime";
104
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
105
+ };
106
+ AuctionStartDelay: {
107
+ type: "relativeTime";
108
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
109
+ };
110
+ PriceLockPeriod: {
111
+ type: "relativeTime";
112
+ value: import("@agoric/time/src/types").RelativeTimeRecord;
113
+ };
114
+ StartingRate: {
115
+ type: "nat";
116
+ value: bigint;
117
+ };
118
+ LowestRate: {
119
+ type: "nat";
120
+ value: bigint;
121
+ };
122
+ DiscountStep: {
123
+ type: "nat";
124
+ value: bigint;
125
+ };
126
+ };
127
+ };
128
+ export type AsyncSpecTuple = import('@agoric/governance/src/contractGovernance/typedParamManager.js').AsyncSpecTuple;
129
+ export type SyncSpecTuple = import('@agoric/governance/src/contractGovernance/typedParamManager.js').SyncSpecTuple;
130
+ export type AuctionParams = {
131
+ ElectorateInvitationAmount: Amount<'set'>;
132
+ StartFrequency: RelativeTime;
133
+ ClockStep: RelativeTime;
134
+ StartingRate: bigint;
135
+ LowestRate: bigint;
136
+ DiscountStep: bigint;
137
+ AuctionStartDelay: RelativeTime;
138
+ PriceLockPeriod: RelativeTime;
139
+ TimerBrand: import('@agoric/time/src/types').TimerBrand;
140
+ };
141
+ export type AuctionParamManager = ReturnType<typeof makeAuctioneerParamManager>;
142
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAQA,wHAAwH;AACxH,sHAAsH;AAGtH,+DAAyD;AAEzD;;;;;;GAMG;AACH,+CAAgD;AAChD,gDAAgD;AAChD,qCAAsC;AACtC,iFAAiF;AACjF,8CAA+C;AAC/C,4DAA4D;AAC5D,0CAA2C;AAC3C,4EAA4E;AAC5E,8CAA+C;AAC/C;;;GAGG;AACH,sDAAuD;AAIvD,kDAAmD;AAEnD,sEASG;;;;;;;;;;;AA6BI,yLAFI,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCvB;AAQM,yDAJI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,OAC1E,GAAG,WACH,aAAa;;;;;;;;;GA0BvB;AAUM,0FANI;IAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;IAAC,UAAU,EAAE,KAAK,UAAU,CAAC,CAAA;CAAC,SAC9D,KAAK,KAAK,CAAC,kBACX,KAAK,cAAc,CAAC,sBACpB,KAAK,uBAAuB,CAAC,UAC7B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB;6BAlKa,OAAO,gEAAgE,EAAE,cAAc;4BACvF,OAAO,gEAAgE,EAAE,aAAa;;gCAuDtF,OAAO,KAAK,CAAC;oBACb,YAAY;eACZ,YAAY;kBACZ,MAAM;gBACN,MAAM;kBACN,MAAM;uBACN,YAAY;qBACZ,YAAY;gBACZ,OAAO,wBAAwB,EAAE,UAAU;;kCAqG3C,WAAW,iCAAiC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function computeRoundTiming(params: Awaited<import('./params.js').AuctionParamManager>, baseTime: Timestamp): import('./scheduler.js').Schedule;
2
+ export function nextDescendingStepTime(liveSchedule: import('./scheduler.js').Schedule | null, nextSchedule: import('./scheduler.js').Schedule | null, now: Timestamp): Timestamp | null;
3
+ export function timeVsSchedule(time: Timestamp, schedule: import('./scheduler.js').Schedule): 'before' | 'during' | 'endExactly' | 'after';
4
+ //# sourceMappingURL=scheduleMath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleMath.d.ts","sourceRoot":"","sources":["scheduleMath.js"],"names":[],"mappings":"AAuCO,2CAJI,QAAQ,OAAO,aAAa,EAAE,mBAAmB,CAAC,YAClD,SAAS,GACP,OAAO,gBAAgB,EAAE,QAAQ,CAqE7C;AAcM,qDALI,OAAO,gBAAgB,EAAE,QAAQ,GAAG,IAAI,gBACxC,OAAO,gBAAgB,EAAE,QAAQ,GAAG,IAAI,OACxC,SAAS,GACP,SAAS,GAAG,IAAI,CAuB5B;AASM,qCAJI,SAAS,YACT,OAAO,gBAAgB,EAAE,QAAQ,GAC/B,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAiBxD"}
@@ -0,0 +1,49 @@
1
+ export function makeScheduler(auctionDriver: AuctionDriver, timer: import('@agoric/time/src/types').TimerService, params: Awaited<import('./params.js').AuctionParamManager>, timerBrand: import('@agoric/time/src/types').TimerBrand, scheduleRecorder: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<ScheduleNotification>, paramUpdateSubscription: StoredSubscription<GovernanceSubscriptionState>): Promise<{
2
+ getSchedule: () => {
3
+ liveAuctionSchedule: Schedule | null;
4
+ nextAuctionSchedule: Schedule | null;
5
+ };
6
+ getAuctionState: () => "active" | "waiting";
7
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
8
+ getSchedule: () => {
9
+ liveAuctionSchedule: Schedule | null;
10
+ nextAuctionSchedule: Schedule | null;
11
+ };
12
+ getAuctionState: () => "active" | "waiting";
13
+ }>>;
14
+ export type AuctionDriver = {
15
+ reducePriceAndTrade: () => void;
16
+ finalize: () => void;
17
+ startRound: () => void;
18
+ capturePrices: () => void;
19
+ };
20
+ export type ScheduleNotification = {
21
+ /**
22
+ * start time of current
23
+ * auction if auction is active
24
+ */
25
+ activeStartTime: Timestamp | null;
26
+ /**
27
+ * start time of next auction
28
+ */
29
+ nextStartTime: Timestamp | null;
30
+ /**
31
+ * when the next descending step
32
+ * will take place
33
+ */
34
+ nextDescendingStepTime: Timestamp | null;
35
+ };
36
+ export type Schedule = {
37
+ startTime: import('@agoric/time/src/types').TimestampRecord;
38
+ endTime: import('@agoric/time/src/types').TimestampRecord;
39
+ steps: NatValue;
40
+ endRate: NatValue;
41
+ startDelay: RelativeTime;
42
+ clockStep: RelativeTime;
43
+ lockTime?: import("@agoric/time/src/types").Timestamp | undefined;
44
+ };
45
+ export type FullSchedule = {
46
+ nextAuctionSchedule: Schedule | null;
47
+ liveAuctionSchedule: Schedule | null;
48
+ };
49
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["scheduler.js"],"names":[],"mappings":"AA+EO,6CAPI,aAAa,SACb,OAAO,wBAAwB,EAAE,YAAY,UAC7C,QAAQ,OAAO,aAAa,EAAE,mBAAmB,CAAC,cAClD,OAAO,wBAAwB,EAAE,UAAU,oBAC3C,OAAO,6CAA6C,EAAE,QAAQ,CAAC,oBAAoB,CAAC,2BACpF,mBAAmB,2BAA2B,CAAC;;;;;;;;;;;;IAyQzD;;yBA3Sa,MAAM,IAAI;cACV,MAAM,IAAI;gBACV,MAAM,IAAI;mBACV,MAAM,IAAI;;;;;;;qBAMV,SAAS,GAAG,IAAI;;;;mBAEhB,SAAS,GAAG,IAAI;;;;;4BAChB,SAAS,GAAG,IAAI;;;eAmShB,OAAO,wBAAwB,EAAE,eAAe;aAChD,OAAO,wBAAwB,EAAE,eAAe;WAChD,QAAQ;aACR,QAAQ;gBACR,YAAY;eACZ,YAAY;;;;yBAMZ,QAAQ,GAAG,IAAI;yBACf,QAAQ,GAAG,IAAI"}
@@ -0,0 +1,8 @@
1
+ export function toPartialOfferKey(offerPrice: Ratio): string;
2
+ export function toPriceOfferKey(offerPrice: Ratio, sequenceNumber: bigint): string;
3
+ export function fromPriceOfferKey(key: string, numBrand: Brand<'nat'>, denomBrand: Brand<'nat'>, useDecimals: number): [normalizedPrice: Ratio, sequenceNumber: bigint];
4
+ /** @type {(rate: Ratio) => string} */
5
+ export const toBidScalingComparator: (rate: Ratio) => string;
6
+ export function toScaledRateOfferKey(rate: Ratio, sequenceNumber: bigint): string;
7
+ export function fromScaledRateOfferKey(key: string, brand: Brand, useDecimals: number): [normalizedPrice: Ratio, sequenceNumber: bigint];
8
+ //# sourceMappingURL=sortedOffers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortedOffers.d.ts","sourceRoot":"","sources":["sortedOffers.js"],"names":[],"mappings":"AA6BO,8CAFI,KAAK,UAMf;AAUM,4CALI,KAAK,kBACL,MAAM,GACJ,MAAM,CAWlB;AAqCM,uCANI,MAAM,YACN,MAAM,KAAK,CAAC,cACZ,MAAM,KAAK,CAAC,eACZ,MAAM,GACJ,CAAC,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAQ5D;AAED,sCAAsC;AACtC,4CADkB,KAAK,KAAK,MAAM,CAKhC;AAUK,2CALI,KAAK,kBACL,MAAM,GACJ,MAAM,CAWlB;AAUM,4CALI,MAAM,SACN,KAAK,eACL,MAAM,GACJ,CAAC,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAQ5D"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Constants for Auction State.
3
+ *
4
+ * @type {{ ACTIVE: 'active', WAITING: 'waiting' }}
5
+ */
6
+ export const AuctionState: {
7
+ ACTIVE: 'active';
8
+ WAITING: 'waiting';
9
+ };
10
+ export function makeBrandedRatioPattern(numeratorAmountShape: {
11
+ brand: Brand;
12
+ value: Pattern;
13
+ }, denominatorAmountShape: {
14
+ brand: Brand;
15
+ value: Pattern;
16
+ }): {
17
+ numerator: {
18
+ brand: Brand;
19
+ value: Pattern;
20
+ };
21
+ denominator: {
22
+ brand: Brand;
23
+ value: Pattern;
24
+ };
25
+ };
26
+ export function isScaledBidPriceHigher(bidScaling: Ratio, currentPrice: Ratio, oraclePrice: Ratio): boolean;
27
+ /** @type {(quote: PriceQuote) => Ratio} */
28
+ export const priceFrom: (quote: PriceQuote) => Ratio;
29
+ export function makeCancelTokenMaker(name: any): () => import("@endo/eventual-send").RemotableBrand<{}, {}>;
30
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,2BAFU;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAKhD;AAMK,8DAHI;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,0BAChC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;;eADvB,KAAK;eAAS,OAAO;;;eACrB,KAAK;eAAS,OAAO;;EAUxC;AASM,mDANI,KAAK,gBACL,KAAK,eACL,KAAK,GACH,OAAO,CAI6C;AAEjE,2CAA2C;AAC3C,gCADmB,UAAU,KAAK,KAAK,CAKnC;AAEG,4GAIN"}