Skip to content

Commit

Permalink
feat: integrate staking-pool
Browse files Browse the repository at this point in the history
  • Loading branch information
hejkerooo committed Nov 16, 2021
1 parent cfc962e commit 0173b27
Show file tree
Hide file tree
Showing 16 changed files with 567 additions and 36 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -11,3 +11,4 @@ compiled
.rpt2_cache
ethers
site
ethers-staking
@@ -0,0 +1,71 @@
# Class: StakingFactoryService

[modules/staking/staking-pool.service](../modules/modules_staking_staking_pool_service.md).StakingFactoryService

Intended for staking pool

## Table of contents

### Constructors

- [constructor](modules_staking_staking_pool_service.StakingFactoryService.md#constructor)

### Methods

- [allServices](modules_staking_staking_pool_service.StakingFactoryService.md#allservices)
- [getPool](modules_staking_staking_pool_service.StakingFactoryService.md#getpool)
- [create](modules_staking_staking_pool_service.StakingFactoryService.md#create)

## Constructors

### constructor

**new StakingFactoryService**(`_signerService`, `_domainsService`)

#### Parameters

| Name | Type |
| :------ | :------ |
| `_signerService` | [`SignerService`](modules_signer_signer_service.SignerService.md) |
| `_domainsService` | [`DomainsService`](modules_domains_domains_service.DomainsService.md) |

## Methods

### allServices

**allServices**(): `Promise`<[`Service`](../modules/modules_staking_staking_service.md#service)[]\>

**`description`** Returns all services for which pools are launched

#### Returns

`Promise`<[`Service`](../modules/modules_staking_staking_service.md#service)[]\>

___

### getPool

**getPool**(): `Promise`<[`StakingPoolService`](modules_staking_staking_pool_service.StakingPoolService.md)\>

**`description`** Returns pool launched for energyweb org

#### Returns

`Promise`<[`StakingPoolService`](modules_staking_staking_pool_service.StakingPoolService.md)\>

___

### create

`Static` **create**(`signerService`, `domainsService`): `Promise`<[`StakingFactoryService`](modules_staking_staking_pool_service.StakingFactoryService.md)\>

#### Parameters

| Name | Type |
| :------ | :------ |
| `signerService` | [`SignerService`](modules_signer_signer_service.SignerService.md) |
| `domainsService` | [`DomainsService`](modules_domains_domains_service.DomainsService.md) |

#### Returns

`Promise`<[`StakingFactoryService`](modules_staking_staking_pool_service.StakingFactoryService.md)\>
@@ -0,0 +1,87 @@
# Class: StakingPoolService

[modules/staking/staking-pool.service](../modules/modules_staking_staking_pool_service.md).StakingPoolService

Abstraction over staking pool smart contract

## Table of contents

### Constructors

- [constructor](modules_staking_staking_pool_service.StakingPoolService.md#constructor)

### Methods

- [checkReward](modules_staking_staking_pool_service.StakingPoolService.md#checkreward)
- [getStake](modules_staking_staking_pool_service.StakingPoolService.md#getstake)
- [putStake](modules_staking_staking_pool_service.StakingPoolService.md#putstake)
- [withdraw](modules_staking_staking_pool_service.StakingPoolService.md#withdraw)

## Constructors

### constructor

**new StakingPoolService**(`signerService`, `address`)

#### Parameters

| Name | Type |
| :------ | :------ |
| `signerService` | [`SignerService`](modules_signer_signer_service.SignerService.md) |
| `address` | `string` |

## Methods

### checkReward

**checkReward**(): `Promise`<`BigNumber`\>

Accumulated reward

#### Returns

`Promise`<`BigNumber`\>

___

### getStake

**getStake**(): `Promise`<[`Stake`](../modules/modules_staking_staking_service.md#stake)\>

#### Returns

`Promise`<[`Stake`](../modules/modules_staking_staking_service.md#stake)\>

Stake

___

### putStake

**putStake**(`stake`): `Promise`<`void`\>

**`description`** Locks stake and starts accumulating reward

**`emits`** StakingPool.StakePut

#### Parameters

| Name | Type |
| :------ | :------ |
| `stake` | `number` \| `BigNumber` |

#### Returns

`Promise`<`void`\>

___

### withdraw

**withdraw**(): `Promise`<`void`\>

**`description`** pays back stake with accumulated reward.

#### Returns

`Promise`<`void`\>
1 change: 1 addition & 0 deletions docs/api/modules.md
Expand Up @@ -45,6 +45,7 @@
- [modules/signer/walletConnectKms](modules/modules_signer_walletConnectKms.md)
- [modules/signer/walletConnectMetamask](modules/modules_signer_walletConnectMetamask.md)
- [modules/staking](modules/modules_staking.md)
- [modules/staking/staking-pool.service](modules/modules_staking_staking_pool_service.md)
- [modules/staking/staking.service](modules/modules_staking_staking_service.md)
- [utils](modules/utils.md)
- [utils/ENS\_hash](modules/utils_ENS_hash.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/api/modules/index.md
Expand Up @@ -59,7 +59,9 @@
- [SignerService](index.md#signerservice)
- [Stake](index.md#stake)
- [StakeStatus](index.md#stakestatus)
- [StakingFactoryService](index.md#stakingfactoryservice)
- [StakingPool](index.md#stakingpool)
- [StakingPoolService](index.md#stakingpoolservice)
- [StakingService](index.md#stakingservice)
- [VOLTA\_CHAIN\_ID](index.md#volta_chain_id)
- [addSupportedDID](index.md#addsupporteddid)
Expand Down Expand Up @@ -429,12 +431,24 @@ Re-exports: [StakeStatus](../enums/modules_staking_staking_service.StakeStatus.m

___

### StakingFactoryService

Re-exports: [StakingFactoryService](../classes/modules_staking_staking_pool_service.StakingFactoryService.md)

___

### StakingPool

Re-exports: [StakingPool](../classes/modules_staking_staking_service.StakingPool.md)

___

### StakingPoolService

Re-exports: [StakingPoolService](../classes/modules_staking_staking_pool_service.StakingPoolService.md)

___

### StakingService

Re-exports: [StakingService](../classes/modules_staking_staking_service.StakingService.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/api/modules/modules_staking.md
Expand Up @@ -7,7 +7,9 @@
- [Service](modules_staking.md#service)
- [Stake](modules_staking.md#stake)
- [StakeStatus](modules_staking.md#stakestatus)
- [StakingFactoryService](modules_staking.md#stakingfactoryservice)
- [StakingPool](modules_staking.md#stakingpool)
- [StakingPoolService](modules_staking.md#stakingpoolservice)
- [StakingService](modules_staking.md#stakingservice)

## References
Expand All @@ -30,12 +32,24 @@ Re-exports: [StakeStatus](../enums/modules_staking_staking_service.StakeStatus.m

___

### StakingFactoryService

Re-exports: [StakingFactoryService](../classes/modules_staking_staking_pool_service.StakingFactoryService.md)

___

### StakingPool

Re-exports: [StakingPool](../classes/modules_staking_staking_service.StakingPool.md)

___

### StakingPoolService

Re-exports: [StakingPoolService](../classes/modules_staking_staking_pool_service.StakingPoolService.md)

___

### StakingService

Re-exports: [StakingService](../classes/modules_staking_staking_service.StakingService.md)
8 changes: 8 additions & 0 deletions docs/api/modules/modules_staking_staking_pool_service.md
@@ -0,0 +1,8 @@
# Module: modules/staking/staking-pool.service

## Table of contents

### Classes

- [StakingFactoryService](../classes/modules_staking_staking_pool_service.StakingFactoryService.md)
- [StakingPoolService](../classes/modules_staking_staking_pool_service.StakingPoolService.md)
22 changes: 11 additions & 11 deletions e2e/claims.service.e2e.ts
@@ -1,25 +1,25 @@
import { PreconditionType, IRoleDefinition } from "@energyweb/iam-contracts";
import { IRoleDefinition, PreconditionType } from "@energyweb/iam-contracts";
import { Methods } from "@ew-did-registry/did";
import { addressOf } from "@ew-did-registry/did-ethr-resolver";
import { KeyTags } from "@ew-did-registry/did-resolver-interface";
import { Wallet, utils, providers, ethers } from "ethers";
import { ethers, providers, utils, Wallet } from "ethers";
import { JSONCodec } from "nats.ws";
import {
RegistrationTypes,
DomainsService,
ClaimsService,
AssetsService,
ProviderType,
SignerService,
chainConfigs,
ClaimsService,
DidRegistry,
DomainsService,
ERROR_MESSAGES,
initWithPrivateKeySigner,
MessagingService,
chainConfigs,
StakingService,
NATS_EXCHANGE_TOPIC,
DidRegistry,
ProviderType,
RegistrationTypes,
SignerService,
StakingService,
} from "../src";
import { root, replenish, setupENS, rpcUrl } from "./utils/setup_contracts";
import { replenish, root, rpcUrl, setupENS } from "./utils/setup_contracts";
import { ClaimManager__factory } from "../ethers/factories/ClaimManager__factory";
import { ClaimManager } from "../ethers/ClaimManager";

Expand Down
8 changes: 4 additions & 4 deletions e2e/domains.service.e2e.ts
@@ -1,16 +1,16 @@
import { Wallet, utils } from "ethers";
import { utils, Wallet } from "ethers";
import { IRoleDefinition, PreconditionType } from "@energyweb/iam-contracts";
import { Methods } from "@ew-did-registry/did";
import {
DomainsService,
NamespaceType,
RegistrationTypes,
initWithPrivateKeySigner,
MessagingService,
NamespaceType,
RegistrationTypes,
SignerService,
StakingService,
} from "../src";
import { replenish, rpcUrl, setupENS, root } from "./utils/setup_contracts";
import { replenish, root, rpcUrl, setupENS } from "./utils/setup_contracts";

const { namehash } = utils;

Expand Down

0 comments on commit 0173b27

Please sign in to comment.