1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

Merge branch 'main' into feature/multinetwork

This commit is contained in:
Matthias Kretschmann 2021-07-22 15:17:18 +02:00
commit 37ea73d421
Signed by: m
GPG Key ID: 606EEEF3C479A91F
9 changed files with 316 additions and 172 deletions

328
package-lock.json generated
View File

@ -19,7 +19,7 @@
"@sindresorhus/slugify": "^2.1.0",
"@tippyjs/react": "^4.2.5",
"@urql/introspection": "^0.3.0",
"@walletconnect/web3-provider": "^1.4.1",
"@walletconnect/web3-provider": "^1.5.0-rc.7",
"axios": "^0.21.1",
"chart.js": "^2.9.4",
"classnames": "^2.3.1",
@ -71,7 +71,7 @@
"swr": "^0.5.6",
"urql": "^2.0.3",
"use-dark-mode": "^2.3.1",
"web3": "^1.3.6",
"web3": "^1.4.0",
"web3modal": "^1.9.3",
"yup": "^0.32.9"
},
@ -5494,19 +5494,20 @@
"optional": true
},
"node_modules/@json-rpc-tools/types": {
"version": "1.7.6",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz",
"integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==",
"version": "2.0.0-beta.12",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-2.0.0-beta.12.tgz",
"integrity": "sha512-UM8w0RnD4DjYql/HlThe051ivW2Q8ulWarr7ux5Aas1UsOmcGQEg4slQo46p+BXgh1Nth7SHWS2tVnW/UUnCwQ==",
"dependencies": {
"keyvaluestorage-interface": "^1.0.0"
}
},
"node_modules/@json-rpc-tools/utils": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.6.1.tgz",
"integrity": "sha512-cNwP4QapAls+xATU8zLLqPYa9qCbgwEyWEK7vE1oH91b3LfbUYwHtiWZ1+rv0X/mh/9cWNTo2Oi2Sah/QX0WwA==",
"version": "2.0.0-beta.12",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-2.0.0-beta.12.tgz",
"integrity": "sha512-7j3REzegFNXdgA0rjllNKz84ikIAXm4Yv3mO8Lx9D64hUOU2tUZfELtKEm2wr8FsP5if46Xl9ZH/Ch7JB4nXJQ==",
"dependencies": {
"@json-rpc-tools/types": "^1.6.1"
"@json-rpc-tools/types": "^2.0.0-beta.12",
"@pedrouid/environment": "^1.0.1"
}
},
"node_modules/@ledgerhq/devices": {
@ -6613,20 +6614,21 @@
"integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug=="
},
"node_modules/@pedrouid/iso-crypto": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-crypto/-/iso-crypto-1.1.0.tgz",
"integrity": "sha512-twi+tW67XT0BSOv4rsegnGo4TQMhfFswS/GY3KhrjFiNw3z9x+cMkfO+itNe1JZghQxsxHuhifvfsnG814g1hQ==",
"version": "2.0.0-beta.7",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-crypto/-/iso-crypto-2.0.0-beta.7.tgz",
"integrity": "sha512-5FxV0kH1gWeI+ejAh3yub/niB/ecxdtUUw8BvKFsPNjNHYF4Zz7zMa1EcSSjOri5D/mw6PLW/Vp+3I2wfeICcw==",
"dependencies": {
"@pedrouid/iso-random": "^1.1.0",
"@pedrouid/environment": "^1.0.1",
"@pedrouid/iso-random": "^2.0.0-beta.6",
"aes-js": "^3.1.2",
"enc-utils": "^3.0.0",
"hash.js": "^1.1.7"
}
},
"node_modules/@pedrouid/iso-random": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-random/-/iso-random-1.2.1.tgz",
"integrity": "sha512-C35NqYMmLsg61WDiEup4OwjRhgfZIcK4BL+Qg49xowHUJ+f7/LFZCO+TGuQqoXFAj1beKIOpUN33f0fqV7zneQ==",
"version": "2.0.0-beta.6",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-random/-/iso-random-2.0.0-beta.6.tgz",
"integrity": "sha512-y2oAAPULxBWVSF2FLA0veB/qAfclbyJqepxx2p9/dT4166B+iVfIO5Y+YBXo3t9yhKfSpjdg8lJcd4Cyfe2Yvg==",
"dependencies": {
"@pedrouid/environment": "^1.0.1",
"enc-utils": "^3.0.0",
@ -10109,57 +10111,57 @@
}
},
"node_modules/@walletconnect/browser-utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.4.1.tgz",
"integrity": "sha512-ONrkPSI/27o1Wj8kUwE0uUZFk0GDCDQBJy614GsrhcwuQwJEW/B+nXPQ+Ca/4WvQySM5hWVHp1gO1kozSUkh3A==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.5.0-rc.7.tgz",
"integrity": "sha512-bSXB7hQbrXlE4uIayK5MmNTlsCewgvI+QhWpBOIgNTGHHxhgtHFiuw4HHJ4p2398L1J3SY2+7xt62PzrjVNuRA==",
"dependencies": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"detect-browser": "5.2.0",
"safe-json-utils": "1.0.0",
"safe-json-utils": "2.0.0-beta.0",
"window-getters": "1.0.0",
"window-metadata": "1.0.0"
}
},
"node_modules/@walletconnect/client": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.4.1.tgz",
"integrity": "sha512-JRW+9+j9LwszY76/WcIumEiLmhX7eidorH9SFFmI2pFfbrhB6KLe87FaA106kxwZUyWKOLZ6jVV4d1urYSdEwA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.5.0-rc.7.tgz",
"integrity": "sha512-oz46HCWaxiIYm9i+tswRZCG870h+IFmFUb4AF/FqCCNcLbDkMY74neX48Nzl9JEsgxA/fJPbS0hRjocD2yEtjQ==",
"dependencies": {
"@walletconnect/core": "^1.4.1",
"@walletconnect/iso-crypto": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@walletconnect/core": "^1.5.0-rc.7",
"@walletconnect/iso-crypto": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"node_modules/@walletconnect/core": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.4.1.tgz",
"integrity": "sha512-NzWvhk4akI2uhORUxMDMS/8yAdfp+nzvb5QdTE0eTD0WOrK16qAfYLSU/IjFc2J2lqhuPVxfO2XV7QoxgCXfwA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.5.0-rc.7.tgz",
"integrity": "sha512-FKYAQFDyBtpENyChhYXzj+y/zdfJFYORCGu23VqdlVjCX9/PK+IlOWNCzTwMXJrFaFtWhowqZEoj8tBJt8wEZw==",
"dependencies": {
"@walletconnect/socket-transport": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@walletconnect/socket-transport": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"node_modules/@walletconnect/http-connection": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.4.1.tgz",
"integrity": "sha512-nxpaTjS89exDQQdrp/NJsbbfREio6WQ0aJ9+nZv1YGIIGVu/7WaNDuVY+UXbaBWPEKYrysf4nvzNHJ2BWhkqoA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.5.0-rc.7.tgz",
"integrity": "sha512-jMac+OJ9FzsfdHgdhrtW9Pjv1oLtGY1peNfjxXwhdr3ZNaWiOmdu9XJf7L+hrcTiFqwGnuy8maBzyYWbirRR+g==",
"dependencies": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"eventemitter3": "4.0.7",
"xhr2-cookies": "1.1.0"
}
},
"node_modules/@walletconnect/iso-crypto": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.4.1.tgz",
"integrity": "sha512-rzfqM/DFhzNxBriMCU4DOarPkH+Brgll+2a2YeO6zHgMlwZtBKi5mMgzBwbDC3XygOvKbcRTB9G9hr8uYn+i5g==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.5.0-rc.7.tgz",
"integrity": "sha512-UpUN5ddxxi6Fy8KDS0tEjd3x6rRX4EPA/k6DSiaPSoIa+9eJ0S8uGAtxN5lYpxu6fuBXU4ZoHbcJQ7bVZr7uxA==",
"dependencies": {
"@pedrouid/iso-crypto": "^1.0.0",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@pedrouid/iso-crypto": "^2.0.0-beta.3",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"node_modules/@walletconnect/mobile-registry": {
@ -10169,40 +10171,41 @@
"deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry"
},
"node_modules/@walletconnect/qrcode-modal": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.4.1.tgz",
"integrity": "sha512-cIPKwYg+029UQY0natMyuNudxppYMfAzV2zAgdOSViphKTRY8RTI0DcJXVGPXEwx4k6Os3Vj6Fhqqo3RXOtgKg==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.5.0-rc.7.tgz",
"integrity": "sha512-gfcPZADyzS5PdblEe6T6hkbRI3PWw4Hm0nvGc1JylsM70zrISw4KzUJ2V05T8T4qZcfSUi0oC3zxiFglSzjhOg==",
"dependencies": {
"@walletconnect/browser-utils": "^1.4.1",
"@walletconnect/browser-utils": "^1.5.0-rc.7",
"@walletconnect/mobile-registry": "^1.4.0",
"@walletconnect/types": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"copy-to-clipboard": "^3.3.1",
"preact": "10.4.1",
"qrcode": "1.4.4"
}
},
"node_modules/@walletconnect/socket-transport": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.4.1.tgz",
"integrity": "sha512-/5Mhu4bu3tS52LqTlmmjx5x/N89XqbuT0YMobvQ+k/m+VqSeBDntqIjwBt7XiFlCbrUTq3/yTajavGFxWFB6pA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.5.0-rc.7.tgz",
"integrity": "sha512-FBb3pBQwZ7Y4+NAeHwDQ1UhYeaMG3u174w/TelNOygnXzfwKsFuQ58ORyHCfGtVV5s3z1KhDPqtWlXJZCPvh3Q==",
"dependencies": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"ws": "7.3.0"
}
},
"node_modules/@walletconnect/types": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.4.1.tgz",
"integrity": "sha512-lzS9NbXjVb5N+W/UnCZAflxjLtYepUi4ev1IeFozSvr/cWxAhEe/sjixe7WEIpYklW27kfBhKccMH/KjUoRC7w=="
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.5.0-rc.7.tgz",
"integrity": "sha512-YHMRcSJFHehNEJiSvXr/kKvmOSsJNFi/T6Ea3vOmvtX3LvbX3S4cx9WNDlvrYlmcY95kGeqWr4ZW3JD/UICyKA=="
},
"node_modules/@walletconnect/utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.4.1.tgz",
"integrity": "sha512-JrVjcXmWVcU02fmVNZFBpJ48f84qyar24CF7szGv+k9ZxvU9J7XkM+Fic4790Dt3DaWhOzS9/eBUa+BEZcBbNw==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.5.0-rc.7.tgz",
"integrity": "sha512-T1TX5zXI4fEKV1O0hre90P9enWYkKsZ0a2BJf2i1BW6O4kunKLmdy64tDSQMkBbqhUNvfN4xFCxvQUx3A5AcGA==",
"dependencies": {
"@json-rpc-tools/utils": "1.6.1",
"@walletconnect/browser-utils": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@json-rpc-tools/utils": "^2.0.0-beta.11",
"@walletconnect/browser-utils": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"bn.js": "4.11.8",
"enc-utils": "3.0.0",
"js-sha3": "0.8.0",
@ -10226,15 +10229,15 @@
}
},
"node_modules/@walletconnect/web3-provider": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.4.1.tgz",
"integrity": "sha512-gUoBGM5hdtcXSoLXDTG1/WTamnUNpEWfaYMIVkfVnvVFd4whIjb0iOW5ywvDOf/49wq0C2+QThZL2Wc+r+jKLA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.5.0-rc.7.tgz",
"integrity": "sha512-e5oFGAhkUKXYlYd/WONBFti/JejoF/jdjSSGjIHgru6ww083Dgi3Q/xTbll10fJQk/YZjJ9kvQOMpWQwLq0FRA==",
"dependencies": {
"@walletconnect/client": "^1.4.1",
"@walletconnect/http-connection": "^1.4.1",
"@walletconnect/qrcode-modal": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/client": "^1.5.0-rc.7",
"@walletconnect/http-connection": "^1.5.0-rc.7",
"@walletconnect/qrcode-modal": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"web3-provider-engine": "16.0.1"
}
},
@ -16346,6 +16349,14 @@
"node": ">=0.10.0"
}
},
"node_modules/copy-to-clipboard": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
"integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
"dependencies": {
"toggle-selection": "^1.0.6"
}
},
"node_modules/copyfiles": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz",
@ -45823,9 +45834,9 @@
}
},
"node_modules/safe-json-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.0.0.tgz",
"integrity": "sha512-n0hJm6BgX8wk3G+AS8MOQnfcA8dfE6ZMUfwkHUNx69YxPlU3HDaZTHXWto35Z+C4mOjK1odlT95WutkGC+0Idw=="
"version": "2.0.0-beta.0",
"resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-2.0.0-beta.0.tgz",
"integrity": "sha512-kaIaayQoR1EoeX0UIQqQyHvWNNWKnQcrNmebCpR80zSjML/EMmulChGJDSoJvFR8eWkVIpDD5kAF0dMuxl1ngg=="
},
"node_modules/safe-regex": {
"version": "1.1.0",
@ -50448,6 +50459,11 @@
"node": ">=0.10.0"
}
},
"node_modules/toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"node_modules/toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
@ -60030,19 +60046,20 @@
"optional": true
},
"@json-rpc-tools/types": {
"version": "1.7.6",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz",
"integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==",
"version": "2.0.0-beta.12",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-2.0.0-beta.12.tgz",
"integrity": "sha512-UM8w0RnD4DjYql/HlThe051ivW2Q8ulWarr7ux5Aas1UsOmcGQEg4slQo46p+BXgh1Nth7SHWS2tVnW/UUnCwQ==",
"requires": {
"keyvaluestorage-interface": "^1.0.0"
}
},
"@json-rpc-tools/utils": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.6.1.tgz",
"integrity": "sha512-cNwP4QapAls+xATU8zLLqPYa9qCbgwEyWEK7vE1oH91b3LfbUYwHtiWZ1+rv0X/mh/9cWNTo2Oi2Sah/QX0WwA==",
"version": "2.0.0-beta.12",
"resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-2.0.0-beta.12.tgz",
"integrity": "sha512-7j3REzegFNXdgA0rjllNKz84ikIAXm4Yv3mO8Lx9D64hUOU2tUZfELtKEm2wr8FsP5if46Xl9ZH/Ch7JB4nXJQ==",
"requires": {
"@json-rpc-tools/types": "^1.6.1"
"@json-rpc-tools/types": "^2.0.0-beta.12",
"@pedrouid/environment": "^1.0.1"
}
},
"@ledgerhq/devices": {
@ -60919,20 +60936,21 @@
"integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug=="
},
"@pedrouid/iso-crypto": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-crypto/-/iso-crypto-1.1.0.tgz",
"integrity": "sha512-twi+tW67XT0BSOv4rsegnGo4TQMhfFswS/GY3KhrjFiNw3z9x+cMkfO+itNe1JZghQxsxHuhifvfsnG814g1hQ==",
"version": "2.0.0-beta.7",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-crypto/-/iso-crypto-2.0.0-beta.7.tgz",
"integrity": "sha512-5FxV0kH1gWeI+ejAh3yub/niB/ecxdtUUw8BvKFsPNjNHYF4Zz7zMa1EcSSjOri5D/mw6PLW/Vp+3I2wfeICcw==",
"requires": {
"@pedrouid/iso-random": "^1.1.0",
"@pedrouid/environment": "^1.0.1",
"@pedrouid/iso-random": "^2.0.0-beta.6",
"aes-js": "^3.1.2",
"enc-utils": "^3.0.0",
"hash.js": "^1.1.7"
}
},
"@pedrouid/iso-random": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-random/-/iso-random-1.2.1.tgz",
"integrity": "sha512-C35NqYMmLsg61WDiEup4OwjRhgfZIcK4BL+Qg49xowHUJ+f7/LFZCO+TGuQqoXFAj1beKIOpUN33f0fqV7zneQ==",
"version": "2.0.0-beta.6",
"resolved": "https://registry.npmjs.org/@pedrouid/iso-random/-/iso-random-2.0.0-beta.6.tgz",
"integrity": "sha512-y2oAAPULxBWVSF2FLA0veB/qAfclbyJqepxx2p9/dT4166B+iVfIO5Y+YBXo3t9yhKfSpjdg8lJcd4Cyfe2Yvg==",
"requires": {
"@pedrouid/environment": "^1.0.1",
"enc-utils": "^3.0.0",
@ -63956,57 +63974,57 @@
"requires": {}
},
"@walletconnect/browser-utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.4.1.tgz",
"integrity": "sha512-ONrkPSI/27o1Wj8kUwE0uUZFk0GDCDQBJy614GsrhcwuQwJEW/B+nXPQ+Ca/4WvQySM5hWVHp1gO1kozSUkh3A==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.5.0-rc.7.tgz",
"integrity": "sha512-bSXB7hQbrXlE4uIayK5MmNTlsCewgvI+QhWpBOIgNTGHHxhgtHFiuw4HHJ4p2398L1J3SY2+7xt62PzrjVNuRA==",
"requires": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"detect-browser": "5.2.0",
"safe-json-utils": "1.0.0",
"safe-json-utils": "2.0.0-beta.0",
"window-getters": "1.0.0",
"window-metadata": "1.0.0"
}
},
"@walletconnect/client": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.4.1.tgz",
"integrity": "sha512-JRW+9+j9LwszY76/WcIumEiLmhX7eidorH9SFFmI2pFfbrhB6KLe87FaA106kxwZUyWKOLZ6jVV4d1urYSdEwA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.5.0-rc.7.tgz",
"integrity": "sha512-oz46HCWaxiIYm9i+tswRZCG870h+IFmFUb4AF/FqCCNcLbDkMY74neX48Nzl9JEsgxA/fJPbS0hRjocD2yEtjQ==",
"requires": {
"@walletconnect/core": "^1.4.1",
"@walletconnect/iso-crypto": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@walletconnect/core": "^1.5.0-rc.7",
"@walletconnect/iso-crypto": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"@walletconnect/core": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.4.1.tgz",
"integrity": "sha512-NzWvhk4akI2uhORUxMDMS/8yAdfp+nzvb5QdTE0eTD0WOrK16qAfYLSU/IjFc2J2lqhuPVxfO2XV7QoxgCXfwA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.5.0-rc.7.tgz",
"integrity": "sha512-FKYAQFDyBtpENyChhYXzj+y/zdfJFYORCGu23VqdlVjCX9/PK+IlOWNCzTwMXJrFaFtWhowqZEoj8tBJt8wEZw==",
"requires": {
"@walletconnect/socket-transport": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@walletconnect/socket-transport": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"@walletconnect/http-connection": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.4.1.tgz",
"integrity": "sha512-nxpaTjS89exDQQdrp/NJsbbfREio6WQ0aJ9+nZv1YGIIGVu/7WaNDuVY+UXbaBWPEKYrysf4nvzNHJ2BWhkqoA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.5.0-rc.7.tgz",
"integrity": "sha512-jMac+OJ9FzsfdHgdhrtW9Pjv1oLtGY1peNfjxXwhdr3ZNaWiOmdu9XJf7L+hrcTiFqwGnuy8maBzyYWbirRR+g==",
"requires": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"eventemitter3": "4.0.7",
"xhr2-cookies": "1.1.0"
}
},
"@walletconnect/iso-crypto": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.4.1.tgz",
"integrity": "sha512-rzfqM/DFhzNxBriMCU4DOarPkH+Brgll+2a2YeO6zHgMlwZtBKi5mMgzBwbDC3XygOvKbcRTB9G9hr8uYn+i5g==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.5.0-rc.7.tgz",
"integrity": "sha512-UpUN5ddxxi6Fy8KDS0tEjd3x6rRX4EPA/k6DSiaPSoIa+9eJ0S8uGAtxN5lYpxu6fuBXU4ZoHbcJQ7bVZr7uxA==",
"requires": {
"@pedrouid/iso-crypto": "^1.0.0",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1"
"@pedrouid/iso-crypto": "^2.0.0-beta.3",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7"
}
},
"@walletconnect/mobile-registry": {
@ -64015,40 +64033,41 @@
"integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw=="
},
"@walletconnect/qrcode-modal": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.4.1.tgz",
"integrity": "sha512-cIPKwYg+029UQY0natMyuNudxppYMfAzV2zAgdOSViphKTRY8RTI0DcJXVGPXEwx4k6Os3Vj6Fhqqo3RXOtgKg==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.5.0-rc.7.tgz",
"integrity": "sha512-gfcPZADyzS5PdblEe6T6hkbRI3PWw4Hm0nvGc1JylsM70zrISw4KzUJ2V05T8T4qZcfSUi0oC3zxiFglSzjhOg==",
"requires": {
"@walletconnect/browser-utils": "^1.4.1",
"@walletconnect/browser-utils": "^1.5.0-rc.7",
"@walletconnect/mobile-registry": "^1.4.0",
"@walletconnect/types": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"copy-to-clipboard": "^3.3.1",
"preact": "10.4.1",
"qrcode": "1.4.4"
}
},
"@walletconnect/socket-transport": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.4.1.tgz",
"integrity": "sha512-/5Mhu4bu3tS52LqTlmmjx5x/N89XqbuT0YMobvQ+k/m+VqSeBDntqIjwBt7XiFlCbrUTq3/yTajavGFxWFB6pA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.5.0-rc.7.tgz",
"integrity": "sha512-FBb3pBQwZ7Y4+NAeHwDQ1UhYeaMG3u174w/TelNOygnXzfwKsFuQ58ORyHCfGtVV5s3z1KhDPqtWlXJZCPvh3Q==",
"requires": {
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"ws": "7.3.0"
}
},
"@walletconnect/types": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.4.1.tgz",
"integrity": "sha512-lzS9NbXjVb5N+W/UnCZAflxjLtYepUi4ev1IeFozSvr/cWxAhEe/sjixe7WEIpYklW27kfBhKccMH/KjUoRC7w=="
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.5.0-rc.7.tgz",
"integrity": "sha512-YHMRcSJFHehNEJiSvXr/kKvmOSsJNFi/T6Ea3vOmvtX3LvbX3S4cx9WNDlvrYlmcY95kGeqWr4ZW3JD/UICyKA=="
},
"@walletconnect/utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.4.1.tgz",
"integrity": "sha512-JrVjcXmWVcU02fmVNZFBpJ48f84qyar24CF7szGv+k9ZxvU9J7XkM+Fic4790Dt3DaWhOzS9/eBUa+BEZcBbNw==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.5.0-rc.7.tgz",
"integrity": "sha512-T1TX5zXI4fEKV1O0hre90P9enWYkKsZ0a2BJf2i1BW6O4kunKLmdy64tDSQMkBbqhUNvfN4xFCxvQUx3A5AcGA==",
"requires": {
"@json-rpc-tools/utils": "1.6.1",
"@walletconnect/browser-utils": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@json-rpc-tools/utils": "^2.0.0-beta.11",
"@walletconnect/browser-utils": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"bn.js": "4.11.8",
"enc-utils": "3.0.0",
"js-sha3": "0.8.0",
@ -64068,15 +64087,15 @@
}
},
"@walletconnect/web3-provider": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.4.1.tgz",
"integrity": "sha512-gUoBGM5hdtcXSoLXDTG1/WTamnUNpEWfaYMIVkfVnvVFd4whIjb0iOW5ywvDOf/49wq0C2+QThZL2Wc+r+jKLA==",
"version": "1.5.0-rc.7",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.5.0-rc.7.tgz",
"integrity": "sha512-e5oFGAhkUKXYlYd/WONBFti/JejoF/jdjSSGjIHgru6ww083Dgi3Q/xTbll10fJQk/YZjJ9kvQOMpWQwLq0FRA==",
"requires": {
"@walletconnect/client": "^1.4.1",
"@walletconnect/http-connection": "^1.4.1",
"@walletconnect/qrcode-modal": "^1.4.1",
"@walletconnect/types": "^1.4.1",
"@walletconnect/utils": "^1.4.1",
"@walletconnect/client": "^1.5.0-rc.7",
"@walletconnect/http-connection": "^1.5.0-rc.7",
"@walletconnect/qrcode-modal": "^1.5.0-rc.7",
"@walletconnect/types": "^1.5.0-rc.7",
"@walletconnect/utils": "^1.5.0-rc.7",
"web3-provider-engine": "16.0.1"
}
},
@ -69086,6 +69105,14 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"copy-to-clipboard": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
"integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
"requires": {
"toggle-selection": "^1.0.6"
}
},
"copyfiles": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz",
@ -92634,9 +92661,9 @@
}
},
"safe-json-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.0.0.tgz",
"integrity": "sha512-n0hJm6BgX8wk3G+AS8MOQnfcA8dfE6ZMUfwkHUNx69YxPlU3HDaZTHXWto35Z+C4mOjK1odlT95WutkGC+0Idw=="
"version": "2.0.0-beta.0",
"resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-2.0.0-beta.0.tgz",
"integrity": "sha512-kaIaayQoR1EoeX0UIQqQyHvWNNWKnQcrNmebCpR80zSjML/EMmulChGJDSoJvFR8eWkVIpDD5kAF0dMuxl1ngg=="
},
"safe-regex": {
"version": "1.1.0",
@ -96397,6 +96424,11 @@
"is-number": "^7.0.0"
}
},
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",

