@@ -214,5 +214,47 @@ describe('BlockfrostAssetProvider', () => {
214
214
215
215
expect ( response . nftMetadata ! . version ) . toBe ( '2.0' ) ;
216
216
} ) ;
217
+
218
+ test ( 'uses decimal and ticker from onchain_metadata' , async ( ) => {
219
+ const mockedAssetIdOnChainMetadata = Cardano . AssetId (
220
+ 'ecbe846aa1a535579d67f9480fa6173b64d7e239df0460eba36e3ad00014df1053617475726e'
221
+ ) ;
222
+ mockResponses ( request , [
223
+ [
224
+ `assets/${ mockedAssetIdOnChainMetadata } ` ,
225
+ {
226
+ asset : mockedAssetIdOnChainMetadata ,
227
+ policy_id : 'ecbe846aa1a535579d67f9480fa6173b64d7e239df0460eba36e3ad0' ,
228
+ asset_name : '0014df1053617475726e' ,
229
+ fingerprint : 'asset1lnu3hw2pjw8xfprg7722mh0yu2vfzvk8ta60h0' ,
230
+ quantity : '100000000000000' ,
231
+ initial_mint_tx_hash : 'dcdd8ed32a71523a8393caab9d657964e50648fe0277de77add22b839e6fdb88' ,
232
+ mint_or_burn_count : 1 ,
233
+ onchain_metadata : {
234
+ url : 'ipfs://Qmc2RWQxCmAaXn7YGZsXCcs2J5' ,
235
+ logo : 'ipfs://Qmc2RWQxCmAaXn7YGZsXCcs2J5uwW8qQwYzmjh1gUiZBWA' ,
236
+ name : 'Saturn' ,
237
+ ticker : 'SATURN' ,
238
+ decimals : 6 ,
239
+ mediaType : '49696d6167652f706e67' ,
240
+ description :
241
+ 'Saturn is the governance token for the Saturn Swap protocol, a fast and simple decentralized exchange on the Cardano blockchain. https://saturnswap.io/'
242
+ } ,
243
+ onchain_metadata_standard : 'CIP68v1' ,
244
+ onchain_metadata_extra : 'd8799fff' ,
245
+ metadata : null
246
+ }
247
+ ]
248
+ ] ) ;
249
+
250
+ const response = await provider . getAsset ( {
251
+ assetId : mockedAssetIdOnChainMetadata ,
252
+ extraData : { tokenMetadata : true }
253
+ } ) ;
254
+
255
+ expect ( response . tokenMetadata ! . decimals ) . toBe ( 6 ) ;
256
+ expect ( response . tokenMetadata ! . ticker ) . toBe ( 'SATURN' ) ;
257
+ expect ( response . tokenMetadata ! . url ) . toBe ( 'ipfs://Qmc2RWQxCmAaXn7YGZsXCcs2J5' ) ;
258
+ } ) ;
217
259
} ) ;
218
260
} ) ;
0 commit comments