open-index/open-npm huggingface dataset:
npm package: @iqidaosdk/webpack-aliyun-oss
Description: a webpack(version>=4) plugin to upload assets to aliyun oss, can be used with or without webpack.
Author: huzhengtaoalex
Latest version: 1.0.0

# webpack-aliyun-oss
A webpack(version>=4) plugin to upload assets to aliyun oss, u can use it with or without webpack.

一个webpack(version>=4)插件，上传资源到阿里云oss。可以作为webpack插件使用，也可独立使用(从0.1.0开始支持)

- 以插件方式使用时，默认按output.path (webpack.config.js) 目录下的文件路径上传(保留原文件路径的层级结构)。
- 独立使用时，按`buildRoot`的文件路径上传(保留原文件路径的层级结构)。
- 以上两种方式，都可以通过`setOssPath`重新配置不同的上传路径。

Install
------------------------
```shell
$ npm i webpack-aliyun-oss -D
```

Options
------------------------

- `from`: 上传哪些文件，支持类似gulp.src的glob方法，如'./build/**', 可以为glob字符串或者数组。
    - 作为插件使用时：可选。默认为output.path下所有的文件。
    - 独立使用时：必传
- `dist`: 上传到oss哪个目录下，默认为oss根目录。可作为路径前缀使用。
- `region`: 阿里云上传区域
- `accessKeyId`: 阿里云的授权accessKeyId
- `accessKeySecret`: 阿里云的授权accessKeySecret
- `bucket`: 上传到哪个bucket
- `timeout`: oss超时设置，默认为30秒(30000)
- `overwrite`: 是否覆盖oss同名文件。默认true
- `verbose`: 是否显示上传日志，默认为true
- `deletOrigin`: 上传完成是否删除原文件，默认false
- `deleteEmptyDir`: 如果某个目录下的文件都上传过了，是否删除此目录。`deleteOrigin`为true时候生效。默认false。
- `setOssPath`: 自定义每个文件上传路径。接收参数为当前文件路径。不传，或者所传函数返回false则按默认方式上传。
- `setHeaders`: 配置headers的函数。接收参数为当前文件路径。不传，或者所传函数返回false则不设置header。
- `buildRoot`: 构建目录。如：path/to/your/files。独立使用时候需要传。如果已传`setOssPath`可忽略。默认为当前工作目录。
- `test`: 测试，仅查看文件和上传路径，但是不执行上传操作。默认false
- `bail`: 出错是否中断上传。默认false
- `logToLocal`: 出错信息写入本地upload.error.log。默认false
- `quitWpOnError`: 出错是否中断打包。默认false

#### 注意: `accessKeyId, accessKeySecret` 很重要，注意保密!!!

Example
------------------------

##### 作为webpack插件使用
```javascript
const WebpackAliyunOss = require('webpack-aliyun-oss');
const webpackConfig = {
  // ... 省略其他
  plugins: [new WebpackAliyunOss({
    from: ['./build/**', '!./build/**/*.html'], // build目录下除html之外的所有文件
    dist: '/path/in/alioss', // oss上传目录
    region: 'your region',
    accessKeyId: 'your key',
    accessKeySecret: 'your secret',
    bucket: 'your bucket',

    // 如果希望自定义上传路径，就传这个函数
    // 否则按 output.path (webpack.config.js) 目录下的文件路径上传
    setOssPath(filePath) {
      // filePath为当前文件路径。函数应该返回路径+文件名。
      // 如果返回/new/path/to/file.js，则最终上传路径为 /path/in/alioss/new/path/to/file.js
      return '/new/path/to/file.js';
    },

    // 如果想定义header就传
    setHeaders(filePath) {
      // 定义当前文件header，可选
      return {
        'Cache-Control': 'max-age=31536000'
      }
    }
  })]
}
```

##### 独立使用

```javascript
const WebpackAliyunOss = require('webpack-aliyun-oss');
new WebpackAliyunOss({
    from: ['./build/**', '!./build/**/*.html'],
    dist: '/path/in/alioss',
    buildRoot: 'build', // 构建目录，如果已传setOssPath，可忽略
    region: 'your region',
    accessKeyId: 'your key',
    accessKeySecret: 'your secret',
    bucket: 'your bucket',

    // 如果希望自定义上传路径，就传这个函数
    // 否则按`buildRoot`下的文件结构上传
    setOssPath(filePath) {
      // filePath为当前文件路径。函数应该返回路径+文件名。
      // 如果返回/new/path/to/file.js，则最终上传路径为 /path/in/alioss/new/path/to/file.js
      return '/new/path/to/file.js';
    },

    // 如果想定义header就传
    setHeaders(filePath) {
      return {
        'Cache-Control': 'max-age=31536000'
      }
    }
}).apply(); 
```
npm package: @iqmo/blp-node
Description: Node implementation of BLP
Author: mike@iqmo.com
Latest version: 0.1.3

