@agoric/vats 0.15.2-dev-857e650.0 → 0.15.2-dev-284e2db.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/package.json +20 -20
- package/src/bridge.d.ts.map +1 -1
- package/src/bridge.js +23 -11
- package/src/centralSupply.d.ts.map +1 -1
- package/src/centralSupply.js +3 -3
- package/src/core/basic-behaviors.d.ts.map +1 -1
- package/src/core/basic-behaviors.js +55 -49
- package/src/core/boot-chain.js +3 -3
- package/src/core/boot-sim.js +3 -3
- package/src/core/boot-solo.js +4 -4
- package/src/core/chain-behaviors.d.ts.map +1 -1
- package/src/core/chain-behaviors.js +28 -23
- package/src/core/client-behaviors.d.ts.map +1 -1
- package/src/core/client-behaviors.js +5 -4
- package/src/core/demoIssuers.d.ts +17 -15
- package/src/core/demoIssuers.d.ts.map +1 -1
- package/src/core/demoIssuers.js +34 -34
- package/src/core/lib-boot.d.ts +9 -8
- package/src/core/lib-boot.d.ts.map +1 -1
- package/src/core/lib-boot.js +26 -15
- package/src/core/promise-space.d.ts.map +1 -1
- package/src/core/promise-space.js +14 -14
- package/src/core/startWalletFactory.d.ts +4 -1
- package/src/core/startWalletFactory.d.ts.map +1 -1
- package/src/core/startWalletFactory.js +25 -16
- package/src/core/types.d.ts +19 -278
- package/src/core/types.d.ts.map +1 -1
- package/src/core/types.js +385 -210
- package/src/core/utils.d.ts +4 -2
- package/src/core/utils.d.ts.map +1 -1
- package/src/core/utils.js +30 -28
- package/src/crc.d.ts +2 -6
- package/src/crc.d.ts.map +1 -1
- package/src/crc.js +5 -15
- package/src/ibc.d.ts +5 -5
- package/src/ibc.d.ts.map +1 -1
- package/src/ibc.js +22 -40
- package/src/lib-board.d.ts +48 -49
- package/src/lib-board.d.ts.map +1 -1
- package/src/lib-board.js +32 -39
- package/src/mintHolder.d.ts.map +1 -1
- package/src/mintHolder.js +5 -6
- package/src/nameHub.d.ts.map +1 -1
- package/src/nameHub.js +17 -7
- package/src/proposals/network-proposal.d.ts.map +1 -1
- package/src/proposals/network-proposal.js +13 -10
- package/src/proposals/restart-vats-proposal.d.ts +1 -1
- package/src/proposals/restart-vats-proposal.d.ts.map +1 -1
- package/src/proposals/restart-vats-proposal.js +3 -3
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +9 -10
- package/src/provisionPoolKit.d.ts +14 -27
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +26 -29
- package/src/repl.js +1 -1
- package/src/types.d.ts +28 -27
- package/src/types.d.ts.map +1 -1
- package/src/types.js +49 -46
- package/src/vat-bank.d.ts +49 -48
- package/src/vat-bank.d.ts.map +1 -1
- package/src/vat-bank.js +55 -50
- package/src/vat-mints.d.ts +10 -10
- package/src/vat-mints.d.ts.map +1 -1
- package/src/vat-mints.js +6 -6
- package/src/vat-provisioning.d.ts.map +1 -1
- package/src/vat-provisioning.js +11 -6
- package/src/virtual-purse.d.ts +6 -6
- package/src/virtual-purse.d.ts.map +1 -1
- package/src/virtual-purse.js +34 -33
- package/src/walletFlags.js +1 -2
- package/tools/authorityViz.d.ts.map +1 -1
- package/tools/authorityViz.js +34 -25
- package/tools/bank-utils.d.ts +1 -1
- package/tools/bank-utils.d.ts.map +1 -1
- package/tools/bank-utils.js +12 -5
- package/tools/board-utils.d.ts +1 -1
- package/tools/board-utils.d.ts.map +1 -1
- package/tools/board-utils.js +22 -14
- package/tools/boot-test-utils.d.ts.map +1 -1
- package/tools/boot-test-utils.js +7 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/vats",
|
|
3
|
-
"version": "0.15.2-dev-
|
|
3
|
+
"version": "0.15.2-dev-284e2db.0+284e2db",
|
|
4
4
|
"description": "Agoric's Vat library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -30,19 +30,19 @@
|
|
|
30
30
|
"author": "Agoric",
|
|
31
31
|
"license": "Apache-2.0",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@agoric/assert": "0.6.1-dev-
|
|
34
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
35
|
-
"@agoric/governance": "0.10.4-dev-
|
|
36
|
-
"@agoric/inter-protocol": "0.16.2-dev-
|
|
37
|
-
"@agoric/internal": "0.3.3-dev-
|
|
38
|
-
"@agoric/notifier": "0.6.3-dev-
|
|
39
|
-
"@agoric/sharing-service": "0.2.12-dev-
|
|
40
|
-
"@agoric/store": "0.9.3-dev-
|
|
41
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
42
|
-
"@agoric/time": "0.3.3-dev-
|
|
43
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
44
|
-
"@agoric/zoe": "0.26.3-dev-
|
|
45
|
-
"@agoric/zone": "0.2.3-dev-
|
|
33
|
+
"@agoric/assert": "0.6.1-dev-284e2db.0+284e2db",
|
|
34
|
+
"@agoric/ertp": "0.16.3-dev-284e2db.0+284e2db",
|
|
35
|
+
"@agoric/governance": "0.10.4-dev-284e2db.0+284e2db",
|
|
36
|
+
"@agoric/inter-protocol": "0.16.2-dev-284e2db.0+284e2db",
|
|
37
|
+
"@agoric/internal": "0.3.3-dev-284e2db.0+284e2db",
|
|
38
|
+
"@agoric/notifier": "0.6.3-dev-284e2db.0+284e2db",
|
|
39
|
+
"@agoric/sharing-service": "0.2.12-dev-284e2db.0+284e2db",
|
|
40
|
+
"@agoric/store": "0.9.3-dev-284e2db.0+284e2db",
|
|
41
|
+
"@agoric/swingset-vat": "0.32.3-dev-284e2db.0+284e2db",
|
|
42
|
+
"@agoric/time": "0.3.3-dev-284e2db.0+284e2db",
|
|
43
|
+
"@agoric/vat-data": "0.5.3-dev-284e2db.0+284e2db",
|
|
44
|
+
"@agoric/zoe": "0.26.3-dev-284e2db.0+284e2db",
|
|
45
|
+
"@agoric/zone": "0.2.3-dev-284e2db.0+284e2db",
|
|
46
46
|
"@endo/far": "^0.2.19",
|
|
47
47
|
"@endo/import-bundle": "^0.3.5",
|
|
48
48
|
"@endo/init": "^0.5.57",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"jessie.js": "^0.3.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@agoric/cosmic-swingset": "0.41.4-dev-
|
|
57
|
-
"@agoric/deploy-script-support": "0.10.4-dev-
|
|
58
|
-
"@agoric/smart-wallet": "0.5.4-dev-
|
|
59
|
-
"@agoric/swing-store": "0.9.2-dev-
|
|
60
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
56
|
+
"@agoric/cosmic-swingset": "0.41.4-dev-284e2db.0+284e2db",
|
|
57
|
+
"@agoric/deploy-script-support": "0.10.4-dev-284e2db.0+284e2db",
|
|
58
|
+
"@agoric/smart-wallet": "0.5.4-dev-284e2db.0+284e2db",
|
|
59
|
+
"@agoric/swing-store": "0.9.2-dev-284e2db.0+284e2db",
|
|
60
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-284e2db.0+284e2db",
|
|
61
61
|
"@endo/bundle-source": "^2.5.2",
|
|
62
62
|
"@endo/captp": "^3.1.2",
|
|
63
63
|
"@endo/eventual-send": "^0.17.3",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"timeout": "20m",
|
|
88
88
|
"workerThreads": false
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "284e2db5155f3f0668969af4c4fec6836a5ba85b"
|
|
91
91
|
}
|
package/src/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["bridge.js"],"names":[],"mappings":"AASA;;GAEG;AAEH;;;;;GAKG;AAEH;;GAIG;AAmEI,2CAHI,OAAO,cAAc,EAAE,IAAI,KAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["bridge.js"],"names":[],"mappings":"AASA;;GAEG;AAEH;;;;;GAKG;AAEH;;GAIG;AAmEI,2CAHI,OAAO,cAAc,EAAE,IAAI,KAC3B,MAAM,kBAuFJ,YAAY,KACV,OAAO,YAAY,EAAE,aAAa,CA2BhD"}
|
package/src/bridge.js
CHANGED
|
@@ -34,16 +34,16 @@ const BridgeManagerIKit = harden({
|
|
|
34
34
|
}),
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
-
/**
|
|
38
|
-
* @param {import('@agoric/zone').Zone} zone
|
|
39
|
-
*/
|
|
37
|
+
/** @param {import('@agoric/zone').Zone} zone */
|
|
40
38
|
const prepareScopedManager = zone => {
|
|
41
39
|
const makeScopedManager = zone.exoClass(
|
|
42
40
|
'BridgeScopedManager',
|
|
43
41
|
BridgeScopedManagerI,
|
|
44
42
|
/**
|
|
45
43
|
* @param {string} bridgeId
|
|
46
|
-
* @param {{
|
|
44
|
+
* @param {{
|
|
45
|
+
* outbound: (bridgeId: string, obj: unknown) => Promise<any>;
|
|
46
|
+
* }} toBridge
|
|
47
47
|
* @param {import('./types').BridgeHandler} [inboundHandler]
|
|
48
48
|
*/
|
|
49
49
|
(bridgeId, toBridge, inboundHandler) => ({
|
|
@@ -93,14 +93,16 @@ export const prepareBridgeManager = (zone, D) => {
|
|
|
93
93
|
const makeScopedManager = prepareScopedManager(zone);
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
* Create a bridge manager for multiplexing messages to and from a bridge
|
|
97
|
-
* using string-named channels.
|
|
96
|
+
* Create a bridge manager for multiplexing messages to and from a bridge
|
|
97
|
+
* device using string-named channels.
|
|
98
98
|
*
|
|
99
99
|
* @param {BridgeDevice} bridgeDevice The bridge to manage
|
|
100
100
|
* @returns {{
|
|
101
|
-
* manager: import('./types.js').BridgeManager
|
|
102
|
-
* privateInbounder: { inbound(srcID: string, obj: unknown): void }
|
|
103
|
-
* privateOutbounder: {
|
|
101
|
+
* manager: import('./types.js').BridgeManager;
|
|
102
|
+
* privateInbounder: { inbound(srcID: string, obj: unknown): void };
|
|
103
|
+
* privateOutbounder: {
|
|
104
|
+
* outbound(dstID: string, obj: unknown): Promise<any>;
|
|
105
|
+
* };
|
|
104
106
|
* }}
|
|
105
107
|
*/
|
|
106
108
|
const makeBridgeManagerKit = zone.exoClassKit(
|
|
@@ -108,7 +110,12 @@ export const prepareBridgeManager = (zone, D) => {
|
|
|
108
110
|
BridgeManagerIKit,
|
|
109
111
|
/** @param {BridgeDevice} bridgeDevice */
|
|
110
112
|
bridgeDevice => ({
|
|
111
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* @type {MapStore<
|
|
115
|
+
* string,
|
|
116
|
+
* ReturnType<ReturnType<typeof prepareScopedManager>>
|
|
117
|
+
* >}
|
|
118
|
+
*/
|
|
112
119
|
scopedManagers: zone.detached().mapStore('scopedManagers'),
|
|
113
120
|
bridgeDevice,
|
|
114
121
|
}),
|
|
@@ -156,7 +163,12 @@ export const prepareBridgeManager = (zone, D) => {
|
|
|
156
163
|
},
|
|
157
164
|
);
|
|
158
165
|
|
|
159
|
-
/**
|
|
166
|
+
/**
|
|
167
|
+
* @type {MapStore<
|
|
168
|
+
* BridgeDevice,
|
|
169
|
+
* ReturnType<typeof makeBridgeManagerKit>
|
|
170
|
+
* >}
|
|
171
|
+
*/
|
|
160
172
|
const bridgeToManagerKit = zone.mapStore('bridgeToManagerKit');
|
|
161
173
|
|
|
162
174
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centralSupply.d.ts","sourceRoot":"","sources":["centralSupply.js"],"names":[],"mappings":"AAeO;
|
|
1
|
+
{"version":3,"file":"centralSupply.d.ts","sourceRoot":"","sources":["centralSupply.js"],"names":[],"mappings":"AAeO;2BALqB,MAAM;;IAGI,aAAa,EAAxC,aAAa;;;;;;;GA0BvB;oCAGa,WAAW,YAAY,CAAC"}
|
package/src/centralSupply.js
CHANGED
|
@@ -4,11 +4,11 @@ import { AmountMath } from '@agoric/ertp';
|
|
|
4
4
|
import { E, Far } from '@endo/far';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* The sole purpose of this contract is to mint the initial
|
|
8
|
-
*
|
|
7
|
+
* The sole purpose of this contract is to mint the initial supply of the
|
|
8
|
+
* central currency, RUN.
|
|
9
9
|
*
|
|
10
10
|
* @param {ZCF<{
|
|
11
|
-
*
|
|
11
|
+
* bootstrapPaymentValue: bigint;
|
|
12
12
|
* }>} zcf
|
|
13
13
|
* @param {object} privateArgs
|
|
14
14
|
* @param {FeeMintAccess} privateArgs.feeMintAccess
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-behaviors.d.ts","sourceRoot":"","sources":["basic-behaviors.js"],"names":[],"mappings":"AA0DO,
|
|
1
|
+
{"version":3,"file":"basic-behaviors.d.ts","sourceRoot":"","sources":["basic-behaviors.js"],"names":[],"mappings":"AA0DO,mIAPI,eAAe,GAAG,EAAE,iBA+D9B;AAIM,gDADK,KAAK,mBAAmB,EAAE,SAAS,CAAC,iBAW/C;AAGM,0FADK,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,cAAc,EAAE,IAAI,CAAA;CAAE,iBAiCjE;AAqGM,uMAPI,cAAc,GAAG;IAC3B,IAAQ,EAAE,OAAO,cAAc,EAAE,IAAI,CAAC;IACtC,OAAW,EAAE;QACb,6BAAmC,EAAE,OAAO,wDAAwD,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;KACpK,CAAC;CACH,iBA6DH;AAUM,gOANI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;CACvD,iBA2BH;AAYM,gGARI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,iBAAiB,CAAC,CAAC,CAAA;KAAE,CAAC;CAClE,iBAoBH;AAQM,mHAFI,eAAe,GAAG,cAAc,iBAe1C;AAIM,gIADK,eAAe,GAAG,cAAc,iBAW3C;AASM,qHAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,QAAQ,CAAC,CAAC,CAAA;KAAE,CAAC;CACzD,iBAWH;AAcM,+JAFI,eAAe,iBAwBzB;AAQM,kGAFI,cAAc,iBA6BxB;AAIM,uHADK,cAAc,iBAkCzB;AAIM,oIADK,cAAc,iBAiBzB;AASM,0MAJI,eAAe,GAAG;IAC5B,aAAiB,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,CAAC,EAAE,gBAAgB,CAAA;SAAE,CAAA;KAAE,CAAC;CACzD,iBAmCH;AAUM,kTAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACxD,iBAoFH;AAGD,qDAAqD;AACrD,sCADW,OAAO,YAAY,EAAE,iBAAiB,CA0I/C;;;;+BAjxBW,OAAO,sBAAsB,EAAE,gBAAgB;uBAG/C,SAAS,MAAM,EAAE,gBAAgB,CAAC;qBAmRlC,KAAK,0DAAmD,CAAC;gCAiCzD,KACZ,qEAAkE,CAC/D"}
|
|
@@ -22,12 +22,11 @@ import { feeIssuerConfig, makeMyAddressNameAdminKit } from './utils.js';
|
|
|
22
22
|
const { details: X } = assert;
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* In golang/cosmos/app/app.go, we define
|
|
26
|
-
*
|
|
27
|
-
* with the following shape.
|
|
25
|
+
* In golang/cosmos/app/app.go, we define cosmosInitAction with type
|
|
26
|
+
* AG_COSMOS_INIT, with the following shape.
|
|
28
27
|
*
|
|
29
|
-
* The uist supplyCoins value is taken from genesis,
|
|
30
|
-
*
|
|
28
|
+
* The uist supplyCoins value is taken from genesis, thereby authorizing the
|
|
29
|
+
* minting an initial supply of RUN.
|
|
31
30
|
*/
|
|
32
31
|
// eslint-disable-next-line no-unused-vars
|
|
33
32
|
const bootMsgEx = {
|
|
@@ -45,15 +44,16 @@ const bootMsgEx = {
|
|
|
45
44
|
};
|
|
46
45
|
|
|
47
46
|
/**
|
|
48
|
-
* TODO: review behaviors carefully for powers that go out of scope,
|
|
49
|
-
*
|
|
47
|
+
* TODO: review behaviors carefully for powers that go out of scope, since we
|
|
48
|
+
* may want/need them later.
|
|
50
49
|
*/
|
|
51
50
|
|
|
52
51
|
/**
|
|
53
|
-
* @param {BootstrapPowers & {
|
|
54
|
-
*
|
|
52
|
+
* @param {BootstrapPowers & {}} powers
|
|
53
|
+
*
|
|
54
|
+
* @typedef {import('@agoric/swingset-vat').CreateVatResults} CreateVatResults
|
|
55
|
+
* as from createVatByName
|
|
55
56
|
*
|
|
56
|
-
* @typedef {import('@agoric/swingset-vat').CreateVatResults} CreateVatResults as from createVatByName
|
|
57
57
|
* @typedef {MapStore<string, CreateVatResults>} VatStore
|
|
58
58
|
*/
|
|
59
59
|
export const makeVatsFromBundles = async ({
|
|
@@ -78,7 +78,7 @@ export const makeVatsFromBundles = async ({
|
|
|
78
78
|
const vatInfoP = provideLazy(tmpStore, vatName, async _k => {
|
|
79
79
|
if (bundleName) {
|
|
80
80
|
console.info(`createVatByName(${bundleName})`);
|
|
81
|
-
/** @type {
|
|
81
|
+
/** @type {Promise<CreateVatResults>} */
|
|
82
82
|
const vatInfo = E(svc).createVatByName(bundleName, {
|
|
83
83
|
...defaultVatCreationOptions,
|
|
84
84
|
name: vatName,
|
|
@@ -88,7 +88,7 @@ export const makeVatsFromBundles = async ({
|
|
|
88
88
|
console.info(`createVat(${bundleID})`);
|
|
89
89
|
assert(bundleID);
|
|
90
90
|
const bcap = await E(svc).getBundleCap(bundleID);
|
|
91
|
-
/** @type {
|
|
91
|
+
/** @type {Promise<CreateVatResults>} */
|
|
92
92
|
const vatInfo = E(svc).createVat(bcap, {
|
|
93
93
|
...defaultVatCreationOptions,
|
|
94
94
|
name: vatName,
|
|
@@ -134,7 +134,7 @@ export const produceStartUpgradable = async ({
|
|
|
134
134
|
consume: { diagnostics, zoe },
|
|
135
135
|
produce, // startUpgradable, contractKits
|
|
136
136
|
}) => {
|
|
137
|
-
/** @type {MapStore<Instance, StartedInstanceKitWithLabel>
|
|
137
|
+
/** @type {MapStore<Instance, StartedInstanceKitWithLabel>} */
|
|
138
138
|
const contractKits = zone.mapStore('ContractKits');
|
|
139
139
|
|
|
140
140
|
/** @type {StartUpgradable} */
|
|
@@ -166,20 +166,19 @@ harden(produceStartUpgradable);
|
|
|
166
166
|
|
|
167
167
|
/**
|
|
168
168
|
* @template {GovernableStartFn} SF
|
|
169
|
-
*
|
|
170
169
|
* @param {{
|
|
171
|
-
* zoe: ERef<ZoeService
|
|
172
|
-
* governedContractInstallation: ERef<Installation<SF
|
|
173
|
-
* issuerKeywordRecord?: IssuerKeywordRecord
|
|
174
|
-
* terms: Record<string, unknown
|
|
175
|
-
* privateArgs: any
|
|
176
|
-
* label: string
|
|
170
|
+
* zoe: ERef<ZoeService>;
|
|
171
|
+
* governedContractInstallation: ERef<Installation<SF>>;
|
|
172
|
+
* issuerKeywordRecord?: IssuerKeywordRecord;
|
|
173
|
+
* terms: Record<string, unknown>;
|
|
174
|
+
* privateArgs: any; // TODO: connect with Installation type
|
|
175
|
+
* label: string;
|
|
177
176
|
* }} zoeArgs
|
|
178
177
|
* @param {{
|
|
179
|
-
* governedParams: Record<string, unknown
|
|
180
|
-
* timer: ERef<import('@agoric/time/src/types').TimerService
|
|
181
|
-
* contractGovernor: ERef<Installation
|
|
182
|
-
* economicCommitteeCreatorFacet: import('@agoric/inter-protocol/src/proposals/econ-behaviors.js').EconomyBootstrapPowers['consume']['economicCommitteeCreatorFacet']
|
|
178
|
+
* governedParams: Record<string, unknown>;
|
|
179
|
+
* timer: ERef<import('@agoric/time/src/types').TimerService>;
|
|
180
|
+
* contractGovernor: ERef<Installation>;
|
|
181
|
+
* economicCommitteeCreatorFacet: import('@agoric/inter-protocol/src/proposals/econ-behaviors.js').EconomyBootstrapPowers['consume']['economicCommitteeCreatorFacet'];
|
|
183
182
|
* }} govArgs
|
|
184
183
|
* @returns {Promise<GovernanceFacetKit<SF>>}
|
|
185
184
|
*/
|
|
@@ -257,10 +256,10 @@ const startGovernedInstance = async (
|
|
|
257
256
|
|
|
258
257
|
/**
|
|
259
258
|
* @param {BootstrapSpace & {
|
|
260
|
-
* zone: import('@agoric/zone').Zone
|
|
259
|
+
* zone: import('@agoric/zone').Zone;
|
|
261
260
|
* consume: {
|
|
262
|
-
* economicCommitteeCreatorFacet: import('@agoric/inter-protocol/src/proposals/econ-behaviors.js').EconomyBootstrapPowers['consume']['economicCommitteeCreatorFacet']
|
|
263
|
-
* }
|
|
261
|
+
* economicCommitteeCreatorFacet: import('@agoric/inter-protocol/src/proposals/econ-behaviors.js').EconomyBootstrapPowers['consume']['economicCommitteeCreatorFacet'];
|
|
262
|
+
* };
|
|
264
263
|
* }} powers
|
|
265
264
|
*/
|
|
266
265
|
export const produceStartGovernedUpgradable = async ({
|
|
@@ -276,7 +275,12 @@ export const produceStartGovernedUpgradable = async ({
|
|
|
276
275
|
consume: { contractGovernor },
|
|
277
276
|
},
|
|
278
277
|
}) => {
|
|
279
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* @type {MapStore<
|
|
280
|
+
* Instance,
|
|
281
|
+
* GovernanceFacetKit<any> & { label: string }
|
|
282
|
+
* >}
|
|
283
|
+
*/
|
|
280
284
|
const contractKits = zone.mapStore('GovernedContractKits');
|
|
281
285
|
|
|
282
286
|
/** @type {startGovernedUpgradable} */
|
|
@@ -321,8 +325,8 @@ export const produceStartGovernedUpgradable = async ({
|
|
|
321
325
|
harden(produceStartGovernedUpgradable);
|
|
322
326
|
|
|
323
327
|
/**
|
|
324
|
-
* @param {
|
|
325
|
-
* consume: { loadCriticalVat: ERef<VatLoader<ZoeVat>> }
|
|
328
|
+
* @param {BootstrapPowers & {
|
|
329
|
+
* consume: { loadCriticalVat: ERef<VatLoader<ZoeVat>> };
|
|
326
330
|
* }} powers
|
|
327
331
|
*
|
|
328
332
|
* @typedef {ERef<ReturnType<import('../vat-zoe.js').buildRootObject>>} ZoeVat
|
|
@@ -355,10 +359,12 @@ harden(buildZoe);
|
|
|
355
359
|
|
|
356
360
|
/**
|
|
357
361
|
* @param {BootstrapPowers & {
|
|
358
|
-
* consume: { loadCriticalVat: ERef<VatLoader<PriceAuthorityVat>>}
|
|
362
|
+
* consume: { loadCriticalVat: ERef<VatLoader<PriceAuthorityVat>> };
|
|
359
363
|
* }} powers
|
|
360
364
|
*
|
|
361
|
-
* @typedef {ERef<
|
|
365
|
+
* @typedef {ERef<
|
|
366
|
+
* ReturnType<import('../vat-priceAuthority.js').buildRootObject>
|
|
367
|
+
* >} PriceAuthorityVat
|
|
362
368
|
*/
|
|
363
369
|
export const startPriceAuthorityRegistry = async ({
|
|
364
370
|
consume: { loadCriticalVat, client },
|
|
@@ -398,9 +404,7 @@ export const makeOracleBrands = async ({
|
|
|
398
404
|
};
|
|
399
405
|
harden(makeOracleBrands);
|
|
400
406
|
|
|
401
|
-
/**
|
|
402
|
-
* @param {BootstrapPowers & NamedVatPowers} powers
|
|
403
|
-
*/
|
|
407
|
+
/** @param {BootstrapPowers & NamedVatPowers} powers */
|
|
404
408
|
export const produceBoard = async ({
|
|
405
409
|
consume: { client },
|
|
406
410
|
produce: { board: pBoard },
|
|
@@ -416,10 +420,9 @@ harden(produceBoard);
|
|
|
416
420
|
|
|
417
421
|
/**
|
|
418
422
|
* @deprecated use produceBoard
|
|
419
|
-
*
|
|
420
423
|
* @param {BootstrapPowers & {
|
|
421
|
-
* consume: { loadCriticalVat: ERef<VatLoader<BoardVat>>
|
|
422
|
-
* }}
|
|
424
|
+
* consume: { loadCriticalVat: ERef<VatLoader<BoardVat>> };
|
|
425
|
+
* }} powers
|
|
423
426
|
*/
|
|
424
427
|
export const makeBoard = async ({
|
|
425
428
|
consume: { loadCriticalVat, client },
|
|
@@ -436,12 +439,11 @@ harden(makeBoard);
|
|
|
436
439
|
/**
|
|
437
440
|
* Produce the remote namesByAddress hierarchy.
|
|
438
441
|
*
|
|
439
|
-
* namesByAddress is a NameHub for each provisioned client,
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
* assign (update / reserve) any other names they choose.
|
|
442
|
+
* namesByAddress is a NameHub for each provisioned client, available, for
|
|
443
|
+
* example, as `E(home.namesByAddress).lookup('agoric1...')`. `depositFacet` as
|
|
444
|
+
* in `E(home.namesByAddress).lookup('agoric1...', 'depositFacet')` is reserved
|
|
445
|
+
* for use by the Agoric wallet. Each client is given `home.myAddressNameAdmin`,
|
|
446
|
+
* which they can use to assign (update / reserve) any other names they choose.
|
|
445
447
|
*
|
|
446
448
|
* @param {BootstrapPowers} powers
|
|
447
449
|
*/
|
|
@@ -564,8 +566,8 @@ export const installBootContracts = async ({
|
|
|
564
566
|
/**
|
|
565
567
|
* Mint IST genesis supply.
|
|
566
568
|
*
|
|
567
|
-
* @param {
|
|
568
|
-
* vatParameters: { argv: { bootMsg?: typeof bootMsgEx }}
|
|
569
|
+
* @param {BootstrapPowers & {
|
|
570
|
+
* vatParameters: { argv: { bootMsg?: typeof bootMsgEx } };
|
|
569
571
|
* }} powers
|
|
570
572
|
*/
|
|
571
573
|
export const mintInitialSupply = async ({
|
|
@@ -586,7 +588,11 @@ export const mintInitialSupply = async ({
|
|
|
586
588
|
) || { amount: '0' };
|
|
587
589
|
const bootstrapPaymentValue = Nat(BigInt(centralBootstrapSupply.amount));
|
|
588
590
|
|
|
589
|
-
/**
|
|
591
|
+
/**
|
|
592
|
+
* @type {Awaited<
|
|
593
|
+
* ReturnType<typeof import('../centralSupply.js').start>
|
|
594
|
+
* >}
|
|
595
|
+
*/
|
|
590
596
|
const { creatorFacet } = await E(zoe).startInstance(
|
|
591
597
|
centralSupply,
|
|
592
598
|
{},
|
|
@@ -603,8 +609,8 @@ harden(mintInitialSupply);
|
|
|
603
609
|
/**
|
|
604
610
|
* Add IST (with initialSupply payment), BLD (with mint) to BankManager.
|
|
605
611
|
*
|
|
606
|
-
* @param {
|
|
607
|
-
* consume: { loadCriticalVat: ERef<VatLoader<BankVat>> }
|
|
612
|
+
* @param {BootstrapSpace & {
|
|
613
|
+
* consume: { loadCriticalVat: ERef<VatLoader<BankVat>> };
|
|
608
614
|
* }} powers
|
|
609
615
|
*/
|
|
610
616
|
export const addBankAssets = async ({
|
package/src/core/boot-chain.js
CHANGED
|
@@ -25,11 +25,11 @@ export const MANIFEST = CHAIN_BOOTSTRAP_MANIFEST;
|
|
|
25
25
|
* Build root object of the bootstrap vat.
|
|
26
26
|
*
|
|
27
27
|
* @param {VatPowers & {
|
|
28
|
-
* D: DProxy
|
|
29
|
-
* logger: (msg) => void
|
|
28
|
+
* D: DProxy;
|
|
29
|
+
* logger: (msg) => void;
|
|
30
30
|
* }} vatPowers
|
|
31
31
|
* @param {{
|
|
32
|
-
* coreProposalCode?: string
|
|
32
|
+
* coreProposalCode?: string;
|
|
33
33
|
* }} vatParameters
|
|
34
34
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
35
35
|
*/
|
package/src/core/boot-sim.js
CHANGED
|
@@ -27,11 +27,11 @@ const modules = harden({ behaviors: { ...behaviors }, utils: { ...utils } });
|
|
|
27
27
|
* Build root object of the bootstrap vat for the simulated chain.
|
|
28
28
|
*
|
|
29
29
|
* @param {VatPowers & {
|
|
30
|
-
* D: DProxy
|
|
31
|
-
* logger: (msg) => void
|
|
30
|
+
* D: DProxy;
|
|
31
|
+
* logger: (msg) => void;
|
|
32
32
|
* }} vatPowers
|
|
33
33
|
* @param {{
|
|
34
|
-
* coreProposalCode?: string
|
|
34
|
+
* coreProposalCode?: string;
|
|
35
35
|
* }} vatParameters
|
|
36
36
|
*/
|
|
37
37
|
export const buildRootObject = (vatPowers, vatParameters) => {
|
package/src/core/boot-solo.js
CHANGED
|
@@ -31,12 +31,12 @@ const modules = harden({
|
|
|
31
31
|
* Build root object of the bootstrap vat.
|
|
32
32
|
*
|
|
33
33
|
* @param {VatPowers & {
|
|
34
|
-
* D: DProxy
|
|
35
|
-
* logger: (msg) => void
|
|
34
|
+
* D: DProxy;
|
|
35
|
+
* logger: (msg) => void;
|
|
36
36
|
* }} vatPowers
|
|
37
37
|
* @param {{
|
|
38
|
-
* bootstrapManifest?: Record<string, Record<string, unknown
|
|
39
|
-
* coreProposalCode?: string
|
|
38
|
+
* bootstrapManifest?: Record<string, Record<string, unknown>>;
|
|
39
|
+
* coreProposalCode?: string;
|
|
40
40
|
* }} vatParameters
|
|
41
41
|
*/
|
|
42
42
|
export const buildRootObject = (vatPowers, vatParameters) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-behaviors.d.ts","sourceRoot":"","sources":["chain-behaviors.js"],"names":[],"mappings":"AA8BO,0CAFI,eAAe,
|
|
1
|
+
{"version":3,"file":"chain-behaviors.d.ts","sourceRoot":"","sources":["chain-behaviors.js"],"names":[],"mappings":"AA8BO,0CAFI,eAAe,iBAqFzB;AAQM,qIAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAC;CAChE,iBAUH;AAIM,6DADK,eAAe,iBAG1B;AAIM,gMADK,eAAe,iBAuD1B;AAcM,2FAHI,cAAc,kBACd;IAAE,QAAQ,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,iBAqFhD;AAIM,sMADK,eAAe,iBAc1B;AASM,kNALI,YAAY,YAAY,CAAC,GACnC,cAAkB,GAAG;IACrB,OAAa,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAC;CAChE,iBAgCL;AAQM,2LAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAC;CAChE,iBA2BH;AAOM,qLAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAC;CAChE,iBAqCH;AAGM,kJADK,eAAe,GAAG,cAAc,iBAkB3C;AAaM,kGATI,eAAe;;;;;;kBAyCzB;AAOM,4DAFI,eAAe,iBAMzB;AAGD,qDAAqD;AACrD,8CADW,OAAO,YAAY,EAAE,iBAAiB,CA2E/C;AAGF,wDAAwD;AACxD,uCADW,OAAO,eAAe,EAAE,iBAAiB,CASjD"}
|
|
@@ -23,7 +23,7 @@ const { keys } = Object;
|
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* This registers the code triggered by `agd tx gov submit-proposal
|
|
26
|
-
* swingset-core-eval permit.json code.js`.
|
|
26
|
+
* swingset-core-eval permit.json code.js`. It is the "big hammer" governance
|
|
27
27
|
* that allows code.js access to all powers permitted by permit.json.
|
|
28
28
|
*
|
|
29
29
|
* @param {BootstrapPowers} allPowers
|
|
@@ -59,9 +59,11 @@ export const bridgeCoreEval = async allPowers => {
|
|
|
59
59
|
switch (obj.type) {
|
|
60
60
|
case 'CORE_EVAL': {
|
|
61
61
|
/**
|
|
62
|
-
* Type defined by
|
|
62
|
+
* Type defined by
|
|
63
|
+
* `agoric-sdk/golang/cosmos/proto/agoric/swingset/swingset.proto`
|
|
64
|
+
* CoreEval.
|
|
63
65
|
*
|
|
64
|
-
* @type {{ evals: { json_permits: string
|
|
66
|
+
* @type {{ evals: { json_permits: string; js_code: string }[] }}
|
|
65
67
|
*/
|
|
66
68
|
const { evals } = obj;
|
|
67
69
|
return Promise.all(
|
|
@@ -114,7 +116,7 @@ harden(bridgeCoreEval);
|
|
|
114
116
|
|
|
115
117
|
/**
|
|
116
118
|
* @param {BootstrapPowers & {
|
|
117
|
-
* consume: { loadCriticalVat: ERef<VatLoader<ProvisioningVat>> }
|
|
119
|
+
* consume: { loadCriticalVat: ERef<VatLoader<ProvisioningVat>> };
|
|
118
120
|
* }} powers
|
|
119
121
|
*/
|
|
120
122
|
export const makeProvisioner = async ({
|
|
@@ -128,9 +130,7 @@ export const makeProvisioner = async ({
|
|
|
128
130
|
};
|
|
129
131
|
harden(makeProvisioner);
|
|
130
132
|
|
|
131
|
-
/**
|
|
132
|
-
* @param {BootstrapPowers} powers
|
|
133
|
-
*/
|
|
133
|
+
/** @param {BootstrapPowers} powers */
|
|
134
134
|
export const noProvisioner = async ({ produce: { provisioning } }) => {
|
|
135
135
|
provisioning.resolve(undefined);
|
|
136
136
|
};
|
|
@@ -309,9 +309,10 @@ export const startTimerService = async ({
|
|
|
309
309
|
harden(startTimerService);
|
|
310
310
|
|
|
311
311
|
/**
|
|
312
|
-
* @param {BootDevices<ChainDevices> &
|
|
313
|
-
*
|
|
314
|
-
* }
|
|
312
|
+
* @param {BootDevices<ChainDevices> &
|
|
313
|
+
* BootstrapSpace & {
|
|
314
|
+
* consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> };
|
|
315
|
+
* }} powers
|
|
315
316
|
*/
|
|
316
317
|
export const makeBridgeManager = async ({
|
|
317
318
|
consume: { loadCriticalVat },
|
|
@@ -348,7 +349,7 @@ harden(makeBridgeManager);
|
|
|
348
349
|
|
|
349
350
|
/**
|
|
350
351
|
* @param {BootstrapSpace & {
|
|
351
|
-
* consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> }
|
|
352
|
+
* consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> };
|
|
352
353
|
* }} powers
|
|
353
354
|
*/
|
|
354
355
|
export const makeChainStorage = async ({
|
|
@@ -380,7 +381,7 @@ export const makeChainStorage = async ({
|
|
|
380
381
|
|
|
381
382
|
/**
|
|
382
383
|
* @param {BootstrapSpace & {
|
|
383
|
-
* consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> }
|
|
384
|
+
* consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> };
|
|
384
385
|
* }} powers
|
|
385
386
|
*/
|
|
386
387
|
export const produceHighPrioritySendersManager = async ({
|
|
@@ -405,14 +406,15 @@ export const produceHighPrioritySendersManager = async ({
|
|
|
405
406
|
);
|
|
406
407
|
|
|
407
408
|
/**
|
|
408
|
-
* NB: this is a non-durable Far object. If the bootstrap vat (where this
|
|
409
|
-
* were to be terminated, the object references to this would
|
|
409
|
+
* NB: this is a non-durable Far object. If the bootstrap vat (where this
|
|
410
|
+
* object is made) were to be terminated, the object references to this would
|
|
411
|
+
* be severed.
|
|
410
412
|
*
|
|
411
|
-
* See {@link ./README.md bootstrap documentation} for implications.
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
413
|
+
* See {@link ./README.md bootstrap documentation} for implications. If the
|
|
414
|
+
* bootstrap vat is replaced, the new bootstrap config must be made using
|
|
415
|
+
* state extracted from IAVL. Contracts holding this manager will need to be
|
|
416
|
+
* updated with the new object, which can be done with an upgrade (regular or
|
|
417
|
+
* null) with the new object in privateArgs.
|
|
416
418
|
*/
|
|
417
419
|
const manager = makePrioritySendersManager(sendersNode);
|
|
418
420
|
|
|
@@ -441,11 +443,14 @@ export const publishAgoricNamesToChainStorage = async ({
|
|
|
441
443
|
|
|
442
444
|
/**
|
|
443
445
|
* @deprecated use reflectAgoricNamesToChainStorage
|
|
444
|
-
*
|
|
445
446
|
* @param {BootstrapPowers} powers
|
|
446
|
-
* @param {{
|
|
447
|
-
*
|
|
448
|
-
*
|
|
447
|
+
* @param {{
|
|
448
|
+
* options?: {
|
|
449
|
+
* agoricNamesOptions?: {
|
|
450
|
+
* topLevel?: string[];
|
|
451
|
+
* };
|
|
452
|
+
* };
|
|
453
|
+
* }} config
|
|
449
454
|
*/
|
|
450
455
|
export const publishAgoricNames = async (
|
|
451
456
|
{ consume: { agoricNamesAdmin, board, chainStorage: rootP } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-behaviors.d.ts","sourceRoot":"","sources":["client-behaviors.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-behaviors.d.ts","sourceRoot":"","sources":["client-behaviors.js"],"names":[],"mappings":"AA4FO,8HANI,YAAY,WAAW,CAAC,GAClC,cAAkB,GAAG;IACrB,aAAmB,EAAE,kBAAkB,CAAC;IACxC,IAAU,EAAE,YAAY,GAAG,QAAQ,CAAC;CAC/B,iBAwEL;AAGD,wDAAwD;AACxD,wCADW,OAAO,eAAe,EAAE,iBAAiB,CAoCjD"}
|
|
@@ -84,10 +84,11 @@ async function createLocalBundle(vats, devices, vatAdminSvc, vatPowers) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
-
* @param {
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
87
|
+
* @param {BootDevices<SoloDevices> &
|
|
88
|
+
* BootstrapSpace & {
|
|
89
|
+
* vatParameters: BootstrapVatParams;
|
|
90
|
+
* vats: SwingsetVats & SoloVats;
|
|
91
|
+
* }} powers
|
|
91
92
|
*/
|
|
92
93
|
export const startClient = async ({
|
|
93
94
|
vatParameters: {
|
|
@@ -8,19 +8,21 @@ export function showAmount({ brand, value }: {
|
|
|
8
8
|
}): string;
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {readonly [bigint, bigint]} Rational
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* }
|
|
11
|
+
* @type {Record<
|
|
12
|
+
* string,
|
|
13
|
+
* {
|
|
14
|
+
* config?: {
|
|
15
|
+
* collateralValue: bigint;
|
|
16
|
+
* initialMargin: Rational;
|
|
17
|
+
* liquidationMargin: Rational;
|
|
18
|
+
* liquidationPenalty: Rational;
|
|
19
|
+
* stabilityFee: Rational;
|
|
20
|
+
* mintFee: Rational;
|
|
21
|
+
* liquidationPadding?: Rational;
|
|
22
|
+
* };
|
|
23
|
+
* trades: { central: number; collateral: bigint }[];
|
|
24
|
+
* }
|
|
25
|
+
* >}
|
|
24
26
|
*/
|
|
25
27
|
export const AMMDemoState: Record<string, {
|
|
26
28
|
config?: {
|
|
@@ -32,10 +34,10 @@ export const AMMDemoState: Record<string, {
|
|
|
32
34
|
mintFee: Rational;
|
|
33
35
|
liquidationPadding?: Rational;
|
|
34
36
|
};
|
|
35
|
-
trades:
|
|
37
|
+
trades: {
|
|
36
38
|
central: number;
|
|
37
39
|
collateral: bigint;
|
|
38
|
-
}
|
|
40
|
+
}[];
|
|
39
41
|
}>;
|
|
40
42
|
export function connectFaucet({ consume: { bankManager, bldIssuerKit: bldP, client, feeMintAccess, loadVat, zoe, }, installation: { consume: { centralSupply: centralSupplyInstall }, }, produce: { mints }, }: BootstrapSpace & {
|
|
41
43
|
consume: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demoIssuers.d.ts","sourceRoot":"","sources":["demoIssuers.js"],"names":[],"mappings":"AAeA,qCAAqC;AACrC,4BADW,OAAO,MAAM,EAAE,MAAM,CAAC,CAU/B;AA0CK,2BAHI,MAAM,OACN,MAAM,UAQhB;AAEM,0CAC+C;AAC/C;;;WAIN;AAWD
|
|
1
|
+
{"version":3,"file":"demoIssuers.d.ts","sourceRoot":"","sources":["demoIssuers.js"],"names":[],"mappings":"AAeA,qCAAqC;AACrC,4BADW,OAAO,MAAM,EAAE,MAAM,CAAC,CAU/B;AA0CK,2BAHI,MAAM,OACN,MAAM,UAQhB;AAEM,0CAC+C;AAC/C;;;WAIN;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,2BAhBU,OACT,MAAU,EACV;IACA,MAAY,CAAC,EAAE;QACf,eAAuB,EAAE,MAAM,CAAC;QAChC,aAAqB,WAAW;QAChC,iBAAyB,WAAW;QACpC,kBAA0B,WAAW;QACrC,YAAoB,WAAW;QAC/B,OAAe,WAAW;QAC1B,kBAA0B,CAAC,WAAW;KAC/B,CAAC;IACR,MAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD,CACF,CAqEF;AAsDK,gNAXI,cAAc,GAAG;IAAE,OAAO,EAAE;QAAE,OAAO,EAAE,UAAU,QAAQ,CAAC,CAAA;KAAE,CAAA;CAAE,iBAgIxE;AAQM,4CAFI,mBAAmB;;;;;EAgC7B;AAOM,0DAJI,OAAO,YACP,OAAO,MAAM,EAAE,MAAM,CAAC,WACtB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE;;;;;GA4BhD;AAQM,sCALI,MAAM,UACN,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,QAC7B,OAAO,MAAM,EAAE;IAAE,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,WACtD;IAAE,MAAM,EAAE,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAA;CAAE;;;;;;;;;;;;EAoC9D;uBAhXY,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gCAkIzB;IACZ,MAAU,EAAE,KAAK,MAAM,CAAC,CAAC;IACzB,aAAiB,EAAE,MAAM,CAAC;IAC1B,OAAW,EAAE,OAAO,CAAC;IACrB,KAAS,EAAE,KAAK,CAAC;IACjB,YAAgB,EAAE,MAAM,CAAC;CACtB"}
|