{"version":3,"file":"index.cjs","sources":["../../../../packages/sdk/balance/sdk-balance.ts","../../../../packages/sdk/balance/index.ts"],"sourcesContent":["import {\n  AddressArguments,\n  AllBalances,\n  TransferBuildArguments,\n  UnsignedTxPayload,\n} from '@unique-nft/sdk/types';\nimport { formatBalance } from '@unique-nft/sdk/utils';\nimport { SdkStateQueries } from '@unique-nft/sdk/state-queries';\nimport { ApiPromise } from '@polkadot/api';\nimport { SdkExtrinsics } from '@unique-nft/sdk/extrinsics';\n\ninterface Sdk {\n  api: ApiPromise;\n  extrinsics: SdkExtrinsics;\n  stateQueries: SdkStateQueries;\n}\n\nexport class SdkBalance {\n  private readonly multiplierToRaw: number;\n\n  constructor(private readonly sdk: Sdk) {\n    const tokenDecimals = this.sdk.api.registry.chainDecimals[0];\n    this.multiplierToRaw = 10 ** tokenDecimals;\n  }\n\n  async get(args: AddressArguments): Promise<AllBalances> {\n    // todo `get`: this.api[section][method]?\n    // todo getBalance(address) { this.get('balances', 'all', address);\n    const { availableBalance, lockedBalance, freeBalance } =\n      await this.sdk.api.derive.balances.all(args.address);\n\n    return {\n      availableBalance: formatBalance(this.sdk.api, availableBalance),\n      lockedBalance: formatBalance(this.sdk.api, lockedBalance),\n      freeBalance: formatBalance(this.sdk.api, freeBalance),\n    };\n  }\n\n  async transfer(args: TransferBuildArguments): Promise<UnsignedTxPayload> {\n    const amountRaw = BigInt(args.amount * this.multiplierToRaw);\n    return this.sdk.extrinsics.build({\n      address: args.address,\n      section: 'balances',\n      method: 'transfer',\n      args: [args.destination, amountRaw],\n    });\n  }\n}\n","import { addFeature } from '@unique-nft/sdk';\nimport '@unique-nft/sdk/extrinsics';\n\nimport { SdkBalance } from './sdk-balance';\nimport './augment-sdk';\n\nexport { SdkBalance } from './sdk-balance';\n\naddFeature('balance', SdkBalance);\n"],"names":["formatBalance","addFeature"],"mappings":";;;;;;;;AACO,MAAM,UAAU,CAAC;AACxB,EAAE,WAAW,CAAC,GAAG,EAAE;AACnB,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACnB,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,aAAa,CAAC;AAC/C,GAAG;AACH,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE;AAClB,IAAI,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClH,IAAI,OAAO;AACX,MAAM,gBAAgB,EAAEA,mBAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACrE,MAAM,aAAa,EAAEA,mBAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;AAC/D,MAAM,WAAW,EAAEA,mBAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;AAC3D,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;AACvB,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;AACjE,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;AACrC,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,OAAO,EAAE,UAAU;AACzB,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;AACzC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACnBAC,cAAU,CAAC,SAAS,EAAE,UAAU,CAAC;;;;"}