48 Commits 2fa7a73924 ... c3fcb2dc34

Tác giả SHA1 Thông báo Ngày
  John Saigle c3fcb2dc34 docs: Remove social media monitoring section from SECURITY.md (#4504) 1 ngày trước cách đây
  John Saigle 1d521afab3 node: Modify Governor limits for Monad 1 ngày trước cách đây
  John Saigle 35e122c1d2 meta: Add bemic to codeowners for governor (#4589) 1 ngày trước cách đây
  Curt Bryan III 3ab00a9cc9 node(near): Increase RPC timeout from 5s to 20s (#4588) 2 ngày trước cách đây
  John Saigle ee26e052ee notary: fix bug where non-Ethereum messages were always Approved (#4577) 1 tuần trước cách đây
  Adam 97abfdd87d add fernando (#4581) 1 tuần trước cách đây
  John Saigle 43de1b8f2c audit: Add OtterSec review of token2022 metadata parsing (#4569) 1 tuần trước cách đây
  Dirk Brink 325cca4b62 node: Fix SignExistingVAA 2 tuần trước cách đây
  John Saigle 67104f9260 node(governor): avoid locking mutex for checks that do not require the governor's state (#4571) 2 tuần trước cách đây
  John Saigle b6aee18398 ci: Add security-focused clippy lints to various crates (#4568) 2 tuần trước cách đây
  John Saigle 4e1288837d meta: Add bemic to codeowners for audits/ (#4570) 2 tuần trước cách đây
  John Saigle 97738eeb2c governor: Add manual token entries (#4574) 2 tuần trước cách đây
  Csongor Kiss a994a165ca svm/wormhole-core-shims: allow anchor interfaces to be used from any anchor version (#4559) 2 tuần trước cách đây
  John Saigle b4b14440c3 ci: Fix clippy lints for Rust 1.9.0 (#4560) 2 tuần trước cách đây
  John Saigle 702a7343a6 ci: Add additional linting via govet (#4557) 3 tuần trước cách đây
  Aaron Clark b866766462 feat: moca testnet (#4550) 3 tuần trước cách đây
  scnale eb478c8040 scripts: fixes `make clean` for SVM in contract-upgrade-governance (#4555) 3 tuần trước cách đây
  John Saigle f9b9704164 ci: fix cspell command to also run on subdirectories (#4425) 3 tuần trước cách đây
  Jason Matthyser 1c2193432e node: Integrate Transfer Verifier into Sui Watcher (#4324) 3 tuần trước cách đây
  John Saigle b951be3559 meta: Add AR codeowners (#4549) 3 tuần trước cách đây
  John Saigle 1bb70f0c5f notary: Add admin rescue commands (#4474) 3 tuần trước cách đây
  scnale aed7fd663a svm: forwards environment through config file set in ENV_CONFIG (#4548) 3 tuần trước cách đây
  Paul Noel 9dee1cfa90 node: add last observed vaa to hb 1 tháng trước cách đây
  John Saigle b3472103bb ci: Enable tests and lints for svm/ directory; disable them for terra/ (#4537) 4 tuần trước cách đây
  Aaron Clark 3700e8647b monad mainnet WTT deployment (#4547) 4 tuần trước cách đây
  Aaron Clark 0231deba27 node(watcher): add Ethereum and Sepolia CustomConsistency addresses (#4543) 1 tháng trước cách đây
  Aaron Clark 5047de0f32 fogo mainnet values in governor and sdk (#4538) 1 tháng trước cách đây
  Paul Noel f75c7f8884 node/pkg/watchers/evm: fix ccl bug 1 tháng trước cách đây
  Paul Noel 642d0cddbc docs: update operations.md 1 tháng trước cách đây
  Csongor Kiss cf9a9789b6 svm/wormhole-core-shims: support non-solana SVM deployments (#4527) 1 tháng trước cách đây
  John Saigle 6a765a5d9c node(governor): Add more tokens to governed list (#4535) 1 tháng trước cách đây
  John Saigle ef85512070 ci: Add iota-mixing lint (#4532) 1 tháng trước cách đây
  Hernán Di Pietro 946a4fe36a update environment variable to proper PROGRAM_ID (#4534) 1 tháng trước cách đây
  Hernán Di Pietro a3c7176923 SVM: Revamped Core and Bridge initialization scripts. (#4530) 1 tháng trước cách đây
  John Saigle 968135a442 docs: Add whitepaper for Notary (#4452) 1 tháng trước cách đây
  Csongor Kiss 95fdfd8f4e solana: pick up chain id from environment 1 tháng trước cách đây
  Csongor Kiss 63b904d7fe solana: fix chain constants used in token/nft bridge 1 tháng trước cách đây
  Csongor Kiss 97371e93aa solana: rename CHAIN_ID_SOLANA -> OUR_CHAIN_ID 1 tháng trước cách đây
  hernandp 854a1079a1 solana/Makefile: fogo deployment support 1 tháng trước cách đây
  Csongor Kiss ebaf26a8b9 solana/token_bridge: fix metaplex metadata handling and add support for token2022 tokens (including metadata pointers) 1 tháng trước cách đây
  John Saigle f83066034a notary: delay Rejected messages instead of dropping (#4522) 1 tháng trước cách đây
  Dirk Brink d24be36e84 node: governor token list update (#4513) 1 tháng trước cách đây
  John Saigle e89d0e03cb ci: Add `nilnil` and `nilnesserr` lints (#4516) 1 tháng trước cách đây
  John Saigle 10eacbb06a node(governor): Remove duplication in unit test set-up (#4430) 1 tháng trước cách đây
  John Saigle 33cabd74ac node(governor): make internal-only methods private (#4429) 1 tháng trước cách đây
  John Saigle 1f8128463c node: Add Transfer Verifier whitepaper (#4242) 1 tháng trước cách đây
  Dirk Brink 383481a382 node: Log version on watcher start (#4472) 1 tháng trước cách đây
  John Saigle 9d45640e7b ci(gocritic): refactor so that new rules will get included automatically (#4497) 1 tháng trước cách đây
100 tập tin đã thay đổi với 8276 bổ sung2794 xóa
  1. 26 11
      .github/CODEOWNERS
  2. 38 14
      .github/workflows/build.yml
  3. 1 3
      .gitignore
  4. 28 32
      .golangci.yml
  5. 1 1
      CONTRIBUTING.md
  6. 0 9
      SECURITY.md
  7. 23 6
      Tiltfile
  8. BIN
      audits/svm/2025-09-ottersec-token2022.pdf
  9. 1 1
      cosmwasm/contracts/shutdown-wormhole/src/testing/integration.rs
  10. 4 0
      cspell-custom-words.txt
  11. 2 3
      devnet/node.yaml
  12. 29 0
      devnet/tx-verifier-sui.yaml
  13. 0 8
      devnet/tx-verifier/Dockerfile
  14. 0 13
      devnet/tx-verifier/Dockerfile.cast
  15. 46 0
      devnet/tx-verifier/Dockerfile.tx-verifier-sui
  16. 21 32
      devnet/tx-verifier/README.md
  17. 0 32
      devnet/tx-verifier/monitor.sh
  18. 8 0
      devnet/tx-verifier/sui/sui_config/client.yaml
  19. 3 0
      devnet/tx-verifier/sui/sui_config/sui.keystore
  20. 89 0
      devnet/tx-verifier/sui/transfer_tokens_unsafe.move
  21. 229 0
      devnet/tx-verifier/sui/tx-verifier-sui-runner.sh
  22. 16 0
      docs/operations.md
  23. 23 0
      ethereum/env/.env.moca.testnet
  24. 25 0
      ethereum/env/.env.monad.mainnet
  25. 11 10
      node/cmd/ccq/http.go
  26. 296 0
      node/cmd/guardiand/adminclient.go
  27. 1 0
      node/cmd/guardiand/adminnodes.go
  28. 23 4
      node/cmd/guardiand/node.go
  29. 156 41
      node/cmd/txverifier/sui.go
  30. 183 1
      node/pkg/adminrpc/adminserver.go
  31. 18 0
      node/pkg/adminrpc/adminserver_test.go
  32. 2 2
      node/pkg/common/chain_id_test.go
  33. 22 8
      node/pkg/common/chainlock.go
  34. 35 27
      node/pkg/common/pendingmessage.go
  35. 36 12
      node/pkg/common/pendingmessage_test.go
  36. 1 0
      node/pkg/common/scissors_test.go
  37. 77 15
      node/pkg/db/notary.go
  38. 53 2
      node/pkg/db/notary_test.go
  39. 1465 1487
      node/pkg/governor/generated_mainnet_tokens.go
  40. 46 26
      node/pkg/governor/governor.go
  41. 1 1
      node/pkg/governor/governor_db.go
  42. 3 3
      node/pkg/governor/governor_prices.go
  43. 123 182
      node/pkg/governor/governor_test.go
  44. 2 0
      node/pkg/governor/mainnet_chains.go
  45. 4 0
      node/pkg/governor/mainnet_tokens_test.go
  46. 5 1
      node/pkg/governor/manual_tokens.go
  47. 3 0
      node/pkg/node/adminServiceRunnable.go
  48. 4 2
      node/pkg/node/options.go
  49. 294 0
      node/pkg/notary/admincommands.go
  50. 178 69
      node/pkg/notary/notary.go
  51. 115 34
      node/pkg/notary/notary_test.go
  52. 2 0
      node/pkg/p2p/p2p.go
  53. 25 2
      node/pkg/p2p/registry.go
  54. 74 0
      node/pkg/p2p/registry_test.go
  55. 11 0
      node/pkg/processor/message.go
  56. 164 151
      node/pkg/proto/gossip/v1/gossip.pb.go
  57. 994 0
      node/pkg/proto/node/v1/node.pb.go
  58. 824 54
      node/pkg/proto/node/v1/node.pb.gw.go
  59. 380 0
      node/pkg/proto/node/v1/node_grpc.pb.go
  60. 111 107
      node/pkg/proto/publicrpc/v1/publicrpc.pb.go
  61. 6 5
      node/pkg/query/query.go
  62. 0 9
      node/pkg/txverifier/evmtypes.go
  63. 226 100
      node/pkg/txverifier/sui.go
  64. 197 128
      node/pkg/txverifier/sui_test.go
  65. 71 56
      node/pkg/txverifier/suitypes.go
  66. 115 1
      node/pkg/txverifier/utils.go
  67. 190 0
      node/pkg/txverifier/utils_test.go
  68. 35 0
      node/pkg/watchers/algorand/watcher.go
  69. 42 0
      node/pkg/watchers/aptos/watcher.go
  70. 87 26
      node/pkg/watchers/cosmwasm/watcher.go
  71. 1 1
      node/pkg/watchers/evm/ccq_backfill.go
  72. 2 0
      node/pkg/watchers/evm/chain_config.go
  73. 13 8
      node/pkg/watchers/evm/custom_consistency_level.go
  74. 97 0
      node/pkg/watchers/evm/custom_consistency_level_test.go
  75. 3 3
      node/pkg/watchers/evm/reobserve.go
  76. 29 5
      node/pkg/watchers/evm/watcher.go
  77. 1 0
      node/pkg/watchers/ibc/watcher.go
  78. 6 0
      node/pkg/watchers/near/nearapi/mock/mock_server.go
  79. 17 1
      node/pkg/watchers/near/nearapi/nearapi.go
  80. 16 0
      node/pkg/watchers/near/nearapi/types.go
  81. 1 1
      node/pkg/watchers/near/poll.go
  82. 22 0
      node/pkg/watchers/near/watcher.go
  83. 21 0
      node/pkg/watchers/solana/client.go
  84. 16 5
      node/pkg/watchers/sui/config.go
  85. 64 0
      node/pkg/watchers/sui/msg_verifier.go
  86. 155 18
      node/pkg/watchers/sui/watcher.go
  87. 75 2
      node/pkg/watchers/sui/watcher_test.go
  88. 3 1
      proto/gossip/v1/gossip.proto
  89. 122 0
      proto/node/v1/node.proto
  90. 1 0
      proto/publicrpc/v1/publicrpc.proto
  91. 13 8
      scripts/contract-upgrade-governance.sh
  92. 1 2
      scripts/lint.sh
  93. 228 0
      scripts/test-notary-admin-commands.sh
  94. 0 1
      sdk/devnet_consts.go
  95. 2 0
      sdk/mainnet_consts.go
  96. 32 0
      sdk/rust/Cargo.toml
  97. 3 0
      sdk/rust/serde_wormhole/Cargo.toml
  98. 3 0
      sdk/rust/supported-chains/Cargo.toml
  99. 2 7
      sdk/rust/supported-chains/src/lib.rs
  100. 3 0
      sdk/rust/vaas-serde/Cargo.toml

+ 26 - 11
.github/CODEOWNERS

@@ -9,21 +9,21 @@
 /bitcoin/ @evan-gray
 /cosmwasm/ @mdulin2 @kcsongor
 /ethereum/ @gator-boi @kcsongor
-/ethereum/env/ @gator-boi @kcsongor @evan-gray
+/ethereum/env/ @gator-boi @kcsongor @evan-gray @fergarrui
 /relayer/ethereum @nonergodic @gator-boi
 /near/ @evan-gray @kcsongor
 /solana/ @kcsongor 
 /sui/ @kcsongor @gator-boi
 /terra/ @kcsongor
-/wormchain/ @nik-suri @johnsaigle @mdulin2 @joelsmith-2019
+/wormchain/ @nik-suri @johnsaigle @mdulin2
 
 # Utilities
 
 /clients/ @kcsongor @kev1n-peters @evan-gray
 /lp_ui/ @evan-gray @kev1n-peters
 /relayer/generic_relayer @nonergodic @gator-boi
-/scripts/ @evan-gray @kcsongor
-/sdk/ @evan-gray @kev1n-peters @panoel @SEJeff
+/scripts/ @evan-gray @kcsongor @djb15
+/sdk/ @evan-gray @kev1n-peters @panoel @SEJeff @fergarrui
 /sdk/js-proto-node/ @evan-gray @kev1n-peters
 /sdk/js-proto-web/ @evan-gray @kev1n-peters
 /sdk/js-query/ @evan-gray @kev1n-peters
@@ -35,12 +35,14 @@
 /testing/ @evan-gray
 /wormchain/contracts/tools/ @evan-gray @kev1n-peters @panoel
 /wormchain/devnet/ @evan-gray
+/wormchain/devnet/txverifier @djb15 @johnsaigle @mdulin2 @pleasew8t
 /wormchain/ts-sdk/ @evan-gray @kev1n-peters @panoel
 /deployments @evan-gray @kev1n-peters @panoel
 
 # Protobuf for node
 
 /proto/node/ @evan-gray @panoel
+/proto/publicrpc/ @evan-gray @panoel @fergarrui
 
 # Guardiand node
 
@@ -50,12 +52,16 @@
 
 ## Entrypoint / RPC
 
-/node/cmd/ @panoel @evan-gray
+/node/cmd/ @panoel @evan-gray @fergarrui
 
+## Common
+/node/pkg/common/ @panoel @evan-gray
+/node/pkg/common/pendingmessage* @djb15 @johnsaigle @mdulin2 @pleasew8t
 
 ## DB
 
 /node/pkg/db/ @evan-gray @panoel
+/node/pkg/db/notary* @djb15 @johnsaigle @mdulin2 @pleasew8t
 
 ## Accountant
 
@@ -63,7 +69,7 @@
 
 ## Governor
 
-/node/pkg/governor/ @SEJeff @djb15 @johnsaigle @mdulin2 @pleasew8t
+/node/pkg/governor/ @SEJeff @djb15 @johnsaigle @mdulin2 @pleasew8t @bemic
 
 ## Gateway Relayer
 
@@ -77,6 +83,14 @@
 
 /node/pkg/processor/ @evan-gray @panoel
 
+## Proto
+
+/node/pkg/proto/ @evan-gray @panoel @fergarrui
+
+## Query
+
+/node/pkg/query/ @evan-gray @panoel @fergarrui
+
 ## Public RPC
 
 /node/pkg/publicrpc/ @evan-gray @panoel
@@ -92,11 +106,12 @@
 
 ## Watchers
 
-/node/pkg/watchers @evan-gray @panoel
+/node/pkg/watchers @evan-gray @panoel @fergarrui
+/node/pkg/watchers/evm/msg_verifier.go @djb15 @johnsaigle @mdulin2 @pleasew8t
 
 ## Guardian Dependency Upgrades (go.mod) 
-/node/go.mod @bemic @djb15 @johnsaigle @mdulin2 @pleasew8t
-/sdk/go.mod @bemic @djb15 @johnsaigle @mdulin2 @pleasew8t
+/node/go.mod @djb15 @johnsaigle @mdulin2 @pleasew8t @bemic
+/sdk/go.mod @djb15 @johnsaigle @mdulin2 @pleasew8t @bemic
 
 ## Notary
 
@@ -105,7 +120,7 @@
 ## Hacks / Tools
 
 /node/hack/ @panoel @evan-gray
-/node/hack/governor @SEJeff @djb15 @johnsaigle @mdulin2 @pleasew8t
+/node/hack/governor @SEJeff @djb15 @johnsaigle @mdulin2 @pleasew8t @bemic
 
 ## Documentation
 
@@ -113,4 +128,4 @@
 
 ## Audit Reports
 
-/audits @djb15 @SEJeff @johnsaigle @mdulin2 @pleasew8t
+/audits @djb15 @SEJeff @johnsaigle @mdulin2 @pleasew8t @bemic

+ 38 - 14
.github/workflows/build.yml

@@ -107,6 +107,7 @@ jobs:
       RUSTFLAGS: -Dwarnings
       EMITTER_ADDRESS: CiByUvEcx7w2HA4VHcPCBUAFQ73Won9kB36zW9VjirSr
       BRIDGE_ADDRESS: Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o
+      CHAIN_ID: 1
 
     steps:
       - uses: actions/checkout@v3
@@ -215,15 +216,7 @@ jobs:
 
       - name: Run tests via docker
         run: cd sui && make test-docker
-
-  terra:
-    runs-on: ubuntu-24.04
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/setup-node@v2
-        with:
-          node-version: "22"
-      - run: cd terra && make test
+  # NOTE: While Terra2 is deprecated, this job may be related to testing CosmWasm functionality in Wormchain.
   terra-2:
     runs-on: ubuntu-24.04
     steps:
@@ -313,7 +306,6 @@ jobs:
       # Pinned version of the v6 tag, which is a lightweight and hence mutable tag
       - uses: streetsidesoftware/cspell-action@214db1e3138f326d33b7a6a51c92852e89ab0618
         with:
-          # NOTE: Keep this command in sync with `scripts/lint.sh`
           # For now, only lint markdown files
           files: "**/*.md"
           inline: warning
@@ -343,27 +335,59 @@ jobs:
   rust-lint-and-tests:
     runs-on: ubuntu-24.04
     env:
+      # Deny all warnings. Since we also build with stable, this causes newly-added clippy lints to fail when new Rust
+      # versions are released. This means that the CI runs will occasionally fail as new warnings are flagged in the
+      # codebase, but it's a good way to force us to keep the codebase in good shape.
       RUSTFLAGS: -Dwarnings
     strategy:
       matrix:
         manifest:
+          # NOTE: The `test_args` flag is used to forward job-specific flags to Rust tests while allowing us to use the matrix strategy for configuring jobs.
+          # CosmWasm
           - path: cosmwasm/Cargo.toml
             args: "--workspace --locked --exclude 'shutdown-*'"
+            test_args: ""
           - path: cosmwasm/Cargo.toml
             args: "-p 'shutdown-*' --no-default-features --locked"
-          - path: terra/Cargo.toml
-            args: "--workspace --locked"
+            test_args: ""
+          # Rust SDK
           - path: sdk/rust/Cargo.toml
             args: "--all-features --all-targets"
+            test_args: ""
+          # SVM directory (shims code)
+          - path: svm/wormhole-core-shims/Cargo.toml
+            args: "--workspace --no-default-features --features solana" # The crate by default requires environment variables. If solana is specified, mainnet values are used.
+            test_args: "--lib"  # Skip integration tests; they require compiled BPF programs
+          - path: svm/wormhole-core-shims/anchor/Cargo.toml
+            args: "--workspace"
+            test_args: "--lib"  # Skip doctests; anchor interfaces lack solana_program dependency
     name: rust-lint-and-tests (${{ matrix.manifest.path }})
     steps:
       - name: Check out source
         uses: actions/checkout@v3
 
+      - name: Get rust toolchain version
+        id: toolchain
+        env:
+          MANIFEST: ${{ matrix.manifest.path }}
+        run: |
+          WORKSPACE_DIR="$(dirname "${MANIFEST}")"
+          if [ -f "${WORKSPACE_DIR}/rust-toolchain.toml" ]; then
+            # Extract the Rust version from rust-toolchain.toml
+            # Searches for lines matching 'channel =' and extracts the quoted version string
+            # Example: 'channel = "1.83.0"' -> extracts "1.83.0" by:
+            #   $3 = third field ("1.83.0")
+            #   substr($3, 2, length($3)-2) = strips first and last character (the quotes)
+            RUST_VERSION="$(awk '/channel =/ { print substr($3, 2, length($3)-2) }' "${WORKSPACE_DIR}/rust-toolchain.toml")"
+          else
+            RUST_VERSION="stable"
+          fi
+          echo "::set-output name=version::${RUST_VERSION}"
+
       - name: Install rust toolchain
         uses: dtolnay/rust-toolchain@55c7845fad90d0ae8b2e83715cb900e5e861e8cb
         with:
-          toolchain: stable
+          toolchain: ${{ steps.toolchain.outputs.version }}
           components: "clippy,rustfmt"
 
       - name: Create cache key
@@ -392,7 +416,7 @@ jobs:
         run: cargo clippy ${{ matrix.manifest.args }} --tests --manifest-path ${{ matrix.manifest.path }}
 
       - name: Run unit tests
-        run: cargo test ${{ matrix.manifest.args }} --manifest-path ${{ matrix.manifest.path }}
+        run: cargo test ${{ matrix.manifest.args }} ${{ matrix.manifest.test_args }} --manifest-path ${{ matrix.manifest.path }}
 
   docker:
     runs-on: ubuntu-latest

+ 1 - 3
.gitignore

@@ -24,9 +24,7 @@ devnet-consts.json
 !/terra/artifacts/cw20_base.wasm
 /cosmwasm/artifacts/
 !/cosmwasm/artifacts/cw20_base.wasm
-/solana/artifacts-testnet/
-/solana/artifacts-devnet/
-/solana/artifacts-mainnet/
+/solana/artifacts-*
 /ethereum/out/
 /ethereum/cache/
 sui.log.*

+ 28 - 32
.golangci.yml

@@ -23,9 +23,12 @@ linters:
     - gosec
     - govet
     - ineffassign
+    - iotamixing
     - loggercheck
     # Check for simple misspellings of words. 
     - misspell
+    - nilerr
+    - nilnesserr
     - noctx
     # Require explanations for nolint comments
     - nolintlint
@@ -127,38 +130,31 @@ linters:
       exclude-godoc-examples: true
       analyze-types: true
     gocritic:
-      disable-all: true
-    # disabled-checks:
-    #   - exitAfterDefer
-    #   - assignOp
-    #   - ifElseChain
-    #   - elseif
-      enabled-checks:
-        - argOrder
-        - badCall
-        - badCond
-        - badLock
-        - badRegexp
-        - badSorting
-        - builtinShadow
-        - builtinShadowDecl
-        - caseOrder
-        - dupArg
-        - dupBranchBody
-        - dupCase
-        - dupSubExpr
-        - externalErrorReassign
-        - importShadow
-        - mapKey
-        - newDeref
-        - offBy1
-        - regexpPattern
-        - sloppyReassign
-        - truncateCmp
-        - uncheckedInlineErr
-        - weakCond
-      # performance lints
-        - indexAlloc
+      disabled-checks:
+        - assignOp
+        - appendAssign
+        - captLocal # We should probably enable this one
+        - commentFormatting # We should probably enable this one
+        - elseif
+        - exitAfterDefer
+        - ifElseChain
+        - sloppyLen
+        - underef
+        - unslice
+    govet:
+      # The following list includes all the linters that are disabled by default.
+      # Uncomment any of these to enable them:
+      enable:
+        # - atomicalign          # Check for non-64-bits-aligned arguments to sync/atomic functions
+        # - deepequalerrors      # Check for calls of reflect.DeepEqual on error values
+        # - fieldalignment       # Find structs that would use less memory if their fields were sorted
+        # - findcall             # Find calls to a particular function
+        - nilness              # Check for redundant or impossible nil comparisons
+        # - reflectvaluecompare  # Check for comparing reflect.Value values with == or reflect.DeepEqual
+        # - shadow               # Check for possible unintended shadowing of variables
+        # - sortslice            # Check the argument type of sort.Slice
+        # - timeformat           # Check for calls of (time.Time).Format or time.Parse with 2006-02-01
+        # - unusedwrite          # Check for unused writes
     nolintlint:
       # Disable to ensure that all nolint directives actually have an effect.
       # Default: false

+ 1 - 1
CONTRIBUTING.md

@@ -7,7 +7,7 @@ Wormhole is a mission-critical, high-stakes project. We optimize for quality ove
 and code reviews are our most important tools to accomplish that.
 
 - All new features must first be discussed in a GitHub issue before starting to implement them. For
-  complex features, it can be useful to submit a [formal design document](design/template.md).
+  complex features, it can be useful to submit a [formal design document](whitepapers/template.md).
 
 - Development happens on a long-lived development branch (`main` and `dev.v1`).
   Every change going into a development branch is reviewed individually (see below). Release branches may be used

+ 0 - 9
SECURITY.md

@@ -8,7 +8,6 @@ The following document describes various aspects of the Wormhole security progra
 - [Trust Assumptions](#Trust-Assumptions)
 - [White Hat Hacking](#White-Hat-Hacking)
 - [Chain Integrators](#Chain-Integrators)
-- [Social Media Monitoring](#Social-Media-Monitoring)
 - [Incident Response](#Incident-Response)
 - [Emergency Shutdown](#Emergency-Shutdown)
 - [Security Monitoring](#Security-Monitoring)
@@ -94,14 +93,6 @@ Additionally, ensure:
 - You have an established incident response program in place, with established patterns and playbooks to ensure deterministic outcomes for containment.
 - When security issues do occur, please make sure that the chain makes every attempt to inform affected parties and leads with transparency.
 
-## Social Media Monitoring
-
-The Wormhole project maintains a social media monitoring program to stay abreast of important ecosystem developments.
-
-These developments include monitoring services like Twitter for key phrases and patterns such that the Wormhole project is informed of a compromise or vulnerability in a dependency that could negatively affect Wormhole, its users, or the chains that Wormhole is connected to.
-
-In the case of a large ecosystem development that requires response, the Wormhole project will engage its security incident response program.
-
 ## Incident Response
 
 The Wormhole project maintains an incident response program to respond to vulnerabilities or active threats to Wormhole, its users, or the ecosystems it's connected to.  Wormhole can be made aware about a security event from a variety of different sources (eg. bug bounty program, audit finding, security monitoring, social media, etc.)

+ 23 - 6
Tiltfile

@@ -159,7 +159,7 @@ def command_with_dlv(argv):
     ] + argv[1:]
 
 def generate_bootstrap_peers(num_guardians, port_num):
-    # Improve the chances of the guardians discovering each other in tilt by making them all bootstrap peers. 
+    # Improve the chances of the guardians discovering each other in tilt by making them all bootstrap peers.
     # The devnet guardian uses deterministic P2P peer IDs based on the guardian index. The peer IDs here
     # were generated using `DeterministicP2PPrivKeyByIndex` in `node/pkg/devnet/deterministic_p2p_key.go`.
     peer_ids = [
@@ -181,7 +181,7 @@ def generate_bootstrap_peers(num_guardians, port_num):
         "12D3KooW9yvKfP5HgVaLnNaxWywo3pLAEypk7wjUcpgKwLznk5gQ",
         "12D3KooWRuYVGEsecrJJhZsSoKf1UNdBVYKFCmFLNj9ucZiSQCYj",
         "12D3KooWGEcD5sW5osB6LajkHGqiGc3W8eKfYwnJVVqfujkpLWX2",
-        "12D3KooWQYz2inBsgiBoqNtmEn1qeRBr9B8cdishFuBgiARcfMcY" 
+        "12D3KooWQYz2inBsgiBoqNtmEn1qeRBr9B8cdishFuBgiARcfMcY"
     ]
     bootstrap = ""
     for idx in range(num_guardians):
@@ -216,7 +216,7 @@ def build_node_yaml():
                     bootstrapPeers,
                     "--ccqP2pBootstrap",
                     ccqBootstrapPeers,
-                ]            
+                ]
 
             if aptos:
                 container["command"] += [
@@ -485,7 +485,7 @@ if solana or pythnet:
         dockerfile = "solana/Dockerfile",
         target = "builder",
         ignore = ["./solana/*/target", "./solana/tests"],
-        build_args = {"BRIDGE_ADDRESS": "Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o"}
+        build_args = {"BRIDGE_ADDRESS": "Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o", "CHAIN_ID": "1"},
     )
 
     # solana local devnet
@@ -650,6 +650,14 @@ if ci_tests:
     )
     k8s_yaml_with_ns("devnet/tx-verifier-evm.yaml")
 
+    if sui:
+        docker_build(
+            ref = "tx-verifier-sui",
+            context = "./devnet/tx-verifier/",
+            dockerfile = "./devnet/tx-verifier/Dockerfile.tx-verifier-sui"
+        )
+        k8s_yaml_with_ns("devnet/tx-verifier-sui.yaml")
+
     k8s_yaml_with_ns(
         encode_yaml_stream(
             set_env_in_jobs(
@@ -658,7 +666,7 @@ if ci_tests:
                     "BOOTSTRAP_PEERS", str(ccqBootstrapPeers)),
                     "MAX_WORKERS", max_workers))
     )
-    
+
     # separate resources to parallelize docker builds
     k8s_resource(
         "sdk-ci-tests",
@@ -690,10 +698,11 @@ if ci_tests:
         trigger_mode = trigger_mode,
         resource_deps = [], # testing/querysdk.sh handles waiting for query-server, not having deps gets the build earlier
     )
+
     # launches Transfer Verifier binary and sets up monitoring script
     k8s_resource(
         "tx-verifier-evm",
-        labels = ["tx-verifier-evm"],
+        labels = ["tx-verifier"],
         trigger_mode = trigger_mode,
         resource_deps = ["eth-devnet"],
     )
@@ -704,6 +713,14 @@ if ci_tests:
         resource_deps = [], # uses devnet-consts.json, buttesting/contract-integrations/custom_consistency_level/test_custom_consistency_level.sh handles waiting for guardian, not having deps gets the build earlier
     )
 
+    if sui:
+        k8s_resource(
+            "tx-verifier-sui",
+            labels = ["tx-verifier"],
+            trigger_mode = trigger_mode,
+            resource_deps = ["sui"]
+        )
+
 if terra_classic:
     docker_build(
         ref = "terra-image",

BIN
audits/svm/2025-09-ottersec-token2022.pdf


+ 1 - 1
cosmwasm/contracts/shutdown-wormhole/src/testing/integration.rs

@@ -149,7 +149,7 @@ pub fn guardian_set_update_allowed_in_shutdown() -> StdResult<()> {
         .wrap()
         .query_wasm_smart(wormhole_contract.clone(), &QueryMsg::GuardianSetInfo {})?;
 
-    let new_guardian_keys = vec![
+    let new_guardian_keys = [
         SigningKey::from_bytes(&[
             93, 217, 189, 224, 168, 81, 157, 93, 238, 38, 143, 8, 182, 94, 69, 77, 232, 199, 238,
             206, 15, 135, 221, 58, 43, 74, 0, 129, 54, 198, 62, 226,

+ 4 - 0
cspell-custom-words.txt

@@ -19,6 +19,9 @@ behaviour
 Berachain
 bigset
 Bigtable
+Blackhole
+blackhole
+blackholed
 borsh
 bscscan
 BUILDKIT
@@ -220,6 +223,7 @@ vimdiff
 vphash
 wasmhooks
 wasms
+WebSocket
 WORKDIR
 worldchain
 WorldChain

+ 2 - 3
devnet/node.yaml

@@ -148,9 +148,8 @@ spec:
             - --ccqEnabled=true
             - --ccqAllowedRequesters=beFA429d57cD18b7F8A4d91A2da9AB4AF05d0FBe,25021A4FCAf61F2EADC8202D3833Df48B2Fa0D54
             - --ccqAllowedPeers=12D3KooWSnju8zhywCYVi2JwTqky1sySPnmtYLsHHzc4WerMnDQH,12D3KooWM6WqedfR6ehtTd1y6rJu3ZUrEkTjcJJnJZYesjd89zj8
-            - --transferVerifierEnabledChainIDs=2
-            - --notaryEnabled=true
-            - --logLevel=warn
+            - --transferVerifierEnabledChainIDs=2,21
+            # - --logLevel=debug
           securityContext:
             capabilities:
               add:

+ 29 - 0
devnet/tx-verifier-sui.yaml

@@ -0,0 +1,29 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: tx-verifier-sui
+spec:
+  backoffLimit: 0
+  template:
+    spec:
+      restartPolicy: Never
+      # required, as the guardian cannot run as root
+      securityContext:
+        runAsUser: 1000
+        runAsGroup: 1000
+        fsGroup: 1000
+      containers:
+        - name: tx-verifier-sui
+          image: tx-verifier-sui
+          command:
+            - /bin/bash
+            - -c
+            - "bash /tx-verifier-sui-runner.sh"
+          readinessProbe:
+            exec:
+              command:
+                - test
+                - -e
+                - "/tmp/success"
+            initialDelaySeconds: 5
+            periodSeconds: 5

+ 0 - 8
devnet/tx-verifier/Dockerfile

@@ -1,8 +0,0 @@
-# There's nothing special about this version, it is simply the `latest` as of
-# the creation date of this file.
-FROM alpine:3.20.3@sha256:1e42bbe2508154c9126d48c2b8a75420c3544343bf86fd041fb7527e017a4b4a
-
-RUN apk add --no-cache inotify-tools
-
-COPY monitor.sh /monitor.sh
-RUN chmod +x /monitor.sh

+ 0 - 13
devnet/tx-verifier/Dockerfile.cast

@@ -1,13 +0,0 @@
-# These versions are pinned to match the Dockerfile in the `ethereum/`
-# directory. Otherwise, there is nothing special about them and they can be
-# updated alongside the other Dockerfile.
-FROM --platform=linux/amd64 ghcr.io/foundry-rs/foundry:v1.0.0@sha256:d12a373ec950de170d5461014ef9320ba0fb6e0db6f87835999d0fcf3820370e as foundry
-# node is required to install Foundry
-FROM node:22.16-bullseye-slim@sha256:550b434f7edc3a1875860657a3e306752358029c957280809ae6395ab296faeb
-
-COPY --from=foundry /usr/local/bin/cast /bin/cast
-
-COPY transfer-verifier-test.sh /transfer-verifier-test.sh
-RUN chmod +x /transfer-verifier-test.sh
-
-CMD ["/transfer-verifier-test.sh"]

+ 46 - 0
devnet/tx-verifier/Dockerfile.tx-verifier-sui

@@ -0,0 +1,46 @@
+# Apply guardiand-image
+FROM guardiand-image as base
+
+FROM cli-gen AS cli-export
+FROM const-gen AS const-export
+FROM sui-node AS sui-node-base
+
+COPY --from=const-export .env .env
+COPY --from=cli-export clients/js /cli
+
+# prepare guardiand
+COPY --from=base /guardiand /guardiand
+COPY --from=base /usr/lib/libwasmvm.*.so /usr/lib/
+
+WORKDIR /tmp
+
+# Link `worm`
+WORKDIR /cli
+RUN npm link
+
+WORKDIR /
+
+# install jq
+RUN apt update && apt install -y jq
+
+# prepare test scripts
+COPY sui/tx-verifier-sui-runner.sh /tx-verifier-sui-runner.sh
+RUN chmod +x /tx-verifier-sui-runner.sh
+
+# This is necessary to modify/build/deploy Sui contracts from this container
+# The container is running with UID 1000, and all files copied into the sui-node image
+# are owned by root, stored under /tmp.
+RUN chown -R 1000:1000 /tmp
+
+# Necessary to store any external dependency artifacts for Sui
+RUN mkdir /.move
+RUN chown 1000:1000 /.move
+
+# Prepare sui configuration to allow using the sui cli utility
+RUN mkdir -p /.sui
+COPY sui/sui_config /.sui/sui_config
+RUN chown -R 1000:1000 /.sui
+
+
+# Add the unsafe implementations of `prepare_message` and `transfer_tokens`
+COPY sui/transfer_tokens_unsafe.move /tmp/transfer_tokens_unsafe.move

+ 21 - 32
devnet/tx-verifier/README.md

@@ -4,7 +4,7 @@
 
 ### Overview
 
-The Transfer Verifier tests involve interacting with the local Ethereum devnet defined by the Tilt set-up in this repository.
+The Transfer Verifier tests involve interacting with the local Ethereum devnet defined by the Tilt setup in this repository.
 
 The basic idea is as follows:
 * Interact with the local Ethereum testnet. This should already have important pieces such as the Token Bridge and Core Bridge deployed.
@@ -14,42 +14,31 @@ The basic idea is as follows:
 * A "monitor" script is used to detect the expected error message, waiting until the file is written to
 * If the monitor script sees the expected error message in the error log, it terminates
 
-## Components
+### Scripts/Components
 
-### Scripts
+| Script/Component | Description |
+|------------------|-------------|
+| `Dockerfile.tx-verifier-evm` | The dockerfile representing the image used for EVM transfer verifier tests. |
+| `tx-verifier-evm-runner.sh` | Runs the guardiand binary which contains the transfer verifier tool, which monitors the local Ethereum network for events. |
+| `tx-verifier-evm-tests.sh` | Contains the `cast` commands that simulate malicious interactions with the Token Bridge and Core Bridge. It is able to broadcast transactions to the `anvil` instance that powers the Ethereum testnet while being able to impersonate arbitrary senders. <br>This allows performing actions that otherwise should be impossible, like causing a Publish Message event to be emitted from the Core Bridge without a corresponding deposit or transfer into the Token Bridge. <br>The current integration test sends exactly two messages, each one corresponding to a different Token Bridge endpoint (Transfer and Transfer With Payload). |
 
-#### tx-verifier-evm-tests.sh
+## Sui Integration Tests
 
-Contains the `cast` commands that simulate malicious interactions with the Token Bridge and Core Bridge. It is able to broadcast
-transactions to the `anvil` instance that powers the Ethereum testnet while being able to impersonate arbitrary senders.
-
-This lets us perform actions that otherwise should be impossible, like causing a Publish Message event to be emitted from the Core Bridge
-without a corresponding deposit or transfer into the Token Bridge.
-
-The current integration test sends exactly two messages, each one corresponding to a different Token Bridge endpoint
-(Transfer and Transfer With Payload).
-
-#### tx-verifier-evm-runner.sh
-
-Runs the guardiand binary which contains the transfer verifier tool. This tool monitors the local Ethereum network for events.
-
-A bash script that monitors the error log file for a specific error pattern. It runs in an infinite loop so it will
-not exit until the error pattern is detected.
-
-The error pattern is defined in the YAML file and matches an error string in the Transfer Verifier package.
-
-The integration test is considered successful as soon as two instances of the error pattern are detected, one for
-each message type sent by the `transfer-verifier-evm-test.sh`.
+### Overview
 
-## Further Work
+The transfer verifier integration tests for Sui also involve interacting with the Sui node deployed as part of the larger Tilt setup. However, owing to the complexities of Sui, injecting the invariants transfer verifier tests for is a lot more intrusive:
 
-The tests cover the case where the Transfer Verifier should report when a Message Publication receipt from the 
-Token Bridge with a transfer type does not contain any deposits or transfers.
+* The Sui transfer verifier container is set up such that it can build and deploy a fresh core and token bridge to the Sui node.
+* The token bridge's `transfer_tokens` module is modified by the Sui runner script to include two unsafe functions that bypass important security checks.
+* The CI tests rely on the `worm` cli for deployment, and the `sui` cli for interacting with the node.
 
-However, the Transfer Verifier can do more than this. It also reports cases where the incoming funds to the Token
-Bridge within one receipt are less than the amount encoded in the payload that it sends to the Core Bridge. This
-is something like the transfer not being solvent at the resolution of one Ethereum Receipt.
+Similar to EVM, the errors are logged to a file and subsequently read to determine whether or not the malicious actions were detected.
 
-Adding this test would be a good improvement but requires a more complicated test pattern, perhaps combining
-multiple transactions into a single call to `cast`.
+### Scripts/Components
 
+| Script/Component | Description |
+|------------------|-------------|
+| `Dockerfile.tx-verifier-sui` | The dockerfile representing the image used for Sui transfer verifier tests |
+| `sui/tx-verifier-sui-runner.sh` | The runner script that prepares the core and token bridge, launches the transfer verifier for Sui, and initiates and monitors for malicious actions. |
+| `sui/sui_config` | The Sui client configuration, copied from the Sui devnet environment in the monorepo. This was done to avoid expanding the scope/context of the dockerfile to additional directories in the monorepo. |
+| `sui/transfer_tokens_unsafe.move` | Unsafe variations of the `prepare_transfer` and `transfer_tokens` functions in the Sui `token_bridge` package's `transfer_tokens` module. This file is used within the container to patch the token bridge prior to deployment, and allows injecting the invariants transfer verifier monitors.|

+ 0 - 32
devnet/tx-verifier/monitor.sh

@@ -1,32 +0,0 @@
-#!/bin/sh
-log_file="${ERROR_LOG_PATH:-/logs/error.log}"
-error_pattern="${ERROR_PATTERN:-ERROR}"
-poll_interval=5
-TARGET=2
-
-# Wait for log file to exist and be non-empty
-while [ ! -s "${log_file}" ]; do
-    echo "Waiting for ${log_file} to be created and contain data..."
-    sleep 5
-done
-
-echo "Monitoring file '${log_file}' for ${TARGET} total instance(s) of error pattern: '${error_pattern}'"
-
-# Poll until we find the target number of instances
-while true; do
-    current_count=$(grep -c "$error_pattern" "$log_file")
-    
-    echo "Found ${current_count} of ${TARGET} instances so far."
-    
-    if [ $current_count -eq $TARGET ]; then 
-        echo "SUCCESS: Found ${TARGET} instances of error pattern. Exiting."
-        exit 0
-    fi
-    
-    if [ $current_count -gt $TARGET ]; then 
-        echo "Wanted ${TARGET} instances of error pattern but got ${current_count}. This is probably a bug."
-        exit 1
-    fi
-    
-    sleep $poll_interval
-done

+ 8 - 0
devnet/tx-verifier/sui/sui_config/client.yaml

@@ -0,0 +1,8 @@
+keystore:
+  File: /.sui/sui_config/sui.keystore
+envs:
+  - alias: sui-devnet
+    rpc: "http://sui:9000"
+    ws: ~
+active_env: sui-devnet
+active_address: "0xed867315e3f7c83ae82e6d5858b6a6cc57c291fd84f7509646ebc8162169cf96"

+ 3 - 0
devnet/tx-verifier/sui/sui_config/sui.keystore

@@ -0,0 +1,3 @@
+[
+  "AGA20wtGcwbcNAG4nwapbQ5wIuXwkYQEWFUoSVAxctHb"
+]

+ 89 - 0
devnet/tx-verifier/sui/transfer_tokens_unsafe.move

@@ -0,0 +1,89 @@
+    use sui::tx_context::TxContext;
+    // Highly unsafe token transfer method, that accepts an `amount_to_bridge`
+    // that is actually passed to the message publication.
+    public fun prepare_transfer_unsafe<CoinType>(
+        asset_info: VerifiedAsset<CoinType>,
+        funded: Coin<CoinType>,
+        amount_to_bridge: u64,
+        recipient_chain: u16,
+        recipient: vector<u8>,
+        relayer_fee: u64,
+        nonce: u32
+    ): (
+        TransferTicket<CoinType>,
+        Coin<CoinType>
+    ) {
+        let (
+            bridged_in,
+            _
+        ) = take_truncated_amount(&asset_info, &mut funded);
+
+        let decimals = token_registry::coin_decimals(&asset_info);
+        let norm_amount = normalized_amount::from_raw(amount_to_bridge, decimals);
+
+        let ticket =
+            TransferTicket {
+                asset_info,
+                bridged_in,
+                norm_amount,
+                relayer_fee,
+                recipient_chain,
+                recipient,
+                nonce
+            };
+
+        // The remaining amount of funded may have dust depending on the
+        // decimals of this asset.
+        (ticket, funded)
+    }
+
+    public fun transfer_tokens_unsafe<CoinType>(
+        token_bridge_state: &mut State,
+        ticket: TransferTicket<CoinType>,
+        ctx: &mut TxContext
+    ): (
+        MessageTicket, 
+        Coin<CoinType>
+    ) {
+        // This capability ensures that the current build version is used.
+        let latest_only = state::assert_latest_only(token_bridge_state);
+
+        let TransferTicket {
+            asset_info,
+            bridged_in,
+            norm_amount,
+            recipient_chain,
+            recipient,
+            relayer_fee,
+            nonce
+        } = ticket;
+
+        // Ensure that the recipient is a 32-byte address.
+        let recipient = external_address::new(bytes32::from_bytes(recipient));
+
+        let token_chain = token_registry::token_chain(&asset_info);
+        let token_address = token_registry::token_address(&asset_info);
+
+        let encoded_transfer =
+            transfer::serialize(
+                transfer::new(
+                    norm_amount,
+                    token_address,
+                    token_chain,
+                    recipient,
+                    recipient_chain,
+                    normalized_amount::from_raw(
+                        relayer_fee,
+                        token_registry::coin_decimals(&asset_info)
+                    )
+                )
+            );
+
+        // Prepare Wormhole message with encoded `Transfer`.
+        (state::prepare_wormhole_message(
+            &latest_only,
+            token_bridge_state,
+            nonce,
+            encoded_transfer
+        ), coin::from_balance(bridged_in, ctx))
+    }

+ 229 - 0
devnet/tx-verifier/sui/tx-verifier-sui-runner.sh

@@ -0,0 +1,229 @@
+#!/bin/bash
+
+# Add the unsafe functions to the transfer_tokens module. Using sed, the `transfer_tokens_unsafe.move` content
+# can be added right after the module definition. Module imports seem to be hoisted, so there's no need to add
+# the unsafe code after module imports.
+sed -i '/module token_bridge::transfer_tokens/r /tmp/transfer_tokens_unsafe.move' /tmp/token_bridge/sources/transfer_tokens.move
+
+# Configurations, such as the RPC endpoint and output files for various pieces of information collected for the
+# tests to be performed.
+RPC=http://sui:9000
+SETUP_DEVNET_OUTPUT_PATH=/tmp/setup-devnet-output.txt
+EXAMPLE_COIN_TX_OUTPUT_PATH=/tmp/setup-example-coin-tx-output.txt
+
+# Deploy Sui packages to devnet node. Even though the Sui node already has a wormhole deployment, in order to
+# test Sui transfer verification it is necessary to add code that will allow forcefully triggering the invariant
+# being monitored.
+echo "[*] setting up a devnet deployment"
+cd /tmp && worm sui setup-devnet --rpc=$RPC > $SETUP_DEVNET_OUTPUT_PATH && cd ..
+
+# Get the package IDs that are produced by the `worm sui setup-devnet` command, and convert the IDs to an array.
+package_object_ids=`grep -A5 "Summary:" /tmp/setup-devnet-output.txt | grep -oE "0x[a-f0-9]{64}"`
+
+package_ids=()
+for i in $package_object_ids; do
+    package_ids+=($i)
+done
+
+# These are the package IDs and state object IDs that are relevant for interacting with the token bridge.
+core_bridge_package_id=${package_ids[0]}
+core_bridge_state=${package_ids[1]}
+token_bridge_package_id=${package_ids[2]}
+token_bridge_state=${package_ids[3]}
+token_bridge_emitter_cap=${package_ids[4]}
+
+echo " - core_bridge_package_id    = $core_bridge_package_id"
+echo " - core_bridge_state         = $core_bridge_state"
+echo " - token_bridge_package_id   = $token_bridge_package_id"
+echo " - token_bridge_state        = $token_bridge_state"
+echo " - token_bridge_emitter_cap  = $token_bridge_emitter_cap"
+
+# This is a helper function to parse out different pieces of information from the transaction block during which
+# the example coins were deployed.
+get_coin_information() {
+    local filename=$1
+    local coin_name=$2
+    local coin_info_type=$3
+    local treasury_cap_object_id=`
+        jq -r --arg COIN $coin_name --arg INFO_TYPE $coin_info_type '.objectChanges[] |
+            select(
+                .objectType != null and 
+                (.objectType | contains($INFO_TYPE)) and 
+                (.objectType | contains($COIN))
+            ) | 
+            .objectId' $filename`
+
+    echo $treasury_cap_object_id
+}
+
+# Get the transaction digest of the example coin deployment.
+coin_deployment_digest=`cat $SETUP_DEVNET_OUTPUT_PATH | grep "Deploying example coins" -A1 | grep "digest" | cut -d' ' -f3`
+# Retrieve the transaction block.
+sui client tx-block $coin_deployment_digest --json > $EXAMPLE_COIN_TX_OUTPUT_PATH
+# Read the package ID of the coin package that holds the coins.
+coin_package_id=`jq -r '.objectChanges[] | select(.type != null and .type == "published") | .packageId' $EXAMPLE_COIN_TX_OUTPUT_PATH`
+# Get the TreasuryCap and CoinMetadata object IDs
+treasury_cap_10=`get_coin_information $EXAMPLE_COIN_TX_OUTPUT_PATH COIN_10 TreasuryCap`
+coin_metadata_10=`get_coin_information $EXAMPLE_COIN_TX_OUTPUT_PATH COIN_10 CoinMetadata`
+
+# A helper function to attest a native token on the token bridge. This effectively registers a coin on Sui as a
+# native asset on the token bridge.
+attest_token() {
+    local coin_type=$1
+    local coin_metadata=$2
+    local sequence=$3
+    sui client ptb \
+        --move-call $token_bridge_package_id::attest_token::attest_token "<$coin_type>" @$token_bridge_state @$coin_metadata $sequence \
+        --assign message_ticket \
+        --split-coins gas [0] \
+        --assign empty_coin \
+        --move-call $core_bridge_package_id::publish_message::publish_message @$core_bridge_state empty_coin message_ticket @0x06 \
+        --gas-budget 10000000
+}
+
+echo "[*] adding the COIN_10 coin to the token bridge."
+res=`attest_token $coin_package_id::coin_10::COIN_10 $coin_metadata_10 1u32`
+
+# mint_and_transfer_token is a helper function that mints an `amount` of tokens to the caller, and then transfers
+# those tokens out via the token bridge. 
+# This is used for legitimate token bridge transfers.
+mint_and_transfer_token() {
+    local treasury_cap=$1
+    local coin_type=$2
+    local amount=$3
+    sui client ptb \
+        --move-call sui::tx_context::sender \
+        --assign sender \
+        --move-call sui::coin::mint "<$coin_type>" @$treasury_cap $amount \
+        --assign minted_coin \
+        --move-call $token_bridge_package_id::state::verified_asset "<$coin_type>" @$token_bridge_state \
+        --assign verified_asset \
+        --make-move-vec "<u8>" [] \
+        --assign recipient \
+        --split-coins gas [0] \
+        --assign empty_gas_coin \
+        --move-call $token_bridge_package_id::transfer_tokens::prepare_transfer "<$coin_type>" verified_asset minted_coin 1u16 recipient 0u64 1u32 \
+        --assign prepare_transfer_result \
+        --move-call $token_bridge_package_id::transfer_tokens::transfer_tokens "<$coin_type>" @$token_bridge_state prepare_transfer_result.0 \
+        --assign message_ticket \
+        --move-call $core_bridge_package_id::publish_message::publish_message @$core_bridge_state empty_gas_coin message_ticket @0x06 \
+        --transfer-objects sender [prepare_transfer_result.1] \
+        --gas-budget 10000000
+}
+
+echo "[*] mint_and_transfer 100 COIN_10 tokens"
+res=`mint_and_transfer_token $treasury_cap_10 $coin_package_id::coin_10::COIN_10 100_0000000000`
+
+# mint_and_transfer_unsafe_imbalanced is a helper function that uses the unsafe `prepare_transfer_unsafe` function
+# to send X amount of tokens to the token bridge, but request Y amount of tokens out of it.
+# This is used to trigger the invariant where less tokens are deposited into the bridge than requested out.
+mint_and_transfer_unsafe_imbalanced() {
+    local treasury_cap=$1
+    local coin_type=$2
+    local amount=$3
+    local amount_to_bridge=$4
+    sui client ptb \
+        --move-call sui::tx_context::sender \
+        --assign sender \
+        --move-call sui::coin::mint "<$coin_type>" @$treasury_cap $amount \
+        --assign minted_coin \
+        --move-call $token_bridge_package_id::state::verified_asset "<$coin_type>" @$token_bridge_state \
+        --assign verified_asset \
+        --make-move-vec "<u8>" [] \
+        --assign recipient \
+        --split-coins gas [0] \
+        --assign empty_gas_coin \
+        --move-call $token_bridge_package_id::transfer_tokens::prepare_transfer_unsafe "<$coin_type>" verified_asset minted_coin $amount_to_bridge 1u16 recipient 0u64 1u32 \
+        --assign prepare_transfer_result \
+        --move-call $token_bridge_package_id::transfer_tokens::transfer_tokens "<$coin_type>" @$token_bridge_state prepare_transfer_result.0 \
+        --assign message_ticket \
+        --move-call $core_bridge_package_id::publish_message::publish_message @$core_bridge_state empty_gas_coin message_ticket @0x06 \
+        --transfer-objects sender [prepare_transfer_result.1] \
+        --gas-budget 10000000
+}
+
+# transfer_without_deposit_unsafe is a helper function that uses the unsafe `transfer_tokens_unsafe` function to
+# transfer funds out of the bridge without actually making the deposit.
+# This is used to trigger the invariant where no tokens are deposited into the bridge, but an amount is requested out.
+transfer_without_deposit_unsafe() {
+    local treasury_cap=$1
+    local coin_type=$2
+    local amount=0
+    local amount_to_bridge=$3
+    sui client ptb \
+        --move-call sui::tx_context::sender \
+        --assign sender \
+        --move-call sui::coin::mint "<$coin_type>" @$treasury_cap $amount \
+        --assign minted_coin \
+        --move-call $token_bridge_package_id::state::verified_asset "<$coin_type>" @$token_bridge_state \
+        --assign verified_asset \
+        --make-move-vec "<u8>" [] \
+        --assign recipient \
+        --split-coins gas [0] \
+        --assign empty_gas_coin \
+        --move-call $token_bridge_package_id::transfer_tokens::prepare_transfer_unsafe "<$coin_type>" verified_asset minted_coin $amount_to_bridge 1u16 recipient 0u64 1u32 \
+        --assign prepare_transfer_result \
+        --move-call $token_bridge_package_id::transfer_tokens::transfer_tokens_unsafe "<$coin_type>" @$token_bridge_state prepare_transfer_result.0 \
+        --assign message_ticket \
+        --move-call $core_bridge_package_id::publish_message::publish_message @$core_bridge_state empty_gas_coin message_ticket.0 @0x06 \
+        --transfer-objects sender [prepare_transfer_result.1] \
+        --transfer-objects sender [message_ticket.1] \
+        --gas-budget 10000000
+}
+
+echo "[*] running testcases pre-start" # these tests are aimed at the suiProcessInitialEvents flag
+# testcase 1 - do a normal token bridge transfer
+res=`mint_and_transfer_token $treasury_cap_10 $coin_package_id::coin_10::COIN_10 100_0000000000`
+sleep 1
+
+# testcase 2 - do a token bridge transfer where the deposited amount does not cover the full bridge amount
+res=`mint_and_transfer_unsafe_imbalanced $treasury_cap_10 $coin_package_id::coin_10::COIN_10 100_0000000000 200_0000000000`
+sleep 1
+
+# testcase 3 - do a token bridge transfer where the token is not deposited at all
+resp=`transfer_without_deposit_unsafe $treasury_cap_10 $coin_package_id::coin_10::COIN_10 200_0000000000`
+sleep 1
+
+echo "[*] starting the sui transfer verifier"
+/guardiand transfer-verifier \
+    sui \
+    --suiRPC "${RPC}" \
+    --suiEnvironment=devnet \
+    --suiCoreBridgePackageId $core_bridge_package_id \
+    --suiTokenBridgeEmitter $token_bridge_emitter_cap \
+    --suiTokenBridgePackageId $token_bridge_package_id \
+    --logLevel=debug \
+    --suiProcessOnChainEvents \
+    2> /tmp/error.log &
+
+echo "[*] running testcases post-start"
+
+# testcase 1 - do a normal token bridge transfer
+res=`mint_and_transfer_token $treasury_cap_10 $coin_package_id::coin_10::COIN_10 100_0000000000`
+sleep 1
+
+# testcase 2 - do a token bridge transfer where the deposited amount does not cover the full bridge amount
+res=`mint_and_transfer_unsafe_imbalanced $treasury_cap_10 $coin_package_id::coin_10::COIN_10 100_0000000000 200_0000000000`
+sleep 1
+
+# testcase 3 - do a token bridge transfer where the token is not deposited at all
+res=`transfer_without_deposit_unsafe $treasury_cap_10 $coin_package_id::coin_10::COIN_10 200_0000000000`
+sleep 10
+
+# There should be two of each test - one for pre-start and one for post-start.
+echo "[*] verifying that tests succeeded"
+
+cat /tmp/error.log
+
+if [ $(cat /tmp/error.log | grep "bridge transfer requested for more tokens than were deposited" | wc -l) -ne 2 ]; then
+    echo " [-] amount out > amount in test failed"
+    exit 1
+fi
+
+if [ $(cat /tmp/error.log | grep "bridge transfer requested for tokens that were never deposited" | wc -l) -ne 2 ]; then
+    echo " [-] amount in == 0 test failed"
+    exit 1
+fi
+
+echo "[+] tests passed"
+touch /tmp/success

+ 16 - 0
docs/operations.md

@@ -22,6 +22,8 @@ operations.
 
 The `#rpc-server-operators` channel is especially useful for setting up Solana RPC nodes.
 
+#### Prior to version 3:
+
 Your Solana RPC node needs the following parameters enabled:
 
 ```
@@ -34,6 +36,20 @@ which is required for Wormhole to find transactions.
 
 `--enable-cpi-and-log-storage` stores metadata about CPI calls.
 
+#### Migrating version 2.x to version 3:
+
+Remove
+
+```
+--enable-cpi-and-log-storage
+```
+
+Add
+
+```
+--enable-extended-tx-metadata-storage
+```
+
 Be aware that these require extra disk space!
 
 #### Account index

+ 23 - 0
ethereum/env/.env.moca.testnet

@@ -0,0 +1,23 @@
+# forge Version: 1.3.5-stable
+# Commit SHA: 9979a41b5daa5da1572d973d7ac5a3dd2afc0221
+
+RPC_URL="https://testnet-rpc.mocachain.org/"
+FORGE_ARGS="--verify --verifier blockscout --verifier-url https://testnet-scan.mocachain.org/api/"
+CHAIN_NAME="MocaTestnet"
+
+INIT_SIGNERS=["0x13947Bd48b18E53fdAeEe77F3473391aC727C638"]
+INIT_GOV_CHAIN_ID=0x1
+INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
+INIT_CHAIN_ID=63
+INIT_EVM_CHAIN_ID=222888
+
+WORMHOLE_ADDRESS=0xaBf89de706B583424328B54dD05a8fC986750Da8
+
+# Bridge Migrations
+BRIDGE_INIT_CHAIN_ID=$INIT_CHAIN_ID
+BRIDGE_INIT_GOV_CHAIN_ID=0x1
+BRIDGE_INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
+
+# There is no WETH
+BRIDGE_INIT_WETH=0x0000000000000000000000000000000000000000
+BRIDGE_INIT_FINALITY=1

+ 25 - 0
ethereum/env/.env.monad.mainnet

@@ -0,0 +1,25 @@
+# monad mainnet env
+# forge Version: 1.3.5-stable Commit SHA: 9979a41b5daa5da1572d973d7ac5a3dd2afc0221
+
+CHAIN_NAME=monad
+
+RPC_URL=""
+FORGE_ARGS=""
+SCAN_API_URL=""
+
+INIT_SIGNERS=["0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5"]
+INIT_GOV_CHAIN_ID=0x1
+INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
+INIT_CHAIN_ID=48
+INIT_EVM_CHAIN_ID=143
+
+WORMHOLE_ADDRESS=0x194B123c5E96B9b2E49763619985790Dc241CAC0
+
+# Bridge Migrations
+BRIDGE_INIT_CHAIN_ID=48
+BRIDGE_INIT_GOV_CHAIN_ID=0x1
+BRIDGE_INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
+BRIDGE_INIT_WETH=0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A
+BRIDGE_INIT_FINALITY=1
+
+TOKEN_BRIDGE_ADDRESS=0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7

+ 11 - 10
node/cmd/ccq/http.go

@@ -190,10 +190,10 @@ outer:
 		failedQueriesByUser.WithLabelValues(permEntry.userName).Inc()
 	case res := <-pendingResponse.ch:
 		s.logger.Info("publishing response to client", zap.String("userId", permEntry.userName), zap.String("requestId", requestId))
-		resBytes, err := res.Response.Marshal()
-		if err != nil {
-			s.logger.Error("failed to marshal response", zap.String("userId", permEntry.userName), zap.String("requestId", requestId), zap.Error(err))
-			http.Error(w, err.Error(), http.StatusInternalServerError)
+		resBytes, respMarshalErr := res.Response.Marshal()
+		if respMarshalErr != nil {
+			s.logger.Error("failed to marshal response", zap.String("userId", permEntry.userName), zap.String("requestId", requestId), zap.Error(respMarshalErr))
+			http.Error(w, respMarshalErr.Error(), http.StatusInternalServerError)
 			invalidQueryRequestReceived.WithLabelValues("failed_to_marshal_response").Inc()
 			failedQueriesByUser.WithLabelValues(permEntry.userName).Inc()
 			break
@@ -205,8 +205,9 @@ outer:
 		signatures := make([]string, 0, len(res.Signatures))
 		for _, sig := range res.Signatures {
 			if sig.Index > math.MaxUint8 {
-				s.logger.Error("Signature index out of bounds", zap.Int("sig.Index", sig.Index))
-				http.Error(w, err.Error(), http.StatusInternalServerError)
+				boundsErr := "Signature index out of bounds"
+				s.logger.Error(boundsErr, zap.Int("sig.Index", sig.Index))
+				http.Error(w, boundsErr, http.StatusInternalServerError)
 				invalidQueryRequestReceived.WithLabelValues("failed_to_marshal_response").Inc()
 				failedQueriesByUser.WithLabelValues(permEntry.userName).Inc()
 				break outer
@@ -216,13 +217,13 @@ outer:
 			signatures = append(signatures, signature)
 		}
 		w.Header().Add("Content-Type", "application/json")
-		err = json.NewEncoder(w).Encode(&queryResponse{
+		encodeErr := json.NewEncoder(w).Encode(&queryResponse{
 			Signatures: signatures,
 			Bytes:      hex.EncodeToString(resBytes),
 		})
-		if err != nil {
-			s.logger.Error("failed to encode response", zap.String("userId", permEntry.userName), zap.String("requestId", requestId), zap.Error(err))
-			http.Error(w, err.Error(), http.StatusInternalServerError)
+		if encodeErr != nil {
+			s.logger.Error("failed to encode response", zap.String("userId", permEntry.userName), zap.String("requestId", requestId), zap.Error(encodeErr))
+			http.Error(w, encodeErr.Error(), http.StatusInternalServerError)
 			invalidQueryRequestReceived.WithLabelValues("failed_to_encode_response").Inc()
 			failedQueriesByUser.WithLabelValues(permEntry.userName).Inc()
 			break

+ 296 - 0
node/cmd/guardiand/adminclient.go

@@ -68,6 +68,16 @@ func init() {
 	ClientChainGovernorDropPendingVAACmd.Flags().AddFlagSet(pf)
 	ClientChainGovernorReleasePendingVAACmd.Flags().AddFlagSet(pf)
 	ClientChainGovernorResetReleaseTimerCmd.Flags().AddFlagSet(pf)
+	NotaryBlackholeDelayedMessage.Flags().AddFlagSet(pf)
+	NotaryReleaseDelayedMessage.Flags().AddFlagSet(pf)
+	NotaryRemoveBlackholedMessage.Flags().AddFlagSet(pf)
+	NotaryResetReleaseTimer.Flags().AddFlagSet(pf)
+	NotaryInjectDelayedMessage.Flags().AddFlagSet(pf)
+	NotaryInjectBlackholedMessage.Flags().AddFlagSet(pf)
+	NotaryGetDelayedMessage.Flags().AddFlagSet(pf)
+	NotaryGetBlackholedMessage.Flags().AddFlagSet(pf)
+	NotaryListDelayedMessages.Flags().AddFlagSet(pf)
+	NotaryListBlackholedMessages.Flags().AddFlagSet(pf)
 	PurgePythNetVaasCmd.Flags().AddFlagSet(pf)
 	SignExistingVaaCmd.Flags().AddFlagSet(pf)
 	SignExistingVaasFromCSVCmd.Flags().AddFlagSet(pf)
@@ -86,11 +96,24 @@ func init() {
 	AdminCmd.AddCommand(DumpRPCs)
 	AdminCmd.AddCommand(SendObservationRequest)
 	AdminCmd.AddCommand(ReobserveWithEndpoint)
+	// Chain governor commands
 	AdminCmd.AddCommand(ClientChainGovernorStatusCmd)
 	AdminCmd.AddCommand(ClientChainGovernorReloadCmd)
 	AdminCmd.AddCommand(ClientChainGovernorDropPendingVAACmd)
 	AdminCmd.AddCommand(ClientChainGovernorReleasePendingVAACmd)
 	AdminCmd.AddCommand(ClientChainGovernorResetReleaseTimerCmd)
+	// Notary commands
+	AdminCmd.AddCommand(NotaryBlackholeDelayedMessage)
+	AdminCmd.AddCommand(NotaryReleaseDelayedMessage)
+	AdminCmd.AddCommand(NotaryRemoveBlackholedMessage)
+	AdminCmd.AddCommand(NotaryResetReleaseTimer)
+	AdminCmd.AddCommand(NotaryInjectDelayedMessage)
+	AdminCmd.AddCommand(NotaryInjectBlackholedMessage)
+	AdminCmd.AddCommand(NotaryGetDelayedMessage)
+	AdminCmd.AddCommand(NotaryGetBlackholedMessage)
+	AdminCmd.AddCommand(NotaryListDelayedMessages)
+	AdminCmd.AddCommand(NotaryListBlackholedMessages)
+	// Other commands
 	AdminCmd.AddCommand(PurgePythNetVaasCmd)
 	AdminCmd.AddCommand(SignExistingVaaCmd)
 	AdminCmd.AddCommand(SignExistingVaasFromCSVCmd)
@@ -222,6 +245,78 @@ var Keccak256Hash = &cobra.Command{
 	Args:  cobra.ExactArgs(0),
 }
 
+// Notary commands
+var (
+	NotaryBlackholeDelayedMessage = &cobra.Command{
+		Use:   "notary-blackhole-delayed-message [MESSAGE_ID]",
+		Short: "Moves the specified VAA (chain/emitter/seq) from the Notary's delayed list to the blackholed list",
+		Run:   runNotaryBlackholeDelayedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+
+	NotaryReleaseDelayedMessage = &cobra.Command{
+		Use:   "notary-release-delayed-message [MESSAGE_ID]",
+		Short: "Releases the specified VAA (chain/emitter/seq) from the Notary's delayed list, publishing it immediately",
+		Run:   runNotaryReleaseDelayedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+
+	NotaryRemoveBlackholedMessage = &cobra.Command{
+		Use:   "notary-remove-blackholed-message [MESSAGE_ID]",
+		Short: "Removes the specified VAA (chain/emitter/seq) from the Notary's blackholed list and adds it to the delayed list with a delay of zero",
+		Run:   runNotaryRemoveBlackholedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+	NotaryResetReleaseTimer = &cobra.Command{
+		Use:   "notary-reset-release-timer [MESSAGE_ID] [DELAY_DAYS]",
+		Short: "Resets the release timer for a notary pending VAA to supplied number of days.",
+		Run:   runNotaryResetReleaseTimer,
+		Args:  cobra.ExactArgs(2),
+	}
+
+	NotaryInjectDelayedMessage = &cobra.Command{
+		Use:   "notary-inject-delayed-message [DELAY_DAYS]",
+		Short: "Injects a synthetic delayed message for testing (dev mode only)",
+		Run:   runNotaryInjectDelayedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+
+	NotaryInjectBlackholedMessage = &cobra.Command{
+		Use:   "notary-inject-blackholed-message",
+		Short: "Injects a synthetic blackholed message for testing (dev mode only)",
+		Run:   runNotaryInjectBlackholedMessage,
+		Args:  cobra.NoArgs,
+	}
+
+	NotaryGetDelayedMessage = &cobra.Command{
+		Use:   "notary-get-delayed-message [MESSAGE_ID]",
+		Short: "Gets details about a delayed message",
+		Run:   runNotaryGetDelayedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+
+	NotaryGetBlackholedMessage = &cobra.Command{
+		Use:   "notary-get-blackholed-message [MESSAGE_ID]",
+		Short: "Gets details about a blackholed message",
+		Run:   runNotaryGetBlackholedMessage,
+		Args:  cobra.ExactArgs(1),
+	}
+
+	NotaryListDelayedMessages = &cobra.Command{
+		Use:   "notary-list-delayed-messages",
+		Short: "Lists all delayed message IDs",
+		Run:   runNotaryListDelayedMessages,
+		Args:  cobra.NoArgs,
+	}
+
+	NotaryListBlackholedMessages = &cobra.Command{
+		Use:   "notary-list-blackholed-messages",
+		Short: "Lists all blackholed message IDs",
+		Run:   runNotaryListBlackholedMessages,
+		Args:  cobra.NoArgs,
+	}
+)
+
 func getAdminClient(ctx context.Context, addr string) (*grpc.ClientConn, nodev1.NodePrivilegedServiceClient, error) {
 	conn, err := grpc.DialContext(ctx, fmt.Sprintf("unix:///%s", addr), grpc.WithTransportCredentials(insecure.NewCredentials()))
 
@@ -839,3 +934,204 @@ func runKeccak256Hash(cmd *cobra.Command, args []string) {
 	digest := hash.Sum([]byte{})
 	fmt.Printf("%s", hex.EncodeToString(digest))
 }
+
+func runNotaryBlackholeDelayedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryBlackholeDelayedMessageRequest{
+		VaaId: args[0],
+	}
+	resp, err := c.NotaryBlackholeDelayedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryBlackholeDelayedMessage RPC: %s", err)
+	}
+
+	fmt.Println(resp.Response)
+}
+
+func runNotaryReleaseDelayedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryReleaseDelayedMessageRequest{
+		VaaId: args[0],
+	}
+	resp, err := c.NotaryReleaseDelayedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryReleaseDelayedMessage RPC: %s", err)
+	}
+
+	fmt.Println(resp.Response)
+}
+
+func runNotaryRemoveBlackholedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryRemoveBlackholedMessageRequest{
+		VaaId: args[0],
+	}
+	resp, err := c.NotaryRemoveBlackholedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryRemoveBlackholedMessage RPC: %s", err)
+	}
+
+	fmt.Println(resp.Response)
+}
+
+func runNotaryResetReleaseTimer(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	delayDays, err := strconv.ParseUint(args[1], 10, 8)
+	if err != nil {
+		log.Fatalf("invalid delay days: %v", err)
+	}
+
+	msg := nodev1.NotaryResetReleaseTimerRequest{
+		VaaId:   args[0],
+		NumDays: uint32(delayDays), // protobuf does not support uint8
+	}
+	resp, err := c.NotaryResetReleaseTimer(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryResetReleaseTimer RPC: %s", err)
+	}
+
+	fmt.Println(resp.Response)
+}
+
+func runNotaryInjectDelayedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	delayDays, err := strconv.ParseUint(args[0], 10, 32)
+	if err != nil {
+		log.Fatalf("invalid delay days: %v", err)
+	}
+
+	msg := nodev1.NotaryInjectDelayedMessageRequest{
+		DelayDays: uint32(delayDays),
+	}
+	resp, err := c.NotaryInjectDelayedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryInjectDelayedMessage RPC: %s", err)
+	}
+
+	fmt.Printf("Injected delayed message: %s\n", resp.VaaId)
+}
+
+func runNotaryInjectBlackholedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryInjectBlackholedMessageRequest{}
+	resp, err := c.NotaryInjectBlackholedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryInjectBlackholedMessage RPC: %s", err)
+	}
+
+	fmt.Printf("Injected blackholed message: %s\n", resp.VaaId)
+}
+
+func runNotaryGetDelayedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryGetDelayedMessageRequest{
+		VaaId: args[0],
+	}
+	resp, err := c.NotaryGetDelayedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryGetDelayedMessage RPC: %s", err)
+	}
+
+	fmt.Printf("Message ID: %s\nRelease Time: %s\nDetails: %s\n", resp.VaaId, resp.ReleaseTime, resp.MessageDetails)
+}
+
+func runNotaryGetBlackholedMessage(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryGetBlackholedMessageRequest{
+		VaaId: args[0],
+	}
+	resp, err := c.NotaryGetBlackholedMessage(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryGetBlackholedMessage RPC: %s", err)
+	}
+
+	fmt.Printf("Message ID: %s\nDetails: %s\n", resp.VaaId, resp.MessageDetails)
+}
+
+func runNotaryListDelayedMessages(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryListDelayedMessagesRequest{}
+	resp, err := c.NotaryListDelayedMessages(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryListDelayedMessages RPC: %s", err)
+	}
+
+	fmt.Printf("Delayed messages (%d):\n", len(resp.VaaIds))
+	for _, vaaId := range resp.VaaIds {
+		fmt.Println(vaaId)
+	}
+}
+
+func runNotaryListBlackholedMessages(cmd *cobra.Command, args []string) {
+	ctx := context.Background()
+	conn, c, err := getAdminClient(ctx, *clientSocketPath)
+	if err != nil {
+		log.Fatalf("failed to get admin client: %v", err)
+	}
+	defer conn.Close()
+
+	msg := nodev1.NotaryListBlackholedMessagesRequest{}
+	resp, err := c.NotaryListBlackholedMessages(ctx, &msg)
+	if err != nil {
+		log.Fatalf("failed to run NotaryListBlackholedMessages RPC: %s", err)
+	}
+
+	fmt.Printf("Blackholed messages (%d):\n", len(resp.VaaIds))
+	for _, vaaId := range resp.VaaIds {
+		fmt.Println(vaaId)
+	}
+}

+ 1 - 0
node/cmd/guardiand/adminnodes.go

@@ -132,6 +132,7 @@ func runListNodes(cmd *cobra.Command, args []string) {
 		{"XRPLEVM", vaa.ChainIDXRPLEVM},
 		{"Plasma", vaa.ChainIDPlasma},
 		{"CreditCoin", vaa.ChainIDCreditCoin},
+		{"Moca", vaa.ChainIDMoca},
 		// The IBC chains (4000 range) are not included here.
 		{"Sepolia", vaa.ChainIDSepolia},
 		{"ArbitrumSepolia", vaa.ChainIDArbitrumSepolia},

+ 23 - 4
node/cmd/guardiand/node.go

@@ -221,6 +221,9 @@ var (
 	creditCoinRPC      *string
 	creditCoinContract *string
 
+	mocaRPC      *string
+	mocaContract *string
+
 	sepoliaRPC      *string
 	sepoliaContract *string
 
@@ -471,6 +474,9 @@ func init() {
 	creditCoinRPC = node.RegisterFlagWithValidationOrFail(NodeCmd, "creditCoinRPC", "CREDITCOIN RPC_URL", "ws://eth-devnet:8545", []string{"ws", "wss"})
 	creditCoinContract = NodeCmd.Flags().String("creditCoinContract", "", "CreditCoin contract address")
 
+	mocaRPC = node.RegisterFlagWithValidationOrFail(NodeCmd, "MocaRPC", "Moca RPC_URL", "ws://eth-devnet:8545", []string{"ws", "wss"})
+	mocaContract = NodeCmd.Flags().String("mocaContract", "", "Moca contract address")
+
 	arbitrumSepoliaRPC = node.RegisterFlagWithValidationOrFail(NodeCmd, "arbitrumSepoliaRPC", "Arbitrum on Sepolia RPC URL", "ws://eth-devnet:8545", []string{"ws", "wss"})
 	arbitrumSepoliaContract = NodeCmd.Flags().String("arbitrumSepoliaContract", "", "Arbitrum on Sepolia contract address")
 
@@ -872,6 +878,7 @@ func runNode(cmd *cobra.Command, args []string) {
 	*xrplEvmContract = checkEvmArgs(logger, *xrplEvmRPC, *xrplEvmContract, vaa.ChainIDXRPLEVM)
 	*plasmaContract = checkEvmArgs(logger, *plasmaRPC, *plasmaContract, vaa.ChainIDPlasma)
 	*creditCoinContract = checkEvmArgs(logger, *creditCoinRPC, *creditCoinContract, vaa.ChainIDCreditCoin)
+	*mocaContract = checkEvmArgs(logger, *mocaRPC, *mocaContract, vaa.ChainIDMoca)
 
 	// These chains will only ever be testnet / devnet.
 	*sepoliaContract = checkEvmArgs(logger, *sepoliaRPC, *sepoliaContract, vaa.ChainIDSepolia)
@@ -1594,6 +1601,17 @@ func runNode(cmd *cobra.Command, args []string) {
 		watcherConfigs = append(watcherConfigs, wc)
 	}
 
+	if shouldStart(mocaRPC) {
+		wc := &evm.WatcherConfig{
+			NetworkID:        "moca",
+			ChainID:          vaa.ChainIDMoca,
+			Rpc:              *mocaRPC,
+			Contract:         *mocaContract,
+			CcqBackfillCache: *ccqBackfillCache,
+		}
+		watcherConfigs = append(watcherConfigs, wc)
+	}
+
 	if shouldStart(terraWS) {
 		if env != common.UnsafeDevNet {
 			logger.Fatal("Terra classic is only allowed in unsafe dev mode")
@@ -1685,10 +1703,11 @@ func runNode(cmd *cobra.Command, args []string) {
 
 	if shouldStart(suiRPC) {
 		wc := &sui.WatcherConfig{
-			NetworkID:        "sui",
-			ChainID:          vaa.ChainIDSui,
-			Rpc:              *suiRPC,
-			SuiMoveEventType: *suiMoveEventType,
+			NetworkID:         "sui",
+			ChainID:           vaa.ChainIDSui,
+			Rpc:               *suiRPC,
+			SuiMoveEventType:  *suiMoveEventType,
+			TxVerifierEnabled: slices.Contains(txVerifierChains, vaa.ChainIDSui),
 		}
 		watcherConfigs = append(watcherConfigs, wc)
 	}

+ 156 - 41
node/cmd/txverifier/sui.go

@@ -2,14 +2,20 @@ package txverifier
 
 import (
 	"context"
+	"encoding/hex"
+	"encoding/json"
 	"fmt"
+	"net/http"
 	"os"
 	"strconv"
 	"time"
 
+	"github.com/certusone/wormhole/node/pkg/common"
 	"github.com/certusone/wormhole/node/pkg/telemetry"
 	txverifier "github.com/certusone/wormhole/node/pkg/txverifier"
 	"github.com/certusone/wormhole/node/pkg/version"
+	"github.com/wormhole-foundation/wormhole/sdk"
+	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 
 	ipfslog "github.com/ipfs/go-log/v2"
 	"github.com/spf13/cobra"
@@ -17,16 +23,22 @@ import (
 )
 
 const (
-	INITIAL_EVENT_FETCH_LIMIT = 25
+	InitialEventFetchLimit = 25
+	EventQueryInterval     = 2 * time.Second
 )
 
 // CLI args
 var (
-	suiRPC                  *string
-	suiCoreContract         *string
+	suiRPC                       *string
+	suiProcessOnChainEvents      *bool
+	suiProcessWormholeScanEvents *bool
+	suiEnvironment               *string
+	suiDigest                    *string
+
+	// Sui package IDs and emitter addresses
+	suiCoreBridgePackageId  *string
 	suiTokenBridgeEmitter   *string
-	suiTokenBridgeContract  *string
-	suiProcessInitialEvents *bool
+	suiTokenBridgePackageId *string
 )
 
 var TransferVerifierCmdSui = &cobra.Command{
@@ -36,27 +48,52 @@ var TransferVerifierCmdSui = &cobra.Command{
 }
 
 // CLI parameters
-//
-//nolint:errcheck // The MarkFlagRequired calls will cause the script to fail on their own. No need to handle the errors manually.
 func init() {
 	suiRPC = TransferVerifierCmdSui.Flags().String("suiRPC", "", "Sui RPC url")
-	suiCoreContract = TransferVerifierCmdSui.Flags().String("suiCoreContract", "", "Sui core contract address")
-	suiTokenBridgeEmitter = TransferVerifierCmdSui.Flags().String("suiTokenBridgeEmitter", "", "Token bridge emitter on Sui")
-	suiTokenBridgeContract = TransferVerifierCmdSui.Flags().String("suiTokenBridgeContract", "", "Token bridge contract on Sui")
-	suiProcessInitialEvents = TransferVerifierCmdSui.Flags().Bool("suiProcessInitialEvents", false, "Indicate whether the Sui transfer verifier should process the initial events it fetches")
-
-	TransferVerifierCmd.MarkFlagRequired("suiRPC")
-	TransferVerifierCmd.MarkFlagRequired("suiCoreContract")
-	TransferVerifierCmd.MarkFlagRequired("suiTokenBridgeEmitter")
-	TransferVerifierCmd.MarkFlagRequired("suiTokenBridgeContract")
+	suiProcessOnChainEvents = TransferVerifierCmdSui.Flags().Bool("suiProcessOnChainEvents", false, "Indicate whether the Sui transfer verifier should process on-chain events")
+	suiProcessWormholeScanEvents = TransferVerifierCmdSui.Flags().Bool("suiProcessWormholeScanEvents", false, "Indicate whether the Sui transfer verifier should process WormholeScan events")
+	suiDigest = TransferVerifierCmdSui.Flags().String("suiDigest", "", "If provided, perform transaction verification on this single digest")
+	suiEnvironment = TransferVerifierCmdSui.Flags().String("suiEnvironment", "mainnet", "The Sui environment to connect to. Supported values: mainnet, testnet and devnet")
+
+	suiCoreBridgePackageId = TransferVerifierCmdSui.Flags().String("suiCoreBridgePackageId", "", "The Sui Core Bridge package ID. If not provided, the default for the selected environment will be used.")
+	suiTokenBridgeEmitter = TransferVerifierCmdSui.Flags().String("suiTokenBridgeEmitter", "", "The Sui Token Bridge emitter address. If not provided, the default for the selected environment will be used.")
+	suiTokenBridgePackageId = TransferVerifierCmdSui.Flags().String("suiTokenBridgePackageId", "", "The Sui Token Bridge package ID. If not provided, the default for the selected environment will be used.")
+}
+
+func setIfEmpty(param *string, value string) {
+	if *param == "" {
+		*param = value
+	}
+}
+
+// Analyse the commandline arguments and prepare the net effect of package and object IDs
+func resolveSuiConfiguration() {
+
+	// Set the package IDs and emitter address based on the environment, if they are not provided
+	// as CLI args.
+	switch *suiEnvironment {
+	case "mainnet":
+		setIfEmpty(suiCoreBridgePackageId, "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a")
+		setIfEmpty(suiTokenBridgePackageId, txverifier.SuiOriginalTokenBridgePackageIds[common.MainNet])
+		setIfEmpty(suiTokenBridgeEmitter, "0x"+hex.EncodeToString(sdk.KnownTokenbridgeEmitters[vaa.ChainIDSui]))
+	case "testnet":
+		setIfEmpty(suiCoreBridgePackageId, "0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94")
+		setIfEmpty(suiTokenBridgePackageId, txverifier.SuiOriginalTokenBridgePackageIds[common.TestNet])
+		setIfEmpty(suiTokenBridgeEmitter, "0x"+hex.EncodeToString(sdk.KnownTestnetTokenbridgeEmitters[vaa.ChainIDSui]))
+	case "devnet":
+		setIfEmpty(suiCoreBridgePackageId, "0x320a40bff834b5ffa12d7f5cc2220dd733dd9e8e91c425800203d06fb2b1fee8")
+		setIfEmpty(suiTokenBridgePackageId, txverifier.SuiOriginalTokenBridgePackageIds[common.UnsafeDevNet])
+		setIfEmpty(suiTokenBridgeEmitter, "0x"+hex.EncodeToString(sdk.KnownDevnetTokenbridgeEmitters[vaa.ChainIDSui]))
+	}
 }
 
 func runTransferVerifierSui(cmd *cobra.Command, args []string) {
+	resolveSuiConfiguration()
+
 	ctx := context.Background()
 
 	// Setup logging
-	// lvl, err := ipfslog.LevelFromString(*logLevel)
-	lvl, err := ipfslog.LevelFromString("info")
+	lvl, err := ipfslog.LevelFromString(*logLevel)
 	if err != nil {
 		fmt.Println("Invalid log level")
 		os.Exit(1)
@@ -69,8 +106,6 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
 	// Setup logging to Loki if configured
 	if *telemetryLokiUrl != "" && *telemetryNodeName != "" {
 		labels := map[string]string{
-			// Is this required?
-			// "network":   *p2pNetworkID,
 			"node_name": *telemetryNodeName,
 			"version":   version.Version(),
 		}
@@ -92,32 +127,62 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
 		logger = tm.WrapLogger(logger) // Wrap logger with telemetry logger
 	}
 
-	logger.Info("Starting Sui transfer verifier")
-	logger.Debug("Sui rpc connection", zap.String("url", *suiRPC))
-	logger.Debug("Sui core contract", zap.String("address", *suiCoreContract))
-	logger.Debug("Sui token bridge contract", zap.String("address", *suiTokenBridgeContract))
-	logger.Debug("token bridge event emitter", zap.String("object id", *suiTokenBridgeEmitter))
-	logger.Debug("process initial events", zap.Bool("processInitialEvents", *suiProcessInitialEvents))
-
 	// Verify CLI parameters
-	if *suiRPC == "" || *suiCoreContract == "" || *suiTokenBridgeEmitter == "" || *suiTokenBridgeContract == "" {
+	if *suiRPC == "" || *suiCoreBridgePackageId == "" || *suiTokenBridgeEmitter == "" || *suiTokenBridgePackageId == "" {
 		logger.Fatal("One or more CLI parameters are empty",
 			zap.String("suiRPC", *suiRPC),
-			zap.String("suiCoreContract", *suiCoreContract),
+			zap.String("suiCoreBridgePackageId", *suiCoreBridgePackageId),
 			zap.String("suiTokenBridgeEmitter", *suiTokenBridgeEmitter),
-			zap.String("suiTokenBridgeContract", *suiTokenBridgeContract))
+			zap.String("suiTokenBridgePackageId", *suiTokenBridgePackageId))
 	}
 
+	logger.Info("Starting Sui transfer verifier")
+	logger.Debug("Sui rpc connection", zap.String("url", *suiRPC))
+	logger.Debug("Sui core bridge package ID", zap.String("packageId", *suiCoreBridgePackageId))
+	logger.Debug("Sui token bridge package ID", zap.String("packageId", *suiTokenBridgePackageId))
+	logger.Debug("Sui token bridge emitter", zap.String("address", *suiTokenBridgeEmitter))
+	logger.Debug("process on-chain events", zap.Bool("processOnChainEvents", *suiProcessOnChainEvents))
+	logger.Debug("process WormholeScan events", zap.Bool("processWormholeScanEvents", *suiProcessWormholeScanEvents))
+
+	suiApiConnection := txverifier.NewSuiApiConnection(*suiRPC)
+
 	// Create a new SuiTransferVerifier
-	suiTransferVerifier := txverifier.NewSuiTransferVerifier(*suiCoreContract, *suiTokenBridgeEmitter, *suiTokenBridgeContract)
+	suiTransferVerifier := txverifier.NewSuiTransferVerifier(*suiCoreBridgePackageId, *suiTokenBridgeEmitter, *suiTokenBridgePackageId, suiApiConnection)
+
+	// Process a single digest and exit
+	if *suiDigest != "" {
+		logger.Info("Processing single digest", zap.String("txDigeset", *suiDigest))
+		valid, err := suiTransferVerifier.ProcessDigest(ctx, *suiDigest, "", logger)
+
+		if err != nil {
+			logger.Error("Error validating the digest", zap.Error(err))
+		}
+
+		logger.Info("Validation completed", zap.Bool("valid", valid))
+
+		return
+	}
+
+	if *suiProcessWormholeScanEvents {
+		digests, err := pullDigestsFromWormholeScan(ctx, logger)
+		if err != nil {
+			logger.Fatal("Error pulling digests from WormholeScan", zap.Error(err))
+		}
+		// TODO: check the result of each digest against an expected outcome. Some digests
+		// link to token attestations, which the transfer verifier doesn't handle.
+		for _, digest := range digests {
+			_, err := suiTransferVerifier.ProcessDigest(ctx, digest, "", logger)
+			if err != nil {
+				logger.Error(err.Error())
+			}
+		}
+	}
 
 	// Get the event filter
 	eventFilter := suiTransferVerifier.GetEventFilter()
 
-	suiApiConnection := txverifier.NewSuiApiConnection(*suiRPC)
-
 	// Initial event fetching
-	resp, err := suiApiConnection.QueryEvents(eventFilter, "null", INITIAL_EVENT_FETCH_LIMIT, true)
+	resp, err := suiApiConnection.QueryEvents(ctx, eventFilter, "null", InitialEventFetchLimit, true)
 	if err != nil {
 		logger.Fatal("Error in querying initial events", zap.Error(err))
 	}
@@ -142,20 +207,21 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
 
 	// If specified, process the initial events. This is useful for running a number of digests
 	// through the verifier before starting live processing.
-	if *suiProcessInitialEvents {
-		logger.Info("Processing initial events")
+	if *suiProcessOnChainEvents {
+		logger.Info("Processing on-chain events")
 		for _, event := range initialEvents {
 			if event.ID.TxDigest != nil {
-				_, err = suiTransferVerifier.ProcessDigest(*event.ID.TxDigest, suiApiConnection, logger)
+				_, err = suiTransferVerifier.ProcessDigest(ctx, *event.ID.TxDigest, "", logger)
 				if err != nil {
 					logger.Error(err.Error())
 				}
 			}
 		}
+		logger.Info("Finished processing initial events")
 	}
 
 	// Ticker for live processing
-	ticker := time.NewTicker(5 * time.Second)
+	ticker := time.NewTicker(EventQueryInterval)
 	defer ticker.Stop()
 
 	for {
@@ -164,7 +230,7 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
 			logger.Info("Context cancelled")
 		case <-ticker.C:
 			// Fetch new events
-			resp, err := suiApiConnection.QueryEvents(eventFilter, "null", 25, true)
+			resp, err := suiApiConnection.QueryEvents(ctx, eventFilter, "null", InitialEventFetchLimit, true)
 			if err != nil {
 				logger.Error("Error in querying new events", zap.Error(err))
 				continue
@@ -195,14 +261,63 @@ func runTransferVerifierSui(cmd *cobra.Command, args []string) {
 			}
 
 			for _, txDigest := range txDigests {
-				_, err := suiTransferVerifier.ProcessDigest(txDigest, suiApiConnection, logger)
+				_, err := suiTransferVerifier.ProcessDigest(ctx, txDigest, "", logger)
 				if err != nil {
 					logger.Error(err.Error())
 				}
+				logger.Info("Processed new event", zap.String("txDigest", txDigest))
 			}
 
-			logger.Info("New events processed", zap.Int("latestTimestamp", latestTimestamp), zap.Int("txDigestCount", len(txDigests)))
+			if len(txDigests) > 0 {
+				logger.Info("New events processed", zap.Int("latestTimestamp", latestTimestamp), zap.Int("txDigestCount", len(txDigests)))
+			}
 
 		}
 	}
 }
+
+type WormholeScanResponse struct {
+	Operation []struct {
+		SourceChain struct {
+			Transaction struct {
+				TxHash string `json:"txHash"`
+			} `json:"transaction"`
+		} `json:"sourceChain"`
+	} `json:"operations"`
+}
+
+// Pulls a bunch of transaction digests from Wormholescan to run through the transfer verifier.
+// https://api.wormholescan.io/api/v1/operations?sourceChain=21&appId=PORTAL_TOKEN_BRIDGE
+func pullDigestsFromWormholeScan(ctx context.Context, logger *zap.Logger) ([]string, error) {
+
+	req, err := http.NewRequestWithContext(ctx, "GET", "https://api.wormholescan.io/api/v1/operations?sourceChain=21&appId=PORTAL_TOKEN_BRIDGE", nil)
+
+	if err != nil {
+		return nil, err
+	}
+
+	req.Header.Set("Accept", "application/json")
+	resp, err := http.DefaultClient.Do(req)
+
+	if err != nil {
+		return nil, err
+	}
+
+	defer resp.Body.Close()
+
+	body, _ := common.SafeRead(resp.Body)
+
+	var wsResp WormholeScanResponse
+	err = json.Unmarshal(body, &wsResp)
+	if err != nil {
+		return nil, err
+	}
+
+	digests := make([]string, 0, len(wsResp.Operation))
+	for _, operation := range wsResp.Operation {
+		digests = append(digests, operation.SourceChain.Transaction.TxHash)
+	}
+
+	logger.Info("Pulled digests from WormholeScan", zap.Int("count", len(digests)))
+	return digests, nil
+}

+ 183 - 1
node/pkg/adminrpc/adminserver.go

@@ -27,6 +27,7 @@ import (
 
 	guardianDB "github.com/certusone/wormhole/node/pkg/db"
 	"github.com/certusone/wormhole/node/pkg/governor"
+	"github.com/certusone/wormhole/node/pkg/notary"
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"
 	ethcommon "github.com/ethereum/go-ethereum/common"
 	"github.com/mr-tron/base58"
@@ -44,6 +45,11 @@ import (
 const maxResetReleaseTimerDays = 30
 const ecdsaSignatureLength = 65
 
+var (
+	ErrNotaryNotEnabled = errors.New("notary is not enabled")
+	ErrInvalidMsgID     = errors.New("the message ID must be specified as \"chainId/emitterAddress/seqNum\"")
+)
+
 var (
 	vaaInjectionsTotal = promauto.NewCounter(
 		prometheus.CounterOpts{
@@ -60,6 +66,7 @@ type nodePrivilegedService struct {
 	logger          *zap.Logger
 	signedInC       chan<- *gossipv1.SignedVAAWithQuorum
 	governor        *governor.ChainGovernor
+	notary          *notary.Notary
 	evmConnector    connectors.Connector
 	gsCache         sync.Map
 	guardianSigner  guardiansigner.GuardianSigner
@@ -75,6 +82,7 @@ func NewPrivService(
 	logger *zap.Logger,
 	signedInC chan<- *gossipv1.SignedVAAWithQuorum,
 	gov *governor.ChainGovernor,
+	notary *notary.Notary,
 	evmConnector connectors.Connector,
 	guardianSigner guardiansigner.GuardianSigner,
 	guardianAddress ethcommon.Address,
@@ -89,6 +97,7 @@ func NewPrivService(
 		logger:          logger,
 		signedInC:       signedInC,
 		governor:        gov,
+		notary:          notary,
 		evmConnector:    evmConnector,
 		guardianSigner:  guardianSigner,
 		guardianAddress: guardianAddress,
@@ -1025,6 +1034,8 @@ func (s *nodePrivilegedService) ReobserveWithEndpoint(ctx context.Context, req *
 	return &nodev1.ReobserveWithEndpointResponse{NumObservations: numObservations}, nil
 }
 
+// Governor commands
+
 func (s *nodePrivilegedService) ChainGovernorStatus(ctx context.Context, req *nodev1.ChainGovernorStatusRequest) (*nodev1.ChainGovernorStatusResponse, error) {
 	if s.governor == nil {
 		return nil, fmt.Errorf("chain governor is not enabled")
@@ -1111,6 +1122,177 @@ func (s *nodePrivilegedService) ChainGovernorResetReleaseTimer(_ context.Context
 	}, nil
 }
 
+// Notary commands
+
+// NotaryBlackholeDelayedMessage blacklists a message from the Notary. It succeeds only if the message is found in the Notary's delayed list.
+func (s *nodePrivilegedService) NotaryBlackholeDelayedMessage(ctx context.Context, req *nodev1.NotaryBlackholeDelayedMessageRequest) (*nodev1.NotaryBlackholeDelayedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	err := s.notary.BlackholeDelayedMsg(req.VaaId)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryBlackholeDelayedMessageResponse{
+		VaaId:    req.VaaId,
+		Response: "Blackholed message",
+	}, nil
+}
+
+// NotaryReleaseDelayedMessage removes a message from the delayed list and publishes it immediately.
+func (s *nodePrivilegedService) NotaryReleaseDelayedMessage(ctx context.Context, req *nodev1.NotaryReleaseDelayedMessageRequest) (*nodev1.NotaryReleaseDelayedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	err := s.notary.ReleaseDelayedMsg(req.VaaId)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryReleaseDelayedMessageResponse{
+		VaaId:    req.VaaId,
+		Response: "Released message",
+	}, nil
+}
+
+// NotaryRemoveBlackholedMessage removes a message from the blackholed list and adds it to the delayed list with a delay of zero,
+// so that it will be published on the next cycle.
+func (s *nodePrivilegedService) NotaryRemoveBlackholedMessage(ctx context.Context, req *nodev1.NotaryRemoveBlackholedMessageRequest) (*nodev1.NotaryRemoveBlackholedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	err := s.notary.RemoveBlackholedMsg(req.VaaId)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryRemoveBlackholedMessageResponse{
+		VaaId:    req.VaaId,
+		Response: "Removed message",
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryResetReleaseTimer(ctx context.Context, req *nodev1.NotaryResetReleaseTimerRequest) (*nodev1.NotaryResetReleaseTimerResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	if req.NumDays > maxResetReleaseTimerDays {
+		return nil, fmt.Errorf("delay days exceeds maximum of %d", maxResetReleaseTimerDays)
+	}
+
+	err := s.notary.ResetReleaseTimer(req.VaaId, uint8(req.NumDays))
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryResetReleaseTimerResponse{
+		VaaId:    req.VaaId,
+		Response: fmt.Sprintf("Reset release timer to %d days", req.NumDays),
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryInjectDelayedMessage(ctx context.Context, req *nodev1.NotaryInjectDelayedMessageRequest) (*nodev1.NotaryInjectDelayedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	msgID, err := s.notary.InjectDelayedMessage(req.DelayDays)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryInjectDelayedMessageResponse{
+		VaaId:    msgID,
+		Response: "Injected delayed message",
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryInjectBlackholedMessage(ctx context.Context, req *nodev1.NotaryInjectBlackholedMessageRequest) (*nodev1.NotaryInjectBlackholedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	msgID, err := s.notary.InjectBlackholedMessage()
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryInjectBlackholedMessageResponse{
+		VaaId:    msgID,
+		Response: "Injected blackholed message",
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryGetDelayedMessage(ctx context.Context, req *nodev1.NotaryGetDelayedMessageRequest) (*nodev1.NotaryGetDelayedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	pendingMsg, err := s.notary.GetDelayedMessage(req.VaaId)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryGetDelayedMessageResponse{
+		VaaId:          req.VaaId,
+		ReleaseTime:    pendingMsg.ReleaseTime.String(),
+		MessageDetails: pendingMsg.Msg.MessageIDString(),
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryGetBlackholedMessage(ctx context.Context, req *nodev1.NotaryGetBlackholedMessageRequest) (*nodev1.NotaryGetBlackholedMessageResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	msgPub, err := s.notary.GetBlackholedMessage(req.VaaId)
+	if err != nil {
+		return nil, err
+	}
+
+	return &nodev1.NotaryGetBlackholedMessageResponse{
+		VaaId:          req.VaaId,
+		MessageDetails: msgPub.MessageIDString(),
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryListDelayedMessages(ctx context.Context, req *nodev1.NotaryListDelayedMessagesRequest) (*nodev1.NotaryListDelayedMessagesResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	msgIDs, err := s.notary.ListDelayedMessages()
+	if err != nil {
+		return nil, fmt.Errorf("failed to list delayed messages: %w", err)
+	}
+
+	return &nodev1.NotaryListDelayedMessagesResponse{
+		VaaIds: msgIDs,
+	}, nil
+}
+
+func (s *nodePrivilegedService) NotaryListBlackholedMessages(ctx context.Context, req *nodev1.NotaryListBlackholedMessagesRequest) (*nodev1.NotaryListBlackholedMessagesResponse, error) {
+	if s.notary == nil {
+		return nil, ErrNotaryNotEnabled
+	}
+
+	msgIDs, err := s.notary.ListBlackholedMessages()
+	if err != nil {
+		return nil, fmt.Errorf("failed to list blackholed messages: %w", err)
+	}
+
+	return &nodev1.NotaryListBlackholedMessagesResponse{
+		VaaIds: msgIDs,
+	}, nil
+}
+
+// Miscellaneous commands
+
 func (s *nodePrivilegedService) PurgePythNetVaas(ctx context.Context, req *nodev1.PurgePythNetVaasRequest) (*nodev1.PurgePythNetVaasResponse, error) {
 	prefix := guardianDB.VAAID{EmitterChain: vaa.ChainIDPythNet}
 	oldestTime := time.Now().Add(-time.Hour * 24 * time.Duration(req.DaysOld)) // #nosec G115 -- This conversion is safe indefinitely
@@ -1234,7 +1416,7 @@ func (s *nodePrivilegedService) SignExistingVAA(ctx context.Context, req *nodev1
 	signature := [ecdsaSignatureLength]byte{}
 	copy(signature[:], sig)
 
-	newVAA.Signatures = append(v.Signatures, &vaa.Signature{
+	newVAA.Signatures = append(newVAA.Signatures, &vaa.Signature{
 		Index:     uint8(localGuardianIndex), // #nosec G115 -- The length of newGS is constrained to a uint8 above
 		Signature: signature,
 	})

+ 18 - 0
node/pkg/adminrpc/adminserver_test.go

@@ -294,6 +294,24 @@ func TestSignExistingVAA_Valid(t *testing.T) {
 	require.Equal(t, v2, res.Vaa)
 }
 
+func TestSignExistingVAA_ValidMutatedSet(t *testing.T) {
+	signers, gsAddrs := generateGuardianSigners(5)
+	s := setupAdminServerForVAASigning(0, gsAddrs)
+
+	v := generateMockVAA(0, signers, t)
+
+	gsAddrs = append(gsAddrs[1:], s.guardianAddress) // We lose the first Guardian so the index changes for every Guardian
+	res, err := s.SignExistingVAA(context.Background(), &nodev1.SignExistingVAARequest{
+		Vaa:                 v,
+		NewGuardianAddrs:    addrsToHexStrings(gsAddrs),
+		NewGuardianSetIndex: 1,
+	})
+
+	require.NoError(t, err)
+	v2 := generateMockVAA(1, append(signers[1:], s.guardianSigner), t)
+	require.Equal(t, v2, res.Vaa)
+}
+
 const govGuardianSetIndex = uint32(4)
 
 var govTimestamp = time.Now()

+ 2 - 2
node/pkg/common/chain_id_test.go

@@ -102,8 +102,8 @@ func parseProtoFile() ([]ProtoEntry, error) {
 	// This traverses the parsed Go code looking for constant declarations
 	// that have the type "ChainID"
 	ast.Inspect(node, func(n ast.Node) bool {
-		switch x := n.(type) {
-		case *ast.GenDecl:
+		x, ok := n.(*ast.GenDecl)
+		if ok {
 			if x.Tok == token.CONST {
 				for _, spec := range x.Specs {
 					if vspec, ok := spec.(*ast.ValueSpec); ok {

+ 22 - 8
node/pkg/common/chainlock.go

@@ -70,12 +70,22 @@ func (e ErrUnexpectedEndOfRead) Error() string {
 
 // ErrInputSize is returned when the input size is not the expected size during marshaling.
 type ErrInputSize struct {
-	Msg string
-	Got int
+	Msg  string
+	Got  int
+	Want int
 }
 
 func (e ErrInputSize) Error() string {
-	return fmt.Sprintf("wrong size: %s. expected >= %d bytes, got %d", e.Msg, marshaledMsgLenMin, e.Got)
+	if e.Got != 0 && e.Want != 0 {
+		return fmt.Sprintf("wrong size: %s. expected %d bytes, got %d", e.Msg, e.Want, e.Got)
+	}
+
+	if e.Got != 0 {
+		return fmt.Sprintf("wrong size: %s, got %d", e.Msg, e.Got)
+	}
+
+	return fmt.Sprintf("wrong size: %s", e.Msg)
+
 }
 
 // MaxSafeInputSize defines the maximum safe size for untrusted input from `io` Readers.
@@ -264,11 +274,11 @@ func (msg *MessagePublication) MarshalBinary() ([]byte, error) {
 	// Check preconditions
 	txIDLen := len(msg.TxID)
 	if txIDLen > TxIDSizeMax {
-		return nil, ErrInputSize{Msg: "TxID too long"}
+		return nil, ErrInputSize{Msg: "TxID too long", Want: TxIDSizeMax, Got: txIDLen}
 	}
 
 	if txIDLen < TxIDLenMin {
-		return nil, ErrInputSize{Msg: "TxID too short"}
+		return nil, ErrInputSize{Msg: "TxID too short", Want: TxIDLenMin, Got: txIDLen}
 	}
 
 	payloadLen := len(msg.Payload)
@@ -425,7 +435,7 @@ func (m *MessagePublication) UnmarshalBinary(data []byte) error {
 	// Calculate minimum required length for the fixed portion
 	// (excluding variable-length fields: TxID and Payload)
 	if len(data) < marshaledMsgLenMin {
-		return ErrInputSize{Msg: "data too short", Got: len(data)}
+		return ErrInputSize{Msg: "data too short", Got: len(data), Want: marshaledMsgLenMin}
 	}
 
 	mp := &MessagePublication{}
@@ -440,8 +450,12 @@ func (m *MessagePublication) UnmarshalBinary(data []byte) error {
 
 	// Bounds checks. TxID length should be at least TxIDLenMin, but not larger than the length of the data.
 	// The second check is to avoid panics.
-	if int(txIDLen) < TxIDLenMin || int(txIDLen) > len(data) {
-		return ErrInputSize{Msg: "TxID length is invalid"}
+	if int(txIDLen) < TxIDLenMin {
+		return ErrInputSize{Msg: "TxID length is too short", Got: int(txIDLen), Want: TxIDLenMin}
+	}
+
+	if int(txIDLen) > len(data) {
+		return ErrInputSize{Msg: "TxID length is longer than bytes", Got: int(txIDLen)}
 	}
 
 	// Read TxID

+ 35 - 27
node/pkg/common/pendingmessage.go

@@ -33,19 +33,16 @@ func (p PendingMessage) Compare(other PendingMessage) int {
 
 // MarshalBinary implements BinaryMarshaler for [PendingMessage].
 func (p *PendingMessage) MarshalBinary() ([]byte, error) {
-	buf := new(bytes.Buffer)
-
-	// Compare with [PendingTransfer.Marshal].
-	// #nosec G115  -- int64 and uint64 have the same number of bytes, and Unix time won't be negative.
-	vaa.MustWrite(buf, binary.BigEndian, uint64(p.ReleaseTime.Unix()))
-
-	bz, err := p.Msg.MarshalBinary()
+	msgPubBz, err := p.Msg.MarshalBinary()
 	if err != nil {
 		return nil, fmt.Errorf("marshal pending message: %w", err)
 	}
 
-	vaa.MustWrite(buf, binary.BigEndian, bz)
-
+	buf := new(bytes.Buffer)
+	// Compare with [PendingTransfer.Marshal].
+	// #nosec G115  -- int64 and uint64 have the same number of bytes, and Unix time won't be negative.
+	vaa.MustWrite(buf, binary.BigEndian, uint64(p.ReleaseTime.Unix()))
+	buf.Write(msgPubBz)
 	return buf.Bytes(), nil
 }
 
@@ -53,7 +50,7 @@ func (p *PendingMessage) MarshalBinary() ([]byte, error) {
 func (p *PendingMessage) UnmarshalBinary(data []byte) error {
 
 	if len(data) < marshaledPendingMsgLenMin {
-		return ErrInputSize{Msg: "pending message too short"}
+		return ErrInputSize{Msg: "pending message too short", Want: marshaledPendingMsgLenMin, Got: len(data)}
 	}
 
 	// Compare with [UnmarshalPendingTransfer].
@@ -140,17 +137,23 @@ func NewPendingMessageQueue() *PendingMessageQueue {
 	return q
 }
 
-// Push adds an element to the heap. If msg is nil, nothing is added.
+// Push adds an element to the heap. If the pending message's message ID is invalid, or if it already exists in the queue, nothing is added.
 func (q *PendingMessageQueue) Push(pMsg *PendingMessage) {
 	// noop if the message is nil or already in the queue.
-	if pMsg == nil || q.ContainsMessagePublication(&pMsg.Msg) {
+	if pMsg == nil {
 		return
 	}
+	if len(pMsg.Msg.MessageID()) < MinMsgIdLen {
+		return
+	}
+	// FetchMessagePublication acquires and releases a read lock, so we don't need to write lock
+	// until we're inside the if statement.
+	if q.FetchMessagePublication(pMsg.Msg.MessageID()) == nil {
+		q.mu.Lock()
+		heap.Push(&q.heap, pMsg)
+		defer q.mu.Unlock()
+	}
 
-	q.mu.Lock()
-	defer q.mu.Unlock()
-
-	heap.Push(&q.heap, pMsg)
 }
 
 // Pop removes the last element from the heap and returns its value.
@@ -185,10 +188,10 @@ func (q *PendingMessageQueue) Peek() *PendingMessage {
 	return &last
 }
 
-// RemoveItem removes target MessagePublication from the heap. Returns the element that was removed or nil
+// RemoveItem removes target MessagePublication with the message ID from the heap. Returns the element that was removed or nil
 // if the item was not found. No error is returned if the item was not found.
-func (q *PendingMessageQueue) RemoveItem(target *MessagePublication) (*PendingMessage, error) {
-	if target == nil {
+func (q *PendingMessageQueue) RemoveItem(msgID []byte) (*PendingMessage, error) {
+	if msgID == nil {
 		return nil, errors.New("pendingmessage: nil argument for RemoveItem")
 	}
 
@@ -198,7 +201,7 @@ func (q *PendingMessageQueue) RemoveItem(target *MessagePublication) (*PendingMe
 	var removed *PendingMessage
 	for i, item := range q.heap {
 		// Assumption: MsgIDs are unique across MessagePublications.
-		if bytes.Equal(item.Msg.MessageID(), target.MessageID()) {
+		if bytes.Equal(item.Msg.MessageID(), msgID) {
 			pMsg, ok := heap.Remove(&q.heap, i).(*PendingMessage)
 			if !ok {
 				return nil, errors.New("pendingmessage: item removed from heap is not PendingMessage")
@@ -223,17 +226,22 @@ func (q *PendingMessageQueue) Contains(pMsg *PendingMessage) bool {
 	return slices.Contains(q.heap, pMsg)
 }
 
-// ContainsMessagePublication determines whether the queue contains a [MessagePublication] (not a [PendingMessage]).
-func (q *PendingMessageQueue) ContainsMessagePublication(msgPub *MessagePublication) bool {
-	if msgPub == nil {
-		return false
+// FetchMessagePublication returns a [MessagePublication] with the given ID if it exists in the queue, and nil
+// otherwise.
+func (q *PendingMessageQueue) FetchMessagePublication(msgID []byte) (msgPub *MessagePublication) {
+	if len(msgID) == 0 {
+		return nil
 	}
 
 	q.mu.RLock()
 	defer q.mu.RUnlock()
 
 	// Relies on MessageIDString to be unique.
-	return slices.ContainsFunc(q.heap, func(pMsg *PendingMessage) bool {
-		return bytes.Equal(pMsg.Msg.MessageID(), msgPub.MessageID())
-	})
+	for _, pMsg := range q.heap {
+		if bytes.Equal(pMsg.Msg.MessageID(), msgID) {
+			return &pMsg.Msg
+		}
+	}
+
+	return nil
 }

+ 36 - 12
node/pkg/common/pendingmessage_test.go

@@ -3,8 +3,6 @@ package common_test
 import (
 	"bytes"
 	"encoding/binary"
-	"errors"
-	"fmt"
 	"math"
 	"math/big"
 	"math/rand/v2"
@@ -19,6 +17,33 @@ import (
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 )
 
+func TestPendingMessageQueue_Push(t *testing.T) {
+	tests := []struct { // description of this test case
+		name string
+		msg  *common.PendingMessage
+	}{
+		{
+			"single message",
+			makeUniquePendingMessage(t),
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			// Set-up
+			q := common.NewPendingMessageQueue()
+
+			require.Equal(t, 0, q.Len())
+			require.Nil(t, q.Peek())
+
+			q.Push(tt.msg)
+
+			require.Equal(t, 1, q.Len())
+			// Ensure the first message is at the top of the queue
+			require.Equal(t, tt.msg, q.Peek())
+		})
+	}
+}
+
 func TestPendingMessage_RoundTripMarshal(t *testing.T) {
 	orig := makeUniquePendingMessage(t)
 	var loaded common.PendingMessage
@@ -35,9 +60,9 @@ func TestPendingMessage_RoundTripMarshal(t *testing.T) {
 func TestPendingMessage_MarshalError(t *testing.T) {
 
 	type test struct {
-		label string
-		input common.MessagePublication
-		err   error
+		label  string
+		input  common.MessagePublication
+		errMsg string
 	}
 
 	// Set up.
@@ -55,7 +80,7 @@ func TestPendingMessage_MarshalError(t *testing.T) {
 			input: common.MessagePublication{
 				TxID: longTxID.Bytes(),
 			},
-			err: common.ErrInputSize{Msg: "TxID too long"},
+			errMsg: "wrong size: TxID too long",
 		},
 		{
 			label: "txID too short",
@@ -71,7 +96,7 @@ func TestPendingMessage_MarshalError(t *testing.T) {
 				Unreliable:       true,
 				IsReobservation:  true,
 			},
-			err: common.ErrInputSize{Msg: "TxID too short"},
+			errMsg: "wrong size: TxID too short",
 		},
 	}
 
@@ -83,8 +108,7 @@ func TestPendingMessage_MarshalError(t *testing.T) {
 			}
 
 			bz, writeErr := pMsg.MarshalBinary()
-			require.Error(t, writeErr)
-			require.True(t, errors.Is(writeErr, tc.err), fmt.Sprintf("got wrong error type: %v", writeErr))
+			require.ErrorContains(t, writeErr, tc.errMsg)
 			require.Nil(t, bz)
 		})
 	}
@@ -105,7 +129,7 @@ func TestPendingMessageQueue_NoDuplicates(t *testing.T) {
 	msg2.ReleaseTime = msg1.ReleaseTime.Add(time.Hour)
 	require.True(t, msg1.ReleaseTime.Before(msg2.ReleaseTime))
 
-	// Pushing the same message twice should not add it to the queue.
+	// Pushing two messages with the same Message ID should not add a duplicate.
 	q.Push(&msg2)
 	require.Equal(t, 1, q.Len())
 }
@@ -171,7 +195,7 @@ func TestPendingMessage_HeapInvariants(t *testing.T) {
 			}
 			require.Equal(t, len(tt.order), q.Len())
 
-			removed, err := q.RemoveItem(&msg2.Msg)
+			removed, err := q.RemoveItem(msg2.Msg.MessageID())
 			require.NoError(t, err)
 			require.NotNil(t, removed)
 			require.Equal(t, &msg2, removed, "removed message does not match expected message")
@@ -240,7 +264,7 @@ func TestPendingMessageQueue_RemoveItem(t *testing.T) {
 
 			q.Push(&common.PendingMessage{Msg: msgInQueue})
 
-			got, gotErr := q.RemoveItem(tt.target)
+			got, gotErr := q.RemoveItem(tt.target.MessageID())
 			require.NoError(t, gotErr)
 
 			if tt.want != nil {

+ 1 - 0
node/pkg/common/scissors_test.go

@@ -24,6 +24,7 @@ func getCounterValue(metric *prometheus.CounterVec, runnableName string) float64
 
 func throwNil(ctx context.Context) error {
 	var x *int = nil
+	//nolint:govet // This test function is specifically checking for nil errors, so being flagged for `nilness` is expected
 	*x = 5
 	return nil
 }

+ 77 - 15
node/pkg/db/notary.go

@@ -3,6 +3,7 @@
 package db
 
 import (
+	"bytes"
 	"errors"
 	"fmt"
 	"strings"
@@ -15,8 +16,8 @@ import (
 type NotaryDBInterface interface {
 	StoreBlackholed(m *common.MessagePublication) error
 	StoreDelayed(p *common.PendingMessage) error
-	DeleteBlackholed(m *common.MessagePublication) error
-	DeleteDelayed(p *common.PendingMessage) error
+	DeleteBlackholed(msgID []byte) (*common.MessagePublication, error)
+	DeleteDelayed(msgID []byte) (*common.PendingMessage, error)
 	LoadAll(logger *zap.Logger) (*NotaryLoadResult, error)
 }
 
@@ -83,7 +84,7 @@ func (d *NotaryDB) StoreDelayed(p *common.PendingMessage) error {
 		return errors.Join(ErrMarshal, marshalErr)
 	}
 
-	key := delayKey(p)
+	key := delayKey(p.Msg.MessageID())
 	if updateErr := d.update(key, b); updateErr != nil {
 		return &DBError{Op: OpUpdate, Key: key, Err: updateErr}
 	}
@@ -98,19 +99,59 @@ func (d *NotaryDB) StoreBlackholed(m *common.MessagePublication) error {
 		return errors.Join(ErrMarshal, marshalErr)
 	}
 
-	key := blackholeKey(m)
+	key := blackholeKey(m.MessageID())
 	if updateErr := d.update(key, b); updateErr != nil {
 		return &DBError{Op: OpUpdate, Key: key, Err: updateErr}
 	}
 	return nil
 }
 
-func (d *NotaryDB) DeleteDelayed(p *common.PendingMessage) error {
-	return d.deleteEntry(delayKey(p))
+// DeleteDelayed deletes a delayed message from the database and returns the value that was deleted.
+func (d *NotaryDB) DeleteDelayed(msgID []byte) (*common.PendingMessage, error) {
+	deleted, err := d.deleteEntry(delayKey(msgID))
+	if err != nil {
+		return nil, err
+	}
+
+	var pendingMsg common.PendingMessage
+	unmarshalErr := pendingMsg.UnmarshalBinary(deleted)
+	if unmarshalErr != nil {
+		return nil, errors.Join(
+			ErrUnmarshal,
+			unmarshalErr,
+		)
+	}
+
+	// Sanity check that the message ID matches the one that was deleted.
+	if !bytes.Equal(pendingMsg.Msg.MessageID(), msgID) {
+		return &pendingMsg, errors.New("notary: delete pending message from notary database: removed message publication had different message ID compared to query")
+	}
+
+	return &pendingMsg, nil
 }
 
-func (d *NotaryDB) DeleteBlackholed(m *common.MessagePublication) error {
-	return d.deleteEntry(blackholeKey(m))
+// DeleteBlackholed deletes a blackholed message from the database and returns the value that was deleted.
+func (d *NotaryDB) DeleteBlackholed(msgID []byte) (*common.MessagePublication, error) {
+	deleted, err := d.deleteEntry(blackholeKey(msgID))
+	if err != nil {
+		return nil, err
+	}
+
+	var msgPub common.MessagePublication
+	unmarshalErr := msgPub.UnmarshalBinary(deleted)
+	if unmarshalErr != nil {
+		return nil, errors.Join(
+			ErrUnmarshal,
+			unmarshalErr,
+		)
+	}
+
+	// Sanity check that the message ID matches the one that was deleted.
+	if !bytes.Equal(msgPub.MessageID(), msgID) {
+		return &msgPub, errors.New("notary: delete blackholed message from notary database: removed message publication had different message ID compared to query")
+	}
+
+	return &msgPub, nil
 }
 
 type NotaryLoadResult struct {
@@ -204,25 +245,46 @@ func (d *NotaryDB) update(key []byte, data []byte) error {
 	return nil
 }
 
-func (d *NotaryDB) deleteEntry(key []byte) error {
+// deleteEntry deletes a key-value pair from the database and returns the value that was deleted.
+func (d *NotaryDB) deleteEntry(key []byte) ([]byte, error) {
+	var deletedValue []byte
+
 	if updateErr := d.db.Update(func(txn *badger.Txn) error {
+		// Get the item first
+		item, getErr := txn.Get(key)
+		if getErr != nil {
+			return getErr
+		}
+
+		// Copy the value before deleting
+		valueCopy, copyErr := item.ValueCopy(nil)
+		if copyErr != nil {
+			return copyErr
+		}
+		deletedValue = valueCopy
+
+		// Now delete the key
 		deleteErr := txn.Delete(key)
 		return deleteErr
 	}); updateErr != nil {
-		return &DBError{Op: OpDelete, Key: key, Err: updateErr}
+		return nil, &DBError{Op: OpDelete, Key: key, Err: updateErr}
 	}
 
-	return nil
+	if len(deletedValue) == 0 {
+		return nil, &DBError{Op: OpDelete, Key: key, Err: errors.New("notary: delete operation did not return a value")}
+	}
+
+	return deletedValue, nil
 }
 
 // delayKey returns a unique prefix for pending messages to be stored in the Notary's database.
-func delayKey(p *common.PendingMessage) []byte {
-	return key(delayedPrefix, p.Msg.MessageIDString())
+func delayKey(msgID []byte) []byte {
+	return key(delayedPrefix, string(msgID))
 }
 
 // blackholeKey returns a unique prefix for blackholed message publications to be stored in the Notary's database.
-func blackholeKey(m *common.MessagePublication) []byte {
-	return key(blackholePrefix, m.MessageIDString())
+func blackholeKey(msgID []byte) []byte {
+	return key(blackholePrefix, string(msgID))
 }
 
 // key returns a unique prefix for different data types stored in the Notary's database.

+ 53 - 2
node/pkg/db/notary_test.go

@@ -41,6 +41,57 @@ func TestStoreAndReloadData(t *testing.T) {
 	require.Equal(t, &msg2, res.Blackholed[0])
 }
 
+// TestDelete tests the deletion of a message from the notary's database.
+// It covers the deletion of both delayed and blackholed messages.
+func TestDelete(t *testing.T) {
+	// Set-up.
+	dbPath := t.TempDir()
+	database := OpenDb(zap.NewNop(), &dbPath)
+	defer database.Close()
+	defer os.Remove(dbPath)
+	nDB := NotaryDB{db: database.db}
+
+	// Build messages.
+	msg1 := makeNewMsgPub(t)
+	msg2 := *msg1
+	pendingMsg := makeNewPendingMsg(t, msg1)
+
+	// Store messages.
+	delayErr := nDB.StoreDelayed(pendingMsg)
+	require.NoError(t, delayErr, fmt.Sprintf("failed to store delayed message: %v", delayErr))
+	blackholeErr := nDB.StoreBlackholed(&msg2)
+	require.NoError(t, blackholeErr, fmt.Sprintf("failed to store blackholed message: %v", blackholeErr))
+
+	// Ensure that the messages were stored.
+	res, loadErr := nDB.LoadAll(zap.NewNop())
+	require.NoError(t, loadErr)
+	require.Equal(t, 1, len(res.Delayed))
+	require.Equal(t, 1, len(res.Blackholed))
+	require.Equal(t, &msg2, res.Blackholed[0])
+
+	// Delete the delayed message.
+	deletedPendingMsg, delErr := nDB.DeleteDelayed(pendingMsg.Msg.MessageID())
+	require.NoError(t, delErr)
+	require.Equal(t, pendingMsg, deletedPendingMsg)
+
+	// Ensure that the message is no longer in the delayed list.
+	res, loadErr = nDB.LoadAll(zap.NewNop())
+	require.NoError(t, loadErr)
+	require.Equal(t, 0, len(res.Delayed))
+	require.Equal(t, 1, len(res.Blackholed))
+	require.Equal(t, &msg2, res.Blackholed[0])
+
+	// Delete the blackholed message.
+	deletedBlackholedMsgPub, delErr := nDB.DeleteBlackholed(msg2.MessageID())
+	require.NoError(t, delErr, fmt.Sprintf("failed to delete blackholed message: %v", delErr))
+	require.Equal(t, &msg2, deletedBlackholedMsgPub)
+
+	// Ensure that the message is no longer in the blackholed list.
+	res, loadErr = nDB.LoadAll(zap.NewNop())
+	require.NoError(t, loadErr)
+	require.Equal(t, 0, len(res.Blackholed))
+}
+
 func TestKeysForStoredMessagesV1(t *testing.T) {
 	msg1 := makeNewMsgPub(t)
 	pMsg := makeNewPendingMsg(t, msg1)
@@ -48,13 +99,13 @@ func TestKeysForStoredMessagesV1(t *testing.T) {
 	require.Equal(
 		t,
 		[]byte("NOTARY:DELAY:V1:2/0000000000000000000000000290fb167208af455bb137780163b7b7a9a10c16/789101112131415"),
-		delayKey(pMsg),
+		delayKey(pMsg.Msg.MessageID()),
 	)
 
 	require.Equal(
 		t,
 		[]byte("NOTARY:BLACKHOLE:V1:2/0000000000000000000000000290fb167208af455bb137780163b7b7a9a10c16/789101112131415"),
-		blackholeKey(msg1),
+		blackholeKey(msg1.MessageID()),
 	)
 }
 

+ 1465 - 1487
node/pkg/governor/generated_mainnet_tokens.go

@@ -1,1699 +1,1677 @@
 // This file contains the token config to be used in the mainnet environment.
 //
-// This file was generated: Tue Sep 09 2025 23:13:21 GMT+0000 (Coordinated Universal Time) using a min notional of 0
+// This file was generated: Wed Oct 01 2025 00:16:05 GMT+0000 (Coordinated Universal Time) using a min notional of 0
 
 package governor
 
 func generatedMainnetTokenList() []TokenConfigEntry {
 	return []TokenConfigEntry{
-		{Chain: 1, Addr: "00587a642600d6f2bd3bbfdf116dbd613c45cfa659b55a1fbc7cbc28e6092699", Symbol: "Skibidi", CoinGeckoId: "skibidi-dop-dop", Decimals: 6, Price: 0.00001887},                                   // Addr: 12MFXb5CGJ65S3mP3s4eMLaosGp6xGnQe3PxQD38nfJp, Notional: 347.1398505588766
-		{Chain: 1, Addr: "017009a9390d6d6e7777a27675f05e1692fe09561cf25879203a0d282f8b3408", Symbol: "SHILL", CoinGeckoId: "shill-token", Decimals: 6, Price: 0.00020126},                                         // Addr: 6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd, Notional: 0.684564133794
-		{Chain: 1, Addr: "0266eb1428607b1c110941decd0ebe34eab6586ffba3e15820aa9c63b4110b10", Symbol: "", CoinGeckoId: "zignaly", Decimals: 9, Price: 0.095587},                                                    // Addr: ANqY8h3sRSwkC29FvGJenAh7VGRABVVx7Ls6Mq4BuGT, Notional: 286.7610025301879
-		{Chain: 1, Addr: "02a88b06fab40a8cd293f0c527587e62d2ffab766fca08b7f6f3c919ee731b12", Symbol: "BNSOL", CoinGeckoId: "binance-staked-sol", Decimals: 9, Price: 230.8},                                       // Addr: BNso1VUJnh4zcfpZa6986Ea66P6TCp59hvtNJ8b1X85, Notional: 29.072491199999998
-		{Chain: 1, Addr: "03481237c86b4ff57b5c845a97ecee44f3b4c459954b607a232869cfb2bfb345", Symbol: "BONKFA", CoinGeckoId: "bonk-of-america", Decimals: 6, Price: 0.00004053},                                    // Addr: DoxsC4PpVHiUxCKYeKSkPXVVVSJYzidZZJxW4XCFF2t, Notional: 0.81339657
-		{Chain: 1, Addr: "0479d9c7cc1035de7211f99eb48c09d70b2bdf5bdf9e2e56b8a1fbb5a2ea3327", Symbol: "JUP", CoinGeckoId: "jupiter-exchange-solana", Decimals: 6, Price: 0.521214},                                 // Addr: JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN, Notional: 46.659265959468
-		{Chain: 1, Addr: "049a250bfacf558c6b6407a8d3716ff17c8c062a29b26a868e7ba5e7422ffd15", Symbol: "mockJUP", CoinGeckoId: "mockjup", Decimals: 9, Price: 0.00022861},                                           // Addr: JxxWsvm9jHt4ah7DT9NuLyVLYZcZLUdPD93PcPQ71Ka, Notional: 0.0251560764699523
+		{Chain: 1, Addr: "00587a642600d6f2bd3bbfdf116dbd613c45cfa659b55a1fbc7cbc28e6092699", Symbol: "Skibidi", CoinGeckoId: "skibidi-dop-dop", Decimals: 6, Price: 0.00001921},                                   // Addr: 12MFXb5CGJ65S3mP3s4eMLaosGp6xGnQe3PxQD38nfJp, Notional: 353.3946226410185
+		{Chain: 1, Addr: "017009a9390d6d6e7777a27675f05e1692fe09561cf25879203a0d282f8b3408", Symbol: "SHILL", CoinGeckoId: "shill-token", Decimals: 6, Price: 0.00025249},                                         // Addr: 6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd, Notional: 0.8588174408310001
+		{Chain: 1, Addr: "0266eb1428607b1c110941decd0ebe34eab6586ffba3e15820aa9c63b4110b10", Symbol: "", CoinGeckoId: "zignaly", Decimals: 9, Price: 0.107146},                                                    // Addr: ANqY8h3sRSwkC29FvGJenAh7VGRABVVx7Ls6Mq4BuGT, Notional: 321.4380028361547
+		{Chain: 1, Addr: "02a88b06fab40a8cd293f0c527587e62d2ffab766fca08b7f6f3c919ee731b12", Symbol: "BNSOL", CoinGeckoId: "binance-staked-sol", Decimals: 9, Price: 224.34},                                      // Addr: BNso1VUJnh4zcfpZa6986Ea66P6TCp59hvtNJ8b1X85, Notional: 28.258763759999997
+		{Chain: 1, Addr: "03481237c86b4ff57b5c845a97ecee44f3b4c459954b607a232869cfb2bfb345", Symbol: "BONKFA", CoinGeckoId: "bonk-of-america", Decimals: 6, Price: 0.00003234},                                    // Addr: DoxsC4PpVHiUxCKYeKSkPXVVVSJYzidZZJxW4XCFF2t, Notional: 0.64903146
+		{Chain: 1, Addr: "0479d9c7cc1035de7211f99eb48c09d70b2bdf5bdf9e2e56b8a1fbb5a2ea3327", Symbol: "JUP", CoinGeckoId: "jupiter-exchange-solana", Decimals: 6, Price: 0.428683},                                 // Addr: JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN, Notional: 38.375857343246004
+		{Chain: 1, Addr: "049a250bfacf558c6b6407a8d3716ff17c8c062a29b26a868e7ba5e7422ffd15", Symbol: "mockJUP", CoinGeckoId: "mockjup", Decimals: 9, Price: 0.00020106},                                           // Addr: JxxWsvm9jHt4ah7DT9NuLyVLYZcZLUdPD93PcPQ71Ka, Notional: 0.0221244947073558
 		{Chain: 1, Addr: "049c63b95b6f586200bc5571c3deee5f0d404434c2bb1418f473c661893771cd", Symbol: "clSUI", CoinGeckoId: "cloned-sui", Decimals: 8, Price: 0.792309},                                            // Addr: JzwfZvJGdsqbrKZQUvzJpWhbHcZUix7CYcCaoiNpjxg, Notional: 0.792309
-		{Chain: 1, Addr: "051687499457f76f90ed11ff8133233eee9f139718c36a85dff99950b7adabf1", Symbol: "LARIX", CoinGeckoId: "larix", Decimals: 6, Price: 0.00002384},                                               // Addr: Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC, Notional: 0.0016688
-		{Chain: 1, Addr: "052e7f80a14a1e7a5254e9a1c27f7fc48563bfc35f0be177a8d556ae8ba1add6", Symbol: "MEAN", CoinGeckoId: "meanfi", Decimals: 6, Price: 0.00014564},                                               // Addr: MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD, Notional: 0.0007165488
-		{Chain: 1, Addr: "052ed35010b819ff4914f47a3118c42c98bf210fd7e47d722307b5c24901a7ba", Symbol: "MPLX", CoinGeckoId: "metaplex", Decimals: 6, Price: 0.256234},                                               // Addr: METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m, Notional: 3667323.570955882
-		{Chain: 1, Addr: "0537996f2699674fb7086e468fb33b4fde1449f47a8befd8b342bf6b33cff372", Symbol: "MNDE", CoinGeckoId: "marinade", Decimals: 9, Price: 0.164768},                                               // Addr: MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey, Notional: 8.32209722897056
-		{Chain: 1, Addr: "0545d1ee9805764e58b3ef5bcb54177517dfe7980e6e44e67a628bdb9d2a7bd1", Symbol: "MNGO", CoinGeckoId: "mango-markets", Decimals: 6, Price: 0.01445292},                                        // Addr: MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac, Notional: 0.00722646
-		{Chain: 1, Addr: "05718b04572312d73aa71deaec43c89d77844b0b7ff9e3e72da8510182627455", Symbol: "BLOCK", CoinGeckoId: "blockasset", Decimals: 6, Price: 0.00861926},                                          // Addr: NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk, Notional: 168555.0343781025
-		{Chain: 1, Addr: "058bf1f00d167d3df31491dae204d6006b9d596870eecf5d305035df8a3f96dd", Symbol: "NEON", CoinGeckoId: "neon", Decimals: 9, Price: 0.145104},                                                   // Addr: NeonTjSjsuo3rexg9o6vHuMXw62f9V7zvmu8M8Zut44, Notional: 41.36915040000001
-		{Chain: 1, Addr: "05be68ae2977ce39f15086f2c761b24cf054a40b22a2a5b33ef583c50f1cfdb7", Symbol: "", CoinGeckoId: "prism", Decimals: 6, Price: 0.00074122},                                                    // Addr: PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x, Notional: 2.1982104766567603
-		{Chain: 1, Addr: "05be6c87eec2d40a2e26e1fc0a8423a379820ca454982348adfc9563b5157725", Symbol: "PRT", CoinGeckoId: "parrot-protocol", Decimals: 6, Price: 0.00009833},                                       // Addr: PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44, Notional: 0.02839589344971
-		{Chain: 1, Addr: "05beb884b642b260d9c2b53cb3d876b8b4de72aea0d787d779bf4266688a3935", Symbol: "", CoinGeckoId: "solanaprime", Decimals: 9, Price: 0.00171107},                                              // Addr: PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2, Notional: 0.18137342
+		{Chain: 1, Addr: "051687499457f76f90ed11ff8133233eee9f139718c36a85dff99950b7adabf1", Symbol: "LARIX", CoinGeckoId: "larix", Decimals: 6, Price: 0.00002263},                                               // Addr: Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC, Notional: 0.0015841
+		{Chain: 1, Addr: "052e7f80a14a1e7a5254e9a1c27f7fc48563bfc35f0be177a8d556ae8ba1add6", Symbol: "MEAN", CoinGeckoId: "meanfi", Decimals: 6, Price: 0.00013458},                                               // Addr: MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD, Notional: 0.0006621336
+		{Chain: 1, Addr: "052ed35010b819ff4914f47a3118c42c98bf210fd7e47d722307b5c24901a7ba", Symbol: "MPLX", CoinGeckoId: "metaplex", Decimals: 6, Price: 0.266145},                                               // Addr: METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m, Notional: 3793324.9750170526
+		{Chain: 1, Addr: "0537996f2699674fb7086e468fb33b4fde1449f47a8befd8b342bf6b33cff372", Symbol: "MNDE", CoinGeckoId: "marinade", Decimals: 9, Price: 0.128065},                                               // Addr: MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey, Notional: 6.468303199821051
+		{Chain: 1, Addr: "0545d1ee9805764e58b3ef5bcb54177517dfe7980e6e44e67a628bdb9d2a7bd1", Symbol: "MNGO", CoinGeckoId: "mango-markets", Decimals: 6, Price: 0.01686812},                                        // Addr: MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac, Notional: 0.00843406
+		{Chain: 1, Addr: "05718b04572312d73aa71deaec43c89d77844b0b7ff9e3e72da8510182627455", Symbol: "BLOCK", CoinGeckoId: "blockasset", Decimals: 6, Price: 0.00404533},                                          // Addr: NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk, Notional: 85636.0929987551
+		{Chain: 1, Addr: "058bf1f00d167d3df31491dae204d6006b9d596870eecf5d305035df8a3f96dd", Symbol: "NEON", CoinGeckoId: "neon", Decimals: 9, Price: 0.119351},                                                   // Addr: NeonTjSjsuo3rexg9o6vHuMXw62f9V7zvmu8M8Zut44, Notional: 34.0269701
+		{Chain: 1, Addr: "05be68ae2977ce39f15086f2c761b24cf054a40b22a2a5b33ef583c50f1cfdb7", Symbol: "", CoinGeckoId: "prism", Decimals: 6, Price: 0.00101951},                                                    // Addr: PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x, Notional: 3.02352548913458
+		{Chain: 1, Addr: "05be6c87eec2d40a2e26e1fc0a8423a379820ca454982348adfc9563b5157725", Symbol: "PRT", CoinGeckoId: "parrot-protocol", Decimals: 6, Price: 0.00010611},                                       // Addr: PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44, Notional: 0.03064261419657
+		{Chain: 1, Addr: "05beb884b642b260d9c2b53cb3d876b8b4de72aea0d787d779bf4266688a3935", Symbol: "", CoinGeckoId: "solanaprime", Decimals: 9, Price: 0.00105459},                                              // Addr: PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2, Notional: 0.11178654
 		{Chain: 1, Addr: "061391c556ba0106d4b1b2ccf939d47caf9fb30639a58bf9cc315d024f1cb458", Symbol: "", CoinGeckoId: "tudabirds", Decimals: 9, Price: 0.00081844},                                                // Addr: Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw, Notional: 0.5606314
-		{Chain: 1, Addr: "063ba2f4697205f531b6de49bb9605fd2ca6a9ddf243bed251fda6552ef0e571", Symbol: "", CoinGeckoId: "rollbit-coin", Decimals: 2, Price: 0.068459},                                               // Addr: RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a, Notional: 1125.2872820100001
-		{Chain: 1, Addr: "0679db01ce2a84f71c139e7c9942f6da3b331fdec3319d02f899eba70134737e", Symbol: "SHDW", CoinGeckoId: "genesysgo-shadow", Decimals: 9, Price: 0.122668},                                       // Addr: SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y, Notional: 24.656268
-		{Chain: 1, Addr: "067d3988ce882945c63a0717a92538addd9a37550ce5cd711f76ca74a4c89786", Symbol: "", CoinGeckoId: "solcial", Decimals: 9, Price: 0.00018778},                                                  // Addr: SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV, Notional: 0.001714881555605
-		{Chain: 1, Addr: "067fc27abcad2df07cc40437330da4fe8851680ae2b242c2ea1d86e2cfa10064", Symbol: "SNS", CoinGeckoId: "synesis-one", Decimals: 9, Price: 0.00173653},                                           // Addr: SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd, Notional: 126.76840985358145
-		{Chain: 1, Addr: "068310861a98327d0550574d84418aa6e10c3352ddaa7fd7f58152cceeb23887", Symbol: "SRM", CoinGeckoId: "serum", Decimals: 6, Price: 0.01210557},                                                 // Addr: SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt, Notional: 317.18384862145365
+		{Chain: 1, Addr: "063ba2f4697205f531b6de49bb9605fd2ca6a9ddf243bed251fda6552ef0e571", Symbol: "", CoinGeckoId: "rollbit-coin", Decimals: 2, Price: 0.072747},                                               // Addr: RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a, Notional: 1195.7708103300001
+		{Chain: 1, Addr: "0679db01ce2a84f71c139e7c9942f6da3b331fdec3319d02f899eba70134737e", Symbol: "SHDW", CoinGeckoId: "genesysgo-shadow", Decimals: 9, Price: 0.098404},                                       // Addr: SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y, Notional: 19.779204
+		{Chain: 1, Addr: "067d3988ce882945c63a0717a92538addd9a37550ce5cd711f76ca74a4c89786", Symbol: "", CoinGeckoId: "solcial", Decimals: 9, Price: 0.00003348},                                                  // Addr: SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV, Notional: 0.00030575265993
+		{Chain: 1, Addr: "067fc27abcad2df07cc40437330da4fe8851680ae2b242c2ea1d86e2cfa10064", Symbol: "SNS", CoinGeckoId: "synesis-one", Decimals: 9, Price: 0.0015621},                                            // Addr: SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd, Notional: 129.02692375772554
+		{Chain: 1, Addr: "068310861a98327d0550574d84418aa6e10c3352ddaa7fd7f58152cceeb23887", Symbol: "SRM", CoinGeckoId: "serum", Decimals: 6, Price: 0.01273951},                                                 // Addr: SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt, Notional: 333.7940147677057
 		{Chain: 1, Addr: "068677427842ef204cf58abdf76271228b5a485abb6dfa465e6ed7ee8b7d5e79", Symbol: "SUNNY", CoinGeckoId: "sunny-aggregator", Decimals: 6, Price: 0.00000205},                                    // Addr: SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag, Notional: 0.005997871129749999
-		{Chain: 1, Addr: "068d824d56f0eebb7566e6ee1d65a9d260ff509a4b5c69b6269ad64de3cd50bc", Symbol: "SBR", CoinGeckoId: "saber", Decimals: 6, Price: 0.00129601},                                                 // Addr: Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1, Notional: 4.58486406244455
-		{Chain: 1, Addr: "069501a7f73f3b05dfff8b104d2393e9c39e1ee2fe6b329ccf9847ccfa2af594", Symbol: "SHEESH", CoinGeckoId: "sheeshin-on-solana", Decimals: 6, Price: 0.02349472},                                 // Addr: ShEEsukacNfbBpULD1xtCZKjeMMzvc78xufMDuE3jvB, Notional: 7.55816186212736
-		{Chain: 1, Addr: "069b8857feab8184fb687f634618c035dac439dc1aeb3b5598a0f00000000001", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 9, Price: 215.57},                                            // Addr: So11111111111111111111111111111111111111112, Notional: 117879281.65573902
-		{Chain: 1, Addr: "06a1ec5bd82ad9c032a9f7d466ba2c728b0ef36a8b773ed219d69650d3472bd6", Symbol: "", CoinGeckoId: "step-finance", Decimals: 9, Price: 0.066924},                                               // Addr: StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT, Notional: 5.86635953013396
-		{Chain: 1, Addr: "06cf442fd1ea50d2b18629079232396c075d29c1eda912d38fd75049f827e3a3", Symbol: "TAKI", CoinGeckoId: "taki", Decimals: 9, Price: 0.00019206},                                                 // Addr: Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4, Notional: 7022.121100111138
-		{Chain: 1, Addr: "06e44836998a9e52bde7b5182fdbbdde4e2789cbffe5ab0e9762cb13651c8bda", Symbol: "TULIP", CoinGeckoId: "solfarm", Decimals: 6, Price: 0.051382},                                               // Addr: TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs, Notional: 0.000102764
-		{Chain: 1, Addr: "0704152a9efdde41a8971e72c23f18079623cad2b3a8d4330cc7ee0072aba7a1", Symbol: "UPT", CoinGeckoId: "uprock", Decimals: 9, Price: 0.00841007},                                                // Addr: UPTx1d24aBWuRgwxVnFmX4gNraj3QGFzL3QqBgxtWQG, Notional: 0.20628236583420562
-		{Chain: 1, Addr: "0707305232e6160c18b4099da5b66bd387bc6469ad2244f283f73ff2a8e40338", Symbol: "", CoinGeckoId: "usdh", Decimals: 6, Price: 0.996567},                                                       // Addr: USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX, Notional: 9.938258428097999
+		{Chain: 1, Addr: "068d824d56f0eebb7566e6ee1d65a9d260ff509a4b5c69b6269ad64de3cd50bc", Symbol: "SBR", CoinGeckoId: "saber", Decimals: 6, Price: 0.00089818},                                                 // Addr: Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1, Notional: 3.1774702383519
+		{Chain: 1, Addr: "069501a7f73f3b05dfff8b104d2393e9c39e1ee2fe6b329ccf9847ccfa2af594", Symbol: "SHEESH", CoinGeckoId: "sheeshin-on-solana", Decimals: 6, Price: 0.02406986},                                 // Addr: ShEEsukacNfbBpULD1xtCZKjeMMzvc78xufMDuE3jvB, Notional: 7.74318220769368
+		{Chain: 1, Addr: "069b8857feab8184fb687f634618c035dac439dc1aeb3b5598a0f00000000001", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 9, Price: 208.66},                                            // Addr: So11111111111111111111111111111111111111112, Notional: 114867869.17711447
+		{Chain: 1, Addr: "06a1ec5bd82ad9c032a9f7d466ba2c728b0ef36a8b773ed219d69650d3472bd6", Symbol: "", CoinGeckoId: "step-finance", Decimals: 9, Price: 0.051002},                                               // Addr: StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT, Notional: 4.47068419036358
+		{Chain: 1, Addr: "06cf442fd1ea50d2b18629079232396c075d29c1eda912d38fd75049f827e3a3", Symbol: "TAKI", CoinGeckoId: "taki", Decimals: 9, Price: 0.00119138},                                                 // Addr: Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4, Notional: 43560.73491786674
+		{Chain: 1, Addr: "06e44836998a9e52bde7b5182fdbbdde4e2789cbffe5ab0e9762cb13651c8bda", Symbol: "TULIP", CoinGeckoId: "solfarm", Decimals: 6, Price: 0.03652524},                                             // Addr: TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs, Notional: 0.00007305048
+		{Chain: 1, Addr: "0704152a9efdde41a8971e72c23f18079623cad2b3a8d4330cc7ee0072aba7a1", Symbol: "UPT", CoinGeckoId: "uprock", Decimals: 9, Price: 0.00830979},                                                // Addr: UPTx1d24aBWuRgwxVnFmX4gNraj3QGFzL3QqBgxtWQG, Notional: 0.2038226959805832
+		{Chain: 1, Addr: "0707305232e6160c18b4099da5b66bd387bc6469ad2244f283f73ff2a8e40338", Symbol: "", CoinGeckoId: "usdh", Decimals: 6, Price: 0.995591},                                                       // Addr: USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX, Notional: 9.928525273954
 		{Chain: 1, Addr: "070d0b9bee96609a69a17a10833705370fb116a06adb20d5efd866e68051c132", Symbol: "", CoinGeckoId: "uxd-protocol-token", Decimals: 9, Price: 0.01246475},                                       // Addr: UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M, Notional: 10.499335659651356
-		{Chain: 1, Addr: "072844c94ab6a7097e1134511934be65304b482d6e8850493ce05ac78755dbea", Symbol: "UWU", CoinGeckoId: "unicorn-3", Decimals: 6, Price: 0.00007143},                                             // Addr: UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z, Notional: 30818.04651881805
-		{Chain: 1, Addr: "0752a8bf6d64c5f78ef23e3e7e92cdc4cf80f8dc791596e099cafb776ca56e2f", Symbol: "OIIAOIIA", CoinGeckoId: "spinning-cat", Decimals: 6, Price: 0.00139007},                                     // Addr: VaxZxmFXV8tmsd72hUn22ex6GFzZ5uq9DVJ5wA5pump, Notional: 0.0695035
-		{Chain: 1, Addr: "077cf63a56ff0afb124f6f68875a02adce4e320bbfcc1072e67a0a4ffa46c295", Symbol: "WEN", CoinGeckoId: "wen-4", Decimals: 5, Price: 0.00003481},                                                 // Addr: WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk, Notional: 49.8561919504264
-		{Chain: 1, Addr: "07bb093e9f7decab41a717b15946f6db587868a6721c0a6e3c4281ed3fef0e09", Symbol: "XBG", CoinGeckoId: "xborg", Decimals: 9, Price: 0.069171},                                                   // Addr: XBGdqJ9P175hCC1LangCEyXWNeCPHaKWA17tymz2PrY, Notional: 688.0493261271359
-		{Chain: 1, Addr: "083e1d5d64b0eb30fa1e8e03e9f2463fe2d82888846aed91540698b2fee1072b", Symbol: "ZBCN", CoinGeckoId: "zebec-network", Decimals: 6, Price: 0.0039519},                                         // Addr: ZBCNpuD7YMXzTHB2fhGkGi78MNsHGLRXUhRewNRm9RU, Notional: 0.08375241120120001
-		{Chain: 1, Addr: "08742da77f532cb2337402e2ab66187b63a2907c9a62107dab7013a28deb4657", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 9, Price: 0.073767},                                               // Addr: a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp, Notional: 0.48625563313841996
-		{Chain: 1, Addr: "08808616ce71e6e2e483262f0dc1cf87122c2001543cbfc95fd75fab46ac2893", Symbol: "HAPPI", CoinGeckoId: "happi-cat", Decimals: 6, Price: 0.0000543},                                            // Addr: aBvs3Zv9JYmvUCKqRJvGctDQSCt6R7NAMELid3FeqsQ, Notional: 89.8207967881632
-		{Chain: 1, Addr: "08d2e970f93c7b3d50191e611acd93aa80a546b45ec965e18b0587155699c8ac", Symbol: "", CoinGeckoId: "blazestake-staked-sol", Decimals: 9, Price: 268.22},                                        // Addr: bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1, Notional: 27.925685067
-		{Chain: 1, Addr: "08ea6f14a48ad8d63068ce1114a7f5148c0dc909a8564c958e57e4ddea0e6cbf", Symbol: "BOBAOPPA", CoinGeckoId: "boba-oppa", Decimals: 6, Price: 0.00087121},                                        // Addr: bobaM3u8QmqZhY1HwAtnvze9DLXvkgKYk3td3t8MLva, Notional: 0.06519769993163
-		{Chain: 1, Addr: "08eaab49809a0d284791dcf38d96b4dde48d41807f3a795dcfaf325205943057", Symbol: "Boo", CoinGeckoId: "boo-2", Decimals: 9, Price: 0.00003727},                                                 // Addr: booe3XGMztBMB9RhCgNodhJQeaaMmhdGehMCVPMGza2, Notional: 0.9473067218708272
-		{Chain: 1, Addr: "0936990e30118f3e824ab4ad611dbacae303117a46ab833c9c911acb736a7ecf", Symbol: "", CoinGeckoId: "solchicks-token", Decimals: 9, Price: 0.00003515},                                          // Addr: cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2, Notional: 0.0039368
-		{Chain: 1, Addr: "0a732093918561f7dd7fcbec4abd8513deca1a967f7ad7a39d63b41ed893808b", Symbol: "HNT", CoinGeckoId: "helium", Decimals: 8, Price: 2.31},                                                      // Addr: hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux, Notional: 0.026183526600000003
-		{Chain: 1, Addr: "0afcf8968b8dab88481e2d2ae689c952c757aeba643e3919e89f2e55795c76c1", Symbol: "JTO", CoinGeckoId: "jito-governance-token", Decimals: 9, Price: 1.9},                                        // Addr: jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL, Notional: 77.95370564699999
+		{Chain: 1, Addr: "072844c94ab6a7097e1134511934be65304b482d6e8850493ce05ac78755dbea", Symbol: "UWU", CoinGeckoId: "unicorn-3", Decimals: 6, Price: 0.00008029},                                             // Addr: UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z, Notional: 34331.795224070636
+		{Chain: 1, Addr: "0752a8bf6d64c5f78ef23e3e7e92cdc4cf80f8dc791596e099cafb776ca56e2f", Symbol: "OIIAOIIA", CoinGeckoId: "spinning-cat", Decimals: 6, Price: 0.00131896},                                     // Addr: VaxZxmFXV8tmsd72hUn22ex6GFzZ5uq9DVJ5wA5pump, Notional: 0.065948
+		{Chain: 1, Addr: "077cf63a56ff0afb124f6f68875a02adce4e320bbfcc1072e67a0a4ffa46c295", Symbol: "WEN", CoinGeckoId: "wen-4", Decimals: 5, Price: 0.00003214},                                                 // Addr: WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk, Notional: 33.1889734744816
+		{Chain: 1, Addr: "07bb093e9f7decab41a717b15946f6db587868a6721c0a6e3c4281ed3fef0e09", Symbol: "XBG", CoinGeckoId: "xborg", Decimals: 9, Price: 0.116997},                                                   // Addr: XBGdqJ9P175hCC1LangCEyXWNeCPHaKWA17tymz2PrY, Notional: 1163.7782742608395
+		{Chain: 1, Addr: "083e1d5d64b0eb30fa1e8e03e9f2463fe2d82888846aed91540698b2fee1072b", Symbol: "ZBCN", CoinGeckoId: "zebec-network", Decimals: 6, Price: 0.00389482},                                        // Addr: ZBCNpuD7YMXzTHB2fhGkGi78MNsHGLRXUhRewNRm9RU, Notional: 0.08254271772936
+		{Chain: 1, Addr: "08742da77f532cb2337402e2ab66187b63a2907c9a62107dab7013a28deb4657", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 9, Price: 0.074237},                                               // Addr: a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp, Notional: 0.48935376845061995
+		{Chain: 1, Addr: "08808616ce71e6e2e483262f0dc1cf87122c2001543cbfc95fd75fab46ac2893", Symbol: "HAPPI", CoinGeckoId: "happi-cat", Decimals: 6, Price: 0.00005988},                                           // Addr: aBvs3Zv9JYmvUCKqRJvGctDQSCt6R7NAMELid3FeqsQ, Notional: 99.05100021501312
+		{Chain: 1, Addr: "08d2e970f93c7b3d50191e611acd93aa80a546b45ec965e18b0587155699c8ac", Symbol: "", CoinGeckoId: "blazestake-staked-sol", Decimals: 9, Price: 260.42},                                        // Addr: bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1, Notional: 27.113589237
+		{Chain: 1, Addr: "08ea6f14a48ad8d63068ce1114a7f5148c0dc909a8564c958e57e4ddea0e6cbf", Symbol: "BOBAOPPA", CoinGeckoId: "boba-oppa", Decimals: 6, Price: 0.00055608},                                        // Addr: bobaM3u8QmqZhY1HwAtnvze9DLXvkgKYk3td3t8MLva, Notional: 0.04161469333224
+		{Chain: 1, Addr: "08eaab49809a0d284791dcf38d96b4dde48d41807f3a795dcfaf325205943057", Symbol: "Boo", CoinGeckoId: "boo-2", Decimals: 9, Price: 0.00003483},                                                 // Addr: booe3XGMztBMB9RhCgNodhJQeaaMmhdGehMCVPMGza2, Notional: 0.8852882512144059
+		{Chain: 1, Addr: "0936990e30118f3e824ab4ad611dbacae303117a46ab833c9c911acb736a7ecf", Symbol: "", CoinGeckoId: "solchicks-token", Decimals: 9, Price: 0.00003165},                                          // Addr: cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2, Notional: 0.0035448
+		{Chain: 1, Addr: "0a732093918561f7dd7fcbec4abd8513deca1a967f7ad7a39d63b41ed893808b", Symbol: "HNT", CoinGeckoId: "helium", Decimals: 8, Price: 2.43},                                                      // Addr: hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux, Notional: 0.027543709800000003
+		{Chain: 1, Addr: "0afcf8968b8dab88481e2d2ae689c952c757aeba643e3919e89f2e55795c76c1", Symbol: "JTO", CoinGeckoId: "jito-governance-token", Decimals: 9, Price: 1.57},                                       // Addr: jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL, Notional: 64.4143778241
 		{Chain: 1, Addr: "0b32c16d6e18acb932405c63adbf490ed2e214adf8860590fafcc3c869556b26", Symbol: "", CoinGeckoId: "kineko", Decimals: 9, Price: 0.00013095},                                                   // Addr: kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh, Notional: 0.014410606445995502
-		{Chain: 1, Addr: "0b3338a0ab2cc841d5b014bc6a3cf756291874b319c9517d9bbfa9e4e9661ef9", Symbol: "KIN", CoinGeckoId: "kin", Decimals: 5, Price: 0.00000112},                                                   // Addr: kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6, Notional: 0.1418197652032
-		{Chain: 1, Addr: "0b62ba074f722c9d4114f2d8f70a00c66002337b9bf90c873657a6d201db4c80", Symbol: "mSOL", CoinGeckoId: "msol", Decimals: 9, Price: 285.09},                                                     // Addr: mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So, Notional: 139.5329870883
-		{Chain: 1, Addr: "0b8bba91467afe97500d18b35605e1c5842b2310a97ebfb863d17f32f1943fb1", Symbol: "PEEP", CoinGeckoId: "peepo-sol", Decimals: 6, Price: 0.00000722},                                            // Addr: n54ZwXEcLnc3o7zK48nhrLV4KTU5wWD4iq7Gvdt5tik, Notional: 0.00000722
-		{Chain: 1, Addr: "0c00d0afeb8614da7f19aba02d40f18c692585f65020dfced3d5e5f9a9c0c4e1", Symbol: "ORCA", CoinGeckoId: "orca", Decimals: 6, Price: 2.24},                                                       // Addr: orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE, Notional: 49.4087328
+		{Chain: 1, Addr: "0b3338a0ab2cc841d5b014bc6a3cf756291874b319c9517d9bbfa9e4e9661ef9", Symbol: "KIN", CoinGeckoId: "kin", Decimals: 5, Price: 0.00000111},                                                   // Addr: kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6, Notional: 0.1405535172996
+		{Chain: 1, Addr: "0b62ba074f722c9d4114f2d8f70a00c66002337b9bf90c873657a6d201db4c80", Symbol: "mSOL", CoinGeckoId: "msol", Decimals: 9, Price: 276.79},                                                     // Addr: mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So, Notional: 135.4706776673
+		{Chain: 1, Addr: "0b8bba91467afe97500d18b35605e1c5842b2310a97ebfb863d17f32f1943fb1", Symbol: "PEEP", CoinGeckoId: "peepo-sol", Decimals: 6, Price: 0.00000632},                                            // Addr: n54ZwXEcLnc3o7zK48nhrLV4KTU5wWD4iq7Gvdt5tik, Notional: 0.00000632
+		{Chain: 1, Addr: "0c00d0afeb8614da7f19aba02d40f18c692585f65020dfced3d5e5f9a9c0c4e1", Symbol: "ORCA", CoinGeckoId: "orca", Decimals: 6, Price: 1.93},                                                       // Addr: orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE, Notional: 42.570917099999996
 		{Chain: 1, Addr: "0c96450628904429a41300a3eeb390680414f8c0a2e1a2442610df748aca371e", Symbol: "DAOJONES", CoinGeckoId: "fractionalized-smb-2367", Decimals: 2, Price: 0.197795},                            // Addr: r8nuuzXCchjtqsmQZVZDPXXq928tuk7KVH479GsKVpy, Notional: 0.197795
-		{Chain: 1, Addr: "0cc10f516aaae9c14ba9471f60abd392dcd786d57354abedeee7289dd40a0a0a", Symbol: "RENDER", CoinGeckoId: "render-token", Decimals: 8, Price: 3.77},                                             // Addr: rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof, Notional: 4806.3907807526
-		{Chain: 1, Addr: "0cea8ee4d02b332af25488b03f6b02b11cd5ca4b7f051ee72575c50b55addd40", Symbol: "sRLY", CoinGeckoId: "rally-solana", Decimals: 9, Price: 0.00087528},                                         // Addr: sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh, Notional: 12.023146034954879
-		{Chain: 1, Addr: "0d8323c076f0e28718ca60d77e6b39cee8f23f43cfc4ff1f5852b8fc1b94a293", Symbol: "BOME", CoinGeckoId: "book-of-meme", Decimals: 6, Price: 0.00198651},                                         // Addr: ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82, Notional: 53958.22072716891
-		{Chain: 1, Addr: "0e21542327931809efbf3b282c09eb7ef5f82c68e5c35024c97da4f89a2234c7", Symbol: "DONK", CoinGeckoId: "donk", Decimals: 5, Price: 3.20838e-10},                                                // Addr: xABfKiG2KCHi6keTeLycW1iK7B52wJmchSWXu3YrsDp, Notional: 0.054356373959999996
-		{Chain: 1, Addr: "0e217f1d89397a8a2cdfcf5e46b64ac4e04206a3f396cd87b23734049eff9cae", Symbol: "xALGO", CoinGeckoId: "wrapped-algo", Decimals: 6, Price: 0.393392},                                          // Addr: xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms, Notional: 10.100083108416
-		{Chain: 1, Addr: "0e56395e3c860143802e9b94a02cc6d04f75fec72a3fbb715268355e0cd7cd89", Symbol: "SLIM", CoinGeckoId: "solanium", Decimals: 6, Price: 0.03510139},                                             // Addr: xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW, Notional: 1.5131454549115002
-		{Chain: 1, Addr: "0ec49e1c77e79828f9ae8a051b662e2088c728069cedb70fef8521b94acf74f8", Symbol: "", CoinGeckoId: "zebec-protocol", Decimals: 9, Price: 0.00111214},                                           // Addr: zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF, Notional: 2402.9254052112733
-		{Chain: 1, Addr: "1076469c1041d9e9b39fc2ede11333973b3e95732a4439207193a61cc4108d43", Symbol: "JLP", CoinGeckoId: "jupiter-perpetuals-liquidity-provider-token", Decimals: 6, Price: 5.54},                 // Addr: 27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4, Notional: 2.77
-		{Chain: 1, Addr: "11615a73ca119d91ad275cf19659f206265356fbd4161175b6c2cee43ceb267a", Symbol: "STATE", CoinGeckoId: "new-world-order", Decimals: 3, Price: 1.628e-12},                                      // Addr: 2Ar2n5DJSiQuMhY4XeSzg7C5AGMezZPoLUt98VmmjsAR, Notional: 20.524632019495627
-		{Chain: 1, Addr: "11f6454055669087f8f46c16a81e0ec3df5f68187b6bb8f1ecb954d07b7d3339", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 9, Price: 0.00022049},                                           // Addr: 2D7jZLpUUAMboqzHMeyaxZfLWpf4JZUoR4i82Zva7sxU, Notional: 7253.595775389551
-		{Chain: 1, Addr: "128bcb647d8bad1e7250e3b834bcfa9fd986f4d477d1bbb9054e602b11ebe061", Symbol: "ETH", CoinGeckoId: "wrapped-ethereum-sollet", Decimals: 6, Price: 853.3},                                    // Addr: 2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk, Notional: 9.040713499999999
-		{Chain: 1, Addr: "131fec1ab25c75e93eceea35ea3d3d82e6a3fd3d1e1f45a68ee0c14245aebaf6", Symbol: "SAO", CoinGeckoId: "sator", Decimals: 9, Price: 0.00020279},                                                 // Addr: 2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq, Notional: 6802.330921794885
-		{Chain: 1, Addr: "139fc1fba8ff288c85d542130fc2caf2caf15d4dc9fce4ac81c1de0fdd3e5be1", Symbol: "KURO", CoinGeckoId: "kurobi", Decimals: 6, Price: 0.00001404},                                               // Addr: 2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn, Notional: 0.14496705104544
+		{Chain: 1, Addr: "0cc10f516aaae9c14ba9471f60abd392dcd786d57354abedeee7289dd40a0a0a", Symbol: "RENDER", CoinGeckoId: "render-token", Decimals: 8, Price: 3.34},                                             // Addr: rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof, Notional: 4258.1817527092
+		{Chain: 1, Addr: "0cea8ee4d02b332af25488b03f6b02b11cd5ca4b7f051ee72575c50b55addd40", Symbol: "sRLY", CoinGeckoId: "rally-solana", Decimals: 9, Price: 0.0009436},                                          // Addr: sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh, Notional: 12.9616129679456
+		{Chain: 1, Addr: "0d8323c076f0e28718ca60d77e6b39cee8f23f43cfc4ff1f5852b8fc1b94a293", Symbol: "BOME", CoinGeckoId: "book-of-meme", Decimals: 6, Price: 0.00161788},                                         // Addr: ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82, Notional: 43797.852307166315
+		{Chain: 1, Addr: "0e21542327931809efbf3b282c09eb7ef5f82c68e5c35024c97da4f89a2234c7", Symbol: "DONK", CoinGeckoId: "donk", Decimals: 5, Price: 2.98949e-10},                                                // Addr: xABfKiG2KCHi6keTeLycW1iK7B52wJmchSWXu3YrsDp, Notional: 0.050647939579999995
+		{Chain: 1, Addr: "0e217f1d89397a8a2cdfcf5e46b64ac4e04206a3f396cd87b23734049eff9cae", Symbol: "xALGO", CoinGeckoId: "wrapped-algo", Decimals: 6, Price: 0.366531},                                          // Addr: xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms, Notional: 9.410444446787999
+		{Chain: 1, Addr: "0e56395e3c860143802e9b94a02cc6d04f75fec72a3fbb715268355e0cd7cd89", Symbol: "SLIM", CoinGeckoId: "solanium", Decimals: 6, Price: 0.03320408},                                             // Addr: xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW, Notional: 1.4313565000279997
+		{Chain: 1, Addr: "0ec49e1c77e79828f9ae8a051b662e2088c728069cedb70fef8521b94acf74f8", Symbol: "", CoinGeckoId: "zebec-protocol", Decimals: 9, Price: 0.00113147},                                           // Addr: zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF, Notional: 2444.6904240782633
+		{Chain: 1, Addr: "1076469c1041d9e9b39fc2ede11333973b3e95732a4439207193a61cc4108d43", Symbol: "JLP", CoinGeckoId: "jupiter-perpetuals-liquidity-provider-token", Decimals: 6, Price: 5.59},                 // Addr: 27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4, Notional: 2.795
+		{Chain: 1, Addr: "11615a73ca119d91ad275cf19659f206265356fbd4161175b6c2cee43ceb267a", Symbol: "STATE", CoinGeckoId: "new-world-order", Decimals: 3, Price: 1.639e-12},                                      // Addr: 2Ar2n5DJSiQuMhY4XeSzg7C5AGMezZPoLUt98VmmjsAR, Notional: 20.663311965573303
+		{Chain: 1, Addr: "11f6454055669087f8f46c16a81e0ec3df5f68187b6bb8f1ecb954d07b7d3339", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 9, Price: 0.00022077},                                           // Addr: 2D7jZLpUUAMboqzHMeyaxZfLWpf4JZUoR4i82Zva7sxU, Notional: 7262.807108407415
+		{Chain: 1, Addr: "128bcb647d8bad1e7250e3b834bcfa9fd986f4d477d1bbb9054e602b11ebe061", Symbol: "ETH", CoinGeckoId: "wrapped-ethereum-sollet", Decimals: 6, Price: 696.71},                                   // Addr: 2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk, Notional: 7.38164245
+		{Chain: 1, Addr: "131fec1ab25c75e93eceea35ea3d3d82e6a3fd3d1e1f45a68ee0c14245aebaf6", Symbol: "SAO", CoinGeckoId: "sator", Decimals: 9, Price: 0.00022064},                                                 // Addr: 2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq, Notional: 7487.3811805957175
+		{Chain: 1, Addr: "139fc1fba8ff288c85d542130fc2caf2caf15d4dc9fce4ac81c1de0fdd3e5be1", Symbol: "KURO", CoinGeckoId: "kurobi", Decimals: 6, Price: 0.00001383},                                               // Addr: 2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn, Notional: 0.14279874045288
 		{Chain: 1, Addr: "16360094fd16e58867412ca58e622fe81a71fe47b8a8bf3b612e9d96a403d33b", Symbol: "EUROe", CoinGeckoId: "euroe-stablecoin", Decimals: 6, Price: 1.17},                                          // Addr: 2VhjJ9WxaGC3EZFwJG9BDUs9KxKCAjQY4vgd1qxgYWVg, Notional: 5.85
-		{Chain: 1, Addr: "17e700a49c421ef60ab1bb731357d11093c809d0056852d3e9e1e6c2653c81e9", Symbol: "", CoinGeckoId: "plutonian-dao", Decimals: 6, Price: 0.00157807},                                            // Addr: 2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur, Notional: 0.157807
-		{Chain: 1, Addr: "1a4fede1c16f0065b6988359bf11e8dad051daba0f615395b80faeee4ed8ad97", Symbol: "POGAI", CoinGeckoId: "pogai-sol", Decimals: 5, Price: 0.00000823},                                           // Addr: 2miHpQbYLPvXxC2V234jrrrtnJdejd5xW883a5ToNW3g, Notional: 0.2604949598081
-		{Chain: 1, Addr: "1d0b90f13cac323097379dfaa8c11f7d6cf3a7bed333042be6fe572281cdfca0", Symbol: "NINJA", CoinGeckoId: "shinobi-2", Decimals: 9, Price: 0.00011351},                                           // Addr: 2xP43MawHfU7pwPUmvkc6AUWg4GX8xPQLTGMkSZfCEJT, Notional: 0.0022702
-		{Chain: 1, Addr: "1de8220d15414f8be688949bb1a2e853c45d49fb9c17b70ff4250c82c0518cb1", Symbol: "GP", CoinGeckoId: "graphite-protocol", Decimals: 9, Price: 1.36},                                            // Addr: 31k88G5Mq7ptbRDf3AM13HAq6wRQHXHikR8hik7wPygk, Notional: 0.7453950288000001
-		{Chain: 1, Addr: "204cc66e5cc71f4795cfafe7b922d9e9bfe57b6ae41fb5ab6d9e65a8845ee90f", Symbol: "BILLY", CoinGeckoId: "billy", Decimals: 6, Price: 0.00341296},                                               // Addr: 3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump, Notional: 3.1504380553585603
-		{Chain: 1, Addr: "208a634ca68fc16843f70bbfcba1726110efb9ecfeafc0ac828d749cc62fe72b", Symbol: "CAPRICORN", CoinGeckoId: "capricorn-2", Decimals: 6, Price: 0.00068657},                                     // Addr: 3C2SN1FjzE9MiLFFVRp7Jhkp8Gjwpk29S2TCSJ2jkHn2, Notional: 3304.353960695115
-		{Chain: 1, Addr: "20dc94caa1c4d02e8d2d5d955438684fa2fc1558a68ffe079b4b813554301119", Symbol: "HM", CoinGeckoId: "holdium", Decimals: 9, Price: 0.00012324},                                                // Addr: 3DH8WZ6C2HdDR4J9ekYnTfai8Tx8mxn92mW8zcYmP4px, Notional: 0.00049296
+		{Chain: 1, Addr: "17e700a49c421ef60ab1bb731357d11093c809d0056852d3e9e1e6c2653c81e9", Symbol: "", CoinGeckoId: "plutonian-dao", Decimals: 6, Price: 0.00138475},                                            // Addr: 2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur, Notional: 0.138475
+		{Chain: 1, Addr: "1a4fede1c16f0065b6988359bf11e8dad051daba0f615395b80faeee4ed8ad97", Symbol: "POGAI", CoinGeckoId: "pogai-sol", Decimals: 5, Price: 0.00000799},                                           // Addr: 2miHpQbYLPvXxC2V234jrrrtnJdejd5xW883a5ToNW3g, Notional: 0.2528985089753
+		{Chain: 1, Addr: "1d0b90f13cac323097379dfaa8c11f7d6cf3a7bed333042be6fe572281cdfca0", Symbol: "NINJA", CoinGeckoId: "shinobi-2", Decimals: 9, Price: 0.00009361},                                           // Addr: 2xP43MawHfU7pwPUmvkc6AUWg4GX8xPQLTGMkSZfCEJT, Notional: 0.0018722
+		{Chain: 1, Addr: "1de8220d15414f8be688949bb1a2e853c45d49fb9c17b70ff4250c82c0518cb1", Symbol: "GP", CoinGeckoId: "graphite-protocol", Decimals: 9, Price: 0.844192},                                        // Addr: 31k88G5Mq7ptbRDf3AM13HAq6wRQHXHikR8hik7wPygk, Notional: 0.46268861775936004
+		{Chain: 1, Addr: "204cc66e5cc71f4795cfafe7b922d9e9bfe57b6ae41fb5ab6d9e65a8845ee90f", Symbol: "BILLY", CoinGeckoId: "billy", Decimals: 6, Price: 0.00265108},                                               // Addr: 3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump, Notional: 2.44716120897988
+		{Chain: 1, Addr: "208a634ca68fc16843f70bbfcba1726110efb9ecfeafc0ac828d749cc62fe72b", Symbol: "CAPRICORN", CoinGeckoId: "capricorn-2", Decimals: 6, Price: 0.00052577},                                     // Addr: 3C2SN1FjzE9MiLFFVRp7Jhkp8Gjwpk29S2TCSJ2jkHn2, Notional: 2689.7773312422296
+		{Chain: 1, Addr: "20dc94caa1c4d02e8d2d5d955438684fa2fc1558a68ffe079b4b813554301119", Symbol: "HM", CoinGeckoId: "holdium", Decimals: 9, Price: 0.00011037},                                                // Addr: 3DH8WZ6C2HdDR4J9ekYnTfai8Tx8mxn92mW8zcYmP4px, Notional: 0.00044148
 		{Chain: 1, Addr: "2109ce397c41f14a97da3d94eb68a2fcbc62fdd568e73b3d8a8c62d18a691b80", Symbol: "", CoinGeckoId: "arenum", Decimals: 6, Price: 0.00004401},                                                   // Addr: 3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD, Notional: 0.007348613671980001
-		{Chain: 1, Addr: "224b49876149714cc03053b6738ec0533f346a62459bfbad2c93c8eb54e3912f", Symbol: "PISCES", CoinGeckoId: "pisces", Decimals: 6, Price: 0.000689},                                               // Addr: 3JsSsmGzjWDNe9XCw2L9vznC5JU9wSqQeB6ns5pAkPeE, Notional: 3386.399702317788
-		{Chain: 1, Addr: "2427c13d88770be13f5907d01ba6c18f72f0241307c721a88b95f53dceada211", Symbol: "MOTHER", CoinGeckoId: "mother-iggy", Decimals: 6, Price: 0.00767531},                                        // Addr: 3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN, Notional: 1154.9100634409604
-		{Chain: 1, Addr: "25a608f065296572c67bdf0a455f0f0069d17a8b7a716bb1396448f1a1e249e3", Symbol: "DIP", CoinGeckoId: "doginthpool", Decimals: 6, Price: 0.00019172},                                           // Addr: 3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk, Notional: 0.19171999999999997
-		{Chain: 1, Addr: "2688c77a2a9c9ad17318699dcb85b3d9a23762c6e7156bc7f83b3052953293f2", Symbol: "LIKE", CoinGeckoId: "only1", Decimals: 9, Price: 0.0103102},                                                 // Addr: 3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR, Notional: 0.083203314
-		{Chain: 1, Addr: "28baefb80baafbc803106976f26f343eb62d796b8f96a8c6b81a425b9ac0f388", Symbol: "FLOOF", CoinGeckoId: "floof", Decimals: 1, Price: 1.194e-7},                                                 // Addr: 3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw, Notional: 3.582e-7
+		{Chain: 1, Addr: "224b49876149714cc03053b6738ec0533f346a62459bfbad2c93c8eb54e3912f", Symbol: "PISCES", CoinGeckoId: "pisces", Decimals: 6, Price: 0.00054075},                                             // Addr: 3JsSsmGzjWDNe9XCw2L9vznC5JU9wSqQeB6ns5pAkPeE, Notional: 2805.834247898005
+		{Chain: 1, Addr: "2427c13d88770be13f5907d01ba6c18f72f0241307c721a88b95f53dceada211", Symbol: "MOTHER", CoinGeckoId: "mother-iggy", Decimals: 6, Price: 0.00653691},                                        // Addr: 3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN, Notional: 983.6141006432116
+		{Chain: 1, Addr: "25a608f065296572c67bdf0a455f0f0069d17a8b7a716bb1396448f1a1e249e3", Symbol: "DIP", CoinGeckoId: "doginthpool", Decimals: 6, Price: 0.0001211},                                            // Addr: 3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk, Notional: 0.1211
+		{Chain: 1, Addr: "2688c77a2a9c9ad17318699dcb85b3d9a23762c6e7156bc7f83b3052953293f2", Symbol: "LIKE", CoinGeckoId: "only1", Decimals: 9, Price: 0.00740868},                                                // Addr: 3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR, Notional: 0.059788047600000005
+		{Chain: 1, Addr: "28baefb80baafbc803106976f26f343eb62d796b8f96a8c6b81a425b9ac0f388", Symbol: "FLOOF", CoinGeckoId: "floof", Decimals: 1, Price: 9.9032e-8},                                                // Addr: 3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw, Notional: 2.97096e-7
 		{Chain: 1, Addr: "2903e3b75ce4a7a17e88a51089e5ab74c0337016511bd471870e26012321a296", Symbol: "", CoinGeckoId: "wagmi-on-solana", Decimals: 6, Price: 2.87597e-7},                                          // Addr: 3m7A2A8HHdqmiDrjAfaddj7Hxd88FrBHA1KSoqjoELtu, Notional: 0.0000287597
-		{Chain: 1, Addr: "2ae45f86dd41432f582f58321d9bf302527cce303a285d36d915c5fc9e87fbbe", Symbol: "pepe", CoinGeckoId: "pepecoin-on-sol", Decimals: 9, Price: 0.0001403},                                       // Addr: 3tS6fbLh2P8tzxXuqCiHZpZhsxJpmrR3Xb9psmypnp69, Notional: 86.52553906984113
-		{Chain: 1, Addr: "2ccec8f92e8942182bef15efc347d609a7b2010db68d678664fae043b5f6e707", Symbol: "BOGUS", CoinGeckoId: "bogus", Decimals: 9, Price: 0.00006461},                                               // Addr: 41upazdWAgLjfCkLGQwGDgj2knovnpPyr4q2ZVNjifLz, Notional: 186.89305146599148
-		{Chain: 1, Addr: "2cdc841aa0053fa5a1a39de2d59ef07fecd3e1220b6ec63b7a3ca1662f8adc6a", Symbol: "SAUCE", CoinGeckoId: "sauce", Decimals: 9, Price: 0.00002993},                                               // Addr: 427xvZVKbFj7ZyfFoYS9iFpNuNsrijm6T9VP8znfko9j, Notional: 0.0011972
-		{Chain: 1, Addr: "2d36764d010cc1a6962ed97f6f9da736f885232ea23e6980142d6d9fa26156ff", Symbol: "STNK", CoinGeckoId: "stonks-4", Decimals: 9, Price: 8.68},                                                   // Addr: 43VWkd99HjqkhFTZbWBpMpRhjG469nWa7x7uEsgSH7We, Notional: 8.68
-		{Chain: 1, Addr: "2f0a3b79b92e25cb92710b81e49f233cef7ced3e9fb4ee0191f39b11c74777d4", Symbol: "TJRM", CoinGeckoId: "tajir-tech-hub", Decimals: 9, Price: 0.00579604},                                       // Addr: 4AdDFsG1xzz1L7zKGo2fbiqv256Z92u8uCcJCgYuTBLo, Notional: 30783.18927069353
-		{Chain: 1, Addr: "2f64669f9f8ad5ee900c4050cf06c756f3d10a02c908f803c1e43ed7a145d3a0", Symbol: "SWOLE", CoinGeckoId: "swole-doge", Decimals: 9, Price: 0.00000165},                                          // Addr: 4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z, Notional: 3.0723637082116113
-		{Chain: 1, Addr: "2f982c219d581e23f410f320ee59a543dadda9d7925d6995a88982eb5e63f39f", Symbol: "DADDY", CoinGeckoId: "daddy-tate", Decimals: 6, Price: 0.02893756},                                          // Addr: 4Cnk9EPnW5ixfLZatCPJjDB1PUtcRpVVgTQukm9epump, Notional: 0.060768876000000006
-		{Chain: 1, Addr: "300e2e338a5ee89798c860ff877f2e6986cdec0ecee68f23874a7cc386b34e55", Symbol: "WGC", CoinGeckoId: "wild-goat-coin-2", Decimals: 6, Price: 0.00009055},                                      // Addr: 4Eb7ReeT936hX25KMBfYtyP1RWDdd9iixEwGJroACeLC, Notional: 199233.64993928038
+		{Chain: 1, Addr: "2ae45f86dd41432f582f58321d9bf302527cce303a285d36d915c5fc9e87fbbe", Symbol: "pepe", CoinGeckoId: "pepecoin-on-sol", Decimals: 9, Price: 0.00012694},                                      // Addr: 3tS6fbLh2P8tzxXuqCiHZpZhsxJpmrR3Xb9psmypnp69, Notional: 78.28618624038228
+		{Chain: 1, Addr: "2ccec8f92e8942182bef15efc347d609a7b2010db68d678664fae043b5f6e707", Symbol: "BOGUS", CoinGeckoId: "bogus", Decimals: 9, Price: 0.00005996},                                               // Addr: 41upazdWAgLjfCkLGQwGDgj2knovnpPyr4q2ZVNjifLz, Notional: 173.44230561679072
+		{Chain: 1, Addr: "2cdc841aa0053fa5a1a39de2d59ef07fecd3e1220b6ec63b7a3ca1662f8adc6a", Symbol: "SAUCE", CoinGeckoId: "sauce", Decimals: 9, Price: 0.00002972},                                               // Addr: 427xvZVKbFj7ZyfFoYS9iFpNuNsrijm6T9VP8znfko9j, Notional: 0.0011888
+		{Chain: 1, Addr: "2d36764d010cc1a6962ed97f6f9da736f885232ea23e6980142d6d9fa26156ff", Symbol: "STNK", CoinGeckoId: "stonks-4", Decimals: 9, Price: 8.49},                                                   // Addr: 43VWkd99HjqkhFTZbWBpMpRhjG469nWa7x7uEsgSH7We, Notional: 8.49
+		{Chain: 1, Addr: "2f0a3b79b92e25cb92710b81e49f233cef7ced3e9fb4ee0191f39b11c74777d4", Symbol: "TJRM", CoinGeckoId: "tajir-tech-hub", Decimals: 9, Price: 0.00409677},                                       // Addr: 4AdDFsG1xzz1L7zKGo2fbiqv256Z92u8uCcJCgYuTBLo, Notional: 22011.45548616971
+		{Chain: 1, Addr: "2f64669f9f8ad5ee900c4050cf06c756f3d10a02c908f803c1e43ed7a145d3a0", Symbol: "SWOLE", CoinGeckoId: "swole-doge", Decimals: 9, Price: 0.00000141},                                          // Addr: 4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z, Notional: 2.6254744415626496
+		{Chain: 1, Addr: "2f982c219d581e23f410f320ee59a543dadda9d7925d6995a88982eb5e63f39f", Symbol: "DADDY", CoinGeckoId: "daddy-tate", Decimals: 6, Price: 0.02662459},                                          // Addr: 4Cnk9EPnW5ixfLZatCPJjDB1PUtcRpVVgTQukm9epump, Notional: 0.055911639
+		{Chain: 1, Addr: "300e2e338a5ee89798c860ff877f2e6986cdec0ecee68f23874a7cc386b34e55", Symbol: "WGC", CoinGeckoId: "wild-goat-coin-2", Decimals: 6, Price: 0.00008728},                                      // Addr: 4Eb7ReeT936hX25KMBfYtyP1RWDdd9iixEwGJroACeLC, Notional: 192038.7958774201
 		{Chain: 1, Addr: "33660fff0fbce64c4da91c3b3e6e77e58d059df2e05e6c53608de170455ba938", Symbol: "SCT", CoinGeckoId: "solclout", Decimals: 9, Price: 0.00099435},                                              // Addr: 4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ, Notional: 81754.67245793703
-		{Chain: 1, Addr: "3398844e5c88d23bf0fde5120ffd5b8d81893dea2fb950ad305923b40562e58c", Symbol: "JALA", CoinGeckoId: "jalapeno-finance", Decimals: 9, Price: 0.00003491},                                     // Addr: 4UQgPwwcyTfELvJViUUJEa229K7RQEzCrc4Cnuxa7zxs, Notional: 296.77381992000005
+		{Chain: 1, Addr: "3398844e5c88d23bf0fde5120ffd5b8d81893dea2fb950ad305923b40562e58c", Symbol: "JALA", CoinGeckoId: "jalapeno-finance", Decimals: 9, Price: 0.00004087},                                     // Addr: 4UQgPwwcyTfELvJViUUJEa229K7RQEzCrc4Cnuxa7zxs, Notional: 347.44044744
 		{Chain: 1, Addr: "33b8d6efc25f5766808494c4ec2c62ad1409a96266eab2113b72b3148ebede0f", Symbol: "XSB", CoinGeckoId: "solareum-wallet", Decimals: 9, Price: 0.00006227},                                       // Addr: 4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt, Notional: 0.00031135
-		{Chain: 1, Addr: "35fe161e6828028ece9caa2d89bcd7a1fd1bf140ad838d0c17d7b57c9b1aa238", Symbol: "SNY", CoinGeckoId: "synthetify-token", Decimals: 6, Price: 0.00273129},                                      // Addr: 4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y, Notional: 2.185032e-8
+		{Chain: 1, Addr: "35fe161e6828028ece9caa2d89bcd7a1fd1bf140ad838d0c17d7b57c9b1aa238", Symbol: "SNY", CoinGeckoId: "synthetify-token", Decimals: 6, Price: 0.00275845},                                      // Addr: 4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y, Notional: 2.2067599999999998e-8
 		{Chain: 1, Addr: "360c012e23f5bf12d1e47e985682d8814e6bb1715920852acca33346708fa968", Symbol: "MIM", CoinGeckoId: "mim", Decimals: 9, Price: 0.0000013},                                                    // Addr: 4dydh8EGNEdTz6grqnGBxpduRg55eLnwNZXoNZJetadu, Notional: 0.014634626727097002
-		{Chain: 1, Addr: "37998ccbf2d0458b615cbcc6b1a367c4749e9fef7306622e1b1b58910120bc9a", Symbol: "RAY", CoinGeckoId: "raydium", Decimals: 6, Price: 3.31},                                                     // Addr: 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R, Notional: 64519.17067318
+		{Chain: 1, Addr: "37998ccbf2d0458b615cbcc6b1a367c4749e9fef7306622e1b1b58910120bc9a", Symbol: "RAY", CoinGeckoId: "raydium", Decimals: 6, Price: 2.64},                                                     // Addr: 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R, Notional: 51146.161991760004
 		{Chain: 1, Addr: "3a0147829f94ff731beb78f4bf79f8247eb6db6ff78cbdbd778004547c3cfb15", Symbol: "", CoinGeckoId: "playground-waves-floor-index", Decimals: 2, Price: 0.052515},                               // Addr: 4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4, Notional: 0.997785
-		{Chain: 1, Addr: "3a5dbacb04d71ef866691d531287d96c7c36bfdf444418fc74a4dd1b7017f76b", Symbol: "WYNN", CoinGeckoId: "anita-max-wynn", Decimals: 6, Price: 0.00035543},                                       // Addr: 4vqYQTjmKjxrWGtbL2tVkbAU1EVAz9JwcYtd2VE3PbVU, Notional: 31.9887
-		{Chain: 1, Addr: "3af4e2d8b5cb7182c097ad3b67e18e9ff9f28ad4a1ca8161809e1ff94e0e2216", Symbol: "FATGF", CoinGeckoId: "fatgf", Decimals: 6, Price: 0.00042827},                                               // Addr: 4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK, Notional: 0.00042827
-		{Chain: 1, Addr: "3b15c6089ac9e1722434f64313f16131fa6dab386951f47f2a6f02f3a9ab602a", Symbol: "CTUS", CoinGeckoId: "contractus", Decimals: 9, Price: 0.00288458},                                           // Addr: 4yeK2cCyxNNz28fVqEbkLYNCb1T9qPadsuJWeZ44Evcq, Notional: 347033.4169890924
-		{Chain: 1, Addr: "3b1f93f67db7d561ba257575f5935a4b2b8a7f0365015043ba2ebab4d94abeb8", Symbol: "EGG", CoinGeckoId: "egg", Decimals: 9, Price: 0.00000727},                                                   // Addr: 4ynyx6BzY2XGFgjjun9Cruj1bSRo8FLsAqNnPsW6jDsu, Notional: 0.00050163
-		{Chain: 1, Addr: "3ba8d09f68b3cc2546ac682aafba3d585690ebba80c218a9cc3807524ecc5957", Symbol: "", CoinGeckoId: "apexit-finance", Decimals: 9, Price: 0.00110242},                                           // Addr: 51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg, Notional: 0.0033072600000000002
-		{Chain: 1, Addr: "3df04a3638c2fb63cdbe8dfef12a3ac5398999227bcab5f97742f11c9bdb75ff", Symbol: "DOLLAR", CoinGeckoId: "dollar-2", Decimals: 6, Price: 0.00016811},                                           // Addr: 5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump, Notional: 9591.3658118711
-		{Chain: 1, Addr: "3ffd20f06c83bba88002f87f9d56050a5ef941fbbb0ea0293c829a82f11e3891", Symbol: "APYS", CoinGeckoId: "apyswap", Decimals: 9, Price: 0.00257253},                                              // Addr: 5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW, Notional: 0.17750457
-		{Chain: 1, Addr: "4099261906e4d99a6926404cb79d4a2de516b4aef140e4bf48d35b4ba22654e4", Symbol: "ACS", CoinGeckoId: "access-protocol", Decimals: 6, Price: 0.00094538},                                       // Addr: 5MAYDfq5yxtudAhtfyuMBuHZjgAbaS9tbEyEQYAhDS5y, Notional: 56.75831704361508
-		{Chain: 1, Addr: "41f6388b9c6a78895d16cb6f8ccb8705e0d68640c14d908ef943fb13d693cbcf", Symbol: "SIGMA", CoinGeckoId: "sigma", Decimals: 6, Price: 0.01035058},                                               // Addr: 5SVG3T9CNQsm2kEwzbRq6hASqh1oGfjqTtLXYUibpump, Notional: 18.4729453078596
-		{Chain: 1, Addr: "4262f09434e938b2714803d3aa425d1d543a735ba324109087760d83deae653d", Symbol: "SPWN", CoinGeckoId: "bitspawn", Decimals: 9, Price: 0.0000131},                                              // Addr: 5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt, Notional: 0.00131
+		{Chain: 1, Addr: "3a5dbacb04d71ef866691d531287d96c7c36bfdf444418fc74a4dd1b7017f76b", Symbol: "WYNN", CoinGeckoId: "anita-max-wynn", Decimals: 6, Price: 0.00034818},                                       // Addr: 4vqYQTjmKjxrWGtbL2tVkbAU1EVAz9JwcYtd2VE3PbVU, Notional: 31.3362
+		{Chain: 1, Addr: "3af4e2d8b5cb7182c097ad3b67e18e9ff9f28ad4a1ca8161809e1ff94e0e2216", Symbol: "FATGF", CoinGeckoId: "fatgf", Decimals: 6, Price: 0.00034481},                                               // Addr: 4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK, Notional: 0.00034481
+		{Chain: 1, Addr: "3b15c6089ac9e1722434f64313f16131fa6dab386951f47f2a6f02f3a9ab602a", Symbol: "CTUS", CoinGeckoId: "contractus", Decimals: 9, Price: 0.00356698},                                           // Addr: 4yeK2cCyxNNz28fVqEbkLYNCb1T9qPadsuJWeZ44Evcq, Notional: 429187.05619113287
+		{Chain: 1, Addr: "3b1f93f67db7d561ba257575f5935a4b2b8a7f0365015043ba2ebab4d94abeb8", Symbol: "EGG", CoinGeckoId: "egg", Decimals: 9, Price: 0.00000553},                                                   // Addr: 4ynyx6BzY2XGFgjjun9Cruj1bSRo8FLsAqNnPsW6jDsu, Notional: 0.00038157
+		{Chain: 1, Addr: "3ba8d09f68b3cc2546ac682aafba3d585690ebba80c218a9cc3807524ecc5957", Symbol: "", CoinGeckoId: "apexit-finance", Decimals: 9, Price: 0.00111561},                                           // Addr: 51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg, Notional: 0.00334683
+		{Chain: 1, Addr: "3df04a3638c2fb63cdbe8dfef12a3ac5398999227bcab5f97742f11c9bdb75ff", Symbol: "DOLLAR", CoinGeckoId: "dollar-2", Decimals: 6, Price: 0.00014366},                                           // Addr: 5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump, Notional: 8434.819657906663
+		{Chain: 1, Addr: "3ffd20f06c83bba88002f87f9d56050a5ef941fbbb0ea0293c829a82f11e3891", Symbol: "APYS", CoinGeckoId: "apyswap", Decimals: 9, Price: 0.00359776},                                              // Addr: 5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW, Notional: 0.24824544
+		{Chain: 1, Addr: "4099261906e4d99a6926404cb79d4a2de516b4aef140e4bf48d35b4ba22654e4", Symbol: "ACS", CoinGeckoId: "access-protocol", Decimals: 6, Price: 0.00079288},                                       // Addr: 5MAYDfq5yxtudAhtfyuMBuHZjgAbaS9tbEyEQYAhDS5y, Notional: 47.60258776105008
+		{Chain: 1, Addr: "41f6388b9c6a78895d16cb6f8ccb8705e0d68640c14d908ef943fb13d693cbcf", Symbol: "SIGMA", CoinGeckoId: "sigma", Decimals: 6, Price: 0.00914423},                                               // Addr: 5SVG3T9CNQsm2kEwzbRq6hASqh1oGfjqTtLXYUibpump, Notional: 16.319941556172598
+		{Chain: 1, Addr: "4262f09434e938b2714803d3aa425d1d543a735ba324109087760d83deae653d", Symbol: "SPWN", CoinGeckoId: "bitspawn", Decimals: 9, Price: 0.0000101},                                              // Addr: 5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt, Notional: 0.00101
 		{Chain: 1, Addr: "430badff7f2921f4811389b1c6d633b143f0fddcc7b5b2750e906bb8852b174b", Symbol: "HER", CoinGeckoId: "her-ai", Decimals: 6, Price: 0.00035215},                                                // Addr: 5WieRrJ5oFthgxaH4nCEkwJiBTxuRpEn9qmFRkVzkc98, Notional: 0.0035215000000000003
-		{Chain: 1, Addr: "440bb1bef25c02fd8bc579fff24223461330d00499404c63bdec80ab3f43ce35", Symbol: "Rizz", CoinGeckoId: "sigmagyattohiofanumskibidigooner", Decimals: 6, Price: 0.00036379},                     // Addr: 5ad4puH6yDBoeCcrQfwV5s9bxvPnAeWDoYDj3uLyBS8k, Notional: 44499.94222264961
-		{Chain: 1, Addr: "45a5161476cc9df6ef8583b581a3111b4416ebcea65f4eca5bb961124c3399df", Symbol: "", CoinGeckoId: "xhashtag", Decimals: 6, Price: 0.01427078},                                                 // Addr: 5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp, Notional: 14165.919022783997
-		{Chain: 1, Addr: "46db194d842a0b334325c1781821709d3e85b63901bd7dd4a5383bd312f3aaab", Symbol: "$michi", CoinGeckoId: "michicoin", Decimals: 6, Price: 0.02225435},                                          // Addr: 5mbK36SZ7J19An8jFochhQS4of8g6BwUjbeCSxBSoWdp, Notional: 15.659046850471348
-		{Chain: 1, Addr: "46dd37dd6a92fc21467d58d83c526393cd94492b97fec5124970fc4ea5a68be6", Symbol: "BRAWL", CoinGeckoId: "bitbrawl", Decimals: 9, Price: 0.00001206},                                            // Addr: 5mdBkZ4dTP94SE7PyiuWseTDAd1kYxSk6oYaWB7186s7, Notional: 4238.927347161243
-		{Chain: 1, Addr: "4757899fb8bedba28778aacd67e568e73470cce90bcd532b6cb618297628824e", Symbol: "INF", CoinGeckoId: "socean-staked-sol", Decimals: 9, Price: 292.38},                                         // Addr: 5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm, Notional: 293.7091039278
-		{Chain: 1, Addr: "485493b637792cca16fe9d53fc4879c23dbf52cf6d9af4e61fe92df15c17c98d", Symbol: "", CoinGeckoId: "bamboo-coin", Decimals: 9, Price: 0.00000146},                                              // Addr: 5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg, Notional: 0.438
-		{Chain: 1, Addr: "48972c3e59cc0c7a094c2948f847381cfef470e1ddf0711f0c858070711876f3", Symbol: "WAG", CoinGeckoId: "waggle-network", Decimals: 9, Price: 0.00039624},                                        // Addr: 5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E, Notional: 0.002020824
-		{Chain: 1, Addr: "4a05e1f7f53477602c239f1a2b8da4277ccd279ff26128cb361c3791b5a9156c", Symbol: "Fronk", CoinGeckoId: "fronk", Decimals: 5, Price: 7.128e-9},                                                 // Addr: 5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H, Notional: 152.67151758612593
-		{Chain: 1, Addr: "4a0b628dff0f5cdd497907e62510e77277360c2e9dc2081898dd62e4ffe39caf", Symbol: "PONKE", CoinGeckoId: "ponke", Decimals: 9, Price: 0.100164},                                                 // Addr: 5z3EqYQo9HiCEs3R84RCDMu2n7anpDMxRhdK8PSWmrRC, Notional: 1.1591884614282
-		{Chain: 1, Addr: "4a6b1a6b92df4ed3059e120bd0e5e4b6a97fd0e8db832c163a15fd284e4d46c7", Symbol: "DILLY", CoinGeckoId: "dilly", Decimals: 9, Price: 0.00002239},                                               // Addr: 61VtkXr9mRXtrFYe2T9arWYX52sbJnkAUQgfjGuCzox2, Notional: 41.91079722108357
-		{Chain: 1, Addr: "4ae3d320820544fffa2e6dae60f8ed2bc3426d8de3d7f77ddf350c18fd6b3194", Symbol: "GIGA", CoinGeckoId: "gigachad-2", Decimals: 5, Price: 0.01247443},                                           // Addr: 63LfDmNb3MQ8mw9MtZ2To9bEA2M71kZUUGq5tiJxcqj9, Notional: 3398.4452082336666
-		{Chain: 1, Addr: "4d649bee4edf806f5f3258955fc99e05348af3e3376299b00256d6a0d08a157f", Symbol: "SC", CoinGeckoId: "shark-cat", Decimals: 6, Price: 0.00314223},                                              // Addr: 6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui, Notional: 11.626251
-		{Chain: 1, Addr: "518ecf30942036e11b4eb4f2f5a05d32661f9ada0a6a4402c5df098ea6c4fbce", Symbol: "wHAPI", CoinGeckoId: "hapi", Decimals: 9, Price: 1.98},                                                      // Addr: 6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm, Notional: 0.0595633896
-		{Chain: 1, Addr: "5468187df701e428898565f1c522b352ad481d0dcb40d8b6e1036ba153e5e3af", Symbol: "pog", CoinGeckoId: "pog", Decimals: 6, Price: 0.00004822},                                                   // Addr: 6gVJwfHxWov8HxdAZ4v4tt2RpZZst6du74y4bUCdpump, Notional: 0.0050631
-		{Chain: 1, Addr: "547b309eace670a9af4c6da12402ddbbc60d43c10e2c177b9533bdbc1888576f", Symbol: "BSKT", CoinGeckoId: "basket", Decimals: 5, Price: 1.40732e-7},                                               // Addr: 6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA, Notional: 3348.330266590039
+		{Chain: 1, Addr: "440bb1bef25c02fd8bc579fff24223461330d00499404c63bdec80ab3f43ce35", Symbol: "Rizz", CoinGeckoId: "sigmagyattohiofanumskibidigooner", Decimals: 6, Price: 0.00021053},                     // Addr: 5ad4puH6yDBoeCcrQfwV5s9bxvPnAeWDoYDj3uLyBS8k, Notional: 27606.586966041115
+		{Chain: 1, Addr: "45a5161476cc9df6ef8583b581a3111b4416ebcea65f4eca5bb961124c3399df", Symbol: "", CoinGeckoId: "xhashtag", Decimals: 6, Price: 0.01189342},                                                 // Addr: 5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp, Notional: 11806.027745081883
+		{Chain: 1, Addr: "46db194d842a0b334325c1781821709d3e85b63901bd7dd4a5383bd312f3aaab", Symbol: "$michi", CoinGeckoId: "michicoin", Decimals: 6, Price: 0.01690791},                                          // Addr: 5mbK36SZ7J19An8jFochhQS4of8g6BwUjbeCSxBSoWdp, Notional: 11.89707876588411
+		{Chain: 1, Addr: "46dd37dd6a92fc21467d58d83c526393cd94492b97fec5124970fc4ea5a68be6", Symbol: "BRAWL", CoinGeckoId: "bitbrawl", Decimals: 9, Price: 0.00002542},                                            // Addr: 5mdBkZ4dTP94SE7PyiuWseTDAd1kYxSk6oYaWB7186s7, Notional: 8870.280850340718
+		{Chain: 1, Addr: "4757899fb8bedba28778aacd67e568e73470cce90bcd532b6cb618297628824e", Symbol: "INF", CoinGeckoId: "socean-staked-sol", Decimals: 9, Price: 284.67},                                         // Addr: 5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm, Notional: 285.9640557327
+		{Chain: 1, Addr: "485493b637792cca16fe9d53fc4879c23dbf52cf6d9af4e61fe92df15c17c98d", Symbol: "", CoinGeckoId: "bamboo-coin", Decimals: 9, Price: 0.00000107},                                              // Addr: 5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg, Notional: 0.32099999999999995
+		{Chain: 1, Addr: "48972c3e59cc0c7a094c2948f847381cfef470e1ddf0711f0c858070711876f3", Symbol: "WAG", CoinGeckoId: "waggle-network", Decimals: 9, Price: 0.00039395},                                        // Addr: 5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E, Notional: 0.002009145
+		{Chain: 1, Addr: "4a05e1f7f53477602c239f1a2b8da4277ccd279ff26128cb361c3791b5a9156c", Symbol: "Fronk", CoinGeckoId: "fronk", Decimals: 5, Price: 5.454e-9},                                                 // Addr: 5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H, Notional: 118.59975847969066
+		{Chain: 1, Addr: "4a0b628dff0f5cdd497907e62510e77277360c2e9dc2081898dd62e4ffe39caf", Symbol: "PONKE", CoinGeckoId: "ponke", Decimals: 9, Price: 0.084244},                                                 // Addr: 5z3EqYQo9HiCEs3R84RCDMu2n7anpDMxRhdK8PSWmrRC, Notional: 0.9749478130321999
+		{Chain: 1, Addr: "4a6b1a6b92df4ed3059e120bd0e5e4b6a97fd0e8db832c163a15fd284e4d46c7", Symbol: "DILLY", CoinGeckoId: "dilly", Decimals: 9, Price: 0.00002282},                                               // Addr: 61VtkXr9mRXtrFYe2T9arWYX52sbJnkAUQgfjGuCzox2, Notional: 42.71569417530714
+		{Chain: 1, Addr: "4ae3d320820544fffa2e6dae60f8ed2bc3426d8de3d7f77ddf350c18fd6b3194", Symbol: "GIGA", CoinGeckoId: "gigachad-2", Decimals: 5, Price: 0.01165133},                                           // Addr: 63LfDmNb3MQ8mw9MtZ2To9bEA2M71kZUUGq5tiJxcqj9, Notional: 3174.2056837906953
+		{Chain: 1, Addr: "4d649bee4edf806f5f3258955fc99e05348af3e3376299b00256d6a0d08a157f", Symbol: "SC", CoinGeckoId: "shark-cat", Decimals: 6, Price: 0.00257498},                                              // Addr: 6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui, Notional: 9.527426
+		{Chain: 1, Addr: "518ecf30942036e11b4eb4f2f5a05d32661f9ada0a6a4402c5df098ea6c4fbce", Symbol: "wHAPI", CoinGeckoId: "hapi", Decimals: 9, Price: 2.19},                                                      // Addr: 6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm, Notional: 0.0658807188
+		{Chain: 1, Addr: "5468187df701e428898565f1c522b352ad481d0dcb40d8b6e1036ba153e5e3af", Symbol: "pog", CoinGeckoId: "pog", Decimals: 6, Price: 0.00004003},                                                   // Addr: 6gVJwfHxWov8HxdAZ4v4tt2RpZZst6du74y4bUCdpump, Notional: 0.00420315
+		{Chain: 1, Addr: "547b309eace670a9af4c6da12402ddbbc60d43c10e2c177b9533bdbc1888576f", Symbol: "BSKT", CoinGeckoId: "basket", Decimals: 5, Price: 9.4113e-8},                                                // Addr: 6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA, Notional: 2248.4623409929027
 		{Chain: 1, Addr: "558bfd9cf2fcdc18de6a9463c3d2a372e961c63264900d3d3cb5d86560c4655b", Symbol: "SAIL", CoinGeckoId: "sail", Decimals: 6, Price: 0.0032285},                                                  // Addr: 6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y, Notional: 0.019371
 		{Chain: 1, Addr: "560d05641b74bbada05fdd6b3fd731b5df7cd417fd1d8cf129476a7aaa55b308", Symbol: "", CoinGeckoId: "wrapped-busd-allbridge-from-bsc", Decimals: 9, Price: 1.004},                               // Addr: 6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF, Notional: 259.2621460666
-		{Chain: 1, Addr: "56405db9a54ee121b5acf6d28c359e5b50caae6bcd6439d814696ea95a99a3e9", Symbol: "RETARDIO", CoinGeckoId: "retardio", Decimals: 6, Price: 0.01503646},                                         // Addr: 6ogzHhzdrQr9Pgv6hZ2MNze7UrzBMAFyBBWUYp1Fhitx, Notional: 10.76905524279572
-		{Chain: 1, Addr: "58d2e009e5166d2e61063ed79f0fc83cdca913520383969208143c66ca0d2d8d", Symbol: "Chud", CoinGeckoId: "chudjak", Decimals: 6, Price: 0.00446206},                                              // Addr: 6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6, Notional: 5084.604498169177
+		{Chain: 1, Addr: "56405db9a54ee121b5acf6d28c359e5b50caae6bcd6439d814696ea95a99a3e9", Symbol: "RETARDIO", CoinGeckoId: "retardio", Decimals: 6, Price: 0.01129016},                                         // Addr: 6ogzHhzdrQr9Pgv6hZ2MNze7UrzBMAFyBBWUYp1Fhitx, Notional: 8.085969486169121
+		{Chain: 1, Addr: "58d2e009e5166d2e61063ed79f0fc83cdca913520383969208143c66ca0d2d8d", Symbol: "Chud", CoinGeckoId: "chudjak", Decimals: 6, Price: 0.00273663},                                              // Addr: 6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6, Notional: 3118.44332165518
 		{Chain: 1, Addr: "59174309f88fbd80970c5b2e2e69708a0d6e76eb4cf35ebf801bceae476211a6", Symbol: "CUTE", CoinGeckoId: "pepe-uwu", Decimals: 7, Price: 9.0178e-8},                                              // Addr: 6zmrmNUGdRwrqcchshVkBgAyLhLwZ7QvJRQiKktqVQLV, Notional: 32341.24021096634
 		{Chain: 1, Addr: "5970e12d014491b2ca2f4b15f6348ff255076d62422140f01e3d955896ccc619", Symbol: "Leancoin", CoinGeckoId: "leancoin", Decimals: 9, Price: 0.00004726},                                         // Addr: 7297kX7SEZ1do223VsjTAC2MS9gLxPJoxFs9UMwiG4oS, Notional: 1.22876e-11
-		{Chain: 1, Addr: "5be23d7c881e445a9387e65ee9b2ba25a1ffa3429008b591784fbe6300091d06", Symbol: "SLERF", CoinGeckoId: "slerf", Decimals: 9, Price: 0.083403},                                                 // Addr: 7BgBvyjrZX1YKz4oh9mjb8ZScatkkwb8DzFx7LoiVkM3, Notional: 24.173154574315113
-		{Chain: 1, Addr: "5c9e9d5fa309864acd7d8118d326313cde7b86df18e197924a03186ffe9f3d7a", Symbol: "SILLY", CoinGeckoId: "silly-dragon", Decimals: 9, Price: 0.0012199},                                         // Addr: 7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs, Notional: 5.171646705304354
-		{Chain: 1, Addr: "5d0b159affcbccf165c09bc2f5d4bafb4aa6345af793b9b3222daa40293a950d", Symbol: "POPCAT", CoinGeckoId: "popcat", Decimals: 9, Price: 0.262981},                                               // Addr: 7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr, Notional: 8899.793915672464
-		{Chain: 1, Addr: "5d8b4322ce5dfbe40a7d872bfd6e517329b49b125a21245fa2677f8e9163c77c", Symbol: "GEOD", CoinGeckoId: "geodnet", Decimals: 9, Price: 0.1543},                                                  // Addr: 7JA5eZdCzztSfQbJvS8aVVxMFfd81Rs9VvwnocV1mKHu, Notional: 3.850281744162
-		{Chain: 1, Addr: "5f0c446318ab10c95f4094958570cd057465a54dab14d9dde3481a86fed5fccb", Symbol: "JSOL", CoinGeckoId: "jpool", Decimals: 9, Price: 279.41},                                                    // Addr: 7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn, Notional: 82.87283835400001
-		{Chain: 1, Addr: "61926627585b9be4953991b827eb7d0ecc061afe1bf9a0a9079e009ccd695ae7", Symbol: "LIBRA", CoinGeckoId: "libra-4", Decimals: 6, Price: 0.00068952},                                             // Addr: 7Zt2KUh5mkpEpPGcNcFy51aGkh9Ycb5ELcqRH1n2GmAe, Notional: 6674.533220786833
-		{Chain: 1, Addr: "6270a9646bd0d4a8daeb0deba12c396b88fa79f4bf3c16f844ed91af004a4723", Symbol: "GCR", CoinGeckoId: "golden-celestial-ratio", Decimals: 9, Price: 0.00015701},                                // Addr: 7dGbPgUxKpB5qWiLRKcTQSC3om1fPzUpgGAFfwej9hXx, Notional: 6032.010179999999
-		{Chain: 1, Addr: "6271cb7119476b9dce00d815c8ff315fc8bf7d2848633d34942adfd535f2defe", Symbol: "stSOL", CoinGeckoId: "lido-staked-sol", Decimals: 9, Price: 261.25},                                         // Addr: 7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj, Notional: 159890.6155504625
-		{Chain: 1, Addr: "6386d5114f2b5a344f6265cb7e334e78ae569abd44a39b718d8e02fc487d9c02", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 3, Price: 1.17823e-10},                                         // Addr: 7hWcHohzwtLddDUG81H2PkWq6KEkMtSDNkYXsso18Fy3, Notional: 35.246659408157534
-		{Chain: 1, Addr: "63abd0967076f58ba2edadb41f10719df1354abe118f29a8f30ee6639474b947", Symbol: "", CoinGeckoId: "stepn", Decimals: 9, Price: 0.0429973},                                                     // Addr: 7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx, Notional: 102.17634164362933
+		{Chain: 1, Addr: "5be23d7c881e445a9387e65ee9b2ba25a1ffa3429008b591784fbe6300091d06", Symbol: "SLERF", CoinGeckoId: "slerf", Decimals: 9, Price: 0.076497},                                                 // Addr: 7BgBvyjrZX1YKz4oh9mjb8ZScatkkwb8DzFx7LoiVkM3, Notional: 22.17155024964789
+		{Chain: 1, Addr: "5c9e9d5fa309864acd7d8118d326313cde7b86df18e197924a03186ffe9f3d7a", Symbol: "SILLY", CoinGeckoId: "silly-dragon", Decimals: 9, Price: 0.00109726},                                        // Addr: 7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs, Notional: 4.65172642336442
+		{Chain: 1, Addr: "5d0b159affcbccf165c09bc2f5d4bafb4aa6345af793b9b3222daa40293a950d", Symbol: "POPCAT", CoinGeckoId: "popcat", Decimals: 9, Price: 0.216815},                                               // Addr: 7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr, Notional: 7367.0489560475635
+		{Chain: 1, Addr: "5d8b4322ce5dfbe40a7d872bfd6e517329b49b125a21245fa2677f8e9163c77c", Symbol: "GEOD", CoinGeckoId: "geodnet", Decimals: 9, Price: 0.156765},                                                // Addr: 7JA5eZdCzztSfQbJvS8aVVxMFfd81Rs9VvwnocV1mKHu, Notional: 5.88570396121995
+		{Chain: 1, Addr: "5f0c446318ab10c95f4094958570cd057465a54dab14d9dde3481a86fed5fccb", Symbol: "JSOL", CoinGeckoId: "jpool", Decimals: 9, Price: 271.28},                                                    // Addr: 7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn, Notional: 80.461485232
+		{Chain: 1, Addr: "61926627585b9be4953991b827eb7d0ecc061afe1bf9a0a9079e009ccd695ae7", Symbol: "LIBRA", CoinGeckoId: "libra-4", Decimals: 6, Price: 0.00051645},                                             // Addr: 7Zt2KUh5mkpEpPGcNcFy51aGkh9Ycb5ELcqRH1n2GmAe, Notional: 5099.292042984996
+		{Chain: 1, Addr: "6270a9646bd0d4a8daeb0deba12c396b88fa79f4bf3c16f844ed91af004a4723", Symbol: "GCR", CoinGeckoId: "golden-celestial-ratio", Decimals: 9, Price: 0.00016106},                                // Addr: 7dGbPgUxKpB5qWiLRKcTQSC3om1fPzUpgGAFfwej9hXx, Notional: 6187.60308
+		{Chain: 1, Addr: "6271cb7119476b9dce00d815c8ff315fc8bf7d2848633d34942adfd535f2defe", Symbol: "stSOL", CoinGeckoId: "lido-staked-sol", Decimals: 9, Price: 253.01},                                         // Addr: 7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj, Notional: 154847.5584322393
+		{Chain: 1, Addr: "6386d5114f2b5a344f6265cb7e334e78ae569abd44a39b718d8e02fc487d9c02", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 3, Price: 9.2761e-11},                                          // Addr: 7hWcHohzwtLddDUG81H2PkWq6KEkMtSDNkYXsso18Fy3, Notional: 27.749381473567134
+		{Chain: 1, Addr: "63abd0967076f58ba2edadb41f10719df1354abe118f29a8f30ee6639474b947", Symbol: "", CoinGeckoId: "stepn", Decimals: 9, Price: 0.03802966},                                                    // Addr: 7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx, Notional: 90.37152408990946
 		{Chain: 1, Addr: "63ef9d2e6be295552062ac55bdd693bea2bb7f6e6221edc9d308d843d293650b", Symbol: "SOLR", CoinGeckoId: "solrazr", Decimals: 6, Price: 0.00229832},                                              // Addr: 7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k, Notional: 0.00229832
-		{Chain: 1, Addr: "6752055c20b3e9d8746656ddf73855507f87ab6d87523e4c76a7fa36096a99eb", Symbol: "SAMO", CoinGeckoId: "samoyedcoin", Decimals: 9, Price: 0.00143976},                                          // Addr: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU, Notional: 0.5817636494065704
-		{Chain: 1, Addr: "676179b0b67070a1d3e299cac3bddc85e6b6b60600a99ddceae0f96b521cae33", Symbol: "DOGEVERSE", CoinGeckoId: "dogeverse", Decimals: 8, Price: 0.00000573},                                       // Addr: 7xZCdhj7rGhnKndRpU3NHgZhbFMkPLP2ErDr1AS8Chsx, Notional: 43.906308360000004
+		{Chain: 1, Addr: "6752055c20b3e9d8746656ddf73855507f87ab6d87523e4c76a7fa36096a99eb", Symbol: "SAMO", CoinGeckoId: "samoyedcoin", Decimals: 9, Price: 0.00153585},                                          // Addr: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU, Notional: 0.6205907241075466
+		{Chain: 1, Addr: "676179b0b67070a1d3e299cac3bddc85e6b6b60600a99ddceae0f96b521cae33", Symbol: "DOGEVERSE", CoinGeckoId: "dogeverse", Decimals: 8, Price: 0.00000513},                                       // Addr: 7xZCdhj7rGhnKndRpU3NHgZhbFMkPLP2ErDr1AS8Chsx, Notional: 39.30878916
 		{Chain: 1, Addr: "689ac099ef657e5d3b7efaf1e36ab8b897e2746232d8a9261b3e49b35c1dead4", Symbol: "xUSD", CoinGeckoId: "synthetic-usd", Decimals: 6, Price: 0.592223},                                          // Addr: 83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y, Notional: 5.904222275239
-		{Chain: 1, Addr: "6927fdc01ea906f96d7137874cdd7adad00ca35764619310e54196c781d84d5b", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 6, Price: 0.084518},                                                  // Addr: 85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ, Notional: 9321.146072508087
-		{Chain: 1, Addr: "69302bef50efd86a9bc1c2ac763ff56633e9fda1709eb0b858088e9cfbdcfe0f", Symbol: "Rizzmas", CoinGeckoId: "rizzmas", Decimals: 6, Price: 0.00001425},                                           // Addr: 85cQsFgbi8mBZxiPppbpPXuV7j1hA8tBwhjF4gKW6mHg, Notional: 7.79589
-		{Chain: 1, Addr: "6afc09bb2ca898b2a734540d93a61ea2dd46ab6bd318a3e3283c8fbe86b93f3e", Symbol: "LEO", CoinGeckoId: "leo-2", Decimals: 6, Price: 0.0007097},                                                  // Addr: 8Cd7wXoPb5Yt9cUGtmHNqAEmpMDrhfcVqnGbLC48b8Qm, Notional: 3328.207049944201
-		{Chain: 1, Addr: "6b04a01bfd79e1eddf99d77598a5da54ee3cc8189dedfc1408908e29e1e94058", Symbol: "POWSCHE", CoinGeckoId: "powsche", Decimals: 9, Price: 0.01233653},                                           // Addr: 8CkiSHHJDHJV4LUoiRMLUhqG58cUkbyJRtcP4Z3mCXNf, Notional: 12184.153026598726
-		{Chain: 1, Addr: "6b054395432c64d8250648371121f271fc3b8e36621384b9e91956bf02307c13", Symbol: "DOKI", CoinGeckoId: "doki", Decimals: 6, Price: 0.00004344},                                                 // Addr: 8CmHC7Y2715VFaMkMZMwWDqRYQwPLAsM57Xiu3Ho4TjG, Notional: 1.7699754151932
-		{Chain: 1, Addr: "6cccc33e6627899bd00d679cca0b56d788a1861b8de1ea3691e870710b92447c", Symbol: "LOCKIN", CoinGeckoId: "lock-in", Decimals: 9, Price: 0.01134925},                                            // Addr: 8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5, Notional: 11.819794566250467
-		{Chain: 1, Addr: "6dbb85629db6a38eeb2fec793974b4c7e9c5fdc9e70165303b4f73106e5e62ba", Symbol: "", CoinGeckoId: "rope-token", Decimals: 9, Price: 0.00416811},                                               // Addr: 8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo, Notional: 0.00416811
-		{Chain: 1, Addr: "73512a31b0ae74aae6fbce469044131a230a122b1ea6f4af3a4e93c9158b538e", Symbol: "JOWNES", CoinGeckoId: "alux-jownes", Decimals: 6, Price: 0.00001254},                                        // Addr: 8m9fjYycXAFva1kScttQgsESVZT7yELhjZASqfHBuMa5, Notional: 6.8446718257737595
-		{Chain: 1, Addr: "7589fb28d63e11a5f134a97a6bc85399e6cbe2fddb268d496f91204d5271ff05", Symbol: "GRAPE", CoinGeckoId: "grape-2", Decimals: 6, Price: 0.00022722},                                             // Addr: 8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA, Notional: 0.005271504
-		{Chain: 1, Addr: "75fa185aaff1c781b07269a4dfd7849add90a6db207bf61cff506c9b3d525376", Symbol: "GME", CoinGeckoId: "gme", Decimals: 9, Price: 0.00124419},                                                   // Addr: 8wXtPeU6557ETkp9WHFY1n1EcU6NxDvbAggHGsMYiHsB, Notional: 2528.2707209362657
-		{Chain: 1, Addr: "7618e3a4b6365218d0473a17c3386761b449f05d4e5dc213bd7966edde409f24", Symbol: "SAGIT", CoinGeckoId: "sagittarius", Decimals: 6, Price: 0.00069211},                                         // Addr: 8x17zMmVjJxqswjX4hNpxVPc7Tr5UabVJF3kv8TKq8Y3, Notional: 3316.6445004724787
-		{Chain: 1, Addr: "766d8eac4c0ae9f5d006f7a74ca87eaa78b50411e9385154b12fcc17c21b41d3", Symbol: "KITTY", CoinGeckoId: "kitty-ai", Decimals: 6, Price: 0.00029435},                                            // Addr: 8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G, Notional: 8.8305
-		{Chain: 1, Addr: "7747dce1ae5735f0fe877af40fc4b972847edabdb0abb1e04a432c4025606496", Symbol: "MONKEY", CoinGeckoId: "monkey", Decimals: 1, Price: 4.05822e-10},                                            // Addr: 92d5AncUVELq79xqLWNQ5Zoxz7fn9XHwijYswYWFrKtR, Notional: 2.547738677888185
-		{Chain: 1, Addr: "777c026899a52a4c61329b0a098e74fbcd720d34665a41782bca2e2713410082", Symbol: "ZERO", CoinGeckoId: "analysoor", Decimals: 9, Price: 0.126475},                                              // Addr: 93RC484oMK5T9H89rzT5qiAXKHGP9jscXfFfrihNbe57, Notional: 0.126475
-		{Chain: 1, Addr: "78404f497a9523d5d2530469f1d76f4ac5cfafad2423341f61aa08021efc459c", Symbol: "$POPO", CoinGeckoId: "popo-pepe-s-dog", Decimals: 9, Price: 0.00001999},                                     // Addr: 96QoNkZLTKH7Gecf6dKMRXBQXW1wqh378uF9pnTejgAw, Notional: 2.186474173699761
-		{Chain: 1, Addr: "7860f7f3f7eee3e8996836dbef6bea714490534e84282bae1e315ced7daaddfb", Symbol: "Gak", CoinGeckoId: "gakster", Decimals: 6, Price: 0.00032958},                                               // Addr: 96ugdN1zEe1RShH1xWsMLBbopDvS96WXfvxwRELqUwqk, Notional: 45.552477029469834
+		{Chain: 1, Addr: "6927fdc01ea906f96d7137874cdd7adad00ca35764619310e54196c781d84d5b", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 6, Price: 0.100345},                                                  // Addr: 85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ, Notional: 11066.64145680002
+		{Chain: 1, Addr: "69302bef50efd86a9bc1c2ac763ff56633e9fda1709eb0b858088e9cfbdcfe0f", Symbol: "Rizzmas", CoinGeckoId: "rizzmas", Decimals: 6, Price: 0.00001539},                                           // Addr: 85cQsFgbi8mBZxiPppbpPXuV7j1hA8tBwhjF4gKW6mHg, Notional: 8.4195612
+		{Chain: 1, Addr: "6afc09bb2ca898b2a734540d93a61ea2dd46ab6bd318a3e3283c8fbe86b93f3e", Symbol: "LEO", CoinGeckoId: "leo-2", Decimals: 6, Price: 0.00056523},                                                 // Addr: 8Cd7wXoPb5Yt9cUGtmHNqAEmpMDrhfcVqnGbLC48b8Qm, Notional: 2784.8673803514794
+		{Chain: 1, Addr: "6b04a01bfd79e1eddf99d77598a5da54ee3cc8189dedfc1408908e29e1e94058", Symbol: "POWSCHE", CoinGeckoId: "powsche", Decimals: 9, Price: 0.0077792},                                            // Addr: 8CkiSHHJDHJV4LUoiRMLUhqG58cUkbyJRtcP4Z3mCXNf, Notional: 8249.811440271476
+		{Chain: 1, Addr: "6b054395432c64d8250648371121f271fc3b8e36621384b9e91956bf02307c13", Symbol: "DOKI", CoinGeckoId: "doki", Decimals: 6, Price: 0.00004122},                                                 // Addr: 8CmHC7Y2715VFaMkMZMwWDqRYQwPLAsM57Xiu3Ho4TjG, Notional: 1.6795208704941
+		{Chain: 1, Addr: "6cccc33e6627899bd00d679cca0b56d788a1861b8de1ea3691e870710b92447c", Symbol: "LOCKIN", CoinGeckoId: "lock-in", Decimals: 9, Price: 0.00704184},                                            // Addr: 8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5, Notional: 7.333797578554106
+		{Chain: 1, Addr: "6dbb85629db6a38eeb2fec793974b4c7e9c5fdc9e70165303b4f73106e5e62ba", Symbol: "", CoinGeckoId: "rope-token", Decimals: 9, Price: 0.00358481},                                               // Addr: 8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo, Notional: 0.00358481
+		{Chain: 1, Addr: "73512a31b0ae74aae6fbce469044131a230a122b1ea6f4af3a4e93c9158b538e", Symbol: "JOWNES", CoinGeckoId: "alux-jownes", Decimals: 6, Price: 0.00001289},                                        // Addr: 8m9fjYycXAFva1kScttQgsESVZT7yELhjZASqfHBuMa5, Notional: 7.03571131054416
+		{Chain: 1, Addr: "7589fb28d63e11a5f134a97a6bc85399e6cbe2fddb268d496f91204d5271ff05", Symbol: "GRAPE", CoinGeckoId: "grape-2", Decimals: 6, Price: 0.0001416},                                              // Addr: 8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA, Notional: 0.00328512
+		{Chain: 1, Addr: "75fa185aaff1c781b07269a4dfd7849add90a6db207bf61cff506c9b3d525376", Symbol: "GME", CoinGeckoId: "gme", Decimals: 9, Price: 0.00110465},                                                   // Addr: 8wXtPeU6557ETkp9WHFY1n1EcU6NxDvbAggHGsMYiHsB, Notional: 2244.7168454032308
+		{Chain: 1, Addr: "7618e3a4b6365218d0473a17c3386761b449f05d4e5dc213bd7966edde409f24", Symbol: "SAGIT", CoinGeckoId: "sagittarius", Decimals: 6, Price: 0.00054655},                                         // Addr: 8x17zMmVjJxqswjX4hNpxVPc7Tr5UabVJF3kv8TKq8Y3, Notional: 2744.96917019184
+		{Chain: 1, Addr: "766d8eac4c0ae9f5d006f7a74ca87eaa78b50411e9385154b12fcc17c21b41d3", Symbol: "KITTY", CoinGeckoId: "kitty-ai", Decimals: 6, Price: 0.00038316},                                            // Addr: 8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G, Notional: 11.4948
+		{Chain: 1, Addr: "7747dce1ae5735f0fe877af40fc4b972847edabdb0abb1e04a432c4025606496", Symbol: "MONKEY", CoinGeckoId: "monkey", Decimals: 1, Price: 3.82075e-10},                                            // Addr: 92d5AncUVELq79xqLWNQ5Zoxz7fn9XHwijYswYWFrKtR, Notional: 2.3986557046047974
+		{Chain: 1, Addr: "777c026899a52a4c61329b0a098e74fbcd720d34665a41782bca2e2713410082", Symbol: "ZERO", CoinGeckoId: "analysoor", Decimals: 9, Price: 0.122915},                                              // Addr: 93RC484oMK5T9H89rzT5qiAXKHGP9jscXfFfrihNbe57, Notional: 0.122915
+		{Chain: 1, Addr: "78404f497a9523d5d2530469f1d76f4ac5cfafad2423341f61aa08021efc459c", Symbol: "$POPO", CoinGeckoId: "popo-pepe-s-dog", Decimals: 9, Price: 0.00001841},                                     // Addr: 96QoNkZLTKH7Gecf6dKMRXBQXW1wqh378uF9pnTejgAw, Notional: 2.0136563050431513
+		{Chain: 1, Addr: "7860f7f3f7eee3e8996836dbef6bea714490534e84282bae1e315ced7daaddfb", Symbol: "Gak", CoinGeckoId: "gakster", Decimals: 6, Price: 0.00029575},                                               // Addr: 96ugdN1zEe1RShH1xWsMLBbopDvS96WXfvxwRELqUwqk, Notional: 35.030740835181
 		{Chain: 1, Addr: "7dd04d62e0c5aac91b412ea0cf91f647234e2797378e4b983cdecb7d3ef6fd46", Symbol: "", CoinGeckoId: "gigadao", Decimals: 4, Price: 0.00040465},                                                  // Addr: 9U8Bn6zAf6Wyp1YHdXtLyfbN7yMvdvW1qQY475iZ5ftZ, Notional: 0.202325
 		{Chain: 1, Addr: "8217c0f1b6d3300f53e7ea24352e93a307829c4ba2a43533c1b56d11468b0033", Symbol: "ZORKSEES", CoinGeckoId: "zorksees", Decimals: 8, Price: 354244},                                             // Addr: 9kq1VuGCCKeTgtRmzUTjLVi6LpmBD38im2hPRaqusPkE, Notional: 341447.49520552
-		{Chain: 1, Addr: "82444ff8283660793c0370a7dd9fb35cb1f7338d57eb088765d0dad090541e72", Symbol: "", CoinGeckoId: "mimatic", Decimals: 9, Price: 0.992613},                                                    // Addr: 9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7, Notional: 20.696798030055778
-		{Chain: 1, Addr: "8268e9a9a1444c2ba5c77a51936856b072e43fefcff5e4b01e99623c8ebb7749", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin-sollet", Decimals: 6, Price: 2224.33},                                   // Addr: 9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E, Notional: 4363.98865422
-		{Chain: 1, Addr: "826d35ab8f5b30c7d511f8f2ba9d8765228e94c8b810afc82c9a3a29a8146f89", Symbol: "FLOCKA", CoinGeckoId: "waka-flocka", Decimals: 6, Price: 0.00084304},                                        // Addr: 9n8b1EXLCA8Z22mf7pjLKVNzuQgGbyPfLrmFQvEcHeSU, Notional: 266778.3290646173
-		{Chain: 1, Addr: "8274472938310e90c774c25ade5e6fcaa7238aef9e3e67764d45b920d0c3e075", Symbol: "WOOF", CoinGeckoId: "woof-token", Decimals: 6, Price: 0.00001803},                                           // Addr: 9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE, Notional: 0.18521566896368996
-		{Chain: 1, Addr: "82993f9b768020400dc11af927de6d015f4f4abe63d73272b7e57ae17c7c5c6e", Symbol: "KING", CoinGeckoId: "king-2", Decimals: 9, Price: 0.00001189},                                               // Addr: 9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq, Notional: 3633.0474571032396
-		{Chain: 1, Addr: "8300ec316d7d1c7a81a6907c633655bcf37368889c2bed5f47901d0f56e01c8b", Symbol: "KEYCAT", CoinGeckoId: "keyboard-cat", Decimals: 9, Price: 0.00017607},                                       // Addr: 9pPE1q9EW1bMQWbHmffrzUCfRr7S82UoxNUFfA6mAZC6, Notional: 0.21411604652264493
-		{Chain: 1, Addr: "842f35b8d1f37e6cc0a7eb8d12bf9079f7abf194cdcd466c22f5f1e8baa4dea8", Symbol: "", CoinGeckoId: "arb-protocol", Decimals: 6, Price: 0.00001946},                                             // Addr: 9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh, Notional: 0.0973973
-		{Chain: 1, Addr: "85cdebc205dddf95b88200aba0ac9bcbb78096324e276fce85d63c69211f0845", Symbol: "USDY", CoinGeckoId: "ondo-us-dollar-yield", Decimals: 6, Price: 1.082},                                      // Addr: A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6, Notional: 0.120678706
-		{Chain: 1, Addr: "8666930409fea01a38402e938d3116943dc955b0abc3406728922f21131b6f01", Symbol: "PENG", CoinGeckoId: "peng", Decimals: 6, Price: 0.01409455},                                                 // Addr: A3eME5CetyZPBoWbRUwY3tSe25S6tb18ba9ZPbWk9eFJ, Notional: 2.23739337742245
-		{Chain: 1, Addr: "86d536568df6b574b219c07565198d7fab61cb0458cdfbadf0f004759f2e5038", Symbol: "GMEOW", CoinGeckoId: "gmeow-cat", Decimals: 6, Price: 0.00004249},                                           // Addr: A5LCTQ1vJECCQWSXJYs3rfCoexctbUgTCAEKDuNye8bZ, Notional: 23.30543964416983
+		{Chain: 1, Addr: "82444ff8283660793c0370a7dd9fb35cb1f7338d57eb088765d0dad090541e72", Symbol: "", CoinGeckoId: "mimatic", Decimals: 9, Price: 0.995702},                                                    // Addr: 9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7, Notional: 20.76120622248812
+		{Chain: 1, Addr: "8268e9a9a1444c2ba5c77a51936856b072e43fefcff5e4b01e99623c8ebb7749", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin-sollet", Decimals: 6, Price: 1520.19},                                   // Addr: 9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E, Notional: 2982.51244746
+		{Chain: 1, Addr: "826d35ab8f5b30c7d511f8f2ba9d8765228e94c8b810afc82c9a3a29a8146f89", Symbol: "FLOCKA", CoinGeckoId: "waka-flocka", Decimals: 6, Price: 0.00187381},                                        // Addr: 9n8b1EXLCA8Z22mf7pjLKVNzuQgGbyPfLrmFQvEcHeSU, Notional: 573373.4588457838
+		{Chain: 1, Addr: "8274472938310e90c774c25ade5e6fcaa7238aef9e3e67764d45b920d0c3e075", Symbol: "WOOF", CoinGeckoId: "woof-token", Decimals: 6, Price: 0.00001515},                                           // Addr: 9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE, Notional: 0.15563047059345
+		{Chain: 1, Addr: "82993f9b768020400dc11af927de6d015f4f4abe63d73272b7e57ae17c7c5c6e", Symbol: "KING", CoinGeckoId: "king-2", Decimals: 9, Price: 0.00001143},                                               // Addr: 9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq, Notional: 3492.4922148603896
+		{Chain: 1, Addr: "8300ec316d7d1c7a81a6907c633655bcf37368889c2bed5f47901d0f56e01c8b", Symbol: "KEYCAT", CoinGeckoId: "keyboard-cat", Decimals: 9, Price: 0.00015187},                                       // Addr: 9pPE1q9EW1bMQWbHmffrzUCfRr7S82UoxNUFfA6mAZC6, Notional: 0.18468679494175091
+		{Chain: 1, Addr: "842f35b8d1f37e6cc0a7eb8d12bf9079f7abf194cdcd466c22f5f1e8baa4dea8", Symbol: "", CoinGeckoId: "arb-protocol", Decimals: 6, Price: 0.00002183},                                             // Addr: 9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh, Notional: 0.10925915
+		{Chain: 1, Addr: "85cdebc205dddf95b88200aba0ac9bcbb78096324e276fce85d63c69211f0845", Symbol: "USDY", CoinGeckoId: "ondo-us-dollar-yield", Decimals: 6, Price: 1.074},                                      // Addr: A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6, Notional: 0.119786442
+		{Chain: 1, Addr: "8666930409fea01a38402e938d3116943dc955b0abc3406728922f21131b6f01", Symbol: "PENG", CoinGeckoId: "peng", Decimals: 6, Price: 0.01173962},                                                 // Addr: A3eME5CetyZPBoWbRUwY3tSe25S6tb18ba9ZPbWk9eFJ, Notional: 1.8635676939991799
+		{Chain: 1, Addr: "86d536568df6b574b219c07565198d7fab61cb0458cdfbadf0f004759f2e5038", Symbol: "GMEOW", CoinGeckoId: "gmeow-cat", Decimals: 6, Price: 0.00003379},                                           // Addr: A5LCTQ1vJECCQWSXJYs3rfCoexctbUgTCAEKDuNye8bZ, Notional: 18.53355626209693
 		{Chain: 1, Addr: "86d786039c432f0d4d65f3d29b9fe4ba5fd0f4057f259bcdc314c115559274fc", Symbol: "", CoinGeckoId: "vynk-chain", Decimals: 4, Price: 0.00011469},                                               // Addr: A5NF1e6RnYkVwtg3V3z1qeUz4PZfHCXmQ9RotuJWgi6F, Notional: 0.07730106
-		{Chain: 1, Addr: "87c9ce6b6344187c4b75fa01dd4334d8bb826a9214fefe9d39cce5fad29b6faa", Symbol: "", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02426952},                                                   // Addr: A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf, Notional: 5.0965992
-		{Chain: 1, Addr: "883977f594221f16fd8037db6cd49393cb7ccb597ef5513fee423975372ff5b3", Symbol: "", CoinGeckoId: "racefi", Decimals: 6, Price: 0.00051214},                                                   // Addr: AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU, Notional: 126.08955887686
-		{Chain: 1, Addr: "895e01287acee57df889b96b43c641ad49a9b304f8a5619eb18098db01c6e583", Symbol: "COLLE", CoinGeckoId: "colle-ai", Decimals: 6, Price: 0.00005553},                                            // Addr: AFDzaLz3cQZNWjnWbyq2q81TLVTPbHTbfkj8qKqTk74e, Notional: 6.084962467983
-		{Chain: 1, Addr: "897658557d211722ba678ad99276eb14d9567f0a792e3ba70c894785c742bfae", Symbol: "", CoinGeckoId: "green-satoshi-token", Decimals: 9, Price: 0.00521297},                                      // Addr: AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB, Notional: 17.011345610821742
-		{Chain: 1, Addr: "89a0fd32e8624b657a53062808b8980d227274c3f76d3ddaa49985ddf034004c", Symbol: "FTT", CoinGeckoId: "ftx-token", Decimals: 6, Price: 0.802831},                                               // Addr: AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3, Notional: 15.030595559352
+		{Chain: 1, Addr: "87c9ce6b6344187c4b75fa01dd4334d8bb826a9214fefe9d39cce5fad29b6faa", Symbol: "", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02402156},                                                   // Addr: A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf, Notional: 5.0445276
+		{Chain: 1, Addr: "883977f594221f16fd8037db6cd49393cb7ccb597ef5513fee423975372ff5b3", Symbol: "", CoinGeckoId: "racefi", Decimals: 6, Price: 0.00046827},                                                   // Addr: AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU, Notional: 115.28870569623
+		{Chain: 1, Addr: "895e01287acee57df889b96b43c641ad49a9b304f8a5619eb18098db01c6e583", Symbol: "COLLE", CoinGeckoId: "colle-ai", Decimals: 6, Price: 0.00003442},                                            // Addr: AFDzaLz3cQZNWjnWbyq2q81TLVTPbHTbfkj8qKqTk74e, Notional: 3.771734344462
+		{Chain: 1, Addr: "897658557d211722ba678ad99276eb14d9567f0a792e3ba70c894785c742bfae", Symbol: "", CoinGeckoId: "green-satoshi-token", Decimals: 9, Price: 0.00408177},                                      // Addr: AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB, Notional: 13.319930898102976
+		{Chain: 1, Addr: "89a0fd32e8624b657a53062808b8980d227274c3f76d3ddaa49985ddf034004c", Symbol: "FTT", CoinGeckoId: "ftx-token", Decimals: 6, Price: 0.925561},                                               // Addr: AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3, Notional: 17.328345637512
 		{Chain: 1, Addr: "89efe489cf710a97bb9346ccc2dd81a30d71b982ed3523f6bfefdd8ebd04187c", Symbol: "AHT", CoinGeckoId: "avenue-hamilton-token", Decimals: 9, Price: 0.03585085},                                 // Addr: AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y, Notional: 0.17925424999999998
-		{Chain: 1, Addr: "8af8661ba22613733b7c8025128597497dea9952506b2e1b484dc840befe83f1", Symbol: "AMU", CoinGeckoId: "amulet-protocol", Decimals: 9, Price: 0.00028609},                                       // Addr: AMUwxPsqWSd1fbCGzWsrRKDcNoduuWMkdR38qPdit8G8, Notional: 7664.509455877112
-		{Chain: 1, Addr: "8b7a5bd48982a26d6436cb99d7a2c7ea90e46d38625a0bdb74e1cc5886a7b703", Symbol: "", CoinGeckoId: "apricot", Decimals: 6, Price: 0.00011625},                                                  // Addr: APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt, Notional: 0.22134
-		{Chain: 1, Addr: "8c0e1e13db30b1678d1cf8888201ced5a3ffc5104bf903743bfb1f87a5e15589", Symbol: "GEMINI", CoinGeckoId: "gemini-2", Decimals: 6, Price: 0.00091965},                                           // Addr: ARiZfq6dK19uNqxWyRudhbM2MswLyYhVUHdndGkffdGc, Notional: 4780.803279881468
-		{Chain: 1, Addr: "8c77f3661d6b4a8ef39dbc5340eead8c3cbe0b45099840e8263d8725b587b073", Symbol: "ATLAS", CoinGeckoId: "star-atlas", Decimals: 8, Price: 0.00090501},                                          // Addr: ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx, Notional: 45845.13045532503
-		{Chain: 1, Addr: "8cbf9fdba8691b67e32eb57a784b1cae2744c6fc03ac61e450dd9331b9bdbb2e", Symbol: "AURY", CoinGeckoId: "aurory", Decimals: 9, Price: 0.114927},                                                 // Addr: AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP, Notional: 669.5494031763458
+		{Chain: 1, Addr: "8af8661ba22613733b7c8025128597497dea9952506b2e1b484dc840befe83f1", Symbol: "AMU", CoinGeckoId: "amulet-protocol", Decimals: 9, Price: 0.00014842},                                       // Addr: AMUwxPsqWSd1fbCGzWsrRKDcNoduuWMkdR38qPdit8G8, Notional: 3976.253953096161
+		{Chain: 1, Addr: "8b7a5bd48982a26d6436cb99d7a2c7ea90e46d38625a0bdb74e1cc5886a7b703", Symbol: "", CoinGeckoId: "apricot", Decimals: 6, Price: 0.0001151},                                                   // Addr: APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt, Notional: 0.21915040000000002
+		{Chain: 1, Addr: "8c0e1e13db30b1678d1cf8888201ced5a3ffc5104bf903743bfb1f87a5e15589", Symbol: "GEMINI", CoinGeckoId: "gemini-2", Decimals: 6, Price: 0.00072371},                                           // Addr: ARiZfq6dK19uNqxWyRudhbM2MswLyYhVUHdndGkffdGc, Notional: 4022.7095034908025
+		{Chain: 1, Addr: "8c77f3661d6b4a8ef39dbc5340eead8c3cbe0b45099840e8263d8725b587b073", Symbol: "ATLAS", CoinGeckoId: "star-atlas", Decimals: 8, Price: 0.00076716},                                          // Addr: ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx, Notional: 38571.16475359093
+		{Chain: 1, Addr: "8cbf9fdba8691b67e32eb57a784b1cae2744c6fc03ac61e450dd9331b9bdbb2e", Symbol: "AURY", CoinGeckoId: "aurory", Decimals: 9, Price: 0.112663},                                                 // Addr: AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP, Notional: 656.3596405549317
 		{Chain: 1, Addr: "8cc1469b46aa9e904a5106fa3e6dd3937ac55099a1fbb62047fc1c556d88d29b", Symbol: "AUT", CoinGeckoId: "avenue-university-token", Decimals: 9, Price: 0.00546985},                               // Addr: AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS, Notional: 0.06016835
-		{Chain: 1, Addr: "8ea08d02b6089b85e7fe935113e84cc3179342190a8dd4f55aad83aa4a07231b", Symbol: "MS2", CoinGeckoId: "station-this", Decimals: 6, Price: 0.00021167},                                          // Addr: AbktLHcNzEoZc9qfVgNaQhJbqDTEmLwsARY7JcTndsPg, Notional: 30441.373721168828
-		{Chain: 1, Addr: "8ea6bae83ada8cc0d7be5c2816a74e95d409603129bb2ee4fa22cc6f964a4d81", Symbol: "Cheese", CoinGeckoId: "cheese-2", Decimals: 6, Price: 0.0002268},                                            // Addr: AbrMJWfDVRZ2EWCQ1xSCpoVeVgZNpq1U2AoYG98oRXfn, Notional: 0.00006087879000000001
-		{Chain: 1, Addr: "8f286c320f95f37efe6535d91dac27779494093b14e7b427a0a07b1c7f97ccc1", Symbol: "WIT", CoinGeckoId: "what-in-tarnation", Decimals: 6, Price: 0.00023586},                                     // Addr: Adq3wnAvtaXBNfy63xGV1YNkDiPKadDT469xF9uZPrqE, Notional: 3565.5873607148264
+		{Chain: 1, Addr: "8ea08d02b6089b85e7fe935113e84cc3179342190a8dd4f55aad83aa4a07231b", Symbol: "MS2", CoinGeckoId: "station-this", Decimals: 6, Price: 0.0001318},                                           // Addr: AbktLHcNzEoZc9qfVgNaQhJbqDTEmLwsARY7JcTndsPg, Notional: 14118.80058101459
+		{Chain: 1, Addr: "8ea6bae83ada8cc0d7be5c2816a74e95d409603129bb2ee4fa22cc6f964a4d81", Symbol: "Cheese", CoinGeckoId: "cheese-2", Decimals: 6, Price: 0.00023715},                                           // Addr: AbrMJWfDVRZ2EWCQ1xSCpoVeVgZNpq1U2AoYG98oRXfn, Notional: 0.00006365698875000001
+		{Chain: 1, Addr: "8f286c320f95f37efe6535d91dac27779494093b14e7b427a0a07b1c7f97ccc1", Symbol: "WIT", CoinGeckoId: "what-in-tarnation", Decimals: 6, Price: 0.00021246},                                     // Addr: Adq3wnAvtaXBNfy63xGV1YNkDiPKadDT469xF9uZPrqE, Notional: 3270.7485208108747
 		{Chain: 1, Addr: "8f8eda6d92c4afa64e25a02b8cc6e9f4026cf3007f48f279d842594d0328e121", Symbol: "WGC", CoinGeckoId: "wild-goat-coin", Decimals: 6, Price: 3.31168e-7},                                        // Addr: AfPeB1BDUotBeNoLv82XRDCNQcdAA1mqis3YC5SMTe7a, Notional: 7290.530550613418
-		{Chain: 1, Addr: "8fa66a1378bce9e01b9496615ed38c132c586fa36e29f6b38eace0bf7b3d4b69", Symbol: "ca", CoinGeckoId: "contract-address-meme", Decimals: 9, Price: 0.00002732},                                  // Addr: AfkUkcoJ5Yt7eU9BwnF1RjRqt4fQG5zYV1eS1ytDk7FE, Notional: 1107.5121187107577
+		{Chain: 1, Addr: "8fa66a1378bce9e01b9496615ed38c132c586fa36e29f6b38eace0bf7b3d4b69", Symbol: "ca", CoinGeckoId: "contract-address-meme", Decimals: 9, Price: 0.00002758},                                  // Addr: AfkUkcoJ5Yt7eU9BwnF1RjRqt4fQG5zYV1eS1ytDk7FE, Notional: 1118.0521315535395
 		{Chain: 1, Addr: "90eb19122682b9b340f9afd6717bcc7770812215c2286d3d3051dff49288b17e", Symbol: "BOT", CoinGeckoId: "starbots", Decimals: 8, Price: 0.00026419},                                              // Addr: AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1, Notional: 1276.8912641441314
-		{Chain: 1, Addr: "91f8a6cf88fbfd9969756a9929f314809486780ec91ccd029d68ab66b3d8133a", Symbol: "", CoinGeckoId: "houdini-swap", Decimals: 9, Price: 0.154478},                                               // Addr: App2Sp9pgmQG7yD6uVaygULxALf4TpfALgnhHEkJimih, Notional: 1.54478e-8
-		{Chain: 1, Addr: "921414f6337fb743709e6fcbcc439ecc35fe8e23bc33941b1d62862b809e8d24", Symbol: "YAKU", CoinGeckoId: "yaku", Decimals: 9, Price: 0.00102966},                                                 // Addr: AqEHVh8J2nXH9saV2ciZyYwPpqWFRfD2ffcq5Z8xxqm5, Notional: 0.00102966
-		{Chain: 1, Addr: "9266050ea34cd64a96e9e7be1e210ed22b2e3f5fde61861af7527c681ef2f3d3", Symbol: "renDOGE", CoinGeckoId: "rendoge", Decimals: 8, Price: 0.02364914},                                           // Addr: ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU, Notional: 76.09692563844
-		{Chain: 1, Addr: "92d10feca33abd20cdb6c082b7066be3a8664e9098e5758226e82e28a0e0cc0a", Symbol: "", CoinGeckoId: "battle-of-guardians-share", Decimals: 9, Price: 0.0011079},                                 // Addr: At7RLMbA6ZUjj7riyvFq2j5NHQ19aJabCju2VxLDAqso, Notional: 12.92246760384
-		{Chain: 1, Addr: "9353906bba080336a76db51391c3737194d3a31183665f4b7021e908739bc0f2", Symbol: "COST", CoinGeckoId: "costco-hot-dog", Decimals: 9, Price: 0.00072476},                                       // Addr: Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm, Notional: 2753.206925642952
-		{Chain: 1, Addr: "969c68e974ffbb74feed1af1672b9f67adb65fb382ff2ee105070fd8d60d9fe5", Symbol: "POS", CoinGeckoId: "pengyos", Decimals: 6, Price: 0.00002905},                                               // Addr: B8vV6An7xFF3bARB1cmU7TMfKNjjes2WvY7jWqiRc6K6, Notional: 1.743e-10
-		{Chain: 1, Addr: "97af730592f7e84eaf461cf72db62d036e914c7a1b1f2cd2ac35c3301efb434f", Symbol: "SNARC", CoinGeckoId: "first-ai-1951", Decimals: 6, Price: 0.00000954},                                       // Addr: BD7jNnt6uYDp9rVRBTjJhkweGxYQppRe8CXLnAJspump, Notional: 61.7139122365674
+		{Chain: 1, Addr: "91f8a6cf88fbfd9969756a9929f314809486780ec91ccd029d68ab66b3d8133a", Symbol: "", CoinGeckoId: "houdini-swap", Decimals: 9, Price: 0.141267},                                               // Addr: App2Sp9pgmQG7yD6uVaygULxALf4TpfALgnhHEkJimih, Notional: 1.41267e-8
+		{Chain: 1, Addr: "921414f6337fb743709e6fcbcc439ecc35fe8e23bc33941b1d62862b809e8d24", Symbol: "YAKU", CoinGeckoId: "yaku", Decimals: 9, Price: 0.00122743},                                                 // Addr: AqEHVh8J2nXH9saV2ciZyYwPpqWFRfD2ffcq5Z8xxqm5, Notional: 0.00122743
+		{Chain: 1, Addr: "9266050ea34cd64a96e9e7be1e210ed22b2e3f5fde61861af7527c681ef2f3d3", Symbol: "renDOGE", CoinGeckoId: "rendoge", Decimals: 8, Price: 0.02160501},                                           // Addr: ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU, Notional: 69.51943450746
+		{Chain: 1, Addr: "92d10feca33abd20cdb6c082b7066be3a8664e9098e5758226e82e28a0e0cc0a", Symbol: "", CoinGeckoId: "battle-of-guardians-share", Decimals: 9, Price: 0.00017867},                                // Addr: At7RLMbA6ZUjj7riyvFq2j5NHQ19aJabCju2VxLDAqso, Notional: 2.083994301632
+		{Chain: 1, Addr: "9353906bba080336a76db51391c3737194d3a31183665f4b7021e908739bc0f2", Symbol: "COST", CoinGeckoId: "costco-hot-dog", Decimals: 9, Price: 0.00071244},                                       // Addr: Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm, Notional: 2706.4059027885983
+		{Chain: 1, Addr: "969c68e974ffbb74feed1af1672b9f67adb65fb382ff2ee105070fd8d60d9fe5", Symbol: "POS", CoinGeckoId: "pengyos", Decimals: 6, Price: 0.0000268},                                                // Addr: B8vV6An7xFF3bARB1cmU7TMfKNjjes2WvY7jWqiRc6K6, Notional: 1.608e-10
+		{Chain: 1, Addr: "97af730592f7e84eaf461cf72db62d036e914c7a1b1f2cd2ac35c3301efb434f", Symbol: "SNARC", CoinGeckoId: "first-ai-1951", Decimals: 6, Price: 0.00001006},                                       // Addr: BD7jNnt6uYDp9rVRBTjJhkweGxYQppRe8CXLnAJspump, Notional: 65.0777732809086
 		{Chain: 1, Addr: "9990517de4aab724b1d8e7fead02d3f25a7ad6912ba339c6b7b637d2f53d7d10", Symbol: "", CoinGeckoId: "blocto-token", Decimals: 8, Price: 0.00015994},                                             // Addr: BLT1noyNr3GttckEVrtcfC6oyK6yV1DpPgSyXbncMwef, Notional: 0.00167937
-		{Chain: 1, Addr: "99975862e4e373b0063604e03ebced38da7060839238fb7001a925fd85756c93", Symbol: "BLZE", CoinGeckoId: "solblaze", Decimals: 9, Price: 0.00023706},                                             // Addr: BLZEEuZUBVqFhj8adcCFPJvPVCiCyVmh3hkJMrU8KuJA, Notional: 0.001229137455231
-		{Chain: 1, Addr: "9a7bc3a4fa3d288a156a2a3171fd953536f10e7c92cefad8b919c709aefb2b0c", Symbol: "GROK", CoinGeckoId: "grok-6", Decimals: 9, Price: 0.08253},                                                  // Addr: BQ3F72yt9FVRgYrqCVCG3YohyBesDZ9bTuhGdmQ7GNEF, Notional: 0.41265
-		{Chain: 1, Addr: "9cdd9b466af324c58b653f6eac5e78f748e55778caed00a90d61e70c061587f8", Symbol: "IO", CoinGeckoId: "io", Decimals: 8, Price: 0.615957},                                                       // Addr: BZLbGTNCSFfoth2GYDtwr7e4imWzpR5jqcUuGEwr646K, Notional: 27.65891454457731
-		{Chain: 1, Addr: "9ce7be61bf4938b98cd984cbfabd66b6b4ee2fd4d02529ab27f76bcfcc88798f", Symbol: "JANI", CoinGeckoId: "jani", Decimals: 6, Price: 0.00024495},                                                 // Addr: BZVZFqfUaV2uEsBU9QCcVgsLJVMy9UCcSVbryzAFpump, Notional: 3674.2500000000005
-		{Chain: 1, Addr: "9ed00a9e2b184c6c0b6d9629c2648efe56c512456e354538bb4efad332ea5f30", Symbol: "", CoinGeckoId: "deapcoin", Decimals: 6, Price: 0.00160404},                                                 // Addr: BgwQjVNMWvt2d8CN51CsbniwRWyZ9H9HfHkEsvikeVuZ, Notional: 4.81212
-		{Chain: 1, Addr: "a084edb439cccf78ff5db4936074779133cc49d8058731fb9ad6d982f57f899e", Symbol: "BOBO", CoinGeckoId: "bobo-the-bear", Decimals: 6, Price: 4.3935e-8},                                         // Addr: Bobo54AXWLGQWqCK6EZdrBQz4bKJXeBE9ExD1HJGbXed, Notional: 0.6188746113433552
-		{Chain: 1, Addr: "a2b04fe6f429ea28555be7b6dbba72479b6694ea96e93082996e9be877bc920a", Symbol: "TOX", CoinGeckoId: "trollbox", Decimals: 9, Price: 0.00002374},                                              // Addr: Bx4ykEMurwPQBAFNvthGj73fMBVTvHa8e9cbAyaK4ZSh, Notional: 0.0004748
-		{Chain: 1, Addr: "a43ee344a6ae6a837ced5766eb6183dad04fbe9b15e49e1dcd89fe0937fe930f", Symbol: "AQUARIUS", CoinGeckoId: "aquarius-2", Decimals: 6, Price: 0.00070301},                                       // Addr: C49Ut3om3QFTDrMZ5Cr8VcTKPpHDcQ2Fv8mmuJHHigDt, Notional: 3355.5753166644868
-		{Chain: 1, Addr: "a5854b583d61bd674064522d1d3017a389990e96a9c244b9c57f0dac1cde4ea8", Symbol: "C98", CoinGeckoId: "coin98", Decimals: 6, Price: 0.04841306},                                                // Addr: C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9, Notional: 25.418056514518216
-		{Chain: 1, Addr: "a6c0f028406e3486e35a8aec8c56f1b9be40928e12bc00b74318e2db8005cecf", Symbol: "CARR", CoinGeckoId: "carnomaly", Decimals: 6, Price: 0.00093005},                                            // Addr: CDwKAreA1ipd1hUDBKsfVXVFWqNEeGDdvmZ7RHdiQk1U, Notional: 22.311940263161446
-		{Chain: 1, Addr: "a790b593d8c348fba977d377f67f86214cb50662ae0e1410776d5b92611aec13", Symbol: "SOLX", CoinGeckoId: "soldex", Decimals: 9, Price: 0.00010842},                                               // Addr: CH74tuRLTYcxG7qNJCsV9rghfLXJCQJbsu7i52a8F1Gn, Notional: 0.0028254057928199998
-		{Chain: 1, Addr: "a832b1347f65932aa5a8b8e3b6f7854a2972157d0375097d599eabac9685a95c", Symbol: "", CoinGeckoId: "gari-network", Decimals: 9, Price: 0.00478923},                                             // Addr: CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks, Notional: 102410.34550469586
-		{Chain: 1, Addr: "a9b7b4c191b9fcd8a101e517de4a2bc44ae7df4ff6595f62cb4bf9c5c3b01fd2", Symbol: "CRWNY", CoinGeckoId: "crowny-token", Decimals: 6, Price: 0.00087109},                                        // Addr: CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1, Notional: 1.5740596378398102
-		{Chain: 1, Addr: "aa77c1f5d0d2c07ce7075e31d348ca1c0965bb287be13984dec1c5615bf22665", Symbol: "CUSD", CoinGeckoId: "coin98-dollar", Decimals: 6, Price: 0.851566},                                          // Addr: CUSDvqAQLbt7fRofcmV2EXfPA2t36kzj7FjzdmqDiNQL, Notional: 1.809115349662
-		{Chain: 1, Addr: "aeeafcf3ec1126c4abb764352b5b2959152bf9c3aa2237802092efc84f8e04ca", Symbol: "CANCER", CoinGeckoId: "cancer", Decimals: 6, Price: 0.00069202},                                             // Addr: CmomKM8iPKRSMN7y1jqyW1QKj5bGoZmbvNZXWBJSUdnZ, Notional: 3231.183708091106
-		{Chain: 1, Addr: "b41652c46fff703ca2d2d9660dc6e9c2f9eb59cbd77ba07d1edf3548c30e4fac", Symbol: "CAIR", CoinGeckoId: "crypto-ai-robo", Decimals: 6, Price: 0.00003421},                                       // Addr: D7z8T6FadmqDYGHy3LsMN3bzfrABmvVUnAFUrKfuWZ8F, Notional: 0.01077615
-		{Chain: 1, Addr: "b4f7fddc746c9c6b8872c4a21efe2817409c7c51a20c286e32162bbca75b8400", Symbol: "DBR", CoinGeckoId: "debridge", Decimals: 6, Price: 0.02341106},                                              // Addr: DBRiDgJAMsM95moTzJs7M9LnkGErpbv9v6CUR1DXnUu5, Notional: 0.02341106
-		{Chain: 1, Addr: "b5cbeacdc2c4b9172fc2055facc3b365eacb144ec670fcd02689fc9c29a252be", Symbol: "KWEEN", CoinGeckoId: "kween", Decimals: 6, Price: 0.00355939},                                               // Addr: DEf93bSt8dx58gDFCcz4CwbjYZzjwaRBYAciJYLfdCA9, Notional: 9662.029281262052
-		{Chain: 1, Addr: "b5ce441b09fe68fbcace88868d120ae3dbe8969465c859e1abaeb390d966d890", Symbol: "Odie", CoinGeckoId: "odie-on-sol", Decimals: 6, Price: 0.00001862},                                          // Addr: DEhDXhtUFuz6Uodhde3rznGbVbdiECahp1kTHnFpsna3, Notional: 0.039102000000000005
+		{Chain: 1, Addr: "99975862e4e373b0063604e03ebced38da7060839238fb7001a925fd85756c93", Symbol: "BLZE", CoinGeckoId: "solblaze", Decimals: 9, Price: 0.00019243},                                             // Addr: BLZEEuZUBVqFhj8adcCFPJvPVCiCyVmh3hkJMrU8KuJA, Notional: 0.0009977344153804999
+		{Chain: 1, Addr: "9a7bc3a4fa3d288a156a2a3171fd953536f10e7c92cefad8b919c709aefb2b0c", Symbol: "GROK", CoinGeckoId: "grok-6", Decimals: 9, Price: 0.072266},                                                 // Addr: BQ3F72yt9FVRgYrqCVCG3YohyBesDZ9bTuhGdmQ7GNEF, Notional: 0.36133
+		{Chain: 1, Addr: "9cdd9b466af324c58b653f6eac5e78f748e55778caed00a90d61e70c061587f8", Symbol: "IO", CoinGeckoId: "io", Decimals: 8, Price: 0.525587},                                                       // Addr: BZLbGTNCSFfoth2GYDtwr7e4imWzpR5jqcUuGEwr646K, Notional: 23.60094279104021
+		{Chain: 1, Addr: "9ce7be61bf4938b98cd984cbfabd66b6b4ee2fd4d02529ab27f76bcfcc88798f", Symbol: "JANI", CoinGeckoId: "jani", Decimals: 6, Price: 0.00025999},                                                 // Addr: BZVZFqfUaV2uEsBU9QCcVgsLJVMy9UCcSVbryzAFpump, Notional: 3899.85
+		{Chain: 1, Addr: "9ed00a9e2b184c6c0b6d9629c2648efe56c512456e354538bb4efad332ea5f30", Symbol: "", CoinGeckoId: "deapcoin", Decimals: 6, Price: 0.00159619},                                                 // Addr: BgwQjVNMWvt2d8CN51CsbniwRWyZ9H9HfHkEsvikeVuZ, Notional: 4.78857
+		{Chain: 1, Addr: "a084edb439cccf78ff5db4936074779133cc49d8058731fb9ad6d982f57f899e", Symbol: "BOBO", CoinGeckoId: "bobo-the-bear", Decimals: 6, Price: 4.1573e-8},                                         // Addr: Bobo54AXWLGQWqCK6EZdrBQz4bKJXeBE9ExD1HJGbXed, Notional: 0.5856031459514579
+		{Chain: 1, Addr: "a2b04fe6f429ea28555be7b6dbba72479b6694ea96e93082996e9be877bc920a", Symbol: "TOX", CoinGeckoId: "trollbox", Decimals: 9, Price: 0.00002168},                                              // Addr: Bx4ykEMurwPQBAFNvthGj73fMBVTvHa8e9cbAyaK4ZSh, Notional: 0.00043359999999999997
+		{Chain: 1, Addr: "a43ee344a6ae6a837ced5766eb6183dad04fbe9b15e49e1dcd89fe0937fe930f", Symbol: "AQUARIUS", CoinGeckoId: "aquarius-2", Decimals: 6, Price: 0.00054621},                                       // Addr: C49Ut3om3QFTDrMZ5Cr8VcTKPpHDcQ2Fv8mmuJHHigDt, Notional: 2751.305767502611
+		{Chain: 1, Addr: "a5854b583d61bd674064522d1d3017a389990e96a9c244b9c57f0dac1cde4ea8", Symbol: "C98", CoinGeckoId: "coin98", Decimals: 6, Price: 0.04589638},                                                // Addr: C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9, Notional: 24.096737133571057
+		{Chain: 1, Addr: "a6c0f028406e3486e35a8aec8c56f1b9be40928e12bc00b74318e2db8005cecf", Symbol: "CARR", CoinGeckoId: "carnomaly", Decimals: 6, Price: 0.00062596},                                            // Addr: CDwKAreA1ipd1hUDBKsfVXVFWqNEeGDdvmZ7RHdiQk1U, Notional: 15.016807835200838
+		{Chain: 1, Addr: "a790b593d8c348fba977d377f67f86214cb50662ae0e1410776d5b92611aec13", Symbol: "SOLX", CoinGeckoId: "soldex", Decimals: 9, Price: 0.00009358},                                               // Addr: CH74tuRLTYcxG7qNJCsV9rghfLXJCQJbsu7i52a8F1Gn, Notional: 0.00243867804918
+		{Chain: 1, Addr: "a832b1347f65932aa5a8b8e3b6f7854a2972157d0375097d599eabac9685a95c", Symbol: "", CoinGeckoId: "gari-network", Decimals: 9, Price: 0.0034933},                                              // Addr: CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks, Notional: 78430.84137529643
+		{Chain: 1, Addr: "a9b7b4c191b9fcd8a101e517de4a2bc44ae7df4ff6595f62cb4bf9c5c3b01fd2", Symbol: "CRWNY", CoinGeckoId: "crowny-token", Decimals: 6, Price: 0.00070306},                                        // Addr: CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1, Notional: 1.2704294263275402
+		{Chain: 1, Addr: "aa77c1f5d0d2c07ce7075e31d348ca1c0965bb287be13984dec1c5615bf22665", Symbol: "CUSD", CoinGeckoId: "coin98-dollar", Decimals: 6, Price: 0.881386},                                          // Addr: CUSDvqAQLbt7fRofcmV2EXfPA2t36kzj7FjzdmqDiNQL, Notional: 1.8724666574020001
+		{Chain: 1, Addr: "aeeafcf3ec1126c4abb764352b5b2959152bf9c3aa2237802092efc84f8e04ca", Symbol: "CANCER", CoinGeckoId: "cancer", Decimals: 6, Price: 0.00054292},                                             // Addr: CmomKM8iPKRSMN7y1jqyW1QKj5bGoZmbvNZXWBJSUdnZ, Notional: 2668.095392036316
+		{Chain: 1, Addr: "b41652c46fff703ca2d2d9660dc6e9c2f9eb59cbd77ba07d1edf3548c30e4fac", Symbol: "CAIR", CoinGeckoId: "crypto-ai-robo", Decimals: 6, Price: 0.00001969},                                       // Addr: D7z8T6FadmqDYGHy3LsMN3bzfrABmvVUnAFUrKfuWZ8F, Notional: 0.00620235
+		{Chain: 1, Addr: "b4f7fddc746c9c6b8872c4a21efe2817409c7c51a20c286e32162bbca75b8400", Symbol: "DBR", CoinGeckoId: "debridge", Decimals: 6, Price: 0.0271715},                                               // Addr: DBRiDgJAMsM95moTzJs7M9LnkGErpbv9v6CUR1DXnUu5, Notional: 0.0271715
+		{Chain: 1, Addr: "b5cbeacdc2c4b9172fc2055facc3b365eacb144ec670fcd02689fc9c29a252be", Symbol: "KWEEN", CoinGeckoId: "kween", Decimals: 6, Price: 0.00161261},                                               // Addr: DEf93bSt8dx58gDFCcz4CwbjYZzjwaRBYAciJYLfdCA9, Notional: 4377.459350971935
+		{Chain: 1, Addr: "b5ce441b09fe68fbcace88868d120ae3dbe8969465c859e1abaeb390d966d890", Symbol: "Odie", CoinGeckoId: "odie-on-sol", Decimals: 6, Price: 0.00002168},                                          // Addr: DEhDXhtUFuz6Uodhde3rznGbVbdiECahp1kTHnFpsna3, Notional: 0.045528
 		{Chain: 1, Addr: "b5d25af81fdd47e23fc51cb929f2bff3e1bf6ad64df77d3e523a228023e73e6c", Symbol: "USDe", CoinGeckoId: "ethena-usde", Decimals: 9, Price: 1.001},                                               // Addr: DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT, Notional: 21.711383313619997
-		{Chain: 1, Addr: "b5f7e08966fa2f997abc90d7a7cde1bc733f567b9eafc3007e80a3174726b6f6", Symbol: "", CoinGeckoId: "defi-land", Decimals: 9, Price: 0.00015631},                                                // Addr: DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh, Notional: 3.3191108729402625
+		{Chain: 1, Addr: "b5f7e08966fa2f997abc90d7a7cde1bc733f567b9eafc3007e80a3174726b6f6", Symbol: "", CoinGeckoId: "defi-land", Decimals: 9, Price: 0.0001147},                                                 // Addr: DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh, Notional: 2.435557655468288
 		{Chain: 1, Addr: "b7db4e83eb727f1187bd7a50303f5b4e4e943503da8571ad6564a51131504792", Symbol: "", CoinGeckoId: "wrapped-usdt-allbridge-from-polygon", Decimals: 6, Price: 0.99903},                         // Addr: DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ, Notional: 42.153824089589996
-		{Chain: 1, Addr: "b814cbaa6004e889059e49841809b54c120f6d17c37cfaace4d28d394d56f67c", Symbol: "SKBDI", CoinGeckoId: "skibidi-toilet-2", Decimals: 9, Price: 0.03865542},                                    // Addr: DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB, Notional: 0.03865542
-		{Chain: 1, Addr: "b953b5f8dd5457a2a0f0d41903409785b9d84d4045614faa4f505ee132dcd769", Symbol: "DUST", CoinGeckoId: "dust-protocol", Decimals: 9, Price: 0.0344849},                                         // Addr: DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ, Notional: 320515.0294552851
-		{Chain: 1, Addr: "ba9c1304d72c97ebb7070767351b86a218c179c897fb75727540e0e8522c3626", Symbol: "DAWAE", CoinGeckoId: "dawae-2", Decimals: 9, Price: 0.00012034},                                             // Addr: DZSs9nHSr9BBunLNWd6PDstesJ4PBLMFVK1GbZ9urYNZ, Notional: 17660.87770270378
-		{Chain: 1, Addr: "bbec677bca5169fbcaa1dccd44ef4badd3fe4d53bf3c9610379afe527256660a", Symbol: "SOLNIC", CoinGeckoId: "solnic", Decimals: 6, Price: 0.00489708},                                             // Addr: DeaKMzAeZja3Mh5okZE6WUvygLP3Lfuvm6Rg78HqXTz9, Notional: 22671.27809851715
-		{Chain: 1, Addr: "bc07c56e60ad3d3f177382eac6548fba1fd32cfd90ca02b3e7cfa185fdce7398", Symbol: "Bonk", CoinGeckoId: "bonk", Decimals: 5, Price: 0.00002273},                                                 // Addr: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263, Notional: 13280004.971028108
+		{Chain: 1, Addr: "b814cbaa6004e889059e49841809b54c120f6d17c37cfaace4d28d394d56f67c", Symbol: "SKBDI", CoinGeckoId: "skibidi-toilet-2", Decimals: 9, Price: 0.0326537},                                     // Addr: DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB, Notional: 0.0326537
+		{Chain: 1, Addr: "b953b5f8dd5457a2a0f0d41903409785b9d84d4045614faa4f505ee132dcd769", Symbol: "DUST", CoinGeckoId: "dust-protocol", Decimals: 9, Price: 0.00128991},                                        // Addr: DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ, Notional: 11992.870092864554
+		{Chain: 1, Addr: "ba9c1304d72c97ebb7070767351b86a218c179c897fb75727540e0e8522c3626", Symbol: "DAWAE", CoinGeckoId: "dawae-2", Decimals: 9, Price: 0.00008308},                                             // Addr: DZSs9nHSr9BBunLNWd6PDstesJ4PBLMFVK1GbZ9urYNZ, Notional: 11314.53172770014
+		{Chain: 1, Addr: "bbec677bca5169fbcaa1dccd44ef4badd3fe4d53bf3c9610379afe527256660a", Symbol: "SOLNIC", CoinGeckoId: "solnic", Decimals: 6, Price: 0.0048959},                                              // Addr: DeaKMzAeZja3Mh5okZE6WUvygLP3Lfuvm6Rg78HqXTz9, Notional: 22944.625249866007
+		{Chain: 1, Addr: "bc07c56e60ad3d3f177382eac6548fba1fd32cfd90ca02b3e7cfa185fdce7398", Symbol: "Bonk", CoinGeckoId: "bonk", Decimals: 5, Price: 0.00001915},                                                 // Addr: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263, Notional: 11191652.800386423
 		{Chain: 1, Addr: "bfc5f3a72f20be422f69837df545b8a5c992a9cb3e4687f61030f55ae9e3b235", Symbol: "CRP", CoinGeckoId: "cropperfinance", Decimals: 9, Price: 0.00017509},                                        // Addr: DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz, Notional: 1.383211e-10
-		{Chain: 1, Addr: "c206c5c565936e75a63aca8d62d7f2c27c21572474d7dd13e38424b0377f17af", Symbol: "ADA", CoinGeckoId: "ada-the-dog", Decimals: 9, Price: 0.00032512},                                           // Addr: E4Q5pLaEiejwEQHcM9GeYSQfMyGy8DJ4bPWgeYthn24v, Notional: 0.00097536
-		{Chain: 1, Addr: "c261d86cf5cf877128ba1f5652e5f3dda599270c1556a15bc0a9aacf8063e563", Symbol: "RIN", CoinGeckoId: "aldrin", Decimals: 9, Price: 0.00274232},                                                // Addr: E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp, Notional: 0.0023309719999999997
-		{Chain: 1, Addr: "c2667f39a3a7b6febb2f995eb4d1b739f45fe2edd645403c3e52e677e6bd6852", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 6, Price: 0.06598},                                              // Addr: E5rk3nmgLUuKUiS94gg4bpWwWwyjCMtddsAXkTFLtHEy, Notional: 131.7738816366
-		{Chain: 1, Addr: "c28ee4128851e187510f75f9d61703da621ecbbb4b5b6e0d4b1fc21942f309a0", Symbol: "DGLN", CoinGeckoId: "dogelana", Decimals: 9, Price: 0.00000999},                                             // Addr: E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X, Notional: 1.4277787988930999
-		{Chain: 1, Addr: "c3bc53a848c67ab3799f20a745a51e51c991946690c7c8a4b9a480aa29b07b94", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 7, Price: 3.67695e-7},                                          // Addr: EB54Nt1ydAgMR3edpaXEwb16R8TfF1enJ7zaYSefo7wH, Notional: 45544.54951514857
-		{Chain: 1, Addr: "c44051a911b54c7ecffc7ee0b0a40af48b328ae755a99533c8402cb26df43807", Symbol: "MOODENG", CoinGeckoId: "moo-deng", Decimals: 6, Price: 0.141837},                                            // Addr: ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY, Notional: 15837.504256773676
+		{Chain: 1, Addr: "c206c5c565936e75a63aca8d62d7f2c27c21572474d7dd13e38424b0377f17af", Symbol: "ADA", CoinGeckoId: "ada-the-dog", Decimals: 9, Price: 0.00029677},                                           // Addr: E4Q5pLaEiejwEQHcM9GeYSQfMyGy8DJ4bPWgeYthn24v, Notional: 0.0008903100000000001
+		{Chain: 1, Addr: "c261d86cf5cf877128ba1f5652e5f3dda599270c1556a15bc0a9aacf8063e563", Symbol: "RIN", CoinGeckoId: "aldrin", Decimals: 9, Price: 0.00203881},                                                // Addr: E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp, Notional: 0.0017329884999999997
+		{Chain: 1, Addr: "c2667f39a3a7b6febb2f995eb4d1b739f45fe2edd645403c3e52e677e6bd6852", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 6, Price: 0.065541},                                             // Addr: E5rk3nmgLUuKUiS94gg4bpWwWwyjCMtddsAXkTFLtHEy, Notional: 130.89711998097002
+		{Chain: 1, Addr: "c28ee4128851e187510f75f9d61703da621ecbbb4b5b6e0d4b1fc21942f309a0", Symbol: "DGLN", CoinGeckoId: "dogelana", Decimals: 9, Price: 0.00000872},                                             // Addr: E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X, Notional: 1.2462693820168
+		{Chain: 1, Addr: "c3bc53a848c67ab3799f20a745a51e51c991946690c7c8a4b9a480aa29b07b94", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 7, Price: 3.50858e-7},                                          // Addr: EB54Nt1ydAgMR3edpaXEwb16R8TfF1enJ7zaYSefo7wH, Notional: 43459.03412824758
+		{Chain: 1, Addr: "c44051a911b54c7ecffc7ee0b0a40af48b328ae755a99533c8402cb26df43807", Symbol: "MOODENG", CoinGeckoId: "moo-deng", Decimals: 6, Price: 0.146556},                                            // Addr: ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY, Notional: 13892.377622169599
 		{Chain: 1, Addr: "c52e93ce650a3e02a70273e400132ed89b3bd67f2b839d4848593282bdec3ea0", Symbol: "", CoinGeckoId: "bitmon", Decimals: 9, Price: 0.00004538},                                                   // Addr: EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh, Notional: 0.0743617047034104
-		{Chain: 1, Addr: "c59cade70266477a5028970d5d9680bb9f1602dd393d05e3cfa8775ea818e6f8", Symbol: "", CoinGeckoId: "bozo-hybrid", Decimals: 9, Price: 0.00400806},                                              // Addr: EJPtJEDogxzDbvM8qvAsqYbLmPj5n1vQeqoAzj9Yfv3q, Notional: 0.0001109655058554
-		{Chain: 1, Addr: "c5f9fb32f49111ab20c33f2598fc836c113e291881ac21ee29169394011244e4", Symbol: "$WIF", CoinGeckoId: "dogwifcoin", Decimals: 6, Price: 0.865526},                                             // Addr: EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm, Notional: -206861.82390640056
-		{Chain: 1, Addr: "c6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d61", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, Notional: 3066662.8689116426
-		{Chain: 1, Addr: "c7dc3552acd085ffa989b81b21e5e0bcbccbb1ec87835f0db12fabbad666ddf6", Symbol: "MEDIA", CoinGeckoId: "media-network", Decimals: 6, Price: 0.691703},                                         // Addr: ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs, Notional: 1.41417294944
-		{Chain: 1, Addr: "c9a11f01cc857e5febddff9fd9e04cc82f44ec58ec6f19e23f5e7cca07ffb041", Symbol: "PAI", CoinGeckoId: "parrot-usd", Decimals: 6, Price: 0.968878},                                              // Addr: Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS, Notional: 38.75512
-		{Chain: 1, Addr: "ca4d39964c9cb5f9790d0a12969f60fd9724936284ea4a12daded42ddfa69c5d", Symbol: "FIDA", CoinGeckoId: "bonfida", Decimals: 6, Price: 0.089283},                                                // Addr: EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp, Notional: 2.944225492824
-		{Chain: 1, Addr: "cc1bcd1d67c75bc278395ed463e45967941dd0ee02cc7327100d02c8730d1637", Symbol: "TAURUS", CoinGeckoId: "taurus-2", Decimals: 6, Price: 0.00070238},                                           // Addr: EjkkxYpfSwS6TAtKKuiJuNMMngYvumc1t1v9ZX1WJKMp, Notional: 3518.508057206303
-		{Chain: 1, Addr: "ce010e60afedb22717bd63192f54145a3f965a33bb82d2c7029eb2ce1e208264", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB, Notional: 599778.872336
-		{Chain: 1, Addr: "ceaf14fcf7cb2ed5003289247656f3427aa86c1cee4185effcc253e7a8fe403a", Symbol: "LAIKA", CoinGeckoId: "the-soldog", Decimals: 6, Price: 0.00000136},                                          // Addr: Euoq6CyQFCjCVSLR9wFaUPDW19Y6ZHwEcJoZsEi643i1, Notional: 0.00042159999999999995
-		{Chain: 1, Addr: "ced51ea8ae7d7670ce24e31fa7cc1f731ee3e02b91c017a37af71968cb17a290", Symbol: "CHADCAT", CoinGeckoId: "chad-cat", Decimals: 9, Price: 0.00006656},                                          // Addr: EvPUFsBikS1B3GpbmVvUWAc4DXaBXD4zLDER9SVSEF27, Notional: 0.041652895594752
+		{Chain: 1, Addr: "c59cade70266477a5028970d5d9680bb9f1602dd393d05e3cfa8775ea818e6f8", Symbol: "", CoinGeckoId: "bozo-hybrid", Decimals: 9, Price: 0.00326568},                                              // Addr: EJPtJEDogxzDbvM8qvAsqYbLmPj5n1vQeqoAzj9Yfv3q, Notional: 0.0000904122775512
+		{Chain: 1, Addr: "c5f9fb32f49111ab20c33f2598fc836c113e291881ac21ee29169394011244e4", Symbol: "$WIF", CoinGeckoId: "dogwifcoin", Decimals: 6, Price: 0.727173},                                             // Addr: EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm, Notional: -173610.77389518695
+		{Chain: 1, Addr: "c6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d61", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, Notional: 3074752.171839107
+		{Chain: 1, Addr: "c7dc3552acd085ffa989b81b21e5e0bcbccbb1ec87835f0db12fabbad666ddf6", Symbol: "MEDIA", CoinGeckoId: "media-network", Decimals: 6, Price: 0.552392},                                         // Addr: ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs, Notional: 1.12935439616
+		{Chain: 1, Addr: "c9a11f01cc857e5febddff9fd9e04cc82f44ec58ec6f19e23f5e7cca07ffb041", Symbol: "PAI", CoinGeckoId: "parrot-usd", Decimals: 6, Price: 0.968971},                                              // Addr: Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS, Notional: 38.75884
+		{Chain: 1, Addr: "ca4d39964c9cb5f9790d0a12969f60fd9724936284ea4a12daded42ddfa69c5d", Symbol: "FIDA", CoinGeckoId: "bonfida", Decimals: 6, Price: 0.078367},                                                // Addr: EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp, Notional: 2.5842558963760003
+		{Chain: 1, Addr: "cc1bcd1d67c75bc278395ed463e45967941dd0ee02cc7327100d02c8730d1637", Symbol: "TAURUS", CoinGeckoId: "taurus-2", Decimals: 6, Price: 0.00054571},                                           // Addr: EjkkxYpfSwS6TAtKKuiJuNMMngYvumc1t1v9ZX1WJKMp, Notional: 2683.0857067536535
+		{Chain: 1, Addr: "ce010e60afedb22717bd63192f54145a3f965a33bb82d2c7029eb2ce1e208264", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB, Notional: 601049.647976
+		{Chain: 1, Addr: "ceaf14fcf7cb2ed5003289247656f3427aa86c1cee4185effcc253e7a8fe403a", Symbol: "LAIKA", CoinGeckoId: "the-soldog", Decimals: 6, Price: 0.00000149},                                          // Addr: Euoq6CyQFCjCVSLR9wFaUPDW19Y6ZHwEcJoZsEi643i1, Notional: 0.00046189999999999995
+		{Chain: 1, Addr: "ced51ea8ae7d7670ce24e31fa7cc1f731ee3e02b91c017a37af71968cb17a290", Symbol: "CHADCAT", CoinGeckoId: "chad-cat", Decimals: 9, Price: 0.00005784},                                          // Addr: EvPUFsBikS1B3GpbmVvUWAc4DXaBXD4zLDER9SVSEF27, Notional: 0.036195965763228005
 		{Chain: 1, Addr: "cf3be585daf0d7aa080054c5ff622f468dbb2f49d086c5ca3230b60529e06103", Symbol: "", CoinGeckoId: "wrapped-cusd-allbridge-from-celo", Decimals: 9, Price: 0.995356},                           // Addr: EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e, Notional: 1.6921052
-		{Chain: 1, Addr: "cfc61bb2ec4f1577d9b77f7d25db59555fa791bcea427ce294a390e3e127f82e", Symbol: "VIRGO", CoinGeckoId: "virgo-2", Decimals: 6, Price: 0.0006945},                                              // Addr: Ez4bst5qu5uqX3AntYWUdafw9XvtFeJ3gugytKKbSJso, Notional: 3334.2961136526933
-		{Chain: 1, Addr: "d670e7f1810e56d73423f0e3ccb3c5e6218211acda522599c494f893113305ab", Symbol: "SMOG", CoinGeckoId: "smog", Decimals: 6, Price: 0.01192144},                                                 // Addr: FS66v5XYtJAFo14LiPz5HT93EUMAHmYipCfQhLpU4ss8, Notional: 777367.8905870649
-		{Chain: 1, Addr: "d6c679aa7652867ebb3221cd90f5cf1d7f1b20e3bfd713c95de54bbdd6df2172", Symbol: "wBIRD", CoinGeckoId: "bird-money", Decimals: 9, Price: 0.236754},                                            // Addr: FTPnEQ3NfRRZ9tvmpDW6JFrvweBE5sanxnXSpJL1dvbB, Notional: 0.0473508
+		{Chain: 1, Addr: "cfc61bb2ec4f1577d9b77f7d25db59555fa791bcea427ce294a390e3e127f82e", Symbol: "VIRGO", CoinGeckoId: "virgo-2", Decimals: 6, Price: 0.00052121},                                             // Addr: Ez4bst5qu5uqX3AntYWUdafw9XvtFeJ3gugytKKbSJso, Notional: 2672.227934952075
+		{Chain: 1, Addr: "d670e7f1810e56d73423f0e3ccb3c5e6218211acda522599c494f893113305ab", Symbol: "SMOG", CoinGeckoId: "smog", Decimals: 6, Price: 0.01113381},                                                 // Addr: FS66v5XYtJAFo14LiPz5HT93EUMAHmYipCfQhLpU4ss8, Notional: 720559.0420129094
+		{Chain: 1, Addr: "d6c679aa7652867ebb3221cd90f5cf1d7f1b20e3bfd713c95de54bbdd6df2172", Symbol: "wBIRD", CoinGeckoId: "bird-money", Decimals: 9, Price: 0.19038},                                             // Addr: FTPnEQ3NfRRZ9tvmpDW6JFrvweBE5sanxnXSpJL1dvbB, Notional: 0.038076
 		{Chain: 1, Addr: "d6de2876953718f8ae61f7a6da3b0869cc770dbe30d86458f46467d8ed1bf499", Symbol: "", CoinGeckoId: "synex-coin", Decimals: 9, Price: 0.00037006},                                               // Addr: FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ, Notional: 0.018503000000000002
-		{Chain: 1, Addr: "d813ffacd702778f0e56a4224bc22b7c2644dfa713fe929fec09c5fae093a802", Symbol: "MC", CoinGeckoId: "tap-fantasy-mc", Decimals: 9, Price: 0.064948},                                           // Addr: FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9, Notional: 0.0054739927996
-		{Chain: 1, Addr: "d8cd83cce34c8c935997bfbefd5c0aedb4ae4a8726a4e411edd106c4c1d81ac2", Symbol: "COMFY", CoinGeckoId: "socomfy", Decimals: 8, Price: 0.00002534},                                             // Addr: FbJpd8yhrGGkWVL1Ujf7qFvTw4uD4675k8CYk82LEKvZ, Notional: 912.24
+		{Chain: 1, Addr: "d813ffacd702778f0e56a4224bc22b7c2644dfa713fe929fec09c5fae093a802", Symbol: "MC", CoinGeckoId: "tap-fantasy-mc", Decimals: 9, Price: 0.058428},                                           // Addr: FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9, Notional: 0.0049244695956
+		{Chain: 1, Addr: "d8cd83cce34c8c935997bfbefd5c0aedb4ae4a8726a4e411edd106c4c1d81ac2", Symbol: "COMFY", CoinGeckoId: "socomfy", Decimals: 8, Price: 0.0000241},                                              // Addr: FbJpd8yhrGGkWVL1Ujf7qFvTw4uD4675k8CYk82LEKvZ, Notional: 867.6
 		{Chain: 1, Addr: "d9299d4dd5f2e8021a5f9d220ee6499ed7ce916b4455042a172fd08cee33065e", Symbol: "TGT", CoinGeckoId: "twirl-governance-token", Decimals: 6, Price: 0.00206801},                                // Addr: FciGvHj9FjgSGgCBF1b9HY814FM9D28NijDd5SJrKvPo, Notional: 0.010546851
 		{Chain: 1, Addr: "d9f5f028b2262005f14736d01e0115d02ecbf82513a58b8c0525c5537a186f41", Symbol: "BOO", CoinGeckoId: "boo", Decimals: 6, Price: 2.25488e-10},                                                  // Addr: FfpyoV365c7iR8QQg5NHGCXQfahbqzY67B3wpzXkiLXr, Notional: 0.0009470496
-		{Chain: 1, Addr: "db532dd1df8e6c87ca70695ddf92f8d86e621d0d86de69c3058de9b29ee22647", Symbol: "", CoinGeckoId: "monkeyball", Decimals: 6, Price: 0.00149301},                                               // Addr: Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A, Notional: 0.20939696069345998
-		{Chain: 1, Addr: "db9f5cc7f4249010132350e743d99e2a30f0a264b8b345cf23622f0e4eca9d14", Symbol: "SYP", CoinGeckoId: "sypool", Decimals: 9, Price: 0.00022088},                                                // Addr: FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ, Notional: 1667.0447288272128
-		{Chain: 1, Addr: "dbe7c49c3d365abe845bb853bf8a6e8a42743847fd0611ffba1a410b3f22639e", Symbol: "FORGE", CoinGeckoId: "blocksmith-labs-forge", Decimals: 9, Price: 0.01469832},                               // Addr: FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds, Notional: 0.019008425225244
-		{Chain: 1, Addr: "dbef5aa1e0f0042edd619a2f68fd3e4df833325dd2037fcc6bb3b6ed0cb7508e", Symbol: "", CoinGeckoId: "famous-fox-federation", Decimals: 0, Price: 0.00311418},                                    // Addr: FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq, Notional: 14.77366992
-		{Chain: 1, Addr: "dd40a2f6f423e4c3990a83eac3d9d9c1fe625b36cbc5e4a6d553544552a867ee", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.181439},                                                     // Addr: FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD, Notional: 4680.406377055299
-		{Chain: 1, Addr: "e24bdeaeffa04f43b8771a420b80061cf093260db29ac9c8ead65058a97f7857", Symbol: "", CoinGeckoId: "genopets", Decimals: 9, Price: 0.01890105},                                                 // Addr: GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz, Notional: 2.476032614935845
-		{Chain: 1, Addr: "e2975e097997188b8c83cf5b64f28ff42b1ae579b1b6747857bf722150de7fb0", Symbol: "GOFX", CoinGeckoId: "goosefx", Decimals: 9, Price: 0.00006086},                                              // Addr: GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD, Notional: 0.00012172
-		{Chain: 1, Addr: "e334cd4a3826672ea4c5394a042929c94638ecee0deeae37fbd41e396d06fc77", Symbol: "SOLAPE", CoinGeckoId: "solape-token", Decimals: 9, Price: 0.0001168},                                        // Addr: GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN, Notional: 0.0001168
-		{Chain: 1, Addr: "e350770814014371e2277d39b550570dd02e77db5f266e58f68f023c277f14af", Symbol: "ily", CoinGeckoId: "iiii-lovvv-youuuu", Decimals: 6, Price: 0.00032937},                                     // Addr: GJLiErro8cbWeDngDMWJug9dkwwckYZg4Lvb79F3pump, Notional: 14.71692965162184
-		{Chain: 1, Addr: "e3669aa0deb30991efc974beb9afd905b02d4ee2eb930e627358464d1c9e6433", Symbol: "WBS", CoinGeckoId: "white-boy-summer", Decimals: 9, Price: 0.00010302},                                      // Addr: GJgHsc1HU4ibmzW6oWQr8L2RRT95ATc1BoNuLkp94AwU, Notional: -224.72219166867464
+		{Chain: 1, Addr: "db532dd1df8e6c87ca70695ddf92f8d86e621d0d86de69c3058de9b29ee22647", Symbol: "", CoinGeckoId: "monkeyball", Decimals: 6, Price: 0.00183523},                                               // Addr: Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A, Notional: 0.25739384476557997
+		{Chain: 1, Addr: "db9f5cc7f4249010132350e743d99e2a30f0a264b8b345cf23622f0e4eca9d14", Symbol: "SYP", CoinGeckoId: "sypool", Decimals: 9, Price: 0.00013361},                                                // Addr: FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ, Notional: 1274.037824120007
+		{Chain: 1, Addr: "dbe7c49c3d365abe845bb853bf8a6e8a42743847fd0611ffba1a410b3f22639e", Symbol: "FORGE", CoinGeckoId: "blocksmith-labs-forge", Decimals: 9, Price: 0.01914491},                               // Addr: FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds, Notional: 0.0247589241613345
+		{Chain: 1, Addr: "dbef5aa1e0f0042edd619a2f68fd3e4df833325dd2037fcc6bb3b6ed0cb7508e", Symbol: "", CoinGeckoId: "famous-fox-federation", Decimals: 0, Price: 0.00196881},                                    // Addr: FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq, Notional: 9.34003464
+		{Chain: 1, Addr: "dd40a2f6f423e4c3990a83eac3d9d9c1fe625b36cbc5e4a6d553544552a867ee", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.187803},                                                     // Addr: FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD, Notional: 4844.5723291581
+		{Chain: 1, Addr: "e24bdeaeffa04f43b8771a420b80061cf093260db29ac9c8ead65058a97f7857", Symbol: "", CoinGeckoId: "genopets", Decimals: 9, Price: 0.00961815},                                                 // Addr: GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz, Notional: 1.2599751387010352
+		{Chain: 1, Addr: "e2975e097997188b8c83cf5b64f28ff42b1ae579b1b6747857bf722150de7fb0", Symbol: "GOFX", CoinGeckoId: "goosefx", Decimals: 9, Price: 0.00004827},                                              // Addr: GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD, Notional: 0.00009654
+		{Chain: 1, Addr: "e334cd4a3826672ea4c5394a042929c94638ecee0deeae37fbd41e396d06fc77", Symbol: "SOLAPE", CoinGeckoId: "solape-token", Decimals: 9, Price: 0.00010585},                                       // Addr: GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN, Notional: 0.00010585
+		{Chain: 1, Addr: "e350770814014371e2277d39b550570dd02e77db5f266e58f68f023c277f14af", Symbol: "ily", CoinGeckoId: "iiii-lovvv-youuuu", Decimals: 6, Price: 0.00024052},                                     // Addr: GJLiErro8cbWeDngDMWJug9dkwwckYZg4Lvb79F3pump, Notional: 10.74692874216864
+		{Chain: 1, Addr: "e3669aa0deb30991efc974beb9afd905b02d4ee2eb930e627358464d1c9e6433", Symbol: "WBS", CoinGeckoId: "white-boy-summer", Decimals: 9, Price: 0.00012323},                                      // Addr: GJgHsc1HU4ibmzW6oWQr8L2RRT95ATc1BoNuLkp94AwU, Notional: -268.8071799585593
 		{Chain: 1, Addr: "e66b5c6e86ec048a73a370e0588e1dcbaa16f532b8e5790eb830386b3ae947fc", Symbol: "", CoinGeckoId: "galaxy-war", Decimals: 6, Price: 0.00011302},                                               // Addr: GWTipxSJVPmmW2wCjBdkbnEJbCRCyrhL2x9zuHRPPTj1, Notional: 1.16168541313736
 		{Chain: 1, Addr: "e67a4e87ce4d1df99623ee52b47b2675bfa1dc3c875eac60533c6e7cc6daee27", Symbol: "", CoinGeckoId: "1safu", Decimals: 0, Price: 5.329e-9},                                                      // Addr: GWgwUUrgai3BFeEJZp7bdsBSYiuDqNmHf9uRusWsf3Yi, Notional: 0.000647766595
-		{Chain: 1, Addr: "e8aea53120492d4b007a41f4fea777ac914c36dc21f944614e9a96ebe0a18367", Symbol: "SOLPAD", CoinGeckoId: "solpad-finance", Decimals: 9, Price: 5.38868e-7},                                     // Addr: GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp, Notional: 0.000025123500087919642
-		{Chain: 1, Addr: "e92f2b9eb212cdc7941a829712babcb7a6697f8b94710f05ba381666130d96d1", Symbol: "ARIES", CoinGeckoId: "aries", Decimals: 6, Price: 0.00068313},                                               // Addr: GhFiFrExPY3proVF96oth1gESWA5QPQzdtb8cy8b1YZv, Notional: 3267.637745298925
-		{Chain: 1, Addr: "e9e5418ae527093d6a777adabea125d9681dd77643ac339e6ec487865c928672", Symbol: "$PTRUMP", CoinGeckoId: "pepe-trump", Decimals: 6, Price: 0.00097344},                                        // Addr: Gk2kRrwNMBU4Dn9JhC1Dks8G5X9nqi4ZE5jMvK6bdgEd, Notional: 23145.89701706134
-		{Chain: 1, Addr: "eac40dce1cfccb5ca30a878aebb3025763a8d3f0c4f15c3e858b98899982b71f", Symbol: "KSG", CoinGeckoId: "king-sugar-glider", Decimals: 6, Price: 0.00002143},                                     // Addr: GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump, Notional: 3.5336081943400304
-		{Chain: 1, Addr: "eb93117f10dd2e3ff96c12c11267f8654eb1050d05a55eaa08ab80a77c409d1e", Symbol: "GRASS", CoinGeckoId: "grass", Decimals: 9, Price: 0.789924},                                                 // Addr: Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs, Notional: 0.00482643564
-		{Chain: 1, Addr: "ebc7380b4b2467a56f247d9d83635f45df774bd341fe028ef56b45607bfe256c", Symbol: "DXL", CoinGeckoId: "dexlab", Decimals: 6, Price: 0.00025624},                                                // Addr: GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z, Notional: 0.0000011356556800000002
+		{Chain: 1, Addr: "e8aea53120492d4b007a41f4fea777ac914c36dc21f944614e9a96ebe0a18367", Symbol: "SOLPAD", CoinGeckoId: "solpad-finance", Decimals: 9, Price: 5.68909e-7},                                     // Addr: GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp, Notional: 0.000026524093676964073
+		{Chain: 1, Addr: "e92f2b9eb212cdc7941a829712babcb7a6697f8b94710f05ba381666130d96d1", Symbol: "ARIES", CoinGeckoId: "aries", Decimals: 6, Price: 0.00054349},                                               // Addr: GhFiFrExPY3proVF96oth1gESWA5QPQzdtb8cy8b1YZv, Notional: 2747.539199409408
+		{Chain: 1, Addr: "e9e5418ae527093d6a777adabea125d9681dd77643ac339e6ec487865c928672", Symbol: "$PTRUMP", CoinGeckoId: "pepe-trump", Decimals: 6, Price: 0.00087829},                                        // Addr: Gk2kRrwNMBU4Dn9JhC1Dks8G5X9nqi4ZE5jMvK6bdgEd, Notional: 20849.337068176577
+		{Chain: 1, Addr: "eac40dce1cfccb5ca30a878aebb3025763a8d3f0c4f15c3e858b98899982b71f", Symbol: "KSG", CoinGeckoId: "king-sugar-glider", Decimals: 6, Price: 0.00002177},                                     // Addr: GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump, Notional: 3.58967104016717
+		{Chain: 1, Addr: "eb93117f10dd2e3ff96c12c11267f8654eb1050d05a55eaa08ab80a77c409d1e", Symbol: "GRASS", CoinGeckoId: "grass", Decimals: 9, Price: 0.769936},                                                 // Addr: Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs, Notional: 0.0047043089599999996
+		{Chain: 1, Addr: "ebc7380b4b2467a56f247d9d83635f45df774bd341fe028ef56b45607bfe256c", Symbol: "DXL", CoinGeckoId: "dexlab", Decimals: 6, Price: 0.00017748},                                                // Addr: GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z, Notional: 7.8659136e-7
 		{Chain: 1, Addr: "ebd47511adbd4c48202bc2d335138ce08fca42964e99e08126d8cdd78f974985", Symbol: "gSAIL", CoinGeckoId: "solanasail-governance-token", Decimals: 9, Price: 0.00589147},                         // Addr: Gsai2KN28MTGcSZ1gKYFswUpFpS7EM9mvdR9c8f6iVXJ, Notional: 0.01767441
-		{Chain: 1, Addr: "ecc960fbf1d75d4051dc9833005626b0556325ab2a1d2eaeba5e1241e479a699", Symbol: "LLD", CoinGeckoId: "liberland-lld", Decimals: 8, Price: 1.69},                                               // Addr: GwKKPsJdY5oWMJ8RReWLcvb82KzW6FKy2bKoYW7kHr16, Notional: 3.3161162762
-		{Chain: 1, Addr: "edcc10dafe9e4643d0397fb1ffa280b7a3c28090ebfe4816c3e0f39b9d7ca411", Symbol: "SBONK", CoinGeckoId: "shibonk-311f81df-a4ea-4f31-9e61-df0af8211bd7", Decimals: 9, Price: 0.310165},          // Addr: H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr, Notional: 0.5272582022381501
-		{Chain: 1, Addr: "f0b994a40022dee3258b3fb8915d1737f6b38d6c0efc03b5bf0a65636bbfae9f", Symbol: "", CoinGeckoId: "starlaunch", Decimals: 6, Price: 0.00780044},                                               // Addr: HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW, Notional: 0.00780044
-		{Chain: 1, Addr: "f204ae4a202016d4de45496d2b0becaa650f1e9a58c02426f4190166488f4d9c", Symbol: "", CoinGeckoId: "pip", Decimals: 9, Price: 0.00053589},                                                      // Addr: HHjoYwUp5aU6pnrvN4s2pwEErwXNZKhxKGYjRJMoBjLw, Notional: 0.1811361789
+		{Chain: 1, Addr: "ecc960fbf1d75d4051dc9833005626b0556325ab2a1d2eaeba5e1241e479a699", Symbol: "LLD", CoinGeckoId: "liberland-lld", Decimals: 8, Price: 1.46},                                               // Addr: GwKKPsJdY5oWMJ8RReWLcvb82KzW6FKy2bKoYW7kHr16, Notional: 2.8648105108
+		{Chain: 1, Addr: "edcc10dafe9e4643d0397fb1ffa280b7a3c28090ebfe4816c3e0f39b9d7ca411", Symbol: "SBONK", CoinGeckoId: "shibonk-311f81df-a4ea-4f31-9e61-df0af8211bd7", Decimals: 9, Price: 0.339494},          // Addr: H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr, Notional: 0.57711539377634
+		{Chain: 1, Addr: "f0b994a40022dee3258b3fb8915d1737f6b38d6c0efc03b5bf0a65636bbfae9f", Symbol: "", CoinGeckoId: "starlaunch", Decimals: 6, Price: 0.01250857},                                               // Addr: HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW, Notional: 0.01250857
+		{Chain: 1, Addr: "f204ae4a202016d4de45496d2b0becaa650f1e9a58c02426f4190166488f4d9c", Symbol: "", CoinGeckoId: "pip", Decimals: 9, Price: 0.00054799},                                                      // Addr: HHjoYwUp5aU6pnrvN4s2pwEErwXNZKhxKGYjRJMoBjLw, Notional: 0.1852260999
 		{Chain: 1, Addr: "f207dc9bd5545f9674a6b087ef55a585e8580a192f412de0890e91f735201049", Symbol: "clAPT", CoinGeckoId: "cloned-aptos", Decimals: 8, Price: 3.67},                                              // Addr: HHncifGW3yJyaW2fRRfBYAawnD9ogbsWM5PccFA4GHSx, Notional: 0.5642172488999999
-		{Chain: 1, Addr: "f23cba7173364712aaa6114393f2c187b8d8b5194abaa872ada605fa8820b61f", Symbol: "", CoinGeckoId: "atlas-dex", Decimals: 9, Price: 0.00013075},                                                // Addr: HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv, Notional: 0.0119770366551
-		{Chain: 1, Addr: "f51829ba389a574812109c6de6051e77c7a003ba666a26d13d30c51c51f7e94e", Symbol: "", CoinGeckoId: "visiongame", Decimals: 9, Price: 0.00026319},                                               // Addr: HVkFqcMHevVPb4XKrf4XowjEaVVsBoqJ2U1EG59Dfk5j, Notional: 9.15020137286619
-		{Chain: 1, Addr: "f5a8417cdb387bd0c408b600e0a4662f155aa37527e6376bc28254deea6e1e48", Symbol: "$DEFI", CoinGeckoId: "de-fi", Decimals: 6, Price: 0.00167601},                                               // Addr: HXwh9i8D1LKkVK8WfMjFPyiyVZ4Auh9aLD5ut4LCRqqR, Notional: 104.63789324052014
-		{Chain: 1, Addr: "f5edec8471c75624ebc4079a634326d96a689e6157d79abe8f5a6f94472853bc", Symbol: "PYTH", CoinGeckoId: "pyth-network", Decimals: 6, Price: 0.162864},                                           // Addr: HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3, Notional: 351489.97320575675
-		{Chain: 1, Addr: "f79a6689e1ee9439000424c51198bfa4f0510ea523204ce8ec639c3fa8ebb916", Symbol: "", CoinGeckoId: "cryowar-token", Decimals: 9, Price: 0.00086803},                                            // Addr: HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo, Notional: 1.73606
-		{Chain: 1, Addr: "f926de74d018c7be81c476f359aaacba61b762767977d2565c9eb57682011706", Symbol: "PSOL", CoinGeckoId: "parasol-finance", Decimals: 7, Price: 0.00416739},                                      // Addr: Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ, Notional: 0.00416739
-		{Chain: 1, Addr: "faf2d6df73cb4778b625966d4fba883fd424a80497d5e31c934352ade1d1bdc9", Symbol: "", CoinGeckoId: "dead-knight", Decimals: 9, Price: 0.00001052},                                              // Addr: HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W, Notional: 0.00493125
-		{Chain: 1, Addr: "fcd141e9832caf10ad917495ca0f271b5b293cd47027ea737007ed40eb39a0bd", Symbol: "JitoSOL", CoinGeckoId: "jito-staked-sol", Decimals: 9, Price: 264.8},                                        // Addr: J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn, Notional: 27798.84399976
-		{Chain: 1, Addr: "fd86d81bd924f3cfc702ea40b8d30705f75c387a23d9a8e22ff1d6e52a8a3b54", Symbol: "SCORPIO", CoinGeckoId: "scorpio", Decimals: 6, Price: 0.0006971},                                            // Addr: J4fQTRN13MKpXhVE74t99msKJLbrjegjEgLBnzEv2YH1, Notional: 3465.8020791713916
+		{Chain: 1, Addr: "f23cba7173364712aaa6114393f2c187b8d8b5194abaa872ada605fa8820b61f", Symbol: "", CoinGeckoId: "atlas-dex", Decimals: 9, Price: 0.00013717},                                                // Addr: HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv, Notional: 0.012565125185315999
+		{Chain: 1, Addr: "f51829ba389a574812109c6de6051e77c7a003ba666a26d13d30c51c51f7e94e", Symbol: "", CoinGeckoId: "visiongame", Decimals: 9, Price: 0.00027764},                                               // Addr: HVkFqcMHevVPb4XKrf4XowjEaVVsBoqJ2U1EG59Dfk5j, Notional: 9.65257764034564
+		{Chain: 1, Addr: "f5a8417cdb387bd0c408b600e0a4662f155aa37527e6376bc28254deea6e1e48", Symbol: "$DEFI", CoinGeckoId: "de-fi", Decimals: 6, Price: 0.00174408},                                               // Addr: HXwh9i8D1LKkVK8WfMjFPyiyVZ4Auh9aLD5ut4LCRqqR, Notional: 108.88768971720121
+		{Chain: 1, Addr: "f5edec8471c75624ebc4079a634326d96a689e6157d79abe8f5a6f94472853bc", Symbol: "PYTH", CoinGeckoId: "pyth-network", Decimals: 6, Price: 0.147422},                                           // Addr: HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3, Notional: 316833.4974720968
+		{Chain: 1, Addr: "f79a6689e1ee9439000424c51198bfa4f0510ea523204ce8ec639c3fa8ebb916", Symbol: "", CoinGeckoId: "cryowar-token", Decimals: 9, Price: 0.00149944},                                            // Addr: HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo, Notional: 2.99888
+		{Chain: 1, Addr: "f926de74d018c7be81c476f359aaacba61b762767977d2565c9eb57682011706", Symbol: "PSOL", CoinGeckoId: "parasol-finance", Decimals: 7, Price: 0.00412046},                                      // Addr: Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ, Notional: 0.00412046
+		{Chain: 1, Addr: "faf2d6df73cb4778b625966d4fba883fd424a80497d5e31c934352ade1d1bdc9", Symbol: "", CoinGeckoId: "dead-knight", Decimals: 9, Price: 0.0000108},                                               // Addr: HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W, Notional: 0.0050625
+		{Chain: 1, Addr: "fcd141e9832caf10ad917495ca0f271b5b293cd47027ea737007ed40eb39a0bd", Symbol: "JitoSOL", CoinGeckoId: "jito-staked-sol", Decimals: 9, Price: 257.11},                                       // Addr: J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn, Notional: 26993.6301405694
+		{Chain: 1, Addr: "fd86d81bd924f3cfc702ea40b8d30705f75c387a23d9a8e22ff1d6e52a8a3b54", Symbol: "SCORPIO", CoinGeckoId: "scorpio", Decimals: 6, Price: 0.00053932},                                           // Addr: J4fQTRN13MKpXhVE74t99msKJLbrjegjEgLBnzEv2YH1, Notional: 2830.897709939662
 		{Chain: 1, Addr: "fe41912ceb0b2cb23badaac80e3b41d42cbe0e0c999ccdec5cf0d70bc3e2ccd1", Symbol: "", CoinGeckoId: "mongoosecoin", Decimals: 9, Price: 3.4275e-8},                                              // Addr: J7WYVzFNynk9D28eBCccw2EYkygygiLDCVCabV7CupWL, Notional: 0.0000068550000000000004
-		{Chain: 2, Addr: "0000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb0", Symbol: "OLAS", CoinGeckoId: "autonolas", Decimals: 18, Price: 0.233959},                                             // Addr: 0x0001a500a6b18995b03f44bb040a5ffc28e45cb0, Notional: 269838.41977339034
+		{Chain: 2, Addr: "0000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb0", Symbol: "OLAS", CoinGeckoId: "autonolas", Decimals: 18, Price: 0.215826},                                             // Addr: 0x0001a500a6b18995b03f44bb040a5ffc28e45cb0, Notional: 239714.56242455295
 		{Chain: 2, Addr: "000000000000000000000000009178997aff09a67d4caccfeb897fb79d036214", Symbol: "1SOL", CoinGeckoId: "1sol", Decimals: 18, Price: 0.00210064},                                                // Addr: 0x009178997aff09a67d4caccfeb897fb79d036214, Notional: 196048.4001276926
-		{Chain: 2, Addr: "00000000000000000000000000a8b738e453ffd858a7edf03bccfe20412f0eb0", Symbol: "ALBT", CoinGeckoId: "allianceblock", Decimals: 18, Price: 0.00013701},                                       // Addr: 0x00a8b738e453ffd858a7edf03bccfe20412f0eb0, Notional: 0.019993633346858396
-		{Chain: 2, Addr: "00000000000000000000000000c5ca160a968f47e7272a0cfcda36428f386cb6", Symbol: "USDEBT", CoinGeckoId: "usdebt", Decimals: 18, Price: 3.024e-9},                                              // Addr: 0x00c5ca160a968f47e7272a0cfcda36428f386cb6, Notional: 32.3148708784538
+		{Chain: 2, Addr: "00000000000000000000000000a8b738e453ffd858a7edf03bccfe20412f0eb0", Symbol: "ALBT", CoinGeckoId: "allianceblock", Decimals: 18, Price: 0.00010322},                                       // Addr: 0x00a8b738e453ffd858a7edf03bccfe20412f0eb0, Notional: 0.0150627168386448
+		{Chain: 2, Addr: "00000000000000000000000000c5ca160a968f47e7272a0cfcda36428f386cb6", Symbol: "USDEBT", CoinGeckoId: "usdebt", Decimals: 18, Price: 2.495e-9},                                              // Addr: 0x00c5ca160a968f47e7272a0cfcda36428f386cb6, Notional: 26.661905701634343
 		{Chain: 2, Addr: "00000000000000000000000000e679ba63b509182c349f5614f0a07cdd0ce0c5", Symbol: "DAMEX", CoinGeckoId: "damex-token", Decimals: 18, Price: 0.00007997},                                        // Addr: 0x00e679ba63b509182c349f5614f0a07cdd0ce0c5, Notional: 0.047982
-		{Chain: 2, Addr: "000000000000000000000000030ba81f1c18d280636f32af80b9aad02cf0854e", Symbol: "aWETH", CoinGeckoId: "aave-weth", Decimals: 18, Price: 4300.53},                                             // Addr: 0x030ba81f1c18d280636f32af80b9aad02cf0854e, Notional: 1290.2150789112
-		{Chain: 2, Addr: "0000000000000000000000000316eb71485b0ab14103307bf65a021042c6d380", Symbol: "HBTC", CoinGeckoId: "huobi-btc", Decimals: 18, Price: 1151.45},                                              // Addr: 0x0316eb71485b0ab14103307bf65a021042c6d380, Notional: 235.624621792
-		{Chain: 2, Addr: "00000000000000000000000003ab458634910aad20ef5f1c8ee96f1d6ac54919", Symbol: "RAI", CoinGeckoId: "rai", Decimals: 18, Price: 4.85},                                                        // Addr: 0x03ab458634910aad20ef5f1c8ee96f1d6ac54919, Notional: 14.549999999999999
-		{Chain: 2, Addr: "00000000000000000000000003be5c903c727ee2c8c4e9bc0acc860cca4715e2", Symbol: "CAPS", CoinGeckoId: "coin-capsule", Decimals: 18, Price: 0.00135577},                                        // Addr: 0x03be5c903c727ee2c8c4e9bc0acc860cca4715e2, Notional: 272.4332644132927
-		{Chain: 2, Addr: "000000000000000000000000046eee2cc3188071c02bfc1745a6b17c656e3f3d", Symbol: "RLB", CoinGeckoId: "rollbit-coin", Decimals: 18, Price: 0.068459},                                           // Addr: 0x046eee2cc3188071c02bfc1745a6b17c656e3f3d, Notional: 234.12978
-		{Chain: 2, Addr: "00000000000000000000000004815313e9329e8905a77251a1781cfa7934259a", Symbol: "HOOD", CoinGeckoId: "wagmicatgirlkanye420etfmoon1000x", Decimals: 18, Price: 0.00000421},                    // Addr: 0x04815313e9329e8905a77251a1781cfa7934259a, Notional: 13256.398520664068
-		{Chain: 2, Addr: "00000000000000000000000004969cd041c0cafb6ac462bd65b536a5bdb3a670", Symbol: "wOMI", CoinGeckoId: "wrapped-ecomi", Decimals: 18, Price: 0.0006123},                                        // Addr: 0x04969cd041c0cafb6ac462bd65b536a5bdb3a670, Notional: 11.495746051766067
-		{Chain: 2, Addr: "00000000000000000000000004c154b66cb340f3ae24111cc767e0184ed00cc6", Symbol: "pxETH", CoinGeckoId: "dinero-staked-eth", Decimals: 18, Price: 4279.82},                                     // Addr: 0x04c154b66cb340f3ae24111cc767e0184ed00cc6, Notional: 23884.600757197997
-		{Chain: 2, Addr: "000000000000000000000000054d64b73d3d8a21af3d764efd76bcaa774f3bb2", Symbol: "PPAY", CoinGeckoId: "plasma-finance", Decimals: 18, Price: 0.0001838},                                       // Addr: 0x054d64b73d3d8a21af3d764efd76bcaa774f3bb2, Notional: 1838.0165998137954
-		{Chain: 2, Addr: "00000000000000000000000005d3606d5c81eb9b7b18530995ec9b29da05faba", Symbol: "TOMOE", CoinGeckoId: "tomoe", Decimals: 18, Price: 0.235553},                                                // Addr: 0x05d3606d5c81eb9b7b18530995ec9b29da05faba, Notional: 23555.300000000003
-		{Chain: 2, Addr: "00000000000000000000000006450dee7fd2fb8e39061434babcfc05599a6fb8", Symbol: "XEN", CoinGeckoId: "xen-crypto", Decimals: 18, Price: 2.9731e-8},                                            // Addr: 0x06450dee7fd2fb8e39061434babcfc05599a6fb8, Notional: 0.00029760731
-		{Chain: 2, Addr: "00000000000000000000000006af07097c9eeb7fd685c692751d5c66db49c215", Symbol: "CHAI", CoinGeckoId: "chai", Decimals: 18, Price: 1.17},                                                      // Addr: 0x06af07097c9eeb7fd685c692751d5c66db49c215, Notional: 8964450.88153504
-		{Chain: 2, Addr: "00000000000000000000000006e0feb0d74106c7ada8497754074d222ec6bcdf", Symbol: "BTB", CoinGeckoId: "bitball", Decimals: 18, Price: 0.00018999},                                              // Addr: 0x06e0feb0d74106c7ada8497754074d222ec6bcdf, Notional: 1709.9099999999999
-		{Chain: 2, Addr: "0000000000000000000000000763fdccf1ae541a5961815c0872a8c5bc6de4d7", Symbol: "SUKU", CoinGeckoId: "suku", Decimals: 18, Price: 0.02978508},                                                // Addr: 0x0763fdccf1ae541a5961815c0872a8c5bc6de4d7, Notional: 25441.560419802616
-		{Chain: 2, Addr: "000000000000000000000000081131434f93063751813c619ecca9c4dc7862a3", Symbol: "DAR", CoinGeckoId: "mines-of-dalarnia", Decimals: 6, Price: 0.03057586},                                     // Addr: 0x081131434f93063751813c619ecca9c4dc7862a3, Notional: 32.57549100447446
-		{Chain: 2, Addr: "00000000000000000000000008389495d7456e1951ddf7c3a1314a4bfb646d8b", Symbol: "CRPT", CoinGeckoId: "crypterium", Decimals: 18, Price: 0.00184121},                                          // Addr: 0x08389495d7456e1951ddf7c3a1314a4bfb646d8b, Notional: 0.06260114
-		{Chain: 2, Addr: "00000000000000000000000008d967bb0134f2d07f7cfb6e246680c53927dd30", Symbol: "MATH", CoinGeckoId: "math", Decimals: 18, Price: 0.096465},                                                  // Addr: 0x08d967bb0134f2d07f7cfb6e246680c53927dd30, Notional: 483627.20686982124
-		{Chain: 2, Addr: "000000000000000000000000090185f2135308bad17527004364ebcc2d37e5f6", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00048293},                                        // Addr: 0x090185f2135308bad17527004364ebcc2d37e5f6, Notional: 0.00048293
-		{Chain: 2, Addr: "00000000000000000000000009a3ecafa817268f77be1283176b946c4ff2e608", Symbol: "MIR", CoinGeckoId: "mirror-protocol", Decimals: 18, Price: 0.01221058},                                      // Addr: 0x09a3ecafa817268f77be1283176b946c4ff2e608, Notional: 106.87353670601466
-		{Chain: 2, Addr: "0000000000000000000000000a638f07acc6969abf392bb009f216d22adea36d", Symbol: "BKN", CoinGeckoId: "brickken", Decimals: 18, Price: 0.189253},                                               // Addr: 0x0a638f07acc6969abf392bb009f216d22adea36d, Notional: 768529.9838938825
-		{Chain: 2, Addr: "0000000000000000000000000ab87046fbb341d058f17cbc4c1133f25a20a52f", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 6069.06},                                         // Addr: 0x0ab87046fbb341d058f17cbc4c1133f25a20a52f, Notional: 1014.9767886834001
-		{Chain: 2, Addr: "0000000000000000000000000b61c4f33bcdef83359ab97673cb5961c6435f4e", Symbol: "EARN", CoinGeckoId: "hold-2", Decimals: 18, Price: 0.00215593},                                              // Addr: 0x0b61c4f33bcdef83359ab97673cb5961c6435f4e, Notional: 12.599412655406114
-		{Chain: 2, Addr: "0000000000000000000000000bc529c00c6401aef6d220be8c6ea1667f6ad93e", Symbol: "YFI", CoinGeckoId: "yearn-finance", Decimals: 18, Price: 5341.42},                                           // Addr: 0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e, Notional: 177162.9967635892
-		{Chain: 2, Addr: "0000000000000000000000000c572544a4ee47904d54aaa6a970af96b6f00e1b", Symbol: "WAS", CoinGeckoId: "wasder", Decimals: 18, Price: 0.000069},                                                 // Addr: 0x0c572544a4ee47904d54aaa6a970af96b6f00e1b, Notional: 55.0071565590939
-		{Chain: 2, Addr: "0000000000000000000000000d505c03d30e65f6e9b4ef88855a47a89e4b7676", Symbol: "ZOOMER", CoinGeckoId: "zoomer", Decimals: 18, Price: 0.00000627},                                            // Addr: 0x0d505c03d30e65f6e9b4ef88855a47a89e4b7676, Notional: 6178.143729566831
+		{Chain: 2, Addr: "000000000000000000000000030ba81f1c18d280636f32af80b9aad02cf0854e", Symbol: "aWETH", CoinGeckoId: "aave-weth", Decimals: 18, Price: 4145.44},                                             // Addr: 0x030ba81f1c18d280636f32af80b9aad02cf0854e, Notional: 1243.6860565375998
+		{Chain: 2, Addr: "0000000000000000000000000316eb71485b0ab14103307bf65a021042c6d380", Symbol: "HBTC", CoinGeckoId: "huobi-btc", Decimals: 18, Price: 953.73},                                               // Addr: 0x0316eb71485b0ab14103307bf65a021042c6d380, Notional: 195.16459294080002
+		{Chain: 2, Addr: "00000000000000000000000003ab458634910aad20ef5f1c8ee96f1d6ac54919", Symbol: "RAI", CoinGeckoId: "rai", Decimals: 18, Price: 4.5},                                                         // Addr: 0x03ab458634910aad20ef5f1c8ee96f1d6ac54919, Notional: 13.5
+		{Chain: 2, Addr: "00000000000000000000000003be5c903c727ee2c8c4e9bc0acc860cca4715e2", Symbol: "CAPS", CoinGeckoId: "coin-capsule", Decimals: 18, Price: 0.00118699},                                        // Addr: 0x03be5c903c727ee2c8c4e9bc0acc860cca4715e2, Notional: 238.51800860465588
+		{Chain: 2, Addr: "000000000000000000000000046eee2cc3188071c02bfc1745a6b17c656e3f3d", Symbol: "RLB", CoinGeckoId: "rollbit-coin", Decimals: 18, Price: 0.072747},                                           // Addr: 0x046eee2cc3188071c02bfc1745a6b17c656e3f3d, Notional: 248.79474000000002
+		{Chain: 2, Addr: "00000000000000000000000004815313e9329e8905a77251a1781cfa7934259a", Symbol: "HOOD", CoinGeckoId: "wagmicatgirlkanye420etfmoon1000x", Decimals: 18, Price: 0.00000421},                    // Addr: 0x04815313e9329e8905a77251a1781cfa7934259a, Notional: 13278.52676513571
+		{Chain: 2, Addr: "00000000000000000000000004969cd041c0cafb6ac462bd65b536a5bdb3a670", Symbol: "wOMI", CoinGeckoId: "wrapped-ecomi", Decimals: 18, Price: 0.00057104},                                       // Addr: 0x04969cd041c0cafb6ac462bd65b536a5bdb3a670, Notional: 10.721102115630401
+		{Chain: 2, Addr: "00000000000000000000000004c154b66cb340f3ae24111cc767e0184ed00cc6", Symbol: "pxETH", CoinGeckoId: "dinero-staked-eth", Decimals: 18, Price: 4122.46},                                     // Addr: 0x04c154b66cb340f3ae24111cc767e0184ed00cc6, Notional: 23006.414110293998
+		{Chain: 2, Addr: "000000000000000000000000054d64b73d3d8a21af3d764efd76bcaa774f3bb2", Symbol: "PPAY", CoinGeckoId: "plasma-finance", Decimals: 18, Price: 0.00031642},                                      // Addr: 0x054d64b73d3d8a21af3d764efd76bcaa774f3bb2, Notional: 3164.2285773290596
+		{Chain: 2, Addr: "00000000000000000000000005d3606d5c81eb9b7b18530995ec9b29da05faba", Symbol: "TOMOE", CoinGeckoId: "tomoe", Decimals: 18, Price: 0.204534},                                                // Addr: 0x05d3606d5c81eb9b7b18530995ec9b29da05faba, Notional: 20453.399999999998
+		{Chain: 2, Addr: "00000000000000000000000006450dee7fd2fb8e39061434babcfc05599a6fb8", Symbol: "XEN", CoinGeckoId: "xen-crypto", Decimals: 18, Price: 2.6778e-8},                                            // Addr: 0x06450dee7fd2fb8e39061434babcfc05599a6fb8, Notional: 0.00026804778
+		{Chain: 2, Addr: "00000000000000000000000006af07097c9eeb7fd685c692751d5c66db49c215", Symbol: "CHAI", CoinGeckoId: "chai", Decimals: 18, Price: 1.18},                                                      // Addr: 0x06af07097c9eeb7fd685c692751d5c66db49c215, Notional: 9041070.11983876
+		{Chain: 2, Addr: "00000000000000000000000006e0feb0d74106c7ada8497754074d222ec6bcdf", Symbol: "BTB", CoinGeckoId: "bitball", Decimals: 18, Price: 0.00008898},                                              // Addr: 0x06e0feb0d74106c7ada8497754074d222ec6bcdf, Notional: 800.82
+		{Chain: 2, Addr: "0000000000000000000000000763fdccf1ae541a5961815c0872a8c5bc6de4d7", Symbol: "SUKU", CoinGeckoId: "suku", Decimals: 18, Price: 0.02640912},                                                // Addr: 0x0763fdccf1ae541a5961815c0872a8c5bc6de4d7, Notional: 22557.912287421008
+		{Chain: 2, Addr: "000000000000000000000000081131434f93063751813c619ecca9c4dc7862a3", Symbol: "DAR", CoinGeckoId: "mines-of-dalarnia", Decimals: 6, Price: 0.03678016},                                     // Addr: 0x081131434f93063751813c619ecca9c4dc7862a3, Notional: 39.18554608842176
+		{Chain: 2, Addr: "00000000000000000000000008389495d7456e1951ddf7c3a1314a4bfb646d8b", Symbol: "CRPT", CoinGeckoId: "crypterium", Decimals: 18, Price: 0.00108873},                                          // Addr: 0x08389495d7456e1951ddf7c3a1314a4bfb646d8b, Notional: 0.03701682
+		{Chain: 2, Addr: "00000000000000000000000008d967bb0134f2d07f7cfb6e246680c53927dd30", Symbol: "MATH", CoinGeckoId: "math", Decimals: 18, Price: 0.081747},                                                  // Addr: 0x08d967bb0134f2d07f7cfb6e246680c53927dd30, Notional: 411261.08660845587
+		{Chain: 2, Addr: "000000000000000000000000090185f2135308bad17527004364ebcc2d37e5f6", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00043268},                                        // Addr: 0x090185f2135308bad17527004364ebcc2d37e5f6, Notional: 0.00043268
+		{Chain: 2, Addr: "00000000000000000000000009a3ecafa817268f77be1283176b946c4ff2e608", Symbol: "MIR", CoinGeckoId: "mirror-protocol", Decimals: 18, Price: 0.0120676},                                       // Addr: 0x09a3ecafa817268f77be1283176b946c4ff2e608, Notional: 105.62209915937675
+		{Chain: 2, Addr: "0000000000000000000000000a638f07acc6969abf392bb009f216d22adea36d", Symbol: "BKN", CoinGeckoId: "brickken", Decimals: 18, Price: 0.182971},                                               // Addr: 0x0a638f07acc6969abf392bb009f216d22adea36d, Notional: 860528.2665568314
+		{Chain: 2, Addr: "0000000000000000000000000ab87046fbb341d058f17cbc4c1133f25a20a52f", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 5925.94},                                         // Addr: 0x0ab87046fbb341d058f17cbc4c1133f25a20a52f, Notional: 991.0417018666
+		{Chain: 2, Addr: "0000000000000000000000000b61c4f33bcdef83359ab97673cb5961c6435f4e", Symbol: "EARN", CoinGeckoId: "hold-2", Decimals: 18, Price: 0.00216324},                                              // Addr: 0x0b61c4f33bcdef83359ab97673cb5961c6435f4e, Notional: 12.642132830231372
+		{Chain: 2, Addr: "0000000000000000000000000bc529c00c6401aef6d220be8c6ea1667f6ad93e", Symbol: "YFI", CoinGeckoId: "yearn-finance", Decimals: 18, Price: 5386.85},                                           // Addr: 0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e, Notional: 178669.80861193102
+		{Chain: 2, Addr: "0000000000000000000000000c572544a4ee47904d54aaa6a970af96b6f00e1b", Symbol: "WAS", CoinGeckoId: "wasder", Decimals: 18, Price: 0.000046},                                                 // Addr: 0x0c572544a4ee47904d54aaa6a970af96b6f00e1b, Notional: 36.671437706062605
+		{Chain: 2, Addr: "0000000000000000000000000d505c03d30e65f6e9b4ef88855a47a89e4b7676", Symbol: "ZOOMER", CoinGeckoId: "zoomer", Decimals: 18, Price: 0.00000471},                                            // Addr: 0x0d505c03d30e65f6e9b4ef88855a47a89e4b7676, Notional: 4617.093957038107
 		{Chain: 2, Addr: "0000000000000000000000000d5639a1442730372e2a650a2900ba07937854f4", Symbol: "CHUB", CoinGeckoId: "callhub", Decimals: 18, Price: 0.00792211},                                             // Addr: 0x0d5639a1442730372e2a650a2900ba07937854f4, Notional: 47.53266
-		{Chain: 2, Addr: "0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef", Symbol: "BAT", CoinGeckoId: "basic-attention-token", Decimals: 18, Price: 0.156863},                                  // Addr: 0x0d8775f648430679a709e98d2b0cb6250d2887ef, Notional: 249466.94019060925
-		{Chain: 2, Addr: "0000000000000000000000000e186357c323c806c1efdad36d217f7a54b63d18", Symbol: "CGT2.0", CoinGeckoId: "curio-gas-token", Decimals: 18, Price: 0.00109004},                                   // Addr: 0x0e186357c323c806c1efdad36d217f7a54b63d18, Notional: 26458.351654107108
+		{Chain: 2, Addr: "0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef", Symbol: "BAT", CoinGeckoId: "basic-attention-token", Decimals: 18, Price: 0.139705},                                  // Addr: 0x0d8775f648430679a709e98d2b0cb6250d2887ef, Notional: 224397.24233707454
+		{Chain: 2, Addr: "0000000000000000000000000e186357c323c806c1efdad36d217f7a54b63d18", Symbol: "CGT2.0", CoinGeckoId: "curio-gas-token", Decimals: 18, Price: 0.00170044},                                   // Addr: 0x0e186357c323c806c1efdad36d217f7a54b63d18, Notional: 41298.42673410588
 		{Chain: 2, Addr: "0000000000000000000000000f3adc247e91c3c50bc08721355a41037e89bc20", Symbol: "ANC", CoinGeckoId: "anchor-protocol", Decimals: 18, Price: 0.00350186},                                      // Addr: 0x0f3adc247e91c3c50bc08721355a41037e89bc20, Notional: 9.548893117667305
-		{Chain: 2, Addr: "0000000000000000000000000f51bb10119727a7e5ea3538074fb341f56b09ad", Symbol: "DAO", CoinGeckoId: "dao-maker", Decimals: 18, Price: 0.117829},                                              // Addr: 0x0f51bb10119727a7e5ea3538074fb341f56b09ad, Notional: 978.717351971996
-		{Chain: 2, Addr: "0000000000000000000000000f5d2fb29fb7d3cfee444a200298f468908cc942", Symbol: "MANA", CoinGeckoId: "decentraland", Decimals: 18, Price: 0.320773},                                          // Addr: 0x0f5d2fb29fb7d3cfee444a200298f468908cc942, Notional: 32387.085176800905
-		{Chain: 2, Addr: "000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f", Symbol: "FLC", CoinGeckoId: "flooring-lab-credit", Decimals: 18, Price: 0.00008999},                                  // Addr: 0x102c776ddb30c754ded4fdcc77a19230a60d4e4f, Notional: 2430.9546568325813
-		{Chain: 2, Addr: "0000000000000000000000001045f5ccb01daea4f8eab055f5fcbb7c0e7c89f0", Symbol: "DFIAT", CoinGeckoId: "defiato", Decimals: 18, Price: 0.00093782},                                            // Addr: 0x1045f5ccb01daea4f8eab055f5fcbb7c0e7c89f0, Notional: 1665.3169255202013
-		{Chain: 2, Addr: "00000000000000000000000010633216e7e8281e33c86f02bf8e565a635d9770", Symbol: "DVI", CoinGeckoId: "dvision-network", Decimals: 18, Price: 0.00689289},                                      // Addr: 0x10633216e7e8281e33c86f02bf8e565a635d9770, Notional: 0.6892889999999999
-		{Chain: 2, Addr: "000000000000000000000000111111111117dc0aa78b770fa6a738034120c302", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.254098},                                                // Addr: 0x111111111117dc0aa78b770fa6a738034120c302, Notional: 114332.07800444415
-		{Chain: 2, Addr: "000000000000000000000000112b08621e27e10773ec95d250604a041f36c582", Symbol: "KAS", CoinGeckoId: "wrapped-kaspa", Decimals: 8, Price: 0.0105522},                                          // Addr: 0x112b08621e27e10773ec95d250604a041f36c582, Notional: 1.7682204449623138
-		{Chain: 2, Addr: "00000000000000000000000012970e6868f88f6557b76120662c1b3e50a646bf", Symbol: "LADYS", CoinGeckoId: "milady-meme-coin", Decimals: 18, Price: 3.1459e-8},                                    // Addr: 0x12970e6868f88f6557b76120662c1b3e50a646bf, Notional: 3.309474834846889
-		{Chain: 2, Addr: "00000000000000000000000012bb890508c125661e03b09ec06e404bc9289040", Symbol: "RACA", CoinGeckoId: "radio-caca", Decimals: 18, Price: 0.0000541},                                           // Addr: 0x12bb890508c125661e03b09ec06e404bc9289040, Notional: 13.057194131571826
-		{Chain: 2, Addr: "000000000000000000000000138c2f1123cf3f82e4596d097c118eac6684940b", Symbol: "ALPHA", CoinGeckoId: "alphacoin", Decimals: 18, Price: 0.01479058},                                          // Addr: 0x138c2f1123cf3f82e4596d097c118eac6684940b, Notional: 0.014642674199999999
-		{Chain: 2, Addr: "0000000000000000000000001494ca1f11d487c2bbe4543e90080aeba4ba3c2b", Symbol: "DPI", CoinGeckoId: "defipulse-index", Decimals: 18, Price: 118.06},                                          // Addr: 0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b, Notional: 3.6065488264
-		{Chain: 2, Addr: "000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c898", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.42},                                         // Addr: 0x152649ea73beab28c5b49b26eb48f7ead6d4c898, Notional: 4.8731969066000005
-		{Chain: 2, Addr: "00000000000000000000000015d4c048f83bd7e37d49ea4c83a07267ec4203da", Symbol: "GALA", CoinGeckoId: "gala", Decimals: 8, Price: 0.01681411},                                                 // Addr: 0x15d4c048f83bd7e37d49ea4c83a07267ec4203da, Notional: 10.35749176
-		{Chain: 2, Addr: "000000000000000000000000170dec83c7753aaad20c01a0016b5a2e143990d4", Symbol: "WIGGER", CoinGeckoId: "wigger", Decimals: 18, Price: 0.00004398},                                            // Addr: 0x170dec83c7753aaad20c01a0016b5a2e143990d4, Notional: 744.2314226035573
-		{Chain: 2, Addr: "0000000000000000000000001796ae0b0fa4862485106a0de9b654efe301d0b2", Symbol: "PMON", CoinGeckoId: "polychain-monsters", Decimals: 18, Price: 0.066882},                                    // Addr: 0x1796ae0b0fa4862485106a0de9b654efe301d0b2, Notional: 2.64184592696874
-		{Chain: 2, Addr: "00000000000000000000000018084fba666a33d37592fa2633fd49a74dd93a88", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 111263},                                                    // Addr: 0x18084fba666a33d37592fa2633fd49a74dd93a88, Notional: 60712901.587818444
-		{Chain: 2, Addr: "0000000000000000000000001864ce27e9f7517047933caae530674e8c70b8a7", Symbol: "PIB", CoinGeckoId: "pibble", Decimals: 18, Price: 0.00030327},                                               // Addr: 0x1864ce27e9f7517047933caae530674e8c70b8a7, Notional: 3.33597
-		{Chain: 2, Addr: "00000000000000000000000018aaa7115705e8be94bffebde57af9bfc265b998", Symbol: "AUDIO", CoinGeckoId: "audius", Decimals: 18, Price: 0.061574},                                               // Addr: 0x18aaa7115705e8be94bffebde57af9bfc265b998, Notional: 2351421.5218241527
-		{Chain: 2, Addr: "00000000000000000000000019062190b1925b5b6689d7073fdfc8c2976ef8cb", Symbol: "BZZ", CoinGeckoId: "swarm-bzz", Decimals: 16, Price: 0.142567},                                              // Addr: 0x19062190b1925b5b6689d7073fdfc8c2976ef8cb, Notional: 1.42567e-9
-		{Chain: 2, Addr: "0000000000000000000000001a11ea9d61588d756d9f1014c3cf0d226aedd279", Symbol: "MILEI", CoinGeckoId: "milei-token", Decimals: 18, Price: 0.01308791},                                        // Addr: 0x1a11ea9d61588d756d9f1014c3cf0d226aedd279, Notional: 2802.7489140653247
-		{Chain: 2, Addr: "0000000000000000000000001a3496c18d558bd9c6c8f609e1b129f67ab08163", Symbol: "DEP", CoinGeckoId: "deapcoin", Decimals: 18, Price: 0.00160404},                                             // Addr: 0x1a3496c18d558bd9c6c8f609e1b129f67ab08163, Notional: 0.00160404
-		{Chain: 2, Addr: "0000000000000000000000001a6658f40e51b372e593b7d2144c1402d5cf33e8", Symbol: "PUBLX", CoinGeckoId: "publc", Decimals: 18, Price: 0.00009029},                                              // Addr: 0x1a6658f40e51b372e593b7d2144c1402d5cf33e8, Notional: 1745.64132970861
-		{Chain: 2, Addr: "0000000000000000000000001a7e4e63778b4f12a199c062f3efdd288afcbce8", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                    // Addr: 0x1a7e4e63778b4f12a199c062f3efdd288afcbce8, Notional: 22741.9355703501
+		{Chain: 2, Addr: "0000000000000000000000000f51bb10119727a7e5ea3538074fb341f56b09ad", Symbol: "DAO", CoinGeckoId: "dao-maker", Decimals: 18, Price: 0.111815},                                              // Addr: 0x0f51bb10119727a7e5ea3538074fb341f56b09ad, Notional: 928.7635532063306
+		{Chain: 2, Addr: "0000000000000000000000000f5d2fb29fb7d3cfee444a200298f468908cc942", Symbol: "MANA", CoinGeckoId: "decentraland", Decimals: 18, Price: 0.288614},                                          // Addr: 0x0f5d2fb29fb7d3cfee444a200298f468908cc942, Notional: 29140.127757689133
+		{Chain: 2, Addr: "000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f", Symbol: "FLC", CoinGeckoId: "flooring-lab-credit", Decimals: 18, Price: 0.00007624},                                  // Addr: 0x102c776ddb30c754ded4fdcc77a19230a60d4e4f, Notional: 2119.278463132321
+		{Chain: 2, Addr: "0000000000000000000000001045f5ccb01daea4f8eab055f5fcbb7c0e7c89f0", Symbol: "DFIAT", CoinGeckoId: "defiato", Decimals: 18, Price: 0.00100109},                                            // Addr: 0x1045f5ccb01daea4f8eab055f5fcbb7c0e7c89f0, Notional: 1777.6674851986718
+		{Chain: 2, Addr: "00000000000000000000000010633216e7e8281e33c86f02bf8e565a635d9770", Symbol: "DVI", CoinGeckoId: "dvision-network", Decimals: 18, Price: 0.00564508},                                      // Addr: 0x10633216e7e8281e33c86f02bf8e565a635d9770, Notional: 0.564508
+		{Chain: 2, Addr: "000000000000000000000000111111111117dc0aa78b770fa6a738034120c302", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.255501},                                                // Addr: 0x111111111117dc0aa78b770fa6a738034120c302, Notional: 114963.36162509538
+		{Chain: 2, Addr: "000000000000000000000000112b08621e27e10773ec95d250604a041f36c582", Symbol: "KAS", CoinGeckoId: "wrapped-kaspa", Decimals: 8, Price: 0.01204538},                                         // Addr: 0x112b08621e27e10773ec95d250604a041f36c582, Notional: 2.0184309606849906
+		{Chain: 2, Addr: "00000000000000000000000012970e6868f88f6557b76120662c1b3e50a646bf", Symbol: "LADYS", CoinGeckoId: "milady-meme-coin", Decimals: 18, Price: 2.6354e-8},                                    // Addr: 0x12970e6868f88f6557b76120662c1b3e50a646bf, Notional: 2.7724307764886014
+		{Chain: 2, Addr: "00000000000000000000000012bb890508c125661e03b09ec06e404bc9289040", Symbol: "RACA", CoinGeckoId: "radio-caca", Decimals: 18, Price: 0.00005374},                                          // Addr: 0x12bb890508c125661e03b09ec06e404bc9289040, Notional: 12.970307072655634
+		{Chain: 2, Addr: "000000000000000000000000138c2f1123cf3f82e4596d097c118eac6684940b", Symbol: "ALPHA", CoinGeckoId: "alphacoin", Decimals: 18, Price: 0.01476902},                                          // Addr: 0x138c2f1123cf3f82e4596d097c118eac6684940b, Notional: 0.014621329800000001
+		{Chain: 2, Addr: "0000000000000000000000001494ca1f11d487c2bbe4543e90080aeba4ba3c2b", Symbol: "DPI", CoinGeckoId: "defipulse-index", Decimals: 18, Price: 100.95},                                          // Addr: 0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b, Notional: 3.083865018
+		{Chain: 2, Addr: "000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c898", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.51},                                         // Addr: 0x152649ea73beab28c5b49b26eb48f7ead6d4c898, Notional: 5.0544315023
+		{Chain: 2, Addr: "00000000000000000000000015d4c048f83bd7e37d49ea4c83a07267ec4203da", Symbol: "GALA", CoinGeckoId: "gala", Decimals: 8, Price: 0.01439957},                                                 // Addr: 0x15d4c048f83bd7e37d49ea4c83a07267ec4203da, Notional: 8.87013512
+		{Chain: 2, Addr: "000000000000000000000000170dec83c7753aaad20c01a0016b5a2e143990d4", Symbol: "WIGGER", CoinGeckoId: "wigger", Decimals: 18, Price: 0.00003781},                                            // Addr: 0x170dec83c7753aaad20c01a0016b5a2e143990d4, Notional: 665.4541017028637
+		{Chain: 2, Addr: "0000000000000000000000001796ae0b0fa4862485106a0de9b654efe301d0b2", Symbol: "PMON", CoinGeckoId: "polychain-monsters", Decimals: 18, Price: 0.056886},                                    // Addr: 0x1796ae0b0fa4862485106a0de9b654efe301d0b2, Notional: 2.24700289168302
+		{Chain: 2, Addr: "00000000000000000000000018084fba666a33d37592fa2633fd49a74dd93a88", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 113878},                                                    // Addr: 0x18084fba666a33d37592fa2633fd49a74dd93a88, Notional: 60964603.30327534
+		{Chain: 2, Addr: "0000000000000000000000001864ce27e9f7517047933caae530674e8c70b8a7", Symbol: "PIB", CoinGeckoId: "pibble", Decimals: 18, Price: 0.00029072},                                               // Addr: 0x1864ce27e9f7517047933caae530674e8c70b8a7, Notional: 3.19792
+		{Chain: 2, Addr: "00000000000000000000000018aaa7115705e8be94bffebde57af9bfc265b998", Symbol: "AUDIO", CoinGeckoId: "audius", Decimals: 18, Price: 0.05283},                                                // Addr: 0x18aaa7115705e8be94bffebde57af9bfc265b998, Notional: 2136396.430241287
+		{Chain: 2, Addr: "00000000000000000000000019062190b1925b5b6689d7073fdfc8c2976ef8cb", Symbol: "BZZ", CoinGeckoId: "swarm-bzz", Decimals: 16, Price: 0.134598},                                              // Addr: 0x19062190b1925b5b6689d7073fdfc8c2976ef8cb, Notional: 1.34598e-9
+		{Chain: 2, Addr: "0000000000000000000000001a11ea9d61588d756d9f1014c3cf0d226aedd279", Symbol: "MILEI", CoinGeckoId: "milei-token", Decimals: 18, Price: 0.01176014},                                        // Addr: 0x1a11ea9d61588d756d9f1014c3cf0d226aedd279, Notional: 2884.8673292877907
+		{Chain: 2, Addr: "0000000000000000000000001a3496c18d558bd9c6c8f609e1b129f67ab08163", Symbol: "DEP", CoinGeckoId: "deapcoin", Decimals: 18, Price: 0.00159619},                                             // Addr: 0x1a3496c18d558bd9c6c8f609e1b129f67ab08163, Notional: 0.00159619
+		{Chain: 2, Addr: "0000000000000000000000001a6658f40e51b372e593b7d2144c1402d5cf33e8", Symbol: "PUBLX", CoinGeckoId: "publc", Decimals: 18, Price: 0.00007656},                                              // Addr: 0x1a6658f40e51b372e593b7d2144c1402d5cf33e8, Notional: 1480.1893919868332
+		{Chain: 2, Addr: "0000000000000000000000001a7e4e63778b4f12a199c062f3efdd288afcbce8", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                    // Addr: 0x1a7e4e63778b4f12a199c062f3efdd288afcbce8, Notional: 22936.3110880454
 		{Chain: 2, Addr: "0000000000000000000000001abaea1f7c830bd89acc67ec4af516284b1bc33c", Symbol: "EUROC", CoinGeckoId: "euro-coin", Decimals: 6, Price: 1.17},                                                 // Addr: 0x1abaea1f7c830bd89acc67ec4af516284b1bc33c, Notional: 1.7697186
-		{Chain: 2, Addr: "0000000000000000000000001c4853ec0d55e420002c5efabc7ed8e0ba7a4121", Symbol: "Okinami", CoinGeckoId: "kanagawa-nami", Decimals: 9, Price: 0.00067892},                                     // Addr: 0x1c4853ec0d55e420002c5efabc7ed8e0ba7a4121, Notional: 8.239465319651117
-		{Chain: 2, Addr: "0000000000000000000000001c48f86ae57291f7686349f12601910bd8d470bb", Symbol: "USDK", CoinGeckoId: "usdk", Decimals: 18, Price: 1.009},                                                     // Addr: 0x1c48f86ae57291f7686349f12601910bd8d470bb, Notional: 2852.0853690108197
+		{Chain: 2, Addr: "0000000000000000000000001c4853ec0d55e420002c5efabc7ed8e0ba7a4121", Symbol: "Okinami", CoinGeckoId: "kanagawa-nami", Decimals: 9, Price: 0.00047359},                                     // Addr: 0x1c4853ec0d55e420002c5efabc7ed8e0ba7a4121, Notional: 5.7475525551369415
+		{Chain: 2, Addr: "0000000000000000000000001c48f86ae57291f7686349f12601910bd8d470bb", Symbol: "USDK", CoinGeckoId: "usdk", Decimals: 18, Price: 0.988455},                                                  // Addr: 0x1c48f86ae57291f7686349f12601910bd8d470bb, Notional: 2794.0119360015756
 		{Chain: 2, Addr: "0000000000000000000000001c98b54d673c026c8286badca3e840aaf72931a3", Symbol: "STSW", CoinGeckoId: "stackswap", Decimals: 6, Price: 0.00928604},                                            // Addr: 0x1c98b54d673c026c8286badca3e840aaf72931a3, Notional: 464.3948604
-		{Chain: 2, Addr: "0000000000000000000000001cf4592ebffd730c7dc92c1bdffdfc3b9efcf29a", Symbol: "WAVES", CoinGeckoId: "waves", Decimals: 18, Price: 1.12},                                                    // Addr: 0x1cf4592ebffd730c7dc92c1bdffdfc3b9efcf29a, Notional: 1.1491200000000001
-		{Chain: 2, Addr: "0000000000000000000000001f573d6fb3f13d689ff844b4ce37794d79a7ff1c", Symbol: "BNT", CoinGeckoId: "bancor", Decimals: 18, Price: 0.728284},                                                 // Addr: 0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c, Notional: 7.28284
-		{Chain: 2, Addr: "0000000000000000000000001f7e5118521b550bb1a9b435727c003eb033fc51", Symbol: "AGLA", CoinGeckoId: "angola", Decimals: 18, Price: 0.00178164},                                              // Addr: 0x1f7e5118521b550bb1a9b435727c003eb033fc51, Notional: 2583.3779999999997
-		{Chain: 2, Addr: "0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 9.49},                                                    // Addr: 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984, Notional: 587575.9012141617
-		{Chain: 2, Addr: "0000000000000000000000001fee5588cb1de19c70b6ad5399152d8c643fae7b", Symbol: "PHTK", CoinGeckoId: "phuntoken", Decimals: 18, Price: 0.00310811},                                           // Addr: 0x1fee5588cb1de19c70b6ad5399152d8c643fae7b, Notional: 3.10811
-		{Chain: 2, Addr: "00000000000000000000000020a62aca58526836165ca53fe67dd884288c8abf", Symbol: "RNB", CoinGeckoId: "rentible", Decimals: 18, Price: 0.02134396},                                             // Addr: 0x20a62aca58526836165ca53fe67dd884288c8abf, Notional: 1977.3986443157921
-		{Chain: 2, Addr: "00000000000000000000000020e7125677311fca903a8897042b9983f22ea295", Symbol: "FWT", CoinGeckoId: "freeway", Decimals: 18, Price: 5.56088e-7},                                              // Addr: 0x20e7125677311fca903a8897042b9983f22ea295, Notional: 0.00003232044390454776
+		{Chain: 2, Addr: "0000000000000000000000001cf4592ebffd730c7dc92c1bdffdfc3b9efcf29a", Symbol: "WAVES", CoinGeckoId: "waves", Decimals: 18, Price: 0.950618},                                                // Addr: 0x1cf4592ebffd730c7dc92c1bdffdfc3b9efcf29a, Notional: 0.975334068
+		{Chain: 2, Addr: "0000000000000000000000001f573d6fb3f13d689ff844b4ce37794d79a7ff1c", Symbol: "BNT", CoinGeckoId: "bancor", Decimals: 18, Price: 0.660493},                                                 // Addr: 0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c, Notional: 6.6049299999999995
+		{Chain: 2, Addr: "0000000000000000000000001f7e5118521b550bb1a9b435727c003eb033fc51", Symbol: "AGLA", CoinGeckoId: "angola", Decimals: 18, Price: 0.0001568},                                               // Addr: 0x1f7e5118521b550bb1a9b435727c003eb033fc51, Notional: 227.35999999999999
+		{Chain: 2, Addr: "0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 7.64},                                                    // Addr: 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984, Notional: 474253.750796552
+		{Chain: 2, Addr: "0000000000000000000000001fee5588cb1de19c70b6ad5399152d8c643fae7b", Symbol: "PHTK", CoinGeckoId: "phuntoken", Decimals: 18, Price: 0.00301087},                                           // Addr: 0x1fee5588cb1de19c70b6ad5399152d8c643fae7b, Notional: 3.01087
+		{Chain: 2, Addr: "00000000000000000000000020a62aca58526836165ca53fe67dd884288c8abf", Symbol: "RNB", CoinGeckoId: "rentible", Decimals: 18, Price: 0.01613345},                                             // Addr: 0x20a62aca58526836165ca53fe67dd884288c8abf, Notional: 1488.2104784806963
+		{Chain: 2, Addr: "00000000000000000000000020e7125677311fca903a8897042b9983f22ea295", Symbol: "FWT", CoinGeckoId: "freeway", Decimals: 18, Price: 2.85651e-7},                                              // Addr: 0x20e7125677311fca903a8897042b9983f22ea295, Notional: 0.000016602349127796268
 		{Chain: 2, Addr: "00000000000000000000000021381e026ad6d8266244f2a583b35f9e4413fa2a", Symbol: "FORM", CoinGeckoId: "formation-fi", Decimals: 18, Price: 0.00054106},                                        // Addr: 0x21381e026ad6d8266244f2a583b35f9e4413fa2a, Notional: 189.00831621659515
-		{Chain: 2, Addr: "00000000000000000000000021bfbda47a0b4b5b1248c767ee49f7caa9b23697", Symbol: "OVR", CoinGeckoId: "ovr", Decimals: 18, Price: 0.121696},                                                    // Addr: 0x21bfbda47a0b4b5b1248c767ee49f7caa9b23697, Notional: 18.2544
-		{Chain: 2, Addr: "000000000000000000000000221657776846890989a759ba2973e427dff5c9bb", Symbol: "REPv2", CoinGeckoId: "augur", Decimals: 18, Price: 0.978889},                                                // Addr: 0x221657776846890989a759ba2973e427dff5c9bb, Notional: 0.978889
-		{Chain: 2, Addr: "0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                          // Addr: 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599, Notional: 374047374.69531804
+		{Chain: 2, Addr: "00000000000000000000000021bfbda47a0b4b5b1248c767ee49f7caa9b23697", Symbol: "OVR", CoinGeckoId: "ovr", Decimals: 18, Price: 0.135194},                                                    // Addr: 0x21bfbda47a0b4b5b1248c767ee49f7caa9b23697, Notional: 20.2791
+		{Chain: 2, Addr: "000000000000000000000000221657776846890989a759ba2973e427dff5c9bb", Symbol: "REPv2", CoinGeckoId: "augur", Decimals: 18, Price: 0.926778},                                                // Addr: 0x221657776846890989a759ba2973e427dff5c9bb, Notional: 0.926778
+		{Chain: 2, Addr: "0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                          // Addr: 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599, Notional: 404017834.0339339
 		{Chain: 2, Addr: "00000000000000000000000022c5543d1a35178cb03b33f929a959145e538532", Symbol: "WAL", CoinGeckoId: "the-wasted-lands", Decimals: 18, Price: 0.00001332},                                     // Addr: 0x22c5543d1a35178cb03b33f929a959145e538532, Notional: 0.0175809584688408
 		{Chain: 2, Addr: "00000000000000000000000022fc5a29bd3d6cce19a06f844019fd506fce4455", Symbol: "ePendle", CoinGeckoId: "equilibria-finance-ependle", Decimals: 18, Price: 2.81},                             // Addr: 0x22fc5a29bd3d6cce19a06f844019fd506fce4455, Notional: 5592.6077299439
-		{Chain: 2, Addr: "0000000000000000000000002370f9d504c7a6e775bf6e14b3f12846b594cd53", Symbol: "JPYC", CoinGeckoId: "jpyc", Decimals: 18, Price: 0.00845178},                                                // Addr: 0x2370f9d504c7a6e775bf6e14b3f12846b594cd53, Notional: 8.451780000000001
-		{Chain: 2, Addr: "00000000000000000000000024249b5a869a445c9b0ce269a08d73c618df9d21", Symbol: "ETHEREUM", CoinGeckoId: "harrypottertrumphomersimpson777inu", Decimals: 8, Price: 0.00021922},               // Addr: 0x24249b5a869a445c9b0ce269a08d73c618df9d21, Notional: 1.074178
-		{Chain: 2, Addr: "000000000000000000000000249e38ea4102d0cf8264d3701f1a0e39c4f2dc3b", Symbol: "UFO", CoinGeckoId: "ufo-gaming", Decimals: 18, Price: 2.932e-7},                                             // Addr: 0x249e38ea4102d0cf8264d3701f1a0e39c4f2dc3b, Notional: 8.928672773379587
-		{Chain: 2, Addr: "000000000000000000000000255f1b39172f65dc6406b8bee8b08155c45fe1b6", Symbol: "HARAMBE", CoinGeckoId: "harambecoin", Decimals: 18, Price: 2.44624e-7},                                      // Addr: 0x255f1b39172f65dc6406b8bee8b08155c45fe1b6, Notional: 42097.39924319549
+		{Chain: 2, Addr: "0000000000000000000000002370f9d504c7a6e775bf6e14b3f12846b594cd53", Symbol: "JPYC", CoinGeckoId: "jpyc", Decimals: 18, Price: 0.00849138},                                                // Addr: 0x2370f9d504c7a6e775bf6e14b3f12846b594cd53, Notional: 8.49138
+		{Chain: 2, Addr: "00000000000000000000000024249b5a869a445c9b0ce269a08d73c618df9d21", Symbol: "ETHEREUM", CoinGeckoId: "harrypottertrumphomersimpson777inu", Decimals: 8, Price: 0.00016551},               // Addr: 0x24249b5a869a445c9b0ce269a08d73c618df9d21, Notional: 0.810999
+		{Chain: 2, Addr: "000000000000000000000000249e38ea4102d0cf8264d3701f1a0e39c4f2dc3b", Symbol: "UFO", CoinGeckoId: "ufo-gaming", Decimals: 18, Price: 7.5322e-8},                                            // Addr: 0x249e38ea4102d0cf8264d3701f1a0e39c4f2dc3b, Notional: 2.2937431467820506
+		{Chain: 2, Addr: "000000000000000000000000255f1b39172f65dc6406b8bee8b08155c45fe1b6", Symbol: "HARAMBE", CoinGeckoId: "harambecoin", Decimals: 18, Price: 2.3184e-7},                                       // Addr: 0x255f1b39172f65dc6406b8bee8b08155c45fe1b6, Notional: 39897.397804559005
 		{Chain: 2, Addr: "00000000000000000000000025722cd432d02895d9be45f5deb60fc479c8781e", Symbol: "SPONGE", CoinGeckoId: "sponge-f08b2fe4-9d9c-47c3-b5a0-84c2ac3bbbff", Decimals: 18, Price: 1.3141e-14},       // Addr: 0x25722cd432d02895d9be45f5deb60fc479c8781e, Notional: 4.622825876063835e-10
-		{Chain: 2, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 368896.52645857685
-		{Chain: 2, Addr: "00000000000000000000000025cbb21a9da7c3c63bb77ccca5b2e2482aedb710", Symbol: "HOBA", CoinGeckoId: "honey-badger-2", Decimals: 9, Price: 0.074494},                                         // Addr: 0x25cbb21a9da7c3c63bb77ccca5b2e2482aedb710, Notional: 18611.607685091993
-		{Chain: 2, Addr: "00000000000000000000000027702a26126e0b3702af63ee09ac4d1a084ef628", Symbol: "ALEPH", CoinGeckoId: "aleph", Decimals: 18, Price: 0.07257},                                                 // Addr: 0x27702a26126e0b3702af63ee09ac4d1a084ef628, Notional: 549237.9279250976
-		{Chain: 2, Addr: "0000000000000000000000002781246fe707bb15cee3e5ea354e2154a2877b16", Symbol: "EL", CoinGeckoId: "elysia", Decimals: 18, Price: 0.00446493},                                                // Addr: 0x2781246fe707bb15cee3e5ea354e2154a2877b16, Notional: 77046.67677114169
-		{Chain: 2, Addr: "0000000000000000000000002ad9addd0d97ec3cdba27f92bf6077893b76ab0b", Symbol: "PLANET", CoinGeckoId: "planet-token", Decimals: 18, Price: 9.62608e-7},                                      // Addr: 0x2ad9addd0d97ec3cdba27f92bf6077893b76ab0b, Notional: 34522.129158505515
-		{Chain: 2, Addr: "0000000000000000000000002b591e99afe9f32eaa6214f7b7629768c40eeb39", Symbol: "HEX", CoinGeckoId: "hex", Decimals: 8, Price: 0.00166861},                                                   // Addr: 0x2b591e99afe9f32eaa6214f7b7629768c40eeb39, Notional: 46.65606815981197
-		{Chain: 2, Addr: "0000000000000000000000002ba592f78db6436527729929aaf6c908497cb200", Symbol: "CREAM", CoinGeckoId: "cream-2", Decimals: 18, Price: 1.16},                                                  // Addr: 0x2ba592f78db6436527729929aaf6c908497cb200, Notional: 11.519405868
-		{Chain: 2, Addr: "0000000000000000000000002c537e5624e4af88a7ae4060c022609376c8d0eb", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02426952},                                               // Addr: 0x2c537e5624e4af88a7ae4060c022609376c8d0eb, Notional: 162.92544750718898
-		{Chain: 2, Addr: "0000000000000000000000002c8ea636345a231e4b1a28f6eeb2072ed909c406", Symbol: "MemElon", CoinGeckoId: "meme-elon-doge-floki-2", Decimals: 18, Price: 1.2e-11},                              // Addr: 0x2c8ea636345a231e4b1a28f6eeb2072ed909c406, Notional: 2.16
-		{Chain: 2, Addr: "0000000000000000000000002c95d751da37a5c1d9c5a7fd465c1d50f3d96160", Symbol: "WASSIE", CoinGeckoId: "wassie", Decimals: 18, Price: 0.00000274},                                            // Addr: 0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160, Notional: 155221.3429751264
+		{Chain: 2, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 249815.16512345147
+		{Chain: 2, Addr: "00000000000000000000000025cbb21a9da7c3c63bb77ccca5b2e2482aedb710", Symbol: "HOBA", CoinGeckoId: "honey-badger-2", Decimals: 9, Price: 0.057073},                                         // Addr: 0x25cbb21a9da7c3c63bb77ccca5b2e2482aedb710, Notional: 15657.473106720725
+		{Chain: 2, Addr: "00000000000000000000000027702a26126e0b3702af63ee09ac4d1a084ef628", Symbol: "ALEPH", CoinGeckoId: "aleph", Decimals: 18, Price: 0.067726},                                                // Addr: 0x27702a26126e0b3702af63ee09ac4d1a084ef628, Notional: 508515.5921696502
+		{Chain: 2, Addr: "0000000000000000000000002781246fe707bb15cee3e5ea354e2154a2877b16", Symbol: "EL", CoinGeckoId: "elysia", Decimals: 18, Price: 0.00405019},                                                // Addr: 0x2781246fe707bb15cee3e5ea354e2154a2877b16, Notional: 71389.43147372204
+		{Chain: 2, Addr: "0000000000000000000000002ad9addd0d97ec3cdba27f92bf6077893b76ab0b", Symbol: "PLANET", CoinGeckoId: "planet-token", Decimals: 18, Price: 7.1031e-7},                                       // Addr: 0x2ad9addd0d97ec3cdba27f92bf6077893b76ab0b, Notional: 25263.17041081555
+		{Chain: 2, Addr: "0000000000000000000000002b591e99afe9f32eaa6214f7b7629768c40eeb39", Symbol: "HEX", CoinGeckoId: "hex", Decimals: 8, Price: 0.00276398},                                                   // Addr: 0x2b591e99afe9f32eaa6214f7b7629768c40eeb39, Notional: 77.2837507100863
+		{Chain: 2, Addr: "0000000000000000000000002ba592f78db6436527729929aaf6c908497cb200", Symbol: "CREAM", CoinGeckoId: "cream-2", Decimals: 18, Price: 0.901209},                                              // Addr: 0x2ba592f78db6436527729929aaf6c908497cb200, Notional: 8.9494760714607
+		{Chain: 2, Addr: "0000000000000000000000002c537e5624e4af88a7ae4060c022609376c8d0eb", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02402156},                                               // Addr: 0x2c537e5624e4af88a7ae4060c022609376c8d0eb, Notional: 161.2608495273409
+		{Chain: 2, Addr: "0000000000000000000000002c8ea636345a231e4b1a28f6eeb2072ed909c406", Symbol: "MemElon", CoinGeckoId: "meme-elon-doge-floki-2", Decimals: 18, Price: 1.5998e-11},                           // Addr: 0x2c8ea636345a231e4b1a28f6eeb2072ed909c406, Notional: 2.8796399999999998
+		{Chain: 2, Addr: "0000000000000000000000002c95d751da37a5c1d9c5a7fd465c1d50f3d96160", Symbol: "WASSIE", CoinGeckoId: "wassie", Decimals: 18, Price: 0.00000171},                                            // Addr: 0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160, Notional: 96942.01877004257
 		{Chain: 2, Addr: "0000000000000000000000002cb5d9fd89d48c516f11904117c57e3934f39524", Symbol: "CUTE", CoinGeckoId: "pepe-uwu", Decimals: 18, Price: 9.0178e-8},                                             // Addr: 0x2cb5d9fd89d48c516f11904117c57e3934f39524, Notional: 10414.924177009718
-		{Chain: 2, Addr: "0000000000000000000000002e95cea14dd384429eb3c4331b776c4cfbb6fcd9", Symbol: "THN", CoinGeckoId: "throne", Decimals: 18, Price: 0.00032327},                                               // Addr: 0x2e95cea14dd384429eb3c4331b776c4cfbb6fcd9, Notional: 0.00581886
+		{Chain: 2, Addr: "0000000000000000000000002e95cea14dd384429eb3c4331b776c4cfbb6fcd9", Symbol: "THN", CoinGeckoId: "throne", Decimals: 18, Price: 0.00020979},                                               // Addr: 0x2e95cea14dd384429eb3c4331b776c4cfbb6fcd9, Notional: 0.0037762200000000003
 		{Chain: 2, Addr: "000000000000000000000000309627af60f0926daa6041b8279484312f2bf060", Symbol: "USDB", CoinGeckoId: "usd-bancor", Decimals: 18, Price: 4.827e-9},                                            // Addr: 0x309627af60f0926daa6041b8279484312f2bf060, Notional: 0.00000254145380547909
-		{Chain: 2, Addr: "00000000000000000000000030d20208d987713f46dfd34ef128bb16c404d10f", Symbol: "SD", CoinGeckoId: "stader", Decimals: 18, Price: 0.669145},                                                  // Addr: 0x30d20208d987713f46dfd34ef128bb16c404d10f, Notional: 394723.7967965221
-		{Chain: 2, Addr: "00000000000000000000000031429d1856ad1377a8a0079410b297e1a9e214c2", Symbol: "ANGLE", CoinGeckoId: "angle-protocol", Decimals: 18, Price: 0.01506063},                                     // Addr: 0x31429d1856ad1377a8a0079410b297e1a9e214c2, Notional: 1147.251784397532
-		{Chain: 2, Addr: "00000000000000000000000032353a6c91143bfd6c7d363b546e62a9a2489a20", Symbol: "AGLD", CoinGeckoId: "adventure-gold", Decimals: 18, Price: 0.667278},                                        // Addr: 0x32353a6c91143bfd6c7d363b546e62a9a2489a20, Notional: 1127.5389537207689
-		{Chain: 2, Addr: "00000000000000000000000032e7c8a6e920a3cf224b678112ac78fdc0fb09d1", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003727},                                                // Addr: 0x32e7c8a6e920a3cf224b678112ac78fdc0fb09d1, Notional: 2.465355023099619
-		{Chain: 2, Addr: "0000000000000000000000003301ee63fb29f863f2333bd4466acb46cd8323e6", Symbol: "AKITA", CoinGeckoId: "akita-inu", Decimals: 18, Price: 5.7724e-8},                                           // Addr: 0x3301ee63fb29f863f2333bd4466acb46cd8323e6, Notional: 14.484951698781614
-		{Chain: 2, Addr: "00000000000000000000000033349b282065b0284d756f0577fb39c158f935e6", Symbol: "MPL", CoinGeckoId: "maple", Decimals: 18, Price: 0.669217},                                                  // Addr: 0x33349b282065b0284d756f0577fb39c158f935e6, Notional: 281.1905040135307
-		{Chain: 2, Addr: "00000000000000000000000033d0568941c0c64ff7e0fb4fba0b11bd37deed9f", Symbol: "RAMP", CoinGeckoId: "ramp", Decimals: 18, Price: 0.04937265},                                                // Addr: 0x33d0568941c0c64ff7e0fb4fba0b11bd37deed9f, Notional: 0.49372649999999996
-		{Chain: 2, Addr: "00000000000000000000000033e80a92a9ea73dd02f6e732d1702d58c68388ca", Symbol: "XB", CoinGeckoId: "xbanking", Decimals: 2, Price: 0.0008311},                                                // Addr: 0x33e80a92a9ea73dd02f6e732d1702d58c68388ca, Notional: 11.0328525
-		{Chain: 2, Addr: "00000000000000000000000033f391f4c4fe802b70b77ae37670037a92114a7c", Symbol: "BURP", CoinGeckoId: "burp", Decimals: 18, Price: 0.00016638},                                                // Addr: 0x33f391f4c4fe802b70b77ae37670037a92114a7c, Notional: 0.2652193126106154
-		{Chain: 2, Addr: "0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d0", Symbol: "FXS", CoinGeckoId: "frax-share", Decimals: 18, Price: 2.94},                                                 // Addr: 0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0, Notional: 299490.49248279416
-		{Chain: 2, Addr: "0000000000000000000000003506424f91fd33084466f402d5d97f05f8e3b4af", Symbol: "CHZ", CoinGeckoId: "chiliz", Decimals: 18, Price: 0.04185079},                                               // Addr: 0x3506424f91fd33084466f402d5d97f05f8e3b4af, Notional: 14954.908687048663
-		{Chain: 2, Addr: "000000000000000000000000354c8cda7e3b737d360513a0dc5abcee8ee1cea3", Symbol: "BABYTRUMP", CoinGeckoId: "babytrump", Decimals: 18, Price: 0.0017727},                                       // Addr: 0x354c8cda7e3b737d360513a0dc5abcee8ee1cea3, Notional: 13200.99901767196
-		{Chain: 2, Addr: "0000000000000000000000003593d125a4f7849a1b059e64f4517a86dd60c95d", Symbol: "OM", CoinGeckoId: "mantra-dao", Decimals: 18, Price: 0.212769},                                              // Addr: 0x3593d125a4f7849a1b059e64f4517a86dd60c95d, Notional: 3622.5589603566223
-		{Chain: 2, Addr: "000000000000000000000000362bc847a3a9637d3af6624eec853618a43ed7d2", Symbol: "PRQ", CoinGeckoId: "parsiq", Decimals: 18, Price: 0.01233042},                                               // Addr: 0x362bc847a3a9637d3af6624eec853618a43ed7d2, Notional: 15.05733704378124
+		{Chain: 2, Addr: "00000000000000000000000030d20208d987713f46dfd34ef128bb16c404d10f", Symbol: "SD", CoinGeckoId: "stader", Decimals: 18, Price: 0.518841},                                                  // Addr: 0x30d20208d987713f46dfd34ef128bb16c404d10f, Notional: 308159.40498843556
+		{Chain: 2, Addr: "00000000000000000000000031429d1856ad1377a8a0079410b297e1a9e214c2", Symbol: "ANGLE", CoinGeckoId: "angle-protocol", Decimals: 18, Price: 0.01550938},                                     // Addr: 0x31429d1856ad1377a8a0079410b297e1a9e214c2, Notional: 1181.435562781862
+		{Chain: 2, Addr: "00000000000000000000000032353a6c91143bfd6c7d363b546e62a9a2489a20", Symbol: "AGLD", CoinGeckoId: "adventure-gold", Decimals: 18, Price: 0.540588},                                        // Addr: 0x32353a6c91143bfd6c7d363b546e62a9a2489a20, Notional: 962.8304271547148
+		{Chain: 2, Addr: "00000000000000000000000032e7c8a6e920a3cf224b678112ac78fdc0fb09d1", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003483},                                                // Addr: 0x32e7c8a6e920a3cf224b678112ac78fdc0fb09d1, Notional: 2.3039526550727047
+		{Chain: 2, Addr: "0000000000000000000000003301ee63fb29f863f2333bd4466acb46cd8323e6", Symbol: "AKITA", CoinGeckoId: "akita-inu", Decimals: 18, Price: 4.8733e-8},                                           // Addr: 0x3301ee63fb29f863f2333bd4466acb46cd8323e6, Notional: 12.228798266522146
+		{Chain: 2, Addr: "00000000000000000000000033349b282065b0284d756f0577fb39c158f935e6", Symbol: "MPL", CoinGeckoId: "maple", Decimals: 18, Price: 0.68885},                                                   // Addr: 0x33349b282065b0284d756f0577fb39c158f935e6, Notional: 289.4398658278565
+		{Chain: 2, Addr: "00000000000000000000000033d0568941c0c64ff7e0fb4fba0b11bd37deed9f", Symbol: "RAMP", CoinGeckoId: "ramp", Decimals: 18, Price: 0.04800073},                                                // Addr: 0x33d0568941c0c64ff7e0fb4fba0b11bd37deed9f, Notional: 0.48000729999999997
+		{Chain: 2, Addr: "00000000000000000000000033e80a92a9ea73dd02f6e732d1702d58c68388ca", Symbol: "XB", CoinGeckoId: "xbanking", Decimals: 2, Price: 0.01099847},                                               // Addr: 0x33e80a92a9ea73dd02f6e732d1702d58c68388ca, Notional: 146.00468924999998
+		{Chain: 2, Addr: "00000000000000000000000033f391f4c4fe802b70b77ae37670037a92114a7c", Symbol: "BURP", CoinGeckoId: "burp", Decimals: 18, Price: 0.00015805},                                                // Addr: 0x33f391f4c4fe802b70b77ae37670037a92114a7c, Notional: 0.2519408123458815
+		{Chain: 2, Addr: "0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d0", Symbol: "FXS", CoinGeckoId: "frax-share", Decimals: 18, Price: 2.14},                                                 // Addr: 0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0, Notional: 217989.3475299892
+		{Chain: 2, Addr: "0000000000000000000000003506424f91fd33084466f402d5d97f05f8e3b4af", Symbol: "CHZ", CoinGeckoId: "chiliz", Decimals: 18, Price: 0.04034277},                                               // Addr: 0x3506424f91fd33084466f402d5d97f05f8e3b4af, Notional: 14416.034716013872
+		{Chain: 2, Addr: "000000000000000000000000354c8cda7e3b737d360513a0dc5abcee8ee1cea3", Symbol: "BABYTRUMP", CoinGeckoId: "babytrump", Decimals: 18, Price: 0.00244657},                                      // Addr: 0x354c8cda7e3b737d360513a0dc5abcee8ee1cea3, Notional: 17349.56157998472
+		{Chain: 2, Addr: "0000000000000000000000003593d125a4f7849a1b059e64f4517a86dd60c95d", Symbol: "OM", CoinGeckoId: "mantra-dao", Decimals: 18, Price: 0.164735},                                              // Addr: 0x3593d125a4f7849a1b059e64f4517a86dd60c95d, Notional: 417.46245780088645
+		{Chain: 2, Addr: "000000000000000000000000362bc847a3a9637d3af6624eec853618a43ed7d2", Symbol: "PRQ", CoinGeckoId: "parsiq", Decimals: 18, Price: 0.00804939},                                               // Addr: 0x362bc847a3a9637d3af6624eec853618a43ed7d2, Notional: 9.829541753390581
 		{Chain: 2, Addr: "000000000000000000000000368c5290b13caa10284db58b4ad4f3e9ee8bf4c9", Symbol: "KKO", CoinGeckoId: "kineko", Decimals: 18, Price: 0.00013095},                                               // Addr: 0x368c5290b13caa10284db58b4ad4f3e9ee8bf4c9, Notional: 0.1329745551712605
-		{Chain: 2, Addr: "000000000000000000000000383518188c0c6d7730d91b2c03a03c837814a899", Symbol: "OHM", CoinGeckoId: "olympus-v1", Decimals: 9, Price: 132.43},                                                // Addr: 0x383518188c0c6d7730d91b2c03a03c837814a899, Notional: 6.621500000000001
-		{Chain: 2, Addr: "0000000000000000000000003845badade8e6dff049820680d1f14bd3903a5d0", Symbol: "SAND", CoinGeckoId: "the-sandbox", Decimals: 18, Price: 0.292969},                                           // Addr: 0x3845badade8e6dff049820680d1f14bd3903a5d0, Notional: 24639.925820189783
-		{Chain: 2, Addr: "000000000000000000000000389999216860ab8e0175387a0c90e5c52522c945", Symbol: "FEG", CoinGeckoId: "feg-token", Decimals: 9, Price: 3.7713e-11},                                             // Addr: 0x389999216860ab8e0175387a0c90e5c52522c945, Notional: 0.35450220073917565
-		{Chain: 2, Addr: "00000000000000000000000038e382f74dfb84608f3c1f10187f6bef5951de93", Symbol: "MUBI", CoinGeckoId: "multibit", Decimals: 18, Price: 0.00313054},                                            // Addr: 0x38e382f74dfb84608f3c1f10187f6bef5951de93, Notional: 200.6779676899769
-		{Chain: 2, Addr: "000000000000000000000000394a16744dcd805bb0ca7252e70691f0dcac56aa", Symbol: "TRZ", CoinGeckoId: "trazable", Decimals: 18, Price: 0.00049078},                                             // Addr: 0x394a16744dcd805bb0ca7252e70691f0dcac56aa, Notional: 22.890742539350136
-		{Chain: 2, Addr: "0000000000000000000000003a856d4effa670c54585a5d523e96513e148e95d", Symbol: "TRIAS", CoinGeckoId: "trias-token", Decimals: 18, Price: 1.15},                                              // Addr: 0x3a856d4effa670c54585a5d523e96513e148e95d, Notional: 79.5982955685
-		{Chain: 2, Addr: "0000000000000000000000003b484b82567a09e2588a13d54d032153f0c0aee0", Symbol: "SOS", CoinGeckoId: "opendao", Decimals: 18, Price: 2.896e-9},                                                // Addr: 0x3b484b82567a09e2588a13d54d032153f0c0aee0, Notional: 2.413805711365437
+		{Chain: 2, Addr: "000000000000000000000000383518188c0c6d7730d91b2c03a03c837814a899", Symbol: "OHM", CoinGeckoId: "olympus-v1", Decimals: 9, Price: 127.33},                                                // Addr: 0x383518188c0c6d7730d91b2c03a03c837814a899, Notional: 6.3665
+		{Chain: 2, Addr: "0000000000000000000000003845badade8e6dff049820680d1f14bd3903a5d0", Symbol: "SAND", CoinGeckoId: "the-sandbox", Decimals: 18, Price: 0.264697},                                           // Addr: 0x3845badade8e6dff049820680d1f14bd3903a5d0, Notional: 21872.55906564005
+		{Chain: 2, Addr: "000000000000000000000000389999216860ab8e0175387a0c90e5c52522c945", Symbol: "FEG", CoinGeckoId: "feg-token", Decimals: 9, Price: 3.1498e-11},                                             // Addr: 0x389999216860ab8e0175387a0c90e5c52522c945, Notional: 0.2960812006173615
+		{Chain: 2, Addr: "00000000000000000000000038e382f74dfb84608f3c1f10187f6bef5951de93", Symbol: "MUBI", CoinGeckoId: "multibit", Decimals: 18, Price: 0.00271474},                                            // Addr: 0x38e382f74dfb84608f3c1f10187f6bef5951de93, Notional: 174.02381250732714
+		{Chain: 2, Addr: "000000000000000000000000394a16744dcd805bb0ca7252e70691f0dcac56aa", Symbol: "TRZ", CoinGeckoId: "trazable", Decimals: 18, Price: 0.00048949},                                             // Addr: 0x394a16744dcd805bb0ca7252e70691f0dcac56aa, Notional: 22.83057493293634
+		{Chain: 2, Addr: "0000000000000000000000003a856d4effa670c54585a5d523e96513e148e95d", Symbol: "TRIAS", CoinGeckoId: "trias-token", Decimals: 18, Price: 1.072},                                             // Addr: 0x3a856d4effa670c54585a5d523e96513e148e95d, Notional: 74.19945465168001
+		{Chain: 2, Addr: "0000000000000000000000003b484b82567a09e2588a13d54d032153f0c0aee0", Symbol: "SOS", CoinGeckoId: "opendao", Decimals: 18, Price: 2.873e-9},                                                // Addr: 0x3b484b82567a09e2588a13d54d032153f0c0aee0, Notional: 2.3946352930776595
 		{Chain: 2, Addr: "0000000000000000000000003d2b66bc4f9d6388bd2d97b95b565be1686aefb3", Symbol: "LAMBO", CoinGeckoId: "lambo-0fcbf0f7-1a8f-470d-ba09-797d5e95d836", Decimals: 18, Price: 1e-18},              // Addr: 0x3d2b66bc4f9d6388bd2d97b95b565be1686aefb3, Notional: 1.62256681646345e-12
 		{Chain: 2, Addr: "0000000000000000000000003d371413dd5489f3a04c07c0c2ce369c20986ceb", Symbol: "YOUC", CoinGeckoId: "youcash", Decimals: 10, Price: 0.088049},                                               // Addr: 0x3d371413dd5489f3a04c07c0c2ce369c20986ceb, Notional: 2175.3365802163526
-		{Chain: 2, Addr: "0000000000000000000000003e70f6806171873d17d4bfc984a6f9d20f5a9018", Symbol: "COIN", CoinGeckoId: "brianarmstrongtrumpyellen", Decimals: 18, Price: 0.00013278},                           // Addr: 0x3e70f6806171873d17d4bfc984a6f9d20f5a9018, Notional: 224.6063157798031
-		{Chain: 2, Addr: "0000000000000000000000003e9bc21c9b189c09df3ef1b824798658d5011937", Symbol: "LINA", CoinGeckoId: "linear", Decimals: 18, Price: 0.00004568},                                              // Addr: 0x3e9bc21c9b189c09df3ef1b824798658d5011937, Notional: 0.08961779458107601
+		{Chain: 2, Addr: "0000000000000000000000003e70f6806171873d17d4bfc984a6f9d20f5a9018", Symbol: "COIN", CoinGeckoId: "brianarmstrongtrumpyellen", Decimals: 18, Price: 0.00012052},                           // Addr: 0x3e70f6806171873d17d4bfc984a6f9d20f5a9018, Notional: 203.86769978748205
+		{Chain: 2, Addr: "0000000000000000000000003e9bc21c9b189c09df3ef1b824798658d5011937", Symbol: "LINA", CoinGeckoId: "linear", Decimals: 18, Price: 0.00006403},                                              // Addr: 0x3e9bc21c9b189c09df3ef1b824798658d5011937, Notional: 0.1256179375443585
 		{Chain: 2, Addr: "00000000000000000000000040d1f63b5d2048e67e9bedb1b4c2f1a9fb4b6817", Symbol: "GOLD", CoinGeckoId: "golden-goose", Decimals: 18, Price: 0.00006201},                                        // Addr: 0x40d1f63b5d2048e67e9bedb1b4c2f1a9fb4b6817, Notional: 0.000045419224500000004
-		{Chain: 2, Addr: "00000000000000000000000041e5560054824ea6b0732e656e3ad64e20e94e45", Symbol: "CVC", CoinGeckoId: "civic", Decimals: 8, Price: 0.091065},                                                   // Addr: 0x41e5560054824ea6b0732e656e3ad64e20e94e45, Notional: 18.212999999999997
-		{Chain: 2, Addr: "000000000000000000000000420412e765bfa6d85aaac94b4f7b708c89be2e2b", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.181439},                                                     // Addr: 0x420412e765bfa6d85aaac94b4f7b708c89be2e2b, Notional: 18.506778
-		{Chain: 2, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022049},                                          // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 244.35852037002314
-		{Chain: 2, Addr: "000000000000000000000000423f4e6138e475d85cf7ea071ac92097ed631eea", Symbol: "PNDC", CoinGeckoId: "pond-coin", Decimals: 18, Price: 1.20284e-7},                                           // Addr: 0x423f4e6138e475d85cf7ea071ac92097ed631eea, Notional: 9.35440435915031
-		{Chain: 2, Addr: "000000000000000000000000427a03fb96d9a94a6727fbcfbba143444090dd64", Symbol: "PIXL", CoinGeckoId: "sappy-seals-pixl", Decimals: 18, Price: 0.02848543},                                    // Addr: 0x427a03fb96d9a94a6727fbcfbba143444090dd64, Notional: 0.31333973
-		{Chain: 2, Addr: "0000000000000000000000004295c8556afee00264c0789dde2ddd2dba71acfe", Symbol: "BISC", CoinGeckoId: "bidao-smart-chain", Decimals: 18, Price: 0.00016521},                                   // Addr: 0x4295c8556afee00264c0789dde2ddd2dba71acfe, Notional: 165764.5025419461
-		{Chain: 2, Addr: "0000000000000000000000004297394c20800e8a38a619a243e9bbe7681ff24e", Symbol: "HOTCROSS", CoinGeckoId: "hot-cross", Decimals: 18, Price: 0.0000942},                                        // Addr: 0x4297394c20800e8a38a619a243e9bbe7681ff24e, Notional: 0.0942
-		{Chain: 2, Addr: "000000000000000000000000436da116249044e8b4464f0cf21dd93311d88190", Symbol: "ZEUM", CoinGeckoId: "colizeum", Decimals: 18, Price: 0.00069453},                                            // Addr: 0x436da116249044e8b4464f0cf21dd93311d88190, Notional: 694.53
-		{Chain: 2, Addr: "00000000000000000000000043d4a3cd90ddd2f8f4f693170c9c8098163502ad", Symbol: "D2D", CoinGeckoId: "prime", Decimals: 18, Price: 0.00091988},                                                // Addr: 0x43d4a3cd90ddd2f8f4f693170c9c8098163502ad, Notional: 74.70497921231286
-		{Chain: 2, Addr: "00000000000000000000000043fe2b0c5485c10e772a1843e32a7642ace5b88c", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 18, Price: 3.67695e-7},                                         // Addr: 0x43fe2b0c5485c10e772a1843e32a7642ace5b88c, Notional: 5008.067683765479
-		{Chain: 2, Addr: "0000000000000000000000004507cef57c46789ef8d1a19ea45f4216bae2b528", Symbol: "TOKEN", CoinGeckoId: "tokenfi", Decimals: 9, Price: 0.01278677},                                             // Addr: 0x4507cef57c46789ef8d1a19ea45f4216bae2b528, Notional: 851.8850710565471
-		{Chain: 2, Addr: "00000000000000000000000045804880de22913dafe09f4980848ece6ecbaf78", Symbol: "PAXG", CoinGeckoId: "pax-gold", Decimals: 18, Price: 3632.94},                                               // Addr: 0x45804880de22913dafe09f4980848ece6ecbaf78, Notional: 73418.4322413462
-		{Chain: 2, Addr: "000000000000000000000000464fdb8affc9bac185a7393fd4298137866dcfb8", Symbol: "REALM", CoinGeckoId: "realm", Decimals: 18, Price: 0.00011257},                                              // Addr: 0x464fdb8affc9bac185a7393fd4298137866dcfb8, Notional: 0.11257
-		{Chain: 2, Addr: "0000000000000000000000004674672bcddda2ea5300f5207e1158185c944bc0", Symbol: "GXT", CoinGeckoId: "gem-exchange-and-trading", Decimals: 18, Price: 0.00099062},                             // Addr: 0x4674672bcddda2ea5300f5207e1158185c944bc0, Notional: 419818.5204393664
-		{Chain: 2, Addr: "0000000000000000000000004691937a7508860f876c9c0a2a617e7d9e945d4b", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.06598},                                             // Addr: 0x4691937a7508860f876c9c0a2a617e7d9e945d4b, Notional: 13.5327970589686
+		{Chain: 2, Addr: "00000000000000000000000041e5560054824ea6b0732e656e3ad64e20e94e45", Symbol: "CVC", CoinGeckoId: "civic", Decimals: 8, Price: 0.081682},                                                   // Addr: 0x41e5560054824ea6b0732e656e3ad64e20e94e45, Notional: 16.3364
+		{Chain: 2, Addr: "000000000000000000000000420412e765bfa6d85aaac94b4f7b708c89be2e2b", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.187803},                                                     // Addr: 0x420412e765bfa6d85aaac94b4f7b708c89be2e2b, Notional: 19.155905999999998
+		{Chain: 2, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022077},                                          // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 244.66883097686974
+		{Chain: 2, Addr: "000000000000000000000000423f4e6138e475d85cf7ea071ac92097ed631eea", Symbol: "PNDC", CoinGeckoId: "pond-coin", Decimals: 18, Price: 1.13016e-7},                                           // Addr: 0x423f4e6138e475d85cf7ea071ac92097ed631eea, Notional: 8.789176973277671
+		{Chain: 2, Addr: "000000000000000000000000427a03fb96d9a94a6727fbcfbba143444090dd64", Symbol: "PIXL", CoinGeckoId: "sappy-seals-pixl", Decimals: 18, Price: 0.03144412},                                    // Addr: 0x427a03fb96d9a94a6727fbcfbba143444090dd64, Notional: 0.34588532
+		{Chain: 2, Addr: "0000000000000000000000004295c8556afee00264c0789dde2ddd2dba71acfe", Symbol: "BISC", CoinGeckoId: "bidao-smart-chain", Decimals: 18, Price: 0.00017132},                                   // Addr: 0x4295c8556afee00264c0789dde2ddd2dba71acfe, Notional: 171895.00983890932
+		{Chain: 2, Addr: "0000000000000000000000004297394c20800e8a38a619a243e9bbe7681ff24e", Symbol: "HOTCROSS", CoinGeckoId: "hot-cross", Decimals: 18, Price: 0.00013147},                                       // Addr: 0x4297394c20800e8a38a619a243e9bbe7681ff24e, Notional: 0.13147
+		{Chain: 2, Addr: "000000000000000000000000436da116249044e8b4464f0cf21dd93311d88190", Symbol: "ZEUM", CoinGeckoId: "colizeum", Decimals: 18, Price: 0.00119192},                                            // Addr: 0x436da116249044e8b4464f0cf21dd93311d88190, Notional: 1191.9199999999998
+		{Chain: 2, Addr: "00000000000000000000000043d4a3cd90ddd2f8f4f693170c9c8098163502ad", Symbol: "D2D", CoinGeckoId: "prime", Decimals: 18, Price: 0.00092701},                                                // Addr: 0x43d4a3cd90ddd2f8f4f693170c9c8098163502ad, Notional: 75.28401832804948
+		{Chain: 2, Addr: "00000000000000000000000043fe2b0c5485c10e772a1843e32a7642ace5b88c", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 18, Price: 3.50858e-7},                                         // Addr: 0x43fe2b0c5485c10e772a1843e32a7642ace5b88c, Notional: 4778.744914645531
+		{Chain: 2, Addr: "0000000000000000000000004507cef57c46789ef8d1a19ea45f4216bae2b528", Symbol: "TOKEN", CoinGeckoId: "tokenfi", Decimals: 9, Price: 0.0118095},                                              // Addr: 0x4507cef57c46789ef8d1a19ea45f4216bae2b528, Notional: 786.7770161379531
+		{Chain: 2, Addr: "00000000000000000000000045804880de22913dafe09f4980848ece6ecbaf78", Symbol: "PAXG", CoinGeckoId: "pax-gold", Decimals: 18, Price: 3872.75},                                               // Addr: 0x45804880de22913dafe09f4980848ece6ecbaf78, Notional: 96024.52956692751
+		{Chain: 2, Addr: "000000000000000000000000464fdb8affc9bac185a7393fd4298137866dcfb8", Symbol: "REALM", CoinGeckoId: "realm", Decimals: 18, Price: 0.00014415},                                              // Addr: 0x464fdb8affc9bac185a7393fd4298137866dcfb8, Notional: 0.14415
+		{Chain: 2, Addr: "0000000000000000000000004674672bcddda2ea5300f5207e1158185c944bc0", Symbol: "GXT", CoinGeckoId: "gem-exchange-and-trading", Decimals: 18, Price: 0.00360178},                             // Addr: 0x4674672bcddda2ea5300f5207e1158185c944bc0, Notional: 1526411.6922211356
+		{Chain: 2, Addr: "0000000000000000000000004691937a7508860f876c9c0a2a617e7d9e945d4b", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.065541},                                            // Addr: 0x4691937a7508860f876c9c0a2a617e7d9e945d4b, Notional: 13.442756169170371
 		{Chain: 2, Addr: "00000000000000000000000046cca329970b33e1a007dd4ef0594a1cedb3e72a", Symbol: "YESP", CoinGeckoId: "yesports", Decimals: 18, Price: 0.00002111},                                            // Addr: 0x46cca329970b33e1a007dd4ef0594a1cedb3e72a, Notional: 3.4517033533959998
-		{Chain: 2, Addr: "000000000000000000000000471ea49dd8e60e697f4cac262b5fafcc307506e4", Symbol: "xcRMRK", CoinGeckoId: "rmrk", Decimals: 10, Price: 0.04386258},                                              // Addr: 0x471ea49dd8e60e697f4cac262b5fafcc307506e4, Notional: 0.0438798122918046
-		{Chain: 2, Addr: "0000000000000000000000004730fb1463a6f1f44aeb45f6c5c422427f37f4d0", Symbol: "FOUR", CoinGeckoId: "the-4th-pillar", Decimals: 18, Price: 0.00016428},                                      // Addr: 0x4730fb1463a6f1f44aeb45f6c5c422427f37f4d0, Notional: 766.9493661417425
-		{Chain: 2, Addr: "0000000000000000000000004740735aa98dc8aa232bd049f8f0210458e7fca3", Symbol: "RDT", CoinGeckoId: "ridotto", Decimals: 18, Price: 0.00452439},                                              // Addr: 0x4740735aa98dc8aa232bd049f8f0210458e7fca3, Notional: 0.40932156329999997
-		{Chain: 2, Addr: "000000000000000000000000476c5e26a75bd202a9683ffd34359c0cc15be0ff", Symbol: "SRM", CoinGeckoId: "serum", Decimals: 6, Price: 0.01210557},                                                 // Addr: 0x476c5e26a75bd202a9683ffd34359c0cc15be0ff, Notional: 37768.13624345536
-		{Chain: 2, Addr: "000000000000000000000000485d17a6f1b8780392d53d64751824253011a260", Symbol: "TIME", CoinGeckoId: "chronobank", Decimals: 8, Price: 11.49},                                                // Addr: 0x485d17a6f1b8780392d53d64751824253011a260, Notional: 10.341000000000001
-		{Chain: 2, Addr: "000000000000000000000000490e3f4af13e1616ec97a8c6600c1061a8d0253e", Symbol: "TRR", CoinGeckoId: "terran-coin", Decimals: 18, Price: 0.00064161},                                          // Addr: 0x490e3f4af13e1616ec97a8c6600c1061a8d0253e, Notional: 1.7002665000000001
-		{Chain: 2, Addr: "0000000000000000000000004a220e6096b25eadb88358cb44068a3248254675", Symbol: "QNT", CoinGeckoId: "quant-network", Decimals: 18, Price: 97.65},                                             // Addr: 0x4a220e6096b25eadb88358cb44068a3248254675, Notional: 4.8825
-		{Chain: 2, Addr: "0000000000000000000000004b1e80cac91e2216eeb63e29b957eb91ae9c2be8", Symbol: "JUP", CoinGeckoId: "jupiter", Decimals: 18, Price: 0.00096328},                                              // Addr: 0x4b1e80cac91e2216eeb63e29b957eb91ae9c2be8, Notional: 39.85316080749991
-		{Chain: 2, Addr: "0000000000000000000000004bd70556ae3f8a6ec6c4080a0c327b24325438f3", Symbol: "HXRO", CoinGeckoId: "hxro", Decimals: 18, Price: 0.00119772},                                                // Addr: 0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3, Notional: 830988.9494930848
+		{Chain: 2, Addr: "000000000000000000000000471ea49dd8e60e697f4cac262b5fafcc307506e4", Symbol: "xcRMRK", CoinGeckoId: "rmrk", Decimals: 10, Price: 0.03897008},                                              // Addr: 0x471ea49dd8e60e697f4cac262b5fafcc307506e4, Notional: 0.0389853901753296
+		{Chain: 2, Addr: "0000000000000000000000004730fb1463a6f1f44aeb45f6c5c422427f37f4d0", Symbol: "FOUR", CoinGeckoId: "the-4th-pillar", Decimals: 18, Price: 0.00015035},                                      // Addr: 0x4730fb1463a6f1f44aeb45f6c5c422427f37f4d0, Notional: 701.9164670039627
+		{Chain: 2, Addr: "0000000000000000000000004740735aa98dc8aa232bd049f8f0210458e7fca3", Symbol: "RDT", CoinGeckoId: "ridotto", Decimals: 18, Price: 0.00377615},                                              // Addr: 0x4740735aa98dc8aa232bd049f8f0210458e7fca3, Notional: 0.3416282905
+		{Chain: 2, Addr: "000000000000000000000000476c5e26a75bd202a9683ffd34359c0cc15be0ff", Symbol: "SRM", CoinGeckoId: "serum", Decimals: 6, Price: 0.01273951},                                                 // Addr: 0x476c5e26a75bd202a9683ffd34359c0cc15be0ff, Notional: 39745.963994662125
+		{Chain: 2, Addr: "000000000000000000000000485d17a6f1b8780392d53d64751824253011a260", Symbol: "TIME", CoinGeckoId: "chronobank", Decimals: 8, Price: 10.53},                                                // Addr: 0x485d17a6f1b8780392d53d64751824253011a260, Notional: 9.477
+		{Chain: 2, Addr: "000000000000000000000000490e3f4af13e1616ec97a8c6600c1061a8d0253e", Symbol: "TRR", CoinGeckoId: "terran-coin", Decimals: 18, Price: 0.00028252},                                          // Addr: 0x490e3f4af13e1616ec97a8c6600c1061a8d0253e, Notional: 0.7486780000000001
+		{Chain: 2, Addr: "0000000000000000000000004a220e6096b25eadb88358cb44068a3248254675", Symbol: "QNT", CoinGeckoId: "quant-network", Decimals: 18, Price: 101.01},                                            // Addr: 0x4a220e6096b25eadb88358cb44068a3248254675, Notional: 5.0505
+		{Chain: 2, Addr: "0000000000000000000000004b1e80cac91e2216eeb63e29b957eb91ae9c2be8", Symbol: "JUP", CoinGeckoId: "jupiter", Decimals: 18, Price: 0.00087378},                                              // Addr: 0x4b1e80cac91e2216eeb63e29b957eb91ae9c2be8, Notional: 36.15033515735536
+		{Chain: 2, Addr: "0000000000000000000000004bd70556ae3f8a6ec6c4080a0c327b24325438f3", Symbol: "HXRO", CoinGeckoId: "hxro", Decimals: 18, Price: 0.00125674},                                                // Addr: 0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3, Notional: 871980.4040292035
 		{Chain: 2, Addr: "0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b3", Symbol: "USDe", CoinGeckoId: "ethena-usde", Decimals: 18, Price: 1.001},                                              // Addr: 0x4c9edd5852cd905f086c759e8383e09bff1e68b3, Notional: 25.025
-		{Chain: 2, Addr: "0000000000000000000000004d224452801aced8b2f0aebe155379bb5d594381", Symbol: "APE", CoinGeckoId: "apecoin", Decimals: 18, Price: 0.600882},                                                // Addr: 0x4d224452801aced8b2f0aebe155379bb5d594381, Notional: 50.112982211659265
-		{Chain: 2, Addr: "0000000000000000000000004da34f8264cb33a5c9f17081b9ef5ff6091116f4", Symbol: "ELFI", CoinGeckoId: "elyfi", Decimals: 18, Price: 0.00703677},                                               // Addr: 0x4da34f8264cb33a5c9f17081b9ef5ff6091116f4, Notional: 125130.45177055294
-		{Chain: 2, Addr: "0000000000000000000000004e15361fd6b4bb609fa63c81a2be19d873717870", Symbol: "FTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.3056},                                           // Addr: 0x4e15361fd6b4bb609fa63c81a2be19d873717870, Notional: 3588.087609929024
-		{Chain: 2, Addr: "0000000000000000000000004ec1b60b96193a64acae44778e51f7bff2007831", Symbol: "EDGE", CoinGeckoId: "edge", Decimals: 18, Price: 0.223115},                                                  // Addr: 0x4ec1b60b96193a64acae44778e51f7bff2007831, Notional: 49.378899375669796
-		{Chain: 2, Addr: "0000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c53", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 0.999036},                                           // Addr: 0x4fabb145d64652a948d72533023f6e7a623c7c53, Notional: 21050.856705192837
-		{Chain: 2, Addr: "00000000000000000000000050b806c5fe274c07e46b96be8c68d2fd2d9597b4", Symbol: "$TUCKER", CoinGeckoId: "tucker-carlson", Decimals: 18, Price: 6.41015e-7},                                   // Addr: 0x50b806c5fe274c07e46b96be8c68d2fd2d9597b4, Notional: 289.3896457110447
-		{Chain: 2, Addr: "00000000000000000000000050d1c9771902476076ecfc8b2a83ad6b9355a4c9", Symbol: "FTX Token", CoinGeckoId: "ftx-token", Decimals: 18, Price: 0.802831},                                        // Addr: 0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9, Notional: 192153.01068159466
-		{Chain: 2, Addr: "000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                                // Addr: 0x514910771af9ca656af840dff83e8264ecf986ca, Notional: 423504.28711419663
+		{Chain: 2, Addr: "0000000000000000000000004d224452801aced8b2f0aebe155379bb5d594381", Symbol: "APE", CoinGeckoId: "apecoin", Decimals: 18, Price: 0.532372},                                                // Addr: 0x4d224452801aced8b2f0aebe155379bb5d594381, Notional: 44.399313951799954
+		{Chain: 2, Addr: "0000000000000000000000004da34f8264cb33a5c9f17081b9ef5ff6091116f4", Symbol: "ELFI", CoinGeckoId: "elyfi", Decimals: 18, Price: 0.00720454},                                               // Addr: 0x4da34f8264cb33a5c9f17081b9ef5ff6091116f4, Notional: 128805.02879532588
+		{Chain: 2, Addr: "0000000000000000000000004e15361fd6b4bb609fa63c81a2be19d873717870", Symbol: "FTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.253219},                                         // Addr: 0x4e15361fd6b4bb609fa63c81a2be19d873717870, Notional: 2974.46154666725
+		{Chain: 2, Addr: "0000000000000000000000004ec1b60b96193a64acae44778e51f7bff2007831", Symbol: "EDGE", CoinGeckoId: "edge", Decimals: 18, Price: 0.329688},                                                  // Addr: 0x4ec1b60b96193a64acae44778e51f7bff2007831, Notional: 72.96519990751776
+		{Chain: 2, Addr: "0000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c53", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 1},                                                  // Addr: 0x4fabb145d64652a948d72533023f6e7a623c7c53, Notional: 23143.23525155
+		{Chain: 2, Addr: "00000000000000000000000050b806c5fe274c07e46b96be8c68d2fd2d9597b4", Symbol: "$TUCKER", CoinGeckoId: "tucker-carlson", Decimals: 18, Price: 6.3908e-7},                                    // Addr: 0x50b806c5fe274c07e46b96be8c68d2fd2d9597b4, Notional: 288.51607962530437
+		{Chain: 2, Addr: "00000000000000000000000050d1c9771902476076ecfc8b2a83ad6b9355a4c9", Symbol: "FTX Token", CoinGeckoId: "ftx-token", Decimals: 18, Price: 0.925561},                                        // Addr: 0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9, Notional: 221649.33662043014
+		{Chain: 2, Addr: "000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                                // Addr: 0x514910771af9ca656af840dff83e8264ecf986ca, Notional: 409248.3120136852
 		{Chain: 2, Addr: "00000000000000000000000051fe2e572e97bfeb1d719809d743ec2675924edc", Symbol: "VPAD", CoinGeckoId: "vlaunch", Decimals: 18, Price: 0.08336},                                                // Addr: 0x51fe2e572e97bfeb1d719809d743ec2675924edc, Notional: 8.119264000000001
 		{Chain: 2, Addr: "00000000000000000000000052284158e02425290f6b627aeb5fff65edf058ad", Symbol: "FMB", CoinGeckoId: "flappymoonbird", Decimals: 18, Price: 0.00024512},                                       // Addr: 0x52284158e02425290f6b627aeb5fff65edf058ad, Notional: 207.83422153595114
-		{Chain: 2, Addr: "00000000000000000000000054012cdf4119de84218f7eb90eeb87e25ae6ebd7", Symbol: "LUFFY", CoinGeckoId: "luffy-inu", Decimals: 9, Price: 0.00003626},                                           // Addr: 0x54012cdf4119de84218f7eb90eeb87e25ae6ebd7, Notional: 72530.8104693222
-		{Chain: 2, Addr: "0000000000000000000000005483dc6abda5f094865120b2d251b5744fc2ecb5", Symbol: "TPAD", CoinGeckoId: "taopad", Decimals: 18, Price: 0.072025},                                                // Addr: 0x5483dc6abda5f094865120b2d251b5744fc2ecb5, Notional: 25.879792481106502
+		{Chain: 2, Addr: "00000000000000000000000054012cdf4119de84218f7eb90eeb87e25ae6ebd7", Symbol: "LUFFY", CoinGeckoId: "luffy-inu", Decimals: 9, Price: 0.00003308},                                           // Addr: 0x54012cdf4119de84218f7eb90eeb87e25ae6ebd7, Notional: 66947.7122825249
+		{Chain: 2, Addr: "0000000000000000000000005483dc6abda5f094865120b2d251b5744fc2ecb5", Symbol: "TPAD", CoinGeckoId: "taopad", Decimals: 18, Price: 0.069153},                                                // Addr: 0x5483dc6abda5f094865120b2d251b5744fc2ecb5, Notional: 29.328126357159
 		{Chain: 2, Addr: "0000000000000000000000005488eff1976e4a56b4255e926d419a7054df196a", Symbol: "CITTY", CoinGeckoId: "citty-meme-coin", Decimals: 18, Price: 0.00332339},                                    // Addr: 0x5488eff1976e4a56b4255e926d419a7054df196a, Notional: 831.2264061060487
-		{Chain: 2, Addr: "00000000000000000000000056015bbe3c01fe05bc30a8a9a9fd9a88917e7db3", Symbol: "CAT", CoinGeckoId: "cat-token", Decimals: 18, Price: 0.02616904},                                            // Addr: 0x56015bbe3c01fe05bc30a8a9a9fd9a88917e7db3, Notional: 52.338080000000005
-		{Chain: 2, Addr: "000000000000000000000000569d0e52c3dbe95983bcc2434cb9f69d905be919", Symbol: "roar", CoinGeckoId: "roaring-kitty", Decimals: 9, Price: 0.00004471},                                        // Addr: 0x569d0e52c3dbe95983bcc2434cb9f69d905be919, Notional: 577.473497595622
-		{Chain: 2, Addr: "00000000000000000000000056b4f8c39e07d4d5d91692acf9d0f6d4d3493763", Symbol: "TRISM", CoinGeckoId: "trism", Decimals: 18, Price: 0.00052052},                                              // Addr: 0x56b4f8c39e07d4d5d91692acf9d0f6d4d3493763, Notional: 69.77979151269687
-		{Chain: 2, Addr: "000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7", Symbol: "TRUMP", CoinGeckoId: "maga", Decimals: 9, Price: 0.141399},                                                  // Addr: 0x576e2bed8f7b46d34016198911cdf9886f78bea7, Notional: 985364.2652897228
-		{Chain: 2, Addr: "000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1", Symbol: "TONCOIN", CoinGeckoId: "the-open-network", Decimals: 9, Price: 3.1},                                         // Addr: 0x582d872a1b094fc48f5de31d3b73f2d9be47def1, Notional: 58131.10806454
-		{Chain: 2, Addr: "00000000000000000000000058b6a8a3302369daec383334672404ee733ab239", Symbol: "LPT", CoinGeckoId: "livepeer", Decimals: 18, Price: 7.05},                                                   // Addr: 0x58b6a8a3302369daec383334672404ee733ab239, Notional: 14.5174120995
-		{Chain: 2, Addr: "00000000000000000000000058cb30368ceb2d194740b144eab4c2da8a917dcb", Symbol: "ZYN", CoinGeckoId: "zyncoin-2", Decimals: 18, Price: 0.00556875},                                            // Addr: 0x58cb30368ceb2d194740b144eab4c2da8a917dcb, Notional: 514717.36241564545
-		{Chain: 2, Addr: "000000000000000000000000594daad7d77592a2b97b725a7ad59d7e188b5bfa", Symbol: "APU", CoinGeckoId: "apu-s-club", Decimals: 18, Price: 0.0001628},                                            // Addr: 0x594daad7d77592a2b97b725a7ad59d7e188b5bfa, Notional: 403285.6855828425
-		{Chain: 2, Addr: "000000000000000000000000595832f8fc6bf59c85c527fec3740a1b7a361269", Symbol: "POWR", CoinGeckoId: "power-ledger", Decimals: 6, Price: 0.162561},                                           // Addr: 0x595832f8fc6bf59c85c527fec3740a1b7a361269, Notional: 1544.3295
-		{Chain: 2, Addr: "00000000000000000000000059f4f336bf3d0c49dbfba4a74ebd2a6ace40539a", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 9, Price: 1.17823e-10},                                         // Addr: 0x59f4f336bf3d0c49dbfba4a74ebd2a6ace40539a, Notional: 14.691846247390743
-		{Chain: 2, Addr: "0000000000000000000000005a98fcbea516cf06857215779fd812ca3bef1b32", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.19},                                                   // Addr: 0x5a98fcbea516cf06857215779fd812ca3bef1b32, Notional: 547083.0225523348
-		{Chain: 2, Addr: "0000000000000000000000005b52bfb8062ce664d74bbcd4cd6dc7df53fd7233", Symbol: "ZENIQ", CoinGeckoId: "zeniq", Decimals: 18, Price: 0.00254006},                                              // Addr: 0x5b52bfb8062ce664d74bbcd4cd6dc7df53fd7233, Notional: 0.6923061565788394
-		{Chain: 2, Addr: "0000000000000000000000005da151b95657e788076d04d56234bd93e409cb09", Symbol: "OTSea", CoinGeckoId: "otsea", Decimals: 18, Price: 0.00093835},                                              // Addr: 0x5da151b95657e788076d04d56234bd93e409cb09, Notional: -1.9920759292884942
-		{Chain: 2, Addr: "0000000000000000000000005de8ab7e27f6e7a1fff3e5b337584aa43961beef", Symbol: "SDEX", CoinGeckoId: "smardex", Decimals: 18, Price: 0.00424851},                                             // Addr: 0x5de8ab7e27f6e7a1fff3e5b337584aa43961beef, Notional: 3919362.954826376
-		{Chain: 2, Addr: "0000000000000000000000005eeaa2dcb23056f4e8654a349e57ebe5e76b5e6e", Symbol: "VPP", CoinGeckoId: "virtue-poker", Decimals: 18, Price: 0.00168306},                                         // Addr: 0x5eeaa2dcb23056f4e8654a349e57ebe5e76b5e6e, Notional: 0.16830599999999998
+		{Chain: 2, Addr: "00000000000000000000000056015bbe3c01fe05bc30a8a9a9fd9a88917e7db3", Symbol: "CAT", CoinGeckoId: "cat-token", Decimals: 18, Price: 0.02556676},                                            // Addr: 0x56015bbe3c01fe05bc30a8a9a9fd9a88917e7db3, Notional: 51.133520000000004
+		{Chain: 2, Addr: "000000000000000000000000569d0e52c3dbe95983bcc2434cb9f69d905be919", Symbol: "roar", CoinGeckoId: "roaring-kitty", Decimals: 9, Price: 0.00004032},                                        // Addr: 0x569d0e52c3dbe95983bcc2434cb9f69d905be919, Notional: 520.7723422736632
+		{Chain: 2, Addr: "00000000000000000000000056b4f8c39e07d4d5d91692acf9d0f6d4d3493763", Symbol: "TRISM", CoinGeckoId: "trism", Decimals: 18, Price: 0.00052052},                                              // Addr: 0x56b4f8c39e07d4d5d91692acf9d0f6d4d3493763, Notional: 71.52993174271505
+		{Chain: 2, Addr: "000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7", Symbol: "TRUMP", CoinGeckoId: "maga", Decimals: 9, Price: 0.118814},                                                  // Addr: 0x576e2bed8f7b46d34016198911cdf9886f78bea7, Notional: 816053.7129735008
+		{Chain: 2, Addr: "000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1", Symbol: "TONCOIN", CoinGeckoId: "the-open-network", Decimals: 9, Price: 2.71},                                        // Addr: 0x582d872a1b094fc48f5de31d3b73f2d9be47def1, Notional: 25323.9980953457
+		{Chain: 2, Addr: "00000000000000000000000058b6a8a3302369daec383334672404ee733ab239", Symbol: "LPT", CoinGeckoId: "livepeer", Decimals: 18, Price: 6.05},                                                   // Addr: 0x58b6a8a3302369daec383334672404ee733ab239, Notional: 12.4582047095
+		{Chain: 2, Addr: "00000000000000000000000058cb30368ceb2d194740b144eab4c2da8a917dcb", Symbol: "ZYN", CoinGeckoId: "zyncoin-2", Decimals: 18, Price: 0.0039004},                                             // Addr: 0x58cb30368ceb2d194740b144eab4c2da8a917dcb, Notional: 362543.37762185856
+		{Chain: 2, Addr: "000000000000000000000000594daad7d77592a2b97b725a7ad59d7e188b5bfa", Symbol: "APU", CoinGeckoId: "apu-s-club", Decimals: 18, Price: 0.00012026},                                           // Addr: 0x594daad7d77592a2b97b725a7ad59d7e188b5bfa, Notional: 293152.08297426737
+		{Chain: 2, Addr: "000000000000000000000000595832f8fc6bf59c85c527fec3740a1b7a361269", Symbol: "POWR", CoinGeckoId: "power-ledger", Decimals: 6, Price: 0.140799},                                           // Addr: 0x595832f8fc6bf59c85c527fec3740a1b7a361269, Notional: 1.3375905000000001
+		{Chain: 2, Addr: "00000000000000000000000059f4f336bf3d0c49dbfba4a74ebd2a6ace40539a", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 9, Price: 9.2761e-11},                                          // Addr: 0x59f4f336bf3d0c49dbfba4a74ebd2a6ace40539a, Notional: 11.566759883505025
+		{Chain: 2, Addr: "0000000000000000000000005a98fcbea516cf06857215779fd812ca3bef1b32", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.087},                                                  // Addr: 0x5a98fcbea516cf06857215779fd812ca3bef1b32, Notional: 500129.10949662916
+		{Chain: 2, Addr: "0000000000000000000000005b52bfb8062ce664d74bbcd4cd6dc7df53fd7233", Symbol: "ZENIQ", CoinGeckoId: "zeniq", Decimals: 18, Price: 0.00208985},                                              // Addr: 0x5b52bfb8062ce664d74bbcd4cd6dc7df53fd7233, Notional: 0.5695991517233009
+		{Chain: 2, Addr: "0000000000000000000000005da151b95657e788076d04d56234bd93e409cb09", Symbol: "OTSea", CoinGeckoId: "otsea", Decimals: 18, Price: 0.00054918},                                              // Addr: 0x5da151b95657e788076d04d56234bd93e409cb09, Notional: 3.933202135223875
+		{Chain: 2, Addr: "0000000000000000000000005de8ab7e27f6e7a1fff3e5b337584aa43961beef", Symbol: "SDEX", CoinGeckoId: "smardex", Decimals: 18, Price: 0.00414918},                                             // Addr: 0x5de8ab7e27f6e7a1fff3e5b337584aa43961beef, Notional: 3862493.9347334392
+		{Chain: 2, Addr: "0000000000000000000000005eeaa2dcb23056f4e8654a349e57ebe5e76b5e6e", Symbol: "VPP", CoinGeckoId: "virtue-poker", Decimals: 18, Price: 0.00063354},                                         // Addr: 0x5eeaa2dcb23056f4e8654a349e57ebe5e76b5e6e, Notional: 0.06335400000000001
 		{Chain: 2, Addr: "0000000000000000000000005f48d1fd6814cd1cd38aeb895755e57d519196d1", Symbol: "WINS", CoinGeckoId: "wins", Decimals: 18, Price: 0.02993434},                                                // Addr: 0x5f48d1fd6814cd1cd38aeb895755e57d519196d1, Notional: 2984626.74841954
-		{Chain: 2, Addr: "0000000000000000000000005f944b0c4315cb7c3a846b025ab4045da44abf6c", Symbol: "GCAKE", CoinGeckoId: "pancake-games", Decimals: 18, Price: 4.7509e-8},                                       // Addr: 0x5f944b0c4315cb7c3a846b025ab4045da44abf6c, Notional: 0.03552554098638708
-		{Chain: 2, Addr: "0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0", Symbol: "LUSD", CoinGeckoId: "liquity-usd", Decimals: 18, Price: 1},                                                  // Addr: 0x5f98805a4e8be255a32880fdec7f6728c6568ba0, Notional: 2
-		{Chain: 2, Addr: "0000000000000000000000005fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b", Symbol: "DIMO", CoinGeckoId: "dimo", Decimals: 18, Price: 0.068567},                                                  // Addr: 0x5fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b, Notional: 0.754237
-		{Chain: 2, Addr: "0000000000000000000000006149c26cd2f7b5ccdb32029af817123f6e37df5b", Symbol: "LPOOL", CoinGeckoId: "launchpool", Decimals: 18, Price: 0.01332362},                                         // Addr: 0x6149c26cd2f7b5ccdb32029af817123f6e37df5b, Notional: 0.01332362
-		{Chain: 2, Addr: "000000000000000000000000614da3b37b6f66f7ce69b4bbbcf9a55ce6168707", Symbol: "MMX", CoinGeckoId: "m2-global-wealth-limited-mmx", Decimals: 18, Price: 0.201226},                           // Addr: 0x614da3b37b6f66f7ce69b4bbbcf9a55ce6168707, Notional: 36467.826967430025
-		{Chain: 2, Addr: "00000000000000000000000062d0a8458ed7719fdaf978fe5929c6d342b0bfce", Symbol: "BEAM", CoinGeckoId: "beam-2", Decimals: 18, Price: 0.00719443},                                              // Addr: 0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce, Notional: 7.422305897606239
-		{Chain: 2, Addr: "00000000000000000000000064df3aab3b21cc275bb76c4a581cf8b726478ee0", Symbol: "CRAMER", CoinGeckoId: "cramer-coin", Decimals: 18, Price: 0.00023278},                                       // Addr: 0x64df3aab3b21cc275bb76c4a581cf8b726478ee0, Notional: 10260.718312410914
-		{Chain: 2, Addr: "00000000000000000000000065e6b60ea01668634d68d0513fe814679f925bad", Symbol: "PIXEL", CoinGeckoId: "pixelverse", Decimals: 18, Price: 0.00009526},                                         // Addr: 0x65e6b60ea01668634d68d0513fe814679f925bad, Notional: 12442.165361374684
-		{Chain: 2, Addr: "00000000000000000000000065ef703f5594d2573eb71aaf55bc0cb548492df4", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.502091},                                           // Addr: 0x65ef703f5594d2573eb71aaf55bc0cb548492df4, Notional: 860.6832028066719
-		{Chain: 2, Addr: "000000000000000000000000667102bd3413bfeaa3dffb48fa8288819e480a88", Symbol: "TKX", CoinGeckoId: "tokenize-xchange", Decimals: 8, Price: 4.99},                                            // Addr: 0x667102bd3413bfeaa3dffb48fa8288819e480a88, Notional: 14215.7115724552
-		{Chain: 2, Addr: "000000000000000000000000667210a731447f8b385e068205759be2311b86d4", Symbol: "ETF", CoinGeckoId: "etf-the-token", Decimals: 18, Price: 0.00334893},                                        // Addr: 0x667210a731447f8b385e068205759be2311b86d4, Notional: 1981.8031402045192
-		{Chain: 2, Addr: "00000000000000000000000066c0dded8433c9ea86c8cf91237b14e10b4d70b7", Symbol: "Mars", CoinGeckoId: "mars", Decimals: 18, Price: 0.0000064},                                                 // Addr: 0x66c0dded8433c9ea86c8cf91237b14e10b4d70b7, Notional: 0.9370817759262079
-		{Chain: 2, Addr: "0000000000000000000000006731827cb6879a2091ce3ab3423f7bf20539b579", Symbol: "MPWR", CoinGeckoId: "clubrare-empower", Decimals: 18, Price: 0.0000217},                                     // Addr: 0x6731827cb6879a2091ce3ab3423f7bf20539b579, Notional: 0.0000434
-		{Chain: 2, Addr: "0000000000000000000000006781a0f84c7e9e846dcb84a9a5bd49333067b104", Symbol: "ZAP", CoinGeckoId: "zap", Decimals: 18, Price: 0.00166219},                                                  // Addr: 0x6781a0f84c7e9e846dcb84a9a5bd49333067b104, Notional: 633.3524360811691
-		{Chain: 2, Addr: "00000000000000000000000067f4c72a50f8df6487720261e188f2abe83f57d7", Symbol: "wPOKT", CoinGeckoId: "wrapped-pokt", Decimals: 6, Price: 0.03484979},                                        // Addr: 0x67f4c72a50f8df6487720261e188f2abe83f57d7, Notional: 507.86005861908967
-		{Chain: 2, Addr: "00000000000000000000000068bbed6a47194eff1cf514b50ea91895597fc91e", Symbol: "ANDY", CoinGeckoId: "andy-the-wisguy", Decimals: 18, Price: 0.00005454},                                     // Addr: 0x68bbed6a47194eff1cf514b50ea91895597fc91e, Notional: 95.39793782702397
+		{Chain: 2, Addr: "0000000000000000000000005f944b0c4315cb7c3a846b025ab4045da44abf6c", Symbol: "GCAKE", CoinGeckoId: "pancake-games", Decimals: 18, Price: 5.2302e-8},                                       // Addr: 0x5f944b0c4315cb7c3a846b025ab4045da44abf6c, Notional: 0.039109575968132713
+		{Chain: 2, Addr: "0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0", Symbol: "LUSD", CoinGeckoId: "liquity-usd", Decimals: 18, Price: 1.001},                                              // Addr: 0x5f98805a4e8be255a32880fdec7f6728c6568ba0, Notional: 2.002
+		{Chain: 2, Addr: "0000000000000000000000005fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b", Symbol: "DIMO", CoinGeckoId: "dimo", Decimals: 18, Price: 0.055312},                                                  // Addr: 0x5fab9761d60419c9eeebe3915a8fa1ed7e8d2e1b, Notional: 0.608432
+		{Chain: 2, Addr: "0000000000000000000000006149c26cd2f7b5ccdb32029af817123f6e37df5b", Symbol: "LPOOL", CoinGeckoId: "launchpool", Decimals: 18, Price: 0.00938514},                                         // Addr: 0x6149c26cd2f7b5ccdb32029af817123f6e37df5b, Notional: 0.00938514
+		{Chain: 2, Addr: "000000000000000000000000614da3b37b6f66f7ce69b4bbbcf9a55ce6168707", Symbol: "MMX", CoinGeckoId: "m2-global-wealth-limited-mmx", Decimals: 18, Price: 0.132615},                           // Addr: 0x614da3b37b6f66f7ce69b4bbbcf9a55ce6168707, Notional: 29339.70169560744
+		{Chain: 2, Addr: "00000000000000000000000062d0a8458ed7719fdaf978fe5929c6d342b0bfce", Symbol: "BEAM", CoinGeckoId: "beam-2", Decimals: 18, Price: 0.00816504},                                              // Addr: 0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce, Notional: 8.423658934229792
+		{Chain: 2, Addr: "00000000000000000000000064df3aab3b21cc275bb76c4a581cf8b726478ee0", Symbol: "CRAMER", CoinGeckoId: "cramer-coin", Decimals: 18, Price: 0.00021576},                                       // Addr: 0x64df3aab3b21cc275bb76c4a581cf8b726478ee0, Notional: 9513.418943152452
+		{Chain: 2, Addr: "00000000000000000000000065e6b60ea01668634d68d0513fe814679f925bad", Symbol: "PIXEL", CoinGeckoId: "pixelverse", Decimals: 18, Price: 0.00010878},                                         // Addr: 0x65e6b60ea01668634d68d0513fe814679f925bad, Notional: 14208.049002837897
+		{Chain: 2, Addr: "00000000000000000000000065ef703f5594d2573eb71aaf55bc0cb548492df4", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.491178},                                           // Addr: 0x65ef703f5594d2573eb71aaf55bc0cb548492df4, Notional: 841.9761640582594
+		{Chain: 2, Addr: "000000000000000000000000667102bd3413bfeaa3dffb48fa8288819e480a88", Symbol: "TKX", CoinGeckoId: "tokenize-xchange", Decimals: 8, Price: 2.25},                                            // Addr: 0x667102bd3413bfeaa3dffb48fa8288819e480a88, Notional: 6241.238233335
+		{Chain: 2, Addr: "000000000000000000000000667210a731447f8b385e068205759be2311b86d4", Symbol: "ETF", CoinGeckoId: "etf-the-token", Decimals: 18, Price: 0.00298691},                                        // Addr: 0x667210a731447f8b385e068205759be2311b86d4, Notional: 1767.5698260364595
+		{Chain: 2, Addr: "00000000000000000000000066c0dded8433c9ea86c8cf91237b14e10b4d70b7", Symbol: "Mars", CoinGeckoId: "mars", Decimals: 18, Price: 0.00000735},                                                // Addr: 0x66c0dded8433c9ea86c8cf91237b14e10b4d70b7, Notional: 1.0761798520402543
+		{Chain: 2, Addr: "0000000000000000000000006731827cb6879a2091ce3ab3423f7bf20539b579", Symbol: "MPWR", CoinGeckoId: "clubrare-empower", Decimals: 18, Price: 0.0000149},                                     // Addr: 0x6731827cb6879a2091ce3ab3423f7bf20539b579, Notional: 0.0000298
+		{Chain: 2, Addr: "0000000000000000000000006781a0f84c7e9e846dcb84a9a5bd49333067b104", Symbol: "ZAP", CoinGeckoId: "zap", Decimals: 18, Price: 0.00274389},                                                  // Addr: 0x6781a0f84c7e9e846dcb84a9a5bd49333067b104, Notional: 1045.517910611157
+		{Chain: 2, Addr: "00000000000000000000000067f4c72a50f8df6487720261e188f2abe83f57d7", Symbol: "wPOKT", CoinGeckoId: "wrapped-pokt", Decimals: 6, Price: 0.02676389},                                        // Addr: 0x67f4c72a50f8df6487720261e188f2abe83f57d7, Notional: 390.02561405032475
+		{Chain: 2, Addr: "00000000000000000000000068bbed6a47194eff1cf514b50ea91895597fc91e", Symbol: "ANDY", CoinGeckoId: "andy-the-wisguy", Decimals: 18, Price: 0.00004414},                                     // Addr: 0x68bbed6a47194eff1cf514b50ea91895597fc91e, Notional: 77.2069119120799
 		{Chain: 2, Addr: "0000000000000000000000006911f552842236bd9e8ea8ddbb3fb414e2c5fa9d", Symbol: "SNP", CoinGeckoId: "synapse-network", Decimals: 18, Price: 0.00531536},                                      // Addr: 0x6911f552842236bd9e8ea8ddbb3fb414e2c5fa9d, Notional: 21.5857098436341
-		{Chain: 2, Addr: "0000000000000000000000006982508145454ce325ddbe47a25d4ec3d2311933", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00001027},                                                // Addr: 0x6982508145454ce325ddbe47a25d4ec3d2311933, Notional: 41955.661576726794
-		{Chain: 2, Addr: "00000000000000000000000069a95185ee2a045cdc4bcd1b1df10710395e4e23", Symbol: "POOLZ", CoinGeckoId: "poolz-finance", Decimals: 18, Price: 0.02009761},                                      // Addr: 0x69a95185ee2a045cdc4bcd1b1df10710395e4e23, Notional: 0.17689916322
-		{Chain: 2, Addr: "00000000000000000000000069b14e8d3cebfdd8196bfe530954a0c226e5008e", Symbol: "SpacePi", CoinGeckoId: "spacepi-token", Decimals: 9, Price: 1.332e-9},                                       // Addr: 0x69b14e8d3cebfdd8196bfe530954a0c226e5008e, Notional: 212.8266855691596
-		{Chain: 2, Addr: "0000000000000000000000006adb2e268de2aa1abf6578e4a8119b960e02928f", Symbol: "ShibDoge", CoinGeckoId: "shibadoge", Decimals: 9, Price: 3e-17},                                             // Addr: 0x6adb2e268de2aa1abf6578e4a8119b960e02928f, Notional: 7.063418625899999e-7
-		{Chain: 2, Addr: "0000000000000000000000006b0b3a982b4634ac68dd83a4dbf02311ce324181", Symbol: "ALI", CoinGeckoId: "alethea-artificial-liquid-intelligence-token", Decimals: 18, Price: 0.0069193},          // Addr: 0x6b0b3a982b4634ac68dd83a4dbf02311ce324181, Notional: 121375.2052186801
-		{Chain: 2, Addr: "0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                           // Addr: 0x6b175474e89094c44da98b954eedeac495271d0f, Notional: 2238979.78439692
-		{Chain: 2, Addr: "0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.784507},                                                // Addr: 0x6b3595068778dd592e39a122f4f5a5cf09c90fe2, Notional: 25637.535124541864
-		{Chain: 2, Addr: "0000000000000000000000006b4c7a5e3f0b99fcd83e9c089bddd6c7fce5c611", Symbol: "MM", CoinGeckoId: "million", Decimals: 18, Price: 1.15},                                                     // Addr: 0x6b4c7a5e3f0b99fcd83e9c089bddd6c7fce5c611, Notional: 9733.462407836
-		{Chain: 2, Addr: "0000000000000000000000006b66ccd1340c479b07b390d326eadcbb84e726ba", Symbol: "SEAM", CoinGeckoId: "seamless-protocol", Decimals: 18, Price: 0.401148},                                     // Addr: 0x6b66ccd1340c479b07b390d326eadcbb84e726ba, Notional: 4.01148
-		{Chain: 2, Addr: "0000000000000000000000006b89b97169a797d94f057f4a0b01e2ca303155e4", Symbol: "CHAD", CoinGeckoId: "chad-coin", Decimals: 18, Price: 0.0000014},                                            // Addr: 0x6b89b97169a797d94f057f4a0b01e2ca303155e4, Notional: 12314.308800044508
-		{Chain: 2, Addr: "0000000000000000000000006c5ba91642f10282b576d91922ae6448c9d52f4e", Symbol: "PHA", CoinGeckoId: "pha", Decimals: 18, Price: 0.107224},                                                    // Addr: 0x6c5ba91642f10282b576d91922ae6448c9d52f4e, Notional: 102140.08770356892
-		{Chain: 2, Addr: "0000000000000000000000006de037ef9ad2725eb40118bb1702ebb27e4aeb24", Symbol: "RNDR", CoinGeckoId: "render-token", Decimals: 18, Price: 3.77},                                              // Addr: 0x6de037ef9ad2725eb40118bb1702ebb27e4aeb24, Notional: 1495583173.6396296
-		{Chain: 2, Addr: "0000000000000000000000006e9730ecffbed43fd876a264c982e254ef05a0de", Symbol: "NORD", CoinGeckoId: "nord-finance", Decimals: 18, Price: 0.00880877},                                        // Addr: 0x6e9730ecffbed43fd876a264c982e254ef05a0de, Notional: 0.0880877
+		{Chain: 2, Addr: "0000000000000000000000006982508145454ce325ddbe47a25d4ec3d2311933", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00000931},                                                // Addr: 0x6982508145454ce325ddbe47a25d4ec3d2311933, Notional: 38046.63980579387
+		{Chain: 2, Addr: "00000000000000000000000069a95185ee2a045cdc4bcd1b1df10710395e4e23", Symbol: "POOLZ", CoinGeckoId: "poolz-finance", Decimals: 18, Price: 0.02221121},                                      // Addr: 0x69a95185ee2a045cdc4bcd1b1df10710395e4e23, Notional: 0.19550307041999998
+		{Chain: 2, Addr: "00000000000000000000000069b14e8d3cebfdd8196bfe530954a0c226e5008e", Symbol: "SpacePi", CoinGeckoId: "spacepi-token", Decimals: 9, Price: 1.199e-9},                                       // Addr: 0x69b14e8d3cebfdd8196bfe530954a0c226e5008e, Notional: 191.57597297103783
+		{Chain: 2, Addr: "0000000000000000000000006adb2e268de2aa1abf6578e4a8119b960e02928f", Symbol: "ShibDoge", CoinGeckoId: "shibadoge", Decimals: 9, Price: 2.7e-17},                                           // Addr: 0x6adb2e268de2aa1abf6578e4a8119b960e02928f, Notional: 6.357076763309999e-7
+		{Chain: 2, Addr: "0000000000000000000000006b0b3a982b4634ac68dd83a4dbf02311ce324181", Symbol: "ALI", CoinGeckoId: "alethea-artificial-liquid-intelligence-token", Decimals: 18, Price: 0.00534802},         // Addr: 0x6b0b3a982b4634ac68dd83a4dbf02311ce324181, Notional: 98222.33103274411
+		{Chain: 2, Addr: "0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                    // Addr: 0x6b175474e89094c44da98b954eedeac495271d0f, Notional: 2256835.6343194046
+		{Chain: 2, Addr: "0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.668783},                                                // Addr: 0x6b3595068778dd592e39a122f4f5a5cf09c90fe2, Notional: 22105.355598290465
+		{Chain: 2, Addr: "0000000000000000000000006b4c7a5e3f0b99fcd83e9c089bddd6c7fce5c611", Symbol: "MM", CoinGeckoId: "million", Decimals: 18, Price: 1.069},                                                    // Addr: 0x6b4c7a5e3f0b99fcd83e9c089bddd6c7fce5c611, Notional: 15701.323848914879
+		{Chain: 2, Addr: "0000000000000000000000006b66ccd1340c479b07b390d326eadcbb84e726ba", Symbol: "SEAM", CoinGeckoId: "seamless-protocol", Decimals: 18, Price: 0.332666},                                     // Addr: 0x6b66ccd1340c479b07b390d326eadcbb84e726ba, Notional: 3.3266600000000004
+		{Chain: 2, Addr: "0000000000000000000000006b89b97169a797d94f057f4a0b01e2ca303155e4", Symbol: "CHAD", CoinGeckoId: "chad-coin", Decimals: 18, Price: 0.00000103},                                           // Addr: 0x6b89b97169a797d94f057f4a0b01e2ca303155e4, Notional: 9059.81290288989
+		{Chain: 2, Addr: "0000000000000000000000006c5ba91642f10282b576d91922ae6448c9d52f4e", Symbol: "PHA", CoinGeckoId: "pha", Decimals: 18, Price: 0.091136},                                                    // Addr: 0x6c5ba91642f10282b576d91922ae6448c9d52f4e, Notional: 87765.24161338685
+		{Chain: 2, Addr: "0000000000000000000000006de037ef9ad2725eb40118bb1702ebb27e4aeb24", Symbol: "RNDR", CoinGeckoId: "render-token", Decimals: 18, Price: 3.34},                                              // Addr: 0x6de037ef9ad2725eb40118bb1702ebb27e4aeb24, Notional: 1336755624.0850484
+		{Chain: 2, Addr: "0000000000000000000000006e9730ecffbed43fd876a264c982e254ef05a0de", Symbol: "NORD", CoinGeckoId: "nord-finance", Decimals: 18, Price: 0.00480856},                                        // Addr: 0x6e9730ecffbed43fd876a264c982e254ef05a0de, Notional: 0.0480856
 		{Chain: 2, Addr: "0000000000000000000000006ec8a24cabdc339a06a172f8223ea557055adaa5", Symbol: "GNX", CoinGeckoId: "genaro-network", Decimals: 9, Price: 0.00006251},                                        // Addr: 0x6ec8a24cabdc339a06a172f8223ea557055adaa5, Notional: 0.10689209999999999
-		{Chain: 2, Addr: "0000000000000000000000006fc13eace26590b80cccab1ba5d51890577d83b2", Symbol: "UMB", CoinGeckoId: "umbrella-network", Decimals: 18, Price: 0.00024596},                                     // Addr: 0x6fc13eace26590b80cccab1ba5d51890577d83b2, Notional: 0.0326588009198308
-		{Chain: 2, Addr: "0000000000000000000000006fe2506d1ddd77c43a3eaf4c4e0f7aeb14f26765", Symbol: "ORBT", CoinGeckoId: "orbitt-pro", Decimals: 18, Price: 0.149021},                                            // Addr: 0x6fe2506d1ddd77c43a3eaf4c4e0f7aeb14f26765, Notional: 77.2636623058957
-		{Chain: 2, Addr: "00000000000000000000000070401dfd142a16dc7031c56e862fc88cb9537ce0", Symbol: "BIRD", CoinGeckoId: "bird-money", Decimals: 18, Price: 0.236754},                                            // Addr: 0x70401dfd142a16dc7031c56e862fc88cb9537ce0, Notional: 2.604294
-		{Chain: 2, Addr: "00000000000000000000000070bef3bb2f001da2fddb207dae696cd9faff3f5d", Symbol: "NST", CoinGeckoId: "ninja-squad", Decimals: 18, Price: 3.31},                                                // Addr: 0x70bef3bb2f001da2fddb207dae696cd9faff3f5d, Notional: 15790893.252046006
-		{Chain: 2, Addr: "00000000000000000000000070e8de73ce538da2beed35d14187f6959a8eca96", Symbol: "XSGD", CoinGeckoId: "xsgd", Decimals: 6, Price: 0.779179},                                                   // Addr: 0x70e8de73ce538da2beed35d14187f6959a8eca96, Notional: 43.112500015825
-		{Chain: 2, Addr: "00000000000000000000000071fc1f555a39e0b698653ab0b475488ec3c34d57", Symbol: "RAIN", CoinGeckoId: "rainmaker-games", Decimals: 18, Price: 0.00003619},                                     // Addr: 0x71fc1f555a39e0b698653ab0b475488ec3c34d57, Notional: 4.667023407047948
-		{Chain: 2, Addr: "000000000000000000000000721a1b990699ee9d90b6327faad0a3e840ae8335", Symbol: "LOOT", CoinGeckoId: "loot", Decimals: 18, Price: 0.00082713},                                                // Addr: 0x721a1b990699ee9d90b6327faad0a3e840ae8335, Notional: 0.596774295
-		{Chain: 2, Addr: "000000000000000000000000725c263e32c72ddc3a19bea12c5a0479a81ee688", Symbol: "BMI", CoinGeckoId: "bridge-mutual", Decimals: 18, Price: 0.00179001},                                        // Addr: 0x725c263e32c72ddc3a19bea12c5a0479a81ee688, Notional: 3543.8930957938082
-		{Chain: 2, Addr: "000000000000000000000000727f064a78dc734d33eec18d5370aef32ffd46e4", Symbol: "ORION", CoinGeckoId: "orion-money", Decimals: 18, Price: 0.00059973},                                        // Addr: 0x727f064a78dc734d33eec18d5370aef32ffd46e4, Notional: 54947.816494647304
-		{Chain: 2, Addr: "00000000000000000000000072b886d09c117654ab7da13a14d603001de0b777", Symbol: "XDEFI", CoinGeckoId: "xdefi", Decimals: 18, Price: 0.0072387},                                               // Addr: 0x72b886d09c117654ab7da13a14d603001de0b777, Notional: 19908.828072169865
-		{Chain: 2, Addr: "00000000000000000000000072e364f2abdc788b7e918bc238b21f109cd634d7", Symbol: "MVI", CoinGeckoId: "metaverse-index", Decimals: 18, Price: 17.77},                                           // Addr: 0x72e364f2abdc788b7e918bc238b21f109cd634d7, Notional: 17.947660728299997
-		{Chain: 2, Addr: "00000000000000000000000072e4f9f808c49a2a61de9c5896298920dc4eeea9", Symbol: "BITCOIN", CoinGeckoId: "harrypotterobamasonic10in", Decimals: 8, Price: 0.078118},                           // Addr: 0x72e4f9f808c49a2a61de9c5896298920dc4eeea9, Notional: 2776131.752786359
-		{Chain: 2, Addr: "00000000000000000000000072e5390edb7727e3d4e3436451dadaff675dbcc0", Symbol: "HANU", CoinGeckoId: "hanu-yokia", Decimals: 12, Price: 1.46737e-7},                                          // Addr: 0x72e5390edb7727e3d4e3436451dadaff675dbcc0, Notional: 27068.045397439844
-		{Chain: 2, Addr: "0000000000000000000000007495e5cc8f27e0bd5bd4cb86d17f0d841ca58ee4", Symbol: "ARNC", CoinGeckoId: "arnoya-classic", Decimals: 18, Price: 0.00266456},                                      // Addr: 0x7495e5cc8f27e0bd5bd4cb86d17f0d841ca58ee4, Notional: 693.0493914399999
-		{Chain: 2, Addr: "0000000000000000000000007616113782aadab041d7b10d474f8a0c04eff258", Symbol: "VEE", CoinGeckoId: "zeeverse", Decimals: 18, Price: 0.00022941},                                             // Addr: 0x7616113782aadab041d7b10d474f8a0c04eff258, Notional: 1.14705
-		{Chain: 2, Addr: "000000000000000000000000761d38e5ddf6ccf6cf7c55759d5210750b5d60f3", Symbol: "ELON", CoinGeckoId: "dogelon-mars", Decimals: 18, Price: 9.8734e-8},                                         // Addr: 0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3, Notional: 18033.384739391935
+		{Chain: 2, Addr: "0000000000000000000000006fc13eace26590b80cccab1ba5d51890577d83b2", Symbol: "UMB", CoinGeckoId: "umbrella-network", Decimals: 18, Price: 0.00033412},                                     // Addr: 0x6fc13eace26590b80cccab1ba5d51890577d83b2, Notional: 0.04436476891906759
+		{Chain: 2, Addr: "0000000000000000000000006fe2506d1ddd77c43a3eaf4c4e0f7aeb14f26765", Symbol: "ORBT", CoinGeckoId: "orbitt-pro", Decimals: 18, Price: 0.128822},                                            // Addr: 0x6fe2506d1ddd77c43a3eaf4c4e0f7aeb14f26765, Notional: 66.79098587158921
+		{Chain: 2, Addr: "00000000000000000000000070401dfd142a16dc7031c56e862fc88cb9537ce0", Symbol: "BIRD", CoinGeckoId: "bird-money", Decimals: 18, Price: 0.19038},                                             // Addr: 0x70401dfd142a16dc7031c56e862fc88cb9537ce0, Notional: 2.0941799999999997
+		{Chain: 2, Addr: "00000000000000000000000070bef3bb2f001da2fddb207dae696cd9faff3f5d", Symbol: "NST", CoinGeckoId: "ninja-squad", Decimals: 18, Price: 2.72},                                                // Addr: 0x70bef3bb2f001da2fddb207dae696cd9faff3f5d, Notional: 12975285.58808125
+		{Chain: 2, Addr: "00000000000000000000000070e8de73ce538da2beed35d14187f6959a8eca96", Symbol: "XSGD", CoinGeckoId: "xsgd", Decimals: 6, Price: 0.77521},                                                    // Addr: 0x70e8de73ce538da2beed35d14187f6959a8eca96, Notional: 42.89289256675
+		{Chain: 2, Addr: "00000000000000000000000071fc1f555a39e0b698653ab0b475488ec3c34d57", Symbol: "RAIN", CoinGeckoId: "rainmaker-games", Decimals: 18, Price: 0.00006958},                                     // Addr: 0x71fc1f555a39e0b698653ab0b475488ec3c34d57, Notional: 8.972961830958724
+		{Chain: 2, Addr: "000000000000000000000000721a1b990699ee9d90b6327faad0a3e840ae8335", Symbol: "LOOT", CoinGeckoId: "loot", Decimals: 18, Price: 0.00082395},                                                // Addr: 0x721a1b990699ee9d90b6327faad0a3e840ae8335, Notional: 0.594479925
+		{Chain: 2, Addr: "000000000000000000000000725c263e32c72ddc3a19bea12c5a0479a81ee688", Symbol: "BMI", CoinGeckoId: "bridge-mutual", Decimals: 18, Price: 0.00200392},                                        // Addr: 0x725c263e32c72ddc3a19bea12c5a0479a81ee688, Notional: 3967.3958539466976
+		{Chain: 2, Addr: "000000000000000000000000727f064a78dc734d33eec18d5370aef32ffd46e4", Symbol: "ORION", CoinGeckoId: "orion-money", Decimals: 18, Price: 0.00073414},                                        // Addr: 0x727f064a78dc734d33eec18d5370aef32ffd46e4, Notional: 68887.14265565055
+		{Chain: 2, Addr: "00000000000000000000000072b886d09c117654ab7da13a14d603001de0b777", Symbol: "XDEFI", CoinGeckoId: "xdefi", Decimals: 18, Price: 0.00669774},                                              // Addr: 0x72b886d09c117654ab7da13a14d603001de0b777, Notional: 18421.008486619834
+		{Chain: 2, Addr: "00000000000000000000000072e364f2abdc788b7e918bc238b21f109cd634d7", Symbol: "MVI", CoinGeckoId: "metaverse-index", Decimals: 18, Price: 17.05},                                           // Addr: 0x72e364f2abdc788b7e918bc238b21f109cd634d7, Notional: 17.220462319499998
+		{Chain: 2, Addr: "00000000000000000000000072e4f9f808c49a2a61de9c5896298920dc4eeea9", Symbol: "BITCOIN", CoinGeckoId: "harrypotterobamasonic10in", Decimals: 8, Price: 0.09211},                            // Addr: 0x72e4f9f808c49a2a61de9c5896298920dc4eeea9, Notional: 3321829.666546135
+		{Chain: 2, Addr: "00000000000000000000000072e5390edb7727e3d4e3436451dadaff675dbcc0", Symbol: "HANU", CoinGeckoId: "hanu-yokia", Decimals: 12, Price: 1.33119e-7},                                          // Addr: 0x72e5390edb7727e3d4e3436451dadaff675dbcc0, Notional: 24555.98203085653
+		{Chain: 2, Addr: "0000000000000000000000007495e5cc8f27e0bd5bd4cb86d17f0d841ca58ee4", Symbol: "ARNC", CoinGeckoId: "arnoya-classic", Decimals: 18, Price: 0.00269299},                                      // Addr: 0x7495e5cc8f27e0bd5bd4cb86d17f0d841ca58ee4, Notional: 700.4440060100001
+		{Chain: 2, Addr: "0000000000000000000000007616113782aadab041d7b10d474f8a0c04eff258", Symbol: "VEE", CoinGeckoId: "zeeverse", Decimals: 18, Price: 0.00018987},                                             // Addr: 0x7616113782aadab041d7b10d474f8a0c04eff258, Notional: 0.94935
+		{Chain: 2, Addr: "000000000000000000000000761d38e5ddf6ccf6cf7c55759d5210750b5d60f3", Symbol: "ELON", CoinGeckoId: "dogelon-mars", Decimals: 18, Price: 9.5298e-8},                                         // Addr: 0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3, Notional: 17405.81257615991
 		{Chain: 2, Addr: "000000000000000000000000762fcf5183ae366c0629d0bcd30b40f331496d0f", Symbol: "DICE", CoinGeckoId: "dice-bot", Decimals: 18, Price: 0.00003863},                                            // Addr: 0x762fcf5183ae366c0629d0bcd30b40f331496d0f, Notional: 0.03863
-		{Chain: 2, Addr: "0000000000000000000000007659ce147d0e714454073a5dd7003544234b6aa0", Symbol: "XCAD", CoinGeckoId: "xcad-network", Decimals: 18, Price: 0.03016831},                                        // Addr: 0x7659ce147d0e714454073a5dd7003544234b6aa0, Notional: 888629.4811770417
-		{Chain: 2, Addr: "000000000000000000000000766d2fcece1e3eef32aae8711ab886ee95fd5b2a", Symbol: "MVP", CoinGeckoId: "maga-vp", Decimals: 18, Price: 0.00237488},                                              // Addr: 0x766d2fcece1e3eef32aae8711ab886ee95fd5b2a, Notional: 8129.911966328469
-		{Chain: 2, Addr: "000000000000000000000000767fe9edc9e0df98e07454847909b5e959d7ca0e", Symbol: "ILV", CoinGeckoId: "illuvium", Decimals: 18, Price: 14.65},                                                  // Addr: 0x767fe9edc9e0df98e07454847909b5e959d7ca0e, Notional: 1.465
-		{Chain: 2, Addr: "0000000000000000000000007697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a", Symbol: "SARCO", CoinGeckoId: "sarcophagus", Decimals: 18, Price: 0.00283696},                                        // Addr: 0x7697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a, Notional: 0.3013586366968352
-		{Chain: 2, Addr: "00000000000000000000000076e222b07c53d28b89b0bac18602810fc22b49a8", Symbol: "JOE", CoinGeckoId: "joe-coin", Decimals: 18, Price: 0.02820344},                                             // Addr: 0x76e222b07c53d28b89b0bac18602810fc22b49a8, Notional: 874.2307893131007
-		{Chain: 2, Addr: "0000000000000000000000007777777777697cfeecf846a76326da79cc606517", Symbol: "SIG", CoinGeckoId: "xsigma", Decimals: 18, Price: 0.00452375},                                               // Addr: 0x7777777777697cfeecf846a76326da79cc606517, Notional: 0.45237499999999997
-		{Chain: 2, Addr: "00000000000000000000000077e06c9eccf2e797fd462a92b6d7642ef85b0a44", Symbol: "wTAO", CoinGeckoId: "wrapped-tao", Decimals: 9, Price: 334.92},                                              // Addr: 0x77e06c9eccf2e797fd462a92b6d7642ef85b0a44, Notional: 4730.892967656
+		{Chain: 2, Addr: "0000000000000000000000007659ce147d0e714454073a5dd7003544234b6aa0", Symbol: "XCAD", CoinGeckoId: "xcad-network", Decimals: 18, Price: 0.02250998},                                        // Addr: 0x7659ce147d0e714454073a5dd7003544234b6aa0, Notional: 696782.4619451569
+		{Chain: 2, Addr: "000000000000000000000000766d2fcece1e3eef32aae8711ab886ee95fd5b2a", Symbol: "MVP", CoinGeckoId: "maga-vp", Decimals: 18, Price: 0.00206881},                                              // Addr: 0x766d2fcece1e3eef32aae8711ab886ee95fd5b2a, Notional: 7289.484019341484
+		{Chain: 2, Addr: "000000000000000000000000767fe9edc9e0df98e07454847909b5e959d7ca0e", Symbol: "ILV", CoinGeckoId: "illuvium", Decimals: 18, Price: 12.76},                                                  // Addr: 0x767fe9edc9e0df98e07454847909b5e959d7ca0e, Notional: 1.276
+		{Chain: 2, Addr: "0000000000000000000000007697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a", Symbol: "SARCO", CoinGeckoId: "sarcophagus", Decimals: 18, Price: 0.0021278},                                         // Addr: 0x7697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a, Notional: 0.226027475594836
+		{Chain: 2, Addr: "00000000000000000000000076e222b07c53d28b89b0bac18602810fc22b49a8", Symbol: "JOE", CoinGeckoId: "joe-coin", Decimals: 18, Price: 0.01914223},                                             // Addr: 0x76e222b07c53d28b89b0bac18602810fc22b49a8, Notional: 24190.170349698692
+		{Chain: 2, Addr: "0000000000000000000000007777777777697cfeecf846a76326da79cc606517", Symbol: "SIG", CoinGeckoId: "xsigma", Decimals: 18, Price: 0.00426215},                                               // Addr: 0x7777777777697cfeecf846a76326da79cc606517, Notional: 0.426215
+		{Chain: 2, Addr: "00000000000000000000000077e06c9eccf2e797fd462a92b6d7642ef85b0a44", Symbol: "wTAO", CoinGeckoId: "wrapped-tao", Decimals: 9, Price: 302.59},                                              // Addr: 0x77e06c9eccf2e797fd462a92b6d7642ef85b0a44, Notional: 4274.217434262
 		{Chain: 2, Addr: "00000000000000000000000078a0a62fba6fb21a83fe8a3433d44c73a4017a6f", Symbol: "OX", CoinGeckoId: "open-exchange-token", Decimals: 18, Price: 0.00305853},                                   // Addr: 0x78a0a62fba6fb21a83fe8a3433d44c73a4017a6f, Notional: 198164.11030058362
-		{Chain: 2, Addr: "0000000000000000000000007968bc6a03017ea2de509aaa816f163db0f35148", Symbol: "HGET", CoinGeckoId: "hedget", Decimals: 6, Price: 0.04809121},                                               // Addr: 0x7968bc6a03017ea2de509aaa816f163db0f35148, Notional: 778.4321159122525
-		{Chain: 2, Addr: "0000000000000000000000007a58c0be72be218b41c608b7fe7c5bb630736c71", Symbol: "PEOPLE", CoinGeckoId: "constitutiondao", Decimals: 18, Price: 0.0197426},                                    // Addr: 0x7a58c0be72be218b41c608b7fe7c5bb630736c71, Notional: 15173.42843536993
-		{Chain: 2, Addr: "0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb0", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.268994},                                        // Addr: 0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0, Notional: 7552.216361914536
-		{Chain: 2, Addr: "0000000000000000000000007da2641000cbb407c329310c461b2cb9c70c3046", Symbol: "AGI", CoinGeckoId: "delysium", Decimals: 18, Price: 0.054195},                                               // Addr: 0x7da2641000cbb407c329310c461b2cb9c70c3046, Notional: 241867.9461831718
-		{Chain: 2, Addr: "0000000000000000000000007ddc52c4de30e94be3a6a0a2b259b2850f421989", Symbol: "GMT", CoinGeckoId: "gmt-token", Decimals: 18, Price: 0.512845},                                              // Addr: 0x7ddc52c4de30e94be3a6a0a2b259b2850f421989, Notional: 739.9876663341863
+		{Chain: 2, Addr: "0000000000000000000000007968bc6a03017ea2de509aaa816f163db0f35148", Symbol: "HGET", CoinGeckoId: "hedget", Decimals: 6, Price: 0.054842},                                                 // Addr: 0x7968bc6a03017ea2de509aaa816f163db0f35148, Notional: 887.704303985276
+		{Chain: 2, Addr: "0000000000000000000000007a58c0be72be218b41c608b7fe7c5bb630736c71", Symbol: "PEOPLE", CoinGeckoId: "constitutiondao", Decimals: 18, Price: 0.01659133},                                   // Addr: 0x7a58c0be72be218b41c608b7fe7c5bb630736c71, Notional: 12751.479460790686
+		{Chain: 2, Addr: "0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb0", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.224134},                                        // Addr: 0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0, Notional: 6294.975970342464
+		{Chain: 2, Addr: "0000000000000000000000007da2641000cbb407c329310c461b2cb9c70c3046", Symbol: "AGI", CoinGeckoId: "delysium", Decimals: 18, Price: 0.0431363},                                              // Addr: 0x7da2641000cbb407c329310c461b2cb9c70c3046, Notional: 192350.76572202923
+		{Chain: 2, Addr: "0000000000000000000000007ddc52c4de30e94be3a6a0a2b259b2850f421989", Symbol: "GMT", CoinGeckoId: "gmt-token", Decimals: 18, Price: 0.455214},                                              // Addr: 0x7ddc52c4de30e94be3a6a0a2b259b2850f421989, Notional: 656.8314901045155
 		{Chain: 2, Addr: "0000000000000000000000007e9c15c43f0d6c4a12e6bdff7c7d55d0f80e3e23", Symbol: "ASTRADAO", CoinGeckoId: "astra-dao", Decimals: 18, Price: 1.94569e-7},                                       // Addr: 0x7e9c15c43f0d6c4a12e6bdff7c7d55d0f80e3e23, Notional: 59.538077756201176
-		{Chain: 2, Addr: "0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5206.93},                                        // Addr: 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0, Notional: 4862627.00676133
-		{Chain: 2, Addr: "0000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 298.03},                                                    // Addr: 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9, Notional: 4623.336239822899
-		{Chain: 2, Addr: "0000000000000000000000007fd4d7737597e7b4ee22acbf8d94362343ae0a79", Symbol: "WMC", CoinGeckoId: "wrapped-mistcoin", Decimals: 2, Price: 7.22},                                            // Addr: 0x7fd4d7737597e7b4ee22acbf8d94362343ae0a79, Notional: 17.5446
-		{Chain: 2, Addr: "000000000000000000000000808507121b80c02388fad14726482e061b8da827", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.69},                                                  // Addr: 0x808507121b80c02388fad14726482e061b8da827, Notional: 15262164.947697565
-		{Chain: 2, Addr: "00000000000000000000000080d55c03180349fff4a229102f62328220a96444", Symbol: "OPUL", CoinGeckoId: "opulous", Decimals: 18, Price: 0.0304063},                                              // Addr: 0x80d55c03180349fff4a229102f62328220a96444, Notional: 3.228641426517437
-		{Chain: 2, Addr: "000000000000000000000000814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26", Symbol: "MDT", CoinGeckoId: "measurable-data-token", Decimals: 18, Price: 0.02409813},                                // Addr: 0x814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26, Notional: 49773.55112404753
-		{Chain: 2, Addr: "0000000000000000000000008287c7b963b405b7b8d467db9d79eec40625b13a", Symbol: "SWINGBY", CoinGeckoId: "swingby", Decimals: 18, Price: 0.00058811},                                          // Addr: 0x8287c7b963b405b7b8d467db9d79eec40625b13a, Notional: 6.586831999999999
-		{Chain: 2, Addr: "00000000000000000000000082f13ab56cc0d1b727e8253a943f0de75b048b0b", Symbol: "PLAYFI", CoinGeckoId: "playfi", Decimals: 18, Price: 0.00347723},                                            // Addr: 0x82f13ab56cc0d1b727e8253a943f0de75b048b0b, Notional: 993.9596832386784
-		{Chain: 2, Addr: "0000000000000000000000008353b92201f19b4812eee32efd325f7ede123718", Symbol: "SCM", CoinGeckoId: "scamfari", Decimals: 18, Price: 0.00000526},                                             // Addr: 0x8353b92201f19b4812eee32efd325f7ede123718, Notional: 105.25786
-		{Chain: 2, Addr: "0000000000000000000000008390a1da07e376ef7add4be859ba74fb83aa02d5", Symbol: "GROK", CoinGeckoId: "grok-2", Decimals: 9, Price: 0.00125083},                                               // Addr: 0x8390a1da07e376ef7add4be859ba74fb83aa02d5, Notional: 39.28793520635264
-		{Chain: 2, Addr: "00000000000000000000000083e6f1e41cdd28eaceb20cb649155049fac3d5aa", Symbol: "POLS", CoinGeckoId: "polkastarter", Decimals: 18, Price: 0.197686},                                          // Addr: 0x83e6f1e41cdd28eaceb20cb649155049fac3d5aa, Notional: 0.395372
-		{Chain: 2, Addr: "0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb", Symbol: "ALT", CoinGeckoId: "altlayer", Decimals: 18, Price: 0.0335601},                                              // Addr: 0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb, Notional: 11.78072653145176
-		{Chain: 2, Addr: "0000000000000000000000008530b66ca3ddf50e0447eae8ad7ea7d5e62762ed", Symbol: "METADOGE", CoinGeckoId: "meta-doge", Decimals: 18, Price: 1.1597e-11},                                       // Addr: 0x8530b66ca3ddf50e0447eae8ad7ea7d5e62762ed, Notional: 0.28992500000000004
-		{Chain: 2, Addr: "000000000000000000000000853d955acef822db058eb8505911ed77f175b99e", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                  // Addr: 0x853d955acef822db058eb8505911ed77f175b99e, Notional: 59507.26238836857
-		{Chain: 2, Addr: "00000000000000000000000085eee30c52b0b379b046fb0f85f4f3dc3009afec", Symbol: "KEEP", CoinGeckoId: "keep-network", Decimals: 18, Price: 0.077212},                                          // Addr: 0x85eee30c52b0b379b046fb0f85f4f3dc3009afec, Notional: 0.15467725536000002
-		{Chain: 2, Addr: "000000000000000000000000875773784af8135ea0ef43b5a374aad105c5d39e", Symbol: "IDLE", CoinGeckoId: "idle", Decimals: 18, Price: 0.00725046},                                                // Addr: 0x875773784af8135ea0ef43b5a374aad105c5d39e, Notional: 0.36252300000000004
+		{Chain: 2, Addr: "0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5036.22},                                        // Addr: 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0, Notional: 4676332.742361353
+		{Chain: 2, Addr: "0000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 274.44},                                                    // Addr: 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9, Notional: 4257.3848191692
+		{Chain: 2, Addr: "0000000000000000000000007fd4d7737597e7b4ee22acbf8d94362343ae0a79", Symbol: "WMC", CoinGeckoId: "wrapped-mistcoin", Decimals: 2, Price: 5.38},                                            // Addr: 0x7fd4d7737597e7b4ee22acbf8d94362343ae0a79, Notional: 13.073400000000001
+		{Chain: 2, Addr: "000000000000000000000000808507121b80c02388fad14726482e061b8da827", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.47},                                                  // Addr: 0x808507121b80c02388fad14726482e061b8da827, Notional: 14495278.687382467
+		{Chain: 2, Addr: "00000000000000000000000080d55c03180349fff4a229102f62328220a96444", Symbol: "OPUL", CoinGeckoId: "opulous", Decimals: 18, Price: 0.02092715},                                             // Addr: 0x80d55c03180349fff4a229102f62328220a96444, Notional: 2.2221139510214782
+		{Chain: 2, Addr: "000000000000000000000000814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26", Symbol: "MDT", CoinGeckoId: "measurable-data-token", Decimals: 18, Price: 0.02107301},                                // Addr: 0x814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26, Notional: 45650.79293056302
+		{Chain: 2, Addr: "0000000000000000000000008287c7b963b405b7b8d467db9d79eec40625b13a", Symbol: "SWINGBY", CoinGeckoId: "swingby", Decimals: 18, Price: 0.00106523},                                          // Addr: 0x8287c7b963b405b7b8d467db9d79eec40625b13a, Notional: 11.930575999999999
+		{Chain: 2, Addr: "00000000000000000000000082f13ab56cc0d1b727e8253a943f0de75b048b0b", Symbol: "PLAYFI", CoinGeckoId: "playfi", Decimals: 18, Price: 0.00364277},                                            // Addr: 0x82f13ab56cc0d1b727e8253a943f0de75b048b0b, Notional: 1041.278982210369
+		{Chain: 2, Addr: "0000000000000000000000008353b92201f19b4812eee32efd325f7ede123718", Symbol: "SCM", CoinGeckoId: "scamfari", Decimals: 18, Price: 0.00000535},                                             // Addr: 0x8353b92201f19b4812eee32efd325f7ede123718, Notional: 107.05884999999999
+		{Chain: 2, Addr: "0000000000000000000000008390a1da07e376ef7add4be859ba74fb83aa02d5", Symbol: "GROK", CoinGeckoId: "grok-2", Decimals: 9, Price: 0.00107919},                                               // Addr: 0x8390a1da07e376ef7add4be859ba74fb83aa02d5, Notional: 33.896809954465205
+		{Chain: 2, Addr: "00000000000000000000000083e6f1e41cdd28eaceb20cb649155049fac3d5aa", Symbol: "POLS", CoinGeckoId: "polkastarter", Decimals: 18, Price: 0.169422},                                          // Addr: 0x83e6f1e41cdd28eaceb20cb649155049fac3d5aa, Notional: 0.338844
+		{Chain: 2, Addr: "0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb", Symbol: "ALT", CoinGeckoId: "altlayer", Decimals: 18, Price: 0.02693865},                                             // Addr: 0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb, Notional: 9.456374348601253
+		{Chain: 2, Addr: "0000000000000000000000008530b66ca3ddf50e0447eae8ad7ea7d5e62762ed", Symbol: "METADOGE", CoinGeckoId: "meta-doge", Decimals: 18, Price: 1.5825e-11},                                       // Addr: 0x8530b66ca3ddf50e0447eae8ad7ea7d5e62762ed, Notional: 0.395625
+		{Chain: 2, Addr: "000000000000000000000000853d955acef822db058eb8505911ed77f175b99e", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                  // Addr: 0x853d955acef822db058eb8505911ed77f175b99e, Notional: 59505.11487410269
+		{Chain: 2, Addr: "00000000000000000000000085eee30c52b0b379b046fb0f85f4f3dc3009afec", Symbol: "KEEP", CoinGeckoId: "keep-network", Decimals: 18, Price: 0.069134},                                          // Addr: 0x85eee30c52b0b379b046fb0f85f4f3dc3009afec, Notional: 0.13849475952
+		{Chain: 2, Addr: "000000000000000000000000875773784af8135ea0ef43b5a374aad105c5d39e", Symbol: "IDLE", CoinGeckoId: "idle", Decimals: 18, Price: 0.00267474},                                                // Addr: 0x875773784af8135ea0ef43b5a374aad105c5d39e, Notional: 0.133737
 		{Chain: 2, Addr: "0000000000000000000000008770b7dd89e5f759ee3b226e0c45e890f87ddc48", Symbol: "MIRL", CoinGeckoId: "made-in-real-life", Decimals: 18, Price: 0.0000265},                                    // Addr: 0x8770b7dd89e5f759ee3b226e0c45e890f87ddc48, Notional: 1916.9208993289617
-		{Chain: 2, Addr: "00000000000000000000000087edffde3e14c7a66c9b9724747a1c5696b742e6", Symbol: "SWAG", CoinGeckoId: "swag-finance", Decimals: 18, Price: 0.00216374},                                        // Addr: 0x87edffde3e14c7a66c9b9724747a1c5696b742e6, Notional: 21.63956374
-		{Chain: 2, Addr: "000000000000000000000000888888888889c00c67689029d7856aac1065ec11", Symbol: "OPIUM", CoinGeckoId: "opium", Decimals: 18, Price: 0.0274648},                                               // Addr: 0x888888888889c00c67689029d7856aac1065ec11, Notional: 0.274648
-		{Chain: 2, Addr: "0000000000000000000000008a854288a5976036a725879164ca3e91d30c6a1b", Symbol: "GET", CoinGeckoId: "get-token", Decimals: 18, Price: 0.276313},                                              // Addr: 0x8a854288a5976036a725879164ca3e91d30c6a1b, Notional: 5.52626
-		{Chain: 2, Addr: "0000000000000000000000008a9c67fee641579deba04928c4bc45f66e26343a", Symbol: "JRT", CoinGeckoId: "jarvis-reward-token", Decimals: 18, Price: 0.00171328},                                  // Addr: 0x8a9c67fee641579deba04928c4bc45f66e26343a, Notional: 78733.68755892423
-		{Chain: 2, Addr: "0000000000000000000000008ab7404063ec4dbcfd4598215992dc3f8ec853d7", Symbol: "AKRO", CoinGeckoId: "akropolis", Decimals: 18, Price: 0.00009324},                                           // Addr: 0x8ab7404063ec4dbcfd4598215992dc3f8ec853d7, Notional: 3.190338273528
-		{Chain: 2, Addr: "0000000000000000000000008acee0fcee91cedad1c5013f031762c814740587", Symbol: "SAUDIPEPE", CoinGeckoId: "saudi-pepe", Decimals: 18, Price: 0.00000214},                                     // Addr: 0x8acee0fcee91cedad1c5013f031762c814740587, Notional: 9.698366766267311
-		{Chain: 2, Addr: "0000000000000000000000008bc2bcb1b1896291942c36f3cca3c1afa0aaa7fd", Symbol: "PACE", CoinGeckoId: "3space-art", Decimals: 18, Price: 0.00651915},                                          // Addr: 0x8bc2bcb1b1896291942c36f3cca3c1afa0aaa7fd, Notional: 6.51915
+		{Chain: 2, Addr: "00000000000000000000000087edffde3e14c7a66c9b9724747a1c5696b742e6", Symbol: "SWAG", CoinGeckoId: "swag-finance", Decimals: 18, Price: 0.00206788},                                        // Addr: 0x87edffde3e14c7a66c9b9724747a1c5696b742e6, Notional: 20.680867879999997
+		{Chain: 2, Addr: "000000000000000000000000888888888889c00c67689029d7856aac1065ec11", Symbol: "OPIUM", CoinGeckoId: "opium", Decimals: 18, Price: 0.03439656},                                              // Addr: 0x888888888889c00c67689029d7856aac1065ec11, Notional: 0.3439656
+		{Chain: 2, Addr: "0000000000000000000000008a854288a5976036a725879164ca3e91d30c6a1b", Symbol: "GET", CoinGeckoId: "get-token", Decimals: 18, Price: 0.197389},                                              // Addr: 0x8a854288a5976036a725879164ca3e91d30c6a1b, Notional: 3.9477800000000003
+		{Chain: 2, Addr: "0000000000000000000000008a9c67fee641579deba04928c4bc45f66e26343a", Symbol: "JRT", CoinGeckoId: "jarvis-reward-token", Decimals: 18, Price: 0.0017131},                                   // Addr: 0x8a9c67fee641579deba04928c4bc45f66e26343a, Notional: 78725.41566888838
+		{Chain: 2, Addr: "0000000000000000000000008ab7404063ec4dbcfd4598215992dc3f8ec853d7", Symbol: "AKRO", CoinGeckoId: "akropolis", Decimals: 18, Price: 0.00010019},                                           // Addr: 0x8ab7404063ec4dbcfd4598215992dc3f8ec853d7, Notional: 3.428142338318
+		{Chain: 2, Addr: "0000000000000000000000008acee0fcee91cedad1c5013f031762c814740587", Symbol: "SAUDIPEPE", CoinGeckoId: "saudi-pepe", Decimals: 18, Price: 0.00000193},                                     // Addr: 0x8acee0fcee91cedad1c5013f031762c814740587, Notional: 8.746657877988744
+		{Chain: 2, Addr: "0000000000000000000000008bc2bcb1b1896291942c36f3cca3c1afa0aaa7fd", Symbol: "PACE", CoinGeckoId: "3space-art", Decimals: 18, Price: 0.00504466},                                          // Addr: 0x8bc2bcb1b1896291942c36f3cca3c1afa0aaa7fd, Notional: 5.04466
 		{Chain: 2, Addr: "0000000000000000000000008c223a82e07fecb49d602150d7c2b3a4c9630310", Symbol: "NFTE", CoinGeckoId: "nftearth", Decimals: 18, Price: 0.00001511},                                            // Addr: 0x8c223a82e07fecb49d602150d7c2b3a4c9630310, Notional: 0.0107438647632921
-		{Chain: 2, Addr: "0000000000000000000000008cb1d155a5a1d5d667611b7710920fd9d1cd727f", Symbol: "AIRx", CoinGeckoId: "aircoins", Decimals: 8, Price: 0.0000032},                                              // Addr: 0x8cb1d155a5a1d5d667611b7710920fd9d1cd727f, Notional: 0.00031999999999999997
-		{Chain: 2, Addr: "0000000000000000000000008cc0f052fff7ead7f2edcccac895502e884a8a71", Symbol: "ARTH", CoinGeckoId: "arth", Decimals: 18, Price: 1.85},                                                      // Addr: 0x8cc0f052fff7ead7f2edcccac895502e884a8a71, Notional: 9.25
-		{Chain: 2, Addr: "0000000000000000000000008ce9137d39326ad0cd6491fb5cc0cba0e089b6a9", Symbol: "SXP", CoinGeckoId: "swipe", Decimals: 18, Price: 0.175031},                                                  // Addr: 0x8ce9137d39326ad0cd6491fb5cc0cba0e089b6a9, Notional: 17537.112165436065
-		{Chain: 2, Addr: "0000000000000000000000008db1d28ee0d822367af8d220c0dc7cb6fe9dc442", Symbol: "ETHPAD", CoinGeckoId: "ethpad", Decimals: 18, Price: 0.00126943},                                            // Addr: 0x8db1d28ee0d822367af8d220c0dc7cb6fe9dc442, Notional: 10.284706564672
-		{Chain: 2, Addr: "0000000000000000000000008ed97a637a790be1feff5e888d43629dc05408f6", Symbol: "NPC", CoinGeckoId: "non-playable-coin", Decimals: 18, Price: 0.02109021},                                    // Addr: 0x8ed97a637a790be1feff5e888d43629dc05408f6, Notional: 7854431.283411263
-		{Chain: 2, Addr: "0000000000000000000000008f006d1e1d9dc6c98996f50a4c810f17a47fbf19", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001963},                                       // Addr: 0x8f006d1e1d9dc6c98996f50a4c810f17a47fbf19, Notional: 44.07789774694312
-		{Chain: 2, Addr: "000000000000000000000000900db999074d9277c5da2a43f252d74366230da0", Symbol: "GIV", CoinGeckoId: "giveth", Decimals: 18, Price: 0.00185026},                                               // Addr: 0x900db999074d9277c5da2a43f252d74366230da0, Notional: 18.5026
-		{Chain: 2, Addr: "0000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad", Symbol: "PUSSY", CoinGeckoId: "pussy-financial", Decimals: 18, Price: 0.00000617},                                    // Addr: 0x9196e18bc349b1f64bc08784eae259525329a1ad, Notional: 4718.591609337985
-		{Chain: 2, Addr: "00000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff5", Symbol: "DYDX", CoinGeckoId: "dydx", Decimals: 18, Price: 0.622585},                                                  // Addr: 0x92d6c1e31e14520e676a687f0a93788b716beff5, Notional: 94622.32919544564
-		{Chain: 2, Addr: "000000000000000000000000949d48eca67b17269629c7194f4b727d4ef9e5d6", Symbol: "MC", CoinGeckoId: "merit-circle", Decimals: 18, Price: 0.117738},                                            // Addr: 0x949d48eca67b17269629c7194f4b727d4ef9e5d6, Notional: 7.547005799999999
+		{Chain: 2, Addr: "0000000000000000000000008cb1d155a5a1d5d667611b7710920fd9d1cd727f", Symbol: "AIRx", CoinGeckoId: "aircoins", Decimals: 8, Price: 0.0000049},                                              // Addr: 0x8cb1d155a5a1d5d667611b7710920fd9d1cd727f, Notional: 0.00049
+		{Chain: 2, Addr: "0000000000000000000000008cc0f052fff7ead7f2edcccac895502e884a8a71", Symbol: "ARTH", CoinGeckoId: "arth", Decimals: 18, Price: 1.028},                                                     // Addr: 0x8cc0f052fff7ead7f2edcccac895502e884a8a71, Notional: 5.140000000000001
+		{Chain: 2, Addr: "0000000000000000000000008ce9137d39326ad0cd6491fb5cc0cba0e089b6a9", Symbol: "SXP", CoinGeckoId: "swipe", Decimals: 18, Price: 0.154006},                                                  // Addr: 0x8ce9137d39326ad0cd6491fb5cc0cba0e089b6a9, Notional: 15430.526570436932
+		{Chain: 2, Addr: "0000000000000000000000008db1d28ee0d822367af8d220c0dc7cb6fe9dc442", Symbol: "ETHPAD", CoinGeckoId: "ethpad", Decimals: 18, Price: 0.0012541},                                             // Addr: 0x8db1d28ee0d822367af8d220c0dc7cb6fe9dc442, Notional: 10.16050550464
+		{Chain: 2, Addr: "0000000000000000000000008ed97a637a790be1feff5e888d43629dc05408f6", Symbol: "NPC", CoinGeckoId: "non-playable-coin", Decimals: 18, Price: 0.01662599},                                    // Addr: 0x8ed97a637a790be1feff5e888d43629dc05408f6, Notional: 6301412.6415562965
+		{Chain: 2, Addr: "0000000000000000000000008f006d1e1d9dc6c98996f50a4c810f17a47fbf19", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001129},                                       // Addr: 0x8f006d1e1d9dc6c98996f50a4c810f17a47fbf19, Notional: 25.350966151960666
+		{Chain: 2, Addr: "000000000000000000000000900db999074d9277c5da2a43f252d74366230da0", Symbol: "GIV", CoinGeckoId: "giveth", Decimals: 18, Price: 0.00181179},                                               // Addr: 0x900db999074d9277c5da2a43f252d74366230da0, Notional: 18.1179
+		{Chain: 2, Addr: "0000000000000000000000009196e18bc349b1f64bc08784eae259525329a1ad", Symbol: "PUSSY", CoinGeckoId: "pussy-financial", Decimals: 18, Price: 0.0000058},                                     // Addr: 0x9196e18bc349b1f64bc08784eae259525329a1ad, Notional: 2941.9741130266634
+		{Chain: 2, Addr: "00000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff5", Symbol: "DYDX", CoinGeckoId: "dydx", Decimals: 18, Price: 0.588},                                                     // Addr: 0x92d6c1e31e14520e676a687f0a93788b716beff5, Notional: 76883.73172904759
+		{Chain: 2, Addr: "000000000000000000000000949d48eca67b17269629c7194f4b727d4ef9e5d6", Symbol: "MC", CoinGeckoId: "merit-circle", Decimals: 18, Price: 0.111083},                                            // Addr: 0x949d48eca67b17269629c7194f4b727d4ef9e5d6, Notional: 7.120420299999999
 		{Chain: 2, Addr: "000000000000000000000000958a03181806cb8807bef40e864e55f89b3393d3", Symbol: "UTX", CoinGeckoId: "utix", Decimals: 18, Price: 0.01391177},                                                 // Addr: 0x958a03181806cb8807bef40e864e55f89b3393d3, Notional: 5764.857735529118
-		{Chain: 2, Addr: "00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce", Symbol: "SHIB", CoinGeckoId: "shiba-inu", Decimals: 18, Price: 0.00001285},                                           // Addr: 0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce, Notional: 68475.39452801882
-		{Chain: 2, Addr: "0000000000000000000000009609b540e5dedddb147abbf9812ade06b1e61b2c", Symbol: "MICKEY", CoinGeckoId: "steamboat-willie", Decimals: 18, Price: 0.00025023},                                  // Addr: 0x9609b540e5dedddb147abbf9812ade06b1e61b2c, Notional: 29751.92843033375
-		{Chain: 2, Addr: "0000000000000000000000009625ce7753ace1fa1865a47aae2c5c2ce4418569", Symbol: "KAP", CoinGeckoId: "kapital-dao", Decimals: 18, Price: 0.00071646},                                          // Addr: 0x9625ce7753ace1fa1865a47aae2c5c2ce4418569, Notional: 7.1646
-		{Chain: 2, Addr: "00000000000000000000000096543ef8d2c75c26387c1a319ae69c0bee6f3fe7", Symbol: "KUJI", CoinGeckoId: "kujira", Decimals: 6, Price: 0.258153},                                                 // Addr: 0x96543ef8d2c75c26387c1a319ae69c0bee6f3fe7, Notional: 0.258153
-		{Chain: 2, Addr: "000000000000000000000000965697b4ef02f0de01384d0d4f9f782b1670c163", Symbol: "OXY", CoinGeckoId: "oxygen", Decimals: 6, Price: 0.02159952},                                                // Addr: 0x965697b4ef02f0de01384d0d4f9f782b1670c163, Notional: 3240.015652623321
+		{Chain: 2, Addr: "00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce", Symbol: "SHIB", CoinGeckoId: "shiba-inu", Decimals: 18, Price: 0.00001182},                                           // Addr: 0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce, Notional: 62993.59233323729
+		{Chain: 2, Addr: "0000000000000000000000009609b540e5dedddb147abbf9812ade06b1e61b2c", Symbol: "MICKEY", CoinGeckoId: "steamboat-willie", Decimals: 18, Price: 0.00021953},                                  // Addr: 0x9609b540e5dedddb147abbf9812ade06b1e61b2c, Notional: 26101.749783443905
+		{Chain: 2, Addr: "0000000000000000000000009625ce7753ace1fa1865a47aae2c5c2ce4418569", Symbol: "KAP", CoinGeckoId: "kapital-dao", Decimals: 18, Price: 0.0006022},                                           // Addr: 0x9625ce7753ace1fa1865a47aae2c5c2ce4418569, Notional: 6.022
+		{Chain: 2, Addr: "00000000000000000000000096543ef8d2c75c26387c1a319ae69c0bee6f3fe7", Symbol: "KUJI", CoinGeckoId: "kujira", Decimals: 6, Price: 0.178106},                                                 // Addr: 0x96543ef8d2c75c26387c1a319ae69c0bee6f3fe7, Notional: 0.178106
+		{Chain: 2, Addr: "000000000000000000000000965697b4ef02f0de01384d0d4f9f782b1670c163", Symbol: "OXY", CoinGeckoId: "oxygen", Decimals: 6, Price: 0.01693805},                                                // Addr: 0x965697b4ef02f0de01384d0d4f9f782b1670c163, Notional: 2540.77623599582
 		{Chain: 2, Addr: "000000000000000000000000965b85d4674f64422c4898c8f8083187f02b32c0", Symbol: "SFIL", CoinGeckoId: "filecoin-standard-full-hashrate", Decimals: 8, Price: 0.00513081},                      // Addr: 0x965b85d4674f64422c4898c8f8083187f02b32c0, Notional: 0.038272764114
-		{Chain: 2, Addr: "000000000000000000000000967fb0d760ed3ce53afe2f0a071674cccae73550", Symbol: "XETA", CoinGeckoId: "xana", Decimals: 18, Price: 0.00030067},                                                // Addr: 0x967fb0d760ed3ce53afe2f0a071674cccae73550, Notional: 0.00030067
+		{Chain: 2, Addr: "000000000000000000000000967fb0d760ed3ce53afe2f0a071674cccae73550", Symbol: "XETA", CoinGeckoId: "xana", Decimals: 18, Price: 0.00023803},                                                // Addr: 0x967fb0d760ed3ce53afe2f0a071674cccae73550, Notional: 0.00023803
 		{Chain: 2, Addr: "000000000000000000000000968cbe62c830a0ccf4381614662398505657a2a9", Symbol: "TPY", CoinGeckoId: "thrupenny", Decimals: 8, Price: 0.00207482},                                             // Addr: 0x968cbe62c830a0ccf4381614662398505657a2a9, Notional: 493.94523151625646
-		{Chain: 2, Addr: "000000000000000000000000968f6f898a6df937fc1859b323ac2f14643e3fed", Symbol: "NWC", CoinGeckoId: "newscrypto-coin", Decimals: 18, Price: 0.01772693},                                      // Addr: 0x968f6f898a6df937fc1859b323ac2f14643e3fed, Notional: 0.01772693
-		{Chain: 2, Addr: "00000000000000000000000096f6ef951840721adbf46ac996b59e0235cb985c", Symbol: "USDY", CoinGeckoId: "ondo-us-dollar-yield", Decimals: 18, Price: 1.082},                                     // Addr: 0x96f6ef951840721adbf46ac996b59e0235cb985c, Notional: 1.494863609
-		{Chain: 2, Addr: "000000000000000000000000970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d", Symbol: "FUSE", CoinGeckoId: "fuse-network-token", Decimals: 18, Price: 0.01050848},                                  // Addr: 0x970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d, Notional: 0.2101696
-		{Chain: 2, Addr: "00000000000000000000000097a9bac06f90940bce9caec2b880ff17707519e4", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 4.24},                                                    // Addr: 0x97a9bac06f90940bce9caec2b880ff17707519e4, Notional: 245.721460092
-		{Chain: 2, Addr: "00000000000000000000000098585dfc8d9e7d48f0b1ae47ce33332cf4237d96", Symbol: "NEWO", CoinGeckoId: "new-order", Decimals: 18, Price: 0.00152811},                                           // Addr: 0x98585dfc8d9e7d48f0b1ae47ce33332cf4237d96, Notional: 278233.1583178061
-		{Chain: 2, Addr: "00000000000000000000000099d8a9c45b2eca8864373a26d1459e3dff1e17f3", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                   // Addr: 0x99d8a9c45b2eca8864373a26d1459e3dff1e17f3, Notional: 473.33680738534355
-		{Chain: 2, Addr: "0000000000000000000000009b83f827928abdf18cf1f7e67053572b9bceff3a", Symbol: "ARTEM", CoinGeckoId: "artem", Decimals: 18, Price: 0.00203211},                                              // Addr: 0x9b83f827928abdf18cf1f7e67053572b9bceff3a, Notional: 22281.346517634265
+		{Chain: 2, Addr: "000000000000000000000000968f6f898a6df937fc1859b323ac2f14643e3fed", Symbol: "NWC", CoinGeckoId: "newscrypto-coin", Decimals: 18, Price: 0.01260916},                                      // Addr: 0x968f6f898a6df937fc1859b323ac2f14643e3fed, Notional: 0.01260916
+		{Chain: 2, Addr: "00000000000000000000000096f6ef951840721adbf46ac996b59e0235cb985c", Symbol: "USDY", CoinGeckoId: "ondo-us-dollar-yield", Decimals: 18, Price: 1.074},                                     // Addr: 0x96f6ef951840721adbf46ac996b59e0235cb985c, Notional: 1.483811013
+		{Chain: 2, Addr: "000000000000000000000000970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d", Symbol: "FUSE", CoinGeckoId: "fuse-network-token", Decimals: 18, Price: 0.00968763},                                  // Addr: 0x970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d, Notional: 0.1937526
+		{Chain: 2, Addr: "00000000000000000000000097a9bac06f90940bce9caec2b880ff17707519e4", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 0.927625},                                                // Addr: 0x97a9bac06f90940bce9caec2b880ff17707519e4, Notional: 53.75881354194375
+		{Chain: 2, Addr: "00000000000000000000000098585dfc8d9e7d48f0b1ae47ce33332cf4237d96", Symbol: "NEWO", CoinGeckoId: "new-order", Decimals: 18, Price: 0.00153737},                                           // Addr: 0x98585dfc8d9e7d48f0b1ae47ce33332cf4237d96, Notional: 279919.1881494431
+		{Chain: 2, Addr: "00000000000000000000000099d8a9c45b2eca8864373a26d1459e3dff1e17f3", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                          // Addr: 0x99d8a9c45b2eca8864373a26d1459e3dff1e17f3, Notional: 473.39408807
+		{Chain: 2, Addr: "0000000000000000000000009b83f827928abdf18cf1f7e67053572b9bceff3a", Symbol: "ARTEM", CoinGeckoId: "artem", Decimals: 18, Price: 0.00199576},                                              // Addr: 0x9b83f827928abdf18cf1f7e67053572b9bceff3a, Notional: 21882.781998038376
 		{Chain: 2, Addr: "0000000000000000000000009ba021b0a9b958b5e75ce9f6dff97c7ee52cb3e6", Symbol: "apxETH", CoinGeckoId: "dinero-apxeth", Decimals: 18, Price: 413.38},                                         // Addr: 0x9ba021b0a9b958b5e75ce9f6dff97c7ee52cb3e6, Notional: 1.65352
-		{Chain: 2, Addr: "0000000000000000000000009be89d2a4cd102d8fecc6bf9da793be995c22541", Symbol: "BBTC", CoinGeckoId: "binance-wrapped-btc", Decimals: 8, Price: 111434},                                      // Addr: 0x9be89d2a4cd102d8fecc6bf9da793be995c22541, Notional: 2537.84583262
-		{Chain: 2, Addr: "0000000000000000000000009d71ce49ab8a0e6d2a1e7bfb89374c9392fd6804", Symbol: "Nvir", CoinGeckoId: "nvirworld", Decimals: 18, Price: 0.0001699},                                            // Addr: 0x9d71ce49ab8a0e6d2a1e7bfb89374c9392fd6804, Notional: 0.8495
-		{Chain: 2, Addr: "0000000000000000000000009dfad1b7102d46b1b197b90095b5c4e9f5845bba", Symbol: "BOTTO", CoinGeckoId: "botto", Decimals: 18, Price: 0.251873},                                                // Addr: 0x9dfad1b7102d46b1b197b90095b5c4e9f5845bba, Notional: 61364.36776639899
-		{Chain: 2, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.0000169},                                              // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 172523.83319386377
-		{Chain: 2, Addr: "0000000000000000000000009f52c8ecbee10e00d9faaac5ee9ba0ff6550f511", Symbol: "SIPHER", CoinGeckoId: "sipher", Decimals: 18, Price: 0.02726221},                                            // Addr: 0x9f52c8ecbee10e00d9faaac5ee9ba0ff6550f511, Notional: 2.726221
-		{Chain: 2, Addr: "0000000000000000000000009fa69536d1cda4a04cfb50688294de75b505a9ae", Symbol: "DERC", CoinGeckoId: "derace", Decimals: 18, Price: 0.02292882},                                              // Addr: 0x9fa69536d1cda4a04cfb50688294de75b505a9ae, Notional: 2.292882
-		{Chain: 2, Addr: "0000000000000000000000009fda7ceec4c18008096c2fe2b85f05dc300f94d0", Symbol: "GAJ", CoinGeckoId: "gaj", Decimals: 18, Price: 0.00381897},                                                  // Addr: 0x9fda7ceec4c18008096c2fe2b85f05dc300f94d0, Notional: 22.106172245513182
-		{Chain: 2, Addr: "000000000000000000000000a0b73e1ff0b80914ab6fe0444e65848c4c34450b", Symbol: "CRO", CoinGeckoId: "crypto-com-chain", Decimals: 8, Price: 0.255949},                                        // Addr: 0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b, Notional: 17572.855087183056
-		{Chain: 2, Addr: "000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, Notional: 37672543.38525424
-		{Chain: 2, Addr: "000000000000000000000000a150db9b1fa65b44799d4dd949d922c0a33ee606", Symbol: "DRC", CoinGeckoId: "digital-reserve-currency", Decimals: 0, Price: 0.00023573},                              // Addr: 0xa150db9b1fa65b44799d4dd949d922c0a33ee606, Notional: 7.22158855
-		{Chain: 2, Addr: "000000000000000000000000a1d6df714f91debf4e0802a542e13067f31b8262", Symbol: "RFOX", CoinGeckoId: "redfox-labs-2", Decimals: 18, Price: 0.00085875},                                       // Addr: 0xa1d6df714f91debf4e0802a542e13067f31b8262, Notional: 47.23210875
-		{Chain: 2, Addr: "000000000000000000000000a21af1050f7b26e0cff45ee51548254c41ed6b5c", Symbol: "OSAK", CoinGeckoId: "osaka-protocol", Decimals: 18, Price: 1.66054e-7},                                      // Addr: 0xa21af1050f7b26e0cff45ee51548254c41ed6b5c, Notional: 2142.3221166453427
-		{Chain: 2, Addr: "000000000000000000000000a2cd3d43c775978a96bdbf12d733d5a1ed94fb18", Symbol: "XCN", CoinGeckoId: "chain-2", Decimals: 18, Price: 0.01073269},                                              // Addr: 0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18, Notional: 5374057.811585245
-		{Chain: 2, Addr: "000000000000000000000000a31b1767e09f842ecfd4bc471fe44f830e3891aa", Symbol: "ROOBEE", CoinGeckoId: "roobee", Decimals: 18, Price: 0.00011106},                                            // Addr: 0xa31b1767e09f842ecfd4bc471fe44f830e3891aa, Notional: 4.9815220541688
-		{Chain: 2, Addr: "000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3", Symbol: "TURBO", CoinGeckoId: "turbo", Decimals: 18, Price: 0.00410397},                                              // Addr: 0xa35923162c49cf95e6bf26623385eb431ad920d3, Notional: 592388.9142511846
+		{Chain: 2, Addr: "0000000000000000000000009be89d2a4cd102d8fecc6bf9da793be995c22541", Symbol: "BBTC", CoinGeckoId: "binance-wrapped-btc", Decimals: 8, Price: 114258},                                      // Addr: 0x9be89d2a4cd102d8fecc6bf9da793be995c22541, Notional: 2602.16082294
+		{Chain: 2, Addr: "0000000000000000000000009d71ce49ab8a0e6d2a1e7bfb89374c9392fd6804", Symbol: "Nvir", CoinGeckoId: "nvirworld", Decimals: 18, Price: 0.00016579},                                           // Addr: 0x9d71ce49ab8a0e6d2a1e7bfb89374c9392fd6804, Notional: 0.82895
+		{Chain: 2, Addr: "0000000000000000000000009dfad1b7102d46b1b197b90095b5c4e9f5845bba", Symbol: "BOTTO", CoinGeckoId: "botto", Decimals: 18, Price: 0.196536},                                                // Addr: 0x9dfad1b7102d46b1b197b90095b5c4e9f5845bba, Notional: 53371.9351732918
+		{Chain: 2, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.00001555},                                             // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 159610.47492827816
+		{Chain: 2, Addr: "0000000000000000000000009f52c8ecbee10e00d9faaac5ee9ba0ff6550f511", Symbol: "SIPHER", CoinGeckoId: "sipher", Decimals: 18, Price: 0.02434892},                                            // Addr: 0x9f52c8ecbee10e00d9faaac5ee9ba0ff6550f511, Notional: 2.434892
+		{Chain: 2, Addr: "0000000000000000000000009fa69536d1cda4a04cfb50688294de75b505a9ae", Symbol: "DERC", CoinGeckoId: "derace", Decimals: 18, Price: 0.01514376},                                              // Addr: 0x9fa69536d1cda4a04cfb50688294de75b505a9ae, Notional: 1.514376
+		{Chain: 2, Addr: "0000000000000000000000009fda7ceec4c18008096c2fe2b85f05dc300f94d0", Symbol: "GAJ", CoinGeckoId: "gaj", Decimals: 18, Price: 0.00357724},                                                  // Addr: 0x9fda7ceec4c18008096c2fe2b85f05dc300f94d0, Notional: 20.70691406414284
+		{Chain: 2, Addr: "000000000000000000000000a0b73e1ff0b80914ab6fe0444e65848c4c34450b", Symbol: "CRO", CoinGeckoId: "crypto-com-chain", Decimals: 8, Price: 0.198322},                                        // Addr: 0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b, Notional: 21250.54400047251
+		{Chain: 2, Addr: "000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, Notional: 35351307.90826798
+		{Chain: 2, Addr: "000000000000000000000000a150db9b1fa65b44799d4dd949d922c0a33ee606", Symbol: "DRC", CoinGeckoId: "digital-reserve-currency", Decimals: 0, Price: 0.00017475},                              // Addr: 0xa150db9b1fa65b44799d4dd949d922c0a33ee606, Notional: 5.353466249999999
+		{Chain: 2, Addr: "000000000000000000000000a1d6df714f91debf4e0802a542e13067f31b8262", Symbol: "RFOX", CoinGeckoId: "redfox-labs-2", Decimals: 18, Price: 0.00085955},                                       // Addr: 0xa1d6df714f91debf4e0802a542e13067f31b8262, Notional: 47.27610955
+		{Chain: 2, Addr: "000000000000000000000000a21af1050f7b26e0cff45ee51548254c41ed6b5c", Symbol: "OSAK", CoinGeckoId: "osaka-protocol", Decimals: 18, Price: 1.27936e-7},                                      // Addr: 0xa21af1050f7b26e0cff45ee51548254c41ed6b5c, Notional: 1650.5481488861367
+		{Chain: 2, Addr: "000000000000000000000000a2cd3d43c775978a96bdbf12d733d5a1ed94fb18", Symbol: "XCN", CoinGeckoId: "chain-2", Decimals: 18, Price: 0.01049575},                                              // Addr: 0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18, Notional: 5236241.876641118
+		{Chain: 2, Addr: "000000000000000000000000a31b1767e09f842ecfd4bc471fe44f830e3891aa", Symbol: "ROOBEE", CoinGeckoId: "roobee", Decimals: 18, Price: 0.00010799},                                            // Addr: 0xa31b1767e09f842ecfd4bc471fe44f830e3891aa, Notional: 4.8438192565252
+		{Chain: 2, Addr: "000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3", Symbol: "TURBO", CoinGeckoId: "turbo", Decimals: 18, Price: 0.00347935},                                              // Addr: 0xa35923162c49cf95e6bf26623385eb431ad920d3, Notional: 502466.0215441644
 		{Chain: 2, Addr: "000000000000000000000000a3a80559bbc1989654e6b8385f5001fa1333332f", Symbol: "RZR", CoinGeckoId: "raiser-token", Decimals: 18, Price: 0.00310187},                                         // Addr: 0xa3a80559bbc1989654e6b8385f5001fa1333332f, Notional: 0.0220960368821786
 		{Chain: 2, Addr: "000000000000000000000000a406844323f1603701e6ad95adc8a082213a68ce", Symbol: "PBT", CoinGeckoId: "polybet", Decimals: 18, Price: 0.00086603},                                              // Addr: 0xa406844323f1603701e6ad95adc8a082213a68ce, Notional: 12.028194367464
-		{Chain: 2, Addr: "000000000000000000000000a462bde22d98335e18a21555b6752db93a937cff", Symbol: "BOBBY", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000233},                                 // Addr: 0xa462bde22d98335e18a21555b6752db93a937cff, Notional: 11466.668238574985
-		{Chain: 2, Addr: "000000000000000000000000a47c8bf37f92abed4a126bda807a7b7498661acd", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01362849},                                          // Addr: 0xa47c8bf37f92abed4a126bda807a7b7498661acd, Notional: 4.677641702979031
-		{Chain: 2, Addr: "000000000000000000000000a5ef74068d04ba0809b7379dd76af5ce34ab7c57", Symbol: "LUCHOW", CoinGeckoId: "lunachow", Decimals: 18, Price: 2.24314e-7},                                          // Addr: 0xa5ef74068d04ba0809b7379dd76af5ce34ab7c57, Notional: 343.0875793258378
-		{Chain: 2, Addr: "000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a", Symbol: "pepecoin", CoinGeckoId: "pepecoin-2", Decimals: 18, Price: 0.421846},                                        // Addr: 0xa9e8acf069c58aec8825542845fd754e41a9489a, Notional: 151445.21819176705
+		{Chain: 2, Addr: "000000000000000000000000a462bde22d98335e18a21555b6752db93a937cff", Symbol: "BOBBY", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000265},                                 // Addr: 0xa462bde22d98335e18a21555b6752db93a937cff, Notional: 13041.489627563824
+		{Chain: 2, Addr: "000000000000000000000000a47c8bf37f92abed4a126bda807a7b7498661acd", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01091164},                                          // Addr: 0xa47c8bf37f92abed4a126bda807a7b7498661acd, Notional: 3.7451502192755113
+		{Chain: 2, Addr: "000000000000000000000000a5ef74068d04ba0809b7379dd76af5ce34ab7c57", Symbol: "LUCHOW", CoinGeckoId: "lunachow", Decimals: 18, Price: 4.43851e-7},                                          // Addr: 0xa5ef74068d04ba0809b7379dd76af5ce34ab7c57, Notional: 678.8687517112282
+		{Chain: 2, Addr: "000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a", Symbol: "pepecoin", CoinGeckoId: "pepecoin-2", Decimals: 18, Price: 0.34984},                                         // Addr: 0xa9e8acf069c58aec8825542845fd754e41a9489a, Notional: 127007.77880044746
 		{Chain: 2, Addr: "000000000000000000000000aa2ce7ae64066175e0b90497ce7d9c190c315db4", Symbol: "Suter", CoinGeckoId: "suterusu", Decimals: 18, Price: 0.00002117},                                           // Addr: 0xaa2ce7ae64066175e0b90497ce7d9c190c315db4, Notional: 1.723911385945
-		{Chain: 2, Addr: "000000000000000000000000aa7a9ca87d3694b5755f213b5d04094b8d0f0a6f", Symbol: "TRAC", CoinGeckoId: "origintrail", Decimals: 18, Price: 0.362121},                                           // Addr: 0xaa7a9ca87d3694b5755f213b5d04094b8d0f0a6f, Notional: 30258.930205462613
-		{Chain: 2, Addr: "000000000000000000000000aaaebe6fe48e54f431b0c390cfaf0b017d09d42d", Symbol: "CEL", CoinGeckoId: "celsius-degree-token", Decimals: 4, Price: 0.070116},                                    // Addr: 0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d, Notional: 2207.4763737336
-		{Chain: 2, Addr: "000000000000000000000000aaee1a9723aadb7afa2810263653a34ba2c21c7a", Symbol: "Mog", CoinGeckoId: "mog-coin", Decimals: 18, Price: 8.99909e-7},                                             // Addr: 0xaaee1a9723aadb7afa2810263653a34ba2c21c7a, Notional: 784.1110439409955
-		{Chain: 2, Addr: "000000000000000000000000ab2a7b5876d707e0126b3a75ef7781c77c8877ee", Symbol: "QUAD", CoinGeckoId: "quadency", Decimals: 18, Price: 0.00163041},                                            // Addr: 0xab2a7b5876d707e0126b3a75ef7781c77c8877ee, Notional: 5618.794556640423
-		{Chain: 2, Addr: "000000000000000000000000ac51066d7bec65dc4589368da368b212745d63e8", Symbol: "ALICE", CoinGeckoId: "my-neighbor-alice", Decimals: 6, Price: 0.364238},                                     // Addr: 0xac51066d7bec65dc4589368da368b212745d63e8, Notional: 0.728476
-		{Chain: 2, Addr: "000000000000000000000000ac57de9c1a09fec648e93eb98875b212db0d460b", Symbol: "BabyDoge", CoinGeckoId: "baby-doge-coin", Decimals: 9, Price: 1.272e-9},                                     // Addr: 0xac57de9c1a09fec648e93eb98875b212db0d460b, Notional: 194.43478380194236
-		{Chain: 2, Addr: "000000000000000000000000ac6db8954b73ebf10e84278ac8b9b22a781615d9", Symbol: "BWB", CoinGeckoId: "bitget-wallet-token", Decimals: 18, Price: 0.407378},                                    // Addr: 0xac6db8954b73ebf10e84278ac8b9b22a781615d9, Notional: 38670014.823337056
+		{Chain: 2, Addr: "000000000000000000000000aa7a9ca87d3694b5755f213b5d04094b8d0f0a6f", Symbol: "TRAC", CoinGeckoId: "origintrail", Decimals: 18, Price: 0.303397},                                           // Addr: 0xaa7a9ca87d3694b5755f213b5d04094b8d0f0a6f, Notional: 25351.936638711202
+		{Chain: 2, Addr: "000000000000000000000000aaaebe6fe48e54f431b0c390cfaf0b017d09d42d", Symbol: "CEL", CoinGeckoId: "celsius-degree-token", Decimals: 4, Price: 0.059874},                                    // Addr: 0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d, Notional: 1885.0253922204
+		{Chain: 2, Addr: "000000000000000000000000aaee1a9723aadb7afa2810263653a34ba2c21c7a", Symbol: "Mog", CoinGeckoId: "mog-coin", Decimals: 18, Price: 6.75e-7},                                                // Addr: 0xaaee1a9723aadb7afa2810263653a34ba2c21c7a, Notional: 588.1427507227642
+		{Chain: 2, Addr: "000000000000000000000000ab2a7b5876d707e0126b3a75ef7781c77c8877ee", Symbol: "QUAD", CoinGeckoId: "quadency", Decimals: 18, Price: 0.00091754},                                            // Addr: 0xab2a7b5876d707e0126b3a75ef7781c77c8877ee, Notional: 7845.390769761721
+		{Chain: 2, Addr: "000000000000000000000000ac51066d7bec65dc4589368da368b212745d63e8", Symbol: "ALICE", CoinGeckoId: "my-neighbor-alice", Decimals: 6, Price: 0.29439},                                      // Addr: 0xac51066d7bec65dc4589368da368b212745d63e8, Notional: 0.58878
+		{Chain: 2, Addr: "000000000000000000000000ac57de9c1a09fec648e93eb98875b212db0d460b", Symbol: "BabyDoge", CoinGeckoId: "baby-doge-coin", Decimals: 9, Price: 1.217e-9},                                     // Addr: 0xac57de9c1a09fec648e93eb98875b212db0d460b, Notional: 186.02761940799047
+		{Chain: 2, Addr: "000000000000000000000000ac6db8954b73ebf10e84278ac8b9b22a781615d9", Symbol: "BWB", CoinGeckoId: "bitget-wallet-token", Decimals: 18, Price: 0.407489},                                    // Addr: 0xac6db8954b73ebf10e84278ac8b9b22a781615d9, Notional: 38680551.4051981
 		{Chain: 2, Addr: "000000000000000000000000ae1eaae3f627aaca434127644371b67b18444051", Symbol: "YOP", CoinGeckoId: "yield-optimization-platform", Decimals: 8, Price: 0.00009543},                           // Addr: 0xae1eaae3f627aaca434127644371b67b18444051, Notional: 0.0071572499999999995
-		{Chain: 2, Addr: "000000000000000000000000ae6e307c3fe9e922e5674dbd7f830ed49c014c6b", Symbol: "CREDI", CoinGeckoId: "credefi", Decimals: 18, Price: 0.00456648},                                            // Addr: 0xae6e307c3fe9e922e5674dbd7f830ed49c014c6b, Notional: 34265.1431433093
-		{Chain: 2, Addr: "000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393", Symbol: "rETH", CoinGeckoId: "rocket-pool-eth", Decimals: 18, Price: 4896.77},                                        // Addr: 0xae78736cd615f374d3085123a210448e74fc6393, Notional: 1713.8695
-		{Chain: 2, Addr: "000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84", Symbol: "stETH", CoinGeckoId: "staked-ether", Decimals: 18, Price: 4289.01},                                          // Addr: 0xae7ab96520de3a18e5e111b5eaab095312d7fe84, Notional: 9703.9356924279
-		{Chain: 2, Addr: "000000000000000000000000aee433adebe0fbb88daa47ef0c1a513caa52ef02", Symbol: "TOON", CoinGeckoId: "pontoon", Decimals: 18, Price: 0.0000189},                                              // Addr: 0xaee433adebe0fbb88daa47ef0c1a513caa52ef02, Notional: 0.385397198237457
-		{Chain: 2, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.084518},                                                 // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 0.16903777487799998
-		{Chain: 2, Addr: "000000000000000000000000b131f337c45d386ceec234e194b2663d5c3d9dcf", Symbol: "ICOM", CoinGeckoId: "icommunity", Decimals: 18, Price: 0.00691027},                                          // Addr: 0xb131f337c45d386ceec234e194b2663d5c3d9dcf, Notional: 90469.27474145287
-		{Chain: 2, Addr: "000000000000000000000000b19dd661f076998e3b0456935092a233e12c2280", Symbol: "UM", CoinGeckoId: "continuum-world", Decimals: 18, Price: 0.00015293},                                       // Addr: 0xb19dd661f076998e3b0456935092a233e12c2280, Notional: 0.4091395304188286
+		{Chain: 2, Addr: "000000000000000000000000ae6e307c3fe9e922e5674dbd7f830ed49c014c6b", Symbol: "CREDI", CoinGeckoId: "credefi", Decimals: 18, Price: 0.00393086},                                            // Addr: 0xae6e307c3fe9e922e5674dbd7f830ed49c014c6b, Notional: 29495.690460991573
+		{Chain: 2, Addr: "000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393", Symbol: "rETH", CoinGeckoId: "rocket-pool-eth", Decimals: 18, Price: 4743.34},                                        // Addr: 0xae78736cd615f374d3085123a210448e74fc6393, Notional: 1660.1689999999999
+		{Chain: 2, Addr: "000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84", Symbol: "stETH", CoinGeckoId: "staked-ether", Decimals: 18, Price: 4143.95},                                          // Addr: 0xae7ab96520de3a18e5e111b5eaab095312d7fe84, Notional: 9375.7357321705
+		{Chain: 2, Addr: "000000000000000000000000aee433adebe0fbb88daa47ef0c1a513caa52ef02", Symbol: "TOON", CoinGeckoId: "pontoon", Decimals: 18, Price: 0.000019},                                               // Addr: 0xaee433adebe0fbb88daa47ef0c1a513caa52ef02, Notional: 0.38743633685247003
+		{Chain: 2, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.100345},                                                 // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 0.200692107245
+		{Chain: 2, Addr: "000000000000000000000000b131f337c45d386ceec234e194b2663d5c3d9dcf", Symbol: "ICOM", CoinGeckoId: "icommunity", Decimals: 18, Price: 0.00399972},                                          // Addr: 0xb131f337c45d386ceec234e194b2663d5c3d9dcf, Notional: 52358.83570574594
+		{Chain: 2, Addr: "000000000000000000000000b19dd661f076998e3b0456935092a233e12c2280", Symbol: "UM", CoinGeckoId: "continuum-world", Decimals: 18, Price: 0.00012249},                                       // Addr: 0xb19dd661f076998e3b0456935092a233e12c2280, Notional: 0.32770222376905983
 		{Chain: 2, Addr: "000000000000000000000000b1f66997a5760428d3a87d68b90bfe0ae64121cc", Symbol: "LUA", CoinGeckoId: "lua-token", Decimals: 18, Price: 0.03879681},                                            // Addr: 0xb1f66997a5760428d3a87d68b90bfe0ae64121cc, Notional: 99555.87339204
-		{Chain: 2, Addr: "000000000000000000000000b2617246d0c6c0087f18703d576831899ca94f01", Symbol: "ZIG", CoinGeckoId: "zignaly", Decimals: 18, Price: 0.095587},                                                // Addr: 0xb2617246d0c6c0087f18703d576831899ca94f01, Notional: 163935.24348064643
-		{Chain: 2, Addr: "000000000000000000000000b369daca21ee035312176eb8cf9d88ce97e0aa95", Symbol: "SKOL", CoinGeckoId: "skol", Decimals: 18, Price: 0.103653},                                                  // Addr: 0xb369daca21ee035312176eb8cf9d88ce97e0aa95, Notional: 133291.65513926494
-		{Chain: 2, Addr: "000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1", Symbol: "ARB", CoinGeckoId: "arbitrum", Decimals: 18, Price: 0.512864},                                               // Addr: 0xb50721bcf8d664c30412cfbc6cf7a15145234ad1, Notional: 137.83049676327008
-		{Chain: 2, Addr: "000000000000000000000000b5ce43fe2fcffffb2eece95ec413d08def28046f", Symbol: "PELO", CoinGeckoId: "pepelon-token", Decimals: 18, Price: 1.43004e-10},                                      // Addr: 0xb5ce43fe2fcffffb2eece95ec413d08def28046f, Notional: 1.43004
+		{Chain: 2, Addr: "000000000000000000000000b2617246d0c6c0087f18703d576831899ca94f01", Symbol: "ZIG", CoinGeckoId: "zignaly", Decimals: 18, Price: 0.107146},                                                // Addr: 0xb2617246d0c6c0087f18703d576831899ca94f01, Notional: 182573.37389655932
+		{Chain: 2, Addr: "000000000000000000000000b369daca21ee035312176eb8cf9d88ce97e0aa95", Symbol: "SKOL", CoinGeckoId: "skol", Decimals: 18, Price: 0.090124},                                                  // Addr: 0xb369daca21ee035312176eb8cf9d88ce97e0aa95, Notional: 118580.35846797896
+		{Chain: 2, Addr: "000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1", Symbol: "ARB", CoinGeckoId: "arbitrum", Decimals: 18, Price: 0.421302},                                               // Addr: 0xb50721bcf8d664c30412cfbc6cf7a15145234ad1, Notional: 113.22351334341894
+		{Chain: 2, Addr: "000000000000000000000000b5ce43fe2fcffffb2eece95ec413d08def28046f", Symbol: "PELO", CoinGeckoId: "pepelon-token", Decimals: 18, Price: 6.6995e-11},                                       // Addr: 0xb5ce43fe2fcffffb2eece95ec413d08def28046f, Notional: 0.6699499999999999
 		{Chain: 2, Addr: "000000000000000000000000b62e24b747eaa41454857cf6011832117df59cb8", Symbol: "EPIKO", CoinGeckoId: "epiko", Decimals: 18, Price: 0.00366047},                                              // Addr: 0xb62e24b747eaa41454857cf6011832117df59cb8, Notional: 46763.19950064826
-		{Chain: 2, Addr: "000000000000000000000000b69753c06bb5c366be51e73bfc0cc2e3dc07e371", Symbol: "POOH", CoinGeckoId: "pooh", Decimals: 18, Price: 5.026e-9},                                                  // Addr: 0xb69753c06bb5c366be51e73bfc0cc2e3dc07e371, Notional: 566.4648403513853
+		{Chain: 2, Addr: "000000000000000000000000b69753c06bb5c366be51e73bfc0cc2e3dc07e371", Symbol: "POOH", CoinGeckoId: "pooh", Decimals: 18, Price: 4.482e-9},                                                  // Addr: 0xb69753c06bb5c366be51e73bfc0cc2e3dc07e371, Notional: 505.15229097789677
 		{Chain: 2, Addr: "000000000000000000000000b7cfe05915ef0c040c6dde2007c9ddab26259e04", Symbol: "MOLLY", CoinGeckoId: "molly-gateway", Decimals: 18, Price: 0.00027056},                                      // Addr: 0xb7cfe05915ef0c040c6dde2007c9ddab26259e04, Notional: 0.0000680744814816
-		{Chain: 2, Addr: "000000000000000000000000b8c77482e45f1f44de1745f52c74426c631bdd52", Symbol: "BNB", CoinGeckoId: "binancecoin", Decimals: 18, Price: 877.71},                                              // Addr: 0xb8c77482e45f1f44de1745f52c74426c631bdd52, Notional: 25456.0927286253
+		{Chain: 2, Addr: "000000000000000000000000b8c77482e45f1f44de1745f52c74426c631bdd52", Symbol: "BNB", CoinGeckoId: "binancecoin", Decimals: 18, Price: 1008.48},                                             // Addr: 0xb8c77482e45f1f44de1745f52c74426c631bdd52, Notional: 29248.988280230402
 		{Chain: 2, Addr: "000000000000000000000000b8e2e2101ed11e9138803cd3e06e16dd19910647", Symbol: "ARDX", CoinGeckoId: "ardcoin", Decimals: 2, Price: 0.00379947},                                              // Addr: 0xb8e2e2101ed11e9138803cd3e06e16dd19910647, Notional: 4563.9993534000005
-		{Chain: 2, Addr: "000000000000000000000000b9f599ce614feb2e1bbe58f180f370d05b39344e", Symbol: "PORK", CoinGeckoId: "pepefork", Decimals: 18, Price: 4.6878e-8},                                             // Addr: 0xb9f599ce614feb2e1bbe58f180f370d05b39344e, Notional: 70.95977941214612
-		{Chain: 2, Addr: "000000000000000000000000ba100000625a3754423978a60c9317c58a424e3d", Symbol: "BAL", CoinGeckoId: "balancer", Decimals: 18, Price: 1.23},                                                   // Addr: 0xba100000625a3754423978a60c9317c58a424e3d, Notional: 13.525206788399998
-		{Chain: 2, Addr: "000000000000000000000000ba25b2281214300e4e649fead9a6d6acd25f1c0a", Symbol: "TREE", CoinGeckoId: "tree-capital", Decimals: 18, Price: 0.323218},                                          // Addr: 0xba25b2281214300e4e649fead9a6d6acd25f1c0a, Notional: 3799908.0897115837
-		{Chain: 2, Addr: "000000000000000000000000ba386a4ca26b85fd057ab1ef86e3dc7bdeb5ce70", Symbol: "JESUS", CoinGeckoId: "jesus-coin", Decimals: 18, Price: 3.2137e-8},                                          // Addr: 0xba386a4ca26b85fd057ab1ef86e3dc7bdeb5ce70, Notional: 1645.3435948434771
-		{Chain: 2, Addr: "000000000000000000000000ba5bde662c17e2adff1075610382b9b691296350", Symbol: "RARE", CoinGeckoId: "superrare", Decimals: 18, Price: 0.055637},                                             // Addr: 0xba5bde662c17e2adff1075610382b9b691296350, Notional: 195.74606951433972
-		{Chain: 2, Addr: "000000000000000000000000baac2b4491727d78d2b78815144570b9f2fe8899", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00183028},                                         // Addr: 0xbaac2b4491727d78d2b78815144570b9f2fe8899, Notional: 834135.1557116464
-		{Chain: 2, Addr: "000000000000000000000000bb0e17ef65f82ab018d8edd776e8dd940327b28b", Symbol: "AXS", CoinGeckoId: "axie-infinity", Decimals: 18, Price: 2.49},                                              // Addr: 0xbb0e17ef65f82ab018d8edd776e8dd940327b28b, Notional: 3466.3022255529
-		{Chain: 2, Addr: "000000000000000000000000bba39fd2935d5769116ce38d46a71bde9cf03099", Symbol: "CHO", CoinGeckoId: "choise", Decimals: 18, Price: 0.00386211},                                               // Addr: 0xbba39fd2935d5769116ce38d46a71bde9cf03099, Notional: 66077.3805744439
-		{Chain: 2, Addr: "000000000000000000000000bc396689893d065f41bc2c6ecbee5e0085233447", Symbol: "PERP", CoinGeckoId: "perpetual-protocol", Decimals: 18, Price: 0.254172},                                    // Addr: 0xbc396689893d065f41bc2c6ecbee5e0085233447, Notional: 4478.324953082242
-		{Chain: 2, Addr: "000000000000000000000000bcca60bb61934080951369a648fb03df4f96263c", Symbol: "aUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.99786},                                              // Addr: 0xbcca60bb61934080951369a648fb03df4f96263c, Notional: 6.993438944819999
+		{Chain: 2, Addr: "000000000000000000000000b9f599ce614feb2e1bbe58f180f370d05b39344e", Symbol: "PORK", CoinGeckoId: "pepefork", Decimals: 18, Price: 3.587e-8},                                              // Addr: 0xb9f599ce614feb2e1bbe58f180f370d05b39344e, Notional: 54.29684046916851
+		{Chain: 2, Addr: "000000000000000000000000ba100000625a3754423978a60c9317c58a424e3d", Symbol: "BAL", CoinGeckoId: "balancer", Decimals: 18, Price: 1.12},                                                   // Addr: 0xba100000625a3754423978a60c9317c58a424e3d, Notional: 12.3156354496
+		{Chain: 2, Addr: "000000000000000000000000ba25b2281214300e4e649fead9a6d6acd25f1c0a", Symbol: "TREE", CoinGeckoId: "tree-capital", Decimals: 18, Price: 0.317379},                                          // Addr: 0xba25b2281214300e4e649fead9a6d6acd25f1c0a, Notional: 3746761.357189458
+		{Chain: 2, Addr: "000000000000000000000000ba386a4ca26b85fd057ab1ef86e3dc7bdeb5ce70", Symbol: "JESUS", CoinGeckoId: "jesus-coin", Decimals: 18, Price: 4.2394e-8},                                          // Addr: 0xba386a4ca26b85fd057ab1ef86e3dc7bdeb5ce70, Notional: 2164.992572248995
+		{Chain: 2, Addr: "000000000000000000000000ba5bde662c17e2adff1075610382b9b691296350", Symbol: "RARE", CoinGeckoId: "superrare", Decimals: 18, Price: 0.04970469},                                           // Addr: 0xba5bde662c17e2adff1075610382b9b691296350, Notional: 174.87459251808522
+		{Chain: 2, Addr: "000000000000000000000000baac2b4491727d78d2b78815144570b9f2fe8899", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00157008},                                         // Addr: 0xbaac2b4491727d78d2b78815144570b9f2fe8899, Notional: 742436.4818319054
+		{Chain: 2, Addr: "000000000000000000000000bb0e17ef65f82ab018d8edd776e8dd940327b28b", Symbol: "AXS", CoinGeckoId: "axie-infinity", Decimals: 18, Price: 2.1},                                               // Addr: 0xbb0e17ef65f82ab018d8edd776e8dd940327b28b, Notional: 2923.387419141
+		{Chain: 2, Addr: "000000000000000000000000bba39fd2935d5769116ce38d46a71bde9cf03099", Symbol: "CHO", CoinGeckoId: "choise", Decimals: 18, Price: 0.00376218},                                               // Addr: 0xbba39fd2935d5769116ce38d46a71bde9cf03099, Notional: 64668.19554923378
+		{Chain: 2, Addr: "000000000000000000000000bc396689893d065f41bc2c6ecbee5e0085233447", Symbol: "PERP", CoinGeckoId: "perpetual-protocol", Decimals: 18, Price: 0.283968},                                    // Addr: 0xbc396689893d065f41bc2c6ecbee5e0085233447, Notional: 5003.308705431197
+		{Chain: 2, Addr: "000000000000000000000000bcca60bb61934080951369a648fb03df4f96263c", Symbol: "aUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.999659},                                             // Addr: 0xbcca60bb61934080951369a648fb03df4f96263c, Notional: 7.0060471229829995
 		{Chain: 2, Addr: "000000000000000000000000bd2f0cd039e0bfcf88901c98c0bfac5ab27566e3", Symbol: "DSD", CoinGeckoId: "dynamic-set-dollar", Decimals: 18, Price: 3.531e-8},                                     // Addr: 0xbd2f0cd039e0bfcf88901c98c0bfac5ab27566e3, Notional: 13.453689879628266
 		{Chain: 2, Addr: "000000000000000000000000bd6323a83b613f668687014e8a5852079494fb68", Symbol: "BTC", CoinGeckoId: "blackrocktradingcurrency", Decimals: 18, Price: 0.00093151},                             // Addr: 0xbd6323a83b613f668687014e8a5852079494fb68, Notional: 0.0046575499906849
-		{Chain: 2, Addr: "000000000000000000000000bd8fdda057de7e0162b7a386bec253844b5e07a5", Symbol: "JARVIS", CoinGeckoId: "jarvis-2", Decimals: 18, Price: 0.02939004},                                          // Addr: 0xbd8fdda057de7e0162b7a386bec253844b5e07a5, Notional: 725384.3548726939
-		{Chain: 2, Addr: "000000000000000000000000be1a001fe942f96eea22ba08783140b9dcc09d28", Symbol: "BETA", CoinGeckoId: "beta-finance", Decimals: 18, Price: 0.00508426},                                        // Addr: 0xbe1a001fe942f96eea22ba08783140b9dcc09d28, Notional: 254.89011101524903
+		{Chain: 2, Addr: "000000000000000000000000bd8fdda057de7e0162b7a386bec253844b5e07a5", Symbol: "JARVIS", CoinGeckoId: "jarvis-2", Decimals: 18, Price: 0.0275639},                                           // Addr: 0xbd8fdda057de7e0162b7a386bec253844b5e07a5, Notional: 578646.3701679549
+		{Chain: 2, Addr: "000000000000000000000000be1a001fe942f96eea22ba08783140b9dcc09d28", Symbol: "BETA", CoinGeckoId: "beta-finance", Decimals: 18, Price: 0.00740159},                                        // Addr: 0xbe1a001fe942f96eea22ba08783140b9dcc09d28, Notional: 371.06522813336795
 		{Chain: 2, Addr: "000000000000000000000000be33f57f41a20b2f00dec91dcc1169597f36221f", Symbol: "RUG", CoinGeckoId: "rug-rugged-art", Decimals: 18, Price: 9.68},                                             // Addr: 0xbe33f57f41a20b2f00dec91dcc1169597f36221f, Notional: 25670.7855885096
-		{Chain: 2, Addr: "000000000000000000000000bededdf2ef49e87037c4fb2ca34d1ff3d3992a11", Symbol: "FEG", CoinGeckoId: "feg-token-2", Decimals: 18, Price: 0.00008544},                                          // Addr: 0xbededdf2ef49e87037c4fb2ca34d1ff3d3992a11, Notional: 18.661764853103865
-		{Chain: 2, Addr: "000000000000000000000000beef01060047522408756e0000a90ce195a70000", Symbol: "APTR", CoinGeckoId: "aperture-finance", Decimals: 6, Price: 0.000118},                                       // Addr: 0xbeef01060047522408756e0000a90ce195a70000, Notional: 58741.323790882685
-		{Chain: 2, Addr: "000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110", Symbol: "ezETH", CoinGeckoId: "renzo-restaked-eth", Decimals: 18, Price: 4544.08},                                    // Addr: 0xbf5495efe5db9ce00f80364c8b423567e58d2110, Notional: -0.009906094399999999
-		{Chain: 2, Addr: "000000000000000000000000c00e94cb662c3520282e6f5717214004a7f26888", Symbol: "COMP", CoinGeckoId: "compound-governance-token", Decimals: 18, Price: 43.26},                                // Addr: 0xc00e94cb662c3520282e6f5717214004a7f26888, Notional: 215557.8283179258
-		{Chain: 2, Addr: "000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 0.685763},                                                 // Addr: 0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f, Notional: 84.04328257359386
-		{Chain: 2, Addr: "000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                   // Addr: 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, Notional: 285916160.17094684
-		{Chain: 2, Addr: "000000000000000000000000c0a4df35568f116c370e6a6a6022ceb908eeddac", Symbol: "UMEE", CoinGeckoId: "umee", Decimals: 6, Price: 0.00019944},                                                 // Addr: 0xc0a4df35568f116c370e6a6a6022ceb908eeddac, Notional: 0.19944
-		{Chain: 2, Addr: "000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d72", Symbol: "ENS", CoinGeckoId: "ethereum-name-service", Decimals: 18, Price: 22.79},                                     // Addr: 0xc18360217d8f7ab5e7c516566761ea12ce7f9d72, Notional: 554.2913905349
-		{Chain: 2, Addr: "000000000000000000000000c28eb2250d1ae32c7e74cfb6d6b86afc9beb6509", Symbol: "OPN", CoinGeckoId: "open-ticketing-ecosystem", Decimals: 18, Price: 0.00027961},                             // Addr: 0xc28eb2250d1ae32c7e74cfb6d6b86afc9beb6509, Notional: 9331.531007732858
+		{Chain: 2, Addr: "000000000000000000000000bededdf2ef49e87037c4fb2ca34d1ff3d3992a11", Symbol: "FEG", CoinGeckoId: "feg-token-2", Decimals: 18, Price: 0.00007371},                                          // Addr: 0xbededdf2ef49e87037c4fb2ca34d1ff3d3992a11, Notional: 16.099703737386307
+		{Chain: 2, Addr: "000000000000000000000000beef01060047522408756e0000a90ce195a70000", Symbol: "APTR", CoinGeckoId: "aperture-finance", Decimals: 6, Price: 0.0001259},                                      // Addr: 0xbeef01060047522408756e0000a90ce195a70000, Notional: 70228.00563789942
+		{Chain: 2, Addr: "000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110", Symbol: "ezETH", CoinGeckoId: "renzo-restaked-eth", Decimals: 18, Price: 4391.6},                                     // Addr: 0xbf5495efe5db9ce00f80364c8b423567e58d2110, Notional: -0.009573688
+		{Chain: 2, Addr: "000000000000000000000000c00e94cb662c3520282e6f5717214004a7f26888", Symbol: "COMP", CoinGeckoId: "compound-governance-token", Decimals: 18, Price: 41.56},                                // Addr: 0xc00e94cb662c3520282e6f5717214004a7f26888, Notional: 207086.99364061482
+		{Chain: 2, Addr: "000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 1.077},                                                    // Addr: 0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f, Notional: 131.99110382415
+		{Chain: 2, Addr: "000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                   // Addr: 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, Notional: 281165624.58954483
+		{Chain: 2, Addr: "000000000000000000000000c0a4df35568f116c370e6a6a6022ceb908eeddac", Symbol: "UMEE", CoinGeckoId: "umee", Decimals: 6, Price: 0.0002219},                                                  // Addr: 0xc0a4df35568f116c370e6a6a6022ceb908eeddac, Notional: 0.2219
+		{Chain: 2, Addr: "000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d72", Symbol: "ENS", CoinGeckoId: "ethereum-name-service", Decimals: 18, Price: 19.91},                                     // Addr: 0xc18360217d8f7ab5e7c516566761ea12ce7f9d72, Notional: 484.24491380210003
+		{Chain: 2, Addr: "000000000000000000000000c28eb2250d1ae32c7e74cfb6d6b86afc9beb6509", Symbol: "OPN", CoinGeckoId: "open-ticketing-ecosystem", Decimals: 18, Price: 0.00018983},                             // Addr: 0xc28eb2250d1ae32c7e74cfb6d6b86afc9beb6509, Notional: 6070.4868218548945
 		{Chain: 2, Addr: "000000000000000000000000c4170fd71eced3c80badca77f4e12e8aac1e3436", Symbol: "KMON", CoinGeckoId: "kryptomon", Decimals: 18, Price: 0.00001347},                                           // Addr: 0xc4170fd71eced3c80badca77f4e12e8aac1e3436, Notional: 1935.1618704876382
-		{Chain: 2, Addr: "000000000000000000000000c477d038d5420c6a9e0b031712f61c5120090de9", Symbol: "BOSON", CoinGeckoId: "boson-protocol", Decimals: 18, Price: 0.10733},                                        // Addr: 0xc477d038d5420c6a9e0b031712f61c5120090de9, Notional: 106.3270950004253
-		{Chain: 2, Addr: "000000000000000000000000c4c2614e694cf534d407ee49f8e44d125e4681c4", Symbol: "CHAIN", CoinGeckoId: "chain-games", Decimals: 18, Price: 0.02186392},                                        // Addr: 0xc4c2614e694cf534d407ee49f8e44d125e4681c4, Notional: 94.60920314290166
-		{Chain: 2, Addr: "000000000000000000000000c5102fe9359fd9a28f877a67e36b0f050d81a3cc", Symbol: "HOP", CoinGeckoId: "hop-protocol", Decimals: 18, Price: 0.00824293},                                         // Addr: 0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc, Notional: 0.24728790000000003
-		{Chain: 2, Addr: "000000000000000000000000c5ba042bf8832999b17c9036e8212f49dce0501a", Symbol: "YOURAI", CoinGeckoId: "your-ai", Decimals: 18, Price: 0.00069948},                                           // Addr: 0xc5ba042bf8832999b17c9036e8212f49dce0501a, Notional: 90103.32701119964
-		{Chain: 2, Addr: "000000000000000000000000c6c9448a86882d73164a984fa52285ab51c823bc", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 18, Price: 3.67695e-7},                                         // Addr: 0xc6c9448a86882d73164a984fa52285ab51c823bc, Notional: 2471.0753876043404
-		{Chain: 2, Addr: "000000000000000000000000c71b5f631354be6853efe9c3ab6b9590f8302e81", Symbol: "ZK", CoinGeckoId: "polyhedra-network", Decimals: 18, Price: 0.175288},                                       // Addr: 0xc71b5f631354be6853efe9c3ab6b9590f8302e81, Notional: 12154.306355037072
-		{Chain: 2, Addr: "000000000000000000000000c8168d5665f4418353728ac970713e09c0b7c20e", Symbol: "MONKE", CoinGeckoId: "monke-coin", Decimals: 18, Price: 2.486e-8},                                           // Addr: 0xc8168d5665f4418353728ac970713e09c0b7c20e, Notional: 231.71483605696153
-		{Chain: 2, Addr: "000000000000000000000000c86d054809623432210c107af2e3f619dcfbf652", Symbol: "UPP", CoinGeckoId: "sentinel-protocol", Decimals: 18, Price: 0.04148019},                                    // Addr: 0xc86d054809623432210c107af2e3f619dcfbf652, Notional: 0.4148019
-		{Chain: 2, Addr: "000000000000000000000000c944e90c64b2c07662a292be6244bdf05cda44a7", Symbol: "GRT", CoinGeckoId: "the-graph", Decimals: 18, Price: 0.097413},                                              // Addr: 0xc944e90c64b2c07662a292be6244bdf05cda44a7, Notional: 229.426513414239
-		{Chain: 2, Addr: "000000000000000000000000c97d6c52f3add91fa1c5287a453d7444aecbca83", Symbol: "DZOO", CoinGeckoId: "degen-zoo", Decimals: 18, Price: 0.00132427},                                           // Addr: 0xc97d6c52f3add91fa1c5287a453d7444aecbca83, Notional: 427.87451490999996
-		{Chain: 2, Addr: "000000000000000000000000caabcaa4ca42e1d86de1a201c818639def0ba7a7", Symbol: "TALK", CoinGeckoId: "talken", Decimals: 18, Price: 0.00585899},                                              // Addr: 0xcaabcaa4ca42e1d86de1a201c818639def0ba7a7, Notional: 16196.46590070595
-		{Chain: 2, Addr: "000000000000000000000000cafe001067cdef266afb7eb5a286dcfd277f3de5", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.02037316},                                             // Addr: 0xcafe001067cdef266afb7eb5a286dcfd277f3de5, Notional: 0.018414861708523203
-		{Chain: 2, Addr: "000000000000000000000000cb84d72e61e383767c4dfeb2d8ff7f4fb89abc6e", Symbol: "VEGA", CoinGeckoId: "vega-protocol", Decimals: 18, Price: 0.00242435},                                       // Addr: 0xcb84d72e61e383767c4dfeb2d8ff7f4fb89abc6e, Notional: 0.07030615
+		{Chain: 2, Addr: "000000000000000000000000c477d038d5420c6a9e0b031712f61c5120090de9", Symbol: "BOSON", CoinGeckoId: "boson-protocol", Decimals: 18, Price: 0.07802},                                        // Addr: 0xc477d038d5420c6a9e0b031712f61c5120090de9, Notional: 77.2909713214682
+		{Chain: 2, Addr: "000000000000000000000000c4c2614e694cf534d407ee49f8e44d125e4681c4", Symbol: "CHAIN", CoinGeckoId: "chain-games", Decimals: 18, Price: 0.02035348},                                        // Addr: 0xc4c2614e694cf534d407ee49f8e44d125e4681c4, Notional: 88.07325145650854
+		{Chain: 2, Addr: "000000000000000000000000c5102fe9359fd9a28f877a67e36b0f050d81a3cc", Symbol: "HOP", CoinGeckoId: "hop-protocol", Decimals: 18, Price: 0.00697516},                                         // Addr: 0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc, Notional: 0.20925480000000002
+		{Chain: 2, Addr: "000000000000000000000000c5ba042bf8832999b17c9036e8212f49dce0501a", Symbol: "YOURAI", CoinGeckoId: "your-ai", Decimals: 18, Price: 0.0004906},                                            // Addr: 0xc5ba042bf8832999b17c9036e8212f49dce0501a, Notional: 64119.40651023982
+		{Chain: 2, Addr: "000000000000000000000000c6c9448a86882d73164a984fa52285ab51c823bc", Symbol: "RPILL", CoinGeckoId: "red-pill-2", Decimals: 18, Price: 3.50858e-7},                                         // Addr: 0xc6c9448a86882d73164a984fa52285ab51c823bc, Notional: 2357.923192711578
+		{Chain: 2, Addr: "000000000000000000000000c71b5f631354be6853efe9c3ab6b9590f8302e81", Symbol: "ZK", CoinGeckoId: "polyhedra-network", Decimals: 18, Price: 0.126669},                                       // Addr: 0xc71b5f631354be6853efe9c3ab6b9590f8302e81, Notional: 8789.437379010584
+		{Chain: 2, Addr: "000000000000000000000000c8168d5665f4418353728ac970713e09c0b7c20e", Symbol: "MONKE", CoinGeckoId: "monke-coin", Decimals: 18, Price: 1.8171e-8},                                          // Addr: 0xc8168d5665f4418353728ac970713e09c0b7c20e, Notional: 169.36807264646214
+		{Chain: 2, Addr: "000000000000000000000000c86d054809623432210c107af2e3f619dcfbf652", Symbol: "UPP", CoinGeckoId: "sentinel-protocol", Decimals: 18, Price: 0.03675537},                                    // Addr: 0xc86d054809623432210c107af2e3f619dcfbf652, Notional: 0.36755370000000004
+		{Chain: 2, Addr: "000000000000000000000000c944e90c64b2c07662a292be6244bdf05cda44a7", Symbol: "GRT", CoinGeckoId: "the-graph", Decimals: 18, Price: 0.08047},                                               // Addr: 0xc944e90c64b2c07662a292be6244bdf05cda44a7, Notional: 189.52246142141001
+		{Chain: 2, Addr: "000000000000000000000000c97d6c52f3add91fa1c5287a453d7444aecbca83", Symbol: "DZOO", CoinGeckoId: "degen-zoo", Decimals: 18, Price: 0.00152159},                                           // Addr: 0xc97d6c52f3add91fa1c5287a453d7444aecbca83, Notional: 491.62903572678294
+		{Chain: 2, Addr: "000000000000000000000000caabcaa4ca42e1d86de1a201c818639def0ba7a7", Symbol: "TALK", CoinGeckoId: "talken", Decimals: 18, Price: 0.0054844},                                               // Addr: 0xcaabcaa4ca42e1d86de1a201c818639def0ba7a7, Notional: 15273.36497014535
+		{Chain: 2, Addr: "000000000000000000000000cafe001067cdef266afb7eb5a286dcfd277f3de5", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.01412233},                                             // Addr: 0xcafe001067cdef266afb7eb5a286dcfd277f3de5, Notional: 0.0127648707393516
+		{Chain: 2, Addr: "000000000000000000000000cb84d72e61e383767c4dfeb2d8ff7f4fb89abc6e", Symbol: "VEGA", CoinGeckoId: "vega-protocol", Decimals: 18, Price: 0.00178335},                                       // Addr: 0xcb84d72e61e383767c4dfeb2d8ff7f4fb89abc6e, Notional: 0.051717149999999996
 		{Chain: 2, Addr: "000000000000000000000000cb8fb2438a805664cd8c3e640b85ac473da5be87", Symbol: "CTI", CoinGeckoId: "clintex-cti", Decimals: 18, Price: 0.00016453},                                          // Addr: 0xcb8fb2438a805664cd8c3e640b85ac473da5be87, Notional: 1441.4917655840477
-		{Chain: 2, Addr: "000000000000000000000000cbd55d4ffc43467142761a764763652b48b969ff", Symbol: "ASTRO", CoinGeckoId: "astrotools", Decimals: 18, Price: 0.04239193},                                         // Addr: 0xcbd55d4ffc43467142761a764763652b48b969ff, Notional: 6.368945562738683
+		{Chain: 2, Addr: "000000000000000000000000cbd55d4ffc43467142761a764763652b48b969ff", Symbol: "ASTRO", CoinGeckoId: "astrotools", Decimals: 18, Price: 0.03312091},                                         // Addr: 0xcbd55d4ffc43467142761a764763652b48b969ff, Notional: 4.976071454599196
 		{Chain: 2, Addr: "000000000000000000000000cc503242b574bc01145da7e2a743b43fb395ec91", Symbol: "ROVI", CoinGeckoId: "rovi-protocol", Decimals: 18, Price: 0.02260218},                                       // Addr: 0xcc503242b574bc01145da7e2a743b43fb395ec91, Notional: 3.4127031582000003
-		{Chain: 2, Addr: "000000000000000000000000cc8fa225d80b9c7d42f96e9570156c65d6caaa25", Symbol: "SLP", CoinGeckoId: "smooth-love-potion", Decimals: 0, Price: 0.00178643},                                    // Addr: 0xcc8fa225d80b9c7d42f96e9570156c65d6caaa25, Notional: 3591.3513369300003
+		{Chain: 2, Addr: "000000000000000000000000cc8fa225d80b9c7d42f96e9570156c65d6caaa25", Symbol: "SLP", CoinGeckoId: "smooth-love-potion", Decimals: 0, Price: 0.0015033},                                     // Addr: 0xcc8fa225d80b9c7d42f96e9570156c65d6caaa25, Notional: 3022.1606583
 		{Chain: 2, Addr: "000000000000000000000000ccdb064a41afcd432bcea6f6d0d1e7c371d0b002", Symbol: "QR", CoinGeckoId: "qrolli", Decimals: 9, Price: 0.00054804},                                                 // Addr: 0xccdb064a41afcd432bcea6f6d0d1e7c371d0b002, Notional: 0.00109608
-		{Chain: 2, Addr: "000000000000000000000000cd1faff6e578fa5cac469d2418c95671ba1a62fe", Symbol: "XTM", CoinGeckoId: "torum", Decimals: 18, Price: 0.00548763},                                                // Addr: 0xcd1faff6e578fa5cac469d2418c95671ba1a62fe, Notional: 0.2743815
-		{Chain: 2, Addr: "000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee", Symbol: "weETH", CoinGeckoId: "wrapped-eeth", Decimals: 18, Price: 4615.78},                                          // Addr: 0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee, Notional: 28375.9605426492
-		{Chain: 2, Addr: "000000000000000000000000cdf7028ceab81fa0c6971208e83fa7872994bee5", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01637153},                                // Addr: 0xcdf7028ceab81fa0c6971208e83fa7872994bee5, Notional: 1735.421877073485
+		{Chain: 2, Addr: "000000000000000000000000cd1faff6e578fa5cac469d2418c95671ba1a62fe", Symbol: "XTM", CoinGeckoId: "torum", Decimals: 18, Price: 0.00551126},                                                // Addr: 0xcd1faff6e578fa5cac469d2418c95671ba1a62fe, Notional: 0.275563
+		{Chain: 2, Addr: "000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee", Symbol: "weETH", CoinGeckoId: "wrapped-eeth", Decimals: 18, Price: 4465.64},                                          // Addr: 0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee, Notional: 27452.960157909605
+		{Chain: 2, Addr: "000000000000000000000000cdf7028ceab81fa0c6971208e83fa7872994bee5", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01474247},                                // Addr: 0xcdf7028ceab81fa0c6971208e83fa7872994bee5, Notional: 1562.7375669897403
 		{Chain: 2, Addr: "000000000000000000000000ce246eea10988c495b4a90a905ee9237a0f91543", Symbol: "VCX", CoinGeckoId: "vaultcraft", Decimals: 18, Price: 0.00008582},                                           // Addr: 0xce246eea10988c495b4a90a905ee9237a0f91543, Notional: 0.008582
-		{Chain: 2, Addr: "000000000000000000000000cf0c122c6b73ff809c693db761e7baebe62b6a2e", Symbol: "FLOKI", CoinGeckoId: "floki", Decimals: 9, Price: 0.00009557},                                               // Addr: 0xcf0c122c6b73ff809c693db761e7baebe62b6a2e, Notional: 17521.350367779374
+		{Chain: 2, Addr: "000000000000000000000000cf0c122c6b73ff809c693db761e7baebe62b6a2e", Symbol: "FLOKI", CoinGeckoId: "floki", Decimals: 9, Price: 0.00008128},                                               // Addr: 0xcf0c122c6b73ff809c693db761e7baebe62b6a2e, Notional: 14901.48956673755
 		{Chain: 2, Addr: "000000000000000000000000cfa0885131f602d11d4da248d2c65a62063567a9", Symbol: "TORG", CoinGeckoId: "torg", Decimals: 18, Price: 1.9398e-8},                                                 // Addr: 0xcfa0885131f602d11d4da248d2c65a62063567a9, Notional: 0.77592184281
-		{Chain: 2, Addr: "000000000000000000000000cfd16933cb1579eee9fe6031686534e87353b148", Symbol: "AIMR", CoinGeckoId: "meromai", Decimals: 18, Price: 0.001539},                                               // Addr: 0xcfd16933cb1579eee9fe6031686534e87353b148, Notional: 84018.12392665572
-		{Chain: 2, Addr: "000000000000000000000000d084b83c305dafd76ae3e1b4e1f1fe2ecccb3988", Symbol: "TVK", CoinGeckoId: "the-virtua-kolect", Decimals: 18, Price: 0.02942819},                                    // Addr: 0xd084b83c305dafd76ae3e1b4e1f1fe2ecccb3988, Notional: 0.1482738849927951
-		{Chain: 2, Addr: "000000000000000000000000d0d56273290d339aaf1417d9bfa1bb8cfe8a0933", Symbol: "FOOM", CoinGeckoId: "foom", Decimals: 18, Price: 1.58738e-7},                                                // Addr: 0xd0d56273290d339aaf1417d9bfa1bb8cfe8a0933, Notional: 3469.133768414399
-		{Chain: 2, Addr: "000000000000000000000000d13c7342e1ef687c5ad21b27c2b65d772cab5c8c", Symbol: "UOS", CoinGeckoId: "ultra", Decimals: 4, Price: 0.03772482},                                                 // Addr: 0xd13c7342e1ef687c5ad21b27c2b65d772cab5c8c, Notional: 378.0026964
-		{Chain: 2, Addr: "000000000000000000000000d13cfd3133239a3c73a9e535a5c4dadee36b395c", Symbol: "VAI", CoinGeckoId: "vaiot", Decimals: 18, Price: 0.02414633},                                                // Addr: 0xd13cfd3133239a3c73a9e535a5c4dadee36b395c, Notional: 12.72511591
-		{Chain: 2, Addr: "000000000000000000000000d1ba9bac957322d6e8c07a160a3a8da11a0d2867", Symbol: "HMT", CoinGeckoId: "human-protocol", Decimals: 18, Price: 0.01179624},                                       // Addr: 0xd1ba9bac957322d6e8c07a160a3a8da11a0d2867, Notional: 14.167284239999999
-		{Chain: 2, Addr: "000000000000000000000000d1d2eb1b1e90b638588728b4130137d262c87cae", Symbol: "GALA", CoinGeckoId: "gala", Decimals: 8, Price: 0.01681411},                                                 // Addr: 0xd1d2eb1b1e90b638588728b4130137d262c87cae, Notional: 13.518525112012414
-		{Chain: 2, Addr: "000000000000000000000000d2877702675e6ceb975b4a1dff9fb7baf4c91ea9", Symbol: "LUNA", CoinGeckoId: "wrapped-terra", Decimals: 18, Price: 0.00003023},                                       // Addr: 0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9, Notional: 9.569457864936812
-		{Chain: 2, Addr: "000000000000000000000000d2be3722b17b616c51ed9b8944a227d1ce579c24", Symbol: "DTUBE", CoinGeckoId: "dtube-coin", Decimals: 2, Price: 0.03880845},                                          // Addr: 0xd2be3722b17b616c51ed9b8944a227d1ce579c24, Notional: 0.03880845
-		{Chain: 2, Addr: "000000000000000000000000d373576a9e738f37dc6882328358ff69c4caf4c6", Symbol: "ZAM", CoinGeckoId: "zam-io", Decimals: 18, Price: 0.00005501},                                               // Addr: 0xd373576a9e738f37dc6882328358ff69c4caf4c6, Notional: 0.0005501
+		{Chain: 2, Addr: "000000000000000000000000cfd16933cb1579eee9fe6031686534e87353b148", Symbol: "AIMR", CoinGeckoId: "meromai", Decimals: 18, Price: 0.00148091},                                             // Addr: 0xcfd16933cb1579eee9fe6031686534e87353b148, Notional: 80846.83554530457
+		{Chain: 2, Addr: "000000000000000000000000d084b83c305dafd76ae3e1b4e1f1fe2ecccb3988", Symbol: "TVK", CoinGeckoId: "the-virtua-kolect", Decimals: 18, Price: 0.02382157},                                    // Addr: 0xd084b83c305dafd76ae3e1b4e1f1fe2ecccb3988, Notional: 0.1200249397101153
+		{Chain: 2, Addr: "000000000000000000000000d0d56273290d339aaf1417d9bfa1bb8cfe8a0933", Symbol: "FOOM", CoinGeckoId: "foom", Decimals: 18, Price: 1.66409e-7},                                                // Addr: 0xd0d56273290d339aaf1417d9bfa1bb8cfe8a0933, Notional: 3530.6638303777104
+		{Chain: 2, Addr: "000000000000000000000000d13c7342e1ef687c5ad21b27c2b65d772cab5c8c", Symbol: "UOS", CoinGeckoId: "ultra", Decimals: 4, Price: 0.0313201},                                                  // Addr: 0xd13c7342e1ef687c5ad21b27c2b65d772cab5c8c, Notional: 313.82740199999995
+		{Chain: 2, Addr: "000000000000000000000000d13cfd3133239a3c73a9e535a5c4dadee36b395c", Symbol: "VAI", CoinGeckoId: "vaiot", Decimals: 18, Price: 0.01871244},                                                // Addr: 0xd13cfd3133239a3c73a9e535a5c4dadee36b395c, Notional: 9.86145588
+		{Chain: 2, Addr: "000000000000000000000000d1ba9bac957322d6e8c07a160a3a8da11a0d2867", Symbol: "HMT", CoinGeckoId: "human-protocol", Decimals: 18, Price: 0.01017097},                                       // Addr: 0xd1ba9bac957322d6e8c07a160a3a8da11a0d2867, Notional: 12.215334969999999
+		{Chain: 2, Addr: "000000000000000000000000d1d2eb1b1e90b638588728b4130137d262c87cae", Symbol: "GALA", CoinGeckoId: "gala", Decimals: 8, Price: 0.01439957},                                                 // Addr: 0xd1d2eb1b1e90b638588728b4130137d262c87cae, Notional: 11.57723772755029
+		{Chain: 2, Addr: "000000000000000000000000d2877702675e6ceb975b4a1dff9fb7baf4c91ea9", Symbol: "LUNA", CoinGeckoId: "wrapped-terra", Decimals: 18, Price: 0.00002366},                                       // Addr: 0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9, Notional: 7.489691468223783
+		{Chain: 2, Addr: "000000000000000000000000d2be3722b17b616c51ed9b8944a227d1ce579c24", Symbol: "DTUBE", CoinGeckoId: "dtube-coin", Decimals: 2, Price: 0.04450272},                                          // Addr: 0xd2be3722b17b616c51ed9b8944a227d1ce579c24, Notional: 0.04450272
+		{Chain: 2, Addr: "000000000000000000000000d373576a9e738f37dc6882328358ff69c4caf4c6", Symbol: "ZAM", CoinGeckoId: "zam-io", Decimals: 18, Price: 0.00007306},                                               // Addr: 0xd373576a9e738f37dc6882328358ff69c4caf4c6, Notional: 0.0007306
 		{Chain: 2, Addr: "000000000000000000000000d38e031f4529a07996aab977d2b79f0e00656c56", Symbol: "wTBT", CoinGeckoId: "wtbt", Decimals: 18, Price: 1.18},                                                      // Addr: 0xd38e031f4529a07996aab977d2b79f0e00656c56, Notional: 475.495094923
-		{Chain: 2, Addr: "000000000000000000000000d3e4ba569045546d09cf021ecc5dfe42b1d7f6e4", Symbol: "MNW", CoinGeckoId: "morpheus-network", Decimals: 18, Price: 0.079162},                                       // Addr: 0xd3e4ba569045546d09cf021ecc5dfe42b1d7f6e4, Notional: 2.37486
-		{Chain: 2, Addr: "000000000000000000000000d3fb8597d260efb2e693efd500d62a330a00f1eb", Symbol: "TRUMP INU", CoinGeckoId: "t-inu", Decimals: 18, Price: 9.24545e-7},                                          // Addr: 0xd3fb8597d260efb2e693efd500d62a330a00f1eb, Notional: 746.3208185062666
-		{Chain: 2, Addr: "000000000000000000000000d417144312dbf50465b1c641d016962017ef6240", Symbol: "CQT", CoinGeckoId: "covalent", Decimals: 18, Price: 0.00169371},                                             // Addr: 0xd417144312dbf50465b1c641d016962017ef6240, Notional: 9595.925369685243
-		{Chain: 2, Addr: "000000000000000000000000d46ba6d942050d489dbd938a2c909a5d5039a161", Symbol: "AMPL", CoinGeckoId: "ampleforth", Decimals: 9, Price: 1.27},                                                 // Addr: 0xd46ba6d942050d489dbd938a2c909a5d5039a161, Notional: 12.645255634000002
-		{Chain: 2, Addr: "000000000000000000000000d49efa7bc0d339d74f487959c573d518ba3f8437", Symbol: "COLI", CoinGeckoId: "shield-finance", Decimals: 18, Price: 0.00083848},                                      // Addr: 0xd49efa7bc0d339d74f487959c573d518ba3f8437, Notional: 144694.45468082963
-		{Chain: 2, Addr: "000000000000000000000000d4c435f5b09f855c3317c8524cb1f586e42795fa", Symbol: "CND", CoinGeckoId: "cindicator", Decimals: 18, Price: 0.00018255},                                           // Addr: 0xd4c435f5b09f855c3317c8524cb1f586e42795fa, Notional: 0.0007302
-		{Chain: 2, Addr: "000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd52", Symbol: "CRV", CoinGeckoId: "curve-dao-token", Decimals: 18, Price: 0.772564},                                        // Addr: 0xd533a949740bb3306d119cc777fa900ba034cd52, Notional: 3637.224900684505
-		{Chain: 2, Addr: "000000000000000000000000d69f306549e9d96f183b1aeca30b8f4353c2ecc3", Symbol: "MCHC", CoinGeckoId: "mch-coin", Decimals: 18, Price: 0.02745527},                                            // Addr: 0xd69f306549e9d96f183b1aeca30b8f4353c2ecc3, Notional: 230.7301855849812
-		{Chain: 2, Addr: "000000000000000000000000d6c7bb8531295e88d364ea67d5d1acc7d3f87454", Symbol: "FTR", CoinGeckoId: "fautor", Decimals: 18, Price: 0.0042591},                                                // Addr: 0xd6c7bb8531295e88d364ea67d5d1acc7d3f87454, Notional: 0.0042591
-		{Chain: 2, Addr: "000000000000000000000000d7c302fc3ac829c7e896a32c4bd126f3e8bd0a1f", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.0157458},                                                // Addr: 0xd7c302fc3ac829c7e896a32c4bd126f3e8bd0a1f, Notional: 0.008275222982754
+		{Chain: 2, Addr: "000000000000000000000000d3e4ba569045546d09cf021ecc5dfe42b1d7f6e4", Symbol: "MNW", CoinGeckoId: "morpheus-network", Decimals: 18, Price: 0.064494},                                       // Addr: 0xd3e4ba569045546d09cf021ecc5dfe42b1d7f6e4, Notional: 1.9348199999999998
+		{Chain: 2, Addr: "000000000000000000000000d3fb8597d260efb2e693efd500d62a330a00f1eb", Symbol: "TRUMP INU", CoinGeckoId: "t-inu", Decimals: 18, Price: 8.79251e-7},                                          // Addr: 0xd3fb8597d260efb2e693efd500d62a330a00f1eb, Notional: 727.6070049094875
+		{Chain: 2, Addr: "000000000000000000000000d417144312dbf50465b1c641d016962017ef6240", Symbol: "CQT", CoinGeckoId: "covalent", Decimals: 18, Price: 0.00141211},                                             // Addr: 0xd417144312dbf50465b1c641d016962017ef6240, Notional: 7999.074729831528
+		{Chain: 2, Addr: "000000000000000000000000d46ba6d942050d489dbd938a2c909a5d5039a161", Symbol: "AMPL", CoinGeckoId: "ampleforth", Decimals: 9, Price: 1.2},                                                  // Addr: 0xd46ba6d942050d489dbd938a2c909a5d5039a161, Notional: 11.94827304
+		{Chain: 2, Addr: "000000000000000000000000d49efa7bc0d339d74f487959c573d518ba3f8437", Symbol: "COLI", CoinGeckoId: "shield-finance", Decimals: 18, Price: 0.00079311},                                      // Addr: 0xd49efa7bc0d339d74f487959c573d518ba3f8437, Notional: 136865.0641063744
+		{Chain: 2, Addr: "000000000000000000000000d4c435f5b09f855c3317c8524cb1f586e42795fa", Symbol: "CND", CoinGeckoId: "cindicator", Decimals: 18, Price: 0.00019028},                                           // Addr: 0xd4c435f5b09f855c3317c8524cb1f586e42795fa, Notional: 0.00076112
+		{Chain: 2, Addr: "000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd52", Symbol: "CRV", CoinGeckoId: "curve-dao-token", Decimals: 18, Price: 0.688463},                                        // Addr: 0xd533a949740bb3306d119cc777fa900ba034cd52, Notional: 3241.278090617679
+		{Chain: 2, Addr: "000000000000000000000000d69f306549e9d96f183b1aeca30b8f4353c2ecc3", Symbol: "MCHC", CoinGeckoId: "mch-coin", Decimals: 18, Price: 0.02572199},                                            // Addr: 0xd69f306549e9d96f183b1aeca30b8f4353c2ecc3, Notional: 216.1639468967171
+		{Chain: 2, Addr: "000000000000000000000000d6c7bb8531295e88d364ea67d5d1acc7d3f87454", Symbol: "FTR", CoinGeckoId: "fautor", Decimals: 18, Price: 0.00289228},                                               // Addr: 0xd6c7bb8531295e88d364ea67d5d1acc7d3f87454, Notional: 0.00289228
+		{Chain: 2, Addr: "000000000000000000000000d7c302fc3ac829c7e896a32c4bd126f3e8bd0a1f", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.01567571},                                               // Addr: 0xd7c302fc3ac829c7e896a32c4bd126f3e8bd0a1f, Notional: 0.0082383871040523
 		{Chain: 2, Addr: "000000000000000000000000d7dcd9b99787c619b4d57979521258d1a7267ad7", Symbol: "EVRY", CoinGeckoId: "evrynet", Decimals: 18, Price: 0.00140897},                                             // Addr: 0xd7dcd9b99787c619b4d57979521258d1a7267ad7, Notional: 0.18034816
-		{Chain: 2, Addr: "000000000000000000000000d96e84ddbc7cbe1d73c55b6fe8c64f3a6550deea", Symbol: "GMAC", CoinGeckoId: "gemach", Decimals: 18, Price: 0.00260119},                                              // Addr: 0xd96e84ddbc7cbe1d73c55b6fe8c64f3a6550deea, Notional: 210053.1545542167
+		{Chain: 2, Addr: "000000000000000000000000d96e84ddbc7cbe1d73c55b6fe8c64f3a6550deea", Symbol: "GMAC", CoinGeckoId: "gemach", Decimals: 18, Price: 0.00185507},                                              // Addr: 0xd96e84ddbc7cbe1d73c55b6fe8c64f3a6550deea, Notional: 159543.9417066547
 		{Chain: 2, Addr: "000000000000000000000000d979c468a68062e7bdff4ba6df7842dfd3492e0f", Symbol: "BBL", CoinGeckoId: "beoble", Decimals: 18, Price: 0.00004971},                                               // Addr: 0xd979c468a68062e7bdff4ba6df7842dfd3492e0f, Notional: 315.29610151151263
-		{Chain: 2, Addr: "000000000000000000000000d9c2d319cd7e6177336b0a9c93c21cb48d84fb54", Symbol: "HAPI", CoinGeckoId: "hapi", Decimals: 18, Price: 1.98},                                                      // Addr: 0xd9c2d319cd7e6177336b0a9c93c21cb48d84fb54, Notional: 1.98
-		{Chain: 2, Addr: "000000000000000000000000da31d0d1bc934fc34f7189e38a413ca0a5e8b44f", Symbol: "BSSB", CoinGeckoId: "bitstable-finance", Decimals: 18, Price: 0.03213819},                                   // Addr: 0xda31d0d1bc934fc34f7189e38a413ca0a5e8b44f, Notional: 0.3213819
-		{Chain: 2, Addr: "000000000000000000000000da9fdab21bc4a5811134a6e0ba6ca06624e67c07", Symbol: "QUIDD", CoinGeckoId: "quidd", Decimals: 18, Price: 0.00086549},                                              // Addr: 0xda9fdab21bc4a5811134a6e0ba6ca06624e67c07, Notional: 46.53480083
-		{Chain: 2, Addr: "000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0xdac17f958d2ee523a2206206994597c13d831ec7, Notional: 11336509.210334
-		{Chain: 2, Addr: "000000000000000000000000db0170e2d0c1cc1b2e7a90313d9b9afa4f250289", Symbol: "ADAPAD", CoinGeckoId: "adapad", Decimals: 18, Price: 0.00267778},                                            // Addr: 0xdb0170e2d0c1cc1b2e7a90313d9b9afa4f250289, Notional: 6.939376419625826
-		{Chain: 2, Addr: "000000000000000000000000db726152680ece3c9291f1016f1d36f3995f6941", Symbol: "MEDIA", CoinGeckoId: "media-network", Decimals: 6, Price: 0.691703},                                         // Addr: 0xdb726152680ece3c9291f1016f1d36f3995f6941, Notional: 0.691703
-		{Chain: 2, Addr: "000000000000000000000000db82c0d91e057e05600c8f8dc836beb41da6df14", Symbol: "SLN", CoinGeckoId: "smart-layer-network", Decimals: 18, Price: 0.0278621},                                   // Addr: 0xdb82c0d91e057e05600c8f8dc836beb41da6df14, Notional: 5823.2341419248805
-		{Chain: 2, Addr: "000000000000000000000000dbdb4d16eda451d0503b854cf79d55697f90c8df", Symbol: "ALCX", CoinGeckoId: "alchemix", Decimals: 18, Price: 9.46},                                                  // Addr: 0xdbdb4d16eda451d0503b854cf79d55697f90c8df, Notional: 0.009460000000000001
-		{Chain: 2, Addr: "000000000000000000000000dd69db25f6d620a7bad3023c5d32761d353d3de9", Symbol: "GETH", CoinGeckoId: "goerli-eth", Decimals: 18, Price: 0.00656884},                                          // Addr: 0xdd69db25f6d620a7bad3023c5d32761d353d3de9, Notional: 0.492663
-		{Chain: 2, Addr: "000000000000000000000000de30da39c46104798bb5aa3fe8b9e0e1f348163f", Symbol: "GTC", CoinGeckoId: "gitcoin", Decimals: 18, Price: 0.355674},                                                // Addr: 0xde30da39c46104798bb5aa3fe8b9e0e1f348163f, Notional: 7.469154
-		{Chain: 2, Addr: "000000000000000000000000de342a3e269056fc3305f9e315f4c40d917ba521", Symbol: "BYTE", CoinGeckoId: "byte", Decimals: 9, Price: 0.00000418},                                                 // Addr: 0xde342a3e269056fc3305f9e315f4c40d917ba521, Notional: 139003.92635705776
-		{Chain: 2, Addr: "000000000000000000000000de4ee8057785a7e8e800db58f9784845a5c2cbd6", Symbol: "DEXE", CoinGeckoId: "dexe", Decimals: 18, Price: 6.86},                                                      // Addr: 0xde4ee8057785a7e8e800db58f9784845a5c2cbd6, Notional: 159421946.465447
+		{Chain: 2, Addr: "000000000000000000000000d9c2d319cd7e6177336b0a9c93c21cb48d84fb54", Symbol: "HAPI", CoinGeckoId: "hapi", Decimals: 18, Price: 2.19},                                                      // Addr: 0xd9c2d319cd7e6177336b0a9c93c21cb48d84fb54, Notional: 2.19
+		{Chain: 2, Addr: "000000000000000000000000da31d0d1bc934fc34f7189e38a413ca0a5e8b44f", Symbol: "BSSB", CoinGeckoId: "bitstable-finance", Decimals: 18, Price: 0.03927296},                                   // Addr: 0xda31d0d1bc934fc34f7189e38a413ca0a5e8b44f, Notional: 0.3927296
+		{Chain: 2, Addr: "000000000000000000000000da9fdab21bc4a5811134a6e0ba6ca06624e67c07", Symbol: "QUIDD", CoinGeckoId: "quidd", Decimals: 18, Price: 0.00082015},                                              // Addr: 0xda9fdab21bc4a5811134a6e0ba6ca06624e67c07, Notional: 44.09700505
+		{Chain: 2, Addr: "000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0xdac17f958d2ee523a2206206994597c13d831ec7, Notional: 10978057.308213
+		{Chain: 2, Addr: "000000000000000000000000db0170e2d0c1cc1b2e7a90313d9b9afa4f250289", Symbol: "ADAPAD", CoinGeckoId: "adapad", Decimals: 18, Price: 0.0029738},                                             // Addr: 0xdb0170e2d0c1cc1b2e7a90313d9b9afa4f250289, Notional: 7.706502250626744
+		{Chain: 2, Addr: "000000000000000000000000db726152680ece3c9291f1016f1d36f3995f6941", Symbol: "MEDIA", CoinGeckoId: "media-network", Decimals: 6, Price: 0.552392},                                         // Addr: 0xdb726152680ece3c9291f1016f1d36f3995f6941, Notional: 0.552392
+		{Chain: 2, Addr: "000000000000000000000000db82c0d91e057e05600c8f8dc836beb41da6df14", Symbol: "SLN", CoinGeckoId: "smart-layer-network", Decimals: 18, Price: 0.02648655},                                  // Addr: 0xdb82c0d91e057e05600c8f8dc836beb41da6df14, Notional: 5535.741464634771
+		{Chain: 2, Addr: "000000000000000000000000dbdb4d16eda451d0503b854cf79d55697f90c8df", Symbol: "ALCX", CoinGeckoId: "alchemix", Decimals: 18, Price: 8.34},                                                  // Addr: 0xdbdb4d16eda451d0503b854cf79d55697f90c8df, Notional: 0.00834
+		{Chain: 2, Addr: "000000000000000000000000dd69db25f6d620a7bad3023c5d32761d353d3de9", Symbol: "GETH", CoinGeckoId: "goerli-eth", Decimals: 18, Price: 0.00614007},                                          // Addr: 0xdd69db25f6d620a7bad3023c5d32761d353d3de9, Notional: 0.46050525000000003
+		{Chain: 2, Addr: "000000000000000000000000de30da39c46104798bb5aa3fe8b9e0e1f348163f", Symbol: "GTC", CoinGeckoId: "gitcoin", Decimals: 18, Price: 0.255911},                                                // Addr: 0xde30da39c46104798bb5aa3fe8b9e0e1f348163f, Notional: 5.374131
+		{Chain: 2, Addr: "000000000000000000000000de342a3e269056fc3305f9e315f4c40d917ba521", Symbol: "BYTE", CoinGeckoId: "byte", Decimals: 9, Price: 0.00000363},                                                 // Addr: 0xde342a3e269056fc3305f9e315f4c40d917ba521, Notional: 121501.06769373493
+		{Chain: 2, Addr: "000000000000000000000000de4ee8057785a7e8e800db58f9784845a5c2cbd6", Symbol: "DEXE", CoinGeckoId: "dexe", Decimals: 18, Price: 9.46},                                                      // Addr: 0xde4ee8057785a7e8e800db58f9784845a5c2cbd6, Notional: 219756725.58507565
 		{Chain: 2, Addr: "000000000000000000000000de5ea375ffbdc8b25a80fe13d631e8ba0ab4bb02", Symbol: "GERA", CoinGeckoId: "gera-coin", Decimals: 18, Price: 0.00004141},                                           // Addr: 0xde5ea375ffbdc8b25a80fe13d631e8ba0ab4bb02, Notional: 0.18361989746941587
-		{Chain: 2, Addr: "000000000000000000000000defb0b264032e4e128b00d02b3fd0aa00331237b", Symbol: "Buddha", CoinGeckoId: "buddha", Decimals: 18, Price: 7.06965e-7},                                            // Addr: 0xdefb0b264032e4e128b00d02b3fd0aa00331237b, Notional: 3140.704191085621
-		{Chain: 2, Addr: "000000000000000000000000df09a216fac5adc3e640db418c0b956076509503", Symbol: "PKN", CoinGeckoId: "poken", Decimals: 18, Price: 0.00032366},                                                // Addr: 0xdf09a216fac5adc3e640db418c0b956076509503, Notional: 23.1426091944
-		{Chain: 2, Addr: "000000000000000000000000df3ac4f479375802a821f7b7b46cd7eb5e4262cc", Symbol: "eUSD", CoinGeckoId: "eusd-new", Decimals: 18, Price: 0.989809},                                              // Addr: 0xdf3ac4f479375802a821f7b7b46cd7eb5e4262cc, Notional: 4.9490449901019105
-		{Chain: 2, Addr: "000000000000000000000000df574c24545e5ffecb9a659c229253d4111d87e1", Symbol: "HUSD", CoinGeckoId: "husd", Decimals: 8, Price: 0.03148457},                                                 // Addr: 0xdf574c24545e5ffecb9a659c229253d4111d87e1, Notional: 257.40824999486966
-		{Chain: 2, Addr: "000000000000000000000000dfdb7f72c1f195c5951a234e8db9806eb0635346", Symbol: "NFD", CoinGeckoId: "feisty-doge-nft", Decimals: 18, Price: 0.00015843},                                      // Addr: 0xdfdb7f72c1f195c5951a234e8db9806eb0635346, Notional: 149963.517002204
-		{Chain: 2, Addr: "000000000000000000000000e020b01b6fbd83066aa2e8ee0ccd1eb8d9cc70bf", Symbol: "ARCD", CoinGeckoId: "arcade-protocol", Decimals: 18, Price: 0.00261124},                                     // Addr: 0xe020b01b6fbd83066aa2e8ee0ccd1eb8d9cc70bf, Notional: 0.783372
-		{Chain: 2, Addr: "000000000000000000000000e0b9a2c3e9f40cf74b2c7f591b2b0cca055c3112", Symbol: "GS", CoinGeckoId: "genesis-shards", Decimals: 18, Price: 0.00785848},                                        // Addr: 0xe0b9a2c3e9f40cf74b2c7f591b2b0cca055c3112, Notional: 0.7306325666074511
-		{Chain: 2, Addr: "000000000000000000000000e0f63a424a4439cbe457d80e4f4b51ad25b2c56c", Symbol: "SPX", CoinGeckoId: "spx6900", Decimals: 8, Price: 1.39},                                                     // Addr: 0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c, Notional: 207917201.61990422
+		{Chain: 2, Addr: "000000000000000000000000defb0b264032e4e128b00d02b3fd0aa00331237b", Symbol: "Buddha", CoinGeckoId: "buddha", Decimals: 18, Price: 6.79321e-7},                                            // Addr: 0xdefb0b264032e4e128b00d02b3fd0aa00331237b, Notional: 2989.0378485725455
+		{Chain: 2, Addr: "000000000000000000000000df09a216fac5adc3e640db418c0b956076509503", Symbol: "PKN", CoinGeckoId: "poken", Decimals: 18, Price: 0.00014015},                                                // Addr: 0xdf09a216fac5adc3e640db418c0b956076509503, Notional: 10.021123026
+		{Chain: 2, Addr: "000000000000000000000000df3ac4f479375802a821f7b7b46cd7eb5e4262cc", Symbol: "eUSD", CoinGeckoId: "eusd-new", Decimals: 18, Price: 1.013},                                                 // Addr: 0xdf3ac4f479375802a821f7b7b46cd7eb5e4262cc, Notional: 5.0649999898699996
+		{Chain: 2, Addr: "000000000000000000000000df574c24545e5ffecb9a659c229253d4111d87e1", Symbol: "HUSD", CoinGeckoId: "husd", Decimals: 8, Price: 0.03091218},                                                 // Addr: 0xdf574c24545e5ffecb9a659c229253d4111d87e1, Notional: 252.72856377985818
+		{Chain: 2, Addr: "000000000000000000000000dfdb7f72c1f195c5951a234e8db9806eb0635346", Symbol: "NFD", CoinGeckoId: "feisty-doge-nft", Decimals: 18, Price: 0.00013465},                                      // Addr: 0xdfdb7f72c1f195c5951a234e8db9806eb0635346, Notional: 130267.81698402726
+		{Chain: 2, Addr: "000000000000000000000000e020b01b6fbd83066aa2e8ee0ccd1eb8d9cc70bf", Symbol: "ARCD", CoinGeckoId: "arcade-protocol", Decimals: 18, Price: 0.00238469},                                     // Addr: 0xe020b01b6fbd83066aa2e8ee0ccd1eb8d9cc70bf, Notional: 0.715407
+		{Chain: 2, Addr: "000000000000000000000000e0b9a2c3e9f40cf74b2c7f591b2b0cca055c3112", Symbol: "GS", CoinGeckoId: "genesis-shards", Decimals: 18, Price: 0.007522},                                          // Addr: 0xe0b9a2c3e9f40cf74b2c7f591b2b0cca055c3112, Notional: 0.6993487501426799
+		{Chain: 2, Addr: "000000000000000000000000e0f63a424a4439cbe457d80e4f4b51ad25b2c56c", Symbol: "SPX", CoinGeckoId: "spx6900", Decimals: 8, Price: 0.971513},                                                 // Addr: 0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c, Notional: 140697849.48871878
 		{Chain: 2, Addr: "000000000000000000000000e1c7e30c42c24582888c758984f6e382096786bd", Symbol: "XCUR", CoinGeckoId: "curate", Decimals: 8, Price: 0.00129511},                                               // Addr: 0xe1c7e30c42c24582888c758984f6e382096786bd, Notional: 0.00259022
-		{Chain: 2, Addr: "000000000000000000000000e28b3b32b6c345a34ff64674606124dd5aceca30", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 14.03},                                        // Addr: 0xe28b3b32b6c345a34ff64674606124dd5aceca30, Notional: 120814.4460559498
-		{Chain: 2, Addr: "000000000000000000000000e3818504c1b32bf1557b16c238b2e01fd3149c17", Symbol: "PLR", CoinGeckoId: "pillar", Decimals: 18, Price: 0.00194039},                                               // Addr: 0xe3818504c1b32bf1557b16c238b2e01fd3149c17, Notional: 2.092690927162731
-		{Chain: 2, Addr: "000000000000000000000000e3c408bd53c31c085a1746af401a4042954ff740", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.0429973},                                                  // Addr: 0xe3c408bd53c31c085a1746af401a4042954ff740, Notional: 4.750025918499637
-		{Chain: 2, Addr: "000000000000000000000000e4ab0be415e277d82c38625b72bd7dea232c2e7d", Symbol: "XRP20", CoinGeckoId: "xrp20", Decimals: 18, Price: 0.00001769},                                              // Addr: 0xe4ab0be415e277d82c38625b72bd7dea232c2e7d, Notional: 0.7117998827789783
-		{Chain: 2, Addr: "000000000000000000000000e4cfe9eaa8cdb0942a80b7bc68fd8ab0f6d44903", Symbol: "XEND", CoinGeckoId: "xend-finance", Decimals: 18, Price: 0.01833689},                                        // Addr: 0xe4cfe9eaa8cdb0942a80b7bc68fd8ab0f6d44903, Notional: 106.16896578169482
-		{Chain: 2, Addr: "000000000000000000000000e516d78d784c77d479977be58905b3f2b1111126", Symbol: "SPWN", CoinGeckoId: "bitspawn", Decimals: 18, Price: 0.0000131},                                             // Addr: 0xe516d78d784c77d479977be58905b3f2b1111126, Notional: 18.45800848102389
-		{Chain: 2, Addr: "000000000000000000000000e53ec727dbdeb9e2d5456c3be40cff031ab40a55", Symbol: "SUPER", CoinGeckoId: "superfarm", Decimals: 18, Price: 0.582186},                                            // Addr: 0xe53ec727dbdeb9e2d5456c3be40cff031ab40a55, Notional: 58.218599999999995
-		{Chain: 2, Addr: "000000000000000000000000e66747a101bff2dba3697199dcce5b743b454759", Symbol: "GT", CoinGeckoId: "gatechain-token", Decimals: 18, Price: 16.72},                                            // Addr: 0xe66747a101bff2dba3697199dcce5b743b454759, Notional: 3.298585136
-		{Chain: 2, Addr: "000000000000000000000000e6f47303032a09c8c0f8ebb713c00e6ed345e8c3", Symbol: "RISITA", CoinGeckoId: "risitas", Decimals: 18, Price: 0.00000269},                                           // Addr: 0xe6f47303032a09c8c0f8ebb713c00e6ed345e8c3, Notional: 0.44526452991458415
-		{Chain: 2, Addr: "000000000000000000000000e74dc43867e0cbeb208f1a012fc60dcbbf0e3044", Symbol: "CWAP", CoinGeckoId: "defire", Decimals: 18, Price: 0.00860085},                                              // Addr: 0xe74dc43867e0cbeb208f1a012fc60dcbbf0e3044, Notional: 0.0172017
-		{Chain: 2, Addr: "000000000000000000000000e7f72bc0252ca7b16dbb72eeee1afcdb2429f2dd", Symbol: "NFTL", CoinGeckoId: "nftlaunch", Decimals: 18, Price: 0.00107551},                                           // Addr: 0xe7f72bc0252ca7b16dbb72eeee1afcdb2429f2dd, Notional: 1.0862651
-		{Chain: 2, Addr: "000000000000000000000000e831f96a7a1dce1aa2eb760b1e296c6a74caa9d5", Symbol: "NEXM", CoinGeckoId: "nexum", Decimals: 8, Price: 0.00744444},                                                // Addr: 0xe831f96a7a1dce1aa2eb760b1e296c6a74caa9d5, Notional: 4843.702625168448
-		{Chain: 2, Addr: "000000000000000000000000e939f011a3d8fc0aa874c97e8156053a903d7176", Symbol: "DOLZ", CoinGeckoId: "dolz-io", Decimals: 18, Price: 0.00555417},                                             // Addr: 0xe939f011a3d8fc0aa874c97e8156053a903d7176, Notional: 198.59064147085962
+		{Chain: 2, Addr: "000000000000000000000000e28b3b32b6c345a34ff64674606124dd5aceca30", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 12.01},                                        // Addr: 0xe28b3b32b6c345a34ff64674606124dd5aceca30, Notional: 103419.9213921566
+		{Chain: 2, Addr: "000000000000000000000000e3818504c1b32bf1557b16c238b2e01fd3149c17", Symbol: "PLR", CoinGeckoId: "pillar", Decimals: 18, Price: 0.00217358},                                               // Addr: 0xe3818504c1b32bf1557b16c238b2e01fd3149c17, Notional: 2.3441839761400387
+		{Chain: 2, Addr: "000000000000000000000000e3c408bd53c31c085a1746af401a4042954ff740", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.03802966},                                                 // Addr: 0xe3c408bd53c31c085a1746af401a4042954ff740, Notional: 4.201237535187765
+		{Chain: 2, Addr: "000000000000000000000000e4ab0be415e277d82c38625b72bd7dea232c2e7d", Symbol: "XRP20", CoinGeckoId: "xrp20", Decimals: 18, Price: 0.00001744},                                              // Addr: 0xe4ab0be415e277d82c38625b72bd7dea232c2e7d, Notional: 0.7017405288674609
+		{Chain: 2, Addr: "000000000000000000000000e4cfe9eaa8cdb0942a80b7bc68fd8ab0f6d44903", Symbol: "XEND", CoinGeckoId: "xend-finance", Decimals: 18, Price: 0.01495695},                                        // Addr: 0xe4cfe9eaa8cdb0942a80b7bc68fd8ab0f6d44903, Notional: 86.59941313649809
+		{Chain: 2, Addr: "000000000000000000000000e516d78d784c77d479977be58905b3f2b1111126", Symbol: "SPWN", CoinGeckoId: "bitspawn", Decimals: 18, Price: 0.0000101},                                             // Addr: 0xe516d78d784c77d479977be58905b3f2b1111126, Notional: 14.230983638041318
+		{Chain: 2, Addr: "000000000000000000000000e53ec727dbdeb9e2d5456c3be40cff031ab40a55", Symbol: "SUPER", CoinGeckoId: "superfarm", Decimals: 18, Price: 0.616286},                                            // Addr: 0xe53ec727dbdeb9e2d5456c3be40cff031ab40a55, Notional: 61.6286
+		{Chain: 2, Addr: "000000000000000000000000e66747a101bff2dba3697199dcce5b743b454759", Symbol: "GT", CoinGeckoId: "gatechain-token", Decimals: 18, Price: 16.32},                                            // Addr: 0xe66747a101bff2dba3697199dcce5b743b454759, Notional: 3.2196716160000003
+		{Chain: 2, Addr: "000000000000000000000000e6f47303032a09c8c0f8ebb713c00e6ed345e8c3", Symbol: "RISITA", CoinGeckoId: "risitas", Decimals: 18, Price: 0.000003},                                             // Addr: 0xe6f47303032a09c8c0f8ebb713c00e6ed345e8c3, Notional: 0.49657754265567006
+		{Chain: 2, Addr: "000000000000000000000000e74dc43867e0cbeb208f1a012fc60dcbbf0e3044", Symbol: "CWAP", CoinGeckoId: "defire", Decimals: 18, Price: 0.0076904},                                               // Addr: 0xe74dc43867e0cbeb208f1a012fc60dcbbf0e3044, Notional: 0.0153808
+		{Chain: 2, Addr: "000000000000000000000000e7f72bc0252ca7b16dbb72eeee1afcdb2429f2dd", Symbol: "NFTL", CoinGeckoId: "nftlaunch", Decimals: 18, Price: 0.00118521},                                           // Addr: 0xe7f72bc0252ca7b16dbb72eeee1afcdb2429f2dd, Notional: 1.1970621
+		{Chain: 2, Addr: "000000000000000000000000e831f96a7a1dce1aa2eb760b1e296c6a74caa9d5", Symbol: "NEXM", CoinGeckoId: "nexum", Decimals: 8, Price: 0.00515123},                                                // Addr: 0xe831f96a7a1dce1aa2eb760b1e296c6a74caa9d5, Notional: 3364.3672893189146
+		{Chain: 2, Addr: "000000000000000000000000e939f011a3d8fc0aa874c97e8156053a903d7176", Symbol: "DOLZ", CoinGeckoId: "dolz-io", Decimals: 18, Price: 0.00527367},                                             // Addr: 0xe939f011a3d8fc0aa874c97e8156053a903d7176, Notional: 188.56129866490014
 		{Chain: 2, Addr: "000000000000000000000000e9b7b5d5e8d2bcc78884f9f9099bfa42a9e5c1a5", Symbol: "ZENF", CoinGeckoId: "zenland", Decimals: 18, Price: 0.00139139},                                             // Addr: 0xe9b7b5d5e8d2bcc78884f9f9099bfa42a9e5c1a5, Notional: 18323.54814535227
-		{Chain: 2, Addr: "000000000000000000000000ea068fba19ce95f12d252ad8cb2939225c4ea02d", Symbol: "FIEF", CoinGeckoId: "fief", Decimals: 18, Price: 0.01982615},                                                // Addr: 0xea068fba19ce95f12d252ad8cb2939225c4ea02d, Notional: 156048.07930857898
-		{Chain: 2, Addr: "000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd3", Symbol: "HEMULE", CoinGeckoId: "hemule", Decimals: 18, Price: 0.00262603},                                            // Addr: 0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3, Notional: 5816.4899586221945
-		{Chain: 2, Addr: "000000000000000000000000eb4c2781e4eba804ce9a9803c67d0893436bb27d", Symbol: "renBTC", CoinGeckoId: "renbtc", Decimals: 8, Price: 13707.77},                                               // Addr: 0xeb4c2781e4eba804ce9a9803c67d0893436bb27d, Notional: 13.70777
-		{Chain: 2, Addr: "000000000000000000000000ebd9d99a3982d547c5bb4db7e3b1f9f14b67eb83", Symbol: "ID", CoinGeckoId: "everid", Decimals: 18, Price: 0.01564446},                                                // Addr: 0xebd9d99a3982d547c5bb4db7e3b1f9f14b67eb83, Notional: 405.419383603812
-		{Chain: 2, Addr: "000000000000000000000000ed35af169af46a02ee13b9d79eb57d6d68c1749e", Symbol: "OMI", CoinGeckoId: "ecomi", Decimals: 18, Price: 0.0002982},                                                 // Addr: 0xed35af169af46a02ee13b9d79eb57d6d68c1749e, Notional: 5.9639999999999995
-		{Chain: 2, Addr: "000000000000000000000000f0d33beda4d734c72684b5f9abbebf715d0a7935", Symbol: "NTX", CoinGeckoId: "nunet", Decimals: 6, Price: 0.01234387},                                                 // Addr: 0xf0d33beda4d734c72684b5f9abbebf715d0a7935, Notional: 2.9024141531
-		{Chain: 2, Addr: "000000000000000000000000f1182229b71e79e504b1d2bf076c15a277311e05", Symbol: "LBR", CoinGeckoId: "lybra-finance", Decimals: 18, Price: 0.01724155},                                        // Addr: 0xf1182229b71e79e504b1d2bf076c15a277311e05, Notional: 0.0017241550000000002
-		{Chain: 2, Addr: "000000000000000000000000f16e81dce15b08f326220742020379b855b87df9", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.0232545},                                             // Addr: 0xf16e81dce15b08f326220742020379b855b87df9, Notional: 17.24235233762931
-		{Chain: 2, Addr: "000000000000000000000000f17a3fe536f8f7847f1385ec1bc967b2ca9cae8d", Symbol: "AMKT", CoinGeckoId: "alongside-crypto-market-index", Decimals: 18, Price: 315.48},                           // Addr: 0xf17a3fe536f8f7847f1385ec1bc967b2ca9cae8d, Notional: 31.548000000000002
-		{Chain: 2, Addr: "000000000000000000000000f17e65822b568b3903685a7c9f496cf7656cc6c2", Symbol: "BICO", CoinGeckoId: "biconomy", Decimals: 18, Price: 0.096404},                                              // Addr: 0xf17e65822b568b3903685a7c9f496cf7656cc6c2, Notional: 10292.678882753708
-		{Chain: 2, Addr: "000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1", Symbol: "TITANX", CoinGeckoId: "titanx", Decimals: 18, Price: 2.14297e-7},                                            // Addr: 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1, Notional: 374.272199453112
-		{Chain: 2, Addr: "000000000000000000000000f1f955016ecbcd7321c7266bccfb96c68ea5e49b", Symbol: "RLY", CoinGeckoId: "rally-2", Decimals: 18, Price: 0.00080835},                                              // Addr: 0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b, Notional: 34900.33912125413
-		{Chain: 2, Addr: "000000000000000000000000f21661d0d1d76d3ecb8e1b9f1c923dbfffae4097", Symbol: "RIO", CoinGeckoId: "realio-network", Decimals: 18, Price: 0.268068},                                         // Addr: 0xf21661d0d1d76d3ecb8e1b9f1c923dbfffae4097, Notional: 205.12267618536154
-		{Chain: 2, Addr: "000000000000000000000000f2fdd9c25d7bc8002ce89716d1be484b2d976944", Symbol: "𝕏PAY", CoinGeckoId: "payments", Decimals: 18, Price: 0.00013498},                                            // Addr: 0xf2fdd9c25d7bc8002ce89716d1be484b2d976944, Notional: 3.3745000000000003
-		{Chain: 2, Addr: "000000000000000000000000f3ae5d769e153ef72b4e3591ac004e89f48107a1", Symbol: "DPR", CoinGeckoId: "deeper-network", Decimals: 18, Price: 0.00030489},                                       // Addr: 0xf3ae5d769e153ef72b4e3591ac004e89f48107a1, Notional: 5.79575914649314
-		{Chain: 2, Addr: "000000000000000000000000f418588522d5dd018b425e472991e52ebbeeeeee", Symbol: "PUSH", CoinGeckoId: "ethereum-push-notification-service", Decimals: 18, Price: 0.03592133},                  // Addr: 0xf418588522d5dd018b425e472991e52ebbeeeeee, Notional: 0.03592133
-		{Chain: 2, Addr: "000000000000000000000000f629cbd94d3791c9250152bd8dfbdf380e2a3b9c", Symbol: "ENJ", CoinGeckoId: "enjincoin", Decimals: 18, Price: 0.06898},                                               // Addr: 0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c, Notional: 131.3582118466
-		{Chain: 2, Addr: "000000000000000000000000f64265e65c4529879a7abf467e00d39e39c0b0da", Symbol: "RFKJ", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000233},                                  // Addr: 0xf64265e65c4529879a7abf467e00d39e39c0b0da, Notional: 3745.916071951192
+		{Chain: 2, Addr: "000000000000000000000000ea068fba19ce95f12d252ad8cb2939225c4ea02d", Symbol: "FIEF", CoinGeckoId: "fief", Decimals: 18, Price: 0.00066341},                                                // Addr: 0xea068fba19ce95f12d252ad8cb2939225c4ea02d, Notional: 5221.581411121391
+		{Chain: 2, Addr: "000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd3", Symbol: "HEMULE", CoinGeckoId: "hemule", Decimals: 18, Price: 0.00165787},                                            // Addr: 0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3, Notional: 3672.0769403628206
+		{Chain: 2, Addr: "000000000000000000000000eb4c2781e4eba804ce9a9803c67d0893436bb27d", Symbol: "renBTC", CoinGeckoId: "renbtc", Decimals: 8, Price: 9473.33},                                                // Addr: 0xeb4c2781e4eba804ce9a9803c67d0893436bb27d, Notional: 9.47333
+		{Chain: 2, Addr: "000000000000000000000000ebd9d99a3982d547c5bb4db7e3b1f9f14b67eb83", Symbol: "ID", CoinGeckoId: "everid", Decimals: 18, Price: 0.01212291},                                                // Addr: 0xebd9d99a3982d547c5bb4db7e3b1f9f14b67eb83, Notional: 314.15994541738667
+		{Chain: 2, Addr: "000000000000000000000000ed35af169af46a02ee13b9d79eb57d6d68c1749e", Symbol: "OMI", CoinGeckoId: "ecomi", Decimals: 18, Price: 0.00032414},                                                // Addr: 0xed35af169af46a02ee13b9d79eb57d6d68c1749e, Notional: 6.4828
+		{Chain: 2, Addr: "000000000000000000000000f0d33beda4d734c72684b5f9abbebf715d0a7935", Symbol: "NTX", CoinGeckoId: "nunet", Decimals: 6, Price: 0.00966917},                                                 // Addr: 0xf0d33beda4d734c72684b5f9abbebf715d0a7935, Notional: 2.2735119421
+		{Chain: 2, Addr: "000000000000000000000000f1182229b71e79e504b1d2bf076c15a277311e05", Symbol: "LBR", CoinGeckoId: "lybra-finance", Decimals: 18, Price: 0.01358722},                                        // Addr: 0xf1182229b71e79e504b1d2bf076c15a277311e05, Notional: 0.0013587220000000001
+		{Chain: 2, Addr: "000000000000000000000000f16e81dce15b08f326220742020379b855b87df9", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.215773},                                              // Addr: 0xf16e81dce15b08f326220742020379b855b87df9, Notional: 159.98770521607813
+		{Chain: 2, Addr: "000000000000000000000000f17a3fe536f8f7847f1385ec1bc967b2ca9cae8d", Symbol: "AMKT", CoinGeckoId: "alongside-crypto-market-index", Decimals: 18, Price: 333.69},                           // Addr: 0xf17a3fe536f8f7847f1385ec1bc967b2ca9cae8d, Notional: 33.369
+		{Chain: 2, Addr: "000000000000000000000000f17e65822b568b3903685a7c9f496cf7656cc6c2", Symbol: "BICO", CoinGeckoId: "biconomy", Decimals: 18, Price: 0.09092},                                               // Addr: 0xf17e65822b568b3903685a7c9f496cf7656cc6c2, Notional: 9727.684970667351
+		{Chain: 2, Addr: "000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1", Symbol: "TITANX", CoinGeckoId: "titanx", Decimals: 18, Price: 1.43673e-7},                                            // Addr: 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1, Notional: 250.92656319046444
+		{Chain: 2, Addr: "000000000000000000000000f1f955016ecbcd7321c7266bccfb96c68ea5e49b", Symbol: "RLY", CoinGeckoId: "rally-2", Decimals: 18, Price: 0.00095249},                                              // Addr: 0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b, Notional: 40497.997849879706
+		{Chain: 2, Addr: "000000000000000000000000f21661d0d1d76d3ecb8e1b9f1c923dbfffae4097", Symbol: "RIO", CoinGeckoId: "realio-network", Decimals: 18, Price: 0.226915},                                         // Addr: 0xf21661d0d1d76d3ecb8e1b9f1c923dbfffae4097, Notional: 173.63285459883807
+		{Chain: 2, Addr: "000000000000000000000000f2fdd9c25d7bc8002ce89716d1be484b2d976944", Symbol: "𝕏PAY", CoinGeckoId: "payments", Decimals: 18, Price: 0.00012351},                                            // Addr: 0xf2fdd9c25d7bc8002ce89716d1be484b2d976944, Notional: 3.0877499999999998
+		{Chain: 2, Addr: "000000000000000000000000f3ae5d769e153ef72b4e3591ac004e89f48107a1", Symbol: "DPR", CoinGeckoId: "deeper-network", Decimals: 18, Price: 0.00021016},                                       // Addr: 0xf3ae5d769e153ef72b4e3591ac004e89f48107a1, Notional: 3.9950039103512687
+		{Chain: 2, Addr: "000000000000000000000000f418588522d5dd018b425e472991e52ebbeeeeee", Symbol: "PUSH", CoinGeckoId: "ethereum-push-notification-service", Decimals: 18, Price: 0.02944197},                  // Addr: 0xf418588522d5dd018b425e472991e52ebbeeeeee, Notional: 0.02944197
+		{Chain: 2, Addr: "000000000000000000000000f629cbd94d3791c9250152bd8dfbdf380e2a3b9c", Symbol: "ENJ", CoinGeckoId: "enjincoin", Decimals: 18, Price: 0.06158},                                               // Addr: 0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c, Notional: 117.2664349886
+		{Chain: 2, Addr: "000000000000000000000000f64265e65c4529879a7abf467e00d39e39c0b0da", Symbol: "RFKJ", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000265},                                  // Addr: 0xf64265e65c4529879a7abf467e00d39e39c0b0da, Notional: 4260.376648356506
 		{Chain: 2, Addr: "000000000000000000000000f6e06b54855eff198a2d9a8686113665499a6134", Symbol: "Celt", CoinGeckoId: "celestial", Decimals: 18, Price: 0.00001329},                                           // Addr: 0xf6e06b54855eff198a2d9a8686113665499a6134, Notional: 0.01997487
-		{Chain: 2, Addr: "000000000000000000000000f70ce9ee486106882d3dc43ddbd84e0fa71ac2a5", Symbol: "DUCKER", CoinGeckoId: "ducker", Decimals: 18, Price: 0.00000116},                                            // Addr: 0xf70ce9ee486106882d3dc43ddbd84e0fa71ac2a5, Notional: 583.8618217454579
-		{Chain: 2, Addr: "000000000000000000000000f7413489c474ca4399eee604716c72879eea3615", Symbol: "APYS", CoinGeckoId: "apyswap", Decimals: 18, Price: 0.00257253},                                             // Addr: 0xf7413489c474ca4399eee604716c72879eea3615, Notional: 0.39585333746936696
-		{Chain: 2, Addr: "000000000000000000000000f819d9cb1c2a819fd991781a822de3ca8607c3c9", Symbol: "UNIBOT", CoinGeckoId: "unibot", Decimals: 18, Price: 2.73},                                                  // Addr: 0xf819d9cb1c2a819fd991781a822de3ca8607c3c9, Notional: 267.1782562449
-		{Chain: 2, Addr: "000000000000000000000000f831938caf837cd505de196bbb408d81a06376ab", Symbol: "JEFF", CoinGeckoId: "jeff", Decimals: 18, Price: 0.00404007},                                                // Addr: 0xf831938caf837cd505de196bbb408d81a06376ab, Notional: 3279.103124474231
-		{Chain: 2, Addr: "000000000000000000000000f89674f18309a2e97843c6e9b19c07c22caef6d5", Symbol: "Gamer", CoinGeckoId: "cyb3rgam3r420", Decimals: 9, Price: 0.00000171},                                       // Addr: 0xf89674f18309a2e97843c6e9b19c07c22caef6d5, Notional: -142.56955985953073
-		{Chain: 2, Addr: "000000000000000000000000f8c3527cc04340b208c854e985240c02f7b7793f", Symbol: "FRONT", CoinGeckoId: "frontier-token", Decimals: 18, Price: 0.13962},                                        // Addr: 0xf8c3527cc04340b208c854e985240c02f7b7793f, Notional: 518.6827566475932
-		{Chain: 2, Addr: "000000000000000000000000f99d58e463a2e07e5692127302c20a191861b4d6", Symbol: "ANY", CoinGeckoId: "anyswap", Decimals: 18, Price: 0.842191},                                                // Addr: 0xf99d58e463a2e07e5692127302c20a191861b4d6, Notional: 4.96780792292785
-		{Chain: 2, Addr: "000000000000000000000000fa3e941d1f6b7b10ed84a0c211bfa8aee907965e", Symbol: "HAY", CoinGeckoId: "haycoin", Decimals: 18, Price: 71897},                                                   // Addr: 0xfa3e941d1f6b7b10ed84a0c211bfa8aee907965e, Notional: 8223.22009397
-		{Chain: 2, Addr: "000000000000000000000000faba6f8e4a5e8ab82f62fe7c39859fa577269be3", Symbol: "ONDO", CoinGeckoId: "ondo-finance", Decimals: 18, Price: 0.952369},                                          // Addr: 0xfaba6f8e4a5e8ab82f62fe7c39859fa577269be3, Notional: 680671.457466
-		{Chain: 2, Addr: "000000000000000000000000fad45e47083e4607302aa43c65fb3106f1cd7607", Symbol: "HOGE", CoinGeckoId: "hoge-finance", Decimals: 9, Price: 0.00001299},                                         // Addr: 0xfad45e47083e4607302aa43c65fb3106f1cd7607, Notional: 15911.381980178096
-		{Chain: 2, Addr: "000000000000000000000000fb5c6815ca3ac72ce9f5006869ae67f18bf77006", Symbol: "PSTAKE", CoinGeckoId: "pstake-finance", Decimals: 18, Price: 0.0278026},                                     // Addr: 0xfb5c6815ca3ac72ce9f5006869ae67f18bf77006, Notional: 587.2057994167961
-		{Chain: 2, Addr: "000000000000000000000000fc05987bd2be489accf0f509e44b0145d68240f7", Symbol: "ESS", CoinGeckoId: "essentia", Decimals: 18, Price: 0.00023211},                                             // Addr: 0xfc05987bd2be489accf0f509e44b0145d68240f7, Notional: 0.00023211
+		{Chain: 2, Addr: "000000000000000000000000f70ce9ee486106882d3dc43ddbd84e0fa71ac2a5", Symbol: "DUCKER", CoinGeckoId: "ducker", Decimals: 18, Price: 7.39967e-7},                                            // Addr: 0xf70ce9ee486106882d3dc43ddbd84e0fa71ac2a5, Notional: 372.4469660788977
+		{Chain: 2, Addr: "000000000000000000000000f7413489c474ca4399eee604716c72879eea3615", Symbol: "APYS", CoinGeckoId: "apyswap", Decimals: 18, Price: 0.00359776},                                             // Addr: 0xf7413489c474ca4399eee604716c72879eea3615, Notional: 0.553612709439264
+		{Chain: 2, Addr: "000000000000000000000000f819d9cb1c2a819fd991781a822de3ca8607c3c9", Symbol: "UNIBOT", CoinGeckoId: "unibot", Decimals: 18, Price: 2.52},                                                  // Addr: 0xf819d9cb1c2a819fd991781a822de3ca8607c3c9, Notional: 246.6260826876
+		{Chain: 2, Addr: "000000000000000000000000f831938caf837cd505de196bbb408d81a06376ab", Symbol: "JEFF", CoinGeckoId: "jeff", Decimals: 18, Price: 0.00372156},                                                // Addr: 0xf831938caf837cd505de196bbb408d81a06376ab, Notional: 3060.2185377831656
+		{Chain: 2, Addr: "000000000000000000000000f89674f18309a2e97843c6e9b19c07c22caef6d5", Symbol: "Gamer", CoinGeckoId: "cyb3rgam3r420", Decimals: 9, Price: 0.00000138},                                       // Addr: 0xf89674f18309a2e97843c6e9b19c07c22caef6d5, Notional: -115.0561360269897
+		{Chain: 2, Addr: "000000000000000000000000f8c3527cc04340b208c854e985240c02f7b7793f", Symbol: "FRONT", CoinGeckoId: "frontier-token", Decimals: 18, Price: 0.118446},                                       // Addr: 0xf8c3527cc04340b208c854e985240c02f7b7793f, Notional: 440.0221873218796
+		{Chain: 2, Addr: "000000000000000000000000f99d58e463a2e07e5692127302c20a191861b4d6", Symbol: "ANY", CoinGeckoId: "anyswap", Decimals: 18, Price: 0.770853},                                                // Addr: 0xf99d58e463a2e07e5692127302c20a191861b4d6, Notional: 4.54700850616155
+		{Chain: 2, Addr: "000000000000000000000000fa3e941d1f6b7b10ed84a0c211bfa8aee907965e", Symbol: "HAY", CoinGeckoId: "haycoin", Decimals: 18, Price: 57403},                                                   // Addr: 0xfa3e941d1f6b7b10ed84a0c211bfa8aee907965e, Notional: 6743.71362448
+		{Chain: 2, Addr: "000000000000000000000000faba6f8e4a5e8ab82f62fe7c39859fa577269be3", Symbol: "ONDO", CoinGeckoId: "ondo-finance", Decimals: 18, Price: 0.883908},                                          // Addr: 0xfaba6f8e4a5e8ab82f62fe7c39859fa577269be3, Notional: 631741.4223120001
+		{Chain: 2, Addr: "000000000000000000000000fad45e47083e4607302aa43c65fb3106f1cd7607", Symbol: "HOGE", CoinGeckoId: "hoge-finance", Decimals: 9, Price: 0.00001041},                                         // Addr: 0xfad45e47083e4607302aa43c65fb3106f1cd7607, Notional: 14243.238350073774
+		{Chain: 2, Addr: "000000000000000000000000fb5c6815ca3ac72ce9f5006869ae67f18bf77006", Symbol: "PSTAKE", CoinGeckoId: "pstake-finance", Decimals: 18, Price: 0.02161762},                                    // Addr: 0xfb5c6815ca3ac72ce9f5006869ae67f18bf77006, Notional: 465.50623437104014
+		{Chain: 2, Addr: "000000000000000000000000fc05987bd2be489accf0f509e44b0145d68240f7", Symbol: "ESS", CoinGeckoId: "essentia", Decimals: 18, Price: 0.00021389},                                             // Addr: 0xfc05987bd2be489accf0f509e44b0145d68240f7, Notional: 0.00021389
 		{Chain: 2, Addr: "000000000000000000000000fc5e4ed56153b57aa8ef769eba3e79e58e19be93", Symbol: "SOLAV", CoinGeckoId: "solav", Decimals: 18, Price: 9.80223e-7},                                              // Addr: 0xfc5e4ed56153b57aa8ef769eba3e79e58e19be93, Notional: 0.000985124115
-		{Chain: 2, Addr: "000000000000000000000000fcaf0e4498e78d65526a507360f755178b804ba8", Symbol: "SHIB", CoinGeckoId: "niccagewaluigielmo42069inu", Decimals: 18, Price: 0.00005676},                          // Addr: 0xfcaf0e4498e78d65526a507360f755178b804ba8, Notional: 12.254639589167923
-		{Chain: 2, Addr: "000000000000000000000000fd09911130e6930bf87f2b0554c44f400bd80d3e", Symbol: "ETHIX", CoinGeckoId: "ethichub", Decimals: 18, Price: 0.266512},                                             // Addr: 0xfd09911130e6930bf87f2b0554c44f400bd80d3e, Notional: 5867868.812817326
-		{Chain: 2, Addr: "000000000000000000000000fe80d611c6403f70e5b1b9b722d2b3510b740b2b", Symbol: "EQB", CoinGeckoId: "equilibria-finance", Decimals: 18, Price: 0.486543},                                     // Addr: 0xfe80d611c6403f70e5b1b9b722d2b3510b740b2b, Notional: 469164.57216334104
-		{Chain: 2, Addr: "000000000000000000000000ff56cc6b1e6ded347aa0b7676c85ab0b3d08b0fa", Symbol: "ORBS", CoinGeckoId: "orbs", Decimals: 18, Price: 0.01880138},                                                // Addr: 0xff56cc6b1e6ded347aa0b7676c85ab0b3d08b0fa, Notional: 7069.126106422522
-		{Chain: 2, Addr: "000000000000000000000000ff836a5821e69066c87e268bc51b849fab94240c", Symbol: "шайлушай", CoinGeckoId: "real-smurf-cat", Decimals: 18, Price: 0.00003089},                                  // Addr: 0xff836a5821e69066c87e268bc51b849fab94240c, Notional: 74392.38583904554
-		{Chain: 2, Addr: "000000000000000000000000ffbf315f70e458e49229654dea4ce192d26f9b25", Symbol: "VOLT", CoinGeckoId: "voltage", Decimals: 18, Price: 0.00059308},                                             // Addr: 0xffbf315f70e458e49229654dea4ce192d26f9b25, Notional: 0.05930799999999999
-		{Chain: 3, Addr: "0000000000000000000000002c71557d2edfedd8330e52be500058a014d329e7", Symbol: "BTL", CoinGeckoId: "bitlocus", Decimals: 6, Price: 0.00003583},                                              // Addr: terra193c42lfwmlkasvcw22l9qqzc5q2dx208tkd7wl, Notional: 17730.39099221977
-		{Chain: 3, Addr: "00000000000000000000000034aa51100370594b15479392149157eeb479b9a8", Symbol: "ASTRO", CoinGeckoId: "astroport", Decimals: 6, Price: 0.00020221},                                           // Addr: terra1xj49zyqrwpv5k928jwfpfy2ha668nwdgkwlrg3, Notional: 0.14135292652598
-		{Chain: 3, Addr: "0000000000000000000000005b7d58fe96a636927960029ea47996db5808d015", Symbol: "XRUNE", CoinGeckoId: "thorstarter", Decimals: 6, Price: 0.00204376},                                         // Addr: terra1td743l5k5cmfy7tqq202g7vkmdvq35q48u2jfm, Notional: 15.700547833607759
-		{Chain: 3, Addr: "0000000000000000000000008f5cd460d57ac54e111646fc569179144c7f0c28", Symbol: "PLY", CoinGeckoId: "playnity", Decimals: 6, Price: 0.00018828},                                              // Addr: terra13awdgcx40tz5uygkgm79dytez3x87rpg4uhnvu, Notional: 16887.405945124832
-		{Chain: 3, Addr: "000000000000000000000000a21d626429c68c8c768ba0b2913895571703fd5b", Symbol: "MIR", CoinGeckoId: "mirror-protocol", Decimals: 6, Price: 0.01221058},                                       // Addr: terra15gwkyepfc6xgca5t5zefzwy42uts8l2m4g40k6, Notional: 274.76438895369483
-		{Chain: 3, Addr: "000000000000000000000000a8a9afbd2157e093e8448dd6450abec8ad79aeeb", Symbol: "ANC", CoinGeckoId: "anchor-protocol", Decimals: 6, Price: 0.00350186},                                       // Addr: terra14z56l0fp2lsf86zy3hty2z47ezkhnthtr9yq76, Notional: 422.6836153490217
-		{Chain: 3, Addr: "000000000000000000000000ab05561fadecc41babc73132847ff55a5cef2f37", Symbol: "TNS", CoinGeckoId: "terra-name-service", Decimals: 6, Price: 0.0010459},                                     // Addr: terra14vz4v8adanzph278xyeggll4tfww7teh0xtw2y, Notional: 0.826261
-		{Chain: 3, Addr: "0100000000000000000000000000000000000000000000000000000075757364", Symbol: "UST", CoinGeckoId: "terrausd", Decimals: 6, Price: 0.01349457},                                              // Addr: uusd, Notional: 1865736.3799808982
-		{Chain: 3, Addr: "010000000000000000000000000000000000000000000000000000756c756e61", Symbol: "LUNA", CoinGeckoId: "terra-luna", Decimals: 6, Price: 0.00005991},                                           // Addr: uluna, Notional: 4717917.1377305025
-		{Chain: 4, Addr: "0000000000000000000000000231f91e02debd20345ae8ab7d71a41f8e140ce7", Symbol: "bwJUP", CoinGeckoId: "jupiter", Decimals: 18, Price: 0.00096328},                                            // Addr: 0x0231f91e02debd20345ae8ab7d71a41f8e140ce7, Notional: 26.33170048831841
-		{Chain: 4, Addr: "000000000000000000000000027a9d301fb747cd972cfb29a63f3bda551dfc5c", Symbol: "mWOM", CoinGeckoId: "magpie-wom", Decimals: 18, Price: 0.00173192},                                          // Addr: 0x027a9d301fb747cd972cfb29a63f3bda551dfc5c, Notional: 0.8437188902032057
-		{Chain: 4, Addr: "000000000000000000000000031b41e504677879370e9dbcf937283a8691fa7f", Symbol: "FET", CoinGeckoId: "fetch-ai", Decimals: 18, Price: 0.640908},                                               // Addr: 0x031b41e504677879370e9dbcf937283a8691fa7f, Notional: 0.1281816
-		{Chain: 4, Addr: "000000000000000000000000039cb485212f996a9dbb85a9a75d898f94d38da6", Symbol: "DEXE", CoinGeckoId: "dexe", Decimals: 18, Price: 6.86},                                                      // Addr: 0x039cb485212f996a9dbb85a9a75d898f94d38da6, Notional: 14.406
-		{Chain: 4, Addr: "00000000000000000000000003ff0ff224f904be3118461335064bb48df47938", Symbol: "ONE", CoinGeckoId: "wrapped-one", Decimals: 18, Price: 0.01065945},                                          // Addr: 0x03ff0ff224f904be3118461335064bb48df47938, Notional: 288.213718042134
-		{Chain: 4, Addr: "0000000000000000000000000782b6d8c4551b9760e74c0545a9bcd90bdc41e5", Symbol: "HAY", CoinGeckoId: "helio-protocol-hay", Decimals: 18, Price: 0.997765},                                     // Addr: 0x0782b6d8c4551b9760e74c0545a9bcd90bdc41e5, Notional: 17.44845168630245
-		{Chain: 4, Addr: "00000000000000000000000008b450e4a48c04cdf6db2bd4cf24057f7b9563ff", Symbol: "QUO", CoinGeckoId: "quo", Decimals: 18, Price: 0.00046966},                                                  // Addr: 0x08b450e4a48c04cdf6db2bd4cf24057f7b9563ff, Notional: 7885.773016301419
-		{Chain: 4, Addr: "0000000000000000000000000a356f512f6fce740111ee04ab1699017a908680", Symbol: "UFARM", CoinGeckoId: "unifarm", Decimals: 18, Price: 0.00004529},                                            // Addr: 0x0a356f512f6fce740111ee04ab1699017a908680, Notional: 0.0308367335585722
-		{Chain: 4, Addr: "0000000000000000000000000b15ddf19d47e6a86a56148fb4afffc6929bcb89", Symbol: "IDIA", CoinGeckoId: "idia", Decimals: 18, Price: 0.0203145},                                                 // Addr: 0x0b15ddf19d47e6a86a56148fb4afffc6929bcb89, Notional: 2694619.5210711346
-		{Chain: 4, Addr: "0000000000000000000000000b33542240d6fa323c796749f6d6869fdb7f13ca", Symbol: "ETHM", CoinGeckoId: "ethereum-meta", Decimals: 18, Price: 9.731e-15},                                        // Addr: 0x0b33542240d6fa323c796749f6d6869fdb7f13ca, Notional: 0.0002059972139852618
+		{Chain: 2, Addr: "000000000000000000000000fcaf0e4498e78d65526a507360f755178b804ba8", Symbol: "SHIB", CoinGeckoId: "niccagewaluigielmo42069inu", Decimals: 18, Price: 0.00005225},                          // Addr: 0xfcaf0e4498e78d65526a507360f755178b804ba8, Notional: 11.28091822646272
+		{Chain: 2, Addr: "000000000000000000000000fd09911130e6930bf87f2b0554c44f400bd80d3e", Symbol: "ETHIX", CoinGeckoId: "ethichub", Decimals: 18, Price: 0.272602},                                             // Addr: 0xfd09911130e6930bf87f2b0554c44f400bd80d3e, Notional: 6762925.421292346
+		{Chain: 2, Addr: "000000000000000000000000fe80d611c6403f70e5b1b9b722d2b3510b740b2b", Symbol: "EQB", CoinGeckoId: "equilibria-finance", Decimals: 18, Price: 0.415381},                                     // Addr: 0xfe80d611c6403f70e5b1b9b722d2b3510b740b2b, Notional: 408434.41721633746
+		{Chain: 2, Addr: "000000000000000000000000ff56cc6b1e6ded347aa0b7676c85ab0b3d08b0fa", Symbol: "ORBS", CoinGeckoId: "orbs", Decimals: 18, Price: 0.01588433},                                                // Addr: 0xff56cc6b1e6ded347aa0b7676c85ab0b3d08b0fa, Notional: 5972.3452154060205
+		{Chain: 2, Addr: "000000000000000000000000ff836a5821e69066c87e268bc51b849fab94240c", Symbol: "шайлушай", CoinGeckoId: "real-smurf-cat", Decimals: 18, Price: 0.00002735},                                  // Addr: 0xff836a5821e69066c87e268bc51b849fab94240c, Notional: 67369.08505801365
+		{Chain: 2, Addr: "000000000000000000000000ffbf315f70e458e49229654dea4ce192d26f9b25", Symbol: "VOLT", CoinGeckoId: "voltage", Decimals: 18, Price: 0.00058425},                                             // Addr: 0xffbf315f70e458e49229654dea4ce192d26f9b25, Notional: 0.058425000000000005
+		{Chain: 4, Addr: "0000000000000000000000000231f91e02debd20345ae8ab7d71a41f8e140ce7", Symbol: "bwJUP", CoinGeckoId: "jupiter", Decimals: 18, Price: 0.00087378},                                            // Addr: 0x0231f91e02debd20345ae8ab7d71a41f8e140ce7, Notional: 23.885176950297797
+		{Chain: 4, Addr: "000000000000000000000000027a9d301fb747cd972cfb29a63f3bda551dfc5c", Symbol: "mWOM", CoinGeckoId: "magpie-wom", Decimals: 18, Price: 0.00108613},                                          // Addr: 0x027a9d301fb747cd972cfb29a63f3bda551dfc5c, Notional: 0.529117048256506
+		{Chain: 4, Addr: "000000000000000000000000031b41e504677879370e9dbcf937283a8691fa7f", Symbol: "FET", CoinGeckoId: "fetch-ai", Decimals: 18, Price: 0.545006},                                               // Addr: 0x031b41e504677879370e9dbcf937283a8691fa7f, Notional: 0.1090012
+		{Chain: 4, Addr: "000000000000000000000000039cb485212f996a9dbb85a9a75d898f94d38da6", Symbol: "DEXE", CoinGeckoId: "dexe", Decimals: 18, Price: 9.46},                                                      // Addr: 0x039cb485212f996a9dbb85a9a75d898f94d38da6, Notional: 19.866000000000003
+		{Chain: 4, Addr: "00000000000000000000000003ff0ff224f904be3118461335064bb48df47938", Symbol: "ONE", CoinGeckoId: "wrapped-one", Decimals: 18, Price: 0.00909218},                                          // Addr: 0x03ff0ff224f904be3118461335064bb48df47938, Notional: 245.83735585872915
+		{Chain: 4, Addr: "0000000000000000000000000782b6d8c4551b9760e74c0545a9bcd90bdc41e5", Symbol: "HAY", CoinGeckoId: "helio-protocol-hay", Decimals: 18, Price: 0.998353},                                     // Addr: 0x0782b6d8c4551b9760e74c0545a9bcd90bdc41e5, Notional: 17.458734357664493
+		{Chain: 4, Addr: "00000000000000000000000008b450e4a48c04cdf6db2bd4cf24057f7b9563ff", Symbol: "QUO", CoinGeckoId: "quo", Decimals: 18, Price: 0.00036998},                                                  // Addr: 0x08b450e4a48c04cdf6db2bd4cf24057f7b9563ff, Notional: 6212.107270304474
+		{Chain: 4, Addr: "0000000000000000000000000a356f512f6fce740111ee04ab1699017a908680", Symbol: "UFARM", CoinGeckoId: "unifarm", Decimals: 18, Price: 0.00004649},                                            // Addr: 0x0a356f512f6fce740111ee04ab1699017a908680, Notional: 0.0316537810363882
+		{Chain: 4, Addr: "0000000000000000000000000b15ddf19d47e6a86a56148fb4afffc6929bcb89", Symbol: "IDIA", CoinGeckoId: "idia", Decimals: 18, Price: 0.02026412},                                                // Addr: 0x0b15ddf19d47e6a86a56148fb4afffc6929bcb89, Notional: 2687936.859353073
+		{Chain: 4, Addr: "0000000000000000000000000b33542240d6fa323c796749f6d6869fdb7f13ca", Symbol: "ETHM", CoinGeckoId: "ethereum-meta", Decimals: 18, Price: 4.399e-15},                                        // Addr: 0x0b33542240d6fa323c796749f6d6869fdb7f13ca, Notional: 0.00009312318819455007
 		{Chain: 4, Addr: "0000000000000000000000000c7d31befe4945089a3b8f835d6e8c1d4df6d952", Symbol: "POKO", CoinGeckoId: "poko", Decimals: 9, Price: 0.00000395},                                                 // Addr: 0x0c7d31befe4945089a3b8f835d6e8c1d4df6d952, Notional: 17824.47239334968
-		{Chain: 4, Addr: "0000000000000000000000000cf8e180350253271f4b917ccfb0accc4862f262", Symbol: "BTCBR", CoinGeckoId: "bitcoin-br", Decimals: 18, Price: 1.5426e-14},                                         // Addr: 0x0cf8e180350253271f4b917ccfb0accc4862f262, Notional: 0.00078672615426
-		{Chain: 4, Addr: "0000000000000000000000000d8ce2a99bb6e3b7db580ed848240e4a0f9ae153", Symbol: "FIL", CoinGeckoId: "binance-peg-filecoin", Decimals: 18, Price: 2.44},                                       // Addr: 0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153, Notional: 43.7211496136
-		{Chain: 4, Addr: "0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.42},                                         // Addr: 0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82, Notional: 392.2818627134
-		{Chain: 4, Addr: "0000000000000000000000000eb3a705fc54725037cc9e008bdede697f62f335", Symbol: "ATOM", CoinGeckoId: "cosmos", Decimals: 18, Price: 4.58},                                                    // Addr: 0x0eb3a705fc54725037cc9e008bdede697f62f335, Notional: 182.64779036180002
-		{Chain: 4, Addr: "0000000000000000000000000ebd9537a25f56713e34c45b38f421a1e7191469", Symbol: "MOOV", CoinGeckoId: "dotmoovs", Decimals: 18, Price: 0.00089424},                                            // Addr: 0x0ebd9537a25f56713e34c45b38f421a1e7191469, Notional: 199.69787865959054
-		{Chain: 4, Addr: "00000000000000000000000010c9524dbf934b3b625dce3bdc0efdc367f4e84b", Symbol: "MVX", CoinGeckoId: "mavaverse-token", Decimals: 8, Price: 2.00005e-7},                                       // Addr: 0x10c9524dbf934b3b625dce3bdc0efdc367f4e84b, Notional: 0.03186851222201223
+		{Chain: 4, Addr: "0000000000000000000000000cf8e180350253271f4b917ccfb0accc4862f262", Symbol: "BTCBR", CoinGeckoId: "bitcoin-br", Decimals: 18, Price: 1.9123e-14},                                         // Addr: 0x0cf8e180350253271f4b917ccfb0accc4862f262, Notional: 0.0009752731912300001
+		{Chain: 4, Addr: "0000000000000000000000000d8ce2a99bb6e3b7db580ed848240e4a0f9ae153", Symbol: "FIL", CoinGeckoId: "binance-peg-filecoin", Decimals: 18, Price: 2.19},                                       // Addr: 0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153, Notional: 39.2415236286
+		{Chain: 4, Addr: "0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.51},                                         // Addr: 0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82, Notional: 406.8708576077
+		{Chain: 4, Addr: "0000000000000000000000000eb3a705fc54725037cc9e008bdede697f62f335", Symbol: "ATOM", CoinGeckoId: "cosmos", Decimals: 18, Price: 4.1},                                                     // Addr: 0x0eb3a705fc54725037cc9e008bdede697f62f335, Notional: 163.505663861
+		{Chain: 4, Addr: "0000000000000000000000000ebd9537a25f56713e34c45b38f421a1e7191469", Symbol: "MOOV", CoinGeckoId: "dotmoovs", Decimals: 18, Price: 0.00064982},                                            // Addr: 0x0ebd9537a25f56713e34c45b38f421a1e7191469, Notional: 145.115042394184
+		{Chain: 4, Addr: "00000000000000000000000010c9524dbf934b3b625dce3bdc0efdc367f4e84b", Symbol: "MVX", CoinGeckoId: "mavaverse-token", Decimals: 8, Price: 1.83987e-7},                                       // Addr: 0x10c9524dbf934b3b625dce3bdc0efdc367f4e84b, Notional: 0.029316226885284687
 		{Chain: 4, Addr: "00000000000000000000000010f6f2b97f3ab29583d9d38babf2994df7220c21", Symbol: "TEDDY", CoinGeckoId: "teddy-doge", Decimals: 18, Price: 1.50024e-10},                                        // Addr: 0x10f6f2b97f3ab29583d9d38babf2994df7220c21, Notional: 0.30783698513606866
-		{Chain: 4, Addr: "000000000000000000000000111111111117dc0aa78b770fa6a738034120c302", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.254098},                                                // Addr: 0x111111111117dc0aa78b770fa6a738034120c302, Notional: 19.82878111760494
+		{Chain: 4, Addr: "000000000000000000000000111111111117dc0aa78b770fa6a738034120c302", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.255501},                                                // Addr: 0x111111111117dc0aa78b770fa6a738034120c302, Notional: 19.938265568124027
 		{Chain: 4, Addr: "000000000000000000000000114597f4260caf4cde1eeb0b9d9865b0b7b9a46a", Symbol: "AGF", CoinGeckoId: "augmented-finance", Decimals: 18, Price: 0.00006308},                                    // Addr: 0x114597f4260caf4cde1eeb0b9d9865b0b7b9a46a, Notional: 0.0012615999999999999
-		{Chain: 4, Addr: "00000000000000000000000011a38e06699b238d6d9a0c7a01f3ac63a07ad318", Symbol: "USDFI", CoinGeckoId: "usdfi", Decimals: 18, Price: 0.812486},                                                // Addr: 0x11a38e06699b238d6d9a0c7a01f3ac63a07ad318, Notional: 0.812486
+		{Chain: 4, Addr: "00000000000000000000000011a38e06699b238d6d9a0c7a01f3ac63a07ad318", Symbol: "USDFI", CoinGeckoId: "usdfi", Decimals: 18, Price: 0.761242},                                                // Addr: 0x11a38e06699b238d6d9a0c7a01f3ac63a07ad318, Notional: 0.761242
 		{Chain: 4, Addr: "000000000000000000000000129385c4acd0075e45a0c9a5177bdfec9678a138", Symbol: "MTK", CoinGeckoId: "metakings", Decimals: 18, Price: 0.00010591},                                            // Addr: 0x129385c4acd0075e45a0c9a5177bdfec9678a138, Notional: 0.0042363999999999995
-		{Chain: 4, Addr: "00000000000000000000000012bb890508c125661e03b09ec06e404bc9289040", Symbol: "RACA", CoinGeckoId: "radio-caca", Decimals: 18, Price: 0.0000541},                                           // Addr: 0x12bb890508c125661e03b09ec06e404bc9289040, Notional: 96.60177495622447
-		{Chain: 4, Addr: "00000000000000000000000012e34cdf6a031a10fe241864c32fb03a4fdad739", Symbol: "FREE", CoinGeckoId: "freedom-coin", Decimals: 18, Price: 3.8871e-8},                                         // Addr: 0x12e34cdf6a031a10fe241864c32fb03a4fdad739, Notional: 0.00000894033
-		{Chain: 4, Addr: "00000000000000000000000012f31b73d812c6bb0d735a218c086d44d5fe5f89", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                    // Addr: 0x12f31b73d812c6bb0d735a218c086d44d5fe5f89, Notional: 18.3482632944
-		{Chain: 4, Addr: "0000000000000000000000001446f3cedf4d86a9399e49f7937766e6de2a3aab", Symbol: "KRW", CoinGeckoId: "krown", Decimals: 18, Price: 0.00000401},                                                // Addr: 0x1446f3cedf4d86a9399e49f7937766e6de2a3aab, Notional: 0.15986703935143587
-		{Chain: 4, Addr: "00000000000000000000000014778860e937f509e651192a90589de711fb88a9", Symbol: "CYBER", CoinGeckoId: "cyberconnect", Decimals: 18, Price: 1.78},                                             // Addr: 0x14778860e937f509e651192a90589de711fb88a9, Notional: 23.3593685706
-		{Chain: 4, Addr: "000000000000000000000000154a9f9cbd3449ad22fdae23044319d6ef2a1fab", Symbol: "SKILL", CoinGeckoId: "cryptoblades", Decimals: 18, Price: 0.086613},                                         // Addr: 0x154a9f9cbd3449ad22fdae23044319d6ef2a1fab, Notional: 0.00008661299999999999
+		{Chain: 4, Addr: "00000000000000000000000012bb890508c125661e03b09ec06e404bc9289040", Symbol: "RACA", CoinGeckoId: "radio-caca", Decimals: 18, Price: 0.00005374},                                          // Addr: 0x12bb890508c125661e03b09ec06e404bc9289040, Notional: 95.96829710346759
+		{Chain: 4, Addr: "00000000000000000000000012e34cdf6a031a10fe241864c32fb03a4fdad739", Symbol: "FREE", CoinGeckoId: "freedom-coin", Decimals: 18, Price: 3.7581e-8},                                         // Addr: 0x12e34cdf6a031a10fe241864c32fb03a4fdad739, Notional: 0.00000864363
+		{Chain: 4, Addr: "00000000000000000000000012f31b73d812c6bb0d735a218c086d44d5fe5f89", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                    // Addr: 0x12f31b73d812c6bb0d735a218c086d44d5fe5f89, Notional: 18.5050860576
+		{Chain: 4, Addr: "0000000000000000000000001446f3cedf4d86a9399e49f7937766e6de2a3aab", Symbol: "KRW", CoinGeckoId: "krown", Decimals: 18, Price: 0.00000505},                                                // Addr: 0x1446f3cedf4d86a9399e49f7937766e6de2a3aab, Notional: 0.20132881514332948
+		{Chain: 4, Addr: "00000000000000000000000014778860e937f509e651192a90589de711fb88a9", Symbol: "CYBER", CoinGeckoId: "cyberconnect", Decimals: 18, Price: 1.5},                                              // Addr: 0x14778860e937f509e651192a90589de711fb88a9, Notional: 19.684861155
+		{Chain: 4, Addr: "000000000000000000000000154a9f9cbd3449ad22fdae23044319d6ef2a1fab", Symbol: "SKILL", CoinGeckoId: "cryptoblades", Decimals: 18, Price: 0.098373},                                         // Addr: 0x154a9f9cbd3449ad22fdae23044319d6ef2a1fab, Notional: 0.000098373
 		{Chain: 4, Addr: "0000000000000000000000001591e923e0836a3949b59637fbe8959f000894b9", Symbol: "MAI", CoinGeckoId: "multi-ai", Decimals: 18, Price: 0.00032411},                                             // Addr: 0x1591e923e0836a3949b59637fbe8959f000894b9, Notional: 2.1250483028995224
-		{Chain: 4, Addr: "0000000000000000000000001613957159e9b0ac6c80e824f7eea748a32a0ae2", Symbol: "CGG", CoinGeckoId: "chain-guardians", Decimals: 18, Price: 0.00441372},                                      // Addr: 0x1613957159e9b0ac6c80e824f7eea748a32a0ae2, Notional: 3.6674500965979235
-		{Chain: 4, Addr: "00000000000000000000000016faf9daa401aa42506af503aa3d80b871c467a3", Symbol: "DCK", CoinGeckoId: "dexcheck", Decimals: 18, Price: 0.00479686},                                             // Addr: 0x16faf9daa401aa42506af503aa3d80b871c467a3, Notional: 52184.180645901695
-		{Chain: 4, Addr: "0000000000000000000000001796ae0b0fa4862485106a0de9b654efe301d0b2", Symbol: "PMON", CoinGeckoId: "polychain-monsters", Decimals: 18, Price: 0.066882},                                    // Addr: 0x1796ae0b0fa4862485106a0de9b654efe301d0b2, Notional: 0.02439106816656
-		{Chain: 4, Addr: "00000000000000000000000019b99162adaab85134e781ac0048c275c31b205a", Symbol: "TAUR", CoinGeckoId: "marnotaur", Decimals: 18, Price: 0.00240549},                                           // Addr: 0x19b99162adaab85134e781ac0048c275c31b205a, Notional: 9.813607290609603
-		{Chain: 4, Addr: "00000000000000000000000019c018e13cff682e729cc7b5fb68c8a641bf98a4", Symbol: "burn", CoinGeckoId: "burnedfi", Decimals: 18, Price: 1.73},                                                  // Addr: 0x19c018e13cff682e729cc7b5fb68c8a641bf98a4, Notional: 95.43713841079999
+		{Chain: 4, Addr: "0000000000000000000000001613957159e9b0ac6c80e824f7eea748a32a0ae2", Symbol: "CGG", CoinGeckoId: "chain-guardians", Decimals: 18, Price: 0.00476675},                                      // Addr: 0x1613957159e9b0ac6c80e824f7eea748a32a0ae2, Notional: 3.9607899341050525
+		{Chain: 4, Addr: "00000000000000000000000016faf9daa401aa42506af503aa3d80b871c467a3", Symbol: "DCK", CoinGeckoId: "dexcheck", Decimals: 18, Price: 0.00454953},                                             // Addr: 0x16faf9daa401aa42506af503aa3d80b871c467a3, Notional: 49493.521881803754
+		{Chain: 4, Addr: "0000000000000000000000001796ae0b0fa4862485106a0de9b654efe301d0b2", Symbol: "PMON", CoinGeckoId: "polychain-monsters", Decimals: 18, Price: 0.056886},                                    // Addr: 0x1796ae0b0fa4862485106a0de9b654efe301d0b2, Notional: 0.020745646118880003
+		{Chain: 4, Addr: "00000000000000000000000019b99162adaab85134e781ac0048c275c31b205a", Symbol: "TAUR", CoinGeckoId: "marnotaur", Decimals: 18, Price: 0.00239614},                                           // Addr: 0x19b99162adaab85134e781ac0048c275c31b205a, Notional: 9.775462368715436
+		{Chain: 4, Addr: "00000000000000000000000019c018e13cff682e729cc7b5fb68c8a641bf98a4", Symbol: "burn", CoinGeckoId: "burnedfi", Decimals: 18, Price: 3.26},                                                  // Addr: 0x19c018e13cff682e729cc7b5fb68c8a641bf98a4, Notional: 118.50644830760001
 		{Chain: 4, Addr: "0000000000000000000000001a131f7b106d58f33eaf0fe5b47db2f2045e5732", Symbol: "DEGEN", CoinGeckoId: "degenreborn", Decimals: 18, Price: 9.60409e-10},                                       // Addr: 0x1a131f7b106d58f33eaf0fe5b47db2f2045e5732, Notional: 173.98239879987176
-		{Chain: 4, Addr: "0000000000000000000000001a28ed8472f644e8898a169a644503b779748d6e", Symbol: "SOFI", CoinGeckoId: "rai-finance", Decimals: 18, Price: 0.0078601},                                          // Addr: 0x1a28ed8472f644e8898a169a644503b779748d6e, Notional: 26.379066946345944
-		{Chain: 4, Addr: "0000000000000000000000001af3f329e8be154074d8769d1ffa4ee058b1dbc3", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                           // Addr: 0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3, Notional: 1662.28099261
-		{Chain: 4, Addr: "0000000000000000000000001cb9ca00538265a22e56b758026948608ba5d86f", Symbol: "LSR", CoinGeckoId: "lasereyes", Decimals: 8, Price: 0.00091669},                                             // Addr: 0x1cb9ca00538265a22e56b758026948608ba5d86f, Notional: 0.14300364
-		{Chain: 4, Addr: "0000000000000000000000001ce0c2827e2ef14d5c4f29a091d735a204794041", Symbol: "AVAX", CoinGeckoId: "binance-peg-avalanche", Decimals: 18, Price: 25.93},                                    // Addr: 0x1ce0c2827e2ef14d5c4f29a091d735a204794041, Notional: 3276.4318224442
-		{Chain: 4, Addr: "0000000000000000000000001d1cb8997570e73949930c01fe5796c88d7336c6", Symbol: "PBR", CoinGeckoId: "polkabridge", Decimals: 18, Price: 0.00073616},                                          // Addr: 0x1d1cb8997570e73949930c01fe5796c88d7336c6, Notional: 0.00073616
-		{Chain: 4, Addr: "0000000000000000000000001d2f0da169ceb9fc7b3144628db156f3f6c60dbe", Symbol: "XRP", CoinGeckoId: "binance-peg-xrp", Decimals: 18, Price: 2.96},                                            // Addr: 0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe, Notional: 4080.9479536208
-		{Chain: 4, Addr: "0000000000000000000000001da87b114f35e1dc91f72bf57fc07a768ad40bb0", Symbol: "EQZ", CoinGeckoId: "equalizer", Decimals: 18, Price: 0.00050551},                                            // Addr: 0x1da87b114f35e1dc91f72bf57fc07a768ad40bb0, Notional: 0.0050551
-		{Chain: 4, Addr: "0000000000000000000000001ee098cbaf1f846d5df1993f7e2d10afb35a878d", Symbol: "SABLE", CoinGeckoId: "sable", Decimals: 18, Price: 0.00394281},                                              // Addr: 0x1ee098cbaf1f846d5df1993f7e2d10afb35a878d, Notional: 5058.364527776124
-		{Chain: 4, Addr: "0000000000000000000000001fa4a73a3f0133f0025378af00236f3abdee5d63", Symbol: "NEAR", CoinGeckoId: "wrapped-near", Decimals: 18, Price: 2.64},                                              // Addr: 0x1fa4a73a3f0133f0025378af00236f3abdee5d63, Notional: 66.148368
-		{Chain: 4, Addr: "000000000000000000000000200c234721b5e549c3693ccc93cf191f90dc2af9", Symbol: "METAL", CoinGeckoId: "drunk-robots", Decimals: 18, Price: 0.00024146},                                       // Addr: 0x200c234721b5e549c3693ccc93cf191f90dc2af9, Notional: 0.9818643036339937
-		{Chain: 4, Addr: "0000000000000000000000002170ed0880ac9a755fd29b2688956bd959f933f8", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                    // Addr: 0x2170ed0880ac9a755fd29b2688956bd959f933f8, Notional: 266840.364134652
-		{Chain: 4, Addr: "00000000000000000000000021f9b5b2626603e3f40bfc13d01afb8c431d382f", Symbol: "ZINU", CoinGeckoId: "zombie-inu", Decimals: 9, Price: 5.4622e-11},                                           // Addr: 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f, Notional: 0.37800484152153074
-		{Chain: 4, Addr: "00000000000000000000000022168882276e5d5e1da694343b41dd7726eeb288", Symbol: "WSB", CoinGeckoId: "wall-street-bets-dapp", Decimals: 18, Price: 0.00024843},                                // Addr: 0x22168882276e5d5e1da694343b41dd7726eeb288, Notional: 1.1049960711164195
-		{Chain: 4, Addr: "0000000000000000000000002222227e22102fe3322098e4cbfe18cfebd57c95", Symbol: "TLM", CoinGeckoId: "alien-worlds", Decimals: 4, Price: 0.00438955},                                          // Addr: 0x2222227e22102fe3322098e4cbfe18cfebd57c95, Notional: 3.96025201
-		{Chain: 4, Addr: "0000000000000000000000002235e79086dd23135119366da45851c741874e5b", Symbol: "CREDI", CoinGeckoId: "credefi", Decimals: 18, Price: 0.00456648},                                            // Addr: 0x2235e79086dd23135119366da45851c741874e5b, Notional: 11.918699272439126
-		{Chain: 4, Addr: "0000000000000000000000002326c7395d02a8c89a9d7a0b0c1cf159d49ce51c", Symbol: "TBAC", CoinGeckoId: "blockaura", Decimals: 8, Price: 0.0043144},                                             // Addr: 0x2326c7395d02a8c89a9d7a0b0c1cf159d49ce51c, Notional: 0.0022866320000000002
-		{Chain: 4, Addr: "00000000000000000000000023396cf899ca06c4472205fc903bdb4de249d6fc", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01362849},                                          // Addr: 0x23396cf899ca06c4472205fc903bdb4de249d6fc, Notional: 0.7560928616707566
-		{Chain: 4, Addr: "00000000000000000000000023e8a70534308a4aaf76fb8c32ec13d17a3bd89e", Symbol: "lUSD", CoinGeckoId: "lusd", Decimals: 18, Price: 0.00000745},                                                // Addr: 0x23e8a70534308a4aaf76fb8c32ec13d17a3bd89e, Notional: 52.7478351620278
-		{Chain: 4, Addr: "0000000000000000000000002416092f143378750bb29b79ed961ab195cceea5", Symbol: "ezETH", CoinGeckoId: "renzo-restaked-eth", Decimals: 18, Price: 4544.08},                                    // Addr: 0x2416092f143378750bb29b79ed961ab195cceea5, Notional: 78.8436050272
-		{Chain: 4, Addr: "000000000000000000000000245d9f531757f83064ad808b4c9b220c703a4934", Symbol: "GODE", CoinGeckoId: "gode-chain", Decimals: 6, Price: 0.00055944},                                           // Addr: 0x245d9f531757f83064ad808b4c9b220c703a4934, Notional: 0.00030769200000000003
-		{Chain: 4, Addr: "000000000000000000000000250632378e573c6be1ac2f97fcdf00515d0aa91b", Symbol: "BETH", CoinGeckoId: "binance-eth", Decimals: 18, Price: 4663.35},                                            // Addr: 0x250632378e573c6be1ac2f97fcdf00515d0aa91b, Notional: 925.030406763
+		{Chain: 4, Addr: "0000000000000000000000001a28ed8472f644e8898a169a644503b779748d6e", Symbol: "SOFI", CoinGeckoId: "rai-finance", Decimals: 18, Price: 0.00363633},                                         // Addr: 0x1a28ed8472f644e8898a169a644503b779748d6e, Notional: 12.20378780282772
+		{Chain: 4, Addr: "0000000000000000000000001af3f329e8be154074d8769d1ffa4ee058b1dbc3", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                    // Addr: 0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3, Notional: 1661.9468741304854
+		{Chain: 4, Addr: "0000000000000000000000001cb9ca00538265a22e56b758026948608ba5d86f", Symbol: "LSR", CoinGeckoId: "lasereyes", Decimals: 8, Price: 0.00102308},                                             // Addr: 0x1cb9ca00538265a22e56b758026948608ba5d86f, Notional: 0.15960048
+		{Chain: 4, Addr: "0000000000000000000000001ce0c2827e2ef14d5c4f29a091d735a204794041", Symbol: "AVAX", CoinGeckoId: "binance-peg-avalanche", Decimals: 18, Price: 29.97},                                    // Addr: 0x1ce0c2827e2ef14d5c4f29a091d735a204794041, Notional: 3786.9132942018
+		{Chain: 4, Addr: "0000000000000000000000001d1cb8997570e73949930c01fe5796c88d7336c6", Symbol: "PBR", CoinGeckoId: "polkabridge", Decimals: 18, Price: 0.00069999},                                          // Addr: 0x1d1cb8997570e73949930c01fe5796c88d7336c6, Notional: 0.00069999
+		{Chain: 4, Addr: "0000000000000000000000001d2f0da169ceb9fc7b3144628db156f3f6c60dbe", Symbol: "XRP", CoinGeckoId: "binance-peg-xrp", Decimals: 18, Price: 2.84},                                            // Addr: 0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe, Notional: 3915.5041176632
+		{Chain: 4, Addr: "0000000000000000000000001da87b114f35e1dc91f72bf57fc07a768ad40bb0", Symbol: "EQZ", CoinGeckoId: "equalizer", Decimals: 18, Price: 0.00047472},                                            // Addr: 0x1da87b114f35e1dc91f72bf57fc07a768ad40bb0, Notional: 0.0047472
+		{Chain: 4, Addr: "0000000000000000000000001ee098cbaf1f846d5df1993f7e2d10afb35a878d", Symbol: "SABLE", CoinGeckoId: "sable", Decimals: 18, Price: 0.00430384},                                              // Addr: 0x1ee098cbaf1f846d5df1993f7e2d10afb35a878d, Notional: 5174.488168546365
+		{Chain: 4, Addr: "0000000000000000000000001fa4a73a3f0133f0025378af00236f3abdee5d63", Symbol: "NEAR", CoinGeckoId: "wrapped-near", Decimals: 18, Price: 2.63},                                              // Addr: 0x1fa4a73a3f0133f0025378af00236f3abdee5d63, Notional: 65.897806
+		{Chain: 4, Addr: "000000000000000000000000200c234721b5e549c3693ccc93cf191f90dc2af9", Symbol: "METAL", CoinGeckoId: "drunk-robots", Decimals: 18, Price: 0.00013503},                                       // Addr: 0x200c234721b5e549c3693ccc93cf191f90dc2af9, Notional: 0.5490811601080848
+		{Chain: 4, Addr: "0000000000000000000000002170ed0880ac9a755fd29b2688956bd959f933f8", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                    // Addr: 0x2170ed0880ac9a755fd29b2688956bd959f933f8, Notional: 257403.90763626
+		{Chain: 4, Addr: "00000000000000000000000021f9b5b2626603e3f40bfc13d01afb8c431d382f", Symbol: "ZINU", CoinGeckoId: "zombie-inu", Decimals: 9, Price: 3.36645e-10},                                          // Addr: 0x21f9b5b2626603e3f40bfc13d01afb8c431d382f, Notional: 2.329710370803261
+		{Chain: 4, Addr: "00000000000000000000000022168882276e5d5e1da694343b41dd7726eeb288", Symbol: "WSB", CoinGeckoId: "wall-street-bets-dapp", Decimals: 18, Price: 0.00026898},                                // Addr: 0x22168882276e5d5e1da694343b41dd7726eeb288, Notional: 1.1964007696691
+		{Chain: 4, Addr: "0000000000000000000000002222227e22102fe3322098e4cbfe18cfebd57c95", Symbol: "TLM", CoinGeckoId: "alien-worlds", Decimals: 4, Price: 0.00402377},                                          // Addr: 0x2222227e22102fe3322098e4cbfe18cfebd57c95, Notional: 3.6302452940000003
+		{Chain: 4, Addr: "0000000000000000000000002235e79086dd23135119366da45851c741874e5b", Symbol: "CREDI", CoinGeckoId: "credefi", Decimals: 18, Price: 0.00393086},                                            // Addr: 0x2235e79086dd23135119366da45851c741874e5b, Notional: 10.259705116864644
+		{Chain: 4, Addr: "0000000000000000000000002326c7395d02a8c89a9d7a0b0c1cf159d49ce51c", Symbol: "TBAC", CoinGeckoId: "blockaura", Decimals: 8, Price: 0.0052127},                                             // Addr: 0x2326c7395d02a8c89a9d7a0b0c1cf159d49ce51c, Notional: 0.002762731
+		{Chain: 4, Addr: "00000000000000000000000023396cf899ca06c4472205fc903bdb4de249d6fc", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01091164},                                          // Addr: 0x23396cf899ca06c4472205fc903bdb4de249d6fc, Notional: 0.6053651661424776
+		{Chain: 4, Addr: "00000000000000000000000023e8a70534308a4aaf76fb8c32ec13d17a3bd89e", Symbol: "lUSD", CoinGeckoId: "lusd", Decimals: 18, Price: 0.00000507},                                                // Addr: 0x23e8a70534308a4aaf76fb8c32ec13d17a3bd89e, Notional: 35.896848895500796
+		{Chain: 4, Addr: "0000000000000000000000002416092f143378750bb29b79ed961ab195cceea5", Symbol: "ezETH", CoinGeckoId: "renzo-restaked-eth", Decimals: 18, Price: 4391.6},                                     // Addr: 0x2416092f143378750bb29b79ed961ab195cceea5, Notional: 76.197948944
+		{Chain: 4, Addr: "000000000000000000000000245d9f531757f83064ad808b4c9b220c703a4934", Symbol: "GODE", CoinGeckoId: "gode-chain", Decimals: 6, Price: 0.00056902},                                           // Addr: 0x245d9f531757f83064ad808b4c9b220c703a4934, Notional: 0.00031296100000000006
+		{Chain: 4, Addr: "000000000000000000000000250632378e573c6be1ac2f97fcdf00515d0aa91b", Symbol: "BETH", CoinGeckoId: "binance-eth", Decimals: 18, Price: 4486.76},                                            // Addr: 0x250632378e573c6be1ac2f97fcdf00515d0aa91b, Notional: 890.0017000327999
 		{Chain: 4, Addr: "0000000000000000000000002541be91fe0d220ffcbe65f11d88217a87a43bda", Symbol: "$Lordz", CoinGeckoId: "meme-lordz", Decimals: 9, Price: 0.00243802},                                         // Addr: 0x2541be91fe0d220ffcbe65f11d88217a87a43bda, Notional: 0.00243802
-		{Chain: 4, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 2436.445884701414
+		{Chain: 4, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 1686.4051954107442
 		{Chain: 4, Addr: "00000000000000000000000025a528af62e56512a19ce8c3cab427807c28cc19", Symbol: "FORM", CoinGeckoId: "formation-fi", Decimals: 18, Price: 0.00054106},                                        // Addr: 0x25a528af62e56512a19ce8c3cab427807c28cc19, Notional: 0.9105700822014369
 		{Chain: 4, Addr: "00000000000000000000000025b24b3c47918b7962b3e49c4f468367f73cc0e0", Symbol: "AXL", CoinGeckoId: "axl-inu", Decimals: 18, Price: 1.2999e-7},                                               // Addr: 0x25b24b3c47918b7962b3e49c4f468367f73cc0e0, Notional: 0.0012998999999999999
-		{Chain: 4, Addr: "00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00001027},                                                // Addr: 0x25d887ce7a35172c62febfd67a1856f20faebb00, Notional: 51.390345926618586
-		{Chain: 4, Addr: "00000000000000000000000027ae27110350b98d564b9a3eed31baebc82d878d", Symbol: "CUMMIES", CoinGeckoId: "cumrocket", Decimals: 18, Price: 0.00275367},                                        // Addr: 0x27ae27110350b98d564b9a3eed31baebc82d878d, Notional: 3.4291441892399215
-		{Chain: 4, Addr: "0000000000000000000000002859e4544c4bb03966803b044a93563bd2d0dd4d", Symbol: "SHIB", CoinGeckoId: "binance-peg-shib", Decimals: 18, Price: 0.00001284},                                    // Addr: 0x2859e4544c4bb03966803b044a93563bd2d0dd4d, Notional: 1705.921104489219
-		{Chain: 4, Addr: "0000000000000000000000002a48ece377b87ce941406657b9278b4459595e06", Symbol: "LunaT", CoinGeckoId: "lunatics", Decimals: 9, Price: 3.02576e-7},                                            // Addr: 0x2a48ece377b87ce941406657b9278b4459595e06, Notional: 0.43793618058003586
-		{Chain: 4, Addr: "0000000000000000000000002ab0e9e4ee70fff1fb9d67031e44f6410170d00e", Symbol: "bXEN", CoinGeckoId: "xen-crypto-bsc", Decimals: 18, Price: 2.18743e-10},                                     // Addr: 0x2ab0e9e4ee70fff1fb9d67031e44f6410170d00e, Notional: 0.48252599551185743
-		{Chain: 4, Addr: "0000000000000000000000002c717059b366714d267039af8f59125cadce6d8c", Symbol: "MHUNT", CoinGeckoId: "metashooter", Decimals: 18, Price: 0.00006075},                                        // Addr: 0x2c717059b366714d267039af8f59125cadce6d8c, Notional: 0.002160113628285
-		{Chain: 4, Addr: "0000000000000000000000002cd96e8c3ff6b5e01169f6e3b61d28204e7810bb", Symbol: "LBlock", CoinGeckoId: "lucky-block", Decimals: 9, Price: 0.00003141},                                        // Addr: 0x2cd96e8c3ff6b5e01169f6e3b61d28204e7810bb, Notional: 1602.948206201842
-		{Chain: 4, Addr: "0000000000000000000000002d6f3dc5b202ccd91db114b592872bca32a7e292", Symbol: "SAUDISHIB", CoinGeckoId: "saudi-shiba-inu", Decimals: 8, Price: 1.2469e-11},                                 // Addr: 0x2d6f3dc5b202ccd91db114b592872bca32a7e292, Notional: 1.7890266078867667
+		{Chain: 4, Addr: "00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00000931},                                                // Addr: 0x25d887ce7a35172c62febfd67a1856f20faebb00, Notional: 46.58657454496778
+		{Chain: 4, Addr: "00000000000000000000000027ae27110350b98d564b9a3eed31baebc82d878d", Symbol: "CUMMIES", CoinGeckoId: "cumrocket", Decimals: 18, Price: 0.00261139},                                        // Addr: 0x27ae27110350b98d564b9a3eed31baebc82d878d, Notional: 3.2519629601002435
+		{Chain: 4, Addr: "0000000000000000000000002859e4544c4bb03966803b044a93563bd2d0dd4d", Symbol: "SHIB", CoinGeckoId: "binance-peg-shib", Decimals: 18, Price: 0.00001182},                                    // Addr: 0x2859e4544c4bb03966803b044a93563bd2d0dd4d, Notional: 1571.5848254036268
+		{Chain: 4, Addr: "0000000000000000000000002a48ece377b87ce941406657b9278b4459595e06", Symbol: "LunaT", CoinGeckoId: "lunatics", Decimals: 9, Price: 3.60389e-7},                                            // Addr: 0x2a48ece377b87ce941406657b9278b4459595e06, Notional: 0.52161236245789
+		{Chain: 4, Addr: "0000000000000000000000002ab0e9e4ee70fff1fb9d67031e44f6410170d00e", Symbol: "bXEN", CoinGeckoId: "xen-crypto-bsc", Decimals: 18, Price: 2.22164e-10},                                     // Addr: 0x2ab0e9e4ee70fff1fb9d67031e44f6410170d00e, Notional: 0.49007239210807335
+		{Chain: 4, Addr: "0000000000000000000000002c717059b366714d267039af8f59125cadce6d8c", Symbol: "MHUNT", CoinGeckoId: "metashooter", Decimals: 18, Price: 0.00005442},                                        // Addr: 0x2c717059b366714d267039af8f59125cadce6d8c, Notional: 0.0019350351218315998
+		{Chain: 4, Addr: "0000000000000000000000002cd96e8c3ff6b5e01169f6e3b61d28204e7810bb", Symbol: "LBlock", CoinGeckoId: "lucky-block", Decimals: 9, Price: 0.00002796},                                        // Addr: 0x2cd96e8c3ff6b5e01169f6e3b61d28204e7810bb, Notional: 1426.8841720918022
+		{Chain: 4, Addr: "0000000000000000000000002d6f3dc5b202ccd91db114b592872bca32a7e292", Symbol: "SAUDISHIB", CoinGeckoId: "saudi-shiba-inu", Decimals: 8, Price: 1.4781e-11},                                 // Addr: 0x2d6f3dc5b202ccd91db114b592872bca32a7e292, Notional: 2.120747637434782
 		{Chain: 4, Addr: "0000000000000000000000002d94172436d869c1e3c094bead272508fab0d9e3", Symbol: "RCG", CoinGeckoId: "recharge", Decimals: 18, Price: 0.00950839},                                             // Addr: 0x2d94172436d869c1e3c094bead272508fab0d9e3, Notional: 0.0093182222
-		{Chain: 4, Addr: "0000000000000000000000002dff88a56767223a5529ea5960da7a3f5f766406", Symbol: "ID", CoinGeckoId: "space-id", Decimals: 18, Price: 0.165602},                                                // Addr: 0x2dff88a56767223a5529ea5960da7a3f5f766406, Notional: 551.52013571876
+		{Chain: 4, Addr: "0000000000000000000000002dff88a56767223a5529ea5960da7a3f5f766406", Symbol: "ID", CoinGeckoId: "space-id", Decimals: 18, Price: 0.145801},                                                // Addr: 0x2dff88a56767223a5529ea5960da7a3f5f766406, Notional: 485.57497679937995
 		{Chain: 4, Addr: "0000000000000000000000002f25d402829ca4085b8ea4d3bc68bf203f5a9fab", Symbol: "Eagon", CoinGeckoId: "eagonswap-token", Decimals: 18, Price: 0.00007782},                                    // Addr: 0x2f25d402829ca4085b8ea4d3bc68bf203f5a9fab, Notional: 1.6413002011647486
-		{Chain: 4, Addr: "0000000000000000000000002f29bc0ffaf9bff337b31cbe6cb5fb3bf12e5840", Symbol: "DOLA", CoinGeckoId: "dola-usd", Decimals: 18, Price: 0.992168},                                              // Addr: 0x2f29bc0ffaf9bff337b31cbe6cb5fb3bf12e5840, Notional: 296.28179197149456
-		{Chain: 4, Addr: "0000000000000000000000002ff0b946a6782190c4fe5d4971cfe79f0b6e4df2", Symbol: "MYST", CoinGeckoId: "mysterium", Decimals: 18, Price: 0.205214},                                             // Addr: 0x2ff0b946a6782190c4fe5d4971cfe79f0b6e4df2, Notional: 0.20527033739942
-		{Chain: 4, Addr: "0000000000000000000000003019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.0429973},                                                  // Addr: 0x3019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1, Notional: 71.86791004539849
-		{Chain: 4, Addr: "00000000000000000000000030842a9c941d9de3af582c41ad12b11d776ba69e", Symbol: "GPT", CoinGeckoId: "qna3-ai", Decimals: 18, Price: 0.00075792},                                              // Addr: 0x30842a9c941d9de3af582c41ad12b11d776ba69e, Notional: 1474.3743526689766
-		{Chain: 4, Addr: "00000000000000000000000031471e0791fcdbe82fbf4c44943255e923f1b794", Symbol: "PVU", CoinGeckoId: "plant-vs-undead-token", Decimals: 18, Price: 0.00090437},                                // Addr: 0x31471e0791fcdbe82fbf4c44943255e923f1b794, Notional: 0.000009043700000000001
-		{Chain: 4, Addr: "000000000000000000000000317eb4ad9cfac6232f0046831322e895507bcbeb", Symbol: "TDX", CoinGeckoId: "tidex-token", Decimals: 18, Price: 0.00790007},                                          // Addr: 0x317eb4ad9cfac6232f0046831322e895507bcbeb, Notional: 7.369160615391314
-		{Chain: 4, Addr: "00000000000000000000000031d0a7ada4d4c131eb612db48861211f63e57610", Symbol: "START", CoinGeckoId: "bscstarter", Decimals: 18, Price: 0.04306808},                                         // Addr: 0x31d0a7ada4d4c131eb612db48861211f63e57610, Notional: 0.0043068080000000005
-		{Chain: 4, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100048},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 2.138626048
-		{Chain: 4, Addr: "0000000000000000000000003419875b4d3bca7f3fdda2db7a476a79fd31b4fe", Symbol: "DZHV", CoinGeckoId: "dizzyhavoc", Decimals: 18, Price: 0.00058756},                                          // Addr: 0x3419875b4d3bca7f3fdda2db7a476a79fd31b4fe, Notional: 0.8003262144110768
-		{Chain: 4, Addr: "000000000000000000000000352cb5e19b12fc216548a2677bd0fce83bae434b", Symbol: "BTT", CoinGeckoId: "bittorrent", Decimals: 18, Price: 6.41761e-7},                                           // Addr: 0x352cb5e19b12fc216548a2677bd0fce83bae434b, Notional: 0.028792607265000002
-		{Chain: 4, Addr: "00000000000000000000000035bedbf9291b22218a0da863170dcc9329ef2563", Symbol: "TAP", CoinGeckoId: "tap-fantasy", Decimals: 18, Price: 0.00010395},                                          // Addr: 0x35bedbf9291b22218a0da863170dcc9329ef2563, Notional: 4.824597139217163
+		{Chain: 4, Addr: "0000000000000000000000002f29bc0ffaf9bff337b31cbe6cb5fb3bf12e5840", Symbol: "DOLA", CoinGeckoId: "dola-usd", Decimals: 18, Price: 0.998031},                                              // Addr: 0x2f29bc0ffaf9bff337b31cbe6cb5fb3bf12e5840, Notional: 298.032604481401
+		{Chain: 4, Addr: "0000000000000000000000002ff0b946a6782190c4fe5d4971cfe79f0b6e4df2", Symbol: "MYST", CoinGeckoId: "mysterium", Decimals: 18, Price: 0.198102},                                             // Addr: 0x2ff0b946a6782190c4fe5d4971cfe79f0b6e4df2, Notional: 0.19815638494206
+		{Chain: 4, Addr: "0000000000000000000000003019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.03802966},                                                 // Addr: 0x3019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1, Notional: 63.56473973800887
+		{Chain: 4, Addr: "00000000000000000000000030842a9c941d9de3af582c41ad12b11d776ba69e", Symbol: "GPT", CoinGeckoId: "qna3-ai", Decimals: 18, Price: 0.00090944},                                              // Addr: 0x30842a9c941d9de3af582c41ad12b11d776ba69e, Notional: 1769.1247246296098
+		{Chain: 4, Addr: "00000000000000000000000031471e0791fcdbe82fbf4c44943255e923f1b794", Symbol: "PVU", CoinGeckoId: "plant-vs-undead-token", Decimals: 18, Price: 0.0008936},                                 // Addr: 0x31471e0791fcdbe82fbf4c44943255e923f1b794, Notional: 0.000008936
+		{Chain: 4, Addr: "000000000000000000000000317eb4ad9cfac6232f0046831322e895507bcbeb", Symbol: "TDX", CoinGeckoId: "tidex-token", Decimals: 18, Price: 0.00311118},                                          // Addr: 0x317eb4ad9cfac6232f0046831322e895507bcbeb, Notional: 2.9020989843625618
+		{Chain: 4, Addr: "00000000000000000000000031d0a7ada4d4c131eb612db48861211f63e57610", Symbol: "START", CoinGeckoId: "bscstarter", Decimals: 18, Price: 0.04466497},                                         // Addr: 0x31d0a7ada4d4c131eb612db48861211f63e57610, Notional: 0.004466497
+		{Chain: 4, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100242},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 2.1427729920000003
+		{Chain: 4, Addr: "0000000000000000000000003419875b4d3bca7f3fdda2db7a476a79fd31b4fe", Symbol: "DZHV", CoinGeckoId: "dizzyhavoc", Decimals: 18, Price: 0.00069488},                                          // Addr: 0x3419875b4d3bca7f3fdda2db7a476a79fd31b4fe, Notional: 0.9465087478214465
+		{Chain: 4, Addr: "000000000000000000000000352cb5e19b12fc216548a2677bd0fce83bae434b", Symbol: "BTT", CoinGeckoId: "bittorrent", Decimals: 18, Price: 5.886e-7},                                             // Addr: 0x352cb5e19b12fc216548a2677bd0fce83bae434b, Notional: 0.026407538999999997
+		{Chain: 4, Addr: "00000000000000000000000035bedbf9291b22218a0da863170dcc9329ef2563", Symbol: "TAP", CoinGeckoId: "tap-fantasy", Decimals: 18, Price: 0.00015399},                                          // Addr: 0x35bedbf9291b22218a0da863170dcc9329ef2563, Notional: 7.147087190649841
 		{Chain: 4, Addr: "000000000000000000000000368eb5efdca39126e8e76aae5187166de7c2766c", Symbol: "CST", CoinGeckoId: "cryptoskates", Decimals: 18, Price: 0.00015159},                                         // Addr: 0x368eb5efdca39126e8e76aae5187166de7c2766c, Notional: 0.08264202399612239
-		{Chain: 4, Addr: "00000000000000000000000036fe11b6d5c9421f68d235694fe192b35e803903", Symbol: "RWA", CoinGeckoId: "xend-finance", Decimals: 18, Price: 0.01833689},                                         // Addr: 0x36fe11b6d5c9421f68d235694fe192b35e803903, Notional: 28.832120296422303
-		{Chain: 4, Addr: "000000000000000000000000371c7ec6d8039ff7933a2aa28eb827ffe1f52f07", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.160055},                                                    // Addr: 0x371c7ec6d8039ff7933a2aa28eb827ffe1f52f07, Notional: 2.0923348297439
-		{Chain: 4, Addr: "000000000000000000000000373e768f79c820aa441540d254dca6d045c6d25b", Symbol: "DERC", CoinGeckoId: "derace", Decimals: 18, Price: 0.02292882},                                              // Addr: 0x373e768f79c820aa441540d254dca6d045c6d25b, Notional: 0.1149279888283542
-		{Chain: 4, Addr: "00000000000000000000000037fe635d1e25b2f7276c1b9dbbcc7b087f80c050", Symbol: "OciCat", CoinGeckoId: "ocicat-token", Decimals: 18, Price: 1.0853e-8},                                       // Addr: 0x37fe635d1e25b2f7276c1b9dbbcc7b087f80c050, Notional: 1547.8436651304999
-		{Chain: 4, Addr: "00000000000000000000000038e382f74dfb84608f3c1f10187f6bef5951de93", Symbol: "MUBI", CoinGeckoId: "multibit", Decimals: 18, Price: 0.00313054},                                            // Addr: 0x38e382f74dfb84608f3c1f10187f6bef5951de93, Notional: 0.6066191849638969
-		{Chain: 4, Addr: "00000000000000000000000039ae8eefb05138f418bb27659c21632dc1ddab10", Symbol: "KAI", CoinGeckoId: "kardiachain", Decimals: 18, Price: 0.00090433},                                          // Addr: 0x39ae8eefb05138f418bb27659c21632dc1ddab10, Notional: 60.12671408055872
-		{Chain: 4, Addr: "0000000000000000000000003c1748d647e6a56b37b66fcd2b5626d0461d3aa0", Symbol: "DNXC", CoinGeckoId: "dinox", Decimals: 18, Price: 0.00003401},                                               // Addr: 0x3c1748d647e6a56b37b66fcd2b5626d0461d3aa0, Notional: 0.9365550710559069
-		{Chain: 4, Addr: "0000000000000000000000003ee2200efb3400fabb9aacf31297cbdd1d435d47", Symbol: "ADA", CoinGeckoId: "binance-peg-cardano", Decimals: 18, Price: 0.864137},                                    // Addr: 0x3ee2200efb3400fabb9aacf31297cbdd1d435d47, Notional: 1065.7941934238686
-		{Chain: 4, Addr: "00000000000000000000000040c8225329bd3e28a043b029e0d07a5344d2c27c", Symbol: "AOG", CoinGeckoId: "ageofgods", Decimals: 18, Price: 0.00083925},                                            // Addr: 0x40c8225329bd3e28a043b029e0d07a5344d2c27c, Notional: 0.2785587779132325
-		{Chain: 4, Addr: "00000000000000000000000040e51e0ec04283e300f12f6bb98da157bb22036e", Symbol: "BLXM", CoinGeckoId: "bloxmove-erc20", Decimals: 18, Price: 0.00223098},                                      // Addr: 0x40e51e0ec04283e300f12f6bb98da157bb22036e, Notional: 49.13889058840425
-		{Chain: 4, Addr: "00000000000000000000000041065e3428188ba6eb27fbdde8526ae3af8e3830", Symbol: "SWASH", CoinGeckoId: "swash", Decimals: 18, Price: 0.00260568},                                              // Addr: 0x41065e3428188ba6eb27fbdde8526ae3af8e3830, Notional: 36.817282070282495
-		{Chain: 4, Addr: "0000000000000000000000004268b8f0b87b6eae5d897996e6b845ddbd99adf3", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                    // Addr: 0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3, Notional: 24.603614
-		{Chain: 4, Addr: "00000000000000000000000042981d0bfbaf196529376ee702f2a9eb9092fcb5", Symbol: "SFM", CoinGeckoId: "safemoon-2", Decimals: 9, Price: 0.00000752},                                            // Addr: 0x42981d0bfbaf196529376ee702f2a9eb9092fcb5, Notional: 0.0497760332581008
-		{Chain: 4, Addr: "00000000000000000000000042c95788f791a2be3584446854c8d9bb01be88a9", Symbol: "HBR", CoinGeckoId: "harbor-3", Decimals: 18, Price: 0.00002743},                                             // Addr: 0x42c95788f791a2be3584446854c8d9bb01be88a9, Notional: 287.21616078126806
-		{Chain: 4, Addr: "0000000000000000000000004338665cbb7b2485a8855a139b75d5e34ab0db94", Symbol: "LTC", CoinGeckoId: "binance-peg-litecoin", Decimals: 18, Price: 111.52},                                     // Addr: 0x4338665cbb7b2485a8855a139b75d5e34ab0db94, Notional: 296.4598298944
-		{Chain: 4, Addr: "00000000000000000000000044c99ca267c2b2646ceec72e898273085ab87ca5", Symbol: "RPTR", CoinGeckoId: "raptor-finance-2", Decimals: 18, Price: 0.00010333},                                    // Addr: 0x44c99ca267c2b2646ceec72e898273085ab87ca5, Notional: 333.6225704108527
-		{Chain: 4, Addr: "00000000000000000000000044ec807ce2f4a6f2737a92e985f318d035883e47", Symbol: "HFT", CoinGeckoId: "hashflow", Decimals: 18, Price: 0.088274},                                               // Addr: 0x44ec807ce2f4a6f2737a92e985f318d035883e47, Notional: 0.33808942000000003
-		{Chain: 4, Addr: "00000000000000000000000045f7967926e95fd161e56ed66b663c9114c5226f", Symbol: "TOKO", CoinGeckoId: "toko", Decimals: 18, Price: 0.00012821},                                                // Addr: 0x45f7967926e95fd161e56ed66b663c9114c5226f, Notional: 0.06295556559751139
-		{Chain: 4, Addr: "0000000000000000000000004691937a7508860f876c9c0a2a617e7d9e945d4b", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.06598},                                             // Addr: 0x4691937a7508860f876c9c0a2a617e7d9e945d4b, Notional: 0.6877909131339999
-		{Chain: 4, Addr: "00000000000000000000000046d502fac9aea7c5bc7b13c8ec9d02378c33d36f", Symbol: "WSPP", CoinGeckoId: "wolfsafepoorpeople", Decimals: 0, Price: 1.00099e-10},                                  // Addr: 0x46d502fac9aea7c5bc7b13c8ec9d02378c33d36f, Notional: 151.98933277463107
-		{Chain: 4, Addr: "000000000000000000000000477bc8d23c634c154061869478bce96be6045d12", Symbol: "SFUND", CoinGeckoId: "seedify-fund", Decimals: 18, Price: 0.419411},                                         // Addr: 0x477bc8d23c634c154061869478bce96be6045d12, Notional: 0.00838822
-		{Chain: 4, Addr: "00000000000000000000000047bead2563dcbf3bf2c9407fea4dc236faba485a", Symbol: "SXP", CoinGeckoId: "swipe", Decimals: 18, Price: 0.175031},                                                  // Addr: 0x47bead2563dcbf3bf2c9407fea4dc236faba485a, Notional: 574.9201668601717
-		{Chain: 4, Addr: "000000000000000000000000482e6bd0a178f985818c5dfb9ac77918e8412fba", Symbol: "ZEUM", CoinGeckoId: "colizeum", Decimals: 18, Price: 0.00069453},                                            // Addr: 0x482e6bd0a178f985818c5dfb9ac77918e8412fba, Notional: 0.083927882321937
+		{Chain: 4, Addr: "00000000000000000000000036fe11b6d5c9421f68d235694fe192b35e803903", Symbol: "RWA", CoinGeckoId: "xend-finance", Decimals: 18, Price: 0.01495695},                                         // Addr: 0x36fe11b6d5c9421f68d235694fe192b35e803903, Notional: 23.5176511211865
+		{Chain: 4, Addr: "000000000000000000000000371c7ec6d8039ff7933a2aa28eb827ffe1f52f07", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.155262},                                                    // Addr: 0x371c7ec6d8039ff7933a2aa28eb827ffe1f52f07, Notional: 2.0296778628327603
+		{Chain: 4, Addr: "000000000000000000000000373e768f79c820aa441540d254dca6d045c6d25b", Symbol: "DERC", CoinGeckoId: "derace", Decimals: 18, Price: 0.01514376},                                              // Addr: 0x373e768f79c820aa441540d254dca6d045c6d25b, Notional: 0.0759062995871256
+		{Chain: 4, Addr: "00000000000000000000000037fe635d1e25b2f7276c1b9dbbcc7b087f80c050", Symbol: "OciCat", CoinGeckoId: "ocicat-token", Decimals: 18, Price: 8.72e-9},                                         // Addr: 0x37fe635d1e25b2f7276c1b9dbbcc7b087f80c050, Notional: 1243.63740532
+		{Chain: 4, Addr: "00000000000000000000000038e382f74dfb84608f3c1f10187f6bef5951de93", Symbol: "MUBI", CoinGeckoId: "multibit", Decimals: 18, Price: 0.00271474},                                            // Addr: 0x38e382f74dfb84608f3c1f10187f6bef5951de93, Notional: 0.526047699818207
+		{Chain: 4, Addr: "00000000000000000000000039ae8eefb05138f418bb27659c21632dc1ddab10", Symbol: "KAI", CoinGeckoId: "kardiachain", Decimals: 18, Price: 0.00059782},                                          // Addr: 0x39ae8eefb05138f418bb27659c21632dc1ddab10, Notional: 39.74760564355889
+		{Chain: 4, Addr: "0000000000000000000000003c1748d647e6a56b37b66fcd2b5626d0461d3aa0", Symbol: "DNXC", CoinGeckoId: "dinox", Decimals: 18, Price: 0.000029},                                                 // Addr: 0x3c1748d647e6a56b37b66fcd2b5626d0461d3aa0, Notional: 0.79859150428172
+		{Chain: 4, Addr: "0000000000000000000000003ee2200efb3400fabb9aacf31297cbdd1d435d47", Symbol: "ADA", CoinGeckoId: "binance-peg-cardano", Decimals: 18, Price: 0.807712},                                    // Addr: 0x3ee2200efb3400fabb9aacf31297cbdd1d435d47, Notional: 996.201712875134
+		{Chain: 4, Addr: "00000000000000000000000040c8225329bd3e28a043b029e0d07a5344d2c27c", Symbol: "AOG", CoinGeckoId: "ageofgods", Decimals: 18, Price: 0.00081156},                                            // Addr: 0x40c8225329bd3e28a043b029e0d07a5344d2c27c, Notional: 0.2693680807903044
+		{Chain: 4, Addr: "00000000000000000000000040e51e0ec04283e300f12f6bb98da157bb22036e", Symbol: "BLXM", CoinGeckoId: "bloxmove-erc20", Decimals: 18, Price: 0.00131557},                                      // Addr: 0x40e51e0ec04283e300f12f6bb98da157bb22036e, Notional: 28.976346848195405
+		{Chain: 4, Addr: "00000000000000000000000041065e3428188ba6eb27fbdde8526ae3af8e3830", Symbol: "SWASH", CoinGeckoId: "swash", Decimals: 18, Price: 0.00204598},                                              // Addr: 0x41065e3428188ba6eb27fbdde8526ae3af8e3830, Notional: 28.90893078588184
+		{Chain: 4, Addr: "0000000000000000000000004268b8f0b87b6eae5d897996e6b845ddbd99adf3", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                             // Addr: 0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3, Notional: 24.589983597844
+		{Chain: 4, Addr: "00000000000000000000000042981d0bfbaf196529376ee702f2a9eb9092fcb5", Symbol: "SFM", CoinGeckoId: "safemoon-2", Decimals: 9, Price: 0.00000768},                                            // Addr: 0x42981d0bfbaf196529376ee702f2a9eb9092fcb5, Notional: 0.0508350977955072
+		{Chain: 4, Addr: "00000000000000000000000042c95788f791a2be3584446854c8d9bb01be88a9", Symbol: "HBR", CoinGeckoId: "harbor-3", Decimals: 18, Price: 0.00003215},                                             // Addr: 0x42c95788f791a2be3584446854c8d9bb01be88a9, Notional: 336.6387010250736
+		{Chain: 4, Addr: "0000000000000000000000004338665cbb7b2485a8855a139b75d5e34ab0db94", Symbol: "LTC", CoinGeckoId: "binance-peg-litecoin", Decimals: 18, Price: 106.86},                                     // Addr: 0x4338665cbb7b2485a8855a139b75d5e34ab0db94, Notional: 284.0718922392
+		{Chain: 4, Addr: "00000000000000000000000044c99ca267c2b2646ceec72e898273085ab87ca5", Symbol: "RPTR", CoinGeckoId: "raptor-finance-2", Decimals: 18, Price: 0.00011774},                                    // Addr: 0x44c99ca267c2b2646ceec72e898273085ab87ca5, Notional: 380.14827678480395
+		{Chain: 4, Addr: "00000000000000000000000044ec807ce2f4a6f2737a92e985f318d035883e47", Symbol: "HFT", CoinGeckoId: "hashflow", Decimals: 18, Price: 0.072944},                                               // Addr: 0x44ec807ce2f4a6f2737a92e985f318d035883e47, Notional: 0.27937552
+		{Chain: 4, Addr: "00000000000000000000000045f7967926e95fd161e56ed66b663c9114c5226f", Symbol: "TOKO", CoinGeckoId: "toko", Decimals: 18, Price: 0.00017711},                                                // Addr: 0x45f7967926e95fd161e56ed66b663c9114c5226f, Notional: 0.08696716498693739
+		{Chain: 4, Addr: "0000000000000000000000004691937a7508860f876c9c0a2a617e7d9e945d4b", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.065541},                                            // Addr: 0x4691937a7508860f876c9c0a2a617e7d9e945d4b, Notional: 0.6832146747153
+		{Chain: 4, Addr: "00000000000000000000000046d502fac9aea7c5bc7b13c8ec9d02378c33d36f", Symbol: "WSPP", CoinGeckoId: "wolfsafepoorpeople", Decimals: 0, Price: 5.6144e-11},                                   // Addr: 0x46d502fac9aea7c5bc7b13c8ec9d02378c33d36f, Notional: 85.24849498295575
+		{Chain: 4, Addr: "000000000000000000000000477bc8d23c634c154061869478bce96be6045d12", Symbol: "SFUND", CoinGeckoId: "seedify-fund", Decimals: 18, Price: 0.237941},                                         // Addr: 0x477bc8d23c634c154061869478bce96be6045d12, Notional: 0.00475882
+		{Chain: 4, Addr: "00000000000000000000000047bead2563dcbf3bf2c9407fea4dc236faba485a", Symbol: "SXP", CoinGeckoId: "swipe", Decimals: 18, Price: 0.154006},                                                  // Addr: 0x47bead2563dcbf3bf2c9407fea4dc236faba485a, Notional: 505.8598489265765
+		{Chain: 4, Addr: "000000000000000000000000482e6bd0a178f985818c5dfb9ac77918e8412fba", Symbol: "ZEUM", CoinGeckoId: "colizeum", Decimals: 18, Price: 0.00119192},                                            // Addr: 0x482e6bd0a178f985818c5dfb9ac77918e8412fba, Notional: 0.144033118075768
 		{Chain: 4, Addr: "0000000000000000000000004841181ae4079072ebe83a29b718388a387169e3", Symbol: "SUI", CoinGeckoId: "salmonation", Decimals: 9, Price: 0.00391361},                                           // Addr: 0x4841181ae4079072ebe83a29b718388a387169e3, Notional: 47.606875480271036
-		{Chain: 4, Addr: "000000000000000000000000489580eb70a50515296ef31e8179ff3e77e24965", Symbol: "RADAR", CoinGeckoId: "dappradar", Decimals: 18, Price: 0.0016871},                                           // Addr: 0x489580eb70a50515296ef31e8179ff3e77e24965, Notional: 4.84830153723062
-		{Chain: 4, Addr: "0000000000000000000000004a2c860cec6471b9f5f5a336eb4f38bb21683c98", Symbol: "GST", CoinGeckoId: "green-satoshi-token-bsc", Decimals: 8, Price: 0.00283423},                               // Addr: 0x4a2c860cec6471b9f5f5a336eb4f38bb21683c98, Notional: 300.7190542505665
-		{Chain: 4, Addr: "0000000000000000000000004aac18de824ec1b553dbf342829834e4ff3f7a9f", Symbol: "ANCHOR", CoinGeckoId: "anchorswap", Decimals: 18, Price: 6.0005e-8},                                         // Addr: 0x4aac18de824ec1b553dbf342829834e4ff3f7a9f, Notional: 0.00001849111367593985
-		{Chain: 4, Addr: "0000000000000000000000004afc8c2be6a0783ea16e16066fde140d15979296", Symbol: "HARE", CoinGeckoId: "hare-token", Decimals: 9, Price: 3.9e-17},                                              // Addr: 0x4afc8c2be6a0783ea16e16066fde140d15979296, Notional: 3.5099999999999997e-13
-		{Chain: 4, Addr: "0000000000000000000000004b0f1812e5df2a09796481ff14017e6005508003", Symbol: "TWT", CoinGeckoId: "trust-wallet-token", Decimals: 18, Price: 0.734062},                                     // Addr: 0x4b0f1812e5df2a09796481ff14017e6005508003, Notional: 7346.418379734487
-		{Chain: 4, Addr: "0000000000000000000000004b5c23cac08a567ecf0c1ffca8372a45a5d33743", Symbol: "FARM", CoinGeckoId: "harvest-finance", Decimals: 18, Price: 28.21},                                          // Addr: 0x4b5c23cac08a567ecf0c1ffca8372a45a5d33743, Notional: 0.4635176637
-		{Chain: 4, Addr: "0000000000000000000000004b5decb9327b4d511a58137a1ade61434aacdd43", Symbol: "PKN", CoinGeckoId: "poken", Decimals: 18, Price: 0.00032366},                                                // Addr: 0x4b5decb9327b4d511a58137a1ade61434aacdd43, Notional: 16.298810812106574
-		{Chain: 4, Addr: "0000000000000000000000004b8285ab433d8f69cb48d5ad62b415ed1a221e4f", Symbol: "MCRT", CoinGeckoId: "magiccraft", Decimals: 9, Price: 0.00040199},                                           // Addr: 0x4b8285ab433d8f69cb48d5ad62b415ed1a221e4f, Notional: 10799.218421963897
-		{Chain: 4, Addr: "0000000000000000000000004ba0057f784858a48fe351445c672ff2a3d43515", Symbol: "KALM", CoinGeckoId: "kalmar", Decimals: 18, Price: 0.00199231},                                              // Addr: 0x4ba0057f784858a48fe351445c672ff2a3d43515, Notional: 176.29809473827908
-		{Chain: 4, Addr: "0000000000000000000000004d2d32d8652058bf98c772953e1df5c5c85d9f45", Symbol: "DAO", CoinGeckoId: "dao-maker", Decimals: 18, Price: 0.117829},                                              // Addr: 0x4d2d32d8652058bf98c772953e1df5c5c85d9f45, Notional: 960914.6471476911
-		{Chain: 4, Addr: "0000000000000000000000004da996c5fe84755c80e108cf96fe705174c5e36a", Symbol: "WOW", CoinGeckoId: "wowswap", Decimals: 18, Price: 0.03004257},                                              // Addr: 0x4da996c5fe84755c80e108cf96fe705174c5e36a, Notional: 0.2179401516612432
-		{Chain: 4, Addr: "0000000000000000000000004f39c3319188a723003670c3f9b9e7ef991e52f3", Symbol: "FIGHT", CoinGeckoId: "crypto-fight-club", Decimals: 18, Price: 0.00013414},                                  // Addr: 0x4f39c3319188a723003670c3f9b9e7ef991e52f3, Notional: 0.00040242
-		{Chain: 4, Addr: "0000000000000000000000005012c90f14d190607662ca8344120812aaa2639d", Symbol: "PNP", CoinGeckoId: "penpie", Decimals: 18, Price: 3.04},                                                     // Addr: 0x5012c90f14d190607662ca8344120812aaa2639d, Notional: 289.1297297088
-		{Chain: 4, Addr: "00000000000000000000000050d809c74e0b8e49e7b4c65bb3109abe3ff4c1c1", Symbol: "CUB", CoinGeckoId: "cub-finance", Decimals: 18, Price: 0.00127769},                                          // Addr: 0x50d809c74e0b8e49e7b4c65bb3109abe3ff4c1c1, Notional: 0.0000157181551569
-		{Chain: 4, Addr: "000000000000000000000000524df384bffb18c0c8f3f43d012011f8f9795579", Symbol: "YAY", CoinGeckoId: "yay-games", Decimals: 18, Price: 0.00045407},                                            // Addr: 0x524df384bffb18c0c8f3f43d012011f8f9795579, Notional: 0.0045407
-		{Chain: 4, Addr: "00000000000000000000000052f24a5e03aee338da5fd9df68d2b6fae1178827", Symbol: "ankrBNB", CoinGeckoId: "ankr-staked-bnb", Decimals: 18, Price: 961.72},                                      // Addr: 0x52f24a5e03aee338da5fd9df68d2b6fae1178827, Notional: 1.8622169048
-		{Chain: 4, Addr: "0000000000000000000000005512014efa6cd57764fa743756f7a6ce3358cc83", Symbol: "EZ", CoinGeckoId: "easyfi", Decimals: 18, Price: 0.00108705},                                                // Addr: 0x5512014efa6cd57764fa743756f7a6ce3358cc83, Notional: 0.0069392740414665
+		{Chain: 4, Addr: "000000000000000000000000489580eb70a50515296ef31e8179ff3e77e24965", Symbol: "RADAR", CoinGeckoId: "dappradar", Decimals: 18, Price: 0.00163975},                                          // Addr: 0x489580eb70a50515296ef31e8179ff3e77e24965, Notional: 4.712229533325772
+		{Chain: 4, Addr: "0000000000000000000000004a2c860cec6471b9f5f5a336eb4f38bb21683c98", Symbol: "GST", CoinGeckoId: "green-satoshi-token-bsc", Decimals: 8, Price: 0.00264587},                               // Addr: 0x4a2c860cec6471b9f5f5a336eb4f38bb21683c98, Notional: 280.73357633993936
+		{Chain: 4, Addr: "0000000000000000000000004aac18de824ec1b553dbf342829834e4ff3f7a9f", Symbol: "ANCHOR", CoinGeckoId: "anchorswap", Decimals: 18, Price: 7.0021e-8},                                         // Addr: 0x4aac18de824ec1b553dbf342829834e4ff3f7a9f, Notional: 0.00002157763970840737
+		{Chain: 4, Addr: "0000000000000000000000004afc8c2be6a0783ea16e16066fde140d15979296", Symbol: "HARE", CoinGeckoId: "hare-token", Decimals: 9, Price: 4.4e-17},                                              // Addr: 0x4afc8c2be6a0783ea16e16066fde140d15979296, Notional: 3.96e-13
+		{Chain: 4, Addr: "0000000000000000000000004b0f1812e5df2a09796481ff14017e6005508003", Symbol: "TWT", CoinGeckoId: "trust-wallet-token", Decimals: 18, Price: 1.24},                                         // Addr: 0x4b0f1812e5df2a09796481ff14017e6005508003, Notional: 14232.5168539868
+		{Chain: 4, Addr: "0000000000000000000000004b5c23cac08a567ecf0c1ffca8372a45a5d33743", Symbol: "FARM", CoinGeckoId: "harvest-finance", Decimals: 18, Price: 27.05},                                          // Addr: 0x4b5c23cac08a567ecf0c1ffca8372a45a5d33743, Notional: 0.4444577385
+		{Chain: 4, Addr: "0000000000000000000000004b5decb9327b4d511a58137a1ade61434aacdd43", Symbol: "PKN", CoinGeckoId: "poken", Decimals: 18, Price: 0.00014015},                                                // Addr: 0x4b5decb9327b4d511a58137a1ade61434aacdd43, Notional: 7.057647949443046
+		{Chain: 4, Addr: "0000000000000000000000004b8285ab433d8f69cb48d5ad62b415ed1a221e4f", Symbol: "MCRT", CoinGeckoId: "magiccraft", Decimals: 9, Price: 0.00039907},                                           // Addr: 0x4b8285ab433d8f69cb48d5ad62b415ed1a221e4f, Notional: 10801.392118312542
+		{Chain: 4, Addr: "0000000000000000000000004ba0057f784858a48fe351445c672ff2a3d43515", Symbol: "KALM", CoinGeckoId: "kalmar", Decimals: 18, Price: 0.00223675},                                              // Addr: 0x4ba0057f784858a48fe351445c672ff2a3d43515, Notional: 197.92841646422778
+		{Chain: 4, Addr: "0000000000000000000000004d2d32d8652058bf98c772953e1df5c5c85d9f45", Symbol: "DAO", CoinGeckoId: "dao-maker", Decimals: 18, Price: 0.111815},                                              // Addr: 0x4d2d32d8652058bf98c772953e1df5c5c85d9f45, Notional: 911260.7638134902
+		{Chain: 4, Addr: "0000000000000000000000004da996c5fe84755c80e108cf96fe705174c5e36a", Symbol: "WOW", CoinGeckoId: "wowswap", Decimals: 18, Price: 0.02943104},                                              // Addr: 0x4da996c5fe84755c80e108cf96fe705174c5e36a, Notional: 0.21350388202967038
+		{Chain: 4, Addr: "0000000000000000000000004f39c3319188a723003670c3f9b9e7ef991e52f3", Symbol: "FIGHT", CoinGeckoId: "crypto-fight-club", Decimals: 18, Price: 0.00013674},                                  // Addr: 0x4f39c3319188a723003670c3f9b9e7ef991e52f3, Notional: 0.00041022
+		{Chain: 4, Addr: "0000000000000000000000005012c90f14d190607662ca8344120812aaa2639d", Symbol: "PNP", CoinGeckoId: "penpie", Decimals: 18, Price: 2.81},                                                     // Addr: 0x5012c90f14d190607662ca8344120812aaa2639d, Notional: 131.7890523784
+		{Chain: 4, Addr: "00000000000000000000000050d809c74e0b8e49e7b4c65bb3109abe3ff4c1c1", Symbol: "CUB", CoinGeckoId: "cub-finance", Decimals: 18, Price: 0.00136456},                                          // Addr: 0x50d809c74e0b8e49e7b4c65bb3109abe3ff4c1c1, Notional: 0.000016786830765599998
+		{Chain: 4, Addr: "000000000000000000000000524df384bffb18c0c8f3f43d012011f8f9795579", Symbol: "YAY", CoinGeckoId: "yay-games", Decimals: 18, Price: 0.00043137},                                            // Addr: 0x524df384bffb18c0c8f3f43d012011f8f9795579, Notional: 0.0043137
+		{Chain: 4, Addr: "00000000000000000000000052f24a5e03aee338da5fd9df68d2b6fae1178827", Symbol: "ankrBNB", CoinGeckoId: "ankr-staked-bnb", Decimals: 18, Price: 1105.93},                                     // Addr: 0x52f24a5e03aee338da5fd9df68d2b6fae1178827, Notional: 2.1414564962
+		{Chain: 4, Addr: "0000000000000000000000005512014efa6cd57764fa743756f7a6ce3358cc83", Symbol: "EZ", CoinGeckoId: "easyfi", Decimals: 18, Price: 0.00169988},                                                // Addr: 0x5512014efa6cd57764fa743756f7a6ce3358cc83, Notional: 0.0108513252910244
 		{Chain: 4, Addr: "000000000000000000000000552594612f935441c01c6854edf111f343c1ca07", Symbol: "GWT", CoinGeckoId: "galaxy-war", Decimals: 18, Price: 0.00011302},                                           // Addr: 0x552594612f935441c01c6854edf111f343c1ca07, Notional: 2.0766120137886124
-		{Chain: 4, Addr: "00000000000000000000000055d398326f99059ff775485246999027b3197955", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 18, Price: 1},                                                       // Addr: 0x55d398326f99059ff775485246999027b3197955, Notional: 341175.57215822
-		{Chain: 4, Addr: "000000000000000000000000570a5d26f7765ecb712c0924e4de545b89fd43df", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 18, Price: 215.57},                                           // Addr: 0x570a5d26f7765ecb712c0924e4de545b89fd43df, Notional: 51025.4950574074
-		{Chain: 4, Addr: "00000000000000000000000059c49b54d4425c7ff1e49f40958a14d48cc87c26", Symbol: "MC", CoinGeckoId: "tap-fantasy-mc", Decimals: 18, Price: 0.064948},                                          // Addr: 0x59c49b54d4425c7ff1e49f40958a14d48cc87c26, Notional: 0.46140869950240004
-		{Chain: 4, Addr: "00000000000000000000000059f4f336bf3d0c49dbfba4a74ebd2a6ace40539a", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 9, Price: 1.17823e-10},                                         // Addr: 0x59f4f336bf3d0c49dbfba4a74ebd2a6ace40539a, Notional: 16.758743724567353
-		{Chain: 4, Addr: "0000000000000000000000005b65cd9feb54f1df3d0c60576003344079f8dc06", Symbol: "UNW", CoinGeckoId: "uniwhale", Decimals: 18, Price: 0.00191697},                                             // Addr: 0x5b65cd9feb54f1df3d0c60576003344079f8dc06, Notional: 4160.817098726603
-		{Chain: 4, Addr: "0000000000000000000000005b6dcf557e2abe2323c48445e8cc948910d8c2c9", Symbol: "MIR", CoinGeckoId: "mirror-protocol", Decimals: 18, Price: 0.01221058},                                      // Addr: 0x5b6dcf557e2abe2323c48445e8cc948910d8c2c9, Notional: 84.50905740165061
-		{Chain: 4, Addr: "0000000000000000000000005de3939b2f811a61d830e6f52d13b066881412ab", Symbol: "XPR", CoinGeckoId: "proton", Decimals: 4, Price: 0.0063739},                                                 // Addr: 0x5de3939b2f811a61d830e6f52d13b066881412ab, Notional: 1193.35431729644
-		{Chain: 4, Addr: "0000000000000000000000005e7f472b9481c80101b22d0ba4ef4253aa61dabc", Symbol: "MUDOL2", CoinGeckoId: "hero-blaze-three-kingdoms", Decimals: 18, Price: 0.00091424},                         // Addr: 0x5e7f472b9481c80101b22d0ba4ef4253aa61dabc, Notional: 27216.16300647899
+		{Chain: 4, Addr: "00000000000000000000000055d398326f99059ff775485246999027b3197955", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 18, Price: 1},                                                       // Addr: 0x55d398326f99059ff775485246999027b3197955, Notional: 349305.78856566
+		{Chain: 4, Addr: "000000000000000000000000570a5d26f7765ecb712c0924e4de545b89fd43df", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 18, Price: 208.66},                                           // Addr: 0x570a5d26f7765ecb712c0924e4de545b89fd43df, Notional: 49389.8956194212
+		{Chain: 4, Addr: "00000000000000000000000059c49b54d4425c7ff1e49f40958a14d48cc87c26", Symbol: "MC", CoinGeckoId: "tap-fantasy-mc", Decimals: 18, Price: 0.058428},                                          // Addr: 0x59c49b54d4425c7ff1e49f40958a14d48cc87c26, Notional: 0.4150888017264
+		{Chain: 4, Addr: "00000000000000000000000059f4f336bf3d0c49dbfba4a74ebd2a6ace40539a", Symbol: "CAT", CoinGeckoId: "catcoin-cash", Decimals: 9, Price: 9.2761e-11},                                          // Addr: 0x59f4f336bf3d0c49dbfba4a74ebd2a6ace40539a, Notional: 13.194009884611594
+		{Chain: 4, Addr: "0000000000000000000000005b65cd9feb54f1df3d0c60576003344079f8dc06", Symbol: "UNW", CoinGeckoId: "uniwhale", Decimals: 18, Price: 0.00198549},                                             // Addr: 0x5b65cd9feb54f1df3d0c60576003344079f8dc06, Notional: 4309.540963786957
+		{Chain: 4, Addr: "0000000000000000000000005b6dcf557e2abe2323c48445e8cc948910d8c2c9", Symbol: "MIR", CoinGeckoId: "mirror-protocol", Decimals: 18, Price: 0.0120676},                                       // Addr: 0x5b6dcf557e2abe2323c48445e8cc948910d8c2c9, Notional: 83.5194971164481
+		{Chain: 4, Addr: "0000000000000000000000005de3939b2f811a61d830e6f52d13b066881412ab", Symbol: "XPR", CoinGeckoId: "proton", Decimals: 4, Price: 0.00621486},                                                // Addr: 0x5de3939b2f811a61d830e6f52d13b066881412ab, Notional: 1405.802698647714
+		{Chain: 4, Addr: "0000000000000000000000005e7f472b9481c80101b22d0ba4ef4253aa61dabc", Symbol: "MUDOL2", CoinGeckoId: "hero-blaze-three-kingdoms", Decimals: 18, Price: 0.00091424},                         // Addr: 0x5e7f472b9481c80101b22d0ba4ef4253aa61dabc, Notional: 27051.82495316312
 		{Chain: 4, Addr: "0000000000000000000000005e95a952a7f79f978585afd54a053af0f51372fa", Symbol: "SBG", CoinGeckoId: "sb-group", Decimals: 9, Price: 3.67439e-7},                                              // Addr: 0x5e95a952a7f79f978585afd54a053af0f51372fa, Notional: 0.000367439
-		{Chain: 4, Addr: "0000000000000000000000005fb4968fc85868df3ad2d6e59883a10570f01d18", Symbol: "SHR", CoinGeckoId: "sharering", Decimals: 18, Price: 0.00116998},                                            // Addr: 0x5fb4968fc85868df3ad2d6e59883a10570f01d18, Notional: 52.527422079999994
-		{Chain: 4, Addr: "000000000000000000000000603c7f932ed1fc6575303d8fb018fdcbb0f39a95", Symbol: "BANANA", CoinGeckoId: "apeswap-finance", Decimals: 18, Price: 2.7645e-8},                                    // Addr: 0x603c7f932ed1fc6575303d8fb018fdcbb0f39a95, Notional: 0.001311258745067684
-		{Chain: 4, Addr: "00000000000000000000000062823659d09f9f9d2222058878f89437425eb261", Symbol: "ERTHA", CoinGeckoId: "ertha", Decimals: 18, Price: 0.00042451},                                              // Addr: 0x62823659d09f9f9d2222058878f89437425eb261, Notional: 0.008914710000000001
-		{Chain: 4, Addr: "00000000000000000000000063eaeb6e33e11252b10553900a9f38a9ed172871", Symbol: "TUP", CoinGeckoId: "tenup", Decimals: 18, Price: 0.00796958},                                                // Addr: 0x63eaeb6e33e11252b10553900a9f38a9ed172871, Notional: 0.39608812600000004
-		{Chain: 4, Addr: "00000000000000000000000064619f611248256f7f4b72fe83872f89d5d60d64", Symbol: "QUINT", CoinGeckoId: "quint", Decimals: 18, Price: 0.00039239},                                              // Addr: 0x64619f611248256f7f4b72fe83872f89d5d60d64, Notional: 92.08445900462871
-		{Chain: 4, Addr: "00000000000000000000000065c8743a5a266c3512eabd34e65ade42d4355ef1", Symbol: "BPLC", CoinGeckoId: "blackpearl-chain", Decimals: 18, Price: 1.68e-9},                                       // Addr: 0x65c8743a5a266c3512eabd34e65ade42d4355ef1, Notional: 0.44940964368249603
-		{Chain: 4, Addr: "000000000000000000000000678e840c640f619e17848045d23072844224dd37", Symbol: "CRTS", CoinGeckoId: "cratos", Decimals: 18, Price: 0.00019576},                                              // Addr: 0x678e840c640f619e17848045d23072844224dd37, Notional: 3716.1767941296084
-		{Chain: 4, Addr: "00000000000000000000000067ee3cb086f8a16f34bee3ca72fad36f7db929e2", Symbol: "DODO", CoinGeckoId: "dodo", Decimals: 18, Price: 0.0464768},                                                 // Addr: 0x67ee3cb086f8a16f34bee3ca72fad36f7db929e2, Notional: 0.46476799999999996
-		{Chain: 4, Addr: "00000000000000000000000068784ffaa6ff05e3e04575df77960dc1d9f42b4a", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 18, Price: 0.073767},                                              // Addr: 0x68784ffaa6ff05e3e04575df77960dc1d9f42b4a, Notional: 3.43148229553758
-		{Chain: 4, Addr: "0000000000000000000000006ae9701b9c423f40d54556c9a443409d79ce170a", Symbol: "POLC", CoinGeckoId: "polka-city", Decimals: 18, Price: 0.00213683},                                          // Addr: 0x6ae9701b9c423f40d54556c9a443409d79ce170a, Notional: 10.413692751008078
-		{Chain: 4, Addr: "0000000000000000000000006bff4fb161347ad7de4a625ae5aa3a1ca7077819", Symbol: "ADX", CoinGeckoId: "adex", Decimals: 18, Price: 0.127009},                                                   // Addr: 0x6bff4fb161347ad7de4a625ae5aa3a1ca7077819, Notional: 1.6511170000000002
-		{Chain: 4, Addr: "0000000000000000000000006d106c0b8d2f47c5465bdbd58d1be253762cbbc1", Symbol: "DEFI", CoinGeckoId: "de-fi", Decimals: 18, Price: 0.00167601},                                               // Addr: 0x6d106c0b8d2f47c5465bdbd58d1be253762cbbc1, Notional: 0.533365512973608
-		{Chain: 4, Addr: "0000000000000000000000006d1dc3928604b00180bb570bdae94b9698d33b79", Symbol: "UCT", CoinGeckoId: "unitedcrowd", Decimals: 18, Price: 0.00190451},                                          // Addr: 0x6d1dc3928604b00180bb570bdae94b9698d33b79, Notional: 0.190451
-		{Chain: 4, Addr: "0000000000000000000000006d57f5c286e04850c2c085350f2e60aaa7b7c15b", Symbol: "GrokGirl", CoinGeckoId: "grok-girl", Decimals: 9, Price: 8.7879e-14},                                        // Addr: 0x6d57f5c286e04850c2c085350f2e60aaa7b7c15b, Notional: 0.016210814204603567
-		{Chain: 4, Addr: "0000000000000000000000006d86f0a41c3966cef8ea139648db707e912563c9", Symbol: "MCOIN", CoinGeckoId: "mcoin1", Decimals: 18, Price: 0.080439},                                               // Addr: 0x6d86f0a41c3966cef8ea139648db707e912563c9, Notional: 0.0080439
-		{Chain: 4, Addr: "0000000000000000000000006e2a5ea25b161befa6a8444c71ae3a89c39933c6", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.0157458},                                                // Addr: 0x6e2a5ea25b161befa6a8444c71ae3a89c39933c6, Notional: 143.28678
-		{Chain: 4, Addr: "0000000000000000000000006f769e65c14ebd1f68817f5f1dcdb61cfa2d6f7e", Symbol: "ARPA", CoinGeckoId: "arpa", Decimals: 18, Price: 0.02237688},                                                // Addr: 0x6f769e65c14ebd1f68817f5f1dcdb61cfa2d6f7e, Notional: 9.607513427999999
+		{Chain: 4, Addr: "0000000000000000000000005fb4968fc85868df3ad2d6e59883a10570f01d18", Symbol: "SHR", CoinGeckoId: "sharering", Decimals: 18, Price: 0.00105493},                                            // Addr: 0x5fb4968fc85868df3ad2d6e59883a10570f01d18, Notional: 47.36213728
+		{Chain: 4, Addr: "000000000000000000000000603c7f932ed1fc6575303d8fb018fdcbb0f39a95", Symbol: "BANANA", CoinGeckoId: "apeswap-finance", Decimals: 18, Price: 2.6011e-8},                                    // Addr: 0x603c7f932ed1fc6575303d8fb018fdcbb0f39a95, Notional: 0.0012337547917509687
+		{Chain: 4, Addr: "00000000000000000000000062823659d09f9f9d2222058878f89437425eb261", Symbol: "ERTHA", CoinGeckoId: "ertha", Decimals: 18, Price: 0.00027765},                                              // Addr: 0x62823659d09f9f9d2222058878f89437425eb261, Notional: 0.00583065
+		{Chain: 4, Addr: "00000000000000000000000063eaeb6e33e11252b10553900a9f38a9ed172871", Symbol: "TUP", CoinGeckoId: "tenup", Decimals: 18, Price: 0.00927122},                                                // Addr: 0x63eaeb6e33e11252b10553900a9f38a9ed172871, Notional: 0.46077963400000005
+		{Chain: 4, Addr: "00000000000000000000000064619f611248256f7f4b72fe83872f89d5d60d64", Symbol: "QUINT", CoinGeckoId: "quint", Decimals: 18, Price: 0.00048757},                                              // Addr: 0x64619f611248256f7f4b72fe83872f89d5d60d64, Notional: 114.42090694688146
+		{Chain: 4, Addr: "00000000000000000000000065c8743a5a266c3512eabd34e65ade42d4355ef1", Symbol: "BPLC", CoinGeckoId: "blackpearl-chain", Decimals: 18, Price: 9.479e-9},                                      // Addr: 0x65c8743a5a266c3512eabd34e65ade42d4355ef1, Notional: 2.535686912182369
+		{Chain: 4, Addr: "000000000000000000000000678e840c640f619e17848045d23072844224dd37", Symbol: "CRTS", CoinGeckoId: "cratos", Decimals: 18, Price: 0.00017787},                                              // Addr: 0x678e840c640f619e17848045d23072844224dd37, Notional: 3376.5650100727084
+		{Chain: 4, Addr: "00000000000000000000000067ee3cb086f8a16f34bee3ca72fad36f7db929e2", Symbol: "DODO", CoinGeckoId: "dodo", Decimals: 18, Price: 0.0429623},                                                 // Addr: 0x67ee3cb086f8a16f34bee3ca72fad36f7db929e2, Notional: 0.42962300000000003
+		{Chain: 4, Addr: "00000000000000000000000068784ffaa6ff05e3e04575df77960dc1d9f42b4a", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 18, Price: 0.074237},                                              // Addr: 0x68784ffaa6ff05e3e04575df77960dc1d9f42b4a, Notional: 3.4533456853853797
+		{Chain: 4, Addr: "0000000000000000000000006ae9701b9c423f40d54556c9a443409d79ce170a", Symbol: "POLC", CoinGeckoId: "polka-city", Decimals: 18, Price: 0.00143097},                                          // Addr: 0x6ae9701b9c423f40d54556c9a443409d79ce170a, Notional: 6.97373301381487
+		{Chain: 4, Addr: "0000000000000000000000006bff4fb161347ad7de4a625ae5aa3a1ca7077819", Symbol: "ADX", CoinGeckoId: "adex", Decimals: 18, Price: 0.102911},                                                   // Addr: 0x6bff4fb161347ad7de4a625ae5aa3a1ca7077819, Notional: 1.3378430000000001
+		{Chain: 4, Addr: "0000000000000000000000006d106c0b8d2f47c5465bdbd58d1be253762cbbc1", Symbol: "DEFI", CoinGeckoId: "de-fi", Decimals: 18, Price: 0.00174408},                                               // Addr: 0x6d106c0b8d2f47c5465bdbd58d1be253762cbbc1, Notional: 0.555027788537664
+		{Chain: 4, Addr: "0000000000000000000000006d1dc3928604b00180bb570bdae94b9698d33b79", Symbol: "UCT", CoinGeckoId: "unitedcrowd", Decimals: 18, Price: 0.00196579},                                          // Addr: 0x6d1dc3928604b00180bb570bdae94b9698d33b79, Notional: 0.19657899999999998
+		{Chain: 4, Addr: "0000000000000000000000006d57f5c286e04850c2c085350f2e60aaa7b7c15b", Symbol: "GrokGirl", CoinGeckoId: "grok-girl", Decimals: 9, Price: 9.6277e-14},                                        // Addr: 0x6d57f5c286e04850c2c085350f2e60aaa7b7c15b, Notional: 0.017759971770008962
+		{Chain: 4, Addr: "0000000000000000000000006d86f0a41c3966cef8ea139648db707e912563c9", Symbol: "MCOIN", CoinGeckoId: "mcoin1", Decimals: 18, Price: 0.077424},                                               // Addr: 0x6d86f0a41c3966cef8ea139648db707e912563c9, Notional: 0.007742400000000001
+		{Chain: 4, Addr: "0000000000000000000000006e2a5ea25b161befa6a8444c71ae3a89c39933c6", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.01567571},                                               // Addr: 0x6e2a5ea25b161befa6a8444c71ae3a89c39933c6, Notional: 142.64896099999999
+		{Chain: 4, Addr: "0000000000000000000000006f769e65c14ebd1f68817f5f1dcdb61cfa2d6f7e", Symbol: "ARPA", CoinGeckoId: "arpa", Decimals: 18, Price: 0.02068292},                                                // Addr: 0x6f769e65c14ebd1f68817f5f1dcdb61cfa2d6f7e, Notional: 8.880211702
 		{Chain: 4, Addr: "0000000000000000000000006ff1bfa14a57594a5874b37ff6ac5efbd9f9599a", Symbol: "TOTM", CoinGeckoId: "totemfi", Decimals: 18, Price: 0.00250259},                                             // Addr: 0x6ff1bfa14a57594a5874b37ff6ac5efbd9f9599a, Notional: 0.24759651677205097
-		{Chain: 4, Addr: "0000000000000000000000007083609fce4d1d8dc0c979aab8c869ea2c873402", Symbol: "DOT", CoinGeckoId: "binance-peg-polkadot", Decimals: 18, Price: 4.1},                                        // Addr: 0x7083609fce4d1d8dc0c979aab8c869ea2c873402, Notional: 3815.805933072
-		{Chain: 4, Addr: "0000000000000000000000007130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c", Symbol: "BTCB", CoinGeckoId: "binance-bitcoin", Decimals: 18, Price: 111322},                                         // Addr: 0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c, Notional: 725029.53025816
-		{Chain: 4, Addr: "000000000000000000000000715d400f88c167884bbcc41c5fea407ed4d2f8a0", Symbol: "AXS", CoinGeckoId: "axie-infinity", Decimals: 18, Price: 2.49},                                              // Addr: 0x715d400f88c167884bbcc41c5fea407ed4d2f8a0, Notional: 252.72797058060002
-		{Chain: 4, Addr: "00000000000000000000000071be881e9c5d4465b3fff61e89c6f3651e69b5bb", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.181439},                                                     // Addr: 0x71be881e9c5d4465b3fff61e89c6f3651e69b5bb, Notional: 58.94045915
-		{Chain: 4, Addr: "0000000000000000000000007269d98af4aa705e0b1a5d8512fadb4d45817d5a", Symbol: "SHI", CoinGeckoId: "shirtum", Decimals: 18, Price: 0.00015122},                                              // Addr: 0x7269d98af4aa705e0b1a5d8512fadb4d45817d5a, Notional: 0.015122
-		{Chain: 4, Addr: "00000000000000000000000072b7d61e8fc8cf971960dd9cfa59b8c829d91991", Symbol: "AQUA", CoinGeckoId: "planet-finance", Decimals: 18, Price: 1.56},                                            // Addr: 0x72b7d61e8fc8cf971960dd9cfa59b8c829d91991, Notional: 0.15600107640000002
-		{Chain: 4, Addr: "00000000000000000000000072eb7ca07399ec402c5b7aa6a65752b6a1dc0c27", Symbol: "ASTRO", CoinGeckoId: "astroswap", Decimals: 18, Price: 0.0000115},                                           // Addr: 0x72eb7ca07399ec402c5b7aa6a65752b6a1dc0c27, Notional: 0.000575
-		{Chain: 4, Addr: "000000000000000000000000734c5f3f8f6ad9697b26ecc6388678aafd3db3b2", Symbol: "METAMUSK", CoinGeckoId: "musk-metaverse", Decimals: 18, Price: 5.72043e-10},                                 // Addr: 0x734c5f3f8f6ad9697b26ecc6388678aafd3db3b2, Notional: 0.000018605497294737293
-		{Chain: 4, Addr: "0000000000000000000000007559c49c3aec50e763a486bb232fa8d0d76078e4", Symbol: "ATR", CoinGeckoId: "artrade", Decimals: 9, Price: 0.01055764},                                               // Addr: 0x7559c49c3aec50e763a486bb232fa8d0d76078e4, Notional: 2107616.7099131453
-		{Chain: 4, Addr: "000000000000000000000000766afcf83fd5eaf884b3d529b432ca27a6d84617", Symbol: "BLID", CoinGeckoId: "bolide", Decimals: 18, Price: 0.00099637},                                              // Addr: 0x766afcf83fd5eaf884b3d529b432ca27a6d84617, Notional: 32.21298594340116
-		{Chain: 4, Addr: "00000000000000000000000077edfae59a7948d66e9911a30cc787d2172343d4", Symbol: "LBL", CoinGeckoId: "label-foundation", Decimals: 18, Price: 0.00122725},                                     // Addr: 0x77edfae59a7948d66e9911a30cc787d2172343d4, Notional: 18.818497073254807
-		{Chain: 4, Addr: "0000000000000000000000007881cd2b5724431372f57c50e91611352557a606", Symbol: "HyPC", CoinGeckoId: "hypercycle", Decimals: 6, Price: 0.03465685},                                           // Addr: 0x7881cd2b5724431372f57c50e91611352557a606, Notional: 0.39183249482470006
-		{Chain: 4, Addr: "00000000000000000000000079ebc9a2ce02277a4b5b3a768b1c0a4ed75bd936", Symbol: "CATGIRL", CoinGeckoId: "catgirl", Decimals: 9, Price: 1.2947e-11},                                           // Addr: 0x79ebc9a2ce02277a4b5b3a768b1c0a4ed75bd936, Notional: 2.5893999999999998e-9
-		{Chain: 4, Addr: "0000000000000000000000007af173f350d916358af3e218bdf2178494beb748", Symbol: "TRADE", CoinGeckoId: "unitrade", Decimals: 18, Price: 0.00265422},                                           // Addr: 0x7af173f350d916358af3e218bdf2178494beb748, Notional: 1.463270994173034
+		{Chain: 4, Addr: "0000000000000000000000007083609fce4d1d8dc0c979aab8c869ea2c873402", Symbol: "DOT", CoinGeckoId: "binance-peg-polkadot", Decimals: 18, Price: 3.9},                                        // Addr: 0x7083609fce4d1d8dc0c979aab8c869ea2c873402, Notional: 3629.6690582879996
+		{Chain: 4, Addr: "0000000000000000000000007130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c", Symbol: "BTCB", CoinGeckoId: "binance-bitcoin", Decimals: 18, Price: 114069},                                         // Addr: 0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c, Notional: 742920.47831532
+		{Chain: 4, Addr: "000000000000000000000000715d400f88c167884bbcc41c5fea407ed4d2f8a0", Symbol: "AXS", CoinGeckoId: "axie-infinity", Decimals: 18, Price: 2.1},                                               // Addr: 0x715d400f88c167884bbcc41c5fea407ed4d2f8a0, Notional: 213.144071574
+		{Chain: 4, Addr: "00000000000000000000000071be881e9c5d4465b3fff61e89c6f3651e69b5bb", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.187803},                                                     // Addr: 0x71be881e9c5d4465b3fff61e89c6f3651e69b5bb, Notional: 61.00780455
+		{Chain: 4, Addr: "0000000000000000000000007269d98af4aa705e0b1a5d8512fadb4d45817d5a", Symbol: "SHI", CoinGeckoId: "shirtum", Decimals: 18, Price: 0.0001569},                                               // Addr: 0x7269d98af4aa705e0b1a5d8512fadb4d45817d5a, Notional: 0.01569
+		{Chain: 4, Addr: "00000000000000000000000072b7d61e8fc8cf971960dd9cfa59b8c829d91991", Symbol: "AQUA", CoinGeckoId: "planet-finance", Decimals: 18, Price: 1.7},                                             // Addr: 0x72b7d61e8fc8cf971960dd9cfa59b8c829d91991, Notional: 0.170001173
+		{Chain: 4, Addr: "00000000000000000000000072eb7ca07399ec402c5b7aa6a65752b6a1dc0c27", Symbol: "ASTRO", CoinGeckoId: "astroswap", Decimals: 18, Price: 0.00001365},                                          // Addr: 0x72eb7ca07399ec402c5b7aa6a65752b6a1dc0c27, Notional: 0.0006825
+		{Chain: 4, Addr: "000000000000000000000000734c5f3f8f6ad9697b26ecc6388678aafd3db3b2", Symbol: "METAMUSK", CoinGeckoId: "musk-metaverse", Decimals: 18, Price: 5.53691e-10},                                 // Addr: 0x734c5f3f8f6ad9697b26ecc6388678aafd3db3b2, Notional: 0.000018008604952110915
+		{Chain: 4, Addr: "0000000000000000000000007559c49c3aec50e763a486bb232fa8d0d76078e4", Symbol: "ATR", CoinGeckoId: "artrade", Decimals: 9, Price: 0.00930686},                                               // Addr: 0x7559c49c3aec50e763a486bb232fa8d0d76078e4, Notional: 1858587.9634589637
+		{Chain: 4, Addr: "000000000000000000000000766afcf83fd5eaf884b3d529b432ca27a6d84617", Symbol: "BLID", CoinGeckoId: "bolide", Decimals: 18, Price: 0.00096375},                                              // Addr: 0x766afcf83fd5eaf884b3d529b432ca27a6d84617, Notional: 31.158370086366375
+		{Chain: 4, Addr: "00000000000000000000000077edfae59a7948d66e9911a30cc787d2172343d4", Symbol: "LBL", CoinGeckoId: "label-foundation", Decimals: 18, Price: 0.0014906},                                      // Addr: 0x77edfae59a7948d66e9911a30cc787d2172343d4, Notional: 22.85667283552138
+		{Chain: 4, Addr: "0000000000000000000000007881cd2b5724431372f57c50e91611352557a606", Symbol: "HyPC", CoinGeckoId: "hypercycle", Decimals: 6, Price: 0.02507661},                                           // Addr: 0x7881cd2b5724431372f57c50e91611352557a606, Notional: 0.28351770740982
+		{Chain: 4, Addr: "00000000000000000000000079ebc9a2ce02277a4b5b3a768b1c0a4ed75bd936", Symbol: "CATGIRL", CoinGeckoId: "catgirl", Decimals: 9, Price: 1.4253e-11},                                           // Addr: 0x79ebc9a2ce02277a4b5b3a768b1c0a4ed75bd936, Notional: 2.8506e-9
+		{Chain: 4, Addr: "0000000000000000000000007af173f350d916358af3e218bdf2178494beb748", Symbol: "TRADE", CoinGeckoId: "unitrade", Decimals: 18, Price: 0.0020748},                                            // Addr: 0x7af173f350d916358af3e218bdf2178494beb748, Notional: 1.14383685553956
 		{Chain: 4, Addr: "0000000000000000000000007b610012bdc4d6deba2c2d91684e408f40863429", Symbol: "OSEA", CoinGeckoId: "omnisea", Decimals: 18, Price: 0.00107447},                                             // Addr: 0x7b610012bdc4d6deba2c2d91684e408f40863429, Notional: 0.1432843294395643
 		{Chain: 4, Addr: "0000000000000000000000007b65b489fe53fce1f6548db886c08ad73111ddd8", Symbol: "IRON", CoinGeckoId: "iron-bsc", Decimals: 18, Price: 0.0161403},                                             // Addr: 0x7b65b489fe53fce1f6548db886c08ad73111ddd8, Notional: 1.936836
-		{Chain: 4, Addr: "0000000000000000000000007dc6dc21ce07e6499fdcc30dcdb943a8ee4db802", Symbol: "GPTG", CoinGeckoId: "gpt-guru", Decimals: 18, Price: 0.00004473},                                            // Addr: 0x7dc6dc21ce07e6499fdcc30dcdb943a8ee4db802, Notional: 680.40580574673
-		{Chain: 4, Addr: "0000000000000000000000007ddc52c4de30e94be3a6a0a2b259b2850f421989", Symbol: "GMT", CoinGeckoId: "gmt-token", Decimals: 18, Price: 0.512845},                                              // Addr: 0x7ddc52c4de30e94be3a6a0a2b259b2850f421989, Notional: 249.9789187234287
-		{Chain: 4, Addr: "0000000000000000000000007e35d0e9180bf3a1fc47b0d110be7a21a10b41fe", Symbol: "OVR", CoinGeckoId: "ovr", Decimals: 18, Price: 0.121696},                                                    // Addr: 0x7e35d0e9180bf3a1fc47b0d110be7a21a10b41fe, Notional: 22.729276269212477
-		{Chain: 4, Addr: "0000000000000000000000007e624fa0e1c4abfd309cc15719b7e2580887f570", Symbol: "POLS", CoinGeckoId: "polkastarter", Decimals: 18, Price: 0.197686},                                          // Addr: 0x7e624fa0e1c4abfd309cc15719b7e2580887f570, Notional: 1.383802
-		{Chain: 4, Addr: "0000000000000000000000007e8db69dcff9209e486a100e611b0af300c3374e", Symbol: "TRDC", CoinGeckoId: "traders-coin", Decimals: 18, Price: 0.00026871},                                        // Addr: 0x7e8db69dcff9209e486a100e611b0af300c3374e, Notional: 0.47008667361996603
+		{Chain: 4, Addr: "0000000000000000000000007dc6dc21ce07e6499fdcc30dcdb943a8ee4db802", Symbol: "GPTG", CoinGeckoId: "gpt-guru", Decimals: 18, Price: 0.00004398},                                            // Addr: 0x7dc6dc21ce07e6499fdcc30dcdb943a8ee4db802, Notional: 668.99725769598
+		{Chain: 4, Addr: "0000000000000000000000007ddc52c4de30e94be3a6a0a2b259b2850f421989", Symbol: "GMT", CoinGeckoId: "gmt-token", Decimals: 18, Price: 0.455214},                                              // Addr: 0x7ddc52c4de30e94be3a6a0a2b259b2850f421989, Notional: 221.88751671122245
+		{Chain: 4, Addr: "0000000000000000000000007e35d0e9180bf3a1fc47b0d110be7a21a10b41fe", Symbol: "OVR", CoinGeckoId: "ovr", Decimals: 18, Price: 0.135194},                                                    // Addr: 0x7e35d0e9180bf3a1fc47b0d110be7a21a10b41fe, Notional: 25.25031041233822
+		{Chain: 4, Addr: "0000000000000000000000007e624fa0e1c4abfd309cc15719b7e2580887f570", Symbol: "POLS", CoinGeckoId: "polkastarter", Decimals: 18, Price: 0.169422},                                          // Addr: 0x7e624fa0e1c4abfd309cc15719b7e2580887f570, Notional: 1.3552065779999998
+		{Chain: 4, Addr: "0000000000000000000000007e8db69dcff9209e486a100e611b0af300c3374e", Symbol: "TRDC", CoinGeckoId: "traders-coin", Decimals: 18, Price: 0.00031991},                                        // Addr: 0x7e8db69dcff9209e486a100e611b0af300c3374e, Notional: 0.559656982463486
 		{Chain: 4, Addr: "0000000000000000000000007eefb6aeb8bc2c1ba6be1d4273ec0758a1321272", Symbol: "ENG", CoinGeckoId: "endless-battlefield", Decimals: 18, Price: 0.00006497},                                  // Addr: 0x7eefb6aeb8bc2c1ba6be1d4273ec0758a1321272, Notional: 0.06497
 		{Chain: 4, Addr: "0000000000000000000000008076c74c5e3f5852037f31ff0093eeb8c8add8d3", Symbol: "SAFEMOON", CoinGeckoId: "safemoon", Decimals: 9, Price: 8.149e-9},                                           // Addr: 0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3, Notional: 3.6670500008149e-7
-		{Chain: 4, Addr: "000000000000000000000000818835503f55283cd51a4399f595e295a9338753", Symbol: "AGI", CoinGeckoId: "delysium", Decimals: 18, Price: 0.054195},                                               // Addr: 0x818835503f55283cd51a4399f595e295a9338753, Notional: 54.2112585
-		{Chain: 4, Addr: "00000000000000000000000082443a77684a7da92fdcb639c8d2bd068a596245", Symbol: "SWAP", CoinGeckoId: "trustswap", Decimals: 18, Price: 0.085255},                                             // Addr: 0x82443a77684a7da92fdcb639c8d2bd068a596245, Notional: 0.255765
-		{Chain: 4, Addr: "0000000000000000000000008263cd1601fe73c066bf49cc09841f35348e3be0", Symbol: "ALU", CoinGeckoId: "altura", Decimals: 18, Price: 0.03469372},                                               // Addr: 0x8263cd1601fe73c066bf49cc09841f35348e3be0, Notional: 13120.03688741377
-		{Chain: 4, Addr: "00000000000000000000000082d2f8e02afb160dd5a480a617692e62de9038c4", Symbol: "ALEPH", CoinGeckoId: "aleph", Decimals: 18, Price: 0.07257},                                                 // Addr: 0x82d2f8e02afb160dd5a480a617692e62de9038c4, Notional: 30.237796867420798
-		{Chain: 4, Addr: "000000000000000000000000833f307ac507d47309fd8cdd1f835bef8d702a93", Symbol: "REVV", CoinGeckoId: "revv", Decimals: 18, Price: 0.00133458},                                                // Addr: 0x833f307ac507d47309fd8cdd1f835bef8d702a93, Notional: 0.028026179999999998
+		{Chain: 4, Addr: "000000000000000000000000818835503f55283cd51a4399f595e295a9338753", Symbol: "AGI", CoinGeckoId: "delysium", Decimals: 18, Price: 0.0431363},                                              // Addr: 0x818835503f55283cd51a4399f595e295a9338753, Notional: 43.14924089
+		{Chain: 4, Addr: "00000000000000000000000082443a77684a7da92fdcb639c8d2bd068a596245", Symbol: "SWAP", CoinGeckoId: "trustswap", Decimals: 18, Price: 0.074194},                                             // Addr: 0x82443a77684a7da92fdcb639c8d2bd068a596245, Notional: 0.222582
+		{Chain: 4, Addr: "0000000000000000000000008263cd1601fe73c066bf49cc09841f35348e3be0", Symbol: "ALU", CoinGeckoId: "altura", Decimals: 18, Price: 0.0178568},                                                // Addr: 0x8263cd1601fe73c066bf49cc09841f35348e3be0, Notional: 6752.86117173858
+		{Chain: 4, Addr: "00000000000000000000000082d2f8e02afb160dd5a480a617692e62de9038c4", Symbol: "ALEPH", CoinGeckoId: "aleph", Decimals: 18, Price: 0.067726},                                                // Addr: 0x82d2f8e02afb160dd5a480a617692e62de9038c4, Notional: 28.219443718381438
+		{Chain: 4, Addr: "000000000000000000000000833f307ac507d47309fd8cdd1f835bef8d702a93", Symbol: "REVV", CoinGeckoId: "revv", Decimals: 18, Price: 0.00117196},                                                // Addr: 0x833f307ac507d47309fd8cdd1f835bef8d702a93, Notional: 0.024611160000000003
 		{Chain: 4, Addr: "00000000000000000000000083adb07bb91ddde95a24982f1b2d343963ba3995", Symbol: "Fwcl", CoinGeckoId: "legends", Decimals: 9, Price: 0.02347393},                                              // Addr: 0x83adb07bb91ddde95a24982f1b2d343963ba3995, Notional: 0.11736965
-		{Chain: 4, Addr: "00000000000000000000000083d8ea5a4650b68cd2b57846783d86df940f7458", Symbol: "HUDI", CoinGeckoId: "hudi", Decimals: 18, Price: 0.05847},                                                   // Addr: 0x83d8ea5a4650b68cd2b57846783d86df940f7458, Notional: 1.5918501048456
-		{Chain: 4, Addr: "000000000000000000000000842668e2b9a73240abf6532dedc89c9c3e050c98", Symbol: "LIGHT", CoinGeckoId: "light-defi", Decimals: 9, Price: 0.00006373},                                          // Addr: 0x842668e2b9a73240abf6532dedc89c9c3e050c98, Notional: 0.57458968643673
-		{Chain: 4, Addr: "00000000000000000000000084e9a6f9d240fdd33801f7135908bfa16866939a", Symbol: "GMEE", CoinGeckoId: "gamee", Decimals: 18, Price: 0.00178502},                                               // Addr: 0x84e9a6f9d240fdd33801f7135908bfa16866939a, Notional: 3.427941964633389
-		{Chain: 4, Addr: "00000000000000000000000084f4f7cdb4574c9556a494dab18ffc1d1d22316c", Symbol: "KINGSHIB", CoinGeckoId: "king-shiba", Decimals: 9, Price: 0.00190768},                                       // Addr: 0x84f4f7cdb4574c9556a494dab18ffc1d1d22316c, Notional: 2.0881465282289216
-		{Chain: 4, Addr: "0000000000000000000000008519ea49c997f50ceffa444d240fb655e89248aa", Symbol: "RAMP", CoinGeckoId: "ramp", Decimals: 18, Price: 0.04937265},                                                // Addr: 0x8519ea49c997f50ceffa444d240fb655e89248aa, Notional: 69.54362428273562
-		{Chain: 4, Addr: "000000000000000000000000854a63b35b70a7becbed508ff0b6ff5038d0c917", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 4.24},                                                    // Addr: 0x854a63b35b70a7becbed508ff0b6ff5038d0c917, Notional: 123.8395219832
-		{Chain: 4, Addr: "0000000000000000000000008578eb576e126f67913a8bc0622e0a22eba0989a", Symbol: "PANDA", CoinGeckoId: "hashpanda", Decimals: 9, Price: 1.094e-9},                                             // Addr: 0x8578eb576e126f67913a8bc0622e0a22eba0989a, Notional: 0.07921102907501754
-		{Chain: 4, Addr: "0000000000000000000000008595f9da7b868b1822194faed312235e43007b49", Symbol: "BTT", CoinGeckoId: "bittorrent-old", Decimals: 18, Price: 5.86078e-7},                                       // Addr: 0x8595f9da7b868b1822194faed312235e43007b49, Notional: 5.86078e-7
-		{Chain: 4, Addr: "000000000000000000000000872d068c25511be88c1f5990c53eeffcdf46c9b4", Symbol: "VENT", CoinGeckoId: "vent-finance", Decimals: 18, Price: 0.00050475},                                        // Addr: 0x872d068c25511be88c1f5990c53eeffcdf46c9b4, Notional: 0.1524345
-		{Chain: 4, Addr: "0000000000000000000000008780fea4c6b242677d4a397fe1110ac09ce99ad2", Symbol: "BIRD", CoinGeckoId: "bird-money", Decimals: 18, Price: 0.236754},                                            // Addr: 0x8780fea4c6b242677d4a397fe1110ac09ce99ad2, Notional: 0.15058447436088
-		{Chain: 4, Addr: "000000000000000000000000885c5fb8f0e67b2b0cf3a437e6cc6ebc0f9f9014", Symbol: "GEMG", CoinGeckoId: "gemguardian", Decimals: 18, Price: 0.00445716},                                         // Addr: 0x885c5fb8f0e67b2b0cf3a437e6cc6ebc0f9f9014, Notional: 0.17489517600945242
-		{Chain: 4, Addr: "00000000000000000000000088d7e9b65dc24cf54f5edef929225fc3e1580c25", Symbol: "JMPT", CoinGeckoId: "jumptoken", Decimals: 18, Price: 1.016},                                                // Addr: 0x88d7e9b65dc24cf54f5edef929225fc3e1580c25, Notional: 325562.55042866926
-		{Chain: 4, Addr: "0000000000000000000000008929e9dbd2785e3ba16175e596cdd61520fee0d1", Symbol: "ALTD", CoinGeckoId: "altitude", Decimals: 18, Price: 0.00078886},                                            // Addr: 0x8929e9dbd2785e3ba16175e596cdd61520fee0d1, Notional: 0.032700946163375995
+		{Chain: 4, Addr: "00000000000000000000000083d8ea5a4650b68cd2b57846783d86df940f7458", Symbol: "HUDI", CoinGeckoId: "hudi", Decimals: 18, Price: 0.123584},                                                  // Addr: 0x83d8ea5a4650b68cd2b57846783d86df940f7458, Notional: 3.3645836045363198
+		{Chain: 4, Addr: "000000000000000000000000842668e2b9a73240abf6532dedc89c9c3e050c98", Symbol: "LIGHT", CoinGeckoId: "light-defi", Decimals: 9, Price: 0.0000713},                                           // Addr: 0x842668e2b9a73240abf6532dedc89c9c3e050c98, Notional: 0.6428408072013
+		{Chain: 4, Addr: "00000000000000000000000084e9a6f9d240fdd33801f7135908bfa16866939a", Symbol: "GMEE", CoinGeckoId: "gamee", Decimals: 18, Price: 0.00189839},                                               // Addr: 0x84e9a6f9d240fdd33801f7135908bfa16866939a, Notional: 3.645657049355402
+		{Chain: 4, Addr: "00000000000000000000000084f4f7cdb4574c9556a494dab18ffc1d1d22316c", Symbol: "KINGSHIB", CoinGeckoId: "king-shiba", Decimals: 9, Price: 0.00209883},                                       // Addr: 0x84f4f7cdb4574c9556a494dab18ffc1d1d22316c, Notional: 2.2973793182518594
+		{Chain: 4, Addr: "0000000000000000000000008519ea49c997f50ceffa444d240fb655e89248aa", Symbol: "RAMP", CoinGeckoId: "ramp", Decimals: 18, Price: 0.04800073},                                                // Addr: 0x8519ea49c997f50ceffa444d240fb655e89248aa, Notional: 67.61121253197946
+		{Chain: 4, Addr: "000000000000000000000000854a63b35b70a7becbed508ff0b6ff5038d0c917", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 0.927625},                                                // Addr: 0x854a63b35b70a7becbed508ff0b6ff5038d0c917, Notional: 27.093546363128752
+		{Chain: 4, Addr: "0000000000000000000000008578eb576e126f67913a8bc0622e0a22eba0989a", Symbol: "PANDA", CoinGeckoId: "hashpanda", Decimals: 9, Price: 1.252e-9},                                             // Addr: 0x8578eb576e126f67913a8bc0622e0a22eba0989a, Notional: 0.09065101316446247
+		{Chain: 4, Addr: "0000000000000000000000008595f9da7b868b1822194faed312235e43007b49", Symbol: "BTT", CoinGeckoId: "bittorrent-old", Decimals: 18, Price: 5.8712e-7},                                        // Addr: 0x8595f9da7b868b1822194faed312235e43007b49, Notional: 5.8712e-7
+		{Chain: 4, Addr: "000000000000000000000000872d068c25511be88c1f5990c53eeffcdf46c9b4", Symbol: "VENT", CoinGeckoId: "vent-finance", Decimals: 18, Price: 0.00046051},                                        // Addr: 0x872d068c25511be88c1f5990c53eeffcdf46c9b4, Notional: 0.13907402
+		{Chain: 4, Addr: "0000000000000000000000008780fea4c6b242677d4a397fe1110ac09ce99ad2", Symbol: "BIRD", CoinGeckoId: "bird-money", Decimals: 18, Price: 0.19038},                                             // Addr: 0x8780fea4c6b242677d4a397fe1110ac09ce99ad2, Notional: 0.1210888611336
+		{Chain: 4, Addr: "000000000000000000000000885c5fb8f0e67b2b0cf3a437e6cc6ebc0f9f9014", Symbol: "GEMG", CoinGeckoId: "gemguardian", Decimals: 18, Price: 0.00501864},                                         // Addr: 0x885c5fb8f0e67b2b0cf3a437e6cc6ebc0f9f9014, Notional: 0.19692717473190963
+		{Chain: 4, Addr: "00000000000000000000000088d7e9b65dc24cf54f5edef929225fc3e1580c25", Symbol: "JMPT", CoinGeckoId: "jumptoken", Decimals: 18, Price: 0.915685},                                             // Addr: 0x88d7e9b65dc24cf54f5edef929225fc3e1580c25, Notional: 286563.1550063471
+		{Chain: 4, Addr: "0000000000000000000000008929e9dbd2785e3ba16175e596cdd61520fee0d1", Symbol: "ALTD", CoinGeckoId: "altitude", Decimals: 18, Price: 0.00076324},                                            // Addr: 0x8929e9dbd2785e3ba16175e596cdd61520fee0d1, Notional: 0.031638909501983996
 		{Chain: 4, Addr: "0000000000000000000000008a5d7fcd4c90421d21d30fcc4435948ac3618b2f", Symbol: "MONSTA", CoinGeckoId: "cake-monster", Decimals: 18, Price: 0.0000019},                                       // Addr: 0x8a5d7fcd4c90421d21d30fcc4435948ac3618b2f, Notional: 0.0000018049999999999999
-		{Chain: 4, Addr: "0000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 18, Price: 0.999858},                                              // Addr: 0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d, Notional: 312446.3457569897
-		{Chain: 4, Addr: "0000000000000000000000008bd778b12b15416359a227f0533ce2d91844e1ed", Symbol: "SAKE", CoinGeckoId: "sake-token", Decimals: 18, Price: 0.00165053},                                          // Addr: 0x8bd778b12b15416359a227f0533ce2d91844e1ed, Notional: 3.21002985717095
-		{Chain: 4, Addr: "0000000000000000000000008bfca09e5877ea59f85883d13a6873334b937d41", Symbol: "MADPEPE", CoinGeckoId: "mad-pepe", Decimals: 18, Price: 6.7616e-11},                                         // Addr: 0x8bfca09e5877ea59f85883d13a6873334b937d41, Notional: 0.001014442848
-		{Chain: 4, Addr: "0000000000000000000000008d11ec38a3eb5e956b052f67da8bdc9bef8abf3e", Symbol: "KEX", CoinGeckoId: "kira-network", Decimals: 6, Price: 0.01044036},                                          // Addr: 0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e, Notional: 0.0001044036
-		{Chain: 4, Addr: "0000000000000000000000008da443f84fea710266c8eb6bc34b71702d033ef2", Symbol: "CTSI", CoinGeckoId: "cartesi", Decimals: 18, Price: 0.079189},                                               // Addr: 0x8da443f84fea710266c8eb6bc34b71702d033ef2, Notional: 1.7176094100000001
-		{Chain: 4, Addr: "0000000000000000000000008ebc361536094fd5b4ffb8521e31900614c9f55d", Symbol: "DARC", CoinGeckoId: "darcmatter-coin", Decimals: 18, Price: 0.00015919},                                     // Addr: 0x8ebc361536094fd5b4ffb8521e31900614c9f55d, Notional: 1056.1277957794075
-		{Chain: 4, Addr: "0000000000000000000000008f36cc333f55b09bb71091409a3d7ade399e3b1c", Symbol: "CHER", CoinGeckoId: "cherry-network", Decimals: 18, Price: 0.00031241},                                      // Addr: 0x8f36cc333f55b09bb71091409a3d7ade399e3b1c, Notional: 0.2424544442478718
-		{Chain: 4, Addr: "0000000000000000000000008ff795a6f4d97e7887c79bea79aba5cc76444adf", Symbol: "BCH", CoinGeckoId: "binance-peg-bitcoin-cash", Decimals: 18, Price: 578.67},                                 // Addr: 0x8ff795a6f4d97e7887c79bea79aba5cc76444adf, Notional: 0.0021410789999999997
-		{Chain: 4, Addr: "0000000000000000000000009029fdfae9a03135846381c7ce16595c3554e10a", Symbol: "OOE", CoinGeckoId: "openocean", Decimals: 18, Price: 0.00262293},                                            // Addr: 0x9029fdfae9a03135846381c7ce16595c3554e10a, Notional: 0.00262293
-		{Chain: 4, Addr: "00000000000000000000000092868a5255c628da08f550a858a802f5351c5223", Symbol: "BRIDGE", CoinGeckoId: "cross-chain-bridge", Decimals: 18, Price: 0.00065515},                                // Addr: 0x92868a5255c628da08f550a858a802f5351c5223, Notional: 0.053067149999999993
-		{Chain: 4, Addr: "000000000000000000000000928e55dab735aa8260af3cedada18b5f70c72f1b", Symbol: "FRONT", CoinGeckoId: "frontier-token", Decimals: 18, Price: 0.13962},                                        // Addr: 0x928e55dab735aa8260af3cedada18b5f70c72f1b, Notional: 0.9788967518304
-		{Chain: 4, Addr: "000000000000000000000000935a544bf5816e3a7c13db2efe3009ffda0acda2", Symbol: "BLZ", CoinGeckoId: "bluzelle", Decimals: 18, Price: 0.03424344},                                             // Addr: 0x935a544bf5816e3a7c13db2efe3009ffda0acda2, Notional: 15.793078397851154
-		{Chain: 4, Addr: "00000000000000000000000093c27727e72ec7510a06ea450366c1418c4ce547", Symbol: "PXP", CoinGeckoId: "pirate-x-pirate", Decimals: 18, Price: 0.00010751},                                      // Addr: 0x93c27727e72ec7510a06ea450366c1418c4ce547, Notional: 0.00021502
-		{Chain: 4, Addr: "000000000000000000000000947950bcc74888a40ffa2593c5798f11fc9124c4", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.784507},                                                // Addr: 0x947950bcc74888a40ffa2593c5798f11fc9124c4, Notional: 3.62429740726025
-		{Chain: 4, Addr: "0000000000000000000000009573c88ae3e37508f87649f87c4dd5373c9f31e0", Symbol: "MONI", CoinGeckoId: "monsta-infinite", Decimals: 18, Price: 0.00194743},                                     // Addr: 0x9573c88ae3e37508f87649f87c4dd5373c9f31e0, Notional: 0.0021825041389799
-		{Chain: 4, Addr: "000000000000000000000000959229d94c9060552daea25ac17193bca65d7884", Symbol: "IOI", CoinGeckoId: "ioi-token", Decimals: 6, Price: 0.00057739},                                             // Addr: 0x959229d94c9060552daea25ac17193bca65d7884, Notional: 0.014664848575849999
-		{Chain: 4, Addr: "000000000000000000000000961c8c0b1aad0c0b10a51fef6a867e3091bcef17", Symbol: "DYP", CoinGeckoId: "defi-yield-protocol", Decimals: 18, Price: 0.0437203},                                   // Addr: 0x961c8c0b1aad0c0b10a51fef6a867e3091bcef17, Notional: 682.7623104788096
-		{Chain: 4, Addr: "000000000000000000000000965f527d9159dce6288a2219db51fc6eef120dd1", Symbol: "BSW", CoinGeckoId: "biswap", Decimals: 18, Price: 0.0164852},                                                // Addr: 0x965f527d9159dce6288a2219db51fc6eef120dd1, Notional: 0.0329704
-		{Chain: 4, Addr: "0000000000000000000000009678e42cebeb63f23197d726b29b1cb20d0064e5", Symbol: "IOTX", CoinGeckoId: "binance-peg-iotex", Decimals: 18, Price: 0.02624107},                                   // Addr: 0x9678e42cebeb63f23197d726b29b1cb20d0064e5, Notional: 146.04756606105778
-		{Chain: 4, Addr: "0000000000000000000000009767c8e438aa18f550208e6d1fdf5f43541cc2c8", Symbol: "MMIT", CoinGeckoId: "mangoman-intelligent", Decimals: 18, Price: 3.17316e-10},                               // Addr: 0x9767c8e438aa18f550208e6d1fdf5f43541cc2c8, Notional: 3.17316e-8
-		{Chain: 4, Addr: "00000000000000000000000098f8669f6481ebb341b522fcd3663f79a3d1a6a7", Symbol: "NEST", CoinGeckoId: "nest", Decimals: 18, Price: 0.00038301},                                                // Addr: 0x98f8669f6481ebb341b522fcd3663f79a3d1a6a7, Notional: 0.027193710176184598
-		{Chain: 4, Addr: "000000000000000000000000998305efdc264b9674178899fffbb44a47134a76", Symbol: "GMRX", CoinGeckoId: "gaimin", Decimals: 18, Price: 0.00006528},                                              // Addr: 0x998305efdc264b9674178899fffbb44a47134a76, Notional: 53042.55071540438
-		{Chain: 4, Addr: "0000000000000000000000009b17baadf0f21f03e35249e0e59723f34994f806", Symbol: "SURE", CoinGeckoId: "insure", Decimals: 18, Price: 0.00084309},                                              // Addr: 0x9b17baadf0f21f03e35249e0e59723f34994f806, Notional: 0.252927
-		{Chain: 4, Addr: "0000000000000000000000009bf543d8460583ff8a669aae01d9cdbee4defe3c", Symbol: "SKO", CoinGeckoId: "sugar-kingdom-odyssey", Decimals: 18, Price: 0.00064726},                                // Addr: 0x9bf543d8460583ff8a669aae01d9cdbee4defe3c, Notional: 795.1461071972
-		{Chain: 4, Addr: "0000000000000000000000009d7107c8e30617cadc11f9692a19c82ae8bba938", Symbol: "ROO", CoinGeckoId: "lucky-roo", Decimals: 18, Price: 3.9117e-8},                                             // Addr: 0x9d7107c8e30617cadc11f9692a19c82ae8bba938, Notional: 0.38330423799738256
-		{Chain: 4, Addr: "0000000000000000000000009df465460938f9ebdf51c38cc87d72184471f8f0", Symbol: "GENE", CoinGeckoId: "genopets", Decimals: 18, Price: 0.01890105},                                            // Addr: 0x9df465460938f9ebdf51c38cc87d72184471f8f0, Notional: 1.5888789459258765
-		{Chain: 4, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.0000169},                                              // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 34.27169429305403
-		{Chain: 4, Addr: "0000000000000000000000009e24415d1e549ebc626a13a482bb117a2b43e9cf", Symbol: "LOVELY", CoinGeckoId: "lovely-inu-finance", Decimals: 8, Price: 0.00000483},                                 // Addr: 0x9e24415d1e549ebc626a13a482bb117a2b43e9cf, Notional: 190771.44372859204
-		{Chain: 4, Addr: "0000000000000000000000009e3a9f1612028eee48f85ca85f8bed2f37d76848", Symbol: "QDX", CoinGeckoId: "quidax", Decimals: 18, Price: 0.131361},                                                 // Addr: 0x9e3a9f1612028eee48f85ca85f8bed2f37d76848, Notional: 65.68050000000001
-		{Chain: 4, Addr: "0000000000000000000000009e6b3e35c8f563b45d864f9ff697a144ad28a371", Symbol: "DOGO", CoinGeckoId: "dogemon-go", Decimals: 18, Price: 2.51245e-7},                                          // Addr: 0x9e6b3e35c8f563b45d864f9ff697a144ad28a371, Notional: 4.265845614758107
-		{Chain: 4, Addr: "0000000000000000000000009eb6935aea6afb5bc6d1a74be0c2f78280ab6448", Symbol: "ACA", CoinGeckoId: "aca-token", Decimals: 9, Price: 0.00034836},                                             // Addr: 0x9eb6935aea6afb5bc6d1a74be0c2f78280ab6448, Notional: 2.246197364450088
+		{Chain: 4, Addr: "0000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 18, Price: 0.999702},                                              // Addr: 0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d, Notional: 299804.9661926881
+		{Chain: 4, Addr: "0000000000000000000000008bd778b12b15416359a227f0533ce2d91844e1ed", Symbol: "SAKE", CoinGeckoId: "sake-token", Decimals: 18, Price: 0.00139471},                                          // Addr: 0x8bd778b12b15416359a227f0533ce2d91844e1ed, Notional: 2.7124988592118258
+		{Chain: 4, Addr: "0000000000000000000000008bfca09e5877ea59f85883d13a6873334b937d41", Symbol: "MADPEPE", CoinGeckoId: "mad-pepe", Decimals: 18, Price: 7.3299e-11},                                         // Addr: 0x8bfca09e5877ea59f85883d13a6873334b937d41, Notional: 0.001099704897
+		{Chain: 4, Addr: "0000000000000000000000008d11ec38a3eb5e956b052f67da8bdc9bef8abf3e", Symbol: "KEX", CoinGeckoId: "kira-network", Decimals: 6, Price: 0.00825198},                                          // Addr: 0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e, Notional: 0.00008251980000000002
+		{Chain: 4, Addr: "0000000000000000000000008da443f84fea710266c8eb6bc34b71702d033ef2", Symbol: "CTSI", CoinGeckoId: "cartesi", Decimals: 18, Price: 0.073242},                                               // Addr: 0x8da443f84fea710266c8eb6bc34b71702d033ef2, Notional: 1.5886189800000001
+		{Chain: 4, Addr: "0000000000000000000000008ebc361536094fd5b4ffb8521e31900614c9f55d", Symbol: "DARC", CoinGeckoId: "darcmatter-coin", Decimals: 18, Price: 0.00013293},                                     // Addr: 0x8ebc361536094fd5b4ffb8521e31900614c9f55d, Notional: 881.9088378224552
+		{Chain: 4, Addr: "0000000000000000000000008f36cc333f55b09bb71091409a3d7ade399e3b1c", Symbol: "CHER", CoinGeckoId: "cherry-network", Decimals: 18, Price: 0.00031048},                                      // Addr: 0x8f36cc333f55b09bb71091409a3d7ade399e3b1c, Notional: 0.2409566142251504
+		{Chain: 4, Addr: "0000000000000000000000008ff795a6f4d97e7887c79bea79aba5cc76444adf", Symbol: "BCH", CoinGeckoId: "binance-peg-bitcoin-cash", Decimals: 18, Price: 558.79},                                 // Addr: 0x8ff795a6f4d97e7887c79bea79aba5cc76444adf, Notional: 0.002067523
+		{Chain: 4, Addr: "0000000000000000000000009029fdfae9a03135846381c7ce16595c3554e10a", Symbol: "OOE", CoinGeckoId: "openocean", Decimals: 18, Price: 0.00352281},                                            // Addr: 0x9029fdfae9a03135846381c7ce16595c3554e10a, Notional: 0.00352281
+		{Chain: 4, Addr: "00000000000000000000000092868a5255c628da08f550a858a802f5351c5223", Symbol: "BRIDGE", CoinGeckoId: "cross-chain-bridge", Decimals: 18, Price: 0.00062855},                                // Addr: 0x92868a5255c628da08f550a858a802f5351c5223, Notional: 0.050912549999999994
+		{Chain: 4, Addr: "000000000000000000000000928e55dab735aa8260af3cedada18b5f70c72f1b", Symbol: "FRONT", CoinGeckoId: "frontier-token", Decimals: 18, Price: 0.118446},                                       // Addr: 0x928e55dab735aa8260af3cedada18b5f70c72f1b, Notional: 0.83044266342432
+		{Chain: 4, Addr: "000000000000000000000000935a544bf5816e3a7c13db2efe3009ffda0acda2", Symbol: "BLZ", CoinGeckoId: "bluzelle", Decimals: 18, Price: 0.03061895},                                             // Addr: 0x935a544bf5816e3a7c13db2efe3009ffda0acda2, Notional: 14.12146320024754
+		{Chain: 4, Addr: "00000000000000000000000093c27727e72ec7510a06ea450366c1418c4ce547", Symbol: "PXP", CoinGeckoId: "pirate-x-pirate", Decimals: 18, Price: 0.00011274},                                      // Addr: 0x93c27727e72ec7510a06ea450366c1418c4ce547, Notional: 0.00022548
+		{Chain: 4, Addr: "000000000000000000000000947950bcc74888a40ffa2593c5798f11fc9124c4", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.668783},                                                // Addr: 0x947950bcc74888a40ffa2593c5798f11fc9124c4, Notional: 3.0896709563072497
+		{Chain: 4, Addr: "0000000000000000000000009573c88ae3e37508f87649f87c4dd5373c9f31e0", Symbol: "MONI", CoinGeckoId: "monsta-infinite", Decimals: 18, Price: 0.00176316},                                     // Addr: 0x9573c88ae3e37508f87649f87c4dd5373c9f31e0, Notional: 0.0019759909201788
+		{Chain: 4, Addr: "000000000000000000000000959229d94c9060552daea25ac17193bca65d7884", Symbol: "IOI", CoinGeckoId: "ioi-token", Decimals: 6, Price: 0.00011906},                                             // Addr: 0x959229d94c9060552daea25ac17193bca65d7884, Notional: 0.0030239471959
+		{Chain: 4, Addr: "000000000000000000000000961c8c0b1aad0c0b10a51fef6a867e3091bcef17", Symbol: "DYP", CoinGeckoId: "defi-yield-protocol", Decimals: 18, Price: 0.00469648},                                  // Addr: 0x961c8c0b1aad0c0b10a51fef6a867e3091bcef17, Notional: 73.34303597911085
+		{Chain: 4, Addr: "000000000000000000000000965f527d9159dce6288a2219db51fc6eef120dd1", Symbol: "BSW", CoinGeckoId: "biswap", Decimals: 18, Price: 0.00893429},                                               // Addr: 0x965f527d9159dce6288a2219db51fc6eef120dd1, Notional: 0.01786858
+		{Chain: 4, Addr: "0000000000000000000000009678e42cebeb63f23197d726b29b1cb20d0064e5", Symbol: "IOTX", CoinGeckoId: "binance-peg-iotex", Decimals: 18, Price: 0.02284828},                                   // Addr: 0x9678e42cebeb63f23197d726b29b1cb20d0064e5, Notional: 127.16461953272277
+		{Chain: 4, Addr: "0000000000000000000000009767c8e438aa18f550208e6d1fdf5f43541cc2c8", Symbol: "MMIT", CoinGeckoId: "mangoman-intelligent", Decimals: 18, Price: 4.14121e-10},                               // Addr: 0x9767c8e438aa18f550208e6d1fdf5f43541cc2c8, Notional: 4.14121e-8
+		{Chain: 4, Addr: "00000000000000000000000098f8669f6481ebb341b522fcd3663f79a3d1a6a7", Symbol: "NEST", CoinGeckoId: "nest", Decimals: 18, Price: 0.00034723},                                                // Addr: 0x98f8669f6481ebb341b522fcd3663f79a3d1a6a7, Notional: 0.0246533301597258
+		{Chain: 4, Addr: "000000000000000000000000998305efdc264b9674178899fffbb44a47134a76", Symbol: "GMRX", CoinGeckoId: "gaimin", Decimals: 18, Price: 0.00007056},                                              // Addr: 0x998305efdc264b9674178899fffbb44a47134a76, Notional: 60670.16695469975
+		{Chain: 4, Addr: "0000000000000000000000009b17baadf0f21f03e35249e0e59723f34994f806", Symbol: "SURE", CoinGeckoId: "insure", Decimals: 18, Price: 0.00087657},                                              // Addr: 0x9b17baadf0f21f03e35249e0e59723f34994f806, Notional: 0.2641946380300875
+		{Chain: 4, Addr: "0000000000000000000000009bf543d8460583ff8a669aae01d9cdbee4defe3c", Symbol: "SKO", CoinGeckoId: "sugar-kingdom-odyssey", Decimals: 18, Price: 0.00068656},                                // Addr: 0x9bf543d8460583ff8a669aae01d9cdbee4defe3c, Notional: 843.4253798432
+		{Chain: 4, Addr: "0000000000000000000000009d7107c8e30617cadc11f9692a19c82ae8bba938", Symbol: "ROO", CoinGeckoId: "lucky-roo", Decimals: 18, Price: 3.6114e-8},                                             // Addr: 0x9d7107c8e30617cadc11f9692a19c82ae8bba938, Notional: 0.3538780901152306
+		{Chain: 4, Addr: "0000000000000000000000009df465460938f9ebdf51c38cc87d72184471f8f0", Symbol: "GENE", CoinGeckoId: "genopets", Decimals: 18, Price: 0.00961815},                                            // Addr: 0x9df465460938f9ebdf51c38cc87d72184471f8f0, Notional: 0.8085305331585796
+		{Chain: 4, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.00001555},                                             // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 31.534014571419537
+		{Chain: 4, Addr: "0000000000000000000000009e24415d1e549ebc626a13a482bb117a2b43e9cf", Symbol: "LOVELY", CoinGeckoId: "lovely-inu-finance", Decimals: 8, Price: 0.00000535},                                 // Addr: 0x9e24415d1e549ebc626a13a482bb117a2b43e9cf, Notional: 211309.98425423753
+		{Chain: 4, Addr: "0000000000000000000000009e3a9f1612028eee48f85ca85f8bed2f37d76848", Symbol: "QDX", CoinGeckoId: "quidax", Decimals: 18, Price: 0.124508},                                                 // Addr: 0x9e3a9f1612028eee48f85ca85f8bed2f37d76848, Notional: 62.254
+		{Chain: 4, Addr: "0000000000000000000000009e6b3e35c8f563b45d864f9ff697a144ad28a371", Symbol: "DOGO", CoinGeckoId: "dogemon-go", Decimals: 18, Price: 1.97317e-7},                                          // Addr: 0x9e6b3e35c8f563b45d864f9ff697a144ad28a371, Notional: 3.3502113839766974
+		{Chain: 4, Addr: "0000000000000000000000009eb6935aea6afb5bc6d1a74be0c2f78280ab6448", Symbol: "ACA", CoinGeckoId: "aca-token", Decimals: 9, Price: 0.00043638},                                             // Addr: 0x9eb6935aea6afb5bc6d1a74be0c2f78280ab6448, Notional: 2.813743271037804
 		{Chain: 4, Addr: "0000000000000000000000009ed7e4b1bff939ad473da5e7a218c771d1569456", Symbol: "REUNI", CoinGeckoId: "reunit-wallet", Decimals: 6, Price: 0.02723824},                                       // Addr: 0x9ed7e4b1bff939ad473da5e7a218c771d1569456, Notional: 0.510717
-		{Chain: 4, Addr: "0000000000000000000000009f5c37e0fd9bf729b1f0a6f39ce57be5e9bfd435", Symbol: " BTCPAY", CoinGeckoId: "bitcoin-pay", Decimals: 18, Price: 0.00405494},                                      // Addr: 0x9f5c37e0fd9bf729b1f0a6f39ce57be5e9bfd435, Notional: 0.0000173674296682
-		{Chain: 4, Addr: "0000000000000000000000009fb9a33956351cf4fa040f65a13b835a3c8764e3", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.502091},                                           // Addr: 0x9fb9a33956351cf4fa040f65a13b835a3c8764e3, Notional: 10736.157068776514
-		{Chain: 4, Addr: "000000000000000000000000a0d96fd642156fc7e964949642257b3572f10cd6", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.0002006},                                            // Addr: 0xa0d96fd642156fc7e964949642257b3572f10cd6, Notional: 15.625108655721347
-		{Chain: 4, Addr: "000000000000000000000000a2120b9e674d3fc3875f415a7df52e382f141225", Symbol: "ATA", CoinGeckoId: "automata", Decimals: 18, Price: 0.04590599},                                             // Addr: 0xa2120b9e674d3fc3875f415a7df52e382f141225, Notional: 0.9777975870000001
-		{Chain: 4, Addr: "000000000000000000000000a260e12d2b924cb899ae80bb58123ac3fee1e2f0", Symbol: "HOOK", CoinGeckoId: "hooked-protocol", Decimals: 18, Price: 0.106961},                                       // Addr: 0xa260e12d2b924cb899ae80bb58123ac3fee1e2f0, Notional: 0.213922
-		{Chain: 4, Addr: "000000000000000000000000a2b726b1145a4773f68593cf171187d8ebe4d495", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 14.03},                                        // Addr: 0xa2b726b1145a4773f68593cf171187d8ebe4d495, Notional: 2302.3597995675996
+		{Chain: 4, Addr: "0000000000000000000000009f5c37e0fd9bf729b1f0a6f39ce57be5e9bfd435", Symbol: " BTCPAY", CoinGeckoId: "bitcoin-pay", Decimals: 18, Price: 0.00557554},                                      // Addr: 0x9f5c37e0fd9bf729b1f0a6f39ce57be5e9bfd435, Notional: 0.0000238802050862
+		{Chain: 4, Addr: "0000000000000000000000009fb9a33956351cf4fa040f65a13b835a3c8764e3", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.491178},                                           // Addr: 0x9fb9a33956351cf4fa040f65a13b835a3c8764e3, Notional: 10502.805580517299
+		{Chain: 4, Addr: "000000000000000000000000a0d96fd642156fc7e964949642257b3572f10cd6", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.00019774},                                           // Addr: 0xa0d96fd642156fc7e964949642257b3572f10cd6, Notional: 15.402337914169188
+		{Chain: 4, Addr: "000000000000000000000000a2120b9e674d3fc3875f415a7df52e382f141225", Symbol: "ATA", CoinGeckoId: "automata", Decimals: 18, Price: 0.03769125},                                             // Addr: 0xa2120b9e674d3fc3875f415a7df52e382f141225, Notional: 0.802823625
+		{Chain: 4, Addr: "000000000000000000000000a260e12d2b924cb899ae80bb58123ac3fee1e2f0", Symbol: "HOOK", CoinGeckoId: "hooked-protocol", Decimals: 18, Price: 0.090805},                                       // Addr: 0xa260e12d2b924cb899ae80bb58123ac3fee1e2f0, Notional: 0.18161
+		{Chain: 4, Addr: "000000000000000000000000a2b726b1145a4773f68593cf171187d8ebe4d495", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 12.01},                                        // Addr: 0xa2b726b1145a4773f68593cf171187d8ebe4d495, Notional: 1970.8725012691998
 		{Chain: 4, Addr: "000000000000000000000000a38898a4ae982cb0131104a6746f77fa0da57aaa", Symbol: "QBIT", CoinGeckoId: "project-quantum", Decimals: 2, Price: 0.00000173},                                      // Addr: 0xa38898a4ae982cb0131104a6746f77fa0da57aaa, Notional: 0.00001557
-		{Chain: 4, Addr: "000000000000000000000000a5496935a247fa81b1462e553ad139d2fd0af795", Symbol: "FLAG", CoinGeckoId: "flag-network", Decimals: 18, Price: 0.00001169},                                        // Addr: 0xa5496935a247fa81b1462e553ad139d2fd0af795, Notional: 5.391493786365895
-		{Chain: 4, Addr: "000000000000000000000000a58950f05fea2277d2608748412bf9f802ea4901", Symbol: "WSG", CoinGeckoId: "wall-street-games", Decimals: 18, Price: 1.60811e-10},                                   // Addr: 0xa58950f05fea2277d2608748412bf9f802ea4901, Notional: 0.24845200947192156
-		{Chain: 4, Addr: "000000000000000000000000a6168c7e5eb7c5c379f3a1d7cf1073e09b2f031e", Symbol: "GRAV", CoinGeckoId: "graviton-zero", Decimals: 18, Price: 0.00008054},                                       // Addr: 0xa6168c7e5eb7c5c379f3a1d7cf1073e09b2f031e, Notional: 0.000015850272
-		{Chain: 4, Addr: "000000000000000000000000a67b8e40111a0edd30c3210b77aadb86ad234c43", Symbol: "Bandex", CoinGeckoId: "banana-index", Decimals: 9, Price: 1.2007e-8},                                        // Addr: 0xa67b8e40111a0edd30c3210b77aadb86ad234c43, Notional: 4.967892563718809
-		{Chain: 4, Addr: "000000000000000000000000a719b8ab7ea7af0ddb4358719a34631bb79d15dc", Symbol: "FRM", CoinGeckoId: "ferrum-network", Decimals: 18, Price: 0.00041615},                                       // Addr: 0xa719b8ab7ea7af0ddb4358719a34631bb79d15dc, Notional: 0.0413989219153125
+		{Chain: 4, Addr: "000000000000000000000000a5496935a247fa81b1462e553ad139d2fd0af795", Symbol: "FLAG", CoinGeckoId: "flag-network", Decimals: 18, Price: 0.00001278},                                        // Addr: 0xa5496935a247fa81b1462e553ad139d2fd0af795, Notional: 5.8942079204239635
+		{Chain: 4, Addr: "000000000000000000000000a58950f05fea2277d2608748412bf9f802ea4901", Symbol: "WSG", CoinGeckoId: "wall-street-games", Decimals: 18, Price: 1.79801e-10},                                   // Addr: 0xa58950f05fea2277d2608748412bf9f802ea4901, Notional: 0.2777914430919587
+		{Chain: 4, Addr: "000000000000000000000000a6168c7e5eb7c5c379f3a1d7cf1073e09b2f031e", Symbol: "GRAV", CoinGeckoId: "graviton-zero", Decimals: 18, Price: 0.00008035},                                       // Addr: 0xa6168c7e5eb7c5c379f3a1d7cf1073e09b2f031e, Notional: 0.00001581288
+		{Chain: 4, Addr: "000000000000000000000000a67b8e40111a0edd30c3210b77aadb86ad234c43", Symbol: "Bandex", CoinGeckoId: "banana-index", Decimals: 9, Price: 5.441e-9},                                         // Addr: 0xa67b8e40111a0edd30c3210b77aadb86ad234c43, Notional: 2.2512120795530977
+		{Chain: 4, Addr: "000000000000000000000000a719b8ab7ea7af0ddb4358719a34631bb79d15dc", Symbol: "FRM", CoinGeckoId: "ferrum-network", Decimals: 18, Price: 0.00041087},                                       // Addr: 0xa719b8ab7ea7af0ddb4358719a34631bb79d15dc, Notional: 0.04087366345631249
 		{Chain: 4, Addr: "000000000000000000000000a75d9ca2a0a1d547409d82e1b06618ec284a2ced", Symbol: "WMX", CoinGeckoId: "wombex", Decimals: 18, Price: 0.00024996},                                               // Addr: 0xa75d9ca2a0a1d547409d82e1b06618ec284a2ced, Notional: 2300.879652507069
-		{Chain: 4, Addr: "000000000000000000000000a7bd657c5838472ddf85ff0797a2e6fce8fd4833", Symbol: "ARBI", CoinGeckoId: "arbipad", Decimals: 18, Price: 0.00009984},                                             // Addr: 0xa7bd657c5838472ddf85ff0797a2e6fce8fd4833, Notional: 670.628915228041
-		{Chain: 4, Addr: "000000000000000000000000aa076b62efc6f357882e07665157a271ab46a063", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001963},                                       // Addr: 0xaa076b62efc6f357882e07665157a271ab46a063, Notional: 30569.960019506198
-		{Chain: 4, Addr: "000000000000000000000000aa2ded323944b25c0b6f1f891bc96f010b65622c", Symbol: "TheRadio", CoinGeckoId: "radioreum", Decimals: 18, Price: 0.00068107},                                       // Addr: 0xaa2ded323944b25c0b6f1f891bc96f010b65622c, Notional: 0.0039421811701324
+		{Chain: 4, Addr: "000000000000000000000000a7bd657c5838472ddf85ff0797a2e6fce8fd4833", Symbol: "ARBI", CoinGeckoId: "arbipad", Decimals: 18, Price: 0.00000197},                                             // Addr: 0xa7bd657c5838472ddf85ff0797a2e6fce8fd4833, Notional: 13.232561728758423
+		{Chain: 4, Addr: "000000000000000000000000aa076b62efc6f357882e07665157a271ab46a063", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001129},                                       // Addr: 0xaa076b62efc6f357882e07665157a271ab46a063, Notional: 17582.00960877356
+		{Chain: 4, Addr: "000000000000000000000000aa2ded323944b25c0b6f1f891bc96f010b65622c", Symbol: "TheRadio", CoinGeckoId: "radioreum", Decimals: 18, Price: 0.00058095},                                       // Addr: 0xaa2ded323944b25c0b6f1f891bc96f010b65622c, Notional: 0.0033626648520540003
 		{Chain: 4, Addr: "000000000000000000000000aa9826732f3a4973ff8b384b3f4e3c70c2984651", Symbol: "XPRESS", CoinGeckoId: "cryptoexpress", Decimals: 18, Price: 0.01249521},                                     // Addr: 0xaa9826732f3a4973ff8b384b3f4e3c70c2984651, Notional: 2.148867216042374
-		{Chain: 4, Addr: "000000000000000000000000ac472d0eed2b8a2f57a6e304ea7ebd8e88d1d36f", Symbol: "ANI", CoinGeckoId: "anime-token", Decimals: 18, Price: 0.00094481},                                          // Addr: 0xac472d0eed2b8a2f57a6e304ea7ebd8e88d1d36f, Notional: 2956.4868096396785
-		{Chain: 4, Addr: "000000000000000000000000ac51066d7bec65dc4589368da368b212745d63e8", Symbol: "ALICE", CoinGeckoId: "my-neighbor-alice", Decimals: 6, Price: 0.364238},                                     // Addr: 0xac51066d7bec65dc4589368da368b212745d63e8, Notional: 0.2185428
-		{Chain: 4, Addr: "000000000000000000000000ace8c5e6e492aa7aebf31a8053f8a487f62ceb84", Symbol: "NADA", CoinGeckoId: "nothing", Decimals: 18, Price: 8.7963e-7},                                              // Addr: 0xace8c5e6e492aa7aebf31a8053f8a487f62ceb84, Notional: 0.351852
-		{Chain: 4, Addr: "000000000000000000000000ad29abb318791d579433d831ed122afeaf29dcfe", Symbol: "FTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.3056},                                           // Addr: 0xad29abb318791d579433d831ed122afeaf29dcfe, Notional: 1047.6588770383519
-		{Chain: 4, Addr: "000000000000000000000000ad6742a35fb341a9cc6ad674738dd8da98b94fb1", Symbol: "WOM", CoinGeckoId: "wombat-exchange", Decimals: 18, Price: 0.00207228},                                      // Addr: 0xad6742a35fb341a9cc6ad674738dd8da98b94fb1, Notional: 150475.72318300215
-		{Chain: 4, Addr: "000000000000000000000000ad86d0e9764ba90ddd68747d64bffbd79879a238", Symbol: "PAID", CoinGeckoId: "paid-network", Decimals: 18, Price: 0.02031674},                                        // Addr: 0xad86d0e9764ba90ddd68747d64bffbd79879a238, Notional: 0.12106550325296
-		{Chain: 4, Addr: "000000000000000000000000ae9269f27437f0fcbc232d39ec814844a51d6b8f", Symbol: "BURGER", CoinGeckoId: "burger-swap", Decimals: 18, Price: 0.0023968},                                        // Addr: 0xae9269f27437f0fcbc232d39ec814844a51d6b8f, Notional: 0.000313706869728
-		{Chain: 4, Addr: "000000000000000000000000aec945e04baf28b135fa7c640f624f8d90f1c3a6", Symbol: "C98", CoinGeckoId: "coin98", Decimals: 18, Price: 0.04841306},                                               // Addr: 0xaec945e04baf28b135fa7c640f624f8d90f1c3a6, Notional: 20.360763665499217
-		{Chain: 4, Addr: "000000000000000000000000aef0d72a118ce24fee3cd1d43d383897d05b4e99", Symbol: "WIN", CoinGeckoId: "winklink-bsc", Decimals: 18, Price: 0.00005145},                                         // Addr: 0xaef0d72a118ce24fee3cd1d43d383897d05b4e99, Notional: 9.994580281034757
-		{Chain: 4, Addr: "000000000000000000000000af20f5f19698f1d19351028cd7103b63d30de7d7", Symbol: "WAGMI", CoinGeckoId: "wagmi-2", Decimals: 18, Price: 0.00436962},                                            // Addr: 0xaf20f5f19698f1d19351028cd7103b63d30de7d7, Notional: 0.46536453000000005
-		{Chain: 4, Addr: "000000000000000000000000af7bfa6240745fd41d1ed4b5fade9dcaf369ba6c", Symbol: "Mverse", CoinGeckoId: "maticverse", Decimals: 18, Price: 1.75255e-7},                                        // Addr: 0xaf7bfa6240745fd41d1ed4b5fade9dcaf369ba6c, Notional: 19.484188378583514
-		{Chain: 4, Addr: "000000000000000000000000b0d502e938ed5f4df2e681fe6e419ff29631d62b", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                       // Addr: 0xb0d502e938ed5f4df2e681fe6e419ff29631d62b, Notional: 13.17555676757075
-		{Chain: 4, Addr: "000000000000000000000000b46584e0efde3092e04010a13f2eae62adb3b9f0", Symbol: "PEPE", CoinGeckoId: "pepe-coin-bsc-c45e8b31-8ae1-43f4-bd34-e75551d97285", Decimals: 18, Price: 9.15746e-10}, // Addr: 0xb46584e0efde3092e04010a13f2eae62adb3b9f0, Notional: 168.90710194256414
-		{Chain: 4, Addr: "000000000000000000000000b6c53431608e626ac81a9776ac3e999c5556717c", Symbol: "TLOS", CoinGeckoId: "wrapped-telos", Decimals: 18, Price: 0.059501},                                         // Addr: 0xb6c53431608e626ac81a9776ac3e999c5556717c, Notional: 0.58501806787619
-		{Chain: 4, Addr: "000000000000000000000000b8501a9a9aaae239a2490f44e00b284baa0b131a", Symbol: "CREMAT", CoinGeckoId: "cremation-coin", Decimals: 18, Price: 1.5496e-8},                                     // Addr: 0xb8501a9a9aaae239a2490f44e00b284baa0b131a, Notional: 0.18915463762325002
+		{Chain: 4, Addr: "000000000000000000000000ac472d0eed2b8a2f57a6e304ea7ebd8e88d1d36f", Symbol: "ANI", CoinGeckoId: "anime-token", Decimals: 18, Price: 0.00096225},                                          // Addr: 0xac472d0eed2b8a2f57a6e304ea7ebd8e88d1d36f, Notional: 2960.064360440469
+		{Chain: 4, Addr: "000000000000000000000000ac51066d7bec65dc4589368da368b212745d63e8", Symbol: "ALICE", CoinGeckoId: "my-neighbor-alice", Decimals: 6, Price: 0.29439},                                      // Addr: 0xac51066d7bec65dc4589368da368b212745d63e8, Notional: 0.17663399999999999
+		{Chain: 4, Addr: "000000000000000000000000ace8c5e6e492aa7aebf31a8053f8a487f62ceb84", Symbol: "NADA", CoinGeckoId: "nothing", Decimals: 18, Price: 0.00000102},                                             // Addr: 0xace8c5e6e492aa7aebf31a8053f8a487f62ceb84, Notional: 0.408
+		{Chain: 4, Addr: "000000000000000000000000ad29abb318791d579433d831ed122afeaf29dcfe", Symbol: "FTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.253219},                                         // Addr: 0xad29abb318791d579433d831ed122afeaf29dcfe, Notional: 868.0861687983459
+		{Chain: 4, Addr: "000000000000000000000000ad6742a35fb341a9cc6ad674738dd8da98b94fb1", Symbol: "WOM", CoinGeckoId: "wombat-exchange", Decimals: 18, Price: 0.00249425},                                      // Addr: 0xad6742a35fb341a9cc6ad674738dd8da98b94fb1, Notional: 179519.91784298504
+		{Chain: 4, Addr: "000000000000000000000000ad86d0e9764ba90ddd68747d64bffbd79879a238", Symbol: "PAID", CoinGeckoId: "paid-network", Decimals: 18, Price: 0.01928223},                                        // Addr: 0xad86d0e9764ba90ddd68747d64bffbd79879a238, Notional: 0.11490095747592001
+		{Chain: 4, Addr: "000000000000000000000000ae9269f27437f0fcbc232d39ec814844a51d6b8f", Symbol: "BURGER", CoinGeckoId: "burger-swap", Decimals: 18, Price: 0.00278848},                                       // Addr: 0xae9269f27437f0fcbc232d39ec814844a51d6b8f, Notional: 0.00036497218462079996
+		{Chain: 4, Addr: "000000000000000000000000aec945e04baf28b135fa7c640f624f8d90f1c3a6", Symbol: "C98", CoinGeckoId: "coin98", Decimals: 18, Price: 0.04589638},                                               // Addr: 0xaec945e04baf28b135fa7c640f624f8d90f1c3a6, Notional: 19.302340035559517
+		{Chain: 4, Addr: "000000000000000000000000aef0d72a118ce24fee3cd1d43d383897d05b4e99", Symbol: "WIN", CoinGeckoId: "winklink-bsc", Decimals: 18, Price: 0.00004906},                                         // Addr: 0xaef0d72a118ce24fee3cd1d43d383897d05b4e99, Notional: 9.530303373907973
+		{Chain: 4, Addr: "000000000000000000000000af20f5f19698f1d19351028cd7103b63d30de7d7", Symbol: "WAGMI", CoinGeckoId: "wagmi-2", Decimals: 18, Price: 0.00323455},                                            // Addr: 0xaf20f5f19698f1d19351028cd7103b63d30de7d7, Notional: 0.34447957500000004
+		{Chain: 4, Addr: "000000000000000000000000af7bfa6240745fd41d1ed4b5fade9dcaf369ba6c", Symbol: "Mverse", CoinGeckoId: "maticverse", Decimals: 18, Price: 1.97753e-7},                                        // Addr: 0xaf7bfa6240745fd41d1ed4b5fade9dcaf369ba6c, Notional: 21.985430968759957
+		{Chain: 4, Addr: "000000000000000000000000b0d502e938ed5f4df2e681fe6e419ff29631d62b", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                       // Addr: 0xb0d502e938ed5f4df2e681fe6e419ff29631d62b, Notional: 13.581332335850998
+		{Chain: 4, Addr: "000000000000000000000000b46584e0efde3092e04010a13f2eae62adb3b9f0", Symbol: "PEPE", CoinGeckoId: "pepe-coin-bsc-c45e8b31-8ae1-43f4-bd34-e75551d97285", Decimals: 18, Price: 7.48137e-10}, // Addr: 0xb46584e0efde3092e04010a13f2eae62adb3b9f0, Notional: 137.99203329963123
+		{Chain: 4, Addr: "000000000000000000000000b6c53431608e626ac81a9776ac3e999c5556717c", Symbol: "TLOS", CoinGeckoId: "wrapped-telos", Decimals: 18, Price: 0.0476907},                                        // Addr: 0xb6c53431608e626ac81a9776ac3e999c5556717c, Notional: 0.46889835750093306
+		{Chain: 4, Addr: "000000000000000000000000b8501a9a9aaae239a2490f44e00b284baa0b131a", Symbol: "CREMAT", CoinGeckoId: "cremation-coin", Decimals: 18, Price: 1.6168e-8},                                     // Addr: 0xb8501a9a9aaae239a2490f44e00b284baa0b131a, Notional: 0.19735752330231715
 		{Chain: 4, Addr: "000000000000000000000000b955b4cab9aa3b49e23aeb5204ebc5ff6678e86d", Symbol: "Afin", CoinGeckoId: "afin-coin", Decimals: 18, Price: 0.00121705},                                           // Addr: 0xb955b4cab9aa3b49e23aeb5204ebc5ff6678e86d, Notional: 10.722338795520477
-		{Chain: 4, Addr: "000000000000000000000000ba2ae424d960c26247dd6c32edc70b295c744c43", Symbol: "DOGE", CoinGeckoId: "binance-peg-dogecoin", Decimals: 8, Price: 0.240721},                                   // Addr: 0xba2ae424d960c26247dd6c32edc70b295c744c43, Notional: 42921.914739842
-		{Chain: 4, Addr: "000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c", Symbol: "WBNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 877.77},                                                    // Addr: 0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c, Notional: 4194656.04933225
+		{Chain: 4, Addr: "000000000000000000000000ba2ae424d960c26247dd6c32edc70b295c744c43", Symbol: "DOGE", CoinGeckoId: "binance-peg-dogecoin", Decimals: 8, Price: 0.232854},                                   // Addr: 0xba2ae424d960c26247dd6c32edc70b295c744c43, Notional: 41519.18417932449
+		{Chain: 4, Addr: "000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c", Symbol: "WBNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 1008.56},                                                   // Addr: 0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c, Notional: 4693123.138706251
 		{Chain: 4, Addr: "000000000000000000000000bd100d061e120b2c67a24453cf6368e63f1be056", Symbol: "iDYP", CoinGeckoId: "idefiyieldprotocol", Decimals: 18, Price: 0.00032408},                                  // Addr: 0xbd100d061e120b2c67a24453cf6368e63f1be056, Notional: 0.9113259231999999
-		{Chain: 4, Addr: "000000000000000000000000bd83010eb60f12112908774998f65761cf9f6f9a", Symbol: "STARS", CoinGeckoId: "mogul-productions", Decimals: 18, Price: 0.00018131},                                  // Addr: 0xbd83010eb60f12112908774998f65761cf9f6f9a, Notional: 0.0756497844
-		{Chain: 4, Addr: "000000000000000000000000bdeae1ca48894a1759a8374d63925f21f2ee2639", Symbol: "EDU", CoinGeckoId: "edu-coin", Decimals: 18, Price: 0.132231},                                               // Addr: 0xbdeae1ca48894a1759a8374d63925f21f2ee2639, Notional: 6.612872309999999
-		{Chain: 4, Addr: "000000000000000000000000bf05279f9bf1ce69bbfed670813b7e431142afa4", Symbol: "MM", CoinGeckoId: "million", Decimals: 18, Price: 1.15},                                                     // Addr: 0xbf05279f9bf1ce69bbfed670813b7e431142afa4, Notional: 207.60617353299997
-		{Chain: 4, Addr: "000000000000000000000000bf0cf158e84ebacca1b7746e794d507073e5adfe", Symbol: "BEPR", CoinGeckoId: "blockchain-euro-project", Decimals: 9, Price: 0.00700181},                              // Addr: 0xbf0cf158e84ebacca1b7746e794d507073e5adfe, Notional: 1537.2013609999456
+		{Chain: 4, Addr: "000000000000000000000000bd83010eb60f12112908774998f65761cf9f6f9a", Symbol: "STARS", CoinGeckoId: "mogul-productions", Decimals: 18, Price: 0.00001836},                                  // Addr: 0xbd83010eb60f12112908774998f65761cf9f6f9a, Notional: 0.0076605264
+		{Chain: 4, Addr: "000000000000000000000000bdeae1ca48894a1759a8374d63925f21f2ee2639", Symbol: "EDU", CoinGeckoId: "edu-coin", Decimals: 18, Price: 0.128969},                                               // Addr: 0xbdeae1ca48894a1759a8374d63925f21f2ee2639, Notional: 6.4497396899999995
+		{Chain: 4, Addr: "000000000000000000000000bf05279f9bf1ce69bbfed670813b7e431142afa4", Symbol: "MM", CoinGeckoId: "million", Decimals: 18, Price: 1.069},                                                    // Addr: 0xbf05279f9bf1ce69bbfed670813b7e431142afa4, Notional: 192.98347783198
+		{Chain: 4, Addr: "000000000000000000000000bf0cf158e84ebacca1b7746e794d507073e5adfe", Symbol: "BEPR", CoinGeckoId: "blockchain-euro-project", Decimals: 9, Price: 0.00955907},                              // Addr: 0xbf0cf158e84ebacca1b7746e794d507073e5adfe, Notional: 2100.217032969854
 		{Chain: 4, Addr: "000000000000000000000000bf37f781473f3b50e82c668352984865eac9853f", Symbol: "MILK", CoinGeckoId: "the-crypto-you", Decimals: 18, Price: 3.2174e-8},                                       // Addr: 0xbf37f781473f3b50e82c668352984865eac9853f, Notional: 3.2174e-8
-		{Chain: 4, Addr: "000000000000000000000000bf5140a22578168fd562dccf235e5d43a02ce9b1", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 9.49},                                                    // Addr: 0xbf5140a22578168fd562dccf235e5d43a02ce9b1, Notional: 35.8055603659
-		{Chain: 4, Addr: "000000000000000000000000bf7c81fff98bbe61b40ed186e4afd6ddd01337fe", Symbol: "EGLD", CoinGeckoId: "wrapped-elrond", Decimals: 18, Price: 13.92},                                           // Addr: 0xbf7c81fff98bbe61b40ed186e4afd6ddd01337fe, Notional: 124.7104064064
-		{Chain: 4, Addr: "000000000000000000000000bfbee3dac982148ac793161f7362344925506903", Symbol: "CATZ", CoinGeckoId: "catzcoin", Decimals: 18, Price: 0.00000153},                                            // Addr: 0xbfbee3dac982148ac793161f7362344925506903, Notional: 0.18530136
-		{Chain: 4, Addr: "000000000000000000000000bfea674ce7d16e26e39e3c088810367a708ef94c", Symbol: "APRIL", CoinGeckoId: "april", Decimals: 18, Price: 0.00041252},                                              // Addr: 0xbfea674ce7d16e26e39e3c088810367a708ef94c, Notional: 1.23756
-		{Chain: 4, Addr: "000000000000000000000000c0366a104b429f0806bfa98d0008daa9555b2bed", Symbol: "SMARS", CoinGeckoId: "safemars-protocol", Decimals: 9, Price: 5.68e-9},                                      // Addr: 0xc0366a104b429f0806bfa98d0008daa9555b2bed, Notional: 0.0021925399980547607
-		{Chain: 4, Addr: "000000000000000000000000c0c6e4c6e70c6231b20979bda581a66f062a7967", Symbol: "bATRI", CoinGeckoId: "atari", Decimals: 0, Price: 0.00029252},                                               // Addr: 0xc0c6e4c6e70c6231b20979bda581a66f062a7967, Notional: 0.67396608
-		{Chain: 4, Addr: "000000000000000000000000c0ecb8499d8da2771abcbf4091db7f65158f1468", Symbol: "SWTH", CoinGeckoId: "switcheo", Decimals: 8, Price: 0.00084382},                                             // Addr: 0xc0ecb8499d8da2771abcbf4091db7f65158f1468, Notional: 0.00084382
-		{Chain: 4, Addr: "000000000000000000000000c146b7cdbaff065090077151d391f4c96aa09e0c", Symbol: "MCC", CoinGeckoId: "multi-chain-capital-2", Decimals: 9, Price: 1.49763e-7},                                 // Addr: 0xc146b7cdbaff065090077151d391f4c96aa09e0c, Notional: 0.000002246445
+		{Chain: 4, Addr: "000000000000000000000000bf5140a22578168fd562dccf235e5d43a02ce9b1", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 7.64},                                                    // Addr: 0xbf5140a22578168fd562dccf235e5d43a02ce9b1, Notional: 28.8255512324
+		{Chain: 4, Addr: "000000000000000000000000bf7c81fff98bbe61b40ed186e4afd6ddd01337fe", Symbol: "EGLD", CoinGeckoId: "wrapped-elrond", Decimals: 18, Price: 12.98},                                           // Addr: 0xbf7c81fff98bbe61b40ed186e4afd6ddd01337fe, Notional: 116.2888703416
+		{Chain: 4, Addr: "000000000000000000000000bfbee3dac982148ac793161f7362344925506903", Symbol: "CATZ", CoinGeckoId: "catzcoin", Decimals: 18, Price: 0.00000177},                                            // Addr: 0xbfbee3dac982148ac793161f7362344925506903, Notional: 0.21436824
+		{Chain: 4, Addr: "000000000000000000000000bfea674ce7d16e26e39e3c088810367a708ef94c", Symbol: "APRIL", CoinGeckoId: "april", Decimals: 18, Price: 0.00046608},                                              // Addr: 0xbfea674ce7d16e26e39e3c088810367a708ef94c, Notional: 1.39824
+		{Chain: 4, Addr: "000000000000000000000000c0366a104b429f0806bfa98d0008daa9555b2bed", Symbol: "SMARS", CoinGeckoId: "safemars-protocol", Decimals: 9, Price: 7.617e-9},                                     // Addr: 0xc0366a104b429f0806bfa98d0008daa9555b2bed, Notional: 0.0029402424586589984
+		{Chain: 4, Addr: "000000000000000000000000c0c6e4c6e70c6231b20979bda581a66f062a7967", Symbol: "bATRI", CoinGeckoId: "atari", Decimals: 0, Price: 0.0003293},                                                // Addr: 0xc0c6e4c6e70c6231b20979bda581a66f062a7967, Notional: 0.7587071999999999
+		{Chain: 4, Addr: "000000000000000000000000c0ecb8499d8da2771abcbf4091db7f65158f1468", Symbol: "SWTH", CoinGeckoId: "switcheo", Decimals: 8, Price: 0.0007656},                                              // Addr: 0xc0ecb8499d8da2771abcbf4091db7f65158f1468, Notional: 0.0007656
+		{Chain: 4, Addr: "000000000000000000000000c146b7cdbaff065090077151d391f4c96aa09e0c", Symbol: "MCC", CoinGeckoId: "multi-chain-capital-2", Decimals: 9, Price: 1.20766e-7},                                 // Addr: 0xc146b7cdbaff065090077151d391f4c96aa09e0c, Notional: 0.00000181149
 		{Chain: 4, Addr: "000000000000000000000000c14a7747cfec02cfea62e72bb93538de6b2078e6", Symbol: "GBL", CoinGeckoId: "waweswaps-global-token", Decimals: 18, Price: 23.63},                                    // Addr: 0xc14a7747cfec02cfea62e72bb93538de6b2078e6, Notional: 11265.4177727113
 		{Chain: 4, Addr: "000000000000000000000000c19fe21b4ef356f2f65894392dde4252aa083605", Symbol: "WSO", CoinGeckoId: "widi-soul", Decimals: 18, Price: 0.00001568},                                            // Addr: 0xc19fe21b4ef356f2f65894392dde4252aa083605, Notional: 0.0011084672427359998
-		{Chain: 4, Addr: "000000000000000000000000c27a719105a987b4c34116223cae8bd8f4b5def4", Symbol: "ACE", CoinGeckoId: "endurance", Decimals: 18, Price: 0.515362},                                              // Addr: 0xc27a719105a987b4c34116223cae8bd8f4b5def4, Notional: 1108.2306054819405
-		{Chain: 4, Addr: "000000000000000000000000c335df7c25b72eec661d5aa32a7c2b7b2a1d1874", Symbol: "ICE", CoinGeckoId: "ice", Decimals: 18, Price: 0.00518863},                                                  // Addr: 0xc335df7c25b72eec661d5aa32a7c2b7b2a1d1874, Notional: 425254.14766947186
-		{Chain: 4, Addr: "000000000000000000000000c342774492b54ce5f8ac662113ed702fc1b34972", Symbol: "BGEO", CoinGeckoId: "geodb", Decimals: 18, Price: 0.00017172},                                               // Addr: 0xc342774492b54ce5f8ac662113ed702fc1b34972, Notional: 171.72
-		{Chain: 4, Addr: "000000000000000000000000c3d912863152e1afc935ad0d42d469e7c6b05b77", Symbol: "LUCKY", CoinGeckoId: "lucky-lion", Decimals: 18, Price: 0.00010694},                                         // Addr: 0xc3d912863152e1afc935ad0d42d469e7c6b05b77, Notional: 0.0030267660440786
-		{Chain: 4, Addr: "000000000000000000000000c49dde62b4a0810074721faca54aab52369f486a", Symbol: "PKR", CoinGeckoId: "polker", Decimals: 18, Price: 0.00196522},                                               // Addr: 0xc49dde62b4a0810074721faca54aab52369f486a, Notional: 1.5525238000000001
-		{Chain: 4, Addr: "000000000000000000000000c5326b32e8baef125acd68f8bc646fd646104f1c", Symbol: "ZAP", CoinGeckoId: "zap", Decimals: 18, Price: 0.00166219},                                                  // Addr: 0xc5326b32e8baef125acd68f8bc646fd646104f1c, Notional: 6466.18915093259
-		{Chain: 4, Addr: "000000000000000000000000c598275452fa319d75ee5f176fd3b8384925b425", Symbol: "STRM", CoinGeckoId: "streamcoin", Decimals: 18, Price: 0.00103098},                                          // Addr: 0xc598275452fa319d75ee5f176fd3b8384925b425, Notional: 0.00206196
-		{Chain: 4, Addr: "000000000000000000000000c5e6689c9c8b02be7c49912ef19e79cf24977f03", Symbol: "ALPA", CoinGeckoId: "alpaca", Decimals: 18, Price: 0.00808652},                                              // Addr: 0xc5e6689c9c8b02be7c49912ef19e79cf24977f03, Notional: 11.558934790269303
-		{Chain: 4, Addr: "000000000000000000000000c6f509274fcc1f485644167cb911fd0c61545e6c", Symbol: "OBS", CoinGeckoId: "obsidium", Decimals: 18, Price: 0.00253024},                                             // Addr: 0xc6f509274fcc1f485644167cb911fd0c61545e6c, Notional: 2.783264
-		{Chain: 4, Addr: "000000000000000000000000c703da39ae3b9db67c207c7bad8100e1afdc0f9c", Symbol: "FRGX", CoinGeckoId: "frgx-finance", Decimals: 18, Price: 0.00606459},                                        // Addr: 0xc703da39ae3b9db67c207c7bad8100e1afdc0f9c, Notional: 2594.1921363543015
-		{Chain: 4, Addr: "000000000000000000000000c71b5f631354be6853efe9c3ab6b9590f8302e81", Symbol: "ZK", CoinGeckoId: "polyhedra-network", Decimals: 18, Price: 0.175288},                                       // Addr: 0xc71b5f631354be6853efe9c3ab6b9590f8302e81, Notional: 22.479843593918083
+		{Chain: 4, Addr: "000000000000000000000000c27a719105a987b4c34116223cae8bd8f4b5def4", Symbol: "ACE", CoinGeckoId: "endurance", Decimals: 18, Price: 0.451059},                                              // Addr: 0xc27a719105a987b4c34116223cae8bd8f4b5def4, Notional: 969.9539133232148
+		{Chain: 4, Addr: "000000000000000000000000c335df7c25b72eec661d5aa32a7c2b7b2a1d1874", Symbol: "ICE", CoinGeckoId: "ice", Decimals: 18, Price: 0.00578547},                                                  // Addr: 0xc335df7c25b72eec661d5aa32a7c2b7b2a1d1874, Notional: 461833.9539433573
+		{Chain: 4, Addr: "000000000000000000000000c342774492b54ce5f8ac662113ed702fc1b34972", Symbol: "BGEO", CoinGeckoId: "geodb", Decimals: 18, Price: 0.00016611},                                               // Addr: 0xc342774492b54ce5f8ac662113ed702fc1b34972, Notional: 166.10999999999999
+		{Chain: 4, Addr: "000000000000000000000000c3d912863152e1afc935ad0d42d469e7c6b05b77", Symbol: "LUCKY", CoinGeckoId: "lucky-lion", Decimals: 18, Price: 0.00010771},                                         // Addr: 0xc3d912863152e1afc935ad0d42d469e7c6b05b77, Notional: 0.0030485596653049
+		{Chain: 4, Addr: "000000000000000000000000c49dde62b4a0810074721faca54aab52369f486a", Symbol: "PKR", CoinGeckoId: "polker", Decimals: 18, Price: 0.0011877},                                                // Addr: 0xc49dde62b4a0810074721faca54aab52369f486a, Notional: 0.9382830000000001
+		{Chain: 4, Addr: "000000000000000000000000c5326b32e8baef125acd68f8bc646fd646104f1c", Symbol: "ZAP", CoinGeckoId: "zap", Decimals: 18, Price: 0.00274389},                                                  // Addr: 0xc5326b32e8baef125acd68f8bc646fd646104f1c, Notional: 10021.123656862936
+		{Chain: 4, Addr: "000000000000000000000000c598275452fa319d75ee5f176fd3b8384925b425", Symbol: "STRM", CoinGeckoId: "streamcoin", Decimals: 18, Price: 0.00165233},                                          // Addr: 0xc598275452fa319d75ee5f176fd3b8384925b425, Notional: 0.00330466
+		{Chain: 4, Addr: "000000000000000000000000c5e6689c9c8b02be7c49912ef19e79cf24977f03", Symbol: "ALPA", CoinGeckoId: "alpaca", Decimals: 18, Price: 0.00829745},                                              // Addr: 0xc5e6689c9c8b02be7c49912ef19e79cf24977f03, Notional: 11.860439778238355
+		{Chain: 4, Addr: "000000000000000000000000c6f509274fcc1f485644167cb911fd0c61545e6c", Symbol: "OBS", CoinGeckoId: "obsidium", Decimals: 18, Price: 0.00252986},                                             // Addr: 0xc6f509274fcc1f485644167cb911fd0c61545e6c, Notional: 2.782846
+		{Chain: 4, Addr: "000000000000000000000000c703da39ae3b9db67c207c7bad8100e1afdc0f9c", Symbol: "FRGX", CoinGeckoId: "frgx-finance", Decimals: 18, Price: 0.00536251},                                        // Addr: 0xc703da39ae3b9db67c207c7bad8100e1afdc0f9c, Notional: 2303.6953859489763
+		{Chain: 4, Addr: "000000000000000000000000c71b5f631354be6853efe9c3ab6b9590f8302e81", Symbol: "ZK", CoinGeckoId: "polyhedra-network", Decimals: 18, Price: 0.126669},                                       // Addr: 0xc71b5f631354be6853efe9c3ab6b9590f8302e81, Notional: 16.244690499053043
 		{Chain: 4, Addr: "000000000000000000000000c732b6586a93b6b7cf5fed3470808bc74998224d", Symbol: "KMON", CoinGeckoId: "kryptomon", Decimals: 18, Price: 0.00001347},                                           // Addr: 0xc732b6586a93b6b7cf5fed3470808bc74998224d, Notional: 91.0362661592344
-		{Chain: 4, Addr: "000000000000000000000000c748673057861a797275cd8a068abb95a902e8de", Symbol: "BabyDoge", CoinGeckoId: "baby-doge-coin", Decimals: 9, Price: 1.272e-9},                                     // Addr: 0xc748673057861a797275cd8a068abb95a902e8de, Notional: 15.375722551590497
+		{Chain: 4, Addr: "000000000000000000000000c748673057861a797275cd8a068abb95a902e8de", Symbol: "BabyDoge", CoinGeckoId: "baby-doge-coin", Decimals: 9, Price: 1.217e-9},                                     // Addr: 0xc748673057861a797275cd8a068abb95a902e8de, Notional: 14.710891780884934
 		{Chain: 4, Addr: "000000000000000000000000c74cd0042c837ce59210857504ebb0859e06aa22", Symbol: "SAFUYIELD", CoinGeckoId: "safu-protocol", Decimals: 9, Price: 6.3761e-10},                                   // Addr: 0xc74cd0042c837ce59210857504ebb0859e06aa22, Notional: 0.0005794599680012433
-		{Chain: 4, Addr: "000000000000000000000000c864019047b864b6ab609a968ae2725dfaee808a", Symbol: "BIT", CoinGeckoId: "biconomy-exchange-token", Decimals: 9, Price: 0.00001121},                               // Addr: 0xc864019047b864b6ab609a968ae2725dfaee808a, Notional: 24275.537633670734
-		{Chain: 4, Addr: "000000000000000000000000c8a11f433512c16ed895245f34bcc2ca44eb06bd", Symbol: "KSN", CoinGeckoId: "kissan", Decimals: 18, Price: 0.057022},                                                 // Addr: 0xc8a11f433512c16ed895245f34bcc2ca44eb06bd, Notional: 213483.72453937703
-		{Chain: 4, Addr: "000000000000000000000000c94595b56e301f3ffedb8ccc2d672882d623e53a", Symbol: "ACY", CoinGeckoId: "acy-finance", Decimals: 18, Price: 0.00377277},                                          // Addr: 0xc94595b56e301f3ffedb8ccc2d672882d623e53a, Notional: 0.0377277
-		{Chain: 4, Addr: "000000000000000000000000c9ad37e9baf41377540df5a77831db98c1915128", Symbol: "GINUX", CoinGeckoId: "green-shiba-inu", Decimals: 18, Price: 2.5474e-8},                                     // Addr: 0xc9ad37e9baf41377540df5a77831db98c1915128, Notional: 11.64950493853165
-		{Chain: 4, Addr: "000000000000000000000000ca3f508b8e4dd382ee878a314789373d80a5190a", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 180.01},                                           // Addr: 0xca3f508b8e4dd382ee878a314789373d80a5190a, Notional: 2.1648596632999997
-		{Chain: 4, Addr: "000000000000000000000000ca830317146bfdde71e7c0b880e2ec1f66e273ee", Symbol: "GULL", CoinGeckoId: "polygod", Decimals: 18, Price: 0.00378121},                                             // Addr: 0xca830317146bfdde71e7c0b880e2ec1f66e273ee, Notional: 3.78121
-		{Chain: 4, Addr: "000000000000000000000000cafe001067cdef266afb7eb5a286dcfd277f3de5", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.02037316},                                             // Addr: 0xcafe001067cdef266afb7eb5a286dcfd277f3de5, Notional: 0.1460076467345772
-		{Chain: 4, Addr: "000000000000000000000000cbd9f6d748dd3d19416f8914528a65c7838e27d8", Symbol: "RGAME", CoinGeckoId: "r-games", Decimals: 18, Price: 0.0002556},                                             // Addr: 0xcbd9f6d748dd3d19416f8914528a65c7838e27d8, Notional: 0.041417273717424
-		{Chain: 4, Addr: "000000000000000000000000cc42724c6683b7e57334c4e856f4c9965ed682bd", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.268994},                                        // Addr: 0xcc42724c6683b7e57334c4e856f4c9965ed682bd, Notional: 1943.8032939750449
+		{Chain: 4, Addr: "000000000000000000000000c864019047b864b6ab609a968ae2725dfaee808a", Symbol: "BIT", CoinGeckoId: "biconomy-exchange-token", Decimals: 9, Price: 0.00000964},                               // Addr: 0xc864019047b864b6ab609a968ae2725dfaee808a, Notional: 20875.663049829247
+		{Chain: 4, Addr: "000000000000000000000000c8a11f433512c16ed895245f34bcc2ca44eb06bd", Symbol: "KSN", CoinGeckoId: "kissan", Decimals: 18, Price: 0.04975887},                                               // Addr: 0xc8a11f433512c16ed895245f34bcc2ca44eb06bd, Notional: 183408.62704790448
+		{Chain: 4, Addr: "000000000000000000000000c94595b56e301f3ffedb8ccc2d672882d623e53a", Symbol: "ACY", CoinGeckoId: "acy-finance", Decimals: 18, Price: 0.003897},                                            // Addr: 0xc94595b56e301f3ffedb8ccc2d672882d623e53a, Notional: 0.03897
+		{Chain: 4, Addr: "000000000000000000000000c9ad37e9baf41377540df5a77831db98c1915128", Symbol: "GINUX", CoinGeckoId: "green-shiba-inu", Decimals: 18, Price: 2.6282e-8},                                     // Addr: 0xc9ad37e9baf41377540df5a77831db98c1915128, Notional: 12.019011101298924
+		{Chain: 4, Addr: "000000000000000000000000ca3f508b8e4dd382ee878a314789373d80a5190a", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 169.86},                                           // Addr: 0xca3f508b8e4dd382ee878a314789373d80a5190a, Notional: 2.0427924138
+		{Chain: 4, Addr: "000000000000000000000000ca830317146bfdde71e7c0b880e2ec1f66e273ee", Symbol: "GULL", CoinGeckoId: "polygod", Decimals: 18, Price: 0.00436454},                                             // Addr: 0xca830317146bfdde71e7c0b880e2ec1f66e273ee, Notional: 4.36454
+		{Chain: 4, Addr: "000000000000000000000000cafe001067cdef266afb7eb5a286dcfd277f3de5", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.01412233},                                             // Addr: 0xcafe001067cdef266afb7eb5a286dcfd277f3de5, Notional: 0.1012100317137411
+		{Chain: 4, Addr: "000000000000000000000000cbd9f6d748dd3d19416f8914528a65c7838e27d8", Symbol: "RGAME", CoinGeckoId: "r-games", Decimals: 18, Price: 0.00016821},                                            // Addr: 0xcbd9f6d748dd3d19416f8914528a65c7838e27d8, Notional: 0.0272566494992484
+		{Chain: 4, Addr: "000000000000000000000000cc42724c6683b7e57334c4e856f4c9965ed682bd", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.224134},                                        // Addr: 0xcc42724c6683b7e57334c4e856f4c9965ed682bd, Notional: 1619.63615356403
 		{Chain: 4, Addr: "000000000000000000000000ce355300b9d7909f577640a3fb179cf911a23fbb", Symbol: "PPP", CoinGeckoId: "playposeidon-nft", Decimals: 18, Price: 0.00027263},                                     // Addr: 0xce355300b9d7909f577640a3fb179cf911a23fbb, Notional: 2.7263
-		{Chain: 4, Addr: "000000000000000000000000ce7de646e7208a4ef112cb6ed5038fa6cc6b12e3", Symbol: "TRX", CoinGeckoId: "tron-bsc", Decimals: 6, Price: 0.336596},                                                // Addr: 0xce7de646e7208a4ef112cb6ed5038fa6cc6b12e3, Notional: 410424.05621547584
-		{Chain: 4, Addr: "000000000000000000000000d06716e1ff2e492cc5034c2e81805562dd3b45fa", Symbol: "MGP", CoinGeckoId: "magpie", Decimals: 18, Price: 0.03073685},                                               // Addr: 0xd06716e1ff2e492cc5034c2e81805562dd3b45fa, Notional: 3706239.9504943425
+		{Chain: 4, Addr: "000000000000000000000000ce7de646e7208a4ef112cb6ed5038fa6cc6b12e3", Symbol: "TRX", CoinGeckoId: "tron-bsc", Decimals: 6, Price: 0.33418},                                                 // Addr: 0xce7de646e7208a4ef112cb6ed5038fa6cc6b12e3, Notional: 278712.5492271967
+		{Chain: 4, Addr: "000000000000000000000000d06716e1ff2e492cc5034c2e81805562dd3b45fa", Symbol: "MGP", CoinGeckoId: "magpie", Decimals: 18, Price: 0.02198086},                                               // Addr: 0xd06716e1ff2e492cc5034c2e81805562dd3b45fa, Notional: 2679652.9317083545
 		{Chain: 4, Addr: "000000000000000000000000d069599e718f963bd84502b49ba8f8657faf5b3a", Symbol: "PLAY", CoinGeckoId: "xcad-network-play", Decimals: 18, Price: 0.00022962},                                   // Addr: 0xd069599e718f963bd84502b49ba8f8657faf5b3a, Notional: 575.783441817958
-		{Chain: 4, Addr: "000000000000000000000000d17479997f34dd9156deef8f95a52d81d265be9c", Symbol: "USDD", CoinGeckoId: "usdd", Decimals: 18, Price: 0.999852},                                                  // Addr: 0xd17479997f34dd9156deef8f95a52d81d265be9c, Notional: 0.004038142266479999
-		{Chain: 4, Addr: "000000000000000000000000d32d01a43c869edcd1117c640fbdcfcfd97d9d65", Symbol: "NMX", CoinGeckoId: "nominex", Decimals: 18, Price: 0.00270963},                                              // Addr: 0xd32d01a43c869edcd1117c640fbdcfcfd97d9d65, Notional: 0.005407213662427501
-		{Chain: 4, Addr: "000000000000000000000000d3b71117e6c1558c1553305b44988cd944e97300", Symbol: "YEL", CoinGeckoId: "yel-finance", Decimals: 18, Price: 0.00065181},                                          // Addr: 0xd3b71117e6c1558c1553305b44988cd944e97300, Notional: 0.030900085321496996
-		{Chain: 4, Addr: "000000000000000000000000d691d9a68c887bdf34da8c36f63487333acfd103", Symbol: "MAV", CoinGeckoId: "maverick-protocol", Decimals: 18, Price: 0.065003},                                      // Addr: 0xd691d9a68c887bdf34da8c36f63487333acfd103, Notional: 0.81274661920121
-		{Chain: 4, Addr: "000000000000000000000000d74b782e05aa25c50e7330af541d46e18f36661c", Symbol: "QUACK", CoinGeckoId: "richquack", Decimals: 9, Price: 3.2274e-10},                                           // Addr: 0xd74b782e05aa25c50e7330af541d46e18f36661c, Notional: 39.168592210324526
+		{Chain: 4, Addr: "000000000000000000000000d17479997f34dd9156deef8f95a52d81d265be9c", Symbol: "USDD", CoinGeckoId: "usdd", Decimals: 18, Price: 1},                                                         // Addr: 0xd17479997f34dd9156deef8f95a52d81d265be9c, Notional: 0.00403874
+		{Chain: 4, Addr: "000000000000000000000000d32d01a43c869edcd1117c640fbdcfcfd97d9d65", Symbol: "NMX", CoinGeckoId: "nominex", Decimals: 18, Price: 0.00272639},                                              // Addr: 0xd32d01a43c869edcd1117c640fbdcfcfd97d9d65, Notional: 0.0054406591516575
+		{Chain: 4, Addr: "000000000000000000000000d3b71117e6c1558c1553305b44988cd944e97300", Symbol: "YEL", CoinGeckoId: "yel-finance", Decimals: 18, Price: 0.00050124},                                          // Addr: 0xd3b71117e6c1558c1553305b44988cd944e97300, Notional: 0.023762076013788
+		{Chain: 4, Addr: "000000000000000000000000d691d9a68c887bdf34da8c36f63487333acfd103", Symbol: "MAV", CoinGeckoId: "maverick-protocol", Decimals: 18, Price: 0.058349},                                      // Addr: 0xd691d9a68c887bdf34da8c36f63487333acfd103, Notional: 0.7295502128174299
+		{Chain: 4, Addr: "000000000000000000000000d74b782e05aa25c50e7330af541d46e18f36661c", Symbol: "QUACK", CoinGeckoId: "richquack", Decimals: 9, Price: 3.46069e-10},                                          // Addr: 0xd74b782e05aa25c50e7330af541d46e18f36661c, Notional: 41.99986223472393
 		{Chain: 4, Addr: "000000000000000000000000d9907fcda91ac644f70477b8fc1607ad15b2d7a8", Symbol: "multiBTC", CoinGeckoId: "multibtc", Decimals: 8, Price: 1586.64},                                            // Addr: 0xd9907fcda91ac644f70477b8fc1607ad15b2d7a8, Notional: 0.031732800000000005
-		{Chain: 4, Addr: "000000000000000000000000dd325c38b12903b727d16961e61333f4871a70e0", Symbol: "TRUNK", CoinGeckoId: "elephant-money-trunk", Decimals: 18, Price: 0.04213098},                               // Addr: 0xdd325c38b12903b727d16961e61333f4871a70e0, Notional: 1254265.8731328028
+		{Chain: 4, Addr: "000000000000000000000000dd325c38b12903b727d16961e61333f4871a70e0", Symbol: "TRUNK", CoinGeckoId: "elephant-money-trunk", Decimals: 18, Price: 0.04462373},                               // Addr: 0xdd325c38b12903b727d16961e61333f4871a70e0, Notional: 1329549.992023996
 		{Chain: 4, Addr: "000000000000000000000000de7d1ce109236b12809c45b23d22f30dba0ef424", Symbol: "USDS", CoinGeckoId: "spiceusd", Decimals: 18, Price: 0.01576365},                                            // Addr: 0xde7d1ce109236b12809c45b23d22f30dba0ef424, Notional: 0.01576365
-		{Chain: 4, Addr: "000000000000000000000000e2604c9561d490624aa35e156e65e590eb749519", Symbol: "GM", CoinGeckoId: "goldminer", Decimals: 18, Price: 3.12293e-7},                                             // Addr: 0xe2604c9561d490624aa35e156e65e590eb749519, Notional: 16.791632392399375
-		{Chain: 4, Addr: "000000000000000000000000e29142e14e52bdfbb8108076f66f49661f10ec10", Symbol: "SEILOR", CoinGeckoId: "kryptonite", Decimals: 18, Price: 0.00056637},                                        // Addr: 0xe29142e14e52bdfbb8108076f66f49661f10ec10, Notional: 567.887013993705
-		{Chain: 4, Addr: "000000000000000000000000e2e7329499e8ddb1f2b04ee4b35a8d7f6881e4ea", Symbol: "$ANRX", CoinGeckoId: "anrkey-x", Decimals: 18, Price: 0.00009523},                                           // Addr: 0xe2e7329499e8ddb1f2b04ee4b35a8d7f6881e4ea, Notional: 23.8552092777
-		{Chain: 4, Addr: "000000000000000000000000e4ca1f75eca6214393fce1c1b316c237664eaa8e", Symbol: "ORN", CoinGeckoId: "orion-protocol", Decimals: 8, Price: 0.330666},                                          // Addr: 0xe4ca1f75eca6214393fce1c1b316c237664eaa8e, Notional: 182.8811732027339
-		{Chain: 4, Addr: "000000000000000000000000e4cc45bb5dbda06db6183e8bf016569f40497aa5", Symbol: "GAL", CoinGeckoId: "project-galaxy", Decimals: 18, Price: 0.657038},                                         // Addr: 0xe4cc45bb5dbda06db6183e8bf016569f40497aa5, Notional: 6.526358454
-		{Chain: 4, Addr: "000000000000000000000000e4e11e02aa14c7f24db749421986eaec1369e8c9", Symbol: "MNTC", CoinGeckoId: "minativerse", Decimals: 18, Price: 0.398282},                                           // Addr: 0xe4e11e02aa14c7f24db749421986eaec1369e8c9, Notional: 0.80054682
-		{Chain: 4, Addr: "000000000000000000000000e4fae3faa8300810c835970b9187c268f55d998f", Symbol: "CATE", CoinGeckoId: "catecoin", Decimals: 9, Price: 1.93198e-7},                                             // Addr: 0xe4fae3faa8300810c835970b9187c268f55d998f, Notional: 0.0013037441191102405
-		{Chain: 4, Addr: "000000000000000000000000e552fb52a4f19e44ef5a967632dbc320b0820639", Symbol: "Metis", CoinGeckoId: "metis-token", Decimals: 18, Price: 15.35},                                             // Addr: 0xe552fb52a4f19e44ef5a967632dbc320b0820639, Notional: 129935.62057478049
-		{Chain: 4, Addr: "000000000000000000000000e60eaf5a997dfae83739e035b005a33afdcc6df5", Symbol: "DERI", CoinGeckoId: "deri-protocol", Decimals: 18, Price: 0.00615834},                                       // Addr: 0xe60eaf5a997dfae83739e035b005a33afdcc6df5, Notional: 0.00307917
-		{Chain: 4, Addr: "000000000000000000000000e7c9c6bc87b86f9e5b57072f907ee6460b593924", Symbol: "TOWER", CoinGeckoId: "tower", Decimals: 18, Price: 0.00159683},                                              // Addr: 0xe7c9c6bc87b86f9e5b57072f907ee6460b593924, Notional: 2.4048682072272203
-		{Chain: 4, Addr: "000000000000000000000000e8670901e86818745b28c8b30b17986958fce8cc", Symbol: "XCT", CoinGeckoId: "citadel-one", Decimals: 6, Price: 0.0003381},                                            // Addr: 0xe8670901e86818745b28c8b30b17986958fce8cc, Notional: 0.0003381
-		{Chain: 4, Addr: "000000000000000000000000e9c803f48dffe50180bd5b01dc04da939e3445fc", Symbol: "VLX", CoinGeckoId: "velas", Decimals: 18, Price: 0.0044112},                                                 // Addr: 0xe9c803f48dffe50180bd5b01dc04da939e3445fc, Notional: 45.77159586466737
-		{Chain: 4, Addr: "000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 0.999036},                                           // Addr: 0xe9e7cea3dedca5984780bafc599bd69add087d56, Notional: 104237.68589428284
-		{Chain: 4, Addr: "000000000000000000000000ebbaeff6217d22e7744394061d874015709b8141", Symbol: "WAM", CoinGeckoId: "wam", Decimals: 18, Price: 0.00102592},                                                  // Addr: 0xebbaeff6217d22e7744394061d874015709b8141, Notional: 21183.413910443298
-		{Chain: 4, Addr: "000000000000000000000000eca41281c24451168a37211f0bc2b8645af45092", Symbol: "TPT", CoinGeckoId: "token-pocket", Decimals: 4, Price: 0.01600066},                                          // Addr: 0xeca41281c24451168a37211f0bc2b8645af45092, Notional: 3.200132
-		{Chain: 4, Addr: "000000000000000000000000ed28a457a5a76596ac48d87c0f577020f6ea1c4c", Symbol: "pBTC", CoinGeckoId: "ptokens-btc", Decimals: 18, Price: 226.27},                                             // Addr: 0xed28a457a5a76596ac48d87c0f577020f6ea1c4c, Notional: 0.045269838900000005
-		{Chain: 4, Addr: "000000000000000000000000f16e81dce15b08f326220742020379b855b87df9", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.0232545},                                             // Addr: 0xf16e81dce15b08f326220742020379b855b87df9, Notional: 0.13916403027639
-		{Chain: 4, Addr: "000000000000000000000000f21768ccbc73ea5b6fd3c687208a7c2def2d966e", Symbol: "REEF", CoinGeckoId: "reef", Decimals: 18, Price: 0.00029689},                                                // Addr: 0xf21768ccbc73ea5b6fd3c687208a7c2def2d966e, Notional: 117.9705259579755
-		{Chain: 4, Addr: "000000000000000000000000f218184af829cf2b0019f8e6f0b2423498a36983", Symbol: "MATH", CoinGeckoId: "math", Decimals: 18, Price: 0.096465},                                                  // Addr: 0xf218184af829cf2b0019f8e6f0b2423498a36983, Notional: 87.69567991558169
+		{Chain: 4, Addr: "000000000000000000000000e2604c9561d490624aa35e156e65e590eb749519", Symbol: "GM", CoinGeckoId: "goldminer", Decimals: 18, Price: 3.52342e-7},                                             // Addr: 0xe2604c9561d490624aa35e156e65e590eb749519, Notional: 18.945020670981357
+		{Chain: 4, Addr: "000000000000000000000000e29142e14e52bdfbb8108076f66f49661f10ec10", Symbol: "SEILOR", CoinGeckoId: "kryptonite", Decimals: 18, Price: 0.00058031},                                        // Addr: 0xe29142e14e52bdfbb8108076f66f49661f10ec10, Notional: 581.8643520855394
+		{Chain: 4, Addr: "000000000000000000000000e2e7329499e8ddb1f2b04ee4b35a8d7f6881e4ea", Symbol: "$ANRX", CoinGeckoId: "anrkey-x", Decimals: 18, Price: 0.00008957},                                           // Addr: 0xe2e7329499e8ddb1f2b04ee4b35a8d7f6881e4ea, Notional: 22.437373674299998
+		{Chain: 4, Addr: "000000000000000000000000e4ca1f75eca6214393fce1c1b316c237664eaa8e", Symbol: "ORN", CoinGeckoId: "orion-protocol", Decimals: 8, Price: 0.279965},                                          // Addr: 0xe4ca1f75eca6214393fce1c1b316c237664eaa8e, Notional: 154.8400127491287
+		{Chain: 4, Addr: "000000000000000000000000e4cc45bb5dbda06db6183e8bf016569f40497aa5", Symbol: "GAL", CoinGeckoId: "project-galaxy", Decimals: 18, Price: 0.679295},                                         // Addr: 0xe4cc45bb5dbda06db6183e8bf016569f40497aa5, Notional: 6.747437235
+		{Chain: 4, Addr: "000000000000000000000000e4e11e02aa14c7f24db749421986eaec1369e8c9", Symbol: "MNTC", CoinGeckoId: "minativerse", Decimals: 18, Price: 0.364446},                                           // Addr: 0xe4e11e02aa14c7f24db749421986eaec1369e8c9, Notional: 0.73253646
+		{Chain: 4, Addr: "000000000000000000000000e4fae3faa8300810c835970b9187c268f55d998f", Symbol: "CATE", CoinGeckoId: "catecoin", Decimals: 9, Price: 1.3874e-7},                                              // Addr: 0xe4fae3faa8300810c835970b9187c268f55d998f, Notional: 0.0009362491282795617
+		{Chain: 4, Addr: "000000000000000000000000e552fb52a4f19e44ef5a967632dbc320b0820639", Symbol: "Metis", CoinGeckoId: "metis-token", Decimals: 18, Price: 13.18},                                             // Addr: 0xe552fb52a4f19e44ef5a967632dbc320b0820639, Notional: 111566.87160753139
+		{Chain: 4, Addr: "000000000000000000000000e60eaf5a997dfae83739e035b005a33afdcc6df5", Symbol: "DERI", CoinGeckoId: "deri-protocol", Decimals: 18, Price: 0.00815723},                                       // Addr: 0xe60eaf5a997dfae83739e035b005a33afdcc6df5, Notional: 0.004078615
+		{Chain: 4, Addr: "000000000000000000000000e7c9c6bc87b86f9e5b57072f907ee6460b593924", Symbol: "TOWER", CoinGeckoId: "tower", Decimals: 18, Price: 0.0012147},                                               // Addr: 0xe7c9c6bc87b86f9e5b57072f907ee6460b593924, Notional: 1.829370322024827
+		{Chain: 4, Addr: "000000000000000000000000e8670901e86818745b28c8b30b17986958fce8cc", Symbol: "XCT", CoinGeckoId: "citadel-one", Decimals: 6, Price: 0.000336},                                             // Addr: 0xe8670901e86818745b28c8b30b17986958fce8cc, Notional: 0.000336
+		{Chain: 4, Addr: "000000000000000000000000e9c803f48dffe50180bd5b01dc04da939e3445fc", Symbol: "VLX", CoinGeckoId: "velas", Decimals: 18, Price: 0.00439231},                                                // Addr: 0xe9c803f48dffe50180bd5b01dc04da939e3445fc, Notional: 45.57558900805612
+		{Chain: 4, Addr: "000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 1},                                                  // Addr: 0xe9e7cea3dedca5984780bafc599bd69add087d56, Notional: 100960.22607504
+		{Chain: 4, Addr: "000000000000000000000000ebbaeff6217d22e7744394061d874015709b8141", Symbol: "WAM", CoinGeckoId: "wam", Decimals: 18, Price: 0.00160026},                                                  // Addr: 0xebbaeff6217d22e7744394061d874015709b8141, Notional: 33466.557065203095
+		{Chain: 4, Addr: "000000000000000000000000eca41281c24451168a37211f0bc2b8645af45092", Symbol: "TPT", CoinGeckoId: "token-pocket", Decimals: 4, Price: 0.01717659},                                          // Addr: 0xeca41281c24451168a37211f0bc2b8645af45092, Notional: 3.4353179999999996
+		{Chain: 4, Addr: "000000000000000000000000ed28a457a5a76596ac48d87c0f577020f6ea1c4c", Symbol: "pBTC", CoinGeckoId: "ptokens-btc", Decimals: 18, Price: 253.43},                                             // Addr: 0xed28a457a5a76596ac48d87c0f577020f6ea1c4c, Notional: 0.0507037401
+		{Chain: 4, Addr: "000000000000000000000000f16e81dce15b08f326220742020379b855b87df9", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.215773},                                              // Addr: 0xf16e81dce15b08f326220742020379b855b87df9, Notional: 1.29127008986766
+		{Chain: 4, Addr: "000000000000000000000000f21768ccbc73ea5b6fd3c687208a7c2def2d966e", Symbol: "REEF", CoinGeckoId: "reef", Decimals: 18, Price: 0.00028882},                                                // Addr: 0xf21768ccbc73ea5b6fd3c687208a7c2def2d966e, Notional: 114.76387654411562
+		{Chain: 4, Addr: "000000000000000000000000f218184af829cf2b0019f8e6f0b2423498a36983", Symbol: "MATH", CoinGeckoId: "math", Decimals: 18, Price: 0.081747},                                                  // Addr: 0xf218184af829cf2b0019f8e6f0b2423498a36983, Notional: 74.31564553007885
 		{Chain: 4, Addr: "000000000000000000000000f2c9c8e016a511eb0bf4823e340c3567d6de1390", Symbol: "LAIKA", CoinGeckoId: "laikaverse", Decimals: 18, Price: 0.00000686},                                         // Addr: 0xf2c9c8e016a511eb0bf4823e340c3567d6de1390, Notional: 6.86e-14
-		{Chain: 4, Addr: "000000000000000000000000f486ad071f3bee968384d2e39e2d8af0fcf6fd46", Symbol: "VELO", CoinGeckoId: "velo", Decimals: 18, Price: 0.01430233},                                                // Addr: 0xf486ad071f3bee968384d2e39e2d8af0fcf6fd46, Notional: 71.1275134441144
-		{Chain: 4, Addr: "000000000000000000000000f585b5b4f22816baf7629aea55b701662630397b", Symbol: "VOW", CoinGeckoId: "vow", Decimals: 18, Price: 0.053217},                                                    // Addr: 0xf585b5b4f22816baf7629aea55b701662630397b, Notional: 2.90267208610596
-		{Chain: 4, Addr: "000000000000000000000000f64ed9ad397a1ae657f31131d4b189220a7f1cc7", Symbol: "DFIAT", CoinGeckoId: "defiato", Decimals: 18, Price: 0.00093782},                                            // Addr: 0xf64ed9ad397a1ae657f31131d4b189220a7f1cc7, Notional: 0.430131143
-		{Chain: 4, Addr: "000000000000000000000000f7844cb890f4c339c497aeab599abdc3c874b67a", Symbol: "NFTART", CoinGeckoId: "nft-art-finance", Decimals: 9, Price: 1.0792e-11},                                    // Addr: 0xf7844cb890f4c339c497aeab599abdc3c874b67a, Notional: 6.8966853372e-12
-		{Chain: 4, Addr: "000000000000000000000000f7de7e8a6bd59ed41a4b5fe50278b3b7f31384df", Symbol: "RDNT", CoinGeckoId: "radiant-capital", Decimals: 18, Price: 0.02110427},                                     // Addr: 0xf7de7e8a6bd59ed41a4b5fe50278b3b7f31384df, Notional: 2.2763750179095563
-		{Chain: 4, Addr: "000000000000000000000000f8a0bf9cf54bb92f17374d9e9a321e6a111a51bd", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                                // Addr: 0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd, Notional: 249.91112425890003
-		{Chain: 4, Addr: "000000000000000000000000f915fdda4c882731c0456a4214548cd13a822886", Symbol: "UNV", CoinGeckoId: "unvest", Decimals: 18, Price: 0.00086983},                                               // Addr: 0xf915fdda4c882731c0456a4214548cd13a822886, Notional: 10.143957460000001
+		{Chain: 4, Addr: "000000000000000000000000f486ad071f3bee968384d2e39e2d8af0fcf6fd46", Symbol: "VELO", CoinGeckoId: "velo", Decimals: 18, Price: 0.01319003},                                                // Addr: 0xf486ad071f3bee968384d2e39e2d8af0fcf6fd46, Notional: 65.5958879534504
+		{Chain: 4, Addr: "000000000000000000000000f585b5b4f22816baf7629aea55b701662630397b", Symbol: "VOW", CoinGeckoId: "vow", Decimals: 18, Price: 0.04918717},                                                  // Addr: 0xf585b5b4f22816baf7629aea55b701662630397b, Notional: 2.6828687328024596
+		{Chain: 4, Addr: "000000000000000000000000f64ed9ad397a1ae657f31131d4b189220a7f1cc7", Symbol: "DFIAT", CoinGeckoId: "defiato", Decimals: 18, Price: 0.00100109},                                            // Addr: 0xf64ed9ad397a1ae657f31131d4b189220a7f1cc7, Notional: 0.4591499285
+		{Chain: 4, Addr: "000000000000000000000000f7844cb890f4c339c497aeab599abdc3c874b67a", Symbol: "NFTART", CoinGeckoId: "nft-art-finance", Decimals: 9, Price: 1.0883e-11},                                    // Addr: 0xf7844cb890f4c339c497aeab599abdc3c874b67a, Notional: 6.95483937405e-12
+		{Chain: 4, Addr: "000000000000000000000000f7de7e8a6bd59ed41a4b5fe50278b3b7f31384df", Symbol: "RDNT", CoinGeckoId: "radiant-capital", Decimals: 18, Price: 0.01921442},                                     // Addr: 0xf7de7e8a6bd59ed41a4b5fe50278b3b7f31384df, Notional: 2.07252966682201
+		{Chain: 4, Addr: "000000000000000000000000f8a0bf9cf54bb92f17374d9e9a321e6a111a51bd", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                                // Addr: 0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd, Notional: 231.44746014589998
+		{Chain: 4, Addr: "000000000000000000000000f915fdda4c882731c0456a4214548cd13a822886", Symbol: "UNV", CoinGeckoId: "unvest", Decimals: 18, Price: 0.00075188},                                               // Addr: 0xf915fdda4c882731c0456a4214548cd13a822886, Notional: 8.76842456
 		{Chain: 4, Addr: "000000000000000000000000f92d62ed69242d655e685c96b98f32f1409c3262", Symbol: "A4M", CoinGeckoId: "alienform", Decimals: 9, Price: 0.00001377},                                             // Addr: 0xf92d62ed69242d655e685c96b98f32f1409c3262, Notional: 0.5534327706163263
-		{Chain: 4, Addr: "000000000000000000000000f952fc3ca7325cc27d15885d37117676d25bfda6", Symbol: "EGG", CoinGeckoId: "goose-finance", Decimals: 18, Price: 0.00766718},                                        // Addr: 0xf952fc3ca7325cc27d15885d37117676d25bfda6, Notional: 0.1533436
-		{Chain: 4, Addr: "000000000000000000000000fa40d8fc324bcdd6bbae0e086de886c571c225d4", Symbol: "WZRD", CoinGeckoId: "wizardia", Decimals: 18, Price: 0.00044012},                                            // Addr: 0xfa40d8fc324bcdd6bbae0e086de886c571c225d4, Notional: 1347.5998559069333
-		{Chain: 4, Addr: "000000000000000000000000fafd4cb703b25cb22f43d017e7e0d75febc26743", Symbol: "WEYU", CoinGeckoId: "weyu", Decimals: 18, Price: 0.00005564},                                                // Addr: 0xfafd4cb703b25cb22f43d017e7e0d75febc26743, Notional: 211365.8863699559
-		{Chain: 4, Addr: "000000000000000000000000fb288d60d3b66f9c3e231a9a39ed3f158a4269aa", Symbol: "PPAY", CoinGeckoId: "plasma-finance", Decimals: 18, Price: 0.0001838},                                       // Addr: 0xfb288d60d3b66f9c3e231a9a39ed3f158a4269aa, Notional: 0.00947395450395
-		{Chain: 4, Addr: "000000000000000000000000fb5b838b6cfeedc2873ab27866079ac55363d37e", Symbol: "FLOKI", CoinGeckoId: "floki", Decimals: 9, Price: 0.00009557},                                               // Addr: 0xfb5b838b6cfeedc2873ab27866079ac55363d37e, Notional: 358.7866115932097
-		{Chain: 4, Addr: "000000000000000000000000fb6115445bff7b52feb98650c87f44907e58f802", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 298.03},                                                    // Addr: 0xfb6115445bff7b52feb98650c87f44907e58f802, Notional: 194.76940008399998
-		{Chain: 4, Addr: "000000000000000000000000fb9c339b4bace4fe63ccc1dd9a3c3c531441d5fe", Symbol: "SHILL", CoinGeckoId: "shill-token", Decimals: 18, Price: 0.00020126},                                        // Addr: 0xfb9c339b4bace4fe63ccc1dd9a3c3c531441d5fe, Notional: 1.1724722685814688
-		{Chain: 4, Addr: "000000000000000000000000fbc4f3f645c4003a2e4f4e9b51077d2daa9a9341", Symbol: "ZEDXION", CoinGeckoId: "zedxion", Decimals: 18, Price: 0.496671},                                            // Addr: 0xfbc4f3f645c4003a2e4f4e9b51077d2daa9a9341, Notional: 143891.03916034728
-		{Chain: 4, Addr: "000000000000000000000000fce146bf3146100cfe5db4129cf6c82b0ef4ad8c", Symbol: "renBTC", CoinGeckoId: "renbtc", Decimals: 8, Price: 13707.77},                                               // Addr: 0xfce146bf3146100cfe5db4129cf6c82b0ef4ad8c, Notional: 11.1182351693
-		{Chain: 4, Addr: "000000000000000000000000fd7b3a77848f1c2d67e05e54d78d174a0c850335", Symbol: "ONT", CoinGeckoId: "binance-peg-ontology", Decimals: 18, Price: 0.140379},                                   // Addr: 0xfd7b3a77848f1c2d67e05e54d78d174a0c850335, Notional: 0.0140379
+		{Chain: 4, Addr: "000000000000000000000000f952fc3ca7325cc27d15885d37117676d25bfda6", Symbol: "EGG", CoinGeckoId: "goose-finance", Decimals: 18, Price: 0.00789211},                                        // Addr: 0xf952fc3ca7325cc27d15885d37117676d25bfda6, Notional: 0.15784220000000002
+		{Chain: 4, Addr: "000000000000000000000000fa40d8fc324bcdd6bbae0e086de886c571c225d4", Symbol: "WZRD", CoinGeckoId: "wizardia", Decimals: 18, Price: 0.00043977},                                            // Addr: 0xfa40d8fc324bcdd6bbae0e086de886c571c225d4, Notional: 1346.5281937475963
+		{Chain: 4, Addr: "000000000000000000000000fafd4cb703b25cb22f43d017e7e0d75febc26743", Symbol: "WEYU", CoinGeckoId: "weyu", Decimals: 18, Price: 0.00006514},                                                // Addr: 0xfafd4cb703b25cb22f43d017e7e0d75febc26743, Notional: 247416.61801000967
+		{Chain: 4, Addr: "000000000000000000000000fb288d60d3b66f9c3e231a9a39ed3f158a4269aa", Symbol: "PPAY", CoinGeckoId: "plasma-finance", Decimals: 18, Price: 0.00031642},                                      // Addr: 0xfb288d60d3b66f9c3e231a9a39ed3f158a4269aa, Notional: 0.016309840501305
+		{Chain: 4, Addr: "000000000000000000000000fb5b838b6cfeedc2873ab27866079ac55363d37e", Symbol: "FLOKI", CoinGeckoId: "floki", Decimals: 9, Price: 0.00008128},                                               // Addr: 0xfb5b838b6cfeedc2873ab27866079ac55363d37e, Notional: 306.07844727590214
+		{Chain: 4, Addr: "000000000000000000000000fb6115445bff7b52feb98650c87f44907e58f802", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 274.44},                                                    // Addr: 0xfb6115445bff7b52feb98650c87f44907e58f802, Notional: 179.352797232
+		{Chain: 4, Addr: "000000000000000000000000fb9c339b4bace4fe63ccc1dd9a3c3c531441d5fe", Symbol: "SHILL", CoinGeckoId: "shill-token", Decimals: 18, Price: 0.00025249},                                        // Addr: 0xfb9c339b4bace4fe63ccc1dd9a3c3c531441d5fe, Notional: 1.4709208143403312
+		{Chain: 4, Addr: "000000000000000000000000fbc4f3f645c4003a2e4f4e9b51077d2daa9a9341", Symbol: "ZEDXION", CoinGeckoId: "zedxion", Decimals: 18, Price: 0.507761},                                            // Addr: 0xfbc4f3f645c4003a2e4f4e9b51077d2daa9a9341, Notional: 147103.9338618464
+		{Chain: 4, Addr: "000000000000000000000000fce146bf3146100cfe5db4129cf6c82b0ef4ad8c", Symbol: "renBTC", CoinGeckoId: "renbtc", Decimals: 8, Price: 9473.33},                                                // Addr: 0xfce146bf3146100cfe5db4129cf6c82b0ef4ad8c, Notional: 7.6837232297
+		{Chain: 4, Addr: "000000000000000000000000fd7b3a77848f1c2d67e05e54d78d174a0c850335", Symbol: "ONT", CoinGeckoId: "binance-peg-ontology", Decimals: 18, Price: 0.115426},                                   // Addr: 0xfd7b3a77848f1c2d67e05e54d78d174a0c850335, Notional: 0.0115426
 		{Chain: 4, Addr: "000000000000000000000000fdfd27ae39cebefdbaac8615f18aa68ddd0f15f5", Symbol: "GHD", CoinGeckoId: "giftedhands", Decimals: 18, Price: 0.00000397},                                          // Addr: 0xfdfd27ae39cebefdbaac8615f18aa68ddd0f15f5, Notional: 0.00039303
-		{Chain: 4, Addr: "000000000000000000000000fe19f0b51438fd612f6fd59c1dbb3ea319f433ba", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                   // Addr: 0xfe19f0b51438fd612f6fd59c1dbb3ea319f433ba, Notional: 1005.3326821246059
-		{Chain: 4, Addr: "000000000000000000000000fe56d5892bdffc7bf58f2e84be1b2c32d21c308b", Symbol: "KNC", CoinGeckoId: "kyber-network-crystal", Decimals: 18, Price: 0.37426},                                   // Addr: 0xfe56d5892bdffc7bf58f2e84be1b2c32d21c308b, Notional: 1.5197405943386
-		{Chain: 4, Addr: "000000000000000000000000ffba7529ac181c2ee1844548e6d7061c9a597df4", Symbol: "CAPS", CoinGeckoId: "coin-capsule", Decimals: 18, Price: 0.00135577},                                        // Addr: 0xffba7529ac181c2ee1844548e6d7061c9a597df4, Notional: 0.020336550000000002
+		{Chain: 4, Addr: "000000000000000000000000fe19f0b51438fd612f6fd59c1dbb3ea319f433ba", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                          // Addr: 0xfe19f0b51438fd612f6fd59c1dbb3ea319f433ba, Notional: 1005.4543421
+		{Chain: 4, Addr: "000000000000000000000000fe56d5892bdffc7bf58f2e84be1b2c32d21c308b", Symbol: "KNC", CoinGeckoId: "kyber-network-crystal", Decimals: 18, Price: 0.325507},                                  // Addr: 0xfe56d5892bdffc7bf58f2e84be1b2c32d21c308b, Notional: 1.32177150013727
+		{Chain: 4, Addr: "000000000000000000000000ffba7529ac181c2ee1844548e6d7061c9a597df4", Symbol: "CAPS", CoinGeckoId: "coin-capsule", Decimals: 18, Price: 0.00118699},                                        // Addr: 0xffba7529ac181c2ee1844548e6d7061c9a597df4, Notional: 0.01780485
 		{Chain: 5, Addr: "000000000000000000000000011734f6ed20e8d011d85cf7894814b897420acf", Symbol: "ACRE", CoinGeckoId: "arable-protocol", Decimals: 18, Price: 0.00002123},                                     // Addr: 0x011734f6ed20e8d011d85cf7894814b897420acf, Notional: 0.0007403783422826999
-		{Chain: 5, Addr: "0000000000000000000000000308a3a9c433256ad7ef24dbef9c49c8cb01300a", Symbol: "GPO", CoinGeckoId: "goldpesa-option", Decimals: 18, Price: 0.999902},                                        // Addr: 0x0308a3a9c433256ad7ef24dbef9c49c8cb01300a, Notional: 34.308137473
-		{Chain: 5, Addr: "000000000000000000000000039d2e8f097331278bd6c1415d839310e0d5ece4", Symbol: "LINDA", CoinGeckoId: "linda-2", Decimals: 18, Price: 0.00000545},                                            // Addr: 0x039d2e8f097331278bd6c1415d839310e0d5ece4, Notional: 6.181750500149925
-		{Chain: 5, Addr: "00000000000000000000000003b54a6e9a984069379fae1a4fc4dbae93b3bccd", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5206.93},                                        // Addr: 0x03b54a6e9a984069379fae1a4fc4dbae93b3bccd, Notional: 28.0842017866
-		{Chain: 5, Addr: "00000000000000000000000004429fbb948bbd09327763214b45e505a5293346", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 18, Price: 0.073767},                                              // Addr: 0x04429fbb948bbd09327763214b45e505a5293346, Notional: 26.961541728719972
-		{Chain: 5, Addr: "00000000000000000000000008e175a1eac9744a0f1ccaeb8f669af6a2bda3ce", Symbol: "E8", CoinGeckoId: "energy8", Decimals: 9, Price: 5.315e-9},                                                  // Addr: 0x08e175a1eac9744a0f1ccaeb8f669af6a2bda3ce, Notional: 67.96368775391781
-		{Chain: 5, Addr: "0000000000000000000000000b3f868e0be5597d5db7feb59e1cadbb0fdda50a", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.784507},                                                // Addr: 0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a, Notional: 99.03713252260978
-		{Chain: 5, Addr: "0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270", Symbol: "WPOL", CoinGeckoId: "wmatic", Decimals: 18, Price: 0.269291},                                                // Addr: 0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270, Notional: 168546.86645378437
-		{Chain: 5, Addr: "0000000000000000000000000d6ae2a429df13e44a07cd2969e085e4833f64a0", Symbol: "PBR", CoinGeckoId: "polkabridge", Decimals: 18, Price: 0.00073616},                                          // Addr: 0x0d6ae2a429df13e44a07cd2969e085e4833f64a0, Notional: 7.7317300393603485
-		{Chain: 5, Addr: "0000000000000000000000000df0f72ee0e5c9b7ca761ecec42754992b2da5bf", Symbol: "ATA", CoinGeckoId: "automata", Decimals: 18, Price: 0.04590599},                                             // Addr: 0x0df0f72ee0e5c9b7ca761ecec42754992b2da5bf, Notional: 2349.4888811621727
-		{Chain: 5, Addr: "000000000000000000000000111111517e4929d3dcbdfa7cce55d30d4b6bc4d6", Symbol: "ICHI", CoinGeckoId: "ichi-farm", Decimals: 18, Price: 0.417345},                                             // Addr: 0x111111517e4929d3dcbdfa7cce55d30d4b6bc4d6, Notional: 0.01034281490145
-		{Chain: 5, Addr: "0000000000000000000000001379e8886a944d2d9d440b3d88df536aea08d9f3", Symbol: "MYST", CoinGeckoId: "mysterium", Decimals: 18, Price: 0.205214},                                             // Addr: 0x1379e8886a944d2d9d440b3d88df536aea08d9f3, Notional: 0.33203275925772
-		{Chain: 5, Addr: "00000000000000000000000018e73a5333984549484348a94f4d219f4fab7b81", Symbol: "DUCKIES", CoinGeckoId: "duckies", Decimals: 8, Price: 0.00143891},                                           // Addr: 0x18e73a5333984549484348a94f4d219f4fab7b81, Notional: 0.0143891
+		{Chain: 5, Addr: "0000000000000000000000000308a3a9c433256ad7ef24dbef9c49c8cb01300a", Symbol: "GPO", CoinGeckoId: "goldpesa-option", Decimals: 18, Price: 0.999734},                                        // Addr: 0x0308a3a9c433256ad7ef24dbef9c49c8cb01300a, Notional: 34.302373141000004
+		{Chain: 5, Addr: "000000000000000000000000039d2e8f097331278bd6c1415d839310e0d5ece4", Symbol: "LINDA", CoinGeckoId: "linda-2", Decimals: 18, Price: 0.00000498},                                            // Addr: 0x039d2e8f097331278bd6c1415d839310e0d5ece4, Notional: 5.64864541114617
+		{Chain: 5, Addr: "00000000000000000000000003b54a6e9a984069379fae1a4fc4dbae93b3bccd", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5036.22},                                        // Addr: 0x03b54a6e9a984069379fae1a4fc4dbae93b3bccd, Notional: 27.1634569164
+		{Chain: 5, Addr: "00000000000000000000000004429fbb948bbd09327763214b45e505a5293346", Symbol: "ABR", CoinGeckoId: "allbridge", Decimals: 18, Price: 0.074237},                                              // Addr: 0x04429fbb948bbd09327763214b45e505a5293346, Notional: 27.133324837867672
+		{Chain: 5, Addr: "00000000000000000000000008e175a1eac9744a0f1ccaeb8f669af6a2bda3ce", Symbol: "E8", CoinGeckoId: "energy8", Decimals: 9, Price: 4.475e-9},                                                  // Addr: 0x08e175a1eac9744a0f1ccaeb8f669af6a2bda3ce, Notional: 57.2224840449261
+		{Chain: 5, Addr: "0000000000000000000000000b3f868e0be5597d5db7feb59e1cadbb0fdda50a", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.668783},                                                // Addr: 0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a, Notional: 84.42799184694151
+		{Chain: 5, Addr: "0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270", Symbol: "WPOL", CoinGeckoId: "wmatic", Decimals: 18, Price: 0.224398},                                                // Addr: 0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270, Notional: 140936.20978686618
+		{Chain: 5, Addr: "0000000000000000000000000d6ae2a429df13e44a07cd2969e085e4833f64a0", Symbol: "PBR", CoinGeckoId: "polkabridge", Decimals: 18, Price: 0.00069999},                                          // Addr: 0x0d6ae2a429df13e44a07cd2969e085e4833f64a0, Notional: 7.351844314078258
+		{Chain: 5, Addr: "0000000000000000000000000df0f72ee0e5c9b7ca761ecec42754992b2da5bf", Symbol: "ATA", CoinGeckoId: "automata", Decimals: 18, Price: 0.03769125},                                             // Addr: 0x0df0f72ee0e5c9b7ca761ecec42754992b2da5bf, Notional: 1929.0548530181736
+		{Chain: 5, Addr: "000000000000000000000000111111517e4929d3dcbdfa7cce55d30d4b6bc4d6", Symbol: "ICHI", CoinGeckoId: "ichi-farm", Decimals: 18, Price: 0.344551},                                             // Addr: 0x111111517e4929d3dcbdfa7cce55d30d4b6bc4d6, Notional: 0.00853880414791
+		{Chain: 5, Addr: "0000000000000000000000001379e8886a944d2d9d440b3d88df536aea08d9f3", Symbol: "MYST", CoinGeckoId: "mysterium", Decimals: 18, Price: 0.198102},                                             // Addr: 0x1379e8886a944d2d9d440b3d88df536aea08d9f3, Notional: 0.32052566430396
+		{Chain: 5, Addr: "00000000000000000000000018e73a5333984549484348a94f4d219f4fab7b81", Symbol: "DUCKIES", CoinGeckoId: "duckies", Decimals: 8, Price: 0.00189784},                                           // Addr: 0x18e73a5333984549484348a94f4d219f4fab7b81, Notional: 0.0189784
 		{Chain: 5, Addr: "00000000000000000000000018ec0a6e18e5bc3784fdd3a3634b31245ab704f6", Symbol: "EURe", CoinGeckoId: "monerium-eur-money", Decimals: 18, Price: 1.17},                                        // Addr: 0x18ec0a6e18e5bc3784fdd3a3634b31245ab704f6, Notional: 0.351
-		{Chain: 5, Addr: "0000000000000000000000001a13f4ca1d028320a707d99520abfefca3998b7f", Symbol: "amUSDC", CoinGeckoId: "aave-polygon-usdc", Decimals: 6, Price: 0.999738},                                    // Addr: 0x1a13f4ca1d028320a707d99520abfefca3998b7f, Notional: 19.571119023024
-		{Chain: 5, Addr: "0000000000000000000000001b815d120b3ef02039ee11dc2d33de7aa4a8c603", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.06598},                                             // Addr: 0x1b815d120b3ef02039ee11dc2d33de7aa4a8c603, Notional: 4.5750532
-		{Chain: 5, Addr: "0000000000000000000000001bfd67037b42cf73acf2047067bd4f2c47d9bfd6", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                          // Addr: 0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6, Notional: 42179.35986936
-		{Chain: 5, Addr: "0000000000000000000000001d734a02ef1e1f5886e66b0673b71af5b53ffa94", Symbol: "SD", CoinGeckoId: "stader", Decimals: 18, Price: 0.669145},                                                  // Addr: 0x1d734a02ef1e1f5886e66b0673b71af5b53ffa94, Notional: 101.60410778218755
-		{Chain: 5, Addr: "000000000000000000000000200c234721b5e549c3693ccc93cf191f90dc2af9", Symbol: "METAL", CoinGeckoId: "drunk-robots", Decimals: 18, Price: 0.00024146},                                       // Addr: 0x200c234721b5e549c3693ccc93cf191f90dc2af9, Notional: 0.027987401639673
-		{Chain: 5, Addr: "000000000000000000000000229b1b6c23ff8953d663c4cbb519717e323a0a84", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.0002006},                                            // Addr: 0x229b1b6c23ff8953d663c4cbb519717e323a0a84, Notional: 0.015818078955968002
-		{Chain: 5, Addr: "00000000000000000000000022e3f02f86bc8ea0d73718a2ae8851854e62adc5", Symbol: "FLAME", CoinGeckoId: "firestarter", Decimals: 18, Price: 0.00387989},                                        // Addr: 0x22e3f02f86bc8ea0d73718a2ae8851854e62adc5, Notional: 566.054549997119
-		{Chain: 5, Addr: "000000000000000000000000236aa50979d5f3de3bd1eeb40e81137f22ab794b", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 111263},                                                    // Addr: 0x236aa50979d5f3de3bd1eeb40e81137f22ab794b, Notional: 0.03004101
-		{Chain: 5, Addr: "00000000000000000000000023d29d30e35c5e8d321e1dc9a8a61bfd846d4c5c", Symbol: "HEX", CoinGeckoId: "hex", Decimals: 8, Price: 0.00166861},                                                   // Addr: 0x23d29d30e35c5e8d321e1dc9a8a61bfd846d4c5c, Notional: 1.0316404928084217
-		{Chain: 5, Addr: "00000000000000000000000023e8b6a3f6891254988b84da3738d2bfe5e703b9", Symbol: "WELT", CoinGeckoId: "fabwelt", Decimals: 18, Price: 0.00024086},                                             // Addr: 0x23e8b6a3f6891254988b84da3738d2bfe5e703b9, Notional: 0.1180214
-		{Chain: 5, Addr: "00000000000000000000000024834bbec7e39ef42f4a75eaf8e5b6486d3f0e57", Symbol: "LUNA", CoinGeckoId: "wrapped-terra", Decimals: 18, Price: 0.00003023},                                       // Addr: 0x24834bbec7e39ef42f4a75eaf8e5b6486d3f0e57, Notional: 10.654331611624102
-		{Chain: 5, Addr: "00000000000000000000000025788a1a171ec66da6502f9975a15b609ff54cf6", Symbol: "POOL", CoinGeckoId: "pooltogether", Decimals: 18, Price: 0.280434},                                          // Addr: 0x25788a1a171ec66da6502f9975a15b609ff54cf6, Notional: 4.767378
-		{Chain: 5, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 4.84
-		{Chain: 5, Addr: "0000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 0x2791bca1f2de4661ed88a30c99a7a9449aa84174, Notional: 3780115.2293593623
-		{Chain: 5, Addr: "0000000000000000000000002ab0e9e4ee70fff1fb9d67031e44f6410170d00e", Symbol: "mXEN", CoinGeckoId: "xen-crypto-matic", Decimals: 18, Price: 3.6269e-11},                                    // Addr: 0x2ab0e9e4ee70fff1fb9d67031e44f6410170d00e, Notional: 3.7627228441419303
-		{Chain: 5, Addr: "0000000000000000000000002ab4f9ac80f33071211729e45cfc346c1f8446d5", Symbol: "CGG", CoinGeckoId: "chain-guardians", Decimals: 18, Price: 0.00441372},                                      // Addr: 0x2ab4f9ac80f33071211729e45cfc346c1f8446d5, Notional: 0.00441372
+		{Chain: 5, Addr: "0000000000000000000000001a13f4ca1d028320a707d99520abfefca3998b7f", Symbol: "amUSDC", CoinGeckoId: "aave-polygon-usdc", Decimals: 6, Price: 0.99965},                                     // Addr: 0x1a13f4ca1d028320a707d99520abfefca3998b7f, Notional: 19.569396313200002
+		{Chain: 5, Addr: "0000000000000000000000001b815d120b3ef02039ee11dc2d33de7aa4a8c603", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.065541},                                            // Addr: 0x1b815d120b3ef02039ee11dc2d33de7aa4a8c603, Notional: 4.54461294
+		{Chain: 5, Addr: "0000000000000000000000001bfd67037b42cf73acf2047067bd4f2c47d9bfd6", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                          // Addr: 0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6, Notional: 43195.67989632
+		{Chain: 5, Addr: "0000000000000000000000001d734a02ef1e1f5886e66b0673b71af5b53ffa94", Symbol: "SD", CoinGeckoId: "stader", Decimals: 18, Price: 0.518841},                                                  // Addr: 0x1d734a02ef1e1f5886e66b0673b71af5b53ffa94, Notional: 78.78169437986979
+		{Chain: 5, Addr: "000000000000000000000000200c234721b5e549c3693ccc93cf191f90dc2af9", Symbol: "METAL", CoinGeckoId: "drunk-robots", Decimals: 18, Price: 0.00013503},                                       // Addr: 0x200c234721b5e549c3693ccc93cf191f90dc2af9, Notional: 0.0156512003785515
+		{Chain: 5, Addr: "000000000000000000000000229b1b6c23ff8953d663c4cbb519717e323a0a84", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.00019774},                                           // Addr: 0x229b1b6c23ff8953d663c4cbb519717e323a0a84, Notional: 0.0155925569927872
+		{Chain: 5, Addr: "00000000000000000000000022e3f02f86bc8ea0d73718a2ae8851854e62adc5", Symbol: "FLAME", CoinGeckoId: "firestarter", Decimals: 18, Price: 0.0028889},                                         // Addr: 0x22e3f02f86bc8ea0d73718a2ae8851854e62adc5, Notional: 421.4745751778213
+		{Chain: 5, Addr: "000000000000000000000000236aa50979d5f3de3bd1eeb40e81137f22ab794b", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 113878},                                                    // Addr: 0x236aa50979d5f3de3bd1eeb40e81137f22ab794b, Notional: 0.03074706
+		{Chain: 5, Addr: "00000000000000000000000023d29d30e35c5e8d321e1dc9a8a61bfd846d4c5c", Symbol: "HEX", CoinGeckoId: "hex", Decimals: 8, Price: 0.00276398},                                                   // Addr: 0x23d29d30e35c5e8d321e1dc9a8a61bfd846d4c5c, Notional: 1.708867673879829
+		{Chain: 5, Addr: "00000000000000000000000023e8b6a3f6891254988b84da3738d2bfe5e703b9", Symbol: "WELT", CoinGeckoId: "fabwelt", Decimals: 18, Price: 0.0001772},                                              // Addr: 0x23e8b6a3f6891254988b84da3738d2bfe5e703b9, Notional: 0.086828
+		{Chain: 5, Addr: "00000000000000000000000024834bbec7e39ef42f4a75eaf8e5b6486d3f0e57", Symbol: "LUNA", CoinGeckoId: "wrapped-terra", Decimals: 18, Price: 0.00002366},                                       // Addr: 0x24834bbec7e39ef42f4a75eaf8e5b6486d3f0e57, Notional: 8.338785508800074
+		{Chain: 5, Addr: "00000000000000000000000025788a1a171ec66da6502f9975a15b609ff54cf6", Symbol: "POOL", CoinGeckoId: "pooltogether", Decimals: 18, Price: 0.217615},                                          // Addr: 0x25788a1a171ec66da6502f9975a15b609ff54cf6, Notional: 3.699455
+		{Chain: 5, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 3.35
+		{Chain: 5, Addr: "0000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: 0x2791bca1f2de4661ed88a30c99a7a9449aa84174, Notional: 3779930.5557653685
+		{Chain: 5, Addr: "0000000000000000000000002ab0e9e4ee70fff1fb9d67031e44f6410170d00e", Symbol: "mXEN", CoinGeckoId: "xen-crypto-matic", Decimals: 18, Price: 4.032e-11},                                     // Addr: 0x2ab0e9e4ee70fff1fb9d67031e44f6410170d00e, Notional: 4.182993329725182
+		{Chain: 5, Addr: "0000000000000000000000002ab4f9ac80f33071211729e45cfc346c1f8446d5", Symbol: "CGG", CoinGeckoId: "chain-guardians", Decimals: 18, Price: 0.00476675},                                      // Addr: 0x2ab4f9ac80f33071211729e45cfc346c1f8446d5, Notional: 0.00476675
 		{Chain: 5, Addr: "0000000000000000000000002ad2934d5bfb7912304754479dd1f096d5c807da", Symbol: "AGC", CoinGeckoId: "argocoin", Decimals: 18, Price: 0.01836156},                                             // Addr: 0x2ad2934d5bfb7912304754479dd1f096d5c807da, Notional: 1.836156
-		{Chain: 5, Addr: "0000000000000000000000002c89bbc92bd86f8075d1decc58c7f4e0107f286b", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 25.9},                                              // Addr: 0x2c89bbc92bd86f8075d1decc58c7f4e0107f286b, Notional: 2472.921842538
-		{Chain: 5, Addr: "0000000000000000000000002d66953fc2eb650f0fd992dbe1e71d743a4e9fee", Symbol: "NOTES", CoinGeckoId: "backstage-pass-notes", Decimals: 9, Price: 0.00062599},                                // Addr: 0x2d66953fc2eb650f0fd992dbe1e71d743a4e9fee, Notional: 0.062599
-		{Chain: 5, Addr: "0000000000000000000000002e1ad108ff1d8c782fcbbb89aad783ac49586756", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.997407},                                              // Addr: 0x2e1ad108ff1d8c782fcbbb89aad783ac49586756, Notional: 4.72311641001303
+		{Chain: 5, Addr: "0000000000000000000000002c89bbc92bd86f8075d1decc58c7f4e0107f286b", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 29.98},                                             // Addr: 0x2c89bbc92bd86f8075d1decc58c7f4e0107f286b, Notional: 2862.5287192368
+		{Chain: 5, Addr: "0000000000000000000000002d66953fc2eb650f0fd992dbe1e71d743a4e9fee", Symbol: "NOTES", CoinGeckoId: "backstage-pass-notes", Decimals: 9, Price: 0.00061306},                                // Addr: 0x2d66953fc2eb650f0fd992dbe1e71d743a4e9fee, Notional: 0.061306
+		{Chain: 5, Addr: "0000000000000000000000002e1ad108ff1d8c782fcbbb89aad783ac49586756", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.999037},                                              // Addr: 0x2e1ad108ff1d8c782fcbbb89aad783ac49586756, Notional: 4.730835104335729
 		{Chain: 5, Addr: "0000000000000000000000002f25d402829ca4085b8ea4d3bc68bf203f5a9fab", Symbol: "Eagon", CoinGeckoId: "eagonswap-token", Decimals: 18, Price: 0.00007782},                                    // Addr: 0x2f25d402829ca4085b8ea4d3bc68bf203f5a9fab, Notional: 0.2225516283530874
-		{Chain: 5, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                       // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 38.49246700329764
-		{Chain: 5, Addr: "00000000000000000000000030ea765d4dda26e0f89e1b23a7c7b2526b7d29ec", Symbol: "POLYPAD", CoinGeckoId: "polypad", Decimals: 18, Price: 0.0003742},                                           // Addr: 0x30ea765d4dda26e0f89e1b23a7c7b2526b7d29ec, Notional: 58.73339450476627
-		{Chain: 5, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100048},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 0.300405025232
-		{Chain: 5, Addr: "00000000000000000000000034c1b299a74588d6abdc1b85a53345a48428a521", Symbol: "EZ", CoinGeckoId: "easyfi", Decimals: 18, Price: 0.00108705},                                                // Addr: 0x34c1b299a74588d6abdc1b85a53345a48428a521, Notional: 0.0043482
-		{Chain: 5, Addr: "0000000000000000000000003a9a81d576d83ff21f26f325066054540720fc34", Symbol: "DATA", CoinGeckoId: "streamr", Decimals: 18, Price: 0.01551111},                                             // Addr: 0x3a9a81d576d83ff21f26f325066054540720fc34, Notional: 0.12408888
-		{Chain: 5, Addr: "0000000000000000000000003c499c542cef5e3811e1192ce70d8cc03d5c3359", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 0x3c499c542cef5e3811e1192ce70d8cc03d5c3359, Notional: 75864.10628996574
-		{Chain: 5, Addr: "0000000000000000000000003c69d114664d48357d820dbdd121a8071eac99bf", Symbol: "GALAXIS", CoinGeckoId: "galaxis-token", Decimals: 18, Price: 0.00023895},                                    // Addr: 0x3c69d114664d48357d820dbdd121a8071eac99bf, Notional: 35.881246795457066
+		{Chain: 5, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                       // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 39.67794272537232
+		{Chain: 5, Addr: "00000000000000000000000030ea765d4dda26e0f89e1b23a7c7b2526b7d29ec", Symbol: "POLYPAD", CoinGeckoId: "polypad", Decimals: 18, Price: 0.00020805},                                          // Addr: 0x30ea765d4dda26e0f89e1b23a7c7b2526b7d29ec, Notional: 32.6549511670674
+		{Chain: 5, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100242},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 0.300987531378
+		{Chain: 5, Addr: "00000000000000000000000034c1b299a74588d6abdc1b85a53345a48428a521", Symbol: "EZ", CoinGeckoId: "easyfi", Decimals: 18, Price: 0.00169988},                                                // Addr: 0x34c1b299a74588d6abdc1b85a53345a48428a521, Notional: 0.00679952
+		{Chain: 5, Addr: "0000000000000000000000003a9a81d576d83ff21f26f325066054540720fc34", Symbol: "DATA", CoinGeckoId: "streamr", Decimals: 18, Price: 0.01327287},                                             // Addr: 0x3a9a81d576d83ff21f26f325066054540720fc34, Notional: 0.10618296
+		{Chain: 5, Addr: "0000000000000000000000003c499c542cef5e3811e1192ce70d8cc03d5c3359", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: 0x3c499c542cef5e3811e1192ce70d8cc03d5c3359, Notional: 75852.30079936614
+		{Chain: 5, Addr: "0000000000000000000000003c69d114664d48357d820dbdd121a8071eac99bf", Symbol: "GALAXIS", CoinGeckoId: "galaxis-token", Decimals: 18, Price: 0.00023325},                                    // Addr: 0x3c69d114664d48357d820dbdd121a8071eac99bf, Notional: 35.02532251533945
 		{Chain: 5, Addr: "000000000000000000000000411bc96881a62572ff33c9d8ce60df99e3d96cd8", Symbol: "MRST", CoinGeckoId: "the-mars", Decimals: 18, Price: 0.00036894},                                            // Addr: 0x411bc96881a62572ff33c9d8ce60df99e3d96cd8, Notional: 0.06050616
-		{Chain: 5, Addr: "00000000000000000000000042d61d766b85431666b39b89c43011f24451bff6", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.02037316},                                             // Addr: 0x42d61d766b85431666b39b89c43011f24451bff6, Notional: 0.04074632
-		{Chain: 5, Addr: "000000000000000000000000430ef9263e76dae63c84292c3409d61c598e9682", Symbol: "PYR", CoinGeckoId: "vulcan-forged", Decimals: 18, Price: 1.047},                                             // Addr: 0x430ef9263e76dae63c84292c3409d61c598e9682, Notional: 11.486637
-		{Chain: 5, Addr: "000000000000000000000000431d5dff03120afa4bdf332c61a6e1766ef37bdb", Symbol: "JPYC", CoinGeckoId: "jpy-coin", Decimals: 18, Price: 0.00771999},                                            // Addr: 0x431d5dff03120afa4bdf332c61a6e1766ef37bdb, Notional: 0.8491989000000001
-		{Chain: 5, Addr: "000000000000000000000000444444444444c1a66f394025ac839a535246fcc8", Symbol: "GENI", CoinGeckoId: "genius", Decimals: 9, Price: 0.00000105},                                               // Addr: 0x444444444444c1a66f394025ac839a535246fcc8, Notional: 2.518066309126788
-		{Chain: 5, Addr: "00000000000000000000000045c32fa6df82ead1e2ef74d17b76547eddfaff89", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                  // Addr: 0x45c32fa6df82ead1e2ef74d17b76547eddfaff89, Notional: 9.98362260148068
-		{Chain: 5, Addr: "00000000000000000000000046d502fac9aea7c5bc7b13c8ec9d02378c33d36f", Symbol: "WSPP", CoinGeckoId: "wolfsafepoorpeople-polygon", Decimals: 18, Price: 1.6501e-8},                           // Addr: 0x46d502fac9aea7c5bc7b13c8ec9d02378c33d36f, Notional: 0.49503
-		{Chain: 5, Addr: "00000000000000000000000049a0400587a7f65072c87c4910449fdcc5c47242", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                   // Addr: 0x49a0400587a7f65072c87c4910449fdcc5c47242, Notional: 51.5036673021
-		{Chain: 5, Addr: "0000000000000000000000004a81f8796e0c6ad4877a51c86693b0de8093f2ef", Symbol: "ICE", CoinGeckoId: "iron-finance", Decimals: 18, Price: 0.00000311},                                         // Addr: 0x4a81f8796e0c6ad4877a51c86693b0de8093f2ef, Notional: 0.40907384999999996
-		{Chain: 5, Addr: "0000000000000000000000004c9f66b2806538cf00ef596e09fb05bcb0d17dc8", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 4.24},                                                    // Addr: 0x4c9f66b2806538cf00ef596e09fb05bcb0d17dc8, Notional: 8.48
-		{Chain: 5, Addr: "0000000000000000000000004e1581f01046efdd7a1a2cdb0f82cdd7f71f2e59", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.0232545},                                             // Addr: 0x4e1581f01046efdd7a1a2cdb0f82cdd7f71f2e59, Notional: 2.407931758354545
-		{Chain: 5, Addr: "0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815", Symbol: "KLIMA", CoinGeckoId: "klima-dao", Decimals: 9, Price: 0.112749},                                             // Addr: 0x4e78011ce80ee02d2c3e649fb657e45898257815, Notional: 0.07622434705158
-		{Chain: 5, Addr: "0000000000000000000000004fb71290ac171e1d144f7221d882becac7196eb5", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02426952},                                               // Addr: 0x4fb71290ac171e1d144f7221d882becac7196eb5, Notional: 7.619928813113759
-		{Chain: 5, Addr: "00000000000000000000000050b728d8d964fd00c2d0aad81718b71311fef68a", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 0.685763},                                                 // Addr: 0x50b728d8d964fd00c2d0aad81718b71311fef68a, Notional: 1.2318396977286399
-		{Chain: 5, Addr: "00000000000000000000000052ede6bba83b7b4ba1d738df0df713d6a2036b71", Symbol: "0xMR", CoinGeckoId: "0xmonero", Decimals: 18, Price: 0.01838674},                                            // Addr: 0x52ede6bba83b7b4ba1d738df0df713d6a2036b71, Notional: 0.6548123159098483
-		{Chain: 5, Addr: "00000000000000000000000053e0bca35ec356bd5dddfebbd1fc0fd03fabad39", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                                // Addr: 0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39, Notional: 1462.880030079
-		{Chain: 5, Addr: "000000000000000000000000554cd6bdd03214b10aafa3e0d4d42de0c5d2937b", Symbol: "IDRT", CoinGeckoId: "rupiah-token", Decimals: 6, Price: 0.00006118},                                         // Addr: 0x554cd6bdd03214b10aafa3e0d4d42de0c5d2937b, Notional: 3.3124940005490195
+		{Chain: 5, Addr: "00000000000000000000000042d61d766b85431666b39b89c43011f24451bff6", Symbol: "PSP", CoinGeckoId: "paraswap", Decimals: 18, Price: 0.01412233},                                             // Addr: 0x42d61d766b85431666b39b89c43011f24451bff6, Notional: 0.02824466
+		{Chain: 5, Addr: "000000000000000000000000430ef9263e76dae63c84292c3409d61c598e9682", Symbol: "PYR", CoinGeckoId: "vulcan-forged", Decimals: 18, Price: 0.946},                                             // Addr: 0x430ef9263e76dae63c84292c3409d61c598e9682, Notional: 10.378566
+		{Chain: 5, Addr: "000000000000000000000000431d5dff03120afa4bdf332c61a6e1766ef37bdb", Symbol: "JPYC", CoinGeckoId: "jpy-coin", Decimals: 18, Price: 0.00713134},                                            // Addr: 0x431d5dff03120afa4bdf332c61a6e1766ef37bdb, Notional: 0.7844474
+		{Chain: 5, Addr: "000000000000000000000000444444444444c1a66f394025ac839a535246fcc8", Symbol: "GENI", CoinGeckoId: "genius", Decimals: 9, Price: 8.51525e-7},                                               // Addr: 0x444444444444c1a66f394025ac839a535246fcc8, Notional: 2.042091822742084
+		{Chain: 5, Addr: "00000000000000000000000045c32fa6df82ead1e2ef74d17b76547eddfaff89", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                  // Addr: 0x45c32fa6df82ead1e2ef74d17b76547eddfaff89, Notional: 9.98326230979356
+		{Chain: 5, Addr: "00000000000000000000000046d502fac9aea7c5bc7b13c8ec9d02378c33d36f", Symbol: "WSPP", CoinGeckoId: "wolfsafepoorpeople-polygon", Decimals: 18, Price: 1.5506e-8},                           // Addr: 0x46d502fac9aea7c5bc7b13c8ec9d02378c33d36f, Notional: 0.46518
+		{Chain: 5, Addr: "00000000000000000000000049a0400587a7f65072c87c4910449fdcc5c47242", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                          // Addr: 0x49a0400587a7f65072c87c4910449fdcc5c47242, Notional: 51.5099
+		{Chain: 5, Addr: "0000000000000000000000004a81f8796e0c6ad4877a51c86693b0de8093f2ef", Symbol: "ICE", CoinGeckoId: "iron-finance", Decimals: 18, Price: 0.00000304},                                         // Addr: 0x4a81f8796e0c6ad4877a51c86693b0de8093f2ef, Notional: 0.3998664
+		{Chain: 5, Addr: "0000000000000000000000004c9f66b2806538cf00ef596e09fb05bcb0d17dc8", Symbol: "MNTO", CoinGeckoId: "minato", Decimals: 18, Price: 0.927625},                                                // Addr: 0x4c9f66b2806538cf00ef596e09fb05bcb0d17dc8, Notional: 1.85525
+		{Chain: 5, Addr: "0000000000000000000000004e1581f01046efdd7a1a2cdb0f82cdd7f71f2e59", Symbol: "ICE", CoinGeckoId: "ice-token", Decimals: 18, Price: 0.215773},                                              // Addr: 0x4e1581f01046efdd7a1a2cdb0f82cdd7f71f2e59, Notional: 22.34262870822573
+		{Chain: 5, Addr: "0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815", Symbol: "KLIMA", CoinGeckoId: "klima-dao", Decimals: 9, Price: 0.255793},                                             // Addr: 0x4e78011ce80ee02d2c3e649fb657e45898257815, Notional: 0.17292973246206
+		{Chain: 5, Addr: "0000000000000000000000004fb71290ac171e1d144f7221d882becac7196eb5", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02402156},                                               // Addr: 0x4fb71290ac171e1d144f7221d882becac7196eb5, Notional: 7.54207652973528
+		{Chain: 5, Addr: "00000000000000000000000050b728d8d964fd00c2d0aad81718b71311fef68a", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 1.077},                                                    // Addr: 0x50b728d8d964fd00c2d0aad81718b71311fef68a, Notional: 1.9346207865599998
+		{Chain: 5, Addr: "00000000000000000000000052ede6bba83b7b4ba1d738df0df713d6a2036b71", Symbol: "0xMR", CoinGeckoId: "0xmonero", Decimals: 18, Price: 0.01884522},                                            // Addr: 0x52ede6bba83b7b4ba1d738df0df713d6a2036b71, Notional: 0.6711402974116452
+		{Chain: 5, Addr: "00000000000000000000000053e0bca35ec356bd5dddfebbd1fc0fd03fabad39", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                                // Addr: 0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39, Notional: 1383.3338548238
+		{Chain: 5, Addr: "000000000000000000000000554cd6bdd03214b10aafa3e0d4d42de0c5d2937b", Symbol: "IDRT", CoinGeckoId: "rupiah-token", Decimals: 6, Price: 0.00006053},                                         // Addr: 0x554cd6bdd03214b10aafa3e0d4d42de0c5d2937b, Notional: 3.27730078217117
 		{Chain: 5, Addr: "000000000000000000000000590eb2920486486c2d9bb3eb651f73b81df87bcf", Symbol: "BOBC", CoinGeckoId: "bobcoin", Decimals: 18, Price: 1.2},                                                    // Addr: 0x590eb2920486486c2d9bb3eb651f73b81df87bcf, Notional: 1.2
-		{Chain: 5, Addr: "000000000000000000000000596ebe76e2db4470966ea395b0d063ac6197a8c5", Symbol: "JRT", CoinGeckoId: "jarvis-reward-token", Decimals: 18, Price: 0.00171328},                                  // Addr: 0x596ebe76e2db4470966ea395b0d063ac6197a8c5, Notional: 171.32971328
-		{Chain: 5, Addr: "0000000000000000000000005d47baba0d66083c52009271faf3f50dcc01023c", Symbol: "BANANA", CoinGeckoId: "apeswap-finance", Decimals: 18, Price: 2.7645e-8},                                    // Addr: 0x5d47baba0d66083c52009271faf3f50dcc01023c, Notional: 0.00019657961412
-		{Chain: 5, Addr: "0000000000000000000000005f0197ba06860dac7e31258bdf749f92b6a636d4", Symbol: "1FLR", CoinGeckoId: "flare-token", Decimals: 18, Price: 0.00000427},                                         // Addr: 0x5f0197ba06860dac7e31258bdf749f92b6a636d4, Notional: 0.2135
-		{Chain: 5, Addr: "00000000000000000000000061299774020da444af134c82fa83e3810b309991", Symbol: "RNDR", CoinGeckoId: "render-token", Decimals: 18, Price: 3.77},                                              // Addr: 0x61299774020da444af134c82fa83e3810b309991, Notional: 5573.0155872911
-		{Chain: 5, Addr: "000000000000000000000000613a489785c95afeb3b404cc41565ccff107b6e0", Symbol: "RADIO", CoinGeckoId: "radioshack", Decimals: 18, Price: 0.00006706},                                         // Addr: 0x613a489785c95afeb3b404cc41565ccff107b6e0, Notional: 0.0026233000300472
-		{Chain: 5, Addr: "00000000000000000000000065a05db8322701724c197af82c9cae41195b0aa8", Symbol: "FOX", CoinGeckoId: "shapeshift-fox-token", Decimals: 18, Price: 0.02678626},                                 // Addr: 0x65a05db8322701724c197af82c9cae41195b0aa8, Notional: 0.01339313
-		{Chain: 5, Addr: "000000000000000000000000692597b009d13c4049a947cab2239b7d6517875f", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01362849},                                          // Addr: 0x692597b009d13c4049a947cab2239b7d6517875f, Notional: 217.04727015775995
-		{Chain: 5, Addr: "0000000000000000000000006a3e7c3c6ef65ee26975b12293ca1aad7e1daed2", Symbol: "ALPHA", CoinGeckoId: "aavegotchi-alpha", Decimals: 18, Price: 0.00028523},                                   // Addr: 0x6a3e7c3c6ef65ee26975b12293ca1aad7e1daed2, Notional: 0.00011979659999999999
-		{Chain: 5, Addr: "0000000000000000000000006ae7dfc73e0dde2aa99ac063dcf7e8a63265108c", Symbol: "JPYC", CoinGeckoId: "jpyc", Decimals: 18, Price: 0.00845178},                                                // Addr: 0x6ae7dfc73e0dde2aa99ac063dcf7e8a63265108c, Notional: 6.761424000000001
-		{Chain: 5, Addr: "0000000000000000000000006ccf12b480a99c54b23647c995f4525d544a7e72", Symbol: "START", CoinGeckoId: "bscstarter", Decimals: 18, Price: 0.04306808},                                         // Addr: 0x6ccf12b480a99c54b23647c995f4525d544a7e72, Notional: 118.93309221149435
-		{Chain: 5, Addr: "000000000000000000000000709a4b6217584188ddb93c82f5d716d969acce1c", Symbol: "HANU", CoinGeckoId: "hanu-yokia", Decimals: 12, Price: 1.46737e-7},                                          // Addr: 0x709a4b6217584188ddb93c82f5d716d969acce1c, Notional: 0.5547741440343082
-		{Chain: 5, Addr: "00000000000000000000000070c006878a5a50ed185ac4c87d837633923de296", Symbol: "REVV", CoinGeckoId: "revv", Decimals: 18, Price: 0.00133458},                                                // Addr: 0x70c006878a5a50ed185ac4c87d837633923de296, Notional: 1.1896613434025813
-		{Chain: 5, Addr: "000000000000000000000000714db550b574b3e927af3d93e26127d15721d4c2", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.0429973},                                                  // Addr: 0x714db550b574b3e927af3d93e26127d15721d4c2, Notional: 7.569988662672629
-		{Chain: 5, Addr: "000000000000000000000000723b17718289a91af252d616de2c77944962d122", Symbol: "GAIA", CoinGeckoId: "gaia-everworld", Decimals: 18, Price: 0.00021318},                                      // Addr: 0x723b17718289a91af252d616de2c77944962d122, Notional: 0.0020632740223392
-		{Chain: 5, Addr: "000000000000000000000000750e4c4984a9e0f12978ea6742bc1c5d248f40ed", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                    // Addr: 0x750e4c4984a9e0f12978ea6742bc1c5d248f40ed, Notional: 81.578221
-		{Chain: 5, Addr: "0000000000000000000000007844f79fc841e4f92d974c417031c76f8578c2d5", Symbol: "OPN", CoinGeckoId: "open-ticketing-ecosystem", Decimals: 18, Price: 0.00027961},                             // Addr: 0x7844f79fc841e4f92d974c417031c76f8578c2d5, Notional: 0.59612852
+		{Chain: 5, Addr: "000000000000000000000000596ebe76e2db4470966ea395b0d063ac6197a8c5", Symbol: "JRT", CoinGeckoId: "jarvis-reward-token", Decimals: 18, Price: 0.0017131},                                   // Addr: 0x596ebe76e2db4470966ea395b0d063ac6197a8c5, Notional: 171.3117131
+		{Chain: 5, Addr: "0000000000000000000000005d47baba0d66083c52009271faf3f50dcc01023c", Symbol: "BANANA", CoinGeckoId: "apeswap-finance", Decimals: 18, Price: 2.6011e-8},                                    // Addr: 0x5d47baba0d66083c52009271faf3f50dcc01023c, Notional: 0.000184960475416
+		{Chain: 5, Addr: "0000000000000000000000005f0197ba06860dac7e31258bdf749f92b6a636d4", Symbol: "1FLR", CoinGeckoId: "flare-token", Decimals: 18, Price: 0.00000447},                                         // Addr: 0x5f0197ba06860dac7e31258bdf749f92b6a636d4, Notional: 0.22350000000000003
+		{Chain: 5, Addr: "00000000000000000000000061299774020da444af134c82fa83e3810b309991", Symbol: "RNDR", CoinGeckoId: "render-token", Decimals: 18, Price: 3.34},                                              // Addr: 0x61299774020da444af134c82fa83e3810b309991, Notional: 5003.897743514
+		{Chain: 5, Addr: "000000000000000000000000613a489785c95afeb3b404cc41565ccff107b6e0", Symbol: "RADIO", CoinGeckoId: "radioshack", Decimals: 18, Price: 0.00006753},                                         // Addr: 0x613a489785c95afeb3b404cc41565ccff107b6e0, Notional: 0.0026416858191036
+		{Chain: 5, Addr: "00000000000000000000000065a05db8322701724c197af82c9cae41195b0aa8", Symbol: "FOX", CoinGeckoId: "shapeshift-fox-token", Decimals: 18, Price: 0.02364866},                                 // Addr: 0x65a05db8322701724c197af82c9cae41195b0aa8, Notional: 0.01182433
+		{Chain: 5, Addr: "000000000000000000000000692597b009d13c4049a947cab2239b7d6517875f", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01091164},                                          // Addr: 0x692597b009d13c4049a947cab2239b7d6517875f, Notional: 173.77872933422702
+		{Chain: 5, Addr: "0000000000000000000000006a3e7c3c6ef65ee26975b12293ca1aad7e1daed2", Symbol: "ALPHA", CoinGeckoId: "aavegotchi-alpha", Decimals: 18, Price: 0.00023813},                                   // Addr: 0x6a3e7c3c6ef65ee26975b12293ca1aad7e1daed2, Notional: 0.0001000146
+		{Chain: 5, Addr: "0000000000000000000000006ae7dfc73e0dde2aa99ac063dcf7e8a63265108c", Symbol: "JPYC", CoinGeckoId: "jpyc", Decimals: 18, Price: 0.00849138},                                                // Addr: 0x6ae7dfc73e0dde2aa99ac063dcf7e8a63265108c, Notional: 6.793104
+		{Chain: 5, Addr: "0000000000000000000000006ccf12b480a99c54b23647c995f4525d544a7e72", Symbol: "START", CoinGeckoId: "bscstarter", Decimals: 18, Price: 0.04466497},                                         // Addr: 0x6ccf12b480a99c54b23647c995f4525d544a7e72, Notional: 123.34292579640487
+		{Chain: 5, Addr: "000000000000000000000000709a4b6217584188ddb93c82f5d716d969acce1c", Symbol: "HANU", CoinGeckoId: "hanu-yokia", Decimals: 12, Price: 1.33119e-7},                                          // Addr: 0x709a4b6217584188ddb93c82f5d716d969acce1c, Notional: 0.5032880546808445
+		{Chain: 5, Addr: "00000000000000000000000070c006878a5a50ed185ac4c87d837633923de296", Symbol: "REVV", CoinGeckoId: "revv", Decimals: 18, Price: 0.00117196},                                                // Addr: 0x70c006878a5a50ed185ac4c87d837633923de296, Notional: 1.044699836663287
+		{Chain: 5, Addr: "000000000000000000000000714db550b574b3e927af3d93e26127d15721d4c2", Symbol: "GMT", CoinGeckoId: "stepn", Decimals: 8, Price: 0.03802966},                                                 // Addr: 0x714db550b574b3e927af3d93e26127d15721d4c2, Notional: 6.695399363338972
+		{Chain: 5, Addr: "000000000000000000000000723b17718289a91af252d616de2c77944962d122", Symbol: "GAIA", CoinGeckoId: "gaia-everworld", Decimals: 18, Price: 0.0002269},                                       // Addr: 0x723b17718289a91af252d616de2c77944962d122, Notional: 0.006729525775536
+		{Chain: 5, Addr: "000000000000000000000000750e4c4984a9e0f12978ea6742bc1c5d248f40ed", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                             // Addr: 0x750e4c4984a9e0f12978ea6742bc1c5d248f40ed, Notional: 81.533026665566
+		{Chain: 5, Addr: "0000000000000000000000007844f79fc841e4f92d974c417031c76f8578c2d5", Symbol: "OPN", CoinGeckoId: "open-ticketing-ecosystem", Decimals: 18, Price: 0.00018983},                             // Addr: 0x7844f79fc841e4f92d974c417031c76f8578c2d5, Notional: 0.40471756
 		{Chain: 5, Addr: "00000000000000000000000078a0a62fba6fb21a83fe8a3433d44c73a4017a6f", Symbol: "OX", CoinGeckoId: "open-exchange-token", Decimals: 18, Price: 0.00305853},                                   // Addr: 0x78a0a62fba6fb21a83fe8a3433d44c73a4017a6f, Notional: 0.20871281124245458
-		{Chain: 5, Addr: "0000000000000000000000007bebd226154e865954a87650faefa8f485d36081", Symbol: "ZIG", CoinGeckoId: "zignaly", Decimals: 18, Price: 0.095587},                                                // Addr: 0x7bebd226154e865954a87650faefa8f485d36081, Notional: 1.29083741863434
-		{Chain: 5, Addr: "0000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                   // Addr: 0x7ceb23fd6bc0add59e62ac25578270cff1b9f619, Notional: 252153.7656402255
-		{Chain: 5, Addr: "0000000000000000000000007e4c577ca35913af564ee2a24d882a4946ec492b", Symbol: "MOONED", CoinGeckoId: "moonedge", Decimals: 18, Price: 0.00176007},                                          // Addr: 0x7e4c577ca35913af564ee2a24d882a4946ec492b, Notional: 0.022335289760858103
-		{Chain: 5, Addr: "00000000000000000000000081382e9693de2afc33f69b70a6c12ca9b3a73f47", Symbol: "DOSE", CoinGeckoId: "dose-token", Decimals: 18, Price: 0.00031498},                                          // Addr: 0x81382e9693de2afc33f69b70a6c12ca9b3a73f47, Notional: 0.0283482
-		{Chain: 5, Addr: "00000000000000000000000082617aa52dddf5ed9bb7b370ed777b3182a30fd1", Symbol: "YGG", CoinGeckoId: "yield-guild-games", Decimals: 18, Price: 0.150465},                                      // Addr: 0x82617aa52dddf5ed9bb7b370ed777b3182a30fd1, Notional: 45.21805138324215
-		{Chain: 5, Addr: "000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc13", Symbol: "QUICK", CoinGeckoId: "quick", Decimals: 18, Price: 25.83},                                                   // Addr: 0x831753dd7087cac61ab5644b308642cc1c33dc13, Notional: 4.0273725303
-		{Chain: 5, Addr: "0000000000000000000000008765f05adce126d70bcdf1b0a48db573316662eb", Symbol: "PLA", CoinGeckoId: "playdapp", Decimals: 18, Price: 0.00550088},                                             // Addr: 0x8765f05adce126d70bcdf1b0a48db573316662eb, Notional: 8.553868399999999
-		{Chain: 5, Addr: "00000000000000000000000088c949b4eb85a90071f2c0bef861bddee1a7479d", Symbol: "mSHEESHA", CoinGeckoId: "sheesha-finance-polygon", Decimals: 18, Price: 0.0001056},                          // Addr: 0x88c949b4eb85a90071f2c0bef861bddee1a7479d, Notional: 0.00528
-		{Chain: 5, Addr: "0000000000000000000000008d1566569d5b695d44a9a234540f68d393cdc40d", Symbol: "GAME", CoinGeckoId: "gamecredits", Decimals: 18, Price: 0.00063273},                                         // Addr: 0x8d1566569d5b695d44a9a234540f68d393cdc40d, Notional: 0.00506184
-		{Chain: 5, Addr: "0000000000000000000000008eef5a82e6aa222a60f009ac18c24ee12dbf4b41", Symbol: "TXL", CoinGeckoId: "autobahn-network", Decimals: 18, Price: 0.00024271},                                     // Addr: 0x8eef5a82e6aa222a60f009ac18c24ee12dbf4b41, Notional: 0.0000024271
-		{Chain: 5, Addr: "0000000000000000000000008f006d1e1d9dc6c98996f50a4c810f17a47fbf19", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001963},                                       // Addr: 0x8f006d1e1d9dc6c98996f50a4c810f17a47fbf19, Notional: -59564.918896829186
-		{Chain: 5, Addr: "0000000000000000000000008f36cc333f55b09bb71091409a3d7ade399e3b1c", Symbol: "CHER", CoinGeckoId: "cherry-network", Decimals: 18, Price: 0.00031241},                                      // Addr: 0x8f36cc333f55b09bb71091409a3d7ade399e3b1c, Notional: 0.0031241
-		{Chain: 5, Addr: "0000000000000000000000008f3cf7ad23cd3cadbd9735aff958023239c6a063", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                           // Addr: 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063, Notional: 2462.79554967
-		{Chain: 5, Addr: "0000000000000000000000009085b4d52c3e0b8b6f9af6213e85a433c7d76f19", Symbol: "OWL", CoinGeckoId: "owldao", Decimals: 18, Price: 0.00500617},                                               // Addr: 0x9085b4d52c3e0b8b6f9af6213e85a433c7d76f19, Notional: 1.0795310673006653
-		{Chain: 5, Addr: "00000000000000000000000091c5a5488c0decde1eacd8a4f10e0942fb925067", Symbol: "AUDT", CoinGeckoId: "auditchain", Decimals: 18, Price: 0.00368103},                                          // Addr: 0x91c5a5488c0decde1eacd8a4f10e0942fb925067, Notional: 36.8103
+		{Chain: 5, Addr: "0000000000000000000000007bebd226154e865954a87650faefa8f485d36081", Symbol: "ZIG", CoinGeckoId: "zignaly", Decimals: 18, Price: 0.107146},                                                // Addr: 0x7bebd226154e865954a87650faefa8f485d36081, Notional: 1.44693385143372
+		{Chain: 5, Addr: "0000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                   // Addr: 0x7ceb23fd6bc0add59e62ac25578270cff1b9f619, Notional: 243072.46108752998
+		{Chain: 5, Addr: "0000000000000000000000007e4c577ca35913af564ee2a24d882a4946ec492b", Symbol: "MOONED", CoinGeckoId: "moonedge", Decimals: 18, Price: 0.00170285},                                          // Addr: 0x7e4c577ca35913af564ee2a24d882a4946ec492b, Notional: 0.0216091679133655
+		{Chain: 5, Addr: "00000000000000000000000081382e9693de2afc33f69b70a6c12ca9b3a73f47", Symbol: "DOSE", CoinGeckoId: "dose-token", Decimals: 18, Price: 0.00032744},                                          // Addr: 0x81382e9693de2afc33f69b70a6c12ca9b3a73f47, Notional: 0.029469600000000002
+		{Chain: 5, Addr: "00000000000000000000000082617aa52dddf5ed9bb7b370ed777b3182a30fd1", Symbol: "YGG", CoinGeckoId: "yield-guild-games", Decimals: 18, Price: 0.164154},                                      // Addr: 0x82617aa52dddf5ed9bb7b370ed777b3182a30fd1, Notional: 49.331897828496544
+		{Chain: 5, Addr: "000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc13", Symbol: "QUICK", CoinGeckoId: "quick", Decimals: 18, Price: 21.72},                                                   // Addr: 0x831753dd7087cac61ab5644b308642cc1c33dc13, Notional: 3.3865478652
+		{Chain: 5, Addr: "0000000000000000000000008765f05adce126d70bcdf1b0a48db573316662eb", Symbol: "PLA", CoinGeckoId: "playdapp", Decimals: 18, Price: 0.00456331},                                             // Addr: 0x8765f05adce126d70bcdf1b0a48db573316662eb, Notional: 7.09594705
+		{Chain: 5, Addr: "00000000000000000000000088c949b4eb85a90071f2c0bef861bddee1a7479d", Symbol: "mSHEESHA", CoinGeckoId: "sheesha-finance-polygon", Decimals: 18, Price: 0.00010497},                         // Addr: 0x88c949b4eb85a90071f2c0bef861bddee1a7479d, Notional: 0.0052485000000000006
+		{Chain: 5, Addr: "0000000000000000000000008d1566569d5b695d44a9a234540f68d393cdc40d", Symbol: "GAME", CoinGeckoId: "gamecredits", Decimals: 18, Price: 0.00050279},                                         // Addr: 0x8d1566569d5b695d44a9a234540f68d393cdc40d, Notional: 0.00402232
+		{Chain: 5, Addr: "0000000000000000000000008eef5a82e6aa222a60f009ac18c24ee12dbf4b41", Symbol: "TXL", CoinGeckoId: "autobahn-network", Decimals: 18, Price: 0.00057405},                                     // Addr: 0x8eef5a82e6aa222a60f009ac18c24ee12dbf4b41, Notional: 0.0000057405
+		{Chain: 5, Addr: "0000000000000000000000008f006d1e1d9dc6c98996f50a4c810f17a47fbf19", Symbol: "NSFW", CoinGeckoId: "pleasure-coin", Decimals: 18, Price: 0.00001129},                                       // Addr: 0x8f006d1e1d9dc6c98996f50a4c810f17a47fbf19, Notional: -34258.17291620996
+		{Chain: 5, Addr: "0000000000000000000000008f36cc333f55b09bb71091409a3d7ade399e3b1c", Symbol: "CHER", CoinGeckoId: "cherry-network", Decimals: 18, Price: 0.00031048},                                      // Addr: 0x8f36cc333f55b09bb71091409a3d7ade399e3b1c, Notional: 0.0031048000000000004
+		{Chain: 5, Addr: "0000000000000000000000008f3cf7ad23cd3cadbd9735aff958023239c6a063", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                    // Addr: 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063, Notional: 2429.4268147592284
+		{Chain: 5, Addr: "0000000000000000000000009085b4d52c3e0b8b6f9af6213e85a433c7d76f19", Symbol: "OWL", CoinGeckoId: "owldao", Decimals: 18, Price: 0.00505278},                                               // Addr: 0x9085b4d52c3e0b8b6f9af6213e85a433c7d76f19, Notional: 1.0895820529936968
+		{Chain: 5, Addr: "00000000000000000000000091c5a5488c0decde1eacd8a4f10e0942fb925067", Symbol: "AUDT", CoinGeckoId: "auditchain", Decimals: 18, Price: 0.00333734},                                          // Addr: 0x91c5a5488c0decde1eacd8a4f10e0942fb925067, Notional: 33.3734
 		{Chain: 5, Addr: "000000000000000000000000930a7dc10ae084fbbddc6537d7df7d4c65a40944", Symbol: "UNLOCK", CoinGeckoId: "unlock", Decimals: 18, Price: 0.00176187},                                            // Addr: 0x930a7dc10ae084fbbddc6537d7df7d4c65a40944, Notional: 0.176187
-		{Chain: 5, Addr: "0000000000000000000000009a71012b13ca4d3d0cdc72a177df3ef03b0e76a3", Symbol: "BAL", CoinGeckoId: "balancer", Decimals: 18, Price: 1.23},                                                   // Addr: 0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3, Notional: -0.0164816433
-		{Chain: 5, Addr: "0000000000000000000000009c2c5fd7b07e95ee044ddeba0e97a665f142394f", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.254098},                                                // Addr: 0x9c2c5fd7b07e95ee044ddeba0e97a665f142394f, Notional: 16.536151470857458
+		{Chain: 5, Addr: "0000000000000000000000009a71012b13ca4d3d0cdc72a177df3ef03b0e76a3", Symbol: "BAL", CoinGeckoId: "balancer", Decimals: 18, Price: 1.12},                                                   // Addr: 0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3, Notional: -0.015007675200000003
+		{Chain: 5, Addr: "0000000000000000000000009c2c5fd7b07e95ee044ddeba0e97a665f142394f", Symbol: "1INCH", CoinGeckoId: "1inch", Decimals: 18, Price: 0.255501},                                                // Addr: 0x9c2c5fd7b07e95ee044ddeba0e97a665f142394f, Notional: 16.62745569408477
 		{Chain: 5, Addr: "0000000000000000000000009c891326fd8b1a713974f73bb604677e1e63396d", Symbol: "ISLAMI", CoinGeckoId: "islamicoin", Decimals: 7, Price: 0.00022941},                                         // Addr: 0x9c891326fd8b1a713974f73bb604677e1e63396d, Notional: 0.22940999999999998
-		{Chain: 5, Addr: "0000000000000000000000009c9e5fd8bbc25984b178fdce6117defa39d2db39", Symbol: "BUSD", CoinGeckoId: "binance-peg-busd", Decimals: 18, Price: 0.999311},                                      // Addr: 0x9c9e5fd8bbc25984b178fdce6117defa39d2db39, Notional: 8.09175929386996
-		{Chain: 5, Addr: "0000000000000000000000009ca6a77c8b38159fd2da9bd25bc3e259c33f5e39", Symbol: "SPORK", CoinGeckoId: "sporkdao", Decimals: 18, Price: 0.01506059},                                           // Addr: 0x9ca6a77c8b38159fd2da9bd25bc3e259c33f5e39, Notional: 0.15060590000000001
-		{Chain: 5, Addr: "0000000000000000000000009cb74c8032b007466865f060ad2c46145d45553d", Symbol: "IDEX", CoinGeckoId: "aurora-dao", Decimals: 18, Price: 0.02808502},                                          // Addr: 0x9cb74c8032b007466865f060ad2c46145d45553d, Notional: 0.170419598041784
-		{Chain: 5, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.0000169},                                              // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 23.42476686152893
-		{Chain: 5, Addr: "0000000000000000000000009ff62d1fc52a907b6dcba8077c2ddca6e6a9d3e1", Symbol: "FORT", CoinGeckoId: "forta", Decimals: 18, Price: 0.063561},                                                 // Addr: 0x9ff62d1fc52a907b6dcba8077c2ddca6e6a9d3e1, Notional: 192.56329915362957
-		{Chain: 5, Addr: "000000000000000000000000a1c57f48f0deb89f569dfbe6e2b7f46d33606fd4", Symbol: "MANA", CoinGeckoId: "decentraland", Decimals: 18, Price: 0.320773},                                          // Addr: 0xa1c57f48f0deb89f569dfbe6e2b7f46d33606fd4, Notional: 536.8937900296877
-		{Chain: 5, Addr: "000000000000000000000000a3fa99a148fa48d14ed51d610c367c61876997f1", Symbol: "miMATIC", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.992613},                                            // Addr: 0xa3fa99a148fa48d14ed51d610c367c61876997f1, Notional: 29.69291828824473
-		{Chain: 5, Addr: "000000000000000000000000a5eb60ca85898f8b26e18ff7c7e43623ccba772c", Symbol: "COSMIC", CoinGeckoId: "cosmicswap", Decimals: 18, Price: 0.02364199},                                        // Addr: 0xa5eb60ca85898f8b26e18ff7c7e43623ccba772c, Notional: 16.95786966485352
-		{Chain: 5, Addr: "000000000000000000000000a649325aa7c5093d12d6f98eb4378deae68ce23f", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 877.77},                                                     // Addr: 0xa649325aa7c5093d12d6f98eb4378deae68ce23f, Notional: 4761.039998973601
-		{Chain: 5, Addr: "000000000000000000000000a7051c5a22d963b81d71c2ba64d46a877fbc1821", Symbol: "EROWAN", CoinGeckoId: "sifchain", Decimals: 18, Price: 0.00000181},                                          // Addr: 0xa7051c5a22d963b81d71c2ba64d46a877fbc1821, Notional: 0.000017594121706299997
-		{Chain: 5, Addr: "000000000000000000000000aa404804ba583c025fa64c9a276a6127ceb355c6", Symbol: "CPR", CoinGeckoId: "cipher-2", Decimals: 2, Price: 0.00009813},                                              // Addr: 0xaa404804ba583c025fa64c9a276a6127ceb355c6, Notional: 3265.9685890146
-		{Chain: 5, Addr: "000000000000000000000000aaa5b9e6c589642f98a1cda99b9d024b8407285a", Symbol: "TITAN", CoinGeckoId: "iron-titanium-token", Decimals: 18, Price: 7.261e-9},                                  // Addr: 0xaaa5b9e6c589642f98a1cda99b9d024b8407285a, Notional: 4.394046284726277
-		{Chain: 5, Addr: "000000000000000000000000adbe0eac80f955363f4ff47b0f70189093908c04", Symbol: "XMT", CoinGeckoId: "metalswap", Decimals: 18, Price: 0.01778998},                                            // Addr: 0xadbe0eac80f955363f4ff47b0f70189093908c04, Notional: 17.2562806
-		{Chain: 5, Addr: "000000000000000000000000b140665dde25c644c6b418e417c930de8a8a6ac9", Symbol: "ATRI", CoinGeckoId: "atari", Decimals: 0, Price: 0.00029252},                                                // Addr: 0xb140665dde25c644c6b418e417c930de8a8a6ac9, Notional: 0.01872128
-		{Chain: 5, Addr: "000000000000000000000000b25e20de2f2ebb4cffd4d16a55c7b395e8a94762", Symbol: "REQ", CoinGeckoId: "request-network", Decimals: 18, Price: 0.122575},                                        // Addr: 0xb25e20de2f2ebb4cffd4d16a55c7b395e8a94762, Notional: 7.888733615874001
-		{Chain: 5, Addr: "000000000000000000000000b33eaad8d922b1083446dc23f610c2567fb5180f", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 9.49},                                                    // Addr: 0xb33eaad8d922b1083446dc23f610c2567fb5180f, Notional: 5.189099259500001
+		{Chain: 5, Addr: "0000000000000000000000009c9e5fd8bbc25984b178fdce6117defa39d2db39", Symbol: "BUSD", CoinGeckoId: "binance-peg-busd", Decimals: 18, Price: 1.005},                                         // Addr: 0x9c9e5fd8bbc25984b178fdce6117defa39d2db39, Notional: 15.668430430199999
+		{Chain: 5, Addr: "0000000000000000000000009ca6a77c8b38159fd2da9bd25bc3e259c33f5e39", Symbol: "SPORK", CoinGeckoId: "sporkdao", Decimals: 18, Price: 0.00927055},                                           // Addr: 0x9ca6a77c8b38159fd2da9bd25bc3e259c33f5e39, Notional: 0.09270550000000001
+		{Chain: 5, Addr: "0000000000000000000000009cb74c8032b007466865f060ad2c46145d45553d", Symbol: "IDEX", CoinGeckoId: "aurora-dao", Decimals: 18, Price: 0.02503442},                                          // Addr: 0x9cb74c8032b007466865f060ad2c46145d45553d, Notional: 0.15190859018826403
+		{Chain: 5, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.00001555},                                             // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 21.553557674365376
+		{Chain: 5, Addr: "0000000000000000000000009ff62d1fc52a907b6dcba8077c2ddca6e6a9d3e1", Symbol: "FORT", CoinGeckoId: "forta", Decimals: 18, Price: 0.04886249},                                               // Addr: 0x9ff62d1fc52a907b6dcba8077c2ddca6e6a9d3e1, Notional: 148.0329491238532
+		{Chain: 5, Addr: "000000000000000000000000a1c57f48f0deb89f569dfbe6e2b7f46d33606fd4", Symbol: "MANA", CoinGeckoId: "decentraland", Decimals: 18, Price: 0.288614},                                          // Addr: 0xa1c57f48f0deb89f569dfbe6e2b7f46d33606fd4, Notional: 483.06766565648695
+		{Chain: 5, Addr: "000000000000000000000000a3fa99a148fa48d14ed51d610c367c61876997f1", Symbol: "miMATIC", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.995702},                                            // Addr: 0xa3fa99a148fa48d14ed51d610c367c61876997f1, Notional: 29.78532230128142
+		{Chain: 5, Addr: "000000000000000000000000a5eb60ca85898f8b26e18ff7c7e43623ccba772c", Symbol: "COSMIC", CoinGeckoId: "cosmicswap", Decimals: 18, Price: 0.02383839},                                        // Addr: 0xa5eb60ca85898f8b26e18ff7c7e43623ccba772c, Notional: 17.098742983985165
+		{Chain: 5, Addr: "000000000000000000000000a649325aa7c5093d12d6f98eb4378deae68ce23f", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 1008.56},                                                    // Addr: 0xa649325aa7c5093d12d6f98eb4378deae68ce23f, Notional: 5470.4472713408
+		{Chain: 5, Addr: "000000000000000000000000a7051c5a22d963b81d71c2ba64d46a877fbc1821", Symbol: "EROWAN", CoinGeckoId: "sifchain", Decimals: 18, Price: 0.00000163},                                          // Addr: 0xa7051c5a22d963b81d71c2ba64d46a877fbc1821, Notional: 0.0000158444300449
+		{Chain: 5, Addr: "000000000000000000000000aa404804ba583c025fa64c9a276a6127ceb355c6", Symbol: "CPR", CoinGeckoId: "cipher-2", Decimals: 2, Price: 0.00008731},                                              // Addr: 0xaa404804ba583c025fa64c9a276a6127ceb355c6, Notional: 2905.8566952702004
+		{Chain: 5, Addr: "000000000000000000000000aaa5b9e6c589642f98a1cda99b9d024b8407285a", Symbol: "TITAN", CoinGeckoId: "iron-titanium-token", Decimals: 18, Price: 6.401e-9},                                  // Addr: 0xaaa5b9e6c589642f98a1cda99b9d024b8407285a, Notional: 3.8736111098378867
+		{Chain: 5, Addr: "000000000000000000000000adbe0eac80f955363f4ff47b0f70189093908c04", Symbol: "XMT", CoinGeckoId: "metalswap", Decimals: 18, Price: 0.01737956},                                            // Addr: 0xadbe0eac80f955363f4ff47b0f70189093908c04, Notional: 16.8581732
+		{Chain: 5, Addr: "000000000000000000000000b140665dde25c644c6b418e417c930de8a8a6ac9", Symbol: "ATRI", CoinGeckoId: "atari", Decimals: 0, Price: 0.0003293},                                                 // Addr: 0xb140665dde25c644c6b418e417c930de8a8a6ac9, Notional: 0.0210752
+		{Chain: 5, Addr: "000000000000000000000000b25e20de2f2ebb4cffd4d16a55c7b395e8a94762", Symbol: "REQ", CoinGeckoId: "request-network", Decimals: 18, Price: 0.124918},                                        // Addr: 0xb25e20de2f2ebb4cffd4d16a55c7b395e8a94762, Notional: 8.03952539936976
+		{Chain: 5, Addr: "000000000000000000000000b33eaad8d922b1083446dc23f610c2567fb5180f", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 7.64},                                                    // Addr: 0xb33eaad8d922b1083446dc23f610c2567fb5180f, Notional: 4.177525642
 		{Chain: 5, Addr: "000000000000000000000000b6a5ae40e79891e4deadad06c8a7ca47396df21c", Symbol: "CBY", CoinGeckoId: "carbify", Decimals: 18, Price: 0.199402},                                                // Addr: 0xb6a5ae40e79891e4deadad06c8a7ca47396df21c, Notional: 0.099701
-		{Chain: 5, Addr: "000000000000000000000000b7b31a6bc18e48888545ce79e83e06003be70930", Symbol: "APE", CoinGeckoId: "apecoin", Decimals: 18, Price: 0.600882},                                                // Addr: 0xb7b31a6bc18e48888545ce79e83e06003be70930, Notional: 0.11152220901264
-		{Chain: 5, Addr: "000000000000000000000000b87904db461005fc716a6bf9f2d451c33b10b80b", Symbol: "AMKT", CoinGeckoId: "alongside-crypto-market-index", Decimals: 18, Price: 315.48},                           // Addr: 0xb87904db461005fc716a6bf9f2d451c33b10b80b, Notional: 16.254775746
-		{Chain: 5, Addr: "000000000000000000000000ba777ae3a3c91fcd83ef85bfe65410592bdd0f7c", Symbol: "CONE", CoinGeckoId: "bitcone", Decimals: 18, Price: 2.82683e-7},                                             // Addr: 0xba777ae3a3c91fcd83ef85bfe65410592bdd0f7c, Notional: 1.4785366827100002
-		{Chain: 5, Addr: "000000000000000000000000bac3368b5110f3a3dda8b5a0f7b66edb37c47afe", Symbol: "AIPEPE", CoinGeckoId: "ai-pepe-king", Decimals: 18, Price: 1.69812e-10},                                     // Addr: 0xbac3368b5110f3a3dda8b5a0f7b66edb37c47afe, Notional: 0.0000169812
-		{Chain: 5, Addr: "000000000000000000000000bbba073c31bf03b8acf7c28ef0738decf3695683", Symbol: "SAND", CoinGeckoId: "the-sandbox", Decimals: 18, Price: 0.292969},                                           // Addr: 0xbbba073c31bf03b8acf7c28ef0738decf3695683, Notional: 74.4491186245869
-		{Chain: 5, Addr: "000000000000000000000000bbbbbbbbb7949dcc7d1539c91b81a5bf09e37bdb", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 18, Price: 2.6984e-8},                                       // Addr: 0xbbbbbbbbb7949dcc7d1539c91b81a5bf09e37bdb, Notional: 1136.22494942015
-		{Chain: 5, Addr: "000000000000000000000000bbfe0b60de96a189bf09079de86a2db7bf0c7883", Symbol: "eLunr", CoinGeckoId: "lunr-token", Decimals: 4, Price: 0.00204207},                                          // Addr: 0xbbfe0b60de96a189bf09079de86a2db7bf0c7883, Notional: 4.1668219848509995
+		{Chain: 5, Addr: "000000000000000000000000b7b31a6bc18e48888545ce79e83e06003be70930", Symbol: "APE", CoinGeckoId: "apecoin", Decimals: 18, Price: 0.532372},                                                // Addr: 0xb7b31a6bc18e48888545ce79e83e06003be70930, Notional: 0.09880692291743999
+		{Chain: 5, Addr: "000000000000000000000000b87904db461005fc716a6bf9f2d451c33b10b80b", Symbol: "AMKT", CoinGeckoId: "alongside-crypto-market-index", Decimals: 18, Price: 333.69},                           // Addr: 0xb87904db461005fc716a6bf9f2d451c33b10b80b, Notional: 17.1930268755
+		{Chain: 5, Addr: "000000000000000000000000ba777ae3a3c91fcd83ef85bfe65410592bdd0f7c", Symbol: "CONE", CoinGeckoId: "bitcone", Decimals: 18, Price: 2.73696e-7},                                             // Addr: 0xba777ae3a3c91fcd83ef85bfe65410592bdd0f7c, Notional: 1.43153134752
+		{Chain: 5, Addr: "000000000000000000000000bac3368b5110f3a3dda8b5a0f7b66edb37c47afe", Symbol: "AIPEPE", CoinGeckoId: "ai-pepe-king", Decimals: 18, Price: 1.29983e-10},                                     // Addr: 0xbac3368b5110f3a3dda8b5a0f7b66edb37c47afe, Notional: 0.0000129983
+		{Chain: 5, Addr: "000000000000000000000000bbba073c31bf03b8acf7c28ef0738decf3695683", Symbol: "SAND", CoinGeckoId: "the-sandbox", Decimals: 18, Price: 0.264697},                                           // Addr: 0xbbba073c31bf03b8acf7c28ef0738decf3695683, Notional: 67.26465377760883
+		{Chain: 5, Addr: "000000000000000000000000bbbbbbbbb7949dcc7d1539c91b81a5bf09e37bdb", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 18, Price: 2.2256e-8},                                       // Addr: 0xbbbbbbbbb7949dcc7d1539c91b81a5bf09e37bdb, Notional: 937.1413605949771
+		{Chain: 5, Addr: "000000000000000000000000bbfe0b60de96a189bf09079de86a2db7bf0c7883", Symbol: "eLunr", CoinGeckoId: "lunr-token", Decimals: 4, Price: 0.00606879},                                          // Addr: 0xbbfe0b60de96a189bf09079de86a2db7bf0c7883, Notional: 12.383301058947
 		{Chain: 5, Addr: "000000000000000000000000bc5eb84c052fd012bb902c258c9fd241b17c0005", Symbol: "XNET", CoinGeckoId: "xnet-mobile", Decimals: 18, Price: 0.02742251},                                         // Addr: 0xbc5eb84c052fd012bb902c258c9fd241b17c0005, Notional: 1642187.2972463334
-		{Chain: 5, Addr: "000000000000000000000000bd1463f02f61676d53fd183c2b19282bff93d099", Symbol: "jCHF", CoinGeckoId: "jarvis-synthetic-swiss-franc", Decimals: 18, Price: 0.430098},                          // Addr: 0xbd1463f02f61676d53fd183c2b19282bff93d099, Notional: 8.08889272383168
-		{Chain: 5, Addr: "000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0xc2132d05d31c914a87c6611c10748aeb04b58e8f, Notional: 452701.087418
-		{Chain: 5, Addr: "000000000000000000000000c3c7d422809852031b44ab29eec9f1eff2a58756", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.19},                                                   // Addr: 0xc3c7d422809852031b44ab29eec9f1eff2a58756, Notional: 11.9119
-		{Chain: 5, Addr: "000000000000000000000000cf32822ff397ef82425153a9dcb726e5ff61dca7", Symbol: "GMEE", CoinGeckoId: "gamee", Decimals: 18, Price: 0.00178502},                                               // Addr: 0xcf32822ff397ef82425153a9dcb726e5ff61dca7, Notional: 24.119146049366574
-		{Chain: 5, Addr: "000000000000000000000000d3b71117e6c1558c1553305b44988cd944e97300", Symbol: "YEL", CoinGeckoId: "yel-finance", Decimals: 18, Price: 0.00065181},                                          // Addr: 0xd3b71117e6c1558c1553305b44988cd944e97300, Notional: 0.65181
-		{Chain: 5, Addr: "000000000000000000000000d60deba014459f07bbcc077a5b817f31dafd5229", Symbol: "VATRENI", CoinGeckoId: "croatian-ff-fan-token", Decimals: 18, Price: 1.13},                                  // Addr: 0xd60deba014459f07bbcc077a5b817f31dafd5229, Notional: 1.13
-		{Chain: 5, Addr: "000000000000000000000000d6df932a45c0f255f85145f286ea0b292b21c90b", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 298.03},                                                    // Addr: 0xd6df932a45c0f255f85145f286ea0b292b21c90b, Notional: 1560.9502958890998
-		{Chain: 5, Addr: "000000000000000000000000d838290e877e0188a4a44700463419ed96c16107", Symbol: "NCT", CoinGeckoId: "toucan-protocol-base-carbon-tonne", Decimals: 18, Price: 0.206967},                      // Addr: 0xd838290e877e0188a4a44700463419ed96c16107, Notional: 9.313515
-		{Chain: 5, Addr: "000000000000000000000000d86b5923f3ad7b585ed81b448170ae026c65ae9a", Symbol: "IRON", CoinGeckoId: "iron-stablecoin", Decimals: 18, Price: 0.00008644},                                     // Addr: 0xd86b5923f3ad7b585ed81b448170ae026c65ae9a, Notional: 17.399617986326255
-		{Chain: 5, Addr: "000000000000000000000000d8ca34fd379d9ca3c6ee3b3905678320f5b45195", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 6069.06},                                         // Addr: 0xd8ca34fd379d9ca3c6ee3b3905678320f5b45195, Notional: 44.8716558006
-		{Chain: 5, Addr: "000000000000000000000000dab529f40e671a1d4bf91361c21bf9f0c9712ab7", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 0.999036},                                           // Addr: 0xdab529f40e671a1d4bf91361c21bf9f0c9712ab7, Notional: 354.3595730089294
-		{Chain: 5, Addr: "000000000000000000000000dc3326e71d45186f113a2f448984ca0e8d201995", Symbol: "XSGD", CoinGeckoId: "xsgd", Decimals: 6, Price: 0.779179},                                                   // Addr: 0xdc3326e71d45186f113a2f448984ca0e8d201995, Notional: 1.5622538949999998
-		{Chain: 5, Addr: "000000000000000000000000e0339c80ffde91f3e20494df88d4206d86024cdf", Symbol: "ELON", CoinGeckoId: "dogelon-mars", Decimals: 18, Price: 9.8734e-8},                                         // Addr: 0xe0339c80ffde91f3e20494df88d4206d86024cdf, Notional: 90.66969568945478
-		{Chain: 5, Addr: "000000000000000000000000e0b52e49357fd4daf2c15e02058dce6bc0057db4", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                    // Addr: 0xe0b52e49357fd4daf2c15e02058dce6bc0057db4, Notional: -89.39006547119999
-		{Chain: 5, Addr: "000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5", Symbol: "FACTR", CoinGeckoId: "defactor", Decimals: 18, Price: 0.00550427},                                           // Addr: 0xe0bceef36f3a6efdd5eebfacd591423f8549b9d5, Notional: 0.2945585931708543
-		{Chain: 5, Addr: "000000000000000000000000e20b9e246db5a0d21bf9209e4858bc9a3ff7a034", Symbol: "wBAN", CoinGeckoId: "banano", Decimals: 18, Price: 0.00170963},                                              // Addr: 0xe20b9e246db5a0d21bf9209e4858bc9a3ff7a034, Notional: 18.20593619180024
-		{Chain: 5, Addr: "000000000000000000000000e261d618a959afffd53168cd07d12e37b26761db", Symbol: "DIMO", CoinGeckoId: "dimo", Decimals: 18, Price: 0.068567},                                                  // Addr: 0xe261d618a959afffd53168cd07d12e37b26761db, Notional: 2157.007755216924
-		{Chain: 5, Addr: "000000000000000000000000e4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78", Symbol: "DODO", CoinGeckoId: "dodo", Decimals: 18, Price: 0.0464768},                                                 // Addr: 0xe4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78, Notional: 0.000022803377151999998
-		{Chain: 5, Addr: "000000000000000000000000e5417af564e4bfda1c483642db72007871397896", Symbol: "GNS", CoinGeckoId: "gains-network", Decimals: 18, Price: 2.23},                                              // Addr: 0xe5417af564e4bfda1c483642db72007871397896, Notional: 51.29012488
-		{Chain: 5, Addr: "000000000000000000000000e613a914bbb433855378183c3ab13003285da40a", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.0157458},                                                // Addr: 0xe613a914bbb433855378183c3ab13003285da40a, Notional: 31.5230916
-		{Chain: 5, Addr: "000000000000000000000000e78aee6ccb05471a69677fb74da80f5d251c042b", Symbol: "TAKI", CoinGeckoId: "taki", Decimals: 18, Price: 0.00019206},                                                // Addr: 0xe78aee6ccb05471a69677fb74da80f5d251c042b, Notional: 0.07404974353521361
-		{Chain: 5, Addr: "000000000000000000000000e8d17b127ba8b9899a160d9a07b69bca8e08bfc6", Symbol: "NSDX", CoinGeckoId: "nasdex-token", Decimals: 18, Price: 0.00674801},                                        // Addr: 0xe8d17b127ba8b9899a160d9a07b69bca8e08bfc6, Notional: 0.30366044999999997
+		{Chain: 5, Addr: "000000000000000000000000bd1463f02f61676d53fd183c2b19282bff93d099", Symbol: "jCHF", CoinGeckoId: "jarvis-synthetic-swiss-franc", Decimals: 18, Price: 0.297692},                          // Addr: 0xbd1463f02f61676d53fd183c2b19282bff93d099, Notional: 5.59872087929472
+		{Chain: 5, Addr: "000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0xc2132d05d31c914a87c6611c10748aeb04b58e8f, Notional: 481176.660742
+		{Chain: 5, Addr: "000000000000000000000000c3c7d422809852031b44ab29eec9f1eff2a58756", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.087},                                                  // Addr: 0xc3c7d422809852031b44ab29eec9f1eff2a58756, Notional: 10.88087
+		{Chain: 5, Addr: "000000000000000000000000cf32822ff397ef82425153a9dcb726e5ff61dca7", Symbol: "GMEE", CoinGeckoId: "gamee", Decimals: 18, Price: 0.00189839},                                               // Addr: 0xcf32822ff397ef82425153a9dcb726e5ff61dca7, Notional: 25.65099868273577
+		{Chain: 5, Addr: "000000000000000000000000d3b71117e6c1558c1553305b44988cd944e97300", Symbol: "YEL", CoinGeckoId: "yel-finance", Decimals: 18, Price: 0.00050124},                                          // Addr: 0xd3b71117e6c1558c1553305b44988cd944e97300, Notional: 0.50124
+		{Chain: 5, Addr: "000000000000000000000000d60deba014459f07bbcc077a5b817f31dafd5229", Symbol: "VATRENI", CoinGeckoId: "croatian-ff-fan-token", Decimals: 18, Price: 1.12},                                  // Addr: 0xd60deba014459f07bbcc077a5b817f31dafd5229, Notional: 1.12
+		{Chain: 5, Addr: "000000000000000000000000d6df932a45c0f255f85145f286ea0b292b21c90b", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 274.44},                                                    // Addr: 0xd6df932a45c0f255f85145f286ea0b292b21c90b, Notional: 1437.3962326068
+		{Chain: 5, Addr: "000000000000000000000000d838290e877e0188a4a44700463419ed96c16107", Symbol: "NCT", CoinGeckoId: "toucan-protocol-base-carbon-tonne", Decimals: 18, Price: 0.269299},                      // Addr: 0xd838290e877e0188a4a44700463419ed96c16107, Notional: 12.118455
+		{Chain: 5, Addr: "000000000000000000000000d86b5923f3ad7b585ed81b448170ae026c65ae9a", Symbol: "IRON", CoinGeckoId: "iron-stablecoin", Decimals: 18, Price: 0.00008677},                                     // Addr: 0xd86b5923f3ad7b585ed81b448170ae026c65ae9a, Notional: 17.466044107745592
+		{Chain: 5, Addr: "000000000000000000000000d8ca34fd379d9ca3c6ee3b3905678320f5b45195", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 5925.94},                                         // Addr: 0xd8ca34fd379d9ca3c6ee3b3905678320f5b45195, Notional: 43.813496649399994
+		{Chain: 5, Addr: "000000000000000000000000dab529f40e671a1d4bf91361c21bf9f0c9712ab7", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 1},                                                  // Addr: 0xdab529f40e671a1d4bf91361c21bf9f0c9712ab7, Notional: 354.70150526
+		{Chain: 5, Addr: "000000000000000000000000dc3326e71d45186f113a2f448984ca0e8d201995", Symbol: "XSGD", CoinGeckoId: "xsgd", Decimals: 6, Price: 0.77521},                                                    // Addr: 0xdc3326e71d45186f113a2f448984ca0e8d201995, Notional: 1.5542960499999998
+		{Chain: 5, Addr: "000000000000000000000000e0339c80ffde91f3e20494df88d4206d86024cdf", Symbol: "ELON", CoinGeckoId: "dogelon-mars", Decimals: 18, Price: 9.5298e-8},                                         // Addr: 0xe0339c80ffde91f3e20494df88d4206d86024cdf, Notional: 87.5143381187196
+		{Chain: 5, Addr: "000000000000000000000000e0b52e49357fd4daf2c15e02058dce6bc0057db4", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                    // Addr: 0xe0b52e49357fd4daf2c15e02058dce6bc0057db4, Notional: -90.1540831248
+		{Chain: 5, Addr: "000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5", Symbol: "FACTR", CoinGeckoId: "defactor", Decimals: 18, Price: 0.01611407},                                           // Addr: 0xe0bceef36f3a6efdd5eebfacd591423f8549b9d5, Notional: 0.8623373834235364
+		{Chain: 5, Addr: "000000000000000000000000e20b9e246db5a0d21bf9209e4858bc9a3ff7a034", Symbol: "wBAN", CoinGeckoId: "banano", Decimals: 18, Price: 0.00153359},                                              // Addr: 0xe20b9e246db5a0d21bf9209e4858bc9a3ff7a034, Notional: 16.33127734327482
+		{Chain: 5, Addr: "000000000000000000000000e261d618a959afffd53168cd07d12e37b26761db", Symbol: "DIMO", CoinGeckoId: "dimo", Decimals: 18, Price: 0.055312},                                                  // Addr: 0xe261d618a959afffd53168cd07d12e37b26761db, Notional: 1740.0267323429418
+		{Chain: 5, Addr: "000000000000000000000000e4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78", Symbol: "DODO", CoinGeckoId: "dodo", Decimals: 18, Price: 0.0429623},                                                 // Addr: 0xe4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78, Notional: 0.000021079022872
+		{Chain: 5, Addr: "000000000000000000000000e5417af564e4bfda1c483642db72007871397896", Symbol: "GNS", CoinGeckoId: "gains-network", Decimals: 18, Price: 1.8},                                               // Addr: 0xe5417af564e4bfda1c483642db72007871397896, Notional: 41.400100800000004
+		{Chain: 5, Addr: "000000000000000000000000e613a914bbb433855378183c3ab13003285da40a", Symbol: "B2M", CoinGeckoId: "bit2me", Decimals: 18, Price: 0.01567571},                                               // Addr: 0xe613a914bbb433855378183c3ab13003285da40a, Notional: 31.382771419999997
+		{Chain: 5, Addr: "000000000000000000000000e78aee6ccb05471a69677fb74da80f5d251c042b", Symbol: "TAKI", CoinGeckoId: "taki", Decimals: 18, Price: 0.00119138},                                                // Addr: 0xe78aee6ccb05471a69677fb74da80f5d251c042b, Notional: 0.4593428275173528
+		{Chain: 5, Addr: "000000000000000000000000e8d17b127ba8b9899a160d9a07b69bca8e08bfc6", Symbol: "NSDX", CoinGeckoId: "nasdex-token", Decimals: 18, Price: 0.0075205},                                         // Addr: 0xe8d17b127ba8b9899a160d9a07b69bca8e08bfc6, Notional: 0.3384225
 		{Chain: 5, Addr: "000000000000000000000000e9993763e0b7f7d915a62a5f22a6e151f91d98a8", Symbol: "TORG", CoinGeckoId: "torg", Decimals: 18, Price: 1.9398e-8},                                                 // Addr: 0xe9993763e0b7f7d915a62a5f22a6e151f91d98a8, Notional: 0.00601684024485803
-		{Chain: 5, Addr: "000000000000000000000000e9e7c09e82328c3107d367f6c617cf9977e63ed0", Symbol: "A51", CoinGeckoId: "a51-finance", Decimals: 18, Price: 0.03859001},                                          // Addr: 0xe9e7c09e82328c3107d367f6c617cf9977e63ed0, Notional: 18492.662810527432
+		{Chain: 5, Addr: "000000000000000000000000e9e7c09e82328c3107d367f6c617cf9977e63ed0", Symbol: "A51", CoinGeckoId: "a51-finance", Decimals: 18, Price: 0.02285158},                                          // Addr: 0xe9e7c09e82328c3107d367f6c617cf9977e63ed0, Notional: 10921.40911823304
 		{Chain: 5, Addr: "000000000000000000000000edcfb6984a3c70501baa8b7f5421ae795ecc1496", Symbol: "META", CoinGeckoId: "abcmeta", Decimals: 8, Price: 3.63265e-7},                                              // Addr: 0xedcfb6984a3c70501baa8b7f5421ae795ecc1496, Notional: 0.011104647785000001
-		{Chain: 5, Addr: "000000000000000000000000ee327f889d5947c1dc1934bb208a1e792f953e96", Symbol: "frxETH", CoinGeckoId: "frax-ether", Decimals: 18, Price: 4264.01},                                           // Addr: 0xee327f889d5947c1dc1934bb208a1e792f953e96, Notional: 271.3392529876
-		{Chain: 5, Addr: "000000000000000000000000ee7666aacaefaa6efeef62ea40176d3eb21953b9", Symbol: "MCHC", CoinGeckoId: "mch-coin", Decimals: 18, Price: 0.02745527},                                            // Addr: 0xee7666aacaefaa6efeef62ea40176d3eb21953b9, Notional: 16.818461871607397
-		{Chain: 5, Addr: "000000000000000000000000ee9801669c6138e84bd50deb500827b776777d28", Symbol: "O3", CoinGeckoId: "o3-swap", Decimals: 18, Price: 0.00160168},                                               // Addr: 0xee9801669c6138e84bd50deb500827b776777d28, Notional: 2.28015193184973
-		{Chain: 5, Addr: "000000000000000000000000eee3371b89fc43ea970e908536fcddd975135d8a", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00183028},                                         // Addr: 0xeee3371b89fc43ea970e908536fcddd975135d8a, Notional: 0.00183028
-		{Chain: 5, Addr: "000000000000000000000000eeeeeb57642040be42185f49c52f7e9b38f8eeee", Symbol: "ELK", CoinGeckoId: "elk-finance", Decimals: 18, Price: 0.03025485},                                          // Addr: 0xeeeeeb57642040be42185f49c52f7e9b38f8eeee, Notional: 0.0605097
-		{Chain: 5, Addr: "000000000000000000000000efee2de82343be622dcb4e545f75a3b9f50c272d", Symbol: "TRY", CoinGeckoId: "tryhards", Decimals: 18, Price: 0.00000762},                                             // Addr: 0xefee2de82343be622dcb4e545f75a3b9f50c272d, Notional: 0.0096576960058038
-		{Chain: 5, Addr: "000000000000000000000000f21441f9ec4c1fe69cb7cf186eceab31af2b658d", Symbol: "VENT", CoinGeckoId: "vent-finance", Decimals: 18, Price: 0.00050475},                                        // Addr: 0xf21441f9ec4c1fe69cb7cf186eceab31af2b658d, Notional: 3.078975
+		{Chain: 5, Addr: "000000000000000000000000ee327f889d5947c1dc1934bb208a1e792f953e96", Symbol: "frxETH", CoinGeckoId: "frax-ether", Decimals: 18, Price: 4129.92},                                           // Addr: 0xee327f889d5947c1dc1934bb208a1e792f953e96, Notional: 262.8064680192
+		{Chain: 5, Addr: "000000000000000000000000ee7666aacaefaa6efeef62ea40176d3eb21953b9", Symbol: "MCHC", CoinGeckoId: "mch-coin", Decimals: 18, Price: 0.02572199},                                            // Addr: 0xee7666aacaefaa6efeef62ea40176d3eb21953b9, Notional: 15.756694728438903
+		{Chain: 5, Addr: "000000000000000000000000ee9801669c6138e84bd50deb500827b776777d28", Symbol: "O3", CoinGeckoId: "o3-swap", Decimals: 18, Price: 0.00177713},                                               // Addr: 0xee9801669c6138e84bd50deb500827b776777d28, Notional: 2.529922582942979
+		{Chain: 5, Addr: "000000000000000000000000eee3371b89fc43ea970e908536fcddd975135d8a", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00157008},                                         // Addr: 0xeee3371b89fc43ea970e908536fcddd975135d8a, Notional: 0.00157008
+		{Chain: 5, Addr: "000000000000000000000000eeeeeb57642040be42185f49c52f7e9b38f8eeee", Symbol: "ELK", CoinGeckoId: "elk-finance", Decimals: 18, Price: 0.03440521},                                          // Addr: 0xeeeeeb57642040be42185f49c52f7e9b38f8eeee, Notional: 0.06881042
+		{Chain: 5, Addr: "000000000000000000000000efee2de82343be622dcb4e545f75a3b9f50c272d", Symbol: "TRY", CoinGeckoId: "tryhards", Decimals: 18, Price: 0.00000945},                                             // Addr: 0xefee2de82343be622dcb4e545f75a3b9f50c272d, Notional: 0.0119770639442055
+		{Chain: 5, Addr: "000000000000000000000000f21441f9ec4c1fe69cb7cf186eceab31af2b658d", Symbol: "VENT", CoinGeckoId: "vent-finance", Decimals: 18, Price: 0.00046051},                                        // Addr: 0xf21441f9ec4c1fe69cb7cf186eceab31af2b658d, Notional: 2.809111
 		{Chain: 5, Addr: "000000000000000000000000f28164a485b0b2c90639e47b0f377b4a438a16b1", Symbol: "dQUICK", CoinGeckoId: "dragons-quick", Decimals: 18, Price: 0.068364},                                       // Addr: 0xf28164a485b0b2c90639e47b0f377b4a438a16b1, Notional: 0.0001664253216
-		{Chain: 5, Addr: "000000000000000000000000fbdd194376de19a88118e84e279b977f165d01b8", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 180.01},                                           // Addr: 0xfbdd194376de19a88118e84e279b977f165d01b8, Notional: 14320.1120943876
-		{Chain: 6, Addr: "0000000000000000000000000da67235dd5787d67955420c84ca1cecd4e5bb3b", Symbol: "wMEMO", CoinGeckoId: "wrapped-memory", Decimals: 18, Price: 102.39},                                         // Addr: 0x0da67235dd5787d67955420c84ca1cecd4e5bb3b, Notional: 39.8080934232
-		{Chain: 6, Addr: "000000000000000000000000130966628846bfd36ff31a822705796e8cb8c18d", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                   // Addr: 0x130966628846bfd36ff31a822705796e8cb8c18d, Notional: 135.73521991085093
-		{Chain: 6, Addr: "000000000000000000000000152b9d0fdc40c096757f570a51e494bd4b943e50", Symbol: "BTC.b", CoinGeckoId: "bitcoin-avalanche-bridged-btc-b", Decimals: 8, Price: 111355},                         // Addr: 0x152b9d0fdc40c096757f570a51e494bd4b943e50, Notional: 1315.6938450500002
-		{Chain: 6, Addr: "0000000000000000000000001f1e7c893855525b303f99bdf5c3c05be09ca251", Symbol: "SYN", CoinGeckoId: "synapse-2", Decimals: 18, Price: 0.122588},                                              // Addr: 0x1f1e7c893855525b303f99bdf5c3c05be09ca251, Notional: 33.852411409919995
-		{Chain: 6, Addr: "00000000000000000000000020cf1b6e9d856321ed4686877cf4538f2c84b4de", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.0152002},                                                 // Addr: 0x20cf1b6e9d856321ed4686877cf4538f2c84b4de, Notional: 1.5200200000000001
-		{Chain: 6, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 23.171882837573303
-		{Chain: 6, Addr: "000000000000000000000000264c1383ea520f73dd837f915ef3a732e204a493", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 877.77},                                                     // Addr: 0x264c1383ea520f73dd837f915ef3a732e204a493, Notional: 11064.688260367499
-		{Chain: 6, Addr: "0000000000000000000000002b2c81e08f1af8835a78bb2a90ae924ace0ea4be", Symbol: "sAVAX", CoinGeckoId: "benqi-liquid-staked-avax", Decimals: 18, Price: 31.68},                                // Addr: 0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be, Notional: 669630.4160173056
-		{Chain: 6, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                       // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 2.25221972524395
-		{Chain: 6, Addr: "00000000000000000000000031c994ac062c1970c086260bc61babb708643fac", Symbol: "XETA", CoinGeckoId: "xana", Decimals: 18, Price: 0.00030067},                                                // Addr: 0x31c994ac062c1970c086260bc61babb708643fac, Notional: 0.0030067
-		{Chain: 6, Addr: "000000000000000000000000321e7092a180bb43555132ec53aaa65a5bf84251", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 6069.06},                                         // Addr: 0x321e7092a180bb43555132ec53aaa65a5bf84251, Notional: 27.1927874736
-		{Chain: 6, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100048},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 0.7525834667519999
-		{Chain: 6, Addr: "0000000000000000000000003419875b4d3bca7f3fdda2db7a476a79fd31b4fe", Symbol: "DZHV", CoinGeckoId: "dizzyhavoc", Decimals: 18, Price: 0.00058756},                                          // Addr: 0x3419875b4d3bca7f3fdda2db7a476a79fd31b4fe, Notional: 0.4402567015883608
-		{Chain: 6, Addr: "0000000000000000000000003eefb18003d033661f84e48360ebecd181a84709", Symbol: "ISA", CoinGeckoId: "islander", Decimals: 18, Price: 3.39143e-7},                                             // Addr: 0x3eefb18003d033661f84e48360ebecd181a84709, Notional: 0.00002594173388158317
-		{Chain: 6, Addr: "000000000000000000000000420fca0121dc28039145009570975747295f2329", Symbol: "COQ", CoinGeckoId: "coq-inu", Decimals: 18, Price: 4.48745e-7},                                              // Addr: 0x420fca0121dc28039145009570975747295f2329, Notional: 4.48745e-15
-		{Chain: 6, Addr: "000000000000000000000000431d5dff03120afa4bdf332c61a6e1766ef37bdb", Symbol: "JPYC", CoinGeckoId: "jpy-coin", Decimals: 18, Price: 0.00771999},                                            // Addr: 0x431d5dff03120afa4bdf332c61a6e1766ef37bdb, Notional: 2.6588340508867807
-		{Chain: 6, Addr: "000000000000000000000000444444444444c1a66f394025ac839a535246fcc8", Symbol: "GENI", CoinGeckoId: "genius", Decimals: 9, Price: 0.00000105},                                               // Addr: 0x444444444444c1a66f394025ac839a535246fcc8, Notional: 0.6022658606587455
-		{Chain: 6, Addr: "000000000000000000000000491a4eb4f1fc3bff8e1d2fc856a6a46663ad556f", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.181439},                                                     // Addr: 0x491a4eb4f1fc3bff8e1d2fc856a6a46663ad556f, Notional: 0.181439
-		{Chain: 6, Addr: "00000000000000000000000049d5c2bdffac6ce2bfdb6640f4f80f226bc10bab", Symbol: "WETH.e", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                 // Addr: 0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab, Notional: 20809.918447142503
-		{Chain: 6, Addr: "0000000000000000000000004bfc90322dd638f81f034517359bd447f8e0235a", Symbol: "NEWO", CoinGeckoId: "new-order", Decimals: 18, Price: 0.00152811},                                           // Addr: 0x4bfc90322dd638f81f034517359bd447f8e0235a, Notional: 12514.96124647918
-		{Chain: 6, Addr: "000000000000000000000000502580fc390606b47fc3b741d6d49909383c28a9", Symbol: "HATCHY", CoinGeckoId: "hatchypocket", Decimals: 18, Price: 0.00093335},                                      // Addr: 0x502580fc390606b47fc3b741d6d49909383c28a9, Notional: 0.0046387495
-		{Chain: 6, Addr: "0000000000000000000000005085434227ab73151fad2de546210cbc8663df96", Symbol: "DBY", CoinGeckoId: "metaderby", Decimals: 18, Price: 0.00052577},                                            // Addr: 0x5085434227ab73151fad2de546210cbc8663df96, Notional: 4679.40242238
-		{Chain: 6, Addr: "00000000000000000000000050b7545627a5162f82a992c33b87adc75187b218", Symbol: "WBTC.e", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                        // Addr: 0x50b7545627a5162f82a992c33b87adc75187b218, Notional: 3721.2798149000005
-		{Chain: 6, Addr: "000000000000000000000000564a341df6c126f90cf3ecb92120fd7190acb401", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02426952},                                               // Addr: 0x564a341df6c126f90cf3ecb92120fd7190acb401, Notional: 0.02426952
-		{Chain: 6, Addr: "0000000000000000000000005947bb275c521040051d82396192181b413227a3", Symbol: "LINK.e", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                              // Addr: 0x5947bb275c521040051d82396192181b413227a3, Notional: 2.301
-		{Chain: 6, Addr: "00000000000000000000000062edc0692bd897d2295872a9ffcac5425011c661", Symbol: "GMX", CoinGeckoId: "gmx", Decimals: 18, Price: 14.49},                                                       // Addr: 0x62edc0692bd897d2295872a9ffcac5425011c661, Notional: 52.645065102
+		{Chain: 5, Addr: "000000000000000000000000fbdd194376de19a88118e84e279b977f165d01b8", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 169.86},                                           // Addr: 0xfbdd194376de19a88118e84e279b977f165d01b8, Notional: 13512.661742973602
+		{Chain: 6, Addr: "0000000000000000000000000da67235dd5787d67955420c84ca1cecd4e5bb3b", Symbol: "wMEMO", CoinGeckoId: "wrapped-memory", Decimals: 18, Price: 87.98},                                          // Addr: 0x0da67235dd5787d67955420c84ca1cecd4e5bb3b, Notional: 34.2056456624
+		{Chain: 6, Addr: "000000000000000000000000130966628846bfd36ff31a822705796e8cb8c18d", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                          // Addr: 0x130966628846bfd36ff31a822705796e8cb8c18d, Notional: 135.75164586
+		{Chain: 6, Addr: "000000000000000000000000152b9d0fdc40c096757f570a51e494bd4b943e50", Symbol: "BTC.b", CoinGeckoId: "bitcoin-avalanche-bridged-btc-b", Decimals: 8, Price: 113951},                         // Addr: 0x152b9d0fdc40c096757f570a51e494bd4b943e50, Notional: 1346.36638981
+		{Chain: 6, Addr: "0000000000000000000000001f1e7c893855525b303f99bdf5c3c05be09ca251", Symbol: "SYN", CoinGeckoId: "synapse-2", Decimals: 18, Price: 0.113058},                                              // Addr: 0x1f1e7c893855525b303f99bdf5c3c05be09ca251, Notional: 31.22072249472
+		{Chain: 6, Addr: "00000000000000000000000020cf1b6e9d856321ed4686877cf4538f2c84b4de", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.01324262},                                                // Addr: 0x20cf1b6e9d856321ed4686877cf4538f2c84b4de, Notional: 1.324262
+		{Chain: 6, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                               // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 16.03838998055177
+		{Chain: 6, Addr: "000000000000000000000000264c1383ea520f73dd837f915ef3a732e204a493", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 1008.56},                                                    // Addr: 0x264c1383ea520f73dd837f915ef3a732e204a493, Notional: 12713.35542554
+		{Chain: 6, Addr: "0000000000000000000000002b2c81e08f1af8835a78bb2a90ae924ace0ea4be", Symbol: "sAVAX", CoinGeckoId: "benqi-liquid-staked-avax", Decimals: 18, Price: 36.73},                                // Addr: 0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be, Notional: 776373.9008938016
+		{Chain: 6, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                       // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 2.3215826944925997
+		{Chain: 6, Addr: "00000000000000000000000031c994ac062c1970c086260bc61babb708643fac", Symbol: "XETA", CoinGeckoId: "xana", Decimals: 18, Price: 0.00023803},                                                // Addr: 0x31c994ac062c1970c086260bc61babb708643fac, Notional: 0.0023803
+		{Chain: 6, Addr: "000000000000000000000000321e7092a180bb43555132ec53aaa65a5bf84251", Symbol: "gOHM", CoinGeckoId: "governance-ohm", Decimals: 18, Price: 5925.94},                                         // Addr: 0x321e7092a180bb43555132ec53aaa65a5bf84251, Notional: 26.5515297264
+		{Chain: 6, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100242},                           // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 0.7540427782079999
+		{Chain: 6, Addr: "0000000000000000000000003419875b4d3bca7f3fdda2db7a476a79fd31b4fe", Symbol: "DZHV", CoinGeckoId: "dizzyhavoc", Decimals: 18, Price: 0.00069488},                                          // Addr: 0x3419875b4d3bca7f3fdda2db7a476a79fd31b4fe, Notional: 0.5206712111098785
+		{Chain: 6, Addr: "0000000000000000000000003eefb18003d033661f84e48360ebecd181a84709", Symbol: "ISA", CoinGeckoId: "islander", Decimals: 18, Price: 4.88069e-7},                                             // Addr: 0x3eefb18003d033661f84e48360ebecd181a84709, Notional: 0.000037333384778251114
+		{Chain: 6, Addr: "000000000000000000000000420fca0121dc28039145009570975747295f2329", Symbol: "COQ", CoinGeckoId: "coq-inu", Decimals: 18, Price: 4.73733e-7},                                              // Addr: 0x420fca0121dc28039145009570975747295f2329, Notional: 4.73733e-15
+		{Chain: 6, Addr: "000000000000000000000000431d5dff03120afa4bdf332c61a6e1766ef37bdb", Symbol: "JPYC", CoinGeckoId: "jpy-coin", Decimals: 18, Price: 0.00713134},                                            // Addr: 0x431d5dff03120afa4bdf332c61a6e1766ef37bdb, Notional: 2.4560976918947994
+		{Chain: 6, Addr: "000000000000000000000000444444444444c1a66f394025ac839a535246fcc8", Symbol: "GENI", CoinGeckoId: "genius", Decimals: 9, Price: 8.51525e-7},                                               // Addr: 0x444444444444c1a66f394025ac839a535246fcc8, Notional: 0.4884232733308936
+		{Chain: 6, Addr: "000000000000000000000000491a4eb4f1fc3bff8e1d2fc856a6a46663ad556f", Symbol: "BRZ", CoinGeckoId: "brz", Decimals: 4, Price: 0.187803},                                                     // Addr: 0x491a4eb4f1fc3bff8e1d2fc856a6a46663ad556f, Notional: 0.187803
+		{Chain: 6, Addr: "00000000000000000000000049d5c2bdffac6ce2bfdb6640f4f80f226bc10bab", Symbol: "WETH.e", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                 // Addr: 0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab, Notional: 20074.0032088375
+		{Chain: 6, Addr: "0000000000000000000000004bfc90322dd638f81f034517359bd447f8e0235a", Symbol: "NEWO", CoinGeckoId: "new-order", Decimals: 18, Price: 0.00153737},                                           // Addr: 0x4bfc90322dd638f81f034517359bd447f8e0235a, Notional: 12590.799073037737
+		{Chain: 6, Addr: "000000000000000000000000502580fc390606b47fc3b741d6d49909383c28a9", Symbol: "HATCHY", CoinGeckoId: "hatchypocket", Decimals: 18, Price: 0.00088526},                                      // Addr: 0x502580fc390606b47fc3b741d6d49909383c28a9, Notional: 0.0043997422
+		{Chain: 6, Addr: "0000000000000000000000005085434227ab73151fad2de546210cbc8663df96", Symbol: "DBY", CoinGeckoId: "metaderby", Decimals: 18, Price: 0.0005516},                                             // Addr: 0x5085434227ab73151fad2de546210cbc8663df96, Notional: 4909.2918504
+		{Chain: 6, Addr: "00000000000000000000000050b7545627a5162f82a992c33b87adc75187b218", Symbol: "WBTC.e", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                        // Addr: 0x50b7545627a5162f82a992c33b87adc75187b218, Notional: 3810.9447888000004
+		{Chain: 6, Addr: "000000000000000000000000564a341df6c126f90cf3ecb92120fd7190acb401", Symbol: "TRYB", CoinGeckoId: "bilira", Decimals: 6, Price: 0.02402156},                                               // Addr: 0x564a341df6c126f90cf3ecb92120fd7190acb401, Notional: 0.02402156
+		{Chain: 6, Addr: "0000000000000000000000005947bb275c521040051d82396192181b413227a3", Symbol: "LINK.e", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                              // Addr: 0x5947bb275c521040051d82396192181b413227a3, Notional: 2.131
+		{Chain: 6, Addr: "00000000000000000000000062edc0692bd897d2295872a9ffcac5425011c661", Symbol: "GMX", CoinGeckoId: "gmx", Decimals: 18, Price: 15.12},                                                       // Addr: 0x62edc0692bd897d2295872a9ffcac5425011c661, Notional: 54.933980975999994
 		{Chain: 6, Addr: "00000000000000000000000063682bdc5f875e9bf69e201550658492c9763f89", Symbol: "BSGG", CoinGeckoId: "betswap-gg", Decimals: 18, Price: 0.0007367},                                           // Addr: 0x63682bdc5f875e9bf69e201550658492c9763f89, Notional: 0.554274428656686
-		{Chain: 6, Addr: "00000000000000000000000063a72806098bd3d9520cc43356dd78afe5d386d9", Symbol: "AAVE.e", CoinGeckoId: "aave", Decimals: 18, Price: 298.03},                                                  // Addr: 0x63a72806098bd3d9520cc43356dd78afe5d386d9, Notional: 2.8042059941999997
-		{Chain: 6, Addr: "00000000000000000000000068ee0d0aad9e1984af85ca224117e4d20eaf68be", Symbol: "ROY", CoinGeckoId: "crypto-royale", Decimals: 18, Price: 0.00095717},                                        // Addr: 0x68ee0d0aad9e1984af85ca224117e4d20eaf68be, Notional: 0.06604473
-		{Chain: 6, Addr: "0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.160055},                                                    // Addr: 0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd, Notional: 0.01760605160055
-		{Chain: 6, Addr: "000000000000000000000000714f020c54cc9d104b6f4f6998c63ce2a31d1888", Symbol: "FITFI", CoinGeckoId: "step-app-fitfi", Decimals: 18, Price: 0.0014028},                                      // Addr: 0x714f020c54cc9d104b6f4f6998c63ce2a31d1888, Notional: 0.000140280014028
+		{Chain: 6, Addr: "00000000000000000000000063a72806098bd3d9520cc43356dd78afe5d386d9", Symbol: "AAVE.e", CoinGeckoId: "aave", Decimals: 18, Price: 274.44},                                                  // Addr: 0x63a72806098bd3d9520cc43356dd78afe5d386d9, Notional: 2.5822443816
+		{Chain: 6, Addr: "00000000000000000000000068ee0d0aad9e1984af85ca224117e4d20eaf68be", Symbol: "ROY", CoinGeckoId: "crypto-royale", Decimals: 18, Price: 0.00069585},                                        // Addr: 0x68ee0d0aad9e1984af85ca224117e4d20eaf68be, Notional: 0.048013650000000005
+		{Chain: 6, Addr: "0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.155262},                                                    // Addr: 0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd, Notional: 0.01707882155262
+		{Chain: 6, Addr: "000000000000000000000000714f020c54cc9d104b6f4f6998c63ce2a31d1888", Symbol: "FITFI", CoinGeckoId: "step-app-fitfi", Decimals: 18, Price: 0.00114094},                                     // Addr: 0x714f020c54cc9d104b6f4f6998c63ce2a31d1888, Notional: 0.0001140940114094
 		{Chain: 6, Addr: "000000000000000000000000820802fa8a99901f52e39acd21177b0be6ee2974", Symbol: "EUROe", CoinGeckoId: "euroe-stablecoin", Decimals: 6, Price: 1.17},                                          // Addr: 0x820802fa8a99901f52e39acd21177b0be6ee2974, Notional: 1.54341603
-		{Chain: 6, Addr: "0000000000000000000000008729438eb15e2c8b576fcc6aecda6a148776c0f5", Symbol: "QI", CoinGeckoId: "benqi", Decimals: 18, Price: 0.00722043},                                                 // Addr: 0x8729438eb15e2c8b576fcc6aecda6a148776c0f5, Notional: 0.00722043
-		{Chain: 6, Addr: "0000000000000000000000008929e9dbd2785e3ba16175e596cdd61520fee0d1", Symbol: "ALTD", CoinGeckoId: "altitude", Decimals: 18, Price: 0.00078886},                                            // Addr: 0x8929e9dbd2785e3ba16175e596cdd61520fee0d1, Notional: 0.0570559166077798
-		{Chain: 6, Addr: "0000000000000000000000008f47416cae600bccf9530e9f3aeaa06bdd1caa79", Symbol: "THOR", CoinGeckoId: "thor", Decimals: 18, Price: 0.01426214},                                                // Addr: 0x8f47416cae600bccf9530e9f3aeaa06bdd1caa79, Notional: 0.0640298812381564
+		{Chain: 6, Addr: "0000000000000000000000008729438eb15e2c8b576fcc6aecda6a148776c0f5", Symbol: "QI", CoinGeckoId: "benqi", Decimals: 18, Price: 0.00773877},                                                 // Addr: 0x8729438eb15e2c8b576fcc6aecda6a148776c0f5, Notional: 0.00773877
+		{Chain: 6, Addr: "0000000000000000000000008929e9dbd2785e3ba16175e596cdd61520fee0d1", Symbol: "ALTD", CoinGeckoId: "altitude", Decimals: 18, Price: 0.00076324},                                            // Addr: 0x8929e9dbd2785e3ba16175e596cdd61520fee0d1, Notional: 0.0552028975885732
+		{Chain: 6, Addr: "0000000000000000000000008f47416cae600bccf9530e9f3aeaa06bdd1caa79", Symbol: "THOR", CoinGeckoId: "thor", Decimals: 18, Price: 0.01281275},                                                // Addr: 0x8f47416cae600bccf9530e9f3aeaa06bdd1caa79, Notional: 0.057522844456314996
 		{Chain: 6, Addr: "000000000000000000000000921f99719eb6c01b4b8f0ba7973a7c24891e740a", Symbol: "MAGE", CoinGeckoId: "metabrands", Decimals: 18, Price: 0.01934287},                                          // Addr: 0x921f99719eb6c01b4b8f0ba7973a7c24891e740a, Notional: 536.0410470152927
-		{Chain: 6, Addr: "000000000000000000000000961c8c0b1aad0c0b10a51fef6a867e3091bcef17", Symbol: "DYP", CoinGeckoId: "defi-yield-protocol", Decimals: 18, Price: 0.0437203},                                   // Addr: 0x961c8c0b1aad0c0b10a51fef6a867e3091bcef17, Notional: 265.10485311845355
+		{Chain: 6, Addr: "000000000000000000000000961c8c0b1aad0c0b10a51fef6a867e3091bcef17", Symbol: "DYP", CoinGeckoId: "defi-yield-protocol", Decimals: 18, Price: 0.00469648},                                  // Addr: 0x961c8c0b1aad0c0b10a51fef6a867e3091bcef17, Notional: 28.477838454305093
 		{Chain: 6, Addr: "0000000000000000000000009702230a8ea53601f5cd2dc00fdbc13d4df4a8c7", Symbol: "USDt", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7, Notional: 26512.171496
-		{Chain: 6, Addr: "00000000000000000000000098443b96ea4b0858fdf3219cd13e98c7a4690588", Symbol: "BAT.e", CoinGeckoId: "basic-attention-token", Decimals: 18, Price: 0.156863},                                // Addr: 0x98443b96ea4b0858fdf3219cd13e98c7a4690588, Notional: 7.76678251747167
-		{Chain: 6, Addr: "000000000000000000000000a4fb4f0ff2431262d236778495145ecbc975c38b", Symbol: "INFRA.e", CoinGeckoId: "bware-infra", Decimals: 18, Price: 0.10328},                                         // Addr: 0xa4fb4f0ff2431262d236778495145ecbc975c38b, Notional: 0.0123936
-		{Chain: 6, Addr: "000000000000000000000000a7d7079b0fead91f3e65f86e8915cb59c1a4c664", Symbol: "USDC.e", CoinGeckoId: "usd-coin-avalanche-bridged-usdc-e", Decimals: 6, Price: 0.999872},                    // Addr: 0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664, Notional: 29823.30242360224
-		{Chain: 6, Addr: "000000000000000000000000b279f8dd152b99ec1d84a489d32c35bc0c7f5674", Symbol: "STEAK", CoinGeckoId: "steakhut-finance", Decimals: 18, Price: 0.068043},                                     // Addr: 0xb279f8dd152b99ec1d84a489d32c35bc0c7f5674, Notional: 0.37582242242895003
-		{Chain: 6, Addr: "000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7", Symbol: "WAVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 25.9},                                             // Addr: 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7, Notional: 8417876.585199948
-		{Chain: 6, Addr: "000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e, Notional: 127479.73988806937
-		{Chain: 6, Addr: "000000000000000000000000bbaaa0420d474b34be197f95a323c2ff3829e811", Symbol: "LODE", CoinGeckoId: "lode-token", Decimals: 18, Price: 0.00140326},                                          // Addr: 0xbbaaa0420d474b34be197f95a323c2ff3829e811, Notional: 0.000049114100000000005
+		{Chain: 6, Addr: "00000000000000000000000098443b96ea4b0858fdf3219cd13e98c7a4690588", Symbol: "BAT.e", CoinGeckoId: "basic-attention-token", Decimals: 18, Price: 0.139705},                                // Addr: 0x98443b96ea4b0858fdf3219cd13e98c7a4690588, Notional: 6.9172357509634494
+		{Chain: 6, Addr: "000000000000000000000000a4fb4f0ff2431262d236778495145ecbc975c38b", Symbol: "INFRA.e", CoinGeckoId: "bware-infra", Decimals: 18, Price: 0.095673},                                        // Addr: 0xa4fb4f0ff2431262d236778495145ecbc975c38b, Notional: 0.01148076
+		{Chain: 6, Addr: "000000000000000000000000a7d7079b0fead91f3e65f86e8915cb59c1a4c664", Symbol: "USDC.e", CoinGeckoId: "usd-coin-avalanche-bridged-usdc-e", Decimals: 6, Price: 0.999611},                    // Addr: 0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664, Notional: 29815.517545205246
+		{Chain: 6, Addr: "000000000000000000000000b279f8dd152b99ec1d84a489d32c35bc0c7f5674", Symbol: "STEAK", CoinGeckoId: "steakhut-finance", Decimals: 18, Price: 0.07396},                                      // Addr: 0xb279f8dd152b99ec1d84a489d32c35bc0c7f5674, Notional: 0.40850383379399996
+		{Chain: 6, Addr: "000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7", Symbol: "WAVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 29.98},                                            // Addr: 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7, Notional: 9067770.291040406
+		{Chain: 6, Addr: "000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: 0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e, Notional: 127484.91681124497
+		{Chain: 6, Addr: "000000000000000000000000bbaaa0420d474b34be197f95a323c2ff3829e811", Symbol: "LODE", CoinGeckoId: "lode-token", Decimals: 18, Price: 0.00061324},                                          // Addr: 0xbbaaa0420d474b34be197f95a323c2ff3829e811, Notional: 0.000021463400000000002
 		{Chain: 6, Addr: "000000000000000000000000bd100d061e120b2c67a24453cf6368e63f1be056", Symbol: "iDYP", CoinGeckoId: "idefiyieldprotocol", Decimals: 18, Price: 0.00032408},                                  // Addr: 0xbd100d061e120b2c67a24453cf6368e63f1be056, Notional: 0.000032408
-		{Chain: 6, Addr: "000000000000000000000000c0c5aa69dbe4d6dddfbc89c0957686ec60f24389", Symbol: "aXEN", CoinGeckoId: "xen-crypto", Decimals: 18, Price: 2.9731e-8},                                           // Addr: 0xc0c5aa69dbe4d6dddfbc89c0957686ec60f24389, Notional: 38.24374120173509
-		{Chain: 6, Addr: "000000000000000000000000c17c30e98541188614df99239cabd40280810ca3", Symbol: "RISE", CoinGeckoId: "everrise", Decimals: 18, Price: 0.0000552},                                             // Addr: 0xc17c30e98541188614df99239cabd40280810ca3, Notional: 1.175545685932656
-		{Chain: 6, Addr: "000000000000000000000000c7198437980c041c805a1edcba50c1ce5db95118", Symbol: "USDT.e", CoinGeckoId: "tether-avalanche-bridged-usdt-e", Decimals: 6, Price: 0.999257},                      // Addr: 0xc7198437980c041c805a1edcba50c1ce5db95118, Notional: 6483.842478977892
-		{Chain: 6, Addr: "000000000000000000000000ce1bffbd5374dac86a2893119683f4911a2f7814", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00048293},                                        // Addr: 0xce1bffbd5374dac86a2893119683f4911a2f7814, Notional: 26.530431962467926
-		{Chain: 6, Addr: "000000000000000000000000d24c2ad096400b6fbcd2ad8b24e7acbc21a1da64", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                  // Addr: 0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64, Notional: 7.47716662548348
-		{Chain: 6, Addr: "000000000000000000000000d402298a793948698b9a63311404fbbee944eafd", Symbol: "SHRAP", CoinGeckoId: "shrapnel-2", Decimals: 18, Price: 0.00373559},                                         // Addr: 0xd402298a793948698b9a63311404fbbee944eafd, Notional: 0.113075935741
-		{Chain: 6, Addr: "000000000000000000000000d586e7f844cea2f87f50152665bcbc2c279d8d70", Symbol: "DAI.e", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                         // Addr: 0xd586e7f844cea2f87f50152665bcbc2c279d8d70, Notional: 873.17756534
-		{Chain: 6, Addr: "000000000000000000000000e8385cecb013561b69beb63ff59f4d10734881f3", Symbol: "GEC", CoinGeckoId: "gecko-inu", Decimals: 18, Price: 4.456e-9},                                              // Addr: 0xe8385cecb013561b69beb63ff59f4d10734881f3, Notional: 0.4588359488870846
-		{Chain: 6, Addr: "000000000000000000000000ec3492a2508ddf4fdc0cd76f31f340b30d1793e6", Symbol: "CLY", CoinGeckoId: "colony", Decimals: 18, Price: 0.088115},                                                 // Addr: 0xec3492a2508ddf4fdc0cd76f31f340b30d1793e6, Notional: 0.088115
-		{Chain: 6, Addr: "000000000000000000000000ed2b42d3c9c6e97e11755bb37df29b6375ede3eb", Symbol: "HON", CoinGeckoId: "heroes-of-nft", Decimals: 18, Price: 0.00709123},                                        // Addr: 0xed2b42d3c9c6e97e11755bb37df29b6375ede3eb, Notional: 0.021444805421901098
-		{Chain: 6, Addr: "000000000000000000000000fab550568c688d5d8a52c7d794cb93edc26ec0ec", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                    // Addr: 0xfab550568c688d5d8a52c7d794cb93edc26ec0ec, Notional: 0.6
-		{Chain: 6, Addr: "000000000000000000000000fb98b335551a418cd0737375a2ea0ded62ea213b", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.69},                                                  // Addr: 0xfb98b335551a418cd0737375a2ea0ded62ea213b, Notional: 497.13726619900007
-		{Chain: 7, Addr: "00000000000000000000000021c718c22d52d0f3a789b752d4c2fd5908a8a733", Symbol: "wROSE", CoinGeckoId: "oasis-network", Decimals: 18, Price: 0.02737045},                                      // Addr: 0x21c718c22d52d0f3a789b752d4c2fd5908a8a733, Notional: 48311.228700217325
-		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000000000000", Symbol: "ALGO", CoinGeckoId: "algorand", Decimals: 6, Price: 0.23307},                                                // Addr: 0, Notional: 988.6855939680898
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000000029fcf5", Symbol: "RIO", CoinGeckoId: "realio-network", Decimals: 7, Price: 0.268068},                                          // Addr: 2751733, Notional: 3148.9376890182443
-		{Chain: 8, Addr: "00000000000000000000000000000000000000000000000000000000019e8502", Symbol: "Planets", CoinGeckoId: "planetwatch", Decimals: 6, Price: 0.00001249},                                       // Addr: 27165954, Notional: 0.012490000000000001
-		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000001e1ab70", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 31566704, Notional: 13878.825649865334
-		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000008338636", Symbol: "HDL", CoinGeckoId: "headline", Decimals: 6, Price: 0.00224682},                                              // Addr: 137594422, Notional: 83.36348445197412
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000000d83314a", Symbol: "YLDY", CoinGeckoId: "yieldly", Decimals: 6, Price: 0.00000489},                                              // Addr: 226701642, Notional: 3.3332315418592198
-		{Chain: 8, Addr: "00000000000000000000000000000000000000000000000000000000112883e4", Symbol: "OPUL", CoinGeckoId: "opulous", Decimals: 8, Price: 0.0304063},                                               // Addr: 287867876, Notional: 15.902798963
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001704d555", Symbol: "goBTC", CoinGeckoId: "gobtc", Decimals: 8, Price: 111576},                                                   // Addr: 386192725, Notional: 230.74697832
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001704e1e4", Symbol: "goETH", CoinGeckoId: "goeth", Decimals: 8, Price: 4270.88},                                                  // Addr: 386195940, Notional: 134.925213872
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001729723f", Symbol: "chip", CoinGeckoId: "algo-casino-chips", Decimals: 1, Price: 1.6795e-8},                                     // Addr: 388592191, Notional: 0.000007198337
+		{Chain: 6, Addr: "000000000000000000000000c0c5aa69dbe4d6dddfbc89c0957686ec60f24389", Symbol: "aXEN", CoinGeckoId: "xen-crypto", Decimals: 18, Price: 2.6778e-8},                                           // Addr: 0xc0c5aa69dbe4d6dddfbc89c0957686ec60f24389, Notional: 34.445222222598034
+		{Chain: 6, Addr: "000000000000000000000000c17c30e98541188614df99239cabd40280810ca3", Symbol: "RISE", CoinGeckoId: "everrise", Decimals: 18, Price: 0.0000523},                                             // Addr: 0xc17c30e98541188614df99239cabd40280810ca3, Notional: 1.113786945186194
+		{Chain: 6, Addr: "000000000000000000000000c7198437980c041c805a1edcba50c1ce5db95118", Symbol: "USDT.e", CoinGeckoId: "tether-avalanche-bridged-usdt-e", Decimals: 6, Price: 0.999851},                      // Addr: 0xc7198437980c041c805a1edcba50c1ce5db95118, Notional: 6487.696745130157
+		{Chain: 6, Addr: "000000000000000000000000ce1bffbd5374dac86a2893119683f4911a2f7814", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00043268},                                        // Addr: 0xce1bffbd5374dac86a2893119683f4911a2f7814, Notional: 23.769878246372397
+		{Chain: 6, Addr: "000000000000000000000000d24c2ad096400b6fbcd2ad8b24e7acbc21a1da64", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                  // Addr: 0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64, Notional: 7.476896787461159
+		{Chain: 6, Addr: "000000000000000000000000d402298a793948698b9a63311404fbbee944eafd", Symbol: "SHRAP", CoinGeckoId: "shrapnel-2", Decimals: 18, Price: 0.00304064},                                         // Addr: 0xd402298a793948698b9a63311404fbbee944eafd, Notional: 0.092039868736
+		{Chain: 6, Addr: "000000000000000000000000d586e7f844cea2f87f50152665bcbc2c279d8d70", Symbol: "DAI.e", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                  // Addr: 0xd586e7f844cea2f87f50152665bcbc2c279d8d70, Notional: 873.0020566493666
+		{Chain: 6, Addr: "000000000000000000000000e8385cecb013561b69beb63ff59f4d10734881f3", Symbol: "GEC", CoinGeckoId: "gecko-inu", Decimals: 18, Price: 5.197e-9},                                              // Addr: 0xe8385cecb013561b69beb63ff59f4d10734881f3, Notional: 0.5351369897590168
+		{Chain: 6, Addr: "000000000000000000000000ec3492a2508ddf4fdc0cd76f31f340b30d1793e6", Symbol: "CLY", CoinGeckoId: "colony", Decimals: 18, Price: 0.083233},                                                 // Addr: 0xec3492a2508ddf4fdc0cd76f31f340b30d1793e6, Notional: 0.083233
+		{Chain: 6, Addr: "000000000000000000000000ed2b42d3c9c6e97e11755bb37df29b6375ede3eb", Symbol: "HON", CoinGeckoId: "heroes-of-nft", Decimals: 18, Price: 0.00805922},                                        // Addr: 0xed2b42d3c9c6e97e11755bb37df29b6375ede3eb, Notional: 0.024372133572355403
+		{Chain: 6, Addr: "000000000000000000000000fab550568c688d5d8a52c7d794cb93edc26ec0ec", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                             // Addr: 0xfab550568c688d5d8a52c7d794cb93edc26ec0ec, Notional: 0.5996676
+		{Chain: 6, Addr: "000000000000000000000000fb98b335551a418cd0737375a2ea0ded62ea213b", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.47},                                                  // Addr: 0xfb98b335551a418cd0737375a2ea0ded62ea213b, Notional: 473.81739443699996
+		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000000000000", Symbol: "ALGO", CoinGeckoId: "algorand", Decimals: 6, Price: 0.207956},                                               // Addr: 0, Notional: 882.1517199949719
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000000029fcf5", Symbol: "RIO", CoinGeckoId: "realio-network", Decimals: 7, Price: 0.226915},                                          // Addr: 2751733, Notional: 2665.522164911795
+		{Chain: 8, Addr: "00000000000000000000000000000000000000000000000000000000019e8502", Symbol: "Planets", CoinGeckoId: "planetwatch", Decimals: 6, Price: 0.00001812},                                       // Addr: 27165954, Notional: 0.01812
+		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000001e1ab70", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                               // Addr: 31566704, Notional: 13678.912164070889
+		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000008338636", Symbol: "HDL", CoinGeckoId: "headline", Decimals: 6, Price: 0.00208432},                                              // Addr: 137594422, Notional: 77.33426705874912
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000000d83314a", Symbol: "YLDY", CoinGeckoId: "yieldly", Decimals: 6, Price: 0.00000455},                                              // Addr: 226701642, Notional: 3.1014731115458996
+		{Chain: 8, Addr: "00000000000000000000000000000000000000000000000000000000112883e4", Symbol: "OPUL", CoinGeckoId: "opulous", Decimals: 8, Price: 0.02092715},                                              // Addr: 287867876, Notional: 10.945108721499999
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001704d555", Symbol: "goBTC", CoinGeckoId: "gobtc", Decimals: 8, Price: 113694},                                                   // Addr: 386192725, Notional: 235.12715058
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001704e1e4", Symbol: "goETH", CoinGeckoId: "goeth", Decimals: 8, Price: 4125.39},                                                  // Addr: 386195940, Notional: 130.32890834100002
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001729723f", Symbol: "chip", CoinGeckoId: "algo-casino-chips", Decimals: 1, Price: 1.5004e-8},                                     // Addr: 388592191, Notional: 0.000006430714400000001
 		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001a777316", Symbol: "ZONE", CoinGeckoId: "zone", Decimals: 6, Price: 0.00061667},                                                 // Addr: 444035862, Notional: 0.00555003
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001dc164ef", Symbol: "MCOIN", CoinGeckoId: "maricoin", Decimals: 3, Price: 0.00064098},                                            // Addr: 499213551, Notional: 15740.296754019659
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000002f461f17", Symbol: "gALGO", CoinGeckoId: "governance-algo", Decimals: 6, Price: 0.233912},                                       // Addr: 793124631, Notional: 0.0467824
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000002f787b65", Symbol: "COOP", CoinGeckoId: "coop-coin", Decimals: 6, Price: 0.0152865},                                             // Addr: 796425061, Notional: 487.0441460156895
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000001dc164ef", Symbol: "MCOIN", CoinGeckoId: "maricoin", Decimals: 3, Price: 0.00057303},                                            // Addr: 499213551, Notional: 14071.675011632009
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000002f461f17", Symbol: "gALGO", CoinGeckoId: "governance-algo", Decimals: 6, Price: 0.207575},                                       // Addr: 793124631, Notional: 0.041515
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000002f787b65", Symbol: "COOP", CoinGeckoId: "coop-coin", Decimals: 6, Price: 0.01435422},                                            // Addr: 796425061, Notional: 460.141767590055
 		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000003717361a", Symbol: "FRY", CoinGeckoId: "fryscrypto", Decimals: 6, Price: 0.206031},                                              // Addr: 924268058, Notional: 8578520.739424603
-		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000043dc2404", Symbol: "GORA", CoinGeckoId: "goracle-network", Decimals: 8, Price: 0.02105193},                                      // Addr: 1138500612, Notional: 0.09410899108177649
-		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000009422e582", Symbol: "FRY", CoinGeckoId: "fry", Decimals: 6, Price: 0.02152905},                                                   // Addr: 2485314946, Notional: 215.2905
-		{Chain: 9, Addr: "0000000000000000000000004988a896b1227218e4a686fde5eabdcabd91571f", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                        // Addr: 0x4988a896b1227218e4a686fde5eabdcabd91571f, Notional: 507.188226
-		{Chain: 9, Addr: "0000000000000000000000005ce9f0b6afb36135b5ddbf11705ceb65e634a9dc", Symbol: "atUST", CoinGeckoId: "wrapped-ust", Decimals: 18, Price: 0.01362849},                                        // Addr: 0x5ce9f0b6afb36135b5ddbf11705ceb65e634a9dc, Notional: 0.0135343228580658
-		{Chain: 9, Addr: "0000000000000000000000007ca1c28663b76cfde424a9494555b94846205585", Symbol: "XNL", CoinGeckoId: "chronicle", Decimals: 18, Price: 0.00168044},                                            // Addr: 0x7ca1c28663b76cfde424a9494555b94846205585, Notional: 0.26382908
-		{Chain: 9, Addr: "0000000000000000000000008bec47865ade3b172a928df8f990bc7f2a3b9f79", Symbol: "AURORA", CoinGeckoId: "aurora-near", Decimals: 18, Price: 0.081146},                                         // Addr: 0x8bec47865ade3b172a928df8f990bc7f2a3b9f79, Notional: 0.0000040573
-		{Chain: 9, Addr: "000000000000000000000000b12bfca5a55806aaf64e99521918a4bf0fc40802", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                               // Addr: 0xb12bfca5a55806aaf64e99521918a4bf0fc40802, Notional: 329.487419141754
-		{Chain: 9, Addr: "000000000000000000000000c4bdd27c33ec7daa6fcfd8532ddb524bf4038096", Symbol: "atLUNA", CoinGeckoId: "wrapped-terra", Decimals: 18, Price: 0.00003023},                                     // Addr: 0xc4bdd27c33ec7daa6fcfd8532ddb524bf4038096, Notional: 0.0253801366523607
-		{Chain: 9, Addr: "000000000000000000000000c9bdeed33cd01541e1eed10f90519d2c06fe3feb", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                   // Addr: 0xc9bdeed33cd01541e1eed10f90519d2c06fe3feb, Notional: 11368.3917101
-		{Chain: 9, Addr: "000000000000000000000000dcd6d4e2b3e1d1e1e6fa8c21c8a323dcbecff970", Symbol: "ROSE", CoinGeckoId: "rose", Decimals: 18, Price: 0.00007776},                                                // Addr: 0xdcd6d4e2b3e1d1e1e6fa8c21c8a323dcbecff970, Notional: 0.00785376
-		{Chain: 10, Addr: "00000000000000000000000004068da6c83afcfa0e13ba15a6696662335d5b75", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x04068da6c83afcfa0e13ba15a6696662335d5b75, Notional: 207738.41283594503
+		{Chain: 8, Addr: "0000000000000000000000000000000000000000000000000000000043dc2404", Symbol: "GORA", CoinGeckoId: "goracle-network", Decimals: 8, Price: 0.01992305},                                      // Addr: 1138500612, Notional: 0.08906252941045249
+		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000009422e582", Symbol: "FRY", CoinGeckoId: "fry", Decimals: 6, Price: 0.01510548},                                                   // Addr: 2485314946, Notional: 151.0548
+		{Chain: 10, Addr: "00000000000000000000000004068da6c83afcfa0e13ba15a6696662335d5b75", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x04068da6c83afcfa0e13ba15a6696662335d5b75, Notional: 207706.00104106774
 		{Chain: 10, Addr: "000000000000000000000000049d68029688eabf473097a2fc38ef61633a3c7a", Symbol: "fUSDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                      // Addr: 0x049d68029688eabf473097a2fc38ef61633a3c7a, Notional: 2466.550891
-		{Chain: 10, Addr: "0000000000000000000000000615dbba33fe61a31c7ed131bda6655ed76748b1", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.0152002},                                                // Addr: 0x0615dbba33fe61a31c7ed131bda6655ed76748b1, Notional: 9.041982234013028
+		{Chain: 10, Addr: "0000000000000000000000000615dbba33fe61a31c7ed131bda6655ed76748b1", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.01324262},                                               // Addr: 0x0615dbba33fe61a31c7ed131bda6655ed76748b1, Notional: 7.877497320547467
 		{Chain: 10, Addr: "000000000000000000000000174c7106aeecdc11389f7dd21342f05f46ccb40f", Symbol: "DEVIL", CoinGeckoId: "devil-finance", Decimals: 18, Price: 0.00005134},                                     // Addr: 0x174c7106aeecdc11389f7dd21342f05f46ccb40f, Notional: 0.11294800000102678
-		{Chain: 10, Addr: "0000000000000000000000001b6382dbdea11d97f24495c9a90b7c88469134a4", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                   // Addr: 0x1b6382dbdea11d97f24495c9a90b7c88469134a4, Notional: 11.084277
-		{Chain: 10, Addr: "0000000000000000000000001e4f97b9f9f913c46f1632781732927b9019c68b", Symbol: "CRV", CoinGeckoId: "curve-dao-token", Decimals: 18, Price: 0.772564},                                       // Addr: 0x1e4f97b9f9f913c46f1632781732927b9019c68b, Notional: 8041.561425608318
+		{Chain: 10, Addr: "0000000000000000000000001b6382dbdea11d97f24495c9a90b7c88469134a4", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                            // Addr: 0x1b6382dbdea11d97f24495c9a90b7c88469134a4, Notional: 11.078136310542
+		{Chain: 10, Addr: "0000000000000000000000001e4f97b9f9f913c46f1632781732927b9019c68b", Symbol: "CRV", CoinGeckoId: "curve-dao-token", Decimals: 18, Price: 0.688463},                                       // Addr: 0x1e4f97b9f9f913c46f1632781732927b9019c68b, Notional: 7166.160348862463
 		{Chain: 10, Addr: "0000000000000000000000002130d2a1e51112d349ccf78d2a1ee65843ba36e0", Symbol: "UNIDX", CoinGeckoId: "unidex", Decimals: 18, Price: 0.145583},                                              // Addr: 0x2130d2a1e51112d349ccf78d2a1ee65843ba36e0, Notional: 0.4596689061915599
-		{Chain: 10, Addr: "00000000000000000000000021ada0d2ac28c3a5fa3cd2ee30882da8812279b6", Symbol: "OATH", CoinGeckoId: "oath", Decimals: 18, Price: 0.00062345},                                               // Addr: 0x21ada0d2ac28c3a5fa3cd2ee30882da8812279b6, Notional: 0.062345
-		{Chain: 10, Addr: "00000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83", Symbol: "WFTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.3056},                                         // Addr: 0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83, Notional: 43916.764927338496
-		{Chain: 10, Addr: "000000000000000000000000248cb87dda803028dfead98101c9465a2fbda0d4", Symbol: "CHARM", CoinGeckoId: "charm", Decimals: 18, Price: 4.47187e-7},                                             // Addr: 0x248cb87dda803028dfead98101c9465a2fbda0d4, Notional: 0.001788748
-		{Chain: 10, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                              // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 0.0387684
+		{Chain: 10, Addr: "00000000000000000000000021ada0d2ac28c3a5fa3cd2ee30882da8812279b6", Symbol: "OATH", CoinGeckoId: "oath", Decimals: 18, Price: 0.00056672},                                               // Addr: 0x21ada0d2ac28c3a5fa3cd2ee30882da8812279b6, Notional: 0.05667200000000001
+		{Chain: 10, Addr: "00000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83", Symbol: "WFTM", CoinGeckoId: "wrapped-fantom", Decimals: 18, Price: 0.253219},                                       // Addr: 0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83, Notional: 36508.744175001186
+		{Chain: 10, Addr: "000000000000000000000000248cb87dda803028dfead98101c9465a2fbda0d4", Symbol: "CHARM", CoinGeckoId: "charm", Decimals: 18, Price: 4.01316e-7},                                             // Addr: 0x248cb87dda803028dfead98101c9465a2fbda0d4, Notional: 0.001605264
+		{Chain: 10, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                              // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 0.0268335
 		{Chain: 10, Addr: "000000000000000000000000260b3e40c714ce8196465ec824cd8bb915081812", Symbol: "IronICE", CoinGeckoId: "iron-bsc", Decimals: 18, Price: 0.0161403},                                         // Addr: 0x260b3e40c714ce8196465ec824cd8bb915081812, Notional: 36.837329496
 		{Chain: 10, Addr: "00000000000000000000000027e611fd27b276acbd5ffd632e5eaebec9761e40", Symbol: "DAI+USDC", CoinGeckoId: "curve-fi-dai-usdc", Decimals: 18, Price: 1},                                       // Addr: 0x27e611fd27b276acbd5ffd632e5eaebec9761e40, Notional: 17.51097737
-		{Chain: 10, Addr: "00000000000000000000000028a92dde19d9989f39a49905d7c9c2fac7799bdf", Symbol: "USDC", CoinGeckoId: "layerzero-usdc", Decimals: 6, Price: 0.759461},                                        // Addr: 0x28a92dde19d9989f39a49905d7c9c2fac7799bdf, Notional: 1917.1863444736452
-		{Chain: 10, Addr: "00000000000000000000000029b0da86e484e1c0029b56e817912d778ac0ec69", Symbol: "YFI", CoinGeckoId: "yearn-finance", Decimals: 18, Price: 5341.42},                                          // Addr: 0x29b0da86e484e1c0029b56e817912d778ac0ec69, Notional: 55.016626
-		{Chain: 10, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                      // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 2.40163772163099
-		{Chain: 10, Addr: "0000000000000000000000002f733095b80a04b38b0d10cc884524a3d09b836a", Symbol: "USDC.e", CoinGeckoId: "wormhole-bridged-usdc-fantom", Decimals: 6, Price: 0.766981},                        // Addr: 0x2f733095b80a04b38b0d10cc884524a3d09b836a, Notional: 4561.146804808757
-		{Chain: 10, Addr: "000000000000000000000000321162cd933e2be498cd2267a90534a804051b11", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                          // Addr: 0x321162cd933e2be498cd2267a90534a804051b11, Notional: 120204.55066464
-		{Chain: 10, Addr: "0000000000000000000000003dc57b391262e3aae37a08d91241f9ba9d58b570", Symbol: "YOSHI", CoinGeckoId: "yoshi-exchange", Decimals: 18, Price: 0.00591999},                                    // Addr: 0x3dc57b391262e3aae37a08d91241f9ba9d58b570, Notional: 0.005327991
-		{Chain: 10, Addr: "00000000000000000000000040df1ae6074c35047bff66675488aa2f9f6384f3", Symbol: "MATIC", CoinGeckoId: "wmatic", Decimals: 18, Price: 0.269291},                                              // Addr: 0x40df1ae6074c35047bff66675488aa2f9f6384f3, Notional: 1052.099417680177
+		{Chain: 10, Addr: "00000000000000000000000028a92dde19d9989f39a49905d7c9c2fac7799bdf", Symbol: "USDC", CoinGeckoId: "layerzero-usdc", Decimals: 6, Price: 0.758794},                                        // Addr: 0x28a92dde19d9989f39a49905d7c9c2fac7799bdf, Notional: 1915.50256704233
+		{Chain: 10, Addr: "00000000000000000000000029b0da86e484e1c0029b56e817912d778ac0ec69", Symbol: "YFI", CoinGeckoId: "yearn-finance", Decimals: 18, Price: 5386.85},                                          // Addr: 0x29b0da86e484e1c0029b56e817912d778ac0ec69, Notional: 55.48455500000001
+		{Chain: 10, Addr: "0000000000000000000000002f6f07cdcf3588944bf4c42ac74ff24bf56e7590", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                      // Addr: 0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590, Notional: 2.47560240703212
+		{Chain: 10, Addr: "0000000000000000000000002f733095b80a04b38b0d10cc884524a3d09b836a", Symbol: "USDC.e", CoinGeckoId: "wormhole-bridged-usdc-fantom", Decimals: 6, Price: 0.767699},                        // Addr: 0x2f733095b80a04b38b0d10cc884524a3d09b836a, Notional: 4565.416667303203
+		{Chain: 10, Addr: "000000000000000000000000321162cd933e2be498cd2267a90534a804051b11", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                          // Addr: 0x321162cd933e2be498cd2267a90534a804051b11, Notional: 123100.90311167999
+		{Chain: 10, Addr: "0000000000000000000000003dc57b391262e3aae37a08d91241f9ba9d58b570", Symbol: "YOSHI", CoinGeckoId: "yoshi-exchange", Decimals: 18, Price: 0.00542337},                                    // Addr: 0x3dc57b391262e3aae37a08d91241f9ba9d58b570, Notional: 0.004881033000000001
+		{Chain: 10, Addr: "00000000000000000000000040df1ae6074c35047bff66675488aa2f9f6384f3", Symbol: "MATIC", CoinGeckoId: "wmatic", Decimals: 18, Price: 0.224398},                                              // Addr: 0x40df1ae6074c35047bff66675488aa2f9f6384f3, Notional: 876.705887417687
 		{Chain: 10, Addr: "00000000000000000000000042ae8468a1fddb965d420bd71368a87ec3a2b4b8", Symbol: "Metti", CoinGeckoId: "metti-inu", Decimals: 18, Price: 1.5292e-11},                                         // Addr: 0x42ae8468a1fddb965d420bd71368a87ec3a2b4b8, Notional: 0.000001743288
-		{Chain: 10, Addr: "00000000000000000000000044f7237df00e386af8e79b817d05ed9f6fe0f296", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 18, Price: 215.57},                                          // Addr: 0x44f7237df00e386af8e79b817d05ed9f6fe0f296, Notional: 2728.8618079987
-		{Chain: 10, Addr: "000000000000000000000000468003b688943977e6130f4f68f23aad939a1040", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00048293},                                       // Addr: 0x468003b688943977e6130f4f68f23aad939a1040, Notional: 0.09600981711524981
-		{Chain: 10, Addr: "000000000000000000000000511d35c52a3c244e7b8bd92c0c297755fbd89212", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 25.9},                                             // Addr: 0x511d35c52a3c244e7b8bd92c0c297755fbd89212, Notional: 1228.132274586
-		{Chain: 10, Addr: "000000000000000000000000526f1dc408cfe7fc5330ab9f1e78474ceff2a5dd", Symbol: "VEMP", CoinGeckoId: "vempire-ddao", Decimals: 18, Price: 0.00075799},                                       // Addr: 0x526f1dc408cfe7fc5330ab9f1e78474ceff2a5dd, Notional: 1.2461355600000001
-		{Chain: 10, Addr: "00000000000000000000000056ee926bd8c72b2d5fa1af4d9e4cbb515a1e3adc", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 0.685763},                                                // Addr: 0x56ee926bd8c72b2d5fa1af4d9e4cbb515a1e3adc, Notional: 0.11749331775675
-		{Chain: 10, Addr: "0000000000000000000000005c4fdfc5233f935f20d2adba572f770c2e377ab0", Symbol: "HEC", CoinGeckoId: "hector-dao", Decimals: 9, Price: 0.01535548},                                           // Addr: 0x5c4fdfc5233f935f20d2adba572f770c2e377ab0, Notional: 6.345680512724247
-		{Chain: 10, Addr: "0000000000000000000000005d5530eb3147152fe78d5c4bfeede054c8d1442a", Symbol: "FEED", CoinGeckoId: "feeder-finance", Decimals: 18, Price: 0.00036264},                                     // Addr: 0x5d5530eb3147152fe78d5c4bfeede054c8d1442a, Notional: 1.32923033495226
-		{Chain: 10, Addr: "000000000000000000000000657a1861c15a3ded9af0b6799a195a249ebdcbc6", Symbol: "CREAM", CoinGeckoId: "cream-2", Decimals: 18, Price: 1.16},                                                 // Addr: 0x657a1861c15a3ded9af0b6799a195a249ebdcbc6, Notional: 0.008119999999999999
-		{Chain: 10, Addr: "0000000000000000000000006626c47c00f1d87902fc13eecfac3ed06d5e8d8a", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.06598},                                            // Addr: 0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a, Notional: 6.0488972878392
-		{Chain: 10, Addr: "000000000000000000000000695921034f0387eac4e11620ee91b1b15a6a09fe", Symbol: "WETH", CoinGeckoId: "bridged-wrapped-ether-stargate", Decimals: 18, Price: 4366.46},                        // Addr: 0x695921034f0387eac4e11620ee91b1b15a6a09fe, Notional: 496.023961279
-		{Chain: 10, Addr: "0000000000000000000000006a07a792ab2965c72a5b8088d3a069a7ac3a993b", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 298.03},                                                   // Addr: 0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b, Notional: 1592.9091018546999
-		{Chain: 10, Addr: "00000000000000000000000074b23882a30290451a17c44f4f05243b6b58c76d", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                   // Addr: 0x74b23882a30290451a17c44f4f05243b6b58c76d, Notional: 70112.00718405841
-		{Chain: 10, Addr: "00000000000000000000000074e23df9110aa9ea0b6ff2faee01e740ca1c642e", Symbol: "TOR", CoinGeckoId: "tor", Decimals: 18, Price: 0.01676869},                                                 // Addr: 0x74e23df9110aa9ea0b6ff2faee01e740ca1c642e, Notional: 1.7915179187914807
-		{Chain: 10, Addr: "00000000000000000000000082f0b8b456c1a451378467398982d4834b6829c1", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                  // Addr: 0x82f0b8b456c1a451378467398982d4834b6829c1, Notional: 341.773757940774
-		{Chain: 10, Addr: "000000000000000000000000841fad6eae12c286d1fd18d1d525dffa75c7effe", Symbol: "BOO", CoinGeckoId: "spookyswap", Decimals: 18, Price: 0.116465},                                            // Addr: 0x841fad6eae12c286d1fd18d1d525dffa75c7effe, Notional: 0.00225084335275
-		{Chain: 10, Addr: "00000000000000000000000085dec8c4b2680793661bca91a8f129607571863d", Symbol: "BRUSH", CoinGeckoId: "paint-swap", Decimals: 18, Price: 0.01097738},                                        // Addr: 0x85dec8c4b2680793661bca91a8f129607571863d, Notional: 0.2458367443533482
-		{Chain: 10, Addr: "0000000000000000000000008d11ec38a3eb5e956b052f67da8bdc9bef8abf3e", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                          // Addr: 0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e, Notional: 27156.70680725
-		{Chain: 10, Addr: "000000000000000000000000904f51a2e7eeaf76aaf0418cbaf0b71149686f4a", Symbol: "FAME", CoinGeckoId: "fantom-maker", Decimals: 18, Price: 0.00001331},                                       // Addr: 0x904f51a2e7eeaf76aaf0418cbaf0b71149686f4a, Notional: 683.239279880334
-		{Chain: 10, Addr: "00000000000000000000000097bdafe3830734acf12da25359674277fcc33729", Symbol: "KIRBY", CoinGeckoId: "blue-kirby", Decimals: 18, Price: 0.00000559},                                        // Addr: 0x97bdafe3830734acf12da25359674277fcc33729, Notional: 11.049200237068941
-		{Chain: 10, Addr: "0000000000000000000000009879abdea01a879644185341f7af7d8343556b7a", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.997407},                                             // Addr: 0x9879abdea01a879644185341f7af7d8343556b7a, Notional: 378.2963998005816
-		{Chain: 10, Addr: "0000000000000000000000009fb9a33956351cf4fa040f65a13b835a3c8764e3", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.502091},                                          // Addr: 0x9fb9a33956351cf4fa040f65a13b835a3c8764e3, Notional: 322.27034525536334
+		{Chain: 10, Addr: "00000000000000000000000044f7237df00e386af8e79b817d05ed9f6fe0f296", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 18, Price: 208.66},                                          // Addr: 0x44f7237df00e386af8e79b817d05ed9f6fe0f296, Notional: 2641.3893624206
+		{Chain: 10, Addr: "000000000000000000000000468003b688943977e6130f4f68f23aad939a1040", Symbol: "SPELL", CoinGeckoId: "spell-token", Decimals: 18, Price: 0.00043268},                                       // Addr: 0x468003b688943977e6130f4f68f23aad939a1040, Notional: 0.0860197702967848
+		{Chain: 10, Addr: "000000000000000000000000511d35c52a3c244e7b8bd92c0c297755fbd89212", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 29.98},                                            // Addr: 0x511d35c52a3c244e7b8bd92c0c297755fbd89212, Notional: 1421.5986715092001
+		{Chain: 10, Addr: "000000000000000000000000526f1dc408cfe7fc5330ab9f1e78474ceff2a5dd", Symbol: "VEMP", CoinGeckoId: "vempire-ddao", Decimals: 18, Price: 0.00068946},                                       // Addr: 0x526f1dc408cfe7fc5330ab9f1e78474ceff2a5dd, Notional: 1.1334722400000001
+		{Chain: 10, Addr: "00000000000000000000000056ee926bd8c72b2d5fa1af4d9e4cbb515a1e3adc", Symbol: "SNX", CoinGeckoId: "havven", Decimals: 18, Price: 1.077},                                                   // Addr: 0x56ee926bd8c72b2d5fa1af4d9e4cbb515a1e3adc, Notional: 0.18452483325
+		{Chain: 10, Addr: "0000000000000000000000005c4fdfc5233f935f20d2adba572f770c2e377ab0", Symbol: "HEC", CoinGeckoId: "hector-dao", Decimals: 9, Price: 0.01288974},                                           // Addr: 0x5c4fdfc5233f935f20d2adba572f770c2e377ab0, Notional: 5.326708896894283
+		{Chain: 10, Addr: "0000000000000000000000005d5530eb3147152fe78d5c4bfeede054c8d1442a", Symbol: "FEED", CoinGeckoId: "feeder-finance", Decimals: 18, Price: 0.00027084},                                     // Addr: 0x5d5530eb3147152fe78d5c4bfeede054c8d1442a, Notional: 0.99274416478731
+		{Chain: 10, Addr: "000000000000000000000000657a1861c15a3ded9af0b6799a195a249ebdcbc6", Symbol: "CREAM", CoinGeckoId: "cream-2", Decimals: 18, Price: 0.901209},                                             // Addr: 0x657a1861c15a3ded9af0b6799a195a249ebdcbc6, Notional: 0.006308463
+		{Chain: 10, Addr: "0000000000000000000000006626c47c00f1d87902fc13eecfac3ed06d5e8d8a", Symbol: "WOO", CoinGeckoId: "woo-network", Decimals: 18, Price: 0.065541},                                           // Addr: 0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a, Notional: 6.0086507599616406
+		{Chain: 10, Addr: "000000000000000000000000695921034f0387eac4e11620ee91b1b15a6a09fe", Symbol: "WETH", CoinGeckoId: "bridged-wrapped-ether-stargate", Decimals: 18, Price: 4135.69},                        // Addr: 0x695921034f0387eac4e11620ee91b1b15a6a09fe, Notional: 469.80880081849995
+		{Chain: 10, Addr: "0000000000000000000000006a07a792ab2965c72a5b8088d3a069a7ac3a993b", Symbol: "AAVE", CoinGeckoId: "aave", Decimals: 18, Price: 274.44},                                                   // Addr: 0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b, Notional: 1466.8253998356
+		{Chain: 10, Addr: "00000000000000000000000074b23882a30290451a17c44f4f05243b6b58c76d", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                   // Addr: 0x74b23882a30290451a17c44f4f05243b6b58c76d, Notional: 67632.588794892
+		{Chain: 10, Addr: "00000000000000000000000074e23df9110aa9ea0b6ff2faee01e740ca1c642e", Symbol: "TOR", CoinGeckoId: "tor", Decimals: 18, Price: 0.01630444},                                                 // Addr: 0x74e23df9110aa9ea0b6ff2faee01e740ca1c642e, Notional: 1.7419188031897883
+		{Chain: 10, Addr: "00000000000000000000000082f0b8b456c1a451378467398982d4834b6829c1", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                         // Addr: 0x82f0b8b456c1a451378467398982d4834b6829c1, Notional: 341.81511757
+		{Chain: 10, Addr: "000000000000000000000000841fad6eae12c286d1fd18d1d525dffa75c7effe", Symbol: "BOO", CoinGeckoId: "spookyswap", Decimals: 18, Price: 0.094703},                                            // Addr: 0x841fad6eae12c286d1fd18d1d525dffa75c7effe, Notional: 0.0018302633240499999
+		{Chain: 10, Addr: "00000000000000000000000085dec8c4b2680793661bca91a8f129607571863d", Symbol: "BRUSH", CoinGeckoId: "paint-swap", Decimals: 18, Price: 0.00817819},                                        // Addr: 0x85dec8c4b2680793661bca91a8f129607571863d, Notional: 0.1831493128873291
+		{Chain: 10, Addr: "0000000000000000000000008d11ec38a3eb5e956b052f67da8bdc9bef8abf3e", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                   // Addr: 0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e, Notional: 27151.248309181745
+		{Chain: 10, Addr: "000000000000000000000000904f51a2e7eeaf76aaf0418cbaf0b71149686f4a", Symbol: "FAME", CoinGeckoId: "fantom-maker", Decimals: 18, Price: 0.00001331},                                       // Addr: 0x904f51a2e7eeaf76aaf0418cbaf0b71149686f4a, Notional: 683.864849880334
+		{Chain: 10, Addr: "00000000000000000000000097bdafe3830734acf12da25359674277fcc33729", Symbol: "KIRBY", CoinGeckoId: "blue-kirby", Decimals: 18, Price: 0.00000439},                                        // Addr: 0x97bdafe3830734acf12da25359674277fcc33729, Notional: 8.677278898163266
+		{Chain: 10, Addr: "0000000000000000000000009879abdea01a879644185341f7af7d8343556b7a", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.999037},                                             // Addr: 0x9879abdea01a879644185341f7af7d8343556b7a, Notional: 378.91462599277287
+		{Chain: 10, Addr: "0000000000000000000000009fb9a33956351cf4fa040f65a13b835a3c8764e3", Symbol: "MULTI", CoinGeckoId: "multichain", Decimals: 18, Price: 0.491178},                                          // Addr: 0x9fb9a33956351cf4fa040f65a13b835a3c8764e3, Notional: 315.2657658508893
 		{Chain: 10, Addr: "000000000000000000000000a23c4e69e5eaf4500f2f9301717f12b578b948fb", Symbol: "PROTO", CoinGeckoId: "protofi", Decimals: 18, Price: 0.0000271},                                            // Addr: 0xa23c4e69e5eaf4500f2f9301717f12b578b948fb, Notional: 0.004607
-		{Chain: 10, Addr: "000000000000000000000000ad996a45fd2373ed0b10efa4a8ecb9de445a4302", Symbol: "ALPACA", CoinGeckoId: "alpaca-finance", Decimals: 18, Price: 0.01813086},                                   // Addr: 0xad996a45fd2373ed0b10efa4a8ecb9de445a4302, Notional: 1.3179367287093742
-		{Chain: 10, Addr: "000000000000000000000000ae75a438b2e0cb8bb01ec1e1e376de11d44477cc", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.784507},                                               // Addr: 0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc, Notional: 52.679273028935526
-		{Chain: 10, Addr: "000000000000000000000000b3654dc3d10ea7645f8319668e8f54d2574fbdc8", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                               // Addr: 0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8, Notional: 5530.8318400842
-		{Chain: 10, Addr: "000000000000000000000000b715f8dce2f0e9b894c753711bd55ee3c04dca4e", Symbol: "CONK", CoinGeckoId: "shibapoconk", Decimals: 18, Price: 3.1425e-11},                                        // Addr: 0xb715f8dce2f0e9b894c753711bd55ee3c04dca4e, Notional: 0.001037025
+		{Chain: 10, Addr: "000000000000000000000000ad996a45fd2373ed0b10efa4a8ecb9de445a4302", Symbol: "ALPACA", CoinGeckoId: "alpaca-finance", Decimals: 18, Price: 0.01571263},                                   // Addr: 0xad996a45fd2373ed0b10efa4a8ecb9de445a4302, Notional: 1.1421549877733752
+		{Chain: 10, Addr: "000000000000000000000000ae75a438b2e0cb8bb01ec1e1e376de11d44477cc", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.668783},                                               // Addr: 0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc, Notional: 44.90846130641357
+		{Chain: 10, Addr: "000000000000000000000000b3654dc3d10ea7645f8319668e8f54d2574fbdc8", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                               // Addr: 0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8, Notional: 5122.2088879702
+		{Chain: 10, Addr: "000000000000000000000000b715f8dce2f0e9b894c753711bd55ee3c04dca4e", Symbol: "CONK", CoinGeckoId: "shibapoconk", Decimals: 18, Price: 2.4527e-11},                                        // Addr: 0xb715f8dce2f0e9b894c753711bd55ee3c04dca4e, Notional: 0.000809391
 		{Chain: 10, Addr: "000000000000000000000000be41772587872a92184873d55b09c6bb6f59f895", Symbol: "MARS", CoinGeckoId: "projectmars", Decimals: 9, Price: 5.2462e-8},                                          // Addr: 0xbe41772587872a92184873d55b09c6bb6f59f895, Notional: 0.00552397055110936
 		{Chain: 10, Addr: "000000000000000000000000cc1b99ddac1a33c201a742a1851662e87bc7f22c", Symbol: "USDT", CoinGeckoId: "bridged-tether-stargate", Decimals: 6, Price: 0.995958},                               // Addr: 0xcc1b99ddac1a33c201a742a1851662e87bc7f22c, Notional: 2654.724608844732
-		{Chain: 10, Addr: "000000000000000000000000d67de0e0a0fd7b15dc8348bb9be742f3c5850454", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 877.77},                                                    // Addr: 0xd67de0e0a0fd7b15dc8348bb9be742f3c5850454, Notional: 17520.113347558203
-		{Chain: 10, Addr: "000000000000000000000000d8321aa83fb0a4ecd6348d4577431310a6e0814d", Symbol: "GEIST", CoinGeckoId: "geist-finance", Decimals: 18, Price: 0.00005499},                                     // Addr: 0xd8321aa83fb0a4ecd6348d4577431310a6e0814d, Notional: 0.0005499
-		{Chain: 10, Addr: "000000000000000000000000dc301622e621166bd8e82f2ca0a26c13ad0be355", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                 // Addr: 0xdc301622e621166bd8e82f2ca0a26c13ad0be355, Notional: 144.2974152361611
-		{Chain: 10, Addr: "000000000000000000000000de5ed76e7c05ec5e4572cfc88d1acea165109e44", Symbol: "DEUS", CoinGeckoId: "deus-finance-2", Decimals: 18, Price: 7.04},                                           // Addr: 0xde5ed76e7c05ec5e4572cfc88d1acea165109e44, Notional: 0.7022221183999999
-		{Chain: 10, Addr: "000000000000000000000000e2d27f06f63d98b8e11b38b5b08a75d0c8dd62b9", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 6, Price: 0.01362849},                                          // Addr: 0xe2d27f06f63d98b8e11b38b5b08a75d0c8dd62b9, Notional: 238.48881272181413
+		{Chain: 10, Addr: "000000000000000000000000d67de0e0a0fd7b15dc8348bb9be742f3c5850454", Symbol: "BNB", CoinGeckoId: "wbnb", Decimals: 18, Price: 1008.56},                                                   // Addr: 0xd67de0e0a0fd7b15dc8348bb9be742f3c5850454, Notional: 20130.6555450896
+		{Chain: 10, Addr: "000000000000000000000000d8321aa83fb0a4ecd6348d4577431310a6e0814d", Symbol: "GEIST", CoinGeckoId: "geist-finance", Decimals: 18, Price: 0.00005511},                                     // Addr: 0xd8321aa83fb0a4ecd6348d4577431310a6e0814d, Notional: 0.0005511
+		{Chain: 10, Addr: "000000000000000000000000dc301622e621166bd8e82f2ca0a26c13ad0be355", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                 // Addr: 0xdc301622e621166bd8e82f2ca0a26c13ad0be355, Notional: 144.2922077918037
+		{Chain: 10, Addr: "000000000000000000000000de5ed76e7c05ec5e4572cfc88d1acea165109e44", Symbol: "DEUS", CoinGeckoId: "deus-finance-2", Decimals: 18, Price: 6.78},                                           // Addr: 0xde5ed76e7c05ec5e4572cfc88d1acea165109e44, Notional: 0.6762877788
+		{Chain: 10, Addr: "000000000000000000000000e2d27f06f63d98b8e11b38b5b08a75d0c8dd62b9", Symbol: "UST", CoinGeckoId: "wrapped-ust", Decimals: 6, Price: 0.01091164},                                          // Addr: 0xe2d27f06f63d98b8e11b38b5b08a75d0c8dd62b9, Notional: 190.94588383950503
 		{Chain: 10, Addr: "000000000000000000000000e47d957f83f8887063150aaf7187411351643392", Symbol: "CHILL", CoinGeckoId: "chillpill", Decimals: 18, Price: 1.9588e-11},                                         // Addr: 0xe47d957f83f8887063150aaf7187411351643392, Notional: 0.0078665408
-		{Chain: 10, Addr: "000000000000000000000000e64b9fd040d1f9d4715c645e0d567ef69958d3d9", Symbol: "MOD", CoinGeckoId: "modefi", Decimals: 18, Price: 0.00181626},                                              // Addr: 0xe64b9fd040d1f9d4715c645e0d567ef69958d3d9, Notional: 0.030546611649022202
-		{Chain: 10, Addr: "000000000000000000000000e705af5f63fcabdcdf5016aa838eaaac35d12890", Symbol: "MCRT", CoinGeckoId: "magiccraft", Decimals: 9, Price: 0.00040199},                                          // Addr: 0xe705af5f63fcabdcdf5016aa838eaaac35d12890, Notional: 0.3521667142583087
-		{Chain: 10, Addr: "000000000000000000000000ee9801669c6138e84bd50deb500827b776777d28", Symbol: "O3", CoinGeckoId: "o3-swap", Decimals: 18, Price: 0.00160168},                                              // Addr: 0xee9801669c6138e84bd50deb500827b776777d28, Notional: 0.9321028443330577
+		{Chain: 10, Addr: "000000000000000000000000e64b9fd040d1f9d4715c645e0d567ef69958d3d9", Symbol: "MOD", CoinGeckoId: "modefi", Decimals: 18, Price: 0.00185171},                                              // Addr: 0xe64b9fd040d1f9d4715c645e0d567ef69958d3d9, Notional: 0.0311428244065337
+		{Chain: 10, Addr: "000000000000000000000000e705af5f63fcabdcdf5016aa838eaaac35d12890", Symbol: "MCRT", CoinGeckoId: "magiccraft", Decimals: 9, Price: 0.00039907},                                          // Addr: 0xe705af5f63fcabdcdf5016aa838eaaac35d12890, Notional: 0.3496086237445291
+		{Chain: 10, Addr: "000000000000000000000000ee9801669c6138e84bd50deb500827b776777d28", Symbol: "O3", CoinGeckoId: "o3-swap", Decimals: 18, Price: 0.00177713},                                              // Addr: 0xee9801669c6138e84bd50deb500827b776777d28, Notional: 1.0342065379786267
 		{Chain: 10, Addr: "000000000000000000000000ef4b763385838fffc708000f884026b8c0434275", Symbol: "fmXEN", CoinGeckoId: "xen-crypto-fantom", Decimals: 18, Price: 1.552e-11},                                  // Addr: 0xef4b763385838fffc708000f884026b8c0434275, Notional: 0.00029795202018957753
-		{Chain: 10, Addr: "000000000000000000000000fb98b335551a418cd0737375a2ea0ded62ea213b", Symbol: "miMATIC", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.992613},                                           // Addr: 0xfb98b335551a418cd0737375a2ea0ded62ea213b, Notional: 25.75263389172816
-		{Chain: 11, Addr: "0000000000000000000000000000000000000000000100000000000000000081", Symbol: "aUSD", CoinGeckoId: "acala-dollar", Decimals: 12, Price: 0.51763},                                          // Addr: 0x0000000000000000000100000000000000000081, Notional: 5.1058603195018
-		{Chain: 12, Addr: "0000000000000000000000000000000000000000000100000000000000000001", Symbol: "aUSD", CoinGeckoId: "acala-dollar-acala", Decimals: 12, Price: 0.28254},                                    // Addr: 0x0000000000000000000100000000000000000001, Notional: 115.2772313384208
-		{Chain: 13, Addr: "00000000000000000000000034d21b1e550d73cee41151c77f3c73359527a396", Symbol: "oETH", CoinGeckoId: "orbit-bridge-klaytn-ethereum", Decimals: 18, Price: 316.11},                           // Addr: 0x34d21b1e550d73cee41151c77f3c73359527a396, Notional: 0.63222
-		{Chain: 13, Addr: "0000000000000000000000005c74070fdea071359b86082bd9f9b3deaafbe32b", Symbol: "KDAI", CoinGeckoId: "klaytn-dai", Decimals: 18, Price: 0.088899},                                           // Addr: 0x5c74070fdea071359b86082bd9f9b3deaafbe32b, Notional: 0.0017779800000000002
-		{Chain: 13, Addr: "0000000000000000000000006270b58be569a7c0b8f47594f191631ae5b2c86c", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x6270b58be569a7c0b8f47594f191631ae5b2c86c, Notional: 45565.08789361419
-		{Chain: 13, Addr: "000000000000000000000000754288077d0ff82af7a5317c7cb8c444d421d103", Symbol: "oUSDC", CoinGeckoId: "orbit-bridge-klaytn-usdc", Decimals: 6, Price: 0.294438},                             // Addr: 0x754288077d0ff82af7a5317c7cb8c444d421d103, Notional: 1.2369846813359997
-		{Chain: 13, Addr: "0000000000000000000000009eaefb09fe4aabfbe6b1ca316a3c36afc83a393f", Symbol: "oXRP", CoinGeckoId: "orbit-bridge-klaytn-ripple", Decimals: 6, Price: 2.94},                                // Addr: 0x9eaefb09fe4aabfbe6b1ca316a3c36afc83a393f, Notional: 0.147
-		{Chain: 13, Addr: "000000000000000000000000c6a2ad8cc6e4a7e08fc37cc5954be07d499e7654", Symbol: "KSP", CoinGeckoId: "klayswap-protocol", Decimals: 18, Price: 0.082593},                                     // Addr: 0xc6a2ad8cc6e4a7e08fc37cc5954be07d499e7654, Notional: 0.11150055
+		{Chain: 10, Addr: "000000000000000000000000fb98b335551a418cd0737375a2ea0ded62ea213b", Symbol: "miMATIC", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.995702},                                           // Addr: 0xfb98b335551a418cd0737375a2ea0ded62ea213b, Notional: 25.83277578599264
+		{Chain: 13, Addr: "00000000000000000000000034d21b1e550d73cee41151c77f3c73359527a396", Symbol: "oETH", CoinGeckoId: "orbit-bridge-klaytn-ethereum", Decimals: 18, Price: 298.38},                           // Addr: 0x34d21b1e550d73cee41151c77f3c73359527a396, Notional: 0.59676
+		{Chain: 13, Addr: "0000000000000000000000005c74070fdea071359b86082bd9f9b3deaafbe32b", Symbol: "KDAI", CoinGeckoId: "klaytn-dai", Decimals: 18, Price: 0.092722},                                           // Addr: 0x5c74070fdea071359b86082bd9f9b3deaafbe32b, Notional: 0.00185444
+		{Chain: 13, Addr: "0000000000000000000000006270b58be569a7c0b8f47594f191631ae5b2c86c", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x6270b58be569a7c0b8f47594f191631ae5b2c86c, Notional: 45557.978730401606
+		{Chain: 13, Addr: "000000000000000000000000754288077d0ff82af7a5317c7cb8c444d421d103", Symbol: "oUSDC", CoinGeckoId: "orbit-bridge-klaytn-usdc", Decimals: 6, Price: 0.34116},                              // Addr: 0x754288077d0ff82af7a5317c7cb8c444d421d103, Notional: 1.43327183952
+		{Chain: 13, Addr: "0000000000000000000000009eaefb09fe4aabfbe6b1ca316a3c36afc83a393f", Symbol: "oXRP", CoinGeckoId: "orbit-bridge-klaytn-ripple", Decimals: 6, Price: 2.87},                                // Addr: 0x9eaefb09fe4aabfbe6b1ca316a3c36afc83a393f, Notional: 0.14350000000000002
+		{Chain: 13, Addr: "000000000000000000000000c6a2ad8cc6e4a7e08fc37cc5954be07d499e7654", Symbol: "KSP", CoinGeckoId: "klayswap-protocol", Decimals: 18, Price: 0.064695},                                     // Addr: 0xc6a2ad8cc6e4a7e08fc37cc5954be07d499e7654, Notional: 0.08733825
 		{Chain: 13, Addr: "000000000000000000000000cd670d77f3dcab82d43dff9bd2c4b87339fb3560", Symbol: "KOKOS", CoinGeckoId: "kokonut-swap", Decimals: 18, Price: 0.155415},                                        // Addr: 0xcd670d77f3dcab82d43dff9bd2c4b87339fb3560, Notional: 1736536.8689674311
 		{Chain: 13, Addr: "000000000000000000000000ce899f5fcf55b0c1d7478910f812cfe68c5bcf0f", Symbol: "ABC", CoinGeckoId: "angry-bulls-club", Decimals: 18, Price: 0.00138323},                                    // Addr: 0xce899f5fcf55b0c1d7478910f812cfe68c5bcf0f, Notional: 1.9961951975052126
-		{Chain: 13, Addr: "000000000000000000000000cee8faf64bb97a73bb51e115aa89c17ffa8dd167", Symbol: "oUSDT", CoinGeckoId: "orbit-bridge-klaytn-usd-tether", Decimals: 6, Price: 0.109106},                       // Addr: 0xcee8faf64bb97a73bb51e115aa89c17ffa8dd167, Notional: 11.255539491848
-		{Chain: 13, Addr: "000000000000000000000000d068c52d81f4409b9502da926ace3301cc41f623", Symbol: "MBX", CoinGeckoId: "marblex", Decimals: 18, Price: 0.164735},                                               // Addr: 0xd068c52d81f4409b9502da926ace3301cc41f623, Notional: 0.0164735
-		{Chain: 13, Addr: "000000000000000000000000e4f05a66ec68b54a58b17c22107b02e0232cc817", Symbol: "WKLAY", CoinGeckoId: "wrapped-klay", Decimals: 18, Price: 0.156107},                                        // Addr: 0xe4f05a66ec68b54a58b17c22107b02e0232cc817, Notional: 3311.9353538256673
-		{Chain: 13, Addr: "000000000000000000000000e950bdcfa4d1e45472e76cf967db93dbfc51ba3e", Symbol: "KAI", CoinGeckoId: "kai-protocol", Decimals: 18, Price: 0.0320334},                                         // Addr: 0xe950bdcfa4d1e45472e76cf967db93dbfc51ba3e, Notional: 29062.41064731287
-		{Chain: 14, Addr: "00000000000000000000000000be915b9dcf56a3cbe739d9b9c202ca692409ec", Symbol: "UBE", CoinGeckoId: "ubeswap", Decimals: 18, Price: 0.00005568},                                             // Addr: 0x00be915b9dcf56a3cbe739d9b9c202ca692409ec, Notional: 0.07501235929624321
-		{Chain: 14, Addr: "0000000000000000000000002def4285787d58a2f811af24755a8150622f4361", Symbol: "cETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                  // Addr: 0x2def4285787d58a2f811af24755a8150622f4361, Notional: 2.0147719203000003
+		{Chain: 13, Addr: "000000000000000000000000cee8faf64bb97a73bb51e115aa89c17ffa8dd167", Symbol: "oUSDT", CoinGeckoId: "orbit-bridge-klaytn-usd-tether", Decimals: 6, Price: 0.129937},                       // Addr: 0xcee8faf64bb97a73bb51e115aa89c17ffa8dd167, Notional: 13.404496864996
+		{Chain: 13, Addr: "000000000000000000000000d068c52d81f4409b9502da926ace3301cc41f623", Symbol: "MBX", CoinGeckoId: "marblex", Decimals: 18, Price: 0.138793},                                               // Addr: 0xd068c52d81f4409b9502da926ace3301cc41f623, Notional: 0.0138793
+		{Chain: 13, Addr: "000000000000000000000000e4f05a66ec68b54a58b17c22107b02e0232cc817", Symbol: "WKLAY", CoinGeckoId: "wrapped-klay", Decimals: 18, Price: 0.150816},                                        // Addr: 0xe4f05a66ec68b54a58b17c22107b02e0232cc817, Notional: 3216.091456859766
+		{Chain: 13, Addr: "000000000000000000000000e950bdcfa4d1e45472e76cf967db93dbfc51ba3e", Symbol: "KAI", CoinGeckoId: "kai-protocol", Decimals: 18, Price: 0.0338929},                                         // Addr: 0xe950bdcfa4d1e45472e76cf967db93dbfc51ba3e, Notional: 31072.861650699328
+		{Chain: 14, Addr: "00000000000000000000000000be915b9dcf56a3cbe739d9b9c202ca692409ec", Symbol: "UBE", CoinGeckoId: "ubeswap", Decimals: 18, Price: 0.00004628},                                             // Addr: 0x00be915b9dcf56a3cbe739d9b9c202ca692409ec, Notional: 0.0623486348460872
+		{Chain: 14, Addr: "0000000000000000000000002def4285787d58a2f811af24755a8150622f4361", Symbol: "cETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                  // Addr: 0x2def4285787d58a2f811af24755a8150622f4361, Notional: 1.9435221765
 		{Chain: 14, Addr: "00000000000000000000000046c9757c5497c5b1f2eb73ae79b6b67d119b0b58", Symbol: "PACT", CoinGeckoId: "impactmarket", Decimals: 18, Price: 3.64368e-7},                                       // Addr: 0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58, Notional: 97.94466258811408
-		{Chain: 14, Addr: "000000000000000000000000471ece3750da237f93b8e339c536989b8978a438", Symbol: "CELO", CoinGeckoId: "celo", Decimals: 18, Price: 0.30497},                                                  // Addr: 0x471ece3750da237f93b8e339c536989b8978a438, Notional: 87125.74462078027
+		{Chain: 14, Addr: "000000000000000000000000471ece3750da237f93b8e339c536989b8978a438", Symbol: "CELO", CoinGeckoId: "celo", Decimals: 18, Price: 0.24494},                                                  // Addr: 0x471ece3750da237f93b8e339c536989b8978a438, Notional: 69802.4788487108
 		{Chain: 14, Addr: "00000000000000000000000048065fbbe25f71c9282ddf5e1cd6d6a887483d5e", Symbol: "USD₮", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                     // Addr: 0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e, Notional: 1.871171
-		{Chain: 14, Addr: "00000000000000000000000062b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a", Symbol: "G$", CoinGeckoId: "gooddollar", Decimals: 18, Price: 0.000097},                                             // Addr: 0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a, Notional: 0.000097
-		{Chain: 14, Addr: "000000000000000000000000639a647fbe20b6c8ac19e48e2de44ea792c62c5c", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 180.01},                                          // Addr: 0x639a647fbe20b6c8ac19e48e2de44ea792c62c5c, Notional: 109.748028774
-		{Chain: 14, Addr: "00000000000000000000000074c0c58b99b68cf16a717279ac2d056a34ba2bfe", Symbol: "SOURCE", CoinGeckoId: "resource-protocol", Decimals: 18, Price: 0.00102817},                                // Addr: 0x74c0c58b99b68cf16a717279ac2d056a34ba2bfe, Notional: 0.004421130999999999
-		{Chain: 14, Addr: "000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a", Symbol: "cUSD", CoinGeckoId: "celo-dollar", Decimals: 18, Price: 0.999298},                                          // Addr: 0x765de816845861e75a25fca122bb6898b8b1282a, Notional: 474.4563818416916
-		{Chain: 14, Addr: "000000000000000000000000c16b81af351ba9e64c1a069e3ab18c244a1e3049", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                   // Addr: 0xc16b81af351ba9e64c1a069e3ab18c244a1e3049, Notional: 88.23989473649999
-		{Chain: 14, Addr: "000000000000000000000000ceba9300f2b948710d2653dd7b07f33a8b32118c", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0xceba9300f2b948710d2653dd7b07f33a8b32118c, Notional: 16.168567737312003
-		{Chain: 14, Addr: "000000000000000000000000d629eb00deced2a080b7ec630ef6ac117e614f1b", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 18, Price: 111599},                                         // Addr: 0xd629eb00deced2a080b7ec630ef6ac117e614f1b, Notional: 14.396270999999999
+		{Chain: 14, Addr: "00000000000000000000000062b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a", Symbol: "G$", CoinGeckoId: "gooddollar", Decimals: 18, Price: 0.00009786},                                           // Addr: 0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a, Notional: 0.00009786
+		{Chain: 14, Addr: "000000000000000000000000639a647fbe20b6c8ac19e48e2de44ea792c62c5c", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 169.86},                                          // Addr: 0x639a647fbe20b6c8ac19e48e2de44ea792c62c5c, Notional: 103.55980316400002
+		{Chain: 14, Addr: "00000000000000000000000074c0c58b99b68cf16a717279ac2d056a34ba2bfe", Symbol: "SOURCE", CoinGeckoId: "resource-protocol", Decimals: 18, Price: 0.00102327},                                // Addr: 0x74c0c58b99b68cf16a717279ac2d056a34ba2bfe, Notional: 0.004400060999999999
+		{Chain: 14, Addr: "000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a", Symbol: "cUSD", CoinGeckoId: "celo-dollar", Decimals: 18, Price: 1.001},                                             // Addr: 0x765de816845861e75a25fca122bb6898b8b1282a, Notional: 468.9013499870699
+		{Chain: 14, Addr: "000000000000000000000000c16b81af351ba9e64c1a069e3ab18c244a1e3049", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                   // Addr: 0xc16b81af351ba9e64c1a069e3ab18c244a1e3049, Notional: 88.99408187099999
+		{Chain: 14, Addr: "000000000000000000000000ceba9300f2b948710d2653dd7b07f33a8b32118c", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0xceba9300f2b948710d2653dd7b07f33a8b32118c, Notional: 16.166045082528
+		{Chain: 14, Addr: "000000000000000000000000d629eb00deced2a080b7ec630ef6ac117e614f1b", Symbol: "BTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 18, Price: 114288},                                         // Addr: 0xd629eb00deced2a080b7ec630ef6ac117e614f1b, Notional: 14.743151999999998
 		{Chain: 14, Addr: "000000000000000000000000d8763cba276a3738e6de85b4b3bf5fded6d6ca73", Symbol: "cEUR", CoinGeckoId: "celo-euro", Decimals: 18, Price: 1.17},                                                // Addr: 0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73, Notional: 2567.0858627934
-		{Chain: 14, Addr: "000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f405215", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                   // Addr: 0xeb466342c4d449bc9f53a865d5cb90586f405215, Notional: 0.226965
-		{Chain: 15, Addr: "0c8bd9ba802f5b252455c68677437d78b5f81a8b952d1d106ff915cc7a90158a", Symbol: "PUBLIC", CoinGeckoId: "publicai", Decimals: 18, Price: 0.062292},                                           // Addr: token.publicailab.near, Notional: 4887354.443814967
-		{Chain: 15, Addr: "152fd354c086478f67c36eaa07d209631825c097490fbdb38b2a9876039be6e0", Symbol: "PURGE", CoinGeckoId: "forgive-me-father", Decimals: 18, Price: 0.00366691},                                 // Addr: purge-558.meme-cooking.near, Notional: 4.61738751595849
-		{Chain: 15, Addr: "2e5e8bd0ab927b6148fc5fa892cd64a708de8f248ea6272de69ee46c1ed53df2", Symbol: "REF", CoinGeckoId: "ref-finance", Decimals: 18, Price: 0.162241},                                           // Addr: token.v2.ref-finance.near, Notional: 0.43805069837759
-		{Chain: 15, Addr: "67499b7b8f58eaeb3cd81aea1d1ce9f7f722fd7750ceb2bed13e255073c25e2a", Symbol: "SWEAT", CoinGeckoId: "sweatcoin", Decimals: 18, Price: 0.00209452},                                         // Addr: token.sweat, Notional: 2417020.162038048
-		{Chain: 15, Addr: "7cfae19928f9a3b68d342084a420284cb9a7984f52504300acb4e6f7f569393b", Symbol: "SHITZU", CoinGeckoId: "shitzu", Decimals: 18, Price: 0.00215185},                                           // Addr: token.0xshitzu.near, Notional: 0.006455549999999999
-		{Chain: 15, Addr: "8e4cb3f8feea536220153560228b7dc074fee23363164a108821d6f274dac910", Symbol: "RHEA", CoinGeckoId: "rhea-2", Decimals: 18, Price: 0.03607818},                                             // Addr: token.rhealab.near, Notional: 2434142.4120838647
+		{Chain: 14, Addr: "000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f405215", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                            // Addr: 0xeb466342c4d449bc9f53a865d5cb90586f405215, Notional: 0.22683926139
+		{Chain: 15, Addr: "0c8bd9ba802f5b252455c68677437d78b5f81a8b952d1d106ff915cc7a90158a", Symbol: "PUBLIC", CoinGeckoId: "publicai", Decimals: 18, Price: 0.052523},                                           // Addr: token.publicailab.near, Notional: 4302383.781055566
+		{Chain: 15, Addr: "152fd354c086478f67c36eaa07d209631825c097490fbdb38b2a9876039be6e0", Symbol: "PURGE", CoinGeckoId: "forgive-me-father", Decimals: 18, Price: 0.00319404},                                 // Addr: purge-558.meme-cooking.near, Notional: 4.02194774932356
+		{Chain: 15, Addr: "2e5e8bd0ab927b6148fc5fa892cd64a708de8f248ea6272de69ee46c1ed53df2", Symbol: "REF", CoinGeckoId: "ref-finance", Decimals: 18, Price: 0.144603},                                           // Addr: token.v2.ref-finance.near, Notional: 0.39042809855397
+		{Chain: 15, Addr: "67499b7b8f58eaeb3cd81aea1d1ce9f7f722fd7750ceb2bed13e255073c25e2a", Symbol: "SWEAT", CoinGeckoId: "sweatcoin", Decimals: 18, Price: 0.00211198},                                         // Addr: token.sweat, Notional: 2470960.2180389594
+		{Chain: 15, Addr: "7cfae19928f9a3b68d342084a420284cb9a7984f52504300acb4e6f7f569393b", Symbol: "SHITZU", CoinGeckoId: "shitzu", Decimals: 18, Price: 0.00172537},                                           // Addr: token.0xshitzu.near, Notional: 0.005176109999999999
+		{Chain: 15, Addr: "8e4cb3f8feea536220153560228b7dc074fee23363164a108821d6f274dac910", Symbol: "RHEA", CoinGeckoId: "rhea-2", Decimals: 18, Price: 0.0308132},                                              // Addr: token.rhealab.near, Notional: 2113856.795673703
 		{Chain: 15, Addr: "95a38d5f6bda0f5e212cd90fd5ae1f40b3a44a1de54df58fb501266cdfc8af7b", Symbol: "WALC", CoinGeckoId: "walc", Decimals: 24, Price: 0.00519835},                                               // Addr: walc.near, Notional: 1559.505
-		{Chain: 15, Addr: "9bef49ce5caa641ff4455e44855fe85a80fb71aecf70b59fc54164b309304e66", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1, Notional: 511.696382794332
-		{Chain: 15, Addr: "b2b94adfe162631bd59009afb38dfecb30e266e9e54f7a373f8a7ca8f9282011", Symbol: "FAST", CoinGeckoId: "edge-video-ai", Decimals: 24, Price: 0.00323006},                                      // Addr: edge-fast.near, Notional: 0.00646012
-		{Chain: 15, Addr: "b55c490bafb82aeb4b950fa479341c1b5fbfa814f8253b6acdf8426b7cd9d3c0", Symbol: "wNEAR", CoinGeckoId: "wrapped-near", Decimals: 24, Price: 2.64},                                            // Addr: wrap.near, Notional: 206.3063225784
-		{Chain: 15, Addr: "d1d057c9a9a579e4f31531ae77c9a91c0d7622df1d69707aa198a7212a2f5fa5", Symbol: "ASI", CoinGeckoId: "sender-ai", Decimals: 18, Price: 0.00447651},                                           // Addr: token.sendertge.near, Notional: 0.902912067
-		{Chain: 15, Addr: "f2cc590922eb9d32267bd416a259c2944789f9eb1a6584f4b7149e0f820a237b", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 24, Price: 215.57},                                          // Addr: sol.token.a11bd.near, Notional: 37.5160221918
-		{Chain: 16, Addr: "00000000000000000000000030d2a9f5fdf90ace8c17952cbb4ee48a55d916a7", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                  // Addr: 0x30d2a9f5fdf90ace8c17952cbb4ee48a55d916a7, Notional: 3005.1422739910004
-		{Chain: 16, Addr: "000000000000000000000000322e86852e492a7ee17f28a78c663da38fb33bfb", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                 // Addr: 0x322e86852e492a7ee17f28a78c663da38fb33bfb, Notional: 4.99774554
-		{Chain: 16, Addr: "0000000000000000000000003405a1bd46b85c5c029483fbecf2f3e611026e45", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.268994},                                       // Addr: 0x3405a1bd46b85c5c029483fbecf2f3e611026e45, Notional: 42.15403592984804
-		{Chain: 16, Addr: "0000000000000000000000004792c1ecb969b036eb51330c63bd27899a13d84e", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 25.9},                                             // Addr: 0x4792c1ecb969b036eb51330c63bd27899a13d84e, Notional: 511.80676376899993
-		{Chain: 16, Addr: "000000000000000000000000511ab53f793683763e5a8829738301368a2411e3", Symbol: "WELL", CoinGeckoId: "moonwell-artemis", Decimals: 18, Price: 0.02421963},                                   // Addr: 0x511ab53f793683763e5a8829738301368a2411e3, Notional: 1515719.1728144134
-		{Chain: 16, Addr: "000000000000000000000000765277eebeca2e31912c9946eae1021199b39c61", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                          // Addr: 0x765277eebeca2e31912c9946eae1021199b39c61, Notional: 24
-		{Chain: 16, Addr: "000000000000000000000000818ec0a7fe18ff94269904fced6ae3dae6d6dc0b", Symbol: "USDC", CoinGeckoId: "multichain-bridged-usdc-moonbeam", Decimals: 6, Price: 0.062231},                      // Addr: 0x818ec0a7fe18ff94269904fced6ae3dae6d6dc0b, Notional: 73.08295690735
-		{Chain: 16, Addr: "0000000000000000000000008f552a71efe5eefc207bf75485b356a0b3f01ec9", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x8f552a71efe5eefc207bf75485b356a0b3f01ec9, Notional: 1034.89710873993
-		{Chain: 16, Addr: "000000000000000000000000922d641a426dcffaef11680e5358f34d97d112e1", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                         // Addr: 0x922d641a426dcffaef11680e5358f34d97d112e1, Notional: 1523.50379241
-		{Chain: 16, Addr: "000000000000000000000000a423e7eeb60547d9c7b65005477b63ae7ce67e62", Symbol: "EFT", CoinGeckoId: "energyfi", Decimals: 18, Price: 0.00025271},                                            // Addr: 0xa423e7eeb60547d9c7b65005477b63ae7ce67e62, Notional: 6.31775
-		{Chain: 16, Addr: "000000000000000000000000a649325aa7c5093d12d6f98eb4378deae68ce23f", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 0.999036},                                          // Addr: 0xa649325aa7c5093d12d6f98eb4378deae68ce23f, Notional: 3012.422437436933
-		{Chain: 16, Addr: "000000000000000000000000acc15dc74880c9944775448304b263d191c6077f", Symbol: "WGLMR", CoinGeckoId: "wrapped-moonbeam", Decimals: 18, Price: 0.069503},                                    // Addr: 0xacc15dc74880c9944775448304b263d191c6077f, Notional: 4434.4191729814365
-		{Chain: 16, Addr: "000000000000000000000000ca01a1d0993565291051daff390892518acfad3a", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                   // Addr: 0xca01a1d0993565291051daff390892518acfad3a, Notional: 17.01
-		{Chain: 16, Addr: "000000000000000000000000cd3b51d98478d53f4515a306be565c6eebef1d58", Symbol: "GLINT", CoinGeckoId: "beamswap", Decimals: 18, Price: 0.0000458},                                           // Addr: 0xcd3b51d98478d53f4515a306be565c6eebef1d58, Notional: 0.001145
-		{Chain: 16, Addr: "000000000000000000000000ecf2adaff1de8a512f6e8bfe67a2c836edb25da3", Symbol: "xcRMRK", CoinGeckoId: "rmrk", Decimals: 10, Price: 0.04386258},                                             // Addr: 0xecf2adaff1de8a512f6e8bfe67a2c836edb25da3, Notional: 0.026359418780242196
+		{Chain: 15, Addr: "9bef49ce5caa641ff4455e44855fe85a80fb71aecf70b59fc54164b309304e66", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1, Notional: 511.61654682190795
+		{Chain: 15, Addr: "b2b94adfe162631bd59009afb38dfecb30e266e9e54f7a373f8a7ca8f9282011", Symbol: "FAST", CoinGeckoId: "edge-video-ai", Decimals: 24, Price: 0.00339249},                                      // Addr: edge-fast.near, Notional: 0.00678498
+		{Chain: 15, Addr: "b55c490bafb82aeb4b950fa479341c1b5fbfa814f8253b6acdf8426b7cd9d3c0", Symbol: "wNEAR", CoinGeckoId: "wrapped-near", Decimals: 24, Price: 2.63},                                            // Addr: wrap.near, Notional: 205.5248592353
+		{Chain: 15, Addr: "d1d057c9a9a579e4f31531ae77c9a91c0d7622df1d69707aa198a7212a2f5fa5", Symbol: "ASI", CoinGeckoId: "sender-ai", Decimals: 18, Price: 0.00320811},                                           // Addr: token.sendertge.near, Notional: 0.647075787
+		{Chain: 15, Addr: "f2cc590922eb9d32267bd416a259c2944789f9eb1a6584f4b7149e0f820a237b", Symbol: "SOL", CoinGeckoId: "wrapped-solana", Decimals: 24, Price: 208.66},                                          // Addr: sol.token.a11bd.near, Notional: 36.313462868399995
+		{Chain: 16, Addr: "00000000000000000000000030d2a9f5fdf90ace8c17952cbb4ee48a55d916a7", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                  // Addr: 0x30d2a9f5fdf90ace8c17952cbb4ee48a55d916a7, Notional: 2898.869392705
+		{Chain: 16, Addr: "000000000000000000000000322e86852e492a7ee17f28a78c663da38fb33bfb", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                 // Addr: 0x322e86852e492a7ee17f28a78c663da38fb33bfb, Notional: 4.99756518
+		{Chain: 16, Addr: "0000000000000000000000003405a1bd46b85c5c029483fbecf2f3e611026e45", Symbol: "MATIC", CoinGeckoId: "matic-network", Decimals: 18, Price: 0.224134},                                       // Addr: 0x3405a1bd46b85c5c029483fbecf2f3e611026e45, Notional: 35.12402763296044
+		{Chain: 16, Addr: "0000000000000000000000004792c1ecb969b036eb51330c63bd27899a13d84e", Symbol: "AVAX", CoinGeckoId: "wrapped-avax", Decimals: 18, Price: 29.98},                                            // Addr: 0x4792c1ecb969b036eb51330c63bd27899a13d84e, Notional: 592.4311497218
+		{Chain: 16, Addr: "000000000000000000000000511ab53f793683763e5a8829738301368a2411e3", Symbol: "WELL", CoinGeckoId: "moonwell-artemis", Decimals: 18, Price: 0.0218249},                                    // Addr: 0x511ab53f793683763e5a8829738301368a2411e3, Notional: 1335007.3170547793
+		{Chain: 16, Addr: "000000000000000000000000765277eebeca2e31912c9946eae1021199b39c61", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                   // Addr: 0x765277eebeca2e31912c9946eae1021199b39c61, Notional: 23.995176
+		{Chain: 16, Addr: "000000000000000000000000818ec0a7fe18ff94269904fced6ae3dae6d6dc0b", Symbol: "USDC", CoinGeckoId: "multichain-bridged-usdc-moonbeam", Decimals: 6, Price: 0.056158},                      // Addr: 0x818ec0a7fe18ff94269904fced6ae3dae6d6dc0b, Notional: 65.9509359323
+		{Chain: 16, Addr: "0000000000000000000000008f552a71efe5eefc207bf75485b356a0b3f01ec9", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x8f552a71efe5eefc207bf75485b356a0b3f01ec9, Notional: 1034.73564186267
+		{Chain: 16, Addr: "000000000000000000000000922d641a426dcffaef11680e5358f34d97d112e1", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                         // Addr: 0x922d641a426dcffaef11680e5358f34d97d112e1, Notional: 1560.2129179199999
+		{Chain: 16, Addr: "000000000000000000000000a423e7eeb60547d9c7b65005477b63ae7ce67e62", Symbol: "EFT", CoinGeckoId: "energyfi", Decimals: 18, Price: 0.00033416},                                            // Addr: 0xa423e7eeb60547d9c7b65005477b63ae7ce67e62, Notional: 8.354000000000001
+		{Chain: 16, Addr: "000000000000000000000000a649325aa7c5093d12d6f98eb4378deae68ce23f", Symbol: "BUSD", CoinGeckoId: "binance-usd", Decimals: 18, Price: 1},                                                 // Addr: 0xa649325aa7c5093d12d6f98eb4378deae68ce23f, Notional: 3015.3292148
+		{Chain: 16, Addr: "000000000000000000000000acc15dc74880c9944775448304b263d191c6077f", Symbol: "WGLMR", CoinGeckoId: "wrapped-moonbeam", Decimals: 18, Price: 0.056795},                                    // Addr: 0xacc15dc74880c9944775448304b263d191c6077f, Notional: 3623.3419554129628
+		{Chain: 16, Addr: "000000000000000000000000ca01a1d0993565291051daff390892518acfad3a", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                            // Addr: 0xca01a1d0993565291051daff390892518acfad3a, Notional: 17.00057646
+		{Chain: 16, Addr: "000000000000000000000000cd3b51d98478d53f4515a306be565c6eebef1d58", Symbol: "GLINT", CoinGeckoId: "beamswap", Decimals: 18, Price: 0.00004037},                                          // Addr: 0xcd3b51d98478d53f4515a306be565c6eebef1d58, Notional: 0.00100925
+		{Chain: 16, Addr: "000000000000000000000000ecf2adaff1de8a512f6e8bfe67a2c836edb25da3", Symbol: "xcRMRK", CoinGeckoId: "rmrk", Decimals: 10, Price: 0.03897008},                                             // Addr: 0xecf2adaff1de8a512f6e8bfe67a2c836edb25da3, Notional: 0.023419248448667197
 		{Chain: 16, Addr: "000000000000000000000000efaeee334f0fd1712f9a8cc375f427d9cdd40d73", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                       // Addr: 0xefaeee334f0fd1712f9a8cc375f427d9cdd40d73, Notional: 561.934496
-		{Chain: 16, Addr: "000000000000000000000000fa9343c3897324496a05fc75abed6bac29f8a40f", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                   // Addr: 0xfa9343c3897324496a05fc75abed6bac29f8a40f, Notional: 3819.7934959384997
-		{Chain: 16, Addr: "000000000000000000000000ffffffff1fcacbd218edc0eba20fc2308c778080", Symbol: "xcDOT", CoinGeckoId: "xcdot", Decimals: 10, Price: 4.11},                                                   // Addr: 0xffffffff1fcacbd218edc0eba20fc2308c778080, Notional: 190.16199259920003
+		{Chain: 16, Addr: "000000000000000000000000fa9343c3897324496a05fc75abed6bac29f8a40f", Symbol: "ETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                   // Addr: 0xfa9343c3897324496a05fc75abed6bac29f8a40f, Notional: 3684.7115518174996
+		{Chain: 16, Addr: "000000000000000000000000ffffffff1fcacbd218edc0eba20fc2308c778080", Symbol: "xcDOT", CoinGeckoId: "xcdot", Decimals: 10, Price: 3.93},                                                   // Addr: 0xffffffff1fcacbd218edc0eba20fc2308c778080, Notional: 181.83373014960003
 		{Chain: 16, Addr: "000000000000000000000000ffffffff52c56a9257bb97f4b2b6f7b2d624ecda", Symbol: "xcaUSD", CoinGeckoId: "acala-dollar-acala", Decimals: 12, Price: 0.28254},                                  // Addr: 0xffffffff52c56a9257bb97f4b2b6f7b2d624ecda, Notional: 9.7805951538966
 		{Chain: 16, Addr: "000000000000000000000000ffffffffea09fb06d082fd1275cd48b191cbcd1d", Symbol: "xcUSDT", CoinGeckoId: "xcusdt", Decimals: 6, Price: 1.004},                                                 // Addr: 0xffffffffea09fb06d082fd1275cd48b191cbcd1d, Notional: 321.91252803199995
-		{Chain: 18, Addr: "00e079a77f9591f05ef4c2208aff66d85b83afe8db60b398acc7b1277c58887e", Symbol: "LunaX", CoinGeckoId: "lunax", Decimals: 6, Price: 0.222487},                                                // Addr: terra14xsm2wzvu7xaf567r693vgfkhmvfs08l68h4tjj5wjgyn5ky8e2qvzyanh, Notional: 0.21423028494299998
-		{Chain: 18, Addr: "01fa6c6fbc36d8c245b0a852a43eb5d644e8b4c477b27bfab9537c10945939da", Symbol: "LUNA", CoinGeckoId: "terra-luna-2", Decimals: 6, Price: 0.152825},                                          // Addr: uluna, Notional: 326.763588154425
-		{Chain: 19, Addr: "017038850bf3af746c36803cce35009268f00d22ae2b55ffb59ac5f2a6add40b", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 14.03},                                       // Addr: inj, Notional: 2120.7396687397
-		{Chain: 21, Addr: "01087411ef48aaac1eb6e24803213e3a60a03b147dac930e5e341f17a85e524e", Symbol: "FUD", CoinGeckoId: "fud-the-pug", Decimals: 5, Price: 2.8081e-8},                                           // Addr: 0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD, Notional: 0.0000056162
-		{Chain: 21, Addr: "3e50a0a576877092bfaa4f8e4ec8cd7dd0a4a281bec3f806583949cf7873d07b", Symbol: "SUIP", CoinGeckoId: "suipad", Decimals: 9, Price: 0.01457956},                                              // Addr: 0xe4239cd951f6c53d9c41e25270d80d31f925ad1655e5ba5b543843d4a66975ee::SUIP::SUIP, Notional: 14132.823901104095
-		{Chain: 21, Addr: "4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da", Symbol: "CETUS", CoinGeckoId: "cetus-protocol", Decimals: 9, Price: 0.092791},                                       // Addr: 0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS, Notional: 0.00000108379888
-		{Chain: 21, Addr: "5075594c01d46f3bcbc4a7ef1462058273bece7793eebd0464963597c9fd0935", Symbol: "SPT", CoinGeckoId: "seapad", Decimals: 9, Price: 0.011985},                                                 // Addr: 0xb779486cfd6c19e9218cc7dc17c453014d2d9ba12d2ee4dbb0ec4e1e02ae1cca::spt::SPT, Notional: 1.7526744150000002
-		{Chain: 21, Addr: "5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844", Symbol: "SCA", CoinGeckoId: "scallop-2", Decimals: 9, Price: 0.096173},                                              // Addr: 0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA, Notional: 16200.138353635059
-		{Chain: 21, Addr: "9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3", Symbol: "SUI", CoinGeckoId: "sui", Decimals: 9, Price: 3.47},                                                        // Addr: 0x2::sui::SUI, Notional: 382499.3839019432
-		{Chain: 21, Addr: "95a4518ae9e019c757df6703dce9ea5ecac8b319b9afed3a44c4d50363a66b42", Symbol: "TURBOS", CoinGeckoId: "turbos-finance", Decimals: 9, Price: 0.00088779},                                    // Addr: 0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS, Notional: 47098.72279911386
-		{Chain: 22, Addr: "0cb75f840d0b043dda136e86fb2b01415a873169531ad5be0df923c12864d9bd", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 8, Price: 2.42},                                         // Addr: 0x159df6b7689437016108a019fd5bef736bac692b6d4a1f10c941f6fbb9a74ca6::oft::CakeOFT, Notional: 175.8102540502
-		{Chain: 22, Addr: "0d080af8d4c0959b482427505b893d59abca4d1c9670de1a1fe02dc9d7c66728", Symbol: "tAPT", CoinGeckoId: "tortuga-staked-aptos", Decimals: 8, Price: 5.15},                                      // Addr: 0x84d7aeef42d38a5ffc3ccef853e1b82e4958659d16a7de736a29c55fbbeb0114::staked_aptos_coin::StakedAptosCoin, Notional: 11.322228650000001
-		{Chain: 22, Addr: "2603e2b07403ec1ff0315cbbeffac190f08a85dd61157c503c8f88efb2a7e123", Symbol: "MOVE", CoinGeckoId: "bluemove", Decimals: 8, Price: 0.00434176},                                            // Addr: 0x27fafcc4e39daac97556af8a803dbb52bcb03f0821898dc845ac54225b9793eb::move_coin::MoveCoin, Notional: 9.802763182732903
+		{Chain: 19, Addr: "017038850bf3af746c36803cce35009268f00d22ae2b55ffb59ac5f2a6add40b", Symbol: "INJ", CoinGeckoId: "injective-protocol", Decimals: 18, Price: 12.01},                                       // Addr: inj, Notional: 1815.4015268399
+		{Chain: 21, Addr: "01087411ef48aaac1eb6e24803213e3a60a03b147dac930e5e341f17a85e524e", Symbol: "FUD", CoinGeckoId: "fud-the-pug", Decimals: 5, Price: 2.0816e-8},                                           // Addr: 0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD, Notional: 0.0000041632
+		{Chain: 21, Addr: "3e50a0a576877092bfaa4f8e4ec8cd7dd0a4a281bec3f806583949cf7873d07b", Symbol: "SUIP", CoinGeckoId: "suipad", Decimals: 9, Price: 0.0118758},                                               // Addr: 0xe4239cd951f6c53d9c41e25270d80d31f925ad1655e5ba5b543843d4a66975ee::SUIP::SUIP, Notional: 11511.910516142601
+		{Chain: 21, Addr: "4c0dce55eff2db5419bbd2d239d1aa22b4a400c01bbb648b058a9883989025da", Symbol: "CETUS", CoinGeckoId: "cetus-protocol", Decimals: 9, Price: 0.075269},                                       // Addr: 0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS, Notional: 8.7914192e-7
+		{Chain: 21, Addr: "5075594c01d46f3bcbc4a7ef1462058273bece7793eebd0464963597c9fd0935", Symbol: "SPT", CoinGeckoId: "seapad", Decimals: 9, Price: 0.01183122},                                               // Addr: 0xb779486cfd6c19e9218cc7dc17c453014d2d9ba12d2ee4dbb0ec4e1e02ae1cca::spt::SPT, Notional: 1.7301857815800001
+		{Chain: 21, Addr: "5d26a1e9a55c88147ac870bfa31b729d7f49f8804b8b3adfdf3582d301cca844", Symbol: "SCA", CoinGeckoId: "scallop-2", Decimals: 9, Price: 0.099614},                                              // Addr: 0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA, Notional: 16534.67049885446
+		{Chain: 21, Addr: "9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3", Symbol: "SUI", CoinGeckoId: "sui", Decimals: 9, Price: 3.26},                                                        // Addr: 0x2::sui::SUI, Notional: 2286588.629228834
+		{Chain: 21, Addr: "95a4518ae9e019c757df6703dce9ea5ecac8b319b9afed3a44c4d50363a66b42", Symbol: "TURBOS", CoinGeckoId: "turbos-finance", Decimals: 9, Price: 0.00085268},                                    // Addr: 0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS, Notional: 45222.43963860351
+		{Chain: 22, Addr: "0cb75f840d0b043dda136e86fb2b01415a873169531ad5be0df923c12864d9bd", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 8, Price: 2.51},                                         // Addr: 0x159df6b7689437016108a019fd5bef736bac692b6d4a1f10c941f6fbb9a74ca6::oft::CakeOFT, Notional: 573.7462134127
+		{Chain: 22, Addr: "0d080af8d4c0959b482427505b893d59abca4d1c9670de1a1fe02dc9d7c66728", Symbol: "tAPT", CoinGeckoId: "tortuga-staked-aptos", Decimals: 8, Price: 5.21},                                      // Addr: 0x84d7aeef42d38a5ffc3ccef853e1b82e4958659d16a7de736a29c55fbbeb0114::staked_aptos_coin::StakedAptosCoin, Notional: 11.45413811
+		{Chain: 22, Addr: "2603e2b07403ec1ff0315cbbeffac190f08a85dd61157c503c8f88efb2a7e123", Symbol: "MOVE", CoinGeckoId: "bluemove", Decimals: 8, Price: 0.0008192},                                             // Addr: 0x27fafcc4e39daac97556af8a803dbb52bcb03f0821898dc845ac54225b9793eb::move_coin::MoveCoin, Notional: 2.059337530810368
 		{Chain: 22, Addr: "5a03e1706af81b4176d7a25ec23b7ce4098f79082daf20e312d4bf6e52d2e195", Symbol: "SLT", CoinGeckoId: "sui-launch-token", Decimals: 8, Price: 0.00000593},                                     // Addr: 0x8b2df69c9766e18486c37e3cfc53c6ce6e9aa58bbc606a8a0a219f24cf9eafc1::sui_launch_token::SuiLaunchToken, Notional: 0.19020295196120132
-		{Chain: 22, Addr: "6155e0a106aeb3b0944388613027aee11c84921969ff775727e8046b17b17154", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC, Notional: 15922.006341002647
-		{Chain: 22, Addr: "61f76dbc4bdb1add1afecc1f726638bc9b5b2ac42b62f8d598b27431e5c82b7c", Symbol: "GUI", CoinGeckoId: "gui-inu", Decimals: 6, Price: 0.00000278},                                              // Addr: 0xe4ccb6d39136469f376242c31b34d10515c8eaaa38092f804db8e08a8f53c5b2::assets_v1::EchoCoin002, Notional: 2.70755051593224
-		{Chain: 22, Addr: "69e4491bcf06bae41346240afbdab99cdbe40b38d2bb22eb1cf9b4a4d9e635f8", Symbol: "MBX", CoinGeckoId: "marblex", Decimals: 8, Price: 0.164735},                                                // Addr: 0x665d06fcd9c94430099f82973f2a5e5f13142e42fa172e72ce14f51a64bd8ad9::coin_mbx::MBX, Notional: 0.04129672032094999
+		{Chain: 22, Addr: "6155e0a106aeb3b0944388613027aee11c84921969ff775727e8046b17b17154", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC, Notional: 15919.522155259074
+		{Chain: 22, Addr: "61f76dbc4bdb1add1afecc1f726638bc9b5b2ac42b62f8d598b27431e5c82b7c", Symbol: "GUI", CoinGeckoId: "gui-inu", Decimals: 6, Price: 0.00000311},                                              // Addr: 0xe4ccb6d39136469f376242c31b34d10515c8eaaa38092f804db8e08a8f53c5b2::assets_v1::EchoCoin002, Notional: 3.0289503973198797
+		{Chain: 22, Addr: "69e4491bcf06bae41346240afbdab99cdbe40b38d2bb22eb1cf9b4a4d9e635f8", Symbol: "MBX", CoinGeckoId: "marblex", Decimals: 8, Price: 0.138793},                                                // Addr: 0x665d06fcd9c94430099f82973f2a5e5f13142e42fa172e72ce14f51a64bd8ad9::coin_mbx::MBX, Notional: 0.03479343007561
 		{Chain: 22, Addr: "8604102ac84987cb6d5e3ba0bce7530f2d9036b80752dce5202227221787957a", Symbol: "APC", CoinGeckoId: "apass-coin", Decimals: 8, Price: 0.00476578},                                           // Addr: 0x777821c78442e17d82c3d7a371f42de7189e4248e529fe6eee6bca40ddbb::apcoin::ApCoin, Notional: 0.01191445
-		{Chain: 22, Addr: "93601512902fe46ad6c51440c23a1a7e166c4b60e773579eda639c113a81325a", Symbol: "USDT", CoinGeckoId: "layerzero-bridged-usdt-aptos", Decimals: 6, Price: 0.997687},                          // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDT, Notional: 7273.572417396277
+		{Chain: 22, Addr: "93601512902fe46ad6c51440c23a1a7e166c4b60e773579eda639c113a81325a", Symbol: "USDT", CoinGeckoId: "layerzero-bridged-usdt-aptos", Decimals: 6, Price: 0.998336},                          // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDT, Notional: 7278.303909837184
 		{Chain: 22, Addr: "a4b99ea559e3faeb5ddaf5bf39101894d0ce210d5e79306034d031cb6ac79693", Symbol: "MAU", CoinGeckoId: "mau", Decimals: 8, Price: 0.0000304},                                                   // Addr: 0x83b619e2d9e6e10d15ed4b714111a4cd9526c1c2ae0eec4b252a619d3e8bdda3::MAU::MAU, Notional: 0.000608
-		{Chain: 22, Addr: "a867703f5395cb2965feb7ebff5cdf39b771fc6156085da3ae4147a00be91b38", Symbol: "APT", CoinGeckoId: "aptos", Decimals: 8, Price: 4.37},                                                      // Addr: 0x1::aptos_coin::AptosCoin, Notional: 100659.7719244046
-		{Chain: 22, Addr: "b029b48ea7d6c38a48a0400a156544700a9fc7ac9b82a18a3e644326177996be", Symbol: "MOD", CoinGeckoId: "move-dollar", Decimals: 8, Price: 0.997384},                                            // Addr: 0x6f986d146e4a90b828d8c12c14b6f4e003fdff11a8eecceceb63744363eaac01::mod_coin::MOD, Notional: 1.03727936
-		{Chain: 22, Addr: "b848656c196bccfa7b9708992b6af7714afce6a56e4689da5aed63b14e99757b", Symbol: "WETH", CoinGeckoId: "layerzero-bridged-weth-aptos", Decimals: 6, Price: 4278.99},                           // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::WETH, Notional: 37145.95925889
+		{Chain: 22, Addr: "a867703f5395cb2965feb7ebff5cdf39b771fc6156085da3ae4147a00be91b38", Symbol: "APT", CoinGeckoId: "aptos", Decimals: 8, Price: 4.4},                                                       // Addr: 0x1::aptos_coin::AptosCoin, Notional: 100075.182316428
+		{Chain: 22, Addr: "b029b48ea7d6c38a48a0400a156544700a9fc7ac9b82a18a3e644326177996be", Symbol: "MOD", CoinGeckoId: "move-dollar", Decimals: 8, Price: 0.998137},                                            // Addr: 0x6f986d146e4a90b828d8c12c14b6f4e003fdff11a8eecceceb63744363eaac01::mod_coin::MOD, Notional: 1.03806248
+		{Chain: 22, Addr: "b848656c196bccfa7b9708992b6af7714afce6a56e4689da5aed63b14e99757b", Symbol: "WETH", CoinGeckoId: "layerzero-bridged-weth-aptos", Decimals: 6, Price: 4147.74},                           // Addr: 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::WETH, Notional: 36006.57656514
 		{Chain: 22, Addr: "c0ef1c9f58413f5fce5cf859b363b291eb43995b9e790da04afe15772f502fbf", Symbol: "ANI", CoinGeckoId: "animeswap", Decimals: 8, Price: 0.0002396},                                             // Addr: 0x16fe2df00ea7dde4a63409201f7f4e536bde7bb7335526a35d05111e68aa322c::AnimeCoin::ANI, Notional: 0.413714048602232
-		{Chain: 22, Addr: "d64be880bc9b995c0028588e916e21e7e796ae5cf32cac551edeaf95f2f9fdbd", Symbol: "doodoo", CoinGeckoId: "doodoo", Decimals: 8, Price: 0.13995},                                               // Addr: 0x73eb84966be67e4697fc5ae75173ca6c35089e802650f75422ab49a8729704ec::coin::DooDoo, Notional: 714690.7236622429
-		{Chain: 22, Addr: "eb1cbad587018a828b7e2d49456ed3e96d01baa8f7590723c558fecdfdffe842", Symbol: "ALT", CoinGeckoId: "aptos-launch-token", Decimals: 8, Price: 0.00256635},                                   // Addr: 0xd0b4efb4be7c3508d9a26a9b5405cf9f860d0b9e5fe2f498b90e68b8d2cedd3e::aptos_launch_token::AptosLaunchToken, Notional: 0.033363640698749995
+		{Chain: 22, Addr: "d64be880bc9b995c0028588e916e21e7e796ae5cf32cac551edeaf95f2f9fdbd", Symbol: "doodoo", CoinGeckoId: "doodoo", Decimals: 8, Price: 0.136424},                                              // Addr: 0x73eb84966be67e4697fc5ae75173ca6c35089e802650f75422ab49a8729704ec::coin::DooDoo, Notional: 697571.5363550277
+		{Chain: 22, Addr: "eb1cbad587018a828b7e2d49456ed3e96d01baa8f7590723c558fecdfdffe842", Symbol: "ALT", CoinGeckoId: "aptos-launch-token", Decimals: 8, Price: 0.00208907},                                   // Addr: 0xd0b4efb4be7c3508d9a26a9b5405cf9f860d0b9e5fe2f498b90e68b8d2cedd3e::aptos_launch_token::AptosLaunchToken, Notional: 0.027158797854750002
 		{Chain: 22, Addr: "ec43792d3639b37cfcf7a3381d4fd71e2a7c75e708a518970eb0d475a03097cf", Symbol: "BNB", CoinGeckoId: "wrapped-bnb-celer", Decimals: 8, Price: 737.37},                                        // Addr: 0x8d87a65ba30e09357fa2edea2c80dbac296e5dec2b18287113500b902942929d::celer_coin_manager::BnbCoin, Notional: 37.144947386700004
 		{Chain: 22, Addr: "f7835a613217e1b032007d111c9d34db23cf5f976e27e1afda8b97c3e35df17b", Symbol: "WETH", CoinGeckoId: "wrapped-ether-celer", Decimals: 8, Price: 4337.6},                                     // Addr: 0x8d87a65ba30e09357fa2edea2c80dbac296e5dec2b18287113500b902942929d::celer_coin_manager::WethCoin, Notional: 133.035363152
-		{Chain: 23, Addr: "00000000000000000000000009090e22118b375f2c7b95420c04414e4bf68e1a", Symbol: "BELA", CoinGeckoId: "beluga-protocol", Decimals: 18, Price: 0.00000749},                                    // Addr: 0x09090e22118b375f2c7b95420c04414e4bf68e1a, Notional: 0.000749
-		{Chain: 23, Addr: "00000000000000000000000009e18590e8f76b6cf471b3cd75fe1a1a9d2b2c2b", Symbol: "AIDOGE", CoinGeckoId: "arbdoge-ai", Decimals: 6, Price: 1.02332e-10},                                       // Addr: 0x09e18590e8f76b6cf471b3cd75fe1a1a9d2b2c2b, Notional: 1.02332e-7
-		{Chain: 23, Addr: "00000000000000000000000009fd3d6e6889940ca1158b9221309bd69fafa32b", Symbol: "DROP", CoinGeckoId: "droparb", Decimals: 18, Price: 3.2523e-11},                                            // Addr: 0x09fd3d6e6889940ca1158b9221309bd69fafa32b, Notional: 0.04145128867917124
-		{Chain: 23, Addr: "0000000000000000000000000c880f6761f1af8d9aa9c466984b80dab9a8c9e8", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.69},                                                 // Addr: 0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8, Notional: 28.14
-		{Chain: 23, Addr: "00000000000000000000000010393c20975cf177a3513071bc110f7962cd67da", Symbol: "JONES", CoinGeckoId: "jones-dao", Decimals: 18, Price: 0.084565},                                           // Addr: 0x10393c20975cf177a3513071bc110f7962cd67da, Notional: 0.00079504207575
-		{Chain: 23, Addr: "00000000000000000000000013a7dedb7169a17be92b0e3c7c2315b46f4772b3", Symbol: "Boop", CoinGeckoId: "boop-2", Decimals: 18, Price: 0.00002914},                                             // Addr: 0x13a7dedb7169a17be92b0e3c7c2315b46f4772b3, Notional: 31978.492831460724
-		{Chain: 23, Addr: "00000000000000000000000016f1967565aad72dd77588a332ce445e7cef752b", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 0, Price: 2.6984e-8},                                       // Addr: 0x16f1967565aad72dd77588a332ce445e7cef752b, Notional: 155690.02735673165
-		{Chain: 23, Addr: "00000000000000000000000018c11fd286c5ec11c3b683caa813b77f5163a122", Symbol: "GNS", CoinGeckoId: "gains-network", Decimals: 18, Price: 2.23},                                             // Addr: 0x18c11fd286c5ec11c3b683caa813b77f5163a122, Notional: 0.7244970288
-		{Chain: 23, Addr: "000000000000000000000000191c10aa4af7c30e871e70c95db0e4eb77237530", Symbol: "aArbLINK", CoinGeckoId: "aave-v3-link", Decimals: 18, Price: 23.12},                                        // Addr: 0x191c10aa4af7c30e871e70c95db0e4eb77237530, Notional: 2.0656212576
-		{Chain: 23, Addr: "0000000000000000000000001b896893dfc86bb67cf57767298b9073d2c1ba2c", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.42},                                        // Addr: 0x1b896893dfc86bb67cf57767298b9073d2c1ba2c, Notional: 8.154303256
-		{Chain: 23, Addr: "0000000000000000000000002297aebd383787a160dd0d9f71508148769342e3", Symbol: "BTC.b", CoinGeckoId: "bitcoin-avalanche-bridged-btc-b", Decimals: 8, Price: 111355},                        // Addr: 0x2297aebd383787a160dd0d9f71508148769342e3, Notional: 799.7627455
+		{Chain: 23, Addr: "00000000000000000000000009090e22118b375f2c7b95420c04414e4bf68e1a", Symbol: "BELA", CoinGeckoId: "beluga-protocol", Decimals: 18, Price: 0.00001159},                                    // Addr: 0x09090e22118b375f2c7b95420c04414e4bf68e1a, Notional: 0.001159
+		{Chain: 23, Addr: "00000000000000000000000009e18590e8f76b6cf471b3cd75fe1a1a9d2b2c2b", Symbol: "AIDOGE", CoinGeckoId: "arbdoge-ai", Decimals: 6, Price: 8.8178e-11},                                        // Addr: 0x09e18590e8f76b6cf471b3cd75fe1a1a9d2b2c2b, Notional: 8.8178e-8
+		{Chain: 23, Addr: "00000000000000000000000009fd3d6e6889940ca1158b9221309bd69fafa32b", Symbol: "DROP", CoinGeckoId: "droparb", Decimals: 18, Price: 3.1046e-11},                                            // Addr: 0x09fd3d6e6889940ca1158b9221309bd69fafa32b, Notional: 0.0395688192458737
+		{Chain: 23, Addr: "0000000000000000000000000c880f6761f1af8d9aa9c466984b80dab9a8c9e8", Symbol: "PENDLE", CoinGeckoId: "pendle", Decimals: 18, Price: 4.47},                                                 // Addr: 0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8, Notional: 26.82
+		{Chain: 23, Addr: "00000000000000000000000010393c20975cf177a3513071bc110f7962cd67da", Symbol: "JONES", CoinGeckoId: "jones-dao", Decimals: 18, Price: 0.072142},                                           // Addr: 0x10393c20975cf177a3513071bc110f7962cd67da, Notional: 0.0006782466201
+		{Chain: 23, Addr: "00000000000000000000000011cdb42b0eb46d95f990bedd4695a6e3fa034978", Symbol: "CRV", CoinGeckoId: "curve-dao-token", Decimals: 18, Price: 0.688463},                                       // Addr: 0x11cdb42b0eb46d95f990bedd4695a6e3fa034978, Notional: 15.86463203180484
+		{Chain: 23, Addr: "00000000000000000000000013a7dedb7169a17be92b0e3c7c2315b46f4772b3", Symbol: "Boop", CoinGeckoId: "boop-2", Decimals: 18, Price: 0.00002022},                                             // Addr: 0x13a7dedb7169a17be92b0e3c7c2315b46f4772b3, Notional: 24150.894664258576
+		{Chain: 23, Addr: "00000000000000000000000016f1967565aad72dd77588a332ce445e7cef752b", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 0, Price: 2.2256e-8},                                       // Addr: 0x16f1967565aad72dd77588a332ce445e7cef752b, Notional: 130547.74112040919
+		{Chain: 23, Addr: "00000000000000000000000018c11fd286c5ec11c3b683caa813b77f5163a122", Symbol: "GNS", CoinGeckoId: "gains-network", Decimals: 18, Price: 1.8},                                              // Addr: 0x18c11fd286c5ec11c3b683caa813b77f5163a122, Notional: 0.584795808
+		{Chain: 23, Addr: "000000000000000000000000191c10aa4af7c30e871e70c95db0e4eb77237530", Symbol: "aArbLINK", CoinGeckoId: "aave-v3-link", Decimals: 18, Price: 21.33},                                        // Addr: 0x191c10aa4af7c30e871e70c95db0e4eb77237530, Notional: 1.9056964284
+		{Chain: 23, Addr: "0000000000000000000000001b896893dfc86bb67cf57767298b9073d2c1ba2c", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.51},                                        // Addr: 0x1b896893dfc86bb67cf57767298b9073d2c1ba2c, Notional: 8.457562467999999
+		{Chain: 23, Addr: "0000000000000000000000002297aebd383787a160dd0d9f71508148769342e3", Symbol: "BTC.b", CoinGeckoId: "bitcoin-avalanche-bridged-btc-b", Decimals: 8, Price: 113951},                        // Addr: 0x2297aebd383787a160dd0d9f71508148769342e3, Notional: 818.4074771
 		{Chain: 23, Addr: "00000000000000000000000024ef78c7092d255ed14a0281ac1800c359af3afe", Symbol: "RAB", CoinGeckoId: "rabbit-wallet", Decimals: 18, Price: 0.00140006},                                       // Addr: 0x24ef78c7092d255ed14a0281ac1800c359af3afe, Notional: 0.0140006
-		{Chain: 23, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000484},                                              // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 3.4162521533068326
-		{Chain: 23, Addr: "00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00001027},                                               // Addr: 0x25d887ce7a35172c62febfd67a1856f20faebb00, Notional: 0.00001027
-		{Chain: 23, Addr: "000000000000000000000000289ba1701c2f088cf0faf8b3705246331cb8a839", Symbol: "LPT", CoinGeckoId: "livepeer", Decimals: 18, Price: 7.05},                                                  // Addr: 0x289ba1701c2f088cf0faf8b3705246331cb8a839, Notional: 1042.943107689
-		{Chain: 23, Addr: "0000000000000000000000002f2a2543b76a4166549f7aab2e75bef0aefc5b0f", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                         // Addr: 0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f, Notional: 25566.20821406
-		{Chain: 23, Addr: "0000000000000000000000003082cc23568ea640225c2467653db90e9250aaa0", Symbol: "RDNT", CoinGeckoId: "radiant-capital", Decimals: 18, Price: 0.02110427},                                    // Addr: 0x3082cc23568ea640225c2467653db90e9250aaa0, Notional: 0.14967148284
-		{Chain: 23, Addr: "0000000000000000000000003269a3c00ab86c753856fd135d97b87facb0d848", Symbol: "FFM", CoinGeckoId: "florence-finance-medici", Decimals: 18, Price: 0.00081325},                             // Addr: 0x3269a3c00ab86c753856fd135d97b87facb0d848, Notional: 24390.413718825897
-		{Chain: 23, Addr: "00000000000000000000000035751007a407ca6feffe80b3cb397736d2cf4dbe", Symbol: "weETH", CoinGeckoId: "wrapped-eeth", Decimals: 18, Price: 4615.78},                                         // Addr: 0x35751007a407ca6feffe80b3cb397736d2cf4dbe, Notional: 4.6442132048
-		{Chain: 23, Addr: "000000000000000000000000371c7ec6d8039ff7933a2aa28eb827ffe1f52f07", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.160055},                                                   // Addr: 0x371c7ec6d8039ff7933a2aa28eb827ffe1f52f07, Notional: 304.9661774598425
-		{Chain: 23, Addr: "0000000000000000000000003b475f6f2f41853706afc9fa6a6b8c5df1a2724c", Symbol: "ZYB", CoinGeckoId: "zyberswap", Decimals: 18, Price: 0.00113204},                                           // Addr: 0x3b475f6f2f41853706afc9fa6a6b8c5df1a2724c, Notional: 0.0056602
-		{Chain: 23, Addr: "0000000000000000000000004186bfc76e2e237523cbc30fd220fe055156b41f", Symbol: "rsETH", CoinGeckoId: "kelpdao-bridged-rseth-arbitrum", Decimals: 18, Price: 4519.36},                       // Addr: 0x4186bfc76e2e237523cbc30fd220fe055156b41f, Notional: 0.2825051936
-		{Chain: 23, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022049},                                         // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 0.0022049
-		{Chain: 23, Addr: "0000000000000000000000004425742f1ec8d98779690b5a3a6276db85ddc01a", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00183028},                                        // Addr: 0x4425742f1ec8d98779690b5a3a6276db85ddc01a, Notional: 0.3749640759511864
-		{Chain: 23, Addr: "00000000000000000000000046f74778b265df3a15ec9695ccd2fd3869ca848c", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.0152002},                                                // Addr: 0x46f74778b265df3a15ec9695ccd2fd3869ca848c, Notional: 2386.416500985427
-		{Chain: 23, Addr: "0000000000000000000000004d15a3a2286d883af0aa1b3f21367843fac63e07", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.997407},                                             // Addr: 0x4d15a3a2286d883af0aa1b3f21367843fac63e07, Notional: 11.968884000000001
-		{Chain: 23, Addr: "000000000000000000000000509fd25ee2ac7833a017f17ee8a6fb4aaf947876", Symbol: "mWOM", CoinGeckoId: "magpie-wom", Decimals: 18, Price: 0.00173192},                                         // Addr: 0x509fd25ee2ac7833a017f17ee8a6fb4aaf947876, Notional: 0.018795115206048003
-		{Chain: 23, Addr: "00000000000000000000000051318b7d00db7acc4026c88c3952b66278b6a67f", Symbol: "PLS", CoinGeckoId: "plutusdao", Decimals: 18, Price: 0.01954883},                                           // Addr: 0x51318b7d00db7acc4026c88c3952b66278b6a67f, Notional: 0.0016760517820843999
+		{Chain: 23, Addr: "0000000000000000000000002598c30330d5771ae9f983979209486ae26de875", Symbol: "AI", CoinGeckoId: "any-inu", Decimals: 18, Price: 0.00000335},                                              // Addr: 0x2598c30330d5771ae9f983979209486ae26de875, Notional: 2.3645546928879937
+		{Chain: 23, Addr: "00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00", Symbol: "PEPE", CoinGeckoId: "pepe", Decimals: 18, Price: 0.00000931},                                               // Addr: 0x25d887ce7a35172c62febfd67a1856f20faebb00, Notional: 0.00000931
+		{Chain: 23, Addr: "000000000000000000000000289ba1701c2f088cf0faf8b3705246331cb8a839", Symbol: "LPT", CoinGeckoId: "livepeer", Decimals: 18, Price: 6.05},                                                  // Addr: 0x289ba1701c2f088cf0faf8b3705246331cb8a839, Notional: 895.007915109
+		{Chain: 23, Addr: "0000000000000000000000002f2a2543b76a4166549f7aab2e75bef0aefc5b0f", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                         // Addr: 0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f, Notional: 26205.06580512
+		{Chain: 23, Addr: "0000000000000000000000003082cc23568ea640225c2467653db90e9250aaa0", Symbol: "RDNT", CoinGeckoId: "radiant-capital", Decimals: 18, Price: 0.01921442},                                    // Addr: 0x3082cc23568ea640225c2467653db90e9250aaa0, Notional: 0.13626866663999998
+		{Chain: 23, Addr: "0000000000000000000000003269a3c00ab86c753856fd135d97b87facb0d848", Symbol: "FFM", CoinGeckoId: "florence-finance-medici", Decimals: 18, Price: 0.0007627},                              // Addr: 0x3269a3c00ab86c753856fd135d97b87facb0d848, Notional: 22963.359782250434
+		{Chain: 23, Addr: "00000000000000000000000035751007a407ca6feffe80b3cb397736d2cf4dbe", Symbol: "weETH", CoinGeckoId: "wrapped-eeth", Decimals: 18, Price: 4465.64},                                         // Addr: 0x35751007a407ca6feffe80b3cb397736d2cf4dbe, Notional: 4.4931483424000005
+		{Chain: 23, Addr: "000000000000000000000000371c7ec6d8039ff7933a2aa28eb827ffe1f52f07", Symbol: "JOE", CoinGeckoId: "joe", Decimals: 18, Price: 0.155262},                                                   // Addr: 0x371c7ec6d8039ff7933a2aa28eb827ffe1f52f07, Notional: 295.833673704477
+		{Chain: 23, Addr: "0000000000000000000000003b475f6f2f41853706afc9fa6a6b8c5df1a2724c", Symbol: "ZYB", CoinGeckoId: "zyberswap", Decimals: 18, Price: 0.00131869},                                           // Addr: 0x3b475f6f2f41853706afc9fa6a6b8c5df1a2724c, Notional: 0.00659345
+		{Chain: 23, Addr: "0000000000000000000000004186bfc76e2e237523cbc30fd220fe055156b41f", Symbol: "rsETH", CoinGeckoId: "kelpdao-bridged-rseth-arbitrum", Decimals: 18, Price: 4371},                          // Addr: 0x4186bfc76e2e237523cbc30fd220fe055156b41f, Notional: 0.27323121
+		{Chain: 23, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022077},                                         // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 0.0022077
+		{Chain: 23, Addr: "0000000000000000000000004425742f1ec8d98779690b5a3a6276db85ddc01a", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00157008},                                        // Addr: 0x4425742f1ec8d98779690b5a3a6276db85ddc01a, Notional: 0.3216576678811104
+		{Chain: 23, Addr: "00000000000000000000000046f74778b265df3a15ec9695ccd2fd3869ca848c", Symbol: "ANKR", CoinGeckoId: "ankr", Decimals: 18, Price: 0.01324262},                                               // Addr: 0x46f74778b265df3a15ec9695ccd2fd3869ca848c, Notional: 2079.078359776821
+		{Chain: 23, Addr: "0000000000000000000000004d15a3a2286d883af0aa1b3f21367843fac63e07", Symbol: "TUSD", CoinGeckoId: "true-usd", Decimals: 18, Price: 0.999037},                                             // Addr: 0x4d15a3a2286d883af0aa1b3f21367843fac63e07, Notional: 11.988444
+		{Chain: 23, Addr: "000000000000000000000000509fd25ee2ac7833a017f17ee8a6fb4aaf947876", Symbol: "mWOM", CoinGeckoId: "magpie-wom", Decimals: 18, Price: 0.00108613},                                         // Addr: 0x509fd25ee2ac7833a017f17ee8a6fb4aaf947876, Notional: 0.011786883042372001
+		{Chain: 23, Addr: "00000000000000000000000051318b7d00db7acc4026c88c3952b66278b6a67f", Symbol: "PLS", CoinGeckoId: "plutusdao", Decimals: 18, Price: 0.02375621},                                           // Addr: 0x51318b7d00db7acc4026c88c3952b66278b6a67f, Notional: 0.0020367785747828
 		{Chain: 23, Addr: "00000000000000000000000051b902f19a56f0c8e409a34a215ad2673edf3284", Symbol: "NFTE", CoinGeckoId: "nftearth", Decimals: 18, Price: 0.00001511},                                           // Addr: 0x51b902f19a56f0c8e409a34a215ad2673edf3284, Notional: 0.0060553617661057
-		{Chain: 23, Addr: "00000000000000000000000051fc0f6660482ea73330e414efd7808811a57fa2", Symbol: "PREMIA", CoinGeckoId: "premia", Decimals: 18, Price: 0.160946},                                             // Addr: 0x51fc0f6660482ea73330e414efd7808811a57fa2, Notional: 0.75630030566992
-		{Chain: 23, Addr: "000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342", Symbol: "MAGIC", CoinGeckoId: "magic", Decimals: 18, Price: 0.203236},                                               // Addr: 0x539bde0d7dbd336b79148aa742883198bbf60342, Notional: 3.03289343145316
+		{Chain: 23, Addr: "00000000000000000000000051fc0f6660482ea73330e414efd7808811a57fa2", Symbol: "PREMIA", CoinGeckoId: "premia", Decimals: 18, Price: 0.149086},                                             // Addr: 0x51fc0f6660482ea73330e414efd7808811a57fa2, Notional: 0.70056905652272
+		{Chain: 23, Addr: "000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342", Symbol: "MAGIC", CoinGeckoId: "magic", Decimals: 18, Price: 0.171657},                                               // Addr: 0x539bde0d7dbd336b79148aa742883198bbf60342, Notional: 2.56163960992617
 		{Chain: 23, Addr: "00000000000000000000000057f12fe6a4e5fe819eec699fadf9db2d06606bb4", Symbol: "NPM", CoinGeckoId: "neptune-mutual", Decimals: 18, Price: 0.04894073},                                      // Addr: 0x57f12fe6a4e5fe819eec699fadf9db2d06606bb4, Notional: 0.04894073
-		{Chain: 23, Addr: "000000000000000000000000580e933d90091b9ce380740e3a4a39c67eb85b4c", Symbol: "GSWIFT", CoinGeckoId: "gameswift", Decimals: 18, Price: 0.00596141},                                        // Addr: 0x580e933d90091b9ce380740e3a4a39c67eb85b4c, Notional: 0.02980705
-		{Chain: 23, Addr: "0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5206.93},                                       // Addr: 0x5979d7b546e38e414f7e9822514be443a4800529, Notional: 99.1703036019
+		{Chain: 23, Addr: "000000000000000000000000580e933d90091b9ce380740e3a4a39c67eb85b4c", Symbol: "GSWIFT", CoinGeckoId: "gameswift", Decimals: 18, Price: 0.0047304},                                         // Addr: 0x580e933d90091b9ce380740e3a4a39c67eb85b4c, Notional: 0.023652
+		{Chain: 23, Addr: "0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5036.22},                                       // Addr: 0x5979d7b546e38e414f7e9822514be443a4800529, Notional: 95.91898996260001
 		{Chain: 23, Addr: "0000000000000000000000005d3a1ff2b6bab83b63cd9ad0787074081a52ef34", Symbol: "USDe", CoinGeckoId: "bridged-usde", Decimals: 18, Price: 1.001},                                            // Addr: 0x5d3a1ff2b6bab83b63cd9ad0787074081a52ef34, Notional: 1.509174667
-		{Chain: 23, Addr: "000000000000000000000000625e7708f30ca75bfd92586e17077590c60eb4cd", Symbol: "aArbUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.99786},                                          // Addr: 0x625e7708f30ca75bfd92586e17077590c60eb4cd, Notional: 0.0099786
-		{Chain: 23, Addr: "0000000000000000000000006694340fc020c5e6b96567843da2df01b2ce1eb6", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                      // Addr: 0x6694340fc020c5e6b96567843da2df01b2ce1eb6, Notional: 23.03612021026688
-		{Chain: 23, Addr: "00000000000000000000000068ead55c258d6fa5e46d67fc90f53211eab885be", Symbol: "POP", CoinGeckoId: "popcorn", Decimals: 18, Price: 0.01923286},                                             // Addr: 0x68ead55c258d6fa5e46d67fc90f53211eab885be, Notional: 2.007516525970361
-		{Chain: 23, Addr: "0000000000000000000000006c2c06790b3e3e3c38e12ee22f8183b37a13ee55", Symbol: "DPX", CoinGeckoId: "dopex", Decimals: 18, Price: 5.47},                                                     // Addr: 0x6c2c06790b3e3e3c38e12ee22f8183b37a13ee55, Notional: 0.0006101785
-		{Chain: 23, Addr: "0000000000000000000000006c84a8f1c29108f47a79964b5fe888d4f4d0de40", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 111263},                                                   // Addr: 0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40, Notional: 189.71009078
-		{Chain: 23, Addr: "0000000000000000000000006fd58f5a2f3468e35feb098b5f59f04157002407", Symbol: "pogai", CoinGeckoId: "pogai", Decimals: 18, Price: 5.37953e-7},                                             // Addr: 0x6fd58f5a2f3468e35feb098b5f59f04157002407, Notional: 0.0036042851000000005
+		{Chain: 23, Addr: "000000000000000000000000625e7708f30ca75bfd92586e17077590c60eb4cd", Symbol: "aArbUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.999659},                                         // Addr: 0x625e7708f30ca75bfd92586e17077590c60eb4cd, Notional: 0.00999659
+		{Chain: 23, Addr: "0000000000000000000000006694340fc020c5e6b96567843da2df01b2ce1eb6", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                      // Addr: 0x6694340fc020c5e6b96567843da2df01b2ce1eb6, Notional: 23.74557749804544
+		{Chain: 23, Addr: "00000000000000000000000068ead55c258d6fa5e46d67fc90f53211eab885be", Symbol: "POP", CoinGeckoId: "popcorn", Decimals: 18, Price: 0.0191666},                                              // Addr: 0x68ead55c258d6fa5e46d67fc90f53211eab885be, Notional: 2.000600339557586
+		{Chain: 23, Addr: "0000000000000000000000006c2c06790b3e3e3c38e12ee22f8183b37a13ee55", Symbol: "DPX", CoinGeckoId: "dopex", Decimals: 18, Price: 5.13},                                                     // Addr: 0x6c2c06790b3e3e3c38e12ee22f8183b37a13ee55, Notional: 0.0005722515
+		{Chain: 23, Addr: "0000000000000000000000006c84a8f1c29108f47a79964b5fe888d4f4d0de40", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 113878},                                                   // Addr: 0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40, Notional: 194.16882268
+		{Chain: 23, Addr: "0000000000000000000000006fd58f5a2f3468e35feb098b5f59f04157002407", Symbol: "pogai", CoinGeckoId: "pogai", Decimals: 18, Price: 6.01166e-7},                                             // Addr: 0x6fd58f5a2f3468e35feb098b5f59f04157002407, Notional: 0.0040278122
 		{Chain: 23, Addr: "0000000000000000000000007f7d7806f4eb90d63b0b278daf32a2db2c2001bd", Symbol: "BONUS", CoinGeckoId: "bonusblock", Decimals: 18, Price: 0.00013008},                                        // Addr: 0x7f7d7806f4eb90d63b0b278daf32a2db2c2001bd, Notional: 17.13025962212976
-		{Chain: 23, Addr: "00000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                  // Addr: 0x82af49447d8a07e3bd95bd0d56f35241523fbab1, Notional: 412185.28287633497
-		{Chain: 23, Addr: "000000000000000000000000847503fbf003ce8b005546aa3c03b80b7c2f9771", Symbol: "BYTE", CoinGeckoId: "byte", Decimals: 9, Price: 0.00000418},                                                // Addr: 0x847503fbf003ce8b005546aa3c03b80b7c2f9771, Notional: 147.33851029135943
-		{Chain: 23, Addr: "00000000000000000000000088266f9eb705f5282a2507a9c418821a2ac9f8bd", Symbol: "NCASH", CoinGeckoId: "nutcash", Decimals: 18, Price: 0.01005808},                                           // Addr: 0x88266f9eb705f5282a2507a9c418821a2ac9f8bd, Notional: 10873.749006483255
-		{Chain: 23, Addr: "000000000000000000000000894134a25a5fac1c2c26f1d8fbf05111a3cb9487", Symbol: "GRAI", CoinGeckoId: "grai", Decimals: 18, Price: 1.19},                                                     // Addr: 0x894134a25a5fac1c2c26f1d8fbf05111a3cb9487, Notional: 0.357
-		{Chain: 23, Addr: "000000000000000000000000912ce59144191c1204e64559fe8253a0e49e6548", Symbol: "ARB", CoinGeckoId: "arbitrum", Decimals: 18, Price: 0.512864},                                              // Addr: 0x912ce59144191c1204e64559fe8253a0e49e6548, Notional: 34408.12754967364
-		{Chain: 23, Addr: "000000000000000000000000921f99719eb6c01b4b8f0ba7973a7c24891e740a", Symbol: "XCAD", CoinGeckoId: "xcad-network", Decimals: 18, Price: 0.03016831},                                       // Addr: 0x921f99719eb6c01b4b8f0ba7973a7c24891e740a, Notional: 2.484678061744286
-		{Chain: 23, Addr: "0000000000000000000000009623063377ad1b27544c965ccd7342f7ea7e88c7", Symbol: "GRT", CoinGeckoId: "the-graph", Decimals: 18, Price: 0.097413},                                             // Addr: 0x9623063377ad1b27544c965ccd7342f7ea7e88c7, Notional: 108.77275290211665
-		{Chain: 23, Addr: "00000000000000000000000099c409e5f62e4bd2ac142f17cafb6810b8f0baae", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 180.01},                                          // Addr: 0x99c409e5f62e4bd2ac142f17cafb6810b8f0baae, Notional: 503.09288225189994
-		{Chain: 23, Addr: "0000000000000000000000009d2f299715d94d8a7e6f5eaa8e654e8c74a988a7", Symbol: "FXS", CoinGeckoId: "frax-share", Decimals: 18, Price: 2.94},                                                // Addr: 0x9d2f299715d94d8a7e6f5eaa8e654e8c74a988a7, Notional: 7.3976600166
-		{Chain: 23, Addr: "0000000000000000000000009dce8e754913d928eb39bc4fc3cf047e364f7f2c", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.0002006},                                           // Addr: 0x9dce8e754913d928eb39bc4fc3cf047e364f7f2c, Notional: 1.0697998
-		{Chain: 23, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.0000169},                                             // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 17.924099506067847
-		{Chain: 23, Addr: "000000000000000000000000a684cd057951541187f288294a1e1c2646aa2d24", Symbol: "VSTA", CoinGeckoId: "vesta-finance", Decimals: 18, Price: 0.04880355},                                      // Addr: 0xa684cd057951541187f288294a1e1c2646aa2d24, Notional: 0.002624232280257
-		{Chain: 23, Addr: "000000000000000000000000aa54e84a3e6e5a80288d2c2f8e36ea5ca3a3ca30", Symbol: "$SHARBI", CoinGeckoId: "sharbi", Decimals: 9, Price: 0.00000214},                                           // Addr: 0xaa54e84a3e6e5a80288d2c2f8e36ea5ca3a3ca30, Notional: 0.0000058849999999999996
-		{Chain: 23, Addr: "000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0xaf88d065e77c8cc2239327c5edb3a432268e5831, Notional: 556591.3230734223
-		{Chain: 23, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.084518},                                                // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 45965.22808840308
+		{Chain: 23, Addr: "00000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                  // Addr: 0x82af49447d8a07e3bd95bd0d56f35241523fbab1, Notional: 429741.0744808639
+		{Chain: 23, Addr: "000000000000000000000000847503fbf003ce8b005546aa3c03b80b7c2f9771", Symbol: "BYTE", CoinGeckoId: "byte", Decimals: 9, Price: 0.00000363},                                                // Addr: 0x847503fbf003ce8b005546aa3c03b80b7c2f9771, Notional: 127.9518642003911
+		{Chain: 23, Addr: "00000000000000000000000088266f9eb705f5282a2507a9c418821a2ac9f8bd", Symbol: "NCASH", CoinGeckoId: "nutcash", Decimals: 18, Price: 0.00973231},                                           // Addr: 0x88266f9eb705f5282a2507a9c418821a2ac9f8bd, Notional: 10556.705526746804
+		{Chain: 23, Addr: "000000000000000000000000894134a25a5fac1c2c26f1d8fbf05111a3cb9487", Symbol: "GRAI", CoinGeckoId: "grai", Decimals: 18, Price: 0.995242},                                                 // Addr: 0x894134a25a5fac1c2c26f1d8fbf05111a3cb9487, Notional: 0.29857259999999997
+		{Chain: 23, Addr: "000000000000000000000000912ce59144191c1204e64559fe8253a0e49e6548", Symbol: "ARB", CoinGeckoId: "arbitrum", Decimals: 18, Price: 0.421302},                                              // Addr: 0x912ce59144191c1204e64559fe8253a0e49e6548, Notional: 28267.07024277219
+		{Chain: 23, Addr: "000000000000000000000000921f99719eb6c01b4b8f0ba7973a7c24891e740a", Symbol: "XCAD", CoinGeckoId: "xcad-network", Decimals: 18, Price: 0.02250998},                                       // Addr: 0x921f99719eb6c01b4b8f0ba7973a7c24891e740a, Notional: 1.8539339285595593
+		{Chain: 23, Addr: "0000000000000000000000009623063377ad1b27544c965ccd7342f7ea7e88c7", Symbol: "GRT", CoinGeckoId: "the-graph", Decimals: 18, Price: 0.08047},                                              // Addr: 0x9623063377ad1b27544c965ccd7342f7ea7e88c7, Notional: 170.2434861047635
+		{Chain: 23, Addr: "00000000000000000000000099c409e5f62e4bd2ac142f17cafb6810b8f0baae", Symbol: "BIFI", CoinGeckoId: "beefy-finance", Decimals: 18, Price: 169.86},                                          // Addr: 0x99c409e5f62e4bd2ac142f17cafb6810b8f0baae, Notional: 474.72560957340005
+		{Chain: 23, Addr: "0000000000000000000000009d2f299715d94d8a7e6f5eaa8e654e8c74a988a7", Symbol: "FXS", CoinGeckoId: "frax-share", Decimals: 18, Price: 2.14},                                                // Addr: 0x9d2f299715d94d8a7e6f5eaa8e654e8c74a988a7, Notional: 5.3846913046000004
+		{Chain: 23, Addr: "0000000000000000000000009dce8e754913d928eb39bc4fc3cf047e364f7f2c", Symbol: "BLOK", CoinGeckoId: "bloktopia", Decimals: 18, Price: 0.00019774},                                          // Addr: 0x9dce8e754913d928eb39bc4fc3cf047e364f7f2c, Notional: 1.05454742
+		{Chain: 23, Addr: "0000000000000000000000009e20461bc2c4c980f62f1b279d71734207a6a356", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.00001555},                                            // Addr: 0x9e20461bc2c4c980f62f1b279d71734207a6a356, Notional: 16.492292740790234
+		{Chain: 23, Addr: "000000000000000000000000a684cd057951541187f288294a1e1c2646aa2d24", Symbol: "VSTA", CoinGeckoId: "vesta-finance", Decimals: 18, Price: 0.04587841},                                      // Addr: 0xa684cd057951541187f288294a1e1c2646aa2d24, Notional: 0.0024669435827694
+		{Chain: 23, Addr: "000000000000000000000000aa54e84a3e6e5a80288d2c2f8e36ea5ca3a3ca30", Symbol: "$SHARBI", CoinGeckoId: "sharbi", Decimals: 9, Price: 0.00000321},                                           // Addr: 0xaa54e84a3e6e5a80288d2c2f8e36ea5ca3a3ca30, Notional: 0.0000088275
+		{Chain: 23, Addr: "000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0xaf88d065e77c8cc2239327c5edb3a432268e5831, Notional: 602411.3145947696
+		{Chain: 23, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.100345},                                                // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 54447.33209663394
 		{Chain: 23, Addr: "000000000000000000000000b261104a83887ae92392fb5ce5899fcfe5481456", Symbol: "NFTE", CoinGeckoId: "nftearth", Decimals: 18, Price: 0.00001511},                                           // Addr: 0xb261104a83887ae92392fb5ce5899fcfe5481456, Notional: 0.0001511
-		{Chain: 23, Addr: "000000000000000000000000b6093b61544572ab42a0e43af08abafd41bf25a6", Symbol: "WXM", CoinGeckoId: "weatherxm-network", Decimals: 18, Price: 0.094013},                                     // Addr: 0xb6093b61544572ab42a0e43af08abafd41bf25a6, Notional: 94.013
+		{Chain: 23, Addr: "000000000000000000000000b6093b61544572ab42a0e43af08abafd41bf25a6", Symbol: "WXM", CoinGeckoId: "weatherxm-network", Decimals: 18, Price: 0.109749},                                     // Addr: 0xb6093b61544572ab42a0e43af08abafd41bf25a6, Notional: 113.25537288623099
 		{Chain: 23, Addr: "000000000000000000000000b827710314a05bcbee9180e11c2abe5823289422", Symbol: "ABI", CoinGeckoId: "abachi-2", Decimals: 18, Price: 0.960946},                                              // Addr: 0xb827710314a05bcbee9180e11c2abe5823289422, Notional: 0.960946
 		{Chain: 23, Addr: "000000000000000000000000b9af4762c039d63e30039f1712dfab77026408c7", Symbol: "AIBB", CoinGeckoId: "bullbear-ai", Decimals: 18, Price: 9e-12},                                             // Addr: 0xb9af4762c039d63e30039f1712dfab77026408c7, Notional: 9e-11
-		{Chain: 23, Addr: "000000000000000000000000ba0dda8762c24da9487f5fa026a9b64b695a07ea", Symbol: "OX", CoinGeckoId: "ox-fun", Decimals: 18, Price: 0.00012093},                                               // Addr: 0xba0dda8762c24da9487f5fa026a9b64b695a07ea, Notional: 84.34136586132992
-		{Chain: 23, Addr: "000000000000000000000000bfbcfe8873fe28dfa25f1099282b088d52bbad9c", Symbol: "EQB", CoinGeckoId: "equilibria-finance", Decimals: 18, Price: 0.486543},                                    // Addr: 0xbfbcfe8873fe28dfa25f1099282b088d52bbad9c, Notional: 114.93079787528904
-		{Chain: 23, Addr: "000000000000000000000000c3abc47863524ced8daf3ef98d74dd881e131c38", Symbol: "LUA", CoinGeckoId: "lumi-finance", Decimals: 18, Price: 3.12},                                              // Addr: 0xc3abc47863524ced8daf3ef98d74dd881e131c38, Notional: 1147386.1068985849
+		{Chain: 23, Addr: "000000000000000000000000ba0dda8762c24da9487f5fa026a9b64b695a07ea", Symbol: "OX", CoinGeckoId: "ox-fun", Decimals: 18, Price: 0.00006644},                                               // Addr: 0xba0dda8762c24da9487f5fa026a9b64b695a07ea, Notional: 86.26745929537847
+		{Chain: 23, Addr: "000000000000000000000000bfbcfe8873fe28dfa25f1099282b088d52bbad9c", Symbol: "EQB", CoinGeckoId: "equilibria-finance", Decimals: 18, Price: 0.415381},                                    // Addr: 0xbfbcfe8873fe28dfa25f1099282b088d52bbad9c, Notional: 181.15562911612568
+		{Chain: 23, Addr: "000000000000000000000000c3abc47863524ced8daf3ef98d74dd881e131c38", Symbol: "LUA", CoinGeckoId: "lumi-finance", Decimals: 18, Price: 3.12},                                              // Addr: 0xc3abc47863524ced8daf3ef98d74dd881e131c38, Notional: 1153738.7433818688
 		{Chain: 23, Addr: "000000000000000000000000c628534100180582e43271448098cb2c185795bd", Symbol: "FLASH", CoinGeckoId: "flash-stake", Decimals: 18, Price: 0.00650277},                                       // Addr: 0xc628534100180582e43271448098cb2c185795bd, Notional: 3.3615650033012283
-		{Chain: 23, Addr: "000000000000000000000000d56734d7f9979dd94fae3d67c7e928234e71cd4c", Symbol: "TIA.n", CoinGeckoId: "bridged-tia-hyperlane", Decimals: 6, Price: 1.8},                                     // Addr: 0xd56734d7f9979dd94fae3d67c7e928234e71cd4c, Notional: 2.7094338000000002
-		{Chain: 23, Addr: "000000000000000000000000d5a56b510247db33695b0bea29992ac6670081ea", Symbol: "GOB", CoinGeckoId: "goons-of-balatroon", Decimals: 18, Price: 0.0005233},                                   // Addr: 0xd5a56b510247db33695b0bea29992ac6670081ea, Notional: 4.5333479
-		{Chain: 23, Addr: "000000000000000000000000d77b108d4f6cefaa0cae9506a934e825becca46e", Symbol: "WINR", CoinGeckoId: "winr-protocol", Decimals: 18, Price: 0.00713045},                                      // Addr: 0xd77b108d4f6cefaa0cae9506a934e825becca46e, Notional: 141304.795022027
-		{Chain: 23, Addr: "000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                          // Addr: 0xda10009cbd5d07dd0cecc66161fc93d7c9000da1, Notional: 1629.14320177
+		{Chain: 23, Addr: "000000000000000000000000d56734d7f9979dd94fae3d67c7e928234e71cd4c", Symbol: "TIA.n", CoinGeckoId: "bridged-tia-hyperlane", Decimals: 6, Price: 1.38},                                    // Addr: 0xd56734d7f9979dd94fae3d67c7e928234e71cd4c, Notional: 2.07723258
+		{Chain: 23, Addr: "000000000000000000000000d5a56b510247db33695b0bea29992ac6670081ea", Symbol: "GOB", CoinGeckoId: "goons-of-balatroon", Decimals: 18, Price: 0.00048095},                                  // Addr: 0xd5a56b510247db33695b0bea29992ac6670081ea, Notional: 4.16646985
+		{Chain: 23, Addr: "000000000000000000000000d77b108d4f6cefaa0cae9506a934e825becca46e", Symbol: "WINR", CoinGeckoId: "winr-protocol", Decimals: 18, Price: 0.00729726},                                      // Addr: 0xd77b108d4f6cefaa0cae9506a934e825becca46e, Notional: 235625.68123289774
+		{Chain: 23, Addr: "000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                   // Addr: 0xda10009cbd5d07dd0cecc66161fc93d7c9000da1, Notional: 1628.8157439864442
 		{Chain: 23, Addr: "000000000000000000000000db13df2ea134e7df2208d74b96db063837db5b5c", Symbol: "LAMB", CoinGeckoId: "lamb-by-opnx", Decimals: 18, Price: 0.01449694},                                       // Addr: 0xdb13df2ea134e7df2208d74b96db063837db5b5c, Notional: 2406454.622206477
-		{Chain: 23, Addr: "000000000000000000000000de903e2712288a1da82942dddf2c20529565ac30", Symbol: "SWPR", CoinGeckoId: "swapr", Decimals: 18, Price: 0.01547647},                                              // Addr: 0xde903e2712288a1da82942dddf2c20529565ac30, Notional: 0.51072351
-		{Chain: 23, Addr: "000000000000000000000000dfb8be6f8c87f74295a87de951974362cedcfa30", Symbol: "EMC", CoinGeckoId: "edge-matrix-computing", Decimals: 18, Price: 0.00127689},                               // Addr: 0xdfb8be6f8c87f74295a87de951974362cedcfa30, Notional: 0.0037029809999999997
-		{Chain: 23, Addr: "000000000000000000000000e6045890b20945d00e6f3c01878265c03c5435d3", Symbol: "IDIA", CoinGeckoId: "idia", Decimals: 18, Price: 0.0203145},                                                // Addr: 0xe6045890b20945d00e6f3c01878265c03c5435d3, Notional: 17234.44131293794
+		{Chain: 23, Addr: "000000000000000000000000de903e2712288a1da82942dddf2c20529565ac30", Symbol: "SWPR", CoinGeckoId: "swapr", Decimals: 18, Price: 0.0149246},                                               // Addr: 0xde903e2712288a1da82942dddf2c20529565ac30, Notional: 0.4925118
+		{Chain: 23, Addr: "000000000000000000000000dfb8be6f8c87f74295a87de951974362cedcfa30", Symbol: "EMC", CoinGeckoId: "edge-matrix-computing", Decimals: 18, Price: 0.00149998},                               // Addr: 0xdfb8be6f8c87f74295a87de951974362cedcfa30, Notional: 0.004349942
+		{Chain: 23, Addr: "000000000000000000000000e6045890b20945d00e6f3c01878265c03c5435d3", Symbol: "IDIA", CoinGeckoId: "idia", Decimals: 18, Price: 0.02026412},                                               // Addr: 0xe6045890b20945d00e6f3c01878265c03c5435d3, Notional: 17191.699864546605
 		{Chain: 23, Addr: "000000000000000000000000f8388c2b6edf00e2e27eef5200b1befb24ce141d", Symbol: "NOLA", CoinGeckoId: "nola", Decimals: 18, Price: 0.00002359},                                               // Addr: 0xf8388c2b6edf00e2e27eef5200b1befb24ce141d, Notional: 3.1897587571055905
-		{Chain: 23, Addr: "000000000000000000000000f97f4df75117a78c1a5a0dbb814af92458539fb4", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 23.01},                                               // Addr: 0xf97f4df75117a78c1a5a0dbb814af92458539fb4, Notional: 744.0647405451001
-		{Chain: 23, Addr: "000000000000000000000000fa5ed56a203466cbbc2430a43c66b9d8723528e7", Symbol: "EURA", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                    // Addr: 0xfa5ed56a203466cbbc2430a43c66b9d8723528e7, Notional: 51.862255321499994
-		{Chain: 23, Addr: "000000000000000000000000fa7f8980b0f1e64a2062791cc3b0871572f1f7f0", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 9.49},                                                   // Addr: 0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0, Notional: 7.5288491746
-		{Chain: 23, Addr: "000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                       // Addr: 0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9, Notional: 51184.676096
-		{Chain: 23, Addr: "000000000000000000000000fea7a6a0b346362bf88a9e4a88416b77a57d6c2a", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                  // Addr: 0xfea7a6a0b346362bf88a9e4a88416b77a57d6c2a, Notional: 0.00099986900121
-		{Chain: 23, Addr: "000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc8", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0xff970a61a04b1ca14834a43f5de4533ebddb5cc8, Notional: 804186.6705488592
-		{Chain: 24, Addr: "0000000000000000000000000b2c639c533813f4aa9d7837caf62653d097ff85", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x0b2c639c533813f4aa9d7837caf62653d097ff85, Notional: 419949.62003588816
-		{Chain: 24, Addr: "000000000000000000000000135c78d7f52aab6e9f17bcf4a9e8627aa233d050", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003727},                                               // Addr: 0x135c78d7f52aab6e9f17bcf4a9e8627aa233d050, Notional: 4.662031308042994
-		{Chain: 24, Addr: "00000000000000000000000014778860e937f509e651192a90589de711fb88a9", Symbol: "CYBER", CoinGeckoId: "cyberconnect", Decimals: 18, Price: 1.78},                                            // Addr: 0x14778860e937f509e651192a90589de711fb88a9, Notional: 10.1796362328
-		{Chain: 24, Addr: "0000000000000000000000001f32b1c2345538c0c6f582fcb022739c4a194ebb", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5206.93},                                       // Addr: 0x1f32b1c2345538c0c6f582fcb022739c4a194ebb, Notional: 17380.051169417402
-		{Chain: 24, Addr: "000000000000000000000000296f55f8fb28e498b858d0bcda06d955b2cb3f97", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                      // Addr: 0x296f55f8fb28e498b858d0bcda06d955b2cb3f97, Notional: 41.22805671731138
-		{Chain: 24, Addr: "0000000000000000000000002dad3a13ef0c6366220f989157009e501e7938f8", Symbol: "EXTRA", CoinGeckoId: "extra-finance", Decimals: 18, Price: 0.01866674},                                     // Addr: 0x2dad3a13ef0c6366220f989157009e501e7938f8, Notional: 0.0081717402631392
-		{Chain: 24, Addr: "0000000000000000000000002e3d870790dc77a83dd1d18184acc7439a53f475", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997554},                                                 // Addr: 0x2e3d870790dc77a83dd1d18184acc7439a53f475, Notional: 0.000317222172
-		{Chain: 24, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100048},                          // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 22.39504096232
-		{Chain: 24, Addr: "000000000000000000000000375488f097176507e39b9653b88fdc52cde736bf", Symbol: "TAROT", CoinGeckoId: "tarot", Decimals: 18, Price: 0.00052017},                                             // Addr: 0x375488f097176507e39b9653b88fdc52cde736bf, Notional: 0.0040730176406829
-		{Chain: 24, Addr: "0000000000000000000000003ed9acaac7bd974eb83a8ea6432a239e3c829d5d", Symbol: "2192", CoinGeckoId: "lernitas", Decimals: 18, Price: 0.00001324},                                           // Addr: 0x3ed9acaac7bd974eb83a8ea6432a239e3c829d5d, Notional: 617.5010464941606
-		{Chain: 24, Addr: "0000000000000000000000004200000000000000000000000000000000000006", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                  // Addr: 0x4200000000000000000000000000000000000006, Notional: 41907.1308382307
-		{Chain: 24, Addr: "0000000000000000000000004200000000000000000000000000000000000042", Symbol: "OP", CoinGeckoId: "optimism", Decimals: 18, Price: 0.756822},                                               // Addr: 0x4200000000000000000000000000000000000042, Notional: 8062.5707014887475
-		{Chain: 24, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022049},                                         // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 0.44098
-		{Chain: 24, Addr: "00000000000000000000000048a9f8b4b65a55cc46ea557a610acf227454ab09", Symbol: "OPC", CoinGeckoId: "op-chads", Decimals: 18, Price: 0.00002125},                                            // Addr: 0x48a9f8b4b65a55cc46ea557a610acf227454ab09, Notional: 6.790139993709151
-		{Chain: 24, Addr: "00000000000000000000000050bce64397c75488465253c0a034b8097fea6578", Symbol: "HAN", CoinGeckoId: "hanchain", Decimals: 18, Price: 0.0012602},                                             // Addr: 0x50bce64397c75488465253c0a034b8097fea6578, Notional: 2028.9232602
-		{Chain: 24, Addr: "000000000000000000000000528cdc92eab044e1e39fe43b9514bfdab4412b98", Symbol: "GIV", CoinGeckoId: "giveth", Decimals: 18, Price: 0.00185026},                                              // Addr: 0x528cdc92eab044e1e39fe43b9514bfdab4412b98, Notional: 44861.399754564234
-		{Chain: 24, Addr: "000000000000000000000000625e7708f30ca75bfd92586e17077590c60eb4cd", Symbol: "aOptUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.99786},                                          // Addr: 0x625e7708f30ca75bfd92586e17077590c60eb4cd, Notional: 6.59303664336
-		{Chain: 24, Addr: "00000000000000000000000068f180fcce6836688e9084f035309e29bf0a2095", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 111599},                                         // Addr: 0x68f180fcce6836688e9084f035309e29bf0a2095, Notional: 17250.783701700002
-		{Chain: 24, Addr: "0000000000000000000000006c84a8f1c29108f47a79964b5fe888d4f4d0de40", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 111263},                                                   // Addr: 0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40, Notional: -301767.84795215
-		{Chain: 24, Addr: "0000000000000000000000006d80113e533a2c0fe82eabd35f1875dcea89ea97", Symbol: "aOptSUSD", CoinGeckoId: "aave-susd", Decimals: 18, Price: 0.979999},                                        // Addr: 0x6d80113e533a2c0fe82eabd35f1875dcea89ea97, Notional: 16.36547253432119
-		{Chain: 24, Addr: "0000000000000000000000006f620ec89b8479e97a6985792d0c64f237566746", Symbol: "WPC", CoinGeckoId: "wepiggy-coin", Decimals: 18, Price: 0.0000307},                                         // Addr: 0x6f620ec89b8479e97a6985792d0c64f237566746, Notional: 0.0047892
-		{Chain: 24, Addr: "000000000000000000000000747e42eb0591547a0ab429b3627816208c734ea7", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01637153},                               // Addr: 0x747e42eb0591547a0ab429b3627816208c734ea7, Notional: 1.2690457571366607
-		{Chain: 24, Addr: "00000000000000000000000074ccbe53f77b08632ce0cb91d3a545bf6b8e0979", Symbol: "fBOMB", CoinGeckoId: "fbomb", Decimals: 18, Price: 0.04130365},                                             // Addr: 0x74ccbe53f77b08632ce0cb91d3a545bf6b8e0979, Notional: 2.044530675
-		{Chain: 24, Addr: "0000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x7f5c764cbc14f9669b88837ca1490cca17c31607, Notional: 448675.06859889004
-		{Chain: 24, Addr: "00000000000000000000000081ab7e0d570b01411fcc4afd3d50ec8c241cb74b", Symbol: "EQZ", CoinGeckoId: "equalizer", Decimals: 18, Price: 0.00050551},                                           // Addr: 0x81ab7e0d570b01411fcc4afd3d50ec8c241cb74b, Notional: 0.050551000000000006
-		{Chain: 24, Addr: "0000000000000000000000008b21e9b7daf2c4325bf3d18c1beb79a347fe902a", Symbol: "COLLAB", CoinGeckoId: "collab-land", Decimals: 18, Price: 0.0002198},                                       // Addr: 0x8b21e9b7daf2c4325bf3d18c1beb79a347fe902a, Notional: 0.034348324125919996
-		{Chain: 24, Addr: "0000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d9", Symbol: "sUSD", CoinGeckoId: "nusd", Decimals: 18, Price: 0.979603},                                                 // Addr: 0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9, Notional: 1.91351115437713
+		{Chain: 23, Addr: "000000000000000000000000f97f4df75117a78c1a5a0dbb814af92458539fb4", Symbol: "LINK", CoinGeckoId: "chainlink", Decimals: 18, Price: 21.31},                                               // Addr: 0xf97f4df75117a78c1a5a0dbb814af92458539fb4, Notional: 689.0925519781
+		{Chain: 23, Addr: "000000000000000000000000fa5ed56a203466cbbc2430a43c66b9d8723528e7", Symbol: "EURA", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                    // Addr: 0xfa5ed56a203466cbbc2430a43c66b9d8723528e7, Notional: 52.305522460999995
+		{Chain: 23, Addr: "000000000000000000000000fa7f8980b0f1e64a2062791cc3b0871572f1f7f0", Symbol: "UNI", CoinGeckoId: "uniswap", Decimals: 18, Price: 7.64},                                                   // Addr: 0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0, Notional: 6.0611599256
+		{Chain: 23, Addr: "000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                       // Addr: 0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9, Notional: 51930.860395
+		{Chain: 23, Addr: "000000000000000000000000fea7a6a0b346362bf88a9e4a88416b77a57d6c2a", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                         // Addr: 0xfea7a6a0b346362bf88a9e4a88416b77a57d6c2a, Notional: 0.00099999
+		{Chain: 23, Addr: "000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc8", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0xff970a61a04b1ca14834a43f5de4533ebddb5cc8, Notional: 802862.6767776501
+		{Chain: 24, Addr: "0000000000000000000000000b2c639c533813f4aa9d7837caf62653d097ff85", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x0b2c639c533813f4aa9d7837caf62653d097ff85, Notional: 419087.7503546318
+		{Chain: 24, Addr: "000000000000000000000000135c78d7f52aab6e9f17bcf4a9e8627aa233d050", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003483},                                               // Addr: 0x135c78d7f52aab6e9f17bcf4a9e8627aa233d050, Notional: 4.356816486695397
+		{Chain: 24, Addr: "00000000000000000000000014778860e937f509e651192a90589de711fb88a9", Symbol: "CYBER", CoinGeckoId: "cyberconnect", Decimals: 18, Price: 1.5},                                             // Addr: 0x14778860e937f509e651192a90589de711fb88a9, Notional: 8.57834514
+		{Chain: 24, Addr: "0000000000000000000000001f32b1c2345538c0c6f582fcb022739c4a194ebb", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5036.22},                                       // Addr: 0x1f32b1c2345538c0c6f582fcb022739c4a194ebb, Notional: 16810.243521699602
+		{Chain: 24, Addr: "000000000000000000000000296f55f8fb28e498b858d0bcda06d955b2cb3f97", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                      // Addr: 0x296f55f8fb28e498b858d0bcda06d955b2cb3f97, Notional: 42.49778204571144
+		{Chain: 24, Addr: "0000000000000000000000002dad3a13ef0c6366220f989157009e501e7938f8", Symbol: "EXTRA", CoinGeckoId: "extra-finance", Decimals: 18, Price: 0.0183965},                                      // Addr: 0x2dad3a13ef0c6366220f989157009e501e7938f8, Notional: 0.00805343727672
+		{Chain: 24, Addr: "0000000000000000000000002e3d870790dc77a83dd1d18184acc7439a53f475", Symbol: "FRAX", CoinGeckoId: "frax", Decimals: 18, Price: 0.997518},                                                 // Addr: 0x2e3d870790dc77a83dd1d18184acc7439a53f475, Notional: 0.000317210724
+		{Chain: 24, Addr: "000000000000000000000000323665443cef804a3b5206103304bd4872ea4253", Symbol: "USDV", CoinGeckoId: "verified-usd-foundation-usdv", Decimals: 6, Price: 0.100242},                          // Addr: 0x323665443cef804a3b5206103304bd4872ea4253, Notional: 22.438466497529998
+		{Chain: 24, Addr: "000000000000000000000000375488f097176507e39b9653b88fdc52cde736bf", Symbol: "TAROT", CoinGeckoId: "tarot", Decimals: 18, Price: 0.0004457},                                              // Addr: 0x375488f097176507e39b9653b88fdc52cde736bf, Notional: 0.0034899051511089996
+		{Chain: 24, Addr: "0000000000000000000000003ed9acaac7bd974eb83a8ea6432a239e3c829d5d", Symbol: "2192", CoinGeckoId: "lernitas", Decimals: 18, Price: 0.00003169},                                           // Addr: 0x3ed9acaac7bd974eb83a8ea6432a239e3c829d5d, Notional: 1477.9915531268846
+		{Chain: 24, Addr: "0000000000000000000000004200000000000000000000000000000000000006", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                  // Addr: 0x4200000000000000000000000000000000000006, Notional: 39702.267746478494
+		{Chain: 24, Addr: "0000000000000000000000004200000000000000000000000000000000000042", Symbol: "OP", CoinGeckoId: "optimism", Decimals: 18, Price: 0.670617},                                               // Addr: 0x4200000000000000000000000000000000000042, Notional: 7144.212213863074
+		{Chain: 24, Addr: "00000000000000000000000042069d11a2cc72388a2e06210921e839cfbd3280", Symbol: "GNOME", CoinGeckoId: "gnomeland", Decimals: 18, Price: 0.00022077},                                         // Addr: 0x42069d11a2cc72388a2e06210921e839cfbd3280, Notional: 0.44154
+		{Chain: 24, Addr: "00000000000000000000000048a9f8b4b65a55cc46ea557a610acf227454ab09", Symbol: "OPC", CoinGeckoId: "op-chads", Decimals: 18, Price: 0.00001894},                                            // Addr: 0x48a9f8b4b65a55cc46ea557a610acf227454ab09, Notional: 6.052011834393004
+		{Chain: 24, Addr: "00000000000000000000000050bce64397c75488465253c0a034b8097fea6578", Symbol: "HAN", CoinGeckoId: "hanchain", Decimals: 18, Price: 0.00106027},                                            // Addr: 0x50bce64397c75488465253c0a034b8097fea6578, Notional: 5417.98076027
+		{Chain: 24, Addr: "000000000000000000000000528cdc92eab044e1e39fe43b9514bfdab4412b98", Symbol: "GIV", CoinGeckoId: "giveth", Decimals: 18, Price: 0.00181179},                                              // Addr: 0x528cdc92eab044e1e39fe43b9514bfdab4412b98, Notional: 53756.73543479855
+		{Chain: 24, Addr: "000000000000000000000000625e7708f30ca75bfd92586e17077590c60eb4cd", Symbol: "aOptUSDC", CoinGeckoId: "aave-usdc", Decimals: 6, Price: 0.999659},                                         // Addr: 0x625e7708f30ca75bfd92586e17077590c60eb4cd, Notional: 6.6049229529839995
+		{Chain: 24, Addr: "00000000000000000000000068f180fcce6836688e9084f035309e29bf0a2095", Symbol: "WBTC", CoinGeckoId: "wrapped-bitcoin", Decimals: 8, Price: 114288},                                         // Addr: 0x68f180fcce6836688e9084f035309e29bf0a2095, Notional: 17666.4447504
+		{Chain: 24, Addr: "0000000000000000000000006c84a8f1c29108f47a79964b5fe888d4f4d0de40", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 113878},                                                   // Addr: 0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40, Notional: -308860.2589279
+		{Chain: 24, Addr: "0000000000000000000000006d80113e533a2c0fe82eabd35f1875dcea89ea97", Symbol: "aOptSUSD", CoinGeckoId: "aave-susd", Decimals: 18, Price: 0.997477},                                        // Addr: 0x6d80113e533a2c0fe82eabd35f1875dcea89ea97, Notional: 16.65734602496237
+		{Chain: 24, Addr: "0000000000000000000000006f620ec89b8479e97a6985792d0c64f237566746", Symbol: "WPC", CoinGeckoId: "wepiggy-coin", Decimals: 18, Price: 0.0000238},                                         // Addr: 0x6f620ec89b8479e97a6985792d0c64f237566746, Notional: 0.0037128
+		{Chain: 24, Addr: "000000000000000000000000747e42eb0591547a0ab429b3627816208c734ea7", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01474247},                               // Addr: 0x747e42eb0591547a0ab429b3627816208c734ea7, Notional: 1.1427685135851389
+		{Chain: 24, Addr: "00000000000000000000000074ccbe53f77b08632ce0cb91d3a545bf6b8e0979", Symbol: "fBOMB", CoinGeckoId: "fbomb", Decimals: 18, Price: 0.03714867},                                             // Addr: 0x74ccbe53f77b08632ce0cb91d3a545bf6b8e0979, Notional: 1.8388591650000001
+		{Chain: 24, Addr: "0000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x7f5c764cbc14f9669b88837ca1490cca17c31607, Notional: 448404.3320780725
+		{Chain: 24, Addr: "00000000000000000000000081ab7e0d570b01411fcc4afd3d50ec8c241cb74b", Symbol: "EQZ", CoinGeckoId: "equalizer", Decimals: 18, Price: 0.00047472},                                           // Addr: 0x81ab7e0d570b01411fcc4afd3d50ec8c241cb74b, Notional: 0.047472
+		{Chain: 24, Addr: "0000000000000000000000008b21e9b7daf2c4325bf3d18c1beb79a347fe902a", Symbol: "COLLAB", CoinGeckoId: "collab-land", Decimals: 18, Price: 0.00016202},                                      // Addr: 0x8b21e9b7daf2c4325bf3d18c1beb79a347fe902a, Notional: 0.025318996701007998
+		{Chain: 24, Addr: "0000000000000000000000008c6f28f2f1a3c87f0f938b96d27520d9751ec8d9", Symbol: "sUSD", CoinGeckoId: "nusd", Decimals: 18, Price: 0.992246},                                                 // Addr: 0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9, Notional: 1.93820740533266
 		{Chain: 24, Addr: "00000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58", Symbol: "USDT", CoinGeckoId: "tether", Decimals: 6, Price: 1},                                                       // Addr: 0x94b008aa00579c1307b0ef2c499ad98a8ce58e58, Notional: 173880.115523
-		{Chain: 24, Addr: "0000000000000000000000009e1028f5f1d5ede59748ffcee5532509976840e0", Symbol: "PERP", CoinGeckoId: "perpetual-protocol", Decimals: 18, Price: 0.254172},                                   // Addr: 0x9e1028f5f1d5ede59748ffcee5532509976840e0, Notional: 0.06083207007444
-		{Chain: 24, Addr: "000000000000000000000000c26921b5b9ee80773774d36c84328ccb22c3a819", Symbol: "wOptiDoge", CoinGeckoId: "wrapped-optidoge", Decimals: 18, Price: 2.53823e-7},                              // Addr: 0xc26921b5b9ee80773774d36c84328ccb22c3a819, Notional: 3.1484377519640003
-		{Chain: 24, Addr: "000000000000000000000000c40f949f8a4e094d1b49a23ea9241d289b7b2819", Symbol: "LUSD", CoinGeckoId: "liquity-usd", Decimals: 18, Price: 1},                                                 // Addr: 0xc40f949f8a4e094d1b49a23ea9241d289b7b2819, Notional: 1.1e-7
-		{Chain: 24, Addr: "000000000000000000000000c5102fe9359fd9a28f877a67e36b0f050d81a3cc", Symbol: "HOP", CoinGeckoId: "hop-protocol", Decimals: 18, Price: 0.00824293},                                        // Addr: 0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc, Notional: 0.349337140684192
-		{Chain: 24, Addr: "000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                          // Addr: 0xda10009cbd5d07dd0cecc66161fc93d7c9000da1, Notional: 165.13442927
-		{Chain: 24, Addr: "000000000000000000000000dfa46478f9e5ea86d57387849598dbfb2e964b02", Symbol: "MAI", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.992613},                                               // Addr: 0xdfa46478f9e5ea86d57387849598dbfb2e964b02, Notional: 4.963065
-		{Chain: 24, Addr: "000000000000000000000000e453d6649643f1f460c371dc3d1da98f7922fe51", Symbol: "FUSE", CoinGeckoId: "fuse-network-token", Decimals: 18, Price: 0.01050848},                                 // Addr: 0xe453d6649643f1f460c371dc3d1da98f7922fe51, Notional: 0.0102983104
-		{Chain: 24, Addr: "000000000000000000000000e50fa9b3c56ffb159cb0fca61f5c9d750e8128c8", Symbol: "aOptWETH", CoinGeckoId: "aave-weth", Decimals: 18, Price: 4300.53},                                         // Addr: 0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8, Notional: 0.0001290159
-		{Chain: 24, Addr: "000000000000000000000000fd389dc9533717239856190f42475d3f263a270d", Symbol: "GRAIN", CoinGeckoId: "granary", Decimals: 18, Price: 0.00082207},                                           // Addr: 0xfd389dc9533717239856190f42475d3f263a270d, Notional: 0.02384003
-		{Chain: 24, Addr: "000000000000000000000000fdb794692724153d1488ccdbe0c56c252596735f", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.19},                                                  // Addr: 0xfdb794692724153d1488ccdbe0c56c252596735f, Notional: 1.9067442114
-		{Chain: 28, Addr: "017ce8aec5af3bb3ac0158d49771d4c8feba2e54a614fa2a1c0c95e9c4c37185", Symbol: "XPLA", CoinGeckoId: "xpla", Decimals: 18, Price: 0.03450887},                                               // Addr: axpla, Notional: 0.21933855889156748
-		{Chain: 30, Addr: "0000000000000000000000000a1d576f3efef75b330424287a95a366e8281d54", Symbol: "aBasUSDbC", CoinGeckoId: "aave-v3-usdbc", Decimals: 6, Price: 0.999818},                                    // Addr: 0x0a1d576f3efef75b330424287a95a366e8281d54, Notional: 1.2492995860860001
+		{Chain: 24, Addr: "0000000000000000000000009e1028f5f1d5ede59748ffcee5532509976840e0", Symbol: "PERP", CoinGeckoId: "perpetual-protocol", Decimals: 18, Price: 0.283968},                                   // Addr: 0x9e1028f5f1d5ede59748ffcee5532509976840e0, Notional: 0.06796327398336
+		{Chain: 24, Addr: "000000000000000000000000c26921b5b9ee80773774d36c84328ccb22c3a819", Symbol: "wOptiDoge", CoinGeckoId: "wrapped-optidoge", Decimals: 18, Price: 2.27084e-7},                              // Addr: 0xc26921b5b9ee80773774d36c84328ccb22c3a819, Notional: 2.816765377712
+		{Chain: 24, Addr: "000000000000000000000000c40f949f8a4e094d1b49a23ea9241d289b7b2819", Symbol: "LUSD", CoinGeckoId: "liquity-usd", Decimals: 18, Price: 1.001},                                             // Addr: 0xc40f949f8a4e094d1b49a23ea9241d289b7b2819, Notional: 1.1011e-7
+		{Chain: 24, Addr: "000000000000000000000000c5102fe9359fd9a28f877a67e36b0f050d81a3cc", Symbol: "HOP", CoinGeckoId: "hop-protocol", Decimals: 18, Price: 0.00697516},                                        // Addr: 0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc, Notional: 0.295608776274304
+		{Chain: 24, Addr: "000000000000000000000000da10009cbd5d07dd0cecc66161fc93d7c9000da1", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                   // Addr: 0xda10009cbd5d07dd0cecc66161fc93d7c9000da1, Notional: 165.10123724971672
+		{Chain: 24, Addr: "000000000000000000000000dfa46478f9e5ea86d57387849598dbfb2e964b02", Symbol: "MAI", CoinGeckoId: "mimatic", Decimals: 18, Price: 0.995702},                                               // Addr: 0xdfa46478f9e5ea86d57387849598dbfb2e964b02, Notional: 4.97851
+		{Chain: 24, Addr: "000000000000000000000000e453d6649643f1f460c371dc3d1da98f7922fe51", Symbol: "FUSE", CoinGeckoId: "fuse-network-token", Decimals: 18, Price: 0.00968763},                                 // Addr: 0xe453d6649643f1f460c371dc3d1da98f7922fe51, Notional: 0.0094938774
+		{Chain: 24, Addr: "000000000000000000000000e50fa9b3c56ffb159cb0fca61f5c9d750e8128c8", Symbol: "aOptWETH", CoinGeckoId: "aave-weth", Decimals: 18, Price: 4145.44},                                         // Addr: 0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8, Notional: 0.0001243632
+		{Chain: 24, Addr: "000000000000000000000000fd389dc9533717239856190f42475d3f263a270d", Symbol: "GRAIN", CoinGeckoId: "granary", Decimals: 18, Price: 0.00060447},                                           // Addr: 0xfd389dc9533717239856190f42475d3f263a270d, Notional: 0.017529629999999997
+		{Chain: 24, Addr: "000000000000000000000000fdb794692724153d1488ccdbe0c56c252596735f", Symbol: "LDO", CoinGeckoId: "lido-dao", Decimals: 18, Price: 1.087},                                                 // Addr: 0xfdb794692724153d1488ccdbe0c56c252596735f, Notional: 1.74170668722
+		{Chain: 30, Addr: "0000000000000000000000000a1d576f3efef75b330424287a95a366e8281d54", Symbol: "aBasUSDbC", CoinGeckoId: "aave-v3-usdbc", Decimals: 6, Price: 0.99962},                                     // Addr: 0x0a1d576f3efef75b330424287a95a366e8281d54, Notional: 1.24905217974
 		{Chain: 30, Addr: "00000000000000000000000019b50c63d3d7f7a22308cb0fc8d41b66ff9c318a", Symbol: "GPX", CoinGeckoId: "grabpenny", Decimals: 18, Price: 0.00331687},                                           // Addr: 0x19b50c63d3d7f7a22308cb0fc8d41b66ff9c318a, Notional: 16584.35
-		{Chain: 30, Addr: "00000000000000000000000022a2488fe295047ba13bd8cccdbc8361dbd8cf7c", Symbol: "SONNE", CoinGeckoId: "sonne-finance", Decimals: 18, Price: 0.00051201},                                     // Addr: 0x22a2488fe295047ba13bd8cccdbc8361dbd8cf7c, Notional: 0.00716814
-		{Chain: 30, Addr: "000000000000000000000000236aa50979d5f3de3bd1eeb40e81137f22ab794b", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 111263},                                                   // Addr: 0x236aa50979d5f3de3bd1eeb40e81137f22ab794b, Notional: 252.35783556
-		{Chain: 30, Addr: "000000000000000000000000255f1b39172f65dc6406b8bee8b08155c45fe1b6", Symbol: "HARAMBE", CoinGeckoId: "harambecoin", Decimals: 18, Price: 2.44624e-7},                                     // Addr: 0x255f1b39172f65dc6406b8bee8b08155c45fe1b6, Notional: 4.587553874149834
-		{Chain: 30, Addr: "00000000000000000000000026f3901ac8a79c50fb0d8289c74f0d09adc42e29", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01637153},                               // Addr: 0x26f3901ac8a79c50fb0d8289c74f0d09adc42e29, Notional: 0.1306866493006445
-		{Chain: 30, Addr: "0000000000000000000000002a06a17cbc6d0032cac2c6696da90f29d39a1a29", Symbol: "BITCOIN", CoinGeckoId: "harrypotterobamasonic10in", Decimals: 8, Price: 0.078118},                          // Addr: 0x2a06a17cbc6d0032cac2c6696da90f29d39a1a29, Notional: 15.607976400000002
-		{Chain: 30, Addr: "0000000000000000000000002ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22", Symbol: "cbETH", CoinGeckoId: "coinbase-wrapped-staked-eth", Decimals: 18, Price: 4733.48},                          // Addr: 0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22, Notional: 1422.2343705351998
+		{Chain: 30, Addr: "00000000000000000000000022a2488fe295047ba13bd8cccdbc8361dbd8cf7c", Symbol: "SONNE", CoinGeckoId: "sonne-finance", Decimals: 18, Price: 0.00047894},                                     // Addr: 0x22a2488fe295047ba13bd8cccdbc8361dbd8cf7c, Notional: 0.00670516
+		{Chain: 30, Addr: "000000000000000000000000236aa50979d5f3de3bd1eeb40e81137f22ab794b", Symbol: "tBTC", CoinGeckoId: "tbtc", Decimals: 18, Price: 113878},                                                   // Addr: 0x236aa50979d5f3de3bd1eeb40e81137f22ab794b, Notional: 258.28896936
+		{Chain: 30, Addr: "000000000000000000000000255f1b39172f65dc6406b8bee8b08155c45fe1b6", Symbol: "HARAMBE", CoinGeckoId: "harambecoin", Decimals: 18, Price: 2.3184e-7},                                      // Addr: 0x255f1b39172f65dc6406b8bee8b08155c45fe1b6, Notional: 4.34780925086213
+		{Chain: 30, Addr: "00000000000000000000000026f3901ac8a79c50fb0d8289c74f0d09adc42e29", Symbol: "T", CoinGeckoId: "threshold-network-token", Decimals: 18, Price: 0.01474247},                               // Addr: 0x26f3901ac8a79c50fb0d8289c74f0d09adc42e29, Notional: 0.1176825871934555
+		{Chain: 30, Addr: "0000000000000000000000002a06a17cbc6d0032cac2c6696da90f29d39a1a29", Symbol: "BITCOIN", CoinGeckoId: "harrypotterobamasonic10in", Decimals: 8, Price: 0.09211},                           // Addr: 0x2a06a17cbc6d0032cac2c6696da90f29d39a1a29, Notional: 0.018403578
+		{Chain: 30, Addr: "0000000000000000000000002ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22", Symbol: "cbETH", CoinGeckoId: "coinbase-wrapped-staked-eth", Decimals: 18, Price: 4563.06},                          // Addr: 0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22, Notional: 1371.0295103844
 		{Chain: 30, Addr: "000000000000000000000000302ab9ae394d675676ddb41e294169224824fc9a", Symbol: "CHZ", CoinGeckoId: "cheezburger", Decimals: 18, Price: 1.77908e-7},                                         // Addr: 0x302ab9ae394d675676ddb41e294169224824fc9a, Notional: 15.098662663460349
-		{Chain: 30, Addr: "0000000000000000000000003055913c90fcc1a6ce9a358911721eeb942013a1", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.42},                                        // Addr: 0x3055913c90fcc1a6ce9a358911721eeb942013a1, Notional: 6.0954350644
-		{Chain: 30, Addr: "0000000000000000000000004200000000000000000000000000000000000006", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4297.63},                                                  // Addr: 0x4200000000000000000000000000000000000006, Notional: 254965.39569177068
-		{Chain: 30, Addr: "0000000000000000000000004a3a6dd60a34bb2aba60d73b4c88315e9ceb6a3d", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 0.999879},                                  // Addr: 0x4a3a6dd60a34bb2aba60d73b4c88315e9ceb6a3d, Notional: 25.22689290656667
-		{Chain: 30, Addr: "0000000000000000000000004ed4e862860bed51a9570b96d89af5e1b0efefed", Symbol: "DEGEN", CoinGeckoId: "degen-base", Decimals: 18, Price: 0.00328575},                                        // Addr: 0x4ed4e862860bed51a9570b96d89af5e1b0efefed, Notional: 20.761738158946883
-		{Chain: 30, Addr: "00000000000000000000000050c5725949a6f0c72e6c4a641f24049a917db0cb", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 1},                                                          // Addr: 0x50c5725949a6f0c72e6c4a641f24049a917db0cb, Notional: 605.93671727
-		{Chain: 30, Addr: "000000000000000000000000532f27101965dd16442e59d40670faf5ebb142e4", Symbol: "BRETT", CoinGeckoId: "based-brett", Decimals: 18, Price: 0.04855299},                                       // Addr: 0x532f27101965dd16442e59d40670faf5ebb142e4, Notional: 37.99829826885
-		{Chain: 30, Addr: "00000000000000000000000054a65b16d18527160fafc6fcfebaed47c2976dfa", Symbol: "RFKJ", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000233},                                 // Addr: 0x54a65b16d18527160fafc6fcfebaed47c2976dfa, Notional: 0.00233
+		{Chain: 30, Addr: "0000000000000000000000003055913c90fcc1a6ce9a358911721eeb942013a1", Symbol: "Cake", CoinGeckoId: "pancakeswap-token", Decimals: 18, Price: 2.51},                                        // Addr: 0x3055913c90fcc1a6ce9a358911721eeb942013a1, Notional: 6.322124798199999
+		{Chain: 30, Addr: "0000000000000000000000004200000000000000000000000000000000000006", Symbol: "WETH", CoinGeckoId: "weth", Decimals: 18, Price: 4145.65},                                                  // Addr: 0x4200000000000000000000000000000000000006, Notional: 245926.701728855
+		{Chain: 30, Addr: "0000000000000000000000004a3a6dd60a34bb2aba60d73b4c88315e9ceb6a3d", Symbol: "MIM", CoinGeckoId: "magic-internet-money", Decimals: 18, Price: 1},                                         // Addr: 0x4a3a6dd60a34bb2aba60d73b4c88315e9ceb6a3d, Notional: 25.22994573
+		{Chain: 30, Addr: "0000000000000000000000004ed4e862860bed51a9570b96d89af5e1b0efefed", Symbol: "DEGEN", CoinGeckoId: "degen-base", Decimals: 18, Price: 0.00281074},                                        // Addr: 0x4ed4e862860bed51a9570b96d89af5e1b0efefed, Notional: 17.760282405197703
+		{Chain: 30, Addr: "00000000000000000000000050c5725949a6f0c72e6c4a641f24049a917db0cb", Symbol: "DAI", CoinGeckoId: "dai", Decimals: 18, Price: 0.999799},                                                   // Addr: 0x50c5725949a6f0c72e6c4a641f24049a917db0cb, Notional: 731.6609911150074
+		{Chain: 30, Addr: "000000000000000000000000532f27101965dd16442e59d40670faf5ebb142e4", Symbol: "BRETT", CoinGeckoId: "based-brett", Decimals: 18, Price: 0.04052071},                                       // Addr: 0x532f27101965dd16442e59d40670faf5ebb142e4, Notional: 31.71211545665
+		{Chain: 30, Addr: "00000000000000000000000054a65b16d18527160fafc6fcfebaed47c2976dfa", Symbol: "RFKJ", CoinGeckoId: "independence-token", Decimals: 18, Price: 0.00000265},                                 // Addr: 0x54a65b16d18527160fafc6fcfebaed47c2976dfa, Notional: 0.00265
 		{Chain: 30, Addr: "00000000000000000000000060cbb875d3c6314280dd90a4fe6cafc1d7ce5dfd", Symbol: "EBASE", CoinGeckoId: "ebase", Decimals: 9, Price: 0.00000782},                                              // Addr: 0x60cbb875d3c6314280dd90a4fe6cafc1d7ce5dfd, Notional: 0.008542689225092598
-		{Chain: 30, Addr: "00000000000000000000000064b88c73a5dfa78d1713fe1b4c69a22d7e0faaa7", Symbol: "MAV", CoinGeckoId: "maverick-protocol", Decimals: 18, Price: 0.065003},                                     // Addr: 0x64b88c73a5dfa78d1713fe1b4c69a22d7e0faaa7, Notional: 6.68004193974897
+		{Chain: 30, Addr: "00000000000000000000000064b88c73a5dfa78d1713fe1b4c69a22d7e0faaa7", Symbol: "MAV", CoinGeckoId: "maverick-protocol", Decimals: 18, Price: 0.058349},                                     // Addr: 0x64b88c73a5dfa78d1713fe1b4c69a22d7e0faaa7, Notional: 5.99624274483351
 		{Chain: 30, Addr: "0000000000000000000000006653dd4b92a0e5bf8ae570a98906d9d6fd2eec09", Symbol: "RCKT", CoinGeckoId: "rocketswap", Decimals: 18, Price: 0.04581254},                                         // Addr: 0x6653dd4b92a0e5bf8ae570a98906d9d6fd2eec09, Notional: 0.04581254
-		{Chain: 30, Addr: "000000000000000000000000717d31a60a9e811469673429c9f8ea24358990f1", Symbol: "EVERY", CoinGeckoId: "everyworld", Decimals: 18, Price: 0.00029083},                                        // Addr: 0x717d31a60a9e811469673429c9f8ea24358990f1, Notional: 388.04211637675473
+		{Chain: 30, Addr: "000000000000000000000000717d31a60a9e811469673429c9f8ea24358990f1", Symbol: "EVERY", CoinGeckoId: "everyworld", Decimals: 18, Price: 0.00029408},                                        // Addr: 0x717d31a60a9e811469673429c9f8ea24358990f1, Notional: 392.37845333726244
 		{Chain: 30, Addr: "00000000000000000000000073e58c6f5e7b9def4bdda8f02f59f9ef2a342cca", Symbol: "GP", CoinGeckoId: "grabpenny", Decimals: 18, Price: 0.00331687},                                            // Addr: 0x73e58c6f5e7b9def4bdda8f02f59f9ef2a342cca, Notional: 6.6337399999999995
-		{Chain: 30, Addr: "00000000000000000000000076734b57dfe834f102fb61e1ebf844adf8dd931e", Symbol: "weirdo", CoinGeckoId: "weirdo-2", Decimals: 8, Price: 0.00001102},                                          // Addr: 0x76734b57dfe834f102fb61e1ebf844adf8dd931e, Notional: 9486.012701658954
-		{Chain: 30, Addr: "00000000000000000000000078a087d713be963bf307b18f2ff8122ef9a63ae9", Symbol: "BSWAP", CoinGeckoId: "baseswap", Decimals: 18, Price: 0.04083131},                                          // Addr: 0x78a087d713be963bf307b18f2ff8122ef9a63ae9, Notional: 0.3063125375990706
-		{Chain: 30, Addr: "0000000000000000000000007d49a065d17d6d4a55dc13649901fdbb98b2afba", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.784507},                                               // Addr: 0x7d49a065d17d6d4a55dc13649901fdbb98b2afba, Notional: 4.587683739484969
-		{Chain: 30, Addr: "0000000000000000000000007f12d13b34f5f4f0a9449c16bcd42f0da47af200", Symbol: "NORMIE", CoinGeckoId: "normie-2", Decimals: 9, Price: 0.00127457},                                          // Addr: 0x7f12d13b34f5f4f0a9449c16bcd42f0da47af200, Notional: 737.0821969602699
-		{Chain: 30, Addr: "000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999858},                                              // Addr: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913, Notional: 68863.2550460276
-		{Chain: 30, Addr: "000000000000000000000000858c50c3af1913b0e849afdb74617388a1a5340d", Symbol: "SQT", CoinGeckoId: "subquery-network", Decimals: 18, Price: 0.00079779},                                    // Addr: 0x858c50c3af1913b0e849afdb74617388a1a5340d, Notional: 1.7601286708245074
-		{Chain: 30, Addr: "0000000000000000000000008e16d46cb2da01cdd49601ec73d7b0344969ae33", Symbol: "coin", CoinGeckoId: "coin-on-base", Decimals: 18, Price: 0.00000227},                                       // Addr: 0x8e16d46cb2da01cdd49601ec73d7b0344969ae33, Notional: 5.422328379718543
-		{Chain: 30, Addr: "0000000000000000000000008fbd0648971d56f1f2c35fa075ff5bc75fb0e39d", Symbol: "MBS", CoinGeckoId: "monkeyball", Decimals: 18, Price: 0.00149301},                                          // Addr: 0x8fbd0648971d56f1f2c35fa075ff5bc75fb0e39d, Notional: 4.99491762701923
-		{Chain: 30, Addr: "000000000000000000000000940181a94a35a4569e4529a3cdfb74e38fd98631", Symbol: "AERO", CoinGeckoId: "aerodrome-finance", Decimals: 18, Price: 1.15},                                        // Addr: 0x940181a94a35a4569e4529a3cdfb74e38fd98631, Notional: 0.034541330999999995
-		{Chain: 30, Addr: "00000000000000000000000096e890c6b2501a69cad5dba402bfb871a2a2874c", Symbol: "AAG", CoinGeckoId: "aag-ventures", Decimals: 18, Price: 0.00067776},                                        // Addr: 0x96e890c6b2501a69cad5dba402bfb871a2a2874c, Notional: 0.00067776
-		{Chain: 30, Addr: "0000000000000000000000009a3b7959e998bf2b50ef1969067d623877050d92", Symbol: "PBB", CoinGeckoId: "pepe-but-blue", Decimals: 18, Price: 0.00002755},                                       // Addr: 0x9a3b7959e998bf2b50ef1969067d623877050d92, Notional: 0.2564599358445885
-		{Chain: 30, Addr: "0000000000000000000000009e1028f5f1d5ede59748ffcee5532509976840e0", Symbol: "COMP", CoinGeckoId: "compound-governance-token", Decimals: 18, Price: 43.26},                               // Addr: 0x9e1028f5f1d5ede59748ffcee5532509976840e0, Notional: 0.0328827912
-		{Chain: 30, Addr: "000000000000000000000000a61beb4a3d02decb01039e378237032b351125b4", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.17},                                                   // Addr: 0xa61beb4a3d02decb01039e378237032b351125b4, Notional: 1.5925600547999998
-		{Chain: 30, Addr: "000000000000000000000000a88594d404727625a9437c3f886c7643872296ae", Symbol: "WELL", CoinGeckoId: "moonwell-artemis", Decimals: 18, Price: 0.02421963},                                   // Addr: 0xa88594d404727625a9437c3f886c7643872296ae, Notional: 2.645667956655942
-		{Chain: 30, Addr: "000000000000000000000000ac1bd2486aaf3b5c0fc3fd868558b082a531b2b4", Symbol: "TOSHI", CoinGeckoId: "toshi", Decimals: 18, Price: 0.00057329},                                             // Addr: 0xac1bd2486aaf3b5c0fc3fd868558b082a531b2b4, Notional: 0.5331023709999999
-		{Chain: 30, Addr: "000000000000000000000000afb89a09d82fbde58f18ac6437b3fc81724e4df6", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00183028},                                        // Addr: 0xafb89a09d82fbde58f18ac6437b3fc81724e4df6, Notional: 49703.702520395454
-		{Chain: 30, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.084518},                                                // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 81.54602538110349
-		{Chain: 30, Addr: "000000000000000000000000b5c457ddb4ce3312a6c5a2b056a1652bd542a208", Symbol: "O404", CoinGeckoId: "omni404", Decimals: 18, Price: 1174.83},                                               // Addr: 0xb5c457ddb4ce3312a6c5a2b056a1652bd542a208, Notional: 7.789122899999999
-		{Chain: 30, Addr: "000000000000000000000000bfd5206962267c7b4b4a8b3d76ac2e1b2a5c4d5e", Symbol: "OSAK", CoinGeckoId: "osaka-protocol", Decimals: 18, Price: 1.66054e-7},                                     // Addr: 0xbfd5206962267c7b4b4a8b3d76ac2e1b2a5c4d5e, Notional: 0.44618423969799653
-		{Chain: 30, Addr: "000000000000000000000000c1cba3fcea344f92d9239c08c0568f6f2f0ee452", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5206.93},                                       // Addr: 0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452, Notional: 10.413860000000001
-		{Chain: 30, Addr: "000000000000000000000000c48e605c7b722a57277e087a6170b9e227e5ac0a", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.0000169},                                             // Addr: 0xc48e605c7b722a57277e087a6170b9e227e5ac0a, Notional: 38.55814867472387
-		{Chain: 30, Addr: "000000000000000000000000c5bebd5a6ae6be4fcf383eea014fb1dbd43789ca", Symbol: "BNS", CoinGeckoId: "base-name-service", Decimals: 18, Price: 0.00001494},                                   // Addr: 0xc5bebd5a6ae6be4fcf383eea014fb1dbd43789ca, Notional: 0.029879999999999997
-		{Chain: 30, Addr: "000000000000000000000000d07379a755a8f11b57610154861d694b2a0f615a", Symbol: "BASE", CoinGeckoId: "base", Decimals: 18, Price: 0.00000207},                                               // Addr: 0xd07379a755a8f11b57610154861d694b2a0f615a, Notional: 0.5175072646878114
-		{Chain: 30, Addr: "000000000000000000000000d9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca", Symbol: "USDbC", CoinGeckoId: "bridged-usd-coin-base", Decimals: 6, Price: 0.999704},                                // Addr: 0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca, Notional: 14690.07046167704
-		{Chain: 30, Addr: "000000000000000000000000dfbea88c4842d30c26669602888d746d30f9d60d", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 18, Price: 2.6984e-8},                                      // Addr: 0xdfbea88c4842d30c26669602888d746d30f9d60d, Notional: 263.61874242185235
-		{Chain: 30, Addr: "000000000000000000000000e3086852a4b125803c815a158249ae468a3254ca", Symbol: "$mfer", CoinGeckoId: "mfercoin", Decimals: 18, Price: 0.00759091},                                          // Addr: 0xe3086852a4b125803c815a158249ae468a3254ca, Notional: 2380.2653508370845
-		{Chain: 30, Addr: "000000000000000000000000e3b53af74a4bf62ae5511055290838050bf764df", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.169721},                                      // Addr: 0xe3b53af74a4bf62ae5511055290838050bf764df, Notional: 22.89586620083666
-		{Chain: 30, Addr: "000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f405215", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 1},                                                   // Addr: 0xeb466342c4d449bc9f53a865d5cb90586f405215, Notional: 131.747202
-		{Chain: 30, Addr: "000000000000000000000000ec1df7edfcdc2e2042c63252c1cef480f64f9189", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003727},                                               // Addr: 0xec1df7edfcdc2e2042c63252c1cef480f64f9189, Notional: 3.9508478546095738
-		{Chain: 30, Addr: "000000000000000000000000f7c1cefcf7e1dd8161e00099facd3e1db9e528ee", Symbol: "TOWER", CoinGeckoId: "tower", Decimals: 18, Price: 0.00159683},                                             // Addr: 0xf7c1cefcf7e1dd8161e00099facd3e1db9e528ee, Notional: 18.85406702611794
-		{Chain: 34, Addr: "0000000000000000000000005300000000000000000000000000000000000004", Symbol: "WETH", CoinGeckoId: "bridged-wrapped-ether-scroll", Decimals: 18, Price: 4300.02},                          // Addr: 0x5300000000000000000000000000000000000004, Notional: -133068.9837706272
+		{Chain: 30, Addr: "00000000000000000000000076734b57dfe834f102fb61e1ebf844adf8dd931e", Symbol: "weirdo", CoinGeckoId: "weirdo-2", Decimals: 8, Price: 0.00001169},                                          // Addr: 0x76734b57dfe834f102fb61e1ebf844adf8dd931e, Notional: 9452.721328402356
+		{Chain: 30, Addr: "00000000000000000000000078a087d713be963bf307b18f2ff8122ef9a63ae9", Symbol: "BSWAP", CoinGeckoId: "baseswap", Decimals: 18, Price: 0.03417545},                                          // Addr: 0x78a087d713be963bf307b18f2ff8122ef9a63ae9, Notional: 0.25638091976696703
+		{Chain: 30, Addr: "0000000000000000000000007d49a065d17d6d4a55dc13649901fdbb98b2afba", Symbol: "SUSHI", CoinGeckoId: "sushi", Decimals: 18, Price: 0.668783},                                               // Addr: 0x7d49a065d17d6d4a55dc13649901fdbb98b2afba, Notional: 3.91094648530093
+		{Chain: 30, Addr: "0000000000000000000000007f12d13b34f5f4f0a9449c16bcd42f0da47af200", Symbol: "NORMIE", CoinGeckoId: "normie-2", Decimals: 9, Price: 0.0011395},                                           // Addr: 0x7f12d13b34f5f4f0a9449c16bcd42f0da47af200, Notional: 658.9713891243538
+		{Chain: 30, Addr: "000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913", Symbol: "USDC", CoinGeckoId: "usd-coin", Decimals: 6, Price: 0.999702},                                              // Addr: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913, Notional: 72637.02223199393
+		{Chain: 30, Addr: "000000000000000000000000858c50c3af1913b0e849afdb74617388a1a5340d", Symbol: "SQT", CoinGeckoId: "subquery-network", Decimals: 18, Price: 0.00097154},                                    // Addr: 0x858c50c3af1913b0e849afdb74617388a1a5340d, Notional: 2.1434655847439075
+		{Chain: 30, Addr: "0000000000000000000000008e16d46cb2da01cdd49601ec73d7b0344969ae33", Symbol: "coin", CoinGeckoId: "coin-on-base", Decimals: 18, Price: 0.00000935},                                       // Addr: 0x8e16d46cb2da01cdd49601ec73d7b0344969ae33, Notional: 22.33426006624158
+		{Chain: 30, Addr: "0000000000000000000000008fbd0648971d56f1f2c35fa075ff5bc75fb0e39d", Symbol: "MBS", CoinGeckoId: "monkeyball", Decimals: 18, Price: 0.00183523},                                          // Addr: 0x8fbd0648971d56f1f2c35fa075ff5bc75fb0e39d, Notional: 6.139826710225988
+		{Chain: 30, Addr: "000000000000000000000000940181a94a35a4569e4529a3cdfb74e38fd98631", Symbol: "AERO", CoinGeckoId: "aerodrome-finance", Decimals: 18, Price: 1.011},                                       // Addr: 0x940181a94a35a4569e4529a3cdfb74e38fd98631, Notional: 11.141256335339998
+		{Chain: 30, Addr: "00000000000000000000000096e890c6b2501a69cad5dba402bfb871a2a2874c", Symbol: "AAG", CoinGeckoId: "aag-ventures", Decimals: 18, Price: 0.00050513},                                        // Addr: 0x96e890c6b2501a69cad5dba402bfb871a2a2874c, Notional: 0.00050513
+		{Chain: 30, Addr: "0000000000000000000000009a3b7959e998bf2b50ef1969067d623877050d92", Symbol: "PBB", CoinGeckoId: "pepe-but-blue", Decimals: 18, Price: 0.00003499},                                       // Addr: 0x9a3b7959e998bf2b50ef1969067d623877050d92, Notional: 0.3257180818585173
+		{Chain: 30, Addr: "0000000000000000000000009e1028f5f1d5ede59748ffcee5532509976840e0", Symbol: "COMP", CoinGeckoId: "compound-governance-token", Decimals: 18, Price: 41.56},                               // Addr: 0x9e1028f5f1d5ede59748ffcee5532509976840e0, Notional: 0.0315905872
+		{Chain: 30, Addr: "000000000000000000000000a61beb4a3d02decb01039e378237032b351125b4", Symbol: "agEUR", CoinGeckoId: "ageur", Decimals: 18, Price: 1.18},                                                   // Addr: 0xa61beb4a3d02decb01039e378237032b351125b4, Notional: 1.6061716791999998
+		{Chain: 30, Addr: "000000000000000000000000a88594d404727625a9437c3f886c7643872296ae", Symbol: "WELL", CoinGeckoId: "moonwell-artemis", Decimals: 18, Price: 0.0218249},                                    // Addr: 0xa88594d404727625a9437c3f886c7643872296ae, Notional: 2.384075998981829
+		{Chain: 30, Addr: "000000000000000000000000ac1bd2486aaf3b5c0fc3fd868558b082a531b2b4", Symbol: "TOSHI", CoinGeckoId: "toshi", Decimals: 18, Price: 0.00071874},                                             // Addr: 0xac1bd2486aaf3b5c0fc3fd868558b082a531b2b4, Notional: 0.6683563260000001
+		{Chain: 30, Addr: "000000000000000000000000afb89a09d82fbde58f18ac6437b3fc81724e4df6", Symbol: "DOG", CoinGeckoId: "the-doge-nft", Decimals: 18, Price: 0.00157008},                                        // Addr: 0xafb89a09d82fbde58f18ac6437b3fc81724e4df6, Notional: 30405.005523996067
+		{Chain: 30, Addr: "000000000000000000000000b0ffa8000886e57f86dd5264b9582b2ad87b2b91", Symbol: "W", CoinGeckoId: "wormhole", Decimals: 18, Price: 0.100345},                                                // Addr: 0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91, Notional: 96.81648781167125
+		{Chain: 30, Addr: "000000000000000000000000b5c457ddb4ce3312a6c5a2b056a1652bd542a208", Symbol: "O404", CoinGeckoId: "omni404", Decimals: 18, Price: 1056.22},                                               // Addr: 0xb5c457ddb4ce3312a6c5a2b056a1652bd542a208, Notional: 7.0027386
+		{Chain: 30, Addr: "000000000000000000000000bfd5206962267c7b4b4a8b3d76ac2e1b2a5c4d5e", Symbol: "OSAK", CoinGeckoId: "osaka-protocol", Decimals: 18, Price: 1.27936e-7},                                     // Addr: 0xbfd5206962267c7b4b4a8b3d76ac2e1b2a5c4d5e, Notional: 0.3437618298264593
+		{Chain: 30, Addr: "000000000000000000000000c1cba3fcea344f92d9239c08c0568f6f2f0ee452", Symbol: "wstETH", CoinGeckoId: "wrapped-steth", Decimals: 18, Price: 5036.22},                                       // Addr: 0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452, Notional: 10.07244
+		{Chain: 30, Addr: "000000000000000000000000c48e605c7b722a57277e087a6170b9e227e5ac0a", Symbol: "OMNI", CoinGeckoId: "omnicat", Decimals: 18, Price: 0.00001555},                                            // Addr: 0xc48e605c7b722a57277e087a6170b9e227e5ac0a, Notional: 35.47805987526367
+		{Chain: 30, Addr: "000000000000000000000000c5bebd5a6ae6be4fcf383eea014fb1dbd43789ca", Symbol: "BNS", CoinGeckoId: "base-name-service", Decimals: 18, Price: 0.00002789},                                   // Addr: 0xc5bebd5a6ae6be4fcf383eea014fb1dbd43789ca, Notional: 0.055779999999999996
+		{Chain: 30, Addr: "000000000000000000000000d07379a755a8f11b57610154861d694b2a0f615a", Symbol: "BASE", CoinGeckoId: "base", Decimals: 18, Price: 0.00000304},                                               // Addr: 0xd07379a755a8f11b57610154861d694b2a0f615a, Notional: 0.7600106689135009
+		{Chain: 30, Addr: "000000000000000000000000d9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca", Symbol: "USDbC", CoinGeckoId: "bridged-usd-coin-base", Decimals: 6, Price: 0.999843},                                // Addr: 0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca, Notional: 14430.885714180116
+		{Chain: 30, Addr: "000000000000000000000000dfbea88c4842d30c26669602888d746d30f9d60d", Symbol: "CAW", CoinGeckoId: "crow-with-knife", Decimals: 18, Price: 2.2256e-8},                                      // Addr: 0xdfbea88c4842d30c26669602888d746d30f9d60d, Notional: 217.42879970874392
+		{Chain: 30, Addr: "000000000000000000000000e3086852a4b125803c815a158249ae468a3254ca", Symbol: "$mfer", CoinGeckoId: "mfercoin", Decimals: 18, Price: 0.00620591},                                          // Addr: 0xe3086852a4b125803c815a158249ae468a3254ca, Notional: 1553.744643797204
+		{Chain: 30, Addr: "000000000000000000000000e3b53af74a4bf62ae5511055290838050bf764df", Symbol: "STG", CoinGeckoId: "stargate-finance", Decimals: 18, Price: 0.174948},                                      // Addr: 0xe3b53af74a4bf62ae5511055290838050bf764df, Notional: 23.601004001296076
+		{Chain: 30, Addr: "000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f405215", Symbol: "axlUSDC", CoinGeckoId: "axlusdc", Decimals: 6, Price: 0.999446},                                            // Addr: 0xeb466342c4d449bc9f53a865d5cb90586f405215, Notional: 131.674214050092
+		{Chain: 30, Addr: "000000000000000000000000ec1df7edfcdc2e2042c63252c1cef480f64f9189", Symbol: "BOO", CoinGeckoId: "boo-2", Decimals: 18, Price: 0.00003483},                                               // Addr: 0xec1df7edfcdc2e2042c63252c1cef480f64f9189, Notional: 3.6921929373772855
+		{Chain: 30, Addr: "000000000000000000000000f7c1cefcf7e1dd8161e00099facd3e1db9e528ee", Symbol: "TOWER", CoinGeckoId: "tower", Decimals: 18, Price: 0.0012147},                                              // Addr: 0xf7c1cefcf7e1dd8161e00099facd3e1db9e528ee, Notional: 14.34218746931449
+		{Chain: 34, Addr: "0000000000000000000000005300000000000000000000000000000000000004", Symbol: "WETH", CoinGeckoId: "bridged-wrapped-ether-scroll", Decimals: 18, Price: 4140.85},                          // Addr: 0x5300000000000000000000000000000000000004, Notional: -128143.28804205601
 	}
 }

+ 46 - 26
node/pkg/governor/governor.go

@@ -464,9 +464,18 @@ func (gov *ChainGovernor) initConfig() error {
 	return nil
 }
 
-// Returns true if the message can be published, false if it has been added to the pending list.
+// Returns true if the message can be published, false if it has been added to the pending list
+// or if an error occurred.
 func (gov *ChainGovernor) ProcessMsg(msg *common.MessagePublication) bool {
-	publish, err := gov.ProcessMsgForTime(msg, time.Now())
+
+	// Fail early for checks that do not require referencing the governor's state.
+	if !vaa.IsTransfer(msg.Payload) {
+		// The Governor should not block transfers that are not wrapped token transfers.
+		gov.logger.Info("ignoring vaa because it is not a wrapped token transfer", zap.String("msgID", msg.MessageIDString()))
+		return true
+	}
+
+	publish, err := gov.processMsgForTime(msg, time.Now())
 	if err != nil {
 		gov.logger.Error("failed to process VAA: %v", zap.Error(err))
 		return false
@@ -475,7 +484,7 @@ func (gov *ChainGovernor) ProcessMsg(msg *common.MessagePublication) bool {
 	return publish
 }
 
-// ProcessMsgForTime handles an incoming message (transfer) and registers it in the chain entries for the Governor.
+// processMsgForTime handles an incoming message (transfer) and registers it in the chain entries for the Governor.
 // Returns true if:
 // - the message is not governed
 // - the transfer is complete and has already been observed
@@ -484,7 +493,7 @@ func (gov *ChainGovernor) ProcessMsg(msg *common.MessagePublication) bool {
 // - ensure MessagePublication is not nil
 // - check that the MessagePublication is governed
 // - check that the message is not a duplicate of one we've seen before.
-func (gov *ChainGovernor) ProcessMsgForTime(msg *common.MessagePublication, now time.Time) (bool, error) {
+func (gov *ChainGovernor) processMsgForTime(msg *common.MessagePublication, now time.Time) (bool, error) {
 	if msg == nil {
 		return false, fmt.Errorf("msg is nil")
 	}
@@ -502,7 +511,7 @@ func (gov *ChainGovernor) ProcessMsgForTime(msg *common.MessagePublication, now
 		return true, nil
 	}
 
-	hash := gov.HashFromMsg(msg)
+	hash := gov.hashFromMsg(msg)
 	xferComplete, alreadySeen := gov.msgsSeen[hash]
 	if alreadySeen {
 		if !xferComplete {
@@ -524,7 +533,7 @@ func (gov *ChainGovernor) ProcessMsgForTime(msg *common.MessagePublication, now
 
 	// Get all outgoing transfers for `emitterChainEntry` that happened within the last 24 hours
 	startTime := now.Add(-time.Minute * time.Duration(gov.dayLengthInMinutes))
-	prevTotalValue, err := gov.TrimAndSumValueForChain(emitterChainEntry, startTime)
+	prevTotalValue, err := gov.trimAndSumValueForChain(emitterChainEntry, startTime)
 	if err != nil {
 		gov.logger.Error("Error when attempting to trim and sum transfers",
 			zap.String("msgID", msg.MessageIDString()),
@@ -690,6 +699,15 @@ func (gov *ChainGovernor) corridorCanFlowCancel(corridor *corridor) bool {
 
 // IsGovernedMsg determines if the message applies to the governor. It grabs the lock.
 func (gov *ChainGovernor) IsGovernedMsg(msg *common.MessagePublication) (msgIsGoverned bool, err error) {
+
+	// Fail early for checks that do not require referencing the governor's state.
+	// This avoids locking the governor's mutex.
+	if !vaa.IsTransfer(msg.Payload) {
+		gov.logger.Info("ignoring vaa because it is not a wrapped token transfer", zap.String("msgID", msg.MessageIDString()))
+		return false, nil
+	}
+
+	// The remaining checks require referencing the governor's state, so we need to lock it.
 	gov.mutex.Lock()
 	defer gov.mutex.Unlock()
 	msgIsGoverned, _, _, _, err = gov.parseMsgAlreadyLocked(msg)
@@ -700,6 +718,13 @@ func (gov *ChainGovernor) IsGovernedMsg(msg *common.MessagePublication) (msgIsGo
 func (gov *ChainGovernor) parseMsgAlreadyLocked(
 	msg *common.MessagePublication,
 ) (bool, *chainEntry, *tokenEntry, *vaa.TransferPayloadHdr, error) {
+	// We only care about wrapped token transfers.
+	// The caller SHOULD check that the message is a wrapped token transfer before calling this method because it can be done without acquiring the Governor's lock. However, it is checked here for completeness.
+	if !vaa.IsTransfer(msg.Payload) {
+		gov.logger.Info("ignoring vaa because it is not a wrapped token transfer", zap.String("msgID", msg.MessageIDString()))
+		return false, nil, nil, nil, nil
+	}
+
 	// If we don't care about this chain, the VAA can be published.
 	ce, exists := gov.chains[msg.EmitterChain]
 	if !exists {
@@ -721,16 +746,11 @@ func (gov *ChainGovernor) parseMsgAlreadyLocked(
 		return false, nil, nil, nil, nil
 	}
 
-	// We only care about transfers.
-	if !vaa.IsTransfer(msg.Payload) {
-		gov.logger.Info("ignoring vaa because it is not a transfer", zap.String("msgID", msg.MessageIDString()))
-		return false, nil, nil, nil, nil
-	}
-
-	payload, err := vaa.DecodeTransferPayloadHdr(msg.Payload)
-	if err != nil {
-		gov.logger.Error("failed to decode vaa", zap.String("msgID", msg.MessageIDString()), zap.Error(err))
-		return false, nil, nil, nil, err
+	// Decode the payload. This is a prerequisite for the rest of the checks.
+	payload, decodeErr := vaa.DecodeTransferPayloadHdr(msg.Payload)
+	if decodeErr != nil {
+		gov.logger.Error("failed to decode vaa", zap.String("msgID", msg.MessageIDString()), zap.Error(decodeErr))
+		return false, nil, nil, nil, decodeErr
 	}
 
 	// If we don't care about this token, the VAA can be published.
@@ -747,10 +767,10 @@ func (gov *ChainGovernor) parseMsgAlreadyLocked(
 // CheckPending is a wrapper method for CheckPendingForTime that uses time.Now as the release time.
 // Returns a slice of MessagePublications that are ready to be published.
 func (gov *ChainGovernor) CheckPending() ([]*common.MessagePublication, error) {
-	return gov.CheckPendingForTime(time.Now())
+	return gov.checkPendingForTime(time.Now())
 }
 
-// CheckPendingForTime checks whether a pending message is ready to be released, and if so, modifies the chain entry's `pending` and `transfers` slices by
+// checkPendingForTime checks whether a pending message is ready to be released, and if so, modifies the chain entry's `pending` and `transfers` slices by
 // moving a `dbTransfer` element from `pending` to `transfers`. Returns a slice of Messages that will be published.
 // A transfer is ready to be released when one of the following conditions holds:
 //   - The 'release time' duration has passed since `now` (i.e. the transfer has been queued for 24 hours, regardless of
@@ -761,7 +781,7 @@ func (gov *ChainGovernor) CheckPending() ([]*common.MessagePublication, error) {
 //
 // WARNING: When this function returns an error, it propagates to the `processor` which in turn interprets this as a
 // signal to RESTART THE PROCESSOR. Therefore, errors returned by this function effectively act as panics.
-func (gov *ChainGovernor) CheckPendingForTime(now time.Time) ([]*common.MessagePublication, error) {
+func (gov *ChainGovernor) checkPendingForTime(now time.Time) ([]*common.MessagePublication, error) {
 	gov.mutex.Lock()
 	defer gov.mutex.Unlock()
 
@@ -784,7 +804,7 @@ func (gov *ChainGovernor) CheckPendingForTime(now time.Time) ([]*common.MessageP
 		// Keep going as long as we find something that will fit.
 		for {
 			foundOne := false
-			prevTotalValue, err := gov.TrimAndSumValueForChain(ce, startTime)
+			prevTotalValue, err := gov.trimAndSumValueForChain(ce, startTime)
 			if err != nil {
 				gov.logger.Error("error when attempting to trim and sum transfers", zap.Error(err))
 				gov.logger.Error("refusing to release transfers for this chain until the sum can be correctly calculated",
@@ -1026,7 +1046,7 @@ func (gov *ChainGovernor) tryAddFlowCancelTransfer(transfer *transfer) (bool, er
 	return true, nil
 }
 
-// TrimAndSumValueForChain calculates the `sum` of `Transfer`s for a given chain `chainEntry`. In effect, it represents a
+// trimAndSumValueForChain calculates the `sum` of `Transfer`s for a given chain `chainEntry`. In effect, it represents a
 // chain's "Governor Usage" for a given 24 hour period.
 // This sum may be reduced by the sum of 'flow cancelling' transfers: that is, transfers of an allow-listed token
 // that have the `emitter` as their destination chain.
@@ -1039,7 +1059,7 @@ func (gov *ChainGovernor) tryAddFlowCancelTransfer(transfer *transfer) (bool, er
 // chain appearing at maximum capacity from the perspective of the Governor, and therefore cause new transfers to be
 // queued until space opens up.
 // SECURITY Invariant: The `sum` return value should never be less than 0
-func (gov *ChainGovernor) TrimAndSumValueForChain(chainEntry *chainEntry, startTime time.Time) (sum uint64, err error) {
+func (gov *ChainGovernor) trimAndSumValueForChain(chainEntry *chainEntry, startTime time.Time) (sum uint64, err error) {
 	if chainEntry == nil {
 		// We don't expect this to happen but this prevents a nil pointer deference
 		return 0, errors.New("TrimAndSumValeForChain parameter chainEntry must not be nil")
@@ -1047,7 +1067,7 @@ func (gov *ChainGovernor) TrimAndSumValueForChain(chainEntry *chainEntry, startT
 	// Sum the value of all transfers for this chain. This sum can be negative if flow-cancelling is enabled
 	// and the incoming value of flow-cancelling assets exceeds the summed value of all outgoing assets.
 	var sumValue int64
-	sumValue, chainEntry.transfers, err = gov.TrimAndSumValue(chainEntry.transfers, startTime)
+	sumValue, chainEntry.transfers, err = gov.trimAndSumValue(chainEntry.transfers, startTime)
 	if err != nil {
 		// Return the daily limit as the sum so that any further transfers will be queued.
 		return chainEntry.dailyLimit, err
@@ -1061,14 +1081,14 @@ func (gov *ChainGovernor) TrimAndSumValueForChain(chainEntry *chainEntry, startT
 	return uint64(sumValue), nil
 }
 
-// TrimAndSumValue iterates over a slice of transfer structs. It filters out transfers that have Timestamp values that
+// trimAndSumValue iterates over a slice of transfer structs. It filters out transfers that have Timestamp values that
 // are earlier than the parameter `startTime`. The function then iterates over the remaining transfers, sums their Value,
 // and returns the sum and the filtered transfers.
 // As a side-effect, this function deletes transfers from the database if their Timestamp is before `startTime`.
 // The `transfers` slice must be sorted by Timestamp. We expect this to be the case as transfers are added to the
 // Governor in chronological order as they arrive. Note that `Timestamp` is created by the Governor; it is not read
 // from the actual on-chain transaction.
-func (gov *ChainGovernor) TrimAndSumValue(transfers []transfer, startTime time.Time) (int64, []transfer, error) {
+func (gov *ChainGovernor) trimAndSumValue(transfers []transfer, startTime time.Time) (int64, []transfer, error) {
 	if len(transfers) == 0 {
 		return 0, transfers, nil
 	}
@@ -1113,7 +1133,7 @@ func (tk tokenKey) String() string {
 	return tk.chain.String() + ":" + tk.addr.String()
 }
 
-func (gov *ChainGovernor) HashFromMsg(msg *common.MessagePublication) string {
+func (gov *ChainGovernor) hashFromMsg(msg *common.MessagePublication) string {
 	v := msg.CreateVAA(0) // We can pass zero in as the guardian set index because it is not part of the digest.
 	digest := v.SigningDigest()
 	return hex.EncodeToString(digest.Bytes())

+ 1 - 1
node/pkg/governor/governor_db.go

@@ -103,7 +103,7 @@ func (gov *ChainGovernor) reloadPendingTransfer(pending *db.PendingTransfer) {
 		return
 	}
 
-	hash := gov.HashFromMsg(msg)
+	hash := gov.hashFromMsg(msg)
 
 	if _, alreadyExists := gov.msgsSeen[hash]; alreadyExists {
 		gov.logger.Error("not reloading pending transfer because it is a duplicate",

+ 3 - 3
node/pkg/governor/governor_prices.go

@@ -54,7 +54,7 @@ func (gov *ChainGovernor) initCoinGecko(ctx context.Context, run bool) error {
 	}
 
 	if run {
-		if err := supervisor.Run(ctx, "govpricer", gov.PriceQuery); err != nil {
+		if err := supervisor.Run(ctx, "govpricer", gov.priceQuery); err != nil {
 			return err
 		}
 	}
@@ -113,8 +113,8 @@ func createCoinGeckoQuery(ids string, coinGeckoApiKey string) string {
 	return query
 }
 
-// PriceQuery is the entry point for the routine that periodically queries CoinGecko for prices.
-func (gov *ChainGovernor) PriceQuery(ctx context.Context) error {
+// priceQuery is the entry point for the routine that periodically queries CoinGecko for prices.
+func (gov *ChainGovernor) priceQuery(ctx context.Context) error {
 	// Do a query immediately, then once each interval.
 	// We ignore the error because an error would already have been logged, and we don't want to bring down the
 	// guardian due to a CoinGecko error. The prices would already have been reverted to the config values.

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 123 - 182
node/pkg/governor/governor_test.go


+ 2 - 0
node/pkg/governor/mainnet_chains.go

@@ -40,5 +40,7 @@ func ChainList() []ChainConfigEntry {
 		{EmitterChainID: vaa.ChainIDMezo, DailyLimit: 500_000, BigTransactionSize: 50_000},
 		{EmitterChainID: vaa.ChainIDXRPLEVM, DailyLimit: 500_000, BigTransactionSize: 50_000},
 		{EmitterChainID: vaa.ChainIDLinea, DailyLimit: 500_000, BigTransactionSize: 50_000},
+		{EmitterChainID: vaa.ChainIDFogo, DailyLimit: 500_000, BigTransactionSize: 50_000},
+		{EmitterChainID: vaa.ChainIDMonad, DailyLimit: 5_000_000, BigTransactionSize: 500_000},
 	}
 }

+ 4 - 0
node/pkg/governor/mainnet_tokens_test.go

@@ -48,6 +48,10 @@ func TestGovernedChainHasGovernedAssets(t *testing.T) {
 		vaa.ChainIDXRPLEVM: true,
 		// TODO: Remove this once we have governed tokens for Linea.
 		vaa.ChainIDLinea: true,
+		// TODO: Remove this once we have governed tokens for Fogo.
+		vaa.ChainIDFogo: true,
+		// TODO: Remove this once we have governed tokens for Monad.
+		vaa.ChainIDMonad: true,
 	}
 	if len(ignoredChains) > 0 {
 		ignoredOutput := []string{}

+ 5 - 1
node/pkg/governor/manual_tokens.go

@@ -4,11 +4,15 @@ package governor
 func manualTokenList() []TokenConfigEntry {
 	return []TokenConfigEntry{
 		{Chain: 2, Addr: "0000000000000000000000006c3ea9036406852006290770bedfcaba0e23a0e8", Symbol: "PYUSD", CoinGeckoId: "paypal-usd", Decimals: 6, Price: 1.00},
-		{Chain: 2, Addr: "00000000000000000000000085f17cf997934a597031b2e18a9ab6ebd4b9f6a4", Symbol: "NEAR", CoinGeckoId: "near", Decimals: 24, Price: 4.34},   // Near on ethereum
+		{Chain: 2, Addr: "00000000000000000000000085f17cf997934a597031b2e18a9ab6ebd4b9f6a4", Symbol: "NEAR", CoinGeckoId: "near", Decimals: 24, Price: 4.34}, // Near on ethereum
+		{Chain: 2, Addr: "000000000000000000000000a3931d71877C0E7a3148CB7Eb4463524FEc27fbD", Symbol: "sUSDS", CoinGeckoId: "susds", Decimals: 18, Price: 1.07},
+		{Chain: 2, Addr: "000000000000000000000000CEDbEA37C8872c4171259Cdfd5255CB8923Cf8e7", Symbol: "XAN", CoinGeckoId: "anoma", Decimals: 18, Price: 0.03343},
+		{Chain: 2, Addr: "000000000000000000000000e355De6a6043b0580Ff5A26b46051A4809B12793", Symbol: "4EVER", CoinGeckoId: "4everland", Decimals: 18, Price: 0.001255},
 		{Chain: 8, Addr: "000000000000000000000000000000000000000000000000000000000004c5c1", Symbol: "USDt", CoinGeckoId: "tether", Decimals: 6, Price: 1.002}, // Addr: 312769, Notional: 22.31747085
 		{Chain: 13, Addr: "0000000000000000000000005fff3a6c16c2208103f318f4713d4d90601a7313", Symbol: "KLEVA", CoinGeckoId: "kleva", Decimals: 18, Price: 0.086661},
 		{Chain: 13, Addr: "0000000000000000000000005096db80b21ef45230c9e423c373f1fc9c0198dd", Symbol: "WEMIX", CoinGeckoId: "wemix-token", Decimals: 18, Price: 1.74},
 		{Chain: 15, Addr: "0000000000000000000000000000000000000000000000000000000000000000", Symbol: "NEAR", CoinGeckoId: "near", Decimals: 24, Price: 4.34},
+		{Chain: 30, Addr: "000000000000000000000000cbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", Symbol: "CBBTC", CoinGeckoId: "coinbase-wrapped-btc", Decimals: 8, Price: 111336},
 		{Chain: 32, Addr: "01881043998ff2b738519d444d2dd0da3da4545de08290c1076746538d5333df", Symbol: "SEI", CoinGeckoId: "sei-network", Decimals: 6, Price: 0.3},
 		// SCROLL (tokens over $50,000 24h volume)
 		{Chain: 34, Addr: "0000000000000000000000000018d96c579121a94307249d47f053e2d687b5e7", Symbol: "MVX", CoinGeckoId: "metavault-trade", Decimals: 18, Price: 2.06},

+ 3 - 0
node/pkg/node/adminServiceRunnable.go

@@ -12,6 +12,7 @@ import (
 	guardianDB "github.com/certusone/wormhole/node/pkg/db"
 	"github.com/certusone/wormhole/node/pkg/governor"
 	"github.com/certusone/wormhole/node/pkg/guardiansigner"
+	"github.com/certusone/wormhole/node/pkg/notary"
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"
 	nodev1 "github.com/certusone/wormhole/node/pkg/proto/node/v1"
 	publicrpcv1 "github.com/certusone/wormhole/node/pkg/proto/publicrpc/v1"
@@ -34,6 +35,7 @@ func adminServiceRunnable(
 	db *guardianDB.Database,
 	gst *common.GuardianSetState,
 	gov *governor.ChainGovernor,
+	notary *notary.Notary,
 	guardianSigner guardiansigner.GuardianSigner,
 	ethRpc *string,
 	ethContract *string,
@@ -90,6 +92,7 @@ func adminServiceRunnable(
 		logger.Named("adminservice"),
 		signedInC,
 		gov,
+		notary,
 		evmConnector,
 		guardianSigner,
 		ethcrypto.PubkeyToAddress(guardianSigner.PublicKey(ctx)),

+ 4 - 2
node/pkg/node/options.go

@@ -517,11 +517,12 @@ func GuardianOptionWatchers(watcherConfigs []watchers.WatcherConfig, ibcWatcherC
 }
 
 // GuardianOptionAdminService enables the admin rpc service on a unix socket.
-// Dependencies: db, governor
+// Dependencies: db
+// Note: governor and notary are optional - they may be nil if not enabled
 func GuardianOptionAdminService(socketPath string, ethRpc *string, ethContract *string, rpcMap map[string]string) *GuardianOption {
 	return &GuardianOption{
 		name:         "admin-service",
-		dependencies: []string{"governor", "db"},
+		dependencies: []string{"db"},
 		f: func(ctx context.Context, logger *zap.Logger, g *G) error {
 			//nolint:contextcheck // Independent service that should not be affected by other services
 			adminService, err := adminServiceRunnable(
@@ -533,6 +534,7 @@ func GuardianOptionAdminService(socketPath string, ethRpc *string, ethContract *
 				g.db,
 				g.gst,
 				g.gov,
+				g.notary,
 				g.guardianSigner,
 				ethRpc,
 				ethContract,

+ 294 - 0
node/pkg/notary/admincommands.go

@@ -0,0 +1,294 @@
+package notary
+
+// Admin commands for the Notary. This defines a public API for the Notary to be used by the Guardians.
+// This structure allows the admin-level commands to be implemented separately from the core Notary code.
+//
+// TODO: This file uses LoadAll() for reads which is not efficient. However, the DB is exists mostly to facilitate
+// loading data on Guardian restarts and write operations are much more common than reads, so a Get is not implemented
+// yet. (See also the Governor's use of the DB.) The read operations defined here are only used by admins and tests,
+// and the total number of delayed and blackholed messages should always be small, so the performance impact is
+// acceptable.
+
+import (
+	"errors"
+	"fmt"
+	"math/big"
+	"math/rand"
+	"time"
+
+	"github.com/certusone/wormhole/node/pkg/common"
+	eth_common "github.com/ethereum/go-ethereum/common"
+	"github.com/wormhole-foundation/wormhole/sdk"
+	"github.com/wormhole-foundation/wormhole/sdk/vaa"
+)
+
+var (
+	ErrDelayExceedsMax = errors.New("notary: delay exceeds maximum")
+	ErrInvalidMsgID    = errors.New("notary: the message ID must be specified as \"chainId/emitterAddress/seqNum\"")
+	ErrNotDevMode      = errors.New("notary: inject commands only available in dev mode")
+)
+
+// BlackholeDelayedMsg adds a message publication to the blackholed in-memory set and stores it in the database.
+// It also removes the message from the delayed list and database.
+func (n *Notary) BlackholeDelayedMsg(msgID string) error {
+
+	if len(msgID) < common.MinMsgIdLen {
+		return ErrInvalidMsgID
+	}
+
+	var (
+		msgPub *common.MessagePublication
+		bz     = []byte(msgID)
+	)
+	msgPub = n.delayed.FetchMessagePublication(bz)
+
+	if msgPub == nil {
+		return ErrMsgNotFound
+	}
+
+	// This method also takes care of removing the message from the delayed list and database.
+	blackholeErr := n.blackhole(msgPub)
+	if blackholeErr != nil {
+		return blackholeErr
+	}
+	return nil
+}
+
+// ReleaseDelayedMsg removes a message from the delayed list and publishes it immediately.
+func (n *Notary) ReleaseDelayedMsg(msgID string) error {
+	if len(msgID) < common.MinMsgIdLen {
+		return ErrInvalidMsgID
+	}
+	err := n.release([]byte(msgID))
+	if err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// RemoveBlackholedMsg removes a message from the blackholed list and adds it to the delayed list with a delay of zero,
+// so that it will be published on the next cycle.
+func (n *Notary) RemoveBlackholedMsg(msgID string) error {
+	if len(msgID) < common.MinMsgIdLen {
+		return ErrInvalidMsgID
+	}
+
+	removedMsgPub, removeErr := n.removeBlackholed([]byte(msgID))
+	if removeErr != nil {
+		return removeErr
+	}
+
+	delayErr := n.delay(removedMsgPub, time.Duration(0))
+	if delayErr != nil {
+		return delayErr
+	}
+
+	return nil
+}
+
+// ResetReleaseTimer resets the release timer for a delayed message.
+func (n *Notary) ResetReleaseTimer(msgID string, delayDays uint8) error {
+	if len(msgID) < common.MinMsgIdLen {
+		return ErrInvalidMsgID
+	}
+
+	if delayDays > MaxDelayDays {
+		return ErrDelayExceedsMax
+	}
+
+	const hoursInDay = time.Hour * 24
+	delay := time.Duration(delayDays) * hoursInDay
+
+	if delay > MaxDelay {
+		return ErrDelayExceedsMax
+	}
+
+	err := n.setDuration([]byte(msgID), delay)
+	if err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// InjectDelayedMessage creates a synthetic delayed message for testing (dev mode only).
+func (n *Notary) InjectDelayedMessage(delayDays uint32) (string, error) {
+	if n.env != common.UnsafeDevNet && n.env != common.GoTest {
+		return "", ErrNotDevMode
+	}
+
+	if delayDays > MaxDelayDays {
+		return "", ErrDelayExceedsMax
+	}
+
+	msgPub := createTestMessagePublication()
+	msgID := msgPub.MessageIDString()
+
+	const hoursInDay = time.Hour * 24
+	delay := time.Duration(delayDays) * hoursInDay
+
+	err := n.delay(msgPub, delay)
+	if err != nil {
+		return "", fmt.Errorf("failed to inject delayed message: %w", err)
+	}
+
+	return msgID, nil
+}
+
+// InjectBlackholedMessage creates a synthetic blackholed message for testing (dev mode only).
+func (n *Notary) InjectBlackholedMessage() (string, error) {
+	if n.env != common.UnsafeDevNet && n.env != common.GoTest {
+		return "", ErrNotDevMode
+	}
+
+	msgPub := createTestMessagePublication()
+	msgID := msgPub.MessageIDString()
+
+	err := n.blackhole(msgPub)
+	if err != nil {
+		return "", fmt.Errorf("failed to inject blackholed message: %w", err)
+	}
+
+	return msgID, nil
+}
+
+// GetDelayedMessage retrieves details about a delayed message from the database.
+func (n *Notary) GetDelayedMessage(msgID string) (*common.PendingMessage, error) {
+	if len(msgID) < common.MinMsgIdLen {
+		return nil, ErrInvalidMsgID
+	}
+
+	n.mutex.RLock()
+	defer n.mutex.RUnlock()
+
+	result, err := n.database.LoadAll(n.logger)
+	if err != nil {
+		return nil, fmt.Errorf("failed to load from database: %w", err)
+	}
+
+	for _, pendingMsg := range result.Delayed {
+		if pendingMsg.Msg.MessageIDString() == msgID {
+			return pendingMsg, nil
+		}
+	}
+
+	return nil, ErrMsgNotFound
+}
+
+// GetBlackholedMessage retrieves details about a blackholed message from the database.
+func (n *Notary) GetBlackholedMessage(msgID string) (*common.MessagePublication, error) {
+	if len(msgID) < common.MinMsgIdLen {
+		return nil, ErrInvalidMsgID
+	}
+
+	n.mutex.RLock()
+	defer n.mutex.RUnlock()
+
+	result, err := n.database.LoadAll(n.logger)
+	if err != nil {
+		return nil, fmt.Errorf("failed to load from database: %w", err)
+	}
+
+	for _, msgPub := range result.Blackholed {
+		if msgPub.MessageIDString() == msgID {
+			return msgPub, nil
+		}
+	}
+
+	return nil, ErrMsgNotFound
+}
+
+// ListDelayedMessages returns all delayed message IDs from the database.
+func (n *Notary) ListDelayedMessages() ([]string, error) {
+	n.mutex.RLock()
+	defer n.mutex.RUnlock()
+
+	result, err := n.database.LoadAll(n.logger)
+	if err != nil {
+		return nil, fmt.Errorf("failed to load delayed messages from database: %w", err)
+	}
+
+	msgIDs := make([]string, 0, len(result.Delayed))
+	for _, pendingMsg := range result.Delayed {
+		msgIDs = append(msgIDs, pendingMsg.Msg.MessageIDString())
+	}
+
+	return msgIDs, nil
+}
+
+// ListBlackholedMessages returns all blackholed message IDs from the database.
+func (n *Notary) ListBlackholedMessages() ([]string, error) {
+	n.mutex.RLock()
+	defer n.mutex.RUnlock()
+
+	result, err := n.database.LoadAll(n.logger)
+	if err != nil {
+		return nil, fmt.Errorf("failed to load blackholed messages from database: %w", err)
+	}
+
+	msgIDs := make([]string, 0, len(result.Blackholed))
+	for _, msgPub := range result.Blackholed {
+		msgIDs = append(msgIDs, msgPub.MessageIDString())
+	}
+
+	return msgIDs, nil
+}
+
+// createTestMessagePublication creates a unique test message for injection.
+func createTestMessagePublication() *common.MessagePublication {
+	originAddress, _ := vaa.StringToAddress("0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E")
+	targetAddress, _ := vaa.StringToAddress("0x707f9118e33a9b8998bea41dd0d46f38bb963fc8")
+
+	tokenBridge := sdk.KnownTokenbridgeEmitters[vaa.ChainIDEthereum]
+	tokenBridgeAddress := vaa.Address(tokenBridge)
+
+	payload := &vaa.TransferPayloadHdr{
+		Type:          0x01,
+		Amount:        big.NewInt(27000000000),
+		OriginAddress: originAddress,
+		OriginChain:   vaa.ChainIDEthereum,
+		TargetAddress: targetAddress,
+		TargetChain:   vaa.ChainIDPolygon,
+	}
+	payloadBytes := encodePayloadBytes(payload)
+
+	//#nosec G404: this value is only used in devnet mode and only for synthetic data. Cryptographic randomness is not required.
+	sequence := rand.Uint64()
+	msgPub := &common.MessagePublication{
+		TxID:             eth_common.HexToHash("0x06f541f5ecfc43407c31587aa6ac3a689e8960f36dc23c332db5510dfc6a4063").Bytes(),
+		Timestamp:        time.Now(),
+		Nonce:            123456,
+		Sequence:         sequence,
+		EmitterChain:     vaa.ChainIDEthereum,
+		EmitterAddress:   tokenBridgeAddress,
+		Payload:          payloadBytes,
+		ConsistencyLevel: 32,
+		Unreliable:       true,
+		IsReobservation:  true,
+	}
+
+	return msgPub
+}
+
+// encodePayloadBytes encodes a TransferPayloadHdr into bytes. This is a utility function for testing.
+func encodePayloadBytes(payload *vaa.TransferPayloadHdr) []byte {
+	bz := make([]byte, 101)
+	bz[0] = payload.Type
+
+	amtBytes := payload.Amount.Bytes()
+	if len(amtBytes) > 32 {
+		panic("amount will not fit in 32 bytes!")
+	}
+
+	offset := 32 - len(amtBytes)
+	copy(bz[1+offset:33], amtBytes)
+
+	copy(bz[33:], payload.OriginAddress[:])
+	bz[65] = byte(payload.OriginChain)
+
+	copy(bz[66:], payload.TargetAddress[:])
+	bz[98] = byte(payload.TargetChain)
+
+	return bz
+}

+ 178 - 69
node/pkg/notary/notary.go

@@ -38,6 +38,7 @@ import (
 
 	"github.com/certusone/wormhole/node/pkg/common"
 	"github.com/certusone/wormhole/node/pkg/db"
+	"github.com/certusone/wormhole/node/pkg/txverifier"
 	"github.com/wormhole-foundation/wormhole/sdk"
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 
@@ -52,7 +53,7 @@ type (
 const (
 	Unknown Verdict = iota
 	// Approve means a message should be processed normally. All messages that are not Token Transfers
-	// must always be Approve, as the Notary does not support other messasge types.
+	// must always be Approve, as the Notary does not support other message types.
 	Approve
 	// Delay means a message should be temporarily delayed so that it can be manually inspected.
 	Delay
@@ -79,7 +80,9 @@ const (
 	// How long a message should be held in the pending list before being processed.
 	// The value should be long enough to allow for manual review and classification
 	// by the Guardians.
-	DelayFor = time.Hour * 24 * 4
+	DefaultDelay = time.Hour * 24 * 4
+	MaxDelayDays = 30
+	MaxDelay     = time.Hour * 24 * MaxDelayDays
 )
 
 var (
@@ -87,11 +90,12 @@ var (
 	ErrAlreadyBlackholed  = errors.New("notary: message is already blackholed")
 	ErrCannotRelease      = errors.New("notary: could not release message")
 	ErrInvalidMsg         = errors.New("notary: message is invalid")
+	ErrMsgNotFound        = errors.New("notary: message not found")
 )
 
 type (
 	// A set corresponding to message publications. The elements of the set must be the results of
-	// the function [common.MessagePublication.VAAHashUnchecked].
+	// the function [common.MessagePublication.MessageIDString()].
 	msgPubSet struct {
 		elements map[string]struct{}
 	}
@@ -151,37 +155,52 @@ func (n *Notary) ProcessMsg(msg *common.MessagePublication) (v Verdict, err erro
 
 	n.logger.Debug("notary: processing message", msg.ZapFields()...)
 
-	// NOTE: Only token transfers originated on Ethereum are currently considered.
 	// For the initial implementation, the Notary only rules on messages based
 	// on the Transfer Verifier. However, there is no technical barrier to
 	// supporting other message types.
-	if msg.EmitterChain != vaa.ChainIDEthereum {
-		n.logger.Debug("notary: automatically approving message publication because it is not from Ethereum", msg.ZapFields()...)
+	if !txverifier.IsSupported(msg.EmitterChain) {
+		n.logger.Debug("notary: automatically approving message: sent from a chain without a transfer verifier implementation", msg.ZapFields()...)
 		return Approve, nil
 	}
 
 	if !vaa.IsTransfer(msg.Payload) {
-		n.logger.Debug("notary: automatically approving message publication because it is not a token transfer", msg.ZapFields()...)
+		n.logger.Debug("notary: automatically approving message: it is not a wrapped token transfer", msg.ZapFields()...)
 		return Approve, nil
 	}
 
-	if tokenBridge, ok := sdk.KnownTokenbridgeEmitters[msg.EmitterChain]; !ok {
-		// Return Unknown if the token bridge is not registered in the SDK.
-		n.logger.Error("notary: unknown token bridge emitter", msg.ZapFields()...)
-		return Unknown, errors.New("unknown token bridge emitter")
-	} else {
-		// Approve if the token transfer is not from the token bridge.
-		// For now, the notary only rules on token transfers from the token bridge.
-		if !bytes.Equal(msg.EmitterAddress.Bytes(), tokenBridge) {
-			n.logger.Debug("notary: automatically approving message publication because it is not from the token bridge", msg.ZapFields()...)
-			return Approve, nil
+	var tbEmitters = make(map[vaa.ChainID][]byte)
+	switch n.env {
+	case common.MainNet:
+		tbEmitters = sdk.KnownTokenbridgeEmitters
+	case common.TestNet:
+		tbEmitters = sdk.KnownTestnetTokenbridgeEmitters
+	case common.UnsafeDevNet:
+		tbEmitters = sdk.KnownDevnetTokenbridgeEmitters
+	case common.AccountantMock, common.GoTest:
+	default:
+		n.logger.Debug("skipping token bridge emitter check because environment is not mainnet or testnet")
+	}
+
+	// Perform emitter checks when outside of unit tests or mock environments
+	if n.env == common.MainNet || n.env == common.TestNet || n.env == common.UnsafeDevNet {
+		if tokenBridge, ok := tbEmitters[msg.EmitterChain]; !ok {
+			// Return Unknown if the token bridge is not registered in the SDK.
+			n.logger.Error("notary: unknown token bridge emitter", msg.ZapFields()...)
+			return Unknown, errors.New("unknown token bridge emitter")
+		} else {
+			// Approve if the token transfer is not from the token bridge.
+			// For now, the notary only rules on token transfers from the token bridge.
+			if !bytes.Equal(msg.EmitterAddress.Bytes(), tokenBridge) {
+				n.logger.Debug("notary: automatically approving message publication because it is not from the token bridge", msg.ZapFields()...)
+				return Approve, nil
+			}
 		}
 	}
 
 	// Return early if the message has already been blackholed. This is important in case a message
 	// is reobserved or otherwise processed here more than once. An Anomalous message that becomes
 	// delayed and later blackholed should not be able to be re-added to the Delayed queue.
-	if n.IsBlackholed(msg) {
+	if n.IsBlackholed(msg.MessageID()) {
 		n.logger.Warn("notary: got message publication that is already blackholed",
 			msg.ZapFields(zap.String("verdict", Blackhole.String()))...,
 		)
@@ -189,12 +208,12 @@ func (n *Notary) ProcessMsg(msg *common.MessagePublication) (v Verdict, err erro
 	}
 
 	switch msg.VerificationState() {
-	case common.Anomalous:
-		err = n.delay(msg, DelayFor)
+	// Both Anomalous and Rejected messages are delayed. In the future, we could consider blackholing
+	// rejected messages, but for now, we are choosing the cautious approach of delaying VAA production
+	// rather than rejecting them permanently.
+	case common.Anomalous, common.Rejected:
+		err = n.delay(msg, DefaultDelay)
 		v = Delay
-	case common.Rejected:
-		err = n.blackhole(msg)
-		v = Blackhole
 	case common.Valid:
 		v = Approve
 	case common.CouldNotVerify, common.NotVerified, common.NotApplicable:
@@ -246,16 +265,20 @@ func (n *Notary) ReleaseReadyMessages() []*common.MessagePublication {
 
 		// Update database. Do this before adding the message to the ready list so that we don't
 		// accidentally add the same message twice if deleting the message from the database fails.
-		err := n.database.DeleteDelayed(pMsg)
+		deletedPendingMsg, err := n.database.DeleteDelayed(pMsg.Msg.MessageID())
 		if err != nil {
 			n.logger.Error("delete pending message from notary database", pMsg.Msg.ZapFields(zap.Error(err))...)
 			continue
 		}
 
+		if deletedPendingMsg == nil {
+			n.logger.Warn("notary: delete pending message from notary database: deleted value was nil")
+		}
+
 		// If the message is in the delayed queue, it should not be in the blackholed queue.
 		// This is a sanity check to ensure that the blackholed queue is not published,
 		// but it should never happen.
-		if n.IsBlackholed(&pMsg.Msg) {
+		if n.IsBlackholed(pMsg.Msg.MessageID()) {
 			n.logger.Error("notary: got blackholed message in delayed queue", pMsg.Msg.ZapFields()...)
 			continue
 		}
@@ -286,7 +309,7 @@ func (n *Notary) delay(msg *common.MessagePublication, dur time.Duration) error
 	defer n.mutex.Unlock()
 
 	// Ensure that the message can't be added to the delayed list or database if it's already blackholed.
-	if n.blackholed.Contains(msg.VAAHash()) {
+	if n.blackholed.Contains(msg.MessageID()) {
 		return ErrAlreadyBlackholed
 	}
 
@@ -322,10 +345,30 @@ func (n *Notary) blackhole(msg *common.MessagePublication) error {
 	if msg == nil {
 		return ErrInvalidMsg
 	}
+
+	// Check if the message is already in the delayed list. If so, remove it, before
+	// adding it to the blackholed list.
+
+	// The fetch call isn't strictly necessary, but it makes the code easier to reason
+	// about given that removeDelayed can return nil even if an error does not occur.
+	if n.delayed.FetchMessagePublication(msg.MessageID()) != nil {
+		removedPendingMsg, err := n.removeDelayed(msg.MessageID())
+		if err != nil {
+			return err
+		}
+
+		// Shouldn't happen, but checked for completeness.
+		if removedPendingMsg == nil {
+			return errors.New("notary: removeDelayed returned nil for removedPendingMsg")
+		}
+	}
+
+	// Now blackhole the message
 	n.mutex.Lock()
+	defer n.mutex.Unlock()
 
 	// Store in in-memory slice. This should happen even if a database error occurs.
-	n.blackholed.Add(msg.VAAHash())
+	n.blackholed.Add(msg.MessageID())
 
 	// Store in database.
 	dbErr := n.database.StoreBlackholed(msg)
@@ -335,14 +378,6 @@ func (n *Notary) blackhole(msg *common.MessagePublication) error {
 		n.mutex.Unlock()
 		return dbErr
 	}
-	// Unlock mutex before calling removeDelayed, which also acquires the mutex.
-	n.mutex.Unlock()
-
-	// When a message is blackholed, it should be removed from the delayed list and database.
-	err := n.removeDelayed(msg)
-	if err != nil {
-		return err
-	}
 
 	n.logger.Info("notary: blackholed message", msg.ZapFields()...)
 
@@ -355,74 +390,147 @@ func (n *Notary) forget(msg *common.MessagePublication) error {
 		return ErrInvalidMsg
 	}
 
-	// Both of the following methods lock and unlock the mutex.
-
-	err := n.removeDelayed(msg)
+	removedPendingMsg, err := n.removeDelayed(msg.MessageID())
 	if err != nil {
 		return err
 	}
 
-	err = n.removeBlackholed(msg)
+	removedMsgPub, err := n.removeBlackholed(msg.MessageID())
 	if err != nil {
 		return err
 	}
 
+	if removedPendingMsg == nil && removedMsgPub == nil {
+		n.logger.Info("notary: call to forget did not result in any changes", msg.ZapFields()...)
+	}
+
 	return nil
 }
 
 // IsBlackholed returns true if the message is in the blackholed list.
-func (n *Notary) IsBlackholed(msg *common.MessagePublication) bool {
+func (n *Notary) IsBlackholed(msgID []byte) bool {
 	n.mutex.RLock()
 	defer n.mutex.RUnlock()
-	return n.blackholed.Contains(msg.VAAHash())
+	return n.blackholed.Contains(msgID)
 }
 
 // removeBlackholed removes a message from the blackholed list and database.
+// Returns the message that was removed or nil if an error occurred.
 // Acquires the mutex and unlocks when complete.
-func (n *Notary) removeBlackholed(msg *common.MessagePublication) error {
+func (n *Notary) removeBlackholed(msgID []byte) (*common.MessagePublication, error) {
+	if len(msgID) == 0 {
+		return nil, ErrInvalidMsg
+	}
 	n.mutex.Lock()
 	defer n.mutex.Unlock()
-	if msg == nil {
-		return ErrInvalidMsg
-	}
 
-	n.blackholed.Remove(msg.VAAHash())
+	currLen := n.blackholed.Len()
+	n.blackholed.Remove(msgID)
+	removeOccurred := n.blackholed.Len() < currLen
 
-	err := n.database.DeleteBlackholed(msg)
+	// Log if the message was not removed, then continue to try to delete it from the database
+	// for consistency.
+	if !removeOccurred {
+		n.logger.Info("notary: call to removeBlackholed did not remove a message", zap.String("msgID", string(msgID)))
+	} else {
+		n.logger.Info("notary: removed blackholed message from in-memory set", zap.String("msgID", string(msgID)))
+	}
+
+	deletedMsgPub, err := n.database.DeleteBlackholed(msgID)
 	if err != nil {
-		return err
+		return nil, err
 	}
 
-	n.logger.Info("notary: removed blackholed message", msg.ZapFields()...)
+	// No-op if the message is not in the database.
+	if deletedMsgPub == nil {
+		return nil, nil
+	} else {
+		n.logger.Info("notary: removed blackholed message from database", deletedMsgPub.ZapFields()...)
+	}
 
-	return nil
+	return deletedMsgPub, nil
 }
 
 func (n *Notary) IsDelayed(msg *common.MessagePublication) bool {
 	// The notary's mutex is not used here because the pending message queue
 	// uses its own read mutex for this method.
-	return n.delayed.ContainsMessagePublication(msg)
+	return n.delayed.FetchMessagePublication(msg.MessageID()) != nil
+}
+
+// release sets the duration of an existing delayed message to zero so that it will be published on the next cycle.
+func (n *Notary) release(msgID []byte) error {
+	if len(msgID) == 0 {
+		return ErrInvalidMsg
+	}
+	return n.setDuration(msgID, time.Duration(0))
+}
+
+// setDuration sets the duration of an existing delayed message to a new value.
+func (n *Notary) setDuration(msgID []byte, duration time.Duration) error {
+	if len(msgID) == 0 {
+		return ErrInvalidMsg
+	}
+
+	// The notary's mutex is not used here because the pending message queue
+	// uses its own read mutex for this method.
+	msgPub := n.delayed.FetchMessagePublication(msgID)
+
+	if msgPub == nil {
+		return ErrMsgNotFound
+	}
+
+	// Remove existing message from the delayed list and database.
+	deletedPendingMsg, removeErr := n.removeDelayed(msgID)
+	if removeErr != nil {
+		return removeErr
+	}
+
+	// Shouldn't happen, but log it for completeness.
+	if deletedPendingMsg == nil {
+		n.logger.Warn("notary: no pending message was removed during call to setDuration")
+	}
+
+	// Add the message back to the delayed list and database with the new duration.
+	delayErr := n.delay(msgPub, duration)
+	if delayErr != nil {
+		return delayErr
+	}
+
+	n.logger.Info("notary: duration set for message", msgPub.ZapFields()...)
+	return nil
 }
 
 // removeDelayed removes a message from the delayed list and database.
-func (n *Notary) removeDelayed(msg *common.MessagePublication) error {
+// This is a convenience function and should be equivalent to calling
+// RemoveItem and DeleteDelayed separately for the same message ID.
+//
+// Returns the removed message.
+// Returns nil on error or if the message was not found.
+func (n *Notary) removeDelayed(msgID []byte) (*common.PendingMessage, error) {
+	if len(msgID) == 0 {
+		return nil, ErrInvalidMsg
+	}
+
 	n.mutex.Lock()
 	defer n.mutex.Unlock()
-	if msg == nil {
-		return ErrInvalidMsg
+
+	removed, err := n.delayed.RemoveItem(msgID)
+	if err != nil {
+		return nil, err
 	}
-	removed, err := n.delayed.RemoveItem(msg)
+
+	deletedPendingMsg, err := n.database.DeleteDelayed(msgID)
 	if err != nil {
-		return err
+		return nil, err
 	}
 
-	if removed != nil {
-		err := n.database.DeleteDelayed(removed)
-		if err != nil {
-			return err
-		}
+	// no-op if the message is in neither the delayed list nor the database,
+	// and no errors occurred.
+	if removed == nil && deletedPendingMsg == nil {
+		return nil, nil
 	}
-	return nil
+
+	return removed, nil
 }
 
 // loadFromDB reads all the database entries.
@@ -469,7 +577,7 @@ func (n *Notary) loadFromDB(logger *zap.Logger) error {
 
 	if len(result.Blackholed) > 0 {
 		for result := range slices.Values(result.Blackholed) {
-			blackholed.Add(result.VAAHash())
+			blackholed.Add(result.MessageID())
 		}
 	}
 
@@ -486,6 +594,7 @@ func (n *Notary) loadFromDB(logger *zap.Logger) error {
 
 // NewSet creates and initializes a new Set
 func NewSet() *msgPubSet {
+	// Keys are the message IDs, which are strings as []byte is not a valid type for a map key.
 	return &msgPubSet{
 		elements: make(map[string]struct{}),
 	}
@@ -496,26 +605,26 @@ func (s *msgPubSet) Len() int {
 }
 
 // Add adds an element to the set
-func (s *msgPubSet) Add(element string) {
+func (s *msgPubSet) Add(element []byte) {
 	if s == nil {
 		return // Protect against nil receiver
 	}
-	s.elements[element] = struct{}{}
+	s.elements[string(element)] = struct{}{}
 }
 
 // Contains checks if an element is in the set
-func (s *msgPubSet) Contains(element string) bool {
+func (s *msgPubSet) Contains(element []byte) bool {
 	if s == nil {
 		return false // Protect against nil receiver
 	}
-	_, exists := s.elements[element]
+	_, exists := s.elements[string(element)]
 	return exists
 }
 
 // Remove removes an element from the set
-func (s *msgPubSet) Remove(element string) {
+func (s *msgPubSet) Remove(element []byte) {
 	if s == nil {
 		return // Protect against nil receiver
 	}
-	delete(s.elements, element)
+	delete(s.elements, string(element))
 }

+ 115 - 34
node/pkg/notary/notary_test.go

@@ -2,7 +2,6 @@ package notary
 
 import (
 	"context"
-	"encoding/binary"
 	"fmt"
 	"math/big"
 	"math/rand/v2"
@@ -21,13 +20,19 @@ import (
 	eth_common "github.com/ethereum/go-ethereum/common"
 )
 
+// MockNotaryDB is a mock implementation of the NotaryDB interface.
+// It returns nil for all operations, so it can be used to test the Notary's
+// core logic but certain DB-related operations are not covered.
+// Where possible, these should be tested in the Notary database's own unit tests, not here.
 type MockNotaryDB struct{}
 
-func (md MockNotaryDB) StoreBlackholed(m *common.MessagePublication) error  { return nil }
-func (md MockNotaryDB) StoreDelayed(p *common.PendingMessage) error         { return nil }
-func (md MockNotaryDB) DeleteBlackholed(m *common.MessagePublication) error { return nil }
-func (md MockNotaryDB) DeleteDelayed(p *common.PendingMessage) error        { return nil }
-func (md MockNotaryDB) LoadAll(l *zap.Logger) (*db.NotaryLoadResult, error) { return nil, nil }
+func (md MockNotaryDB) StoreBlackholed(m *common.MessagePublication) error { return nil }
+func (md MockNotaryDB) StoreDelayed(p *common.PendingMessage) error        { return nil }
+func (md MockNotaryDB) DeleteBlackholed(msgID []byte) (*common.MessagePublication, error) {
+	return nil, nil
+}
+func (md MockNotaryDB) DeleteDelayed(msgID []byte) (*common.PendingMessage, error) { return nil, nil }
+func (md MockNotaryDB) LoadAll(l *zap.Logger) (*db.NotaryLoadResult, error)        { return nil, nil }
 
 func makeTestNotary(t *testing.T) *Notary {
 	t.Helper()
@@ -43,6 +48,57 @@ func makeTestNotary(t *testing.T) *Notary {
 	}
 }
 
+// TestNotary_AlwaysApproveNonTransferVerifierEmitters tests that all messages are approve if the emitter chain does not have a transfer verifier.
+// This test can be removed if the Notary is extended to support other chains.
+func TestNotary_AlwaysApproveNonTransferVerifierEmitters(t *testing.T) {
+	// NOTE: Solana does not have a transfer verifier implementation
+	tests := map[string]struct {
+		verificationState common.VerificationState
+		emitterChain      vaa.ChainID
+		verdict           Verdict
+	}{
+		"approve non-transfer verifier when Rejected": {
+			common.Rejected,
+			vaa.ChainIDSolana,
+			Approve,
+		},
+		"approve non-transfer verifier when Anomalous": {
+			common.Anomalous,
+			vaa.ChainIDSolana,
+			Approve,
+		},
+		"delay non-Ethereum messages for chain with transfer verifier when Rejected": {
+			common.Rejected,
+			vaa.ChainIDSepolia,
+			Delay,
+		},
+	}
+
+	for name, test := range tests {
+		t.Run(name, func(t *testing.T) {
+			n := makeTestNotary(t)
+			msg := makeUniqueMessagePublication(t)
+
+			// Set the emitter address to the known token bridge address for the environment.
+			msg.EmitterChain = test.emitterChain
+
+			err := msg.SetVerificationState(test.verificationState)
+			require.NoError(t, err)
+
+			require.True(t, vaa.IsTransfer(msg.Payload))
+
+			verdict, err := n.ProcessMsg(msg)
+			require.NoError(t, err)
+			require.Equal(
+				t,
+				test.verdict,
+				verdict,
+				fmt.Sprintf("verificationState=%s verdict=%s", msg.VerificationState().String(), verdict.String()),
+			)
+		})
+	}
+}
+
 func TestNotary_ProcessMessageCorrectVerdict(t *testing.T) {
 
 	// NOTE: This test should be exhaustive over VerificationState variants.
@@ -66,9 +122,10 @@ func TestNotary_ProcessMessageCorrectVerdict(t *testing.T) {
 			common.CouldNotVerify,
 			Approve,
 		},
-		"blackhole rejected": {
+		// Blackhole verdict is not being used for Rejected messages in the initial implementation
+		"delay rejected": {
 			common.Rejected,
-			Blackhole,
+			Delay,
 		},
 		"delay anomalous": {
 			common.Anomalous,
@@ -134,11 +191,13 @@ func TestNotary_ProcessMsgUpdatesCollections(t *testing.T) {
 				blackholed: 0,
 			},
 		},
-		"Rejected gets blackholed": {
+
+		// Blackhole verdict is not being used for Rejected messages in the initial implementation
+		"Rejected gets delayed": {
 			common.Rejected,
 			expectedSizes{
-				delayed:    0,
-				blackholed: 1,
+				delayed:    1,
+				blackholed: 0,
 			},
 		},
 	}
@@ -338,13 +397,13 @@ func TestNotary_Forget(t *testing.T) {
 			require.Equal(t, 0, n.blackholed.Len())
 
 			// Modify the set manually because calling the blackhole function will remove the message from the delayed list.
-			n.blackholed.Add(tt.msg.VAAHash())
+			n.blackholed.Add(tt.msg.MessageID())
 
 			require.Equal(t, 1, n.delayed.Len())
 			require.Equal(t, 1, n.blackholed.Len())
 
-			err = n.forget(tt.msg)
-			require.NoError(t, err)
+			forgetErr := n.forget(tt.msg)
+			require.NoError(t, forgetErr)
 
 			require.Equal(t, tt.expectedDelayCount, n.delayed.Len())
 			require.Equal(t, tt.expectedBlackholed, n.blackholed.Len())
@@ -382,8 +441,8 @@ func TestNotary_BlackholeRemovesFromDelayedList(t *testing.T) {
 			require.Equal(t, 1, n.delayed.Len())
 			require.Equal(t, 0, n.blackholed.Len())
 
-			err = n.blackhole(tt.msg)
-			require.NoError(t, err)
+			blackholeErr := n.blackhole(tt.msg)
+			require.NoError(t, blackholeErr)
 
 			require.Equal(t, 0, n.delayed.Len())
 			require.Equal(t, 1, n.blackholed.Len())
@@ -426,6 +485,45 @@ func TestNotary_DelayFailsIfMessageAlreadyBlackholed(t *testing.T) {
 	}
 }
 
+func TestNotary_releaseChangesReleaseTime(t *testing.T) {
+	tests := []struct { // description of this test case
+		name                string
+		msg                 *common.MessagePublication
+		expectedReleaseTime time.Time
+	}{
+		{
+			"release changes release time",
+			makeUniqueMessagePublication(t),
+			time.Now().Add(time.Hour),
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			// Set-up
+			n := makeTestNotary(t)
+			n.delayed = common.NewPendingMessageQueue()
+			n.blackholed = NewSet()
+
+			require.Equal(t, 0, n.delayed.Len())
+
+			// Delay a message; ensure no messages are ready
+			delayErr := n.delay(tt.msg, time.Hour)
+			require.NoError(t, delayErr)
+			require.Equal(t, 1, n.delayed.Len())
+			require.Empty(t, n.ReleaseReadyMessages())
+			require.Equal(t, 1, n.delayed.Len())
+
+			// Release the message
+			releaseErr := n.release(tt.msg.MessageID())
+			require.NoError(t, releaseErr)
+
+			// Check that a new message is ready
+			require.Len(t, n.ReleaseReadyMessages(), 1)
+			require.Equal(t, 0, n.delayed.Len())
+		})
+	}
+}
+
 // Helper function that returns a valid PendingMessage. It creates identical messages publications
 // with different sequence numbers.
 func makeUniqueMessagePublication(t *testing.T) *common.MessagePublication {
@@ -438,7 +536,7 @@ func makeUniqueMessagePublication(t *testing.T) *common.MessagePublication {
 	require.NoError(t, err)
 
 	// Required as the Notary checks the emitter address.
-	tokenBridge := sdk.KnownTokenbridgeEmitters[vaa.ChainIDEthereum]
+	tokenBridge := sdk.KnownDevnetTokenbridgeEmitters[vaa.ChainIDEthereum]
 	tokenBridgeAddress := vaa.Address(tokenBridge)
 	require.NoError(t, err)
 
@@ -470,20 +568,3 @@ func makeUniqueMessagePublication(t *testing.T) *common.MessagePublication {
 
 	return msgpub
 }
-
-func encodePayloadBytes(payload *vaa.TransferPayloadHdr) []byte {
-	bz := make([]byte, 101)
-	bz[0] = payload.Type
-
-	amtBytes := payload.Amount.Bytes()
-	if len(amtBytes) > 32 {
-		panic("amount will not fit in 32 bytes!")
-	}
-	copy(bz[33-len(amtBytes):33], amtBytes)
-
-	copy(bz[33:65], payload.OriginAddress.Bytes())
-	binary.BigEndian.PutUint16(bz[65:67], uint16(payload.OriginChain))
-	copy(bz[67:99], payload.TargetAddress.Bytes())
-	binary.BigEndian.PutUint16(bz[99:101], uint16(payload.TargetChain))
-	return bz
-}

+ 2 - 0
node/pkg/p2p/p2p.go

@@ -535,6 +535,8 @@ func Run(params *RunParams) func(ctx context.Context) error {
 							for _, v := range DefaultRegistry.networkStats {
 								errCtr := DefaultRegistry.GetErrorCount(vaa.ChainID(v.Id)) // #nosec G115 -- This is safe as chain id is constrained in SetNetworkStats
 								v.ErrorCount = errCtr
+								lastVaaTs := DefaultRegistry.GetLastObservationSignedAtTimestamp(vaa.ChainID(v.Id)) // #nosec G115 -- This is safe as chain id is constrained in SetNetworkStats
+								v.LastObservationSignedAt = lastVaaTs
 								networks = append(networks, v)
 							}
 

+ 25 - 2
node/pkg/p2p/registry.go

@@ -18,12 +18,17 @@ type registry struct {
 	// Per-chain error counters
 	errorCounters  map[vaa.ChainID]uint64
 	errorCounterMu sync.Mutex
+
+	// Per-chain last VAA timestamp (Unix nanoseconds)
+	lastObservationSignedAt   map[vaa.ChainID]int64
+	lastObservationSignedAtMu sync.RWMutex
 }
 
 func NewRegistry() *registry {
 	return &registry{
-		networkStats:  map[vaa.ChainID]*gossipv1.Heartbeat_Network{},
-		errorCounters: map[vaa.ChainID]uint64{},
+		networkStats:            map[vaa.ChainID]*gossipv1.Heartbeat_Network{},
+		errorCounters:           map[vaa.ChainID]uint64{},
+		lastObservationSignedAt: map[vaa.ChainID]int64{},
 	}
 }
 
@@ -51,3 +56,21 @@ func (r *registry) GetErrorCount(chain vaa.ChainID) uint64 {
 	defer r.errorCounterMu.Unlock()
 	return r.errorCounters[chain]
 }
+
+// SetLastObservationSignedAtTimestamp sets the timestamp (Unix nanoseconds) of the last time an observation was signed for a chain.
+func (r *registry) SetLastObservationSignedAtTimestamp(chain vaa.ChainID, timestamp int64) {
+	r.lastObservationSignedAtMu.Lock()
+	defer r.lastObservationSignedAtMu.Unlock()
+	if existing, ok := r.lastObservationSignedAt[chain]; ok && existing >= timestamp {
+		return
+	}
+	r.lastObservationSignedAt[chain] = timestamp
+}
+
+// GetLastObservationSignedAtTimestamp returns the timestamp (Unix nanoseconds) of the last time an observation was signed for a chain.
+// Returns 0 if no observation has been signed yet for this chain.
+func (r *registry) GetLastObservationSignedAtTimestamp(chain vaa.ChainID) int64 {
+	r.lastObservationSignedAtMu.RLock()
+	defer r.lastObservationSignedAtMu.RUnlock()
+	return r.lastObservationSignedAt[chain]
+}

+ 74 - 0
node/pkg/p2p/registry_test.go

@@ -53,3 +53,77 @@ func TestGetErrorCount(t *testing.T) {
 	assert.Equal(t, uint64(1), registry.GetErrorCount(vaa.ChainIDEthereum))
 	assert.Equal(t, uint64(0), registry.GetErrorCount(vaa.ChainIDSolana))
 }
+
+func TestSetLastVaaTimestamp(t *testing.T) {
+	registry := NewRegistry()
+
+	// Test setting timestamp for a chain (Unix nanoseconds, like time.Now().UnixNano())
+	timestamp := int64(1234567890123456789)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, timestamp)
+
+	// Verify the timestamp was set
+	assert.Equal(t, timestamp, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// Verify other chains still have zero timestamp
+	assert.Equal(t, int64(0), registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDSolana))
+}
+
+func TestGetLastVaaTimestamp(t *testing.T) {
+	registry := NewRegistry()
+
+	// Test that unset chains return zero
+	assert.Equal(t, int64(0), registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+	assert.Equal(t, int64(0), registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDSolana))
+
+	// Set timestamp for Ethereum
+	timestamp1 := int64(1234567890123456789)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, timestamp1)
+	assert.Equal(t, timestamp1, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// Set timestamp for Solana
+	timestamp2 := int64(1987654321098765432)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDSolana, timestamp2)
+	assert.Equal(t, timestamp2, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDSolana))
+
+	// Ethereum timestamp should remain unchanged
+	assert.Equal(t, timestamp1, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+}
+
+func TestUpdateLastVaaTimestamp(t *testing.T) {
+	registry := NewRegistry()
+
+	// Set initial timestamp
+	timestamp1 := int64(1000000000000000000)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, timestamp1)
+	assert.Equal(t, timestamp1, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// Update to a newer timestamp
+	timestamp2 := int64(2000000000000000000)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, timestamp2)
+	assert.Equal(t, timestamp2, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+}
+
+func TestSetLastObservationSignedAtTimestampRejectsOlderTimestamp(t *testing.T) {
+	registry := NewRegistry()
+
+	// Set initial timestamp
+	newerTimestamp := int64(2000000000000000000)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, newerTimestamp)
+	assert.Equal(t, newerTimestamp, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// Try to set an older timestamp - should be rejected
+	olderTimestamp := int64(1000000000000000000)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, olderTimestamp)
+
+	// Timestamp should remain unchanged (not updated to older value)
+	assert.Equal(t, newerTimestamp, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// Try to set the same timestamp - should be rejected (not less than, >= check)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, newerTimestamp)
+	assert.Equal(t, newerTimestamp, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+
+	// But setting a newer timestamp should work
+	evenNewerTimestamp := int64(3000000000000000000)
+	registry.SetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum, evenNewerTimestamp)
+	assert.Equal(t, evenNewerTimestamp, registry.GetLastObservationSignedAtTimestamp(vaa.ChainIDEthereum))
+}

+ 11 - 0
node/pkg/processor/message.go

@@ -15,6 +15,7 @@ import (
 	"go.uber.org/zap/zapcore"
 
 	"github.com/certusone/wormhole/node/pkg/common"
+	"github.com/certusone/wormhole/node/pkg/p2p"
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 )
 
@@ -99,6 +100,9 @@ func (p *Processor) handleMessage(ctx context.Context, k *common.MessagePublicat
 	observationsReceivedTotal.Inc()
 	observationsReceivedByGuardianAddressTotal.WithLabelValues(p.ourAddr.Hex()).Inc()
 
+	// Update the last VAA timestamp for this chain in the registry.
+	p.pegLastObservationSignedAtTime(k.EmitterChain)
+
 	// Get / create our state entry.
 	s := p.state.signatures[hash]
 	if s == nil {
@@ -128,3 +132,10 @@ func (p *Processor) handleMessage(ctx context.Context, k *common.MessagePublicat
 		timeToHandleObservation.Observe(float64(time.Since(start).Microseconds()))
 	}
 }
+
+// pegLastObservationSignedAtTime updates the registry with the current wall clock timestamp of the last signed observation for a chain.
+func (p *Processor) pegLastObservationSignedAtTime(chain vaa.ChainID) {
+	// Get current time as Unix nanoseconds.
+	timestamp := time.Now()
+	p2p.DefaultRegistry.SetLastObservationSignedAtTimestamp(chain, timestamp.UnixNano())
+}

+ 164 - 151
node/pkg/proto/gossip/v1/gossip.pb.go

@@ -1118,6 +1118,8 @@ type Heartbeat_Network struct {
 	SafeHeight int64 `protobuf:"varint,5,opt,name=safe_height,json=safeHeight,proto3" json:"safe_height,omitempty"`
 	// Finalized block height of the node, if supported.
 	FinalizedHeight int64 `protobuf:"varint,6,opt,name=finalized_height,json=finalizedHeight,proto3" json:"finalized_height,omitempty"`
+	// UNIX timestamp of the last time a VAA was observed for this chain.
+	LastObservationSignedAt int64 `protobuf:"varint,7,opt,name=last_observation_signed_at,json=lastObservationSignedAt,proto3" json:"last_observation_signed_at,omitempty"`
 }
 
 func (x *Heartbeat_Network) Reset() {
@@ -1194,6 +1196,13 @@ func (x *Heartbeat_Network) GetFinalizedHeight() int64 {
 	return 0
 }
 
+func (x *Heartbeat_Network) GetLastObservationSignedAt() int64 {
+	if x != nil {
+		return x.LastObservationSignedAt
+	}
+	return 0
+}
+
 type ChainGovernorConfig_Chain struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1601,7 +1610,7 @@ var file_gossip_v1_gossip_proto_rawDesc = []byte{
 	0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23,
 	0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18,
 	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41,
-	0x64, 0x64, 0x72, 0x22, 0x88, 0x04, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
+	0x64, 0x64, 0x72, 0x22, 0xc5, 0x04, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
 	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
 	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18,
 	0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
@@ -1621,7 +1630,7 @@ var file_gossip_v1_gossip_proto_rawDesc = []byte{
 	0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
 	0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x32, 0x70, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69,
 	0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x32, 0x70, 0x4e, 0x6f, 0x64, 0x65,
-	0x49, 0x64, 0x1a, 0xc9, 0x01, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x0e,
+	0x49, 0x64, 0x1a, 0x86, 0x02, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x0e,
 	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
 	0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
 	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,
@@ -1633,157 +1642,161 @@ var file_gossip_v1_gossip_proto_rawDesc = []byte{
 	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x48, 0x65, 0x69,
 	0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
 	0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x66,
-	0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x27,
-	0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x57, 0x69, 0x74, 0x68, 0x51,
-	0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e,
-	0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0c, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
-	0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
-	0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f,
-	0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72,
-	0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x66, 0x0a, 0x12, 0x4f, 0x62, 0x73, 0x65,
-	0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
-	0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
-	0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f,
-	0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61,
-	0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
-	0x22, 0x76, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47,
-	0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a,
-	0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
-	0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
-	0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f,
-	0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72,
-	0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x81, 0x04, 0x0a, 0x13, 0x43, 0x68, 0x61,
+	0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b,
+	0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x22, 0x27, 0x0a, 0x13, 0x53,
+	0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x72,
+	0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
+	0x03, 0x76, 0x61, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f,
+	0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12,
+	0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
+	0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64,
+	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61,
+	0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x66, 0x0a, 0x12, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
+	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63,
+	0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63,
+	0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73,
+	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12,
+	0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x76, 0x0a,
+	0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65,
+	0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
+	0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64,
+	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61,
+	0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x81, 0x04, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47,
+	0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a,
+	0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x75,
+	0x6e, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+	0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+	0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+	0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73,
+	0x12, 0x3c, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61,
 	0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
-	0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
-	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
-	0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
-	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18,
-	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76,
-	0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61,
-	0x69, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e,
-	0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
-	0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c,
-	0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
-	0x66, 0x6c, 0x6f, 0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
-	0x64, 0x1a, 0x7b, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68,
-	0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68,
-	0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61,
-	0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e,
-	0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x14,
-	0x62, 0x69, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
-	0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x62, 0x69, 0x67, 0x54,
-	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6c,
-	0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69,
-	0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
-	0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
-	0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
-	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41,
-	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x19,
-	0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72,
-	0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
-	0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
-	0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
-	0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e,
-	0x41, 0x64, 0x64, 0x72, 0x22, 0xdb, 0x06, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f,
-	0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09,
-	0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75,
-	0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e,
-	0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
-	0x70, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
-	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68,
-	0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
-	0x73, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x1a,
-	0x8c, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x12,
-	0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72,
-	0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25,
-	0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
-	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x1a, 0xb3,
-	0x01, 0x0a, 0x07, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d,
-	0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72,
-	0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x71,
-	0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
-	0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56,
-	0x61, 0x61, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f,
-	0x76, 0x61, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x73,
+	0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2e,
+	0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x65, 0x6e,
+	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x66, 0x6c, 0x6f,
+	0x77, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x7b,
+	0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
+	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
+	0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c,
+	0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x69, 0x67,
+	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a,
+	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x62, 0x69, 0x67, 0x54, 0x72, 0x61, 0x6e,
+	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6c, 0x0a, 0x05, 0x54,
+	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x63,
+	0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f,
+	0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e,
+	0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72,
+	0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x19, 0x53, 0x69, 0x67,
+	0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72,
+	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c,
+	0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+	0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64,
+	0x72, 0x22, 0xdb, 0x06, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72,
+	0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64,
+	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f,
+	0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65,
+	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72,
+	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c,
+	0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
+	0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e,
+	0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43,
+	0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x8c, 0x01, 0x0a,
+	0x0b, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x12, 0x1a, 0x0a, 0x08,
+	0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
+	0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65,
+	0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+	0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e,
+	0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c,
+	0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x1a, 0xb3, 0x01, 0x0a, 0x07,
+	0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x74,
+	0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
+	0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75,
+	0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74,
+	0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x61, 0x61, 0x73,
+	0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61,
+	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70,
+	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f,
+	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64,
+	0x56, 0x41, 0x41, 0x52, 0x0c, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x61, 0x61,
+	0x73, 0x1a, 0xeb, 0x02, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63,
+	0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63,
+	0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+	0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x72, 0x65,
+	0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
+	0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x08, 0x65, 0x6d, 0x69, 0x74,
+	0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x73,
 	0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65,
-	0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65,
-	0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x52, 0x0c, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64,
-	0x56, 0x61, 0x61, 0x73, 0x1a, 0xeb, 0x02, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19,
-	0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
-	0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x72, 0x65, 0x6d,
-	0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
-	0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
-	0x1a, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
-	0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x08, 0x65,
-	0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
-	0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47,
-	0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x45, 0x6d,
-	0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x08, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x73, 0x12,
-	0x3c, 0x0a, 0x1b, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x6e, 0x65, 0x74, 0x5f,
-	0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x78, 0x4e, 0x65, 0x74,
-	0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a,
-	0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69,
-	0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75,
-	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1c, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x78,
-	0x4f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
-	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61,
-	0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61,
-	0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x66, 0x6c, 0x6f, 0x77, 0x43,
-	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c,
-	0x75, 0x65, 0x22, 0x57, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72,
-	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72,
-	0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a,
-	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
-	0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x53,
-	0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
-	0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72,
-	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67,
-	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69,
-	0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x68, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x65,
-	0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63,
-	0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
-	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
-	0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x73, 0x22, 0x77, 0x0a, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
-	0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
-	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
-	0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d,
-	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69,
-	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x75, 0x73, 0x6f,
-	0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64, 0x65,
-	0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69,
-	0x70, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x76, 0x31, 0x62, 0x06, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x74,
+	0x65, 0x72, 0x52, 0x08, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x1b,
+	0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x17, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x78, 0x4e, 0x65, 0x74, 0x4e, 0x6f, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x73, 0x6d,
+	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f,
+	0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05,
+	0x20, 0x01, 0x28, 0x04, 0x52, 0x1c, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x78, 0x4f, 0x75, 0x74,
+	0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c,
+	0x75, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65,
+	0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x61, 0x6e, 0x63,
+	0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22,
+	0x57, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x71, 0x75,
+	0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69,
+	0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73,
+	0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e,
+	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+	0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
+	0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
+	0x74, 0x75, 0x72, 0x65, 0x22, 0x68, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62,
+	0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12,
+	0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x61, 0x64,
+	0x64, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69,
+	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x77,
+	0x0a, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
+	0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73,
+	0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
+	0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
+	0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75,
+	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x75, 0x73, 0x6f, 0x6e, 0x65, 0x2f,
+	0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x70, 0x6b,
+	0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2f, 0x76,
+	0x31, 0x3b, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x33,
 }
 
 var (

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 994 - 0
node/pkg/proto/node/v1/node.pb.go


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 824 - 54
node/pkg/proto/node/v1/node.pb.gw.go


+ 380 - 0
node/pkg/proto/node/v1/node_grpc.pb.go

@@ -46,6 +46,26 @@ type NodePrivilegedServiceClient interface {
 	ChainGovernorReleasePendingVAA(ctx context.Context, in *ChainGovernorReleasePendingVAARequest, opts ...grpc.CallOption) (*ChainGovernorReleasePendingVAAResponse, error)
 	// ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum.
 	ChainGovernorResetReleaseTimer(ctx context.Context, in *ChainGovernorResetReleaseTimerRequest, opts ...grpc.CallOption) (*ChainGovernorResetReleaseTimerResponse, error)
+	// NotaryBlackholeDelayedMessage blacklists a VAA from the notary pending list.
+	NotaryBlackholeDelayedMessage(ctx context.Context, in *NotaryBlackholeDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryBlackholeDelayedMessageResponse, error)
+	// NotaryReleaseDelayedMessage releases a VAA from the notary pending list, publishing it immediately.
+	NotaryReleaseDelayedMessage(ctx context.Context, in *NotaryReleaseDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryReleaseDelayedMessageResponse, error)
+	// NotaryRemoveBlackholedMessage removes a VAA from the notary's blackholed list and adds it to the pending list with a release timer of 0.
+	NotaryRemoveBlackholedMessage(ctx context.Context, in *NotaryRemoveBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryRemoveBlackholedMessageResponse, error)
+	// NotaryResetReleaseTimer resets the release timer for a notary pending VAA to supplied number of days.
+	NotaryResetReleaseTimer(ctx context.Context, in *NotaryResetReleaseTimerRequest, opts ...grpc.CallOption) (*NotaryResetReleaseTimerResponse, error)
+	// NotaryInjectDelayedMessage creates a synthetic delayed message for testing (dev mode only).
+	NotaryInjectDelayedMessage(ctx context.Context, in *NotaryInjectDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryInjectDelayedMessageResponse, error)
+	// NotaryInjectBlackholedMessage creates a synthetic blackholed message for testing (dev mode only).
+	NotaryInjectBlackholedMessage(ctx context.Context, in *NotaryInjectBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryInjectBlackholedMessageResponse, error)
+	// NotaryGetDelayedMessage retrieves details about a delayed message.
+	NotaryGetDelayedMessage(ctx context.Context, in *NotaryGetDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryGetDelayedMessageResponse, error)
+	// NotaryGetBlackholedMessage retrieves details about a blackholed message.
+	NotaryGetBlackholedMessage(ctx context.Context, in *NotaryGetBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryGetBlackholedMessageResponse, error)
+	// NotaryListDelayedMessages lists all delayed message IDs.
+	NotaryListDelayedMessages(ctx context.Context, in *NotaryListDelayedMessagesRequest, opts ...grpc.CallOption) (*NotaryListDelayedMessagesResponse, error)
+	// NotaryListBlackholedMessages lists all blackholed message IDs.
+	NotaryListBlackholedMessages(ctx context.Context, in *NotaryListBlackholedMessagesRequest, opts ...grpc.CallOption) (*NotaryListBlackholedMessagesResponse, error)
 	// PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old.
 	PurgePythNetVaas(ctx context.Context, in *PurgePythNetVaasRequest, opts ...grpc.CallOption) (*PurgePythNetVaasResponse, error)
 	// SignExistingVAA signs an existing VAA for a new guardian set using the local guardian key.
@@ -145,6 +165,96 @@ func (c *nodePrivilegedServiceClient) ChainGovernorResetReleaseTimer(ctx context
 	return out, nil
 }
 
+func (c *nodePrivilegedServiceClient) NotaryBlackholeDelayedMessage(ctx context.Context, in *NotaryBlackholeDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryBlackholeDelayedMessageResponse, error) {
+	out := new(NotaryBlackholeDelayedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryBlackholeDelayedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryReleaseDelayedMessage(ctx context.Context, in *NotaryReleaseDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryReleaseDelayedMessageResponse, error) {
+	out := new(NotaryReleaseDelayedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryReleaseDelayedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryRemoveBlackholedMessage(ctx context.Context, in *NotaryRemoveBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryRemoveBlackholedMessageResponse, error) {
+	out := new(NotaryRemoveBlackholedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryRemoveBlackholedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryResetReleaseTimer(ctx context.Context, in *NotaryResetReleaseTimerRequest, opts ...grpc.CallOption) (*NotaryResetReleaseTimerResponse, error) {
+	out := new(NotaryResetReleaseTimerResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryResetReleaseTimer", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryInjectDelayedMessage(ctx context.Context, in *NotaryInjectDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryInjectDelayedMessageResponse, error) {
+	out := new(NotaryInjectDelayedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryInjectDelayedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryInjectBlackholedMessage(ctx context.Context, in *NotaryInjectBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryInjectBlackholedMessageResponse, error) {
+	out := new(NotaryInjectBlackholedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryInjectBlackholedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryGetDelayedMessage(ctx context.Context, in *NotaryGetDelayedMessageRequest, opts ...grpc.CallOption) (*NotaryGetDelayedMessageResponse, error) {
+	out := new(NotaryGetDelayedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryGetDelayedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryGetBlackholedMessage(ctx context.Context, in *NotaryGetBlackholedMessageRequest, opts ...grpc.CallOption) (*NotaryGetBlackholedMessageResponse, error) {
+	out := new(NotaryGetBlackholedMessageResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryGetBlackholedMessage", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryListDelayedMessages(ctx context.Context, in *NotaryListDelayedMessagesRequest, opts ...grpc.CallOption) (*NotaryListDelayedMessagesResponse, error) {
+	out := new(NotaryListDelayedMessagesResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryListDelayedMessages", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodePrivilegedServiceClient) NotaryListBlackholedMessages(ctx context.Context, in *NotaryListBlackholedMessagesRequest, opts ...grpc.CallOption) (*NotaryListBlackholedMessagesResponse, error) {
+	out := new(NotaryListBlackholedMessagesResponse)
+	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/NotaryListBlackholedMessages", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *nodePrivilegedServiceClient) PurgePythNetVaas(ctx context.Context, in *PurgePythNetVaasRequest, opts ...grpc.CallOption) (*PurgePythNetVaasResponse, error) {
 	out := new(PurgePythNetVaasResponse)
 	err := c.cc.Invoke(ctx, "/node.v1.NodePrivilegedService/PurgePythNetVaas", in, out, opts...)
@@ -213,6 +323,26 @@ type NodePrivilegedServiceServer interface {
 	ChainGovernorReleasePendingVAA(context.Context, *ChainGovernorReleasePendingVAARequest) (*ChainGovernorReleasePendingVAAResponse, error)
 	// ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum.
 	ChainGovernorResetReleaseTimer(context.Context, *ChainGovernorResetReleaseTimerRequest) (*ChainGovernorResetReleaseTimerResponse, error)
+	// NotaryBlackholeDelayedMessage blacklists a VAA from the notary pending list.
+	NotaryBlackholeDelayedMessage(context.Context, *NotaryBlackholeDelayedMessageRequest) (*NotaryBlackholeDelayedMessageResponse, error)
+	// NotaryReleaseDelayedMessage releases a VAA from the notary pending list, publishing it immediately.
+	NotaryReleaseDelayedMessage(context.Context, *NotaryReleaseDelayedMessageRequest) (*NotaryReleaseDelayedMessageResponse, error)
+	// NotaryRemoveBlackholedMessage removes a VAA from the notary's blackholed list and adds it to the pending list with a release timer of 0.
+	NotaryRemoveBlackholedMessage(context.Context, *NotaryRemoveBlackholedMessageRequest) (*NotaryRemoveBlackholedMessageResponse, error)
+	// NotaryResetReleaseTimer resets the release timer for a notary pending VAA to supplied number of days.
+	NotaryResetReleaseTimer(context.Context, *NotaryResetReleaseTimerRequest) (*NotaryResetReleaseTimerResponse, error)
+	// NotaryInjectDelayedMessage creates a synthetic delayed message for testing (dev mode only).
+	NotaryInjectDelayedMessage(context.Context, *NotaryInjectDelayedMessageRequest) (*NotaryInjectDelayedMessageResponse, error)
+	// NotaryInjectBlackholedMessage creates a synthetic blackholed message for testing (dev mode only).
+	NotaryInjectBlackholedMessage(context.Context, *NotaryInjectBlackholedMessageRequest) (*NotaryInjectBlackholedMessageResponse, error)
+	// NotaryGetDelayedMessage retrieves details about a delayed message.
+	NotaryGetDelayedMessage(context.Context, *NotaryGetDelayedMessageRequest) (*NotaryGetDelayedMessageResponse, error)
+	// NotaryGetBlackholedMessage retrieves details about a blackholed message.
+	NotaryGetBlackholedMessage(context.Context, *NotaryGetBlackholedMessageRequest) (*NotaryGetBlackholedMessageResponse, error)
+	// NotaryListDelayedMessages lists all delayed message IDs.
+	NotaryListDelayedMessages(context.Context, *NotaryListDelayedMessagesRequest) (*NotaryListDelayedMessagesResponse, error)
+	// NotaryListBlackholedMessages lists all blackholed message IDs.
+	NotaryListBlackholedMessages(context.Context, *NotaryListBlackholedMessagesRequest) (*NotaryListBlackholedMessagesResponse, error)
 	// PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old.
 	PurgePythNetVaas(context.Context, *PurgePythNetVaasRequest) (*PurgePythNetVaasResponse, error)
 	// SignExistingVAA signs an existing VAA for a new guardian set using the local guardian key.
@@ -255,6 +385,36 @@ func (UnimplementedNodePrivilegedServiceServer) ChainGovernorReleasePendingVAA(c
 func (UnimplementedNodePrivilegedServiceServer) ChainGovernorResetReleaseTimer(context.Context, *ChainGovernorResetReleaseTimerRequest) (*ChainGovernorResetReleaseTimerResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method ChainGovernorResetReleaseTimer not implemented")
 }
+func (UnimplementedNodePrivilegedServiceServer) NotaryBlackholeDelayedMessage(context.Context, *NotaryBlackholeDelayedMessageRequest) (*NotaryBlackholeDelayedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryBlackholeDelayedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryReleaseDelayedMessage(context.Context, *NotaryReleaseDelayedMessageRequest) (*NotaryReleaseDelayedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryReleaseDelayedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryRemoveBlackholedMessage(context.Context, *NotaryRemoveBlackholedMessageRequest) (*NotaryRemoveBlackholedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryRemoveBlackholedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryResetReleaseTimer(context.Context, *NotaryResetReleaseTimerRequest) (*NotaryResetReleaseTimerResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryResetReleaseTimer not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryInjectDelayedMessage(context.Context, *NotaryInjectDelayedMessageRequest) (*NotaryInjectDelayedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryInjectDelayedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryInjectBlackholedMessage(context.Context, *NotaryInjectBlackholedMessageRequest) (*NotaryInjectBlackholedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryInjectBlackholedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryGetDelayedMessage(context.Context, *NotaryGetDelayedMessageRequest) (*NotaryGetDelayedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryGetDelayedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryGetBlackholedMessage(context.Context, *NotaryGetBlackholedMessageRequest) (*NotaryGetBlackholedMessageResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryGetBlackholedMessage not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryListDelayedMessages(context.Context, *NotaryListDelayedMessagesRequest) (*NotaryListDelayedMessagesResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryListDelayedMessages not implemented")
+}
+func (UnimplementedNodePrivilegedServiceServer) NotaryListBlackholedMessages(context.Context, *NotaryListBlackholedMessagesRequest) (*NotaryListBlackholedMessagesResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method NotaryListBlackholedMessages not implemented")
+}
 func (UnimplementedNodePrivilegedServiceServer) PurgePythNetVaas(context.Context, *PurgePythNetVaasRequest) (*PurgePythNetVaasResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method PurgePythNetVaas not implemented")
 }
@@ -442,6 +602,186 @@ func _NodePrivilegedService_ChainGovernorResetReleaseTimer_Handler(srv interface
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NodePrivilegedService_NotaryBlackholeDelayedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryBlackholeDelayedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryBlackholeDelayedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryBlackholeDelayedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryBlackholeDelayedMessage(ctx, req.(*NotaryBlackholeDelayedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryReleaseDelayedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryReleaseDelayedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryReleaseDelayedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryReleaseDelayedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryReleaseDelayedMessage(ctx, req.(*NotaryReleaseDelayedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryRemoveBlackholedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryRemoveBlackholedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryRemoveBlackholedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryRemoveBlackholedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryRemoveBlackholedMessage(ctx, req.(*NotaryRemoveBlackholedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryResetReleaseTimer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryResetReleaseTimerRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryResetReleaseTimer(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryResetReleaseTimer",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryResetReleaseTimer(ctx, req.(*NotaryResetReleaseTimerRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryInjectDelayedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryInjectDelayedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryInjectDelayedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryInjectDelayedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryInjectDelayedMessage(ctx, req.(*NotaryInjectDelayedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryInjectBlackholedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryInjectBlackholedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryInjectBlackholedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryInjectBlackholedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryInjectBlackholedMessage(ctx, req.(*NotaryInjectBlackholedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryGetDelayedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryGetDelayedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryGetDelayedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryGetDelayedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryGetDelayedMessage(ctx, req.(*NotaryGetDelayedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryGetBlackholedMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryGetBlackholedMessageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryGetBlackholedMessage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryGetBlackholedMessage",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryGetBlackholedMessage(ctx, req.(*NotaryGetBlackholedMessageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryListDelayedMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryListDelayedMessagesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryListDelayedMessages(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryListDelayedMessages",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryListDelayedMessages(ctx, req.(*NotaryListDelayedMessagesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NodePrivilegedService_NotaryListBlackholedMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NotaryListBlackholedMessagesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodePrivilegedServiceServer).NotaryListBlackholedMessages(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/node.v1.NodePrivilegedService/NotaryListBlackholedMessages",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodePrivilegedServiceServer).NotaryListBlackholedMessages(ctx, req.(*NotaryListBlackholedMessagesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _NodePrivilegedService_PurgePythNetVaas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(PurgePythNetVaasRequest)
 	if err := dec(in); err != nil {
@@ -557,6 +897,46 @@ var NodePrivilegedService_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "ChainGovernorResetReleaseTimer",
 			Handler:    _NodePrivilegedService_ChainGovernorResetReleaseTimer_Handler,
 		},
+		{
+			MethodName: "NotaryBlackholeDelayedMessage",
+			Handler:    _NodePrivilegedService_NotaryBlackholeDelayedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryReleaseDelayedMessage",
+			Handler:    _NodePrivilegedService_NotaryReleaseDelayedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryRemoveBlackholedMessage",
+			Handler:    _NodePrivilegedService_NotaryRemoveBlackholedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryResetReleaseTimer",
+			Handler:    _NodePrivilegedService_NotaryResetReleaseTimer_Handler,
+		},
+		{
+			MethodName: "NotaryInjectDelayedMessage",
+			Handler:    _NodePrivilegedService_NotaryInjectDelayedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryInjectBlackholedMessage",
+			Handler:    _NodePrivilegedService_NotaryInjectBlackholedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryGetDelayedMessage",
+			Handler:    _NodePrivilegedService_NotaryGetDelayedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryGetBlackholedMessage",
+			Handler:    _NodePrivilegedService_NotaryGetBlackholedMessage_Handler,
+		},
+		{
+			MethodName: "NotaryListDelayedMessages",
+			Handler:    _NodePrivilegedService_NotaryListDelayedMessages_Handler,
+		},
+		{
+			MethodName: "NotaryListBlackholedMessages",
+			Handler:    _NodePrivilegedService_NotaryListBlackholedMessages_Handler,
+		},
 		{
 			MethodName: "PurgePythNetVaas",
 			Handler:    _NodePrivilegedService_PurgePythNetVaas_Handler,

+ 111 - 107
node/pkg/proto/publicrpc/v1/publicrpc.pb.go

@@ -88,6 +88,7 @@ const (
 	ChainID_CHAIN_ID_STACKS           ChainID = 60
 	ChainID_CHAIN_ID_STELLAR          ChainID = 61
 	ChainID_CHAIN_ID_TON              ChainID = 62
+	ChainID_CHAIN_ID_MOCA             ChainID = 63
 	ChainID_CHAIN_ID_WORMCHAIN        ChainID = 3104
 	ChainID_CHAIN_ID_COSMOSHUB        ChainID = 4000
 	ChainID_CHAIN_ID_EVMOS            ChainID = 4001
@@ -164,6 +165,7 @@ var (
 		60:    "CHAIN_ID_STACKS",
 		61:    "CHAIN_ID_STELLAR",
 		62:    "CHAIN_ID_TON",
+		63:    "CHAIN_ID_MOCA",
 		3104:  "CHAIN_ID_WORMCHAIN",
 		4000:  "CHAIN_ID_COSMOSHUB",
 		4001:  "CHAIN_ID_EVMOS",
@@ -237,6 +239,7 @@ var (
 		"CHAIN_ID_STACKS":           60,
 		"CHAIN_ID_STELLAR":          61,
 		"CHAIN_ID_TON":              62,
+		"CHAIN_ID_MOCA":             63,
 		"CHAIN_ID_WORMCHAIN":        3104,
 		"CHAIN_ID_COSMOSHUB":        4000,
 		"CHAIN_ID_EVMOS":            4001,
@@ -1444,7 +1447,7 @@ var file_publicrpc_v1_publicrpc_proto_rawDesc = []byte{
 	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f,
 	0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
 	0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69,
-	0x63, 0x65, 0x2a, 0xad, 0x0c, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18,
+	0x63, 0x65, 0x2a, 0xc0, 0x0c, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18,
 	0x0a, 0x14, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
 	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x49,
 	0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x4f, 0x4c, 0x41, 0x4e, 0x41, 0x10, 0x01, 0x12, 0x15, 0x0a,
@@ -1516,115 +1519,116 @@ var file_publicrpc_v1_publicrpc_proto_rawDesc = []byte{
 	0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x53, 0x10,
 	0x3c, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x54,
 	0x45, 0x4c, 0x4c, 0x41, 0x52, 0x10, 0x3d, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x48, 0x41, 0x49, 0x4e,
-	0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4e, 0x10, 0x3e, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x48, 0x41,
-	0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10,
-	0xa0, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x43,
-	0x4f, 0x53, 0x4d, 0x4f, 0x53, 0x48, 0x55, 0x42, 0x10, 0xa0, 0x1f, 0x12, 0x13, 0x0a, 0x0e, 0x43,
-	0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x56, 0x4d, 0x4f, 0x53, 0x10, 0xa1, 0x1f,
-	0x12, 0x14, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x55, 0x4a,
-	0x49, 0x52, 0x41, 0x10, 0xa2, 0x1f, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f,
-	0x49, 0x44, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x4f, 0x4e, 0x10, 0xa3, 0x1f, 0x12, 0x16, 0x0a,
-	0x11, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x43, 0x45, 0x4c, 0x45, 0x53, 0x54,
-	0x49, 0x41, 0x10, 0xa4, 0x1f, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49,
-	0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x47, 0x41, 0x5a, 0x45, 0x10, 0xa5, 0x1f, 0x12, 0x12, 0x0a,
-	0x0d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x44, 0x41, 0x10, 0xa6,
-	0x1f, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x44, 0x59,
-	0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa7, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x43, 0x48,
-	0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x4e, 0x41, 0x4e, 0x43,
-	0x45, 0x10, 0xa8, 0x1f, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44,
-	0x5f, 0x4e, 0x4f, 0x42, 0x4c, 0x45, 0x10, 0xa9, 0x1f, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x48, 0x41,
-	0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x92, 0x4e,
-	0x12, 0x1e, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x42,
-	0x49, 0x54, 0x52, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x93, 0x4e,
-	0x12, 0x1a, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x42, 0x41, 0x53,
-	0x45, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x94, 0x4e, 0x12, 0x1e, 0x0a, 0x19,
-	0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x53,
-	0x4d, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x95, 0x4e, 0x12, 0x15, 0x0a, 0x10,
-	0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x48, 0x4f, 0x4c, 0x45, 0x53, 0x4b, 0x59,
-	0x10, 0x96, 0x4e, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f,
-	0x50, 0x4f, 0x4c, 0x59, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10,
-	0x97, 0x4e, 0x32, 0xc6, 0x09, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x52, 0x50, 0x43,
-	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x61,
-	0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70,
-	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c,
-	0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63,
-	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74,
-	0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x72, 0x74,
-	0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67,
-	0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x12, 0x21, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72,
-	0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56,
-	0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x75, 0x62, 0x6c,
+	0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4e, 0x10, 0x3e, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x41,
+	0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4d, 0x4f, 0x43, 0x41, 0x10, 0x3f, 0x12, 0x17, 0x0a, 0x12,
+	0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41,
+	0x49, 0x4e, 0x10, 0xa0, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49,
+	0x44, 0x5f, 0x43, 0x4f, 0x53, 0x4d, 0x4f, 0x53, 0x48, 0x55, 0x42, 0x10, 0xa0, 0x1f, 0x12, 0x13,
+	0x0a, 0x0e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x56, 0x4d, 0x4f, 0x53,
+	0x10, 0xa1, 0x1f, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f,
+	0x4b, 0x55, 0x4a, 0x49, 0x52, 0x41, 0x10, 0xa2, 0x1f, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x48, 0x41,
+	0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x4f, 0x4e, 0x10, 0xa3, 0x1f,
+	0x12, 0x16, 0x0a, 0x11, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x43, 0x45, 0x4c,
+	0x45, 0x53, 0x54, 0x49, 0x41, 0x10, 0xa4, 0x1f, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x48, 0x41, 0x49,
+	0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x47, 0x41, 0x5a, 0x45, 0x10, 0xa5, 0x1f,
+	0x12, 0x12, 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x44,
+	0x41, 0x10, 0xa6, 0x1f, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44,
+	0x5f, 0x44, 0x59, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa7, 0x1f, 0x12, 0x18, 0x0a,
+	0x13, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x4e,
+	0x41, 0x4e, 0x43, 0x45, 0x10, 0xa8, 0x1f, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x49, 0x4e,
+	0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x42, 0x4c, 0x45, 0x10, 0xa9, 0x1f, 0x12, 0x15, 0x0a, 0x10,
+	0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41,
+	0x10, 0x92, 0x4e, 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f,
+	0x41, 0x52, 0x42, 0x49, 0x54, 0x52, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41,
+	0x10, 0x93, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f,
+	0x42, 0x41, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x94, 0x4e, 0x12,
+	0x1e, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49,
+	0x4d, 0x49, 0x53, 0x4d, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c, 0x49, 0x41, 0x10, 0x95, 0x4e, 0x12,
+	0x15, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x48, 0x4f, 0x4c, 0x45,
+	0x53, 0x4b, 0x59, 0x10, 0x96, 0x4e, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f,
+	0x49, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x59, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x50, 0x4f, 0x4c,
+	0x49, 0x41, 0x10, 0x97, 0x4e, 0x32, 0xc6, 0x09, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
+	0x52, 0x50, 0x43, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x47, 0x65,
+	0x74, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12,
+	0x26, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+	0x65, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
+	0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65,
+	0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65,
+	0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74,
+	0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x12, 0x21, 0x2e, 0x70, 0x75, 0x62, 0x6c,
 	0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e,
-	0x65, 0x64, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82,
-	0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x65,
-	0x64, 0x5f, 0x76, 0x61, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69,
-	0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x7d,
-	0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69,
-	0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x6d,
-	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
-	0x63, 0x65, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65,
-	0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x2e,
-	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
-	0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53,
-	0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x6c,
-	0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72,
-	0x65, 0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65,
-	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17,
-	0x2f, 0x76, 0x31, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x65, 0x74, 0x2f,
-	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x23, 0x47, 0x6f, 0x76, 0x65,
-	0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
-	0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12,
-	0x38, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+	0x65, 0x64, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53,
+	0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x69,
+	0x67, 0x6e, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61,
+	0x69, 0x6e, 0x7d, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e,
+	0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d,
+	0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x73, 0x65, 0x71,
+	0x75, 0x65, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x75,
+	0x72, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74,
+	0x12, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
+	0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69,
+	0x61, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43,
+	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65,
+	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x73,
+	0x65, 0x74, 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x23, 0x47,
 	0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
 	0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x43, 0x68, 0x61,
-	0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x70, 0x75, 0x62, 0x6c,
-	0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f,
-	0x72, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74,
-	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76,
-	0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f, 0x61, 0x76, 0x61, 0x69, 0x6c,
-	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79,
-	0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x17, 0x47, 0x6f, 0x76, 0x65, 0x72,
-	0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41,
-	0x41, 0x73, 0x12, 0x2c, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76,
-	0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x71,
-	0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x2d, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
-	0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x71, 0x75, 0x65,
-	0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
-	0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76,
-	0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x76,
-	0x61, 0x61, 0x73, 0x12, 0xe4, 0x01, 0x0a, 0x15, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72,
-	0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x12, 0x2a, 0x2e,
-	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76,
-	0x65, 0x72, 0x6e, 0x6f, 0x72, 0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75,
-	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x75, 0x62, 0x6c,
-	0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f,
-	0x72, 0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x65,
-	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x12, 0x6a,
-	0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f, 0x69, 0x73, 0x5f,
-	0x76, 0x61, 0x61, 0x5f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x2f, 0x7b, 0x6d, 0x65,
-	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72,
-	0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x7d, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
-	0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72,
-	0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
-	0x2e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x47,
-	0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c,
-	0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e,
-	0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x54, 0x6f,
-	0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a,
-	0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f,
-	0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69,
-	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
-	0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72,
-	0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x47, 0x5a, 0x45, 0x67,
-	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x75, 0x73,
-	0x6f, 0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64,
-	0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x75, 0x62, 0x6c,
-	0x69, 0x63, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72,
-	0x70, 0x63, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x69, 0x6e, 0x12, 0x38, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76,
+	0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61,
+	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79,
+	0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65,
+	0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
+	0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52,
+	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12,
+	0x28, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f, 0x61, 0x76,
+	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+	0x5f, 0x62, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x17, 0x47, 0x6f,
+	0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65,
+	0x64, 0x56, 0x41, 0x41, 0x73, 0x12, 0x2c, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70,
+	0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74,
+	0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x73, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e,
+	0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x45, 0x6e,
+	0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f,
+	0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65,
+	0x64, 0x5f, 0x76, 0x61, 0x61, 0x73, 0x12, 0xe4, 0x01, 0x0a, 0x15, 0x47, 0x6f, 0x76, 0x65, 0x72,
+	0x6e, 0x6f, 0x72, 0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64,
+	0x12, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
+	0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71,
+	0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65,
+	0x72, 0x6e, 0x6f, 0x72, 0x49, 0x73, 0x56, 0x41, 0x41, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65,
+	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x6c, 0x12, 0x6a, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x2f,
+	0x69, 0x73, 0x5f, 0x76, 0x61, 0x61, 0x5f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x2f,
+	0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74,
+	0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x7d, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x2e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61,
+	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x5f, 0x69, 0x64, 0x2e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0x8e, 0x01,
+	0x0a, 0x14, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b,
+	0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72,
+	0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65,
+	0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
+	0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65,
+	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72,
+	0x6e, 0x6f, 0x72, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x47,
+	0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72,
+	0x74, 0x75, 0x73, 0x6f, 0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f,
+	0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x75, 0x62, 0x6c,
+	0x69, 0x63, 0x72, 0x70, 0x63, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (

+ 6 - 5
node/pkg/query/query.go

@@ -144,6 +144,7 @@ var perChainConfig = map[vaa.ChainID]PerChainConfig{
 	vaa.ChainIDXRPLEVM:         {NumWorkers: 1, TimestampCacheSupported: true},
 	vaa.ChainIDPlasma:          {NumWorkers: 1, TimestampCacheSupported: true},
 	vaa.ChainIDCreditCoin:      {NumWorkers: 1, TimestampCacheSupported: true},
+	vaa.ChainIDMoca:            {NumWorkers: 1, TimestampCacheSupported: true},
 }
 
 // GetPerChainConfig returns the config for the specified chain. If the chain is not configured it returns an empty struct,
@@ -366,15 +367,15 @@ func handleQueryRequestsImpl(
 
 				// Build the list of per chain response publications and the overall query response publication.
 				responses := []*PerChainQueryResponse{}
-				for _, resp := range pq.responses {
-					if resp == nil {
-						qLogger.Error("unexpected null response in pending query!", zap.String("requestID", resp.RequestID), zap.Int("requestIdx", resp.RequestIdx))
+				for _, pqResp := range pq.responses {
+					if pqResp == nil {
+						qLogger.Error("unexpected nil response in pending query!", zap.String("requestID", resp.RequestID))
 						continue
 					}
 
 					responses = append(responses, &PerChainQueryResponse{
-						ChainId:  resp.ChainId,
-						Response: resp.Response,
+						ChainId:  pqResp.ChainId,
+						Response: pqResp.Response,
 					})
 				}
 

+ 0 - 9
node/pkg/txverifier/evmtypes.go

@@ -721,15 +721,6 @@ func (s *ReceiptSummary) isMsgSafe(msgID msgID) bool {
 	return s.msgPubResult[msgID]
 }
 
-// Custom error type used to signal that a core invariant of the token bridge has been violated.
-type InvariantError struct {
-	Msg string
-}
-
-func (i InvariantError) Error() string {
-	return fmt.Sprintf("invariant violated: %s", i.Msg)
-}
-
 // transferOut is a struct that contains the token ID and amount of a token that was requested to be transferred out of the bridge.
 type transferOut struct {
 	// The token ID of the token that was transferred out.

+ 226 - 100
node/pkg/txverifier/sui.go

@@ -1,9 +1,7 @@
 package txverifier
 
-// TODOs:
-//	* balances on Sui are stored as u64's. Consider using uint64 instead of big.Int
-
 import (
+	"context"
 	"encoding/json"
 	"errors"
 	"fmt"
@@ -16,31 +14,56 @@ import (
 	"go.uber.org/zap"
 )
 
+// Errors
+var (
+	// Internal errors that can occur in the verifier.
+	ErrFailedToRetrieveTxBlock = errors.New("failed to retrieve transaction block")
+)
+
 // Global variables
 var (
 	suiModule    = "publish_message"
 	suiEventName = "WormholeMessage"
+
+	// The Sui transfer verifier needs the original token bridge package Id to address the token registry correctly.
+	// The token registry holds the balances for all assets, wrapped and native. If the token registry on chain is
+	// ever moved/upgraded, these values will need to be updated.
+	SuiOriginalTokenBridgePackageIds = map[common.Environment]string{
+		// Obtained from the mainnet state object at 0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9
+		common.MainNet: "0x26efee2b51c911237888e5dc6702868abca3c7ac12c53f76ef8eba0697695e3d",
+		// Obtained from the testnet state object at 0x6fb10cdb7aa299e9a4308752dadecb049ff55a892de92992a1edbd7912b3d6da
+		common.TestNet: "0x562760fc51d90d4ae1835bac3e91e0e6987d3497b06f066941d3e51f6e8d76d0",
+		// Obtained from tilt output when deploying the token bridge to devnet
+		common.UnsafeDevNet:   "0xa6a3da85bbe05da5bfd953708d56f1a3a023e7fb58e5a824a3d4de3791e8f690",
+		common.GoTest:         "0xa6a3da85bbe05da5bfd953708d56f1a3a023e7fb58e5a824a3d4de3791e8f690",
+		common.AccountantMock: "0xa6a3da85bbe05da5bfd953708d56f1a3a023e7fb58e5a824a3d4de3791e8f690",
+	}
 )
 
 type SuiTransferVerifier struct {
-	suiCoreContract        string
-	suiTokenBridgeEmitter  string
-	suiTokenBridgeContract string
-	suiEventType           string
+	// Used to create the event filter.
+	suiCoreBridgePackageId string
+	// Used to check the emitter of the `WormholeMessage` event.
+	suiTokenBridgeEmitter string
+	// Used to match the owning package of native and wrapped asset types.
+	suiTokenBridgePackageId string
+	suiEventType            string
+	suiApiConnection        SuiApiInterface
 }
 
-func NewSuiTransferVerifier(suiCoreContract, suiTokenBridgeEmitter, suiTokenBridgeContract string) *SuiTransferVerifier {
+func NewSuiTransferVerifier(suiCoreBridgePackageId, suiTokenBridgeEmitter, suiTokenBridgePackageId string, suiApiConnection SuiApiInterface) *SuiTransferVerifier {
 	return &SuiTransferVerifier{
-		suiCoreContract:        suiCoreContract,
-		suiTokenBridgeEmitter:  suiTokenBridgeEmitter,
-		suiTokenBridgeContract: suiTokenBridgeContract,
-		suiEventType:           fmt.Sprintf("%s::%s::%s", suiCoreContract, suiModule, suiEventName),
+		suiCoreBridgePackageId:  suiCoreBridgePackageId,
+		suiTokenBridgeEmitter:   suiTokenBridgeEmitter,
+		suiTokenBridgePackageId: suiTokenBridgePackageId,
+		suiEventType:            fmt.Sprintf("%s::%s::%s", suiCoreBridgePackageId, suiModule, suiEventName),
+		suiApiConnection:        suiApiConnection,
 	}
 }
 
-// func (s *SuiTransferVerifier) GetSuiEventType() string {
-// 	return s.suiEventType
-// }
+func (s *SuiTransferVerifier) GetTokenBridgeEmitter() string {
+	return s.suiTokenBridgeEmitter
+}
 
 // Filter to be used for querying events
 // The `MoveEventType` filter doesn't seem to be available in the documentation. However, there is an example
@@ -54,174 +77,277 @@ func (s *SuiTransferVerifier) GetEventFilter() string {
 			"module":"%s",
 			"type":"%s"
 		}
-	}`, s.suiCoreContract, suiModule, s.suiEventType)
+	}`, s.suiCoreBridgePackageId, suiModule, s.suiEventType)
 }
 
-// processEvents takes a list of events and processes them to determine the amount requested out of the bridge. It returns a mapping
-// that maps the token address and chain ID to the amount requested out of the bridge. It does not return an error, because any faulty
-// events can be skipped, since they would likely fail being processed by the guardian as well. Debug level logging can be used to
-// reveal any potential locations where errors are occurring.
-func (s *SuiTransferVerifier) processEvents(events []SuiEvent, logger *zap.Logger) (requestedOutOfBridge map[string]*big.Int, numEventsProcessed uint) {
-	// Initialize the map to store the amount requested out of the bridge
-	requestedOutOfBridge = make(map[string]*big.Int)
+// extractBridgeRequestsFromEvents iterates through all events, and tries to identify `WormholeMessage` events emitted by the token bridge.
+// These events are parsed and collected in a `MsgIdToRequestOutOfBridge` object, mapping message IDs to requests out of the bridge. This
+// function does not return errors, as any issues encountered during processing of individual events result in those events being skipped.
+func (s *SuiTransferVerifier) extractBridgeRequestsFromEvents(events []SuiEvent, logger *zap.Logger) MsgIdToRequestOutOfBridge {
+	requests := make(MsgIdToRequestOutOfBridge)
 
-	// Filter events that have the sui token bridge emitter as the sender in the message. The events indicate
-	// how much is going to leave the network.
 	for _, event := range events {
+		var wormholeMessage WormholeMessage
+
+		// Parse the ParsedJson field into a WormholeMessage. This is done explicitly to avoid any unnecessary
+		// error logging for events that can't be deserialized into `WormholeMessage` instances. If an event's
+		// ParsedJson cannot be unmarshaled into a WormholeMessage, it is simply skipped.
+		if event.ParsedJson != nil {
+			err := json.Unmarshal(*event.ParsedJson, &wormholeMessage)
+			if err != nil {
+				// If an error ocurrs, the ParsedJson is rejected as an event that is not emitted by the bridge
+				continue
+			}
+		}
 
 		// If any of these event parameters are nil, skip the event
-		if event.Message == nil || event.Message.Sender == nil || event.Type == nil {
+		if wormholeMessage.Sender == nil || wormholeMessage.Sequence == nil || event.Type == nil {
 			continue
 		}
 
 		// Only process the event if it is a WormholeMessage event from the token bridge emitter
-		if *event.Type == s.suiEventType && *event.Message.Sender == s.suiTokenBridgeEmitter {
+		if *event.Type == s.suiEventType && *wormholeMessage.Sender == s.suiTokenBridgeEmitter {
 
 			// Parse the wormhole message. vaa.IsTransfer can be omitted, since this is done
 			// inside `DecodeTransferPayloadHdr` already.
-			hdr, err := vaa.DecodeTransferPayloadHdr(event.Message.Payload)
+			hdr, err := vaa.DecodeTransferPayloadHdr(wormholeMessage.Payload)
 
-			// If there is an error decoding the payload, skip the event
+			// If there is an error decoding the payload, skip the event. One reason for a potential
+			// failure in decoding is that an attestation of a token was requested.
 			if err != nil {
 				logger.Debug("Error decoding payload", zap.Error(err))
 				continue
 			}
 
-			// Add the key if it does not exist yet
-			key := fmt.Sprintf(KEY_FORMAT, hdr.OriginAddress.String(), hdr.OriginChain)
-			if _, exists := requestedOutOfBridge[key]; !exists {
-				requestedOutOfBridge[key] = big.NewInt(0)
-			}
+			// The sender address is prefixed with "0x", but the message ID format does not include that prefix.
+			senderWithout0x := strings.TrimPrefix(*wormholeMessage.Sender, "0x")
 
-			// Add the amount requested out of the bridge
-			requestedOutOfBridge[key] = new(big.Int).Add(requestedOutOfBridge[key], hdr.Amount)
+			msgIDStr := fmt.Sprintf("%d/%s/%s", vaa.ChainIDSui, senderWithout0x, *wormholeMessage.Sequence)
+			assetKey := fmt.Sprintf(KEY_FORMAT, hdr.OriginAddress.String(), hdr.OriginChain)
 
-			numEventsProcessed++
+			logger.Debug("Found request out of bridge",
+				zap.String("msgID", msgIDStr),
+				zap.String("assetKey", assetKey),
+				zap.String("amount", hdr.Amount.String()),
+			)
+
+			requests[msgIDStr] = &RequestOutOfBridge{
+				AssetKey:       assetKey,
+				Amount:         hdr.Amount,
+				DepositMade:    false,
+				DepositSolvent: false,
+			}
 		} else {
-			logger.Debug("Event does not match the criteria", zap.String("event type", *event.Type), zap.String("event sender", *event.Message.Sender))
+			logger.Debug("Event does not match the criteria",
+				zap.String("event type", *event.Type),
+				zap.String("event sender", *wormholeMessage.Sender),
+				zap.String("expected event type", s.suiEventType),
+				zap.String("expected event sender", s.suiTokenBridgeEmitter),
+			)
 		}
 	}
 
-	return requestedOutOfBridge, numEventsProcessed
+	return requests
 }
 
-func (s *SuiTransferVerifier) processObjectUpdates(objectChanges []ObjectChange, suiApiConnection SuiApiInterface, logger *zap.Logger) (transferredIntoBridge map[string]*big.Int, numChangesProcessed uint) {
-	transferredIntoBridge = make(map[string]*big.Int)
+// extractTransfersIntoBridgeFromChanges iterates through all object changes, and tries to identify token transfers into the bridge.
+// These transfers are accumulated in an `AssetKeyToTransferIntoBridge` object, which is returned to the caller. The default behaviour
+// of this function is to fail-close, meaning that any errors that occur during processing result in the offending object change being ignored.
+func (s *SuiTransferVerifier) extractTransfersIntoBridgeFromObjectChanges(ctx context.Context, objectChanges []ObjectChange, logger *zap.Logger) AssetKeyToTransferIntoBridge {
+	transfers := make(AssetKeyToTransferIntoBridge)
 
 	for _, objectChange := range objectChanges {
-		// Check that the type information is correct.
-		if !objectChange.ValidateTypeInformation(s.suiTokenBridgeContract) {
+		// Check that the type information is correct. Doing it here means it's not necessary to do it
+		// again, even in the case where `GetObject` is used for a single object instead of getting past
+		// objects.
+		if !objectChange.ValidateTypeInformation(s.suiTokenBridgePackageId) {
 			continue
 		}
 
-		// Get the past objects
-		resp, err := suiApiConnection.TryMultiGetPastObjects(objectChange.ObjectId, objectChange.Version, objectChange.PreviousVersion)
+		if objectChange.PreviousVersion == "" {
+			logger.Warn("No previous version of asset available",
+				zap.String("objectId", objectChange.ObjectId),
+				zap.String("currentVersion", objectChange.Version))
+			continue
+		}
 
+		// Get the previous version of the object. This makes a call to the Sui API.
+		resp, err := s.suiApiConnection.TryMultiGetPastObjects(ctx, objectChange.ObjectId, objectChange.Version, objectChange.PreviousVersion)
 		if err != nil {
-			logger.Error("Error in getting past objects", zap.Error(err))
+			logger.Error("Error getting past objects",
+				zap.String("objectId", objectChange.ObjectId),
+				zap.String("currentVersion", objectChange.Version),
+				zap.String("previousVersion", objectChange.PreviousVersion),
+				zap.Error(err))
 			continue
 		}
 
 		decimals, err := resp.GetDecimals()
 		if err != nil {
-			logger.Error("Error in getting decimals", zap.Error(err))
+			logger.Error("Error getting decimals", zap.Error(err))
 			continue
 		}
 
 		address, err := resp.GetTokenAddress()
 		if err != nil {
-			logger.Error("Error in getting token address", zap.Error(err))
+			logger.Error("Error getting token address", zap.Error(err))
 			continue
 		}
 
 		chain, err := resp.GetTokenChain()
 		if err != nil {
-			logger.Error("Error in getting token chain", zap.Error(err))
+			logger.Error("Error getting token chain", zap.Error(err))
 			continue
 		}
 
-		// Get the balance difference
-		balanceDiff, err := resp.GetBalanceDiff()
+		// Get the change in balance
+		balanceChange, err := resp.GetBalanceChange()
 		if err != nil {
-			logger.Error("Error in getting balance difference", zap.Error(err))
+			logger.Error("Error getting balance difference", zap.Error(err))
 			continue
 		}
 
-		normalized := normalize(balanceDiff, decimals)
+		normalized := normalize(balanceChange, decimals)
 
 		// Add the key if it does not exist yet
-		key := fmt.Sprintf(KEY_FORMAT, address, chain)
+		assetKey := fmt.Sprintf(KEY_FORMAT, address, chain)
 
-		// Add the normalized amount to the transferredIntoBridge map
-		// Intentionally use 'Set' instead of 'Add' because there should only be a single objectChange per token
-		var amount big.Int
-		transferredIntoBridge[key] = amount.Set(normalized)
+		if _, exists := transfers[assetKey]; !exists {
+			// logger.Debug("First time seeing transfer into bridge for asset", zap.String("assetKey", assetKey))
+			transfers[assetKey] = &TransferIntoBridge{
+				Amount:  big.NewInt(0),
+				Solvent: false,
+			}
+		}
 
-		// Increment the number of changes processed
-		numChangesProcessed++
+		// Add the amount transferred into the bridge
+		logger.Debug("Adding transfer into bridge", zap.String("assetKey", assetKey), zap.String("amount", normalized.String()))
+		transfers[assetKey].Amount = new(big.Int).Add(transfers[assetKey].Amount, normalized)
 	}
 
-	return transferredIntoBridge, numChangesProcessed
+	return transfers
 }
 
-func (s *SuiTransferVerifier) ProcessDigest(digest string, suiApiConnection SuiApiInterface, logger *zap.Logger) (uint, error) {
+func (s *SuiTransferVerifier) ProcessDigest(ctx context.Context, digest string, msgIdStr string, logger *zap.Logger) (bool, error) {
+	verified, err := s.processDigestInternal(ctx, digest, msgIdStr, logger)
+
+	// check if the error is an invariant violation
+	var invariantError *InvariantError
+	if errors.As(err, &invariantError) {
+		logger.Error("Sui txverifier invariant violated", zap.String("txdigest", digest), zap.String("invariant", invariantError.Msg))
+		return false, nil
+	} else {
+		return verified, err
+	}
+}
+
+// Return conditions:
+//
+//	true, nil - verification succeeded
+//	false, nil - verification failed
+//	false, err - verification failed due to an internal error or invariant violation
+//
+// NOTE: it is up to the caller to check if the error is an invariant violation, and handle it accordingly.
+func (s *SuiTransferVerifier) processDigestInternal(ctx context.Context, digest string, msgIdStr string, logger *zap.Logger) (bool, error) {
+	logger.Debug("processing digest", zap.String("txDigest", digest), zap.String("msgId", msgIdStr))
+
 	// Get the transaction block
-	txBlock, err := suiApiConnection.GetTransactionBlock(digest)
+	txBlock, err := s.suiApiConnection.GetTransactionBlock(ctx, digest)
 
 	if err != nil {
-		logger.Fatal("Error in getting transaction block", zap.Error(err))
+		logger.Error("failed to retrieve transaction block",
+			zap.String("txDigest", digest),
+			zap.Error(err),
+		)
+		return false, ErrFailedToRetrieveTxBlock
 	}
 
-	// process all events, indicating funds that are leaving the chain
-	requestedOutOfBridge, numEventsProcessed := s.processEvents(txBlock.Result.Events, logger)
+	// Extract bridge requests from events
+	bridgeOutRequests := s.extractBridgeRequestsFromEvents(txBlock.Result.Events, logger)
+
+	if len(bridgeOutRequests) == 0 {
+		logger.Debug("No relevant events found in transaction block", zap.String("txDigest", digest))
+		// No valid events were identified, so the digest does not require further processing.
+		return true, nil
+	}
+
+	// Process all object changes, specifically looking for transfers into the token bridge
+	transfersIntoBridge := s.extractTransfersIntoBridgeFromObjectChanges(ctx, txBlock.Result.ObjectChanges, logger)
+
+	// Validate solvency using the requests out of the bridge vs the transfers into the bridge.
+	resolved, err := validateSolvency(bridgeOutRequests, transfersIntoBridge)
 
-	// process all object changes, indicating funds that are entering the chain
-	transferredIntoBridge, numChangesProcessed := s.processObjectUpdates(txBlock.Result.ObjectChanges, suiApiConnection, logger)
+	if err != nil {
+		logger.Error("Error validating solvency", zap.Error(err))
+		return false, err
+	}
 
-	// TODO: Using `Warn` for testing purposes. Update to Fatal? when ready to go into PR.
-	// TODO: Revisit error handling here.
-	for key, amountOut := range requestedOutOfBridge {
+	// If msgIdStr is found in the resolved map, check only that request. Otherwise, check all requests.
+	if request, exists := resolved[msgIdStr]; exists {
 
-		if _, exists := transferredIntoBridge[key]; !exists {
-			logger.Warn("transfer-out request for tokens that were never deposited",
-				zap.String("tokenAddress", key))
-			// TODO: Is it better to return or continue here?
-			return 0, errors.New("transfer-out request for tokens that were never deposited")
-			// continue
+		// Checking for nil, since the map value is a pointer.
+		if request == nil {
+			logger.Debug("No matching request found for message ID", zap.String("msgId", msgIdStr))
+			// No matching request was found for the given message ID.
+			return false, fmt.Errorf("no matching request found for message ID %s", msgIdStr)
 		}
 
-		amountIn := transferredIntoBridge[key]
+		if !request.DepositMade {
+			logger.Debug("No deposit made for request out of bridge",
+				zap.String("msgId", msgIdStr),
+				zap.String("assetKey", request.AssetKey),
+				zap.String("amount", request.Amount.String()))
+			// A deposit was not made for the given message ID.
+			return false, &InvariantError{Msg: INVARIANT_NO_DEPOSIT}
+		}
 
-		if amountOut.Cmp(amountIn) > 0 {
-			logger.Warn("requested amount out is larger than amount in")
-			return 0, errors.New("requested amount out is larger than amount in")
+		if !request.DepositSolvent {
+			logger.Debug("Deposit for request out of bridge was insolvent",
+				zap.String("msgId", msgIdStr),
+				zap.String("assetKey", request.AssetKey),
+				zap.String("amount", request.Amount.String()))
+			// A deposit was not solvent for the given message ID.
+			return false, &InvariantError{Msg: INVARIANT_INSUFFICIENT_DEPOSIT}
 		}
 
-		keyParts := strings.Split(key, "-")
-		logger.Info("bridge request processed",
-			zap.String("tokenAddress", keyParts[0]),
-			zap.String("chain", keyParts[1]),
-			zap.String("amountOut", amountOut.String()),
-			zap.String("amountIn", amountIn.String()))
-	}
+		logger.Debug("Request for message ID is valid", zap.String("msgId", msgIdStr))
+	} else {
+		// Any request that is not valid causes the entire transaction to be considered invalid.
+		for msgIdStrLoc, request := range resolved {
+			if !request.DepositMade {
+				logger.Debug("No deposit made for request out of bridge",
+					zap.String("assetKey", request.AssetKey),
+					zap.String("amount", request.Amount.String()))
+				// A request was not fulfilled by a deposit into the bridge.
+				return false, &InvariantError{Msg: INVARIANT_NO_DEPOSIT}
+			}
 
-	logger.Info("Digest processed", zap.String("txDigest", digest), zap.Uint("numEventsProcessed", numEventsProcessed), zap.Uint("numChangesProcessed", numChangesProcessed))
+			if !request.DepositSolvent {
+				logger.Debug("Deposit for request out of bridge was insolvent",
+					zap.String("assetKey", request.AssetKey),
+					zap.String("amount", request.Amount.String()))
+				// A request was not solvent.
+				return false, &InvariantError{Msg: INVARIANT_INSUFFICIENT_DEPOSIT}
+			}
+
+			logger.Debug("Request for message ID is valid", zap.String("msgId", msgIdStrLoc))
+		}
+	}
 
-	return numEventsProcessed, nil
+	return true, nil
 }
 
 type SuiApiResponse interface {
 	GetError() error
 }
 
-func suiApiRequest[T SuiApiResponse](rpc string, method string, params string) (T, error) {
+func suiApiRequest[T SuiApiResponse](ctx context.Context, rpc string, method string, params string) (T, error) {
 	var defaultT T
 
 	// Create the request
 	requestBody := fmt.Sprintf(`{"jsonrpc":"2.0", "id": 1, "method": "%s", "params": %s}`, method, params)
 
-	//nolint:noctx // TODO: this function should use a context
-	req, err := http.NewRequest("POST", rpc, strings.NewReader(requestBody))
+	req, err := http.NewRequestWithContext(ctx, "POST", rpc, strings.NewReader(requestBody))
 	if err != nil {
 		return defaultT, fmt.Errorf("cannot create request: %w", err)
 	}
@@ -250,7 +376,7 @@ func suiApiRequest[T SuiApiResponse](rpc string, method string, params string) (
 		return defaultT, fmt.Errorf("cannot parse response: %w", err)
 	}
 
-	// Check if an error message exists
+	// Check if the API returned an error
 	if res.GetError() != nil {
 		return defaultT, fmt.Errorf("error from Sui RPC: %w", res.GetError())
 	}
@@ -266,7 +392,7 @@ func NewSuiApiConnection(rpc string) SuiApiInterface {
 	return &SuiApiConnection{rpc: rpc}
 }
 
-func (s *SuiApiConnection) GetTransactionBlock(txDigest string) (SuiGetTransactionBlockResponse, error) {
+func (s *SuiApiConnection) GetTransactionBlock(ctx context.Context, txDigest string) (SuiGetTransactionBlockResponse, error) {
 	method := "sui_getTransactionBlock"
 	params := fmt.Sprintf(`[
 				"%s", 
@@ -276,17 +402,17 @@ func (s *SuiApiConnection) GetTransactionBlock(txDigest string) (SuiGetTransacti
 				}
 			]`, txDigest)
 
-	return suiApiRequest[SuiGetTransactionBlockResponse](s.rpc, method, params)
+	return suiApiRequest[SuiGetTransactionBlockResponse](ctx, s.rpc, method, params)
 }
 
-func (s *SuiApiConnection) QueryEvents(filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error) {
+func (s *SuiApiConnection) QueryEvents(ctx context.Context, filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error) {
 	method := "suix_queryEvents"
 	params := fmt.Sprintf(`[%s, %s, %d, %t]`, filter, cursor, limit, descending)
 
-	return suiApiRequest[SuiQueryEventsResponse](s.rpc, method, params)
+	return suiApiRequest[SuiQueryEventsResponse](ctx, s.rpc, method, params)
 }
 
-func (s *SuiApiConnection) TryMultiGetPastObjects(objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error) {
+func (s *SuiApiConnection) TryMultiGetPastObjects(ctx context.Context, objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error) {
 	method := "sui_tryMultiGetPastObjects"
 	params := fmt.Sprintf(`[
 			[
@@ -296,5 +422,5 @@ func (s *SuiApiConnection) TryMultiGetPastObjects(objectId string, version strin
 			{"showContent": true}
 		]`, objectId, version, objectId, previousVersion)
 
-	return suiApiRequest[SuiTryMultiGetPastObjectsResponse](s.rpc, method, params)
+	return suiApiRequest[SuiTryMultiGetPastObjectsResponse](ctx, s.rpc, method, params)
 }

+ 197 - 128
node/pkg/txverifier/sui_test.go

@@ -1,6 +1,7 @@
 package txverifier
 
 import (
+	"context"
 	"encoding/hex"
 	"encoding/json"
 	"fmt"
@@ -18,16 +19,12 @@ const (
 	SuiUsdcAddress      = "5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf"
 )
 
-// func initGlobals() {
-// 	suiEventType = fmt.Sprintf("%s::%s::%s", *suiCoreContract, suiModule, suiEventName)
-// }
-
-func newTestSuiTransferVerifier() *SuiTransferVerifier {
+func newTestSuiTransferVerifier(connection SuiApiInterface) *SuiTransferVerifier {
 	suiCoreContract := "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a"
 	suiTokenBridgeContract := "0x26efee2b51c911237888e5dc6702868abca3c7ac12c53f76ef8eba0697695e3d"
 	suiTokenBridgeEmitter := "0xccceeb29348f71bdd22ffef43a2a19c1f5b5e17c5cca5411529120182672ade5"
 
-	return NewSuiTransferVerifier(suiCoreContract, suiTokenBridgeEmitter, suiTokenBridgeContract)
+	return NewSuiTransferVerifier(suiCoreContract, suiTokenBridgeEmitter, suiTokenBridgeContract, connection)
 }
 
 type MockSuiApiConnection struct {
@@ -61,11 +58,15 @@ func (mock *MockSuiApiConnection) SetObjectsResponse(ObjectResponse SuiTryMultiG
 	mock.ObjectsResponses = append(mock.ObjectsResponses, ObjectResponse)
 }
 
-func (mock *MockSuiApiConnection) QueryEvents(filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error) {
+func (mock *MockSuiApiConnection) ClearObjectResponses() {
+	mock.ObjectsResponses = []SuiTryMultiGetPastObjectsResponse{}
+}
+
+func (mock *MockSuiApiConnection) QueryEvents(ctx context.Context, filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error) {
 	return SuiQueryEventsResponse{}, nil
 }
 
-func (mock *MockSuiApiConnection) GetTransactionBlock(txDigest string) (SuiGetTransactionBlockResponse, error) {
+func (mock *MockSuiApiConnection) GetTransactionBlock(ctx context.Context, txDigest string) (SuiGetTransactionBlockResponse, error) {
 
 	objectChanges := []ObjectChange{}
 
@@ -87,7 +88,7 @@ func (mock *MockSuiApiConnection) GetTransactionBlock(txDigest string) (SuiGetTr
 
 	return SuiGetTransactionBlockResponse{Result: SuiGetTransactionBlockResult{Events: mock.Events, ObjectChanges: objectChanges}}, nil
 }
-func (mock *MockSuiApiConnection) TryMultiGetPastObjects(objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error) {
+func (mock *MockSuiApiConnection) TryMultiGetPastObjects(ctx context.Context, objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error) {
 
 	for _, response := range mock.ObjectsResponses {
 		keyIn := fmt.Sprintf("%s-%s-%s", objectId, version, previousVersion)
@@ -118,12 +119,21 @@ func TestNewSuiApiConnection(t *testing.T) {
 	}
 }
 
+func nextSequenceNumber(seq *uint64) *string {
+	(*seq)++
+	seqStr := fmt.Sprintf("%d", *seq)
+	return &seqStr
+}
+
 func TestProcessEvents(t *testing.T) {
-	suiTxVerifier := newTestSuiTransferVerifier()
+	connection := NewMockSuiApiConnection([]SuiEvent{})
+	suiTxVerifier := newTestSuiTransferVerifier(connection)
 
 	arbitraryEventType := "arbitrary::EventType"
 	arbitraryEmitter := "0x3117"
 
+	sequenceNumber := uint64(0)
+
 	logger := zap.NewNop()
 
 	// Constants used throughout the tests
@@ -135,7 +145,7 @@ func TestProcessEvents(t *testing.T) {
 		name           string
 		events         []SuiEvent
 		expectedResult map[string]*big.Int
-		expectedCount  uint
+		expectedCount  int
 	}{
 		{
 			name:           "TestNoEvents",
@@ -148,10 +158,11 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, 2),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, 2),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{
@@ -164,17 +175,19 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{
@@ -187,17 +200,19 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{
@@ -211,10 +226,11 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &arbitraryEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &arbitraryEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{},
@@ -225,17 +241,19 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{
 					Type: &arbitraryEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{
@@ -248,17 +266,19 @@ func TestProcessEvents(t *testing.T) {
 			events: []SuiEvent{
 				{ // Invalid payload type
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(0, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(0, big.NewInt(100), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{ // Empty payload
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: []byte{},
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  []byte{},
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
 			expectedResult: map[string]*big.Int{},
@@ -269,16 +289,18 @@ func TestProcessEvents(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 
-			result, count := suiTxVerifier.processEvents(tt.events, logger)
+			requests := suiTxVerifier.extractBridgeRequestsFromEvents(tt.events, logger)
 
-			assert.Equal(t, tt.expectedResult, result)
-			assert.Equal(t, tt.expectedCount, count)
+			assert.Equal(t, tt.expectedCount, len(requests))
+			// assert.Equal(t, tt.expectedResult, result)
+			// assert.Equal(t, tt.expectedCount, count)
 		})
 	}
 }
 
 func TestProcessObjectUpdates(t *testing.T) {
-	suiTxVerifier := newTestSuiTransferVerifier()
+	suiTxVerifier := newTestSuiTransferVerifier(nil)
+	ctx := context.TODO()
 
 	logger := zap.NewNop() // zap.Must(zap.NewDevelopment())
 
@@ -303,7 +325,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 		name           string
 		objectChanges  []ObjectChange
 		resultList     []ResultTestCase
-		expectedResult map[string]*big.Int
+		expectedResult map[string]TransferIntoBridge
 		expectedCount  uint
 	}{
 		{
@@ -326,8 +348,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(990)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(990)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectForeignBase",
@@ -349,8 +373,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": big.NewInt(990)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": {Amount: big.NewInt(990)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectNativeNegative",
@@ -372,8 +398,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(-990)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(-990)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectForeignNegative", // Unsure if this test case is possible from Sui API
@@ -395,8 +423,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": big.NewInt(-990)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": {Amount: big.NewInt(-990)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectNativeMultiple",
@@ -432,8 +462,11 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(990), "5075594c01d46f3bcbc4a7ef1462058273bece7793eebd0464963597c9fd0935-21": big.NewInt(4950)},
-			expectedCount:  2,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(990)},
+				"5075594c01d46f3bcbc4a7ef1462058273bece7793eebd0464963597c9fd0935-21": {Amount: big.NewInt(4950)},
+			},
+			expectedCount: 2,
 		},
 		{
 			name: "TestProcessObjectNativeAndForeign",
@@ -469,8 +502,11 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(990), "000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": big.NewInt(4950)},
-			expectedCount:  2,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(990)},
+				"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2":  {Amount: big.NewInt(4950)},
+			},
+			expectedCount: 2,
 		},
 		{
 			name: "TestProcessObjectWrongPackageIdType",
@@ -492,7 +528,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{},
+			expectedResult: map[string]TransferIntoBridge{},
 			expectedCount:  0,
 		},
 		{
@@ -515,7 +551,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{},
+			expectedResult: map[string]TransferIntoBridge{},
 			expectedCount:  0,
 		},
 		{
@@ -538,7 +574,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{},
+			expectedResult: map[string]TransferIntoBridge{},
 			expectedCount:  0,
 		},
 		{
@@ -561,7 +597,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{},
+			expectedResult: map[string]TransferIntoBridge{},
 			expectedCount:  0,
 		},
 		{
@@ -598,8 +634,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": big.NewInt(990)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-2": {Amount: big.NewInt(990)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectRealNumbers",
@@ -621,8 +659,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     8,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(1000000000)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(1000000000)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectNormalize",
@@ -644,8 +684,10 @@ func TestProcessObjectUpdates(t *testing.T) {
 					decimals:     18,
 				},
 			},
-			expectedResult: map[string]*big.Int{"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": big.NewInt(100000000)},
-			expectedCount:  1,
+			expectedResult: map[string]TransferIntoBridge{
+				"9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3-21": {Amount: big.NewInt(100000000)},
+			},
+			expectedCount: 1,
 		},
 		{
 			name: "TestProcessObjectMissingVersion",
@@ -668,7 +710,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 					drop:         true,
 				},
 			},
-			expectedResult: map[string]*big.Int{},
+			expectedResult: map[string]TransferIntoBridge{},
 			expectedCount:  0,
 		},
 	}
@@ -676,6 +718,7 @@ func TestProcessObjectUpdates(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			connection := NewMockSuiApiConnection([]SuiEvent{})
+			suiTxVerifier.suiApiConnection = connection
 
 			assert.Equal(t, len(tt.objectChanges), len(tt.resultList))
 
@@ -691,16 +734,26 @@ func TestProcessObjectUpdates(t *testing.T) {
 			}
 
 			// Run function and check results
-			transferredIntoBridge, numEventsProcessed := suiTxVerifier.processObjectUpdates(tt.objectChanges, connection, logger)
-			assert.Equal(t, tt.expectedResult, transferredIntoBridge)
-			assert.Equal(t, tt.expectedCount, numEventsProcessed)
+			transfers := suiTxVerifier.extractTransfersIntoBridgeFromObjectChanges(ctx, tt.objectChanges, logger)
+
+			// Check that expectedResult and transfers have same number of keys
+			assert.Equal(t, uint(len(tt.expectedResult)), uint(len(transfers)))
+
+			// Check that each key in expectedResult exists in transfers and has the expected amount
+			for key, expectedValue := range tt.expectedResult {
+				actualValue, exists := transfers[key]
+				if !exists {
+					t.Errorf("Expected key %s not found in result", key)
+				} else if actualValue.Amount.Cmp(expectedValue.Amount) != 0 {
+					t.Errorf("For key %s, expected amount %s but got %s", key, expectedValue.Amount.String(), actualValue.Amount.String())
+				}
+			}
 		})
 	}
 }
 
-// TODO
 func TestProcessDigest(t *testing.T) {
-	suiTxVerifier := newTestSuiTransferVerifier()
+	suiTxVerifier := newTestSuiTransferVerifier(nil)
 
 	// Constants used throughout the tests
 	normalObjectNativeType := "0x2::dynamic_field::Field<0x26efee2b51c911237888e5dc6702868abca3c7ac12c53f76ef8eba0697695e3d::token_registry::Key<0x2::sui::SUI>, 0x26efee2b51c911237888e5dc6702868abca3c7ac12c53f76ef8eba0697695e3d::native_asset::NativeAsset<0x2::sui::SUI>>"
@@ -718,6 +771,8 @@ func TestProcessDigest(t *testing.T) {
 	suiEventType := suiTxVerifier.suiEventType
 	suiTokenBridgeEmitter := suiTxVerifier.suiTokenBridgeEmitter
 
+	sequenceNumber := uint64(0)
+
 	logger := zap.Must(zap.NewDevelopment())
 
 	// func processDigest(digest string, suiApiConnection SuiApiInterface, logger *zap.Logger) error {
@@ -727,7 +782,7 @@ func TestProcessDigest(t *testing.T) {
 		objectChanges []ObjectChange
 		resultList    []ResultTestCase
 		suiEvents     []SuiEvent
-		expectedError string
+		expectedError error
 		expectedCount uint
 	}{
 		{
@@ -753,13 +808,13 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
 						Sender:  &suiTokenBridgeEmitter,
 						Payload: generatePayload(1, big.NewInt(990), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					}),
 				},
 			},
-			expectedError: "",
+			expectedError: nil,
 			expectedCount: 1,
 		},
 		{
@@ -785,13 +840,14 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
-			expectedError: "requested amount out is larger than amount in",
+			expectedError: &InvariantError{Msg: INVARIANT_INSUFFICIENT_DEPOSIT},
 			expectedCount: 0,
 		},
 		{
@@ -801,13 +857,14 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
-			expectedError: "transfer-out request for tokens that were never deposited",
+			expectedError: &InvariantError{Msg: INVARIANT_NO_DEPOSIT},
 			expectedCount: 0,
 		},
 		{
@@ -833,13 +890,14 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
-			expectedError: "",
+			expectedError: nil,
 			expectedCount: 1,
 		},
 		{
@@ -849,13 +907,14 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(100000), SuiUsdcAddress, uint16(vaa.ChainIDSui)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
-			expectedError: "transfer-out request for tokens that were never deposited",
+			expectedError: &InvariantError{Msg: INVARIANT_NO_DEPOSIT},
 			expectedCount: 0,
 		},
 		{
@@ -881,20 +940,21 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
 						Sender:  &suiTokenBridgeEmitter,
 						Payload: generatePayload(1, big.NewInt(1000), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					}),
 				},
 			},
-			expectedError: "",
+			expectedError: nil,
 			expectedCount: 2,
 		},
 		{
@@ -920,29 +980,32 @@ func TestProcessDigest(t *testing.T) {
 			suiEvents: []SuiEvent{
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(990), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 				{
 					Type: &suiEventType,
-					Message: &WormholeMessage{
-						Sender:  &suiTokenBridgeEmitter,
-						Payload: generatePayload(1, big.NewInt(1001), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
-					},
+					ParsedJson: uncheckedJsonMarshal(&WormholeMessage{
+						Sender:   &suiTokenBridgeEmitter,
+						Payload:  generatePayload(1, big.NewInt(1001), EthereumUsdcAddress, uint16(vaa.ChainIDEthereum)),
+						Sequence: nextSequenceNumber(&sequenceNumber),
+					}),
 				},
 			},
-			expectedError: "requested amount out is larger than amount in",
+			expectedError: &InvariantError{Msg: INVARIANT_INSUFFICIENT_DEPOSIT},
 			expectedCount: 0,
 		},
 	}
 
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-
+			ctx := context.TODO()
 			assert.Equal(t, len(tt.objectChanges), len(tt.resultList))
 			connection := NewMockSuiApiConnection(tt.suiEvents) // Set events for connection
+			suiTxVerifier.suiApiConnection = connection
 
 			// Add Object Response data for Sui connections
 			for index := 0; index < len(tt.objectChanges); index++ {
@@ -954,14 +1017,20 @@ func TestProcessDigest(t *testing.T) {
 				connection.SetObjectsResponse(responseObject)
 			}
 
-			numProcessed, err := suiTxVerifier.ProcessDigest("HASH", connection, logger)
+			_, err := suiTxVerifier.processDigestInternal(ctx, "HASH", "", logger)
 
-			assert.Equal(t, true, tt.expectedError == "" && err == nil || err != nil && err.Error() == tt.expectedError)
-			assert.Equal(t, tt.expectedCount, numProcessed)
+			assert.Equal(t, true, tt.expectedError == nil && err == nil || err != nil && err.Error() == tt.expectedError.Error())
+			// assert.Equal(t, tt.expectedCount, numProcessed)
 		})
 	}
 }
 
+// Marshal the input to a json.RawMessage, and ignore the error message.
+func uncheckedJsonMarshal(v any) *json.RawMessage {
+	data, _ := json.Marshal(v)
+	return (*json.RawMessage)(&data)
+}
+
 // Generate WormholeMessage payload.
 //
 //	Payload type: payload[0]

+ 71 - 56
node/pkg/txverifier/suitypes.go

@@ -1,21 +1,22 @@
 package txverifier
 
 import (
+	"context"
 	"encoding/hex"
 	"encoding/json"
 	"fmt"
 	"math/big"
 	"regexp"
 	"strings"
-)
 
-const SUI_CHAIN_ID = 21
+	"github.com/wormhole-foundation/wormhole/sdk/vaa"
+)
 
 // The SuiApi interface defines the functions that are required to interact with the Sui RPC.
 type SuiApiInterface interface {
-	QueryEvents(filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error)
-	GetTransactionBlock(txDigest string) (SuiGetTransactionBlockResponse, error)
-	TryMultiGetPastObjects(objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error)
+	QueryEvents(ctx context.Context, filter string, cursor string, limit int, descending bool) (SuiQueryEventsResponse, error)
+	GetTransactionBlock(ctx context.Context, txDigest string) (SuiGetTransactionBlockResponse, error)
+	TryMultiGetPastObjects(ctx context.Context, objectId string, version string, previousVersion string) (SuiTryMultiGetPastObjectsResponse, error)
 }
 
 // This struct defines the standard properties that get returned from the RPC.
@@ -66,8 +67,8 @@ type SuiEvent struct {
 	Sender            *string `json:"sender"`
 	Type              *string `json:"type"`
 	// Bcs               *string          `json:"bcs"`
-	Timestamp *string          `json:"timestampMs"`
-	Message   *WormholeMessage `json:"parsedJson"`
+	Timestamp  *string          `json:"timestampMs"`
+	ParsedJson *json.RawMessage `json:"parsedJson"`
 }
 
 // The response object for sui_GetTransactionBlock
@@ -130,37 +131,41 @@ func (o ObjectChange) ValidateTypeInformation(expectedPackageId string) (success
 // The response object for suix_tryMultiGetPastObjects
 type SuiTryMultiGetPastObjectsResponse struct {
 	SuiApiStandardResponse
-	Result []SuiTryMultiGetPastObjectsResult `json:"result"`
+	Result [2]SuiTryMultiGetPastObjectsResult `json:"result"`
 }
 
 // Gets the balance difference of the two result objects.
-func (r SuiTryMultiGetPastObjectsResponse) GetBalanceDiff() (*big.Int, error) {
+func (r SuiTryMultiGetPastObjectsResponse) GetBalanceChange() (*big.Int, error) {
 
 	if len(r.Result) != 2 {
-		return big.NewInt(0), fmt.Errorf("incorrect number of results received")
+		return nil, fmt.Errorf("incorrect number of objects in Result")
 	}
 
-	// Determine if the asset is wrapped or native
+	// Determine if the asset is wrapped or native. It's only necessary to check if one asset
+	// is wrapped, since `TryMultiGetPastObjects` queries only a single object ID.
 	isWrapped, err := r.Result[0].IsWrapped()
 	if err != nil {
-		return big.NewInt(0), fmt.Errorf("error in checking if object is wrapped: %w", err)
+		return nil, fmt.Errorf("Error checking if object is wrapped: %w", err)
 	}
 
-	// TODO: Should we check that the other asset is also wrapped?
-	newBalance, err := r.Result[0].GetVersionBalance(isWrapped)
+	oldBalance, err := r.Result[1].GetVersionBalance(isWrapped)
 	if err != nil {
-		return big.NewInt(0), fmt.Errorf("error in getting new balance: %w", err)
+		return nil, fmt.Errorf("Error getting old balance: %w", err)
 	}
 
-	oldBalance, err := r.Result[1].GetVersionBalance(isWrapped)
+	newBalance, err := r.Result[0].GetVersionBalance(isWrapped)
 	if err != nil {
-		return big.NewInt(0), fmt.Errorf("error in getting old balance: %w", err)
+		return nil, fmt.Errorf("Error getting new balance: %w", err)
 	}
 
+	// NOTE: newBalance is also modified by this operation, so care should be taken if future changes
+	// relies on the original value of newBalance.
 	difference := newBalance.Sub(newBalance, oldBalance)
-	// If the asset is wrapped, it means that the balance was burned, so the difference should be negative.
+
+	// If the asset is wrapped, it means that the balance should have been burned, implying a reduction
+	// in total supply. Hence, the difference is negative and the sign needs to be inverted.
 	if isWrapped {
-		difference = difference.Mul(difference, big.NewInt(-1))
+		difference.Neg(difference)
 	}
 
 	return difference, nil
@@ -172,9 +177,9 @@ func (r SuiTryMultiGetPastObjectsResponse) GetDecimals() (uint8, error) {
 	decimals1, err1 := r.Result[1].GetDecimals()
 
 	if err0 != nil {
-		return 0, fmt.Errorf("error in getting decimals: %w", err0)
+		return 0, fmt.Errorf("Error getting decimals: %w", err0)
 	} else if err1 != nil {
-		return 0, fmt.Errorf("error in getting decimals: %w", err1)
+		return 0, fmt.Errorf("Error getting decimals: %w", err1)
 	} else if decimals0 != decimals1 {
 		return 0, fmt.Errorf("decimals do not match")
 	}
@@ -187,9 +192,9 @@ func (r SuiTryMultiGetPastObjectsResponse) GetTokenAddress() (string, error) {
 	tokenAddress1, err1 := r.Result[1].GetTokenAddress()
 
 	if err0 != nil {
-		return "", fmt.Errorf("error in getting token address: %w", err0)
+		return "", fmt.Errorf("Error getting token address: %w", err0)
 	} else if err1 != nil {
-		return "", fmt.Errorf("error in getting token address: %w", err1)
+		return "", fmt.Errorf("Error getting token address: %w", err1)
 	} else if tokenAddress0 != tokenAddress1 {
 		return "", fmt.Errorf("token addresses do not match")
 	}
@@ -197,14 +202,14 @@ func (r SuiTryMultiGetPastObjectsResponse) GetTokenAddress() (string, error) {
 	return tokenAddress0, nil
 }
 
-func (r SuiTryMultiGetPastObjectsResponse) GetTokenChain() (uint16, error) {
+func (r SuiTryMultiGetPastObjectsResponse) GetTokenChain() (vaa.ChainID, error) {
 	chain0, err0 := r.Result[0].GetTokenChain()
 	chain1, err1 := r.Result[1].GetTokenChain()
 
 	if err0 != nil {
-		return 0, fmt.Errorf("error in getting token chain: %w", err0)
+		return 0, fmt.Errorf("Error getting token chain: %w", err0)
 	} else if err1 != nil {
-		return 0, fmt.Errorf("error in getting token chain: %w", err1)
+		return 0, fmt.Errorf("Error getting token chain: %w", err1)
 	} else if chain0 != chain1 {
 		return 0, fmt.Errorf("token chain ids do not match")
 	}
@@ -244,9 +249,9 @@ func (r SuiTryMultiGetPastObjectsResponse) GetObjectType() (string, error) {
 	type1, err1 := r.Result[1].GetObjectType()
 
 	if err0 != nil {
-		return "", fmt.Errorf("error in getting token chain: %w", err0)
+		return "", fmt.Errorf("Error getting token chain: %w", err0)
 	} else if err1 != nil {
-		return "", fmt.Errorf("error in getting token chain: %w", err1)
+		return "", fmt.Errorf("Error getting token chain: %w", err1)
 	} else if type0 != type1 {
 		return "", fmt.Errorf("token chain ids do not match")
 	}
@@ -256,17 +261,17 @@ func (r SuiTryMultiGetPastObjectsResponse) GetObjectType() (string, error) {
 
 // The result object for suix_tryMultiGetPastObjects.
 type SuiTryMultiGetPastObjectsResult struct {
-	Status  string           `json:"status"`
-	Details *json.RawMessage `json:"details"`
+	Status  string          `json:"status"`
+	Details json.RawMessage `json:"details"`
 }
 
 // Check if the result object is wrapped.
 func (r SuiTryMultiGetPastObjectsResult) IsWrapped() (bool, error) {
 	path := "content.type"
-	objectType, err := extractFromJsonPath[string](*r.Details, path)
+	objectType, err := extractFromJsonPath[string](r.Details, path)
 
 	if err != nil {
-		return false, fmt.Errorf("error in extracting object type: %w", err)
+		return false, fmt.Errorf("Error extracting object type: %w", err)
 	}
 
 	return strings.Contains(objectType, "wrapped_asset::WrappedAsset"), nil
@@ -290,10 +295,10 @@ func (r SuiTryMultiGetPastObjectsResult) GetVersionBalance(isWrapped bool) (*big
 		path = pathNative
 	}
 
-	supply, err := extractFromJsonPath[string](*r.Details, path)
+	supply, err := extractFromJsonPath[string](r.Details, path)
 
 	if err != nil {
-		return supplyInt, fmt.Errorf("error in extracting wormhole balance: %w", err)
+		return supplyInt, fmt.Errorf("Error extracting wormhole balance: %w", err)
 	}
 
 	supplyInt, success := supplyInt.SetString(supply, 10)
@@ -311,17 +316,17 @@ func (r SuiTryMultiGetPastObjectsResult) GetDecimals() (uint8, error) {
 	// both store the decimals used for truncation in the NativeAsset or WrappedAsset's `decimals()` field
 	path := "content.fields.value.fields.decimals"
 
-	decimals, err := extractFromJsonPath[float64](*r.Details, path)
+	decimals, err := extractFromJsonPath[float64](r.Details, path)
 
 	if err != nil {
-		return 0, fmt.Errorf("error in extracting decimals: %w", err)
+		return 0, fmt.Errorf("Error extracting decimals: %w", err)
 	}
 
 	return uint8(decimals), nil
 }
 
 // Get the result object's token address. This will be the address of the token
-// on it's chain of origin.
+// on its origin chain.
 func (r SuiTryMultiGetPastObjectsResult) GetTokenAddress() (tokenAddress string, err error) {
 	var path string
 
@@ -334,7 +339,7 @@ func (r SuiTryMultiGetPastObjectsResult) GetTokenAddress() (tokenAddress string,
 	wrapped, err := r.IsWrapped()
 
 	if err != nil {
-		return "", fmt.Errorf("error in checking if object is wrapped: %w", err)
+		return "", fmt.Errorf("Error checking if object is wrapped: %w", err)
 	}
 
 	if wrapped {
@@ -343,21 +348,21 @@ func (r SuiTryMultiGetPastObjectsResult) GetTokenAddress() (tokenAddress string,
 		path = pathNative
 	}
 
-	data, err := extractFromJsonPath[[]interface{}](*r.Details, path)
+	data, err := extractFromJsonPath[[]interface{}](r.Details, path)
 
 	if err != nil {
-		return "", fmt.Errorf("error in extracting token address: %w", err)
+		return "", fmt.Errorf("Error extracting token address: %w", err)
 	}
 
 	// data is of type []interface{}, and each element is of type float64.
-	// We need to covnert each element to a byte, and then convert the []byte to a hex string.
+	// We need to convert each element to a byte, and then convert the []byte to a hex string.
 	addrBytes := make([]byte, len(data))
 
 	for i, v := range data {
 		if f, ok := v.(float64); ok {
 			addrBytes[i] = byte(f)
 		} else {
-			return "", fmt.Errorf("error in converting token data to float type")
+			return "", fmt.Errorf("Error converting token data to float type")
 		}
 	}
 
@@ -366,36 +371,46 @@ func (r SuiTryMultiGetPastObjectsResult) GetTokenAddress() (tokenAddress string,
 
 // Get the token's chain ID. This will be the chain ID of the network the token
 // originated from.
-func (r SuiTryMultiGetPastObjectsResult) GetTokenChain() (uint16, error) {
+func (r SuiTryMultiGetPastObjectsResult) GetTokenChain() (vaa.ChainID, error) {
 
 	wrapped, err := r.IsWrapped()
 
 	if err != nil {
-		return 0, fmt.Errorf("error in checking if object is wrapped: %w", err)
+		return 0, fmt.Errorf("Error checking if object is wrapped: %w", err)
 	}
 
 	if !wrapped {
-		return SUI_CHAIN_ID, nil
+		return vaa.ChainIDSui, nil
 	}
 
 	path := "content.fields.value.fields.info.fields.token_chain"
 
-	chain, err := extractFromJsonPath[float64](*r.Details, path)
+	chain, err := extractFromJsonPath[float64](r.Details, path)
 
 	if err != nil {
-		return 0, fmt.Errorf("error in extracting chain: %w", err)
+		return 0, fmt.Errorf("Error extracting chain: %w", err)
 	}
 
-	return uint16(chain), nil
+	if float64(uint16(chain)) != chain {
+		return 0, fmt.Errorf("failed to cast chain ID: %f", chain)
+	}
+
+	chainId, err := vaa.KnownChainIDFromNumber(uint16(chain))
+
+	if err != nil {
+		return 0, fmt.Errorf("Error converting chain to known chain id: %w", err)
+	}
+
+	return chainId, nil
 }
 
 func (r SuiTryMultiGetPastObjectsResult) GetObjectId() (string, error) {
 	path := "objectId"
 
-	objectId, err := extractFromJsonPath[string](*r.Details, path)
+	objectId, err := extractFromJsonPath[string](r.Details, path)
 
 	if err != nil {
-		return "", fmt.Errorf("error in extracting objectId: %w", err)
+		return "", fmt.Errorf("Error extracting objectId: %w", err)
 	}
 
 	return objectId, nil
@@ -404,10 +419,10 @@ func (r SuiTryMultiGetPastObjectsResult) GetObjectId() (string, error) {
 func (r SuiTryMultiGetPastObjectsResult) GetVersion() (string, error) {
 	path := "version"
 
-	version, err := extractFromJsonPath[string](*r.Details, path)
+	version, err := extractFromJsonPath[string](r.Details, path)
 
 	if err != nil {
-		return "", fmt.Errorf("error in extracting version: %w", err)
+		return "", fmt.Errorf("Error extracting version: %w", err)
 	}
 
 	return version, nil
@@ -416,19 +431,19 @@ func (r SuiTryMultiGetPastObjectsResult) GetVersion() (string, error) {
 func (r SuiTryMultiGetPastObjectsResult) GetObjectType() (string, error) {
 	path := "type"
 
-	version, err := extractFromJsonPath[string](*r.Details, path)
+	objectType, err := extractFromJsonPath[string](r.Details, path)
 
 	if err != nil {
-		return "", fmt.Errorf("error in extracting version: %w", err)
+		return "", fmt.Errorf("Error extracting type: %w", err)
 	}
 
-	return version, nil
+	return objectType, nil
 }
 
 // Definition of the WormholeMessage event
 type WormholeMessage struct {
 	ConsistencyLevel *uint8  `json:"consistency_level"`
-	Nonce            *uint64 `json:"nonce"`
+	Nonce            *uint32 `json:"nonce"`
 	Payload          []byte  `json:"payload"`
 	Sender           *string `json:"sender"`
 	Sequence         *string `json:"sequence"`

+ 115 - 1
node/pkg/txverifier/utils.go

@@ -25,6 +25,10 @@ const (
 	// CacheDeleteCount specifies the number of entries to delete from a cache once it reaches CacheMaxSize.
 	// Must be less than CacheMaxSize.
 	CacheDeleteCount = 10
+
+	// Invariant violation messages. There technically only exists two violations.
+	INVARIANT_NO_DEPOSIT           = "bridge transfer requested for tokens that were never deposited"
+	INVARIANT_INSUFFICIENT_DEPOSIT = "bridge transfer requested for more tokens than were deposited"
 )
 
 // msgID is a unique identifier the corresponds to a VAA's "message ID".
@@ -88,6 +92,16 @@ func NewMsgID(in string) (msgID, error) {
 		EmitterAddress: emitterAddress,
 		Sequence:       sequence,
 	}, nil
+
+}
+
+// Custom error type used to signal that a core invariant of the token bridge has been violated.
+type InvariantError struct {
+	Msg string
+}
+
+func (i InvariantError) Error() string {
+	return fmt.Sprintf("invariant violated: %s", i.Msg)
 }
 
 // Extracts the value at the given path from the JSON object, and casts it to
@@ -95,6 +109,10 @@ func NewMsgID(in string) (msgID, error) {
 func extractFromJsonPath[T any](data json.RawMessage, path string) (T, error) {
 	var defaultT T
 
+	if data == nil {
+		return defaultT, fmt.Errorf("supplied JSON data is nil")
+	}
+
 	var obj map[string]interface{}
 	err := json.Unmarshal(data, &obj)
 	if err != nil {
@@ -123,7 +141,7 @@ func extractFromJsonPath[T any](data json.RawMessage, path string) (T, error) {
 		if v, ok := value.(T); ok {
 			return v, nil
 		} else {
-			return defaultT, fmt.Errorf("can't convert to type T")
+			return defaultT, fmt.Errorf("can't convert to type %T", *new(T))
 		}
 	} else {
 		return defaultT, fmt.Errorf("key %s not found", keys[len(keys)-1])
@@ -179,6 +197,7 @@ func SupportedChains() []vaa.ChainID {
 	return []vaa.ChainID{
 		// Mainnets
 		vaa.ChainIDEthereum,
+		vaa.ChainIDSui,
 		// Testnets
 		vaa.ChainIDSepolia,
 		vaa.ChainIDHolesky,
@@ -289,3 +308,98 @@ func upsert(
 	}
 	return nil
 }
+
+type MsgIdToRequestOutOfBridge map[string]*RequestOutOfBridge
+
+// Represents a request to move assets out of the Sui token bridge
+type RequestOutOfBridge struct {
+	AssetKey string
+	Amount   *big.Int
+
+	// Validation parameters
+	DepositMade    bool // True if `assetKey` was deposited into the bridge
+	DepositSolvent bool // True if `assetKey` is considered solvent
+}
+
+type AssetKeyToTransferIntoBridge map[string]*TransferIntoBridge
+
+// Represents a transfer of assets into the Sui token bridge
+type TransferIntoBridge struct {
+	Amount  *big.Int
+	Solvent bool
+}
+
+// validateSolvency checks whether or not the transfers into the brigde are sufficient to cover the
+// requests to transfer assets out of the bridge.
+//   - if an asset is considered insolvent, all requests out of the bridge for that asset are marked
+//     as invalid.
+//   - if an asset is considered solvent, all requests out of the bridge for that asset are marked
+//     as valid.
+//
+// The typical case where this would be important is when multiple bridge transfers are requested in
+// the same transaction. If the transfers are of different assets, it's important that one asset's
+// insolvency does not affect the validity of other bridge transfers.
+func validateSolvency(
+	requests MsgIdToRequestOutOfBridge,
+	transfers AssetKeyToTransferIntoBridge,
+) (MsgIdToRequestOutOfBridge, error) {
+	resolved := make(MsgIdToRequestOutOfBridge)
+
+	insolventAssetKeys := []string{}
+
+	// Check that all requests and transfers have non-nil amounts.
+	// This function assumes that amounts are non-nil, so an error is returned if
+	// any amount is nil. An empty resolution map is also returned.
+	for msgIdStr, request := range requests {
+		if request.Amount == nil {
+			return resolved, fmt.Errorf("nil amount in request out of bridge for msgID %s", msgIdStr)
+		}
+	}
+
+	for assetKey, transfer := range transfers {
+		if transfer.Amount == nil {
+			return resolved, fmt.Errorf("nil amount in transfer into bridge for assetKey %s", assetKey)
+		}
+	}
+
+	// First pass: check if assets were deposited for the requests out of the bridge,
+	// and subtract the requested amounts from the transfers into the bridge.
+	for _, request := range requests {
+		transfer, exists := transfers[request.AssetKey]
+		if !exists {
+			// No transfer into the bridge for this asset. Set depositMade to false.
+			request.DepositMade = false
+			continue
+		}
+
+		// Mark that a deposit was made for this asset.
+		request.DepositMade = true
+
+		// Subtract the requested amount from the transfer amount
+		transfer.Amount = new(big.Int).Sub(transfer.Amount, request.Amount)
+
+		// The moment the transfer amount goes negative, the asset is insolvent.
+		if transfer.Amount.Sign() < 0 {
+			insolventAssetKeys = append(insolventAssetKeys, request.AssetKey)
+		}
+	}
+
+	// Second pass: check each request's assetKey against the list of insolvent assets.
+	// If the assetKey is not in the list, then mark the request as solvent.
+	for msgIdStr, request := range requests {
+		if !request.DepositMade {
+			// No deposit was made for this asset. Mark as insolvent.
+			request.DepositSolvent = false
+		} else if slices.Contains(insolventAssetKeys, request.AssetKey) {
+			// Asset is insolvent.
+			request.DepositSolvent = false
+		} else {
+			// Asset is solvent.
+			request.DepositSolvent = true
+		}
+
+		resolved[msgIdStr] = request
+	}
+
+	return resolved, nil
+}

+ 190 - 0
node/pkg/txverifier/utils_test.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"math/big"
 	"reflect"
+	"slices"
 	"testing"
 
 	"github.com/ethereum/go-ethereum/common"
@@ -76,6 +77,14 @@ func TestExtractFromJsonPath(t *testing.T) {
 			wantErr:  true,
 			typ:      "string",
 		},
+		{
+			name:     "DataIsNil",
+			data:     nil,
+			path:     "test",
+			expected: nil,
+			wantErr:  true,
+			typ:      "string",
+		},
 	}
 
 	for _, tt := range testcases {
@@ -529,3 +538,184 @@ func Test_deleteEntries_AddressKeys(t *testing.T) {
 		})
 	}
 }
+
+func Test_validateSolvency(t *testing.T) {
+	tests := []struct {
+		name             string
+		requests         MsgIdToRequestOutOfBridge
+		transfers        AssetKeyToTransferIntoBridge
+		wantErr          bool
+		invalidTransfers []string
+	}{
+		{
+			name: "SingleRequest_SingleAsset_Solvent",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(100),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers: AssetKeyToTransferIntoBridge{
+				"asset1": {
+					Amount: big.NewInt(200),
+				},
+			},
+			wantErr:          false,
+			invalidTransfers: []string{},
+		},
+		{
+			name: "SingleRequest_SingleAsset_Insolvent",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(300),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers: AssetKeyToTransferIntoBridge{
+				"asset1": {
+					Amount: big.NewInt(200),
+				},
+			},
+			wantErr:          false,
+			invalidTransfers: []string{"msg1"},
+		},
+		{
+			name: "MultipleRequests_MultipleAssets_MixedSolvency",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(100),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+				"msg2": {
+					AssetKey:       "asset2",
+					Amount:         big.NewInt(150),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+				"msg3": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(50),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers: AssetKeyToTransferIntoBridge{
+				"asset1": {
+					Amount: big.NewInt(120),
+				},
+				"asset2": {
+					Amount: big.NewInt(200),
+				},
+			},
+			wantErr: false,
+			// asset1 is insolvent because of msg1 and msg3
+			invalidTransfers: []string{"msg1", "msg3"},
+		},
+		{
+			name: "RequestWithNoMatchingTransfer",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(100),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers:        AssetKeyToTransferIntoBridge{},
+			wantErr:          false,
+			invalidTransfers: []string{"msg1"}, // no transfer for asset1
+		},
+		{
+			name:             "EmptyRequests",
+			requests:         MsgIdToRequestOutOfBridge{},
+			transfers:        AssetKeyToTransferIntoBridge{},
+			wantErr:          false,
+			invalidTransfers: []string{},
+		},
+		{
+			name: "EmptyTransfers",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(100),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers:        AssetKeyToTransferIntoBridge{},
+			wantErr:          false,
+			invalidTransfers: []string{"msg1"}, // no transfer for asset1
+		},
+		{
+			name:             "EmptyRequests",
+			requests:         MsgIdToRequestOutOfBridge{},
+			transfers:        AssetKeyToTransferIntoBridge{},
+			wantErr:          false,
+			invalidTransfers: []string{},
+		},
+		{
+			name: "RequestWithNilAmount",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         nil,
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers:        AssetKeyToTransferIntoBridge{},
+			wantErr:          true,
+			invalidTransfers: []string{},
+		},
+		{
+			name: "TransferWithNilAmount",
+			requests: MsgIdToRequestOutOfBridge{
+				"msg1": {
+					AssetKey:       "asset1",
+					Amount:         big.NewInt(100),
+					DepositMade:    false,
+					DepositSolvent: false, // will be updated by validateSolvency
+				},
+			},
+			transfers: AssetKeyToTransferIntoBridge{
+				"asset1": {
+					Amount: nil,
+				},
+			},
+			wantErr:          true,
+			invalidTransfers: []string{},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			resolved, err := validateSolvency(tt.requests, tt.transfers)
+
+			if (err != nil) != tt.wantErr {
+				t.Errorf("validateSolvency() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+
+			for msgIdStr, req := range resolved {
+				reqIsValid := req.DepositSolvent && req.DepositMade
+				shouldBeInvalid := slices.Contains(tt.invalidTransfers, msgIdStr)
+
+				if reqIsValid && !shouldBeInvalid {
+					// Valid and should be valid, all good.
+				} else if reqIsValid && shouldBeInvalid {
+					// Request was marked as valid, but should be invalid
+					t.Errorf("Expected message ID %s to be marked as invalid, but it was marked as valid", msgIdStr)
+				} else if !reqIsValid && !shouldBeInvalid {
+					// Request was marked as invalid, but should be valid
+					t.Errorf("Expected message ID %s to be marked as valid, but it was marked as invalid", msgIdStr)
+				}
+			}
+		})
+	}
+}

+ 35 - 0
node/pkg/watchers/algorand/watcher.go

@@ -5,6 +5,7 @@ import (
 	"encoding/base32"
 	"encoding/binary"
 	"encoding/hex"
+	"encoding/json"
 	"fmt"
 	"math"
 	"time"
@@ -226,6 +227,9 @@ func (e *Watcher) Run(ctx context.Context) error {
 		return err
 	}
 
+	// Get the node version for troubleshooting
+	e.logVersion(ctx, logger, algodClient)
+
 	status, err := algodClient.StatusAfterBlock(0).Do(ctx)
 	if err != nil {
 		logger.Error("StatusAfterBlock", zap.Error(err))
@@ -322,3 +326,34 @@ func (e *Watcher) Run(ctx context.Context) error {
 		}
 	}
 }
+
+// logVersion calls the versions rpc and logs the node version information.
+func (e *Watcher) logVersion(ctx context.Context, logger *zap.Logger, client *algod.Client) {
+	networkName := "algorand"
+
+	// From: https://developer.algorand.org/docs/rest-apis/algod/v2/#get-versions
+	versionRPC := client.Versions()
+	versionResult, err := versionRPC.Do(ctx)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	// Marshal the BuildVersions struct into raw json to log cleanly.
+	version, err := json.Marshal(&versionResult.Build)
+	if err != nil {
+		logger.Error("problem retrieving node version when marshalling build info",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("network", networkName),
+		zap.String("version", string(version)),
+	)
+}

+ 42 - 0
node/pkg/watchers/aptos/watcher.go

@@ -89,6 +89,9 @@ func (e *Watcher) Run(ctx context.Context) error {
 		zap.String("handle", e.aptosHandle),
 	)
 
+	// Get the node version for troubleshooting
+	e.logVersion(logger)
+
 	// SECURITY: the API guarantees that we only get the events from the right
 	// contract
 	var eventsEndpoint = fmt.Sprintf(`%s/v1/accounts/%s/events/%s/event`, e.aptosRPC, e.aptosAccount, e.aptosHandle)
@@ -376,3 +379,42 @@ func (e *Watcher) observeData(logger *zap.Logger, data gjson.Result, nativeSeq u
 
 	e.msgC <- observation //nolint:channelcheck // The channel to the processor is buffered and shared across chains, if it backs up we should stop processing new observations
 }
+
+// logVersion retrieves the Aptos node version and logs it
+func (e *Watcher) logVersion(logger *zap.Logger) {
+	// From https://www.alchemy.com/docs/node/aptos/aptos-api-endpoints/aptos-api-endpoints/v-1
+	networkName := "aptos"
+	versionsEndpoint := fmt.Sprintf("%s/v1", e.aptosRPC)
+
+	body, err := e.retrievePayload(versionsEndpoint)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	if !gjson.Valid(string(body)) {
+		logger.Error("problem retrieving node version",
+			zap.String("invalid json", string(body)),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	version := gjson.GetBytes(body, "git_hash").String()
+
+	if version == "" {
+		logger.Error("problem retrieving node version",
+			zap.String("empty version", version),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("network", networkName),
+		zap.String("version", version),
+	)
+}

+ 87 - 26
node/pkg/watchers/cosmwasm/watcher.go

@@ -62,6 +62,9 @@ type (
 
 		// b64Encoded indicates if transactions are base 64 encoded.
 		b64Encoded bool
+
+		// Human readable chain name
+		networkName string
 	}
 )
 
@@ -122,6 +125,9 @@ func NewWatcher(
 	// Terra2 no longer base64 encodes parameters.
 	b64Encoded := env == common.UnsafeDevNet || (chainID != vaa.ChainIDInjective && chainID != vaa.ChainIDTerra2 && chainID != vaa.ChainIDTerra)
 
+	// Human readable network name
+	networkName := vaa.ChainID(chainID).String()
+
 	return &Watcher{
 		urlWS:                    urlWS,
 		urlLCD:                   urlLCD,
@@ -134,12 +140,11 @@ func NewWatcher(
 		contractAddressLogKey:    contractAddressLogKey,
 		latestBlockURL:           latestBlockURL,
 		b64Encoded:               b64Encoded,
+		networkName:              networkName,
 	}
 }
 
 func (e *Watcher) Run(ctx context.Context) error {
-	networkName := e.chainID.String()
-
 	p2p.DefaultRegistry.SetNetworkStats(e.chainID, &gossipv1.Heartbeat_Network{
 		ContractAddress: e.contract,
 	})
@@ -155,17 +160,19 @@ func (e *Watcher) Run(ctx context.Context) error {
 		zap.String("chainID", e.chainID.String()),
 	)
 
-	logger.Info("connecting to websocket", zap.String("network", networkName), zap.String("url", e.urlWS))
+	logger.Info("connecting to websocket", zap.String("network", e.networkName), zap.String("url", e.urlWS))
 
 	//nolint:bodyclose // The close is down below. The linter misses it.
 	c, _, err := websocket.Dial(ctx, e.urlWS, nil)
 	if err != nil {
 		p2p.DefaultRegistry.AddErrorCount(e.chainID, 1)
-		connectionErrors.WithLabelValues(networkName, "websocket_dial_error").Inc()
+		connectionErrors.WithLabelValues(e.networkName, "websocket_dial_error").Inc()
 		return fmt.Errorf("websocket dial failed: %w", err)
 	}
 	defer c.Close(websocket.StatusNormalClosure, "")
 
+	e.logVersion(ctx, logger, c)
+
 	c.SetReadLimit(ReadLimitSize)
 
 	// Subscribe to smart contract transactions
@@ -179,7 +186,7 @@ func (e *Watcher) Run(ctx context.Context) error {
 	err = wsjson.Write(ctx, c, command)
 	if err != nil {
 		p2p.DefaultRegistry.AddErrorCount(e.chainID, 1)
-		connectionErrors.WithLabelValues(networkName, "websocket_subscription_error").Inc()
+		connectionErrors.WithLabelValues(e.networkName, "websocket_subscription_error").Inc()
 		return fmt.Errorf("websocket subscription failed: %w", err)
 	}
 
@@ -187,10 +194,10 @@ func (e *Watcher) Run(ctx context.Context) error {
 	_, _, err = c.Read(ctx)
 	if err != nil {
 		p2p.DefaultRegistry.AddErrorCount(e.chainID, 1)
-		connectionErrors.WithLabelValues(networkName, "event_subscription_error").Inc()
+		connectionErrors.WithLabelValues(e.networkName, "event_subscription_error").Inc()
 		return fmt.Errorf("event subscription failed: %w", err)
 	}
-	logger.Info("subscribed to new transaction events", zap.String("network", networkName))
+	logger.Info("subscribed to new transaction events", zap.String("network", e.networkName))
 
 	readiness.SetReady(e.readinessSync)
 
@@ -209,12 +216,12 @@ func (e *Watcher) Run(ctx context.Context) error {
 				// Query and report height and set currentSlotHeight
 				resp, err := client.Get(fmt.Sprintf("%s/%s", e.urlLCD, e.latestBlockURL)) //nolint:noctx // TODO FIXME we should propagate context with Deadline here.
 				if err != nil {
-					logger.Error("query latest block response error", zap.String("network", networkName), zap.Error(err))
+					logger.Error("query latest block response error", zap.String("network", e.networkName), zap.Error(err))
 					continue
 				}
 				blocksBody, err := common.SafeRead(resp.Body)
 				if err != nil {
-					logger.Error("query latest block response read error", zap.String("network", networkName), zap.Error(err))
+					logger.Error("query latest block response read error", zap.String("network", e.networkName), zap.Error(err))
 					errC <- err //nolint:channelcheck // The watcher will exit anyway
 					resp.Body.Close()
 					continue
@@ -222,12 +229,12 @@ func (e *Watcher) Run(ctx context.Context) error {
 				resp.Body.Close()
 
 				// Update the prom metrics with how long the http request took to the rpc
-				queryLatency.WithLabelValues(networkName, "block_latest").Observe(time.Since(msm).Seconds())
+				queryLatency.WithLabelValues(e.networkName, "block_latest").Observe(time.Since(msm).Seconds())
 
 				blockJSON := string(blocksBody)
 				latestBlock := gjson.Get(blockJSON, "block.header.height")
-				logger.Debug("current height", zap.String("network", networkName), zap.Int64("block", latestBlock.Int()))
-				currentSlotHeight.WithLabelValues(networkName).Set(float64(latestBlock.Int()))
+				logger.Debug("current height", zap.String("network", e.networkName), zap.Int64("block", latestBlock.Int()))
+				currentSlotHeight.WithLabelValues(e.networkName).Set(float64(latestBlock.Int()))
 				p2p.DefaultRegistry.SetNetworkStats(e.chainID, &gossipv1.Heartbeat_Network{
 					Height:          latestBlock.Int(),
 					ContractAddress: e.contract,
@@ -253,7 +260,7 @@ func (e *Watcher) Run(ctx context.Context) error {
 
 				tx := hex.EncodeToString(r.TxHash)
 
-				logger.Info("received observation request", zap.String("network", networkName), zap.String("tx_hash", tx))
+				logger.Info("received observation request", zap.String("network", e.networkName), zap.String("tx_hash", tx))
 
 				client := &http.Client{
 					Timeout: time.Second * 5,
@@ -262,12 +269,12 @@ func (e *Watcher) Run(ctx context.Context) error {
 				// Query for tx by hash
 				resp, err := client.Get(fmt.Sprintf("%s/cosmos/tx/v1beta1/txs/%s", e.urlLCD, tx)) //nolint:noctx // TODO FIXME we should propagate context with Deadline here.
 				if err != nil {
-					logger.Error("query tx response error", zap.String("network", networkName), zap.Error(err))
+					logger.Error("query tx response error", zap.String("network", e.networkName), zap.Error(err))
 					continue
 				}
 				txBody, err := common.SafeRead(resp.Body)
 				if err != nil {
-					logger.Error("query tx response read error", zap.String("network", networkName), zap.Error(err))
+					logger.Error("query tx response read error", zap.String("network", e.networkName), zap.Error(err))
 					resp.Body.Close()
 					continue
 				}
@@ -277,14 +284,14 @@ func (e *Watcher) Run(ctx context.Context) error {
 
 				txHashRaw := gjson.Get(txJSON, "tx_response.txhash")
 				if !txHashRaw.Exists() {
-					logger.Error("tx does not have tx hash", zap.String("network", networkName), zap.String("payload", txJSON))
+					logger.Error("tx does not have tx hash", zap.String("network", e.networkName), zap.String("payload", txJSON))
 					continue
 				}
 				txHash := txHashRaw.String()
 
 				events := gjson.Get(txJSON, "tx_response.events")
 				if !events.Exists() {
-					logger.Error("tx has no events", zap.String("network", networkName), zap.String("payload", txJSON))
+					logger.Error("tx has no events", zap.String("network", e.networkName), zap.String("payload", txJSON))
 					continue
 				}
 
@@ -293,12 +300,12 @@ func (e *Watcher) Run(ctx context.Context) error {
 					// Terra Classic upgraded WASM versions starting at block 13215800. If this transaction is from before that, we need to use the old contract address format.
 					blockHeightStr := gjson.Get(txJSON, "tx_response.height")
 					if !blockHeightStr.Exists() {
-						logger.Error("failed to look up block height on old reobserved tx", zap.String("network", networkName), zap.String("txHash", txHash), zap.String("payload", txJSON))
+						logger.Error("failed to look up block height on old reobserved tx", zap.String("network", e.networkName), zap.String("txHash", txHash), zap.String("payload", txJSON))
 						continue
 					}
 					blockHeight := blockHeightStr.Int()
 					if blockHeight < 13215800 {
-						logger.Info("doing look up of old tx", zap.String("network", networkName), zap.String("txHash", txHash), zap.Int64("blockHeight", blockHeight))
+						logger.Info("doing look up of old tx", zap.String("network", e.networkName), zap.String("txHash", txHash), zap.Int64("blockHeight", blockHeight))
 						contractAddressLogKey = "contract_address"
 					}
 				}
@@ -307,8 +314,8 @@ func (e *Watcher) Run(ctx context.Context) error {
 				for _, msg := range msgs {
 					msg.IsReobservation = true
 					e.msgC <- msg //nolint:channelcheck // The channel to the processor is buffered and shared across chains, if it backs up we should stop processing new observations
-					messagesConfirmed.WithLabelValues(networkName).Inc()
-					watchers.ReobservationsByChain.WithLabelValues(networkName, "std").Inc()
+					messagesConfirmed.WithLabelValues(e.networkName).Inc()
+					watchers.ReobservationsByChain.WithLabelValues(e.networkName, "std").Inc()
 				}
 			}
 		}
@@ -323,8 +330,8 @@ func (e *Watcher) Run(ctx context.Context) error {
 				_, message, err := c.Read(ctx)
 				if err != nil {
 					p2p.DefaultRegistry.AddErrorCount(e.chainID, 1)
-					connectionErrors.WithLabelValues(networkName, "channel_read_error").Inc()
-					logger.Error("error reading channel", zap.String("network", networkName), zap.Error(err))
+					connectionErrors.WithLabelValues(e.networkName, "channel_read_error").Inc()
+					logger.Error("error reading channel", zap.String("network", e.networkName), zap.Error(err))
 					errC <- err //nolint:channelcheck // The watcher will exit anyway
 					return nil
 				}
@@ -334,21 +341,21 @@ func (e *Watcher) Run(ctx context.Context) error {
 
 				txHashRaw := gjson.Get(json, "result.events.tx\\.hash.0")
 				if !txHashRaw.Exists() {
-					logger.Warn("message does not have tx hash", zap.String("network", networkName), zap.String("payload", json))
+					logger.Warn("message does not have tx hash", zap.String("network", e.networkName), zap.String("payload", json))
 					continue
 				}
 				txHash := txHashRaw.String()
 
 				events := gjson.Get(json, "result.data.value.TxResult.result.events")
 				if !events.Exists() {
-					logger.Warn("message has no events", zap.String("network", networkName), zap.String("payload", json))
+					logger.Warn("message has no events", zap.String("network", e.networkName), zap.String("payload", json))
 					continue
 				}
 
 				msgs := EventsToMessagePublications(e.contract, txHash, events.Array(), logger, e.chainID, e.contractAddressLogKey, e.b64Encoded)
 				for _, msg := range msgs {
 					e.msgC <- msg //nolint:channelcheck // The channel to the processor is buffered and shared across chains, if it backs up we should stop processing new observations
-					messagesConfirmed.WithLabelValues(networkName).Inc()
+					messagesConfirmed.WithLabelValues(e.networkName).Inc()
 				}
 
 				// We do not send guardian changes to the processor - ETH guardians are the source of truth.
@@ -364,6 +371,60 @@ func (e *Watcher) Run(ctx context.Context) error {
 	}
 }
 
+// logVersion uses the abci_info rpc to log node version information.
+func (e *Watcher) logVersion(ctx context.Context, logger *zap.Logger, c *websocket.Conn) {
+	// NOTE: This function is ugly because this watcher doesn't use a
+	//       client library. It can be rewritten in a followup change.
+	//
+	// Get information about the application (the /status endpoint returns the
+	// version of the tendermint or cometbft library, no the actual application
+	// version.
+	//
+	// From:
+	//    https://docs.cometbft.com/v0.34/rpc/#/ABCI/abci_info
+	//    https://docs.tendermint.com/v0.34/rpc/#/ABCI/abci_info
+	command := map[string]interface{}{
+		"jsonrpc": "2.0",
+		"method":  "abci_info",
+		"params":  []interface{}{},
+		"id":      1,
+	}
+
+	err := wsjson.Write(ctx, c, command)
+	if err != nil {
+		logger.Error("problem retrieving node version when building request",
+			zap.String("network", e.networkName),
+			zap.Error(err),
+		)
+		return
+	}
+
+	// Wait for the success response
+	_, data, err := c.Read(ctx)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.String("network", e.networkName),
+			zap.Error(err),
+		)
+		return
+	}
+
+	version := gjson.GetBytes(data, "result.response.version").String()
+
+	if version == "" {
+		logger.Error("problem retrieving node version due to an empty response version ",
+			zap.String("network", e.networkName),
+			zap.String("response", string(data)),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("network", e.networkName),
+		zap.String("version", version),
+	)
+}
+
 func EventsToMessagePublications(contract string, txHash string, events []gjson.Result, logger *zap.Logger, chainID vaa.ChainID, contractAddressKey string, b64Encoded bool) []*common.MessagePublication {
 	networkName := chainID.String()
 	msgs := make([]*common.MessagePublication, 0, len(events))

+ 1 - 1
node/pkg/watchers/evm/ccq_backfill.go

@@ -263,7 +263,7 @@ func (w *Watcher) ccqBackfillGetBlocks(ctx context.Context, initialBlockNum uint
 	blocks := Blocks{}
 	for i := range results {
 		if results[i].err != nil {
-			return nil, fmt.Errorf("failed to get block: %w", err)
+			return nil, fmt.Errorf("failed to get block: %w", results[i].err)
 		}
 
 		m := &results[i].result

+ 2 - 0
node/pkg/watchers/evm/chain_config.go

@@ -104,6 +104,7 @@ var (
 		vaa.ChainIDXRPLEVM: {Finalized: true, Safe: true, EvmChainID: 1440000, PublicRPC: "https://rpc.xrplevm.org/", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
 		// vaa.ChainIDPlasma: {Finalized: true, Safe: true, EvmChainID: _, PublicRPC: "", ContractAddr: ""},
 		vaa.ChainIDCreditCoin: {Finalized: true, Safe: true, EvmChainID: 102030, PublicRPC: "https://mainnet3.creditcoin.network", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
+		// vaa.ChainIDMoca: Not in Mainnet yet
 	}
 
 	// testnetChainConfig specifies the configuration for all chains enabled in Testnet.
@@ -154,6 +155,7 @@ var (
 		vaa.ChainIDXRPLEVM:         {Finalized: true, Safe: true, EvmChainID: 1449000, PublicRPC: "https://rpc.testnet.xrplevm.org/", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
 		vaa.ChainIDPlasma:          {Finalized: true, Safe: true, EvmChainID: 9746, PublicRPC: "https://testnet-rpc.plasma.to", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
 		vaa.ChainIDCreditCoin:      {Finalized: true, Safe: true, EvmChainID: 102031, PublicRPC: "https://rpc.cc3-testnet.creditcoin.network", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
+		vaa.ChainIDMoca:            {Finalized: true, Safe: true, EvmChainID: 222888, PublicRPC: "https://testnet-rpc.mocachain.org/", ContractAddr: "0xaBf89de706B583424328B54dD05a8fC986750Da8"},
 		vaa.ChainIDSepolia:         {Finalized: true, Safe: true, EvmChainID: 11155111, PublicRPC: "https://ethereum-sepolia-rpc.publicnode.com", ContractAddr: "0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78"},
 		vaa.ChainIDArbitrumSepolia: {Finalized: true, Safe: true, EvmChainID: 421614, PublicRPC: "https://arbitrum-sepolia-rpc.publicnode.com", ContractAddr: "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35"},
 		vaa.ChainIDBaseSepolia:     {Finalized: true, Safe: true, EvmChainID: 84532, PublicRPC: "https://base-sepolia-rpc.publicnode.com", ContractAddr: "0x79A1027a6A159502049F10906D333EC57E95F083"},

+ 13 - 8
node/pkg/watchers/evm/custom_consistency_level.go

@@ -70,12 +70,15 @@ type CCLMap map[vaa.ChainID]string
 var (
 	// cclMainnetMap specifies the custom consistency level contracts for each mainnet chain.
 	cclMainnetMap = CCLMap{
-		vaa.ChainIDLinea: "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
+		vaa.ChainIDEthereum: "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
+		vaa.ChainIDLinea:    "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
 	}
 
 	// cclTestnetMap specifies the custom consistency level contracts for each testnet chain.
 	cclTestnetMap = CCLMap{
-		vaa.ChainIDLinea: "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
+		vaa.ChainIDEthereum: "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
+		vaa.ChainIDSepolia:  "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
+		vaa.ChainIDLinea:    "0x6A4B4A882F5F0a447078b4Fd0b4B571A82371ec2",
 	}
 
 	// cclDevnetMap specifies the custom consistency level contracts for each devnet chain.
@@ -138,7 +141,7 @@ func (w *Watcher) cclEnable(ctx context.Context) error {
 func (w *Watcher) cclHandleMessage(parentCtx context.Context, pe *pendingMessage, emitterAddr ethCommon.Address) {
 	if !w.cclEnabled {
 		w.cclLogger.Error("received an observation with custom handling but the feature is not enabled, treating as finalized", zap.String("msgId", pe.message.MessageIDString()))
-		pe.message.ConsistencyLevel = vaa.ConsistencyLevelFinalized
+		pe.effectiveCL = vaa.ConsistencyLevelFinalized
 		return
 	}
 
@@ -153,14 +156,16 @@ func (w *Watcher) cclHandleMessage(parentCtx context.Context, pe *pendingMessage
 	r, err := w.cclReadAndParseConfig(parentCtx, emitterAddr)
 	if err != nil {
 		w.cclLogger.Error("failed to look up config for custom handling, treating as finalized", zap.String("msgId", pe.message.MessageIDString()), zap.Error(err))
-		pe.message.ConsistencyLevel = vaa.ConsistencyLevelFinalized
+		// If one guardian has an error reading the config, but others do not, they will produce different VAA hashes.
+		// To avoid that, we set the effectiveCL to finalized, but leave the message.ConsistencyLevel as Custom.
+		pe.effectiveCL = vaa.ConsistencyLevelFinalized
 		return
 	}
 
 	switch req := r.(type) {
 	case *NothingSpecial:
 		w.cclLogger.Info("received an observation with the nothing special specifier, treating as finalized", zap.String("msgId", pe.message.MessageIDString()))
-		pe.message.ConsistencyLevel = vaa.ConsistencyLevelFinalized
+		pe.effectiveCL = vaa.ConsistencyLevelFinalized
 	case *AdditionalBlocks:
 		if req.consistencyLevel != vaa.ConsistencyLevelFinalized && req.consistencyLevel != vaa.ConsistencyLevelSafe && req.consistencyLevel != vaa.ConsistencyLevelPublishImmediately {
 			w.cclLogger.Error("received an observation with an additional blocks specifier but the configured consistency level is invalid, treating as finalized",
@@ -168,7 +173,7 @@ func (w *Watcher) cclHandleMessage(parentCtx context.Context, pe *pendingMessage
 				zap.Uint8("consistencyLevel", req.consistencyLevel),
 				zap.Uint16("additionalBlocks", req.additionalBlocks),
 			)
-			pe.message.ConsistencyLevel = vaa.ConsistencyLevelFinalized
+			pe.effectiveCL = vaa.ConsistencyLevelFinalized
 			return
 		}
 
@@ -177,11 +182,11 @@ func (w *Watcher) cclHandleMessage(parentCtx context.Context, pe *pendingMessage
 			zap.Uint8("consistencyLevel", req.consistencyLevel),
 			zap.Uint16("additionalBlocks", req.additionalBlocks),
 		)
-		pe.message.ConsistencyLevel = req.consistencyLevel
+		pe.effectiveCL = req.consistencyLevel
 		pe.additionalBlocks = uint64(req.additionalBlocks)
 	default:
 		w.cclLogger.Error("invalid custom handling type, treating as finalized", zap.Stringer("emitterAddress", emitterAddr), zap.Uint8("reqType", uint8(req.Type())), zap.Error(err))
-		pe.message.ConsistencyLevel = vaa.ConsistencyLevelFinalized
+		pe.effectiveCL = vaa.ConsistencyLevelFinalized
 	}
 }
 

+ 97 - 0
node/pkg/watchers/evm/custom_consistency_level_test.go

@@ -2,12 +2,18 @@ package evm
 
 import (
 	"bytes"
+	"context"
 	"encoding/binary"
 	"encoding/hex"
 	"testing"
+	"time"
 
+	"github.com/certusone/wormhole/node/pkg/common"
+	ethCommon "github.com/ethereum/go-ethereum/common"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
+	"github.com/wormhole-foundation/wormhole/sdk/vaa"
+	"go.uber.org/zap"
 )
 
 func TestCclParseConfigInvalidType(t *testing.T) {
@@ -92,3 +98,94 @@ func testCclParseAdditionalBlocksConfig(t *testing.T, str string) error {
 	_, err = cclParseAdditionalBlocksConfig(reader)
 	return err
 }
+
+// TestCclHandleMessageSetsEffectiveCL verifies that when cclHandleMessage processes
+// an AdditionalBlocks request, it sets pe.effectiveCL (not pe.message.ConsistencyLevel).
+func TestCclHandleMessageSetsEffectiveCL(t *testing.T) {
+	logger := zap.NewNop()
+
+	// Create a watcher with CCL enabled
+	w := &Watcher{
+		cclEnabled: true,
+		cclLogger:  logger,
+		cclCache:   make(CCLCache),
+	}
+
+	// Create a message with ConsistencyLevelCustom
+	msg := &common.MessagePublication{
+		ConsistencyLevel: vaa.ConsistencyLevelCustom,
+	}
+
+	// Create a pendingMessage with initial effectiveCL = 0
+	pe := &pendingMessage{
+		message:     msg,
+		effectiveCL: 0,
+	}
+
+	// Mock the contract response by pre-populating the cache
+	// This simulates the contract returning Finalized (200) with 42 additional blocks
+	emitterAddr := ethCommon.HexToAddress("0x1234567890123456789012345678901234567890")
+	buf, err := hex.DecodeString("01c8002a00000000000000000000000000000000000000000000000000000000")
+	require.NoError(t, err)
+	require.Equal(t, 32, len(buf))
+	w.cclCache[emitterAddr] = CCLCacheEntry{
+		data:     *(*[32]byte)(buf),
+		readTime: time.Now(), // Set timestamp to ensure cache is valid
+	}
+
+	// Call cclHandleMessage - this is what we're testing
+	ctx := context.Background()
+	w.cclHandleMessage(ctx, pe, emitterAddr)
+
+	// CRITICAL ASSERTION: pe.effectiveCL should be set to the contract's consistency level
+	assert.Equal(t, uint8(200), pe.effectiveCL, "effectiveCL should be set from contract")
+
+	// CRITICAL ASSERTION: pe.message.ConsistencyLevel should REMAIN unchanged
+	assert.Equal(t, vaa.ConsistencyLevelCustom, pe.message.ConsistencyLevel, "message.ConsistencyLevel must stay Custom for VAA hash consistency")
+}
+
+// TestCclHandleMessageInvalidCLSetsEffectiveCL verifies that when the contract returns
+// an INVALID consistency level for AdditionalBlocks, we set pe.effectiveCL (not pe.message.ConsistencyLevel).
+func TestCclHandleMessageInvalidCLSetsEffectiveCL(t *testing.T) {
+	logger := zap.NewNop()
+
+	// Create a watcher with CCL enabled
+	w := &Watcher{
+		cclEnabled: true,
+		cclLogger:  logger,
+		cclCache:   make(CCLCache),
+	}
+
+	// Create a message with ConsistencyLevelCustom
+	msg := &common.MessagePublication{
+		ConsistencyLevel: vaa.ConsistencyLevelCustom,
+	}
+
+	// Create a pendingMessage with initial effectiveCL = 0
+	pe := &pendingMessage{
+		message:     msg,
+		effectiveCL: 0,
+	}
+
+	// Mock the contract response with an INVALID consistency level (99)
+	// Valid values are: Finalized (200), Safe (201), PublishImmediately (1)
+	emitterAddr := ethCommon.HexToAddress("0x1234567890123456789012345678901234567890")
+	buf, err := hex.DecodeString("0163002a00000000000000000000000000000000000000000000000000000000")
+	require.NoError(t, err)
+	require.Equal(t, 32, len(buf))
+	w.cclCache[emitterAddr] = CCLCacheEntry{
+		data:     *(*[32]byte)(buf),
+		readTime: time.Now(), // Set timestamp to ensure cache is valid
+	}
+
+	// Call cclHandleMessage - this should handle the invalid CL gracefully
+	ctx := context.Background()
+	w.cclHandleMessage(ctx, pe, emitterAddr)
+
+	// CRITICAL ASSERTION: pe.effectiveCL should be set to Finalized (fallback for invalid CL)
+	assert.Equal(t, vaa.ConsistencyLevelFinalized, pe.effectiveCL, "effectiveCL should be set to Finalized for invalid CL")
+
+	// CRITICAL ASSERTION: pe.message.ConsistencyLevel should REMAIN unchanged
+	// This ensures all Guardians produce the same VAA hash even when contract returns invalid data
+	assert.Equal(t, vaa.ConsistencyLevelCustom, pe.message.ConsistencyLevel, "message.ConsistencyLevel must stay Custom for VAA hash consistency")
+}

+ 3 - 3
node/pkg/watchers/evm/reobserve.go

@@ -51,7 +51,7 @@ func (w *Watcher) handleReobservationRequest(ctx context.Context, chainId vaa.Ch
 			pubErr := w.verifyAndPublish(msg, ctx, eth_common.BytesToHash(msg.TxID), receipt)
 
 			if pubErr != nil {
-				w.logger.Error("Error when publishing message", zap.Error(err))
+				w.logger.Error("Error when publishing message", zap.Error(pubErr))
 			} else {
 				numObservations++
 			}
@@ -79,7 +79,7 @@ func (w *Watcher) handleReobservationRequest(ctx context.Context, chainId vaa.Ch
 				pubErr := w.verifyAndPublish(msg, ctx, eth_common.BytesToHash(msg.TxID), receipt)
 
 				if pubErr != nil {
-					w.logger.Error("Error when publishing message", zap.Error(err))
+					w.logger.Error("Error when publishing message", zap.Error(pubErr))
 					// Avoid increasing the observations metrics for messages that weren't published.
 					continue
 				}
@@ -125,7 +125,7 @@ func (w *Watcher) handleReobservationRequest(ctx context.Context, chainId vaa.Ch
 			pubErr := w.verifyAndPublish(msg, ctx, eth_common.BytesToHash(msg.TxID), receipt)
 
 			if pubErr != nil {
-				w.logger.Error("Error when publishing message", zap.Error(err))
+				w.logger.Error("Error when publishing message", zap.Error(pubErr))
 			} else {
 				numObservations++
 			}

+ 29 - 5
node/pkg/watchers/evm/watcher.go

@@ -166,6 +166,7 @@ type (
 	pendingMessage struct {
 		message          *common.MessagePublication
 		height           uint64
+		effectiveCL      uint8
 		additionalBlocks uint64
 	}
 )
@@ -340,6 +341,9 @@ func (w *Watcher) Run(parentCtx context.Context) error {
 		w.ccqTimestampCache = NewBlocksByTimestamp(BTS_MAX_BLOCKS, (w.env == common.UnsafeDevNet))
 	}
 
+	// Get the node version for troubleshooting
+	w.logVersion(ctx, logger)
+
 	errC := make(chan error)
 
 	// Subscribe to new message publications. We don't use a timeout here because the LogPollConnector
@@ -522,7 +526,7 @@ func (w *Watcher) Run(parentCtx context.Context) error {
 				w.pendingMu.Lock()
 				for key, pLock := range w.pending {
 					// Don't process the observation if it is waiting on a different consistency level.
-					if !consistencyLevelMatches(thisConsistencyLevel, pLock.message.ConsistencyLevel) {
+					if !consistencyLevelMatches(thisConsistencyLevel, pLock.effectiveCL) {
 						continue
 					}
 
@@ -840,8 +844,9 @@ func (w *Watcher) postMessage(
 	}
 
 	pendingEntry := &pendingMessage{
-		message: msg,
-		height:  ev.Raw.BlockNumber,
+		message:     msg,
+		height:      ev.Raw.BlockNumber,
+		effectiveCL: ev.ConsistencyLevel, // Initially from event; may be overridden by CCL contract
 	}
 
 	if msg.ConsistencyLevel == vaa.ConsistencyLevelCustom {
@@ -859,8 +864,9 @@ func (w *Watcher) postMessage(
 		zap.Stringer("blockHash", ev.Raw.BlockHash),
 		zap.Uint64("blockTime", blockTime),
 		zap.Uint32("Nonce", ev.Nonce),
-		zap.Uint8("OrigConsistencyLevel", ev.ConsistencyLevel),
-		zap.Uint8("ConsistencyLevel", pendingEntry.message.ConsistencyLevel),
+		zap.Uint8("OrigConsistencyLevel", ev.ConsistencyLevel),               // What was in the event
+		zap.Uint8("ConsistencyLevel", pendingEntry.message.ConsistencyLevel), // What goes into the observation
+		zap.Uint8("effectiveCL", pendingEntry.effectiveCL),                   // What was in the contract
 		zap.Uint64("AdditionalBlocks", pendingEntry.additionalBlocks),
 	)
 
@@ -1005,6 +1011,24 @@ func (w *Watcher) waitForBlockTime(ctx context.Context, logger *zap.Logger, errC
 	}
 }
 
+// logVersion runs the web3_clientVersion rpc and logs the node version
+func (w *Watcher) logVersion(ctx context.Context, logger *zap.Logger) {
+	// From: https://ethereum.org/en/developers/docs/apis/json-rpc/#web3_clientversion
+	var version string
+	if err := w.ethConn.RawCallContext(ctx, &version, "web3_clientVersion"); err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", w.networkName),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("version", version),
+		zap.String("network", w.networkName),
+	)
+}
+
 // msgIdFromLogEvent formats the message ID (chain/emitterAddress/seqNo) from a log event.
 func msgIdFromLogEvent(chainID vaa.ChainID, ev *ethabi.AbiLogMessagePublished) string {
 	return fmt.Sprintf("%v/%v/%v", uint16(chainID), PadAddress(ev.Sender), ev.Sequence)

+ 1 - 0
node/pkg/watchers/ibc/watcher.go

@@ -530,6 +530,7 @@ func parseIbcReceivePublishEvent(logger *zap.Logger, desiredContract string, eve
 
 	str, err = attributes.GetAsString("action")
 	if err != nil || str != "receive_publish" {
+		//nolint:nilerr // Returning nil here just means that no `receive_publish` action exists. We don't want to continue processing in this case.
 		return nil, nil
 	}
 

+ 6 - 0
node/pkg/watchers/near/nearapi/mock/mock_server.go

@@ -125,6 +125,12 @@ func (s *ForwardingCachingServer) ServeHTTP(w http.ResponseWriter, req *http.Req
 		return
 	}
 
+	// Mock the status request to return a version
+	if bytes.Contains(origReqBody, []byte("\"method\": \"status\"")) {
+		_, _ = w.Write([]byte(`{"id": "dontcare", "jsonrpc": "2.0", "result": {"version": "1.0.0"}}`))
+		return
+	}
+
 	reqBody := s.RewriteReq(origReqBody)
 	req.Body = io.NopCloser(bytes.NewReader(reqBody))
 

+ 17 - 1
node/pkg/watchers/near/nearapi/nearapi.go

@@ -14,7 +14,7 @@ import (
 )
 
 const (
-	nearRPCTimeout = 5 * time.Second
+	nearRPCTimeout = 20 * time.Second
 	/*
 		NEAR JSON RPC node is starting up with 4 workers
 		(https://github.com/near/nearcore/blob/8dc9a0bab8aa4648fc7af777e9fa7e3e545c95a5/chain/jsonrpc/src/lib.rs#L1372)
@@ -42,6 +42,7 @@ type (
 		GetFinalBlock(ctx context.Context) (Block, error)
 		GetChunk(ctx context.Context, chunkHeader ChunkHeader) (Chunk, error)
 		GetTxStatus(ctx context.Context, txHash string, senderAccountId string) ([]byte, error)
+		GetVersion(ctx context.Context) (string, error)
 	}
 	NearApiImpl struct {
 		nearRPC NearRpc
@@ -176,6 +177,21 @@ func (n NearApiImpl) GetTxStatus(ctx context.Context, txHash string, senderAccou
 	return n.nearRPC.Query(ctx, s)
 }
 
+func (n NearApiImpl) GetVersion(ctx context.Context) (string, error) {
+	s := `{"id": "dontcare", "jsonrpc": "2.0", "method": "status"}`
+	versionBytes, err := n.nearRPC.Query(ctx, s)
+	if err != nil {
+		return "", err
+	}
+
+	version, err := VersionFromBytes(versionBytes)
+	if err != nil {
+		return "", err
+	}
+
+	return version, nil
+}
+
 func IsWellFormedHash(hash string) error {
 	hashBytes, err := base58.Decode(hash)
 	if err != nil {

+ 16 - 0
node/pkg/watchers/near/nearapi/types.go

@@ -82,6 +82,22 @@ func NewBlockFromBytes(bytes []byte) (Block, error) {
 	}, nil
 }
 
+func VersionFromBytes(bytes []byte) (string, error) {
+	if !gjson.ValidBytes(bytes) {
+		return "", errors.New("invalid json")
+	}
+
+	json := gjson.ParseBytes(bytes)
+
+	version := jsonGetString(json, "result.version")
+
+	if version == "" {
+		return "", errors.New("invalid json")
+	}
+
+	return version, nil
+}
+
 func (b Block) Timestamp() uint64 {
 	ts_nanosec := jsonGetUint(b.json, "result.header.timestamp")
 	return ts_nanosec / 1000000000

+ 1 - 1
node/pkg/watchers/near/poll.go

@@ -83,7 +83,7 @@ func (e *Watcher) ReadFinalChunksSince(logger *zap.Logger, ctx context.Context,
 
 	finalBlock, err := e.nearAPI.GetFinalBlock(ctx)
 	if err != nil {
-		// We can suppress this error because this is equivalent to saying that we haven't found any blocks since.
+		//nolint:nilerr // We can suppress this error because this is equivalent to saying that we haven't found any blocks since.
 		return startHeight, nil
 	}
 

+ 22 - 0
node/pkg/watchers/near/watcher.go

@@ -292,6 +292,9 @@ func (e *Watcher) Run(ctx context.Context) error {
 		ContractAddress: e.wormholeAccount,
 	})
 
+	// Get the node version for troubleshooting
+	e.logVersion(ctx, logger)
+
 	logger.Info("Near watcher connecting to RPC node ", zap.String("url", e.nearRPC))
 
 	// start metrics reporter
@@ -350,3 +353,22 @@ func (e *Watcher) schedule(ctx context.Context, job *transactionProcessingJob, d
 		})
 	return nil
 }
+
+// logVersion retrieves the NEAR node version and logs it
+func (e *Watcher) logVersion(ctx context.Context, logger *zap.Logger) {
+	// From: https://www.quicknode.com/docs/near/status
+	networkName := "near"
+	version, err := e.nearAPI.GetVersion(ctx)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("version", version),
+		zap.String("network", networkName),
+	)
+}

+ 21 - 0
node/pkg/watchers/solana/client.go

@@ -402,6 +402,9 @@ func (s *SolanaWatcher) Run(ctx context.Context) error {
 		}
 	}
 
+	// Get the node version for troubleshooting
+	s.logVersion(ctx, logger)
+
 	common.RunWithScissors(ctx, s.errC, "SolanaWatcher", func(ctx context.Context) error {
 		timer := time.NewTicker(pollInterval)
 		defer timer.Stop()
@@ -1170,6 +1173,24 @@ func (s *SolanaWatcher) checkCommitment(commitment rpc.CommitmentType, isReobser
 	return true
 }
 
+// logVersion runs the getVersion rpc and logs the node version.
+func (s *SolanaWatcher) logVersion(ctx context.Context, logger *zap.Logger) {
+	// From: https://docs.solana.com/api/http#getversion
+	v, err := s.rpcClient.GetVersion(ctx)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", s.networkName),
+		)
+		return
+	}
+	logger.Info("node version",
+		zap.String("network", s.networkName),
+		zap.Int64("feature_set", v.FeatureSet),
+		zap.String("version", v.SolanaCore),
+	)
+}
+
 // isPossibleWormholeMessage searches the logs on a transaction to see if it contains a Wormhole core PostMessage.
 // It looks for a log for the core contract, followed by one for the sequence number.
 func isPossibleWormholeMessage(whLogPrefix string, logMessages []string) bool {

+ 16 - 5
node/pkg/watchers/sui/config.go

@@ -11,10 +11,11 @@ import (
 )
 
 type WatcherConfig struct {
-	NetworkID        watchers.NetworkID // human readable name
-	ChainID          vaa.ChainID        // ChainID
-	Rpc              string
-	SuiMoveEventType string
+	NetworkID         watchers.NetworkID // human readable name
+	ChainID           vaa.ChainID
+	Rpc               string
+	SuiMoveEventType  string
+	TxVerifierEnabled bool
 }
 
 func (wc *WatcherConfig) GetNetworkID() watchers.NetworkID {
@@ -36,5 +37,15 @@ func (wc *WatcherConfig) Create(
 ) (supervisor.Runnable, interfaces.Reobserver, error) {
 	var devMode = (env == common.UnsafeDevNet)
 
-	return NewWatcher(wc.Rpc, wc.SuiMoveEventType, devMode, msgC, obsvReqC).Run, nil, nil
+	watcher, err := NewWatcher(
+		wc.Rpc,
+		wc.SuiMoveEventType,
+		devMode,
+		msgC,
+		obsvReqC,
+		env,
+		wc.TxVerifierEnabled,
+	)
+
+	return watcher.Run, nil, err
 }

+ 64 - 0
node/pkg/watchers/sui/msg_verifier.go

@@ -0,0 +1,64 @@
+package sui
+
+import (
+	"context"
+	"fmt"
+
+	"github.com/certusone/wormhole/node/pkg/common"
+	"github.com/wormhole-foundation/wormhole/sdk/vaa"
+	"go.uber.org/zap"
+)
+
+func (e *Watcher) verify(
+	ctx context.Context,
+	msg *common.MessagePublication,
+	txDigest string,
+	logger *zap.Logger,
+) (common.MessagePublication, error) {
+
+	if msg == nil {
+		return common.MessagePublication{}, fmt.Errorf("MessagePublication is nil")
+	}
+
+	if msg.VerificationState() != common.NotVerified {
+		return common.MessagePublication{}, fmt.Errorf("MessagePublication already has a non-default verification state")
+	}
+
+	if e.suiTxVerifier == nil {
+		return common.MessagePublication{}, fmt.Errorf("transfer verifier is nil")
+	}
+
+	localMsg := *msg
+
+	var verificationState common.VerificationState
+
+	// If the payload does not represent a transfer, or if the emitter address of the message does
+	// not match the token bridge emitter, mark the message's verification state as NotApplicable.
+	if !vaa.IsTransfer(msg.Payload) || "0x"+localMsg.EmitterAddress.String() != e.suiTxVerifier.GetTokenBridgeEmitter() {
+		verificationState = common.NotApplicable
+	} else {
+		// Validate the transfers in the transaction block associated with the
+		// transaction digest.
+		valid, err := e.suiTxVerifier.ProcessDigest(ctx, txDigest, localMsg.MessageIDString(), logger)
+
+		if err != nil {
+			logger.Error("an internal Sui tx verifier error occurred: ", zap.Error(err))
+			verificationState = common.CouldNotVerify
+		} else if valid {
+			verificationState = common.Valid
+		} else {
+			// If no error and validation failed, mark as Anomalous. For Sui transfers, Anomalous is used, since there are
+			// more edge cases that need to be considered and covered before outright rejecting a transfer.
+			verificationState = common.Anomalous
+		}
+	}
+
+	// Update the state of the message.
+	updateErr := localMsg.SetVerificationState(verificationState)
+	if updateErr != nil {
+		errMsg := fmt.Sprintf("could not set verification state for message with txID %s", localMsg.TxIDString())
+		return common.MessagePublication{}, fmt.Errorf("%s %w", errMsg, updateErr)
+	}
+
+	return localMsg, nil
+}

+ 155 - 18
node/pkg/watchers/sui/watcher.go

@@ -10,6 +10,7 @@ import (
 	"strings"
 	"time"
 
+	"encoding/hex"
 	"encoding/json"
 
 	"github.com/certusone/wormhole/node/pkg/common"
@@ -24,8 +25,11 @@ import (
 	"github.com/prometheus/client_golang/prometheus/promauto"
 
 	"github.com/mr-tron/base58"
+	"github.com/wormhole-foundation/wormhole/sdk"
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 	"go.uber.org/zap"
+
+	txverifier "github.com/certusone/wormhole/node/pkg/txverifier"
 )
 
 type (
@@ -45,6 +49,10 @@ type (
 		loopDelay                 time.Duration
 		queryEventsCmd            string
 		postTimeout               time.Duration
+
+		// Sui transaction verifier
+		suiTxVerifier     *txverifier.SuiTransferVerifier
+		txVerifierEnabled bool
 	}
 
 	SuiEventResponse struct {
@@ -166,6 +174,11 @@ var (
 			Name: "wormhole_sui_current_height",
 			Help: "Current Sui block height",
 		})
+	suiTransferVerifierFailures = promauto.NewCounter(
+		prometheus.CounterOpts{
+			Name: "wormhole_sui_txverifier_failures",
+			Help: "Total number of messages that failed transfer verification",
+		})
 )
 
 // NewWatcher creates a new Sui appid watcher
@@ -175,9 +188,61 @@ func NewWatcher(
 	unsafeDevMode bool,
 	messageEvents chan<- *common.MessagePublication,
 	obsvReqC <-chan *gossipv1.ObservationRequest,
-) *Watcher {
+	env common.Environment,
+	txVerifierEnabled bool,
+) (*Watcher, error) {
 	maxBatchSize := 10
 	descOrder := true
+
+	var suiTxVerifier *txverifier.SuiTransferVerifier
+
+	if txVerifierEnabled {
+
+		// Extracted from the suiMoveEventType passed to guardiand as CLI arg
+		var suiCoreBridgePackageId string
+
+		//	Read from a hardcoded map in the txverifier package, based on the environment
+		//	NOTE: this is the original package ID, not the current one. The original package ID is used to address
+		//	the token registry that holds the wrapped and native assets of the bridge.
+		var suiTokenBridgePackageId string
+
+		// Read from the sdk, based on the environment
+		var suiTokenBridgeEmitter string
+
+		// Split the suiMoveEventType into its components. If the format is incorrect, return an error.
+		eventTypeComponents := strings.Split(suiMoveEventType, "::")
+		if len(eventTypeComponents) != 3 {
+			return nil, fmt.Errorf("suiMoveEventType is not in the correct format, expected <package_id>::<module_name>::<event_name>, got: %s", suiMoveEventType)
+		}
+
+		suiCoreBridgePackageId = eventTypeComponents[0]
+
+		// Retrieve the token bridge package ID and token bridge emitter address, based on the environment
+		switch env {
+		case common.MainNet:
+			suiTokenBridgePackageId = txverifier.SuiOriginalTokenBridgePackageIds[common.MainNet]
+			suiTokenBridgeEmitter = "0x" + hex.EncodeToString(sdk.KnownTokenbridgeEmitters[vaa.ChainIDSui])
+		case common.TestNet:
+			suiTokenBridgePackageId = txverifier.SuiOriginalTokenBridgePackageIds[common.TestNet]
+			suiTokenBridgeEmitter = "0x" + hex.EncodeToString(sdk.KnownTestnetTokenbridgeEmitters[vaa.ChainIDSui])
+		case common.UnsafeDevNet, common.AccountantMock, common.GoTest:
+			suiTokenBridgePackageId = txverifier.SuiOriginalTokenBridgePackageIds[common.UnsafeDevNet]
+			suiTokenBridgeEmitter = "0x" + hex.EncodeToString(sdk.KnownTokenbridgeEmitters[vaa.ChainIDSui])
+		}
+
+		// Create the Sui Api connection, and query the state object to get the token bridge address and emitter.
+		suiApiConnection := txverifier.NewSuiApiConnection(suiRPC)
+
+		// Create the new suiTxVerifier
+		suiTxVerifier = txverifier.NewSuiTransferVerifier(
+			suiCoreBridgePackageId,
+			suiTokenBridgeEmitter,
+			suiTokenBridgePackageId,
+			suiApiConnection,
+		)
+
+	}
+
 	return &Watcher{
 		suiRPC:                    suiRPC,
 		suiMoveEventType:          suiMoveEventType,
@@ -191,11 +256,13 @@ func NewWatcher(
 		loopDelay:                 time.Second, // SUI produces a checkpoint every ~3 seconds
 		queryEventsCmd: fmt.Sprintf(`{"jsonrpc":"2.0", "id": 1, "method": "suix_queryEvents", "params": [{ "MoveEventType": "%s" }, null, %d, %t]}`,
 			suiMoveEventType, maxBatchSize, descOrder),
-		postTimeout: time.Second * 5,
-	}
+		postTimeout:       time.Second * 5,
+		suiTxVerifier:     suiTxVerifier,
+		txVerifierEnabled: txVerifierEnabled,
+	}, nil
 }
 
-func (e *Watcher) inspectBody(logger *zap.Logger, body SuiResult, isReobservation bool) error {
+func (e *Watcher) inspectBody(ctx context.Context, logger *zap.Logger, body SuiResult, isReobservation bool) error {
 	if body.ID.TxDigest == nil {
 		return errors.New("missing TxDigest field")
 	}
@@ -274,24 +341,51 @@ func (e *Watcher) inspectBody(logger *zap.Logger, body SuiResult, isReobservatio
 		IsReobservation:  isReobservation,
 	}
 
+	// Verifies the observation through the Sui transaction verifier, if enabled, followed
+	// by publishing the observation to the message channel.
+	err = e.verifyAndPublish(ctx, observation, *body.ID.TxDigest, logger)
+
+	if err != nil {
+		suiTransferVerifierFailures.Inc()
+		logger.Error("Message publication error",
+			zap.String("TxDigest", *body.ID.TxDigest),
+			zap.Error(err))
+	}
+
+	return nil
+}
+
+func (e *Watcher) verifyAndPublish(
+	ctx context.Context,
+	msg *common.MessagePublication,
+	txDigest string,
+	logger *zap.Logger,
+) error {
+	if msg == nil {
+		return errors.New("MessagePublication is nil")
+	}
+
+	if e.suiTxVerifier != nil {
+		verifiedMsg, err := e.verify(ctx, msg, txDigest, logger)
+
+		if err != nil {
+			return err
+		}
+
+		msg = &verifiedMsg
+	}
+
+	e.msgChan <- msg //nolint:channelcheck // The channel to the processor is buffered and shared across chains, if it backs up we should stop processing new observations
+
 	suiMessagesConfirmed.Inc()
-	if isReobservation {
+	if msg.IsReobservation {
 		watchers.ReobservationsByChain.WithLabelValues("sui", "std").Inc()
 	}
 
 	logger.Info("message observed",
-		zap.String("txHash", observation.TxIDString()),
-		zap.Time("timestamp", observation.Timestamp),
-		zap.Uint32("nonce", observation.Nonce),
-		zap.Uint64("sequence", observation.Sequence),
-		zap.Stringer("emitter_chain", observation.EmitterChain),
-		zap.Stringer("emitter_address", observation.EmitterAddress),
-		zap.Binary("payload", observation.Payload),
-		zap.Uint8("consistencyLevel", observation.ConsistencyLevel),
+		msg.ZapFields()...,
 	)
 
-	e.msgChan <- observation //nolint:channelcheck // The channel to the processor is buffered and shared across chains, if it backs up we should stop processing new observations
-
 	return nil
 }
 
@@ -309,6 +403,9 @@ func (e *Watcher) Run(ctx context.Context) error {
 		zap.Bool("unsafeDevMode", e.unsafeDevMode),
 	)
 
+	// Get the node version for troubleshooting
+	e.logVersion(ctx, logger)
+
 	// Get the latest checkpoint sequence number.  This will be the starting point for the watcher.
 	latest, err := e.getLatestCheckpointSN(ctx, logger)
 	if err != nil {
@@ -343,7 +440,7 @@ func (e *Watcher) Run(ctx context.Context) error {
 				if len(dataWithEvents) > 0 {
 					for idx := len(dataWithEvents) - 1; idx >= 0; idx-- {
 						event := dataWithEvents[idx]
-						err = e.inspectBody(logger, event.result, false)
+						err = e.inspectBody(ctx, logger, event.result, false)
 						if err != nil {
 							logger.Error("inspectBody Error", zap.Error(err))
 							continue
@@ -436,7 +533,7 @@ func (e *Watcher) Run(ctx context.Context) error {
 				}
 
 				for i, chunk := range res.Result {
-					err := e.inspectBody(logger, chunk, true)
+					err := e.inspectBody(ctx, logger, chunk, true)
 					if err != nil {
 						logger.Info("sui_fetch_obvs_req skipping event data in result", zap.String("txhash", tx58), zap.Int("index", i), zap.Error(err))
 					}
@@ -580,7 +677,7 @@ func (e *Watcher) getLatestCheckpointSN(ctx context.Context, logger *zap.Logger)
 	if pErr != nil {
 		logger.Error("Failed to ParseInt")
 		p2p.DefaultRegistry.AddErrorCount(vaa.ChainIDSui, 1)
-		return 0, fmt.Errorf("sui_getLatestCheckpointSequenceNumber failed to ParseInt, error: %w", err)
+		return 0, fmt.Errorf("sui_getLatestCheckpointSequenceNumber failed to ParseInt, error: %w", pErr)
 	}
 	return height, nil
 }
@@ -647,3 +744,43 @@ func (w *Watcher) createAndExecReq(ctx context.Context, payload string) ([]byte,
 	resp.Body.Close()
 	return body, nil
 }
+
+// logVersion retrieves the Sui protocol version and logs it
+func (w *Watcher) logVersion(ctx context.Context, logger *zap.Logger) {
+	// We can't get the exact build, but we can get the protocol version.
+	// From: https://www.quicknode.com/docs/sui/suix_getLatestSuiSystemState
+	networkName := "sui"
+	payload := `{"jsonrpc":"2.0", "id": 1, "method": "suix_getLatestSuiSystemState", "params": []}`
+
+	type getLatestSuiSystemStateResponse struct {
+		Jsonrpc string `json:"jsonrpc"`
+		Result  struct {
+			ProtocolVersion string `json:"protocolVersion"`
+		} `json:"result"`
+		ID int `json:"id"`
+	}
+	var result getLatestSuiSystemStateResponse
+
+	body, err := w.createAndExecReq(ctx, payload)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	err = json.Unmarshal(body, &result)
+	if err != nil {
+		logger.Error("problem retrieving node version",
+			zap.Error(err),
+			zap.String("network", networkName),
+		)
+		return
+	}
+
+	logger.Info("node version",
+		zap.String("version", result.Result.ProtocolVersion),
+		zap.String("network", "sui"),
+	)
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 75 - 2
node/pkg/watchers/sui/watcher_test.go


+ 3 - 1
proto/gossip/v1/gossip.proto

@@ -50,9 +50,11 @@ message Heartbeat {
     // Connection error count
     uint64 error_count = 4;
     // Safe block height of the node, if supported.
-    int64 safe_height = 5;    
+    int64 safe_height = 5;
     // Finalized block height of the node, if supported.
     int64 finalized_height = 6;
+    // UNIX timestamp of the last time a VAA was observed for this chain.
+    int64 last_observation_signed_at = 7;
   }
   repeated Network networks = 4;
 

+ 122 - 0
proto/node/v1/node.proto

@@ -47,6 +47,36 @@ service NodePrivilegedService {
   // ChainGovernorResetReleaseTimer resets the release timer for a chain governor pending VAA to the configured maximum.
   rpc ChainGovernorResetReleaseTimer (ChainGovernorResetReleaseTimerRequest) returns (ChainGovernorResetReleaseTimerResponse);
 
+  // NotaryBlackholeDelayedMessage blacklists a VAA from the notary pending list.
+  rpc NotaryBlackholeDelayedMessage (NotaryBlackholeDelayedMessageRequest) returns (NotaryBlackholeDelayedMessageResponse);
+
+  // NotaryReleaseDelayedMessage releases a VAA from the notary pending list, publishing it immediately.
+  rpc NotaryReleaseDelayedMessage (NotaryReleaseDelayedMessageRequest) returns (NotaryReleaseDelayedMessageResponse);
+
+  // NotaryRemoveBlackholedMessage removes a VAA from the notary's blackholed list and adds it to the pending list with a release timer of 0.
+  rpc NotaryRemoveBlackholedMessage (NotaryRemoveBlackholedMessageRequest) returns (NotaryRemoveBlackholedMessageResponse);
+
+  // NotaryResetReleaseTimer resets the release timer for a notary pending VAA to supplied number of days.
+  rpc NotaryResetReleaseTimer (NotaryResetReleaseTimerRequest) returns (NotaryResetReleaseTimerResponse);
+
+  // NotaryInjectDelayedMessage creates a synthetic delayed message for testing (dev mode only).
+  rpc NotaryInjectDelayedMessage (NotaryInjectDelayedMessageRequest) returns (NotaryInjectDelayedMessageResponse);
+
+  // NotaryInjectBlackholedMessage creates a synthetic blackholed message for testing (dev mode only).
+  rpc NotaryInjectBlackholedMessage (NotaryInjectBlackholedMessageRequest) returns (NotaryInjectBlackholedMessageResponse);
+
+  // NotaryGetDelayedMessage retrieves details about a delayed message.
+  rpc NotaryGetDelayedMessage (NotaryGetDelayedMessageRequest) returns (NotaryGetDelayedMessageResponse);
+
+  // NotaryGetBlackholedMessage retrieves details about a blackholed message.
+  rpc NotaryGetBlackholedMessage (NotaryGetBlackholedMessageRequest) returns (NotaryGetBlackholedMessageResponse);
+
+  // NotaryListDelayedMessages lists all delayed message IDs.
+  rpc NotaryListDelayedMessages (NotaryListDelayedMessagesRequest) returns (NotaryListDelayedMessagesResponse);
+
+  // NotaryListBlackholedMessages lists all blackholed message IDs.
+  rpc NotaryListBlackholedMessages (NotaryListBlackholedMessagesRequest) returns (NotaryListBlackholedMessagesResponse);
+
   // PurgePythNetVaas deletes PythNet VAAs from the database that are more than the specified number of days old.
   rpc PurgePythNetVaas (PurgePythNetVaasRequest) returns (PurgePythNetVaasResponse);
 
@@ -368,6 +398,8 @@ message ReobserveWithEndpointResponse {
   uint32 num_observations = 1;
 }
 
+// Governor messages.
+
 message ChainGovernorStatusRequest {}
 
 message ChainGovernorStatusResponse {
@@ -405,6 +437,96 @@ message ChainGovernorResetReleaseTimerResponse {
   string response = 1;
 }
 
+// Notary messages.
+
+message NotaryBlackholeDelayedMessageRequest {
+  string vaa_id = 1;
+}
+
+message NotaryBlackholeDelayedMessageResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryReleaseDelayedMessageRequest {
+  string vaa_id = 1;
+}
+
+message NotaryReleaseDelayedMessageResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryRemoveBlackholedMessageRequest {
+  string vaa_id = 1;
+}
+
+message NotaryRemoveBlackholedMessageResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryResetReleaseTimerRequest {
+  string vaa_id = 1;
+  uint32 num_days = 2;
+}
+
+message NotaryResetReleaseTimerResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryInjectDelayedMessageRequest {
+  uint32 delay_days = 1;
+}
+
+message NotaryInjectDelayedMessageResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryInjectBlackholedMessageRequest {
+}
+
+message NotaryInjectBlackholedMessageResponse {
+  string vaa_id = 1;
+  string response = 2;
+}
+
+message NotaryGetDelayedMessageRequest {
+  string vaa_id = 1;
+}
+
+message NotaryGetDelayedMessageResponse {
+  string vaa_id = 1;
+  string release_time = 2;
+  string message_details = 3;
+}
+
+message NotaryGetBlackholedMessageRequest {
+  string vaa_id = 1;
+}
+
+message NotaryGetBlackholedMessageResponse {
+  string vaa_id = 1;
+  string message_details = 2;
+}
+
+message NotaryListDelayedMessagesRequest {
+}
+
+message NotaryListDelayedMessagesResponse {
+  repeated string vaa_ids = 1;
+}
+
+message NotaryListBlackholedMessagesRequest {
+}
+
+message NotaryListBlackholedMessagesResponse {
+  repeated string vaa_ids = 1;
+}
+
+// Pythnet messages.
 message PurgePythNetVaasRequest {
   uint64 days_old = 1;
   bool log_only = 2;

+ 1 - 0
proto/publicrpc/v1/publicrpc.proto

@@ -71,6 +71,7 @@ enum ChainID {
   CHAIN_ID_STACKS = 60;
   CHAIN_ID_STELLAR = 61;
   CHAIN_ID_TON = 62;
+  CHAIN_ID_MOCA = 63;
   CHAIN_ID_WORMCHAIN = 3104;
   CHAIN_ID_COSMOSHUB = 4000;
   CHAIN_ID_EVMOS = 4001;

+ 13 - 8
scripts/contract-upgrade-governance.sh

@@ -143,6 +143,11 @@ case "$chain_name" in
     explorer="https://explorer.solana.com/address/"
     extra=""
     ;;
+  fogo)
+    chain=51
+    explorer="https://explorer.fogo.io/address/"
+    extra=""
+    ;;
   pythnet)
     chain=26
     explorer="https://explorer.solana.com/address/"
@@ -307,13 +312,13 @@ function evm_artifact() {
 function solana_artifact() {
   case "$module" in
   bridge|core)
-    echo "artifacts-mainnet/bridge.so"
+    echo "artifacts-$chain_name-mainnet/bridge.so"
     ;;
   token_bridge)
-    echo "artifacts-mainnet/token_bridge.so"
+    echo "artifacts-$chain_name-mainnet/token_bridge.so"
     ;;
   nft_bridge)
-    echo "artifacts-mainnet/nft_bridge.so"
+    echo "artifacts-$chain_name-mainnet/nft_bridge.so"
     ;;
   *) echo "unknown module $module" >&2
      usage
@@ -455,15 +460,15 @@ if [ "$evm" = true ]; then
 	\`\`\`
 
 EOF
-elif [ "$chain_name" = "solana" ] || [ "$chain_name" = "pythnet" ]; then
+elif [ "$chain_name" = "solana" ] || [ "$chain_name" = "fogo" ] || [ "$chain_name" = "pythnet" ]; then
   cat <<-EOF >> "$instructions_file"
 	## Build
 	\`\`\`shell
-	wormhole/solana $ make clean
-	wormhole/solana $ make NETWORK=mainnet artifacts
+	wormhole/solana $ make SVM=$chain_name clean
+	wormhole/solana $ make NETWORK=mainnet SVM=$chain_name artifacts
 	\`\`\`
 
-	This command will compile all the contracts into the \`artifacts-mainnet\` directory using Docker to ensure that the build artifacts are deterministic.
+	This command will compile all the contracts into the \`artifacts-$chain_name-mainnet\` directory using Docker to ensure that the build artifacts are deterministic.
 
 	## Verify
 	Contract at [$explorer$address]($explorer$address)
@@ -474,7 +479,7 @@ elif [ "$chain_name" = "solana" ] || [ "$chain_name" = "pythnet" ]; then
 
 	\`\`\`shell
 	# $module
-	wormhole/solana$ ./verify -n mainnet $(solana_artifact) $address
+	wormhole/solana$ ./verify -n mainnet -s $chain_name $(solana_artifact) $address
 	\`\`\`
 EOF
 elif [ "$chain_name" = "near" ]; then

+ 1 - 2
scripts/lint.sh

@@ -59,8 +59,7 @@ lint(){
     if ! command -v cspell >/dev/null 2>&1; then
         printf "%s\n" "cspell is not installed. Skipping spellcheck"
     else
-    # NOTE: Keep this command in sync with `.github/workflows/build.yml`
-        cspell -c cspell.config.yaml --dictionary cspell-custom-words.txt "**.*md"
+        cspell "*/**.*md"
     fi
     
     # === Go linting

+ 228 - 0
scripts/test-notary-admin-commands.sh

@@ -0,0 +1,228 @@
+#!/usr/bin/env bash
+# Integration test for Notary admin rescue commands
+# This script tests the complete lifecycle of Notary rescue operations:
+# 1. Create synthetic delayed/blackholed messages using inject commands
+# 2. Execute admin commands against the guardian
+# 3. Verify state changes after each command
+#
+# This modifies Tilt's BadgerDB, so successive runs of this script
+# will create many stored messages and the DB is not cleared after the
+# script terminates.
+#
+# Prerequisites:
+# - Tilt devnet must be running with notary enabled
+#
+# Usage: ./test-notary-admin-commands.sh [NODE_NUMBER]
+#   NODE_NUMBER: Guardian node to test against (default: 0)
+
+set -e
+
+node=${1:-0}  # Default to guardian-0
+sock="/tmp/admin.sock"
+
+echo "=== Notary Admin Commands Integration Test ==="
+echo "Testing against guardian-${node}"
+echo ""
+
+# Helper function to execute commands in guardian pod
+exec_in_pod() {
+    kubectl exec -n wormhole guardian-${node} -c guardiand -- "$@"
+}
+
+# Helper function to run admin commands
+admin_cmd() {
+    exec_in_pod /guardiand admin "$@" --socket "$sock"
+}
+
+# Helper function to print database state
+print_db_state() {
+    local title="$1"
+    echo ""
+    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+    echo "📊 $title"
+    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+    
+    local delayed_output=$(admin_cmd notary-list-delayed-messages)
+    local delayed_count=$(echo "$delayed_output" | grep -oP 'Delayed messages \(\K[0-9]+' || echo "0")
+    
+    echo "🕒 DELAYED MESSAGES: $delayed_count"
+    if [[ "$delayed_count" -gt 0 ]]; then
+        echo "$delayed_output" | grep "^2/" | while read -r msg_id; do
+            local details=$(admin_cmd notary-get-delayed-message "$msg_id" 2>/dev/null || echo "")
+            local release_time=$(echo "$details" | grep -oP 'Release Time: \K.*' || echo "unknown")
+            echo "  • ${msg_id:0:80}..."
+            echo "    Release: $release_time"
+        done
+    fi
+    
+    echo ""
+    local blackholed_output=$(admin_cmd notary-list-blackholed-messages)
+    local blackholed_count=$(echo "$blackholed_output" | grep -oP 'Blackholed messages \(\K[0-9]+' || echo "0")
+    
+    echo "⛔ BLACKHOLED MESSAGES: $blackholed_count"
+    if [[ "$blackholed_count" -gt 0 ]]; then
+        echo "$blackholed_output" | grep "^2/" | while read -r msg_id; do
+            echo "  • ${msg_id:0:80}..."
+        done
+    fi
+    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+    echo ""
+}
+
+# Step 1: Create synthetic test state using inject commands
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 1: Creating synthetic delayed messages"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+msg1_output=$(admin_cmd notary-inject-delayed-message 4)
+msg1_id=$(echo "$msg1_output" | grep -oP 'Injected delayed message: \K.*')
+msg2_output=$(admin_cmd notary-inject-delayed-message 4)
+msg2_id=$(echo "$msg2_output" | grep -oP 'Injected delayed message: \K.*')
+echo "✓ Created test messages:"
+echo "  - Message 1 (4 day delay): ${msg1_id:0:80}..."
+echo "  - Message 2 (4 day delay): ${msg2_id:0:80}..."
+
+print_db_state "Database State After Injection"
+
+# Step 2: Verify initial state using list command
+delayed_list=$(admin_cmd notary-list-delayed-messages)
+if ! echo "$delayed_list" | grep -q "$msg1_id"; then
+  echo "✗ FAIL: Message 1 not found in delayed list"
+  exit 1
+fi
+if ! echo "$delayed_list" | grep -q "$msg2_id"; then
+  echo "✗ FAIL: Message 2 not found in delayed list"
+  exit 1
+fi
+echo "✓ Initial state verified"
+
+# Step 3: Test notary-blackhole-delayed-message
+echo ""
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 2: Testing notary-blackhole-delayed-message"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Moving message 1 from delayed → blackholed..."
+admin_cmd notary-blackhole-delayed-message "$msg1_id"
+# Give DB a moment to flush the write
+sleep 0.5
+delayed_list=$(admin_cmd notary-list-delayed-messages)
+if echo "$delayed_list" | grep -q "$msg1_id"; then
+  echo "✗ FAIL: Message still in delayed list after blackhole"
+  exit 1
+fi
+blackholed_list=$(admin_cmd notary-list-blackholed-messages)
+if ! echo "$blackholed_list" | grep -q "$msg1_id"; then
+  echo "✗ FAIL: Message not moved to blackholed list"
+  exit 1
+fi
+echo "✓ Message successfully moved from delayed → blackholed"
+
+print_db_state "Database State After Blackholing"
+
+# Step 4: Test notary-remove-blackholed-message  
+echo ""
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 3: Testing notary-remove-blackholed-message"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Removing message 1 from blackholed (restoring to delayed)..."
+admin_cmd notary-remove-blackholed-message "$msg1_id"
+# Give DB a moment to flush the write
+sleep 0.5
+blackholed_list=$(admin_cmd notary-list-blackholed-messages)
+if echo "$blackholed_list" | grep -q "$msg1_id"; then
+  echo "✗ FAIL: Message still in blackholed list after removal"
+  exit 1
+fi
+delayed_list=$(admin_cmd notary-list-delayed-messages)
+if ! echo "$delayed_list" | grep -q "$msg1_id"; then
+  echo "✗ FAIL: Message not restored to delayed list"
+  exit 1
+fi
+echo "✓ Message successfully moved from blackholed → delayed"
+
+print_db_state "Database State After Removing from Blackhole"
+
+# Step 5: Test notary-release-delayed-message
+echo ""
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 4: Testing notary-release-delayed-message"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Getting release time BEFORE release command..."
+before_release=$(admin_cmd notary-get-delayed-message "$msg2_id")
+before_time=$(echo "$before_release" | grep -oP 'Release Time: \K.*')
+echo "  Before: $before_time"
+echo ""
+echo "Releasing message 2 (sets release time to now)..."
+admin_cmd notary-release-delayed-message "$msg2_id"
+# Note: The notary processes delayed messages on a 1-minute poll timer.
+# The release sets the time in the past, but we need to wait for the next poll cycle.
+# For testing purposes, we'll just verify the message is still in the delayed list
+# but with a release time in the past.
+delayed_msg_info=$(admin_cmd notary-get-delayed-message "$msg2_id")
+if ! echo "$delayed_msg_info" | grep -q "$msg2_id"; then
+  echo "✗ FAIL: Message not found after release command"
+  exit 1
+fi
+after_time=$(echo "$delayed_msg_info" | grep -oP 'Release Time: \K.*')
+echo "  After:  $after_time"
+echo ""
+echo "✓ Release time updated (will be released on next poll cycle in ~60s)"
+
+print_db_state "Database State After Release (time updated)"
+
+# Step 6: Test notary-reset-release-timer
+echo ""
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 5: Testing notary-reset-release-timer"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+msg3_output=$(admin_cmd notary-inject-delayed-message 1)
+msg3_id=$(echo "$msg3_output" | grep -oP 'Injected delayed message: \K.*')
+echo "Created message 3 with 1 day delay: ${msg3_id:0:80}..."
+echo ""
+before_reset=$(admin_cmd notary-get-delayed-message "$msg3_id")
+before_time=$(echo "$before_reset" | grep -oP 'Release Time: \K.*')
+echo "Getting release time BEFORE reset..."
+echo "  Before: $before_time"
+echo ""
+echo "Resetting timer to 5 days..."
+admin_cmd notary-reset-release-timer "$msg3_id" 5
+delayed_list=$(admin_cmd notary-list-delayed-messages)
+if ! echo "$delayed_list" | grep -q "$msg3_id"; then
+  echo "✗ FAIL: Message not found after timer reset"
+  exit 1
+fi
+after_reset=$(admin_cmd notary-get-delayed-message "$msg3_id")
+after_time=$(echo "$after_reset" | grep -oP 'Release Time: \K.*')
+echo "  After:  $after_time"
+echo ""
+echo "✓ Release timer successfully reset from 1 day → 5 days"
+
+print_db_state "Database State After Timer Reset"
+
+# Step 7: Test introspection commands
+echo ""
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+echo "Step 6: Testing introspection commands"
+echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+msg4_output=$(admin_cmd notary-inject-delayed-message 2)
+msg4_id=$(echo "$msg4_output" | grep -oP 'Injected delayed message: \K.*')
+msg5_output=$(admin_cmd notary-inject-blackholed-message)
+msg5_id=$(echo "$msg5_output" | grep -oP 'Injected blackholed message: \K.*')
+
+echo "Testing notary-get-delayed-message for message 4..."
+delayed_details=$(admin_cmd notary-get-delayed-message "$msg4_id")
+if ! echo "$delayed_details" | grep -q "$msg4_id"; then
+  echo "✗ FAIL: Failed to get delayed message details"
+  exit 1
+fi
+echo "$delayed_details"
+
+echo ""
+echo "Testing notary-get-blackholed-message for message 5..."
+blackholed_details=$(admin_cmd notary-get-blackholed-message "$msg5_id")
+if ! echo "$blackholed_details" | grep -q "$msg5_id"; then
+  echo "✗ FAIL: Failed to get blackholed message details"
+  exit 1
+fi
+echo "$blackholed_details"
+
+print_db_state "Final Database State"

+ 0 - 1
sdk/devnet_consts.go

@@ -50,6 +50,5 @@ var KnownDevnetWrappedNativeAddresses = map[vaa.ChainID]string{
 
 // KnownDevnetCoreContracts is a map of known core contract addresses used during development.
 var KnownDevnetCoreContracts = map[vaa.ChainID]string{
-	vaa.ChainIDSui:      "5a5160ca3c2037f4b4051344096ef7a48ebf4400b3f385e57ea90e1628a8bde0",
 	vaa.ChainIDEthereum: "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550",
 }

+ 2 - 0
sdk/mainnet_consts.go

@@ -124,6 +124,8 @@ var knownTokenbridgeEmitters = map[vaa.ChainID]string{
 	vaa.ChainIDMezo:       "000000000000000000000000F97B81E513f53c7a6B57Bd0b103a6c295b3096C5",
 	vaa.ChainIDXRPLEVM:    "00000000000000000000000047F5195163270345fb4d7B9319Eda8C64C75E278",
 	vaa.ChainIDLinea:      "000000000000000000000000167E0752de62cb76EFc0Fbb165Bd342c6e2Bb251",
+	vaa.ChainIDFogo:       "289e998e357c96dbfd8490b853595e0d48639ede2d1aed4a819edcc00165904c",
+	vaa.ChainIDMonad:      "0000000000000000000000000B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7",
 }
 
 // KnownNFTBridgeEmitters is a list of well-known mainnet emitters for the NFT bridge.

+ 32 - 0
sdk/rust/Cargo.toml

@@ -41,3 +41,35 @@ serde_repr = "0.1.7"
 sha3 = "0.10.4"
 base64 = "0.13"
 itoa = "1.0.1"
+
+[workspace.lints.clippy]
+# === Code Quality: Prevent incomplete/placeholder code ===
+todo = "deny"
+
+# === True Bugs: Compiler can prove these are wrong ===
+eq_op = "warn"                        # x == x, x != x, etc.
+modulo_one = "warn"                   # x % 1 (always returns 0)
+out_of_bounds_indexing = "warn"       # Compiler-checked out of bounds access
+
+# === Security Audit Support ===
+undocumented_unsafe_blocks = "warn"   # Document why unsafe is needed
+
+# === Potential Runtime Errors ===
+unchecked_duration_subtraction = "warn"  # Can panic on underflow
+panicking_overflow_checks = "warn"       # Overflow checks that panic in release
+if_let_mutex = "warn"                    # Can cause deadlocks
+
+# === Performance: Catch accidental inefficiencies ===
+or_fun_call = "warn"                     # Use .unwrap_or_else instead of .unwrap_or
+set_contains_or_insert = "warn"          # Use .entry() API instead
+stable_sort_primitive = "warn"           # Unstable sort is faster for primitives
+
+# === Logic Bugs ===
+suspicious_operation_groupings = "warn"  # Likely copy-paste errors
+
+# === Data Structure Misuse ===
+iter_over_hash_type = "warn"             # Non-deterministic iteration order
+non_send_fields_in_send_ty = "warn"      # Breaks thread safety
+
+# === SDK-specific: Help developers avoid common mistakes ===
+wildcard_dependencies = "warn"           # Prevent supply chain issues in published crates

+ 3 - 0
sdk/rust/serde_wormhole/Cargo.toml

@@ -8,6 +8,9 @@ license.workspace = true
 homepage.workspace = true
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 base64.workspace = true
 itoa.workspace = true

+ 3 - 0
sdk/rust/supported-chains/Cargo.toml

@@ -8,6 +8,9 @@ license.workspace = true
 homepage.workspace = true
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 serde.workspace = true
 thiserror.workspace = true

+ 2 - 7
sdk/rust/supported-chains/src/lib.rs

@@ -5,10 +5,11 @@ use std::{fmt, str::FromStr};
 use serde::{Deserialize, Deserializer, Serialize, Serializer};
 use thiserror::Error;
 
-#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
+#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
 pub enum Chain {
     /// In the wormhole wire format, 0 indicates that a message is for any destination chain, it is
     /// represented here as `Any`.
+    #[default]
     Any,
 
     /// Chains
@@ -291,12 +292,6 @@ impl FromStr for Chain {
     }
 }
 
-impl Default for Chain {
-    fn default() -> Self {
-        Self::Any
-    }
-}
-
 impl Serialize for Chain {
     fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
     where

+ 3 - 0
sdk/rust/vaas-serde/Cargo.toml

@@ -8,6 +8,9 @@ license.workspace = true
 homepage.workspace = true
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [lib]
 name = "wormhole_sdk"
 

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác