@agoric/vats 0.15.2-dev-ecf2d8e.0 → 0.15.2-other-dev-70beeb7.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/CHANGELOG.md +9 -0
- package/decentral-core-config.json +66 -0
- package/decentral-demo-config.json +155 -0
- package/decentral-devnet-config.json +216 -0
- package/decentral-itest-vaults-config.json +210 -0
- package/decentral-main-vaults-config.json +229 -0
- package/decentral-test-vaults-config.json +195 -0
- package/demo-proposals.json +5 -0
- package/exported.js +1 -1
- package/jsconfig.build.json +12 -0
- package/{tsconfig.json → jsconfig.json} +0 -3
- package/package.json +42 -32
- package/scripts/build-bundles.d.ts +3 -0
- package/scripts/build-bundles.d.ts.map +1 -0
- package/scripts/build-bundles.js +3 -8
- package/scripts/build-game1-start.d.ts +5 -0
- package/scripts/build-game1-start.d.ts.map +1 -0
- package/scripts/build-game1-start.js +34 -0
- package/scripts/build-walletFactory-upgrade.d.ts +5 -0
- package/scripts/build-walletFactory-upgrade.d.ts.map +1 -0
- package/scripts/build-walletFactory-upgrade.js +35 -0
- package/scripts/init-core.d.ts +5 -0
- package/scripts/init-core.d.ts.map +1 -0
- package/scripts/init-core.js +31 -0
- package/scripts/init-network.d.ts +5 -0
- package/scripts/init-network.d.ts.map +1 -0
- package/scripts/init-network.js +19 -0
- package/scripts/restart-vats.d.ts +5 -0
- package/scripts/restart-vats.d.ts.map +1 -0
- package/scripts/restart-vats.js +23 -0
- package/scripts/set-core-proposal-env.d.ts +3 -0
- package/scripts/set-core-proposal-env.d.ts.map +1 -0
- package/scripts/set-core-proposal-env.js +37 -0
- package/src/bridge.d.ts +3 -12
- package/src/bridge.d.ts.map +1 -1
- package/src/bridge.js +12 -24
- package/src/centralSupply.d.ts.map +1 -1
- package/src/centralSupply.js +3 -3
- package/src/core/basic-behaviors.d.ts +7 -7
- package/src/core/basic-behaviors.d.ts.map +1 -1
- package/src/core/basic-behaviors.js +50 -56
- package/src/core/boot-chain.d.ts +1 -1
- 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 +23 -29
- package/src/core/client-behaviors.d.ts.map +1 -1
- package/src/core/client-behaviors.js +4 -5
- package/src/core/demoIssuers.d.ts +15 -17
- package/src/core/demoIssuers.d.ts.map +1 -1
- package/src/core/demoIssuers.js +36 -36
- package/src/core/lib-boot.d.ts +9 -11
- package/src/core/lib-boot.d.ts.map +1 -1
- package/src/core/lib-boot.js +22 -32
- package/src/core/promise-space.d.ts.map +1 -1
- package/src/core/promise-space.js +14 -14
- package/src/core/sim-behaviors.d.ts +1 -1
- package/src/core/sim-behaviors.d.ts.map +1 -1
- package/src/core/startWalletFactory.d.ts +62 -9
- package/src/core/startWalletFactory.d.ts.map +1 -1
- package/src/core/startWalletFactory.js +17 -26
- package/src/core/types.d.ts +820 -0
- package/src/core/types.d.ts.map +1 -0
- package/src/core/types.js +347 -0
- package/src/core/utils.d.ts +16 -18
- package/src/core/utils.d.ts.map +1 -1
- package/src/core/utils.js +30 -32
- package/src/crc.d.ts +6 -2
- package/src/crc.d.ts.map +1 -1
- package/src/crc.js +15 -5
- package/src/ibc.d.ts +5 -5
- package/src/ibc.d.ts.map +1 -1
- package/src/ibc.js +47 -27
- package/src/lib-board.d.ts +50 -49
- package/src/lib-board.d.ts.map +1 -1
- package/src/lib-board.js +39 -32
- package/src/mintHolder.d.ts +1 -3
- package/src/mintHolder.d.ts.map +1 -1
- package/src/mintHolder.js +8 -13
- package/src/nameHub.d.ts +2 -18
- package/src/nameHub.d.ts.map +1 -1
- package/src/nameHub.js +17 -26
- package/src/proposals/network-proposal.d.ts.map +1 -1
- package/src/proposals/network-proposal.js +12 -15
- 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 +5 -3
- package/src/provisionPool.d.ts +164 -0
- package/src/provisionPool.d.ts.map +1 -0
- package/src/provisionPool.js +113 -0
- package/src/provisionPoolKit.d.ts +408 -0
- package/src/provisionPoolKit.d.ts.map +1 -0
- package/src/provisionPoolKit.js +464 -0
- package/src/repl.js +1 -1
- package/src/tokens.d.ts +36 -0
- package/src/tokens.d.ts.map +1 -0
- package/src/tokens.js +37 -0
- package/src/types.d.ts +103 -84
- package/src/types.d.ts.map +1 -0
- package/src/types.js +97 -1
- package/src/vat-agoricNames.d.ts +1 -1
- package/src/vat-agoricNames.d.ts.map +1 -1
- package/src/vat-agoricNames.js +3 -2
- package/src/vat-bank.d.ts +58 -62
- package/src/vat-bank.d.ts.map +1 -1
- package/src/vat-bank.js +54 -62
- package/src/vat-board.d.ts +1 -1
- package/src/vat-bridge.d.ts +30 -2
- package/src/vat-bridge.d.ts.map +1 -1
- package/src/vat-mints.d.ts +12 -12
- package/src/vat-mints.d.ts.map +1 -1
- package/src/vat-mints.js +6 -6
- package/src/vat-network.d.ts +1 -1
- package/src/vat-network.d.ts.map +1 -1
- package/src/vat-network.js +1 -1
- package/src/vat-priceAuthority.d.ts +1 -1
- package/src/vat-provisioning.d.ts +1 -1
- package/src/vat-provisioning.d.ts.map +1 -1
- package/src/vat-provisioning.js +7 -11
- package/src/vat-sharing.d.ts +54 -0
- package/src/vat-sharing.d.ts.map +1 -0
- package/src/vat-sharing.js +14 -0
- package/src/vat-zoe.d.ts +0 -2
- package/src/vat-zoe.d.ts.map +1 -1
- package/src/vat-zoe.js +2 -8
- package/src/virtual-purse.d.ts +12 -37
- package/src/virtual-purse.d.ts.map +1 -1
- package/src/virtual-purse.js +36 -38
- package/src/walletFlags.d.ts +2 -2
- package/src/walletFlags.js +2 -1
- package/tools/authorityViz.d.ts +27 -0
- package/tools/authorityViz.d.ts.map +1 -0
- package/tools/authorityViz.js +272 -0
- package/tools/bank-utils.d.ts +1 -1
- package/tools/bank-utils.d.ts.map +1 -1
- package/tools/bank-utils.js +5 -12
- package/tools/board-utils.d.ts +19 -5
- package/tools/board-utils.d.ts.map +1 -1
- package/tools/board-utils.js +81 -29
- package/tools/boot-test-utils.d.ts +10 -9
- package/tools/boot-test-utils.d.ts.map +1 -1
- package/tools/boot-test-utils.js +16 -6
- package/tools/viz.mk +17 -0
- package/index.js +0 -11
- package/src/core/types-ambient.d.ts +0 -475
- package/src/core/types-ambient.js +0 -1
- package/src/proposals/zcf-proposal.d.ts +0 -30
- package/src/proposals/zcf-proposal.d.ts.map +0 -1
- package/src/proposals/zcf-proposal.js +0 -45
- package/tsconfig.build.json +0 -6
package/src/types.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type Board = ReturnType<
|
|
4
|
-
ReturnType<typeof import('./lib-board.js').prepareBoardKit>
|
|
5
|
-
>['board'];
|
|
6
|
-
|
|
1
|
+
export type EOnly<T> = import('@endo/far').EOnly<T>;
|
|
2
|
+
export type Board = ReturnType<ReturnType<typeof import('./lib-board.js').prepareBoardKit>>['board'];
|
|
7
3
|
/**
|
|
8
4
|
* read-only access to a node in a name hierarchy
|
|
9
5
|
*
|
|
@@ -12,98 +8,121 @@ export type Board = ReturnType<
|
|
|
12
8
|
* trips for the contents of even the simplest nameHub.
|
|
13
9
|
*/
|
|
14
10
|
export type NameHub = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
has: (key: string) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Look up a
|
|
14
|
+
* path of keys starting from the current NameHub. Wait on any reserved
|
|
15
|
+
* promises.
|
|
16
|
+
*/
|
|
17
|
+
lookup: (...path: Array<string>) => Promise<any>;
|
|
18
|
+
/**
|
|
19
|
+
* get all the entries
|
|
20
|
+
* available in the current NameHub
|
|
21
|
+
*/
|
|
22
|
+
entries: (includeReserved?: boolean) => [string, unknown][];
|
|
23
|
+
/**
|
|
24
|
+
* get all names available in the
|
|
25
|
+
* current NameHub
|
|
26
|
+
*/
|
|
27
|
+
keys: () => string[];
|
|
28
|
+
/**
|
|
29
|
+
* get all values available in the
|
|
30
|
+
* current NameHub
|
|
31
|
+
*/
|
|
32
|
+
values: () => unknown[];
|
|
27
33
|
};
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
/**
|
|
35
|
+
* write access to a node in a name hierarchy
|
|
36
|
+
*/
|
|
30
37
|
export type NameAdmin = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
38
|
+
provideChild: (key: string, reserved?: string[]) => Promise<NameHubKit>;
|
|
39
|
+
/**
|
|
40
|
+
* Mark a key as reserved; will
|
|
41
|
+
* return a promise that is fulfilled when the key is updated (or rejected when
|
|
42
|
+
* deleted). If the key was already set it does nothing.
|
|
43
|
+
*/
|
|
44
|
+
reserve: (key: string) => Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Update if not already updated. Return
|
|
47
|
+
* existing value, or newValue if not existing.
|
|
48
|
+
*/
|
|
49
|
+
default: <T>(key: string, newValue: T, newAdmin?: NameAdmin) => T;
|
|
50
|
+
/**
|
|
51
|
+
* Update only if already initialized. Reject if not.
|
|
52
|
+
*/
|
|
53
|
+
set: (key: string, newValue: unknown, newAdmin?: NameAdmin) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Fulfill an outstanding reserved promise (if any) to the newValue and
|
|
56
|
+
* set the key to the newValue. If newAdmin is provided, set that to return via
|
|
57
|
+
* lookupAdmin.
|
|
58
|
+
*/
|
|
59
|
+
update: (key: string, newValue: unknown, newAdmin?: NameAdmin) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Look up the
|
|
62
|
+
* `newAdmin` from the path of keys starting from the current NameAdmin. Wait
|
|
63
|
+
* on any reserved promises.
|
|
64
|
+
*/
|
|
65
|
+
lookupAdmin: (...path: Array<string>) => Promise<NameAdmin>;
|
|
66
|
+
/**
|
|
67
|
+
* Delete a value and reject an
|
|
68
|
+
* outstanding reserved promise (if any).
|
|
69
|
+
*/
|
|
70
|
+
delete: (key: string) => void;
|
|
71
|
+
/**
|
|
72
|
+
* get the NameHub corresponding to the
|
|
73
|
+
* current NameAdmin
|
|
74
|
+
*/
|
|
75
|
+
readonly: () => NameHub;
|
|
76
|
+
onUpdate: (fn: undefined | (NameHubUpdateHandler)) => void;
|
|
61
77
|
};
|
|
62
|
-
|
|
63
78
|
export type NameHubUpdateHandler = {
|
|
64
|
-
|
|
79
|
+
write: (entries: [string, unknown][]) => void;
|
|
65
80
|
};
|
|
66
|
-
|
|
67
|
-
|
|
81
|
+
/**
|
|
82
|
+
* a node in a name hierarchy
|
|
83
|
+
*/
|
|
68
84
|
export type NameHubKit = {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
85
|
+
/**
|
|
86
|
+
* read access
|
|
87
|
+
*/
|
|
88
|
+
nameHub: NameHub;
|
|
89
|
+
/**
|
|
90
|
+
* write access
|
|
91
|
+
*/
|
|
92
|
+
nameAdmin: NameAdmin;
|
|
73
93
|
};
|
|
74
|
-
|
|
75
94
|
export type MyAddressNameAdmin = NameAdmin & {
|
|
76
|
-
|
|
95
|
+
getMyAddress(): string;
|
|
77
96
|
};
|
|
78
97
|
export type NamesByAddressAdmin = NameAdmin & {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
nameAdmin: MyAddressNameAdmin;
|
|
85
|
-
}>;
|
|
86
|
-
lookupAdmin(addr: string): Promise<MyAddressNameAdmin>;
|
|
98
|
+
provideChild(addr: string, reserved?: string[]): Promise<{
|
|
99
|
+
nameHub: NameHub;
|
|
100
|
+
nameAdmin: MyAddressNameAdmin;
|
|
101
|
+
}>;
|
|
102
|
+
lookupAdmin(addr: string): Promise<MyAddressNameAdmin>;
|
|
87
103
|
};
|
|
88
|
-
|
|
89
|
-
|
|
104
|
+
/**
|
|
105
|
+
* An object that can receive messages from the bridge device
|
|
106
|
+
*/
|
|
90
107
|
export type BridgeHandler = {
|
|
91
|
-
|
|
92
|
-
|
|
108
|
+
/**
|
|
109
|
+
* Handle an inbound message
|
|
110
|
+
*/
|
|
111
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
93
112
|
};
|
|
94
|
-
|
|
95
|
-
|
|
113
|
+
/**
|
|
114
|
+
* An object which handles messages for a specific bridge
|
|
115
|
+
*/
|
|
96
116
|
export type ScopedBridgeManager = {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
117
|
+
toBridge: (obj: any) => Promise<any>;
|
|
118
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
119
|
+
initHandler: (handler: ERef<BridgeHandler>) => void;
|
|
120
|
+
setHandler: (handler: ERef<BridgeHandler>) => void;
|
|
101
121
|
};
|
|
102
|
-
|
|
103
|
-
|
|
122
|
+
/**
|
|
123
|
+
* The object to manage this bridge
|
|
124
|
+
*/
|
|
104
125
|
export type BridgeManager = {
|
|
105
|
-
|
|
106
|
-
bridgeId: string,
|
|
107
|
-
handler?: ERef<BridgeHandler | undefined>,
|
|
108
|
-
) => ScopedBridgeManager;
|
|
126
|
+
register: (bridgeId: string, handler?: ERef<BridgeHandler | undefined>) => ScopedBridgeManager;
|
|
109
127
|
};
|
|
128
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"uBAMa,OAAO,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;oBAI5B,WAAW,WAAW,cAAc,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;;;;;;;;;eAUzE,MAAM,KAAK,OAAO;;;;;;sBACd,MAAM,MAAM,CAAC,KAAK,QAAQ,GAAG,CAAC;;;;;gCAGrB,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;UAElD,MAAM,MAAM,EAAE;;;;;YAEd,MAAM,OAAO,EAAE;;;;;;wBAOT,MAAM,aAAa,MAAM,EAAE,KAAK,QAAQ,UAAU,CAAC;;;;;;mBACnD,MAAM,KAAK,QAAQ,IAAI,CAAC;;;;;sBAGpB,MAAM,0BAA0B,SAAS;;;;eAIvD,MAAM,YAAY,OAAO,aAAa,SAAS,KAAK,IAAI;;;;;;kBAGxD,MAAM,YAAY,OAAO,aAAa,SAAS,KAAK,IAAI;;;;;;2BAI1C,MAAM,MAAM,CAAC,KAAK,QAAQ,SAAS,CAAC;;;;;kBAGxC,MAAM,KAAK,IAAI;;;;;cAErB,MAAM,OAAO;mBAER,SAAS,GAAG,CAAC,oBAAoB,CAAC,KAAK,IAAI;;;qBAE9B,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI;;;;;;;;;aAK9C,OAAO;;;;eACP,SAAS;;iCAIV,SAAS,GAAG;IAAE,YAAY,IAAI,MAAM,CAAA;CAAE;;uBAI3B,MAAM,aAAa,MAAM,EAAE,GAAG,QAAQ;QAC7D,OAAa,EAAE,OAAO,CAAC;QACvB,SAAe,EAAE,kBAAkB,CAAC;KAC/B,CAAC;sBACgB,MAAM,GAAG,QAAQ,kBAAkB,CAAC;;;;;;;;;sBAMvC,GAAG,KAAK,QAAQ,IAAI,CAAC;;;;;;oBAKrB,GAAG,KAAK,QAAQ,GAAG,CAAC;sBACpB,GAAG,KAAK,QAAQ,IAAI,CAAC;2BACjB,KAAK,aAAa,CAAC,KAAK,IAAI;0BAC5B,KAAK,aAAa,CAAC,KAAK,IAAI;;;;;;yBAK3B,MAAM,YAAY,KAAK,aAAa,GAAG,SAAS,CAAC,KAAK,mBAAmB"}
|
package/src/types.js
CHANGED
|
@@ -1,2 +1,98 @@
|
|
|
1
|
-
//
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
2
3
|
export {};
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @template T
|
|
7
|
+
* @typedef {import('@endo/far').EOnly<T>} EOnly
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {ReturnType<ReturnType<typeof import('./lib-board.js').prepareBoardKit>>['board']} Board
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {object} NameHub read-only access to a node in a name hierarchy
|
|
16
|
+
*
|
|
17
|
+
* NOTE: We need to return arrays, not iterables, because even if marshal could
|
|
18
|
+
* allow passing a remote iterable, there would be an inordinate number of round
|
|
19
|
+
* trips for the contents of even the simplest nameHub.
|
|
20
|
+
*
|
|
21
|
+
* @property {(key: string) => boolean} has
|
|
22
|
+
* @property {(...path: Array<string>) => Promise<any>} lookup Look up a
|
|
23
|
+
* path of keys starting from the current NameHub. Wait on any reserved
|
|
24
|
+
* promises.
|
|
25
|
+
* @property {(includeReserved?: boolean) => [string, unknown][]} entries get all the entries
|
|
26
|
+
* available in the current NameHub
|
|
27
|
+
* @property {() => string[]} keys get all names available in the
|
|
28
|
+
* current NameHub
|
|
29
|
+
* @property {() => unknown[]} values get all values available in the
|
|
30
|
+
* current NameHub
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @typedef {object} NameAdmin write access to a node in a name hierarchy
|
|
35
|
+
*
|
|
36
|
+
* @property {(key: string, reserved?: string[]) => Promise<NameHubKit>} provideChild
|
|
37
|
+
* @property {(key: string) => Promise<void>} reserve Mark a key as reserved; will
|
|
38
|
+
* return a promise that is fulfilled when the key is updated (or rejected when
|
|
39
|
+
* deleted). If the key was already set it does nothing.
|
|
40
|
+
* @property {<T>( key: string, newValue: T, newAdmin?: NameAdmin) =>
|
|
41
|
+
* T } default Update if not already updated. Return
|
|
42
|
+
* existing value, or newValue if not existing.
|
|
43
|
+
* @property {(
|
|
44
|
+
* key: string, newValue: unknown, newAdmin?: NameAdmin) => void
|
|
45
|
+
* } set Update only if already initialized. Reject if not.
|
|
46
|
+
* @property {(
|
|
47
|
+
* key: string, newValue: unknown, newAdmin?: NameAdmin) => void
|
|
48
|
+
* } update Fulfill an outstanding reserved promise (if any) to the newValue and
|
|
49
|
+
* set the key to the newValue. If newAdmin is provided, set that to return via
|
|
50
|
+
* lookupAdmin.
|
|
51
|
+
* @property {(...path: Array<string>) => Promise<NameAdmin>} lookupAdmin Look up the
|
|
52
|
+
* `newAdmin` from the path of keys starting from the current NameAdmin. Wait
|
|
53
|
+
* on any reserved promises.
|
|
54
|
+
* @property {(key: string) => void} delete Delete a value and reject an
|
|
55
|
+
* outstanding reserved promise (if any).
|
|
56
|
+
* @property {() => NameHub} readonly get the NameHub corresponding to the
|
|
57
|
+
* current NameAdmin
|
|
58
|
+
* @property {(fn: undefined | (NameHubUpdateHandler)) => void} onUpdate
|
|
59
|
+
*
|
|
60
|
+
* @typedef {{ write: (entries: [string, unknown][]) => void }} NameHubUpdateHandler
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @typedef {object} NameHubKit a node in a name hierarchy
|
|
65
|
+
* @property {NameHub} nameHub read access
|
|
66
|
+
* @property {NameAdmin} nameAdmin write access
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @typedef {NameAdmin & { getMyAddress(): string }} MyAddressNameAdmin
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* @typedef {NameAdmin & {
|
|
74
|
+
* provideChild(addr: string, reserved?: string[]): Promise<{
|
|
75
|
+
* nameHub: NameHub,
|
|
76
|
+
* nameAdmin: MyAddressNameAdmin,
|
|
77
|
+
* }>,
|
|
78
|
+
* lookupAdmin(addr: string): Promise<MyAddressNameAdmin>,
|
|
79
|
+
* }} NamesByAddressAdmin
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @typedef {object} BridgeHandler An object that can receive messages from the bridge device
|
|
84
|
+
* @property {(obj: any) => Promise<void>} fromBridge Handle an inbound message
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @typedef {object} ScopedBridgeManager An object which handles messages for a specific bridge
|
|
89
|
+
* @property {(obj: any) => Promise<any>} toBridge
|
|
90
|
+
* @property {(obj: any) => Promise<void>} fromBridge
|
|
91
|
+
* @property {(handler: ERef<BridgeHandler>) => void} initHandler
|
|
92
|
+
* @property {(handler: ERef<BridgeHandler>) => void} setHandler
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @typedef {object} BridgeManager The object to manage this bridge
|
|
97
|
+
* @property {(bridgeId: string, handler?: ERef<BridgeHandler | undefined>) => ScopedBridgeManager} register
|
|
98
|
+
*/
|
package/src/vat-agoricNames.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function buildRootObject(_vatPowers: unknown, _vatParameters: unknown, baggage:
|
|
1
|
+
export function buildRootObject(_vatPowers: unknown, _vatParameters: unknown, baggage: MapStore<string, unknown>): {
|
|
2
2
|
getNameHub: () => import("./types.js").NameHub;
|
|
3
3
|
getNameHubKit: () => import("./types.js").NameHubKit;
|
|
4
4
|
publishNameHubs: (nameStorage: ERef<StorageNode>, vatBoard: ERef<BoardVat>, kinds: string[]) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat-agoricNames.d.ts","sourceRoot":"","sources":["vat-agoricNames.js"],"names":[],"mappings":"AA2CO,4CAJI,OAAO,kBACP,OAAO;;;mCAaL,KAAK,WAAW,CAAC,YACjB,KAAK,QAAQ,CAAC,SACd,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"vat-agoricNames.d.ts","sourceRoot":"","sources":["vat-agoricNames.js"],"names":[],"mappings":"AA2CO,4CAJI,OAAO,kBACP,OAAO;;;mCAaL,KAAK,WAAW,CAAC,YACjB,KAAK,QAAQ,CAAC,SACd,MAAM,EAAE;IAqBjB;;;;;OAKG;iCAFQ,MAAM,eACN,WAAW;;;;mCA3Bb,KAAK,WAAW,CAAC,YACjB,KAAK,QAAQ,CAAC,SACd,MAAM,EAAE;IAqBjB;;;;;OAKG;iCAFQ,MAAM,eACN,WAAW;GAOzB"}
|
package/src/vat-agoricNames.js
CHANGED
|
@@ -62,8 +62,9 @@ export const buildRootObject = (_vatPowers, _vatParameters, baggage) => {
|
|
|
62
62
|
const kindAdmin = await E(agoricNamesAdmin).lookupAdmin(kind);
|
|
63
63
|
|
|
64
64
|
const kindNode = await E(nameStorage).makeChildNode(kind);
|
|
65
|
-
const recorderKit =
|
|
66
|
-
|
|
65
|
+
const recorderKit = await E(vatBoard).makePublishingRecorderKit(
|
|
66
|
+
kindNode,
|
|
67
|
+
);
|
|
67
68
|
kindAdmin.onUpdate(recorderKit.recorder);
|
|
68
69
|
}),
|
|
69
70
|
);
|
package/src/vat-bank.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
2
2
|
/**
|
|
3
|
-
* @param {ERef<import('./types.js').ScopedBridgeManager | undefined>} [bankBridgeManagerP]
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @param {ERef<{ update: import('./types.js').NameAdmin['update'] }>} [nameAdminP]
|
|
7
|
-
*
|
|
3
|
+
* @param {ERef<import('./types.js').ScopedBridgeManager | undefined>} [bankBridgeManagerP] a bridge
|
|
4
|
+
* manager for the "remote" bank (such as on cosmos-sdk). If not supplied
|
|
5
|
+
* (such as on sim-chain), we just use local purses.
|
|
6
|
+
* @param {ERef<{ update: import('./types.js').NameAdmin['update'] }>} [nameAdminP] update facet of
|
|
7
|
+
* a NameAdmin; see addAsset() for detail.
|
|
8
8
|
*/
|
|
9
9
|
makeBankManager(bankBridgeManagerP?: ERef<import('./types.js').ScopedBridgeManager | undefined>, nameAdminP?: ERef<{
|
|
10
10
|
update: import('./types.js').NameAdmin['update'];
|
|
@@ -18,29 +18,28 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
18
18
|
/**
|
|
19
19
|
* @param {string} denom
|
|
20
20
|
* @param {AssetIssuerKit} feeKit
|
|
21
|
-
* @returns {
|
|
21
|
+
* @returns {import('@endo/far').EOnly<DepositFacet>}
|
|
22
22
|
*/
|
|
23
|
-
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit):
|
|
23
|
+
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit): import('@endo/far').EOnly<DepositFacet>;
|
|
24
24
|
/**
|
|
25
25
|
* Get the address of named module account.
|
|
26
26
|
*
|
|
27
27
|
* @param {string} moduleName
|
|
28
28
|
* @returns {Promise<string | null>} address of named module account, or
|
|
29
|
-
*
|
|
29
|
+
* null if unimplemented (no bankChannel)
|
|
30
30
|
*/
|
|
31
31
|
getModuleAccountAddress(moduleName: string): Promise<string | null>;
|
|
32
32
|
/**
|
|
33
|
-
* Add an asset to the bank, and publish it to the subscriptions.
|
|
34
|
-
* nameAdmin is defined, update with denom to AssetInfo entry.
|
|
33
|
+
* Add an asset to the bank, and publish it to the subscriptions.
|
|
34
|
+
* If nameAdmin is defined, update with denom to AssetInfo entry.
|
|
35
35
|
*
|
|
36
|
-
* Note that AssetInfo has the settled identity of the issuer,
|
|
37
|
-
* promise for it.
|
|
36
|
+
* Note that AssetInfo has the settled identity of the issuer,
|
|
37
|
+
* not just a promise for it.
|
|
38
38
|
*
|
|
39
39
|
* @param {string} denom lower-level denomination string
|
|
40
40
|
* @param {string} issuerName
|
|
41
41
|
* @param {string} proposedName
|
|
42
|
-
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer
|
|
43
|
-
* kit (mint, brand, issuer)
|
|
42
|
+
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer kit (mint, brand, issuer)
|
|
44
43
|
*/
|
|
45
44
|
addAsset(denom: string, issuerName: string, proposedName: string, kit: AssetIssuerKit<AssetKind> & {
|
|
46
45
|
payment?: ERef<Payment<AssetKind>> | undefined;
|
|
@@ -62,29 +61,28 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
62
61
|
/**
|
|
63
62
|
* @param {string} denom
|
|
64
63
|
* @param {AssetIssuerKit} feeKit
|
|
65
|
-
* @returns {
|
|
64
|
+
* @returns {import('@endo/far').EOnly<DepositFacet>}
|
|
66
65
|
*/
|
|
67
|
-
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit):
|
|
66
|
+
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit): import('@endo/far').EOnly<DepositFacet>;
|
|
68
67
|
/**
|
|
69
68
|
* Get the address of named module account.
|
|
70
69
|
*
|
|
71
70
|
* @param {string} moduleName
|
|
72
71
|
* @returns {Promise<string | null>} address of named module account, or
|
|
73
|
-
*
|
|
72
|
+
* null if unimplemented (no bankChannel)
|
|
74
73
|
*/
|
|
75
74
|
getModuleAccountAddress(moduleName: string): Promise<string | null>;
|
|
76
75
|
/**
|
|
77
|
-
* Add an asset to the bank, and publish it to the subscriptions.
|
|
78
|
-
* nameAdmin is defined, update with denom to AssetInfo entry.
|
|
76
|
+
* Add an asset to the bank, and publish it to the subscriptions.
|
|
77
|
+
* If nameAdmin is defined, update with denom to AssetInfo entry.
|
|
79
78
|
*
|
|
80
|
-
* Note that AssetInfo has the settled identity of the issuer,
|
|
81
|
-
* promise for it.
|
|
79
|
+
* Note that AssetInfo has the settled identity of the issuer,
|
|
80
|
+
* not just a promise for it.
|
|
82
81
|
*
|
|
83
82
|
* @param {string} denom lower-level denomination string
|
|
84
83
|
* @param {string} issuerName
|
|
85
84
|
* @param {string} proposedName
|
|
86
|
-
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer
|
|
87
|
-
* kit (mint, brand, issuer)
|
|
85
|
+
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer kit (mint, brand, issuer)
|
|
88
86
|
*/
|
|
89
87
|
addAsset(denom: string, issuerName: string, proposedName: string, kit: AssetIssuerKit<AssetKind> & {
|
|
90
88
|
payment?: ERef<Payment<AssetKind>> | undefined;
|
|
@@ -99,11 +97,11 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
99
97
|
}>>;
|
|
100
98
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
101
99
|
/**
|
|
102
|
-
* @param {ERef<import('./types.js').ScopedBridgeManager | undefined>} [bankBridgeManagerP]
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* @param {ERef<{ update: import('./types.js').NameAdmin['update'] }>} [nameAdminP]
|
|
106
|
-
*
|
|
100
|
+
* @param {ERef<import('./types.js').ScopedBridgeManager | undefined>} [bankBridgeManagerP] a bridge
|
|
101
|
+
* manager for the "remote" bank (such as on cosmos-sdk). If not supplied
|
|
102
|
+
* (such as on sim-chain), we just use local purses.
|
|
103
|
+
* @param {ERef<{ update: import('./types.js').NameAdmin['update'] }>} [nameAdminP] update facet of
|
|
104
|
+
* a NameAdmin; see addAsset() for detail.
|
|
107
105
|
*/
|
|
108
106
|
makeBankManager(bankBridgeManagerP?: ERef<import('./types.js').ScopedBridgeManager | undefined>, nameAdminP?: ERef<{
|
|
109
107
|
update: import('./types.js').NameAdmin['update'];
|
|
@@ -117,29 +115,28 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
117
115
|
/**
|
|
118
116
|
* @param {string} denom
|
|
119
117
|
* @param {AssetIssuerKit} feeKit
|
|
120
|
-
* @returns {
|
|
118
|
+
* @returns {import('@endo/far').EOnly<DepositFacet>}
|
|
121
119
|
*/
|
|
122
|
-
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit):
|
|
120
|
+
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit): import('@endo/far').EOnly<DepositFacet>;
|
|
123
121
|
/**
|
|
124
122
|
* Get the address of named module account.
|
|
125
123
|
*
|
|
126
124
|
* @param {string} moduleName
|
|
127
125
|
* @returns {Promise<string | null>} address of named module account, or
|
|
128
|
-
*
|
|
126
|
+
* null if unimplemented (no bankChannel)
|
|
129
127
|
*/
|
|
130
128
|
getModuleAccountAddress(moduleName: string): Promise<string | null>;
|
|
131
129
|
/**
|
|
132
|
-
* Add an asset to the bank, and publish it to the subscriptions.
|
|
133
|
-
* nameAdmin is defined, update with denom to AssetInfo entry.
|
|
130
|
+
* Add an asset to the bank, and publish it to the subscriptions.
|
|
131
|
+
* If nameAdmin is defined, update with denom to AssetInfo entry.
|
|
134
132
|
*
|
|
135
|
-
* Note that AssetInfo has the settled identity of the issuer,
|
|
136
|
-
* promise for it.
|
|
133
|
+
* Note that AssetInfo has the settled identity of the issuer,
|
|
134
|
+
* not just a promise for it.
|
|
137
135
|
*
|
|
138
136
|
* @param {string} denom lower-level denomination string
|
|
139
137
|
* @param {string} issuerName
|
|
140
138
|
* @param {string} proposedName
|
|
141
|
-
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer
|
|
142
|
-
* kit (mint, brand, issuer)
|
|
139
|
+
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer kit (mint, brand, issuer)
|
|
143
140
|
*/
|
|
144
141
|
addAsset(denom: string, issuerName: string, proposedName: string, kit: AssetIssuerKit<AssetKind> & {
|
|
145
142
|
payment?: ERef<Payment<AssetKind>> | undefined;
|
|
@@ -161,29 +158,28 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
161
158
|
/**
|
|
162
159
|
* @param {string} denom
|
|
163
160
|
* @param {AssetIssuerKit} feeKit
|
|
164
|
-
* @returns {
|
|
161
|
+
* @returns {import('@endo/far').EOnly<DepositFacet>}
|
|
165
162
|
*/
|
|
166
|
-
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit):
|
|
163
|
+
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit): import('@endo/far').EOnly<DepositFacet>;
|
|
167
164
|
/**
|
|
168
165
|
* Get the address of named module account.
|
|
169
166
|
*
|
|
170
167
|
* @param {string} moduleName
|
|
171
168
|
* @returns {Promise<string | null>} address of named module account, or
|
|
172
|
-
*
|
|
169
|
+
* null if unimplemented (no bankChannel)
|
|
173
170
|
*/
|
|
174
171
|
getModuleAccountAddress(moduleName: string): Promise<string | null>;
|
|
175
172
|
/**
|
|
176
|
-
* Add an asset to the bank, and publish it to the subscriptions.
|
|
177
|
-
* nameAdmin is defined, update with denom to AssetInfo entry.
|
|
173
|
+
* Add an asset to the bank, and publish it to the subscriptions.
|
|
174
|
+
* If nameAdmin is defined, update with denom to AssetInfo entry.
|
|
178
175
|
*
|
|
179
|
-
* Note that AssetInfo has the settled identity of the issuer,
|
|
180
|
-
* promise for it.
|
|
176
|
+
* Note that AssetInfo has the settled identity of the issuer,
|
|
177
|
+
* not just a promise for it.
|
|
181
178
|
*
|
|
182
179
|
* @param {string} denom lower-level denomination string
|
|
183
180
|
* @param {string} issuerName
|
|
184
181
|
* @param {string} proposedName
|
|
185
|
-
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer
|
|
186
|
-
* kit (mint, brand, issuer)
|
|
182
|
+
* @param {AssetIssuerKit & { payment?: ERef<Payment> }} kit ERTP issuer kit (mint, brand, issuer)
|
|
187
183
|
*/
|
|
188
184
|
addAsset(denom: string, issuerName: string, proposedName: string, kit: AssetIssuerKit<AssetKind> & {
|
|
189
185
|
payment?: ERef<Payment<AssetKind>> | undefined;
|
|
@@ -197,7 +193,9 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
197
193
|
getBankForAddress(address: string): Promise<Bank>;
|
|
198
194
|
}>>;
|
|
199
195
|
}>;
|
|
200
|
-
/**
|
|
196
|
+
/**
|
|
197
|
+
* @typedef {AssetIssuerKit & { denom: string, escrowPurse?: ERef<Purse> }} AssetRecord
|
|
198
|
+
*/
|
|
201
199
|
/**
|
|
202
200
|
* @typedef {object} AssetDescriptor
|
|
203
201
|
* @property {Brand} brand
|
|
@@ -207,22 +205,19 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
207
205
|
* @property {string} proposedName
|
|
208
206
|
*/
|
|
209
207
|
/**
|
|
210
|
-
* @typedef {AssetDescriptor & {
|
|
211
|
-
* issuer: Issuer<'nat'
|
|
212
|
-
* displayInfo: DisplayInfo
|
|
208
|
+
* @typedef { AssetDescriptor & {
|
|
209
|
+
* issuer: Issuer<'nat'>, // settled identity
|
|
210
|
+
* displayInfo: DisplayInfo,
|
|
213
211
|
* }} AssetInfo
|
|
214
212
|
*/
|
|
215
213
|
/**
|
|
216
214
|
* @typedef {object} Bank
|
|
217
|
-
* @property {() => IterableEachTopic<AssetDescriptor>} getAssetSubscription
|
|
218
|
-
*
|
|
219
|
-
* @property {(brand: Brand) => Promise<VirtualPurse>} getPurse Find any
|
|
220
|
-
*
|
|
215
|
+
* @property {() => IterableEachTopic<AssetDescriptor>} getAssetSubscription Returns
|
|
216
|
+
* assets as they are added to the bank
|
|
217
|
+
* @property {(brand: Brand) => Promise<VirtualPurse>} getPurse Find any existing vpurse
|
|
218
|
+
* (keyed by address and brand) or create a new one.
|
|
221
219
|
*/
|
|
222
|
-
export const BankI: import("@endo/patterns").InterfaceGuard
|
|
223
|
-
getAssetSubscription: import("@endo/patterns").MethodGuard;
|
|
224
|
-
getPurse: import("@endo/patterns").MethodGuard;
|
|
225
|
-
}>;
|
|
220
|
+
export const BankI: import("@endo/patterns").InterfaceGuard;
|
|
226
221
|
export type VirtualPurseController = import('./virtual-purse').VirtualPurseController;
|
|
227
222
|
export type VirtualPurse = Awaited<ReturnType<ReturnType<typeof prepareVirtualPurse>>>;
|
|
228
223
|
export type BalanceUpdater = {
|
|
@@ -251,14 +246,15 @@ export type AssetInfo = AssetDescriptor & {
|
|
|
251
246
|
};
|
|
252
247
|
export type Bank = {
|
|
253
248
|
/**
|
|
254
|
-
*
|
|
249
|
+
* Returns
|
|
250
|
+
* assets as they are added to the bank
|
|
255
251
|
*/
|
|
256
252
|
getAssetSubscription: () => IterableEachTopic<AssetDescriptor>;
|
|
257
253
|
/**
|
|
258
|
-
* Find any
|
|
259
|
-
*
|
|
254
|
+
* Find any existing vpurse
|
|
255
|
+
* (keyed by address and brand) or create a new one.
|
|
260
256
|
*/
|
|
261
257
|
getPurse: (brand: Brand) => Promise<VirtualPurse>;
|
|
262
258
|
};
|
|
263
|
-
import { prepareVirtualPurse } from
|
|
259
|
+
import { prepareVirtualPurse } from "./virtual-purse.js";
|
|
264
260
|
//# sourceMappingURL=vat-bank.d.ts.map
|
package/src/vat-bank.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat-bank.d.ts","sourceRoot":"","sources":["vat-bank.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vat-bank.d.ts","sourceRoot":"","sources":["vat-bank.js"],"names":[],"mappings":"AA+zBA;IASI;;;;;;OAMG;yCALQ,KAAK,OAAO,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAC;gBAG3C,OAAO,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC;;QAnPhE;;;;WAIG;gCADU,kBAAkB,eAAe,CAAC;QAS/C;;;;WAIG;gDAHQ,MAAM,UACN,cAAc,GACZ,OAAO,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QAkBpD;;;;;;WAMG;4CAHQ,MAAM,GACJ,QAAQ,MAAM,GAAG,IAAI,CAAC;QAenC;;;;;;;;;;;WAWG;wBAJQ,MAAM,cACN,MAAM,gBACN,MAAM;;;QA2EjB;;;;;WAKG;mCAFQ,MAAM,GACJ,QAAQ,IAAI,CAAC;;QA5I1B;;;;WAIG;gCADU,kBAAkB,eAAe,CAAC;QAS/C;;;;WAIG;gDAHQ,MAAM,UACN,cAAc,GACZ,OAAO,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QAkBpD;;;;;;WAMG;4CAHQ,MAAM,GACJ,QAAQ,MAAM,GAAG,IAAI,CAAC;QAenC;;;;;;;;;;;WAWG;wBAJQ,MAAM,cACN,MAAM,gBACN,MAAM;;;QA2EjB;;;;;WAKG;mCAFQ,MAAM,GACJ,QAAQ,IAAI,CAAC;;;IAmG5B;;;;;;OAMG;yCALQ,KAAK,OAAO,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAC;gBAG3C,OAAO,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC;;QAnPhE;;;;WAIG;gCADU,kBAAkB,eAAe,CAAC;QAS/C;;;;WAIG;gDAHQ,MAAM,UACN,cAAc,GACZ,OAAO,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QAkBpD;;;;;;WAMG;4CAHQ,MAAM,GACJ,QAAQ,MAAM,GAAG,IAAI,CAAC;QAenC;;;;;;;;;;;WAWG;wBAJQ,MAAM,cACN,MAAM,gBACN,MAAM;;;QA2EjB;;;;;WAKG;mCAFQ,MAAM,GACJ,QAAQ,IAAI,CAAC;;QA5I1B;;;;WAIG;gCADU,kBAAkB,eAAe,CAAC;QAS/C;;;;WAIG;gDAHQ,MAAM,UACN,cAAc,GACZ,OAAO,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QAkBpD;;;;;;WAMG;4CAHQ,MAAM,GACJ,QAAQ,MAAM,GAAG,IAAI,CAAC;QAenC;;;;;;;;;;;WAWG;wBAJQ,MAAM,cACN,MAAM,gBACN,MAAM;;;QA2EjB;;;;;WAKG;mCAFQ,MAAM,GACJ,QAAQ,IAAI,CAAC;;GAmJ/B;AAhhBD;;GAEG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH,4DAGG;qCAtWU,OAAO,iBAAiB,EAAE,sBAAsB;2BAChD,QAAQ,WAAW,WAAW,0BAA0B,CAAC,CAAC,CAAC;;oBAKlD,MAAM,UAAU,MAAM,KAAK,IAAI;;4BAOvC,KAAK,OAAO,YAAY,EAAE,mBAAmB,EAAE,YAAY,GAAG,UAAU,CAAC;;;YA6SzE,KAAK,OAAO,CAAC,CAAC,CAAC;WACf,MAAM,CAAC,CAAC;;0BAaT,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;CAAE;;WAK5D,KAAK;YACL,KAAK,MAAM,CAAC;gBACZ,MAAM;WACN,MAAM;kBACN,MAAM;;wBAIN,eAAe,GAAG;IAC/B,MAAU,EAAE,OAAO,KAAK,CAAC,CAAC;IAC1B,WAAe,EAAE,WAAW,CAAC;CAC1B;;;;;;0BAKU,MAAM,kBAAkB,eAAe,CAAC;;;;;sBAEhC,KAAK,KAAK,QAAQ,YAAY,CAAC"}
|