1
0
mirror of https://github.com/oceanprotocol/react.git synced 2025-02-14 21:10:38 +01:00

uptate libs

This commit is contained in:
mihaisc 2020-07-16 12:25:01 +03:00
parent e29bd48716
commit 97476709b9
12 changed files with 134 additions and 128 deletions

View File

@ -9,7 +9,6 @@ export function AllDdos() {
const [ddos, setDdos] = useState<DDO[] | undefined>() const [ddos, setDdos] = useState<DDO[] | undefined>()
useEffect(() => { useEffect(() => {
async function init() { async function init() {
if (ocean === undefined) return if (ocean === undefined) return
@ -28,8 +27,14 @@ export function AllDdos() {
return ( return (
<> <>
<div>Assets</div> <br /> <div>Assets</div> <br />
<div style={{flexDirection: "column"}}>{ddos?.map((ddo) => { <div style={{ flexDirection: 'column' }}>
return <div key={shortid.generate()}><span >{ddo.id} / {ddo.dataToken }</span><br/></div> {ddos?.map((ddo) => {
return (
<div key={shortid.generate()}>
{ddo.id}
<br />
</div>
)
})} })}
</div> </div>
</> </>

View File

@ -12,5 +12,5 @@
.container div { .container div {
display: flex; display: flex;
padding: 10px; padding: 10px;
margin-top: 40px; margin-bottom: 10px;
} }

View File

@ -9,9 +9,7 @@ export function ConsumeDdo() {
const { consumeStepText, consume, consumeError } = useConsume() const { consumeStepText, consume, consumeError } = useConsume()
const [did, setDid] = useState<string | undefined>() const [did, setDid] = useState<string | undefined>()
useEffect(() => { useEffect(() => {
async function init() { async function init() {}
}
init() init()
}, [ocean]) }, [ocean])
@ -22,13 +20,17 @@ export function ConsumeDdo() {
} }
const handleChange = (e: any) => { const handleChange = (e: any) => {
setDid(e.target.value); setDid(e.target.value)
} }
return ( return (
<> <>
<div>Consume</div> <div>Consume</div>
<div>DID <input onChange={handleChange}></input></div> <div>
<div><button onClick={consumeDid}>Consume did</button></div> DID <input onChange={handleChange}></input>
</div>
<div>
<button onClick={consumeDid}>Consume did</button>
</div>
<div>{consumeStepText}</div> <div>{consumeStepText}</div>
<div>{consumeError}</div> <div>{consumeError}</div>
</> </>

View File

@ -32,7 +32,7 @@ export function Publish() {
const marketAddress = '0x4D156A2ef69ffdDC55838176C6712C90f60a2285' const marketAddress = '0x4D156A2ef69ffdDC55838176C6712C90f60a2285'
const publishAsset = async () => { const publishAsset = async () => {
const ddo = await publish(asset as Metadata, 4,marketAddress) const ddo = await publish(asset as Metadata, '4', marketAddress)
console.log(ddo) console.log(ddo)
setDdo(ddo) setDdo(ddo)
} }

View File

@ -9,7 +9,6 @@ export function Wallet() {
'@walletconnect/web3-provider' '@walletconnect/web3-provider'
) )
const providerOptions = { const providerOptions = {
/* See Provider Options Section */ /* See Provider Options Section */
walletconnect: { walletconnect: {
package: WalletConnectProvider, // required package: WalletConnectProvider, // required
@ -25,7 +24,6 @@ export function Wallet() {
const init = async () => { const init = async () => {
if (ocean === undefined || accountId === undefined) return if (ocean === undefined || accountId === undefined) return
const assets = await ocean.assets.ownerAssets(accountId) const assets = await ocean.assets.ownerAssets(accountId)
console.log(assets) console.log(assets)
} }

View File

@ -9,4 +9,3 @@ ReactDOM.render(
</React.StrictMode>, </React.StrictMode>,
document.getElementById('root') document.getElementById('root')
) )

26
package-lock.json generated
View File

@ -371,18 +371,18 @@
} }
}, },
"@oceanprotocol/contracts": { "@oceanprotocol/contracts": {
"version": "0.2.2", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-0.2.2.tgz", "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-0.2.3.tgz",
"integrity": "sha512-wu5Ub5F50vCAON0GKyv4anPPLm+oWfHViksiAewVS/xvbbnSCt4gHws2Uc1ct25tiO/2AHAyJkqEiC0ep8SHeQ==" "integrity": "sha512-5Oohzno3tnISMYG1jhtHxKMMkcIypTZAPlIoFjE5vDlAW51tyuxwYxBXHYQ2/FLRVFkmUmy5yASKg9zbnKKwQw=="
}, },
"@oceanprotocol/lib": { "@oceanprotocol/lib": {
"version": "0.1.2", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-0.1.2.tgz", "resolved": "https://registry.npmjs.org/@oceanprotocol/lib/-/lib-0.1.4.tgz",
"integrity": "sha512-v4Y0u7WnhhA33uIMuGKlWqGdlZLen7xRcwCBMvTlLp13Z3K+lOcg7UTByVxnKy2Tg2//wMYUWfuhSsk4nDA/DA==", "integrity": "sha512-H+soD+W+fOdKXgFxM8pkhAs9JoJDMWxudvTJxT696Ch+z1CvbcEh4bFNlUpjWhVgwjMTVCigYum3BG+V1mqN1Q==",
"requires": { "requires": {
"@ethereum-navigator/navigator": "^0.5.0", "@ethereum-navigator/navigator": "^0.5.0",
"@oceanprotocol/contracts": "^0.2.3",
"bignumber.js": "^9.0.0", "bignumber.js": "^9.0.0",
"deprecated-decorator": "^0.1.6",
"fs": "0.0.1-security", "fs": "0.0.1-security",
"node-fetch": "^2.6.0", "node-fetch": "^2.6.0",
"save-file": "^2.3.1", "save-file": "^2.3.1",
@ -390,6 +390,13 @@
"web3": "^1.2.9", "web3": "^1.2.9",
"web3-eth-contract": "^1.2.9", "web3-eth-contract": "^1.2.9",
"whatwg-url": "^8.0.0" "whatwg-url": "^8.0.0"
},
"dependencies": {
"@oceanprotocol/contracts": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-0.2.3.tgz",
"integrity": "sha512-5Oohzno3tnISMYG1jhtHxKMMkcIypTZAPlIoFjE5vDlAW51tyuxwYxBXHYQ2/FLRVFkmUmy5yASKg9zbnKKwQw=="
}
} }
}, },
"@octokit/auth-token": { "@octokit/auth-token": {
@ -2000,11 +2007,6 @@
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
}, },
"deprecated-decorator": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz",
"integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc="
},
"deprecated-obj": { "deprecated-obj": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/deprecated-obj/-/deprecated-obj-1.0.1.tgz", "resolved": "https://registry.npmjs.org/deprecated-obj/-/deprecated-obj-1.0.1.tgz",

View File

@ -21,8 +21,8 @@
"dist/" "dist/"
], ],
"dependencies": { "dependencies": {
"@oceanprotocol/contracts": "^0.2.2", "@oceanprotocol/contracts": "^0.2.3",
"@oceanprotocol/lib": "^0.1.2", "@oceanprotocol/lib": "^0.1.4",
"@walletconnect/web3-provider": "^1.0.15", "@walletconnect/web3-provider": "^1.0.15",
"axios": "^0.19.2", "axios": "^0.19.2",
"react": "^16.9.41", "react": "^16.9.41",

View File

@ -27,7 +27,6 @@ function useConsume(): UseConsume {
const [consumeStepText, setConsumeStepText] = useState<string | undefined>() const [consumeStepText, setConsumeStepText] = useState<string | undefined>()
const [consumeError, setConsumeError] = useState<string | undefined>() const [consumeError, setConsumeError] = useState<string | undefined>()
function setStep(index: number) { function setStep(index: number) {
setConsumeStep(index) setConsumeStep(index)
setConsumeStepText(consumeFeedback[index]) setConsumeStepText(consumeFeedback[index])
@ -47,10 +46,11 @@ function useConsume(): UseConsume {
setStep(2) setStep(2)
const res = JSON.parse(order) const res = JSON.parse(order)
Logger.log('order parsed', res) Logger.log('order parsed', res)
Logger.log('ocean.datatokens before transfer', ocean.datatokens)
const tokenTransfer = await ocean.datatokens.transferWei( const tokenTransfer = await ocean.datatokens.transferWei(
res.dataToken, res.dataToken,
res.to, res.to,
res.numTokens, String(res.numTokens),
res.from res.from
) )
Logger.log('token transfered', tokenTransfer) Logger.log('token transfered', tokenTransfer)

View File

@ -7,52 +7,62 @@ import { Service } from '@oceanprotocol/lib/dist/node/ddo/interfaces/Service'
interface UsePublish { interface UsePublish {
publish: ( publish: (
asset: Metadata, asset: Metadata,
tokensToMint: number, tokensToMint: string,
marketAddress: string, marketAddress: string,
cost?: number cost?: string
) => Promise<DDO> ) => Promise<DDO>
mint: (tokenAddress: string, tokensToMint: number) => void mint: (tokenAddress: string, tokensToMint: string) => void
} }
function usePublish(): UsePublish { function usePublish(): UsePublish {
const { web3, ocean, status, account, accountId, config } = useOcean() const { web3, ocean, status, account, accountId, config } = useOcean()
function createDataToken() {
return new DataTokens(
ocean.datatokens.factoryAddress,
ocean.datatokens.factoryABI.abi,
ocean.datatokens.datatokensABI.abi,
web3
)
}
async function publish( async function publish(
asset: Metadata, asset: Metadata,
tokensToMint: number, tokensToMint: string,
marketAddress: string, marketAddress: string,
cost = 1 cost = '1'
): Promise<DDO> { ): Promise<DDO> {
if (status !== ProviderStatus.CONNECTED) return if (status !== ProviderStatus.CONNECTED) return
const datatoken = new DataTokens( const datatoken = createDataToken()
ocean.datatokens.factoryAddress,
(ocean.datatokens.factoryABI as any).abi,
(ocean.datatokens.datatokensABI as any).abi,
web3
)
Logger.log('datatoken created', datatoken) Logger.log('datatokens created', datatoken)
Logger.log('ocean dt', ocean.datatokens)
const data = { t: 1, url: config.metadataStoreUri } const data = { t: 1, url: config.metadataStoreUri }
const blob = JSON.stringify(data) const blob = JSON.stringify(data)
const tokenAddress = await datatoken.create(blob, accountId) const tokenAddress = await datatoken.create(blob, accountId)
Logger.log('datatoken created', datatoken)
Logger.log('tokensto mint', tokensToMint) Logger.log('tokensto mint', tokensToMint)
await mint(tokenAddress, tokensToMint, datatoken) await mint(tokenAddress, tokensToMint, datatoken)
Logger.log('giving allowance to ', marketAddress) Logger.log('giving allowance to ', marketAddress)
await giveMarketAllowance(tokenAddress,marketAddress, tokensToMint,datatoken) await giveMarketAllowance(
tokenAddress,
marketAddress,
tokensToMint,
datatoken
)
Logger.log('tokenAddress created', tokenAddress) Logger.log('tokenAddress created', tokenAddress)
const publishedDate = new Date(Date.now()).toISOString().split('.')[0] + 'Z' const publishedDate = new Date(Date.now()).toISOString().split('.')[0] + 'Z'
const timeout = 0 const timeout = 0
let services: Service[] = [] let services: Service[] = []
const price = datatoken.toWei(cost)
switch (asset.main.type) { switch (asset.main.type) {
case 'dataset': { case 'dataset': {
const accessService = await ocean.assets.createAccessServiceAttributes( const accessService = await ocean.assets.createAccessServiceAttributes(
account, account,
cost.toString(), price,
publishedDate, publishedDate,
timeout timeout
) )
@ -77,16 +87,10 @@ function usePublish(): UsePublish {
async function mint( async function mint(
tokenAddress: string, tokenAddress: string,
tokensToMint: number, tokensToMint: string,
datatoken?: DataTokens datatoken?: DataTokens
) { ) {
if (datatoken === undefined) if (datatoken === undefined) datatoken = createDataToken()
datatoken = new DataTokens(
ocean.datatokens.factoryAddress,
(ocean.datatokens.factoryABI as any).abi,
(ocean.datatokens.datatokensABI as any).abi,
web3
)
Logger.log('mint function', tokenAddress, accountId) Logger.log('mint function', tokenAddress, accountId)
await datatoken.mint(tokenAddress, accountId, tokensToMint) await datatoken.mint(tokenAddress, accountId, tokensToMint)
} }
@ -94,18 +98,11 @@ function usePublish(): UsePublish {
async function giveMarketAllowance( async function giveMarketAllowance(
tokenAddress: string, tokenAddress: string,
marketAddress: string, marketAddress: string,
tokens: number, tokens: string,
datatoken?: DataTokens datatoken?: DataTokens
) { ) {
if (datatoken === undefined) if (datatoken === undefined) datatoken = createDataToken()
datatoken = new DataTokens(
ocean.datatokens.factoryAddress,
(ocean.datatokens.factoryABI as any).abi,
(ocean.datatokens.datatokensABI as any).abi,
web3
)
await datatoken.approve(tokenAddress, marketAddress, tokens, accountId) await datatoken.approve(tokenAddress, marketAddress, tokens, accountId)
} }
return { return {

View File

@ -62,6 +62,10 @@ function OceanProvider({
const web3 = new Web3(provider) const web3 = new Web3(provider)
setWeb3(web3) setWeb3(web3)
// const factory = require('@oceanprotocol/contracts/artifacts/development/Factory.json')
// const datatokensTemplate = require('@oceanprotocol/contracts/artifacts/development/DataTokenTemplate.json')
// config.factoryABI = factory.abi
// config.datatokensABI = datatokensTemplate.abi
config.web3Provider = web3 config.web3Provider = web3
const ocean = await Ocean.getInstance(config) const ocean = await Ocean.getInstance(config)

View File

@ -10,7 +10,6 @@ export async function getDefaultProviders(){
infuraId: 'INFURA_ID' // required infuraId: 'INFURA_ID' // required
} }
} }
} }
return { cacheProvider: true, providerOptions } return { cacheProvider: true, providerOptions }