UNPKG

navio-blsct

Version:

TypeScript bindings for the `libblsct` library used by the [Navio](https://nav.io/) blockchain to construct confidential transactions based on the BLS12-381 curve.

67 lines (55 loc) 1.37 kB
import { castToTokenId, deserializeTokenId, genDefaultTokenId, genTokenId, genTokenIdWithSubid, getTokenIdSubid, getTokenIdToken, freeObj, serializeTokenId, } from './blsct' import { ManagedObj } from './managedObj' export class TokenId extends ManagedObj { constructor(obj: any) { super(obj) } static default(): TokenId { const rv = genDefaultTokenId() return new TokenId(rv.value) } static fromToken(token: number): TokenId { const rv = genTokenId(token) const tokenId = TokenId.fromObj(rv.value) freeObj(rv) return tokenId } static fromTokenAndSubid(token: number, subid: number): TokenId { const rv = genTokenIdWithSubid(token, subid) const tokenId = TokenId.fromObj(rv.value) freeObj(rv) return tokenId } getToken(): number { return getTokenIdToken(this.value()) } getSubid(): number { return getTokenIdSubid(this.value()) } equals(other: TokenId): boolean { return this.getToken() === other.getToken() && this.getSubid() === other.getSubid() } override value(): any { return castToTokenId(this.obj) } override serialize(): string { return serializeTokenId(this.value()) } static deserialize( this: new (obj: any) => TokenId, hex: string ): TokenId { return TokenId._deserialize(hex, deserializeTokenId) } }