@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.
Files changed (208) hide show
  1. package/README.md +3 -0
  2. package/index.d.ts +6 -0
  3. package/index.d.ts.map +1 -0
  4. package/index.js +9 -0
  5. package/package.json +43 -48
  6. package/scripts/build-bundles.js +19 -0
  7. package/src/bridge-target.d.ts +193 -0
  8. package/src/bridge-target.d.ts.map +1 -0
  9. package/src/bridge-target.js +316 -0
  10. package/src/bridge.d.ts +14 -4
  11. package/src/bridge.d.ts.map +1 -1
  12. package/src/bridge.js +45 -16
  13. package/src/centralSupply.d.ts +3 -3
  14. package/src/centralSupply.d.ts.map +1 -1
  15. package/src/centralSupply.js +3 -5
  16. package/src/core/README.md +1 -1
  17. package/src/core/basic-behaviors.d.ts +24 -39
  18. package/src/core/basic-behaviors.d.ts.map +1 -1
  19. package/src/core/basic-behaviors.js +63 -63
  20. package/src/core/boot-chain.d.ts +178 -44
  21. package/src/core/boot-chain.d.ts.map +1 -1
  22. package/src/core/boot-chain.js +5 -5
  23. package/src/core/boot-sim.d.ts +5 -43
  24. package/src/core/boot-sim.d.ts.map +1 -1
  25. package/src/core/boot-sim.js +3 -4
  26. package/src/core/boot-solo.d.ts +5 -43
  27. package/src/core/boot-solo.d.ts.map +1 -1
  28. package/src/core/boot-solo.js +4 -5
  29. package/src/core/chain-behaviors.d.ts +10 -26
  30. package/src/core/chain-behaviors.d.ts.map +1 -1
  31. package/src/core/chain-behaviors.js +38 -42
  32. package/src/core/client-behaviors.d.ts +2 -1
  33. package/src/core/client-behaviors.d.ts.map +1 -1
  34. package/src/core/client-behaviors.js +6 -5
  35. package/src/core/core-eval-env.d.ts +40 -0
  36. package/src/core/demoIssuers.d.ts +24 -26
  37. package/src/core/demoIssuers.d.ts.map +1 -1
  38. package/src/core/demoIssuers.js +37 -37
  39. package/src/core/lib-boot.d.ts +17 -53
  40. package/src/core/lib-boot.d.ts.map +1 -1
  41. package/src/core/lib-boot.js +52 -60
  42. package/src/core/promise-space.d.ts +4 -7
  43. package/src/core/promise-space.d.ts.map +1 -1
  44. package/src/core/promise-space.js +15 -16
  45. package/src/core/sim-behaviors.d.ts +3 -3
  46. package/src/core/sim-behaviors.d.ts.map +1 -1
  47. package/src/core/sim-behaviors.js +1 -1
  48. package/src/core/startWalletFactory.d.ts +23 -27
  49. package/src/core/startWalletFactory.d.ts.map +1 -1
  50. package/src/core/startWalletFactory.js +32 -18
  51. package/src/core/types-ambient.d.ts +538 -0
  52. package/src/core/types-ambient.js +1 -0
  53. package/src/core/utils.d.ts +47 -92
  54. package/src/core/utils.d.ts.map +1 -1
  55. package/src/core/utils.js +58 -50
  56. package/src/crc.d.ts +2 -6
  57. package/src/crc.d.ts.map +1 -1
  58. package/src/crc.js +5 -16
  59. package/src/ibc.d.ts +30 -35
  60. package/src/ibc.d.ts.map +1 -1
  61. package/src/ibc.js +740 -491
  62. package/src/lib-board.d.ts +49 -121
  63. package/src/lib-board.d.ts.map +1 -1
  64. package/src/lib-board.js +49 -50
  65. package/src/localchain.d.ts +195 -0
  66. package/src/localchain.d.ts.map +1 -0
  67. package/src/localchain.js +324 -0
  68. package/src/mintHolder.d.ts +6 -4
  69. package/src/mintHolder.d.ts.map +1 -1
  70. package/src/mintHolder.js +19 -21
  71. package/src/nameHub.d.ts +27 -5
  72. package/src/nameHub.d.ts.map +1 -1
  73. package/src/nameHub.js +33 -26
  74. package/src/priceAuthorityRegistry.d.ts +21 -0
  75. package/src/priceAuthorityRegistry.d.ts.map +1 -0
  76. package/src/priceAuthorityRegistry.js +220 -0
  77. package/src/proposals/kread-proposal.d.ts +15 -0
  78. package/src/proposals/kread-proposal.d.ts.map +1 -0
  79. package/src/proposals/kread-proposal.js +24 -0
  80. package/src/proposals/localchain-proposal.d.ts +62 -0
  81. package/src/proposals/localchain-proposal.d.ts.map +1 -0
  82. package/src/proposals/localchain-proposal.js +128 -0
  83. package/src/proposals/localchain-test.d.ts +25 -0
  84. package/src/proposals/localchain-test.d.ts.map +1 -0
  85. package/src/proposals/localchain-test.js +89 -0
  86. package/src/proposals/namesByAddress-fix-proposal.d.ts +22 -0
  87. package/src/proposals/namesByAddress-fix-proposal.d.ts.map +1 -0
  88. package/src/proposals/namesByAddress-fix-proposal.js +55 -0
  89. package/src/proposals/network-proposal.d.ts +23 -8
  90. package/src/proposals/network-proposal.d.ts.map +1 -1
  91. package/src/proposals/network-proposal.js +90 -65
  92. package/src/proposals/probeZcfBundle.d.ts +26 -0
  93. package/src/proposals/probeZcfBundle.d.ts.map +1 -0
  94. package/src/proposals/probeZcfBundle.js +72 -0
  95. package/src/proposals/restart-vats-proposal.d.ts +4 -2
  96. package/src/proposals/restart-vats-proposal.d.ts.map +1 -1
  97. package/src/proposals/restart-vats-proposal.js +20 -8
  98. package/src/proposals/transfer-proposal.d.ts +37 -0
  99. package/src/proposals/transfer-proposal.d.ts.map +1 -0
  100. package/src/proposals/transfer-proposal.js +115 -0
  101. package/src/proposals/upgrade-bank-proposal.d.ts +27 -0
  102. package/src/proposals/upgrade-bank-proposal.d.ts.map +1 -0
  103. package/src/proposals/upgrade-bank-proposal.js +42 -0
  104. package/src/proposals/upgrade-provisionPool-proposal.d.ts +27 -0
  105. package/src/proposals/upgrade-provisionPool-proposal.d.ts.map +1 -0
  106. package/src/proposals/upgrade-provisionPool-proposal.js +67 -0
  107. package/src/proposals/upgrade-zoe-proposal.d.ts +27 -0
  108. package/src/proposals/upgrade-zoe-proposal.d.ts.map +1 -0
  109. package/src/proposals/upgrade-zoe-proposal.js +42 -0
  110. package/src/proposals/vtransfer-echoer.d.ts +24 -0
  111. package/src/proposals/vtransfer-echoer.d.ts.map +1 -0
  112. package/src/proposals/vtransfer-echoer.js +42 -0
  113. package/src/proposals/zcf-only-proposal.d.ts +33 -0
  114. package/src/proposals/zcf-only-proposal.d.ts.map +1 -0
  115. package/src/proposals/zcf-only-proposal.js +36 -0
  116. package/src/proposals/zcf-proposal.d.ts +30 -0
  117. package/src/proposals/zcf-proposal.d.ts.map +1 -0
  118. package/src/proposals/zcf-proposal.js +50 -0
  119. package/src/repl.d.ts +3 -3
  120. package/src/repl.d.ts.map +1 -1
  121. package/src/repl.js +11 -5
  122. package/src/transfer.d.ts +111 -0
  123. package/src/transfer.d.ts.map +1 -0
  124. package/src/transfer.js +260 -0
  125. package/src/types.d.ts +237 -105
  126. package/src/types.js +1 -97
  127. package/src/vat-agoricNames.d.ts +4 -4
  128. package/src/vat-agoricNames.d.ts.map +1 -1
  129. package/src/vat-agoricNames.js +2 -4
  130. package/src/vat-bank.d.ts +217 -149
  131. package/src/vat-bank.d.ts.map +1 -1
  132. package/src/vat-bank.js +96 -68
  133. package/src/vat-board.d.ts +24 -24
  134. package/src/vat-board.d.ts.map +1 -1
  135. package/src/vat-board.js +0 -1
  136. package/src/vat-bridge.d.ts +9 -23
  137. package/src/vat-bridge.d.ts.map +1 -1
  138. package/src/vat-bridge.js +1 -2
  139. package/src/vat-ibc.d.ts +16 -4
  140. package/src/vat-ibc.d.ts.map +1 -1
  141. package/src/vat-ibc.js +20 -9
  142. package/src/vat-localchain.d.ts +37 -0
  143. package/src/vat-localchain.d.ts.map +1 -0
  144. package/src/vat-localchain.js +29 -0
  145. package/src/vat-mints.d.ts +31 -31
  146. package/src/vat-mints.d.ts.map +1 -1
  147. package/src/vat-mints.js +6 -7
  148. package/src/vat-network.d.ts +69 -1
  149. package/src/vat-network.d.ts.map +1 -1
  150. package/src/vat-network.js +45 -3
  151. package/src/vat-priceAuthority.d.ts +4 -4
  152. package/src/vat-priceAuthority.d.ts.map +1 -1
  153. package/src/vat-priceAuthority.js +1 -1
  154. package/src/vat-provisioning.d.ts +6 -6
  155. package/src/vat-provisioning.d.ts.map +1 -1
  156. package/src/vat-provisioning.js +15 -12
  157. package/src/vat-transfer.d.ts +81 -0
  158. package/src/vat-transfer.d.ts.map +1 -0
  159. package/src/vat-transfer.js +63 -0
  160. package/src/vat-zoe.d.ts +4 -1
  161. package/src/vat-zoe.d.ts.map +1 -1
  162. package/src/vat-zoe.js +10 -2
  163. package/src/virtual-purse.d.ts +46 -21
  164. package/src/virtual-purse.d.ts.map +1 -1
  165. package/src/virtual-purse.js +57 -46
  166. package/src/walletFlags.d.ts +2 -2
  167. package/src/walletFlags.js +1 -2
  168. package/tools/bank-utils.d.ts +20 -0
  169. package/tools/bank-utils.d.ts.map +1 -0
  170. package/tools/bank-utils.js +92 -0
  171. package/tools/board-utils.d.ts +39 -0
  172. package/tools/board-utils.d.ts.map +1 -0
  173. package/tools/board-utils.js +92 -0
  174. package/tools/boot-test-utils.d.ts +88 -0
  175. package/tools/boot-test-utils.d.ts.map +1 -0
  176. package/tools/boot-test-utils.js +157 -0
  177. package/tools/fake-bridge.d.ts +18 -0
  178. package/tools/fake-bridge.d.ts.map +1 -0
  179. package/tools/fake-bridge.js +289 -0
  180. package/tools/ibc-utils.d.ts +29 -0
  181. package/tools/ibc-utils.d.ts.map +1 -0
  182. package/tools/ibc-utils.js +115 -0
  183. package/decentral-core-config.json +0 -66
  184. package/decentral-demo-config.json +0 -155
  185. package/decentral-devnet-config.json +0 -216
  186. package/decentral-itest-vaults-config.json +0 -210
  187. package/decentral-main-vaults-config.json +0 -229
  188. package/decentral-test-vaults-config.json +0 -195
  189. package/demo-proposals.json +0 -5
  190. package/exported.js +0 -1
  191. package/jsconfig.build.json +0 -12
  192. package/jsconfig.json +0 -13
  193. package/src/core/types.d.ts +0 -764
  194. package/src/core/types.d.ts.map +0 -1
  195. package/src/core/types.js +0 -347
  196. package/src/provisionPool.d.ts +0 -164
  197. package/src/provisionPool.d.ts.map +0 -1
  198. package/src/provisionPool.js +0 -113
  199. package/src/provisionPoolKit.d.ts +0 -392
  200. package/src/provisionPoolKit.d.ts.map +0 -1
  201. package/src/provisionPoolKit.js +0 -464
  202. package/src/tokens.d.ts +0 -36
  203. package/src/tokens.d.ts.map +0 -1
  204. package/src/tokens.js +0 -37
  205. package/src/types.d.ts.map +0 -1
  206. package/src/vat-sharing.d.ts +0 -54
  207. package/src/vat-sharing.d.ts.map +0 -1
  208. package/src/vat-sharing.js +0 -14
