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

Disable pool fetching interval (#1265)

* disable pool fetching interval

* change requestPolicy

* trigger refetch on back button click for add/remove

* fix memory leak error

* refetch on refocus

* add manual refresh button
This commit is contained in:
Matthias Kretschmann 2022-03-29 14:32:45 +01:00 committed by GitHub
parent 90a8bc00bb
commit 6e2e46d8ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 226 additions and 182 deletions

300
package-lock.json generated
View File

@ -17,7 +17,8 @@
"@oceanprotocol/typographies": "^0.1.0", "@oceanprotocol/typographies": "^0.1.0",
"@portis/web3": "^4.0.7", "@portis/web3": "^4.0.7",
"@tippyjs/react": "^4.2.6", "@tippyjs/react": "^4.2.6",
"@walletconnect/web3-provider": "^1.7.5", "@urql/exchange-refocus": "^0.2.5",
"@walletconnect/web3-provider": "^1.7.6",
"axios": "^0.26.1", "axios": "^0.26.1",
"bignumber.js": "^9.0.2", "bignumber.js": "^9.0.2",
"chart.js": "^3.7.1", "chart.js": "^3.7.1",
@ -3975,9 +3976,9 @@
} }
}, },
"node_modules/@oclif/plugin-help/node_modules/wrap-ansi/node_modules/ansi-regex": { "node_modules/@oclif/plugin-help/node_modules/wrap-ansi/node_modules/ansi-regex": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=4" "node": ">=4"
@ -5005,9 +5006,9 @@
"integrity": "sha512-o7nBlaMuasuADCCL2WzhvOXA5GT5ewd/F35cY6ZU69U5OUASR3ZP4CZetVCc5MZePPa/3CL9pzJ4Rhtg1ChwVA==" "integrity": "sha512-o7nBlaMuasuADCCL2WzhvOXA5GT5ewd/F35cY6ZU69U5OUASR3ZP4CZetVCc5MZePPa/3CL9pzJ4Rhtg1ChwVA=="
}, },
"node_modules/@truffle/codec": { "node_modules/@truffle/codec": {
"version": "0.12.3", "version": "0.12.4",
"resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.12.3.tgz", "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.12.4.tgz",
"integrity": "sha512-szDlA5KmTwFDL6yjB0i9bwz48nxObbxAwL6MERJRLrs7yQu/3jTtTW3cfw9owtsfqu7DzX4TXAPLp0eYb4PPUQ==", "integrity": "sha512-8XCKMAP22fEVa8xGFA9lqBr5kWhyYW/41ekP0yFEXQhCSPEcZamc6I9h2KQGBrChdxGsKd82Y4138rHGKiQtjQ==",
"dependencies": { "dependencies": {
"@truffle/abi-utils": "^0.2.10", "@truffle/abi-utils": "^0.2.10",
"@truffle/compile-common": "^0.7.29", "@truffle/compile-common": "^0.7.29",
@ -5451,11 +5452,11 @@
} }
}, },
"node_modules/@truffle/debug-utils": { "node_modules/@truffle/debug-utils": {
"version": "6.0.13", "version": "6.0.14",
"resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.13.tgz", "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.14.tgz",
"integrity": "sha512-8BZ82FqOpnfzs2IvfYOgTzthQ0e8yO1Zm86CO4vPlrbTVI0bSemCFevau0QzR5bPXVg558MHpDOhZHmZN6yU1w==", "integrity": "sha512-LhtoKI86QzLFbb0dOQojNR1jl8Le0GL/fkhkaK/thdxMtkt5F7BVoO0f0CbnC9+vfp7qbgEcRct1suw38sVVGQ==",
"dependencies": { "dependencies": {
"@truffle/codec": "^0.12.3", "@truffle/codec": "^0.12.4",
"@trufflesuite/chromafi": "^3.0.0", "@trufflesuite/chromafi": "^3.0.0",
"bn.js": "^5.1.3", "bn.js": "^5.1.3",
"chalk": "^2.4.2", "chalk": "^2.4.2",
@ -6736,6 +6737,18 @@
"graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
} }
}, },
"node_modules/@urql/exchange-refocus": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@urql/exchange-refocus/-/exchange-refocus-0.2.5.tgz",
"integrity": "sha512-JlrEXlG37mK/WgyxqVrHkLZtBMVC7x3GtgGJHiiXK41AQdU2hVy3IAQ208ENMIrkFw9SHQf8d8h7Wb2EY/1zdw==",
"dependencies": {
"@urql/core": ">=2.3.6",
"wonka": "^4.0.14"
},
"peerDependencies": {
"graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
"node_modules/@use-it/event-listener": { "node_modules/@use-it/event-listener": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.7.tgz", "resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.7.tgz",
@ -6745,36 +6758,36 @@
} }
}, },
"node_modules/@walletconnect/browser-utils": { "node_modules/@walletconnect/browser-utils": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.6.tgz",
"integrity": "sha512-gm9ufi0n5cGBXoGWDtMVSqIJ0eXYW+ZFuTNVN0fm4oal26J7cPrOdFjzhv5zvx5fKztWQ21DNFZ+PRXBjXg04Q==", "integrity": "sha512-7dZkvybjxIt59YdGqMCft8ydghlR7axSzZVW3Oy6NOYdq0ztZGCV/hpUcQ3pgC3uhpn93XqVPrBAyKLqt+/u5A==",
"dependencies": { "dependencies": {
"@walletconnect/safe-json": "1.0.0", "@walletconnect/safe-json": "1.0.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/window-getters": "1.0.0", "@walletconnect/window-getters": "1.0.0",
"@walletconnect/window-metadata": "1.0.0", "@walletconnect/window-metadata": "1.0.0",
"detect-browser": "5.2.0" "detect-browser": "5.2.0"
} }
}, },
"node_modules/@walletconnect/client": { "node_modules/@walletconnect/client": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.6.tgz",
"integrity": "sha512-Vh3h1kfhmJ4Jx//H0lmmfDc5Q2s+R73Nh5cetVN41QPRrAcqHE4lR2ZS8XxRCNBl4/gcHZJIZS9J2Ui4tTXBLA==", "integrity": "sha512-ZAcH9aL+p3psXwcsts51liKiqS/Kez05bYM193QC7mfcGwlFhQWMCRWHb38y8yHrWQMUmtOZ+jKotKjrOitDUw==",
"dependencies": { "dependencies": {
"@walletconnect/core": "^1.7.5", "@walletconnect/core": "^1.7.6",
"@walletconnect/iso-crypto": "^1.7.5", "@walletconnect/iso-crypto": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"node_modules/@walletconnect/core": { "node_modules/@walletconnect/core": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.6.tgz",
"integrity": "sha512-c4B8s9fZ/Ah2p460Hxo4e9pwLQVYT2+dVYAfqaxVzfYjhAokDEtO55Bdm1hujtRjQVqwTvCljKxBB+LgMp3k8w==", "integrity": "sha512-gWD80GTgJ/xpYbJ/R5sbto1daDcDqeHl3ODzdtaVbDR2whS16spsEsXxgsM6BXFKqbGJ0r90SkHsNHa8xiekLQ==",
"dependencies": { "dependencies": {
"@walletconnect/socket-transport": "^1.7.5", "@walletconnect/socket-transport": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"node_modules/@walletconnect/crypto": { "node_modules/@walletconnect/crypto": {
@ -6804,24 +6817,24 @@
"integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ=="
}, },
"node_modules/@walletconnect/http-connection": { "node_modules/@walletconnect/http-connection": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.6.tgz",
"integrity": "sha512-WDy2Y/07c1F107362jel0voeV6QMJuWbwAKNLtxlX8Y9KNzqZAGlHhIZykSWrMjNGwxBaXoqLPmu60uVvodc6A==", "integrity": "sha512-G2xgqALcy2naHeiFS1N3VEwsgqIbFrbBv9gYaHE3R6RuEb4VVSIVGy6brpN+CoLmI680Kj2EmiJG7yvpNsHKdg==",
"dependencies": { "dependencies": {
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"eventemitter3": "4.0.7", "eventemitter3": "4.0.7",
"xhr2-cookies": "1.1.0" "xhr2-cookies": "1.1.0"
} }
}, },
"node_modules/@walletconnect/iso-crypto": { "node_modules/@walletconnect/iso-crypto": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.6.tgz",
"integrity": "sha512-mJdRs2SqAPOLBBqLhU+ZnAh2c8TL2uDuL/ojV4aBzZ0ZHNT7X2zSOjAiixCb3vvH8GAt30OKmiRo3+ChI/9zvA==", "integrity": "sha512-x80OVfarjPzD02kJgnpmLCxlsFRaymGjlGWzLmtwO8/hp1mrtT/ukFOsl1Fs6Tunp7BdCoJT+9FYFarcvbsG8Q==",
"dependencies": { "dependencies": {
"@walletconnect/crypto": "^1.0.2", "@walletconnect/crypto": "^1.0.2",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"node_modules/@walletconnect/jsonrpc-types": { "node_modules/@walletconnect/jsonrpc-types": {
@ -6848,13 +6861,13 @@
"deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry" "deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry"
}, },
"node_modules/@walletconnect/qrcode-modal": { "node_modules/@walletconnect/qrcode-modal": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.6.tgz",
"integrity": "sha512-LVq35jc3VMGq1EMcGCObQtEiercMDmUHDnc7A3AmUo0LoAbaPo6c8Hq0zqy2+JhtLmxUhU3ktf+szmCoiUDTUQ==", "integrity": "sha512-SXx8eTllgyGpArwdB8v1WsmAKbxiizqebJLn32C6KRzWVW5FP4FizzgEi+r6xINWSEpWLX72GbeWAoiQDwFVFw==",
"dependencies": { "dependencies": {
"@walletconnect/browser-utils": "^1.7.5", "@walletconnect/browser-utils": "^1.7.6",
"@walletconnect/mobile-registry": "^1.4.0", "@walletconnect/mobile-registry": "^1.4.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"copy-to-clipboard": "^3.3.1", "copy-to-clipboard": "^3.3.1",
"preact": "10.4.1", "preact": "10.4.1",
"qrcode": "1.4.4" "qrcode": "1.4.4"
@ -6876,29 +6889,29 @@
"integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg=="
}, },
"node_modules/@walletconnect/socket-transport": { "node_modules/@walletconnect/socket-transport": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.6.tgz",
"integrity": "sha512-4TYCxrNWb4f5a1NGsALXidr+/6dOiqgVfUQJ4fdP6R7ijL+7jtdiktguU9FIDq5wFXRE+ZdpCpwSAfOt60q/mQ==", "integrity": "sha512-yH2eKD9P34gnOxOfCarERROl5SkiwBR9UcASjcnp2L7r02ZaXHbhheXHUWzcU5HpEXrvz8DGciE7GBQn+aNgQg==",
"dependencies": { "dependencies": {
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"ws": "7.5.3" "ws": "7.5.3"
} }
}, },
"node_modules/@walletconnect/types": { "node_modules/@walletconnect/types": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.6.tgz",
"integrity": "sha512-0HvZzxD93et4DdrYgAvclI1BqclkZS7iPWRtbGg3r+PQhRPbOkNypzBy6XH6wflbmr+WBGdmyJvynHsdhcCqUA==" "integrity": "sha512-3JVjEzvJgDc5DzaXNxhg4JcdG4U8Qk6HVBELOu+TwiWG31TZRt82uL9CcVZKieFPP/nTWQnj+QkiKSpO7T1KTQ=="
}, },
"node_modules/@walletconnect/utils": { "node_modules/@walletconnect/utils": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.6.tgz",
"integrity": "sha512-U954rIIA/g/Cmdqy+n3hMY1DDMmXxGs8w/QmrK9b/H5nkQ3e4QicOyynq5g/JTTesN5HZdDTFiyX9r0GSKa+iA==", "integrity": "sha512-GLneac0Hx52pNHAOkTt/07K+Ht8LmWFaK0nQlHqrLmOJm8WZPnUvMZGMTpSOzgKw47u0cjhE38ipbXOaq8qReA==",
"dependencies": { "dependencies": {
"@walletconnect/browser-utils": "^1.7.5", "@walletconnect/browser-utils": "^1.7.6",
"@walletconnect/encoding": "^1.0.1", "@walletconnect/encoding": "^1.0.1",
"@walletconnect/jsonrpc-utils": "^1.0.0", "@walletconnect/jsonrpc-utils": "^1.0.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"bn.js": "4.11.8", "bn.js": "4.11.8",
"js-sha3": "0.8.0", "js-sha3": "0.8.0",
"query-string": "6.13.5" "query-string": "6.13.5"
@ -6926,15 +6939,15 @@
} }
}, },
"node_modules/@walletconnect/web3-provider": { "node_modules/@walletconnect/web3-provider": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.6.tgz",
"integrity": "sha512-x+UWOTu7jd9qog9NWhaspOmVRDJPnQrgZBscnaSC+x/aAsi52VUrd1GZ9c5UNZFgss41fdx3Z2KhkPeVrlrbuQ==", "integrity": "sha512-INjHVTuuISm9rk9QGr8v0IvcmjygEyt+rDB6Iw6G5hK+qwEB+UlrRbXyu0bAmEe4wREpiJmegz7KjiHIxmCTNA==",
"dependencies": { "dependencies": {
"@walletconnect/client": "^1.7.5", "@walletconnect/client": "^1.7.6",
"@walletconnect/http-connection": "^1.7.5", "@walletconnect/http-connection": "^1.7.6",
"@walletconnect/qrcode-modal": "^1.7.5", "@walletconnect/qrcode-modal": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"web3-provider-engine": "16.0.1" "web3-provider-engine": "16.0.1"
} }
}, },
@ -7129,9 +7142,9 @@
} }
}, },
"node_modules/ansi-regex": { "node_modules/ansi-regex": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
@ -17422,9 +17435,9 @@
} }
}, },
"node_modules/minimist": { "node_modules/minimist": {
"version": "1.2.5", "version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
}, },
"node_modules/minipass": { "node_modules/minipass": {
"version": "2.9.0", "version": "2.9.0",
@ -27146,9 +27159,9 @@
}, },
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
"dev": true "dev": true
}, },
"string-width": { "string-width": {
@ -27907,9 +27920,9 @@
"integrity": "sha512-o7nBlaMuasuADCCL2WzhvOXA5GT5ewd/F35cY6ZU69U5OUASR3ZP4CZetVCc5MZePPa/3CL9pzJ4Rhtg1ChwVA==" "integrity": "sha512-o7nBlaMuasuADCCL2WzhvOXA5GT5ewd/F35cY6ZU69U5OUASR3ZP4CZetVCc5MZePPa/3CL9pzJ4Rhtg1ChwVA=="
}, },
"@truffle/codec": { "@truffle/codec": {
"version": "0.12.3", "version": "0.12.4",
"resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.12.3.tgz", "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.12.4.tgz",
"integrity": "sha512-szDlA5KmTwFDL6yjB0i9bwz48nxObbxAwL6MERJRLrs7yQu/3jTtTW3cfw9owtsfqu7DzX4TXAPLp0eYb4PPUQ==", "integrity": "sha512-8XCKMAP22fEVa8xGFA9lqBr5kWhyYW/41ekP0yFEXQhCSPEcZamc6I9h2KQGBrChdxGsKd82Y4138rHGKiQtjQ==",
"requires": { "requires": {
"@truffle/abi-utils": "^0.2.10", "@truffle/abi-utils": "^0.2.10",
"@truffle/compile-common": "^0.7.29", "@truffle/compile-common": "^0.7.29",
@ -28283,11 +28296,11 @@
} }
}, },
"@truffle/debug-utils": { "@truffle/debug-utils": {
"version": "6.0.13", "version": "6.0.14",
"resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.13.tgz", "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.14.tgz",
"integrity": "sha512-8BZ82FqOpnfzs2IvfYOgTzthQ0e8yO1Zm86CO4vPlrbTVI0bSemCFevau0QzR5bPXVg558MHpDOhZHmZN6yU1w==", "integrity": "sha512-LhtoKI86QzLFbb0dOQojNR1jl8Le0GL/fkhkaK/thdxMtkt5F7BVoO0f0CbnC9+vfp7qbgEcRct1suw38sVVGQ==",
"requires": { "requires": {
"@truffle/codec": "^0.12.3", "@truffle/codec": "^0.12.4",
"@trufflesuite/chromafi": "^3.0.0", "@trufflesuite/chromafi": "^3.0.0",
"bn.js": "^5.1.3", "bn.js": "^5.1.3",
"chalk": "^2.4.2", "chalk": "^2.4.2",
@ -29400,6 +29413,15 @@
"wonka": "^4.0.14" "wonka": "^4.0.14"
} }
}, },
"@urql/exchange-refocus": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@urql/exchange-refocus/-/exchange-refocus-0.2.5.tgz",
"integrity": "sha512-JlrEXlG37mK/WgyxqVrHkLZtBMVC7x3GtgGJHiiXK41AQdU2hVy3IAQ208ENMIrkFw9SHQf8d8h7Wb2EY/1zdw==",
"requires": {
"@urql/core": ">=2.3.6",
"wonka": "^4.0.14"
}
},
"@use-it/event-listener": { "@use-it/event-listener": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.7.tgz", "resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.7.tgz",
@ -29407,36 +29429,36 @@
"requires": {} "requires": {}
}, },
"@walletconnect/browser-utils": { "@walletconnect/browser-utils": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.7.6.tgz",
"integrity": "sha512-gm9ufi0n5cGBXoGWDtMVSqIJ0eXYW+ZFuTNVN0fm4oal26J7cPrOdFjzhv5zvx5fKztWQ21DNFZ+PRXBjXg04Q==", "integrity": "sha512-7dZkvybjxIt59YdGqMCft8ydghlR7axSzZVW3Oy6NOYdq0ztZGCV/hpUcQ3pgC3uhpn93XqVPrBAyKLqt+/u5A==",
"requires": { "requires": {
"@walletconnect/safe-json": "1.0.0", "@walletconnect/safe-json": "1.0.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/window-getters": "1.0.0", "@walletconnect/window-getters": "1.0.0",
"@walletconnect/window-metadata": "1.0.0", "@walletconnect/window-metadata": "1.0.0",
"detect-browser": "5.2.0" "detect-browser": "5.2.0"
} }
}, },
"@walletconnect/client": { "@walletconnect/client": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.7.6.tgz",
"integrity": "sha512-Vh3h1kfhmJ4Jx//H0lmmfDc5Q2s+R73Nh5cetVN41QPRrAcqHE4lR2ZS8XxRCNBl4/gcHZJIZS9J2Ui4tTXBLA==", "integrity": "sha512-ZAcH9aL+p3psXwcsts51liKiqS/Kez05bYM193QC7mfcGwlFhQWMCRWHb38y8yHrWQMUmtOZ+jKotKjrOitDUw==",
"requires": { "requires": {
"@walletconnect/core": "^1.7.5", "@walletconnect/core": "^1.7.6",
"@walletconnect/iso-crypto": "^1.7.5", "@walletconnect/iso-crypto": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"@walletconnect/core": { "@walletconnect/core": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.7.6.tgz",
"integrity": "sha512-c4B8s9fZ/Ah2p460Hxo4e9pwLQVYT2+dVYAfqaxVzfYjhAokDEtO55Bdm1hujtRjQVqwTvCljKxBB+LgMp3k8w==", "integrity": "sha512-gWD80GTgJ/xpYbJ/R5sbto1daDcDqeHl3ODzdtaVbDR2whS16spsEsXxgsM6BXFKqbGJ0r90SkHsNHa8xiekLQ==",
"requires": { "requires": {
"@walletconnect/socket-transport": "^1.7.5", "@walletconnect/socket-transport": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"@walletconnect/crypto": { "@walletconnect/crypto": {
@ -29466,24 +29488,24 @@
"integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ=="
}, },
"@walletconnect/http-connection": { "@walletconnect/http-connection": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/http-connection/-/http-connection-1.7.6.tgz",
"integrity": "sha512-WDy2Y/07c1F107362jel0voeV6QMJuWbwAKNLtxlX8Y9KNzqZAGlHhIZykSWrMjNGwxBaXoqLPmu60uVvodc6A==", "integrity": "sha512-G2xgqALcy2naHeiFS1N3VEwsgqIbFrbBv9gYaHE3R6RuEb4VVSIVGy6brpN+CoLmI680Kj2EmiJG7yvpNsHKdg==",
"requires": { "requires": {
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"eventemitter3": "4.0.7", "eventemitter3": "4.0.7",
"xhr2-cookies": "1.1.0" "xhr2-cookies": "1.1.0"
} }
}, },
"@walletconnect/iso-crypto": { "@walletconnect/iso-crypto": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.7.6.tgz",
"integrity": "sha512-mJdRs2SqAPOLBBqLhU+ZnAh2c8TL2uDuL/ojV4aBzZ0ZHNT7X2zSOjAiixCb3vvH8GAt30OKmiRo3+ChI/9zvA==", "integrity": "sha512-x80OVfarjPzD02kJgnpmLCxlsFRaymGjlGWzLmtwO8/hp1mrtT/ukFOsl1Fs6Tunp7BdCoJT+9FYFarcvbsG8Q==",
"requires": { "requires": {
"@walletconnect/crypto": "^1.0.2", "@walletconnect/crypto": "^1.0.2",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5" "@walletconnect/utils": "^1.7.6"
} }
}, },
"@walletconnect/jsonrpc-types": { "@walletconnect/jsonrpc-types": {
@ -29509,13 +29531,13 @@
"integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==" "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw=="
}, },
"@walletconnect/qrcode-modal": { "@walletconnect/qrcode-modal": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.6.tgz",
"integrity": "sha512-LVq35jc3VMGq1EMcGCObQtEiercMDmUHDnc7A3AmUo0LoAbaPo6c8Hq0zqy2+JhtLmxUhU3ktf+szmCoiUDTUQ==", "integrity": "sha512-SXx8eTllgyGpArwdB8v1WsmAKbxiizqebJLn32C6KRzWVW5FP4FizzgEi+r6xINWSEpWLX72GbeWAoiQDwFVFw==",
"requires": { "requires": {
"@walletconnect/browser-utils": "^1.7.5", "@walletconnect/browser-utils": "^1.7.6",
"@walletconnect/mobile-registry": "^1.4.0", "@walletconnect/mobile-registry": "^1.4.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"copy-to-clipboard": "^3.3.1", "copy-to-clipboard": "^3.3.1",
"preact": "10.4.1", "preact": "10.4.1",
"qrcode": "1.4.4" "qrcode": "1.4.4"
@ -29537,29 +29559,29 @@
"integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg=="
}, },
"@walletconnect/socket-transport": { "@walletconnect/socket-transport": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.7.6.tgz",
"integrity": "sha512-4TYCxrNWb4f5a1NGsALXidr+/6dOiqgVfUQJ4fdP6R7ijL+7jtdiktguU9FIDq5wFXRE+ZdpCpwSAfOt60q/mQ==", "integrity": "sha512-yH2eKD9P34gnOxOfCarERROl5SkiwBR9UcASjcnp2L7r02ZaXHbhheXHUWzcU5HpEXrvz8DGciE7GBQn+aNgQg==",
"requires": { "requires": {
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"ws": "7.5.3" "ws": "7.5.3"
} }
}, },
"@walletconnect/types": { "@walletconnect/types": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.7.6.tgz",
"integrity": "sha512-0HvZzxD93et4DdrYgAvclI1BqclkZS7iPWRtbGg3r+PQhRPbOkNypzBy6XH6wflbmr+WBGdmyJvynHsdhcCqUA==" "integrity": "sha512-3JVjEzvJgDc5DzaXNxhg4JcdG4U8Qk6HVBELOu+TwiWG31TZRt82uL9CcVZKieFPP/nTWQnj+QkiKSpO7T1KTQ=="
}, },
"@walletconnect/utils": { "@walletconnect/utils": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.7.6.tgz",
"integrity": "sha512-U954rIIA/g/Cmdqy+n3hMY1DDMmXxGs8w/QmrK9b/H5nkQ3e4QicOyynq5g/JTTesN5HZdDTFiyX9r0GSKa+iA==", "integrity": "sha512-GLneac0Hx52pNHAOkTt/07K+Ht8LmWFaK0nQlHqrLmOJm8WZPnUvMZGMTpSOzgKw47u0cjhE38ipbXOaq8qReA==",
"requires": { "requires": {
"@walletconnect/browser-utils": "^1.7.5", "@walletconnect/browser-utils": "^1.7.6",
"@walletconnect/encoding": "^1.0.1", "@walletconnect/encoding": "^1.0.1",
"@walletconnect/jsonrpc-utils": "^1.0.0", "@walletconnect/jsonrpc-utils": "^1.0.0",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"bn.js": "4.11.8", "bn.js": "4.11.8",
"js-sha3": "0.8.0", "js-sha3": "0.8.0",
"query-string": "6.13.5" "query-string": "6.13.5"
@ -29583,15 +29605,15 @@
} }
}, },
"@walletconnect/web3-provider": { "@walletconnect/web3-provider": {
"version": "1.7.5", "version": "1.7.6",
"resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.5.tgz", "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.7.6.tgz",
"integrity": "sha512-x+UWOTu7jd9qog9NWhaspOmVRDJPnQrgZBscnaSC+x/aAsi52VUrd1GZ9c5UNZFgss41fdx3Z2KhkPeVrlrbuQ==", "integrity": "sha512-INjHVTuuISm9rk9QGr8v0IvcmjygEyt+rDB6Iw6G5hK+qwEB+UlrRbXyu0bAmEe4wREpiJmegz7KjiHIxmCTNA==",
"requires": { "requires": {
"@walletconnect/client": "^1.7.5", "@walletconnect/client": "^1.7.6",
"@walletconnect/http-connection": "^1.7.5", "@walletconnect/http-connection": "^1.7.6",
"@walletconnect/qrcode-modal": "^1.7.5", "@walletconnect/qrcode-modal": "^1.7.6",
"@walletconnect/types": "^1.7.5", "@walletconnect/types": "^1.7.6",
"@walletconnect/utils": "^1.7.5", "@walletconnect/utils": "^1.7.6",
"web3-provider-engine": "16.0.1" "web3-provider-engine": "16.0.1"
} }
}, },
@ -29749,9 +29771,9 @@
} }
}, },
"ansi-regex": { "ansi-regex": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw=="
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
@ -38016,9 +38038,9 @@
} }
}, },
"minimist": { "minimist": {
"version": "1.2.5", "version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
}, },
"minipass": { "minipass": {
"version": "2.9.0", "version": "2.9.0",

View File

@ -25,7 +25,8 @@
"@oceanprotocol/typographies": "^0.1.0", "@oceanprotocol/typographies": "^0.1.0",
"@portis/web3": "^4.0.7", "@portis/web3": "^4.0.7",
"@tippyjs/react": "^4.2.6", "@tippyjs/react": "^4.2.6",
"@walletconnect/web3-provider": "^1.7.5", "@urql/exchange-refocus": "^0.2.5",
"@walletconnect/web3-provider": "^1.7.6",
"axios": "^0.26.1", "axios": "^0.26.1",
"bignumber.js": "^9.0.2", "bignumber.js": "^9.0.2",
"chart.js": "^3.7.1", "chart.js": "^3.7.1",

View File

@ -53,7 +53,7 @@ function PoolProvider({ children }: { children: ReactNode }): ReactElement {
const [poolSnapshots, setPoolSnapshots] = useState<PoolDataPoolSnapshots[]>() const [poolSnapshots, setPoolSnapshots] = useState<PoolDataPoolSnapshots[]>()
const [hasUserAddedLiquidity, setUserHasAddedLiquidity] = useState(false) const [hasUserAddedLiquidity, setUserHasAddedLiquidity] = useState(false)
const [isRemoveDisabled, setIsRemoveDisabled] = useState(false) const [isRemoveDisabled, setIsRemoveDisabled] = useState(false)
const [fetchInterval, setFetchInterval] = useState<NodeJS.Timeout>() // const [fetchInterval, setFetchInterval] = useState<NodeJS.Timeout>()
const fetchAllData = useCallback(async () => { const fetchAllData = useCallback(async () => {
if (!asset?.chainId || !asset?.accessDetails?.addressOrId || !owner) return if (!asset?.chainId || !asset?.accessDetails?.addressOrId || !owner) return
@ -78,27 +78,27 @@ function PoolProvider({ children }: { children: ReactNode }): ReactElement {
}, [asset?.chainId, asset?.accessDetails?.addressOrId, owner, accountId]) }, [asset?.chainId, asset?.accessDetails?.addressOrId, owner, accountId])
// Helper: start interval fetching // Helper: start interval fetching
const initFetchInterval = useCallback(() => { // const initFetchInterval = useCallback(() => {
if (fetchInterval) return // if (fetchInterval) return
const newInterval = setInterval(() => { // const newInterval = setInterval(() => {
fetchAllData() // fetchAllData()
LoggerInstance.log( // LoggerInstance.log(
`[pool] Refetch interval fired after ${refreshInterval / 1000}s` // `[pool] Refetch interval fired after ${refreshInterval / 1000}s`
) // )
}, refreshInterval) // }, refreshInterval)
setFetchInterval(newInterval) // setFetchInterval(newInterval)
// Having `accountId` as dependency is important for interval to // // Having `accountId` as dependency is important for interval to
// change after user account switch. // // change after user account switch.
// eslint-disable-next-line react-hooks/exhaustive-deps // // eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetchInterval, fetchAllData, accountId]) // }, [fetchInterval, fetchAllData, accountId])
useEffect(() => { // useEffect(() => {
return () => { // return () => {
clearInterval(fetchInterval) // clearInterval(fetchInterval)
} // }
}, [fetchInterval]) // }, [fetchInterval])
// //
// 0 Fetch all the data on mount if we are on a pool. // 0 Fetch all the data on mount if we are on a pool.
@ -109,8 +109,8 @@ function PoolProvider({ children }: { children: ReactNode }): ReactElement {
if (asset?.accessDetails?.type !== 'dynamic') return if (asset?.accessDetails?.type !== 'dynamic') return
fetchAllData() fetchAllData()
initFetchInterval() // initFetchInterval()
}, [fetchAllData, initFetchInterval, asset?.accessDetails?.type]) }, [fetchAllData, asset?.accessDetails?.type])
// //
// 1 General Pool Info // 1 General Pool Info

View File

@ -1,4 +1,12 @@
import { createClient, Provider, Client } from 'urql' import {
createClient,
Provider,
Client,
cacheExchange,
dedupExchange,
fetchExchange
} from 'urql'
import { refocusExchange } from '@urql/exchange-refocus'
import React, { useState, useEffect, ReactNode, ReactElement } from 'react' import React, { useState, useEffect, ReactNode, ReactElement } from 'react'
import { LoggerInstance } from '@oceanprotocol/lib' import { LoggerInstance } from '@oceanprotocol/lib'
import { getOceanConfig } from '@utils/ocean' import { getOceanConfig } from '@utils/ocean'
@ -7,7 +15,8 @@ let urqlClient: Client
function createUrqlClient(subgraphUri: string) { function createUrqlClient(subgraphUri: string) {
const client = createClient({ const client = createClient({
url: `${subgraphUri}/subgraphs/name/oceanprotocol/ocean-subgraph` url: `${subgraphUri}/subgraphs/name/oceanprotocol/ocean-subgraph`,
exchanges: [dedupExchange, refocusExchange(), cacheExchange, fetchExchange]
}) })
return client return client
} }

View File

@ -211,7 +211,7 @@ export function getQueryContext(chainId: number): OperationContext {
url: `${getSubgraphUri( url: `${getSubgraphUri(
Number(chainId) Number(chainId)
)}/subgraphs/name/oceanprotocol/ocean-subgraph`, )}/subgraphs/name/oceanprotocol/ocean-subgraph`,
requestPolicy: 'cache-and-network' requestPolicy: 'network-only'
} }
return queryContext return queryContext
} catch (error) { } catch (error) {

View File

@ -16,6 +16,7 @@ import { getOrderFeedback } from '@utils/feedback'
import { getOrderPriceAndFees } from '@utils/accessDetailsAndPricing' import { getOrderPriceAndFees } from '@utils/accessDetailsAndPricing'
import { OrderPriceAndFees } from 'src/@types/Price' import { OrderPriceAndFees } from 'src/@types/Price'
import { toast } from 'react-toastify' import { toast } from 'react-toastify'
import { useIsMounted } from '@hooks/useIsMounted'
export default function Download({ export default function Download({
asset, asset,
@ -34,6 +35,8 @@ export default function Download({
}): ReactElement { }): ReactElement {
const { accountId, web3 } = useWeb3() const { accountId, web3 } = useWeb3()
const { isInPurgatory, isAssetNetwork } = useAsset() const { isInPurgatory, isAssetNetwork } = useAsset()
const isMounted = useIsMounted()
const [isDisabled, setIsDisabled] = useState(true) const [isDisabled, setIsDisabled] = useState(true)
const [hasDatatoken, setHasDatatoken] = useState(false) const [hasDatatoken, setHasDatatoken] = useState(false)
const [statusText, setStatusText] = useState('') const [statusText, setStatusText] = useState('')
@ -71,12 +74,14 @@ export default function Download({
}, [dtBalance]) }, [dtBalance])
useEffect(() => { useEffect(() => {
if (!accountId || !asset?.accessDetails) return if (!isMounted || !accountId || !asset?.accessDetails) return
setIsDisabled(
const isDisabled =
!asset?.accessDetails.isPurchasable || !asset?.accessDetails.isPurchasable ||
((!isBalanceSufficient || !isAssetNetwork) && !isOwned && !hasDatatoken) ((!isBalanceSufficient || !isAssetNetwork) && !isOwned && !hasDatatoken)
) setIsDisabled(isDisabled)
}, [ }, [
isMounted,
asset?.accessDetails, asset?.accessDetails,
isBalanceSufficient, isBalanceSufficient,
isAssetNetwork, isAssetNetwork,

View File

@ -14,6 +14,7 @@ import { useWeb3 } from '@context/Web3'
import { useAsset } from '@context/Asset' import { useAsset } from '@context/Asset'
import content from '../../../../../../content/price.json' import content from '../../../../../../content/price.json'
import { calcMaxExactIn, LoggerInstance, Pool } from '@oceanprotocol/lib' import { calcMaxExactIn, LoggerInstance, Pool } from '@oceanprotocol/lib'
import { usePool } from '@context/Pool'
export interface FormAddLiquidity { export interface FormAddLiquidity {
amount: string amount: string
@ -31,8 +32,7 @@ export default function Add({
swapFee, swapFee,
datatokenSymbol, datatokenSymbol,
tokenInSymbol, tokenInSymbol,
tokenInAddress, tokenInAddress
fetchAllData
}: { }: {
setShowAdd: (show: boolean) => void setShowAdd: (show: boolean) => void
poolAddress: string poolAddress: string
@ -42,10 +42,10 @@ export default function Add({
datatokenSymbol: string datatokenSymbol: string
tokenInSymbol: string tokenInSymbol: string
tokenInAddress: string tokenInAddress: string
fetchAllData: () => void
}): ReactElement { }): ReactElement {
const { accountId, balance, web3 } = useWeb3() const { accountId, balance, web3 } = useWeb3()
const { isAssetNetwork } = useAsset() const { isAssetNetwork } = useAsset()
const { fetchAllData } = usePool()
const { debug } = useUserPreferences() const { debug } = useUserPreferences()
const [txId, setTxId] = useState<string>() const [txId, setTxId] = useState<string>()
const [amountMax, setAmountMax] = useState<string>() const [amountMax, setAmountMax] = useState<string>()
@ -123,7 +123,10 @@ export default function Add({
<> <>
<Header <Header
title={content.pool.add.title} title={content.pool.add.title}
backAction={() => setShowAdd(false)} backAction={() => {
setShowAdd(false)
fetchAllData()
}}
/> />
<Formik <Formik
initialValues={initialValues} initialValues={initialValues}

View File

@ -20,6 +20,7 @@ import { useWeb3 } from '@context/Web3'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
import { useAsset } from '@context/Asset' import { useAsset } from '@context/Asset'
import content from '../../../../../../content/price.json' import content from '../../../../../../content/price.json'
import { usePool } from '@context/Pool'
const slippagePresets = ['5', '10', '15', '25', '50'] const slippagePresets = ['5', '10', '15', '25', '50']
@ -29,8 +30,7 @@ export default function Remove({
poolTokens, poolTokens,
totalPoolTokens, totalPoolTokens,
tokenOutAddress, tokenOutAddress,
tokenOutSymbol, tokenOutSymbol
fetchAllData
}: { }: {
setShowRemove: (show: boolean) => void setShowRemove: (show: boolean) => void
poolAddress: string poolAddress: string
@ -38,10 +38,10 @@ export default function Remove({
totalPoolTokens: string totalPoolTokens: string
tokenOutAddress: string tokenOutAddress: string
tokenOutSymbol: string tokenOutSymbol: string
fetchAllData: () => void
}): ReactElement { }): ReactElement {
const { accountId, web3 } = useWeb3() const { accountId, web3 } = useWeb3()
const { isAssetNetwork } = useAsset() const { isAssetNetwork } = useAsset()
const { fetchAllData } = usePool()
const [amountPercent, setAmountPercent] = useState('0') const [amountPercent, setAmountPercent] = useState('0')
const [amountMaxPercent, setAmountMaxPercent] = useState('100') const [amountMaxPercent, setAmountMaxPercent] = useState('100')
@ -157,7 +157,10 @@ export default function Remove({
<div className={styles.remove}> <div className={styles.remove}>
<Header <Header
title={content.pool.remove.title} title={content.pool.remove.title}
backAction={() => setShowRemove(false)} backAction={() => {
setShowRemove(false)
fetchAllData()
}}
/> />
<form className={styles.removeInput}> <form className={styles.removeInput}>

View File

@ -49,7 +49,7 @@
padding-bottom: calc(var(--spacer) / 4); padding-bottom: calc(var(--spacer) / 4);
} }
.update:before { /* .update:before {
content: ''; content: '';
width: 6px; width: 6px;
height: 6px; height: 6px;
@ -72,4 +72,4 @@
100% { 100% {
background: transparent; background: transparent;
} }
} } */

View File

@ -29,8 +29,8 @@ export default function Pool(): ReactElement {
poolSnapshots, poolSnapshots,
hasUserAddedLiquidity, hasUserAddedLiquidity,
isRemoveDisabled, isRemoveDisabled,
refreshInterval,
fetchAllData fetchAllData
// refreshInterval
} = usePool() } = usePool()
const [showAdd, setShowAdd] = useState(false) const [showAdd, setShowAdd] = useState(false)
@ -51,7 +51,6 @@ export default function Pool(): ReactElement {
datatokenSymbol={poolInfo?.datatokenSymbol} datatokenSymbol={poolInfo?.datatokenSymbol}
tokenInAddress={poolInfo?.baseTokenAddress} tokenInAddress={poolInfo?.baseTokenAddress}
tokenInSymbol={poolInfo?.baseTokenSymbol} tokenInSymbol={poolInfo?.baseTokenSymbol}
fetchAllData={fetchAllData}
/> />
) : showRemove ? ( ) : showRemove ? (
<Remove <Remove
@ -61,7 +60,6 @@ export default function Pool(): ReactElement {
totalPoolTokens={poolInfo?.totalPoolTokens} totalPoolTokens={poolInfo?.totalPoolTokens}
tokenOutAddress={poolInfo?.baseTokenAddress} tokenOutAddress={poolInfo?.baseTokenAddress}
tokenOutSymbol={poolInfo?.baseTokenSymbol} tokenOutSymbol={poolInfo?.baseTokenSymbol}
fetchAllData={fetchAllData}
/> />
) : ( ) : (
<> <>
@ -180,7 +178,10 @@ export default function Pool(): ReactElement {
</TokenList> </TokenList>
<div className={styles.update}> <div className={styles.update}>
Fetching every {refreshInterval / 1000} sec. <Button style="text" size="small" onClick={() => fetchAllData()}>
Refresh Data
</Button>
{/* Fetching every {refreshInterval / 1000} sec. */}
</div> </div>
<div className={stylesActions.actions}> <div className={stylesActions.actions}>
<Button <Button