@@ -23,101 +23,102 @@ it('Test provider functionality', async () => {
23
23
enr,
24
24
privateKey,
25
25
} ,
26
- supportedNetworks : [ { networkId : NetworkId . HistoryNetwork } ] ,
26
+ supportedNetworks : [ { networkId : NetworkId . HistoryNetwork } , { networkId : NetworkId . StateNetwork } ] ,
27
27
} )
28
28
29
-
29
+
30
30
// Stub getBlockByHash for unit testing
31
31
provider . portal . ETH . getBlockByHash = async ( _hash : Uint8Array ) => {
32
32
return Block . fromBlockData ( { header : BlockHeader . fromHeaderData ( { number : 2n } ) } )
33
33
}
34
34
35
35
provider . portal . ETH . getBlockByNumber = async ( blockNumber : number | bigint | "latest" | "finalized" ) => {
36
- return Block . fromBlockData ( {
37
- header : BlockHeader . fromHeaderData ( {
38
- number : typeof blockNumber === 'string' ? 0n : blockNumber ,
36
+ return Block . fromBlockData ( {
37
+ header : BlockHeader . fromHeaderData ( {
38
+ number : typeof blockNumber === 'string' ? 0n : blockNumber ,
39
39
40
- } )
41
40
} )
42
- }
43
-
44
- provider . portal . ETH . getTransactionCount = async ( _address : Uint8Array ) => {
45
- return BigInt ( '0x5' )
46
- }
47
-
48
- provider . portal . ETH . getCode = async ( _address : Uint8Array ) => {
49
- return new Uint8Array ( Buffer . from ( '60806040' , 'hex' ) )
50
- }
51
-
52
- provider . portal . ETH . getBalance = async ( _address : Uint8Array ) => {
53
- return 1000000000000000000n
54
- }
55
-
56
- provider . portal . ETH . getStorageAt = async ( _address : Uint8Array , _position : Uint8Array ) => {
57
- const result = new Uint8Array ( 32 )
58
- result [ 30 ] = 0x00
59
- result [ 31 ] = 0x01
60
- return Buffer . from ( result ) . toString ( 'hex' )
61
- }
62
-
63
- provider . portal . ETH . call = async ( _txObject : any ) => {
64
- return Buffer . from ( [ 0x00 , 0x01 ] ) . toString ( 'hex' )
65
- }
66
-
67
- const blockByHash = await provider . request ( {
68
- method : 'eth_getBlockByHash' ,
69
- params : [ '0x123' , false ]
70
- } ) as { result : { number : string } }
71
- expect ( blockByHash . result . number ) . toBe ( '0x2' )
72
-
73
- const blockByNumber = await provider . request ( {
74
- method : 'eth_getBlockByNumber' ,
75
- params : [ 100 , false ]
76
- } ) as { result : { number : string } }
77
- expect ( blockByNumber . result . number ) . toBe ( '0x64' )
78
-
79
- const balance = await provider . request ( {
80
- method : 'eth_getBalance' ,
81
- params : [ '0x3DC00AaD844393c110b61aED5849b7c82104e748' , '0x0' ]
82
- } ) as { result : string }
83
- expect ( balance . result ) . toBe ( '0xde0b6b3a7640000' )
84
-
85
- const storage = await provider . request ( {
86
- method : 'eth_getStorageAt' ,
87
- params : [
88
- '0x1234567890123456789012345678901234567890' ,
89
- '0x0000000000000000000000000000000000000000000000000000000000000000' ,
90
- '0x64'
91
- ]
92
- } ) as { result : string }
93
- expect ( storage . result ) . toBe ( '0x' + '00' . repeat ( 30 ) + '0001' )
94
-
95
- const call = await provider . request ( {
96
- method : 'eth_call' ,
97
- params : [ {
98
- to : '0x1234567890123456789012345678901234567890' ,
99
- data : '0x70a08231000000000000000000000000'
100
- } , '0x64' ]
101
- } ) as { result : string }
102
- expect ( call . result ) . toBe ( '0x0001' )
103
-
104
- await expect ( provider . request ( {
105
- method : 'eth_unsupportedMethod' ,
106
- params : [ ]
107
- } ) ) . rejects . toThrow ( )
108
-
109
- await expect ( provider . request ( {
110
- method : 'eth_getBlockByHash' ,
111
- params : [ '0x123' ]
112
- } ) ) . resolves . toEqual ( {
113
- error : {
114
- code : - 32602 ,
115
- message : 'Invalid params for eth_getBlockByHash'
116
- } ,
117
- id : null ,
118
- jsonrpc : '2.0' ,
119
41
} )
42
+ }
43
+
44
+ provider . portal . ETH . getTransactionCount = async ( _address : Uint8Array ) => {
45
+ return BigInt ( '0x5' )
46
+ }
47
+
48
+ provider . portal . ETH . getCode = async ( _address : Uint8Array ) => {
49
+ return new Uint8Array ( Buffer . from ( '60806040' , 'hex' ) )
50
+ }
51
+
52
+ provider . portal . ETH . getBalance = async ( _address : Uint8Array ) => {
53
+ return 1000000000000000000n
54
+ }
55
+
56
+ provider . portal . ETH . getStorageAt = async ( _address : Uint8Array , _position : Uint8Array ) => {
57
+ const result = new Uint8Array ( 32 )
58
+ result [ 30 ] = 0x00
59
+ result [ 31 ] = 0x01
60
+ return Buffer . from ( result ) . toString ( 'hex' )
61
+ }
62
+
63
+ provider . portal . ETH . call = async ( _txObject : any ) => {
64
+ return Buffer . from ( [ 0x00 , 0x01 ] ) . toString ( 'hex' )
65
+ }
66
+
67
+ const blockByHash = await provider . request ( {
68
+ method : 'eth_getBlockByHash' ,
69
+ params : [ '0x123' , false ]
70
+ } ) as { result : { number : string } }
71
+ expect ( blockByHash . result . number ) . toBe ( '0x2' )
72
+
73
+ const blockByNumber = await provider . request ( {
74
+ method : 'eth_getBlockByNumber' ,
75
+ params : [ 100 , false ]
76
+ } ) as { result : { number : string } }
77
+ expect ( blockByNumber . result . number ) . toBe ( '0x64' )
78
+
79
+ const balance = await provider . request ( {
80
+ method : 'eth_getBalance' ,
81
+ params : [ '0x3DC00AaD844393c110b61aED5849b7c82104e748' , '0x0' ]
82
+ } ) as { result : string }
83
+ expect ( balance . result ) . toBe ( '0xde0b6b3a7640000' )
84
+
85
+
86
+ const storage = await provider . request ( {
87
+ method : 'eth_getStorageAt' ,
88
+ params : [
89
+ '0x1234567890123456789012345678901234567890' ,
90
+ '0x0000000000000000000000000000000000000000000000000000000000000000' ,
91
+ '0x64'
92
+ ]
93
+ } ) as { result : string }
94
+ expect ( storage . result ) . toBe ( '0x' + '00' . repeat ( 30 ) + '0001' )
95
+
96
+ const call = await provider . request ( {
97
+ method : 'eth_call' ,
98
+ params : [ {
99
+ to : '0x1234567890123456789012345678901234567890' ,
100
+ data : '0x70a08231000000000000000000000000'
101
+ } , '0x64' ]
102
+ } ) as { result : string }
103
+ expect ( call . result ) . toBe ( '0x0001' )
104
+
105
+ await expect ( provider . request ( {
106
+ method : 'eth_unsupportedMethod' ,
107
+ params : [ ]
108
+ } ) ) . rejects . toThrow ( )
109
+
110
+ await expect ( provider . request ( {
111
+ method : 'eth_getBlockByHash' ,
112
+ params : [ '0x123' ]
113
+ } ) ) . resolves . toEqual ( {
114
+ error : {
115
+ code : - 32602 ,
116
+ message : 'Invalid params for eth_getBlockByHash'
117
+ } ,
118
+ id : null ,
119
+ jsonrpc : '2.0' ,
120
+ } )
120
121
121
- await ( provider as any ) . portal . stop ( )
122
+ await provider . portal . stop ( )
122
123
123
124
} )
0 commit comments