mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
* add ethers * global updates * ve updates * ve tests * contract updates * first test passing * downgrade to ethers 5.7.2 * add log * add tx wait * full NftFactory.test * add wait * add Router tests * fix dispenser * Nft test * add dispenser tests * add fre tests part 1 * WIP datatoken unit tests * add DFRewards test * increase gas estimate * increase gas estimate * Work datatoken unit tests * datatoken test more tests * finished datatoken tests * fix nft get data * fix nft transfer tests * Provider int tests * Updating CodeExamples.md * update provider & fix publish flow int test * wip publish edit consume integration test * more work on publish edit consume integration test * fix edit publish edit consume integration test * add 3 int tests * Updating ComputeExamples.md * fix signature and download * fix compute flow integration test * udapte handleComputeOrder helper * update datatoken instance * update datatoken global variable * mint ocean tokens to consumer as well and added logs * update compute exammples * Updating ComputeExamples.md * wip code examples readme * update code examples readme * Updating CodeExamples.md * run all tests * update dep in readme * update readme * code examples update metadata flags * update dt instance in code examples md * set metadata updates * Updating CodeExamples.md * update code examples readme structure * Updating CodeExamples.md * update readmes table links * Updating CodeExamples.md * Updating ComputeExamples.md * clean-up * Updating CodeExamples.md * added missing unit tests for usdc fixed rate exchange tests * more cleanup and jsdoc updates * more jsdoc updates * donw with jsdoc updates * handle provider errors * add missing error handling file * adds most of the provider errors * update get compute env return type * Release 3.0.0-next.0 * adding Typedoc to ethers branch * update provider signature message * fix lint * Release 3.0.0-next.1 * fix lint * adding Typedoc to ethers branch * Updating CI to build and commit the documentation * Updating documentation * Updating script permissions * fix todos add missing logic to send tx * npm package cleanups * Release 3.0.0-next.2 * update log messages for errors * Release 3.0.0-next.3 * fix gasFee issue on sendTx * Release 3.0.0-next.4 * add consume params typings (#1731) * fix gas fee estimate * remove comments * add some delays before resolving datasets * adds delay to Publish flow tests * Release 3.0.0-next.5 --------- Co-authored-by: Bogdan Fazakas <bogdan.fazakas@gmail.com> Co-authored-by: GitHub Actions Bot <> Co-authored-by: Jamie Hewitt <jamie.hewitt15@gmail.com> Co-authored-by: Jamie Hewitt <jamie@oceanprotocol.com>
514 lines
12 KiB
Markdown
514 lines
12 KiB
Markdown
[@oceanprotocol/lib](../README.md) / [Exports](../modules.md) / VeOcean
|
|
|
|
# Class: VeOcean
|
|
|
|
Provides an interface for veOcean contract
|
|
|
|
## Hierarchy
|
|
|
|
- [`SmartContractWithAddress`](SmartContractWithAddress.md)
|
|
|
|
↳ **`VeOcean`**
|
|
|
|
## Table of contents
|
|
|
|
### Constructors
|
|
|
|
- [constructor](VeOcean.md#constructor)
|
|
|
|
### Properties
|
|
|
|
- [abi](VeOcean.md#abi)
|
|
- [address](VeOcean.md#address)
|
|
- [config](VeOcean.md#config)
|
|
- [contract](VeOcean.md#contract)
|
|
- [signer](VeOcean.md#signer)
|
|
|
|
### Methods
|
|
|
|
- [amountToUnits](VeOcean.md#amounttounits)
|
|
- [depositFor](VeOcean.md#depositfor)
|
|
- [getContract](VeOcean.md#getcontract)
|
|
- [getDefaultAbi](VeOcean.md#getdefaultabi)
|
|
- [getFairGasPrice](VeOcean.md#getfairgasprice)
|
|
- [getLockedAmount](VeOcean.md#getlockedamount)
|
|
- [getToken](VeOcean.md#gettoken)
|
|
- [getVotingPower](VeOcean.md#getvotingpower)
|
|
- [increaseAmount](VeOcean.md#increaseamount)
|
|
- [increaseUnlockTime](VeOcean.md#increaseunlocktime)
|
|
- [lockEnd](VeOcean.md#lockend)
|
|
- [lockTokens](VeOcean.md#locktokens)
|
|
- [totalSupply](VeOcean.md#totalsupply)
|
|
- [unitsToAmount](VeOcean.md#unitstoamount)
|
|
- [withdraw](VeOcean.md#withdraw)
|
|
|
|
## Constructors
|
|
|
|
### constructor
|
|
|
|
• **new VeOcean**(`address`, `signer`, `network?`, `config?`, `abi?`)
|
|
|
|
Instantiate the smart contract.
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `address` | `string` | The address of the contract. |
|
|
| `signer` | `Signer` | The signer object. |
|
|
| `network?` | `string` \| `number` | Network id or name |
|
|
| `config?` | [`Config`](Config.md) | The configuration object. |
|
|
| `abi?` | [`AbiItem`](../interfaces/AbiItem.md)[] | ABI array of the smart contract |
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[constructor](SmartContractWithAddress.md#constructor)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContractWithAddress.ts:17](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L17)
|
|
|
|
## Properties
|
|
|
|
### abi
|
|
|
|
• **abi**: [`AbiItem`](../interfaces/AbiItem.md)[]
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[abi](SmartContractWithAddress.md#abi)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:14](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L14)
|
|
|
|
___
|
|
|
|
### address
|
|
|
|
• **address**: `string`
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[address](SmartContractWithAddress.md#address)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContractWithAddress.ts:6](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L6)
|
|
|
|
___
|
|
|
|
### config
|
|
|
|
• **config**: [`Config`](Config.md)
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[config](SmartContractWithAddress.md#config)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:13](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L13)
|
|
|
|
___
|
|
|
|
### contract
|
|
|
|
• **contract**: `Contract`
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[contract](SmartContractWithAddress.md#contract)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContractWithAddress.ts:7](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L7)
|
|
|
|
___
|
|
|
|
### signer
|
|
|
|
• **signer**: `Signer`
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[signer](SmartContractWithAddress.md#signer)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:12](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L12)
|
|
|
|
## Methods
|
|
|
|
### amountToUnits
|
|
|
|
▸ `Protected` **amountToUnits**(`token`, `amount`, `tokenDecimals?`): `Promise`<`string`\>
|
|
|
|
Converts an amount of tokens to units
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `token` | `string` | The token to convert |
|
|
| `amount` | `string` | The amount of tokens to convert |
|
|
| `tokenDecimals?` | `number` | The number of decimals of the token |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
- The converted amount in units
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[amountToUnits](SmartContractWithAddress.md#amounttounits)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:43](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L43)
|
|
|
|
___
|
|
|
|
### depositFor
|
|
|
|
▸ **depositFor**<`G`\>(`toAddress`, `amount`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
Deposit `amount` tokens for `toAddress` and add to the existing lock
|
|
Anyone (even a smart contract) can deposit for someone else, but cannot extend their locktime and deposit for a brand new user
|
|
|
|
#### Type parameters
|
|
|
|
| Name | Type |
|
|
| :------ | :------ |
|
|
| `G` | extends `boolean` = ``false`` |
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `toAddress` | `string` | user address to deposit for |
|
|
| `amount` | `string` | Amount of tokens to be locked |
|
|
| `estimateGas?` | `G` | if True, return gas estimate |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:52](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L52)
|
|
|
|
___
|
|
|
|
### getContract
|
|
|
|
▸ `Protected` **getContract**(`address`, `abi?`): `Contract`
|
|
|
|
Returns a contract instance for the given address
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `address` | `string` | The address of the contract |
|
|
| `abi?` | [`AbiItem`](../interfaces/AbiItem.md)[] | The ABI of the contract |
|
|
|
|
#### Returns
|
|
|
|
`Contract`
|
|
|
|
- The contract instance
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[getContract](SmartContractWithAddress.md#getcontract)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:80](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L80)
|
|
|
|
___
|
|
|
|
### getDefaultAbi
|
|
|
|
▸ **getDefaultAbi**(): [`AbiItem`](../interfaces/AbiItem.md)[]
|
|
|
|
#### Returns
|
|
|
|
[`AbiItem`](../interfaces/AbiItem.md)[]
|
|
|
|
#### Overrides
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[getDefaultAbi](SmartContractWithAddress.md#getdefaultabi)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:9](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L9)
|
|
|
|
___
|
|
|
|
### getFairGasPrice
|
|
|
|
▸ `Protected` **getFairGasPrice**(): `Promise`<`string`\>
|
|
|
|
Retruns the gas price
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
- The fair gas price
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[getFairGasPrice](SmartContractWithAddress.md#getfairgasprice)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:70](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L70)
|
|
|
|
___
|
|
|
|
### getLockedAmount
|
|
|
|
▸ **getLockedAmount**(`userAddress`): `Promise`<`string`\>
|
|
|
|
Get locked balance
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `userAddress` | `string` | user address |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:156](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L156)
|
|
|
|
___
|
|
|
|
### getToken
|
|
|
|
▸ **getToken**(): `Promise`<`string`\>
|
|
|
|
Get token
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:189](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L189)
|
|
|
|
___
|
|
|
|
### getVotingPower
|
|
|
|
▸ **getVotingPower**(`userAddress`): `Promise`<`number`\>
|
|
|
|
Get voting power for address
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `userAddress` | `string` | user address |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`number`\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:147](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L147)
|
|
|
|
___
|
|
|
|
### increaseAmount
|
|
|
|
▸ **increaseAmount**<`G`\>(`amount`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
Deposit `amount` additional tokens for `userAddress` without modifying the unlock time
|
|
|
|
#### Type parameters
|
|
|
|
| Name | Type |
|
|
| :------ | :------ |
|
|
| `G` | extends `boolean` = ``false`` |
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `amount` | `string` | Amount of tokens to be locked |
|
|
| `estimateGas?` | `G` | if True, return gas estimate |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:79](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L79)
|
|
|
|
___
|
|
|
|
### increaseUnlockTime
|
|
|
|
▸ **increaseUnlockTime**<`G`\>(`unlockTime`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
Extend the unlock time for `userAddress` to `unlockTime`
|
|
|
|
#### Type parameters
|
|
|
|
| Name | Type |
|
|
| :------ | :------ |
|
|
| `G` | extends `boolean` = ``false`` |
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `unlockTime` | `number` | Timestamp for new unlock time |
|
|
| `estimateGas?` | `G` | if True, return gas estimate |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:104](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L104)
|
|
|
|
___
|
|
|
|
### lockEnd
|
|
|
|
▸ **lockEnd**(`userAddress`): `Promise`<`number`\>
|
|
|
|
Get untilLock for address
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `userAddress` | `string` | user address |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`number`\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:170](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L170)
|
|
|
|
___
|
|
|
|
### lockTokens
|
|
|
|
▸ **lockTokens**<`G`\>(`amount`, `unlockTime`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
Deposit `amount` tokens for `userAddress` and lock until `unlockTime`
|
|
|
|
#### Type parameters
|
|
|
|
| Name | Type |
|
|
| :------ | :------ |
|
|
| `G` | extends `boolean` = ``false`` |
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `amount` | `string` | Amount of tokens to be locked |
|
|
| `unlockTime` | `number` | Timestamp for unlock |
|
|
| `estimateGas?` | `G` | if True, return gas estimate |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:20](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L20)
|
|
|
|
___
|
|
|
|
### totalSupply
|
|
|
|
▸ **totalSupply**(): `Promise`<`string`\>
|
|
|
|
Get total supply
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:178](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L178)
|
|
|
|
___
|
|
|
|
### unitsToAmount
|
|
|
|
▸ `Protected` **unitsToAmount**(`token`, `amount`, `tokenDecimals?`): `Promise`<`string`\>
|
|
|
|
Converts an amount of units to tokens
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `token` | `string` | The token to convert |
|
|
| `amount` | `string` | The amount of units to convert |
|
|
| `tokenDecimals?` | `number` | The number of decimals in the token |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<`string`\>
|
|
|
|
- The converted amount in tokens
|
|
|
|
#### Inherited from
|
|
|
|
[SmartContractWithAddress](SmartContractWithAddress.md).[unitsToAmount](SmartContractWithAddress.md#unitstoamount)
|
|
|
|
#### Defined in
|
|
|
|
[contracts/SmartContract.ts:58](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L58)
|
|
|
|
___
|
|
|
|
### withdraw
|
|
|
|
▸ **withdraw**<`G`\>(`estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
Withdraw all tokens for `userAddress`
|
|
|
|
#### Type parameters
|
|
|
|
| Name | Type |
|
|
| :------ | :------ |
|
|
| `G` | extends `boolean` = ``false`` |
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `estimateGas?` | `G` | if True, return gas estimate |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>
|
|
|
|
#### Defined in
|
|
|
|
[contracts/ve/VeOcean.ts:127](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/ve/VeOcean.ts#L127)
|