@oceanprotocol/lib 0.20.2 → 1.0.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +1 -1
  3. package/dist/lib.js +2 -0
  4. package/dist/lib.js.map +1 -0
  5. package/dist/lib.modern.js +2 -0
  6. package/dist/lib.modern.js.map +1 -0
  7. package/dist/lib.module.js +2 -0
  8. package/dist/lib.module.js.map +1 -0
  9. package/dist/lib.umd.js +2 -0
  10. package/dist/lib.umd.js.map +1 -0
  11. package/dist/src/@types/Asset.d.ts +119 -0
  12. package/dist/{node/ocean/interfaces → src/@types}/Compute.d.ts +13 -12
  13. package/dist/src/@types/DDO/Credentials.d.ts +8 -0
  14. package/dist/src/@types/DDO/DDO.d.ts +58 -0
  15. package/dist/src/@types/DDO/Event.d.ts +27 -0
  16. package/dist/src/@types/DDO/Metadata.d.ts +126 -0
  17. package/dist/src/@types/DDO/Service.d.ts +124 -0
  18. package/dist/src/@types/Dispenser.d.ts +7 -0
  19. package/dist/src/@types/DownloadResponse.d.ts +4 -0
  20. package/dist/src/@types/Erc20.d.ts +11 -0
  21. package/dist/src/@types/Erc721.d.ts +12 -0
  22. package/dist/src/@types/FileMetadata.d.ts +38 -0
  23. package/dist/src/@types/FixedPrice.d.ts +19 -0
  24. package/dist/src/@types/Pool.d.ts +36 -0
  25. package/dist/src/@types/Provider.d.ts +16 -0
  26. package/dist/src/@types/Router.d.ts +59 -0
  27. package/dist/src/@types/index.d.ts +14 -0
  28. package/dist/src/aquarius/Aquarius.d.ts +36 -0
  29. package/dist/src/aquarius/index.d.ts +1 -0
  30. package/dist/src/factories/NFTFactory.d.ts +273 -0
  31. package/dist/src/factories/index.d.ts +1 -0
  32. package/dist/src/index.d.ts +7 -0
  33. package/dist/src/models/Config.d.ts +166 -0
  34. package/dist/src/models/index.d.ts +1 -0
  35. package/dist/src/pools/Router.d.ts +229 -0
  36. package/dist/src/pools/balancer/Pool.d.ts +408 -0
  37. package/dist/src/pools/balancer/index.d.ts +1 -0
  38. package/dist/src/pools/dispenser/Dispenser.d.ts +146 -0
  39. package/dist/src/pools/dispenser/index.d.ts +1 -0
  40. package/dist/src/pools/fixedRate/FixedRateExchange.d.ts +375 -0
  41. package/dist/src/pools/fixedRate/index.d.ts +1 -0
  42. package/dist/src/pools/index.d.ts +3 -0
  43. package/dist/src/pools/ssContracts/SideStaking.d.ts +132 -0
  44. package/dist/src/pools/ssContracts/index.d.ts +1 -0
  45. package/dist/src/provider/Provider.d.ts +142 -0
  46. package/dist/src/provider/index.d.ts +1 -0
  47. package/dist/src/tokens/Datatoken.d.ts +362 -0
  48. package/dist/src/tokens/NFT.d.ts +355 -0
  49. package/dist/src/tokens/index.d.ts +2 -0
  50. package/dist/src/utils/ConfigHelper.d.ts +6 -0
  51. package/dist/src/utils/Constants.d.ts +2 -0
  52. package/dist/src/utils/ContractUtils.d.ts +11 -0
  53. package/dist/src/utils/ConversionTypeHelper.d.ts +3 -0
  54. package/dist/src/utils/DatatokenName.d.ts +11 -0
  55. package/dist/src/utils/DdoHelpers.d.ts +2 -0
  56. package/dist/src/utils/FetchHelper.d.ts +6 -0
  57. package/dist/{node → src}/utils/Logger.d.ts +0 -0
  58. package/dist/src/utils/SignatureUtils.d.ts +8 -0
  59. package/dist/src/utils/TokenUtils.d.ts +39 -0
  60. package/dist/src/utils/index.d.ts +9 -0
  61. package/dist/src/utils/minAbi.d.ts +2 -0
  62. package/dist/test/TestContractHandler.d.ts +44 -0
  63. package/dist/test/integration/ComputeFlow.test.d.ts +1 -0
  64. package/dist/test/integration/Provider.test.d.ts +1 -0
  65. package/dist/test/integration/PublishFlows.test.d.ts +1 -0
  66. package/dist/test/integration/SimplePublishConsumeFlow.test.d.ts +1 -0
  67. package/dist/test/integration/config.d.ts +3 -0
  68. package/dist/test/unit/NftFactory.test.d.ts +1 -0
  69. package/dist/test/unit/config.d.ts +3 -0
  70. package/dist/test/unit/pools/Router.test.d.ts +1 -0
  71. package/dist/test/unit/pools/balancer/Pool.test.d.ts +1 -0
  72. package/dist/test/unit/pools/dispenser/Dispenser.test.d.ts +1 -0
  73. package/dist/test/unit/pools/fixedRate/FixedRateExchange.test.d.ts +1 -0
  74. package/dist/test/unit/pools/ssContracts/SideStaking.test.d.ts +1 -0
  75. package/dist/test/unit/tokens/Datatoken.test.d.ts +1 -0
  76. package/dist/test/unit/tokens/Nft.test.d.ts +1 -0
  77. package/docs/beginners_guide.md +4 -4
  78. package/docs/overview.md +100 -9
  79. package/docs/quickstart_marketplace.md +34 -33
  80. package/docs/quickstart_simple.md +18 -16
  81. package/package.json +41 -33
  82. package/dist/node/Instantiable.abstract.d.ts +0 -25
  83. package/dist/node/balancer/OceanPool.d.ts +0 -95
  84. package/dist/node/balancer/Pool.d.ts +0 -56
  85. package/dist/node/balancer/PoolFactory.d.ts +0 -15
  86. package/dist/node/datatokens/ContractEvent.d.ts +0 -19
  87. package/dist/node/datatokens/ContractHandler.d.ts +0 -12
  88. package/dist/node/datatokens/Datatokens.d.ts +0 -44
  89. package/dist/node/datatokens/EventHandler.d.ts +0 -19
  90. package/dist/node/datatokens/Network.d.ts +0 -5
  91. package/dist/node/datatokens/Web3Provider.d.ts +0 -5
  92. package/dist/node/datatokens/contracts/ContractBase.d.ts +0 -27
  93. package/dist/node/ddo/DDO.d.ts +0 -36
  94. package/dist/node/ddo/interfaces/AdditionalInformation.d.ts +0 -16
  95. package/dist/node/ddo/interfaces/Authentication.d.ts +0 -4
  96. package/dist/node/ddo/interfaces/BestPrice.d.ts +0 -10
  97. package/dist/node/ddo/interfaces/Consumable.d.ts +0 -5
  98. package/dist/node/ddo/interfaces/Credentials.d.ts +0 -9
  99. package/dist/node/ddo/interfaces/Curation.d.ts +0 -6
  100. package/dist/node/ddo/interfaces/DataTokenInfo.d.ts +0 -10
  101. package/dist/node/ddo/interfaces/EditableMetadata.d.ts +0 -9
  102. package/dist/node/ddo/interfaces/EditableMetadataLinks.d.ts +0 -5
  103. package/dist/node/ddo/interfaces/Event.d.ts +0 -7
  104. package/dist/node/ddo/interfaces/File.d.ts +0 -13
  105. package/dist/node/ddo/interfaces/Metadata.d.ts +0 -15
  106. package/dist/node/ddo/interfaces/MetadataAlgorithm.d.ts +0 -12
  107. package/dist/node/ddo/interfaces/MetadataMain.d.ts +0 -12
  108. package/dist/node/ddo/interfaces/Proof.d.ts +0 -6
  109. package/dist/node/ddo/interfaces/PublicKey.d.ts +0 -8
  110. package/dist/node/ddo/interfaces/PurgatoryData.d.ts +0 -4
  111. package/dist/node/ddo/interfaces/Service.d.ts +0 -99
  112. package/dist/node/ddo/interfaces/ServicePrices.d.ts +0 -4
  113. package/dist/node/ddo/interfaces/Status.d.ts +0 -5
  114. package/dist/node/ddo/interfaces/index.d.ts +0 -17
  115. package/dist/node/dispenser/Dispenser.d.ts +0 -44
  116. package/dist/node/exchange/FixedRateExchange.d.ts +0 -59
  117. package/dist/node/index.d.ts +0 -1
  118. package/dist/node/lib.d.ts +0 -15
  119. package/dist/node/lib.js +0 -2
  120. package/dist/node/lib.js.map +0 -1
  121. package/dist/node/lib.module.js +0 -2
  122. package/dist/node/lib.module.js.map +0 -1
  123. package/dist/node/lib.umd.js +0 -2
  124. package/dist/node/lib.umd.js.map +0 -1
  125. package/dist/node/metadatacache/MetadataCache.d.ts +0 -41
  126. package/dist/node/metadatacache/OnChainMetaData.d.ts +0 -31
  127. package/dist/node/models/Config.d.ts +0 -31
  128. package/dist/node/ocean/Account.d.ts +0 -16
  129. package/dist/node/ocean/Accounts.d.ts +0 -9
  130. package/dist/node/ocean/Assets.d.ts +0 -56
  131. package/dist/node/ocean/AssetsCredential.d.ts +0 -6
  132. package/dist/node/ocean/Compute.d.ts +0 -75
  133. package/dist/node/ocean/DID.d.ts +0 -8
  134. package/dist/node/ocean/EventAccessControl.d.ts +0 -9
  135. package/dist/node/ocean/Ocean.d.ts +0 -34
  136. package/dist/node/ocean/OceanAuth.d.ts +0 -15
  137. package/dist/node/ocean/Versions.d.ts +0 -25
  138. package/dist/node/ocean/utils/SignatureUtils.d.ts +0 -13
  139. package/dist/node/ocean/utils/Utils.d.ts +0 -8
  140. package/dist/node/ocean/utils/WebServiceConnector.d.ts +0 -16
  141. package/dist/node/provider/Provider.d.ts +0 -56
  142. package/dist/node/utils/AssetResolverHelper.d.ts +0 -8
  143. package/dist/node/utils/ConfigHelper.d.ts +0 -17
  144. package/dist/node/utils/ContractUtils.d.ts +0 -5
  145. package/dist/node/utils/ConversionTypeHelpers.d.ts +0 -8
  146. package/dist/node/utils/Datatokens.d.ts +0 -7
  147. package/dist/node/utils/GeneratorHelpers.d.ts +0 -1
  148. package/dist/node/utils/PromiseResolver.d.ts +0 -3
  149. package/dist/node/utils/SubscribableObserver.d.ts +0 -12
  150. package/dist/node/utils/SubscribablePromise.d.ts +0 -14
  151. package/dist/node/utils/Timeout.d.ts +0 -1
  152. package/dist/node/utils/index.d.ts +0 -9
