@polkadot/types#Compact TypeScript Examples
The following examples show how to use
@polkadot/types#Compact.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Merchant.tsx From crust-apps with Apache License 2.0 | 6 votes |
function calcVisible (filter: string, name: string, tags: string[], marketLedger: any, withCollateral?: boolean): boolean {
if (withCollateral) {
if (!marketLedger || !marketLedger.active_funds ) {
return false;
}
const collateral = marketLedger.active_funds as Compact<any>
if (collateral.toBn().isZero()) {
return false;
}
}
if (filter.length === 0) {
return true;
}
const _filter = filter.toLowerCase();
return tags.reduce((result: boolean, tag: string): boolean => {
return result || tag.toLowerCase().includes(_filter);
}, name.toLowerCase().includes(_filter));
}
Example #2
Source File: ProposalCell.tsx From crust-apps with Apache License 2.0 | 6 votes |
function ProposalCell ({ className = '', imageHash, proposal }: Props): React.ReactElement<Props> {
const { t } = useTranslation();
if (!proposal) {
const textHash = imageHash.toString();
return (
<td className={`${className} all`}>
{t('preimage {{hash}}', { replace: { hash: `${textHash.slice(0, 8)}…${textHash.slice(-8)}` } })}
</td>
);
}
const { method, section } = proposal.registry.findMetaCall(proposal.callIndex);
const isTreasury = section === 'treasury' && METHOD_TREA.includes(method);
const isExternal = section === 'democracy' && METHOD_EXTE.includes(method);
return (
<td className={`${className} all`}>
<CallExpander
labelHash={t<string>('proposal hash')}
value={proposal}
withHash={!isTreasury && !isExternal}
>
{isExternal && (
<ExternalCell value={proposal.args[0] as Hash} />
)}
{isTreasury && (
<TreasuryCell value={proposal.args[0] as Compact<ProposalIndex>} />
)}
</CallExpander>
</td>
);
}
Example #3
Source File: FormatBalance.tsx From crust-apps with Apache License 2.0 | 6 votes |
function format (value: Compact<any> | BN | string, [decimals, token]: [number, string], withCurrency = true, withSi?: boolean, _isShort?: boolean, labelPost?: string): React.ReactNode {
const [prefix, postfix] = formatBalance(value, { decimals, forceUnit: '-', withSi: false }).split('.');
const isShort = _isShort || (withSi && prefix.length >= K_LENGTH);
const unitPost = withCurrency ? token : '';
if (prefix.length > M_LENGTH) {
const [major, rest] = formatBalance(value, { decimals, withUnit: false }).split('.');
const minor = rest.substr(0, 4);
const unit = rest.substr(4);
return <>{major}.<span className='ui--FormatBalance-postfix'>{minor}</span><span className='ui--FormatBalance-unit'>{unit}{unit ? unitPost : ` ${unitPost}`}</span>{labelPost || ''}</>;
}
return formatDisplay(prefix, postfix, unitPost, labelPost, isShort);
}
Example #4
Source File: FormatCandy.tsx From crust-apps with Apache License 2.0 | 6 votes |
function format (value: Compact<any> | BN | string, withCurrency = true, withSi?: boolean, _isShort?: boolean, labelPost?: string): React.ReactNode {
const [prefix, postfix] = formatBalance(value, { forceUnit: '-', withSi: false }).split('.');
const isShort = _isShort || (withSi && prefix.length >= K_LENGTH);
const unitPost = 'Candy';
if (prefix.length > M_LENGTH) {
const [major, rest] = formatBalance(value, { withUnit: false }).split('.');
const minor = rest.substr(0, 4);
const unit = rest.substr(4);
return <>{major}.<span className='ui--FormatBalance-postfix'>{minor}</span><span className='ui--FormatBalance-unit'>{unit}{unit ? unitPost : ` ${unitPost}`}</span>{labelPost || ''}</>;
}
return <>{`${prefix}${isShort ? '' : '.'}`}{!isShort && <span className='ui--FormatBalance-postfix'>{`0000${postfix || ''}`.slice(-4)}</span>}<span className='ui--FormatBalance-unit'> {unitPost}</span>{labelPost || ''}</>;
}
Example #5
Source File: FormatCru18.tsx From crust-apps with Apache License 2.0 | 6 votes |
function format (value: Compact<any> | BN | string, withCurrency = true, withSi?: boolean, _isShort?: boolean, labelPost?: string): React.ReactNode {
const [prefix, postfix] = formatBalance(value, { forceUnit: '-', withSi: false }).split('.');
const isShort = _isShort || (withSi && prefix.length >= K_LENGTH);
const unitPost = 'CRU18';
if (prefix.length > M_LENGTH) {
const [major, rest] = formatBalance(value, { withUnit: false }).split('.');
const minor = rest.substr(0, 4);
const unit = rest.substr(4);
return <>{major}.<span className='ui--FormatBalance-postfix'>{minor}</span><span className='ui--FormatBalance-unit'>{unit}{unit ? unitPost : ` ${unitPost}`}</span>{labelPost || ''}</>;
}
return <>{`${prefix}${isShort ? '' : '.'}`}{!isShort && <span className='ui--FormatBalance-postfix'>{`0000${postfix || ''}`.slice(-4)}</span>}<span className='ui--FormatBalance-unit'> {unitPost}</span>{labelPost || ''}</>;
}
Example #6
Source File: FormatCsmBalance.tsx From crust-apps with Apache License 2.0 | 6 votes |
function format (value: Compact<any> | BN | string, withCurrency = true, withSi?: boolean, _isShort?: boolean, labelPost?: string): React.ReactNode {
const [prefix, postfix] = formatBalance(value, { forceUnit: '-', withSi: false }).split('.');
const isShort = _isShort || (withSi && prefix.length >= K_LENGTH);
const unitPost = 'CSM';
if (prefix.length > M_LENGTH) {
const [major, rest] = formatBalance(value, { withUnit: false }).split('.');
const minor = rest.substr(0, 4);
const unit = rest.substr(4);
return <>{major}.<span className='ui--FormatBalance-postfix'>{minor}</span><span className='ui--FormatBalance-unit'>{unit}{unit ? unitPost : ` ${unitPost}`}</span>{labelPost || ''}</>;
}
return <>{`${prefix}${isShort ? '' : '.'}`}{!isShort && <span className='ui--FormatBalance-postfix'>{`0000${postfix || ''}`.slice(-4)}</span>}<span className='ui--FormatBalance-unit'> {unitPost}</span>{labelPost || ''}</>;
}
Example #7
Source File: Blocks.ts From gear-js with GNU General Public License v3.0 | 6 votes |
/**
* Get block number
* @param hash
* @returns Compact<BlockNumber>
*/
async getBlockNumber(hash: `0x${string}` | Uint8Array): Promise<Compact<BlockNumber>> {
const block = await this.get(hash);
return block.block.header.number;
}
Example #8
Source File: Blocks.ts From gear-js with GNU General Public License v3.0 | 6 votes |
/**
* Get timestamp of block
* @param hashOrNumber hash or number of particular block
* @returns
*/
async getBlockTimestamp(hashOrNumber: `0x${string}` | Uint8Array | number): Promise<Compact<u64>> {
const block = await this.get(hashOrNumber);
const tsAsU8a = block.block.extrinsics.find(
(value) => value.method.method === 'set' && value.method.section === 'timestamp',
).data;
const ts = CreateType.create('Compact<u64>', tsAsU8a);
return ts as Compact<u64>;
}
Example #9
Source File: readState.ts From gear-js with GNU General Public License v3.0 | 6 votes |
export async function readState(
wasmBytes: Buffer,
initialSize: number,
pages: IGearPages,
inputValue?: Uint8Array,
blockTimestamp?: Compact<u64>,
): Promise<Uint8Array> {
const memory = new WebAssembly.Memory({ initial: initialSize });
const module = await WebAssembly.instantiate(wasmBytes, importObj(memory, false, inputValue, blockTimestamp));
Object.keys(pages).forEach((pageNumber: string) => {
const start = +pageNumber * PAGE_SIZE;
const end = start + PAGE_SIZE;
const page = pages[pageNumber];
for (let i = start; i < end; i++) {
new Uint8Array(memory.buffer)[i] = page[i % PAGE_SIZE];
}
});
const { exports } = module.instance;
return exports?.meta_state ? new Uint8Array(getExportValue(memory, exports.meta_state)) : null;
}
Example #10
Source File: explorer.ts From gear-js with GNU General Public License v3.0 | 6 votes |
constructor(event: DotEvent, blockNumber?: Compact<BlockNumber>) {
const { section, method, meta, hash } = event;
const { docs } = meta;
super(event);
this._id = `${hash}-${generateRandomId()}`;
this._caption = `${section}.${method}`;
this._description = String(docs.toHuman());
this._blockNumber = blockNumber ? String(blockNumber.toHuman()) : undefined;
}
Example #11
Source File: types.ts From commonwealth with GNU General Public License v3.0 | 6 votes |
constructor(
denom: string,
n: number | u128 | BN | SubstrateCoin | Compact<u128>,
dollar: BN,
inDollars: boolean = false,
) {
if (n instanceof SubstrateCoin) {
super(denom, n.asBN, inDollars, dollar);
} else if (n instanceof Compact || n instanceof u128) {
super(denom, n.toBn(), inDollars, dollar);
} else {
super(denom, n, inDollars, dollar);
}
}
Example #12
Source File: FormatBalance.tsx From subscan-multisig-react with Apache License 2.0 | 6 votes |
function applyFormat(
value: Compact<any> | BN | string,
[decimals, token]: [number, string],
withCurrency = true,
withSi?: boolean,
_isShort?: boolean,
labelPost?: string
): React.ReactNode {
const [prefix, postfix] = formatBalance(value, { decimals, forceUnit: '-', withSi: false }).split('.');
const isShort = _isShort || (withSi && prefix.length >= K_LENGTH);
const unitPost = withCurrency ? token : '';
if (prefix.length > M_LENGTH) {
const [major, rest] = formatBalance(value, { decimals, withUnit: false }).split('.');
const minor = rest.substr(0, 4);
const unit = rest.substr(4);
return (
<>
{major}.<span className="ui--FormatBalance-postfix">{minor}</span>
<span className="ui--FormatBalance-unit">
{unit}
{unit ? unitPost : ` ${unitPost}`}
</span>
{labelPost || ''}
</>
);
}
return createElement(prefix, postfix, unitPost, labelPost, isShort);
}