@agoric/zoe 0.26.3-dev-a2c6d29.0 → 0.26.3-dev-8e82183.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 (62) hide show
  1. package/bundles/bundle-contractFacet-js-meta.json +86 -86
  2. package/bundles/bundle-contractFacet.js +1 -1
  3. package/exported.js +0 -1
  4. package/package.json +16 -16
  5. package/src/contractSupport/priceAuthority.d.ts +2 -0
  6. package/src/contractSupport/priceAuthority.d.ts.map +1 -1
  7. package/src/contractSupport/priceAuthority.js +4 -0
  8. package/src/contractSupport/priceAuthorityInitial.d.ts +1 -0
  9. package/src/contractSupport/priceAuthorityInitial.d.ts.map +1 -1
  10. package/src/contractSupport/priceAuthorityInitial.js +4 -0
  11. package/src/contractSupport/priceAuthorityTransform.d.ts +3 -1
  12. package/src/contractSupport/priceAuthorityTransform.d.ts.map +1 -1
  13. package/src/contractSupport/priceAuthorityTransform.js +4 -1
  14. package/src/contractSupport/priceQuote.d.ts +2 -0
  15. package/src/contractSupport/priceQuote.d.ts.map +1 -1
  16. package/src/contractSupport/priceQuote.js +4 -0
  17. package/src/contracts/callSpread/calculateShares.d.ts.map +1 -1
  18. package/src/contracts/callSpread/calculateShares.js +1 -1
  19. package/src/contracts/callSpread/fundedCallSpread.d.ts +4 -0
  20. package/src/contracts/callSpread/fundedCallSpread.d.ts.map +1 -1
  21. package/src/contracts/callSpread/fundedCallSpread.js +5 -1
  22. package/src/contracts/callSpread/payoffHandler.js +1 -1
  23. package/src/contracts/callSpread/pricedCallSpread.d.ts +1 -0
  24. package/src/contracts/callSpread/pricedCallSpread.d.ts.map +1 -1
  25. package/src/contracts/callSpread/pricedCallSpread.js +5 -1
  26. package/src/contracts/callSpread/{types.d.ts → types-ambient.d.ts} +1 -1
  27. package/src/contracts/callSpread/types-ambient.d.ts.map +1 -0
  28. package/src/contracts/exported.js +3 -3
  29. package/src/contracts/loan/close.js +1 -1
  30. package/src/contracts/loan/index.d.ts +4 -0
  31. package/src/contracts/loan/index.d.ts.map +1 -1
  32. package/src/contracts/loan/index.js +4 -0
  33. package/src/contracts/loan/{types.d.ts → types-ambient.d.ts} +6 -6
  34. package/src/contracts/loan/types-ambient.d.ts.map +1 -0
  35. package/src/contracts/loan/{types.js → types-ambient.js} +5 -5
  36. package/src/contracts/priceAggregator.d.ts +2 -2
  37. package/src/contracts/priceAggregator.js +1 -1
  38. package/src/contracts/scaledPriceAuthority.d.ts +2 -1
  39. package/src/contracts/scaledPriceAuthority.d.ts.map +1 -1
  40. package/src/contracts/scaledPriceAuthority.js +4 -0
  41. package/src/contracts/{types.d.ts → types-ambient.d.ts} +1 -1
  42. package/src/contracts/types-ambient.d.ts.map +1 -0
  43. package/tools/fakePriceAuthority.d.ts +1 -0
  44. package/tools/fakePriceAuthority.d.ts.map +1 -1
  45. package/tools/fakePriceAuthority.js +3 -1
  46. package/tools/manualPriceAuthority.d.ts +4 -0
  47. package/tools/manualPriceAuthority.d.ts.map +1 -1
  48. package/tools/manualPriceAuthority.js +4 -0
  49. package/tools/manualTimer.d.ts.map +1 -1
  50. package/tools/manualTimer.js +0 -1
  51. package/tools/scriptedPriceAuthority.d.ts +4 -0
  52. package/tools/scriptedPriceAuthority.d.ts.map +1 -1
  53. package/tools/scriptedPriceAuthority.js +4 -0
  54. package/tools/types.js +2 -2
  55. package/src/contracts/callSpread/types.d.ts.map +0 -1
  56. package/src/contracts/loan/types.d.ts.map +0 -1
  57. package/src/contracts/types.d.ts.map +0 -1
  58. package/tools/types-ambient.d.ts +0 -142
  59. package/tools/types-ambient.d.ts.map +0 -1
  60. package/tools/types-ambient.js +0 -160
  61. /package/src/contracts/callSpread/{types.js → types-ambient.js} +0 -0
  62. /package/src/contracts/{types.js → types-ambient.js} +0 -0
