From e6be4c62e57b3b32e59827bbfc31e9f693124aa4 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Wed, 10 Apr 2024 16:17:11 +0200 Subject: [PATCH 01/28] fix: fetching and accruals of poolFees vie runtime --- .envrc | 2 +- src/chaintypes.ts | 8 +------- src/mappings/handlers/blockHandlers.ts | 5 +---- src/mappings/handlers/poolFeesHandlers.ts | 12 ++++++------ tsconfig.json | 2 +- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/.envrc b/.envrc index f4ebe07c..883c3355 100644 --- a/.envrc +++ b/.envrc @@ -1,4 +1,4 @@ -export COMPOSE_PROFILES=subql-eth +export COMPOSE_PROFILES=subql-cfg export DB_USER=postgres export DB_PASS=postgres export DB_DATABASE=postgres diff --git a/src/chaintypes.ts b/src/chaintypes.ts index fe5d03ee..4327a778 100644 --- a/src/chaintypes.ts +++ b/src/chaintypes.ts @@ -34,13 +34,7 @@ const latestTypes = { PoolFeesList: 'Vec', PoolFeesOfBucket: { bucket: 'CfgTraitsFeePoolFeeBucket', - fees: 'Vec', - }, - PoolFee: { - id: 'u64', - destination: 'AccountId32', - editor: 'CfgTypesPoolsPoolFeeEditor', - amounts: 'CfgTypesPoolsPoolFeeAmounts', + fees: 'Vec', }, } diff --git a/src/mappings/handlers/blockHandlers.ts b/src/mappings/handlers/blockHandlers.ts index 8144fcaa..b6621ddb 100644 --- a/src/mappings/handlers/blockHandlers.ts +++ b/src/mappings/handlers/blockHandlers.ts @@ -74,10 +74,7 @@ async function _handleBlock(block: SubstrateBlock): Promise { await pool.save() //PoolFees Accruals - const accruedFees = await pool.getAccruedFees().catch((err) => { - logger.error(err) - return [] as [feeId: string, pending: bigint, disbursement: bigint][] - }) + const accruedFees = await pool.getAccruedFees() for (const accruals of accruedFees) { const [feeId, pending, disbursement] = accruals const poolFee = await PoolFeeService.getById(pool.id, feeId) diff --git a/src/mappings/handlers/poolFeesHandlers.ts b/src/mappings/handlers/poolFeesHandlers.ts index 05d2a295..14fdaf8f 100644 --- a/src/mappings/handlers/poolFeesHandlers.ts +++ b/src/mappings/handlers/poolFeesHandlers.ts @@ -26,7 +26,7 @@ async function _handleFeeProposed(event: SubstrateEvent): blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), } const type = fee.feeType.type @@ -57,7 +57,7 @@ async function _handleFeeAdded(event: SubstrateEvent): Promi blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), } const type = fee.feeType.type @@ -89,7 +89,7 @@ async function _handleFeeRemoved(event: SubstrateEvent): P blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), } const poolFee = await PoolFeeService.delete(poolFeeData) @@ -114,7 +114,7 @@ async function _handleFeeCharged(event: SubstrateEvent): P blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), amount: amount.toBigInt(), pending: pending.toBigInt(), } @@ -143,7 +143,7 @@ async function _handleFeeUncharged(event: SubstrateEvent blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), amount: amount.toBigInt(), pending: pending.toBigInt(), } @@ -172,7 +172,7 @@ async function _handleFeePaid(event: SubstrateEvent): Promise blockNumber: event.block.block.header.number.toNumber(), timestamp: event.block.timestamp, epochNumber: pool.currentEpoch, - hash: event.extrinsic.extrinsic.hash.toString(), + hash: event.hash.toString(), amount: amount.toBigInt(), } diff --git a/tsconfig.json b/tsconfig.json index 588c0b8f..fae1cd67 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,7 @@ "module": "commonjs", "outDir": "dist", "rootDir": "src", - "target": "es2017", + "target": "ESNext", //"strict": true, "paths": { //"centrifuge-subql/*": ["./src/*"] From 15f6803cb37482351a0d173f26a078f2c75700b5 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 14:41:03 +0200 Subject: [PATCH 02/28] ci: multiproject deploy --- .github/workflows/deploy.yml | 13 +- .github/workflows/subql_deploy_workflow.yaml | 45 +- yarn.lock | 416 +++++++++---------- 3 files changed, 238 insertions(+), 236 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 1a5238df..15271d95 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,17 +16,18 @@ permissions: jobs: subql_deploy_embrio_staging: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL (EMBRIO staging) + name: Deploy to SubQL (CENTRIFUGE staging) strategy: matrix: - chainId: [development-embrio] # ADD ARRAY OF CHAINS TO DEPLOY + chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY uses: ./.github/workflows/subql_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} - projOrg: embrio-tech - projImage: 'https://explorer.subquery.network/uploads/1660216119964.png' - deploymentType: primary - resetProject: true + projOrg: centrifuge + projName: pools-multichain + projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' + deploymentType: stage + resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} ethNodeApiKey: ${{ secrets.ETH_NODE_API_KEY }} diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index d3d23fc4..a361a3a2 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -7,6 +7,9 @@ on: projOrg: required: true type: string + projName: + required: true + type: string projImage: required: false type: string @@ -28,12 +31,13 @@ jobs: subql_deploy_workflow: runs-on: ubuntu-latest env: - SUBQL_INDEXER_VERSION: v3.6.1 - SUBQL_ETH_INDEXER_VERSION: v3.7.0 - SUBQL_QUERY_VERSION: v2.9.0 + SUBQL_INDEXER_VERSION: v4.0.1 + SUBQL_ETH_INDEXER_VERSION: v4.1.0 + SUBQL_QUERY_VERSION: v2.10.0 CHAIN_ID: ${{ inputs.chainId }} SUBQL_ACCESS_TOKEN: ${{ secrets.accessToken }} SUBQL_PROJ_ORG: ${{ inputs.projOrg }} + SUBQL_PROJ_NAME: ${{ inputs.projName }} SUBQL_PROJ_IMAGE: ${{ inputs.projImage }} SUBQL_DEPLOYMENT_TYPE: ${{ inputs.deploymentType }} ETH_NODE_API_KEY: ${{ secrets.ethNodeApiKey }} @@ -57,14 +61,27 @@ jobs: run: 'yarn projectgen' - name: Extract Chain Parameters to ENV run: | - echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV + SUBQL_ENDPOINTS="" + SUBQL_DICTIONARIES="" + SUBQL_VERSIONS="" + for projectFile in project-*.yaml; do + echo "Reading $projectFile" + chainId=$(yq '.network.chainId' $projectFile) + endpoint=$(yq '.network.endpoint' $projectFile) + dictionary=$(yq '.network.dictionary' $projectFile) + + if [[ -n "$SUBQL_ENDPOINTS" ]]; then SUBQL_ENDPOINTS+=","; fi + SUBQL_ENDPOINTS+="${chainId}:${endpoint}" + + if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi + SUBQL_DICTIONARIES+="${chainId}:${dictionary}" + done echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV - echo "SUBQL_CFG_ENDPOINT=$(yq '.network.endpoint' project-centrifuge.yaml)" >> $GITHUB_ENV - echo "SUBQL_CFG_DICT=$(yq '.network.dictionary' project-centrifuge.yaml)" >> $GITHUB_ENV + echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV + echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV - name: Publish SubQL version run: | - npx subql publish -o -f . - echo "CFG_IPFSCID=$(cat .project-centrifuge-cid)" >> $GITHUB_ENV + echo "IPFSCID=$(node_modules/.bin/subql publish -o)" >> $GITHUB_ENV - name: Delete Project if: ${{ inputs.resetProject }} run: | @@ -84,16 +101,16 @@ jobs: --logoURL="$SUBQL_PROJ_IMAGE" - name: Deploy CFG Version run: | - npx subql deployment:deploy \ + npx subql multi-chain:deploy \ -d \ --org="$SUBQL_PROJ_ORG" \ - --endpoint="$SUBQL_CFG_ENDPOINT" \ + --endpoint="$SUBQL_ENDPOINTS" \ + --dict="$SUBQL_DICTIONARIES" --projectName="$SUBQL_PROJ_NAME" \ - --ipfsCID="$CFG_IPFSCID" \ + --ipfsCID="$IPFSCID" \ --type=$SUBQL_DEPLOYMENT_TYPE \ --disableHistorical \ - --disableIndexerStoreCacheAsync \ - --indexerVersion="$SUBQL_INDEXER_VERSION" \ - --queryVersion="$SUBQL_QUERY_VERSION" \ + --indexerWorkers=1 \ + --indexerUnsafe=true \ --queryAggregate diff --git a/yarn.lock b/yarn.lock index bf93e554..737cad6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1293,138 +1293,134 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" -"@cosmjs/amino@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.30.1.tgz#7c18c14627361ba6c88e3495700ceea1f76baace" - integrity sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - -"@cosmjs/cosmwasm-stargate@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.30.1.tgz#6f9ca310f75433a3e30d683bc6aa24eadb345d79" - integrity sha512-W/6SLUCJAJGBN+sJLXouLZikVgmqDd9LCdlMzQaxczcCHTWeJAmRvOiZGSZaSy3shw/JN1qc6g6PKpvTVgj10A== - dependencies: - "@cosmjs/amino" "^0.30.1" - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@cosmjs/tendermint-rpc" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" +"@cosmjs/amino@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.32.3.tgz#b81d4a2b8d61568431a1afcd871e1344a19d97ff" + integrity sha512-G4zXl+dJbqrz1sSJ56H/25l5NJEk/pAPIr8piAHgbXYw88OdAOlpA26PQvk2IbSN/rRgVbvlLTNgX2tzz1dyUA== + dependencies: + "@cosmjs/crypto" "^0.32.3" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/utils" "^0.32.3" + +"@cosmjs/cosmwasm-stargate@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.32.3.tgz#26a110a6bb0c15fdeef647e3433bd9553a1acd5f" + integrity sha512-pqkt+QsLIPNMTRh9m+igJgIpzXXgn1BxmxfAb9zlC23kvsuzY/12un9M7iAdim1NwKXDFeYw46xC2YkprwQp+g== + dependencies: + "@cosmjs/amino" "^0.32.3" + "@cosmjs/crypto" "^0.32.3" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/proto-signing" "^0.32.3" + "@cosmjs/stargate" "^0.32.3" + "@cosmjs/tendermint-rpc" "^0.32.3" + "@cosmjs/utils" "^0.32.3" + cosmjs-types "^0.9.0" pako "^2.0.2" -"@cosmjs/crypto@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.30.1.tgz#21e94d5ca8f8ded16eee1389d2639cb5c43c3eb5" - integrity sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ== +"@cosmjs/crypto@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.32.3.tgz#787f8e659709678722068ee1ddf379f65051a25e" + integrity sha512-niQOWJHUtlJm2GG4F00yGT7sGPKxfUwz+2qQ30uO/E3p58gOusTcH2qjiJNVxb8vScYJhFYFqpm/OA/mVqoUGQ== dependencies: - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/utils" "^0.32.3" "@noble/hashes" "^1" bn.js "^5.2.0" elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" + libsodium-wrappers-sumo "^0.7.11" -"@cosmjs/encoding@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" - integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== +"@cosmjs/encoding@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.32.3.tgz#e245ff511fe4a0df7ba427b5187aab69e3468e5b" + integrity sha512-p4KF7hhv8jBQX3MkB3Defuhz/W0l3PwWVYU2vkVuBJ13bJcXyhU9nJjiMkaIv+XP+W2QgRceqNNgFUC5chNR7w== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/json-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc" - integrity sha512-pitfC/2YN9t+kXZCbNuyrZ6M8abnCC2n62m+JtU9vQUfaEtVsgy+1Fk4TRQ175+pIWSdBMFi2wT8FWVEE4RhxQ== +"@cosmjs/json-rpc@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.32.3.tgz#ccffdd7f722cecfab6daaa7463843b92f5d25355" + integrity sha512-JwFRWZa+Y95KrAG8CuEbPVOSnXO2uMSEBcaAB/FBU3Mo4jQnDoUjXvt3vwtFWxfAytrWCn1I4YDFaOAinnEG/Q== dependencies: - "@cosmjs/stream" "^0.30.1" + "@cosmjs/stream" "^0.32.3" xstream "^11.14.0" -"@cosmjs/math@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.30.1.tgz#8b816ef4de5d3afa66cb9fdfb5df2357a7845b8a" - integrity sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q== +"@cosmjs/math@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.32.3.tgz#16e4256f4da507b9352327da12ae64056a2ba6c9" + integrity sha512-amumUtZs8hCCnV+lSBaJIiZkGabQm22QGg/IotYrhcmoOEOjt82n7hMNlNXRs7V6WLMidGrGYcswB5zcmp0Meg== dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.30.1.tgz#f0dda372488df9cd2677150b89b3e9c72b3cb713" - integrity sha512-tXh8pPYXV4aiJVhTKHGyeZekjj+K9s2KKojMB93Gcob2DxUjfKapFYBMJSgfKPuWUPEmyr8Q9km2hplI38ILgQ== - dependencies: - "@cosmjs/amino" "^0.30.1" - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" +"@cosmjs/proto-signing@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.32.3.tgz#91ae149b747d18666a6ccc924165b306431f7c0d" + integrity sha512-kSZ0ZUY0DwcRT0NcIn2HkadH4NKlwjfZgbLj1ABwh/4l0RgeT84QCscZCu63tJYq3K6auwqTiZSZERwlO4/nbg== + dependencies: + "@cosmjs/amino" "^0.32.3" + "@cosmjs/crypto" "^0.32.3" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/utils" "^0.32.3" + cosmjs-types "^0.9.0" -"@cosmjs/socket@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.30.1.tgz#00b22f4b5e2ab01f4d82ccdb7b2e59536bfe5ce0" - integrity sha512-r6MpDL+9N+qOS/D5VaxnPaMJ3flwQ36G+vPvYJsXArj93BjgyFB7BwWwXCQDzZ+23cfChPUfhbINOenr8N2Kow== +"@cosmjs/socket@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.32.3.tgz#fa5c36bf58e87c0ad865d6318ecb0f8d9c89a28a" + integrity sha512-F2WwNmaUPdZ4SsH6Uyreq3wQk7jpaEkb3wfOP951f5Jt6HCW/PxbxhKzHkAAf6+Sqks6SPhkbWoE8XaZpjL2KA== dependencies: - "@cosmjs/stream" "^0.30.1" + "@cosmjs/stream" "^0.32.3" isomorphic-ws "^4.0.1" ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.30.1.tgz#e1b22e1226cffc6e93914a410755f1f61057ba04" - integrity sha512-RdbYKZCGOH8gWebO7r6WvNnQMxHrNXInY/gPHPzMjbQF6UatA6fNM2G2tdgS5j5u7FTqlCI10stNXrknaNdzog== +"@cosmjs/stargate@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.32.3.tgz#5a92b222ada960ebecea72cc9f366370763f4b66" + integrity sha512-OQWzO9YWKerUinPIxrO1MARbe84XkeXJAW0lyMIjXIEikajuXZ+PwftiKA5yA+8OyditVmHVLtPud6Pjna2s5w== dependencies: "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/tendermint-rpc" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" - protobufjs "~6.11.3" + "@cosmjs/amino" "^0.32.3" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/proto-signing" "^0.32.3" + "@cosmjs/stream" "^0.32.3" + "@cosmjs/tendermint-rpc" "^0.32.3" + "@cosmjs/utils" "^0.32.3" + cosmjs-types "^0.9.0" xstream "^11.14.0" -"@cosmjs/stream@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.30.1.tgz#ba038a2aaf41343696b1e6e759d8e03a9516ec1a" - integrity sha512-Fg0pWz1zXQdoxQZpdHRMGvUH5RqS6tPv+j9Eh7Q953UjMlrwZVo0YFLC8OTf/HKVf10E4i0u6aM8D69Q6cNkgQ== +"@cosmjs/stream@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.32.3.tgz#7522579aaf18025d322c2f33d6fb7573220395d6" + integrity sha512-J2zVWDojkynYifAUcRmVczzmp6STEpyiAARq0rSsviqjreGIfspfuws/8rmkPa6qQBZvpQOBQCm2HyZZwYplIw== dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.30.1.tgz#c16378892ba1ac63f72803fdf7567eab9d4f0aa0" - integrity sha512-Z3nCwhXSbPZJ++v85zHObeUggrEHVfm1u18ZRwXxFE9ZMl5mXTybnwYhczuYOl7KRskgwlB+rID0WYACxj4wdQ== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/json-rpc" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/socket" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - axios "^0.21.2" +"@cosmjs/tendermint-rpc@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.32.3.tgz#f0406b9f0233e588fb924dca8c614972f9038aff" + integrity sha512-xeprW+VR9xKGstqZg0H/KBZoUp8/FfFyS9ljIUTLM/UINjP2MhiwncANPS2KScfJVepGufUKk0/phHUeIBSEkw== + dependencies: + "@cosmjs/crypto" "^0.32.3" + "@cosmjs/encoding" "^0.32.3" + "@cosmjs/json-rpc" "^0.32.3" + "@cosmjs/math" "^0.32.3" + "@cosmjs/socket" "^0.32.3" + "@cosmjs/stream" "^0.32.3" + "@cosmjs/utils" "^0.32.3" + axios "^1.6.0" readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" - integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== +"@cosmjs/utils@^0.32.3": + version "0.32.3" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.32.3.tgz#5dcaee6dd7cc846cdc073e9a7a7f63242f5f7e31" + integrity sha512-WCZK4yksj2hBDz4w7xFZQTRZQ/RJhBX26uFHmmQFIcNUUVAihrLO+RerqJgk0dZqC42wstM9pEUQGtPmLcIYvg== "@cosmology/protobufjs@6.11.6": version "6.11.6" @@ -1478,7 +1474,7 @@ shelljs "0.8.5" wasm-ast-types "^0.25.0" -"@cosmwasm/ts-codegen@^0.35.3": +"@cosmwasm/ts-codegen@^0.35.7": version "0.35.7" resolved "https://registry.yarnpkg.com/@cosmwasm/ts-codegen/-/ts-codegen-0.35.7.tgz#b88c03b732824113fc765d560504516faca6f23b" integrity sha512-qbOAYJPe5O5AjoWytZcsVvM0SBA39sMpiqnVIIgjJiqp4G4D5GjR2/UV3ePpygnIxxKZWMnOpPPUvLMjflblCw== @@ -2363,9 +2359,9 @@ wrap-ansi "^7.0.0" "@oclif/core@^2.15.0": - version "2.15.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.15.0.tgz#f27797b30a77d13279fba88c1698fc34a0bd0d2a" - integrity sha512-fNEMG5DzJHhYmI3MgpByTvltBOMyFcnRIUMxbiz2ai8rhaYgaTHMG3Q38HcosfIvtw9nCjxpcQtC8MN8QtVCcA== + version "2.16.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.16.0.tgz#e6f3c6c359d4313a15403d8652bbdd0e99ce4b3a" + integrity sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -3051,19 +3047,19 @@ sodium-native "^4.0.10" "@subql/cli@^4.3.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@subql/cli/-/cli-4.5.0.tgz#374fedf4de3f6aeca95055f869fb063bcadabd84" - integrity sha512-Od9XywcYeo9paNlWZ0hMUOaix/8bx4fVWDFs1t2Nlcz3/1zfoJ2sZyLQQKQIZZH+ZYfcsncj9n9dqpbScybWOA== + version "4.5.1" + resolved "https://registry.yarnpkg.com/@subql/cli/-/cli-4.5.1.tgz#310797c64231e7778f5fcd67287cc9f62a43f4f8" + integrity sha512-m4Gdo9Wtvn+28tE4BEp/3pJvLJEmugUUqU8+HILlZj8WTj5AMws3//WbvTuQ3bAT4EI+maeC72PTZhNYKUIITQ== dependencies: "@oclif/core" "^2.15.0" "@subql/common" "3.5.0" - "@subql/common-algorand" "^3.1.0" - "@subql/common-concordium" "^3.3.2" - "@subql/common-cosmos" "^4.0.1" - "@subql/common-ethereum" "^3.3.0" - "@subql/common-flare" "^3.1.0" - "@subql/common-near" "^3.0.1" - "@subql/common-stellar" "^3.0.0" + "@subql/common-algorand" "^3.3.0" + "@subql/common-concordium" "^3.5.1" + "@subql/common-cosmos" "^4.2.0" + "@subql/common-ethereum" "^3.5.0" + "@subql/common-flare" "^3.5.0" + "@subql/common-near" "^3.4.0" + "@subql/common-stellar" "^3.4.1" "@subql/common-substrate" "3.4.0" "@subql/utils" "2.9.0" algosdk "^1.19.0" @@ -3091,13 +3087,13 @@ yaml "^2.2.2" yaml-loader "^0.6.0" -"@subql/common-algorand@^3.1.0": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@subql/common-algorand/-/common-algorand-3.2.2.tgz#a3a6d25cc7588840941144bae7a6f4bb636b91ed" - integrity sha512-miop49qVIp10Nonf/+mt73RchNdxSC2LEHRGdTiwRxNltYqt+RweprqD8pxoR5Qu3BihVsM9yp+qzLSgikSG0g== +"@subql/common-algorand@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@subql/common-algorand/-/common-algorand-3.3.0.tgz#5c7eb05fe74855b1cd0d02c60b87046c084a9cd5" + integrity sha512-mZBy3duT05isKStvs9Qrl/iJESRJ7+K/w0lsX8fyUsW2QYJRpJ+sd3lMalOFH04rWqy/Hbkwn7c18a8aDj8vXA== dependencies: - "@subql/common" "^3.4.1" - "@subql/types-algorand" "3.1.2" + "@subql/common" "^3.5.0" + "@subql/types-algorand" "3.2.0" class-transformer "^0.5.1" class-validator "^0.13.2" fs-extra "^10.1.0" @@ -3106,24 +3102,24 @@ reflect-metadata "^0.1.13" semver "^7.5.2" -"@subql/common-concordium@^3.3.2": - version "3.4.2" - resolved "https://registry.yarnpkg.com/@subql/common-concordium/-/common-concordium-3.4.2.tgz#ec700d4ffaebe82f07075b72171d09739963327f" - integrity sha512-C5oc6ra+kAQ6dO2qnkvplh9L3Yf52IEm9L4FvEFnvVu8ClS6P26ERpP0LTAnlB8/ih/CHtVF43vk0CdUHai/Eg== +"@subql/common-concordium@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@subql/common-concordium/-/common-concordium-3.5.1.tgz#7d7d245785cb614492dbf290beb2ec6f34dd3bf0" + integrity sha512-9DXPpUbkpP+D1HI0Xf7cnhCArQJXwhC/MYu2tmPTqi253Vee8unijHxknDSWwXhtAtGw1Kr2buLClwMzOAm+2A== dependencies: "@concordium/node-sdk" "9.4.0" - "@subql/common" "^3.4.1" - "@subql/types-concordium" "3.4.4" + "@subql/common" "^3.5.0" + "@subql/types-concordium" "3.5.1" js-yaml "^4.1.0" pino "^6.13.3" reflect-metadata "^0.1.13" -"@subql/common-cosmos@^4.0.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@subql/common-cosmos/-/common-cosmos-4.1.1.tgz#28738e09e2434d0114a40b0a8b63f1427f6d1cbe" - integrity sha512-abfA/IrUe88mGxmvJeA3oqQfA2OIrgQerZZXS396Ng9d91ec7R8XuV6IWQM6Qnp3FclTvcWSx05vIXQz1kOlGg== +"@subql/common-cosmos@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@subql/common-cosmos/-/common-cosmos-4.2.0.tgz#5b75f1f9b2d705070efbf133829b8677f373fd3d" + integrity sha512-8MObnKf9QHfLs7tVG0QpbIfP8FkbUVZF3lHpKcpzBlweEHD3ncg/E7VYuni8H7WX7YnTDWUCAS+PpgTM3+852Q== dependencies: - "@cosmwasm/ts-codegen" "^0.35.3" + "@cosmwasm/ts-codegen" "^0.35.7" "@protobufs/cosmos" "^0.1.0" "@protobufs/cosmos_proto" "^0.0.10" "@protobufs/cosmwasm" "^0.1.1" @@ -3131,14 +3127,14 @@ "@protobufs/google" "^0.0.10" "@protobufs/ibc" "^0.1.0" "@protobufs/tendermint" "^0.0.10" - "@subql/common" "^3.4.1" - "@subql/types-cosmos" "3.2.3" + "@subql/common" "^3.5.0" + "@subql/types-cosmos" "3.3.0" "@subql/x-cosmology-telescope" "^1.4.14" fs-extra "^11.1.1" js-yaml "^4.1.0" reflect-metadata "^0.1.13" -"@subql/common-ethereum@^3.3.0": +"@subql/common-ethereum@^3.5.0": version "3.5.0" resolved "https://registry.yarnpkg.com/@subql/common-ethereum/-/common-ethereum-3.5.0.tgz#4fd778850ba1f8b3a0df37ab9aa90c0feda7aaa9" integrity sha512-iiFVjq+/B6yibdCkCNYQRyCFTMehZe/TBsm7qCJgjkqAw/1Tw2ywW/+wdMCI3VK9Ixy5iOuHRY4oVWF9Jyl3xA== @@ -3152,7 +3148,7 @@ reflect-metadata "^0.1.13" typechain "^8.3.1" -"@subql/common-flare@^3.1.0": +"@subql/common-flare@^3.5.0": version "3.5.0" resolved "https://registry.yarnpkg.com/@subql/common-flare/-/common-flare-3.5.0.tgz#75d591e1f230d5496c6a5efa2bd78b5f452967d6" integrity sha512-ZEzMuiqdTfnKC+uDjAMij0GpGLncFzYWdQP9anQ8FvC81d704DZek1sx95U0fSIen2Pwdb9TCdAB/5XTqqjXTg== @@ -3166,23 +3162,23 @@ reflect-metadata "^0.1.13" typechain "^8.3.1" -"@subql/common-near@^3.0.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@subql/common-near/-/common-near-3.3.1.tgz#e3a30c0e69f0550d4a4be41169485f01387350c2" - integrity sha512-x6Z9IPb8YQLWBoWhT/hAGPSDhJQDQv3gd1VTvkLxYEoYv4BBw80orfK95aZJhI0StjQWckPzc3xKO3oBxj5pLQ== +"@subql/common-near@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@subql/common-near/-/common-near-3.4.0.tgz#9b26b6764000e1296bcc3a744b00325efceaf725" + integrity sha512-vxe80KRuVUtInnOunfV6FMtihJ/wTgxlI2+DEfxXCXKXl3LGOmmiKBqbecidXWjv87pcjwu+DUuOAUTJ2Njyiw== dependencies: - "@subql/common" "^3.4.1" - "@subql/types-near" "3.1.3" + "@subql/common" "^3.5.0" + "@subql/types-near" "3.2.0" js-yaml "^4.1.0" reflect-metadata "^0.1.13" -"@subql/common-stellar@^3.0.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@subql/common-stellar/-/common-stellar-3.3.2.tgz#1f448245d2fb2faf1d34bd74e38936760a842d39" - integrity sha512-bvh1dsUOl/QSjT7HBq1ay0rhWB8cLmb8ALknircUaHUXJo5dj0Pesl+SaSELrj4aNGDsXQmpJliIbhV1wi0rSA== +"@subql/common-stellar@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@subql/common-stellar/-/common-stellar-3.4.1.tgz#48fc256ec2b5489d35924c59f57b12ad4d895099" + integrity sha512-vJvFjZzYK4ttTJHMQAIU4z1aPjS8t3y+PLH46JEgPoXZl02CM83kX0Qs4jrlsvceCU5+w+e+dAnBvo+gffm1jw== dependencies: - "@subql/common" "^3.4.1" - "@subql/types-stellar" "3.2.2-0" + "@subql/common" "^3.5.0" + "@subql/types-stellar" "3.3.1" js-yaml "^4.1.0" pino "^6.13.3" reflect-metadata "^0.1.13" @@ -3198,7 +3194,7 @@ js-yaml "^4.1.0" reflect-metadata "^0.1.13" -"@subql/common@3.5.0", "@subql/common@^3.4.1", "@subql/common@^3.5.0": +"@subql/common@3.5.0", "@subql/common@^3.5.0": version "3.5.0" resolved "https://registry.yarnpkg.com/@subql/common/-/common-3.5.0.tgz#9bf94f327c1e0985f548bcbe74961cde322ee5d3" integrity sha512-bSrMp+B0vTw4XQUBq8HVtCeDecVGZZZYxA+Oh2leYpIf44HB7ll8Bi2B5Dxh8T8aX81ohd4D2J4q7utsuswEpA== @@ -3221,20 +3217,20 @@ dependencies: "@subql/types-core" "^0.1.2-0" -"@subql/types-algorand@3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@subql/types-algorand/-/types-algorand-3.1.2.tgz#45fd3e61ce19967a8adc096d6081315b4ae6a50d" - integrity sha512-6+6pISKn8ZQY6xeM7tZlDrWCGuoLeVVp8F+VkAegF+XOdAJjWw19Wa2EhGV3R/++XD9LGnUQaddEsiiEKBtrYA== +"@subql/types-algorand@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@subql/types-algorand/-/types-algorand-3.2.0.tgz#156c876382ef8aeb00b3461a6d3673ac1910baf2" + integrity sha512-fFnZK+TTfFsGMRZiSM1zF7AoLIEyvuBULEYSyyqiqF8f+2KCgg/9lp6C7sQaQaKK0w1Fuj8OQrmrrqNPUbgUoA== dependencies: - "@subql/types-core" "^0.5.0" + "@subql/types-core" "^0.6.0" -"@subql/types-concordium@3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@subql/types-concordium/-/types-concordium-3.4.4.tgz#2632b60a7205938a687334400747eb14102a147f" - integrity sha512-StC5iNt10r+/ygw+WthZcKpJZwRWYBWVaW1XyKNF8H3R3WUIOGf7MLYgqw9tumLrIDjy7mSVPJ5BQ4yYwyZxSA== +"@subql/types-concordium@3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@subql/types-concordium/-/types-concordium-3.5.1.tgz#c959b0b51671085a07579055023b552ed6dc5958" + integrity sha512-jajf9pylciMFzHiPnHtSZUnAIYspBxrOI6Qx5lrez6QaWp363Rd8jlMgOF407+tUyZf5QpbrnWTj7MRN42d6TA== dependencies: "@concordium/node-sdk" "9.4.0" - "@subql/types-core" "^0.5.0" + "@subql/types-core" "^0.6.0" "@subql/types-core@0.6.0", "@subql/types-core@^0.6.0": version "0.6.0" @@ -3250,22 +3246,15 @@ dependencies: package-json-type "^1.0.3" -"@subql/types-core@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@subql/types-core/-/types-core-0.5.0.tgz#f1489fa314740f7c59ec9e0d75245df33e170ef3" - integrity sha512-vDGyGHKYzmC9AZXE8nFKTjgBJSr7l4orAj54IPTq1e6CsYNYWw+sAr8yD09rxUEzDhZEuKZdN8N7/IbhpvqJ0Q== - dependencies: - package-json-type "^1.0.3" - -"@subql/types-cosmos@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@subql/types-cosmos/-/types-cosmos-3.2.3.tgz#242074c5c5e2f6b508fb22c5113a6f45a160bd96" - integrity sha512-Vf1k3G1R4Jr4EWhpDbqjCunlt74EiBARASrBGjpjUCfnfdvdY3tfOaBcEwZjZvVRIi6O5NEZVsMq25VtlBWo0Q== +"@subql/types-cosmos@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@subql/types-cosmos/-/types-cosmos-3.3.0.tgz#76d22a28d852c471d5aefeeddfc31d715d88379b" + integrity sha512-bQFTCz8ywMno/ax9aZEHfhqsBA8lhYwWgLKjPMqNOGFTLttx+6mnT5LgReV6aBjnmaNEN+AbbSvBKPpYjNCiMw== dependencies: - "@cosmjs/cosmwasm-stargate" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@subql/types-core" "^0.5.0" + "@cosmjs/cosmwasm-stargate" "^0.32.3" + "@cosmjs/proto-signing" "^0.32.3" + "@cosmjs/stargate" "^0.32.3" + "@subql/types-core" "^0.6.0" "@subql/types-ethereum@3.5.0": version "3.5.0" @@ -3283,21 +3272,21 @@ "@ethersproject/abstract-provider" "^5.6.1" "@subql/types-core" "^0.6.0" -"@subql/types-near@3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@subql/types-near/-/types-near-3.1.3.tgz#83c901dce68d329dbc50b7949b0421b324d9232d" - integrity sha512-FgakNErIOz1ILtpgIJcjR6uVr0N4aXt3Fxwg6tL/HM7zCaoc347sBY2jRRzlbxY9SRbqmol2t6EXQlFMg7SHsg== +"@subql/types-near@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@subql/types-near/-/types-near-3.2.0.tgz#9454f6ec0d8a03ff0852ab165b638c9cdbfd721e" + integrity sha512-dcYsebWh85+msJ6UWI0hjbK6FSNVnEFKGN7QZ/yr1lOaNQrv0kG4BH/ARZ/YGaokZxap2VHAThD69GmwjpFceA== dependencies: - "@subql/types-core" "^0.5.0" + "@subql/types-core" "^0.6.0" bn.js "5.2.1" near-api-js "^1.1.0" -"@subql/types-stellar@3.2.2-0": - version "3.2.2-0" - resolved "https://registry.yarnpkg.com/@subql/types-stellar/-/types-stellar-3.2.2-0.tgz#129ed69879588793408dbc3b87b7f2a21f7b5b04" - integrity sha512-yJHNT7m1sHFISbyA8ynsmCY//C+bOfsn3KJWuZrfIg1Xzk9jMzFrRXozaidp1xuVHWbb5M6tag05XC58R2+5WA== +"@subql/types-stellar@3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@subql/types-stellar/-/types-stellar-3.3.1.tgz#7271defeedf54fa97c2b0f08c0f8f06d497477ee" + integrity sha512-UippL4TNifgFZahhZ0JChDDZ3M5CmU0th8Bi2dHMNhvruIBHxvA/c0mtIi//SnKWHoeLU2EsJZj7cAp0sLAzCQ== dependencies: - "@subql/types-core" "^0.5.0" + "@subql/types-core" "^0.6.0" stellar-sdk "^11.2.2" "@subql/types@3.4.0", "@subql/types@latest": @@ -3653,9 +3642,9 @@ form-data "^4.0.0" "@types/node@*", "@types/node@>=13.7.0": - version "20.12.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.4.tgz#af5921bd75ccdf3a3d8b3fa75bf3d3359268cd11" - integrity sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw== + version "20.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== dependencies: undici-types "~5.26.4" @@ -4247,13 +4236,6 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - axios@^0.28.0: version "0.28.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.28.1.tgz#2a7bcd34a3837b71ee1a5ca3762214b86b703e70" @@ -4263,7 +4245,7 @@ axios@^0.28.0: form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^1.6.8: +axios@^1.6.0, axios@^1.6.8: version "1.6.8" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== @@ -4590,9 +4572,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001587: - version "1.0.30001606" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz#b4d5f67ab0746a3b8b5b6d1f06e39c51beb39a9e" - integrity sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg== + version "1.0.30001608" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001608.tgz#7ae6e92ffb300e4b4ec2f795e0abab456ec06cc0" + integrity sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA== capability@^0.2.5: version "0.2.5" @@ -5022,13 +5004,10 @@ cosmiconfig@^8.0.0: parse-json "^5.2.0" path-type "^4.0.0" -cosmjs-types@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.7.2.tgz#a757371abd340949c5bd5d49c6f8379ae1ffd7e2" - integrity sha512-vf2uLyktjr/XVAgEq0DjMxeAWh1yYREe7AMHDKd7EiHVqxBPCaBS+qEEQUkXbR9ndnckqr1sUG8BQhazh4X5lA== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" +cosmjs-types@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.9.0.tgz#c3bc482d28c7dfa25d1445093fdb2d9da1f6cfcc" + integrity sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ== create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" @@ -5327,9 +5306,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.4.668: - version "1.4.728" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.728.tgz#ac54d9d1b38752b920ec737a48c83dec2bf45ea1" - integrity sha512-Ud1v7hJJYIqehlUJGqR6PF1Ek8l80zWwxA6nGxigBsGJ9f9M2fciHyrIiNMerSHSH3p+0/Ia7jIlnDkt41h5cw== + version "1.4.733" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.733.tgz#708d51ce01a7ed3b401d5ced85e9f5d504fd4217" + integrity sha512-gUI9nhI2iBGF0OaYYLKOaOtliFMl+Bt1rY7VmEjwxOxqoYLub/D9xmduPEhbw2imE6gYkJKhIE5it+KE2ulVxQ== elliptic@6.5.4: version "6.5.4" @@ -5920,7 +5899,7 @@ flatted@^3.2.5, flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== -follow-redirects@^1.14.0, follow-redirects@^1.15.0, follow-redirects@^1.15.6: +follow-redirects@^1.15.0, follow-redirects@^1.15.6: version "1.15.6" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== @@ -7707,17 +7686,17 @@ libphonenumber-js@^1.10.53, libphonenumber-js@^1.9.43: resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.60.tgz#1160ec5b390d46345032aa52be7ffa7a1950214b" integrity sha512-Ctgq2lXUpEJo5j1762NOzl2xo7z7pqmVWYai0p07LvAkQ32tbPv3wb+tcUeHEiXhKU5buM4H9MXsXo6OlM6C2g== -libsodium-wrappers@^0.7.6: +libsodium-sumo@^0.7.13: version "0.7.13" - resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.13.tgz#83299e06ee1466057ba0e64e532777d2929b90d3" - integrity sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw== - dependencies: - libsodium "^0.7.13" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.13.tgz#533b97d2be44b1277e59c1f9f60805978ac5542d" + integrity sha512-zTGdLu4b9zSNLfovImpBCbdAA4xkpkZbMnSQjP8HShyOutnGjRHmSOKlsylh1okao6QhLiz7nG98EGn+04cZjQ== -libsodium@^0.7.13: +libsodium-wrappers-sumo@^0.7.11: version "0.7.13" - resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.13.tgz#230712ec0b7447c57b39489c48a4af01985fb393" - integrity sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw== + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.13.tgz#a33aea845a0bb56db067548f04feba28c730ab8e" + integrity sha512-lz4YdplzDRh6AhnLGF2Dj2IUj94xRN6Bh8T0HLNwzYGwPehQJX6c7iYVrFUPZ3QqxE0bqC+K0IIqqZJYWumwSQ== + dependencies: + libsodium-sumo "^0.7.13" lilconfig@2.1.0: version "2.1.0" @@ -8764,7 +8743,7 @@ propagate@^2.0.0: resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== -protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: +protobufjs@^6.10.2, protobufjs@^6.8.8: version "6.11.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== @@ -9966,7 +9945,12 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@>=5.2.2, "typescript@^4.6.4 || ^5.2.2", typescript@^5.2.2: +typescript@>=5.2.2: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + +"typescript@^4.6.4 || ^5.2.2", typescript@^5.2.2: version "5.4.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== From b680bb8b67ce278e08d839c6b2335a07360aaacc Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 14:48:57 +0200 Subject: [PATCH 03/28] ci: automate multichain deployments --- .github/workflows/deploy.yml | 1 - .github/workflows/subql_deploy_workflow.yaml | 5 +---- chains-cfg/_root.yaml | 2 +- chains-cfg/centrifuge.yaml | 2 +- chains-cfg/demo.yaml | 2 +- chains-cfg/development-embrio.yaml | 2 +- 6 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 15271d95..de51626e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,7 +24,6 @@ jobs: with: chainId: ${{ matrix.chainId }} projOrg: centrifuge - projName: pools-multichain projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' deploymentType: stage resetProject: false diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index a361a3a2..9265de66 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -7,9 +7,6 @@ on: projOrg: required: true type: string - projName: - required: true - type: string projImage: required: false type: string @@ -37,7 +34,6 @@ jobs: CHAIN_ID: ${{ inputs.chainId }} SUBQL_ACCESS_TOKEN: ${{ secrets.accessToken }} SUBQL_PROJ_ORG: ${{ inputs.projOrg }} - SUBQL_PROJ_NAME: ${{ inputs.projName }} SUBQL_PROJ_IMAGE: ${{ inputs.projImage }} SUBQL_DEPLOYMENT_TYPE: ${{ inputs.deploymentType }} ETH_NODE_API_KEY: ${{ secrets.ethNodeApiKey }} @@ -76,6 +72,7 @@ jobs: if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi SUBQL_DICTIONARIES+="${chainId}:${dictionary}" done + echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV diff --git a/chains-cfg/_root.yaml b/chains-cfg/_root.yaml index 52ff9045..abac8848 100644 --- a/chains-cfg/_root.yaml +++ b/chains-cfg/_root.yaml @@ -1,5 +1,5 @@ specVersion: 1.0.0 -name: centrifuge-pools +name: pools-multichain description: 'SubQuery API powered by EMBRIO.tech to query Centrifuge chain data for analytics insights on how Centrifuge is unlocking economic opportunity for all by connecting people to borrow and lend money transparently and cost-effectively.' version: 1.0.0 runner: diff --git a/chains-cfg/centrifuge.yaml b/chains-cfg/centrifuge.yaml index f705b96d..fea561c6 100644 --- a/chains-cfg/centrifuge.yaml +++ b/chains-cfg/centrifuge.yaml @@ -1,4 +1,4 @@ -name: pools +name: pools-multichain network: dictionary: https://api.subquery.network/sq/centrifuge/centrifuge-dictionary endpoint: wss://fullnode.parachain.centrifuge.io diff --git a/chains-cfg/demo.yaml b/chains-cfg/demo.yaml index 7e0fe6ca..9b438f51 100644 --- a/chains-cfg/demo.yaml +++ b/chains-cfg/demo.yaml @@ -1,4 +1,4 @@ -name: 'pools-demo' #CHANGE ME BASED ON SUBQL DEPLOYMENT +name: 'pools-multichain-demo' #CHANGE ME BASED ON SUBQL DEPLOYMENT network: endpoint: wss://fullnode.demo.k-f.dev/public-ws chainId: '0xe0e40f62affe742eb92d75c07830671ef3e0cc6efc1ecaf81cf34a28148e91f0' diff --git a/chains-cfg/development-embrio.yaml b/chains-cfg/development-embrio.yaml index 67ceb6bd..6a13f344 100644 --- a/chains-cfg/development-embrio.yaml +++ b/chains-cfg/development-embrio.yaml @@ -1,4 +1,4 @@ -name: 'centrifuge-subql' +name: pools-multichain repository: 'https://github.com/embrio-tech/centrifuge-subql' network: endpoint: wss://fullnode.demo.k-f.dev/public-ws From 378c7532b2b5891e6f0192cff07f797bacbef138 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 14:56:34 +0200 Subject: [PATCH 04/28] ci: add required location --- .github/workflows/subql_deploy_workflow.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 9265de66..0d75a13f 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -100,6 +100,7 @@ jobs: run: | npx subql multi-chain:deploy \ -d \ + --location=./subquery-multichain.yaml --org="$SUBQL_PROJ_ORG" \ --endpoint="$SUBQL_ENDPOINTS" \ --dict="$SUBQL_DICTIONARIES" From 92726b9fe2aed4b68ae4f52ce2c519eda629458b Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 14:59:39 +0200 Subject: [PATCH 05/28] chore: updated project name --- .github/workflows/subql_deploy_workflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 0d75a13f..93fe0a86 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -72,7 +72,7 @@ jobs: if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi SUBQL_DICTIONARIES+="${chainId}:${dictionary}" done - echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" + echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV From 4d5ed811de633147997cd1d6b3547f81f91d6bb5 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:03:00 +0200 Subject: [PATCH 06/28] ci: missing linebreak --- .github/workflows/subql_deploy_workflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 93fe0a86..6c17d0ee 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -100,7 +100,7 @@ jobs: run: | npx subql multi-chain:deploy \ -d \ - --location=./subquery-multichain.yaml + --location=./subquery-multichain.yaml \ --org="$SUBQL_PROJ_ORG" \ --endpoint="$SUBQL_ENDPOINTS" \ --dict="$SUBQL_DICTIONARIES" From 34c85e23977e8fefec592d0f90f9ad9f1f8111f8 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:09:06 +0200 Subject: [PATCH 07/28] ci: adapt embrio deployment name --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index de51626e..3c2339ea 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,7 +16,7 @@ permissions: jobs: subql_deploy_embrio_staging: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL (CENTRIFUGE staging) + name: Deploy to SubQL (EMBRIO staging) strategy: matrix: chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY From 1fed1692b6c2242890b46bdf36bfce829583ce84 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:15:02 +0200 Subject: [PATCH 08/28] ci: missing line break dor deployment command --- .github/workflows/subql_deploy_workflow.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 6c17d0ee..0201c984 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -102,9 +102,9 @@ jobs: -d \ --location=./subquery-multichain.yaml \ --org="$SUBQL_PROJ_ORG" \ - --endpoint="$SUBQL_ENDPOINTS" \ - --dict="$SUBQL_DICTIONARIES" --projectName="$SUBQL_PROJ_NAME" \ + --endpoint="$SUBQL_ENDPOINTS" \ + --dict="$SUBQL_DICTIONARIES" \ --ipfsCID="$IPFSCID" \ --type=$SUBQL_DEPLOYMENT_TYPE \ --disableHistorical \ From a1dcc8d6b048dad8735c0923b7f09c829f64ad7c Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:24:32 +0200 Subject: [PATCH 09/28] ci: exclude ipfs cid --- .github/workflows/subql_deploy_workflow.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 0201c984..d12cc300 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -105,7 +105,6 @@ jobs: --projectName="$SUBQL_PROJ_NAME" \ --endpoint="$SUBQL_ENDPOINTS" \ --dict="$SUBQL_DICTIONARIES" \ - --ipfsCID="$IPFSCID" \ --type=$SUBQL_DEPLOYMENT_TYPE \ --disableHistorical \ --indexerWorkers=1 \ From 16319fd15c0c65ca99ac0bd7f24e76a607c882e5 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:27:05 +0200 Subject: [PATCH 10/28] ci: unafe indexer --- .github/workflows/subql_deploy_workflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index d12cc300..ceb06ce3 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -108,6 +108,6 @@ jobs: --type=$SUBQL_DEPLOYMENT_TYPE \ --disableHistorical \ --indexerWorkers=1 \ - --indexerUnsafe=true \ + --indexerUnsafe \ --queryAggregate From ceac717ebd86be27497dfa3385ed45aecaaef860 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 15:44:09 +0200 Subject: [PATCH 11/28] ci: skip null dictionaries --- .github/workflows/subql_deploy_workflow.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index ceb06ce3..0d16e4ce 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -69,8 +69,10 @@ jobs: if [[ -n "$SUBQL_ENDPOINTS" ]]; then SUBQL_ENDPOINTS+=","; fi SUBQL_ENDPOINTS+="${chainId}:${endpoint}" - if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi - SUBQL_DICTIONARIES+="${chainId}:${dictionary}" + if [[ "$dictionary" != "null" ]]; then + if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi + SUBQL_DICTIONARIES+="${chainId}:${dictionary}" + fi done echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV From 957b26a12bbfddbcc85bcee953ea0319a32ed56b Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 11 Apr 2024 16:43:03 +0200 Subject: [PATCH 12/28] ci: split multichain logic --- .github/workflows/deploy.yml | 4 +- .github/workflows/subql_deploy_workflow.yaml | 39 ++---- .../subql_multi_deploy_workflow.yaml | 115 ++++++++++++++++++ 3 files changed, 128 insertions(+), 30 deletions(-) create mode 100644 .github/workflows/subql_multi_deploy_workflow.yaml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3c2339ea..4f6b0636 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -20,12 +20,12 @@ jobs: strategy: matrix: chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY - uses: ./.github/workflows/subql_deploy_workflow.yaml + uses: ./.github/workflows/subql_multi_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} projOrg: centrifuge projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' - deploymentType: stage + deploymentType: primary resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 0d16e4ce..01792f5e 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -29,7 +29,6 @@ jobs: runs-on: ubuntu-latest env: SUBQL_INDEXER_VERSION: v4.0.1 - SUBQL_ETH_INDEXER_VERSION: v4.1.0 SUBQL_QUERY_VERSION: v2.10.0 CHAIN_ID: ${{ inputs.chainId }} SUBQL_ACCESS_TOKEN: ${{ secrets.accessToken }} @@ -57,30 +56,14 @@ jobs: run: 'yarn projectgen' - name: Extract Chain Parameters to ENV run: | - SUBQL_ENDPOINTS="" - SUBQL_DICTIONARIES="" - SUBQL_VERSIONS="" - for projectFile in project-*.yaml; do - echo "Reading $projectFile" - chainId=$(yq '.network.chainId' $projectFile) - endpoint=$(yq '.network.endpoint' $projectFile) - dictionary=$(yq '.network.dictionary' $projectFile) - - if [[ -n "$SUBQL_ENDPOINTS" ]]; then SUBQL_ENDPOINTS+=","; fi - SUBQL_ENDPOINTS+="${chainId}:${endpoint}" - - if [[ "$dictionary" != "null" ]]; then - if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi - SUBQL_DICTIONARIES+="${chainId}:${dictionary}" - fi - done echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV - echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV - echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV + echo "SUBQL_CFG_ENDPOINT=$(yq '.network.endpoint' project-centrifuge.yaml)" >> $GITHUB_ENV + echo "SUBQL_CFG_DICT=$(yq '.network.dictionary' project-centrifuge.yaml)" >> $GITHUB_ENV - name: Publish SubQL version run: | - echo "IPFSCID=$(node_modules/.bin/subql publish -o)" >> $GITHUB_ENV + npx subql publish -o -f . + echo "CFG_IPFSCID=$(cat .project-centrifuge-cid)" >> $GITHUB_ENV - name: Delete Project if: ${{ inputs.resetProject }} run: | @@ -100,16 +83,16 @@ jobs: --logoURL="$SUBQL_PROJ_IMAGE" - name: Deploy CFG Version run: | - npx subql multi-chain:deploy \ + npx subql deployment:deploy \ -d \ - --location=./subquery-multichain.yaml \ --org="$SUBQL_PROJ_ORG" \ + --endpoint="$SUBQL_CFG_ENDPOINT" \ --projectName="$SUBQL_PROJ_NAME" \ - --endpoint="$SUBQL_ENDPOINTS" \ - --dict="$SUBQL_DICTIONARIES" \ + --ipfsCID="$CFG_IPFSCID" \ --type=$SUBQL_DEPLOYMENT_TYPE \ --disableHistorical \ - --indexerWorkers=1 \ + --disableIndexerStoreCacheAsync \ + --indexerVersion="$SUBQL_INDEXER_VERSION" \ --indexerUnsafe \ - --queryAggregate - + --queryVersion="$SUBQL_QUERY_VERSION" \ + --queryAggregate \ No newline at end of file diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml new file mode 100644 index 00000000..3f939dcb --- /dev/null +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -0,0 +1,115 @@ +on: + workflow_call: + inputs: + chainId: + required: true + type: string + projOrg: + required: true + type: string + projImage: + required: false + type: string + deploymentType: + description: stage or primary + required: false + type: string + default: stage + resetProject: + default: false + type: boolean + secrets: + accessToken: + required: true + ethNodeApiKey: + required: true + +jobs: + subql_deploy_workflow: + runs-on: ubuntu-latest + env: + SUBQL_INDEXER_VERSION: v4.0.1 + SUBQL_ETH_INDEXER_VERSION: v4.1.0 + SUBQL_QUERY_VERSION: v2.10.0 + CHAIN_ID: ${{ inputs.chainId }} + SUBQL_ACCESS_TOKEN: ${{ secrets.accessToken }} + SUBQL_PROJ_ORG: ${{ inputs.projOrg }} + SUBQL_PROJ_IMAGE: ${{ inputs.projImage }} + SUBQL_DEPLOYMENT_TYPE: ${{ inputs.deploymentType }} + ETH_NODE_API_KEY: ${{ secrets.ethNodeApiKey }} + steps: + - name: Check out repo's default branch + uses: actions/checkout@v3 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: npm + - name: Setup Yarn + run: yarn install --frozen-lockfile + - name: Codegen + run: | + CHAIN_ID=centrifuge yarn projectgen + yarn codegen + - name: SubQL CLI Version + run: yarn subql --version + - name: Generate new project data + run: 'yarn projectgen' + - name: Extract Chain Parameters to ENV + run: | + SUBQL_ENDPOINTS="" + SUBQL_DICTIONARIES="" + SUBQL_VERSIONS="" + for projectFile in project-*.yaml; do + echo "Reading $projectFile" + chainId=$(yq '.network.chainId' $projectFile) + endpoint=$(yq '.network.endpoint' $projectFile) + dictionary=$(yq '.network.dictionary' $projectFile) + + if [[ -n "$SUBQL_ENDPOINTS" ]]; then SUBQL_ENDPOINTS+=","; fi + SUBQL_ENDPOINTS+="${chainId}:${endpoint}" + + if [[ "$dictionary" != "null" ]]; then + if [[ -n "$SUBQL_DICTIONARIES" ]]; then SUBQL_DICTIONARIES+=","; fi + SUBQL_DICTIONARIES+="${chainId}:${dictionary}" + fi + done + echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV + echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV + echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV + echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV + - name: Publish SubQL version + run: | + echo "IPFSCID=$(node_modules/.bin/subql publish -o)" >> $GITHUB_ENV + - name: Delete Project + if: ${{ inputs.resetProject }} + run: | + npx subql project:delete-project \ + --org="$SUBQL_PROJ_ORG" \ + --projectName="$SUBQL_PROJ_NAME" + continue-on-error: true + - name: Create Project + if: ${{ inputs.resetProject }} + run: | + npx subql project:create-project \ + --apiVersion=2 \ + --description="$SUBQL_PROJ_DESCRIPTION" \ + --gitRepo="https://github.com/$GITHUB_REPOSITORY" \ + --org="$SUBQL_PROJ_ORG" \ + --projectName="$SUBQL_PROJ_NAME" \ + --logoURL="$SUBQL_PROJ_IMAGE" + - name: Deploy Multichain Version + run: | + npx subql multi-chain:deploy \ + -d \ + --location=./subquery-multichain.yaml \ + --org="$SUBQL_PROJ_ORG" \ + --projectName="$SUBQL_PROJ_NAME" \ + --endpoint="$SUBQL_ENDPOINTS" \ + --dict="$SUBQL_DICTIONARIES" \ + --type=$SUBQL_DEPLOYMENT_TYPE \ + --disableHistorical \ + --indexerWorkers=1 \ + --indexerUnsafe \ + --queryAggregate + From 7a4abba9f5777ad52761e93364ab64ec4ad8f2c9 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 08:36:40 +0200 Subject: [PATCH 13/28] chore: upgrade cli version --- yarn.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/yarn.lock b/yarn.lock index 737cad6e..bdd60c26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3047,9 +3047,9 @@ sodium-native "^4.0.10" "@subql/cli@^4.3.0": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@subql/cli/-/cli-4.5.1.tgz#310797c64231e7778f5fcd67287cc9f62a43f4f8" - integrity sha512-m4Gdo9Wtvn+28tE4BEp/3pJvLJEmugUUqU8+HILlZj8WTj5AMws3//WbvTuQ3bAT4EI+maeC72PTZhNYKUIITQ== + version "4.5.2" + resolved "https://registry.yarnpkg.com/@subql/cli/-/cli-4.5.2.tgz#ec5731135dc4a4dd749b6a6ac26643bb0249b44b" + integrity sha512-blaJrJcOuH3L2OBkSzl5IsMrPGUMWMjzHME/rL56y98uvY2FAwYdaER7295yiFa2dGu3LdJjE7l0ZwHubxoo5w== dependencies: "@oclif/core" "^2.15.0" "@subql/common" "3.5.0" @@ -3061,7 +3061,7 @@ "@subql/common-near" "^3.4.0" "@subql/common-stellar" "^3.4.1" "@subql/common-substrate" "3.4.0" - "@subql/utils" "2.9.0" + "@subql/utils" "2.9.1" algosdk "^1.19.0" boxen "5.1.2" cli-ux "^6.0.9" @@ -3296,10 +3296,10 @@ dependencies: "@subql/types-core" "0.6.0" -"@subql/utils@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@subql/utils/-/utils-2.9.0.tgz#c3c5098022d449504ffb4f0e2cc90613022a7eca" - integrity sha512-O6QqjCsbsPa/H2Zwrtw4hapVEFkZhpmQmEkZmxk+sDfJHUr0Lm3UROCAw63iMDcodYhx60Klmb7Z4RccQ2WT6A== +"@subql/utils@2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@subql/utils/-/utils-2.9.1.tgz#eddaa81472f46e5d550039bafeccede54867df52" + integrity sha512-BGNTy3Lrt44Z9uitvCx9Qaxm+G7jnGxTKIUefyJCaFbD8YMFU65zZvaGiIolujJyh42+4uapg9Yv74hdTUysWQ== dependencies: "@polkadot/util" "^12.5.1" "@polkadot/util-crypto" "^12.5.1" @@ -3314,7 +3314,7 @@ pino "^6.13.3" rotating-file-stream "^3.0.2" semver "^7.5.2" - tar "^6.1.11" + tar "^6.2.1" "@subql/x-cosmology-ast@^1.4.10": version "1.4.10" @@ -3544,9 +3544,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.56.7" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.7.tgz#c33b5b5a9cfb66881beb7b5be6c34aa3e81d3366" - integrity sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA== + version "8.56.9" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.9.tgz#403e9ced04a34e63f1c383c5b8ee1a94442c8cc4" + integrity sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -4572,9 +4572,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001587: - version "1.0.30001608" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001608.tgz#7ae6e92ffb300e4b4ec2f795e0abab456ec06cc0" - integrity sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA== + version "1.0.30001609" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz#fc34fad75c0c6d6d6303bdbceec2da8f203dabd6" + integrity sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA== capability@^0.2.5: version "0.2.5" @@ -5306,9 +5306,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.4.668: - version "1.4.733" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.733.tgz#708d51ce01a7ed3b401d5ced85e9f5d504fd4217" - integrity sha512-gUI9nhI2iBGF0OaYYLKOaOtliFMl+Bt1rY7VmEjwxOxqoYLub/D9xmduPEhbw2imE6gYkJKhIE5it+KE2ulVxQ== + version "1.4.735" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.735.tgz#c32914ef2cd0a3a545a3def841d253a31a8a93be" + integrity sha512-pkYpvwg8VyOTQAeBqZ7jsmpCjko1Qc6We1ZtZCjRyYbT5v4AIUKDy5cQTRotQlSSZmMr8jqpEt6JtOj5k7lR7A== elliptic@6.5.4: version "6.5.4" @@ -9631,7 +9631,7 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar@^6.1.11: +tar@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== From 0863f16486e3355ddbfafcf8e3f94bcfc4a5e4ff Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 09:34:48 +0200 Subject: [PATCH 14/28] ci: get keys from secrets --- .github/workflows/subql_deploy_workflow.yaml | 2 +- .../subql_multi_deploy_workflow.yaml | 2 +- chains-evm/base/centrifuge.yaml | 2 +- chains-evm/celo/centrifuge.yaml | 2 +- chains-evm/eth/centrifuge.yaml | 2 +- chains-evm/eth/demo.yaml | 2 +- chains-evm/eth/development-embrio.yaml | 2 +- package.json | 1 + project-generator.sh | 2 + yarn.lock | 558 +++++++++++++++++- 10 files changed, 558 insertions(+), 17 deletions(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 01792f5e..895ab845 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -35,7 +35,7 @@ jobs: SUBQL_PROJ_ORG: ${{ inputs.projOrg }} SUBQL_PROJ_IMAGE: ${{ inputs.projImage }} SUBQL_DEPLOYMENT_TYPE: ${{ inputs.deploymentType }} - ETH_NODE_API_KEY: ${{ secrets.ethNodeApiKey }} + ONFINALITY_API_KEY: ${{ secrets.onfinalityApiKey }} steps: - name: Check out repo's default branch uses: actions/checkout@v3 diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml index 3f939dcb..4b6a7eed 100644 --- a/.github/workflows/subql_multi_deploy_workflow.yaml +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -36,7 +36,7 @@ jobs: SUBQL_PROJ_ORG: ${{ inputs.projOrg }} SUBQL_PROJ_IMAGE: ${{ inputs.projImage }} SUBQL_DEPLOYMENT_TYPE: ${{ inputs.deploymentType }} - ETH_NODE_API_KEY: ${{ secrets.ethNodeApiKey }} + ONFINALITY_API_KEY: ${{ secrets.onfinalityApiKey }} steps: - name: Check out repo's default branch uses: actions/checkout@v3 diff --git a/chains-evm/base/centrifuge.yaml b/chains-evm/base/centrifuge.yaml index 8047168b..16486173 100644 --- a/chains-evm/base/centrifuge.yaml +++ b/chains-evm/base/centrifuge.yaml @@ -1,6 +1,6 @@ network: chainId: '8453' #Base Mainnet - endpoint: https://mainnet.base.org + endpoint: "https://base.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" dictionary: "https://api.subquery.network/sq/subquery/base-dictionary" dataSources: - kind: ethereum/Runtime diff --git a/chains-evm/celo/centrifuge.yaml b/chains-evm/celo/centrifuge.yaml index 8917a0d2..0a2a556d 100644 --- a/chains-evm/celo/centrifuge.yaml +++ b/chains-evm/celo/centrifuge.yaml @@ -1,6 +1,6 @@ network: chainId: '42220' #Celo Mainnet - endpoint: https://celo-mainnet.infura.io/v3/ed5e0e19bcbc427cbf8f661736d44516 + endpoint: "https://celo.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" #dictionary: "" dataSources: - kind: ethereum/Runtime diff --git a/chains-evm/eth/centrifuge.yaml b/chains-evm/eth/centrifuge.yaml index b3d41e73..c028a94b 100644 --- a/chains-evm/eth/centrifuge.yaml +++ b/chains-evm/eth/centrifuge.yaml @@ -1,6 +1,6 @@ network: chainId: '1' # Ethereum Mainnet - endpoint: 'https://mainnet.infura.io/v3/a4ba76cd4be643618572e7467a444e3a' + endpoint: 'https://eth.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}' dictionary: 'https://gx.api.subquery.network/sq/subquery/eth-dictionary' dataSources: - kind: ethereum/Runtime diff --git a/chains-evm/eth/demo.yaml b/chains-evm/eth/demo.yaml index 6f8131f7..62cc19e2 100644 --- a/chains-evm/eth/demo.yaml +++ b/chains-evm/eth/demo.yaml @@ -1,6 +1,6 @@ network: chainId: '5' #Ethereum Goerli - endpoint: "https://goerli.infura.io/v3/a4ba76cd4be643618572e7467a444e3a" + endpoint: "https://eth-goerli.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" dictionary: "https://dict-tyk.subquery.network/query/eth-goerli" dataSources: - kind: ethereum/Runtime diff --git a/chains-evm/eth/development-embrio.yaml b/chains-evm/eth/development-embrio.yaml index 130350e3..915e8804 100644 --- a/chains-evm/eth/development-embrio.yaml +++ b/chains-evm/eth/development-embrio.yaml @@ -2,7 +2,7 @@ name: 'centrifuge-subql' repository: 'https://github.com/embrio-tech/centrifuge-subql' network: chainId: '5' #Goerli - endpoint: "https://goerli.infura.io/v3/a4ba76cd4be643618572e7467a444e3a" + endpoint: "https://eth-goerli.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" dictionary: "https://dict-tyk.subquery.network/query/eth-goerli" dataSources: - kind: ethereum/Runtime diff --git a/package.json b/package.json index a0621453..39d1b21f 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "@typescript-eslint/eslint-plugin": "^6.15.0", "@typescript-eslint/parser": "^6.15.0", "abab": "^2.0.6", + "envsub": "^4.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.0.1", diff --git a/project-generator.sh b/project-generator.sh index 5c0dd047..3041787a 100755 --- a/project-generator.sh +++ b/project-generator.sh @@ -10,6 +10,7 @@ EOF #CFG merge-yaml -i ./chains-cfg/_root.yaml ./chains-cfg/${CHAIN_ID}.yaml -o ./project-centrifuge.yaml +envsub ./project-centrifuge.yaml #EVM Chains subdirs=$(find chains-evm -mindepth 1 -maxdepth 1 -type d) @@ -17,6 +18,7 @@ for subdir in $subdirs; do if [ -e "$subdir/${CHAIN_ID}.yaml" ]; then echo "Generating EVM config for ${subdir##*/}" merge-yaml -i ./$subdir/${CHAIN_ID}.yaml ./chains-evm/_root.yaml -o ./project-${subdir##*/}.yaml + envsub ./project-${subdir##*/}.yaml echo " - project-${subdir##*/}.yaml" >> subquery-multichain.yaml fi done \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index bdd60c26..1bcad4e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4189,6 +4189,14 @@ array-back@^4.0.1, array-back@^4.0.2: resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -4199,6 +4207,20 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -4236,6 +4258,13 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + axios@^0.28.0: version "0.28.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.28.1.tgz#2a7bcd34a3837b71ee1a5ca3762214b86b703e70" @@ -4396,6 +4425,11 @@ blob-to-it@^1.0.1: dependencies: browser-readablestream-to-it "^1.0.3" +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + bn.js@5.2.1, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" @@ -4542,6 +4576,17 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + call-me-maybe@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" @@ -4624,6 +4669,14 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -4918,6 +4971,11 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + common-tags@^1.4.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -5109,6 +5167,33 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -5180,7 +5265,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-data-property@^1.0.1: +define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -5189,7 +5274,7 @@ define-data-property@^1.0.1: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.1.3: +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -5378,6 +5463,20 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0: graceful-fs "^4.2.4" tapable "^2.2.0" +envsub@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/envsub/-/envsub-4.1.0.tgz#526c95062d8538516896e4f43de8fff069ab67e4" + integrity sha512-B44hta3xNFu6+zDhOha1TIrZkQHGDO3G5K8D2sJIkm/s3XyQjxWBGp1B+b/Y74Go1PqMP+cp8moPR4JullnD9Q== + dependencies: + bluebird "^3.7.2" + chalk "^3.0.0" + commander "^4.0.1" + diff "^4.0.1" + handlebars "^4.5.3" + lodash "^4.17.15" + replace-last "^1.2.6" + string.prototype.matchall "^4.0.8" + err-code@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" @@ -5399,6 +5498,58 @@ error-polyfill@^0.1.3: o3 "^1.0.3" u3 "^0.1.1" +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + es-define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" @@ -5406,7 +5557,7 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.3.0: +es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -5416,6 +5567,31 @@ es-module-lexer@^1.2.1: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz#4878fee3789ad99e065f975fdd3c645529ff0236" integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.64" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" @@ -5904,6 +6080,13 @@ follow-redirects@^1.15.0, follow-redirects@^1.15.6: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + foreground-child@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" @@ -5996,6 +6179,21 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + fuzzy@0.1.3, fuzzy@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8" @@ -6011,7 +6209,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -6056,6 +6254,15 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + git-raw-commits@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" @@ -6165,7 +6372,7 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.1: +globalthis@^1.0.1, globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== @@ -6235,7 +6442,7 @@ graphql@^15.8.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== -handlebars@^4.7.8: +handlebars@^4.5.3, handlebars@^4.7.8: version "4.7.8" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== @@ -6259,6 +6466,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -6269,23 +6481,30 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: +has-proto@^1.0.1, has-proto@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== -has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -6308,7 +6527,7 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.5, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasown@^2.0.0: +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== @@ -6597,6 +6816,15 @@ interface-store@^2.0.2: resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-2.0.2.tgz#83175fd2b0c501585ed96db54bb8ba9d55fce34c" integrity sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg== +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -6778,11 +7006,39 @@ ipfs-utils@^9.0.6: react-native-fetch-api "^3.0.0" stream-to-it "^0.2.2" +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -6797,6 +7053,20 @@ is-core-module@^2.13.0, is-core-module@^2.5.0: dependencies: hasown "^2.0.0" +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" @@ -6859,11 +7129,23 @@ is-ip@^3.1.0: dependencies: ip-regex "^4.0.0" +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -6901,6 +7183,21 @@ is-promise@^2.2.2: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -6911,6 +7208,20 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" @@ -6918,6 +7229,13 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -6928,6 +7246,13 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -6940,6 +7265,11 @@ is-yarn-global@^0.3.0: resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -8396,6 +8726,11 @@ object-assign@^4.0.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -8406,6 +8741,16 @@ object-treeify@^1.1.33, object-treeify@^1.1.4: resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== +object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -8671,6 +9016,11 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8957,6 +9307,16 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" @@ -8990,6 +9350,11 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +replace-last@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/replace-last/-/replace-last-1.2.6.tgz#dbf879942340bec325de67527a8f6156044fdb06" + integrity sha512-Cj+MK38VtNu1S5J73mEZY3ciQb9dJajNq1Q8inP4dn/MhJMjHwoAF3Z3FjspwAEV9pfABl565MQucmrjOkty4g== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -9164,11 +9529,30 @@ rxjs@^7.5.5, rxjs@^7.8.1: dependencies: tslib "^2.1.0" +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9241,6 +9625,28 @@ serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -9282,6 +9688,16 @@ shelljs@0.8.5: interpret "^1.0.0" rechoir "^0.6.2" +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -9490,6 +9906,52 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string.prototype.matchall@^4.0.8: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -9938,6 +10400,50 @@ typechain@^8.3.1: ts-command-line-args "^2.2.0" ts-essentials "^7.0.1" +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -9982,6 +10488,16 @@ uint8arrays@^3.0.0: dependencies: multiformats "^9.4.2" +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -10268,6 +10784,28 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" From ce6f54ea507717b424c704170bad76a1269dddf9 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 10:41:09 +0200 Subject: [PATCH 15/28] ci: deploy mainnet stage --- .github/workflows/deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4f6b0636..27cef5ec 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,18 +14,18 @@ permissions: issues: write jobs: - subql_deploy_embrio_staging: + subql_deploy_embrio: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL (EMBRIO staging) + name: Deploy to SubQL (EMBRIO) strategy: matrix: - chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY + chainId: [centrifuge] # ADD ARRAY OF CHAINS TO DEPLOY uses: ./.github/workflows/subql_multi_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} projOrg: centrifuge projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' - deploymentType: primary + deploymentType: stage resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} From 622d7c87a51f54d66bcb2bc671cf4baaeb72e31a Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 10:48:53 +0200 Subject: [PATCH 16/28] ci: correctly forward api key onfinality --- .github/workflows/deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 27cef5ec..0371f85f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,7 +29,7 @@ jobs: resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} - ethNodeApiKey: ${{ secrets.ETH_NODE_API_KEY }} + onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} subql_deploy_centrifuge_staging: if: ${{ github.repository == 'centrifuge/pools-subql' && github.ref_name == 'main' }} @@ -46,7 +46,7 @@ jobs: resetProject: true secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} - ethNodeApiKey: ${{ secrets.ETH_NODE_API_KEY }} + onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} subql_deploy_centrifuge_production: if: ${{ github.repository == 'centrifuge/pools-subql' && startsWith(github.ref_name, 'release-') }} @@ -63,4 +63,4 @@ jobs: resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} - ethNodeApiKey: ${{ secrets.ETH_NODE_API_KEY }} + onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} From f9958bfec548697acbbe58799e990342a9924e7c Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 10:52:43 +0200 Subject: [PATCH 17/28] ci: rename required api key --- .github/workflows/subql_deploy_workflow.yaml | 2 +- .github/workflows/subql_multi_deploy_workflow.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subql_deploy_workflow.yaml b/.github/workflows/subql_deploy_workflow.yaml index 895ab845..21b27706 100644 --- a/.github/workflows/subql_deploy_workflow.yaml +++ b/.github/workflows/subql_deploy_workflow.yaml @@ -21,7 +21,7 @@ on: secrets: accessToken: required: true - ethNodeApiKey: + onfinalityApiKey: required: true jobs: diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml index 4b6a7eed..bd786438 100644 --- a/.github/workflows/subql_multi_deploy_workflow.yaml +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -21,7 +21,7 @@ on: secrets: accessToken: required: true - ethNodeApiKey: + onfinalityApiKey: required: true jobs: From cc2f906e12e40a7153f9de3a12aafa115f3d4bfa Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 12:13:14 +0200 Subject: [PATCH 18/28] ci: update environments --- .github/workflows/deploy.yml | 25 +++++++++++++++---- .../subql_multi_deploy_workflow.yaml | 2 +- chains-cfg/_root.yaml | 1 - chains-cfg/centrifuge.yaml | 2 +- chains-cfg/demo.yaml | 2 +- chains-cfg/development-embrio.yaml | 10 -------- chains-evm/base/development-embrio.yaml | 11 -------- chains-evm/eth/development-embrio.yaml | 11 -------- 8 files changed, 23 insertions(+), 41 deletions(-) delete mode 100644 chains-cfg/development-embrio.yaml delete mode 100644 chains-evm/base/development-embrio.yaml delete mode 100644 chains-evm/eth/development-embrio.yaml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0371f85f..0a43d636 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,7 +1,5 @@ name: SubQL Deploy - # **What it does**: This action deploys to subql - on: push: branches: @@ -19,11 +17,11 @@ jobs: name: Deploy to SubQL (EMBRIO) strategy: matrix: - chainId: [centrifuge] # ADD ARRAY OF CHAINS TO DEPLOY - uses: ./.github/workflows/subql_multi_deploy_workflow.yaml + chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY + uses: ./.github/workflows/subql_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} - projOrg: centrifuge + projOrg: embrio-tech projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' deploymentType: stage resetProject: false @@ -64,3 +62,20 @@ jobs: secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} + + subql_deploy_centrifuge_multichain_production: + if: ${{ github.repository == 'centrifuge/pools-subql' && startsWith(github.ref_name, 'release-') }} + name: Deploy to SubQL multichain (CENTRIFUGE mainnet) + strategy: + matrix: + chainId: [centrifuge] # ADD ARRAY OF CHAINS TO DEPLOY + uses: ./.github/workflows/subql_multi_deploy_workflow.yaml + with: + chainId: ${{ matrix.chainId }} + projOrg: centrifuge + projImage: 'https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' + deploymentType: stage + resetProject: false + secrets: + accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} + onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml index bd786438..23947dc6 100644 --- a/.github/workflows/subql_multi_deploy_workflow.yaml +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -74,7 +74,7 @@ jobs: SUBQL_DICTIONARIES+="${chainId}:${dictionary}" fi done - echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)" >> $GITHUB_ENV + echo "SUBQL_PROJ_NAME=$(yq '.name' project-centrifuge.yaml)-multichain" >> $GITHUB_ENV echo "SUBQL_PROJ_DECRIPTION=$(yq '.description' project-centrifuge.yaml)" >> $GITHUB_ENV echo "SUBQL_ENDPOINTS=${SUBQL_ENDPOINTS}" >> $GITHUB_ENV echo "SUBQL_DICTIONARIES=${SUBQL_DICTIONARIES}" >> $GITHUB_ENV diff --git a/chains-cfg/_root.yaml b/chains-cfg/_root.yaml index abac8848..8c2860ab 100644 --- a/chains-cfg/_root.yaml +++ b/chains-cfg/_root.yaml @@ -1,5 +1,4 @@ specVersion: 1.0.0 -name: pools-multichain description: 'SubQuery API powered by EMBRIO.tech to query Centrifuge chain data for analytics insights on how Centrifuge is unlocking economic opportunity for all by connecting people to borrow and lend money transparently and cost-effectively.' version: 1.0.0 runner: diff --git a/chains-cfg/centrifuge.yaml b/chains-cfg/centrifuge.yaml index fea561c6..f705b96d 100644 --- a/chains-cfg/centrifuge.yaml +++ b/chains-cfg/centrifuge.yaml @@ -1,4 +1,4 @@ -name: pools-multichain +name: pools network: dictionary: https://api.subquery.network/sq/centrifuge/centrifuge-dictionary endpoint: wss://fullnode.parachain.centrifuge.io diff --git a/chains-cfg/demo.yaml b/chains-cfg/demo.yaml index 9b438f51..7e0fe6ca 100644 --- a/chains-cfg/demo.yaml +++ b/chains-cfg/demo.yaml @@ -1,4 +1,4 @@ -name: 'pools-multichain-demo' #CHANGE ME BASED ON SUBQL DEPLOYMENT +name: 'pools-demo' #CHANGE ME BASED ON SUBQL DEPLOYMENT network: endpoint: wss://fullnode.demo.k-f.dev/public-ws chainId: '0xe0e40f62affe742eb92d75c07830671ef3e0cc6efc1ecaf81cf34a28148e91f0' diff --git a/chains-cfg/development-embrio.yaml b/chains-cfg/development-embrio.yaml deleted file mode 100644 index 6a13f344..00000000 --- a/chains-cfg/development-embrio.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: pools-multichain -repository: 'https://github.com/embrio-tech/centrifuge-subql' -network: - endpoint: wss://fullnode.demo.k-f.dev/public-ws - chainId: '0xe0e40f62affe742eb92d75c07830671ef3e0cc6efc1ecaf81cf34a28148e91f0' - chaintypes: - file: ./dist/chaintypes.js -dataSources: - - kind: substrate/Runtime - startBlock: 2080500 #1549700 diff --git a/chains-evm/base/development-embrio.yaml b/chains-evm/base/development-embrio.yaml deleted file mode 100644 index 8df10edc..00000000 --- a/chains-evm/base/development-embrio.yaml +++ /dev/null @@ -1,11 +0,0 @@ -name: 'centrifuge-subql' -repository: 'https://github.com/embrio-tech/centrifuge-subql' -network: - chainId: '84531' #Goerli - endpoint: https://goerli.base.org - dictionary: "https://api.subquery.network/sq/subquery/base-goerli-dictionary" -dataSources: - - kind: ethereum/Runtime - startBlock: 13078300 - options: - address: '0xa5Beda1F48a07740b8f4bDb223C861Cc7702b14e' \ No newline at end of file diff --git a/chains-evm/eth/development-embrio.yaml b/chains-evm/eth/development-embrio.yaml deleted file mode 100644 index 915e8804..00000000 --- a/chains-evm/eth/development-embrio.yaml +++ /dev/null @@ -1,11 +0,0 @@ -name: 'centrifuge-subql' -repository: 'https://github.com/embrio-tech/centrifuge-subql' -network: - chainId: '5' #Goerli - endpoint: "https://eth-goerli.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" - dictionary: "https://dict-tyk.subquery.network/query/eth-goerli" -dataSources: - - kind: ethereum/Runtime - startBlock: 10055835 - options: - address: '0x53c155d44C03CC28f892f90aA0C442850716D75F' \ No newline at end of file From 1674058a625db6d8328f08dea597a887685285b8 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 12:14:57 +0200 Subject: [PATCH 19/28] ci: embrio deployment must reset subql project --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0a43d636..f62e0407 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -23,8 +23,8 @@ jobs: chainId: ${{ matrix.chainId }} projOrg: embrio-tech projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' - deploymentType: stage - resetProject: false + deploymentType: primary + resetProject: true secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} From 5db41d8b0fe136617198025c3baef70a3a22eb20 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 12:24:39 +0200 Subject: [PATCH 20/28] ci: deployment logic --- .github/workflows/deploy.yml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f62e0407..97064c51 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -17,14 +17,31 @@ jobs: name: Deploy to SubQL (EMBRIO) strategy: matrix: - chainId: [demo] # ADD ARRAY OF CHAINS TO DEPLOY + chainId: [development, demo] uses: ./.github/workflows/subql_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} - projOrg: embrio-tech - projImage: https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' - deploymentType: primary - resetProject: true + projOrg: centrifuge + projImage: 'https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' + deploymentType: stage + resetProject: false + secrets: + accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} + onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} + + subql_deploy_embrio_multichain: + if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} + name: Deploy to SubQL (EMBRIO) + strategy: + matrix: + chainId: [centrifuge] + uses: ./.github/workflows/subql_multi_deploy_workflow.yaml + with: + chainId: ${{ matrix.chainId }} + projOrg: centrifuge + projImage: 'https://centrifuge.io/static/bfb7682cb6ed4aa422d9d2c90cd9351a/centrifuge-logomark-black.svg' + deploymentType: stage + resetProject: false secrets: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} From 08a13495a0dc4d56fcc015710d9dfa5acc50bafd Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Fri, 12 Apr 2024 13:53:34 +0200 Subject: [PATCH 21/28] ci: multichain uses async cache --- .github/workflows/deploy.yml | 2 +- .github/workflows/subql_multi_deploy_workflow.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 97064c51..a0303c18 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,7 +31,7 @@ jobs: subql_deploy_embrio_multichain: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL (EMBRIO) + name: Deploy to SubQL Multichain (EMBRIO) strategy: matrix: chainId: [centrifuge] diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml index 23947dc6..ed6d1e1e 100644 --- a/.github/workflows/subql_multi_deploy_workflow.yaml +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -111,5 +111,6 @@ jobs: --disableHistorical \ --indexerWorkers=1 \ --indexerUnsafe \ + --disableIndexerStoreCacheAsync \ --queryAggregate From 805d7ea98e12cdd73d5a6c2cc2f70783a9b889f5 Mon Sep 17 00:00:00 2001 From: Filippo Date: Mon, 15 Apr 2024 12:22:25 +0200 Subject: [PATCH 22/28] feat: track pool metadata updates (#238) * feat: track pool metadata updates Fixes #229 * fix: initialise all resettable entities for assets --- chains-cfg/_root.yaml | 5 +++++ jest.config.ts | 1 + src/helpers/types.ts | 1 + src/mappings/handlers/poolsHandlers.ts | 15 ++++++++++++++- src/mappings/services/assetService.ts | 2 ++ src/mappings/services/poolService.ts | 5 +++++ 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/chains-cfg/_root.yaml b/chains-cfg/_root.yaml index 8c2860ab..c41545f0 100644 --- a/chains-cfg/_root.yaml +++ b/chains-cfg/_root.yaml @@ -44,6 +44,11 @@ dataSources: filter: module: poolSystem method: EpochExecuted + - handler: handleMetadataSet + kind: substrate/EventHandler + filter: + module: poolRegistry + method: MetadataSet - handler: handleInvestOrderUpdated kind: substrate/EventHandler filter: diff --git a/jest.config.ts b/jest.config.ts index 7d0c19e5..499ffca7 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -2,6 +2,7 @@ import type { Config } from 'jest' const config: Config = { verbose: true, + workerThreads: true, preset: 'ts-jest', testEnvironment: 'node', setupFiles: ['./jest/globals.js'], diff --git a/src/helpers/types.ts b/src/helpers/types.ts index 5f81de48..81cfd19d 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -418,6 +418,7 @@ export type LoanDebtTransferred1024 = ITuple<[poolId: u64, fromLoanId: u64, toLo export type PoolCreatedEvent = ITuple<[admin: AccountId32, depositor: AccountId32, poolId: u64, essence: PoolEssence]> export type PoolUpdatedEvent = ITuple<[admin: AccountId32, old: PoolEssence, new: PoolEssence]> +export type PoolMetadataSetEvent = ITuple<[poolId: u64, metadata: Bytes]> export type EpochClosedExecutedEvent = ITuple<[poolId: u64, epochId: u32]> export type EpochSolutionEvent = ITuple<[poolId: u64, epochId: u32, solution: EpochSolution]> diff --git a/src/mappings/handlers/poolsHandlers.ts b/src/mappings/handlers/poolsHandlers.ts index 0ad511b8..1a5b4e8d 100644 --- a/src/mappings/handlers/poolsHandlers.ts +++ b/src/mappings/handlers/poolsHandlers.ts @@ -3,7 +3,7 @@ import { errorHandler, missingPool } from '../../helpers/errorHandler' import { EpochService } from '../services/epochService' import { PoolService } from '../services/poolService' import { TrancheService } from '../services/trancheService' -import { EpochClosedExecutedEvent, PoolCreatedEvent, PoolUpdatedEvent } from '../../helpers/types' +import { EpochClosedExecutedEvent, PoolCreatedEvent, PoolMetadataSetEvent, PoolUpdatedEvent } from '../../helpers/types' import { OutstandingOrderService } from '../services/outstandingOrderService' import { InvestorTransactionService } from '../services/investorTransactionService' import { CurrencyService, currencyFormatters } from '../services/currencyService' @@ -105,6 +105,19 @@ async function _handlePoolUpdated(event: SubstrateEvent): Prom } } +export const handleMetadataSet = errorHandler(_handleMetadataSet) +async function _handleMetadataSet(event: SubstrateEvent) { + const [poolId, metadata] = event.event.data + logger.info( + `Pool metadata set for pool ${poolId.toString(10)}` + ) + const pool = await PoolService.getById(poolId.toString()) + if (!pool) throw missingPool + await pool.updateMetadata(metadata.toUtf8()) + await pool.initIpfsMetadata() + await pool.save() +} + export const handleEpochClosed = errorHandler(_handleEpochClosed) async function _handleEpochClosed(event: SubstrateEvent): Promise { const [poolId, epochId] = event.event.data diff --git a/src/mappings/services/assetService.ts b/src/mappings/services/assetService.ts index badfb063..51e7f441 100644 --- a/src/mappings/services/assetService.ts +++ b/src/mappings/services/assetService.ts @@ -46,6 +46,8 @@ export class AssetService extends Asset { asset.borrowedAmountByPeriod = BigInt(0) asset.repaidAmountByPeriod = BigInt(0) + asset.writtenOffPercentageByPeriod = BigInt(0) + asset.writtenOffAmountByPeriod = BigInt(0) return asset } diff --git a/src/mappings/services/poolService.ts b/src/mappings/services/poolService.ts index 5d519799..f45a5d13 100644 --- a/src/mappings/services/poolService.ts +++ b/src/mappings/services/poolService.ts @@ -94,6 +94,11 @@ export class PoolService extends Pool { return this } + public updateMetadata(metadata: string) { + logger.info(`Updating metadata for pool ${this.id} to ${metadata}`) + this.metadata = metadata + } + public async initIpfsMetadata() { if (!this.metadata) { logger.warn('No IPFS metadata') From a05c2c423fc04eaa2022b67cb4476d4d94d84df8 Mon Sep 17 00:00:00 2001 From: Filippo Date: Mon, 15 Apr 2024 14:06:26 +0200 Subject: [PATCH 23/28] feat: track sum fees on pool snapshots (#239) Fixes #233 --- schema.graphql | 8 +++++++ src/mappings/handlers/blockHandlers.ts | 5 ++++- src/mappings/handlers/poolFeesHandlers.ts | 9 ++++++++ src/mappings/services/poolService.ts | 27 +++++++++++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/schema.graphql b/schema.graphql index a2c54216..a62a1542 100644 --- a/schema.graphql +++ b/schema.graphql @@ -54,6 +54,10 @@ type Pool @entity { sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt + sumChargedAmountByPeriod: BigInt + sumAccruedAmountByPeriod: BigInt + sumPaidAmountByPeriod: BigInt + # Cumulated transaction data since pool creation sumBorrowedAmount: BigInt sumRepaidAmount: BigInt @@ -97,6 +101,10 @@ type PoolSnapshot @entity { sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt + sumChargedAmountByPeriod: BigInt + sumAccruedAmountByPeriod: BigInt + sumPaidAmountByPeriod: BigInt + # Cumulated transaction data since pool creation sumBorrowedAmount: BigInt sumRepaidAmount: BigInt diff --git a/src/mappings/handlers/blockHandlers.ts b/src/mappings/handlers/blockHandlers.ts index b6621ddb..908d505d 100644 --- a/src/mappings/handlers/blockHandlers.ts +++ b/src/mappings/handlers/blockHandlers.ts @@ -71,7 +71,6 @@ async function _handleBlock(block: SubstrateBlock): Promise { } await pool.updateNumberOfActiveAssets(BigInt(Object.keys(activeLoanData).length)) - await pool.save() //PoolFees Accruals const accruedFees = await pool.getAccruedFees() @@ -81,6 +80,8 @@ async function _handleBlock(block: SubstrateBlock): Promise { await poolFee.updateAccruals(pending, disbursement) await poolFee.save() + await pool.increaseAccruedFees(poolFee.sumAccruedAmountByPeriod) + const poolFeeTransaction = PoolFeeTransactionService.accrue({ poolId: pool.id, feeId, @@ -92,6 +93,8 @@ async function _handleBlock(block: SubstrateBlock): Promise { }) await poolFeeTransaction.save() } + + await pool.save() } //Perform Snapshots and reset accumulators diff --git a/src/mappings/handlers/poolFeesHandlers.ts b/src/mappings/handlers/poolFeesHandlers.ts index 14fdaf8f..4d45770f 100644 --- a/src/mappings/handlers/poolFeesHandlers.ts +++ b/src/mappings/handlers/poolFeesHandlers.ts @@ -124,6 +124,9 @@ async function _handleFeeCharged(event: SubstrateEvent): P await poolFee.charge(poolFeeData) await poolFee.save() + await pool.increaseChargedFees(poolFeeData.amount) + await pool.save() + const poolFeeTransaction = PoolFeeTransactionService.charge(poolFeeData) await poolFeeTransaction.save() } @@ -153,6 +156,9 @@ async function _handleFeeUncharged(event: SubstrateEvent await poolFee.uncharge(poolFeeData) await poolFee.save() + await pool.decreaseChargedFees(poolFeeData.amount) + await pool.save() + const poolFeeTransaction = PoolFeeTransactionService.uncharge(poolFeeData) await poolFeeTransaction.save() } @@ -181,6 +187,9 @@ async function _handleFeePaid(event: SubstrateEvent): Promise await poolFee.pay(poolFeeData) await poolFee.save() + await pool.increasePaidFees(poolFeeData.amount) + await pool.save() + const poolFeeTransaction = PoolFeeTransactionService.pay(poolFeeData) await poolFeeTransaction.save() } diff --git a/src/mappings/services/poolService.ts b/src/mappings/services/poolService.ts index f45a5d13..dfa1e78a 100644 --- a/src/mappings/services/poolService.ts +++ b/src/mappings/services/poolService.ts @@ -65,6 +65,9 @@ export class PoolService extends Pool { this.sumInvestedAmountByPeriod = BigInt(0) this.sumRedeemedAmountByPeriod = BigInt(0) this.sumNumberOfAssetsByPeriod = BigInt(0) + this.sumChargedAmountByPeriod = BigInt(0) + this.sumAccruedAmountByPeriod = BigInt(0) + this.sumPaidAmountByPeriod = BigInt(0) this.sumBorrowedAmount = BigInt(0) this.sumRepaidAmount = BigInt(0) @@ -325,6 +328,30 @@ export class PoolService extends Pool { ]) return accruedFees } + + public increaseChargedFees(chargedAmount: bigint) { + logger.info(`Increasing charged fees for pool ${this.id} by ${chargedAmount.toString(10)}`) + this.sumChargedAmountByPeriod += chargedAmount + return this + } + + public decreaseChargedFees(unchargedAmount: bigint) { + logger.info(`Decreasing charged fees for pool ${this.id} by ${unchargedAmount.toString(10)}`) + this.sumChargedAmountByPeriod -= unchargedAmount + return this + } + + public increaseAccruedFees(accruedAmount: bigint) { + logger.info(`Increasing accrued fees for pool ${this.id} by ${accruedAmount.toString(10)}`) + this.sumAccruedAmountByPeriod += accruedAmount + return this + } + + public increasePaidFees(paidAmount: bigint) { + logger.info(`Increasing paid fees for pool ${this.id} by ${paidAmount.toString(10)}`) + this.sumPaidAmountByPeriod += paidAmount + return this + } } export interface ActiveLoanData { From d8ee503deaf74308494e33a50722b309f8908f26 Mon Sep 17 00:00:00 2001 From: Filippo Date: Tue, 16 Apr 2024 13:41:55 +0200 Subject: [PATCH 24/28] feat: track deltaPortfolioValuationByPeriod (#240) Fixes #205 --- schema.graphql | 2 ++ src/mappings/services/poolService.ts | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/schema.graphql b/schema.graphql index a62a1542..fd15f26f 100644 --- a/schema.graphql +++ b/schema.graphql @@ -53,6 +53,7 @@ type Pool @entity { sumNumberOfActiveAssets: BigInt sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt + deltaPortfolioValuationByPeriod: BigInt sumChargedAmountByPeriod: BigInt sumAccruedAmountByPeriod: BigInt @@ -100,6 +101,7 @@ type PoolSnapshot @entity { sumNumberOfActiveAssets: BigInt sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt + deltaPortfolioValuationByPeriod: BigInt sumChargedAmountByPeriod: BigInt sumAccruedAmountByPeriod: BigInt diff --git a/src/mappings/services/poolService.ts b/src/mappings/services/poolService.ts index dfa1e78a..da002251 100644 --- a/src/mappings/services/poolService.ts +++ b/src/mappings/services/poolService.ts @@ -68,6 +68,7 @@ export class PoolService extends Pool { this.sumChargedAmountByPeriod = BigInt(0) this.sumAccruedAmountByPeriod = BigInt(0) this.sumPaidAmountByPeriod = BigInt(0) + this.deltaPortfolioValuationByPeriod = BigInt(0) this.sumBorrowedAmount = BigInt(0) this.sumRepaidAmount = BigInt(0) @@ -168,8 +169,12 @@ export class PoolService extends Pool { private async updatePortfolioValuationQuery() { logger.info(`Updating portfolio valuation for pool: ${this.id} (state)`) const navResponse = await api.query.loans.portfolioValuation(this.id) - this.portfolioValuation = navResponse.value.toBigInt() - logger.info(`portfolio valuation: ${this.portfolioValuation.toString(10)}`) + const newPortfolioValuation = navResponse.value.toBigInt() + this.deltaPortfolioValuationByPeriod = newPortfolioValuation - this.portfolioValuation + this.portfolioValuation = newPortfolioValuation + logger.info( + `portfolio valuation: ${this.portfolioValuation.toString(10)} delta: ${this.deltaPortfolioValuationByPeriod}` + ) return this } @@ -181,8 +186,12 @@ export class PoolService extends Pool { logger.warn('Empty pv response') return } - this.portfolioValuation = navResponse.unwrap().total.toBigInt() - logger.info(`portfolio valuation: ${this.portfolioValuation.toString(10)}`) + const newPortfolioValuation = navResponse.unwrap().total.toBigInt() + this.deltaPortfolioValuationByPeriod = newPortfolioValuation - this.portfolioValuation + this.portfolioValuation = newPortfolioValuation + logger.info( + `portfolio valuation: ${this.portfolioValuation.toString(10)} delta: ${this.deltaPortfolioValuationByPeriod}` + ) return this } From 87d3c9e6d4e9f705a80b4baf90a0a0b801c2ad31 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 18 Apr 2024 11:47:37 +0200 Subject: [PATCH 25/28] fix: assert epoch existance on upon asset transactions --- src/mappings/handlers/loansHandlers.ts | 34 +++++++++++++------ .../services/assetTransactionService.ts | 2 +- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/mappings/handlers/loansHandlers.ts b/src/mappings/handlers/loansHandlers.ts index 12b2bc73..49be5ac9 100644 --- a/src/mappings/handlers/loansHandlers.ts +++ b/src/mappings/handlers/loansHandlers.ts @@ -77,11 +77,14 @@ async function _handleLoanCreated(event: SubstrateEvent) { }) await asset.save() + const epoch = await EpochService.getById(pool.id, pool.currentEpoch) + if (!epoch) throw new Error('Epoch not found!') + const at = await AssetTransactionService.created({ poolId: poolId.toString(), assetId: loanId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, }) @@ -114,11 +117,14 @@ async function _handleLoanBorrowed(event: SubstrateEvent): Pr await asset.updateIpfsAssetName().catch((err) => logger.error(`IPFS Request failed ${err}`)) await asset.save() + const epoch = await EpochService.getById(pool.id, pool.currentEpoch) + if (!epoch) throw new Error('Epoch not found!') + const at = await AssetTransactionService.borrowed({ poolId: poolId.toString(), assetId: loanId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, amount: amount, @@ -133,8 +139,6 @@ async function _handleLoanBorrowed(event: SubstrateEvent): Pr await pool.save() // Update epoch info - const epoch = await EpochService.getById(pool.id, pool.currentEpoch) - if (epoch === undefined) throw new Error('Epoch not found!') await epoch.increaseBorrowings(BigInt(amount)) await epoch.save() } @@ -160,11 +164,14 @@ async function _handleLoanRepaid(event: SubstrateEvent) { await asset.updateItemMetadata() await asset.save() + const epoch = await EpochService.getById(pool.id, pool.currentEpoch) + if (!epoch) throw new Error('Epoch not found!') + const at = await AssetTransactionService.repaid({ poolId: poolId.toString(), assetId: loanId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, amount: amount, @@ -181,8 +188,6 @@ async function _handleLoanRepaid(event: SubstrateEvent) { await pool.save() // Update epoch info - const epoch = await EpochService.getById(pool.id, pool.currentEpoch) - if (!epoch) throw new Error('Epoch not found!') await epoch.increaseRepayments(amount) await epoch.save() } @@ -219,11 +224,14 @@ async function _handleLoanClosed(event: SubstrateEvent) { await loan.updateItemMetadata() await loan.save() + const epoch = await EpochService.getById(pool.id, pool.currentEpoch) + if (!epoch) throw new Error('Epoch not found!') + const at = await AssetTransactionService.closed({ poolId: poolId.toString(), assetId: loanId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, }) @@ -262,13 +270,16 @@ async function _handleLoanDebtTransferred(event: SubstrateEvent = { poolId: poolId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, } @@ -328,10 +339,13 @@ async function _handleLoanDebtTransferred1024(event: SubstrateEvent = { poolId: poolId.toString(), address: account.id, - epochNumber: pool.currentEpoch, + epochNumber: epoch.index, hash: event.extrinsic.extrinsic.hash.toString(), timestamp: event.block.timestamp, amount: amount.toBigInt(), diff --git a/src/mappings/services/assetTransactionService.ts b/src/mappings/services/assetTransactionService.ts index 87f0e396..a3823cdf 100644 --- a/src/mappings/services/assetTransactionService.ts +++ b/src/mappings/services/assetTransactionService.ts @@ -26,7 +26,7 @@ export class AssetTransactionService extends AssetTransaction { data.hash, data.address, data.epochNumber, - `${data.poolId}-${data.epochNumber.toString()}`, + `${data.poolId}-${data.epochNumber.toString(10)}`, `${data.poolId}-${data.assetId}`, type ) From 1deeff28ad74b0418f0337c17308dac564b01e00 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Thu, 18 Apr 2024 12:01:55 +0200 Subject: [PATCH 26/28] ci: multichain enable cache async --- .github/workflows/subql_multi_deploy_workflow.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/subql_multi_deploy_workflow.yaml b/.github/workflows/subql_multi_deploy_workflow.yaml index ed6d1e1e..23947dc6 100644 --- a/.github/workflows/subql_multi_deploy_workflow.yaml +++ b/.github/workflows/subql_multi_deploy_workflow.yaml @@ -111,6 +111,5 @@ jobs: --disableHistorical \ --indexerWorkers=1 \ --indexerUnsafe \ - --disableIndexerStoreCacheAsync \ --queryAggregate From f284553bc7df388cab22a4747db02034a5e5fa11 Mon Sep 17 00:00:00 2001 From: Filippo Date: Wed, 24 Apr 2024 12:45:09 +0200 Subject: [PATCH 27/28] 234-Track-accrued-interest-per-period (#242) * feat: track accrued interest per period Fixes #234 * chore: use default dictionaries * chore: fix sepolia for demo * ci: update deployment to demo-multichain --- .github/workflows/deploy.yml | 4 ++-- chains-evm/eth/centrifuge.yaml | 2 +- chains-evm/eth/demo.yaml | 9 ++++----- schema.graphql | 6 ++++++ src/mappings/handlers/blockHandlers.ts | 2 +- src/mappings/services/assetService.ts | 7 ++++++- src/mappings/services/poolService.ts | 6 ++++++ 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a0303c18..a5544a80 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -17,7 +17,7 @@ jobs: name: Deploy to SubQL (EMBRIO) strategy: matrix: - chainId: [development, demo] + chainId: [demo] uses: ./.github/workflows/subql_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} @@ -34,7 +34,7 @@ jobs: name: Deploy to SubQL Multichain (EMBRIO) strategy: matrix: - chainId: [centrifuge] + chainId: [demo, centrifuge] uses: ./.github/workflows/subql_multi_deploy_workflow.yaml with: chainId: ${{ matrix.chainId }} diff --git a/chains-evm/eth/centrifuge.yaml b/chains-evm/eth/centrifuge.yaml index c028a94b..8370437f 100644 --- a/chains-evm/eth/centrifuge.yaml +++ b/chains-evm/eth/centrifuge.yaml @@ -1,7 +1,7 @@ network: chainId: '1' # Ethereum Mainnet endpoint: 'https://eth.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}' - dictionary: 'https://gx.api.subquery.network/sq/subquery/eth-dictionary' + #dictionary: 'https://gx.api.subquery.network/sq/subquery/eth-dictionary' dataSources: - kind: ethereum/Runtime startBlock: 18721030 diff --git a/chains-evm/eth/demo.yaml b/chains-evm/eth/demo.yaml index 62cc19e2..2c320f87 100644 --- a/chains-evm/eth/demo.yaml +++ b/chains-evm/eth/demo.yaml @@ -1,9 +1,8 @@ network: - chainId: '5' #Ethereum Goerli - endpoint: "https://eth-goerli.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" - dictionary: "https://dict-tyk.subquery.network/query/eth-goerli" + chainId: '11155111' #Ethereum Sepolia + endpoint: "https://eth-sepolia.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" dataSources: - kind: ethereum/Runtime - startBlock: 10055835 + startBlock: 5232630 options: - address: '0x53c155d44C03CC28f892f90aA0C442850716D75F' \ No newline at end of file + address: '0x5c8657b827a138D52a4e3f03683A28B1FaD86893' \ No newline at end of file diff --git a/schema.graphql b/schema.graphql index fd15f26f..42321352 100644 --- a/schema.graphql +++ b/schema.graphql @@ -54,6 +54,7 @@ type Pool @entity { sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt deltaPortfolioValuationByPeriod: BigInt + sumInterestAccruedByPeriod: BigInt sumChargedAmountByPeriod: BigInt sumAccruedAmountByPeriod: BigInt @@ -102,6 +103,7 @@ type PoolSnapshot @entity { sumDebtOverdue: BigInt sumDebtWrittenOffByPeriod: BigInt deltaPortfolioValuationByPeriod: BigInt + sumInterestAccruedByPeriod: BigInt sumChargedAmountByPeriod: BigInt sumAccruedAmountByPeriod: BigInt @@ -390,6 +392,8 @@ type Asset @entity { borrowedAmountByPeriod: BigInt repaidAmountByPeriod: BigInt + interestAccruedByPeriod: BigInt + writeOffIndex: Int writtenOffPercentageByPeriod: BigInt writtenOffAmountByPeriod: BigInt @@ -421,6 +425,8 @@ type AssetSnapshot @entity { borrowedAmountByPeriod: BigInt repaidAmountByPeriod: BigInt + interestAccruedByPeriod: BigInt + writtenOffPercentageByPeriod: BigInt writtenOffAmountByPeriod: BigInt penaltyInterestRatePerSec: BigInt diff --git a/src/mappings/handlers/blockHandlers.ts b/src/mappings/handlers/blockHandlers.ts index 908d505d..aa401510 100644 --- a/src/mappings/handlers/blockHandlers.ts +++ b/src/mappings/handlers/blockHandlers.ts @@ -65,8 +65,8 @@ async function _handleBlock(block: SubstrateBlock): Promise { for (const loanId in activeLoanData) { const loan = await AssetService.getById(pool.id, loanId) await loan.updateActiveAssetData(activeLoanData[loanId]) + await pool.increaseInterestAccrued(loan.interestAccruedByPeriod) await loan.save() - if (loan.actualMaturityDate < block.timestamp) pool.increaseDebtOverdue(loan.outstandingDebt) } diff --git a/src/mappings/services/assetService.ts b/src/mappings/services/assetService.ts index 51e7f441..d9973a5d 100644 --- a/src/mappings/services/assetService.ts +++ b/src/mappings/services/assetService.ts @@ -48,6 +48,7 @@ export class AssetService extends Asset { asset.repaidAmountByPeriod = BigInt(0) asset.writtenOffPercentageByPeriod = BigInt(0) asset.writtenOffAmountByPeriod = BigInt(0) + asset.interestAccruedByPeriod = BigInt(0) return asset } @@ -98,8 +99,12 @@ export class AssetService extends Asset { } public async updateActiveAssetData(activeAssetData: ActiveLoanData[keyof ActiveLoanData]) { + const oldOutstaidingInterest = this.outstandingInterest + const oldTotalRepaidInterest = this.totalRepaidInterest Object.assign(this, activeAssetData) - logger.info(`Updating outstanding debt for asset: ${this.id} to ${this.outstandingDebt.toString()}`) + const deltaRepaidInterestAmount = this.totalRepaid - oldTotalRepaidInterest + this.interestAccruedByPeriod = this.outstandingInterest - oldOutstaidingInterest + deltaRepaidInterestAmount + logger.info(`Updated outstanding debt for asset: ${this.id} to ${this.outstandingDebt.toString()}`) } public async updateItemMetadata() { diff --git a/src/mappings/services/poolService.ts b/src/mappings/services/poolService.ts index da002251..a7538004 100644 --- a/src/mappings/services/poolService.ts +++ b/src/mappings/services/poolService.ts @@ -69,6 +69,7 @@ export class PoolService extends Pool { this.sumAccruedAmountByPeriod = BigInt(0) this.sumPaidAmountByPeriod = BigInt(0) this.deltaPortfolioValuationByPeriod = BigInt(0) + this.sumInterestAccruedByPeriod = BigInt(0) this.sumBorrowedAmount = BigInt(0) this.sumRepaidAmount = BigInt(0) @@ -261,6 +262,11 @@ export class PoolService extends Pool { this.sumDebtWrittenOffByPeriod += amount } + public increaseInterestAccrued(amount: bigint) { + logger.info(`Increasing interestAccrued by ${amount}`) + this.sumInterestAccruedByPeriod += amount + } + public async getTranches() { const poolResponse = await api.query.poolSystem.pool>(this.id) logger.info(`Fetching tranches for pool: ${this.id}`) From 236bc0b5a7c535b54febc0a30d6f81bbd8619509 Mon Sep 17 00:00:00 2001 From: Filippo Fontana Date: Wed, 24 Apr 2024 13:05:21 +0200 Subject: [PATCH 28/28] ci: fix deployments --- .github/workflows/deploy.yml | 8 ++++---- chains-evm/base/demo.yaml | 9 --------- chains-evm/eth/demo.yaml | 2 +- 3 files changed, 5 insertions(+), 14 deletions(-) delete mode 100644 chains-evm/base/demo.yaml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a5544a80..009885bf 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,9 +12,9 @@ permissions: issues: write jobs: - subql_deploy_embrio: + subql_deploy_staging: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL (EMBRIO) + name: Deploy to SubQL strategy: matrix: chainId: [demo] @@ -29,9 +29,9 @@ jobs: accessToken: ${{ secrets.SUBQL_ACCESS_TOKEN }} onfinalityApiKey: ${{ secrets.ONFINALITY_API_KEY }} - subql_deploy_embrio_multichain: + subql_deploy_staging_multichain: if: ${{ github.repository == 'embrio-tech/centrifuge-subql'}} - name: Deploy to SubQL Multichain (EMBRIO) + name: Deploy to SubQL Multichain strategy: matrix: chainId: [demo, centrifuge] diff --git a/chains-evm/base/demo.yaml b/chains-evm/base/demo.yaml deleted file mode 100644 index 0dc22ef3..00000000 --- a/chains-evm/base/demo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -network: - chainId: '84531' #Base Goerli - endpoint: https://goerli.base.org - dictionary: "https://api.subquery.network/sq/subquery/base-goerli-dictionary" -dataSources: - - kind: ethereum/Runtime - startBlock: 13078300 - options: - address: '0xa5Beda1F48a07740b8f4bDb223C861Cc7702b14e' \ No newline at end of file diff --git a/chains-evm/eth/demo.yaml b/chains-evm/eth/demo.yaml index 2c320f87..61cdddd8 100644 --- a/chains-evm/eth/demo.yaml +++ b/chains-evm/eth/demo.yaml @@ -1,6 +1,6 @@ network: chainId: '11155111' #Ethereum Sepolia - endpoint: "https://eth-sepolia.api.onfinality.io/ws?apikey=${ONFINALITY_API_KEY}" + endpoint: "https://sepolia.infura.io/v3/ed5e0e19bcbc427cbf8f661736d44516" dataSources: - kind: ethereum/Runtime startBlock: 5232630