@@ -214,5 +214,47 @@ describe('BlockfrostAssetProvider', () => {
214214
215215 expect ( response . nftMetadata ! . version ) . toBe ( '2.0' ) ;
216216 } ) ;
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+ } ) ;
217259 } ) ;
218260} ) ;
0 commit comments