package/tools/types.js CHANGED
@@ -1,5 +1,5 @@
1
- export {};
2
- // @jessie-check
1
+ // Ensure this is a module.
2
+ export {};
3
3
 
4
4
  /**
5
5
  * @typedef {object} PriceQuote
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"oBACa,MAAM,GAAG,OAAO;2CAKlB,YAAY,KACV,OAAO,CAAC,UAAU,CAAC;;qBAKlB,MAAM,IAAI;0BACT,oBAAoB;;;;;;;;eAQrB,KAAK;gBACL,KAAK;;;;;;;;;;;;;yCAcR,KAAK,SACL,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,CAAC,KAAK,CAAC,KACX,qBAAqB;8BAKvB,KAAK,KACH,KAAK;4BAKP,KAAK,KACH,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;;;;;;sBACa,QAAQ,CAAC,OAAO,cAAc,EAAE,eAAe,CAAC;;;;;;;wBAUhD,QAAQ;;;;;;SAUP,KAAK;sBAGL,gBAAgB;;;;;oBAEhB,cAAc;oBAKd,cAAc;;;;;kBAEd,KAAK;oBAIL,OAAO,cAAc,EAAE,YAAY;eAEnC,KAAK;qBACL,KAAK;;;;;;gBAKL,OAAO;;;;;4BAMR,SAAS,GAAG,kBAAkB;;;;;;oBAQ7B,OAAO;;;;aAKP,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;2BAInB,aAAa,CAAC,UAAU,CAAC;;;;;;;oBASzB,OAAO;;;;;2BAKP,aAAa,CAAC,UAAU,CAAC;;;;;8BAO1B,oBAAoB,GAAG,wBAAwB;uCAM/C,oBAAoB,GAAG,iCAAiC;iCAM1D,GAAG,UACH,sBAAsB;gCAKtB,GAAG,UACH,SAAS,KACP,OAAO,CAAC,UAAU,CAAC;kCAKrB,GAAG,UACH,oBAAoB,KAClB,OAAO,CAAC,UAAU,CAAC;qCAKrB,GAAG,UACH,sBAAsB,KACpB,OAAO,CAAC,UAAU,CAAC;;;;;yCAQrB,GAAG,UACH,sBAAsB,KACpB,OAAO,CAAC,UAAU,CAAC;iDAKrB,oBAAoB;gCAKpB,MAAM,CAAC,KAAK,CAAC,gBACb,KAAK,KACH,MAAM,CAAC,KAAK,CAAC;;;;;;oBAKZ,cAAc;;;;kBAKd,MAAM,CAAC,KAAK,CAAC;;;;oBAIb,cAAc;kBAId,KAAK;;;;oBACL,OAAO,cAAc,EAAE,YAAY;SAInC,GAAG;wBAEH,+BAA+B;;;;;cAC/B,OAAO,cAAc,EAAE,SAAS;;;oBAMhC,OAAO;2BACP,aAAa,CAAC,GAAG,CAAC;;sBAElB,MAAM,CAAC,UAAU,CAAC;oBAClB,cAAc;oBACd,cAAc;kBACd,MAAM;oBACN,OAAO,cAAc,EAAE,YAAY;gBACnC,OAAO;;;;;;;6BAMP,MAAM,OAAO,CAAC,UAAU,CAAC;;;;iCAKzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;;;2BAIzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;iCAOzB,MAAM,OAAO,cAAc,EAAE,SAAS;;;;;qBAItC,MAAM,QAAQ,CAAC,MAAM,CAAC;;;;+BAKtB,MAAM,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";oBAEc,MAAM,MAAM;uBACZ,MAAM,MAAM;;;yBAGZ,MAAM,OAAO,CAAC,UAAU,CAAC;;6BAE1B,oBAAoB,GAAG,oBAAoB;;2BAK1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WACnB,MAAM;iBACN,MAAM;2BACN,YAAY;kBACZ,MAAM;;;0BAGN,QAAQ;2BACR,qBAAqB;uBACrB,QAAQ;0BACR,oBAAoB;;;gBAGpB,CAAC,UAAU,EAAE,mBAAmB,KAAK,OAAO,CAAC,eAAe,CAAC;eAC7D,MAAM,MAAM;;;oBAKZ,MAAM,MAAM;oBACZ,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;;;wBAKzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;;0BAEzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;;2BAGzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;gCAGzB,MAAM,OAAO,CAAC,UAAU,CAAC;;;;;mCAEzB,MAAM,OAAO,CAAC,UAAU,CAAC;wBAEzB,MAAM,MAAM;;;;;wBACZ,MAAM,MAAM;;;;;mBAEZ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,KAAK,MAAM;;;;;oBAG7C,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM;;;;;uBAG7C,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC"}
@@ -1,142 +0,0 @@
1
- type PriceQuote = {
2
- /**
3
- * Amount whose value is a PriceQuoteValue
4
- */
5
- quoteAmount: Amount<"set">;
6
- /**
7
- * The `quoteAmount` wrapped as a payment
8
- */
9
- quotePayment: ERef<Payment<"set">>;
10
- };
11
- /**
12
- * A single-valued set of PriceDescriptions. This is the `value` in
13
- * PriceQuote.quoteAmount (`{ brand, value: PriceQuoteValue }`).
14
- */
15
- type PriceQuoteValue = [PriceDescription];
16
- /**
17
- * A description of a single quote
18
- */
19
- type PriceDescription = {
20
- /**
21
- * The amount supplied to a trade
22
- */
23
- amountIn: Amount<"nat">;
24
- /**
25
- * The quoted result of trading `amountIn`
26
- */
27
- amountOut: Amount<"nat">;
28
- /**
29
- * The service that gave the `timestamp`
30
- */
31
- timer: import("@agoric/time").TimerService;
32
- /**
33
- * A timestamp according to `timer` for the quote
34
- */
35
- timestamp: import("@agoric/time").TimestampRecord;
36
- /**
37
- * Additional conditions for the quote
38
- */
39
- conditions?: any;
40
- };
41
- type PriceQuoteCreate = (priceQuery: PriceQuery) => ERef<PriceQuote> | undefined;
42
- type PriceQuoteTrigger = (createQuote: PriceQuoteCreate) => any;
43
- type PriceAuthorityAdmin = {
44
- fireTriggers: (createQuote: PriceQuoteCreate) => Promise<void>;
45
- };
46
- type PriceAuthorityKit = {
47
- priceAuthority: PriceAuthority;
48
- adminFacet: PriceAuthorityAdmin;
49
- };
50
- type MutableQuote = {
51
- cancel: (reason?: any) => void;
52
- updateLevel: (amountIn: Amount<"nat">, amountOut: Amount<"nat">) => void;
53
- getPromise: () => ERef<PriceQuote>;
54
- };
55
- /**
56
- * An object that mints PriceQuotes and handles
57
- * triggers and notifiers for changes in the price
58
- */
59
- type PriceAuthority = {
60
- /**
61
- * Get the ERTP issuer of PriceQuotes for a given brandIn/brandOut pair
62
- */
63
- getQuoteIssuer: (brandIn: Brand, brandOut: Brand) => ERef<Issuer<"set">>;
64
- /**
65
- * Get the timer used in PriceQuotes for a given brandIn/brandOut pair
66
- */
67
- getTimerService: (brandIn: Brand, brandOut: Brand) => ERef<import("@agoric/time").TimerService>;
68
- /**
69
- * Be notified of the latest PriceQuotes for a given
70
- * `amountIn`. The rate at which these are issued may be very different between
71
- * `priceAuthorities`.
72
- */
73
- makeQuoteNotifier: (amountIn: Amount<"nat">, brandOut: Brand<"nat">) => ERef<Notifier<PriceQuote>>;
74
- /**
75
- * Resolves after `deadline` passes on the
76
- * priceAuthority's timerService with the price quote of `amountIn` at that time
77
- */
78
- quoteAtTime: (deadline: import("@agoric/time").Timestamp, amountIn: Amount<"nat">, brandOut: Brand<"nat">) => Promise<PriceQuote>;
79
- /**
80
- * Get a quote corresponding to the specified amountIn
81
- */
82
- quoteGiven: (amountIn: Amount<"nat">, brandOut: Brand<"nat">) => Promise<PriceQuote>;
83
- /**
84
- * Get a quote corresponding to the specified amountOut
85
- */
86
- quoteWanted: (brandIn: Brand<"nat">, amountOut: Amount<"nat">) => Promise<PriceQuote>;
87
- /**
88
- * Resolve when a price quote of `amountIn` exceeds `amountOutLimit`
89
- */
90
- quoteWhenGT: (amountIn: Amount<"nat">, amountOutLimit: Amount<"nat">) => Promise<PriceQuote>;
91
- /**
92
- * Resolve when a price quote of `amountIn` reaches or exceeds `amountOutLimit`
93
- */
94
- quoteWhenGTE: (amountIn: Amount<"nat">, amountOutLimit: Amount<"nat">) => Promise<PriceQuote>;
95
- /**
96
- * Resolve when a price quote of `amountIn` reaches or drops below
97
- * `amountOutLimit`
98
- */
99
- quoteWhenLTE: (amountIn: Amount, amountOutLimit: Amount) => Promise<PriceQuote>;
100
- /**
101
- * Resolve when the price quote of `amountIn` drops below `amountOutLimit`
102
- */
103
- quoteWhenLT: (amountIn: Amount, amountOutLimit: Amount) => Promise<PriceQuote>;
104
- /**
105
- * Resolve when a price quote of `amountIn` exceeds `amountOutLimit`
106
- */
107
- mutableQuoteWhenGT: (amountIn: Amount, amountOutLimit: Amount) => ERef<MutableQuote>;
108
- /**
109
- * Resolve when a price quote of `amountIn` reaches or exceeds
110
- * `amountOutLimit`
111
- */
112
- mutableQuoteWhenGTE: (amountIn: Amount, amountOutLimit: Amount) => ERef<MutableQuote>;
113
- /**
114
- * Resolve when a price quote of `amountIn` reaches or drops below
115
- * `amountOutLimit`
116
- */
117
- mutableQuoteWhenLTE: (amountIn: Amount, amountOutLimit: Amount) => ERef<MutableQuote>;
118
- /**
119
- * Resolve when the price quote of `amountIn` drops below `amountOutLimit`
120
- */
121
- mutableQuoteWhenLT: (amountIn: Amount, amountOutLimit: Amount) => ERef<MutableQuote>;
122
- };
123
- type PriceCalculator = (amount: Amount<"nat">) => Amount<"nat">;
124
- type PriceQuery = (calcAmountIn: PriceCalculator, calcAmountOut: PriceCalculator) => {
125
- amountIn: Amount<"nat">;
126
- amountOut: Amount<"nat">;
127
- timestamp?: import("@agoric/time").TimestampRecord;
128
- } | undefined;
129
- /**
130
- * A description of a single quote
131
- */
132
- type PriceLevel = {
133
- /**
134
- * The amount supplied to a trade
135
- */
136
- amountIn: Amount<"nat">;
137
- /**
138
- * The quoted result of trading `amountIn`
139
- */
140
- amountOut: Amount<"nat">;
141
- };
142
- //# sourceMappingURL=types-ambient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- // @jessie-check
2
-
3
- /**
4
- * @typedef {object} PriceQuote
5
- * @property {Amount<'set'>} quoteAmount
6
- * Amount whose value is a PriceQuoteValue
7
- * @property {ERef<Payment<'set'>>} quotePayment
8
- * The `quoteAmount` wrapped as a payment
9
- */
10
-
11
- /**
12
- * @typedef {[PriceDescription]} PriceQuoteValue
13
- * A single-valued set of PriceDescriptions. This is the `value` in
14
- * PriceQuote.quoteAmount (`{ brand, value: PriceQuoteValue }`).
15
- */
16
-
17
- /**
18
- * @typedef {object} PriceDescription
19
- * A description of a single quote
20
- * @property {Amount<'nat'>} amountIn
21
- * The amount supplied to a trade
22
- * @property {Amount<'nat'>} amountOut
23
- * The quoted result of trading `amountIn`
24
- * @property {import('@agoric/time').TimerService} timer
25
- * The service that gave the `timestamp`
26
- * @property {import('@agoric/time').TimestampRecord} timestamp
27
- * A timestamp according to `timer` for the quote
28
- * @property {any} [conditions]
29
- * Additional conditions for the quote
30
- */
31
-
32
- /**
33
- * @callback PriceQuoteCreate
34
- * @param {PriceQuery} priceQuery
35
- * @returns {ERef<PriceQuote> | undefined}
36
- */
37
-
38
- /**
39
- * @callback PriceQuoteTrigger
40
- * @param {PriceQuoteCreate} createQuote
41
- */
42
-
43
- /**
44
- * @typedef {object} PriceAuthorityAdmin
45
- * @property {(createQuote: PriceQuoteCreate) => Promise<void>} fireTriggers
46
- */
47
-
48
- /**
49
- * @typedef {object} PriceAuthorityKit
50
- * @property {PriceAuthority} priceAuthority
51
- * @property {PriceAuthorityAdmin} adminFacet
52
- */
53
-
54
- /**
55
- * @typedef {object} MutableQuote
56
- * @property {(reason?: any) => void} cancel
57
- * @property {(amountIn: Amount<'nat'>, amountOut: Amount<'nat'>) => void} updateLevel
58
- * @property {() => ERef<PriceQuote>} getPromise
59
- */
60
-
61
- /**
62
- * @typedef {object} PriceAuthority
63
- * An object that mints PriceQuotes and handles
64
- * triggers and notifiers for changes in the price
65
- *
66
- * @property {(brandIn: Brand, brandOut: Brand) => ERef<Issuer<'set'>>} getQuoteIssuer
67
- * Get the ERTP issuer of PriceQuotes for a given brandIn/brandOut pair
68
- *
69
- * @property {(brandIn: Brand,
70
- * brandOut: Brand
71
- * ) => ERef<import('@agoric/time').TimerService>} getTimerService
72
- * Get the timer used in PriceQuotes for a given brandIn/brandOut pair
73
- *
74
- * @property {(amountIn: Amount<'nat'>,
75
- * brandOut: Brand<'nat'>
76
- * ) => ERef<Notifier<PriceQuote>>} makeQuoteNotifier
77
- * Be notified of the latest PriceQuotes for a given
78
- * `amountIn`. The rate at which these are issued may be very different between
79
- * `priceAuthorities`.
80
- *
81
- * @property {(deadline: import('@agoric/time').Timestamp,
82
- * amountIn: Amount<'nat'>,
83
- * brandOut: Brand<'nat'>
84
- * ) => Promise<PriceQuote>} quoteAtTime
85
- * Resolves after `deadline` passes on the
86
- * priceAuthority's timerService with the price quote of `amountIn` at that time
87
- *
88
- * @property {(amountIn: Amount<'nat'>,
89
- * brandOut: Brand<'nat'>
90
- * ) => Promise<PriceQuote>} quoteGiven
91
- * Get a quote corresponding to the specified amountIn
92
- *
93
- * @property {(brandIn: Brand<'nat'>,
94
- * amountOut: Amount<'nat'>) => Promise<PriceQuote>} quoteWanted
95
- * Get a quote corresponding to the specified amountOut
96
- *
97
- * @property {(amountIn: Amount<'nat'>,
98
- * amountOutLimit: Amount<'nat'>
99
- * ) => Promise<PriceQuote>} quoteWhenGT
100
- * Resolve when a price quote of `amountIn` exceeds `amountOutLimit`
101
- *
102
- * @property {(amountIn: Amount<'nat'>,
103
- * amountOutLimit: Amount<'nat'>
104
- * ) => Promise<PriceQuote>} quoteWhenGTE
105
- * Resolve when a price quote of `amountIn` reaches or exceeds `amountOutLimit`
106
- *
107
- * @property {(amountIn: Amount,
108
- * amountOutLimit: Amount
109
- * ) => Promise<PriceQuote>} quoteWhenLTE
110
- * Resolve when a price quote of `amountIn` reaches or drops below
111
- * `amountOutLimit`
112
- *
113
- * @property {(amountIn: Amount,
114
- * amountOutLimit: Amount
115
- * ) => Promise<PriceQuote>} quoteWhenLT
116
- * Resolve when the price quote of `amountIn` drops below `amountOutLimit`
117
- *
118
- * @property {(amountIn: Amount,
119
- * amountOutLimit: Amount
120
- * ) => ERef<MutableQuote>} mutableQuoteWhenGT
121
- * Resolve when a price quote of `amountIn` exceeds `amountOutLimit`
122
- *
123
- * @property {(amountIn: Amount,
124
- * amountOutLimit: Amount
125
- * ) => ERef<MutableQuote>} mutableQuoteWhenGTE
126
- * Resolve when a price quote of `amountIn` reaches or exceeds
127
- * `amountOutLimit`
128
- *
129
- * @property {(amountIn: Amount,
130
- * amountOutLimit: Amount
131
- * ) => ERef<MutableQuote>} mutableQuoteWhenLTE
132
- * Resolve when a price quote of `amountIn` reaches or drops below
133
- * `amountOutLimit`
134
- *
135
- * @property {(amountIn: Amount,
136
- * amountOutLimit: Amount
137
- * ) => ERef<MutableQuote>} mutableQuoteWhenLT
138
- * Resolve when the price quote of `amountIn` drops below `amountOutLimit`
139
- */
140
-
141
- /**
142
- * @typedef {(amount: Amount<'nat'>) => Amount<'nat'>} PriceCalculator
143
- */
144
-
145
- /**
146
- * @callback PriceQuery
147
- * @param {PriceCalculator} calcAmountIn
148
- * @param {PriceCalculator} calcAmountOut
149
- * @returns {{ amountIn: Amount<'nat'>, amountOut: Amount<'nat'>, timestamp?: import('@agoric/time').TimestampRecord } | undefined}
150
- */
151
-
152
- /**
153
- * @typedef {object} PriceLevel
154
- * A description of a single quote
155
- *
156
- * @property {Amount<'nat'>} amountIn
157
- * The amount supplied to a trade
158
- * @property {Amount<'nat'>} amountOut
159
- * The quoted result of trading `amountIn`
160
- */
File without changes