#blp-node

## About

This is an inital implementation of the BLPAPI in node.  Currently only BDP/refdata is supported.  No paramters or overrides are implemented yet.

### Usage

To use Desktop API
```
const BLP = require("blp-node");

const api =  new BLP({});
const connected=api.connect();
assert.strictEqual(connected, truncateSync, "Unexpected value returned");

const fields=["px_volume","CRNCY","px_last"];

const result=api.BDP(["IBM US Equity","TSLA US Equity"],["px_volume","CRNCY","px_last"])

const ibmField=result.find(v=>v.Ticker==="IBM US Equity")
const tslaField=result.find(v=>v.Ticker==="IBM US Equity")

Object.keys()
```

To use Server API
```
const BLP = require("blp-node");
const blpInstance =  new BLP({
    "appName":<APPNAME>,
    "appName":<APPNAME>,
    "port":<PORT>
});
const connected=api.connect();
assert.strictEqual(connected, truncateSync, "Unexpected value returned");

const fields=["px_volume","CRNCY","px_last"];

const result=api.BDP(["IBM US Equity","TSLA US Equity"],["px_volume","CRNCY","px_last"])

const ibmField=result.find(v=>v.Ticker==="IBM US Equity")
const tslaField=result.find(v=>v.Ticker==="IBM US Equity")

Object.keys()
```
npm package: @iqoption/chvlk
Description: Chuvelk [tʃuvèlk] – yet another ui-kit written with typescript and react
Author: Oleg Repin
Latest version: 0.0.2

# chvlk

Chuvelk [tʃuvèlk] – yet another ui-kit written with typescript and react

