import test from 'node:test'; import assert from 'node:assert/strict'; import { bridgeDepositAssetId, intentsAssetIdFromNearTokenId, } from '../src/core/bridge-assets.mjs'; const NBTC = 'nep141:nbtc.bridge.near'; const LEGACY_BTC = 'nep141:btc.omft.near'; const assetRegistry = new Map([ [NBTC, { assetId: NBTC }], [LEGACY_BTC, { assetId: LEGACY_BTC }], ]); test('intentsAssetIdFromNearTokenId normalizes NEAR token ids to verifier asset ids', () => { assert.equal(intentsAssetIdFromNearTokenId('nbtc.bridge.near'), NBTC); assert.equal(intentsAssetIdFromNearTokenId(NBTC), NBTC); assert.equal(intentsAssetIdFromNearTokenId(''), null); }); test('bridgeDepositAssetId uses credited bridge near_token_id instead of chain-only fallback', () => { assert.equal(bridgeDepositAssetId({ near_token_id: 'btc.omft.near', defuse_asset_identifier: 'btc:mainnet:native', }, { assetRegistry, fallbackAssetId: NBTC, }), LEGACY_BTC); assert.equal(bridgeDepositAssetId({ near_token_id: 'nbtc.bridge.near', defuse_asset_identifier: 'btc:mainnet:native', }, { assetRegistry, fallbackAssetId: LEGACY_BTC, }), NBTC); });