@@ -34,6 +34,7 @@ const handleOutput = utxo.find(
3434) ! [ 1 ] ;
3535
3636const expectedHandleInfo : HandleInfo = {
37+ addresses : { cardano : handleOutput . address } ,
3738 assetId : handleAssetId ,
3839 cardanoAddress : handleOutput . address ,
3940 fingerprint : handleFingerprint ,
@@ -64,10 +65,10 @@ const hydrateHandle = (handleInfo: HandleInfo) =>
6465
6566const exponentialBackoffDelay = ( iteration : number ) => Math . pow ( 2 , iteration ) * HYDRATE_HANDLE_INITIAL_INTERVAL ;
6667
67- const lastInteration = HYDRATE_HANDLE_MAX_RETRIES - 1 ;
68+ const lastIteration = HYDRATE_HANDLE_MAX_RETRIES - 1 ;
6869
6970const retrySyntax = ( retries : number ) =>
70- Array . from ( { length : retries } , ( _ , i ) => exponentialBackoffDelay ( i ) - ( i === lastInteration ? 2 : 1 ) )
71+ Array . from ( { length : retries } , ( _ , i ) => exponentialBackoffDelay ( i ) - ( i === lastIteration ? 2 : 1 ) )
7172 . map ( ( exponentialDelay ) => ` - ${ exponentialDelay } ms ` )
7273 . join ( '' ) ;
7374
@@ -81,24 +82,27 @@ const handleReferenceTokenAssetId = Cardano.AssetId.fromParts(
8182describe ( 'createHandlesTracker' , ( ) => {
8283 it ( 'matches utxo$ assets to given handlePolicyIds and adds context from assetInfo$ and tip$ observables' , ( ) => {
8384 createTestScheduler ( ) . run ( ( { hot, expectObservable } ) => {
84- const utxo$ = hot ( '-ab-' , { a : utxo , b : utxo2 } ) ;
85+ const utxo$ = hot ( '-ab-' , { a : utxo , b : utxo2 } ) ;
8586 const assetInfo$ = hot ( '-a-b' , {
8687 a : new Map ( ) ,
8788 b : new Map ( [ [ handleAssetId , handleAssetInfo ] ] )
8889 } ) ;
8990 const handlePolicyIds$ = hot ( '-a--' , { a : [ handlePolicyId ] } ) ;
9091
91- const handles$ = createHandlesTracker ( {
92- assetInfo$,
93- handlePolicyIds$,
94- handleProvider : {
95- getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
96- healthCheck : jest . fn ( ) ,
97- resolveHandles : async ( ) => [ ]
92+ const handles$ = createHandlesTracker (
93+ {
94+ assetInfo$,
95+ handlePolicyIds$,
96+ handleProvider : {
97+ getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
98+ healthCheck : jest . fn ( ) ,
99+ resolveHandles : async ( ) => [ ]
100+ } ,
101+ logger,
102+ utxo$
98103 } ,
99- logger,
100- utxo$
101- } , { hydrateHandle : ( ) => hydrateHandle } ) ;
104+ { hydrateHandle : ( ) => hydrateHandle }
105+ ) ;
102106
103107 expectObservable ( handles$ ) . toBe ( '---ab' , {
104108 a : [ expectedHandleInfo ] ,
@@ -109,7 +113,7 @@ describe('createHandlesTracker', () => {
109113
110114 it ( 'filters out handles that have total supply >1' , ( ) => {
111115 createTestScheduler ( ) . run ( ( { hot, expectObservable } ) => {
112- const utxo$ = hot ( '-a' , { a : utxo } ) ;
116+ const utxo$ = hot ( '-a' , { a : utxo } ) ;
113117 const assetInfo$ = hot ( '-a' , {
114118 a : new Map ( [
115119 [
@@ -123,38 +127,46 @@ describe('createHandlesTracker', () => {
123127 } ) ;
124128 const handlePolicyIds$ = hot ( '-a-' , { a : [ handlePolicyId ] } ) ;
125129
126- const handles$ = createHandlesTracker ( {
127- assetInfo$,
128- handlePolicyIds$,
129- handleProvider : {
130- getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
131- healthCheck : jest . fn ( ) ,
132- resolveHandles : async ( ) => [ ]
130+ const handles$ = createHandlesTracker (
131+ {
132+ assetInfo$,
133+ handlePolicyIds$,
134+ handleProvider : {
135+ getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
136+ healthCheck : jest . fn ( ) ,
137+ resolveHandles : async ( ) => [ ]
138+ } ,
139+ logger,
140+ utxo$
133141 } ,
134- logger,
135- utxo$
136- } , { hydrateHandle : ( ) => hydrateHandle } ) ;
142+ { hydrateHandle : ( ) => hydrateHandle }
143+ ) ;
137144
138145 expectObservable ( handles$ ) . toBe ( '-a' , { a : [ ] } ) ;
139146 } ) ;
140147 } ) ;
141148
142149 it ( 'filters out cip68 reference tokens' , ( ) => {
143150 createTestScheduler ( ) . run ( ( { hot, expectObservable } ) => {
144- const utxo$ = hot ( '-a' , { a : [ [ utxo [ 0 ] [ 0 ] , {
145- address : utxo [ 0 ] [ 1 ] . address ,
146- value : {
147- assets : new Map ( [
148- [ handleReferenceTokenAssetId , 1n ]
149- ] ) ,
150- coins : 9_825_963n
151- }
152- }
153- ] as Cardano . Utxo ] } ) ;
151+ const utxo$ = hot ( '-a' , {
152+ a : [
153+ [
154+ utxo [ 0 ] [ 0 ] ,
155+ {
156+ address : utxo [ 0 ] [ 1 ] . address ,
157+ value : {
158+ assets : new Map ( [ [ handleReferenceTokenAssetId , 1n ] ] ) ,
159+ coins : 9_825_963n
160+ }
161+ }
162+ ] as Cardano . Utxo
163+ ]
164+ } ) ;
154165 const assetInfo$ = hot ( '-a' , {
155166 a : new Map ( [
156167 [
157- handleReferenceTokenAssetId , {
168+ handleReferenceTokenAssetId ,
169+ {
158170 ...handleAssetInfo ,
159171 supply : 1n
160172 }
@@ -163,39 +175,45 @@ describe('createHandlesTracker', () => {
163175 } ) ;
164176 const handlePolicyIds$ = hot ( '-a-' , { a : [ handlePolicyId ] } ) ;
165177
166- const handles$ = createHandlesTracker ( {
167- assetInfo$,
168- handlePolicyIds$,
169- handleProvider : {
170- getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
171- healthCheck : jest . fn ( ) ,
172- resolveHandles : async ( ) => [ ]
178+ const handles$ = createHandlesTracker (
179+ {
180+ assetInfo$,
181+ handlePolicyIds$,
182+ handleProvider : {
183+ getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
184+ healthCheck : jest . fn ( ) ,
185+ resolveHandles : async ( ) => [ ]
186+ } ,
187+ logger,
188+ utxo$
173189 } ,
174- logger,
175- utxo$
176- } , { hydrateHandle : ( ) => hydrateHandle } ) ;
190+ { hydrateHandle : ( ) => hydrateHandle }
191+ ) ;
177192
178193 expectObservable ( handles$ ) . toBe ( '-a' , { a : [ ] } ) ;
179194 } ) ;
180195 } ) ;
181196
182197 it ( 'does not emit duplicates with no changes' , ( ) => {
183198 createTestScheduler ( ) . run ( ( { hot, expectObservable } ) => {
184- const utxo$ = hot ( '-a-' , { a : utxo } ) ;
185- const assetInfo$ = hot ( '-aa' , { a : new Map ( [ [ handleAssetId , handleAssetInfo ] ] ) } ) ;
199+ const utxo$ = hot ( '-a-' , { a : utxo } ) ;
200+ const assetInfo$ = hot ( '-aa' , { a : new Map ( [ [ handleAssetId , handleAssetInfo ] ] ) } ) ;
186201 const handlePolicyIds$ = hot ( '-a-' , { a : [ handlePolicyId ] } ) ;
187202
188- const handles$ = createHandlesTracker ( {
189- assetInfo$,
190- handlePolicyIds$,
191- handleProvider : {
192- getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
193- healthCheck : jest . fn ( ) ,
194- resolveHandles : async ( ) => [ ]
203+ const handles$ = createHandlesTracker (
204+ {
205+ assetInfo$,
206+ handlePolicyIds$,
207+ handleProvider : {
208+ getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
209+ healthCheck : jest . fn ( ) ,
210+ resolveHandles : async ( ) => [ ]
211+ } ,
212+ logger,
213+ utxo$
195214 } ,
196- logger,
197- utxo$
198- } , { hydrateHandle : ( ) => hydrateHandle } ) ;
215+ { hydrateHandle : ( ) => hydrateHandle }
216+ ) ;
199217
200218 expectObservable ( handles$ ) . toBe ( '-ab' , {
201219 a : [ expectedHandleInfo ] ,
@@ -206,22 +224,25 @@ describe('createHandlesTracker', () => {
206224
207225 it ( 'shares a single subscription to dependency observables' , ( ) => {
208226 createTestScheduler ( ) . run ( ( { hot, expectSubscriptions } ) => {
209- const utxo$ = hot ( '-a' , { a : utxo } ) ;
227+ const utxo$ = hot ( '-a' , { a : utxo } ) ;
210228 const assetInfo$ = hot ( '-a' , {
211229 a : new Map ( [ [ handleAssetId , handleAssetInfo ] ] )
212230 } ) ;
213231 const handlePolicyIds$ = hot ( 'a-' , { a : [ handlePolicyId ] } ) ;
214- const handles$ = createHandlesTracker ( {
215- assetInfo$,
216- handlePolicyIds$,
217- handleProvider : {
218- getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
219- healthCheck : jest . fn ( ) ,
220- resolveHandles : async ( ) => [ ]
232+ const handles$ = createHandlesTracker (
233+ {
234+ assetInfo$,
235+ handlePolicyIds$,
236+ handleProvider : {
237+ getPolicyIds : async ( ) : Promise < Cardano . PolicyId [ ] > => [ handlePolicyId ] ,
238+ healthCheck : jest . fn ( ) ,
239+ resolveHandles : async ( ) => [ ]
240+ } ,
241+ logger,
242+ utxo$
221243 } ,
222- logger,
223- utxo$
224- } , { hydrateHandle : ( ) => hydrateHandle } ) ;
244+ { hydrateHandle : ( ) => hydrateHandle }
245+ ) ;
225246 combineLatest ( [ handles$ , handles$ ] ) . pipe ( take ( 1 ) ) . subscribe ( ) ;
226247 expectSubscriptions ( utxo$ . subscriptions ) . toBe ( '^!' ) ;
227248 expectSubscriptions ( assetInfo$ . subscriptions ) . toBe ( '^!' ) ;
0 commit comments