@@ -14,12 +14,17 @@ import type {
1414} from "./client" ;
1515
1616const delay = ( ms : number ) => new Promise ( ( r ) => setTimeout ( r , ms ) ) ;
17- const randHex = ( len : number ) =>
18- Array . from ( { length : len } , ( ) =>
19- Math . floor ( Math . random ( ) * 16 ) . toString ( 16 ) ,
20- ) . join ( "" ) ;
17+ let seedState = 123456789 ;
18+ const randHex = ( len : number ) => {
19+ let result = "" ;
20+ for ( let i = 0 ; i < len ; i ++ ) {
21+ seedState = ( seedState * 1664525 + 1013904223 ) % 4294967296 ;
22+ result += ( seedState % 16 ) . toString ( 16 ) ;
23+ }
24+ return result ;
25+ } ;
2126
22- const MOCK_ADDRESS = "GBAMQXTQ7IQKPZXJKZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQ " ;
27+ const MOCK_ADDRESS = "GBAMQXTQ7IQKPZXJKZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQZJQQQQ " ;
2328
2429const MOCK_BALANCES : Balance [ ] = [
2530 { asset : "XLM" , balance : "1042.5000000" , assetType : "native" } ,
@@ -48,10 +53,10 @@ const MOCK_ACCOUNT: AccountData = {
4853const MOCK_HISTORY : Transaction [ ] = Array . from ( { length : 20 } , ( _ , i ) => ( {
4954 hash : randHex ( 64 ) ,
5055 ledger : 48291034 - i * 12 ,
51- createdAt : new Date ( Date . now ( ) - i * 3600000 ) . toISOString ( ) ,
56+ createdAt : new Date ( 1782248400000 - i * 3600000 ) . toISOString ( ) ,
5257 successful : i !== 3 && i !== 11 ,
53- operationCount : Math . floor ( Math . random ( ) * 3 ) + 1 ,
54- feePaid : ( 100 + Math . floor ( Math . random ( ) * 400 ) ) . toString ( ) ,
58+ operationCount : ( i % 3 ) + 1 ,
59+ feePaid : ( 100 + ( i % 4 ) * 100 ) . toString ( ) ,
5560 memo : i % 4 === 0 ? `memo-${ i } ` : undefined ,
5661} ) ) ;
5762
@@ -77,9 +82,9 @@ const MOCK_EVENTS: ContractEvent[] = Array.from({ length: 8 }, (_, i) => ({
7782 contractId : "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" ,
7883 type : [ "transfer" , "mint" , "burn" , "approve" ] [ i % 4 ] ,
7984 ledger : 48291035 - i * 5 ,
80- createdAt : new Date ( Date . now ( ) - i * 600000 ) . toISOString ( ) ,
85+ createdAt : new Date ( 1782248400000 - i * 600000 ) . toISOString ( ) ,
8186 topics : [ `topic_${ i } _a` , `topic_${ i } _b` ] ,
82- value : { amount : ( Math . random ( ) * 1000 ) . toFixed ( 7 ) , from : MOCK_ADDRESS } ,
87+ value : { amount : ( ( i + 1 ) * 12.3456789 ) . toFixed ( 7 ) , from : MOCK_ADDRESS } ,
8388} ) ) ;
8489
8590const NETWORKS : Record < string , NetworkInfo > = {
@@ -207,7 +212,10 @@ export function createMockClient(): SorokitClient {
207212 } ,
208213 switchNetwork : async ( name ) => {
209214 await delay ( 600 ) ;
210- currentNetwork = NETWORKS [ name ] ?? NETWORKS . testnet ;
215+ if ( ! NETWORKS [ name ] ) {
216+ return { data : null , error : `Invalid network: ${ name } ` } ;
217+ }
218+ currentNetwork = NETWORKS [ name ] ;
211219 return { data : currentNetwork , error : null } ;
212220 } ,
213221 } ,
0 commit comments