1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

move defaults into datatokens.create()

This commit is contained in:
Matthias Kretschmann 2020-09-03 11:28:50 +02:00
parent 0290f57bf4
commit f834be3520
Signed by: m
GPG Key ID: 606EEEF3C479A91F
2 changed files with 23 additions and 15 deletions

View File

@ -36,7 +36,7 @@ export class DataTokens {
/**
* Generate new datatoken name & symbol from a word list
* @return {<{ name: String; symbol: String }>} datatoken name & symbol. Produces e.g. "Endemic Jellyfish Token" & "ENDJEL-145"
* @return {<{ name: String; symbol: String }>} datatoken name & symbol. Produces e.g. "Endemic Jellyfish Token" & "ENDJEL-45"
*/
public generateDtName(wordList?: {
nouns: string[]
@ -63,19 +63,26 @@ export class DataTokens {
/**
* Create new datatoken
* @param {String} metaDataStoreURI
* @param {String} address
* @param {String} cap Maximum cap (Number) - will be converted to wei
* @param {String} name Token name
* @param {String} symbol Token symbol
* @param {String} cap Maximum cap (Number) - will be converted to wei
* @param {String} address
* @return {Promise<string>} datatoken address
*/
public async create(
metaDataStoreURI: string,
name: string,
symbol: string,
cap: string,
address: string
address: string,
cap?: string,
name?: string,
symbol?: string
): Promise<string> {
if (!cap) cap = '1410000000000000000000000000'
// Generate name & symbol if not present
if (!name || !symbol) {
;({ name, symbol } = this.generateDtName())
}
// Create factory contract object
const factory = new this.web3.eth.Contract(this.factoryABI, this.factoryAddress, {
from: address

View File

@ -50,6 +50,10 @@ export class Assets extends Instantiable {
* @param {Metadata} metadata DDO metadata.
* @param {Account} publisher Publisher account.
* @param {list} services list of Service description documents
* @param {String} dtAddress existing Data Token Address
* @param {String} cap Maximum cap (Number) - will be converted to wei
* @param {String} name Token name
* @param {String} symbol Token symbol
* @return {Promise<DDO>}
*/
public create(
@ -57,9 +61,9 @@ export class Assets extends Instantiable {
publisher: Account,
services: Service[] = [],
dtAddress?: string,
cap?: string,
name?: string,
symbol?: string,
cap?: string
symbol?: string
): SubscribablePromise<CreateProgressStep, DDO> {
this.logger.log('Creating asset')
return new SubscribablePromise(async (observer) => {
@ -68,19 +72,16 @@ export class Assets extends Instantiable {
}
if (!dtAddress) {
this.logger.log('Creating datatoken')
if (!name) name = 'DataToken'
if (!symbol) symbol = 'DT'
if (!cap) cap = '1410000000000000000000000000'
observer.next(CreateProgressStep.CreatingDataToken)
const metadataStoreURI = this.ocean.metadatastore.getURI()
const jsonBlob = { t: 1, url: metadataStoreURI }
const { datatokens } = this.ocean
dtAddress = await datatokens.create(
JSON.stringify(jsonBlob),
name,
symbol,
publisher.getId(),
cap,
publisher.getId()
name,
symbol
)
this.logger.log('DataToken creted')
observer.next(CreateProgressStep.DataTokenCreated)