@agoric/vats 0.15.1 → 0.15.2-calypso-dev-84eb287.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 +3 -0
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -0
- package/index.js +9 -0
- package/package.json +43 -48
- package/scripts/build-bundles.js +19 -0
- package/src/bridge-target.d.ts +193 -0
- package/src/bridge-target.d.ts.map +1 -0
- package/src/bridge-target.js +316 -0
- package/src/bridge.d.ts +14 -4
- package/src/bridge.d.ts.map +1 -1
- package/src/bridge.js +45 -16
- package/src/centralSupply.d.ts +3 -3
- package/src/centralSupply.d.ts.map +1 -1
- package/src/centralSupply.js +3 -5
- package/src/core/README.md +1 -1
- package/src/core/basic-behaviors.d.ts +24 -39
- package/src/core/basic-behaviors.d.ts.map +1 -1
- package/src/core/basic-behaviors.js +63 -63
- package/src/core/boot-chain.d.ts +178 -44
- package/src/core/boot-chain.d.ts.map +1 -1
- package/src/core/boot-chain.js +5 -5
- package/src/core/boot-sim.d.ts +5 -43
- package/src/core/boot-sim.d.ts.map +1 -1
- package/src/core/boot-sim.js +3 -4
- package/src/core/boot-solo.d.ts +5 -43
- package/src/core/boot-solo.d.ts.map +1 -1
- package/src/core/boot-solo.js +4 -5
- package/src/core/chain-behaviors.d.ts +10 -26
- package/src/core/chain-behaviors.d.ts.map +1 -1
- package/src/core/chain-behaviors.js +38 -42
- package/src/core/client-behaviors.d.ts +2 -1
- package/src/core/client-behaviors.d.ts.map +1 -1
- package/src/core/client-behaviors.js +6 -5
- package/src/core/core-eval-env.d.ts +40 -0
- package/src/core/demoIssuers.d.ts +24 -26
- package/src/core/demoIssuers.d.ts.map +1 -1
- package/src/core/demoIssuers.js +37 -37
- package/src/core/lib-boot.d.ts +17 -53
- package/src/core/lib-boot.d.ts.map +1 -1
- package/src/core/lib-boot.js +52 -60
- package/src/core/promise-space.d.ts +4 -7
- package/src/core/promise-space.d.ts.map +1 -1
- package/src/core/promise-space.js +15 -16
- package/src/core/sim-behaviors.d.ts +3 -3
- package/src/core/sim-behaviors.d.ts.map +1 -1
- package/src/core/sim-behaviors.js +1 -1
- package/src/core/startWalletFactory.d.ts +23 -27
- package/src/core/startWalletFactory.d.ts.map +1 -1
- package/src/core/startWalletFactory.js +32 -18
- package/src/core/types-ambient.d.ts +538 -0
- package/src/core/types-ambient.js +1 -0
- package/src/core/utils.d.ts +47 -92
- package/src/core/utils.d.ts.map +1 -1
- package/src/core/utils.js +58 -50
- package/src/crc.d.ts +2 -6
- package/src/crc.d.ts.map +1 -1
- package/src/crc.js +5 -16
- package/src/ibc.d.ts +30 -35
- package/src/ibc.d.ts.map +1 -1
- package/src/ibc.js +740 -491
- package/src/lib-board.d.ts +49 -121
- package/src/lib-board.d.ts.map +1 -1
- package/src/lib-board.js +49 -50
- package/src/localchain.d.ts +195 -0
- package/src/localchain.d.ts.map +1 -0
- package/src/localchain.js +324 -0
- package/src/mintHolder.d.ts +6 -4
- package/src/mintHolder.d.ts.map +1 -1
- package/src/mintHolder.js +19 -21
- package/src/nameHub.d.ts +27 -5
- package/src/nameHub.d.ts.map +1 -1
- package/src/nameHub.js +33 -26
- package/src/priceAuthorityRegistry.d.ts +21 -0
- package/src/priceAuthorityRegistry.d.ts.map +1 -0
- package/src/priceAuthorityRegistry.js +220 -0
- package/src/proposals/kread-proposal.d.ts +15 -0
- package/src/proposals/kread-proposal.d.ts.map +1 -0
- package/src/proposals/kread-proposal.js +24 -0
- package/src/proposals/localchain-proposal.d.ts +62 -0
- package/src/proposals/localchain-proposal.d.ts.map +1 -0
- package/src/proposals/localchain-proposal.js +128 -0
- package/src/proposals/localchain-test.d.ts +25 -0
- package/src/proposals/localchain-test.d.ts.map +1 -0
- package/src/proposals/localchain-test.js +89 -0
- package/src/proposals/namesByAddress-fix-proposal.d.ts +22 -0
- package/src/proposals/namesByAddress-fix-proposal.d.ts.map +1 -0
- package/src/proposals/namesByAddress-fix-proposal.js +55 -0
- package/src/proposals/network-proposal.d.ts +23 -8
- package/src/proposals/network-proposal.d.ts.map +1 -1
- package/src/proposals/network-proposal.js +90 -65
- package/src/proposals/probeZcfBundle.d.ts +26 -0
- package/src/proposals/probeZcfBundle.d.ts.map +1 -0
- package/src/proposals/probeZcfBundle.js +72 -0
- package/src/proposals/restart-vats-proposal.d.ts +4 -2
- package/src/proposals/restart-vats-proposal.d.ts.map +1 -1
- package/src/proposals/restart-vats-proposal.js +20 -8
- package/src/proposals/transfer-proposal.d.ts +37 -0
- package/src/proposals/transfer-proposal.d.ts.map +1 -0
- package/src/proposals/transfer-proposal.js +115 -0
- package/src/proposals/upgrade-bank-proposal.d.ts +27 -0
- package/src/proposals/upgrade-bank-proposal.d.ts.map +1 -0
- package/src/proposals/upgrade-bank-proposal.js +42 -0
- package/src/proposals/upgrade-provisionPool-proposal.d.ts +27 -0
- package/src/proposals/upgrade-provisionPool-proposal.d.ts.map +1 -0
- package/src/proposals/upgrade-provisionPool-proposal.js +67 -0
- package/src/proposals/upgrade-zoe-proposal.d.ts +27 -0
- package/src/proposals/upgrade-zoe-proposal.d.ts.map +1 -0
- package/src/proposals/upgrade-zoe-proposal.js +42 -0
- package/src/proposals/vtransfer-echoer.d.ts +24 -0
- package/src/proposals/vtransfer-echoer.d.ts.map +1 -0
- package/src/proposals/vtransfer-echoer.js +42 -0
- package/src/proposals/zcf-only-proposal.d.ts +33 -0
- package/src/proposals/zcf-only-proposal.d.ts.map +1 -0
- package/src/proposals/zcf-only-proposal.js +36 -0
- package/src/proposals/zcf-proposal.d.ts +30 -0
- package/src/proposals/zcf-proposal.d.ts.map +1 -0
- package/src/proposals/zcf-proposal.js +50 -0
- package/src/repl.d.ts +3 -3
- package/src/repl.d.ts.map +1 -1
- package/src/repl.js +11 -5
- package/src/transfer.d.ts +111 -0
- package/src/transfer.d.ts.map +1 -0
- package/src/transfer.js +260 -0
- package/src/types.d.ts +237 -105
- package/src/types.js +1 -97
- package/src/vat-agoricNames.d.ts +4 -4
- package/src/vat-agoricNames.d.ts.map +1 -1
- package/src/vat-agoricNames.js +2 -4
- package/src/vat-bank.d.ts +217 -149
- package/src/vat-bank.d.ts.map +1 -1
- package/src/vat-bank.js +96 -68
- package/src/vat-board.d.ts +24 -24
- package/src/vat-board.d.ts.map +1 -1
- package/src/vat-board.js +0 -1
- package/src/vat-bridge.d.ts +9 -23
- package/src/vat-bridge.d.ts.map +1 -1
- package/src/vat-bridge.js +1 -2
- package/src/vat-ibc.d.ts +16 -4
- package/src/vat-ibc.d.ts.map +1 -1
- package/src/vat-ibc.js +20 -9
- package/src/vat-localchain.d.ts +37 -0
- package/src/vat-localchain.d.ts.map +1 -0
- package/src/vat-localchain.js +29 -0
- package/src/vat-mints.d.ts +31 -31
- package/src/vat-mints.d.ts.map +1 -1
- package/src/vat-mints.js +6 -7
- package/src/vat-network.d.ts +69 -1
- package/src/vat-network.d.ts.map +1 -1
- package/src/vat-network.js +45 -3
- package/src/vat-priceAuthority.d.ts +4 -4
- package/src/vat-priceAuthority.d.ts.map +1 -1
- package/src/vat-priceAuthority.js +1 -1
- package/src/vat-provisioning.d.ts +6 -6
- package/src/vat-provisioning.d.ts.map +1 -1
- package/src/vat-provisioning.js +15 -12
- package/src/vat-transfer.d.ts +81 -0
- package/src/vat-transfer.d.ts.map +1 -0
- package/src/vat-transfer.js +63 -0
- package/src/vat-zoe.d.ts +4 -1
- package/src/vat-zoe.d.ts.map +1 -1
- package/src/vat-zoe.js +10 -2
- package/src/virtual-purse.d.ts +46 -21
- package/src/virtual-purse.d.ts.map +1 -1
- package/src/virtual-purse.js +57 -46
- package/src/walletFlags.d.ts +2 -2
- package/src/walletFlags.js +1 -2
- package/tools/bank-utils.d.ts +20 -0
- package/tools/bank-utils.d.ts.map +1 -0
- package/tools/bank-utils.js +92 -0
- package/tools/board-utils.d.ts +39 -0
- package/tools/board-utils.d.ts.map +1 -0
- package/tools/board-utils.js +92 -0
- package/tools/boot-test-utils.d.ts +88 -0
- package/tools/boot-test-utils.d.ts.map +1 -0
- package/tools/boot-test-utils.js +157 -0
- package/tools/fake-bridge.d.ts +18 -0
- package/tools/fake-bridge.d.ts.map +1 -0
- package/tools/fake-bridge.js +289 -0
- package/tools/ibc-utils.d.ts +29 -0
- package/tools/ibc-utils.d.ts.map +1 -0
- package/tools/ibc-utils.js +115 -0
- package/decentral-core-config.json +0 -66
- package/decentral-demo-config.json +0 -155
- package/decentral-devnet-config.json +0 -216
- package/decentral-itest-vaults-config.json +0 -210
- package/decentral-main-vaults-config.json +0 -229
- package/decentral-test-vaults-config.json +0 -195
- package/demo-proposals.json +0 -5
- package/exported.js +0 -1
- package/jsconfig.build.json +0 -12
- package/jsconfig.json +0 -13
- package/src/core/types.d.ts +0 -764
- package/src/core/types.d.ts.map +0 -1
- package/src/core/types.js +0 -347
- package/src/provisionPool.d.ts +0 -164
- package/src/provisionPool.d.ts.map +0 -1
- package/src/provisionPool.js +0 -113
- package/src/provisionPoolKit.d.ts +0 -392
- package/src/provisionPoolKit.d.ts.map +0 -1
- package/src/provisionPoolKit.js +0 -464
- package/src/tokens.d.ts +0 -36
- package/src/tokens.d.ts.map +0 -1
- package/src/tokens.js +0 -37
- package/src/types.d.ts.map +0 -1
- package/src/vat-sharing.d.ts +0 -54
- package/src/vat-sharing.d.ts.map +0 -1
- package/src/vat-sharing.js +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startWalletFactory.d.ts","sourceRoot":"","sources":["startWalletFactory.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"startWalletFactory.d.ts","sourceRoot":"","sources":["startWalletFactory.js"],"names":[],"mappings":"AAkFO,qnBArBI,eAAe,GACzB,qBAAyB,GACzB,cAAkB,CAAC;IACnB,6BAAmC,EAAE,OAAO,qCAAqC,EAAE,+BAA+B,CAAC;IACnH,cAAoB,EAAE;QACtB,YAAoB,EAAE,OAAO,CAC7B,UAAoB,CACpB,mEAAwE,CAAC,OAAO,CAAC,CACtE,CACF,CAAC,cAAc,CAAC,CAAC;QAC1B,UAAkB,EAAE,UAAU,CAAC;KACxB,CAAC;IACR,mBAAyB,EAAE,OAAO,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/E,4BAAkC,EAAE,OAAO,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;CAC5F,CAAC;cAEQ;QACd,sBAA4B,CAAC,EAAE,MAAM,CAAC;KACjC;8BAqLL;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCE;AAEK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWN;uCAnSY,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;uBAhBtC,gCAAgC;AASvD;;;;;;;;GAQG;AAEH,2CATW,IAAI,CAAC,UAAU,CAAC,QAChB,YAAY,CACtB,OAAW,2CAA2C,EAAE,KAAK,CAC1D;;uBAiHI,CAAC,cAAsB,aAAc;iBAErC,CAAC;mBAIU,kBACH;;8DA+KiiB,gBAA8B,0CAA2C,aAA2B,uCAAyF,yCAAkB;;KAjS1rB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-check
|
|
2
1
|
import { makeMap } from 'jessie.js';
|
|
3
2
|
import { E, Far } from '@endo/far';
|
|
4
3
|
import { deeplyFulfilled } from '@endo/marshal';
|
|
@@ -6,18 +5,22 @@ import { makeTracer, VBankAccount } from '@agoric/internal';
|
|
|
6
5
|
import { AmountMath } from '@agoric/ertp';
|
|
7
6
|
import { ParamTypes } from '@agoric/governance';
|
|
8
7
|
import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
|
|
8
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
9
9
|
import {
|
|
10
10
|
makeHistoryReviver,
|
|
11
11
|
makeBoardRemote,
|
|
12
12
|
slotToBoardRemote,
|
|
13
13
|
} from '../../tools/board-utils.js';
|
|
14
|
-
import { Stable } from '../tokens.js';
|
|
15
14
|
|
|
16
15
|
const trace = makeTracer('StartWF');
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* @param {ERef<ZoeService>} zoe
|
|
20
|
-
* @param {Installation<
|
|
19
|
+
* @param {Installation<
|
|
20
|
+
* import('@agoric/smart-wallet/src/walletFactory.js').start
|
|
21
|
+
* >} inst
|
|
22
|
+
*
|
|
23
|
+
*
|
|
21
24
|
* @typedef {Awaited<ReturnType<typeof startFactoryInstance>>} WalletFactoryStartResult
|
|
22
25
|
*/
|
|
23
26
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -26,8 +29,8 @@ const startFactoryInstance = (zoe, inst) => E(zoe).startInstance(inst);
|
|
|
26
29
|
const StableUnit = BigInt(10 ** Stable.displayInfo.decimalPlaces);
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
|
-
* Publish an arbitrary wallet state so that clients
|
|
30
|
-
*
|
|
32
|
+
* Publish an arbitrary wallet state so that clients can tell that a wallet has
|
|
33
|
+
* been provisioned.
|
|
31
34
|
*
|
|
32
35
|
* @param {string[]} oldAddresses
|
|
33
36
|
* @param {Marshaller} marshaller
|
|
@@ -53,22 +56,28 @@ const publishRevivableWalletState = async (
|
|
|
53
56
|
};
|
|
54
57
|
|
|
55
58
|
/**
|
|
56
|
-
* Register for PLEASE_PROVISION bridge messages and handle
|
|
57
|
-
*
|
|
59
|
+
* Register for PLEASE_PROVISION bridge messages and handle them by providing a
|
|
60
|
+
* smart wallet from the wallet factory.
|
|
58
61
|
*
|
|
59
|
-
* @param {BootstrapPowers &
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
62
|
+
* @param {BootstrapPowers &
|
|
63
|
+
* ChainStorageVatParams &
|
|
64
|
+
* PromiseSpaceOf<{
|
|
65
|
+
* economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
|
|
66
|
+
* econCharterKit: {
|
|
67
|
+
* creatorFacet: Awaited<
|
|
68
|
+
* ReturnType<
|
|
69
|
+
* import('@agoric/inter-protocol/src/econCommitteeCharter.js')['start']
|
|
70
|
+
* >
|
|
71
|
+
* >['creatorFacet'];
|
|
72
|
+
* adminFacet: AdminFacet;
|
|
73
|
+
* };
|
|
74
|
+
* walletBridgeManager: import('../types.js').ScopedBridgeManager<'wallet'>;
|
|
75
|
+
* provisionWalletBridgeManager: import('../types.js').ScopedBridgeManager<'provisionWallet'>;
|
|
76
|
+
* }>} powers
|
|
68
77
|
* @param {{
|
|
69
78
|
* options?: {
|
|
70
|
-
* perAccountInitialValue?: bigint
|
|
71
|
-
* }
|
|
79
|
+
* perAccountInitialValue?: bigint;
|
|
80
|
+
* };
|
|
72
81
|
* }} [config]
|
|
73
82
|
*/
|
|
74
83
|
export const startWalletFactory = async (
|
|
@@ -100,6 +109,9 @@ export const startWalletFactory = async (
|
|
|
100
109
|
},
|
|
101
110
|
{ options: { perAccountInitialValue = (StableUnit * 25n) / 100n } = {} } = {},
|
|
102
111
|
) => {
|
|
112
|
+
// The wallet path is read by the cosmos side to check provisioning
|
|
113
|
+
// See `WalletStoragePathSegment` and `GetSmartWalletState` in
|
|
114
|
+
// golang/cosmos/x/swingset/keeper/keeper.go
|
|
103
115
|
const WALLET_STORAGE_PATH_SEGMENT = 'wallet';
|
|
104
116
|
const POOL_STORAGE_PATH_SEGMENT = 'provisionPool';
|
|
105
117
|
const OLD_WALLET_STORAGE_PATH = 'published.wallet';
|
|
@@ -143,10 +155,12 @@ export const startWalletFactory = async (
|
|
|
143
155
|
slotToBoardRemote,
|
|
144
156
|
);
|
|
145
157
|
|
|
158
|
+
/** @type {() => any} */
|
|
146
159
|
const reviveOldMetrics = () => {
|
|
147
160
|
if (!dataReviver.has(OLD_POOL_METRICS_STORAGE_PATH)) {
|
|
148
161
|
return undefined;
|
|
149
162
|
}
|
|
163
|
+
/** @type {any} */
|
|
150
164
|
const oldPoolMetrics = dataReviver.getItem(OLD_POOL_METRICS_STORAGE_PATH);
|
|
151
165
|
const newBrandFromOldSlotID = makeMap([
|
|
152
166
|
[oldPoolMetrics.totalMintedProvided.brand.getBoardId(), feeBrand],
|
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
// Ambient type defs. Cannot use top-level import() because that would turn it into a module.
|
|
2
|
+
|
|
3
|
+
/** This type conflicts with packages/SwingSet/src/vats/plugin-manager.js */
|
|
4
|
+
type Device<T> = 'Device' & { __deviceType__: T };
|
|
5
|
+
|
|
6
|
+
/** (approximately) */
|
|
7
|
+
type DProxy<T = any> = (target: Device<T>) => T;
|
|
8
|
+
|
|
9
|
+
type BootDevices<T> = { vatPowers: { D: DProxy }; devices: T };
|
|
10
|
+
|
|
11
|
+
type BridgeDevice = Device<
|
|
12
|
+
ReturnType<
|
|
13
|
+
typeof import('@agoric/swingset-vat/src/devices/bridge/device-bridge.js').buildRootDeviceNode
|
|
14
|
+
>
|
|
15
|
+
>;
|
|
16
|
+
|
|
17
|
+
type CommandDevice = Device<
|
|
18
|
+
ReturnType<
|
|
19
|
+
typeof import('@agoric/swingset-vat/src/devices/command/device-command.js').buildRootDeviceNode
|
|
20
|
+
>
|
|
21
|
+
>;
|
|
22
|
+
|
|
23
|
+
type MailboxDevice = Device<
|
|
24
|
+
ReturnType<
|
|
25
|
+
typeof import('@agoric/swingset-vat/src/devices/mailbox/device-mailbox.js').buildRootDeviceNode
|
|
26
|
+
>
|
|
27
|
+
>;
|
|
28
|
+
|
|
29
|
+
type PluginDevice = Device<
|
|
30
|
+
ReturnType<
|
|
31
|
+
typeof import('@agoric/swingset-vat/src/devices/plugin/device-plugin.js').buildRootDeviceNode
|
|
32
|
+
>
|
|
33
|
+
>;
|
|
34
|
+
|
|
35
|
+
type TimerDevice = Device<
|
|
36
|
+
ReturnType<
|
|
37
|
+
typeof import('@agoric/swingset-vat/src/devices/timer/device-timer.js').buildRootDeviceNode
|
|
38
|
+
>
|
|
39
|
+
>;
|
|
40
|
+
|
|
41
|
+
type VatAdminDevice = Device<
|
|
42
|
+
import('@agoric/swingset-vat/src/devices/vat-admin/device-vat-admin.js').VatAdminRootDeviceNode
|
|
43
|
+
>;
|
|
44
|
+
|
|
45
|
+
type VattpVat = ERef<
|
|
46
|
+
ReturnType<
|
|
47
|
+
typeof import('@agoric/swingset-vat/src/vats/vattp/vat-vattp.js').buildRootObject
|
|
48
|
+
>
|
|
49
|
+
>;
|
|
50
|
+
|
|
51
|
+
type VatAdminVat = ERef<
|
|
52
|
+
ReturnType<
|
|
53
|
+
typeof import('@agoric/swingset-vat/src/vats/vat-admin/vat-vat-admin.js').buildRootObject
|
|
54
|
+
>
|
|
55
|
+
>;
|
|
56
|
+
|
|
57
|
+
/** @see deliverToController in packages/SwingSet/src/vats/comms/controller.js */
|
|
58
|
+
type TimerVat = ERef<
|
|
59
|
+
ReturnType<
|
|
60
|
+
typeof import('@agoric/swingset-vat/src/vats/timer/vat-timer.js').buildRootObject
|
|
61
|
+
>
|
|
62
|
+
>;
|
|
63
|
+
|
|
64
|
+
type CommsVatRoot = ERef<{
|
|
65
|
+
addRemote: (name: string, tx: unknown, rx: unknown) => void;
|
|
66
|
+
addEgress: (addr: string, ix: number, provider: unknown) => void;
|
|
67
|
+
addIngress: (
|
|
68
|
+
remoteID: string,
|
|
69
|
+
remoteRefID: number,
|
|
70
|
+
label?: string,
|
|
71
|
+
) => Promise<any>;
|
|
72
|
+
}>;
|
|
73
|
+
|
|
74
|
+
type SwingsetVats = {
|
|
75
|
+
comms: CommsVatRoot;
|
|
76
|
+
timer: TimerVat;
|
|
77
|
+
vatAdmin: VatAdminVat;
|
|
78
|
+
vattp: VattpVat;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
type ChainStorageVatParams = {
|
|
82
|
+
vatParameters: { chainStorageEntries?: [k: string, v: string][] };
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
type SoloDevices = {
|
|
86
|
+
vatAdmin: VatAdminDevice;
|
|
87
|
+
mailbox: MailboxDevice;
|
|
88
|
+
command: CommandDevice;
|
|
89
|
+
timer: TimerDevice;
|
|
90
|
+
plugin: PluginDevice;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
type ChainDevices = {
|
|
94
|
+
vatAdmin: VatAdminDevice;
|
|
95
|
+
mailbox: MailboxDevice;
|
|
96
|
+
timer: TimerDevice;
|
|
97
|
+
bridge?: BridgeDevice;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
type ClientProvider = {
|
|
101
|
+
getChainBundle: () => unknown;
|
|
102
|
+
getChainConfigNotifier: () => Notifier<unknown>;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
type Producer<T> = {
|
|
106
|
+
resolve: (v: ERef<T>) => void;
|
|
107
|
+
reject: (r: unknown) => void;
|
|
108
|
+
reset: (reason?: unknown) => void;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
type VatSourceRef = { bundleName?: string; bundleID?: string };
|
|
112
|
+
type VatLoader<Names extends string = keyof WellKnownVats> = <N extends Names>(
|
|
113
|
+
name: N,
|
|
114
|
+
sourceRef?: VatSourceRef,
|
|
115
|
+
) => Promise<Awaited<WellKnownVats[N]>>;
|
|
116
|
+
|
|
117
|
+
/** callback to assign a property onto the `home` object of the client */
|
|
118
|
+
type PropertyMaker = (addr: string, flags: string[]) => Record<string, unknown>;
|
|
119
|
+
|
|
120
|
+
/** tool to put properties onto the `home` object of the client */
|
|
121
|
+
type ClientManager = {
|
|
122
|
+
assignBundle: (ps: PropertyMaker[]) => void;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* @template B - Bidirectional
|
|
126
|
+
* @template C - Consume only
|
|
127
|
+
* @template P - Produce only
|
|
128
|
+
*/
|
|
129
|
+
type PromiseSpaceOf<B, C = {}, P = {}> = {
|
|
130
|
+
consume: { [K in keyof (B & C)]: Promise<(B & C)[K]> };
|
|
131
|
+
produce: { [K in keyof (B & P)]: Producer<(B & P)[K]> };
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
type CreateUserBundle = (
|
|
135
|
+
nickname: string,
|
|
136
|
+
clientAddress: string,
|
|
137
|
+
powerFlags: string[],
|
|
138
|
+
) => Promise<Record<string, Promise<any>>>;
|
|
139
|
+
|
|
140
|
+
type ClientFacet = {
|
|
141
|
+
/**
|
|
142
|
+
* Required for ag-solo, but deprecated in favour of getConfiguration NOTE: we
|
|
143
|
+
* use `any` rather than `unknown` because each client that wants to call a
|
|
144
|
+
* method such as `E(userBundle.bank).deposit(payment)` has to cast
|
|
145
|
+
* userBundle.bank; ideally, the cast is to some useful type. But unknown
|
|
146
|
+
* can't be cast directly to some other type; it has to be cast to any first.
|
|
147
|
+
*/
|
|
148
|
+
getChainBundle(): ERef<Record<string, any>>;
|
|
149
|
+
getConfiguration(): AsyncIterable<{
|
|
150
|
+
clientAddress: string;
|
|
151
|
+
clientHome: Record<string, any>;
|
|
152
|
+
}>;
|
|
153
|
+
};
|
|
154
|
+
type ClientCreator = {
|
|
155
|
+
createClientFacet(
|
|
156
|
+
nickname: string,
|
|
157
|
+
clientAddress: string,
|
|
158
|
+
powerFlags: string[],
|
|
159
|
+
): Promise<ClientFacet>;
|
|
160
|
+
createUserBundle: CreateUserBundle;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
type WellKnownName = {
|
|
164
|
+
issuer:
|
|
165
|
+
| import('@agoric/internal/src/tokens.js').TokenKeyword
|
|
166
|
+
| 'Invitation'
|
|
167
|
+
| 'AUSD';
|
|
168
|
+
installation:
|
|
169
|
+
| 'centralSupply'
|
|
170
|
+
| 'mintHolder'
|
|
171
|
+
| 'walletFactory'
|
|
172
|
+
| 'provisionPool'
|
|
173
|
+
| 'auctioneer'
|
|
174
|
+
| 'feeDistributor'
|
|
175
|
+
| 'contractGovernor'
|
|
176
|
+
| 'committee'
|
|
177
|
+
| 'noActionElectorate'
|
|
178
|
+
| 'binaryVoteCounter'
|
|
179
|
+
| 'VaultFactory'
|
|
180
|
+
| 'liquidate'
|
|
181
|
+
| 'Pegasus'
|
|
182
|
+
| 'reserve'
|
|
183
|
+
| 'psm'
|
|
184
|
+
| 'scaledPriceAuthority'
|
|
185
|
+
| 'stakeAtom' // test contract
|
|
186
|
+
| 'stakeBld' // test contract
|
|
187
|
+
| 'econCommitteeCharter'
|
|
188
|
+
| 'priceAggregator';
|
|
189
|
+
instance:
|
|
190
|
+
| 'economicCommittee'
|
|
191
|
+
| 'feeDistributor'
|
|
192
|
+
| 'auctioneer'
|
|
193
|
+
| 'VaultFactory'
|
|
194
|
+
| 'VaultFactoryGovernor'
|
|
195
|
+
| 'econCommitteeCharter'
|
|
196
|
+
| 'walletFactory'
|
|
197
|
+
| 'provisionPool'
|
|
198
|
+
| 'reserve'
|
|
199
|
+
| 'reserveGovernor'
|
|
200
|
+
| 'stakeAtom' // test contract
|
|
201
|
+
| 'stakeBld' // test contract
|
|
202
|
+
| 'Pegasus';
|
|
203
|
+
oracleBrand: 'USD';
|
|
204
|
+
uiConfig: 'VaultFactory';
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
type ContractInstallationPromises<
|
|
208
|
+
StartFns extends Record<WellKnownName['installation'], ContractStartFn>,
|
|
209
|
+
> = {
|
|
210
|
+
[Property in keyof StartFns]: Promise<Installation<StartFns[Property]>>;
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
type ContractInstancePromises<
|
|
214
|
+
StartFns extends Record<WellKnownName['instance'], ContractStartFn>,
|
|
215
|
+
> = {
|
|
216
|
+
[Property in keyof StartFns]: Promise<
|
|
217
|
+
import('@agoric/zoe/src/zoeService/utils.js').Instance<StartFns[Property]>
|
|
218
|
+
>;
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
type WellKnownContracts = {
|
|
222
|
+
auctioneer: typeof import('@agoric/inter-protocol/src/auction/auctioneer.js').start;
|
|
223
|
+
centralSupply: typeof import('@agoric/vats/src/centralSupply.js').start;
|
|
224
|
+
committee: typeof import('@agoric/governance/src/committee.js').start;
|
|
225
|
+
contractGovernor: typeof import('@agoric/governance/src/contractGovernor.js').start;
|
|
226
|
+
econCommitteeCharter: typeof import('@agoric/inter-protocol/src/econCommitteeCharter.js').start;
|
|
227
|
+
feeDistributor: typeof import('@agoric/inter-protocol/src/feeDistributor.js').start;
|
|
228
|
+
mintHolder: typeof import('@agoric/vats/src/mintHolder.js').start;
|
|
229
|
+
psm: typeof import('@agoric/inter-protocol/src/psm/psm.js').start;
|
|
230
|
+
provisionPool: typeof import('@agoric/inter-protocol/src/provisionPool.js').start;
|
|
231
|
+
reserve: typeof import('@agoric/inter-protocol/src/reserve/assetReserve.js').start;
|
|
232
|
+
VaultFactory: typeof import('@agoric/inter-protocol/src/vaultFactory/vaultFactory.js').start;
|
|
233
|
+
// no typeof because walletFactory is exporting `start` as a type
|
|
234
|
+
walletFactory: import('@agoric/smart-wallet/src/walletFactory.js').start;
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
type WellKnownSpaces = {
|
|
238
|
+
issuer: {
|
|
239
|
+
produce: Record<WellKnownName['issuer'], Producer<Issuer>>;
|
|
240
|
+
consume: Record<WellKnownName['issuer'], Promise<Issuer>> & {
|
|
241
|
+
BLD: Promise<Issuer<'nat'>>;
|
|
242
|
+
IST: Promise<Issuer<'nat'>>;
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
brand: {
|
|
246
|
+
produce: Record<WellKnownName['issuer'], Producer<Brand>> & {
|
|
247
|
+
timer: Producer<import('@agoric/time').TimerBrand>;
|
|
248
|
+
};
|
|
249
|
+
consume: Record<WellKnownName['issuer'], Promise<Brand>> & {
|
|
250
|
+
BLD: Promise<Brand<'nat'>>;
|
|
251
|
+
IST: Promise<Brand<'nat'>>;
|
|
252
|
+
timer: Producer<import('@agoric/time').TimerBrand>;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
oracleBrand: {
|
|
256
|
+
produce: Record<WellKnownName['oracleBrand'], Producer<Brand>>;
|
|
257
|
+
consume: Record<WellKnownName['oracleBrand'], Promise<Brand>>;
|
|
258
|
+
};
|
|
259
|
+
installation: {
|
|
260
|
+
produce: Record<WellKnownName['installation'], Producer<Installation>>;
|
|
261
|
+
consume: Record<
|
|
262
|
+
WellKnownName['installation'],
|
|
263
|
+
Promise<Installation<unknown>>
|
|
264
|
+
> &
|
|
265
|
+
// @ts-expect-error XXX
|
|
266
|
+
ContractInstallationPromises<WellKnownContracts>;
|
|
267
|
+
};
|
|
268
|
+
instance: {
|
|
269
|
+
produce: Record<WellKnownName['instance'], Producer<Instance>>;
|
|
270
|
+
consume: Record<WellKnownName['instance'], Promise<Instance>> &
|
|
271
|
+
// @ts-expect-error XXX
|
|
272
|
+
ContractInstancePromises<WellKnownContracts>;
|
|
273
|
+
};
|
|
274
|
+
uiConfig: {
|
|
275
|
+
produce: Record<WellKnownName['uiConfig'], Producer<Record<string, any>>>;
|
|
276
|
+
consume: Record<WellKnownName['uiConfig'], Promise<Record<string, any>>>;
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
type StartGovernedUpgradableOpts<SF extends GovernableStartFn> = {
|
|
281
|
+
installation: ERef<Installation<SF>>;
|
|
282
|
+
issuerKeywordRecord?: IssuerKeywordRecord;
|
|
283
|
+
governedParams: Record<string, unknown>;
|
|
284
|
+
terms: Omit<
|
|
285
|
+
import('@agoric/zoe/src/zoeService/utils').StartParams<SF>['terms'],
|
|
286
|
+
'brands' | 'issuers' | 'governedParams' | 'electionManager'
|
|
287
|
+
>;
|
|
288
|
+
privateArgs: Omit<
|
|
289
|
+
// @ts-expect-error XXX
|
|
290
|
+
import('@agoric/zoe/src/zoeService/utils').StartParams<SF>['privateArgs'],
|
|
291
|
+
'initialPoserInvitation'
|
|
292
|
+
>;
|
|
293
|
+
label: string;
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
type StartGovernedUpgradable = <SF extends GovernableStartFn>(
|
|
297
|
+
opts: StartGovernedUpgradableOpts<SF>,
|
|
298
|
+
) => Promise<GovernanceFacetKit<SF>>;
|
|
299
|
+
|
|
300
|
+
type StartUpgradableOpts<
|
|
301
|
+
SF extends import('@agoric/zoe/src/zoeService/utils').ContractStartFunction,
|
|
302
|
+
> = {
|
|
303
|
+
installation: ERef<Installation<SF>>;
|
|
304
|
+
issuerKeywordRecord?: IssuerKeywordRecord;
|
|
305
|
+
terms?: Omit<
|
|
306
|
+
import('@agoric/zoe/src/zoeService/utils').StartParams<SF>['terms'],
|
|
307
|
+
'brands' | 'issuers'
|
|
308
|
+
>;
|
|
309
|
+
privateArgs?: Parameters<SF>[1];
|
|
310
|
+
label: string;
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
type StartUpgradable = <
|
|
314
|
+
SF extends import('@agoric/zoe/src/zoeService/utils').ContractStartFunction,
|
|
315
|
+
>(
|
|
316
|
+
opts: StartUpgradableOpts<SF>,
|
|
317
|
+
) => Promise<
|
|
318
|
+
import('@agoric/zoe/src/zoeService/utils').StartedInstanceKit<SF> & {
|
|
319
|
+
label: string;
|
|
320
|
+
}
|
|
321
|
+
>;
|
|
322
|
+
|
|
323
|
+
type StartedInstanceKit<
|
|
324
|
+
T extends import('@agoric/zoe/src/zoeService/utils').ContractStartFunction,
|
|
325
|
+
> = import('@agoric/zoe/src/zoeService/utils').StartedInstanceKit<T>;
|
|
326
|
+
|
|
327
|
+
type StartedInstanceKitWithLabel = {
|
|
328
|
+
label: string;
|
|
329
|
+
} & StartedInstanceKit<
|
|
330
|
+
import('@agoric/zoe/src/zoeService/utils').ContractStartFunction
|
|
331
|
+
>;
|
|
332
|
+
|
|
333
|
+
type ChainBootstrapSpaceT = {
|
|
334
|
+
agoricNames: import('../types.js').NameHub;
|
|
335
|
+
agoricNamesAdmin: import('@agoric/vats').NameAdmin;
|
|
336
|
+
bankManager: BankManager;
|
|
337
|
+
bldIssuerKit: RemoteIssuerKit;
|
|
338
|
+
board: import('@agoric/vats').Board;
|
|
339
|
+
bridgeManager: import('../types.js').BridgeManager | undefined;
|
|
340
|
+
chainStorage: StorageNode | null;
|
|
341
|
+
chainTimerService: import('@agoric/time').TimerService;
|
|
342
|
+
client: ClientManager;
|
|
343
|
+
clientCreator: any;
|
|
344
|
+
coreEvalBridgeHandler: import('../types.js').BridgeHandler;
|
|
345
|
+
/** Utilities to support debugging */
|
|
346
|
+
diagnostics: {
|
|
347
|
+
/**
|
|
348
|
+
* Intended to save arguments in durable storage for disaster recovery.
|
|
349
|
+
*
|
|
350
|
+
* Powerful. Can overwrite privateArgs storage for any instance.
|
|
351
|
+
*/
|
|
352
|
+
savePrivateArgs: (instance: Instance, privateArgs: unknown) => void;
|
|
353
|
+
};
|
|
354
|
+
/** Super powerful ability to mint IST. ("License to print money") */
|
|
355
|
+
feeMintAccess: FeeMintAccess;
|
|
356
|
+
highPrioritySendersManager:
|
|
357
|
+
| import('@agoric/internal/src/priority-senders.js').PrioritySendersManager
|
|
358
|
+
| undefined
|
|
359
|
+
| null;
|
|
360
|
+
initialSupply: Payment<'nat'>;
|
|
361
|
+
/**
|
|
362
|
+
* Very powerful. Has the private args for critical contract instances such as
|
|
363
|
+
* Vault Factory. ONLY FOR DISASTER RECOVERY
|
|
364
|
+
*/
|
|
365
|
+
instancePrivateArgs: Map<Instance, unknown>;
|
|
366
|
+
localchain: import('@agoric/vats/src/localchain.js').LocalChain;
|
|
367
|
+
mints?: MintsVat;
|
|
368
|
+
namesByAddress: import('../types.js').NameHub;
|
|
369
|
+
namesByAddressAdmin: import('../types.js').NamesByAddressAdmin;
|
|
370
|
+
networkVat: NetworkVat;
|
|
371
|
+
orchestration: import('@agoric/orchestration/src/service.js').OrchestrationService;
|
|
372
|
+
pegasusConnections: import('@agoric/vats').NameHubKit;
|
|
373
|
+
pegasusConnectionsAdmin: import('@agoric/vats').NameAdmin;
|
|
374
|
+
priceAuthorityVat: Awaited<PriceAuthorityVat>;
|
|
375
|
+
priceAuthority: import('@agoric/zoe/tools/types.js').PriceAuthority;
|
|
376
|
+
priceAuthorityAdmin: import('@agoric/vats/src/priceAuthorityRegistry').PriceAuthorityRegistryAdmin;
|
|
377
|
+
provisioning: Awaited<ProvisioningVat> | undefined;
|
|
378
|
+
provisionBridgeManager:
|
|
379
|
+
| import('../types.js').ScopedBridgeManager<'provision'>
|
|
380
|
+
| undefined;
|
|
381
|
+
provisionWalletBridgeManager:
|
|
382
|
+
| import('../types.js').ScopedBridgeManager<'provisionWallet'>
|
|
383
|
+
| undefined;
|
|
384
|
+
storageBridgeManager:
|
|
385
|
+
| import('../types.js').ScopedBridgeManager<'storage'>
|
|
386
|
+
| undefined;
|
|
387
|
+
transferMiddleware: import('../transfer.js').TransferMiddleware;
|
|
388
|
+
/**
|
|
389
|
+
* Convenience function for starting a contract (ungoverned) and saving its
|
|
390
|
+
* facets (including adminFacet)
|
|
391
|
+
*/
|
|
392
|
+
startUpgradable: StartUpgradable;
|
|
393
|
+
/** kits stored by startUpgradable */
|
|
394
|
+
contractKits: MapStore<Instance, StartedInstanceKitWithLabel>;
|
|
395
|
+
/** Convenience function for starting contracts governed by the Econ Committee */
|
|
396
|
+
startGovernedUpgradable: StartGovernedUpgradable;
|
|
397
|
+
/** kits stored by startGovernedUpgradable */
|
|
398
|
+
governedContractKits: MapStore<
|
|
399
|
+
Instance,
|
|
400
|
+
GovernanceFacetKit<any> & { label: string }
|
|
401
|
+
>;
|
|
402
|
+
/** Used only for testing. Should not appear in any production proposals. */
|
|
403
|
+
testFirstAnchorKit: import('../vat-bank.js').AssetIssuerKit;
|
|
404
|
+
walletBridgeManager:
|
|
405
|
+
| import('../types.js').ScopedBridgeManager<'wallet'>
|
|
406
|
+
| undefined;
|
|
407
|
+
walletFactoryStartResult: import('./startWalletFactory.js').WalletFactoryStartResult;
|
|
408
|
+
provisionPoolStartResult: GovernanceFacetKit<
|
|
409
|
+
typeof import('@agoric/inter-protocol/src/provisionPool.js').start
|
|
410
|
+
>;
|
|
411
|
+
vatStore: import('./utils.js').VatStore;
|
|
412
|
+
vatUpgradeInfo: MapStore;
|
|
413
|
+
zoe: ZoeService;
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
type ChainBootstrapSpace = PromiseSpaceOf<ChainBootstrapSpaceT>;
|
|
417
|
+
|
|
418
|
+
type BootstrapVatParams = {
|
|
419
|
+
argv: {
|
|
420
|
+
hardcodedClientAddresses?: string[];
|
|
421
|
+
FIXME_GCI: string;
|
|
422
|
+
PROVISIONER_INDEX?: number;
|
|
423
|
+
};
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
type BootstrapPowers = BootstrapSpace & {
|
|
427
|
+
zone: import('@agoric/zone').Zone;
|
|
428
|
+
devices: SoloDevices | ChainDevices;
|
|
429
|
+
vats: SwingsetVats;
|
|
430
|
+
vatPowers: { [prop: string]: any; D: DProxy };
|
|
431
|
+
vatParameters: BootstrapVatParams;
|
|
432
|
+
runBehaviors: (manifest: unknown) => Promise<unknown>;
|
|
433
|
+
modules: import('./boot-chain.js').BootstrapModules;
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
type BootstrapSpace = WellKnownSpaces &
|
|
437
|
+
PromiseSpaceOf<
|
|
438
|
+
ChainBootstrapSpaceT & {
|
|
439
|
+
vatAdminSvc: VatAdminSvc;
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
loadVat: VatLoader;
|
|
443
|
+
loadCriticalVat: VatLoader;
|
|
444
|
+
},
|
|
445
|
+
{}
|
|
446
|
+
>;
|
|
447
|
+
|
|
448
|
+
type LocalChainVat = ERef<
|
|
449
|
+
ReturnType<typeof import('../vat-localchain.js').buildRootObject>
|
|
450
|
+
>;
|
|
451
|
+
|
|
452
|
+
type TransferVat = ERef<
|
|
453
|
+
ReturnType<typeof import('../vat-transfer.js').buildRootObject>
|
|
454
|
+
>;
|
|
455
|
+
|
|
456
|
+
type ProvisioningVat = ERef<
|
|
457
|
+
ReturnType<typeof import('../vat-provisioning.js').buildRootObject>
|
|
458
|
+
>;
|
|
459
|
+
|
|
460
|
+
type MintsVat = ERef<
|
|
461
|
+
ReturnType<typeof import('../vat-mints.js').buildRootObject>
|
|
462
|
+
>;
|
|
463
|
+
|
|
464
|
+
type PriceAuthorityVat = ERef<
|
|
465
|
+
ReturnType<typeof import('../vat-priceAuthority.js').buildRootObject>
|
|
466
|
+
>;
|
|
467
|
+
|
|
468
|
+
type NetworkVat = ERef<
|
|
469
|
+
ReturnType<typeof import('../vat-network.js').buildRootObject>
|
|
470
|
+
>;
|
|
471
|
+
type IBCVat = ERef<ReturnType<typeof import('../vat-ibc.js').buildRootObject>>;
|
|
472
|
+
type NamedVatPowers = {
|
|
473
|
+
namedVat: PromiseSpaceOf<{
|
|
474
|
+
agoricNames: Awaited<AgoricNamesVat>;
|
|
475
|
+
board: Awaited<BoardVat>;
|
|
476
|
+
}>;
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
type OrchestrationVat = ERef<import('@agoric/orchestration').OrchestrationVat>;
|
|
480
|
+
type ZoeVat = ERef<import('../vat-zoe.js').ZoeVat>;
|
|
481
|
+
|
|
482
|
+
type RemoteIssuerKit = {
|
|
483
|
+
mint: ERef<Mint>;
|
|
484
|
+
issuer: ERef<Issuer>;
|
|
485
|
+
brand: Brand;
|
|
486
|
+
};
|
|
487
|
+
type AgoricNamesVat = ERef<
|
|
488
|
+
ReturnType<typeof import('../vat-agoricNames.js').buildRootObject>
|
|
489
|
+
>;
|
|
490
|
+
type BankVat = ERef<
|
|
491
|
+
ReturnType<typeof import('../vat-bank.js').buildRootObject>
|
|
492
|
+
>;
|
|
493
|
+
type BoardVat = ERef<
|
|
494
|
+
ReturnType<typeof import('../vat-board.js').buildRootObject>
|
|
495
|
+
>;
|
|
496
|
+
type ChainStorageVat = ERef<
|
|
497
|
+
ReturnType<typeof import('../vat-bridge.js').buildRootObject>
|
|
498
|
+
>;
|
|
499
|
+
type BankManager = Awaited<ReturnType<Awaited<BankVat>['makeBankManager']>>;
|
|
500
|
+
|
|
501
|
+
type DemoFaucetPowers = PromiseSpaceOf<{
|
|
502
|
+
mints: MintsVat;
|
|
503
|
+
}>;
|
|
504
|
+
|
|
505
|
+
type SoloVats = {
|
|
506
|
+
spawner: SpawnerVat;
|
|
507
|
+
http: HttpVat;
|
|
508
|
+
network: NetworkVat;
|
|
509
|
+
uploads: UploadsVat;
|
|
510
|
+
bootstrap: unknown;
|
|
511
|
+
};
|
|
512
|
+
|
|
513
|
+
type SpawnerVat = ERef<
|
|
514
|
+
ReturnType<typeof import('@agoric/solo/src/vat-spawner.js').buildRootObject>
|
|
515
|
+
>;
|
|
516
|
+
|
|
517
|
+
type HttpVat = ERef<
|
|
518
|
+
ReturnType<typeof import('@agoric/solo/src/vat-http.js').buildRootObject>
|
|
519
|
+
>;
|
|
520
|
+
|
|
521
|
+
type UploadsVat = ERef<
|
|
522
|
+
ReturnType<typeof import('@agoric/solo/src/vat-uploads.js').buildRootObject>
|
|
523
|
+
>;
|
|
524
|
+
|
|
525
|
+
type WellKnownVats = SwingsetVats & {
|
|
526
|
+
bank: BankVat;
|
|
527
|
+
board: BoardVat;
|
|
528
|
+
bridge: ChainStorageVat;
|
|
529
|
+
ibc: IBCVat;
|
|
530
|
+
localchain: LocalChainVat;
|
|
531
|
+
mints: MintsVat;
|
|
532
|
+
network: NetworkVat;
|
|
533
|
+
orchestration: OrchestrationVat;
|
|
534
|
+
priceAuthority: PriceAuthorityVat;
|
|
535
|
+
provisioning: ProvisioningVat;
|
|
536
|
+
transfer: TransferVat;
|
|
537
|
+
zoe: ZoeVat;
|
|
538
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// Dummy file for .d.ts twin to declare ambients
|