Skip to content

Commit

Permalink
Aug 5, 2024, 4:38 PM
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Aug 5, 2024
1 parent db0f6dd commit a561d07
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/custom-utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { PolkadotAdapter, KiltAdapter, PendulumAdapter, NodleAdapter, SubsocialAdapter, BifrostPolkadotAdapter, ListenAdapter, KicoAdapter, KaruraAdapter, ShidenAdapter, BifrostAdapter, AltairAdapter, ShadowAdapter, CrabAdapter, BasiliskAdapter, IntegriteeAdapter, KintsugiAdapter, PichiuAdapter, MangataAdapter, CalamariAdapter, MoonriverAdapter, TuringAdapter, HeikoAdapter, KhalaAdapter, KusamaAdapter, RobonomicsAdapter, StatemineAdapter, TinkernetAdapter, QuartzAdapter, StatemintAdapter, AcalaAdapter, HydraDxAdapter, InterlayAdapter, MoonbeamAdapter, ParallelAdapter, UniqueAdapter, CentrifugeAdapter, AstarAdapter, PhalaAdapter, CrustAdapter, MantaAdapter, DarwiniaAdapter, OakAdapter, InvarchAdapter, ZeitgeistAdapter} from './adapters/index'
import { MyAssetRegistryObject } from './types'
import fs from 'fs'
import path from 'path';
import { fileURLToPath } from 'url';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
type Relay = "kusama" | "polkadot"
export function getAdapter(relay: Relay, paraId: number){
if( relay == "kusama"){
Expand Down Expand Up @@ -150,4 +155,26 @@ export function getAdapter(relay: Relay, paraId: number){

// }
}
}

export function getAssetRegistryObject(chainId: number, localId: string, relay: Relay): MyAssetRegistryObject{
let assetRegistry = getAssetRegistry(relay)
let asset = assetRegistry.find((assetRegistryObject: MyAssetRegistryObject) => {
if(chainId == 0 && assetRegistryObject.tokenData.chain == 0){
return true
}
// console.log(JSON.stringify(assetRegistryObject.tokenData.localId).replace(/\\|"/g, ""))
return assetRegistryObject.tokenData.chain == chainId && JSON.stringify(assetRegistryObject.tokenData.localId).replace(/\\|"/g, "") == localId
})
if(asset == undefined){
throw new Error(`Asset not found in registry: chainId: ${chainId}, localId: ${localId} | localId stringify: ${JSON.stringify(localId)}`)
}
return asset
}

export function getAssetRegistry(relay: Relay){
// let assetRegistry: MyAssetRegistryObject[] = relay === 'kusama' ? JSON.parse(fs.readFileSync(path.join(__dirname, '../../allAssets.json'), 'utf8')) : JSON.parse(fs.readFileSync(path.join(__dirname, '../../../polkadot_assets/assets/asset_registry/allAssetsPolkadotCollected.json'), 'utf8'));
let assetRegistryPath = relay === 'kusama' ? '../../allAssets.json' : '../../polkadot_assets/assets/asset_registry/allAssetsPolkadotCollected.json'
let assetRegistry: MyAssetRegistryObject[] = JSON.parse(fs.readFileSync(path.join(__dirname, assetRegistryPath), 'utf8'));
return assetRegistry
}
20 changes: 20 additions & 0 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,23 @@ export interface BalanceData {
reserved: FixedPointNumber;
available: FixedPointNumber;
}

// Custom Data Types
export interface MyAssetRegistryObject {
tokenData: MyAsset,
hasLocation: boolean;
tokenLocation?: string;
}

export interface MyAsset {
network: string;
chain: number;
localId: string;
name: string;
symbol: string;
decimals: string;
minimalBalance?: string;
deposit?: string;
isFrozen?: boolean;
contractAddress?: string;
}

0 comments on commit a561d07

Please sign in to comment.