[![npm](https://img.shields.io/npm/v/chvlk.svg)](https://www.npmjs.com/package/chvlk)
[![npm](https://img.shields.io/npm/dw/chvlk.svg)](https://www.npmjs.com/package/chvlk)
[![Travis](https://img.shields.io/travis/iamolegga/chvlk.svg)](https://travis-ci.org/iamolegga/chvlk)
[![Codecov](https://img.shields.io/codecov/c/github/iamolegga/chvlk.svg)](https://codecov.io/gh/iamolegga/chvlk)
[![license](https://img.shields.io/github/license/iamolegga/chvlk.svg)](https://github.com/iamolegga/chvlk)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![Libraries.io for GitHub](https://img.shields.io/librariesio/github/iamolegga/chvlk.svg)](https://libraries.io/github/iamolegga/chvlk)

[See the documentation](https://iamolegga.github.io/chvlk/)
npm package: @iqoqo/oclif-command
Description: oclif base command
Author: Jeff Dickey @jdxcode + iqoqo
Latest version: 1.4.32

@oclif/command
===============

oclif base command

[![Version](https://img.shields.io/npm/v/@oclif/command.svg)](https://npmjs.org/package/@oclif/command)
[![CircleCI](https://circleci.com/gh/oclif/command/tree/master.svg?style=shield)](https://circleci.com/gh/oclif/command/tree/master)
[![Appveyor CI](https://ci.appveyor.com/api/projects/status/github/oclif/command?branch=master&svg=true)](https://ci.appveyor.com/project/heroku/command/branch/master)
[![Codecov](https://codecov.io/gh/oclif/command/branch/master/graph/badge.svg)](https://codecov.io/gh/oclif/command)
[![Greenkeeper](https://badges.greenkeeper.io/oclif/command.svg)](https://greenkeeper.io/)
[![Known Vulnerabilities](https://snyk.io/test/npm/@oclif/command/badge.svg)](https://snyk.io/test/npm/@oclif/command)
[![Downloads/week](https://img.shields.io/npm/dw/@oclif/command.svg)](https://npmjs.org/package/@oclif/command)
[![License](https://img.shields.io/npm/l/@oclif/command.svg)](https://github.com/oclif/command/blob/master/package.json)

This is about half of the main codebase for oclif. The other half lives in [@oclif/config](https://github.com/oclif/config). This can be used directly, but it probably makes more sense to build your CLI with the [generator](https://github.com/oclif/oclif).

Usage
=====

Without the generator, you can create a simple CLI like this:

**TypeScript**
```js
#!/usr/bin/env ts-node

import * as fs from 'fs'
import {Command, flags} from '@oclif/command'

class LS extends Command {
  static flags = {
    version: flags.version(),
    help: flags.help(),
    // run with --dir= or -d=
    dir: flags.string({
      char: 'd',
      default: process.cwd(),
    }),
  }

  async run() {
    const {flags} = this.parse(LS)
    let files = fs.readdirSync(flags.dir)
    for (let f of files) {
      this.log(f)
    }
  }
}

LS.run()
.catch(require('@oclif/errors/handle'))
```

**JavaScript**
```js
#!/usr/bin/env node

const fs = require('fs')
const {Command, flags} = require('@oclif/command')

class LS extends Command {
  async run() {
    const {flags} = this.parse(LS)
    let files = fs.readdirSync(flags.dir)
    for (let f of files) {
      this.log(f)
    }
  }
}

LS.flags = {
  version: flags.version(),
  help: flags.help(),
  // run with --dir= or -d=
  dir: flags.string({
    char: 'd',
    default: process.cwd(),
  }),
}

LS.run()
.catch(require('@oclif/errors/handle'))
```

Then run either of these with:

```sh-session
$ ./myscript
...files in current dir...
$ ./myscript --dir foobar
...files in ./foobar...
$ ./myscript --version
myscript/0.0.0 darwin-x64 node-v9.5.0
$ ./myscript --help
USAGE
  $ @oclif/command

OPTIONS
  -d, --dir=dir  [default: /Users/jdickey/src/github.com/oclif/command]
  --help         show CLI help
  --version      show CLI version
```

See the [generator](https://github.com/oclif/oclif) for all the options you can pass to the command.
npm package: @iqoqo/oclif-parser
Description: arg and flag parser for oclif
Author: Jeff Dickey @jdxcode + iqoqo
Latest version: 3.4.1

@oclif/parser
=============

arg and flag parser for oclif [+ allow for multiple inputs for flags!]

[![Version](https://img.shields.io/npm/v/@oclif/parser.svg)](https://npmjs.org/package/@oclif/parser)
[![CircleCI](https://circleci.com/gh/oclif/parser/tree/master.svg?style=svg)](https://circleci.com/gh/oclif/parser/tree/master)
[![Appveyor CI](https://ci.appveyor.com/api/projects/status/github/oclif/parser?branch=master&svg=true)](https://ci.appveyor.com/project/heroku/parser/branch/master)
[![Codecov](https://codecov.io/gh/oclif/parser/branch/master/graph/badge.svg)](https://codecov.io/gh/oclif/parser)
[![Greenkeeper](https://badges.greenkeeper.io/oclif/parser.svg)](https://greenkeeper.io/)
[![Known Vulnerabilities](https://snyk.io/test/npm/@oclif/parser/badge.svg)](https://snyk.io/test/npm/@oclif/parser)
[![Downloads/week](https://img.shields.io/npm/dw/@oclif/parser.svg)](https://npmjs.org/package/@oclif/parser)
[![License](https://img.shields.io/npm/l/@oclif/parser.svg)](https://github.com/oclif/parser/blob/master/package.json)

CLI flag parser.

Usage:

```js
const CLI = require('cli-flags')

const {flags, args} = CLI.parse({
  flags: {
    'output-file': CLI.flags.string({char: 'o'}),
    force: CLI.flags.boolean({char: 'f'})
  },
  args: [
    {name: 'input', required: true}
  ]
})

if (flags.force) {
  console.log('--force was set')
}

if (flags['output-file']) {
  console.log(`output file is: ${flags['output-file']}`)
}

console.log(`input arg: ${args.input}`)

// $ node example.js -f myinput --output-file=myexample.txt
// --force was set
// output file is: myexample.txt
// input arg: myinput
```
npm package: @iqprotocol/abstract-blockchain
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.16.1

# Abstract Blockchain
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The main purpose of this package is to provide `BlockchainProvider` interface.
The interface implementation will cover all the necessary functions to work with IQ Protocol smart contracts.  
An example of such implementation can be [EIP155BlockchainProvider](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/blockchains/eip155)
provided as a part of IQ Protocol JS SDK.

Use this package when you want to implement a new blockchain provider.

## Installation  
```bash
yarn add @iqprotocol/abstract-blockchain
```

## Usage
```ts
import { BlockchainProvider } from '@iqprotocol/abstract-blockchain';

class CustomBlockchainProvider implements BlockchainProvider {
 // ...
}

```
npm package: @iqprotocol/abstract-storage
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.15.1

# Abstract Storage
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The IQ Protocol off-chain state management is storage agnostic and relies on storage providers to implement required functionality.
This package provides `AccountStore` class which can be extended to implement store specific provider.    

Use this package when you want to implement a new storage provider.

## Installation  
```bash
yarn add @iqprotocol/abstract-storage
```

## Usage
All `AccountStore` implementations use built-in account state validator by default. It is also possible to provide a custom validator.
```ts
import { AccountStore, AccountStateValidator } from '@iqprotocol/abstract-storage';

class CustomStore extends AccountStore {
  // ...
}

class CustomAccountStateValidator implements AccountStateValidator {
  // ...
}

const validator = new CustomAccountStateValidator();
const customStore = new CustomStore({ validator });

```
npm package: @iqprotocol/account
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.19.1

# Account State Management
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

This is high level package which provides tools for IQ Protocol off-chain account state management.
It is storage and blockchain agnostic and relies on injected providers.  
For example, it uses storage provider (e.g. [Postgres Store](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/storages/postgres)) to persist account information and manage off-chain state.
It also allows to automatically initialize account state using blockchain provider (e.g. [EIP155BlockchainProvider](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/blockchains/eip155)).  

Use this package when you need an off-chain onboarding and account state management.

## Installation  
```bash
yarn add @iqprotocol/account
```

## Usage
```ts
import { AccountManager, AccountStateManager } from '@iqprotocol/account';
import { PostgresStore } from '@iqprotocol/postgres-store';
import { EIP155BlockchainProvider } from '@iqprotocol/eip155';

const store = new PostgresStore(...);
const accountManager = new AccountManager({ store });

const blockchain = new EIP155BlockchainProvider(...);
const accountStateManager = new AccountStateManager({ store, blockchain });

```
npm package: @iqprotocol/discovery
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.9.1

# Discovery Utils
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The package helps to discover IQ Protocol smart contracts. It contains the lists of IQ Protocol smart contracts addresses deployed by the IQ Protocol team.  

Use this package when you need information about IQ Protocol deployments such as contract implementation addresses or blockchain details (decimals, RPC endpoints).  

## Installation  
```bash
yarn add @iqprotocol/discovery
```

## Usage

```ts
import { ChainId, IQContractName, getContractAddress } from '@iqprotocol/discovery' 

const chainId = new ChainId('eip155:56'); // Binance Smart Chain Mainnet 
const enterpriseFactoryAddress = getContractAddress(chainId, IQContractName.EnterpriseFactory);

```
npm package: @iqprotocol/eip155
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.23.1

# EVM Compatible Blockchain Provider 
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The package includes [Blockchain Provider Interface](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/abstract-blockchain) implementation which allows interacting with IQ Protocol smart contracts deployed to EVM powered blockchain.  
Whereas there are many [EVM powered blockchains](https://chainlist.org/), IQ protocol smart contracts can be deployed to any EVM-compatible blockchain and this package can be used to interact with them.

The package name comes from [EIP-155](https://eips.ethereum.org/EIPS/eip-155) which was the first adopted proposal which allowed to uniquely identify EVM-compatible blockchains and networks.

Use this package when you want to communicate with IQ Protocol smart contracts deployed to EVM-based blockchains (e.g. Ethereum, Binance Smart Chain).
         
## Installation
This package requires [ethers.js](https://github.com/ethers-io/ethers.js) peer dependency, so it needs to be installed too.
```bash
yarn add @iqprotocol/eip155 ethers
```

## Usage
You need to provide a [Signer](https://docs.ethers.io/v5/api/signer/#Signer) which suits your use-case. For example, `VoidSigner` is enough for reading data.
```ts
import { EIP155BlockchainProvider } from '@iqprotocol/eip155';
import { VoidSigner } from 'ethers';

const clientAddress = '0x...';
const blockchain = new EIP155BlockchainProvider({
  signer: new VoidSigner(clientAddress),
});

const enterpriseAddress = '0x...';
const serviceAddress = '0x...';
const enterpriseInfo = await blockchain.enterprise(enterpriseAddress).getInfo();
const serviceInfo = await blockchain.service(serviceAddress).getInfo();
```
npm package: @iqprotocol/energy
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.10.1

# Energy Utils
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The package provided various utility functions for *energy* calculation.

## Installation  
```bash
yarn add @iqprotocol/energy
```

## Usage
```ts
import { calculateEnergyCap } from '@iqprotocol/energy';

const params = {
  power: 100n,
  initialValue: 50n, // power at t0
  gapHalvingPeriod: 86400,
  t0: 1629906900,
  t1: 1629906900 + 86400
};

const energyCap = calculateEnergyCap(params); // 75n 

```

## Energy & Power

In IQ protocol *Power* is the reinterpreted pTokens balance that is responsible for *Energy* generation. Simply `1 pToken = 1 Unit of Power`.
Whereas the Energy is a spendable asset that is generated over time by the Power. 

**Linear Energy** the actual energy value at the specific time. As the name implies, it changes linearly over time. 

**Energy Cap** is the potential maximum possible energy value at specific time. It corresponds to the IQ protocol *Proof Of Hold*. 

**Effective Energy** is the current available energy. It is the lowest value between the current linear energy value and energy cap.
npm package: @iqprotocol/enterprise
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Latest version: 0.16.1

# Enterprise and Services
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

This package provides higher level abstraction over IQ Protocol smart contracts, allowing application developers to work with IQ enterprises and services regardless of the underlying blockchain.   

Use this package to communicate with IQ Enterprises and Services deployed on-chain.

## Installation  
```bash
yarn add @iqprotocol/enterprise
```

## Usage
```ts
import { EnterpriseFactory } from '@iqprotocol/enterprise';
import { EIP155BlockchainProvider } from '@iqprotocol/eip155';

const blockchain = new EIP155BlockchainProvider(...);
const chainId = await blockchain.getChainId();
const accountId = new AccountId({ address: '0x...', chainId });
const enterpriseFactory = new EnterpriseFactory(blockchain); 
const enterprise = await enterpriseFactory.create(accountId);

const enterpriseInfo = await enterprise.getInfo();
const services = await enterprise.getServices();
const serviceInfo = await services[0].getInfo();

```
npm package: @iqprotocol/in-memory-storage
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.15.1

# In-Memory Storage
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The package includes very basic [Account Store Interface](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/abstract-storage) implementation for handling account states in memory.
Use this package when you want to test account state management functionality without setting up a persistent storage.

:warning: **This provider is meant for testing and does not guarantee data persistence. Do not use for production deployments!**


## Installation  
```bash
yarn add @iqprotocol/in-memory-storage
```

## Usage
```ts
import { InMemoryAccountStore, Account, AccountState } from '@iqprotocol/in-memory-storage';

const store = new InMemoryAccountStore(); 

const account: Account = {
  id: 'test-id',
  data: { ... },
};

await store.saveAccount(account);

const accountState: AccountState = {
  accountId: account.id,
  serviceId: 'test-service',
  energyGapHalvingPeriod: 86400,
  power: 10n,
  lockedPower: 2n,
  energyCap: 5n,
  energy: 5n,
  energyCalculatedAt: Math.floor(Date.now() / 1000),
};

await store.initAccountState(accountState); 
```
npm package: @iqprotocol/postgres-storage
Description: This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)
Author: IQ Labs
Latest version: 0.16.1

# PostgreSQL storage
This package is part of [IQ Protocol JS SDK.](https://github.com/iqlabsorg/iq-sdk-js)

| :exclamation: The package is in development and breaking changes should be expected. Use at your own risk! |
|:------------------------------------------------------------------------------------------------------------------|

The package includes [Account Store Interface](https://github.com/iqlabsorg/iq-sdk-js/tree/main/packages/abstract-storage) implementation for PostgreSQL.

## Installation  
```bash
yarn add @iqprotocol/postgres-storage
```


## Usage

```ts
import { PostgresAccountStore, createPool, Account, AccountState } from '@iqprotocol/postgres-storage';

const connectionUri = 'postgresql://user:secret@localhost/mydb';
const pool = createPool(connectionUri);
const store = new PostgresAccountStore({ pool });

const account: Account = {
  id: 'test-id',
  data: { ... },
};

await store.saveAccount(account);

const accountState: AccountState = {
  accountId: account.id,
  serviceId: 'test-service',
  energyGapHalvingPeriod: 86400,
  power: 10n,
  lockedPower: 2n,
  energyCap: 5n,
  energy: 5n,
  energyCalculatedAt: Math.floor(Date.now() / 1000),
};

await store.initAccountState(accountState); 

```
npm package: @iqqq/ddjs
Description: This repo contains a bare-bones example of how to create an library using Rollup, Eslint, Typescript, Babel;
Latest version: 0.0.1

# rollup-react-typescript-eslint-starter

This repo contains a bare-bones example of how to create an library using Rollup, Eslint, Typescript, Babel;

## Getting started

Clone this repository and install its dependencies:

```bash
git clone https://github.com/taixw2/rollup-typescript-eslint-starter MyLibrary
cd MyLibrary
npm ci

npm run dev
# or
npm run build
```