@@ -11,9 +11,9 @@ import { E } from '@endo/eventual-send';
1111import { errors } from './errors.js' ;
1212import {
1313 makeCharacterNftObjs ,
14- makeStorageNodeRecorderKits ,
1514 makeCopyBagAmountShape ,
1615 addAllToMap ,
16+ provideRecorderKits ,
1717} from './utils.js' ;
1818
1919import { text } from './text.js' ;
@@ -28,14 +28,14 @@ import {
2828 CharacterGuardBagShape ,
2929 ItemGuard ,
3030 ItemGuardBagShape ,
31- CharacterRecorderGuard ,
3231 ItemRecorderGuard ,
3332 MarketRecorderGuard ,
3433 MarketMetricsGuard ,
3534 RarityGuard ,
3635 BaseCharacterGuard ,
3736 MarketEntryGuard ,
3837 CharacterEntryGuard ,
38+ CharacterRecorderGuard ,
3939} from './type-guards.js' ;
4040import { atomicRearrange } from '@agoric/zoe/src/contractSupport/index.js' ;
4141import { multiplyBy } from '@agoric/zoe/src/contractSupport/ratio.js' ;
@@ -68,12 +68,18 @@ import '@agoric/zoe/exported.js';
6868 * itemIssuerRecord: IssuerRecord<"copyBag">
6969 * itemMint: ZCFMint<"copyBag">
7070 * clock: import('@agoric /time/src/types.js').Clock
71- * storageNode: StorageNode
72- * makeRecorderKit: import('@agoric/zoe/src/contractSupport').MakeRecorderKit
73- * storageNodePaths: Object
71+ * makeRecorderKit: import('@agoric/zoe/src/contractSupport').MakeRecorderKit,
72+ * recorderKits: {
73+ * characterKit: import('@agoric /zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
74+ * itemKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
75+ * marketCharacterKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
76+ * marketItemKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
77+ * marketCharacterMetricsKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
78+ * marketItemMetricsKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<unknown>;
79+ * };
7480 * }} powers
7581 */
76- export const prepareKreadKit = async (
82+ export const prepareKreadKit = (
7783 baggage ,
7884 zcf ,
7985 {
@@ -94,34 +100,20 @@ export const prepareKreadKit = async (
94100 itemIssuerRecord,
95101 itemMint,
96102 clock,
97- storageNode,
98103 makeRecorderKit,
99- storageNodePaths,
104+ recorderKits : {
105+ characterKit,
106+ itemKit,
107+ marketCharacterKit,
108+ marketCharacterMetricsKit,
109+ marketItemKit,
110+ marketItemMetricsKit,
111+ } ,
100112 } ,
101113) => {
102114 const { brand : characterBrand } = characterIssuerRecord ;
103115 const { brand : itemBrand } = itemIssuerRecord ;
104116
105- const {
106- characterKit,
107- itemKit,
108- marketCharacterKit,
109- marketItemKit,
110- marketCharacterMetricsKit,
111- marketItemMetricsKit,
112- } = await makeStorageNodeRecorderKits (
113- storageNode ,
114- makeRecorderKit ,
115- storageNodePaths ,
116- {
117- characterKit : CharacterRecorderGuard ,
118- itemKit : ItemRecorderGuard ,
119- marketCharacterKit : M . arrayOf ( MarketRecorderGuard ) ,
120- marketItemKit : M . arrayOf ( MarketRecorderGuard ) ,
121- marketCharacterMetricsKit : MarketMetricsGuard ,
122- marketItemMetricsKit : MarketMetricsGuard ,
123- } ,
124- ) ;
125117 const marketItemNode = marketItemKit . recorder . getStorageNode ( ) ;
126118 const marketCharacterNode = marketCharacterKit . recorder . getStorageNode ( ) ;
127119
@@ -133,7 +125,7 @@ export const prepareKreadKit = async (
133125 ) ;
134126 const itemShape = makeCopyBagAmountShape ( itemBrand , ItemGuardBagShape ) ;
135127
136- const makeKreadKitInternal = prepareExoClassKit (
128+ return prepareExoClassKit (
137129 baggage ,
138130 'KreadKit' ,
139131 {
@@ -1793,11 +1785,41 @@ export const prepareKreadKit = async (
17931785 } ,
17941786 } ,
17951787 ) ;
1796- const facets = makeKreadKitInternal ( ) ;
1797- return harden ( {
1798- public : facets . public ,
1799- creator : facets . creator ,
1800- } ) ;
18011788} ;
18021789
18031790harden ( prepareKreadKit ) ;
1791+
1792+ /**
1793+ *
1794+ * @param {import('@agoric/vat-data').Baggage } baggage
1795+ * @param {StorageNode } storageNode
1796+ * @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit } makeRecorderKit
1797+ * @returns
1798+ */
1799+ export const provideKreadKitRecorderKits = (
1800+ baggage ,
1801+ storageNode ,
1802+ makeRecorderKit ,
1803+ ) =>
1804+ provideRecorderKits (
1805+ baggage ,
1806+ storageNode ,
1807+ makeRecorderKit ,
1808+ {
1809+ infoKit : 'info' ,
1810+ characterKit : 'character' ,
1811+ itemKit : 'item' ,
1812+ marketCharacterKit : 'market-characters' ,
1813+ marketItemKit : 'market-items' ,
1814+ marketCharacterMetricsKit : 'market-metrics-character' ,
1815+ marketItemMetricsKit : 'market-metrics-item' ,
1816+ } ,
1817+ {
1818+ characterKit : CharacterRecorderGuard ,
1819+ itemKit : ItemRecorderGuard ,
1820+ marketCharacterKit : M . arrayOf ( MarketRecorderGuard ) ,
1821+ marketItemKit : M . arrayOf ( MarketRecorderGuard ) ,
1822+ marketCharacterMetricsKit : MarketMetricsGuard ,
1823+ marketItemMetricsKit : MarketMetricsGuard ,
1824+ } ,
1825+ ) ;
0 commit comments