@agoric/inter-protocol 0.16.2-other-dev-1f26562.0 → 0.16.2-other-dev-3eb1a1d.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.
- package/README.md +6 -6
- package/package.json +42 -36
- package/scripts/build-bundles.js +5 -21
- package/src/auction/auctionBook.d.ts +147 -0
- package/src/auction/auctionBook.d.ts.map +1 -0
- package/src/auction/auctionBook.js +156 -150
- package/src/auction/auctionMath.d.ts +17 -0
- package/src/auction/auctionMath.d.ts.map +1 -0
- package/src/auction/auctionMath.js +81 -0
- package/src/auction/auctioneer.d.ts +69 -0
- package/src/auction/auctioneer.d.ts.map +1 -0
- package/src/auction/auctioneer.js +70 -59
- package/src/auction/offerBook.d.ts +45 -0
- package/src/auction/offerBook.d.ts.map +1 -0
- package/src/auction/offerBook.js +13 -12
- package/src/auction/params.d.ts +144 -0
- package/src/auction/params.d.ts.map +1 -0
- package/src/auction/params.js +10 -9
- package/src/auction/scheduleMath.d.ts +5 -0
- package/src/auction/scheduleMath.d.ts.map +1 -0
- package/src/auction/scheduleMath.js +18 -16
- package/src/auction/scheduler.d.ts +50 -0
- package/src/auction/scheduler.d.ts.map +1 -0
- package/src/auction/scheduler.js +53 -47
- package/src/auction/sortedOffers.d.ts +8 -0
- package/src/auction/sortedOffers.d.ts.map +1 -0
- package/src/auction/sortedOffers.js +10 -9
- package/src/auction/util.d.ts +30 -0
- package/src/auction/util.d.ts.map +1 -0
- package/src/auction/util.js +9 -6
- package/src/clientSupport.d.ts +167 -0
- package/src/clientSupport.d.ts.map +1 -0
- package/src/clientSupport.js +155 -97
- package/src/collectFees.d.ts +2 -0
- package/src/collectFees.d.ts.map +1 -0
- package/src/contractSupport.d.ts +28 -0
- package/src/contractSupport.d.ts.map +1 -0
- package/src/contractSupport.js +19 -13
- package/src/econCommitteeCharter.d.ts +40 -0
- package/src/econCommitteeCharter.d.ts.map +1 -0
- package/src/econCommitteeCharter.js +21 -20
- package/src/feeDistributor.d.ts +224 -0
- package/src/feeDistributor.d.ts.map +1 -0
- package/src/feeDistributor.js +37 -33
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +1 -0
- package/src/interest-math.d.ts +3 -0
- package/src/interest-math.d.ts.map +1 -0
- package/src/interest.d.ts +28 -0
- package/src/interest.d.ts.map +1 -0
- package/src/interest.js +23 -18
- package/src/price/README.md +13 -0
- package/src/price/fluxAggregatorContract.d.ts +71 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -0
- package/src/price/fluxAggregatorContract.js +64 -55
- package/src/price/fluxAggregatorKit.d.ts +103 -0
- package/src/price/fluxAggregatorKit.d.ts.map +1 -0
- package/src/price/fluxAggregatorKit.js +52 -40
- package/src/price/priceOracleKit.d.ts +38 -0
- package/src/price/priceOracleKit.d.ts.map +1 -0
- package/src/price/priceOracleKit.js +12 -14
- package/src/price/roundsManager.d.ts +204 -0
- package/src/price/roundsManager.d.ts.map +1 -0
- package/src/price/roundsManager.js +131 -85
- package/src/proposals/README.md +2 -3
- package/src/proposals/add-auction.d.ts +109 -0
- package/src/proposals/add-auction.d.ts.map +1 -0
- package/src/proposals/add-auction.js +256 -0
- package/src/proposals/addAssetToVault.d.ts +173 -0
- package/src/proposals/addAssetToVault.d.ts.map +1 -0
- package/src/proposals/addAssetToVault.js +192 -40
- package/src/proposals/committee-proposal.d.ts +113 -0
- package/src/proposals/committee-proposal.d.ts.map +1 -0
- package/src/proposals/committee-proposal.js +25 -31
- package/src/proposals/core-proposal.d.ts +149 -0
- package/src/proposals/core-proposal.d.ts.map +1 -0
- package/src/proposals/core-proposal.js +9 -11
- package/src/proposals/deploy-price-feeds.d.ts +76 -0
- package/src/proposals/deploy-price-feeds.d.ts.map +1 -0
- package/src/proposals/deploy-price-feeds.js +316 -0
- package/src/proposals/econ-behaviors.d.ts +541 -0
- package/src/proposals/econ-behaviors.d.ts.map +1 -0
- package/src/proposals/econ-behaviors.js +64 -45
- package/src/proposals/price-feed-proposal.d.ts +84 -0
- package/src/proposals/price-feed-proposal.d.ts.map +1 -0
- package/src/proposals/price-feed-proposal.js +109 -51
- package/src/proposals/replace-fee-distributor.d.ts +48 -0
- package/src/proposals/replace-fee-distributor.d.ts.map +1 -0
- package/src/proposals/replace-fee-distributor.js +195 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts +30 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/replace-scaledPriceAuthorities.js +124 -0
- package/src/proposals/replaceElectorate.d.ts +55 -0
- package/src/proposals/replaceElectorate.d.ts.map +1 -0
- package/src/proposals/replaceElectorate.js +521 -0
- package/src/proposals/startEconCommittee.d.ts +34 -0
- package/src/proposals/startEconCommittee.d.ts.map +1 -0
- package/src/proposals/startEconCommittee.js +2 -2
- package/src/proposals/startPSM.d.ts +59 -0
- package/src/proposals/startPSM.d.ts.map +1 -0
- package/src/proposals/startPSM.js +44 -29
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
- package/src/proposals/upgrade-vaults.d.ts +41 -0
- package/src/proposals/upgrade-vaults.d.ts.map +1 -0
- package/src/proposals/upgrade-vaults.js +202 -0
- package/src/proposals/utils.d.ts +19 -0
- package/src/proposals/utils.d.ts.map +1 -0
- package/src/proposals/utils.js +43 -9
- package/src/provisionPool.d.ts +163 -0
- package/src/provisionPool.d.ts.map +1 -0
- package/src/provisionPool.js +122 -0
- package/src/provisionPoolKit.d.ts +359 -0
- package/src/provisionPoolKit.d.ts.map +1 -0
- package/src/provisionPoolKit.js +522 -0
- package/src/psm/psm.d.ts +125 -0
- package/src/psm/psm.d.ts.map +1 -0
- package/src/psm/psm.js +80 -79
- package/src/psm/types-ambient.d.ts +2 -0
- package/src/psm/types-ambient.d.ts.map +1 -0
- package/src/psm/types-ambient.js +3 -0
- package/src/reserve/assetReserve.d.ts +47 -0
- package/src/reserve/assetReserve.d.ts.map +1 -0
- package/src/reserve/assetReserve.js +28 -19
- package/src/reserve/assetReserveKit.d.ts +74 -0
- package/src/reserve/assetReserveKit.d.ts.map +1 -0
- package/src/reserve/assetReserveKit.js +24 -30
- package/src/reserve/params.d.ts +10 -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/tokens.js +5 -0
- package/src/vaultFactory/burn.d.ts +2 -0
- package/src/vaultFactory/burn.d.ts.map +1 -0
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +23 -0
- package/src/vaultFactory/liquidation.d.ts.map +1 -0
- package/src/vaultFactory/liquidation.js +37 -24
- package/src/vaultFactory/math.d.ts +11 -0
- package/src/vaultFactory/math.d.ts.map +1 -0
- package/src/vaultFactory/math.js +10 -9
- package/src/vaultFactory/orderedVaultStore.d.ts +93 -0
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
- package/src/vaultFactory/orderedVaultStore.js +8 -11
- package/src/vaultFactory/params.d.ts +140 -0
- package/src/vaultFactory/params.d.ts.map +1 -0
- package/src/vaultFactory/params.js +52 -24
- package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
- package/src/vaultFactory/prioritizedVaults.js +4 -4
- package/src/vaultFactory/proceeds.d.ts +35 -0
- package/src/vaultFactory/proceeds.d.ts.map +1 -0
- package/src/vaultFactory/proceeds.js +26 -18
- package/src/vaultFactory/storeUtils.d.ts +25 -0
- package/src/vaultFactory/storeUtils.d.ts.map +1 -0
- package/src/vaultFactory/storeUtils.js +10 -12
- package/src/vaultFactory/types-ambient.d.ts +137 -0
- package/src/vaultFactory/types-ambient.d.ts.map +1 -0
- package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
- package/src/vaultFactory/vault.d.ts +343 -0
- package/src/vaultFactory/vault.d.ts.map +1 -0
- package/src/vaultFactory/vault.js +105 -99
- package/src/vaultFactory/vaultDirector.d.ts +341 -0
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
- package/src/vaultFactory/vaultDirector.js +86 -64
- package/src/vaultFactory/vaultFactory.d.ts +202 -0
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
- package/src/vaultFactory/vaultFactory.js +52 -33
- package/src/vaultFactory/vaultHolder.d.ts +126 -0
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
- package/src/vaultFactory/vaultHolder.js +11 -16
- package/src/vaultFactory/vaultKit.d.ts +32 -0
- package/src/vaultFactory/vaultKit.d.ts.map +1 -0
- package/src/vaultFactory/vaultKit.js +5 -4
- package/src/vaultFactory/vaultManager.d.ts +674 -0
- package/src/vaultFactory/vaultManager.d.ts.map +1 -0
- package/src/vaultFactory/vaultManager.js +257 -158
- package/CHANGELOG.md +0 -1041
- package/exported.js +0 -2
- package/scripts/add-collateral-core.js +0 -112
- package/scripts/deploy-contracts.js +0 -100
- package/scripts/init-core.js +0 -198
- package/scripts/invite-committee-core.js +0 -42
- package/scripts/manual-price-feed.js +0 -117
- package/scripts/price-feed-core.js +0 -104
- package/scripts/start-local-chain.sh +0 -84
- package/src/psm/types.js +0 -3
- package/src/typeGuards.js +0 -13
- package/src/vaultFactory/type-imports.js +0 -4
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export function addAuction({ consume: { agoricNamesAdmin, auctioneerKit: legacyKitP, board, chainStorage, chainTimerService, economicCommitteeCreatorFacet: electorateCreatorFacet, governedContractKits: governedContractKitsP, priceAuthority8400, zoe, }, produce: { auctioneerKit: produceAuctioneerKit, auctionUpgradeNewInstance, auctionUpgradeNewGovCreator, newContractGovBundleId, }, instance: { consume: { reserve: reserveInstance }, produce: { auctioneer: auctionInstance }, }, installation: { consume: { auctioneer: auctioneerInstallationP }, }, issuer: { consume: { [Stable.symbol]: stableIssuerP }, }, }: import("./econ-behaviors.js").EconomyBootstrapPowers & interlockPowers, { options: { contractGovernorRef: contractGovernorBundle, contractGovernorInstallation, }, }: {
|
|
2
|
+
options: {
|
|
3
|
+
contractGovernorRef: {
|
|
4
|
+
bundleID: string;
|
|
5
|
+
};
|
|
6
|
+
contractGovernorInstallation: Installation;
|
|
7
|
+
};
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export const ADD_AUCTION_MANIFEST: {
|
|
10
|
+
[x: string]: {
|
|
11
|
+
consume: {
|
|
12
|
+
agoricNamesAdmin: boolean;
|
|
13
|
+
auctioneerKit: boolean;
|
|
14
|
+
board: boolean;
|
|
15
|
+
chainStorage: boolean;
|
|
16
|
+
chainTimerService: boolean;
|
|
17
|
+
econCharterKit: boolean;
|
|
18
|
+
economicCommitteeCreatorFacet: boolean;
|
|
19
|
+
governedContractKits: boolean;
|
|
20
|
+
priceAuthority8400: boolean;
|
|
21
|
+
zoe: boolean;
|
|
22
|
+
};
|
|
23
|
+
produce: {
|
|
24
|
+
auctioneerKit: boolean;
|
|
25
|
+
auctionUpgradeNewInstance: boolean;
|
|
26
|
+
auctionUpgradeNewGovCreator: boolean;
|
|
27
|
+
newContractGovBundleId: boolean;
|
|
28
|
+
};
|
|
29
|
+
instance: {
|
|
30
|
+
consume: {
|
|
31
|
+
reserve: boolean;
|
|
32
|
+
};
|
|
33
|
+
produce: {
|
|
34
|
+
auctioneer: boolean;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
installation: {
|
|
38
|
+
consume: {
|
|
39
|
+
contractGovernor: boolean;
|
|
40
|
+
auctioneer: boolean;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
issuer: {
|
|
44
|
+
consume: {
|
|
45
|
+
IST: boolean;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export function getManifestForAddAuction({ restoreRef }: {
|
|
51
|
+
restoreRef: any;
|
|
52
|
+
}, { auctioneerRef, contractGovernorRef }: any): Promise<{
|
|
53
|
+
manifest: {
|
|
54
|
+
[x: string]: {
|
|
55
|
+
consume: {
|
|
56
|
+
agoricNamesAdmin: boolean;
|
|
57
|
+
auctioneerKit: boolean;
|
|
58
|
+
board: boolean;
|
|
59
|
+
chainStorage: boolean;
|
|
60
|
+
chainTimerService: boolean;
|
|
61
|
+
econCharterKit: boolean;
|
|
62
|
+
economicCommitteeCreatorFacet: boolean;
|
|
63
|
+
governedContractKits: boolean;
|
|
64
|
+
priceAuthority8400: boolean;
|
|
65
|
+
zoe: boolean;
|
|
66
|
+
};
|
|
67
|
+
produce: {
|
|
68
|
+
auctioneerKit: boolean;
|
|
69
|
+
auctionUpgradeNewInstance: boolean;
|
|
70
|
+
auctionUpgradeNewGovCreator: boolean;
|
|
71
|
+
newContractGovBundleId: boolean;
|
|
72
|
+
};
|
|
73
|
+
instance: {
|
|
74
|
+
consume: {
|
|
75
|
+
reserve: boolean;
|
|
76
|
+
};
|
|
77
|
+
produce: {
|
|
78
|
+
auctioneer: boolean;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
installation: {
|
|
82
|
+
consume: {
|
|
83
|
+
contractGovernor: boolean;
|
|
84
|
+
auctioneer: boolean;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
issuer: {
|
|
88
|
+
consume: {
|
|
89
|
+
IST: boolean;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
options: {
|
|
95
|
+
contractGovernorRef: any;
|
|
96
|
+
contractGovernorInstallation: any;
|
|
97
|
+
};
|
|
98
|
+
installations: {
|
|
99
|
+
auctioneer: any;
|
|
100
|
+
contractGovernor: any;
|
|
101
|
+
};
|
|
102
|
+
}>;
|
|
103
|
+
export type interlockPowers = PromiseSpaceOf<{
|
|
104
|
+
auctionUpgradeNewInstance: Instance;
|
|
105
|
+
auctionUpgradeNewGovCreator: any;
|
|
106
|
+
newContractGovBundleId: string;
|
|
107
|
+
}>;
|
|
108
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
109
|
+
//# sourceMappingURL=add-auction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-auction.d.ts","sourceRoot":"","sources":["add-auction.js"],"names":[],"mappings":"AA0BO,kmBATI,OAAO,qBAAqB,EAAE,sBAAsB,GAC1D,eAAe,gGACT;IACN,OAAO,EAAE;QACP,mBAAmB,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,4BAA4B,EAAE,YAAY,CAAC;KAC5C,CAAC;CACH,iBA8KH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BG;AASI,yDAHJ;IAAmB,UAAU,EAArB,GAAG;CACX,0CAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBb;8BAtPY,cAAc,CAAC;IACvB,yBAAyB,EAAE,QAAQ,CAAC;IACpC,2BAA2B,EAAE,GAAG,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;uBAVkB,gCAAgC"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
|
|
2
|
+
import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
|
|
3
|
+
import { E } from '@endo/far';
|
|
4
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
5
|
+
import { makeGovernedTerms as makeGovernedATerms } from '../auction/params.js';
|
|
6
|
+
|
|
7
|
+
const trace = makeTracer('NewAuction', true);
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @typedef {PromiseSpaceOf<{
|
|
11
|
+
* auctionUpgradeNewInstance: Instance;
|
|
12
|
+
* auctionUpgradeNewGovCreator: any;
|
|
13
|
+
* newContractGovBundleId: string;
|
|
14
|
+
* }>} interlockPowers
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @param {import('./econ-behaviors.js').EconomyBootstrapPowers &
|
|
19
|
+
* interlockPowers} powers
|
|
20
|
+
* @param {{
|
|
21
|
+
* options: {
|
|
22
|
+
* contractGovernorRef: { bundleID: string };
|
|
23
|
+
* contractGovernorInstallation: Installation;
|
|
24
|
+
* };
|
|
25
|
+
* }} options
|
|
26
|
+
*/
|
|
27
|
+
export const addAuction = async (
|
|
28
|
+
{
|
|
29
|
+
consume: {
|
|
30
|
+
agoricNamesAdmin,
|
|
31
|
+
auctioneerKit: legacyKitP,
|
|
32
|
+
board,
|
|
33
|
+
chainStorage,
|
|
34
|
+
chainTimerService,
|
|
35
|
+
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
36
|
+
governedContractKits: governedContractKitsP,
|
|
37
|
+
priceAuthority8400,
|
|
38
|
+
zoe,
|
|
39
|
+
},
|
|
40
|
+
produce: {
|
|
41
|
+
auctioneerKit: produceAuctioneerKit,
|
|
42
|
+
auctionUpgradeNewInstance,
|
|
43
|
+
auctionUpgradeNewGovCreator,
|
|
44
|
+
newContractGovBundleId,
|
|
45
|
+
},
|
|
46
|
+
instance: {
|
|
47
|
+
consume: { reserve: reserveInstance },
|
|
48
|
+
produce: { auctioneer: auctionInstance },
|
|
49
|
+
},
|
|
50
|
+
installation: {
|
|
51
|
+
consume: { auctioneer: auctioneerInstallationP },
|
|
52
|
+
},
|
|
53
|
+
issuer: {
|
|
54
|
+
consume: { [Stable.symbol]: stableIssuerP },
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
options: {
|
|
59
|
+
contractGovernorRef: contractGovernorBundle,
|
|
60
|
+
contractGovernorInstallation,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
) => {
|
|
64
|
+
trace('addAuction start');
|
|
65
|
+
const STORAGE_PATH = 'auction';
|
|
66
|
+
|
|
67
|
+
const poserInvitationP = E(electorateCreatorFacet).getPoserInvitation();
|
|
68
|
+
const [
|
|
69
|
+
initialPoserInvitation,
|
|
70
|
+
electorateInvitationAmount,
|
|
71
|
+
stableIssuer,
|
|
72
|
+
legacyKit,
|
|
73
|
+
auctioneerInstallation,
|
|
74
|
+
] = await Promise.all([
|
|
75
|
+
poserInvitationP,
|
|
76
|
+
E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
|
|
77
|
+
stableIssuerP,
|
|
78
|
+
legacyKitP,
|
|
79
|
+
auctioneerInstallationP,
|
|
80
|
+
]);
|
|
81
|
+
|
|
82
|
+
// Each field has an extra layer of type + value:
|
|
83
|
+
// AuctionStartDelay: { type: 'relativeTime', value: { relValue: 2n, timerBrand: Object [Alleged: timerBrand] {} } }
|
|
84
|
+
/** @type {any} */
|
|
85
|
+
const paramValues = await E(legacyKit.publicFacet).getGovernedParams();
|
|
86
|
+
const params = harden({
|
|
87
|
+
StartFrequency: paramValues.StartFrequency.value,
|
|
88
|
+
ClockStep: paramValues.ClockStep.value,
|
|
89
|
+
StartingRate: paramValues.StartingRate.value,
|
|
90
|
+
LowestRate: paramValues.LowestRate.value,
|
|
91
|
+
DiscountStep: paramValues.DiscountStep.value,
|
|
92
|
+
AuctionStartDelay: paramValues.AuctionStartDelay.value,
|
|
93
|
+
PriceLockPeriod: paramValues.PriceLockPeriod.value,
|
|
94
|
+
});
|
|
95
|
+
const timerBrand = await E(chainTimerService).getTimerBrand();
|
|
96
|
+
|
|
97
|
+
const storageNode = await makeStorageNodeChild(chainStorage, STORAGE_PATH);
|
|
98
|
+
const marshaller = await E(board).getReadonlyMarshaller();
|
|
99
|
+
|
|
100
|
+
const reservePublicFacet = await E(zoe).getPublicFacet(reserveInstance);
|
|
101
|
+
|
|
102
|
+
const auctionTerms = makeGovernedATerms(
|
|
103
|
+
{ storageNode, marshaller },
|
|
104
|
+
chainTimerService,
|
|
105
|
+
priceAuthority8400,
|
|
106
|
+
reservePublicFacet,
|
|
107
|
+
{
|
|
108
|
+
...params,
|
|
109
|
+
ElectorateInvitationAmount: electorateInvitationAmount,
|
|
110
|
+
TimerBrand: timerBrand,
|
|
111
|
+
},
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
const governorTerms = await deeplyFulfilledObject(
|
|
115
|
+
harden({
|
|
116
|
+
timer: chainTimerService,
|
|
117
|
+
governedContractInstallation: auctioneerInstallation,
|
|
118
|
+
governed: {
|
|
119
|
+
terms: auctionTerms,
|
|
120
|
+
issuerKeywordRecord: { Bid: stableIssuer },
|
|
121
|
+
storageNode,
|
|
122
|
+
marshaller,
|
|
123
|
+
label: 'auctioneer',
|
|
124
|
+
},
|
|
125
|
+
}),
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
const bundleIdFromZoe = await E(zoe).getBundleIDFromInstallation(
|
|
129
|
+
contractGovernorInstallation,
|
|
130
|
+
);
|
|
131
|
+
trace('governor bundle ID', bundleIdFromZoe, contractGovernorBundle.bundleID);
|
|
132
|
+
|
|
133
|
+
/** @type {GovernorStartedInstallationKit<typeof auctioneerInstallationP>} */
|
|
134
|
+
const governorStartResult = await E(zoe).startInstance(
|
|
135
|
+
contractGovernorInstallation,
|
|
136
|
+
undefined,
|
|
137
|
+
governorTerms,
|
|
138
|
+
harden({
|
|
139
|
+
electorateCreatorFacet,
|
|
140
|
+
governed: {
|
|
141
|
+
initialPoserInvitation,
|
|
142
|
+
storageNode,
|
|
143
|
+
marshaller,
|
|
144
|
+
},
|
|
145
|
+
}),
|
|
146
|
+
'auctioneer.governor',
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
const [
|
|
150
|
+
governedInstance,
|
|
151
|
+
governedCreatorFacet,
|
|
152
|
+
governedPublicFacet,
|
|
153
|
+
governedAdminFacet,
|
|
154
|
+
] = await Promise.all([
|
|
155
|
+
E(governorStartResult.creatorFacet).getInstance(),
|
|
156
|
+
E(governorStartResult.creatorFacet).getCreatorFacet(),
|
|
157
|
+
E(governorStartResult.creatorFacet).getPublicFacet(),
|
|
158
|
+
E(governorStartResult.creatorFacet).getAdminFacet(),
|
|
159
|
+
]);
|
|
160
|
+
|
|
161
|
+
const allIssuers = await E(zoe).getIssuers(legacyKit.instance);
|
|
162
|
+
const { Bid: _istIssuer, ...auctionIssuers } = allIssuers;
|
|
163
|
+
await Promise.all(
|
|
164
|
+
Object.keys(auctionIssuers).map(kwd =>
|
|
165
|
+
E(governedCreatorFacet).addBrand(
|
|
166
|
+
/** @type {Issuer<'nat'>} */ (auctionIssuers[kwd]),
|
|
167
|
+
kwd,
|
|
168
|
+
),
|
|
169
|
+
),
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
const kit = harden({
|
|
173
|
+
label: 'auctioneer',
|
|
174
|
+
creatorFacet: governedCreatorFacet,
|
|
175
|
+
adminFacet: governedAdminFacet,
|
|
176
|
+
publicFacet: governedPublicFacet,
|
|
177
|
+
instance: governedInstance,
|
|
178
|
+
|
|
179
|
+
governor: governorStartResult.instance,
|
|
180
|
+
governorCreatorFacet: governorStartResult.creatorFacet,
|
|
181
|
+
governorAdminFacet: governorStartResult.adminFacet,
|
|
182
|
+
});
|
|
183
|
+
produceAuctioneerKit.reset();
|
|
184
|
+
produceAuctioneerKit.resolve(kit);
|
|
185
|
+
|
|
186
|
+
auctionInstance.reset();
|
|
187
|
+
await auctionInstance.resolve(governedInstance);
|
|
188
|
+
// belt and suspenders; the above is supposed to also do this
|
|
189
|
+
await E(E(agoricNamesAdmin).lookupAdmin('instance')).update(
|
|
190
|
+
'auctioneer',
|
|
191
|
+
governedInstance,
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
const governedContractKits = await governedContractKitsP;
|
|
195
|
+
governedContractKits.init(kit.instance, kit);
|
|
196
|
+
auctionUpgradeNewInstance.resolve(governedInstance);
|
|
197
|
+
auctionUpgradeNewGovCreator.resolve(kit.governorCreatorFacet);
|
|
198
|
+
newContractGovBundleId.resolve(contractGovernorBundle.bundleID);
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export const ADD_AUCTION_MANIFEST = harden({
|
|
202
|
+
[addAuction.name]: {
|
|
203
|
+
consume: {
|
|
204
|
+
agoricNamesAdmin: true,
|
|
205
|
+
auctioneerKit: true,
|
|
206
|
+
board: true,
|
|
207
|
+
chainStorage: true,
|
|
208
|
+
chainTimerService: true,
|
|
209
|
+
econCharterKit: true,
|
|
210
|
+
economicCommitteeCreatorFacet: true,
|
|
211
|
+
governedContractKits: true,
|
|
212
|
+
priceAuthority8400: true,
|
|
213
|
+
zoe: true,
|
|
214
|
+
},
|
|
215
|
+
produce: {
|
|
216
|
+
auctioneerKit: true,
|
|
217
|
+
auctionUpgradeNewInstance: true,
|
|
218
|
+
auctionUpgradeNewGovCreator: true,
|
|
219
|
+
newContractGovBundleId: true,
|
|
220
|
+
},
|
|
221
|
+
instance: {
|
|
222
|
+
consume: { reserve: true },
|
|
223
|
+
produce: { auctioneer: true },
|
|
224
|
+
},
|
|
225
|
+
installation: {
|
|
226
|
+
consume: { contractGovernor: true, auctioneer: true },
|
|
227
|
+
},
|
|
228
|
+
issuer: {
|
|
229
|
+
consume: { [Stable.symbol]: true },
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Add a new auction to a chain that already has one.
|
|
236
|
+
*
|
|
237
|
+
* @param {object} utils
|
|
238
|
+
* @param {any} utils.restoreRef
|
|
239
|
+
* @param {any} addAuctionOptions
|
|
240
|
+
*/
|
|
241
|
+
export const getManifestForAddAuction = async (
|
|
242
|
+
{ restoreRef },
|
|
243
|
+
{ auctioneerRef, contractGovernorRef },
|
|
244
|
+
) => {
|
|
245
|
+
const contractGovernorInstallation = restoreRef(contractGovernorRef);
|
|
246
|
+
return {
|
|
247
|
+
manifest: ADD_AUCTION_MANIFEST,
|
|
248
|
+
// XXX we should be able to receive contractGovernorInstallation via
|
|
249
|
+
// installations.consume, but the received installation isn't right.
|
|
250
|
+
options: { contractGovernorRef, contractGovernorInstallation },
|
|
251
|
+
installations: {
|
|
252
|
+
auctioneer: restoreRef(auctioneerRef),
|
|
253
|
+
contractGovernor: restoreRef(contractGovernorRef),
|
|
254
|
+
},
|
|
255
|
+
};
|
|
256
|
+
};
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
export * from "./startPSM.js";
|
|
2
|
+
export function publishInterchainAssetFromBoardId({ consume: { board, agoricNamesAdmin } }: BootstrapPowers, { options: { interchainAssetOptions } }: {
|
|
3
|
+
options: {
|
|
4
|
+
interchainAssetOptions: InterchainAssetOptions;
|
|
5
|
+
};
|
|
6
|
+
}): Promise<[void, void]>;
|
|
7
|
+
export function publishInterchainAssetFromBank({ consume: { bankManager, agoricNamesAdmin, reserveKit, startUpgradable }, installation: { consume: { mintHolder }, }, }: EconomyBootstrapPowers, { options: { interchainAssetOptions } }: {
|
|
8
|
+
options: {
|
|
9
|
+
interchainAssetOptions: InterchainAssetOptions;
|
|
10
|
+
};
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export function startScaledPriceAuthority({ consume: { agoricNamesAdmin, startUpgradable, priceAuthorityAdmin, priceAuthority, }, }: BootstrapPowers, { options: { interchainAssetOptions } }: {
|
|
13
|
+
options: {
|
|
14
|
+
interchainAssetOptions: InterchainAssetOptions;
|
|
15
|
+
};
|
|
16
|
+
}): Promise<{
|
|
17
|
+
instance: import("@agoric/zoe/src/zoeService/utils.js").Instance<import("@agoric/zoe/src/zoeService/utils.js").ContractStartFunction>;
|
|
18
|
+
adminFacet: import("@agoric/zoe/src/zoeService/utils.js").AdminFacet<import("@agoric/zoe/src/zoeService/utils.js").ContractStartFunction>;
|
|
19
|
+
creatorFacet: {};
|
|
20
|
+
publicFacet: {};
|
|
21
|
+
} & {
|
|
22
|
+
creatorFacet?: {};
|
|
23
|
+
publicFacet?: {};
|
|
24
|
+
} & {
|
|
25
|
+
label: string;
|
|
26
|
+
}>;
|
|
27
|
+
export function registerScaledPriceAuthority(powers: BootstrapPowers, { options }: {
|
|
28
|
+
options: object;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
export function addAssetToVault({ consume: { vaultFactoryKit, agoricNamesAdmin, auctioneerKit, chainTimerService, }, brand: { consume: { [Stable.symbol]: stableP }, }, instance: { consume: consumeInstance }, }: EconomyBootstrapPowers, { options: { debtLimitValue, interestRateValue, interchainAssetOptions, }, }: {
|
|
31
|
+
options: {
|
|
32
|
+
interchainAssetOptions: InterchainAssetOptions;
|
|
33
|
+
debtLimitValue: bigint | number | string;
|
|
34
|
+
interestRateValue: bigint;
|
|
35
|
+
};
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
export function getManifestForAddAssetToVault({ restoreRef }: {
|
|
38
|
+
restoreRef: any;
|
|
39
|
+
}, { debtLimitValue, interestRateValue, interchainAssetOptions, scaledPriceAuthorityRef, }: {
|
|
40
|
+
debtLimitValue: any;
|
|
41
|
+
interestRateValue: any;
|
|
42
|
+
interchainAssetOptions: any;
|
|
43
|
+
scaledPriceAuthorityRef: any;
|
|
44
|
+
}): {
|
|
45
|
+
manifest: {
|
|
46
|
+
[x: string]: {
|
|
47
|
+
consume: {
|
|
48
|
+
board: boolean;
|
|
49
|
+
agoricNamesAdmin: boolean;
|
|
50
|
+
bankManager?: undefined;
|
|
51
|
+
reserveKit?: undefined;
|
|
52
|
+
startUpgradable?: undefined;
|
|
53
|
+
priceAuthorityAdmin?: undefined;
|
|
54
|
+
priceAuthority?: undefined;
|
|
55
|
+
auctioneerKit?: undefined;
|
|
56
|
+
vaultFactoryKit?: undefined;
|
|
57
|
+
chainTimerService?: undefined;
|
|
58
|
+
};
|
|
59
|
+
produce?: undefined;
|
|
60
|
+
installation?: undefined;
|
|
61
|
+
instance?: undefined;
|
|
62
|
+
brand?: undefined;
|
|
63
|
+
} | {
|
|
64
|
+
consume: {
|
|
65
|
+
bankManager: boolean;
|
|
66
|
+
agoricNamesAdmin: boolean;
|
|
67
|
+
reserveKit: boolean;
|
|
68
|
+
startUpgradable: boolean;
|
|
69
|
+
board?: undefined;
|
|
70
|
+
priceAuthorityAdmin?: undefined;
|
|
71
|
+
priceAuthority?: undefined;
|
|
72
|
+
auctioneerKit?: undefined;
|
|
73
|
+
vaultFactoryKit?: undefined;
|
|
74
|
+
chainTimerService?: undefined;
|
|
75
|
+
};
|
|
76
|
+
produce: {
|
|
77
|
+
bankMints: boolean;
|
|
78
|
+
vBankKits: boolean;
|
|
79
|
+
};
|
|
80
|
+
installation: {
|
|
81
|
+
consume: {
|
|
82
|
+
mintHolder: boolean;
|
|
83
|
+
scaledPriceAuthority?: undefined;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
instance?: undefined;
|
|
87
|
+
brand?: undefined;
|
|
88
|
+
} | {
|
|
89
|
+
consume: {
|
|
90
|
+
agoricNamesAdmin: boolean;
|
|
91
|
+
startUpgradable: boolean;
|
|
92
|
+
priceAuthorityAdmin: boolean;
|
|
93
|
+
priceAuthority: boolean;
|
|
94
|
+
board?: undefined;
|
|
95
|
+
bankManager?: undefined;
|
|
96
|
+
reserveKit?: undefined;
|
|
97
|
+
auctioneerKit?: undefined;
|
|
98
|
+
vaultFactoryKit?: undefined;
|
|
99
|
+
chainTimerService?: undefined;
|
|
100
|
+
};
|
|
101
|
+
instance: {
|
|
102
|
+
produce: boolean;
|
|
103
|
+
consume?: undefined;
|
|
104
|
+
};
|
|
105
|
+
installation: {
|
|
106
|
+
consume: {
|
|
107
|
+
scaledPriceAuthority: boolean;
|
|
108
|
+
mintHolder?: undefined;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
produce?: undefined;
|
|
112
|
+
brand?: undefined;
|
|
113
|
+
} | {
|
|
114
|
+
consume: {
|
|
115
|
+
auctioneerKit: string;
|
|
116
|
+
vaultFactoryKit: string;
|
|
117
|
+
agoricNamesAdmin: boolean;
|
|
118
|
+
chainTimerService: boolean;
|
|
119
|
+
board?: undefined;
|
|
120
|
+
bankManager?: undefined;
|
|
121
|
+
reserveKit?: undefined;
|
|
122
|
+
startUpgradable?: undefined;
|
|
123
|
+
priceAuthorityAdmin?: undefined;
|
|
124
|
+
priceAuthority?: undefined;
|
|
125
|
+
};
|
|
126
|
+
brand: {
|
|
127
|
+
consume: {
|
|
128
|
+
IST: boolean;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
instance: {
|
|
132
|
+
consume: boolean;
|
|
133
|
+
produce?: undefined;
|
|
134
|
+
};
|
|
135
|
+
produce?: undefined;
|
|
136
|
+
installation?: undefined;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
installations: {
|
|
140
|
+
scaledPriceAuthority: any;
|
|
141
|
+
};
|
|
142
|
+
options: {
|
|
143
|
+
debtLimitValue: any;
|
|
144
|
+
interchainAssetOptions: any;
|
|
145
|
+
interestRateValue: any;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
export type InterchainAssetOptions = {
|
|
149
|
+
issuerBoardId?: string | undefined;
|
|
150
|
+
denom?: string | undefined;
|
|
151
|
+
decimalPlaces?: number | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* - used in regstering with reserve, vaultFactory
|
|
154
|
+
*/
|
|
155
|
+
keyword: string;
|
|
156
|
+
/**
|
|
157
|
+
* - used in agoricNames for compatibility:
|
|
158
|
+
* defaults to `keyword` if not provided
|
|
159
|
+
*/
|
|
160
|
+
issuerName?: string | undefined;
|
|
161
|
+
/**
|
|
162
|
+
* - defaults to `issuerName` if not provided
|
|
163
|
+
*/
|
|
164
|
+
proposedName?: string | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* - defaults to `issuerName` if not provided
|
|
167
|
+
*/
|
|
168
|
+
oracleBrand?: string | undefined;
|
|
169
|
+
initialPrice?: number | undefined;
|
|
170
|
+
};
|
|
171
|
+
import type { EconomyBootstrapPowers } from './econ-behaviors.js';
|
|
172
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
173
|
+
//# sourceMappingURL=addAssetToVault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAssetToVault.d.ts","sourceRoot":"","sources":["addAssetToVault.js"],"names":[],"mappings":";AA4CO,4FALI,eAAe,2CAEvB;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA,yBAsBA;AAQM,yKALI,sBAAsB,2CAE9B;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA,iBAmDA;AAQM,qIALI,eAAe,2CAEvB;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;KAChC;CAAA;;;;;;;;;;GAuGA;AAOM,qDAJI,eAAe,eAEvB;IAAuB,OAAO,EAAtB,MAAM;CAChB,iBAgBA;AA+EM,mNAPI,sBAAsB,gFAE9B;IAAuB,OAAO,EAC9B;QAA+C,sBAAsB,EAA7D,sBAAsB;QACmB,cAAc,EAAvD,MAAM,GAAG,MAAM,GAAG,MAAM;QACD,iBAAiB,EAAxC,MAAM;KAChB;CAAA,iBAyEA;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EN;;;;;;;;aA1ca,MAAM;;;;;;;;;;;;;;;;4CAQsB,qBAAqB;uBAzBxC,gCAAgC"}
|