File tree Expand file tree Collapse file tree 13 files changed +129
-114
lines changed Expand file tree Collapse file tree 13 files changed +129
-114
lines changed Original file line number Diff line number Diff line change @@ -176,13 +176,13 @@ where
176
176
) ;
177
177
178
178
interactor
179
- . save_special_token ( Token {
180
- id : NFT_TOKEN_ID ,
181
- symbol : "SPECIAL" . to_string ( ) ,
182
- address : * NFT_STORAGE_ACCOUNT_ADDRESS ,
183
- decimals : 18 ,
184
- kind : TokenKind :: NFT ,
185
- } )
179
+ . save_special_token ( Token :: new (
180
+ NFT_TOKEN_ID ,
181
+ * NFT_STORAGE_ACCOUNT_ADDRESS ,
182
+ "SPECIAL" ,
183
+ 18 ,
184
+ TokenKind :: NFT ,
185
+ ) )
186
186
. await ;
187
187
vlog:: info!( "Special token added" ) ;
188
188
Original file line number Diff line number Diff line change @@ -119,13 +119,13 @@ impl StorageInteractor for DatabaseStorageInteractor<'_> {
119
119
async fn store_token ( & mut self , token : TokenInfo , token_id : TokenId ) {
120
120
self . storage
121
121
. tokens_schema ( )
122
- . store_token ( Token {
123
- id : token_id,
124
- symbol : token. symbol ,
125
- address : token. address ,
126
- decimals : token. decimals ,
127
- kind : TokenKind :: ERC20 ,
128
- } )
122
+ . store_token ( Token :: new (
123
+ token_id,
124
+ token. address ,
125
+ & token. symbol ,
126
+ token. decimals ,
127
+ TokenKind :: ERC20 ,
128
+ ) )
129
129
. await
130
130
. expect ( "failed to store token" ) ;
131
131
}
Original file line number Diff line number Diff line change @@ -66,13 +66,13 @@ impl StorageInteractor for InMemoryStorageInteractor {
66
66
}
67
67
68
68
async fn store_token ( & mut self , token : TokenInfo , token_id : TokenId ) {
69
- let token = Token {
70
- id : token_id,
71
- symbol : token. symbol ,
72
- address : token. address ,
73
- decimals : token. decimals ,
74
- kind : TokenKind :: ERC20 ,
75
- } ;
69
+ let token = Token :: new (
70
+ token_id,
71
+ token. address ,
72
+ & token. symbol ,
73
+ token. decimals ,
74
+ TokenKind :: ERC20 ,
75
+ ) ;
76
76
self . tokens . insert ( token_id, token) ;
77
77
}
78
78
@@ -98,6 +98,7 @@ impl StorageInteractor for InMemoryStorageInteractor {
98
98
symbol : format ! ( "ERC20-{}" , * id) ,
99
99
decimals : 18 ,
100
100
kind : TokenKind :: ERC20 ,
101
+ is_nft : false ,
101
102
} ,
102
103
) ;
103
104
}
@@ -277,6 +278,7 @@ impl InMemoryStorageInteractor {
277
278
symbol : token. symbol . clone ( ) ,
278
279
decimals : 0 ,
279
280
kind : TokenKind :: NFT ,
281
+ is_nft : true ,
280
282
} ,
281
283
) ;
282
284
}
Original file line number Diff line number Diff line change @@ -116,13 +116,13 @@ async fn add_token(
116
116
}
117
117
} ;
118
118
119
- let token = tokens:: Token {
119
+ let token = tokens:: Token :: new (
120
120
id,
121
- address : token_request. address ,
122
- symbol : token_request. symbol . clone ( ) ,
123
- decimals : token_request. decimals ,
124
- kind : TokenKind :: ERC20 ,
125
- } ;
121
+ token_request. address ,
122
+ & token_request. symbol ,
123
+ token_request. decimals ,
124
+ TokenKind :: ERC20 ,
125
+ ) ;
126
126
127
127
storage
128
128
. tokens_schema ( )
Original file line number Diff line number Diff line change @@ -565,6 +565,7 @@ async fn test_error_coingecko_api() {
565
565
symbol : String :: from ( "DAI" ) ,
566
566
decimals : 18 ,
567
567
kind : TokenKind :: ERC20 ,
568
+ is_nft : false ,
568
569
} ;
569
570
let ( address, handler) = run_server ( token. address ) ;
570
571
let client = reqwest:: ClientBuilder :: new ( )
Original file line number Diff line number Diff line change @@ -74,13 +74,13 @@ pub async fn genesis_init(config: &ZkSyncConfig) {
74
74
. await
75
75
. expect ( "failed to access db" )
76
76
. tokens_schema ( )
77
- . store_token ( Token {
78
- id : TokenId ( id as u32 ) ,
79
- symbol : token. symbol ,
80
- address : token. address ,
81
- decimals : token. decimals ,
82
- kind : TokenKind :: ERC20 ,
83
- } )
77
+ . store_token ( Token :: new (
78
+ TokenId ( id as u32 ) ,
79
+ token. address ,
80
+ & token. symbol ,
81
+ token. decimals ,
82
+ TokenKind :: ERC20 ,
83
+ ) )
84
84
. await
85
85
. expect ( "failed to store token" ) ;
86
86
}
Original file line number Diff line number Diff line change @@ -525,13 +525,13 @@ impl ZkSyncStateKeeper {
525
525
vlog:: info!( "Adding special token" ) ;
526
526
transaction
527
527
. tokens_schema ( )
528
- . store_token ( Token {
529
- id : NFT_TOKEN_ID ,
530
- symbol : "SPECIAL" . to_string ( ) ,
531
- address : * NFT_STORAGE_ACCOUNT_ADDRESS ,
532
- decimals : 18 ,
533
- kind : TokenKind :: NFT ,
534
- } )
528
+ . store_token ( Token :: new (
529
+ NFT_TOKEN_ID ,
530
+ * NFT_STORAGE_ACCOUNT_ADDRESS ,
531
+ "SPECIAL" ,
532
+ 18 ,
533
+ TokenKind :: NFT ,
534
+ ) )
535
535
. await
536
536
. expect ( "failed to store special token" ) ;
537
537
vlog:: info!( "Special token added" ) ;
Original file line number Diff line number Diff line change 2728
2728
"nullable" : []
2729
2729
}
2730
2730
},
2731
- "66dddd41e83db60b333ea6f5697d4507fb090021f4e4b22dbb4496d0999e17f1" : {
2732
- "query" : " \n SELECT tx FROM executed_transactions WHERE tx->'type' = '\" MintNFT\" '\n ORDER BY nonce\n " ,
2733
- "describe" : {
2734
- "columns" : [
2735
- {
2736
- "ordinal" : 0 ,
2737
- "name" : " tx" ,
2738
- "type_info" : " Jsonb"
2739
- }
2740
- ],
2741
- "parameters" : {
2742
- "Left" : []
2743
- },
2744
- "nullable" : [
2745
- false
2746
- ]
2747
- }
2748
- },
2749
2731
"681359f99d0e4bafdd3109f67c7af4d235dc1197ba88cd0d6148f632ae0cdf8f" : {
2750
2732
"query" : " SELECT * FROM aggregated_proofs WHERE first_block = $1 and last_block = $2" ,
2751
2733
"describe" : {
7174
7156
]
7175
7157
}
7176
7158
},
7159
+ "f7a49b80724c8deb1f8af7016e92937fd04f9c5df474986ab61ad201ec41bdb4" : {
7160
+ "query" : " \n SELECT tx FROM executed_transactions WHERE tx->'type' = '\" MintNFT\" ' AND success = true\n ORDER BY nonce\n " ,
7161
+ "describe" : {
7162
+ "columns" : [
7163
+ {
7164
+ "ordinal" : 0 ,
7165
+ "name" : " tx" ,
7166
+ "type_info" : " Jsonb"
7167
+ }
7168
+ ],
7169
+ "parameters" : {
7170
+ "Left" : []
7171
+ },
7172
+ "nullable" : [
7173
+ false
7174
+ ]
7175
+ }
7176
+ },
7177
7177
"f8f2208c71cbf2d42de633222bb888c773a47b82dd0095b76ad38f535d74fdce" : {
7178
7178
"query" : " SELECT created_at, block_number FROM executed_transactions\n WHERE tx_hash = $1" ,
7179
7179
"describe" : {
Original file line number Diff line number Diff line change @@ -330,6 +330,7 @@ async fn test_get_account_nft_balance(mut storage: StorageProcessor<'_>) -> Quer
330
330
symbol : "NFT" . to_string ( ) ,
331
331
decimals : 0 ,
332
332
kind : TokenKind :: NFT ,
333
+ is_nft : true ,
333
334
} )
334
335
. await ?;
335
336
storage
@@ -340,6 +341,7 @@ async fn test_get_account_nft_balance(mut storage: StorageProcessor<'_>) -> Quer
340
341
symbol : "SPECIAL" . to_string ( ) ,
341
342
decimals : 0 ,
342
343
kind : TokenKind :: NFT ,
344
+ is_nft : true ,
343
345
} )
344
346
. await ?;
345
347
@@ -458,6 +460,7 @@ async fn test_get_nft_owner(mut storage: StorageProcessor<'_>) -> QueryResult<()
458
460
symbol : "NFT" . to_string ( ) ,
459
461
decimals : 0 ,
460
462
kind : TokenKind :: NFT ,
463
+ is_nft : true ,
461
464
} )
462
465
. await ?;
463
466
storage
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ async fn tokens_storage(mut storage: StorageProcessor<'_>) -> QueryResult<()> {
38
38
symbol : "ETH" . into ( ) ,
39
39
decimals : 18 ,
40
40
kind : TokenKind :: ERC20 ,
41
+ is_nft : false ,
41
42
} ;
42
43
assert_eq ! ( tokens[ & TokenId ( 0 ) ] , eth_token) ;
43
44
@@ -48,20 +49,23 @@ async fn tokens_storage(mut storage: StorageProcessor<'_>) -> QueryResult<()> {
48
49
symbol : "ABC" . into ( ) ,
49
50
decimals : 9 ,
50
51
kind : TokenKind :: ERC20 ,
52
+ is_nft : false ,
51
53
} ;
52
54
let token_b = Token {
53
55
id : TokenId ( 2 ) ,
54
56
address : "0000000000000000000000000000000000000002" . parse ( ) . unwrap ( ) ,
55
57
symbol : "DEF" . into ( ) ,
56
58
decimals : 6 ,
57
59
kind : TokenKind :: None ,
60
+ is_nft : false ,
58
61
} ;
59
62
let nft = Token {
60
63
id : TokenId ( MIN_NFT_TOKEN_ID ) ,
61
64
address : "0000000000000000000000000000000000000005" . parse ( ) . unwrap ( ) ,
62
65
symbol : "NFT" . into ( ) ,
63
66
decimals : 0 ,
64
67
kind : TokenKind :: NFT ,
68
+ is_nft : true ,
65
69
} ;
66
70
67
71
TokensSchema ( & mut storage)
You can’t perform that action at this time.
0 commit comments