@agoric/inter-protocol 0.17.0 → 0.17.1-upgrade-23-dev-bd79330.0.bd79330
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.
- package/package.json +23 -27
- package/source-spec-registry.js +67 -0
- package/src/auction/util.d.ts +3 -1
- package/src/auction/util.d.ts.map +1 -1
- package/src/auction/util.js +1 -2
- package/src/clientSupport.d.ts +29 -73
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +25 -129
- package/src/collectFees.d.ts +4 -0
- package/src/collectFees.d.ts.map +1 -1
- package/src/collectFees.js +5 -2
- package/src/contractSupport.d.ts +10 -2
- package/src/contractSupport.d.ts.map +1 -1
- package/src/contractSupport.js +8 -3
- package/src/econCommitteeCharter.d.ts +19 -8
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +12 -12
- package/src/feeDistributor.d.ts +56 -52
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +5 -3
- package/src/index.js +0 -3
- package/src/interest-math.d.ts +1 -0
- package/src/interest-math.d.ts.map +1 -1
- package/src/interest-math.js +1 -2
- package/src/interest.d.ts +13 -1
- package/src/interest.d.ts.map +1 -1
- package/src/interest.js +6 -3
- package/src/price/fluxAggregatorContract.d.ts +38 -14
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +26 -12
- package/src/price/fluxAggregatorKit.d.ts +18 -8
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +22 -8
- package/src/price/priceOracleKit.d.ts +3 -1
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +3 -1
- package/src/price/roundsManager.d.ts +15 -8
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +9 -2
- package/src/proposals/addAssetToVault.js +17 -105
- package/src/proposals/committee-proposal.js +14 -14
- package/src/proposals/core-proposal.js +12 -37
- package/src/proposals/deploy-price-feeds.js +12 -5
- package/src/proposals/econ-behaviors.js +23 -154
- package/src/proposals/price-feed-proposal.js +14 -4
- package/src/proposals/replace-fee-distributor.js +8 -4
- package/src/proposals/replace-scaledPriceAuthorities.js +8 -2
- package/src/proposals/replaceElectorate.js +7 -1
- package/src/proposals/startEconCommittee.js +5 -1
- package/src/proposals/startPSM.js +15 -6
- package/src/proposals/upgrade-scaledPriceAuthorities.js +5 -0
- package/src/proposals/utils.d.ts +10 -4
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +16 -8
- package/src/proposals/withdraw-reserve-proposal.js +6 -1
- package/src/provisionPool.d.ts +36 -18
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +19 -12
- package/src/provisionPoolKit.d.ts +29 -77
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +33 -23
- package/src/psm/psm.d.ts +36 -24
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +19 -15
- package/src/reserve/assetReserve.d.ts +16 -6
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +17 -9
- package/src/reserve/assetReserveKit.d.ts +13 -10
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +7 -5
- package/src/reserve/params.d.ts +1 -1
- package/src/reserve/params.d.ts.map +1 -1
- package/src/reserve/params.js +1 -3
- package/src/vaultFactory/burn.d.ts +4 -1
- package/src/vaultFactory/burn.d.ts.map +1 -1
- package/src/vaultFactory/burn.js +5 -4
- package/src/vaultFactory/math.d.ts +2 -0
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/math.js +5 -3
- package/src/vaultFactory/orderedVaultStore.d.ts +36 -36
- package/src/vaultFactory/params.d.ts +37 -10
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +34 -13
- package/src/vaultFactory/prioritizedVaults.d.ts +98 -95
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
- package/src/vaultFactory/prioritizedVaults.js +3 -2
- package/src/vaultFactory/storeUtils.d.ts +8 -3
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/storeUtils.js +8 -4
- package/src/vaultFactory/{types-ambient.d.ts → types.d.ts} +40 -40
- package/src/vaultFactory/types.d.ts.map +1 -0
- package/src/vaultFactory/{types-ambient.js → types.js} +26 -25
- package/src/vaultFactory/vault.d.ts +51 -35
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +29 -17
- package/src/vaultFactory/vaultDirector.d.ts +102 -112
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +40 -82
- package/src/vaultFactory/vaultFactory.d.ts +47 -95
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +27 -27
- package/src/vaultFactory/vaultHolder.d.ts +62 -55
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +10 -4
- package/src/vaultFactory/vaultKit.d.ts +15 -10
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +8 -7
- package/src/vaultFactory/vaultManager.d.ts +112 -262
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +42 -319
- package/NEWS.md +0 -0
- package/scripts/build-bundles.js +0 -22
- package/src/auction/auctionBook.d.ts +0 -147
- package/src/auction/auctionBook.d.ts.map +0 -1
- package/src/auction/auctionBook.js +0 -794
- package/src/auction/auctionMath.d.ts +0 -17
- package/src/auction/auctionMath.d.ts.map +0 -1
- package/src/auction/auctionMath.js +0 -81
- package/src/auction/auctioneer.d.ts +0 -70
- package/src/auction/auctioneer.d.ts.map +0 -1
- package/src/auction/auctioneer.js +0 -733
- package/src/auction/offerBook.d.ts +0 -46
- package/src/auction/offerBook.d.ts.map +0 -1
- package/src/auction/offerBook.js +0 -226
- package/src/auction/params.d.ts +0 -145
- package/src/auction/params.d.ts.map +0 -1
- package/src/auction/params.js +0 -176
- package/src/auction/scheduleMath.d.ts +0 -5
- package/src/auction/scheduleMath.d.ts.map +0 -1
- package/src/auction/scheduleMath.js +0 -169
- package/src/auction/scheduler.d.ts +0 -50
- package/src/auction/scheduler.d.ts.map +0 -1
- package/src/auction/scheduler.js +0 -376
- package/src/auction/sortedOffers.d.ts +0 -8
- package/src/auction/sortedOffers.d.ts.map +0 -1
- package/src/auction/sortedOffers.js +0 -137
- package/src/proposals/add-auction.js +0 -285
- package/src/proposals/upgrade-vaults.js +0 -207
- package/src/psm/types-ambient.d.ts +0 -2
- package/src/psm/types-ambient.d.ts.map +0 -1
- package/src/psm/types-ambient.js +0 -3
- package/src/vaultFactory/liquidation.d.ts +0 -25
- package/src/vaultFactory/liquidation.d.ts.map +0 -1
- package/src/vaultFactory/liquidation.js +0 -309
- package/src/vaultFactory/proceeds.d.ts +0 -35
- package/src/vaultFactory/proceeds.d.ts.map +0 -1
- package/src/vaultFactory/proceeds.js +0 -282
- package/src/vaultFactory/types-ambient.d.ts.map +0 -1
|
@@ -1,39 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @import {Baggage} from '@agoric/vat-data'
|
|
3
3
|
* @import {TimerService} from '@agoric/time'
|
|
4
|
+
* @import {Remote} from '@agoric/internal';
|
|
5
|
+
* @import {ChainlinkConfig} from './fluxAggregatorKit.js';
|
|
6
|
+
* @import {PrioritySendersManager} from '@agoric/internal/src/priority-senders.js';
|
|
7
|
+
* @import {NameAdmin} from '@agoric/vats';
|
|
8
|
+
* @import {QuoteKit} from './roundsManager.js';
|
|
9
|
+
* @import {Invitation} from '@agoric/zoe';
|
|
10
|
+
* @import {ContractMeta, ZCF} from '@agoric/zoe';
|
|
11
|
+
* @import {Brand} from '@agoric/ertp';
|
|
12
|
+
* @import {Amount} from '@agoric/ertp';
|
|
13
|
+
* @import {Marshaller} from '@agoric/internal/src/lib-chainStorage.js';
|
|
14
|
+
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
15
|
+
* @import {ERef} from '@agoric/vow';
|
|
4
16
|
*/
|
|
5
|
-
/** @type {ContractMeta} */
|
|
6
|
-
export const meta: ContractMeta
|
|
7
|
-
export function start(zcf: ZCF<
|
|
17
|
+
/** @type {ContractMeta<typeof start>} */
|
|
18
|
+
export const meta: ContractMeta<typeof start>;
|
|
19
|
+
export function start(zcf: ZCF<ChainlinkConfig & {
|
|
8
20
|
timer: TimerService;
|
|
9
21
|
brandIn: Brand<"nat">;
|
|
10
22
|
brandOut: Brand<"nat">;
|
|
11
23
|
description: string;
|
|
12
24
|
unitAmountIn?: Amount<"nat">;
|
|
13
25
|
}>, privateArgs: {
|
|
14
|
-
highPrioritySendersManager?:
|
|
26
|
+
highPrioritySendersManager?: PrioritySendersManager;
|
|
15
27
|
initialPoserInvitation: Invitation;
|
|
16
|
-
marshaller:
|
|
17
|
-
namesByAddressAdmin: ERef<
|
|
18
|
-
storageNode: StorageNode
|
|
28
|
+
marshaller: Remote<Marshaller>;
|
|
29
|
+
namesByAddressAdmin: ERef<NameAdmin>;
|
|
30
|
+
storageNode: Remote<StorageNode>;
|
|
19
31
|
}, baggage: Baggage): Promise<{
|
|
20
32
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
21
33
|
getParamMgrRetriever: () => {
|
|
22
34
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
23
35
|
Electorate: "invitation";
|
|
24
36
|
}>;
|
|
25
|
-
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
37
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
26
38
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
27
39
|
Electorate: "invitation";
|
|
28
40
|
}>;
|
|
29
41
|
}>;
|
|
30
|
-
getInvitation: (name: any) => Promise<
|
|
42
|
+
getInvitation: (name: any) => Promise<Invitation>;
|
|
31
43
|
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
32
|
-
makeOracleInvitation(oracleId: string): Promise<
|
|
44
|
+
makeOracleInvitation(oracleId: string): Promise<Invitation<{
|
|
33
45
|
invitationMakers: {
|
|
34
|
-
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<
|
|
35
|
-
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
36
|
-
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<
|
|
46
|
+
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<Invitation<void, undefined>>;
|
|
47
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
48
|
+
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<Invitation<void, undefined>>;
|
|
37
49
|
}>;
|
|
38
50
|
oracle: import("@endo/exo").Guarded<{
|
|
39
51
|
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
@@ -53,7 +65,7 @@ export function start(zcf: ZCF<import("./fluxAggregatorKit.js").ChainlinkConfig
|
|
|
53
65
|
}>>;
|
|
54
66
|
oracleRoundState(oracleId: string, queriedRoundId: bigint): Promise<RoundState>;
|
|
55
67
|
}>;
|
|
56
|
-
getGovernedApis: () => GovernedApis;
|
|
68
|
+
getGovernedApis: () => import("@agoric/governance").GovernedApis;
|
|
57
69
|
getGovernedApiNames: () => string[];
|
|
58
70
|
setOfferFilter: (strings: any) => Promise<void>;
|
|
59
71
|
}>;
|
|
@@ -66,6 +78,18 @@ export function start(zcf: ZCF<import("./fluxAggregatorKit.js").ChainlinkConfig
|
|
|
66
78
|
}>;
|
|
67
79
|
}>;
|
|
68
80
|
export type FluxStartFn = typeof start;
|
|
81
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
82
|
+
import type { ChainlinkConfig } from './fluxAggregatorKit.js';
|
|
69
83
|
import type { TimerService } from '@agoric/time';
|
|
84
|
+
import type { Brand } from '@agoric/ertp';
|
|
85
|
+
import type { Amount } from '@agoric/ertp';
|
|
86
|
+
import type { ZCF } from '@agoric/zoe';
|
|
87
|
+
import type { PrioritySendersManager } from '@agoric/internal/src/priority-senders.js';
|
|
88
|
+
import type { Invitation } from '@agoric/zoe';
|
|
89
|
+
import type { Marshaller } from '@agoric/internal/src/lib-chainStorage.js';
|
|
90
|
+
import type { Remote } from '@agoric/internal';
|
|
91
|
+
import type { NameAdmin } from '@agoric/vats';
|
|
92
|
+
import type { ERef } from '@agoric/vow';
|
|
93
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
70
94
|
import type { Baggage } from '@agoric/vat-data';
|
|
71
95
|
//# sourceMappingURL=fluxAggregatorContract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluxAggregatorContract.d.ts","sourceRoot":"","sources":["fluxAggregatorContract.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fluxAggregatorContract.d.ts","sourceRoot":"","sources":["fluxAggregatorContract.js"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;GAeG;AAEH,yCAAyC;AACzC,mBADW,aAAa,OAAO,KAAK,CAAC,CAoBnC;AA0BK,2BAlBI,IACV,eAAmB,GAAG;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC;CAC9B,CACF,eACO;IACN,0BAA0B,CAAC,EAAE,sBAAsB,CAAC;IACpD,sBAAsB,EAAE,UAAU,CAAC;IACnC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,mBAAmB,EAAE,KAAK,SAAS,CAAC,CAAC;IACrC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;CAClC,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuIjB;0BAGa,OAAO,KAAK;kCA9LU,aAAa;qCALf,wBAAwB;kCAF3B,cAAc;2BAQrB,cAAc;4BACb,cAAc;yBAFH,aAAa;4CAJR,0CAA0C;gCAGtD,aAAa;gCAIb,0CAA0C;4BAT9C,kBAAkB;+BAGf,cAAc;0BAQnB,aAAa;iCADN,0CAA0C;6BAZ9C,kBAAkB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
// @jessie-check
|
|
2
|
-
|
|
3
1
|
import { prepareIssuerKit } from '@agoric/ertp';
|
|
4
2
|
import { handleParamGovernance } from '@agoric/governance';
|
|
5
3
|
import { makeTracer, StorageNodeShape } from '@agoric/internal';
|
|
4
|
+
import { wrapRemoteMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
6
5
|
import { prepareDurablePublishKit } from '@agoric/notifier';
|
|
7
6
|
import { M } from '@agoric/store';
|
|
8
7
|
import { provideAll } from '@agoric/zoe/src/contractSupport/durability.js';
|
|
@@ -15,10 +14,23 @@ const trace = makeTracer('FluxAgg', false);
|
|
|
15
14
|
/**
|
|
16
15
|
* @import {Baggage} from '@agoric/vat-data'
|
|
17
16
|
* @import {TimerService} from '@agoric/time'
|
|
17
|
+
* @import {Remote} from '@agoric/internal';
|
|
18
|
+
* @import {ChainlinkConfig} from './fluxAggregatorKit.js';
|
|
19
|
+
* @import {PrioritySendersManager} from '@agoric/internal/src/priority-senders.js';
|
|
20
|
+
* @import {NameAdmin} from '@agoric/vats';
|
|
21
|
+
* @import {QuoteKit} from './roundsManager.js';
|
|
22
|
+
* @import {Invitation} from '@agoric/zoe';
|
|
23
|
+
* @import {ContractMeta, ZCF} from '@agoric/zoe';
|
|
24
|
+
* @import {Brand} from '@agoric/ertp';
|
|
25
|
+
* @import {Amount} from '@agoric/ertp';
|
|
26
|
+
* @import {Marshaller} from '@agoric/internal/src/lib-chainStorage.js';
|
|
27
|
+
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
28
|
+
* @import {ERef} from '@agoric/vow';
|
|
18
29
|
*/
|
|
19
30
|
|
|
20
|
-
/** @type {ContractMeta} */
|
|
31
|
+
/** @type {ContractMeta<typeof start>} */
|
|
21
32
|
export const meta = {
|
|
33
|
+
// @ts-expect-error splitRecord loses the property keys
|
|
22
34
|
privateArgsShape: M.splitRecord(
|
|
23
35
|
{
|
|
24
36
|
storageNode: StorageNodeShape,
|
|
@@ -45,7 +57,7 @@ harden(meta);
|
|
|
45
57
|
* feeds](https://blog.chain.link/levels-of-data-aggregation-in-chainlink-price-feeds/).
|
|
46
58
|
*
|
|
47
59
|
* @param {ZCF<
|
|
48
|
-
*
|
|
60
|
+
* ChainlinkConfig & {
|
|
49
61
|
* timer: TimerService;
|
|
50
62
|
* brandIn: Brand<'nat'>;
|
|
51
63
|
* brandOut: Brand<'nat'>;
|
|
@@ -54,11 +66,11 @@ harden(meta);
|
|
|
54
66
|
* }
|
|
55
67
|
* >} zcf
|
|
56
68
|
* @param {{
|
|
57
|
-
* highPrioritySendersManager?:
|
|
69
|
+
* highPrioritySendersManager?: PrioritySendersManager;
|
|
58
70
|
* initialPoserInvitation: Invitation;
|
|
59
|
-
* marshaller:
|
|
60
|
-
* namesByAddressAdmin: ERef<
|
|
61
|
-
* storageNode: StorageNode
|
|
71
|
+
* marshaller: Remote<Marshaller>;
|
|
72
|
+
* namesByAddressAdmin: ERef<NameAdmin>;
|
|
73
|
+
* storageNode: Remote<StorageNode>;
|
|
62
74
|
* }} privateArgs
|
|
63
75
|
* @param {Baggage} baggage
|
|
64
76
|
*/
|
|
@@ -66,7 +78,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
66
78
|
trace('prepare with baggage keys', [...baggage.keys()]);
|
|
67
79
|
|
|
68
80
|
// xxx uses contract baggage as issuerBagage, assumes one issuer in this contract
|
|
69
|
-
/** @type {
|
|
81
|
+
/** @type {QuoteKit} */
|
|
70
82
|
// @ts-expect-error cast
|
|
71
83
|
const quoteIssuerKit = prepareIssuerKit(
|
|
72
84
|
baggage,
|
|
@@ -80,7 +92,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
80
92
|
const {
|
|
81
93
|
highPrioritySendersManager,
|
|
82
94
|
initialPoserInvitation,
|
|
83
|
-
marshaller,
|
|
95
|
+
marshaller: remoteMarshaller,
|
|
84
96
|
namesByAddressAdmin,
|
|
85
97
|
storageNode,
|
|
86
98
|
} = privateArgs;
|
|
@@ -89,11 +101,13 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
89
101
|
|
|
90
102
|
trace('awaited args');
|
|
91
103
|
|
|
104
|
+
const cachingMarshaller = wrapRemoteMarshaller(remoteMarshaller);
|
|
105
|
+
|
|
92
106
|
const makeDurablePublishKit = prepareDurablePublishKit(
|
|
93
107
|
baggage,
|
|
94
108
|
'Price Aggregator publish kit',
|
|
95
109
|
);
|
|
96
|
-
const makeRecorder = prepareRecorder(baggage,
|
|
110
|
+
const makeRecorder = prepareRecorder(baggage, cachingMarshaller);
|
|
97
111
|
|
|
98
112
|
const makeFluxAggregatorKit = await prepareFluxAggregatorKit(
|
|
99
113
|
baggage,
|
|
@@ -120,7 +134,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
120
134
|
// No governed parameters. Governance just for API methods.
|
|
121
135
|
},
|
|
122
136
|
storageNode,
|
|
123
|
-
|
|
137
|
+
cachingMarshaller,
|
|
124
138
|
);
|
|
125
139
|
|
|
126
140
|
trace('got makeDurableGovernorFacet', makeDurableGovernorFacet);
|
|
@@ -4,7 +4,7 @@ export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF<ChainlinkCon
|
|
|
4
4
|
brandIn: Brand<"nat">;
|
|
5
5
|
brandOut: Brand<"nat">;
|
|
6
6
|
unitAmountIn?: Amount<"nat">;
|
|
7
|
-
}>, timerPresence: TimerService, quoteKit:
|
|
7
|
+
}>, timerPresence: TimerService, quoteKit: QuoteKit, storageNode: Remote<StorageNode>, makeDurablePublishKit: () => PublishKit<any>, makeRecorder: MakeRecorder): Promise<() => import("@endo/exo").GuardedKit<{
|
|
8
8
|
creator: {
|
|
9
9
|
/**
|
|
10
10
|
* An "oracle invitation" is an invitation to be able to submit data to
|
|
@@ -16,13 +16,13 @@ export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF<ChainlinkCon
|
|
|
16
16
|
*
|
|
17
17
|
* @param {string} oracleId unique per contract instance
|
|
18
18
|
*/
|
|
19
|
-
makeOracleInvitation(oracleId: string): Promise<
|
|
19
|
+
makeOracleInvitation(oracleId: string): Promise<import("@agoric/zoe").Invitation<{
|
|
20
20
|
invitationMakers: {
|
|
21
|
-
/** @param {
|
|
22
|
-
PushPrice(result:
|
|
23
|
-
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
24
|
-
/** @param {
|
|
25
|
-
PushPrice(result:
|
|
21
|
+
/** @param {PriceRound} result */
|
|
22
|
+
PushPrice(result: PriceRound): Promise<import("@agoric/zoe").Invitation<void, undefined>>;
|
|
23
|
+
} & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
24
|
+
/** @param {PriceRound} result */
|
|
25
|
+
PushPrice(result: PriceRound): Promise<import("@agoric/zoe").Invitation<void, undefined>>;
|
|
26
26
|
}>;
|
|
27
27
|
oracle: import("@endo/exo").Guarded<{
|
|
28
28
|
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
@@ -57,7 +57,7 @@ export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF<ChainlinkCon
|
|
|
57
57
|
getPriceAuthority(): PriceAuthority;
|
|
58
58
|
getPublicTopics(): {
|
|
59
59
|
quotes: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<PriceDescription>;
|
|
60
|
-
latestRound: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<
|
|
60
|
+
latestRound: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<LatestRound>;
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
63
|
}>>;
|
|
@@ -97,8 +97,18 @@ export type ChainlinkConfig = {
|
|
|
97
97
|
export type FluxAggregatorKit = EReturn<EReturn<typeof prepareFluxAggregatorKit>>;
|
|
98
98
|
import type { Baggage } from '@agoric/vat-data';
|
|
99
99
|
import type { TimerService } from '@agoric/time';
|
|
100
|
+
import type { Brand } from '@agoric/ertp';
|
|
101
|
+
import type { Amount } from '@agoric/ertp';
|
|
102
|
+
import type { ZCF } from '@agoric/zoe';
|
|
103
|
+
import type { QuoteKit } from './roundsManager.js';
|
|
104
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
105
|
+
import type { Remote } from '@agoric/internal';
|
|
106
|
+
import type { PublishKit } from '@agoric/notifier';
|
|
107
|
+
import type { MakeRecorder } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
108
|
+
import type { PriceRound } from './roundsManager.js';
|
|
100
109
|
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
101
110
|
import type { PriceDescription } from '@agoric/zoe/tools/types.js';
|
|
111
|
+
import type { LatestRound } from './roundsManager.js';
|
|
102
112
|
import type { Timestamp } from '@agoric/time';
|
|
103
113
|
import type { EReturn } from '@endo/far';
|
|
104
114
|
//# sourceMappingURL=fluxAggregatorKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"AAuCA,qCAAsC,mBAAmB,CAAC;AAgEnD,kDAfI,OAAO,OACP,IACN,eAAe,GAAG;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC;CAC9B,CACF,iBACO,YAAY,YACZ,QAAQ,eACR,OAAO,WAAW,CAAC,yBACnB,MAAM,WAAW,GAAG,CAAC,gBACrB,YAAY;;QAkJf;;;;;;;;;WASG;uCADQ,MAAM;;gBAiBX,iCAAiC;kCAArB,UAAU;;gBAAtB,iCAAiC;kCAArB,UAAU;;;;;;;QAqB5B,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;QAoBlB;;;;;;;;WAQG;mCAHQ,MAAM,kBACN,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC;;;;;;;;;IAqDvC;;8BA3Ua,OAAO;oBACP,MAAM;sBACN,MAAM;eACN,SAAS;kBACT,MAAM;iBACN,MAAM;;;wBAMN,MAAM;wBACN,MAAM;;;;;kBACN,MAAM;;;;;wBAEN,MAAM;;;;;wBAEN,MAAM;;;;;;aAEN,MAAM;;gCA0TN,QAAQ,QAAQ,OAAO,wBAAwB,CAAC,CAAC;6BA1VrC,kBAAkB;kCAKb,cAAc;2BAfrB,cAAc;4BACb,cAAc;yBAPR,aAAa;8BACjB,oBAAoB;iCAOjB,0CAA0C;4BAZjC,kBAAkB;gCAE5B,kBAAkB;kCAIhB,6CAA6C;gCAG/C,oBAAoB;oCAR4C,4BAA4B;sCAA5B,4BAA4B;iCAM3F,oBAAoB;+BActB,cAAc;6BAtBhB,WAAW"}
|
|
@@ -20,9 +20,19 @@ import { prepareRoundsManagerKit } from './roundsManager.js';
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @import {EReturn} from '@endo/far';
|
|
23
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
23
|
+
* @import {TypedPattern, Remote} from '@agoric/internal';
|
|
24
24
|
* @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
|
|
25
|
+
* @import {PublishKit} from '@agoric/notifier';
|
|
25
26
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
27
|
+
* @import {ZCF, ZCFSeat} from '@agoric/zoe';
|
|
28
|
+
* @import {QuoteKit} from './roundsManager.js';
|
|
29
|
+
* @import {MakeRecorder} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
30
|
+
* @import {LatestRound} from './roundsManager.js';
|
|
31
|
+
* @import {OracleKit} from './priceOracleKit.js';
|
|
32
|
+
* @import {PriceRound} from './roundsManager.js';
|
|
33
|
+
* @import {Brand} from '@agoric/ertp';
|
|
34
|
+
* @import {Amount} from '@agoric/ertp';
|
|
35
|
+
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
26
36
|
*/
|
|
27
37
|
|
|
28
38
|
const trace = makeTracer('FlxAgg', true);
|
|
@@ -86,10 +96,10 @@ const priceDescriptionFromQuote = quote => quote.quoteAmount.value[0];
|
|
|
86
96
|
* }
|
|
87
97
|
* >} zcf
|
|
88
98
|
* @param {TimerService} timerPresence
|
|
89
|
-
* @param {
|
|
90
|
-
* @param {StorageNode} storageNode
|
|
99
|
+
* @param {QuoteKit} quoteKit
|
|
100
|
+
* @param {Remote<StorageNode>} storageNode
|
|
91
101
|
* @param {() => PublishKit<any>} makeDurablePublishKit
|
|
92
|
-
* @param {
|
|
102
|
+
* @param {MakeRecorder} makeRecorder
|
|
93
103
|
*/
|
|
94
104
|
export const prepareFluxAggregatorKit = async (
|
|
95
105
|
baggage,
|
|
@@ -155,7 +165,7 @@ export const prepareFluxAggregatorKit = async (
|
|
|
155
165
|
makeRecorderKit(
|
|
156
166
|
node,
|
|
157
167
|
/**
|
|
158
|
-
* @type {TypedPattern<
|
|
168
|
+
* @type {TypedPattern<LatestRound>}
|
|
159
169
|
*/ (M.any()),
|
|
160
170
|
),
|
|
161
171
|
),
|
|
@@ -213,7 +223,11 @@ export const prepareFluxAggregatorKit = async (
|
|
|
213
223
|
baggage,
|
|
214
224
|
'fluxAggregator',
|
|
215
225
|
{
|
|
216
|
-
creator: M.interface(
|
|
226
|
+
creator: M.interface(
|
|
227
|
+
'fluxAggregator creatorFacet',
|
|
228
|
+
{},
|
|
229
|
+
{ defaultGuards: 'passable' },
|
|
230
|
+
),
|
|
217
231
|
public: M.interface('fluxAggregator publicFacet', {
|
|
218
232
|
getPriceAuthority: M.call().returns(M.any()),
|
|
219
233
|
getPublicTopics: M.call().returns({
|
|
@@ -223,7 +237,7 @@ export const prepareFluxAggregatorKit = async (
|
|
|
223
237
|
}),
|
|
224
238
|
},
|
|
225
239
|
() => {
|
|
226
|
-
/** @type {MapStore<string,
|
|
240
|
+
/** @type {MapStore<string, OracleKit>} */
|
|
227
241
|
const oracles = makeScalarBigMapStore('oracles', {
|
|
228
242
|
durable: true,
|
|
229
243
|
});
|
|
@@ -256,7 +270,7 @@ export const prepareFluxAggregatorKit = async (
|
|
|
256
270
|
seat.exit();
|
|
257
271
|
const { oracle } = await facets.creator.initOracle(oracleId);
|
|
258
272
|
const invitationMakers = Far('invitation makers', {
|
|
259
|
-
/** @param {
|
|
273
|
+
/** @param {PriceRound} result */
|
|
260
274
|
PushPrice(result) {
|
|
261
275
|
return zcf.makeInvitation(
|
|
262
276
|
/** @param {ZCFSeat} cSeat */
|
|
@@ -17,7 +17,7 @@ export function prepareOracleAdminKit(baggage: any): (args_0: HeldParams) => imp
|
|
|
17
17
|
export type HeldParams = {
|
|
18
18
|
oracleId: string;
|
|
19
19
|
roundPowers: {
|
|
20
|
-
handlePush: (status: OracleStatus, result:
|
|
20
|
+
handlePush: (status: OracleStatus, result: PriceRound) => Promise<OracleStatus>;
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
export type PriceDatum = {
|
|
@@ -35,5 +35,7 @@ export type ImmutableState = Readonly<HeldParams & {}>;
|
|
|
35
35
|
export type MutableState = OracleStatus & {};
|
|
36
36
|
export type State = ImmutableState & MutableState;
|
|
37
37
|
export type OracleKit = EReturn<EReturn<typeof prepareOracleAdminKit>>;
|
|
38
|
+
import type { PriceRound } from './roundsManager.js';
|
|
39
|
+
import type { NatValue } from '@agoric/ertp';
|
|
38
40
|
import type { EReturn } from '@endo/far';
|
|
39
41
|
//# sourceMappingURL=priceOracleKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,qCAAsC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,qCAAsC,mBAAmB,CAAC;AAkEnD;;;;;QAcC;;;;WAIG;iEADQ,UAAU;QA0BrB,8BAA8B;qBAAhB,YAAY;;GAa/B;yBAjHU;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,UAAU,EAAE,CACV,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,KACf,OAAO,CAAC,YAAY,CAAC,CAAC;KAC5B,CAAC;CACH;yBAGU;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE;;;uBAKpD,MAAM;sBACN,MAAM;sBACN,MAAM;cACN,MAAM;;6BAGP,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;2BAEzB,YAAY,GAAG,EAAE;oBAEhB,cAAc,GAAG,YAAY;wBAyF7B,QAAQ,QAAQ,OAAO,qBAAqB,CAAC,CAAC;gCAxH/B,oBAAoB;8BACtB,cAAc;6BAFf,WAAW"}
|
|
@@ -8,6 +8,8 @@ export const INVITATION_MAKERS_DESC = 'oracle invitation';
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @import {EReturn} from '@endo/far';
|
|
11
|
+
* @import {PriceRound} from './roundsManager.js';
|
|
12
|
+
* @import {NatValue} from '@agoric/ertp';
|
|
11
13
|
*/
|
|
12
14
|
|
|
13
15
|
/**
|
|
@@ -16,7 +18,7 @@ export const INVITATION_MAKERS_DESC = 'oracle invitation';
|
|
|
16
18
|
* roundPowers: {
|
|
17
19
|
* handlePush: (
|
|
18
20
|
* status: OracleStatus,
|
|
19
|
-
* result:
|
|
21
|
+
* result: PriceRound,
|
|
20
22
|
* ) => Promise<OracleStatus>;
|
|
21
23
|
* };
|
|
22
24
|
* }} HeldParams
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** @type {bigint} */
|
|
2
2
|
export const ROUND_MAX: bigint;
|
|
3
|
-
export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<
|
|
3
|
+
export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<ChainlinkConfig & {
|
|
4
4
|
quoteKit: QuoteKit;
|
|
5
5
|
answerPublisher: Publisher<void>;
|
|
6
6
|
brandIn: Brand<"nat">;
|
|
7
7
|
brandOut: Brand<"nat">;
|
|
8
|
-
latestRoundPublisher:
|
|
8
|
+
latestRoundPublisher: Recorder<LatestRound>;
|
|
9
9
|
timerPresence: TimerService;
|
|
10
10
|
}> & {
|
|
11
11
|
unitAmountIn: Amount<"nat">;
|
|
@@ -79,7 +79,7 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
|
|
|
79
79
|
/** @param {PriceQuoteValue} quote */
|
|
80
80
|
authenticateQuote(quote: PriceQuoteValue): Promise<{
|
|
81
81
|
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
82
|
-
quotePayment:
|
|
82
|
+
quotePayment: import("@agoric/ertp").Payment<"set", PriceDescription>;
|
|
83
83
|
}>;
|
|
84
84
|
/**
|
|
85
85
|
* @param {object} param0
|
|
@@ -91,10 +91,10 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
|
|
|
91
91
|
timestamp?: Timestamp | undefined;
|
|
92
92
|
}): ((priceQuery: any) => Promise<{
|
|
93
93
|
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
94
|
-
quotePayment:
|
|
95
|
-
}> | undefined) & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, (priceQuery: any) => Promise<{
|
|
94
|
+
quotePayment: import("@agoric/ertp").Payment<"set", PriceDescription>;
|
|
95
|
+
}> | undefined) & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, (priceQuery: any) => Promise<{
|
|
96
96
|
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
97
|
-
quotePayment:
|
|
97
|
+
quotePayment: import("@agoric/ertp").Payment<"set", PriceDescription>;
|
|
98
98
|
}> | undefined>;
|
|
99
99
|
/**
|
|
100
100
|
* @param {OracleStatus} status
|
|
@@ -177,12 +177,12 @@ export type RoundDetails = {
|
|
|
177
177
|
roundTimeout: number;
|
|
178
178
|
};
|
|
179
179
|
export type QuoteKit = IssuerKit<"set", PriceDescription>;
|
|
180
|
-
export type HeldParams = Readonly<
|
|
180
|
+
export type HeldParams = Readonly<ChainlinkConfig & {
|
|
181
181
|
quoteKit: QuoteKit;
|
|
182
182
|
answerPublisher: Publisher<void>;
|
|
183
183
|
brandIn: Brand<"nat">;
|
|
184
184
|
brandOut: Brand<"nat">;
|
|
185
|
-
latestRoundPublisher:
|
|
185
|
+
latestRoundPublisher: Recorder<LatestRound>;
|
|
186
186
|
timerPresence: TimerService;
|
|
187
187
|
}>;
|
|
188
188
|
export type ImmutableState = Readonly<HeldParams & {
|
|
@@ -195,10 +195,17 @@ export type MutableState = {
|
|
|
195
195
|
reportingRoundId: bigint;
|
|
196
196
|
};
|
|
197
197
|
export type State = ImmutableState & MutableState;
|
|
198
|
+
import type { ChainlinkConfig } from './fluxAggregatorKit.js';
|
|
199
|
+
import type { Publisher } from '@agoric/notifier';
|
|
200
|
+
import type { Brand } from '@agoric/ertp';
|
|
201
|
+
import type { Recorder } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
198
202
|
import type { TimerService } from '@agoric/time';
|
|
203
|
+
import type { Amount } from '@agoric/ertp';
|
|
199
204
|
import type { OracleStatus } from './priceOracleKit.js';
|
|
200
205
|
import type { Timestamp } from '@agoric/time';
|
|
201
206
|
import type { PriceQuoteValue } from '@agoric/zoe/tools/types.js';
|
|
202
207
|
import type { PriceDescription } from '@agoric/zoe/tools/types.js';
|
|
208
|
+
import type { NatValue } from '@agoric/ertp';
|
|
209
|
+
import type { IssuerKit } from '@agoric/ertp';
|
|
203
210
|
import type { MapStore } from '@agoric/store';
|
|
204
211
|
//# sourceMappingURL=roundsManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundsManager.d.ts","sourceRoot":"","sources":["roundsManager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"roundsManager.d.ts","sourceRoot":"","sources":["roundsManager.js"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,15 @@ const { add, subtract, multiply, floorDivide, ceilDivide, isGTE } = natSafeMath;
|
|
|
17
17
|
/**
|
|
18
18
|
* @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
|
|
19
19
|
* @import {Timestamp, TimerService} from '@agoric/time'
|
|
20
|
+
* @import {Publisher} from '@agoric/notifier';
|
|
20
21
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
21
22
|
* @import {OracleStatus} from './priceOracleKit.js'
|
|
23
|
+
* @import {ChainlinkConfig} from './fluxAggregatorKit.js';
|
|
24
|
+
* @import {Recorder} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
25
|
+
* @import {NatValue} from '@agoric/ertp';
|
|
26
|
+
* @import {IssuerKit} from '@agoric/ertp';
|
|
27
|
+
* @import {Amount} from '@agoric/ertp';
|
|
28
|
+
* @import {Brand} from '@agoric/ertp';
|
|
22
29
|
*/
|
|
23
30
|
|
|
24
31
|
/** @type {string} */
|
|
@@ -67,12 +74,12 @@ const validRoundId = roundId => {
|
|
|
67
74
|
|
|
68
75
|
/**
|
|
69
76
|
* @typedef {Readonly<
|
|
70
|
-
*
|
|
77
|
+
* ChainlinkConfig & {
|
|
71
78
|
* quoteKit: QuoteKit;
|
|
72
79
|
* answerPublisher: Publisher<void>;
|
|
73
80
|
* brandIn: Brand<'nat'>;
|
|
74
81
|
* brandOut: Brand<'nat'>;
|
|
75
|
-
* latestRoundPublisher:
|
|
82
|
+
* latestRoundPublisher: Recorder<LatestRound>;
|
|
76
83
|
* timerPresence: TimerService;
|
|
77
84
|
* }
|
|
78
85
|
* >} HeldParams
|