@agoric/inter-protocol 0.18.0-u23.0 → 0.18.0-u23.1
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 +13 -13
- package/src/auction/util.d.ts +33 -0
- package/src/auction/util.d.ts.map +1 -0
- package/src/clientSupport.d.ts +124 -0
- package/src/clientSupport.d.ts.map +1 -0
- package/src/collectFees.d.ts +6 -0
- package/src/collectFees.d.ts.map +1 -0
- package/src/contractSupport.d.ts +36 -0
- package/src/contractSupport.d.ts.map +1 -0
- package/src/econCommitteeCharter.d.ts +54 -0
- package/src/econCommitteeCharter.d.ts.map +1 -0
- package/src/feeDistributor.d.ts +228 -0
- package/src/feeDistributor.d.ts.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/interest-math.d.ts +5 -0
- package/src/interest-math.d.ts.map +1 -0
- package/src/interest.d.ts +42 -0
- package/src/interest.d.ts.map +1 -0
- package/src/price/fluxAggregatorContract.d.ts +95 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -0
- package/src/price/fluxAggregatorKit.d.ts +114 -0
- package/src/price/fluxAggregatorKit.d.ts.map +1 -0
- package/src/price/priceOracleKit.d.ts +41 -0
- package/src/price/priceOracleKit.d.ts.map +1 -0
- package/src/price/roundsManager.d.ts +211 -0
- package/src/price/roundsManager.d.ts.map +1 -0
- package/src/proposals/utils.d.ts +27 -0
- package/src/proposals/utils.d.ts.map +1 -0
- package/src/provisionPool.d.ts +87 -0
- package/src/provisionPool.d.ts.map +1 -0
- package/src/provisionPoolKit.d.ts +81 -0
- package/src/provisionPoolKit.d.ts.map +1 -0
- package/src/psm/psm.d.ts +145 -0
- package/src/psm/psm.d.ts.map +1 -0
- package/src/reserve/assetReserve.d.ts +68 -0
- package/src/reserve/assetReserve.d.ts.map +1 -0
- package/src/reserve/assetReserveKit.d.ts +106 -0
- package/src/reserve/assetReserveKit.d.ts.map +1 -0
- package/src/reserve/params.d.ts +16 -0
- package/src/reserve/params.d.ts.map +1 -0
- package/src/tokens.d.ts +3 -0
- package/src/tokens.d.ts.map +1 -0
- package/src/vaultFactory/burn.d.ts +5 -0
- package/src/vaultFactory/burn.d.ts.map +1 -0
- package/src/vaultFactory/math.d.ts +13 -0
- package/src/vaultFactory/math.d.ts.map +1 -0
- package/src/vaultFactory/orderedVaultStore.d.ts +94 -0
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
- package/src/vaultFactory/params.d.ts +170 -0
- package/src/vaultFactory/params.d.ts.map +1 -0
- package/src/vaultFactory/prioritizedVaults.d.ts +283 -0
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
- package/src/vaultFactory/storeUtils.d.ts +30 -0
- package/src/vaultFactory/storeUtils.d.ts.map +1 -0
- package/src/vaultFactory/types.d.ts +137 -0
- package/src/vaultFactory/types.d.ts.map +1 -0
- package/src/vaultFactory/vault.d.ts +360 -0
- package/src/vaultFactory/vault.d.ts.map +1 -0
- package/src/vaultFactory/vaultDirector.d.ts +337 -0
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
- package/src/vaultFactory/vaultFactory.d.ts +202 -0
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
- package/src/vaultFactory/vaultHolder.d.ts +177 -0
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
- package/src/vaultFactory/vaultKit.d.ts +38 -0
- package/src/vaultFactory/vaultKit.d.ts.map +1 -0
- package/src/vaultFactory/vaultManager.d.ts +526 -0
- package/src/vaultFactory/vaultManager.d.ts.map +1 -0
- package/src/c.log +0 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import {Baggage} from '@agoric/vat-data'
|
|
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';
|
|
16
|
+
*/
|
|
17
|
+
/** @type {ContractMeta<typeof start>} */
|
|
18
|
+
export const meta: ContractMeta<typeof start>;
|
|
19
|
+
export function start(zcf: ZCF<ChainlinkConfig & {
|
|
20
|
+
timer: TimerService;
|
|
21
|
+
brandIn: Brand<"nat">;
|
|
22
|
+
brandOut: Brand<"nat">;
|
|
23
|
+
description: string;
|
|
24
|
+
unitAmountIn?: Amount<"nat">;
|
|
25
|
+
}>, privateArgs: {
|
|
26
|
+
highPrioritySendersManager?: PrioritySendersManager;
|
|
27
|
+
initialPoserInvitation: Invitation;
|
|
28
|
+
marshaller: Remote<Marshaller>;
|
|
29
|
+
namesByAddressAdmin: ERef<NameAdmin>;
|
|
30
|
+
storageNode: Remote<StorageNode>;
|
|
31
|
+
}, baggage: Baggage): Promise<{
|
|
32
|
+
creatorFacet: import("@endo/exo").Guarded<{
|
|
33
|
+
getParamMgrRetriever: () => {
|
|
34
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
35
|
+
Electorate: "invitation";
|
|
36
|
+
}>;
|
|
37
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
38
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
39
|
+
Electorate: "invitation";
|
|
40
|
+
}>;
|
|
41
|
+
}>;
|
|
42
|
+
getInvitation: (name: any) => Promise<Invitation>;
|
|
43
|
+
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
44
|
+
makeOracleInvitation(oracleId: string): Promise<Invitation<{
|
|
45
|
+
invitationMakers: {
|
|
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>>;
|
|
49
|
+
}>;
|
|
50
|
+
oracle: import("@endo/exo").Guarded<{
|
|
51
|
+
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
52
|
+
getStatus(): OracleStatus;
|
|
53
|
+
}>;
|
|
54
|
+
}, undefined>>;
|
|
55
|
+
removeOracle(oracleId: string): Promise<void>;
|
|
56
|
+
getRoundData: (roundIdRaw: any) => Promise<import("./roundsManager.js").RoundData>;
|
|
57
|
+
initOracle(oracleId: string): Promise<import("@endo/exo").GuardedKit<{
|
|
58
|
+
admin: {
|
|
59
|
+
disable(): void;
|
|
60
|
+
};
|
|
61
|
+
oracle: {
|
|
62
|
+
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
63
|
+
getStatus(): OracleStatus;
|
|
64
|
+
};
|
|
65
|
+
}>>;
|
|
66
|
+
oracleRoundState(oracleId: string, queriedRoundId: bigint): Promise<RoundState>;
|
|
67
|
+
}>;
|
|
68
|
+
getGovernedApis: () => import("@agoric/governance").GovernedApis;
|
|
69
|
+
getGovernedApiNames: () => string[];
|
|
70
|
+
setOfferFilter: (strings: any) => Promise<void>;
|
|
71
|
+
}>;
|
|
72
|
+
publicFacet: import("@endo/exo").Guarded<{
|
|
73
|
+
getPriceAuthority(): import("@agoric/zoe/tools/types.js").PriceAuthority;
|
|
74
|
+
getPublicTopics(): {
|
|
75
|
+
quotes: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("@agoric/zoe/tools/types.js").PriceDescription>;
|
|
76
|
+
latestRound: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./roundsManager.js").LatestRound>;
|
|
77
|
+
};
|
|
78
|
+
}>;
|
|
79
|
+
}>;
|
|
80
|
+
export type FluxStartFn = typeof start;
|
|
81
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
82
|
+
import type { ChainlinkConfig } from './fluxAggregatorKit.js';
|
|
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';
|
|
94
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
95
|
+
//# sourceMappingURL=fluxAggregatorContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export const INVITATION_MAKERS_DESC: "oracle invitation";
|
|
2
|
+
export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF<ChainlinkConfig & {
|
|
3
|
+
timer: TimerService;
|
|
4
|
+
brandIn: Brand<"nat">;
|
|
5
|
+
brandOut: Brand<"nat">;
|
|
6
|
+
unitAmountIn?: Amount<"nat">;
|
|
7
|
+
}>, timerPresence: TimerService, quoteKit: QuoteKit, storageNode: Remote<StorageNode>, makeDurablePublishKit: () => PublishKit<any>, makeRecorder: MakeRecorder): Promise<() => import("@endo/exo").GuardedKit<{
|
|
8
|
+
creator: {
|
|
9
|
+
/**
|
|
10
|
+
* An "oracle invitation" is an invitation to be able to submit data to
|
|
11
|
+
* include in the priceAggregator's results.
|
|
12
|
+
*
|
|
13
|
+
* The offer result from this invitation is a OracleAdmin, which can be
|
|
14
|
+
* used directly to manage the price submissions as well as to terminate
|
|
15
|
+
* the relationship.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} oracleId unique per contract instance
|
|
18
|
+
*/
|
|
19
|
+
makeOracleInvitation(oracleId: string): Promise<import("@agoric/zoe").Invitation<{
|
|
20
|
+
invitationMakers: {
|
|
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
|
+
}>;
|
|
27
|
+
oracle: import("@endo/exo").Guarded<{
|
|
28
|
+
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
29
|
+
getStatus(): OracleStatus;
|
|
30
|
+
}>;
|
|
31
|
+
}, undefined>>;
|
|
32
|
+
/** @param {string} oracleId */
|
|
33
|
+
removeOracle(oracleId: string): Promise<void>;
|
|
34
|
+
getRoundData: (roundIdRaw: any) => Promise<import("./roundsManager.js").RoundData>;
|
|
35
|
+
/** @param {string} oracleId */
|
|
36
|
+
initOracle(oracleId: string): Promise<import("@endo/exo").GuardedKit<{
|
|
37
|
+
admin: {
|
|
38
|
+
disable(): void;
|
|
39
|
+
};
|
|
40
|
+
oracle: {
|
|
41
|
+
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
42
|
+
getStatus(): OracleStatus;
|
|
43
|
+
};
|
|
44
|
+
}>>;
|
|
45
|
+
/**
|
|
46
|
+
* a method to provide all current info oracleStatuses need. Intended
|
|
47
|
+
* only only to be callable by oracleStatuses. Not for use by contracts
|
|
48
|
+
* to read state.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} oracleId
|
|
51
|
+
* @param {bigint} queriedRoundId
|
|
52
|
+
* @returns {Promise<RoundState>}
|
|
53
|
+
*/
|
|
54
|
+
oracleRoundState(oracleId: string, queriedRoundId: bigint): Promise<RoundState>;
|
|
55
|
+
};
|
|
56
|
+
public: {
|
|
57
|
+
getPriceAuthority(): PriceAuthority;
|
|
58
|
+
getPublicTopics(): {
|
|
59
|
+
quotes: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<PriceDescription>;
|
|
60
|
+
latestRound: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<LatestRound>;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}>>;
|
|
64
|
+
export type RoundState = {
|
|
65
|
+
eligibleForSpecificRound: boolean;
|
|
66
|
+
queriedRoundId: bigint;
|
|
67
|
+
latestSubmission: bigint;
|
|
68
|
+
startedAt: Timestamp;
|
|
69
|
+
roundTimeout: number;
|
|
70
|
+
oracleCount: number;
|
|
71
|
+
};
|
|
72
|
+
export type ChainlinkConfig = {
|
|
73
|
+
maxSubmissionCount: number;
|
|
74
|
+
minSubmissionCount: number;
|
|
75
|
+
/**
|
|
76
|
+
* the number of rounds an Oracle has to wait
|
|
77
|
+
* before they can initiate a round
|
|
78
|
+
*/
|
|
79
|
+
restartDelay: bigint;
|
|
80
|
+
/**
|
|
81
|
+
* an immutable check for a lower bound of
|
|
82
|
+
* what submission values are accepted from an oracle
|
|
83
|
+
*/
|
|
84
|
+
minSubmissionValue: number;
|
|
85
|
+
/**
|
|
86
|
+
* an immutable check for an upper bound
|
|
87
|
+
* of what submission values are accepted from an oracle
|
|
88
|
+
*/
|
|
89
|
+
maxSubmissionValue: number;
|
|
90
|
+
/**
|
|
91
|
+
* the number of seconds after the previous round
|
|
92
|
+
* that allowed to lapse before allowing an oracle to skip an unfinished
|
|
93
|
+
* round
|
|
94
|
+
*/
|
|
95
|
+
timeout: number;
|
|
96
|
+
};
|
|
97
|
+
export type FluxAggregatorKit = EReturn<EReturn<typeof prepareFluxAggregatorKit>>;
|
|
98
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
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';
|
|
109
|
+
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
110
|
+
import type { PriceDescription } from '@agoric/zoe/tools/types.js';
|
|
111
|
+
import type { LatestRound } from './roundsManager.js';
|
|
112
|
+
import type { Timestamp } from '@agoric/time';
|
|
113
|
+
import type { EReturn } from '@endo/far';
|
|
114
|
+
//# sourceMappingURL=fluxAggregatorKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const INVITATION_MAKERS_DESC: "oracle invitation";
|
|
2
|
+
export function prepareOracleAdminKit(baggage: any): (args_0: HeldParams) => import("@endo/exo").GuardedKit<{
|
|
3
|
+
admin: {
|
|
4
|
+
disable(): void;
|
|
5
|
+
};
|
|
6
|
+
oracle: {
|
|
7
|
+
/**
|
|
8
|
+
* push a unitPrice result from this oracle
|
|
9
|
+
*
|
|
10
|
+
* @param {PriceDatum} datum
|
|
11
|
+
*/
|
|
12
|
+
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
13
|
+
/** @returns {OracleStatus} */
|
|
14
|
+
getStatus(): OracleStatus;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
export type HeldParams = {
|
|
18
|
+
oracleId: string;
|
|
19
|
+
roundPowers: {
|
|
20
|
+
handlePush: (status: OracleStatus, result: PriceRound) => Promise<OracleStatus>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type PriceDatum = {
|
|
24
|
+
roundId: number | undefined;
|
|
25
|
+
unitPrice: NatValue;
|
|
26
|
+
};
|
|
27
|
+
export type OracleStatus = {
|
|
28
|
+
disabled?: boolean | undefined;
|
|
29
|
+
lastReportedRound: bigint;
|
|
30
|
+
lastStartedRound: bigint;
|
|
31
|
+
latestSubmission: bigint;
|
|
32
|
+
oracleId: string;
|
|
33
|
+
};
|
|
34
|
+
export type ImmutableState = Readonly<HeldParams & {}>;
|
|
35
|
+
export type MutableState = OracleStatus & {};
|
|
36
|
+
export type State = ImmutableState & MutableState;
|
|
37
|
+
export type OracleKit = EReturn<EReturn<typeof prepareOracleAdminKit>>;
|
|
38
|
+
import type { PriceRound } from './roundsManager.js';
|
|
39
|
+
import type { NatValue } from '@agoric/ertp';
|
|
40
|
+
import type { EReturn } from '@endo/far';
|
|
41
|
+
//# sourceMappingURL=priceOracleKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/** @type {bigint} */
|
|
2
|
+
export const ROUND_MAX: bigint;
|
|
3
|
+
export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<ChainlinkConfig & {
|
|
4
|
+
quoteKit: QuoteKit;
|
|
5
|
+
answerPublisher: Publisher<void>;
|
|
6
|
+
brandIn: Brand<"nat">;
|
|
7
|
+
brandOut: Brand<"nat">;
|
|
8
|
+
latestRoundPublisher: Recorder<LatestRound>;
|
|
9
|
+
timerPresence: TimerService;
|
|
10
|
+
}> & {
|
|
11
|
+
unitAmountIn: Amount<"nat">;
|
|
12
|
+
}) => import("@endo/exo").GuardedKit<{
|
|
13
|
+
helper: {
|
|
14
|
+
/** @param {bigint} roundId */
|
|
15
|
+
acceptingSubmissions(roundId: bigint): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* @param {OracleStatus} status
|
|
18
|
+
* @param {bigint} roundId
|
|
19
|
+
*/
|
|
20
|
+
delayed(status: OracleStatus, roundId: bigint): boolean;
|
|
21
|
+
/** @param {bigint} roundId */
|
|
22
|
+
deleteRoundDetails(roundId: bigint): void;
|
|
23
|
+
/** @param {bigint} roundId */
|
|
24
|
+
isNextRound(roundId: bigint): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* @param {bigint} roundId
|
|
27
|
+
* @param {Timestamp} blockTimestamp
|
|
28
|
+
* @param {string} oracleId
|
|
29
|
+
*/
|
|
30
|
+
initializeNewRound(roundId: bigint, blockTimestamp: Timestamp, oracleId: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* @param {bigint} roundId
|
|
33
|
+
* @param {bigint} rrId reporting round ID
|
|
34
|
+
*/
|
|
35
|
+
previousAndCurrentUnanswered(roundId: bigint, rrId: bigint): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* @param {bigint} roundId
|
|
38
|
+
* @param {OracleStatus} status
|
|
39
|
+
* @param {Timestamp} blockTimestamp
|
|
40
|
+
* @returns {OracleStatus | undefined} the new status
|
|
41
|
+
*/
|
|
42
|
+
proposeNewRound(roundId: bigint, status: OracleStatus, blockTimestamp: Timestamp): OracleStatus | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* @param {bigint} submission
|
|
45
|
+
* @param {bigint} roundId
|
|
46
|
+
* @param {OracleStatus} status
|
|
47
|
+
* @returns {OracleStatus} the new status
|
|
48
|
+
*/
|
|
49
|
+
recordSubmission(submission: bigint, roundId: bigint, status: OracleStatus): OracleStatus;
|
|
50
|
+
/**
|
|
51
|
+
* @param {bigint} roundId
|
|
52
|
+
* @param {Timestamp} blockTimestamp
|
|
53
|
+
*/
|
|
54
|
+
supersedable(roundId: bigint, blockTimestamp: Timestamp): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* @param {bigint} roundId
|
|
57
|
+
* @param {Timestamp} blockTimestamp
|
|
58
|
+
*/
|
|
59
|
+
timedOut(roundId: bigint, blockTimestamp: Timestamp): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @param {bigint} roundId
|
|
62
|
+
* @param {Timestamp} blockTimestamp
|
|
63
|
+
*/
|
|
64
|
+
updateRoundAnswer(roundId: bigint, blockTimestamp: Timestamp): (number | boolean)[] | (bigint | boolean)[];
|
|
65
|
+
/**
|
|
66
|
+
* @param {bigint} roundId
|
|
67
|
+
* @param {Timestamp} blockTimestamp
|
|
68
|
+
*/
|
|
69
|
+
updateTimedOutRoundInfo(roundId: bigint, blockTimestamp: Timestamp): void;
|
|
70
|
+
/**
|
|
71
|
+
* @param {OracleStatus} status
|
|
72
|
+
* @param {bigint} roundId
|
|
73
|
+
* @param {Timestamp} blockTimestamp
|
|
74
|
+
* @returns {string | null} error message, if there is one
|
|
75
|
+
*/
|
|
76
|
+
validateOracleRound(status: OracleStatus, roundId: bigint, blockTimestamp: Timestamp): string | null;
|
|
77
|
+
};
|
|
78
|
+
contract: {
|
|
79
|
+
/** @param {PriceQuoteValue} quote */
|
|
80
|
+
authenticateQuote(quote: PriceQuoteValue): Promise<{
|
|
81
|
+
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
82
|
+
quotePayment: import("@agoric/ertp").Payment<"set", PriceDescription>;
|
|
83
|
+
}>;
|
|
84
|
+
/**
|
|
85
|
+
* @param {object} param0
|
|
86
|
+
* @param {number} [param0.overrideValueOut]
|
|
87
|
+
* @param {Timestamp} [param0.timestamp]
|
|
88
|
+
*/
|
|
89
|
+
makeCreateQuote({ overrideValueOut, timestamp }?: {
|
|
90
|
+
overrideValueOut?: number | undefined;
|
|
91
|
+
timestamp?: Timestamp | undefined;
|
|
92
|
+
}): ((priceQuery: any) => Promise<{
|
|
93
|
+
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
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
|
+
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
97
|
+
quotePayment: import("@agoric/ertp").Payment<"set", PriceDescription>;
|
|
98
|
+
}> | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* @param {OracleStatus} status
|
|
101
|
+
* @param {bigint} queriedRoundId
|
|
102
|
+
* @param {Timestamp} blockTimestamp
|
|
103
|
+
*/
|
|
104
|
+
eligibleForSpecificRound(status: OracleStatus, queriedRoundId: bigint, blockTimestamp: Timestamp): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* consumers are encouraged to check that they're receiving fresh data
|
|
107
|
+
* by inspecting the updatedAt and answeredInRound return values.
|
|
108
|
+
*
|
|
109
|
+
* @param {bigint | number} roundIdRaw
|
|
110
|
+
* @returns {Promise<RoundData>}
|
|
111
|
+
*/
|
|
112
|
+
getRoundData(roundIdRaw: bigint | number): Promise<RoundData>;
|
|
113
|
+
getRoundStatus(roundId: bigint): Readonly<RoundDetails & Round>;
|
|
114
|
+
/**
|
|
115
|
+
* a method to provide all current info oracleStatuses need. Intended
|
|
116
|
+
* only to be callable by oracleStatuses. Not for use by contracts to
|
|
117
|
+
* read state.
|
|
118
|
+
*
|
|
119
|
+
* @param {OracleStatus} status
|
|
120
|
+
* @param {Timestamp} blockTimestamp
|
|
121
|
+
*/
|
|
122
|
+
oracleRoundStateSuggestRound(status: OracleStatus, blockTimestamp: Timestamp): {
|
|
123
|
+
eligibleForSpecificRound: boolean;
|
|
124
|
+
queriedRoundId: bigint;
|
|
125
|
+
latestSubmission: bigint;
|
|
126
|
+
startedAt: Timestamp;
|
|
127
|
+
roundTimeout: number;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
oracle: {
|
|
131
|
+
/**
|
|
132
|
+
* push a unitPrice result from this oracle
|
|
133
|
+
*
|
|
134
|
+
* @param {OracleStatus} status
|
|
135
|
+
* @param {PriceRound} result
|
|
136
|
+
*/
|
|
137
|
+
handlePush(status: OracleStatus, { roundId: roundIdRaw, unitPrice: valueRaw }: PriceRound): Promise<OracleStatus>;
|
|
138
|
+
};
|
|
139
|
+
}>;
|
|
140
|
+
export type PriceRound = {
|
|
141
|
+
roundId: number | undefined;
|
|
142
|
+
unitPrice: NatValue;
|
|
143
|
+
};
|
|
144
|
+
export type LatestRound = Pick<RoundData, "roundId" | "startedAt"> & {
|
|
145
|
+
startedBy: string;
|
|
146
|
+
};
|
|
147
|
+
export type RoundData = Round & {
|
|
148
|
+
roundId: bigint;
|
|
149
|
+
};
|
|
150
|
+
export type Round = {
|
|
151
|
+
/**
|
|
152
|
+
* the answer for the given round
|
|
153
|
+
*/
|
|
154
|
+
answer: bigint;
|
|
155
|
+
/**
|
|
156
|
+
* the timestamp when the round was started.
|
|
157
|
+
* This is 0 if the round hasn't been started yet.
|
|
158
|
+
*/
|
|
159
|
+
startedAt: Timestamp;
|
|
160
|
+
/**
|
|
161
|
+
* the timestamp when the round last was updated
|
|
162
|
+
* (i.e. answer was last computed)
|
|
163
|
+
*/
|
|
164
|
+
updatedAt: Timestamp;
|
|
165
|
+
/**
|
|
166
|
+
* the round ID of the round in which the
|
|
167
|
+
* answer was computed. answeredInRound may be smaller than roundId when the
|
|
168
|
+
* round timed out. answeredInRound is equal to roundId when the round didn't
|
|
169
|
+
* time out and was completed regularly.
|
|
170
|
+
*/
|
|
171
|
+
answeredInRound: bigint;
|
|
172
|
+
};
|
|
173
|
+
export type RoundDetails = {
|
|
174
|
+
submissions: bigint[];
|
|
175
|
+
maxSubmissions: number;
|
|
176
|
+
minSubmissions: number;
|
|
177
|
+
roundTimeout: number;
|
|
178
|
+
};
|
|
179
|
+
export type QuoteKit = IssuerKit<"set", PriceDescription>;
|
|
180
|
+
export type HeldParams = Readonly<ChainlinkConfig & {
|
|
181
|
+
quoteKit: QuoteKit;
|
|
182
|
+
answerPublisher: Publisher<void>;
|
|
183
|
+
brandIn: Brand<"nat">;
|
|
184
|
+
brandOut: Brand<"nat">;
|
|
185
|
+
latestRoundPublisher: Recorder<LatestRound>;
|
|
186
|
+
timerPresence: TimerService;
|
|
187
|
+
}>;
|
|
188
|
+
export type ImmutableState = Readonly<HeldParams & {
|
|
189
|
+
details: MapStore<bigint, RoundDetails>;
|
|
190
|
+
rounds: MapStore<bigint, Round>;
|
|
191
|
+
unitIn: bigint;
|
|
192
|
+
}>;
|
|
193
|
+
export type MutableState = {
|
|
194
|
+
lastValueOutForUnitIn: bigint | null;
|
|
195
|
+
reportingRoundId: bigint;
|
|
196
|
+
};
|
|
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';
|
|
202
|
+
import type { TimerService } from '@agoric/time';
|
|
203
|
+
import type { Amount } from '@agoric/ertp';
|
|
204
|
+
import type { OracleStatus } from './priceOracleKit.js';
|
|
205
|
+
import type { Timestamp } from '@agoric/time';
|
|
206
|
+
import type { PriceQuoteValue } from '@agoric/zoe/tools/types.js';
|
|
207
|
+
import type { PriceDescription } from '@agoric/zoe/tools/types.js';
|
|
208
|
+
import type { NatValue } from '@agoric/ertp';
|
|
209
|
+
import type { IssuerKit } from '@agoric/ertp';
|
|
210
|
+
import type { MapStore } from '@agoric/store';
|
|
211
|
+
//# sourceMappingURL=roundsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roundsManager.d.ts","sourceRoot":"","sources":["roundsManager.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function reserveThenGetNamePaths(nameAdmin: ERef<NameAdmin>, paths: string[][]): Promise<unknown[]>;
|
|
2
|
+
export function reserveThenGetNames(nameAdmin: ERef<NameAdmin>, names: string[]): Promise<any[]>;
|
|
3
|
+
export function reserveThenDeposit(debugName: string, namesByAddressAdmin: ERef<NameAdmin>, addr: string, payments: ERef<Payment>[]): Promise<void>;
|
|
4
|
+
export function makeInstallCache(homeP: Promise<{
|
|
5
|
+
scratch: ERef<ScratchPad>;
|
|
6
|
+
}>, { installCacheKey, loadBundle }: {
|
|
7
|
+
loadBundle: (specifier: string) => Promise<{
|
|
8
|
+
default: Bundle;
|
|
9
|
+
}>;
|
|
10
|
+
installCacheKey?: string | undefined;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
wrapInstall: (install: any) => (mPath: any, bPath: any, opts: any) => Promise<any>;
|
|
13
|
+
saveCache: () => Promise<void>;
|
|
14
|
+
}>;
|
|
15
|
+
export function oracleBrandFeedName(inBrandName: any, outBrandName: any): string;
|
|
16
|
+
export function scaledPriceFeedName(issuerName: any): string;
|
|
17
|
+
/** @type {(name: string) => string} */
|
|
18
|
+
export const sanitizePathSegment: (name: string) => string;
|
|
19
|
+
export function provideRetiredInstances(consume: Promise<MapStore>, produce: Producer<MapStore>): Promise<MapStore>;
|
|
20
|
+
import type { NameAdmin } from '@agoric/vats';
|
|
21
|
+
import type { ERef } from '@agoric/vow';
|
|
22
|
+
import type { Payment } from '@agoric/ertp';
|
|
23
|
+
import type { ScratchPad } from '@agoric/internal/src/scratch.js';
|
|
24
|
+
import type { Bundle } from '@agoric/swingset-vat';
|
|
25
|
+
import type { MapStore } from '@agoric/store';
|
|
26
|
+
import type { Producer } from '@agoric/vats/src/core/types.js';
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"AAuBO,mDAHI,KAAK,SAAS,CAAC,SACf,MAAM,EAAE,EAAE,sBAgCpB;AAOM,+CAJI,KAAK,SAAS,CAAC,SACf,MAAM,EAAE,GACN,OAAO,CAAC,GAAG,EAAE,CAAC,CAMxB;AAQI,8CALI,MAAM,uBACN,KAAK,SAAS,CAAC,QACf,MAAM,YACN,KAAK,OAAO,CAAC,EAAE,iBAwBzB;AA2BM,wCAPI,OAAO,CAAC;IACd,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC;CAC3B,CAAC,mCAEF;IAAkE,UAAU,EAApE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,eAAe;CAAC;oCAkCD,UAAK,EAAE,UAAK,EAAE,SAAI;;GAkBzD;AAEM,iFACsC;AAEtC,6DAC+B;AAEtC,uCAAuC;AACvC,kCADW,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAKjC;AAUK,iDAJI,OAAO,CAAC,QAAQ,CAAC,WACjB,SAAS,QAAQ,CAAC,GAChB,OAAO,CAAC,QAAQ,CAAC,CAW7B;+BAjM2B,cAAc;0BAKnB,aAAa;6BADV,cAAc;gCAHX,iCAAiC;4BACrC,sBAAsB;8BAHV,eAAe;8BAOzB,gCAAgC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import {Remote} from '@agoric/internal';
|
|
3
|
+
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
4
|
+
* @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
|
|
5
|
+
* @import {GovernanceTerms} from '@agoric/governance/src/types.js';
|
|
6
|
+
* @import {ERef} from '@endo/far';
|
|
7
|
+
* @import {Bank} from '@agoric/vats/src/vat-bank.js';
|
|
8
|
+
* @import {MetricsNotification} from './provisionPoolKit.js';
|
|
9
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
10
|
+
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
11
|
+
* @import {Marshaller} from '@agoric/internal/src/lib-chainStorage.js';
|
|
12
|
+
*/
|
|
13
|
+
/** @type {ContractMeta<typeof start>} */
|
|
14
|
+
export const meta: ContractMeta<typeof start>;
|
|
15
|
+
export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
16
|
+
poolBank: ERef<Bank>;
|
|
17
|
+
initialPoserInvitation: Invitation;
|
|
18
|
+
storageNode: Remote<StorageNode>;
|
|
19
|
+
marshaller: Remote<Marshaller>;
|
|
20
|
+
metricsOverride?: MetricsNotification;
|
|
21
|
+
governedParamOverrides?: Record<string, Amount | undefined>;
|
|
22
|
+
}, baggage: Baggage): Promise<{
|
|
23
|
+
creatorFacet: import("@endo/exo").Guarded<{
|
|
24
|
+
getParamMgrRetriever: () => {
|
|
25
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
26
|
+
PerAccountInitialAmount: "amount";
|
|
27
|
+
} & {
|
|
28
|
+
Electorate: "invitation";
|
|
29
|
+
}>;
|
|
30
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
31
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
32
|
+
PerAccountInitialAmount: "amount";
|
|
33
|
+
} & {
|
|
34
|
+
Electorate: "invitation";
|
|
35
|
+
}>;
|
|
36
|
+
}>;
|
|
37
|
+
getInvitation: (name: any) => Promise<Invitation>;
|
|
38
|
+
getLimitedCreatorFacet: () => {
|
|
39
|
+
addRevivableAddresses: (oldAddresses: string[]) => void;
|
|
40
|
+
getWalletReviver: () => ERef<any>;
|
|
41
|
+
setReferences: (erefs: import("./provisionPoolKit.js").ProvisionPoolKitReferences) => Promise<void>;
|
|
42
|
+
makeHandler: () => ERef<import("@agoric/vats").BridgeHandler>;
|
|
43
|
+
initPSM: (brand: Brand, instance: import("@agoric/zoe/src/zoeService/utils.js").Instance<typeof import("./psm/psm.js").start>) => void;
|
|
44
|
+
};
|
|
45
|
+
getGovernedApis: () => import("@agoric/governance").GovernedApis;
|
|
46
|
+
getGovernedApiNames: () => string[];
|
|
47
|
+
setOfferFilter: (strings: any) => Promise<void>;
|
|
48
|
+
}>;
|
|
49
|
+
publicFacet: import("@endo/exo").Guarded<{
|
|
50
|
+
getAmount: (name: string) => Amount;
|
|
51
|
+
getBrand: (name: string) => Brand;
|
|
52
|
+
getInstance: (name: string) => import("@agoric/zoe").Instance;
|
|
53
|
+
getInstallation: (name: string) => import("@agoric/zoe").Installation;
|
|
54
|
+
getInvitationAmount: (name: string) => import("@agoric/zoe").InvitationAmount;
|
|
55
|
+
getNat: (name: string) => bigint;
|
|
56
|
+
getRatio: (name: string) => import("@agoric/ertp").Ratio;
|
|
57
|
+
getString: (name: string) => string;
|
|
58
|
+
getTimestamp: (name: string) => import("@agoric/time").TimestampRecord;
|
|
59
|
+
getRelativeTime: (name: string) => import("@agoric/time").RelativeTimeRecord;
|
|
60
|
+
getUnknown: (name: string) => any;
|
|
61
|
+
getSubscription: () => import("@agoric/notifier").StoredSubscription<import("@agoric/governance").GovernanceSubscriptionState>;
|
|
62
|
+
getGovernedParams: () => ERef<import("@agoric/governance").ParamStateRecord>;
|
|
63
|
+
getMetrics(): Promise<any>;
|
|
64
|
+
getPublicTopics(): Promise<any>;
|
|
65
|
+
}>;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
|
|
69
|
+
*/
|
|
70
|
+
export type ProvisionTerms = StandardTerms & GovernanceTerms<{
|
|
71
|
+
PerAccountInitialAmount: "amount";
|
|
72
|
+
}>;
|
|
73
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
74
|
+
import type { ZCF } from '@agoric/zoe';
|
|
75
|
+
import type { Bank } from '@agoric/vats/src/vat-bank.js';
|
|
76
|
+
import type { ERef } from '@endo/far';
|
|
77
|
+
import type { Invitation } from '@agoric/zoe';
|
|
78
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
79
|
+
import type { Remote } from '@agoric/internal';
|
|
80
|
+
import type { Marshaller } from '@agoric/internal/src/lib-chainStorage.js';
|
|
81
|
+
import type { MetricsNotification } from './provisionPoolKit.js';
|
|
82
|
+
import type { Amount } from '@agoric/ertp';
|
|
83
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
84
|
+
import type { Brand } from '@agoric/ertp';
|
|
85
|
+
import type { StandardTerms } from '@agoric/zoe';
|
|
86
|
+
import type { GovernanceTerms } from '@agoric/governance/src/types.js';
|
|
87
|
+
//# sourceMappingURL=provisionPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;GAWG;AAEH,yCAAyC;AACzC,mBADW,aAAa,OAAO,KAAK,CAAC,CAgBnC;AAoBK,2BAXI,IAAI,cAAc,CAAC,eACnB;IACN,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;IACrB,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7D,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EjB;;;;6BA3FY,aAAa,GACzB,gBAAoB;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;kCAjCwD,aAAa;yBAAb,aAAa;0BAGrD,8BAA8B;0BAD9B,WAAW;gCAF6B,aAAa;iCAM9C,0CAA0C;4BAR/C,kBAAkB;gCASd,0CAA0C;yCAHjC,uBAAuB;4BALb,cAAc;6BAMpC,kBAAkB;2BANI,cAAc;mCACC,aAAa;qCAC1C,iCAAiC"}
|