1
0
mirror of https://github.com/oceanprotocol-archive/squid-js.git synced 2024-02-02 15:31:51 +01:00
squid-js/src/ocean/OceanAccounts.ts
2019-01-25 21:23:37 +01:00

40 lines
942 B
TypeScript

import Web3Provider from "../keeper/Web3Provider"
import Account from "./Account"
/**
* Account submodule of Ocean Protocol.
*/
export default class OceanAccounts {
/**
* Returns the instance of OceanAccounts.
* @return {Promise<OceanAccounts>}
*/
public static async getInstance(): Promise<OceanAccounts> {
if (!OceanAccounts.instance) {
OceanAccounts.instance = new OceanAccounts()
}
return OceanAccounts.instance
}
/**
* OceanAccounts instance.
* @type {OceanAccounts}
*/
private static instance: OceanAccounts = null
/**
* Returns the list of accounts.
* @return {Promise<Account[]>}
*/
public async list(): Promise<Account[]> {
// retrieve eth accounts
const ethAccounts = await Web3Provider.getWeb3().eth.getAccounts()
return ethAccounts.map((address: string) => new Account(address))
}
}