View File

@ -34,7 +34,7 @@
"@sindresorhus/slugify": "^2.1.0",
"@tippyjs/react": "^4.2.5",
"@urql/introspection": "^0.3.0",
"@walletconnect/web3-provider": "^1.4.1",
"@walletconnect/web3-provider": "^1.5.0-rc.7",
"axios": "^0.21.1",
"chart.js": "^2.9.4",
"classnames": "^2.3.1",
@ -86,7 +86,7 @@
"swr": "^0.5.6",
"urql": "^2.0.3",
"use-dark-mode": "^2.3.1",
"web3": "^1.3.6",
"web3": "^1.4.0",
"web3modal": "^1.9.3",
"yup": "^0.32.9"
},

View File

@ -10,6 +10,7 @@ interface ButtonBuyProps {
hasDatatoken: boolean
dtSymbol: string
dtBalance: string
datasetLowPoolLiquidity: boolean
assetType: string
assetTimeout: string
isConsumable: boolean
@ -18,6 +19,7 @@ interface ButtonBuyProps {
hasDatatokenSelectedComputeAsset?: boolean
dtSymbolSelectedComputeAsset?: string
dtBalanceSelectedComputeAsset?: string
selectedComputeAssetLowPoolLiquidity?: boolean
selectedComputeAssetType?: string
isLoading: boolean
onClick?: (e: FormEvent<HTMLButtonElement>) => void
@ -33,6 +35,7 @@ function getConsumeHelpText(
dtSymbol: string,
hasDatatoken: boolean,
hasPreviousOrder: boolean,
lowPoolLiquidity: boolean,
assetType: string,
isConsumable: boolean,
consumableFeedback: string
@ -44,8 +47,9 @@ function getConsumeHelpText(
? `You bought this ${assetType} already allowing you to use it without paying again.`
: hasDatatoken
? `You own ${dtBalance} ${dtSymbol} allowing you to use this data set by spending 1 ${dtSymbol}, but without paying OCEAN again.`
: lowPoolLiquidity
? `There are not enought ${dtSymbol} available in the pool for the transaction to take place`
: `For using this ${assetType}, you will buy 1 ${dtSymbol} and immediately spend it back to the publisher and pool.`
return text
}
@ -54,6 +58,7 @@ function getComputeAssetHelpText(
hasDatatoken: boolean,
dtSymbol: string,
dtBalance: string,
lowPoolLiquidity: boolean,
assetType: string,
isConsumable: boolean,
consumableFeedback: string,
@ -61,6 +66,7 @@ function getComputeAssetHelpText(
hasDatatokenSelectedComputeAsset?: boolean,
dtSymbolSelectedComputeAsset?: string,
dtBalanceSelectedComputeAsset?: string,
selectedComputeAssettLowPoolLiquidity?: boolean,
selectedComputeAssetType?: string,
algorithmConsumableStatus?: number
) {
@ -69,11 +75,12 @@ function getComputeAssetHelpText(
dtSymbol,
hasDatatoken,
hasPreviousOrder,
lowPoolLiquidity,
assetType,
isConsumable,
consumableFeedback
)
const text =
const computeAlgoHelpText =
(!dtSymbolSelectedComputeAsset && !dtBalanceSelectedComputeAsset) ||
isConsumable === false
? ''
@ -87,9 +94,15 @@ function getComputeAssetHelpText(
? `You already bought the selected ${selectedComputeAssetType}, allowing you to use it without paying again.`
: hasDatatokenSelectedComputeAsset
? `You own ${dtBalanceSelectedComputeAsset} ${dtSymbolSelectedComputeAsset} allowing you to use the selected ${selectedComputeAssetType} by spending 1 ${dtSymbolSelectedComputeAsset}, but without paying OCEAN again.`
: selectedComputeAssettLowPoolLiquidity
? `There are not enought ${dtSymbolSelectedComputeAsset} available in the pool for the transaction to take place`
: `Additionally, you will buy 1 ${dtSymbolSelectedComputeAsset} for the ${selectedComputeAssetType} and spend it back to its publisher and pool.`
return `${computeAssetHelpText} ${text}`
const computeHelpText = selectedComputeAssettLowPoolLiquidity
? computeAlgoHelpText
: lowPoolLiquidity
? computeAssetHelpText
: `${computeAssetHelpText} ${computeAlgoHelpText}`
return computeHelpText
}
export default function ButtonBuy({
@ -99,6 +112,7 @@ export default function ButtonBuy({
hasDatatoken,
dtSymbol,
dtBalance,
datasetLowPoolLiquidity,
assetType,
assetTimeout,
isConsumable,
@ -107,6 +121,7 @@ export default function ButtonBuy({
hasDatatokenSelectedComputeAsset,
dtSymbolSelectedComputeAsset,
dtBalanceSelectedComputeAsset,
selectedComputeAssetLowPoolLiquidity,
selectedComputeAssetType,
onClick,
stepText,
@ -150,6 +165,7 @@ export default function ButtonBuy({
dtSymbol,
hasDatatoken,
hasPreviousOrder,
datasetLowPoolLiquidity,
assetType,
isConsumable,
consumableFeedback
@ -159,6 +175,7 @@ export default function ButtonBuy({
hasDatatoken,
dtSymbol,
dtBalance,
datasetLowPoolLiquidity,
assetType,
isConsumable,
consumableFeedback,
@ -166,6 +183,7 @@ export default function ButtonBuy({
hasDatatokenSelectedComputeAsset,
dtSymbolSelectedComputeAsset,
dtBalanceSelectedComputeAsset,
selectedComputeAssetLowPoolLiquidity,
selectedComputeAssetType,
algorithmConsumableStatus
)}

View File

@ -14,6 +14,7 @@ export default function Details(): ReactElement {
const {
web3Provider,
web3ProviderInfo,
web3Modal,
connect,
logout,
networkData,
@ -107,8 +108,8 @@ export default function Details(): ReactElement {
<Button
style="text"
size="small"
onClick={() => {
logout()
onClick={async () => {
await web3Modal?.clearCachedProvider()
connect()
}}
>

View File

@ -51,12 +51,14 @@ export default function FormStartCompute({
hasPreviousOrder,
hasDatatoken,
dtBalance,
datasetLowPoolLiquidity,
assetType,
assetTimeout,
hasPreviousOrderSelectedComputeAsset,
hasDatatokenSelectedComputeAsset,
dtSymbolSelectedComputeAsset,
dtBalanceSelectedComputeAsset,
selectedComputeAssetLowPoolLiquidity,
selectedComputeAssetType,
selectedComputeAssetTimeout,
stepText,
@ -72,12 +74,14 @@ export default function FormStartCompute({
hasPreviousOrder: boolean
hasDatatoken: boolean
dtBalance: string
datasetLowPoolLiquidity: boolean
assetType: string
assetTimeout: string
hasPreviousOrderSelectedComputeAsset?: boolean
hasDatatokenSelectedComputeAsset?: boolean
dtSymbolSelectedComputeAsset?: string
dtBalanceSelectedComputeAsset?: string
selectedComputeAssetLowPoolLiquidity?: boolean
selectedComputeAssetType?: string
selectedComputeAssetTimeout?: string
stepText: string
@ -180,6 +184,7 @@ export default function FormStartCompute({
hasDatatoken={hasDatatoken}
dtSymbol={ddo.dataTokenInfo.symbol}
dtBalance={dtBalance}
datasetLowPoolLiquidity={datasetLowPoolLiquidity}
assetTimeout={assetTimeout}
assetType={assetType}
hasPreviousOrderSelectedComputeAsset={
@ -188,6 +193,9 @@ export default function FormStartCompute({
hasDatatokenSelectedComputeAsset={hasDatatokenSelectedComputeAsset}
dtSymbolSelectedComputeAsset={dtSymbolSelectedComputeAsset}
dtBalanceSelectedComputeAsset={dtBalanceSelectedComputeAsset}
selectedComputeAssetLowPoolLiquidity={
selectedComputeAssetLowPoolLiquidity
}
selectedComputeAssetType={selectedComputeAssetType}
stepText={stepText}
isLoading={isLoading}

View File

@ -73,6 +73,8 @@ export default function Compute({
const [ddoAlgorithmList, setDdoAlgorithmList] = useState<DDO[]>()
const [selectedAlgorithmAsset, setSelectedAlgorithmAsset] = useState<DDO>()
const [hasAlgoAssetDatatoken, setHasAlgoAssetDatatoken] = useState<boolean>()
const [datasetMaxDT, setDatasetMaxDT] = useState<number>(1)
const [algoMaxDT, setAlgoMaxDT] = useState<number>(1)
const [isPublished, setIsPublished] = useState(false)
const [hasPreviousDatasetOrder, setHasPreviousDatasetOrder] = useState(false)
const [previousDatasetOrderId, setPreviousDatasetOrderId] = useState<string>()
@ -85,13 +87,15 @@ export default function Compute({
const [datasetTimeout, setDatasetTimeout] = useState<string>()
const [algorithmTimeout, setAlgorithmTimeout] = useState<string>()
const hasDatatoken = Number(dtBalance) >= 1
const isComputeButtonDisabled =
isJobStarting === true ||
file === null ||
!ocean ||
!isBalanceSufficient ||
!isConsumable
const hasDatatoken = Number(dtBalance) >= 1
(!hasPreviousDatasetOrder && !hasDatatoken && !(datasetMaxDT >= 1)) ||
(!hasPreviousAlgorithmOrder && !hasAlgoAssetDatatoken && !(algoMaxDT >= 1))
async function checkPreviousOrders(ddo: DDO) {
const { timeout } = (
@ -121,6 +125,22 @@ export default function Compute({
setHasAlgoAssetDatatoken(Number(AssetDtBalance) >= 1)
}
async function checkAssetDTMaxBuyQuantity(
price: BestPrice,
assetType: string
) {
if (!ocean || !price || !assetType) return
const maxTokensInPool =
price.type === 'pool'
? await ocean.pool.getDTMaxBuyQuantity(price.address)
: 1
if (assetType === 'algorithm') {
setAlgoMaxDT(Number(maxTokensInPool))
} else {
setDatasetMaxDT(Number(maxTokensInPool))
}
}
function getQuerryString(
trustedAlgorithmList: publisherTrustedAlgorithm[],
chainId?: number
@ -188,6 +208,11 @@ export default function Compute({
if (!ddo) return
const price = await getPrice(ddo)
setAlgorithmPrice(price)
ocean &&
checkAssetDTMaxBuyQuantity(
price,
ddo.findServiceByType('metadata').attributes.main.type
)
}, [])
useEffect(() => {
@ -200,6 +225,10 @@ export default function Compute({
useEffect(() => {
if (!ocean || !accountId) return
checkPreviousOrders(ddo)
checkAssetDTMaxBuyQuantity(
price,
ddo.findServiceByType('metadata').attributes.main.type
)
}, [ocean, ddo, accountId])
useEffect(() => {
@ -416,6 +445,7 @@ export default function Compute({
hasPreviousOrder={hasPreviousDatasetOrder}
hasDatatoken={hasDatatoken}
dtBalance={dtBalance}
datasetLowPoolLiquidity={!(datasetMaxDT >= 1)}
assetType={type}
assetTimeout={datasetTimeout}
hasPreviousOrderSelectedComputeAsset={hasPreviousAlgorithmOrder}
@ -424,6 +454,7 @@ export default function Compute({
selectedAlgorithmAsset?.dataTokenInfo?.symbol
}
dtBalanceSelectedComputeAsset={algorithmDTBalance}
selectedComputeAssetLowPoolLiquidity={!(algoMaxDT >= 1)}
selectedComputeAssetType="algorithm"
selectedComputeAssetTimeout={algorithmTimeout}
stepText={pricingStepText || 'Starting Compute Job...'}

View File

@ -1,6 +1,6 @@
import React, { ReactElement, useEffect, useState } from 'react'
import { toast } from 'react-toastify'
import { File as FileMetadata, DDO } from '@oceanprotocol/lib'
import { File as FileMetadata, DDO, BestPrice } from '@oceanprotocol/lib'
import File from '../../atoms/File'
import Price from '../../atoms/Price'
import { useSiteMetadata } from '../../../hooks/useSiteMetadata'
@ -59,6 +59,7 @@ export default function Consume({
const { consumeStepText, consume, consumeError, isLoading } = useConsume()
const [isDisabled, setIsDisabled] = useState(true)
const [hasDatatoken, setHasDatatoken] = useState(false)
const [maxDt, setMaxDT] = useState<number>(1)
const [isConsumablePrice, setIsConsumablePrice] = useState(true)
const [assetTimeout, setAssetTimeout] = useState('')
const [result] = useQuery<OrdersData>({
@ -71,12 +72,20 @@ export default function Consume({
})
const { data } = result
async function checkMaxAvaialableTokens(price: BestPrice) {
if (!ocean || !price) return
const maxTokensInPool =
price.type === 'pool'
? await ocean.pool.getDTMaxBuyQuantity(price.address)
: 1
setMaxDT(Number(maxTokensInPool))
}
useEffect(() => {
if (!data || !assetTimeout || data.tokenOrders.length === 0) return
const lastOrder = data.tokenOrders[0]
if (assetTimeout === 'Forever') {
if (assetTimeout === '0') {
setPreviousOrderId(lastOrder.tx)
setHasPreviousOrder(true)
} else {
@ -102,6 +111,7 @@ export default function Consume({
setIsConsumablePrice(
price.isConsumable !== undefined ? price.isConsumable === 'true' : true
)
checkMaxAvaialableTokens(price)
}, [price])
useEffect(() => {
@ -116,6 +126,7 @@ export default function Consume({
!isAssetNetwork ||
typeof consumeStepText !== 'undefined' ||
pricingIsLoading ||
(!hasPreviousOrder && !hasDatatoken && !(maxDt >= 1)) ||
!isConsumablePrice) &&
!hasPreviousOrder &&
!hasDatatoken)
@ -164,6 +175,7 @@ export default function Consume({
hasDatatoken={hasDatatoken}
dtSymbol={ddo.dataTokenInfo?.symbol}
dtBalance={dtBalance}
datasetLowPoolLiquidity={!(maxDt >= 1)}
onClick={handleConsume}
assetTimeout={secondsToString(parseInt(assetTimeout))}
assetType={type}

View File

@ -81,6 +81,30 @@ div.walletconnect-modal__base {
box-shadow: 0 6px 17px 0 var(--box-shadow-color);
}
div.walletconnect-modal__mobile__toggle {
width: 95%;
text-transform: uppercase;
cursor: pointer;
background: var(--background-body);
border: 1px solid var(--border-color);
}
div.walletconnect-modal__mobile__toggle a {
color: var(--color-secondary);
font-weight: var(--font-weight-bold);
font-size: var(--font-size-small);
padding: calc(var(--spacer) / 12) var(--spacer);
white-space: nowrap;
}
div.walletconnect-modal__mobile__toggle_selector {
background: var(--font-color-heading);
color: var(--background-body);
border-color: var(--font-color-heading);
height: calc(100% - calc(var(--spacer) / 12));
top: calc(var(--spacer) / 24);
}
div.walletconnect-modal__header p {
color: var(--font-color-heading);
}
@ -89,6 +113,11 @@ p.walletconnect-qrcode__text {
color: var(--color-secondary);
}
h3.walletconnect-modal__base__row__h3 {
font-size: var(--font-size-base);
color: var(--font-color-text);
}
svg.walletconnect-qrcode__image path:first-child {
fill: var(--background-body);
}

View File

@ -31,6 +31,7 @@ interface Web3ProviderValue {
accountId: string
balance: UserBalance
networkId: number
chainId: number
networkDisplayName: string
networkData: EthereumListsChain
block: number
@ -113,6 +114,7 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement {
const [web3Modal, setWeb3Modal] = useState<Web3Modal>()
const [web3ProviderInfo, setWeb3ProviderInfo] = useState<IProviderInfo>()
const [networkId, setNetworkId] = useState<number>()
const [chainId, setChainId] = useState<number>()
const [networkDisplayName, setNetworkDisplayName] = useState<string>()
const [networkData, setNetworkData] = useState<EthereumListsChain>()
const [block, setBlock] = useState<number>()
@ -147,6 +149,10 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement {
setNetworkId(networkId)
Logger.log('[web3] network id ', networkId)
const chainId = await web3.eth.getChainId()
setChainId(chainId)
Logger.log('[web3] chain id ', chainId)
const accountId = (await web3.eth.getAccounts())[0]
setAccountId(accountId)
Logger.log('[web3] account id', accountId)
@ -277,16 +283,27 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement {
// Logout helper
// -----------------------------------
async function logout() {
web3Modal?.clearCachedProvider()
if (web3 && web3.currentProvider && (web3.currentProvider as any).close) {
await (web3.currentProvider as any).close()
}
await web3Modal.clearCachedProvider()
}
// -----------------------------------
// Handle change events
// -----------------------------------
async function handleChainChanged(chainId: string) {
Logger.log('[web3] Chain changed', chainId)
const networkId = await web3.eth.net.getId()
setChainId(Number(chainId))
setNetworkId(Number(networkId))
}
async function handleNetworkChanged(networkId: string) {
Logger.log('[web3] Network changed', networkId)
// const networkId = Number(chainId.replace('0x', ''))
const chainId = await web3.eth.getChainId()
setNetworkId(Number(networkId))
setChainId(Number(chainId))
}
async function handleAccountsChanged(accounts: string[]) {
@ -297,19 +314,14 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement {
useEffect(() => {
if (!web3Provider || !web3) return
//
// HEADS UP! We should rather listen to `chainChanged` exposing the `chainId`
// but for whatever reason the exposed `chainId` is wildly different from
// what is shown on https://chainid.network, in turn breaking our network/config
// mapping. The networkChanged is deprecated but works as expected for our case.
// See: https://eips.ethereum.org/EIPS/eip-1193#chainchanged
//
web3Provider.on('chainChanged', handleChainChanged)
web3Provider.on('networkChanged', handleNetworkChanged)
web3Provider.on('accountsChanged', handleAccountsChanged)
return () => {
web3Provider.removeListener('networkChanged')
web3Provider.removeListener('accountsChanged')
web3Provider.removeListener('chainChanged', handleChainChanged)
web3Provider.removeListener('networkChanged', handleNetworkChanged)
web3Provider.removeListener('accountsChanged', handleAccountsChanged)
}
}, [web3Provider, web3])
@ -323,6 +335,7 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement {
accountId,
balance,
networkId,
chainId,
networkDisplayName,
networkData,
block,