@@ -1,61 +1,23 @@
1
1
  export const MANIFEST: import("./lib-boot.js").BootstrapManifest;
2
- export function buildRootObject(vatPowers: import("@agoric/swingset-vat").TerminationVatPowers & {
2
+ export function buildRootObject(vatPowers: VatPowers & {
3
3
  D: DProxy;
4
4
  logger: (msg: any) => void;
5
5
  }, vatParameters: {
6
6
  bootstrapManifest?: Record<string, Record<string, unknown>>;
7
- coreProposalCode?: string;
7
+ coreProposalCodeSteps?: string[];
8
8
  }): {
9
9
  bootstrap: (vats: SwingsetVats, devices: SoloDevices | ChainDevices) => Promise<void>;
10
10
  consumeItem: (name: any) => Promise<unknown>;
11
11
  produceItem: (name: any, resolution: any) => void;
12
12
  resetItem: (name: any) => void;
13
- messageVat: ({ name, methodName, args }: {
14
- name: any;
15
- methodName: any;
16
- args?: any[] | undefined;
17
- }) => Promise<any>;
18
- messageVatObject: ({ presence, methodName, args }: {
19
- presence: any;
20
- methodName: any;
21
- args?: any[] | undefined;
22
- }) => Promise<any>;
23
- messageVatObjectSendOnly: ({ presence, methodName, args }: {
24
- presence: any;
25
- methodName: any;
26
- args?: any[] | undefined;
27
- }) => void;
28
- awaitVatObject: ({ presence, path, rawOutput }: {
29
- presence: any;
30
- path?: any[] | undefined;
31
- rawOutput?: boolean | undefined;
32
- }) => Promise<any>;
13
+ awaitVatObject: (presence: any, path?: any[]) => Promise<any>;
33
14
  snapshotStore: <K, V>(store: MapStore<K, V>) => [K, V][];
34
- } & import("@endo/eventual-send").RemotableBrand<{}, {
15
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
35
16
  bootstrap: (vats: SwingsetVats, devices: SoloDevices | ChainDevices) => Promise<void>;
36
17
  consumeItem: (name: any) => Promise<unknown>;
37
18
  produceItem: (name: any, resolution: any) => void;
38
19
  resetItem: (name: any) => void;
39
- messageVat: ({ name, methodName, args }: {
40
- name: any;
41
- methodName: any;
42
- args?: any[] | undefined;
43
- }) => Promise<any>;
44
- messageVatObject: ({ presence, methodName, args }: {
45
- presence: any;
46
- methodName: any;
47
- args?: any[] | undefined;
48
- }) => Promise<any>;
49
- messageVatObjectSendOnly: ({ presence, methodName, args }: {
50
- presence: any;
51
- methodName: any;
52
- args?: any[] | undefined;
53
- }) => void;
54
- awaitVatObject: ({ presence, path, rawOutput }: {
55
- presence: any;
56
- path?: any[] | undefined;
57
- rawOutput?: boolean | undefined;
58
- }) => Promise<any>;
20
+ awaitVatObject: (presence: any, path?: any[]) => Promise<any>;
59
21
  snapshotStore: <K, V>(store: MapStore<K, V>) => [K, V][];
60
22
  }>;
61
23
  //# sourceMappingURL=boot-solo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boot-solo.d.ts","sourceRoot":"","sources":["boot-solo.js"],"names":[],"mappings":"AAqBA,iEAAkD;AAoB3C;OARC,MAAM;0BACQ,IAAI;kBAEf;IACV,iBAAqB,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,gBAAoB,CAAC,EAAE,MAAM,CAAC;CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMH"}
1
+ {"version":3,"file":"boot-solo.d.ts","sourceRoot":"","sources":["boot-solo.js"],"names":[],"mappings":"AAoBA,iEAAkD;AAoB3C,2CATI,SAAS,GAAG;IACtB,CAAK,EAAE,MAAM,CAAC;IACd,MAAU,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI,CAAC;CACvB,iBACO;IACV,iBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,qBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;;;;;;;;;;;;;;GAMH"}
@@ -1,4 +1,3 @@
1
- // @ts-check
2
1
  import { makeBootstrap } from './lib-boot.js';
3
2
 
4
3
  import * as basicBehaviorsPlus from './basic-behaviors.js';
@@ -31,12 +30,12 @@ const modules = harden({
31
30
  * Build root object of the bootstrap vat.
32
31
  *
33
32
  * @param {VatPowers & {
34
- * D: DProxy,
35
- * logger: (msg) => void,
33
+ * D: DProxy;
34
+ * logger: (msg) => void;
36
35
  * }} vatPowers
37
36
  * @param {{
38
- * bootstrapManifest?: Record<string, Record<string, unknown>>,
39
- * coreProposalCode?: string,
37
+ * bootstrapManifest?: Record<string, Record<string, unknown>>;
38
+ * coreProposalCodeSteps?: string[];
40
39
  * }} vatParameters
41
40
  */
42
41
  export const buildRootObject = (vatPowers, vatParameters) => {
@@ -1,41 +1,25 @@
1
1
  export function bridgeCoreEval(allPowers: BootstrapPowers): Promise<void>;
2
- export function makeProvisioner({ consume: { clientCreator, loadCriticalVat }, vats: { comms, vattp }, produce: { provisioning }, }: BootstrapPowers & {
3
- consume: {
4
- loadCriticalVat: ERef<VatLoader<ProvisioningVat>>;
5
- };
6
- }): Promise<void>;
2
+ export function makeProvisioner({ consume: { clientCreator, loadCriticalVat }, vats: { comms, vattp }, produce: { provisioning }, }: BootstrapPowers): Promise<void>;
7
3
  export function noProvisioner({ produce: { provisioning } }: BootstrapPowers): Promise<void>;
8
4
  export function bridgeProvisioner({ consume: { provisioning: provisioningP, provisionBridgeManager: provisionBridgeManagerP, provisionWalletBridgeManager: provisionWalletBridgeManagerP, }, }: BootstrapPowers): Promise<void>;
9
5
  export function setupClientManager({ produce: { client, clientCreator: clientCreatorP } }: BootstrapSpace, { template, }?: {
10
6
  template?: Record<string, unknown>;
11
7
  }): Promise<void>;
12
8
  export function startTimerService({ devices: { timer: timerDevice }, vats: { timer: timerVat }, consume: { client }, produce: { chainTimerService: produceTimer }, brand: { produce: { timer }, }, }: BootstrapPowers): Promise<void>;
13
- export function makeBridgeManager({ consume: { loadCriticalVat }, devices: { bridge }, produce: { bridgeManager: bridgeManagerP, provisionBridgeManager, provisionWalletBridgeManager, walletBridgeManager, }, }: BootDevices<ChainDevices> & BootstrapSpace & {
14
- consume: {
15
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
16
- };
17
- }): Promise<void>;
18
- export function makeChainStorage({ consume: { loadCriticalVat, bridgeManager: bridgeManagerP }, produce: { chainStorage: chainStorageP, storageBridgeManager: storageBridgeManagerP, }, }: BootstrapSpace & {
19
- consume: {
20
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
21
- };
22
- }): Promise<void>;
23
- export function produceHighPrioritySendersManager({ consume: { loadCriticalVat, storageBridgeManager: storageBridgeManagerP }, produce: { highPrioritySendersManager: managerP }, }: BootstrapSpace & {
24
- consume: {
25
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
26
- };
27
- }): Promise<void>;
9
+ export function makeBridgeManager({ consume: { loadCriticalVat }, devices: { bridge }, produce: { bridgeManager: bridgeManagerP, provisionBridgeManager, provisionWalletBridgeManager, walletBridgeManager, }, }: BootDevices<ChainDevices> & BootstrapSpace): Promise<void>;
10
+ export function makeChainStorage({ consume: { loadCriticalVat, bridgeManager: bridgeManagerP }, produce: { chainStorage: chainStorageP, storageBridgeManager: storageBridgeManagerP, }, }: BootstrapSpace): Promise<void>;
11
+ export function produceHighPrioritySendersManager({ consume: { loadCriticalVat, storageBridgeManager: storageBridgeManagerP }, produce: { highPrioritySendersManager: managerP }, }: BootstrapSpace): Promise<void>;
28
12
  export function publishAgoricNamesToChainStorage({ consume: { chainStorage: rootP }, namedVat: { consume: { agoricNames, board: vatBoard }, }, }: BootstrapPowers & NamedVatPowers): Promise<void>;
29
13
  export function publishAgoricNames({ consume: { agoricNamesAdmin, board, chainStorage: rootP } }: BootstrapPowers, { options: { agoricNamesOptions } }?: {
30
14
  options?: {
31
15
  agoricNamesOptions?: {
32
- topLevel?: string[] | undefined;
33
- } | undefined;
34
- } | undefined;
16
+ topLevel?: string[];
17
+ };
18
+ };
35
19
  }): Promise<void>;
36
20
  export function connectChainFaucet({ consume: { client } }: BootstrapPowers): Promise<void>;
37
- /** @type {import('./lib-boot').BootstrapManifest} */
38
- export const SHARED_CHAIN_BOOTSTRAP_MANIFEST: import('./lib-boot').BootstrapManifest;
39
21
  /** @type {import('./lib-boot.js').BootstrapManifest} */
40
- export const CHAIN_BOOTSTRAP_MANIFEST: import('./lib-boot.js').BootstrapManifest;
22
+ export const SHARED_CHAIN_BOOTSTRAP_MANIFEST: import("./lib-boot.js").BootstrapManifest;
23
+ /** @type {import('./lib-boot.js').BootstrapManifest} */
24
+ export const CHAIN_BOOTSTRAP_MANIFEST: import("./lib-boot.js").BootstrapManifest;
41
25
  //# sourceMappingURL=chain-behaviors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain-behaviors.d.ts","sourceRoot":"","sources":["chain-behaviors.js"],"names":[],"mappings":"AA8BO,0CAFI,eAAe,iBAmFzB;AAQM,qIAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAC/D,iBAUH;AAMM,6DAFI,eAAe,iBAIzB;AAIM,gMADK,eAAe,iBAuD1B;AAcM,2FAHI,cAAc,kBACd;IAAE,QAAQ,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,iBAqFhD;AAIM,sMADK,eAAe,iBAc1B;AAQM,kNAJI,YAAY,YAAY,CAAC,GAAG,cAAc,GAAG;IACvD,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAC/D,iBAgCH;AAQM,2LAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAC/D,iBA2BH;AAOM,qLAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,KAAK,UAAU,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAC/D,iBAoCH;AAGM,kJADK,eAAe,GAAG,cAAc,iBAkB3C;AAUM,kGALI,eAAe;;;;;;kBAqCzB;AAOM,4DAFI,eAAe,iBAMzB;AAGD,qDAAqD;AACrD,8CADW,OAAO,YAAY,EAAE,iBAAiB,CA2E/C;AAGF,wDAAwD;AACxD,uCADW,OAAO,eAAe,EAAE,iBAAiB,CASjD"}
1
+ {"version":3,"file":"chain-behaviors.d.ts","sourceRoot":"","sources":["chain-behaviors.js"],"names":[],"mappings":"AA8BO,0CAFI,eAAe,iBAgFzB;AAMM,qIAFI,eAAe,iBAUzB;AAIM,6DADK,eAAe,iBAG1B;AAIM,gMADK,eAAe,iBAuD1B;AAcM,2FAHI,cAAc,kBACd;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,iBAqFhD;AAIM,sMADK,eAAe,iBAc1B;AAMM,kNAFI,WAAW,CAAC,YAAY,CAAC,GAAG,cAAc,iBAkCpD;AAMM,2LAFI,cAAc,iBA8BxB;AAKM,qLAFI,cAAc,iBAqCxB;AAGM,kJADK,eAAe,GAAG,cAAc,iBAkB3C;AAaM,kGATI,eAAe,wCACf;IACV,OAAW,CAAC,EAAE;QACd,kBAAwB,CAAC,EAAE;YAC3B,QAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;CACH,iBAkCH;AAOM,4DAFI,eAAe,iBAMzB;AAGD,wDAAwD;AACxD,8CADW,OAAO,eAAe,EAAE,iBAAiB,CA2ElD;AAGF,wDAAwD;AACxD,uCADW,OAAO,eAAe,EAAE,iBAAiB,CASjD"}
@@ -1,5 +1,4 @@
1
1
  /* global globalThis */
2
- // @ts-check
3
2
  import { allValues, BridgeId as BRIDGE_ID } from '@agoric/internal';
4
3
  import * as STORAGE_PATH from '@agoric/internal/src/chain-storage-paths.js';
5
4
  import { makePrioritySendersManager } from '@agoric/internal/src/priority-senders.js';
@@ -17,13 +16,14 @@ import { makePromiseKit } from '@endo/promise-kit';
17
16
  import { PowerFlags } from '../walletFlags.js';
18
17
  import { BASIC_BOOTSTRAP_PERMITS } from './basic-behaviors.js';
19
18
  import { agoricNamesReserved, callProperties, extractPowers } from './utils.js';
19
+ import { makeScopedBridge } from '../bridge.js';
20
20
 
21
21
  const { Fail } = assert;
22
22
  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`. It is the "big hammer" governance
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
@@ -40,7 +40,8 @@ export const bridgeCoreEval = async allPowers => {
40
40
  const endowments = {
41
41
  VatData: globalThis.VatData,
42
42
  console,
43
- assert,
43
+ // See https://github.com/Agoric/agoric-sdk/issues/9515
44
+ assert: globalThis.assert,
44
45
  Base64: globalThis.Base64, // Present only on XSnap
45
46
  URL: globalThis.URL, // Absent only on XSnap
46
47
  };
@@ -58,11 +59,7 @@ export const bridgeCoreEval = async allPowers => {
58
59
  async fromBridge(obj) {
59
60
  switch (obj.type) {
60
61
  case 'CORE_EVAL': {
61
- /**
62
- * Type defined by `agoric-sdk/golang/cosmos/proto/agoric/swingset/swingset.proto` CoreEval.
63
- *
64
- * @type {{ evals: { json_permits: string, js_code: string }[]}}
65
- */
62
+ /** @type {import('@agoric/cosmic-proto/swingset/swingset.js').CoreEvalProposalSDKType} */
66
63
  const { evals } = obj;
67
64
  return Promise.all(
68
65
  evals.map(({ json_permits: jsonPermit, js_code: code }) =>
@@ -108,14 +105,12 @@ export const bridgeCoreEval = async allPowers => {
108
105
  // Not running with a bridge.
109
106
  return;
110
107
  }
111
- await E(bridgeManager).register(BRIDGE_ID.CORE, handler);
108
+ await makeScopedBridge(bridgeManager, BRIDGE_ID.CORE, handler);
112
109
  };
113
110
  harden(bridgeCoreEval);
114
111
 
115
112
  /**
116
- * @param {BootstrapPowers & {
117
- * consume: { loadCriticalVat: ERef<VatLoader<ProvisioningVat>> }
118
- * }} powers
113
+ * @param {BootstrapPowers} powers
119
114
  */
120
115
  export const makeProvisioner = async ({
121
116
  consume: { clientCreator, loadCriticalVat },
@@ -128,9 +123,7 @@ export const makeProvisioner = async ({
128
123
  };
129
124
  harden(makeProvisioner);
130
125
 
131
- /**
132
- * @param {BootstrapPowers} powers
133
- */
126
+ /** @param {BootstrapPowers} powers */
134
127
  export const noProvisioner = async ({ produce: { provisioning } }) => {
135
128
  provisioning.resolve(undefined);
136
129
  };
@@ -309,9 +302,7 @@ export const startTimerService = async ({
309
302
  harden(startTimerService);
310
303
 
311
304
  /**
312
- * @param {BootDevices<ChainDevices> & BootstrapSpace & {
313
- * consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> }
314
- * }} powers
305
+ * @param {BootDevices<ChainDevices> & BootstrapSpace} powers
315
306
  */
316
307
  export const makeBridgeManager = async ({
317
308
  consume: { loadCriticalVat },
@@ -337,19 +328,19 @@ export const makeBridgeManager = async ({
337
328
  const bridgeManager = E(vat).provideManagerForBridge(bridge);
338
329
  bridgeManagerP.resolve(bridgeManager);
339
330
  provisionBridgeManager.resolve(
340
- E(bridgeManager).register(BRIDGE_ID.PROVISION),
331
+ makeScopedBridge(bridgeManager, BRIDGE_ID.PROVISION),
341
332
  );
342
333
  provisionWalletBridgeManager.resolve(
343
- E(bridgeManager).register(BRIDGE_ID.PROVISION_SMART_WALLET),
334
+ makeScopedBridge(bridgeManager, BRIDGE_ID.PROVISION_SMART_WALLET),
335
+ );
336
+ walletBridgeManager.resolve(
337
+ makeScopedBridge(bridgeManager, BRIDGE_ID.WALLET),
344
338
  );
345
- walletBridgeManager.resolve(E(bridgeManager).register(BRIDGE_ID.WALLET));
346
339
  };
347
340
  harden(makeBridgeManager);
348
341
 
349
342
  /**
350
- * @param {BootstrapSpace & {
351
- * consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> }
352
- * }} powers
343
+ * @param {BootstrapSpace} powers
353
344
  */
354
345
  export const makeChainStorage = async ({
355
346
  consume: { loadCriticalVat, bridgeManager: bridgeManagerP },
@@ -362,11 +353,14 @@ export const makeChainStorage = async ({
362
353
  if (!bridgeManager) {
363
354
  console.warn('Cannot support chainStorage without an actual chain.');
364
355
  chainStorageP.resolve(null);
365
- storageBridgeManagerP.resolve(null);
356
+ storageBridgeManagerP.resolve(undefined);
366
357
  return;
367
358
  }
368
359
 
369
- const storageBridgeManager = E(bridgeManager).register(BRIDGE_ID.STORAGE);
360
+ const storageBridgeManager = makeScopedBridge(
361
+ bridgeManager,
362
+ BRIDGE_ID.STORAGE,
363
+ );
370
364
  storageBridgeManagerP.resolve(storageBridgeManager);
371
365
 
372
366
  const vat = E(loadCriticalVat)('bridge');
@@ -379,9 +373,7 @@ export const makeChainStorage = async ({
379
373
  };
380
374
 
381
375
  /**
382
- * @param {BootstrapSpace & {
383
- * consume: { loadCriticalVat: ERef<VatLoader<ChainStorageVat>> }
384
- * }} powers
376
+ * @param {BootstrapSpace} powers
385
377
  */
386
378
  export const produceHighPrioritySendersManager = async ({
387
379
  consume: { loadCriticalVat, storageBridgeManager: storageBridgeManagerP },
@@ -405,14 +397,15 @@ export const produceHighPrioritySendersManager = async ({
405
397
  );
406
398
 
407
399
  /**
408
- * NB: this is a non-durable Far object. If the bootstrap vat (where this object is made)
409
- * were to be terminated, the object references to this would be severed.
400
+ * NB: this is a non-durable Far object. If the bootstrap vat (where this
401
+ * object is made) were to be terminated, the object references to this would
402
+ * be severed.
410
403
  *
411
- * See {@link ./README.md bootstrap documentation} for implications.
412
- * If the bootstrap vat is replaced, the new bootstrap config must be made
413
- * using state extracted from IAVL. Contracts holding this manager will need
414
- * to be updated with the new object, which can be done with an upgrade
415
- * (regular or null) with the new object in privateArgs.
404
+ * See {@link ./README.md bootstrap documentation} for implications. If the
405
+ * bootstrap vat is replaced, the new bootstrap config must be made using
406
+ * state extracted from IAVL. Contracts holding this manager will need to be
407
+ * updated with the new object, which can be done with an upgrade (regular or
408
+ * null) with the new object in privateArgs.
416
409
  */
417
410
  const manager = makePrioritySendersManager(sendersNode);
418
411
 
@@ -440,12 +433,15 @@ export const publishAgoricNamesToChainStorage = async ({
440
433
  };
441
434
 
442
435
  /**
443
- * @deprecated use reflectAgoricNamesToChainStorage
444
- *
436
+ * @deprecated use publishAgoricNamesToChainStorage
445
437
  * @param {BootstrapPowers} powers
446
- * @param {{ options?: {agoricNamesOptions?: {
447
- * topLevel?: string[]
448
- * }}}} config
438
+ * @param {{
439
+ * options?: {
440
+ * agoricNamesOptions?: {
441
+ * topLevel?: string[];
442
+ * };
443
+ * };
444
+ * }} config
449
445
  */
450
446
  export const publishAgoricNames = async (
451
447
  { consume: { agoricNamesAdmin, board, chainStorage: rootP } },
@@ -493,7 +489,7 @@ export const connectChainFaucet = async ({ consume: { client } }) => {
493
489
  };
494
490
  harden(connectChainFaucet);
495
491
 
496
- /** @type {import('./lib-boot').BootstrapManifest} */
492
+ /** @type {import('./lib-boot.js').BootstrapManifest} */
497
493
  export const SHARED_CHAIN_BOOTSTRAP_MANIFEST = {
498
494
  ...BASIC_BOOTSTRAP_PERMITS,
499
495
 
@@ -1,7 +1,8 @@
1
1
  export function startClient({ vatParameters: { argv: { FIXME_GCI }, }, devices, vats, vatPowers, consume: { vatAdminSvc }, }: BootDevices<SoloDevices> & BootstrapSpace & {
2
2
  vatParameters: BootstrapVatParams;
3
3
  vats: SwingsetVats & SoloVats;
4
+ zone: import("@agoric/base-zone").Zone;
4
5
  }): Promise<void>;
5
6
  /** @type {import('./lib-boot.js').BootstrapManifest} */
6
- export const CLIENT_BOOTSTRAP_MANIFEST: import('./lib-boot.js').BootstrapManifest;
7
+ export const CLIENT_BOOTSTRAP_MANIFEST: import("./lib-boot.js").BootstrapManifest;
7
8
  //# sourceMappingURL=client-behaviors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-behaviors.d.ts","sourceRoot":"","sources":["client-behaviors.js"],"names":[],"mappings":"AA2FO,8HALK,YAAY,WAAW,CAAC,GAAG,cAAc,GAAG;IACvD,aAAiB,EAAE,kBAAkB,CAAC;IACtC,IAAQ,EAAE,YAAY,GAAG,QAAQ,CAAC;CAC/B,iBAwEH;AAGD,wDAAwD;AACxD,wCADW,OAAO,eAAe,EAAE,iBAAiB,CAoCjD"}
1
+ {"version":3,"file":"client-behaviors.d.ts","sourceRoot":"","sources":["client-behaviors.js"],"names":[],"mappings":"AA4FO,8HAPI,WAAW,CAAC,WAAW,CAAC,GAClC,cAAkB,GAAG;IACrB,aAAmB,EAAE,kBAAkB,CAAC;IACxC,IAAU,EAAE,YAAY,GAAG,QAAQ,CAAC;IACpC,IAAU,EAAE,OAAO,mBAAmB,EAAE,IAAI,CAAC;CACxC,iBAwEL;AAGD,wDAAwD;AACxD,wCADW,OAAO,eAAe,EAAE,iBAAiB,CAoCjD"}
@@ -1,4 +1,3 @@
1
- // @ts-check
2
1
  import { E, Far } from '@endo/far';
3
2
  import { makePluginManager } from '@agoric/swingset-vat/src/vats/plugin-manager.js';
4
3
  import { observeNotifier } from '@agoric/notifier';
@@ -84,10 +83,12 @@ async function createLocalBundle(vats, devices, vatAdminSvc, vatPowers) {
84
83
  }
85
84
 
86
85
  /**
87
- * @param { BootDevices<SoloDevices> & BootstrapSpace & {
88
- * vatParameters: BootstrapVatParams,
89
- * vats: SwingsetVats & SoloVats,
90
- * }} powers
86
+ * @param {BootDevices<SoloDevices> &
87
+ * BootstrapSpace & {
88
+ * vatParameters: BootstrapVatParams;
89
+ * vats: SwingsetVats & SoloVats;
90
+ * zone: import('@agoric/base-zone').Zone;
91
+ * }} powers
91
92
  */
92
93
  export const startClient = async ({
93
94
  vatParameters: {
@@ -0,0 +1,40 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * @file typesdef for the CoreEval environment
4
+ *
5
+ * To use add this to the top of the proposal:
6
+ *
7
+ * /// <reference types="@agoric/vats/src/core/core-eval-env" />
8
+ *
9
+ * That directive has to be before imports, but this one's only useful in
10
+ * modules that have no imports or named exports.
11
+ */
12
+
13
+ import type { VatData } from '@agoric/swingset-liveslots/src/vatDataTypes.js';
14
+ import type * as far from '@endo/far';
15
+ import type { Assert } from 'ses';
16
+ import type { BootstrapModules } from './boot-chain.js';
17
+
18
+ // Provided by 'CORE_EVAL' handler in chain-behaviors.js
19
+ declare global {
20
+ // bootstrap modules
21
+ var behaviors: BootstrapModules['behaviors'];
22
+ var utils: BootstrapModules['utils'];
23
+
24
+ // @endo/far exports
25
+ var E: typeof far.E;
26
+ var Far: typeof far.Far;
27
+ var getInterfaceOfFar: typeof far.getInterfaceOf;
28
+ var passStyleOfFar: typeof far.passStyleOf;
29
+
30
+ // endowments
31
+ var VatData: VatData;
32
+ // This is correctly the `Assert` type from `'ses'`, not from @endo/errors
33
+ // See https://github.com/Agoric/agoric-sdk/issues/9515
34
+ var assert: Assert;
35
+
36
+ // console is a VirtualConsole but this directive fails to override the extant global `console`
37
+ // var console: VirtualConsole;
38
+
39
+ // Base64 and URL are not available in all environments
40
+ }
@@ -8,19 +8,21 @@ export function showAmount({ brand, value }: {
8
8
  }): string;
9
9
  /**
10
10
  * @typedef {readonly [bigint, bigint]} Rational
11
- *
12
- * @type { Record<string, {
13
- * config?: {
14
- * collateralValue: bigint,
15
- * initialMargin: Rational,
16
- * liquidationMargin: Rational,
17
- * liquidationPenalty: Rational,
18
- * interestRate: Rational,
19
- * mintFee: Rational,
20
- * liquidationPadding?: Rational,
21
- * },
22
- * trades: Array<{ central: number, collateral: bigint}>
23
- * }>}
11
+ * @type {Record<
12
+ * string,
13
+ * {
14
+ * config?: {
15
+ * collateralValue: bigint;
16
+ * initialMargin: Rational;
17
+ * liquidationMargin: Rational;
18
+ * liquidationPenalty: Rational;
19
+ * interestRate: 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,16 +34,12 @@ export const AMMDemoState: Record<string, {
32
34
  mintFee: Rational;
33
35
  liquidationPadding?: Rational;
34
36
  };
35
- trades: Array<{
37
+ trades: {
36
38
  central: number;
37
39
  collateral: bigint;
38
- }>;
40
+ }[];
39
41
  }>;
40
- export function connectFaucet({ consume: { bankManager, bldIssuerKit: bldP, client, feeMintAccess, loadVat, zoe, }, installation: { consume: { centralSupply: centralSupplyInstall }, }, produce: { mints }, }: BootstrapSpace & {
41
- consume: {
42
- loadVat: VatLoader<MintsVat>;
43
- };
44
- }): Promise<void>;
42
+ export function connectFaucet({ consume: { bankManager, bldIssuerKit: bldP, client, feeMintAccess, loadVat, zoe, }, installation: { consume: { centralSupply: centralSupplyInstall }, }, produce: { mints }, }: BootstrapSpace): Promise<void>;
45
43
  export function ammPoolRunDeposits(issuers: typeof AMMDemoState): {
46
44
  ammTotal: bigint;
47
45
  balances: {
@@ -53,19 +51,19 @@ export function splitAllCentralPayments(bootstrapPayment: Payment, balances: Rec
53
51
  brand: Brand;
54
52
  }): Promise<{
55
53
  [k: string]: {
56
- payment: Payment<AssetKind>;
57
- amount: Amount<AssetKind>;
54
+ payment: globalThis.Payment;
55
+ amount: import("@agoric/ertp/src/types").NatAmount;
58
56
  };
59
57
  }>;
60
- export function poolRates(issuerName: string, record: (typeof AMMDemoState)['ATOM'], kits: Record<string, {
58
+ export function poolRates(issuerName: string, record: (typeof AMMDemoState)["ATOM"], kits: Record<string, {
61
59
  issuer: ERef<Issuer>;
62
60
  brand: Brand;
63
61
  }>, central: {
64
- issuer: ERef<Issuer<'nat'>>;
65
- brand: Brand<'nat'>;
62
+ issuer: ERef<Issuer<"nat">>;
63
+ brand: Brand<"nat">;
66
64
  }): {
67
65
  rates: {
68
- debtLimit: Amount<"nat">;
66
+ debtLimit: import("@agoric/ertp/src/types").NatAmount;
69
67
  initialPrice: Ratio;
70
68
  initialMargin: Ratio;
71
69
  liquidationMargin: Ratio;
@@ -1 +1 @@
1
- {"version":3,"file":"demoIssuers.d.ts","sourceRoot":"","sources":["demoIssuers.js"],"names":[],"mappings":"AAgBA,qCAAqC;AACrC,4BADW,OAAO,MAAM,EAAE,MAAM,CAAC,CAU/B;AA0CK,2BAHI,MAAM,OACN,MAAM,UAQhB;AAEM,0CAC+C;AAC/C;;;WAIN;AAWD;;;;;;;;;;;;;;;GAeG;AACH,2BAbW,OAAO,MAAM,EAAE;IACzB,MAAU,CAAC,EAAE;QACb,eAAqB,EAAE,MAAM,CAAC;QAC9B,aAAmB,WAAW;QAC9B,iBAAuB,WAAW;QAClC,kBAAwB,WAAW;QACnC,YAAkB,WAAW;QAC7B,OAAa,WAAW;QACxB,kBAAwB,CAAC,WAAW;KAC/B,CAAC;IACN,MAAU,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CACtD,CAAC,CAqEH;AAwDK,gNAbK,cAAc,GACzB;IAAM,OAAO,EAAE;QAAC,OAAO,EAAE,UAAU,QAAQ,CAAC,CAAA;KAAC,CAAA;CAAE,iBAgI/C;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,CAAA,mBAAmB,EAAC,MAAM,CAAC,QAC3B,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;uBA/WY,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"}
1
+ {"version":3,"file":"demoIssuers.d.ts","sourceRoot":"","sources":["demoIssuers.js"],"names":[],"mappings":"AAeA,qCAAqC;AACrC,4BADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/B;AA0CK,2BAHI,MAAM,OACN,MAAM,UAQhB;AAEM,0CAC+C;AAC/C;;;WAIN;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,2BAhBU,MAAM,CACf,MAAU,EACV;IACA,MAAY,CAAC,EAAE;QACf,eAAuB,EAAE,MAAM,CAAC;QAChC,aAAqB,EAAE,QAAQ,CAAC;QAChC,iBAAyB,EAAE,QAAQ,CAAC;QACpC,kBAA0B,EAAE,QAAQ,CAAC;QACrC,YAAoB,EAAE,QAAQ,CAAC;QAC/B,OAAe,EAAE,QAAQ,CAAC;QAC1B,kBAA0B,CAAC,EAAE,QAAQ,CAAC;KAC/B,CAAC;IACR,MAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD,CACF,CAqEF;AAqDK,gNAVI,cAAc,iBAgIxB;AAQM,4CAFI,OAAO,YAAY;;;;;EAgC7B;AAOM,0DAJI,OAAO,YACP,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WACtB;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE;;;;;GA4BhD;AAQM,sCALI,MAAM,UACN,CAAC,OAAO,YAAY,EAAE,MAAM,CAAC,QAC7B,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,WACtD;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAAE;;;;;;;;;;;;EAoC9D;uBAhXY,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gCAiIzB;IACZ,MAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,aAAiB,EAAE,MAAM,CAAC;IAC1B,OAAW,EAAE,OAAO,CAAC;IACrB,KAAS,EAAE,KAAK,CAAC;IACjB,YAAgB,EAAE,MAAM,CAAC;CACtB"}