@@ -0,0 +1,142 @@
1
+ import Web3 from 'web3';
2
+ import { FileMetadata, ComputeJob, ComputeOutput, ComputeAlgorithm, ComputeAsset, ProviderInitialize } from '../@types/';
3
+ import { DownloadResponse } from '../@types/DownloadResponse';
4
+ export interface HttpCallback {
5
+ (httpMethod: string, url: string, body: string, header: any): Promise<any>;
6
+ }
7
+ export interface ServiceEndpoint {
8
+ serviceName: string;
9
+ method: string;
10
+ urlPath: string;
11
+ }
12
+ export interface UserCustomParameters {
13
+ [key: string]: any;
14
+ }
15
+ export declare class Provider {
16
+ /**
17
+ * Returns the provider endpoints
18
+ * @return {Promise<ServiceEndpoint[]>}
19
+ */
20
+ getEndpoints(providerUri: string): Promise<any>;
21
+ getEndpointURL(servicesEndpoints: ServiceEndpoint[], serviceName: string): ServiceEndpoint;
22
+ /**
23
+ * Returns the service endpoints that exist in provider.
24
+ * @param {any} endpoints
25
+ * @return {Promise<ServiceEndpoint[]>}
26
+ */
27
+ getServiceEndpoints(providerEndpoint: string, endpoints: any): Promise<ServiceEndpoint[]>;
28
+ /** Encrypt DDO using the Provider's own symmetric key
29
+ * @param {string} providerUri provider uri address
30
+ * @param {string} consumerAddress Publisher address
31
+ * @param {AbortSignal} signal abort signal
32
+ * @param {string} providerEndpoints Identifier of the asset to be registered in ocean
33
+ * @param {string} serviceEndpoints document description object (DDO)=
34
+ * @return {Promise<string>} urlDetails
35
+ */
36
+ getNonce(providerUri: string, consumerAddress: string, signal?: AbortSignal, providerEndpoints?: any, serviceEndpoints?: ServiceEndpoint[]): Promise<string>;
37
+ createSignature(web3: Web3, accountId: string, agreementId: string): Promise<string>;
38
+ createHashSignature(web3: Web3, accountId: string, message: string): Promise<string>;
39
+ /** Encrypt data using the Provider's own symmetric key
40
+ * @param {string} data data in json format that needs to be sent , it can either be a DDO or a File array
41
+ * @param {string} providerUri provider uri address
42
+ * @param {AbortSignal} signal abort signal
43
+ * @return {Promise<string>} urlDetails
44
+ */
45
+ encrypt(data: any, providerUri: string, signal?: AbortSignal): Promise<string>;
46
+ /** Get DDO File details (if possible)
47
+ * @param {string} did did
48
+ * @param {number} serviceId the id of the service for which to check the files
49
+ * @param {string} providerUri uri of the provider that will be used to check the file
50
+ * @param {AbortSignal} signal abort signal
51
+ * @return {Promise<FileMetadata[]>} urlDetails
52
+ */
53
+ checkDidFiles(did: string, serviceId: number, providerUri: string, signal?: AbortSignal): Promise<FileMetadata[]>;
54
+ /** Get URL details (if possible)
55
+ * @param {string} url or did
56
+ * @param {string} providerUri uri of the provider that will be used to check the file
57
+ * @param {AbortSignal} signal abort signal
58
+ * @return {Promise<FileMetadata[]>} urlDetails
59
+ */
60
+ checkFileUrl(url: string, providerUri: string, signal?: AbortSignal): Promise<FileMetadata[]>;
61
+ /** Initialize a service request.
62
+ * @param {DDO | string} asset
63
+ * @param {number} serviceIndex
64
+ * @param {string} serviceType
65
+ * @param {string} consumerAddress
66
+ * @param {UserCustomParameters} userCustomParameters
67
+ * @param {string} providerUri Identifier of the asset to be registered in ocean
68
+ * @param {AbortSignal} signal abort signal
69
+ * @return {Promise<ProviderInitialize>} ProviderInitialize data
70
+ */
71
+ initialize(did: string, serviceId: string, fileIndex: number, consumerAddress: string, providerUri: string, signal?: AbortSignal, userCustomParameters?: UserCustomParameters, computeEnv?: string, validUntil?: number): Promise<ProviderInitialize>;
72
+ /** Gets fully signed URL for download
73
+ * @param {string} did
74
+ * @param {string} accountId
75
+ * @param {string} serviceId
76
+ * @param {number} fileIndex
77
+ * @param {string} providerUri
78
+ * @param {Web3} web3
79
+ * @param {UserCustomParameters} userCustomParameters
80
+ * @return {Promise<string>}
81
+ */
82
+ getDownloadUrl(did: string, accountId: string, serviceId: string, fileIndex: number, transferTxId: string, providerUri: string, web3: Web3, userCustomParameters?: UserCustomParameters): Promise<any>;
83
+ /** Instruct the provider to start a compute job
84
+ * @param {string} did
85
+ * @param {string} consumerAddress
86
+ * @param {ComputeAlgorithm} algorithm
87
+ * @param {string} providerUri
88
+ * @param {Web3} web3
89
+ * @param {AbortSignal} signal abort signal
90
+ * @param {ComputeOutput} output
91
+ * @return {Promise<ComputeJob | ComputeJob[]>}
92
+ */
93
+ computeStart(providerUri: string, web3: Web3, consumerAddress: string, computeEnv: string, dataset: ComputeAsset, algorithm: ComputeAlgorithm, signal?: AbortSignal, additionalDatasets?: ComputeAsset[], output?: ComputeOutput): Promise<ComputeJob | ComputeJob[]>;
94
+ /** Instruct the provider to Stop the execution of a to stop a compute job.
95
+ * @param {string} did
96
+ * @param {string} consumerAddress
97
+ * @param {string} jobId
98
+ * @param {string} providerUri
99
+ * @param {Web3} web3
100
+ * @param {AbortSignal} signal abort signal
101
+ * @return {Promise<ComputeJob | ComputeJob[]>}
102
+ */
103
+ computeStop(did: string, consumerAddress: string, jobId: string, providerUri: string, web3: Web3, signal?: AbortSignal): Promise<ComputeJob | ComputeJob[]>;
104
+ /** Get status for a specific jobId/documentId/owner.
105
+ * @param {string} did
106
+ * @param {string} consumerAddress
107
+ * @param {string} providerUri
108
+ * @param {Web3} web3
109
+ * @param {AbortSignal} signal abort signal
110
+ * @param {string} jobId
111
+ * @return {Promise<ComputeJob | ComputeJob[]>}
112
+ */
113
+ computeStatus(providerUri: string, signal?: AbortSignal, jobId?: string, did?: string, consumerAddress?: string): Promise<ComputeJob | ComputeJob[]>;
114
+ /** Get status for a specific jobId/documentId/owner.
115
+ * @param {string} jobId
116
+ * @param {number} index
117
+ * @param {string} providerUri
118
+ * @param {string} destination
119
+ * @param {Web3} web3
120
+ * @param {AbortSignal} signal abort signal
121
+ * @return {Promise<ComputeJob | ComputeJob[]>}
122
+ */
123
+ computeResult(jobId: string, index: number, accountId: string, providerUri: string, web3: Web3, signal?: AbortSignal): Promise<DownloadResponse | void>;
124
+ /** Deletes a compute job.
125
+ * @param {string} did
126
+ * @param {string} consumerAddress
127
+ * @param {string} jobId
128
+ * @param {string} providerUri
129
+ * @param {Web3} web3
130
+ * @param {AbortSignal} signal abort signal
131
+ * @return {Promise<ComputeJob | ComputeJob[]>}
132
+ */
133
+ computeDelete(did: string, consumerAddress: string, jobId: string, providerUri: string, web3: Web3, signal?: AbortSignal): Promise<ComputeJob | ComputeJob[]>;
134
+ /** Check for a valid provider at URL
135
+ * @param {String} url provider uri address
136
+ * @param {AbortSignal} signal abort signal
137
+ * @return {Promise<boolean>} string
138
+ */
139
+ isValidProvider(url: string, signal?: AbortSignal): Promise<boolean>;
140
+ }
141
+ export declare const ProviderInstance: Provider;
142
+ export default ProviderInstance;
@@ -0,0 +1 @@
1
+ export * from './Provider';
@@ -0,0 +1,362 @@
1
+ import Web3 from 'web3';
2
+ import { AbiItem } from 'web3-utils';
3
+ import { TransactionReceipt } from 'web3-eth';
4
+ import { Contract } from 'web3-eth-contract';
5
+ import { FreOrderParams, FreCreationParams, ProviderFees } from '../@types';
6
+ import { Nft } from './NFT';
7
+ import { Config } from '../models/index.js';
8
+ /**
9
+ * ERC20 ROLES
10
+ */
11
+ interface Roles {
12
+ minter: boolean;
13
+ paymentManager: boolean;
14
+ }
15
+ export interface OrderParams {
16
+ consumer: string;
17
+ serviceIndex: number;
18
+ _providerFees: ProviderFees;
19
+ }
20
+ export interface DispenserParams {
21
+ maxTokens: string;
22
+ maxBalance: string;
23
+ withMint?: boolean;
24
+ allowedSwapper?: string;
25
+ }
26
+ export declare class Datatoken {
27
+ GASLIMIT_DEFAULT: number;
28
+ factoryAddress: string;
29
+ factoryABI: AbiItem | AbiItem[];
30
+ datatokensAbi: AbiItem | AbiItem[];
31
+ datatokensEnterpriseAbi: AbiItem | AbiItem[];
32
+ web3: Web3;
33
+ config: Config;
34
+ nft: Nft;
35
+ /**
36
+ * Instantiate ERC20 Datatokens
37
+ * @param {AbiItem | AbiItem[]} datatokensAbi
38
+ * @param {Web3} web3
39
+ */
40
+ constructor(web3: Web3, datatokensAbi?: AbiItem | AbiItem[], datatokensEnterpriseAbi?: AbiItem | AbiItem[], config?: Config);
41
+ /**
42
+ * Estimate gas cost for mint method
43
+ * @param {String} dtAddress Datatoken address
44
+ * @param {String} spender Spender address
45
+ * @param {string} amount Number of datatokens, as number. Will be converted to wei
46
+ * @param {String} address User adress
47
+ * @param {Contract} contractInstance optional contract instance
48
+ * @return {Promise<any>}
49
+ */
50
+ estGasApprove(dtAddress: string, spender: string, amount: string, address: string, contractInstance?: Contract): Promise<any>;
51
+ /**
52
+ * Approve
53
+ * @param {String} dtAddress Datatoken address
54
+ * @param {String} spender Spender address
55
+ * @param {string} amount Number of datatokens, as number. Will be converted to wei
56
+ * @param {String} address User adress
57
+ * @return {Promise<TransactionReceipt>} trxReceipt
58
+ */
59
+ approve(dtAddress: string, spender: string, amount: string, address: string): Promise<TransactionReceipt>;
60
+ /**
61
+ * Estimate gas cost for mint method
62
+ * @param {String} dtAddress Datatoken address
63
+ * @param {String} address Minter address
64
+ * @param {String} amount Number of datatokens, as number. Will be converted to wei
65
+ * @param {String} toAddress only if toAddress is different from the minter
66
+ * @param {Contract} contractInstance optional contract instance
67
+ * @return {Promise<any>}
68
+ */
69
+ estGasMint(dtAddress: string, address: string, amount: string, toAddress?: string, contractInstance?: Contract): Promise<any>;
70
+ /**
71
+ * Estimate gas cost for createFixedRate method
72
+ * @param {String} dtAddress Datatoken address
73
+ * @param {String} address Caller address
74
+ * @param {String} fixedPriceAddress
75
+ * @param {FixedRateParams} fixedRateParams
76
+ * @param {Contract} contractInstance optional contract instance
77
+ * @return {Promise<any>}
78
+ */
79
+ estGasCreateFixedRate(dtAddress: string, address: string, fixedRateParams: FreCreationParams, contractInstance?: Contract): Promise<any>;
80
+ /**
81
+ * Creates a new FixedRateExchange setup.
82
+ * @param {String} dtAddress Datatoken address
83
+ * @param {String} address Caller address
84
+ * @param {String} fixedPriceAddress
85
+ * @param {FixedRateParams} fixedRateParams
86
+ * @return {Promise<TransactionReceipt>} transactionId
87
+ */
88
+ createFixedRate(dtAddress: string, address: string, fixedRateParams: FreCreationParams): Promise<TransactionReceipt>;
89
+ /**
90
+ * Estimate gas cost for createDispenser method
91
+ * @param {String} dtAddress Datatoken address
92
+ * @param {String} address Caller address
93
+ * @param {String} dispenserAddress ispenser contract address
94
+ * @param {String} dispenserParams
95
+ * @param {Contract} contractInstance optional contract instance
96
+ * @return {Promise<any>}
97
+ */
98
+ estGasCreateDispenser(dtAddress: string, address: string, dispenserAddress: string, dispenserParams: DispenserParams, contractInstance?: Contract): Promise<any>;
99
+ /**
100
+ * Creates a new Dispenser
101
+ * @param {String} dtAddress Datatoken address
102
+ * @param {String} address Caller address
103
+ * @param {String} dispenserAddress ispenser contract address
104
+ * @param {String} dispenserParams
105
+ * @return {Promise<TransactionReceipt>} transactionId
106
+ */
107
+ createDispenser(dtAddress: string, address: string, dispenserAddress: string, dispenserParams: DispenserParams): Promise<TransactionReceipt>;
108
+ /**
109
+ * Mint
110
+ * @param {String} dtAddress Datatoken address
111
+ * @param {String} address Minter address
112
+ * @param {String} amount Number of datatokens, as number. Will be converted to wei
113
+ * @param {String} toAddress only if toAddress is different from the minter
114
+ * @return {Promise<TransactionReceipt>} transactionId
115
+ */
116
+ mint(dtAddress: string, address: string, amount: string, toAddress?: string): Promise<TransactionReceipt>;
117
+ /**
118
+ * Estimate gas cost for addMinter method
119
+ * @param {String} dtAddress Datatoken address
120
+ * @param {String} address User address
121
+ * @param {String} minter User which is going to be a Minter
122
+ * @param {Contract} contractInstance optional contract instance
123
+ * @return {Promise<any>}
124
+ */
125
+ estGasAddMinter(dtAddress: string, address: string, minter: string, contractInstance?: Contract): Promise<any>;
126
+ /**
127
+ * Add Minter for an ERC20 datatoken
128
+ * only ERC20Deployer can succeed
129
+ * @param {String} dtAddress Datatoken address
130
+ * @param {String} address User address
131
+ * @param {String} minter User which is going to be a Minter
132
+ * @return {Promise<TransactionReceipt>} transactionId
133
+ */
134
+ addMinter(dtAddress: string, address: string, minter: string): Promise<TransactionReceipt>;
135
+ /**
136
+ * Estimate gas for removeMinter method
137
+ * @param {String} dtAddress Datatoken address
138
+ * @param {String} address User address
139
+ * @param {String} minter User which will be removed from Minter permission
140
+ * @param {Contract} contractInstance optional contract instance
141
+ * @return {Promise<any>}
142
+ */
143
+ estGasRemoveMinter(dtAddress: string, address: string, minter: string, contractInstance?: Contract): Promise<any>;
144
+ /**
145
+ * Revoke Minter permission for an ERC20 datatoken
146
+ * only ERC20Deployer can succeed
147
+ * @param {String} dtAddress Datatoken address
148
+ * @param {String} address User address
149
+ * @param {String} minter User which will be removed from Minter permission
150
+ * @param {Contract} contractInstance optional contract instance
151
+ * @return {Promise<any>}
152
+ */
153
+ removeMinter(dtAddress: string, address: string, minter: string): Promise<TransactionReceipt>;
154
+ /**
155
+ * Estimate gas for addPaymentManager method
156
+ * @param {String} dtAddress Datatoken address
157
+ * @param {String} address User address
158
+ * @param {String} paymentManager User which is going to be a Minter
159
+ * @param {Contract} contractInstance optional contract instance
160
+ * @return {Promise<any>}
161
+ */
162
+ estGasAddPaymentManager(dtAddress: string, address: string, paymentManager: string, contractInstance?: Contract): Promise<any>;
163
+ /**
164
+ * Add addPaymentManager (can set who's going to collect fee when consuming orders)
165
+ * only ERC20Deployer can succeed
166
+ * @param {String} dtAddress Datatoken address
167
+ * @param {String} address User address
168
+ * @param {String} paymentManager User which is going to be a Minter
169
+ * @return {Promise<TransactionReceipt>} transactionId
170
+ */
171
+ addPaymentManager(dtAddress: string, address: string, paymentManager: string): Promise<TransactionReceipt>;
172
+ /**
173
+ * Estimate gas for removePaymentManager method
174
+ * @param {String} dtAddress Datatoken address
175
+ * @param {String} address User address
176
+ * @param {String} paymentManager User which will be removed from paymentManager permission
177
+ * @param {Contract} contractInstance optional contract instance
178
+ * @return {Promise<any>}
179
+ */
180
+ estGasRemovePaymentManager(dtAddress: string, address: string, paymentManager: string, contractInstance?: Contract): Promise<any>;
181
+ /**
182
+ * Revoke paymentManager permission for an ERC20 datatoken
183
+ * only ERC20Deployer can succeed
184
+ * @param {String} dtAddress Datatoken address
185
+ * @param {String} address User address
186
+ * @param {String} paymentManager User which will be removed from paymentManager permission
187
+ * @return {Promise<TransactionReceipt>} trxReceipt
188
+ */
189
+ removePaymentManager(dtAddress: string, address: string, paymentManager: string): Promise<TransactionReceipt>;
190
+ /**
191
+ * Estimate gas for setPaymentCollector method
192
+ * @param dtAddress datatoken address
193
+ * @param address Caller address
194
+ * @param paymentCollector User to be set as new payment collector
195
+ * @param {Contract} contractInstance optional contract instance
196
+ * @return {Promise<any>}
197
+ */
198
+ estGasSetPaymentCollector(dtAddress: string, address: string, paymentCollector: string, contractInstance?: Contract): Promise<any>;
199
+ /**
200
+ * This function allows to set a new PaymentCollector (receives DT when consuming)
201
+ * If not set the paymentCollector is the NFT Owner
202
+ * only NFT owner can call
203
+ * @param dtAddress datatoken address
204
+ * @param address Caller address
205
+ * @param paymentCollector User to be set as new payment collector
206
+ * @return {Promise<TransactionReceipt>} trxReceipt
207
+ */
208
+ setPaymentCollector(dtAddress: string, address: string, paymentCollector: string): Promise<TransactionReceipt>;
209
+ /** getPaymentCollector - It returns the current paymentCollector
210
+ * @param dtAddress datatoken address
211
+ * @return {Promise<string>}
212
+ */
213
+ getPaymentCollector(dtAddress: string): Promise<string>;
214
+ /**
215
+ * Transfer as number from address to toAddress
216
+ * @param {String} dtAddress Datatoken address
217
+ * @param {String} toAddress Receiver address
218
+ * @param {String} amount Number of datatokens, as number. To be converted to wei.
219
+ * @param {String} address User adress
220
+ * @return {Promise<TransactionReceipt>} transactionId
221
+ */
222
+ transfer(dtAddress: string, toAddress: string, amount: string, address: string): Promise<TransactionReceipt>;
223
+ /**
224
+ * Estimate gas for transfer method
225
+ * @param {String} dtAddress Datatoken address
226
+ * @param {String} toAddress Receiver address
227
+ * @param {String} amount Number of datatokens, as number. Expressed as wei
228
+ * @param {String} address User adress
229
+ * @param {Contract} contractInstance optional contract instance
230
+ * @return {Promise<any>}
231
+ */
232
+ estGasTransfer(dtAddress: string, toAddress: string, amount: string, address: string, contractInstance?: Contract): Promise<any>;
233
+ /**
234
+ * Transfer in wei from address to toAddress
235
+ * @param {String} dtAddress Datatoken address
236
+ * @param {String} toAddress Receiver address
237
+ * @param {String} amount Number of datatokens, as number. Expressed as wei
238
+ * @param {String} address User adress
239
+ * @return {Promise<TransactionReceipt>} transactionId
240
+ */
241
+ transferWei(dtAddress: string, toAddress: string, amount: string, address: string): Promise<TransactionReceipt>;
242
+ /** Estimate gas cost for startOrder method
243
+ * @param {String} dtAddress Datatoken address
244
+ * @param {String} address User address which calls
245
+ * @param {String} consumer Consumer Address
246
+ * @param {Number} serviceIndex Service index in the metadata
247
+ * @param {providerFees} providerFees provider fees
248
+ * @param {Contract} contractInstance optional contract instance
249
+ * @return {Promise<any>}
250
+ */
251
+ estGasStartOrder(dtAddress: string, address: string, consumer: string, serviceIndex: number, providerFees: ProviderFees, contractInstance?: Contract): Promise<any>;
252
+ /** Start Order: called by payer or consumer prior ordering a service consume on a marketplace.
253
+ * @param {String} dtAddress Datatoken address
254
+ * @param {String} address User address which calls
255
+ * @param {String} consumer Consumer Address
256
+ * @param {Number} serviceIndex Service index in the metadata
257
+ * @param {providerFees} providerFees provider fees
258
+ * @return {Promise<TransactionReceipt>} string
259
+ */
260
+ startOrder(dtAddress: string, address: string, consumer: string, serviceIndex: number, providerFees: ProviderFees): Promise<TransactionReceipt>;
261
+ /** Estimate gas cost for buyFromFreAndOrder method
262
+ * @param {String} dtAddress Datatoken address
263
+ * @param {String} address User address which calls
264
+ * @param {OrderParams} orderParams Consumer Address
265
+ * @param {FreParams} freParams Amount of tokens that is going to be transfered
266
+ * @param {Contract} contractInstance optional contract instance
267
+ * @return {Promise<any>}
268
+ */
269
+ estGasBuyFromFreAndOrder(dtAddress: string, address: string, orderParams: OrderParams, freParams: FreOrderParams, contractInstance?: Contract): Promise<any>;
270
+ /** Buys 1 DT from the FRE and then startsOrder, while burning that DT
271
+ * @param {String} dtAddress Datatoken address
272
+ * @param {String} address User address which calls
273
+ * @param {OrderParams} orderParams Consumer Address
274
+ * @param {FreParams} freParams Amount of tokens that is going to be transfered
275
+ * @return {Promise<TransactionReceipt>}
276
+ */
277
+ buyFromFreAndOrder(dtAddress: string, address: string, orderParams: OrderParams, freParams: FreOrderParams): Promise<TransactionReceipt>;
278
+ /** Estimate gas cost for buyFromFreAndOrder method
279
+ * @param {String} dtAddress Datatoken address
280
+ * @param {String} address User address which calls
281
+ * @param {OrderParams} orderParams
282
+ * @param {String} dispenserContract
283
+ * @param {Contract} contractInstance optional contract instance
284
+ * @return {Promise<any>}
285
+ */
286
+ estGasBuyFromDispenserAndOrder(dtAddress: string, address: string, orderParams: OrderParams, dispenserContract: string, contractInstance?: Contract): Promise<any>;
287
+ /** Gets DT from dispenser and then startsOrder, while burning that DT
288
+ * @param {String} dtAddress Datatoken address
289
+ * @param {String} address User address which calls
290
+ * @param {OrderParams} orderParams
291
+ * @param {String} dispenserContract
292
+ * @return {Promise<TransactionReceipt>}
293
+ */
294
+ buyFromDispenserAndOrder(dtAddress: string, address: string, orderParams: OrderParams, dispenserContract: string): Promise<TransactionReceipt>;
295
+ /** Estimate gas for setData method
296
+ * @param {String} dtAddress Datatoken address
297
+ * @param {String} address User address
298
+ * @param {String} value Data to be stored into 725Y standard
299
+ * @param {Contract} contractInstance optional contract instance
300
+ * @return {Promise<any>}
301
+ */
302
+ estGasSetData(dtAddress: string, address: string, value: string, contractInstance?: Contract): Promise<any>;
303
+ /** setData
304
+ * This function allows to store data with a preset key (keccak256(ERC20Address)) into NFT 725 Store
305
+ * only ERC20Deployer can succeed
306
+ * @param {String} dtAddress Datatoken address
307
+ * @param {String} address User address
308
+ * @param {String} value Data to be stored into 725Y standard
309
+ * @return {Promise<TransactionReceipt>} transactionId
310
+ */
311
+ setData(dtAddress: string, address: string, value: string): Promise<TransactionReceipt>;
312
+ /** Estimate gas for cleanPermissions method
313
+ * @param dtAddress Datatoken address where we want to clean permissions
314
+ * @param address User adress
315
+ * @param {Contract} contractInstance optional contract instance
316
+ * @return {Promise<any>}
317
+ */
318
+ estGasCleanPermissions(dtAddress: string, address: string, contractInstance?: Contract): Promise<any>;
319
+ /**
320
+ * Clean erc20level Permissions (minters, paymentManager and reset the paymentCollector) for an ERC20 datatoken
321
+ * Only NFT Owner (at 721 level) can call it.
322
+ * @param dtAddress Datatoken address where we want to clean permissions
323
+ * @param address User adress
324
+ * @return {Promise<TransactionReceipt>} transactionId
325
+ */
326
+ cleanPermissions(dtAddress: string, address: string): Promise<TransactionReceipt>;
327
+ /** Returns ERC20 user's permissions for a datatoken
328
+ * @param {String} dtAddress Datatoken adress
329
+ * @param {String} address user adress
330
+ * @return {Promise<Roles>}
331
+ */
332
+ getDTPermissions(dtAddress: string, address: string): Promise<Roles>;
333
+ /** Returns the Datatoken capital
334
+ * @param {String} dtAddress Datatoken adress
335
+ * @return {Promise<string>}
336
+ */
337
+ getCap(dtAddress: string): Promise<string>;
338
+ /** It returns the token decimals, how many supported decimal points
339
+ * @param {String} dtAddress Datatoken adress
340
+ * @return {Promise<number>}
341
+ */
342
+ getDecimals(dtAddress: string): Promise<string>;
343
+ /** It returns the token decimals, how many supported decimal points
344
+ * @param {String} dtAddress Datatoken adress
345
+ * @return {Promise<number>}
346
+ */
347
+ getNFTAddress(dtAddress: string): Promise<string>;
348
+ /** Returns true if address has deployERC20 role
349
+ * @param {String} dtAddress Datatoken adress
350
+ * @param {String} dtAddress Datatoken adress
351
+ * @return {Promise<boolean>}
352
+ */
353
+ isERC20Deployer(dtAddress: string, address: string): Promise<boolean>;
354
+ /**
355
+ * Get Address Balance for datatoken
356
+ * @param {String} dtAddress Datatoken adress
357
+ * @param {String} address user adress
358
+ * @return {Promise<String>} balance Number of datatokens. Will be converted from wei
359
+ */
360
+ balance(datatokenAddress: string, address: string): Promise<string>;
361
+ }
362
+ export {};