From b9cc212ac27d5a12398e38526e48d8198e704f6a Mon Sep 17 00:00:00 2001 From: lifted1abs Date: Fri, 17 Oct 2025 12:58:45 -0500 Subject: [PATCH 1/2] Add Liquify adapter for Radix --- package-lock.json | 44 ------------------------------ projects/liquify-protocol/index.js | 28 +++++++++++++++++++ 2 files changed, 28 insertions(+), 44 deletions(-) create mode 100644 projects/liquify-protocol/index.js diff --git a/package-lock.json b/package-lock.json index 547bca1d3ee..6d1f5507eb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "@solana/web3.js": "^1.87.6", "@solendprotocol/solend-sdk": "^0.4.3", "@supercharge/promise-pool": "^2.1.0", - "async-retry": "^1.3.3", "axios": "^1.6.5", "bignumber.js": "^9.0.1", "blakejs": "^1.2.1", @@ -33,12 +32,9 @@ "miscreant": "^0.3.2", "p-limit": "^3.1.0", "starknet": "^5.24.3", - "tron-format-address": "^0.1.8", "typescript": "^5.0.0" }, "devDependencies": { - "@types/async-retry": "^1.4.5", - "@types/bn.js": "^5.1.0", "eslint": "^8.32.0", "ts-node": "^10.8.1" } @@ -2202,24 +2198,6 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "node_modules/@types/async-retry": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.8.tgz", - "integrity": "sha512-Qup/B5PWLe86yI5I3av6ePGaeQrIHNKCwbsQotD6aHQ6YkHsMUxVZkZsmx/Ry3VZQ6uysHwTjQ7666+k6UjVJA==", - "dev": true, - "dependencies": { - "@types/retry": "*" - } - }, - "node_modules/@types/bn.js": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", - "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -2236,12 +2214,6 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/retry": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.5.tgz", - "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==", - "dev": true - }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -2359,14 +2331,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "dependencies": { - "retry": "0.13.1" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3943,14 +3907,6 @@ "node": ">=4" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", diff --git a/projects/liquify-protocol/index.js b/projects/liquify-protocol/index.js new file mode 100644 index 00000000000..f50d3acef98 --- /dev/null +++ b/projects/liquify-protocol/index.js @@ -0,0 +1,28 @@ +const { queryAddresses } = require('../helper/chain/radixdlt'); + +const LIQUIFY_COMPONENT = "component_rdx1czvsx3kq5j4yfz8d0keq5328txwctmsq2fllqr6rqpn000sl5deuk8"; +const XRD_ADDRESS = "resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd"; + +module.exports = { + methodology: 'Calculates TVL using the amount of XRD locked in the Liquify protocol liquidity vault.', + radixdlt: { + tvl: async (api) => { + const data = await queryAddresses({ + addresses: [LIQUIFY_COMPONENT] + }); + + const xrdLiquidityVault = data[0].details.state.fields.find( + (field) => field.field_name === 'xrd_liquidity' + ).value; + + const vaultData = await queryAddresses({ + addresses: [xrdLiquidityVault] + }); + + const xrdBalance = vaultData[0].details.balance.amount; + + api.add(XRD_ADDRESS, +xrdBalance); + }, + }, + timetravel: false, +}; \ No newline at end of file From 73fcababf21029a877afd2862c20baa4ac4c4f7e Mon Sep 17 00:00:00 2001 From: lifted1abs Date: Fri, 17 Oct 2025 13:28:28 -0500 Subject: [PATCH 2/2] Add Liquify adapter for Radix --- package-lock.json | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/package-lock.json b/package-lock.json index 6d1f5507eb5..547bca1d3ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@solana/web3.js": "^1.87.6", "@solendprotocol/solend-sdk": "^0.4.3", "@supercharge/promise-pool": "^2.1.0", + "async-retry": "^1.3.3", "axios": "^1.6.5", "bignumber.js": "^9.0.1", "blakejs": "^1.2.1", @@ -32,9 +33,12 @@ "miscreant": "^0.3.2", "p-limit": "^3.1.0", "starknet": "^5.24.3", + "tron-format-address": "^0.1.8", "typescript": "^5.0.0" }, "devDependencies": { + "@types/async-retry": "^1.4.5", + "@types/bn.js": "^5.1.0", "eslint": "^8.32.0", "ts-node": "^10.8.1" } @@ -2198,6 +2202,24 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, + "node_modules/@types/async-retry": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.8.tgz", + "integrity": "sha512-Qup/B5PWLe86yI5I3av6ePGaeQrIHNKCwbsQotD6aHQ6YkHsMUxVZkZsmx/Ry3VZQ6uysHwTjQ7666+k6UjVJA==", + "dev": true, + "dependencies": { + "@types/retry": "*" + } + }, + "node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -2214,6 +2236,12 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/retry": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.5.tgz", + "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==", + "dev": true + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -2331,6 +2359,14 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "dependencies": { + "retry": "0.13.1" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3907,6 +3943,14 @@ "node": ">=4" } }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",