From c2b76fb08f1d8e762b7127cf28f06949b96b5c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Wed, 12 Nov 2025 13:22:00 +0100 Subject: [PATCH 01/12] URL Discovery background scheduler --- ...c5406f247fab08faf2160898639e327e03d6c.json | 15 + ...645dfc7a64858a44ad64bf1c44ee26b7dff7c.json | 22 + ...6cddcae028c66c3565afb2bb2397ea5f39b02.json | 82 + ...8ea2997370858f1b5a184bb884af1765cf89.json} | 4 +- ...e6d767ffe1f7972b6d05b0fef88466d42b58b.json | 22 + ...5da246c9bb88602ecc323a7dbece411cbf718.json | 14 + ...91db0aede162482c0b2a654927e0591619183.json | 55 + ...f61b828df9c21b2a965c682821e73b5e77e7.json} | 6 +- Cargo.lock | 2227 ++--------------- Makefile | 4 +- ...20251110050249_create_url_results.down.sql | 1 + .../20251110050249_create_url_results.up.sql | 21 + scripts/setup_dev_db.sh | 5 +- scripts/sql/success_deals.sql | 52 + url_finder/Cargo.toml | 3 + url_finder/src/api/create_job.rs | 45 +- url_finder/src/api/find_client.rs | 74 +- url_finder/src/api/find_retri_sp.rs | 26 +- url_finder/src/api/find_retri_sp_client.rs | 39 +- url_finder/src/api/find_url_sp.rs | 28 +- url_finder/src/api/find_url_sp_client.rs | 37 +- url_finder/src/api/responses.rs | 17 + url_finder/src/background/job_handler.rs | 117 +- url_finder/src/background/mod.rs | 2 + .../src/background/url_discovery_scheduler.rs | 139 + url_finder/src/lotus_rpc.rs | 5 +- url_finder/src/main.rs | 11 + url_finder/src/provider_endpoints.rs | 3 +- url_finder/src/repository/deal_repo.rs | 70 +- url_finder/src/repository/job_repo.rs | 27 +- url_finder/src/repository/mod.rs | 2 + .../src/repository/storage_provider_repo.rs | 118 +- url_finder/src/repository/url_result_repo.rs | 86 + url_finder/src/services/deal_service.rs | 44 +- url_finder/src/services/mod.rs | 1 + .../src/services/url_discovery_service.rs | 119 + url_finder/src/types.rs | 228 +- 37 files changed, 1421 insertions(+), 2350 deletions(-) create mode 100644 .sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json create mode 100644 .sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json create mode 100644 .sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json rename .sqlx/{query-c2c958b52086e4f9559db175d2ee01a125ddca116b5d02656825e4bef039eba9.json => query-6bf9bd322ce9b3c312d0e6d880368ea2997370858f1b5a184bb884af1765cf89.json} (84%) create mode 100644 .sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json create mode 100644 .sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json create mode 100644 .sqlx/query-c3e0ac8f56140c94a5e0865750391db0aede162482c0b2a654927e0591619183.json rename .sqlx/{query-c3f055777ef017282ee244247417aefb57add7148b2b65bf82bd92f9db8c514d.json => query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json} (66%) create mode 100644 migrations/20251110050249_create_url_results.down.sql create mode 100644 migrations/20251110050249_create_url_results.up.sql create mode 100644 scripts/sql/success_deals.sql create mode 100644 url_finder/src/background/url_discovery_scheduler.rs create mode 100644 url_finder/src/repository/url_result_repo.rs create mode 100644 url_finder/src/services/url_discovery_service.rs diff --git a/.sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json b/.sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json new file mode 100644 index 0000000..0bd6a76 --- /dev/null +++ b/.sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json @@ -0,0 +1,15 @@ +{ + "db_name": "PostgreSQL", + "query": "UPDATE\n storage_providers\n SET\n next_url_discovery_at = NOW() + INTERVAL '1 day',\n url_discovery_status = NULL,\n last_working_url = $2,\n updated_at = NOW()\n WHERE\n provider_id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [] + }, + "hash": "11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c" +} diff --git a/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json b/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json new file mode 100644 index 0000000..fb0b5bf --- /dev/null +++ b/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO\n url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at)\n SELECT\n UNNEST($1::uuid[]),\n UNNEST($2::text[]),\n UNNEST($3::text[]),\n UNNEST($4::text[]),\n UNNEST($5::text[]),\n UNNEST($6::double precision[]),\n UNNEST($7::text[]),\n UNNEST($8::text[]),\n UNNEST($9::timestamptz[])\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "UuidArray", + "TextArray", + "TextArray", + "TextArray", + "TextArray", + "Float8Array", + "TextArray", + "TextArray", + "TimestamptzArray" + ] + }, + "nullable": [] + }, + "hash": "1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c" +} diff --git a/.sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json b/.sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json new file mode 100644 index 0000000..2a5be54 --- /dev/null +++ b/.sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json @@ -0,0 +1,82 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n next_url_discovery_at <= NOW()\n AND url_discovery_status IS DISTINCT FROM 'pending'\n ORDER BY\n next_url_discovery_at ASC\n LIMIT $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "provider_id: ProviderId", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "next_url_discovery_at", + "type_info": "Timestamptz" + }, + { + "ordinal": 3, + "name": "url_discovery_status", + "type_info": "Varchar" + }, + { + "ordinal": 4, + "name": "last_working_url", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "next_bms_test_at", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "bms_test_status", + "type_info": "Varchar" + }, + { + "ordinal": 7, + "name": "bms_routing_key", + "type_info": "Varchar" + }, + { + "ordinal": 8, + "name": "last_bms_region_discovery_at", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "created_at", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "updated_at", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [ + false, + false, + false, + true, + true, + false, + true, + true, + true, + false, + false + ] + }, + "hash": "4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02" +} diff --git a/.sqlx/query-c2c958b52086e4f9559db175d2ee01a125ddca116b5d02656825e4bef039eba9.json b/.sqlx/query-6bf9bd322ce9b3c312d0e6d880368ea2997370858f1b5a184bb884af1765cf89.json similarity index 84% rename from .sqlx/query-c2c958b52086e4f9559db175d2ee01a125ddca116b5d02656825e4bef039eba9.json rename to .sqlx/query-6bf9bd322ce9b3c312d0e6d880368ea2997370858f1b5a184bb884af1765cf89.json index bc10509..db6ed6a 100644 --- a/.sqlx/query-c2c958b52086e4f9559db175d2ee01a125ddca116b5d02656825e4bef039eba9.json +++ b/.sqlx/query-6bf9bd322ce9b3c312d0e6d880368ea2997370858f1b5a184bb884af1765cf89.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT\n id,\n \"dealId\" AS deal_id,\n \"claimId\" AS claim_id,\n \"clientId\" AS client_id,\n \"providerId\" AS provider_id,\n \"pieceCid\" AS piece_cid\n FROM unified_verified_deal\n WHERE \n \"providerId\" = $1\n ORDER BY random()\n LIMIT $2\n OFFSET $3\n ", + "query": "\n SELECT\n id,\n \"dealId\" AS deal_id,\n \"claimId\" AS claim_id,\n \"clientId\" AS client_id,\n \"providerId\" AS provider_id,\n \"pieceCid\" AS piece_cid\n FROM unified_verified_deal\n WHERE\n \"providerId\" = $1\n ORDER BY random()\n LIMIT $2\n OFFSET $3\n ", "describe": { "columns": [ { @@ -50,5 +50,5 @@ true ] }, - "hash": "c2c958b52086e4f9559db175d2ee01a125ddca116b5d02656825e4bef039eba9" + "hash": "6bf9bd322ce9b3c312d0e6d880368ea2997370858f1b5a184bb884af1765cf89" } diff --git a/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json b/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json new file mode 100644 index 0000000..2e02020 --- /dev/null +++ b/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT DISTINCT\n \"clientId\"\n FROM\n unified_verified_deal\n WHERE\n \"providerId\" = $1\n AND \"clientId\" IS NOT NULL\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "clientId", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + true + ] + }, + "hash": "aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b" +} diff --git a/.sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json b/.sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json new file mode 100644 index 0000000..e85beb6 --- /dev/null +++ b/.sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "UPDATE\n storage_providers\n SET\n url_discovery_status = 'pending'\n WHERE\n provider_id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [] + }, + "hash": "b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718" +} diff --git a/.sqlx/query-c3e0ac8f56140c94a5e0865750391db0aede162482c0b2a654927e0591619183.json b/.sqlx/query-c3e0ac8f56140c94a5e0865750391db0aede162482c0b2a654927e0591619183.json new file mode 100644 index 0000000..3c4db76 --- /dev/null +++ b/.sqlx/query-c3e0ac8f56140c94a5e0865750391db0aede162482c0b2a654927e0591619183.json @@ -0,0 +1,55 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT\n id,\n \"dealId\" AS deal_id,\n \"claimId\" AS claim_id,\n \"clientId\" AS client_id,\n \"providerId\" AS provider_id,\n \"pieceCid\" AS piece_cid\n FROM unified_verified_deal\n WHERE\n \"providerId\" = $1\n AND \"clientId\" = $2\n ORDER BY random()\n LIMIT $3\n OFFSET $4\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "deal_id", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "claim_id", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "client_id", + "type_info": "Varchar" + }, + { + "ordinal": 4, + "name": "provider_id", + "type_info": "Varchar" + }, + { + "ordinal": 5, + "name": "piece_cid", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Int8", + "Int8" + ] + }, + "nullable": [ + false, + false, + false, + true, + true, + true + ] + }, + "hash": "c3e0ac8f56140c94a5e0865750391db0aede162482c0b2a654927e0591619183" +} diff --git a/.sqlx/query-c3f055777ef017282ee244247417aefb57add7148b2b65bf82bd92f9db8c514d.json b/.sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json similarity index 66% rename from .sqlx/query-c3f055777ef017282ee244247417aefb57add7148b2b65bf82bd92f9db8c514d.json rename to .sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json index 22b88df..da2787c 100644 --- a/.sqlx/query-c3f055777ef017282ee244247417aefb57add7148b2b65bf82bd92f9db8c514d.json +++ b/.sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT \n id, \n provider_id, \n next_url_discovery_at, \n url_discovery_status, \n last_working_url,\n next_bms_test_at, \n bms_test_status, \n bms_routing_key, \n last_bms_region_discovery_at,\n created_at, \n updated_at\n FROM \n storage_providers \n WHERE \n provider_id = $1\n ", + "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n provider_id = $1\n ", "describe": { "columns": [ { @@ -10,7 +10,7 @@ }, { "ordinal": 1, - "name": "provider_id", + "name": "provider_id: ProviderId", "type_info": "Varchar" }, { @@ -78,5 +78,5 @@ false ] }, - "hash": "c3f055777ef017282ee244247417aefb57add7148b2b65bf82bd92f9db8c514d" + "hash": "ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7" } diff --git a/Cargo.lock b/Cargo.lock index b92c197..598798d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,529 +50,6 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" -[[package]] -name = "alloy" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae62e633fa48b4190af5e841eb05179841bb8b713945103291e2c0867037c0d1" -dependencies = [ - "alloy-consensus", - "alloy-core", - "alloy-eips", - "alloy-network", - "alloy-provider", - "alloy-rpc-client", - "alloy-rpc-types", - "alloy-serde", - "alloy-transport", - "alloy-transport-http", - "alloy-trie", -] - -[[package]] -name = "alloy-chains" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbb778f50ecb0cebfb5c05580948501927508da7bd628833a8c4bd8545e23e2" -dependencies = [ - "alloy-primitives", - "num_enum", - "strum", -] - -[[package]] -name = "alloy-consensus" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b151e38e42f1586a01369ec52a6934702731d07e8509a7307331b09f6c46dc" -dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "alloy-trie", - "alloy-tx-macros", - "auto_impl", - "c-kzg", - "derive_more", - "either", - "k256", - "once_cell", - "rand 0.8.5", - "secp256k1", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-consensus-any" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2d5e8668ef6215efdb7dcca6f22277b4e483a5650e05f5de22b2350971f4b8" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "serde", -] - -[[package]] -name = "alloy-core" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca96214615ec8cf3fa2a54b32f486eb49100ca7fe7eb0b8c1137cd316e7250a" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", -] - -[[package]] -name = "alloy-eip2124" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "crc", - "serde", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-eip2930" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "serde", -] - -[[package]] -name = "alloy-eip7702" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "serde", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-eips" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5434834adaf64fa20a6fb90877bc1d33214c41b055cc49f82189c98614368cc" -dependencies = [ - "alloy-eip2124", - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "auto_impl", - "c-kzg", - "derive_more", - "either", - "serde", - "serde_with", - "sha2", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-json-abi" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" -dependencies = [ - "alloy-primitives", - "alloy-sol-type-parser", - "serde", - "serde_json", -] - -[[package]] -name = "alloy-json-rpc" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c69f6c9c68a1287c9d5ff903d0010726934de0dac10989be37b75a29190d55" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "http", - "serde", - "serde_json", - "thiserror 2.0.17", - "tracing", -] - -[[package]] -name = "alloy-network" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf2ae05219e73e0979cb2cf55612aafbab191d130f203079805eaf881cca58" -dependencies = [ - "alloy-consensus", - "alloy-consensus-any", - "alloy-eips", - "alloy-json-rpc", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-any", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", - "alloy-sol-types", - "async-trait", - "auto_impl", - "derive_more", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-network-primitives" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58f4f345cef483eab7374f2b6056973c7419ffe8ad35e994b7a7f5d8e0c7ba4" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-serde", - "serde", -] - -[[package]] -name = "alloy-primitives" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355bf68a433e0fd7f7d33d5a9fc2583fde70bf5c530f63b80845f8da5505cf28" -dependencies = [ - "alloy-rlp", - "bytes", - "cfg-if", - "const-hex", - "derive_more", - "foldhash 0.2.0", - "hashbrown 0.16.0", - "indexmap 2.6.0", - "itoa", - "k256", - "keccak-asm", - "paste", - "proptest", - "rand 0.9.2", - "ruint", - "rustc-hash 2.1.1", - "serde", - "sha3", - "tiny-keccak", -] - -[[package]] -name = "alloy-provider" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2597751539b1cc8fe4204e5325f9a9ed83fcacfb212018dfcfa7877e76de21" -dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-client", - "alloy-rpc-types-eth", - "alloy-signer", - "alloy-sol-types", - "alloy-transport", - "alloy-transport-http", - "async-stream", - "async-trait", - "auto_impl", - "dashmap", - "either", - "futures", - "futures-utils-wasm", - "lru", - "parking_lot", - "pin-project", - "reqwest", - "serde", - "serde_json", - "thiserror 2.0.17", - "tokio", - "tracing", - "url", - "wasmtimer", -] - -[[package]] -name = "alloy-rlp" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" -dependencies = [ - "alloy-rlp-derive", - "arrayvec", - "bytes", -] - -[[package]] -name = "alloy-rlp-derive" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "alloy-rpc-client" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf8eb8be597cfa8c312934d2566ec4516f066d69164f9212d7a148979fdcfd8" -dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-transport", - "alloy-transport-http", - "futures", - "pin-project", - "reqwest", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", - "url", - "wasmtimer", -] - -[[package]] -name = "alloy-rpc-types" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339af7336571dd39ae3a15bde08ae6a647e62f75350bd415832640268af92c06" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", -] - -[[package]] -name = "alloy-rpc-types-any" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbde0801a32d21c5f111f037bee7e22874836fba7add34ed4a6919932dd7cf23" -dependencies = [ - "alloy-consensus-any", - "alloy-rpc-types-eth", - "alloy-serde", -] - -[[package]] -name = "alloy-rpc-types-eth" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "361cd87ead4ba7659bda8127902eda92d17fa7ceb18aba1676f7be10f7222487" -dependencies = [ - "alloy-consensus", - "alloy-consensus-any", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "alloy-sol-types", - "itertools 0.14.0", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-serde" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64600fc6c312b7e0ba76f73a381059af044f4f21f43e07f51f1fa76c868fe302" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", -] - -[[package]] -name = "alloy-signer" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5772858492b26f780468ae693405f895d6a27dea6e3eab2c36b6217de47c2647" -dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "either", - "elliptic-curve", - "k256", - "thiserror 2.0.17", -] - -[[package]] -name = "alloy-sol-macro" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ce480400051b5217f19d6e9a82d9010cdde20f1ae9c00d53591e4a1afbb312" -dependencies = [ - "alloy-sol-macro-expander", - "alloy-sol-macro-input", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "alloy-sol-macro-expander" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" -dependencies = [ - "alloy-sol-macro-input", - "const-hex", - "heck", - "indexmap 2.6.0", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.107", - "syn-solidity", - "tiny-keccak", -] - -[[package]] -name = "alloy-sol-macro-input" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" -dependencies = [ - "const-hex", - "dunce", - "heck", - "macro-string", - "proc-macro2", - "quote", - "syn 2.0.107", - "syn-solidity", -] - -[[package]] -name = "alloy-sol-type-parser" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954d1b2533b9b2c7959652df3076954ecb1122a28cc740aa84e7b0a49f6ac0a9" -dependencies = [ - "serde", - "winnow", -] - -[[package]] -name = "alloy-sol-types" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-macro", - "serde", -] - -[[package]] -name = "alloy-transport" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025a940182bddaeb594c26fe3728525ae262d0806fe6a4befdf5d7bc13d54bce" -dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "auto_impl", - "base64", - "derive_more", - "futures", - "futures-utils-wasm", - "parking_lot", - "serde", - "serde_json", - "thiserror 2.0.17", - "tokio", - "tower", - "tracing", - "url", - "wasmtimer", -] - -[[package]] -name = "alloy-transport-http" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5064d1e1e1aabc918b5954e7fb8154c39e77ec6903a581b973198b26628fa" -dependencies = [ - "alloy-json-rpc", - "alloy-transport", - "reqwest", - "serde_json", - "tower", - "tracing", - "url", -] - -[[package]] -name = "alloy-trie" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "arrayvec", - "derive_more", - "nybbles", - "serde", - "smallvec", - "tracing", -] - -[[package]] -name = "alloy-tx-macros" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e52276fdb553d3c11563afad2898f4085165e4093604afe3d78b69afbf408f" -dependencies = [ - "alloy-primitives", - "darling", - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "android-tzdata" version = "0.1.1" @@ -597,195 +74,6 @@ dependencies = [ "derive_arbitrary", ] -[[package]] -name = "ark-ff" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" -dependencies = [ - "ark-ff-asm 0.3.0", - "ark-ff-macros 0.3.0", - "ark-serialize 0.3.0", - "ark-std 0.3.0", - "derivative", - "num-bigint", - "num-traits", - "paste", - "rustc_version 0.3.3", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version 0.4.1", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" -dependencies = [ - "ark-ff-asm 0.5.0", - "ark-ff-macros 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "arrayvec", - "digest 0.10.7", - "educe", - "itertools 0.13.0", - "num-bigint", - "num-traits", - "paste", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-asm" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" -dependencies = [ - "quote", - "syn 2.0.107", -] - -[[package]] -name = "ark-ff-macros" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" -dependencies = [ - "num-bigint", - "num-traits", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "ark-serialize" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" -dependencies = [ - "ark-std 0.3.0", - "digest 0.9.0", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-serialize" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" -dependencies = [ - "ark-std 0.5.0", - "arrayvec", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-std" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-std" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "arrayref" version = "0.3.9" @@ -793,12 +81,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] -name = "arrayvec" -version = "0.7.6" +name = "assert-json-diff" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12" dependencies = [ "serde", + "serde_json", ] [[package]] @@ -812,28 +101,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "async-trait" version = "0.1.83" @@ -842,7 +109,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -860,17 +127,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "auto_impl" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -990,7 +246,7 @@ checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -1014,22 +270,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base256emoji" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" -dependencies = [ - "const-str", - "match-lookup", -] - [[package]] name = "base64" version = "0.22.1" @@ -1064,7 +304,7 @@ dependencies = [ "bitflags", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools", "lazy_static", "lazycell", "log", @@ -1074,60 +314,17 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.107", + "syn 2.0.89", "which", ] -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitcoin-io" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" - -[[package]] -name = "bitcoin_hashes" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" -dependencies = [ - "bitcoin-io", - "hex-conservative", -] - [[package]] name = "bitflags" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -dependencies = [ - "serde_core", -] - -[[package]] -name = "bitvec" -version = "1.0.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ - "funty", - "radium", - "tap", - "wyz", + "serde", ] [[package]] @@ -1139,18 +336,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "blst" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" -dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", -] - [[package]] name = "bs58" version = "0.5.1" @@ -1166,12 +351,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "byte-slice-cast" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" - [[package]] name = "byteorder" version = "1.5.0" @@ -1180,27 +359,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" -dependencies = [ - "serde", -] - -[[package]] -name = "c-kzg" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" -dependencies = [ - "blst", - "cc", - "glob", - "hex", - "libc", - "once_cell", - "serde", -] +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "cc" @@ -1310,21 +471,9 @@ dependencies = [ name = "concurrent-queue" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "const-hex" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "cfg-if", - "cpufeatures", - "proptest", - "serde_core", + "crossbeam-utils", ] [[package]] @@ -1333,12 +482,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const-str" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" - [[package]] name = "core-foundation" version = "0.9.4" @@ -1430,24 +573,6 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" -[[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -1458,42 +583,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "serde", - "strsim", - "syn 2.0.107", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.107", -] - [[package]] name = "dashmap" version = "6.1.0" @@ -1510,15 +599,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.9.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.18" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1526,44 +615,41 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.16" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", - "syn 2.0.107", + "syn 1.0.109", ] [[package]] -name = "der" -version = "0.7.9" +name = "deadpool" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490" dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", + "async-trait", + "deadpool-runtime", + "num_cpus", + "tokio", ] [[package]] -name = "deranged" -version = "0.5.4" +name = "deadpool-runtime" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" -dependencies = [ - "powerfmt", - "serde_core", -] +checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" [[package]] -name = "derivative" -version = "2.2.0" +name = "der" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "const-oid", + "pem-rfc7468", + "zeroize", ] [[package]] @@ -1574,37 +660,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", -] - -[[package]] -name = "derive_more" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", - "unicode-xid", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", + "syn 2.0.89", ] [[package]] @@ -1627,7 +683,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -1642,68 +698,15 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "serdect", - "signature", - "spki", -] - -[[package]] -name = "educe" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "either" -version = "1.15.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" dependencies = [ "serde", ] -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "serdect", - "subtle", - "zeroize", -] - [[package]] name = "encoding_rs" version = "0.8.35" @@ -1713,26 +716,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enum-ordinalize" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" -dependencies = [ - "enum-ordinalize-derive", -] - -[[package]] -name = "enum-ordinalize-derive" -version = "4.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1797,50 +780,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" -[[package]] -name = "fastrlp" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", -] - -[[package]] -name = "fastrlp" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", -] - -[[package]] -name = "ff" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - [[package]] name = "flate2" version = "1.0.35" @@ -1868,18 +807,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "foldhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" - [[package]] name = "foreign-types" version = "0.3.2" @@ -1920,12 +847,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures" version = "0.3.31" @@ -1993,7 +914,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -2032,12 +953,6 @@ dependencies = [ "slab", ] -[[package]] -name = "futures-utils-wasm" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" - [[package]] name = "generator" version = "0.8.5" @@ -2060,7 +975,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -2076,18 +990,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasip2", -] - [[package]] name = "gimli" version = "0.28.1" @@ -2116,22 +1018,11 @@ dependencies = [ "parking_lot", "portable-atomic", "quanta", - "rand 0.8.5", + "rand", "smallvec", "spinning_top", ] -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "h2" version = "0.4.7" @@ -2144,19 +1035,13 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.6.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -2172,21 +1057,6 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.1.5", -] - -[[package]] -name = "hashbrown" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" -dependencies = [ - "foldhash 0.2.0", - "serde", -] [[package]] name = "hashlink" @@ -2221,15 +1091,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex-conservative" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" -dependencies = [ - "arrayvec", -] - [[package]] name = "hkdf" version = "0.12.4" @@ -2245,7 +1106,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -2515,15 +1376,9 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "1.0.3" @@ -2545,43 +1400,12 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "indenter" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - [[package]] name = "indexmap" version = "2.6.0" @@ -2601,36 +1425,9 @@ checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.14.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] @@ -2659,39 +1456,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "serdect", - "sha2", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "keccak-asm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" -dependencies = [ - "digest 0.10.7", - "sha3-asm", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -2802,37 +1566,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "lru" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" -dependencies = [ - "hashbrown 0.15.2", -] - -[[package]] -name = "macro-string" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "match-lookup" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "matchers" version = "0.1.0" @@ -2855,7 +1588,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.10.7", + "digest", ] [[package]] @@ -2931,7 +1664,7 @@ dependencies = [ "loom", "parking_lot", "portable-atomic", - "rustc_version 0.4.1", + "rustc_version", "smallvec", "tagptr", "thiserror 1.0.69", @@ -2976,21 +1709,20 @@ dependencies = [ [[package]] name = "multibase" -version = "0.9.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" dependencies = [ "base-x", - "base256emoji", "data-encoding", "data-encoding-macro", ] [[package]] name = "multihash" -version = "0.19.3" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" dependencies = [ "core2", "unsigned-varint", @@ -3073,17 +1805,11 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand 0.8.5", + "rand", "smallvec", "zeroize", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.46" @@ -3124,41 +1850,6 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "nybbles" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4b5ecbd0beec843101bffe848217f770e8b8da81d8355b7d6e226f2199b3dc" -dependencies = [ - "alloy-rlp", - "cfg-if", - "proptest", - "ruint", - "serde", - "smallvec", -] - [[package]] name = "object" version = "0.32.2" @@ -3170,9 +1861,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "openssl" @@ -3197,7 +1888,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -3230,32 +1921,6 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" -[[package]] -name = "parity-scale-codec" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" -dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "parking" version = "2.2.1" @@ -3306,16 +1971,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e7521a040efde50c3ab6bbadafbe15ab6dc042686926be59ac35d74607df4" -dependencies = [ - "memchr", - "ucd-trie", -] - [[package]] name = "pin-project" version = "1.1.8" @@ -3333,7 +1988,7 @@ checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -3381,12 +2036,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -3403,49 +2052,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.107", -] - -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "impl-codec", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-error2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" -dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -3457,26 +2064,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "proptest" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb0be07becd10686a0bb407298fb425360a5c44a663774406340c59a22de4ce" -dependencies = [ - "bit-set", - "bit-vec", - "bitflags", - "lazy_static", - "num-traits", - "rand 0.9.2", - "rand_chacha 0.9.0", - "rand_xorshift", - "regex-syntax 0.8.5", - "rusty-fork", - "tempfile", - "unarray", -] - [[package]] name = "quanta" version = "0.12.5" @@ -3492,12 +2079,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quick-protobuf" version = "0.8.1" @@ -3517,10 +2098,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.1", + "rustc-hash 2.0.0", "rustls", "socket2", - "thiserror 2.0.17", + "thiserror 2.0.3", "tokio", "tracing", ] @@ -3532,14 +2113,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand 0.8.5", + "getrandom", + "rand", "ring", - "rustc-hash 2.1.1", + "rustc-hash 2.0.0", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.17", + "thiserror 2.0.3", "tinyvec", "tracing", "web-time", @@ -3568,18 +2149,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "rand" version = "0.8.5" @@ -3587,20 +2156,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "serde", -] - -[[package]] -name = "rand" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "serde", + "rand_chacha", + "rand_core", ] [[package]] @@ -3610,17 +2167,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", + "rand_core", ] [[package]] @@ -3629,26 +2176,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.4", - "serde", -] - -[[package]] -name = "rand_xorshift" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" -dependencies = [ - "rand_core 0.9.3", + "getrandom", ] [[package]] @@ -3669,26 +2197,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "regex" version = "1.11.1" @@ -3782,16 +2290,6 @@ dependencies = [ "windows-registry", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - [[package]] name = "ring" version = "0.17.8" @@ -3800,23 +2298,13 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom", "libc", "spin", "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rustc-hex", -] - [[package]] name = "rsa" version = "0.9.7" @@ -3824,53 +2312,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519" dependencies = [ "const-oid", - "digest 0.10.7", + "digest", "num-bigint-dig", "num-integer", "num-traits", "pkcs1", "pkcs8", - "rand_core 0.6.4", + "rand_core", "signature", "spki", "subtle", "zeroize", ] -[[package]] -name = "ruint" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" -dependencies = [ - "alloy-rlp", - "ark-ff 0.3.0", - "ark-ff 0.4.2", - "ark-ff 0.5.0", - "bytes", - "fastrlp 0.3.1", - "fastrlp 0.4.0", - "num-bigint", - "num-integer", - "num-traits", - "parity-scale-codec", - "primitive-types", - "proptest", - "rand 0.8.5", - "rand 0.9.2", - "rlp", - "ruint-macro", - "serde_core", - "valuable", - "zeroize", -] - -[[package]] -name = "ruint-macro" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" - [[package]] name = "rust-embed" version = "8.5.0" @@ -3891,7 +2345,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.107", + "syn 2.0.89", "walkdir", ] @@ -3919,24 +2373,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.3.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -dependencies = [ - "semver 0.11.0", -] +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" [[package]] name = "rustc_version" @@ -3944,7 +2383,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.26", + "semver", ] [[package]] @@ -4011,64 +2450,28 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" -[[package]] -name = "rusty-fork" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - [[package]] name = "ryu" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" -dependencies = [ - "windows-sys 0.59.0", -] +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] -name = "schemars" -version = "0.9.0" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", + "winapi-util", ] [[package]] -name = "schemars" -version = "1.0.4" +name = "schannel" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", + "windows-sys 0.59.0", ] [[package]] @@ -4083,42 +2486,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "serdect", - "subtle", - "zeroize", -] - -[[package]] -name = "secp256k1" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "secp256k1-sys", - "serde", -] - -[[package]] -name = "secp256k1-sys" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" -dependencies = [ - "cc", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -4142,58 +2509,30 @@ dependencies = [ "libc", ] -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser", -] - [[package]] name = "semver" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -[[package]] -name = "semver-parser" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" -dependencies = [ - "pest", -] - [[package]] name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde_core" -version = "1.0.228" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.228" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -4230,48 +2569,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "3.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" -dependencies = [ - "base64", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.6.0", - "schemars 0.9.0", - "schemars 1.0.4", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.107", -] - -[[package]] -name = "serdect" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" -dependencies = [ - "base16ct", - "serde", -] - [[package]] name = "sha1" version = "0.10.6" @@ -4280,7 +2577,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -4291,27 +2588,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest 0.10.7", - "keccak", -] - -[[package]] -name = "sha3-asm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" -dependencies = [ - "cc", - "cfg-if", + "digest", ] [[package]] @@ -4344,8 +2621,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest", + "rand_core", ] [[package]] @@ -4456,7 +2733,7 @@ dependencies = [ "hashbrown 0.14.5", "hashlink", "hex", - "indexmap 2.6.0", + "indexmap", "log", "memchr", "once_cell", @@ -4488,7 +2765,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -4511,7 +2788,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.107", + "syn 2.0.89", "tempfile", "tokio", "url", @@ -4531,7 +2808,7 @@ dependencies = [ "bytes", "chrono", "crc", - "digest 0.10.7", + "digest", "dotenvy", "either", "futures-channel", @@ -4548,7 +2825,7 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand 0.8.5", + "rand", "rsa", "serde", "sha1", @@ -4591,7 +2868,7 @@ dependencies = [ "memchr", "num-bigint", "once_cell", - "rand 0.8.5", + "rand", "serde", "serde_json", "sha2", @@ -4652,33 +2929,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "subtle" version = "2.6.1" @@ -4698,27 +2948,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.107" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "syn-solidity" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.107", -] - [[package]] name = "sync_wrapper" version = "1.0.2" @@ -4736,7 +2974,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -4766,12 +3004,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tempfile" version = "3.14.0" @@ -4796,11 +3028,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.3", ] [[package]] @@ -4811,18 +3043,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -4835,55 +3067,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "time" -version = "0.3.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" - -[[package]] -name = "time-macros" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinystr" version = "0.7.6" @@ -4935,7 +3118,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -4968,7 +3151,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -4984,36 +3166,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml_datetime" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.23.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ad0b7ae9cfeef5605163839cb9221f453399f15cfb5c10be9885fcf56611f9" -dependencies = [ - "indexmap 2.6.0", - "toml_datetime", - "toml_parser", - "winnow", -] - -[[package]] -name = "toml_parser" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" -dependencies = [ - "winnow", -] - [[package]] name = "tower" version = "0.5.2" @@ -5068,7 +3220,7 @@ dependencies = [ "governor", "http", "pin-project", - "thiserror 2.0.17", + "thiserror 2.0.3", "tower", "tracing", ] @@ -5093,7 +3245,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -5157,30 +3309,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "ucd-trie" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - [[package]] name = "unicase" version = "2.8.0" @@ -5214,12 +3342,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "unicode_categories" version = "0.1.1" @@ -5253,7 +3375,6 @@ dependencies = [ name = "url_finder" version = "0.4.0" dependencies = [ - "alloy", "axum", "axum-extra", "chrono", @@ -5275,18 +3396,12 @@ dependencies = [ "tower_governor", "tracing", "tracing-subscriber", - "urlencoding", "utoipa", "utoipa-swagger-ui", "uuid", + "wiremock", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - [[package]] name = "utf16_iter" version = "1.0.5" @@ -5305,7 +3420,7 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "514a48569e4e21c86d0b84b5612b5e73c0b2cf09db63260134ba426d4e8ea714" dependencies = [ - "indexmap 2.6.0", + "indexmap", "serde", "serde_json", "utoipa-gen", @@ -5320,7 +3435,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.107", + "syn 2.0.89", "url", "uuid", ] @@ -5349,7 +3464,7 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ - "getrandom 0.2.15", + "getrandom", "serde", ] @@ -5371,15 +3486,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "wait-timeout" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" -dependencies = [ - "libc", -] - [[package]] name = "walkdir" version = "2.5.0" @@ -5405,15 +3511,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasip2" -version = "1.0.1+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" -dependencies = [ - "wit-bindgen", -] - [[package]] name = "wasite" version = "0.1.0" @@ -5442,7 +3539,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", "wasm-bindgen-shared", ] @@ -5476,7 +3573,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5487,20 +3584,6 @@ version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" -[[package]] -name = "wasmtimer" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" -dependencies = [ - "futures", - "js-sys", - "parking_lot", - "pin-utils", - "slab", - "wasm-bindgen", -] - [[package]] name = "web-sys" version = "0.3.72" @@ -5646,7 +3729,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -5657,7 +3740,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -5882,20 +3965,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "winnow" -version = "0.7.13" +name = "wiremock" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "a2b8b99d4cdbf36b239a9532e31fe4fb8acc38d1897c1761e161550a7dc78e6a" dependencies = [ - "memchr", + "assert-json-diff", + "async-trait", + "base64", + "deadpool", + "futures", + "http", + "http-body-util", + "hyper", + "hyper-util", + "log", + "once_cell", + "regex", + "serde", + "serde_json", + "tokio", + "url", ] -[[package]] -name = "wit-bindgen" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" - [[package]] name = "write16" version = "1.0.0" @@ -5908,15 +4000,6 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "yoke" version = "0.7.5" @@ -5937,7 +4020,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", "synstructure", ] @@ -5959,7 +4042,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -5979,7 +4062,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", "synstructure", ] @@ -5988,20 +4071,6 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.107", -] [[package]] name = "zerovec" @@ -6022,7 +4091,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.107", + "syn 2.0.89", ] [[package]] @@ -6036,9 +4105,9 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.6.0", + "indexmap", "memchr", - "thiserror 2.0.17", + "thiserror 2.0.3", "zopfli", ] diff --git a/Makefile b/Makefile index 44082e7..510812c 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,8 @@ run-db: @docker compose up -d postgres stop-db: @docker compose down postgres +exec-db: + @docker compose exec postgres psql -U postgres -d uf clear-db: @docker compose down -v postgres logs-db: @@ -61,4 +63,4 @@ prepare: @cargo clippy stop-app: - @docker compose down url_finder \ No newline at end of file + @docker compose down url_finder diff --git a/migrations/20251110050249_create_url_results.down.sql b/migrations/20251110050249_create_url_results.down.sql new file mode 100644 index 0000000..d4e5def --- /dev/null +++ b/migrations/20251110050249_create_url_results.down.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS url_results; diff --git a/migrations/20251110050249_create_url_results.up.sql b/migrations/20251110050249_create_url_results.up.sql new file mode 100644 index 0000000..4862fed --- /dev/null +++ b/migrations/20251110050249_create_url_results.up.sql @@ -0,0 +1,21 @@ +CREATE TABLE url_results ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + provider_id VARCHAR(255) NOT NULL, + client_id VARCHAR(255), + result_type VARCHAR(50) NOT NULL, + + working_url TEXT, + retrievability_percent DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + result_code VARCHAR(100) NOT NULL, + error_code VARCHAR(100), + + tested_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE INDEX idx_url_results_provider ON url_results(provider_id, tested_at DESC); +CREATE INDEX idx_url_results_pair ON url_results(provider_id, client_id, tested_at DESC); +CREATE INDEX idx_url_results_client ON url_results(client_id, tested_at DESC) + WHERE client_id IS NOT NULL; +CREATE INDEX idx_url_results_tested_at ON url_results(tested_at DESC); +CREATE INDEX idx_url_results_result_type ON url_results(result_type, tested_at DESC); diff --git a/scripts/setup_dev_db.sh b/scripts/setup_dev_db.sh index 7f0265b..135ab1f 100755 --- a/scripts/setup_dev_db.sh +++ b/scripts/setup_dev_db.sh @@ -6,6 +6,9 @@ if [ -f .env ]; then export $(grep -v '^#' .env | xargs) fi +# SQL file name or default +FILE_NAME=${1:-"sample_deals.sql"} + if [ -z "$DATABASE_URL" ]; then echo "ERROR: DATABASE_URL not set in .env" exit 1 @@ -56,7 +59,7 @@ EOF echo "Table created. Seeding sample data..." # Seed with sample data -psql "$DATABASE_URL" < scripts/sql/sample_deals.sql +psql "$DATABASE_URL" < scripts/sql/$FILE_NAME echo "✓ Development database setup complete!" echo "✓ unified_verified_deal table created and seeded" diff --git a/scripts/sql/success_deals.sql b/scripts/sql/success_deals.sql new file mode 100644 index 0000000..73a020d --- /dev/null +++ b/scripts/sql/success_deals.sql @@ -0,0 +1,52 @@ +INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "providerId", "sectorId", "pieceCid", "pieceSize", "termMax", "termMin", "termStart", "slashedEpoch", "processedSlashedEpoch", removed, "createdAt", "updatedAt", "dcSource") VALUES +(151882884, 0, 118356272, 'claim', '3200311', '10479', '18801', 'baga6ea4seaqiajg6sgt7zl6iko4cc6krzl6djg2mfiil25lkgqckihnb37kiiii', 34359738368, 1785600, 1526400, 5475186, 0, 0, false, '2025-11-07 10:15:01.795', '2025-11-07 10:15:01.795', NULL), +(151887412, 0, 118390126, 'claim', '3676984', '1106668', '1551007', 'baga6ea4seaqf5ow5ac6tlx7uflsvtu2eq6dwugtp5cx5myvvfkvsu3rp2y3pkfy', 34359738368, 3896640, 3637440, 5475459, 0, 0, false, '2025-11-07 22:24:01.569', '2025-11-07 22:24:01.569', NULL), +(150217933, 0, 116595866, 'claim', '3065156', '1115949', '379984', 'baga6ea4seaqoohft3ouhtfdcydbvkpnqyf5hbdqzxlwhn2zfkikjiuqqg5wrmfa', 34359738368, 1814400, 1555200, 5400744, 0, 0, false, '2025-10-12 21:41:02.907', '2025-10-12 21:41:02.907', NULL), +(140846141, 0, 106525634, 'claim', '3300271', '1240', '40287', 'baga6ea4seaqd67m6shtr6rylbbqbgzfifyfwgfapf5vuwiyfpty63kqc4urkqfy', 34359738368, 3531080, 3271880, 5116413, 0, 0, false, '2025-07-06 10:10:01.987', '2025-07-06 10:10:01.987', NULL), +(151887600, 0, 118390221, 'claim', '3676984', '1315096', '2205693', 'baga6ea4seaqhxjpxcgxu4ympkzdexvwyivvcr6wu34rgduypok576x6dizqz6ny', 34359738368, 3896640, 3637440, 5475482, 0, 0, false, '2025-11-07 22:34:01.77', '2025-11-07 22:34:01.77', NULL), +(151887498, 0, 118390098, 'claim', '3645919', '1518369', '988021', 'baga6ea4seaqe3rgn64cqgd2bvm7v3s65xbsnn6754yfgsyrgnn3ndisicjeluoi', 34359738368, 3896640, 3637440, 5475473, 0, 0, false, '2025-11-07 22:24:01.569', '2025-11-07 22:24:01.569', NULL), +(115190130, 97520906, 81378127, 'claim', '3087718', '1611097', '23698', 'baga6ea4seaqc5f6ju4hg5ods56xayjb3rrujhamdybahj4573cvy4ltc4ns2ony', 8589934592, 1728000, 1468800, 4440355, 0, 0, false, '2024-11-14 20:31:03.176', '2024-11-14 20:31:03.176', NULL), +(139600392, 0, 105434678, 'claim', '3045127', '1697248', '549245', 'baga6ea4seaqfthr2kpfxxndh7ekjsdeyyrz46t7gmu6l3cs6bmucjf6b7bnhyjy', 34359738368, 1748160, 1488960, 5084235, 0, 0, false, '2025-06-25 02:05:03.404', '2025-06-25 02:05:03.404', NULL), +(150255296, 0, 116595763, 'claim', '3065156', '1770778', '462143', 'baga6ea4seaqkrlw3etn57ix3k34ibshbm54fm5ziyq5lmxfynkevznkirp2vybq', 34359738368, 1814400, 1555200, 5402040, 0, 0, false, '2025-10-12 21:36:02.762', '2025-10-12 21:36:02.762', NULL), +(140763392, 0, 106437175, 'claim', '3300271', '1771403', '282020', 'baga6ea4seaqju6maxs2ds3jooj47xcaekfoywdw7r2t23z5hwzt2435yao4q2bq', 34359738368, 3532986, 3273786, 5114552, 0, 0, false, '2025-07-05 18:25:04.062', '2025-07-05 18:25:04.062', NULL), +(112177161, 92275027, 0, 'deal', '2097088', '1786387', '0', 'baga6ea4seaqcfjakmuimtlwgtwq5ax4mvhwzvbodi2hil4czcfd5apbsmqm2sjy', 34359738368, 5816737, NULL, 4294967295, 0, 0, false, '2024-10-23 20:06:26.325674', '2024-10-23 20:06:26.325674', NULL), +(149378004, 0, 114269515, 'claim', '3337791', '1912298', '30637', 'baga6ea4seaqp7t6mzhnkbqdkpf2qdwc2phowpuec6qy3fvwwwy7qtcputjeumli', 17179869184, 5256000, 1497600, 5375267, 0, 0, false, '2025-09-16 07:38:04.23', '2025-09-16 07:38:04.23', NULL), +(134470568, 106188045, 90101097, 'claimUpdatedWithoutExistingClaim', '3261810', '1999119', '66843', 'baga6ea4seaqjzb4m3k5cnu5rp6gaej6tegtu3uxrg6zexc65kimxs4skzfudcly', 34359738368, 5256000, 518400, 4704960, 0, 0, false, '2025-05-15 18:50:11.483838', '2025-05-15 18:50:11.483838', NULL), +(131862418, 0, 74146809, 'claimUpdated', '3062953', '2013352', 'null', 'baga6ea4seaqp6sccmsnmccka5a5k6hljgge3zkyvpvqstxeufle734ijltbd6oy', 34359738368, 5256000, 518400, 4249332, 0, 0, false, '2025-05-13 08:14:15.367567', '2025-05-13 08:14:15.367567', NULL), +(132723571, 0, 79607649, 'allocationRemoved', '3088167', '2035256', 'null', 'baga6ea4seaqkudklumowh5vek2b2gt6ruiwzrp2pzn3uyf2hyhb5mo4aav2k2dq', 34359738368, 1784400, 1525200, NULL, 0, 0, false, '2025-05-13 09:29:31.723123', '2025-05-13 09:29:31.723123', NULL), +(107745357, 78175004, 60463924, 'deal', '2519046', '2131801', '110256', 'baga6ea4seaqndc6lezc35k7vul63gwf6hbhvhc4wxevlf3webejbjciozznx6pa', 34359738368, 7467146, NULL, 3816042, 0, 0, false, '2024-10-23 19:54:57.854394', '2024-10-23 19:54:57.854394', NULL), +(106838933, 76735342, 59024528, 'deal', '2057819', '2131855', '107566', 'baga6ea4seaqaorqz7dmpxsxbyv4ty55bqxmadcznag5lh54p7awhx35erwwwwaa', 34359738368, 7428459, NULL, 3767375, 0, 0, false, '2024-10-23 19:53:43.267251', '2024-10-23 19:53:43.267251', NULL), +(107372727, 77579637, 59868805, 'deal', '1938503', '2131881', '113562', 'baga6ea4seaqcft2ps7feq4weivbtrrwusv36zqoezdsln66cza35tfrqqluykay', 34359738368, 7457573, NULL, 3792948, 0, 0, false, '2024-10-23 19:54:26.663738', '2024-10-23 19:54:26.663738', NULL), +(143626229, 0, 109327714, 'claim', '3300271', '2366527', '111458', 'baga6ea4seaqj6tnitdhctb2jyagbeieaonilstcs22qtucqhrprupq2q57ulckq', 34359738368, 3469166, 3209966, 5178334, 0, 0, false, '2025-07-27 22:25:03.469', '2025-07-27 22:25:03.469', NULL), +(151886233, 0, 118396194, 'claim', '3510418', '2639429', '31104', 'baga6ea4seaqo7qp2bd6ppbyjlxzzokaz25643gcqdosmcna3fmegespyxnq3yma', 34359738368, 1831680, 1572480, 5475440, 0, 0, false, '2025-11-08 02:44:02.248', '2025-11-08 02:44:02.248', NULL), +(133065375, 0, 72260681, 'claimUpdated', '3150550', '2832475', 'null', 'baga6ea4seaqhfztpkpm6geluchnmjn7fmp5iayvlcpwmiqeqt64k4cddyshesba', 34359738368, 5256000, 604800, 4193688, 0, 0, false, '2025-05-13 09:47:01.425427', '2025-05-13 09:47:01.425427', NULL), +(134122926, 0, 78699599, 'claimUpdated', '3216713', '2852273', 'null', 'baga6ea4seaqmhopk273h2x62gkn7c5j2wseybr7vbbal5j5ucltsmnf7m7be4ma', 34359738368, 1238400, 604800, 4360842, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(133063957, 0, 71992583, 'claimUpdated', '3150550', '2859053', 'null', 'baga6ea4seaqap6ugt7m7v744b3bpsrpx3mn6gt4zz7dos6odtdpotg24wov4ugq', 34359738368, 5256000, 604800, 4187078, 0, 0, false, '2025-05-13 09:47:01.425427', '2025-05-13 09:47:01.425427', NULL), +(134122978, 0, 78171674, 'claimUpdated', '3216713', '2883857', 'null', 'baga6ea4seaqdz6vnjkp7ghxeg4rowc3aasdrqvbhaboxuengx2nqvy4kmbz46nq', 34359738368, 1238400, 604800, 4347973, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(128249694, 0, 95187441, 'claim', '3200311', '2942349', '3396', 'baga6ea4seaqgjibby6lqy7sjaiadax3wffnh7igyvws7ivlisvqgpzhnf3hvenq', 34359738368, 1785600, 1526400, 4850711, 0, 0, false, '2025-04-05 04:32:01.868', '2025-04-05 04:32:01.868', NULL), +(134122903, 0, 78694240, 'claimUpdated', '3216713', '2973061', 'null', 'baga6ea4seaqeveg6vtlx7vst4be2bskapm2qgrampftopq45lbicbeipveuvspq', 34359738368, 1238400, 604800, 4360850, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(140775600, 0, 106431676, 'claim', '3300271', '2982293', '145841', 'baga6ea4seaqd3d5dsv76fst7telwsuykwi5km3ow6u6b2ov6i5msfbzivh5yueq', 34359738368, 3533091, 3273891, 5114783, 0, 0, false, '2025-07-05 17:35:02.517', '2025-07-05 17:35:02.517', NULL), +(134122936, 0, 78170114, 'claimUpdated', '3216713', '2984331', 'null', 'baga6ea4seaqekjl2mgffnexulholfkvrdpmzys2ye2roz4juydfq7z2kb4fmigi', 34359738368, 1238400, 604800, 4347973, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(150997119, 0, 117456354, 'claim', '3645919', '3055005', '187825', 'baga6ea4seaqbrwbcv3hphaokekz6kci4pj3z4saj3oewoz773d6idehyvermifa', 34359738368, 3896640, 3637440, 5432383, 0, 0, false, '2025-10-23 20:14:02.008', '2025-10-23 20:14:02.008', NULL), +(149834938, 0, 116237509, 'claim', '3645919', '3055018', '178670', 'baga6ea4seaqi747njbyswksrdlwge7mouxm3dblibo4bv6yfh4v4g4bxqrbd2ay', 34359738368, 3896640, 3637440, 5389744, 0, 0, false, '2025-10-09 01:07:02.992', '2025-10-09 01:07:02.992', NULL), +(150562565, 0, 116959105, 'claim', '3235903', '3055029', '182494', 'baga6ea4seaqesclplgr2qskbsjjdlwpqdmasmyzz2gkif7axi2stejfbd3el6pi', 34359738368, 3896640, 3637440, 5413685, 0, 0, false, '2025-10-17 02:34:02.149', '2025-10-17 02:34:02.149', NULL), +(141384754, 0, 107042713, 'claim', '3300271', '3064136', '108707', 'baga6ea4seaqnhrypledd7ea5svm4lynjehpwr6bqgbip5ywrccl2sdycg3bjwba', 34359738368, 3518549, 3259349, 5128962, 0, 0, false, '2025-07-10 19:01:00.015', '2025-07-10 19:01:00.015', NULL), +(141166701, 0, 106782007, 'claim', '3200311', '3084393', '11348', 'baga6ea4seaqanp5oy6gpcijke5crk4re7ao6dz43vmqwlqj55y3xpylanabx4py', 34359738368, 1785600, 1526400, 5124216, 0, 0, false, '2025-07-08 15:20:02.644', '2025-07-08 15:20:02.644', NULL), +(134139743, 0, 75140689, 'claimUpdated', '3194641', '3151449', 'null', 'baga6ea4seaqgj5pco2l5ozo73yqipdzkfsmmvgewzquo7ojacz7cykkof4aocli', 34359738368, 5250000, 538560, 4269769, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), +(134139812, 0, 75621888, 'claimUpdated', '3194641', '3151456', 'null', 'baga6ea4seaqmivu5lrv2afzzqrefiukkyt6gx5j4utww7trunspyxdk7uci52ay', 34359738368, 5250000, 538560, 4282480, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), +(138078003, 0, 103860791, 'claim', '3300271', '3161054', '44620', 'baga6ea4seaqksxtgpsa57xakxfawu7tym7rzyw6fc52tbmzxdof5j67eidjk6fa', 34359738368, 3597137, 3337937, 5050573, 0, 0, false, '2025-06-13 11:54:06.146', '2025-06-13 11:54:06.146', NULL), +(134122996, 0, 79181480, 'claimUpdated', '3216713', '3178077', 'null', 'baga6ea4seaqo66ebbufricvshkg662nsfoipg52zcgwh4gftxz7wdtvbx2tnepa', 34359738368, 5256000, 604800, 4375673, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(134139816, 0, 75594376, 'claimUpdated', '3194641', '3178144', 'null', 'baga6ea4seaqjihee7qxjmj2dfsng5anya3rrthvns6xknxsnpahq55rzlinc4ji', 34359738368, 5250000, 522856, 4283987, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), +(134139711, 0, 74167485, 'claimUpdated', '3194641', '3179555', 'null', 'baga6ea4seaqaoxlccnqdz4rp6er52u5vfblr2elzx2xifaz372l32kiciee4gpy', 34359738368, 5250000, 521374, 4245537, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), +(134139794, 0, 76128663, 'claimUpdated', '3194641', '3179570', 'null', 'baga6ea4seaqmhf6b63brpthi3ywyyvwzg7ipfynmg6t643wbrpkvq27czyxnuaq', 34359738368, 5250000, 521879, 4295218, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), +(134122890, 0, 79139925, 'claimUpdated', '3216713', '3179572', 'null', 'baga6ea4seaqacvdozo4jpe7frpsx4ucnr346qzltu7yjjufjw2chb3urdthb6ii', 34359738368, 5256000, 604800, 4373996, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), +(150541250, 0, 116962921, 'claim', '2034523', '3199233', '89879', 'baga6ea4seaqhetenzca5hlaoif7iabzv5cwmswb2qf7fjcnefhifedbpgea3ygy', 34359738368, 3893760, 3634560, 5412801, 0, 0, false, '2025-10-17 04:09:04.333', '2025-10-17 04:09:04.333', NULL), +(133908844, 0, 79154203, 'claimUpdated', '3224736', '3214937', 'null', 'baga6ea4seaqj7dilyyoqcmtbqp3invn2cixl3xurlai4lqaefvxjtqboqcrsada', 34359738368, 5256000, 604800, 4377353, 0, 0, false, '2025-05-13 10:23:23.291678', '2025-05-13 10:23:23.291678', NULL), +(134087205, 0, 79227308, 'allocationRemoved', '3173480', '3215853', 'null', 'baga6ea4seaqbiaarrtieivq3avvoshwdwhfj7d4i6265tichx75hbmleckvjeoa', 34359738368, 1782200, 1523000, NULL, 0, 0, false, '2025-05-13 10:34:05.182323', '2025-05-13 10:34:05.182323', NULL), +(134086921, 0, 79141344, 'claimUpdated', '3173480', '3218576', 'null', 'baga6ea4seaqb3tezlsjzy53ym7ysu3ram74i5v2sxqzhbganl3ewjil7lcuauma', 34359738368, 5256000, 1523000, 4373996, 0, 0, false, '2025-05-13 10:34:05.182323', '2025-05-13 10:34:05.182323', NULL), +(151846728, 0, 89523919, 'claimUpdatedWithoutExistingClaim', '3288934', '811822', '19346', 'baga6ea4seaqptesvuzypw6cnnaoamccjvwimw2lvl6ttjg2pxtplssiwduop6py', 34359738368, 5256000, 1555200, 4687852, 0, 0, false, '2025-11-07 07:19:02.35001', '2025-11-07 07:19:02.35001', NULL), +(151815572, 0, 89523927, 'claimUpdatedWithoutExistingClaim', '3288934', '832944', '19268', 'baga6ea4seaqagwym57tubfwc4cdld2pzzydmjoyc2pkze2hkaevnfknmqwfmimi', 17179869184, 5256000, 1555200, 4687889, 0, 0, false, '2025-11-07 02:50:02.311863', '2025-11-07 02:50:02.311863', NULL), +(151865303, 0, 118359845, 'claim', '3200311', '8403', '21103', 'baga6ea4seaqiajg6sgt7zl6iko4cc6krzl6djg2mfiil25lkgqckihnb37kiiii', 34359738368, 1785600, 1526400, 5474233, 0, 0, false, '2025-11-07 11:14:02.059', '2025-11-07 11:14:02.059', NULL), +(151834668, 0, 89523924, 'claimUpdatedWithoutExistingClaim', '3288934', '861595', '19403', 'baga6ea4seaqagwym57tubfwc4cdld2pzzydmjoyc2pkze2hkaevnfknmqwfmimi', 17179869184, 5256000, 1555200, 4687874, 0, 0, false, '2025-11-07 04:37:02.653176', '2025-11-07 04:37:02.653176', NULL), +(151836078, 0, 89523928, 'claimUpdatedWithoutExistingClaim', '3288934', '866468', '19357', 'baga6ea4seaqi4mbjydi35f3guayv6jj4ktgxckkpwc7y6mikxrq5766vqdd2yly', 34359738368, 5256000, 1555200, 4687950, 0, 0, false, '2025-11-07 04:44:03.131878', '2025-11-07 04:44:03.131878', NULL), +(151172421, 0, 117614672, 'claim', '3645919', '870558', '1084984', 'baga6ea4seaqgdnxddsvgeoevhbtjgqthmqyyiu4b25byn6cs6van6l3jau6x6di', 34359738368, 3896640, 3637440, 5439112, 0, 0, false, '2025-10-26 04:29:08.296', '2025-10-26 04:29:08.296', NULL); diff --git a/url_finder/Cargo.toml b/url_finder/Cargo.toml index 1060c09..17bf2c2 100644 --- a/url_finder/Cargo.toml +++ b/url_finder/Cargo.toml @@ -44,3 +44,6 @@ alloy = { version = "1.0.41", default-features = false, features = ["sol-types", urlencoding = "2.1.3" multiaddr = "0.18.2" dotenvy = "0.15.7" + +[dev-dependencies] +wiremock = "0.6" diff --git a/url_finder/src/api/create_job.rs b/url_finder/src/api/create_job.rs index e346dfc..e66ad65 100644 --- a/url_finder/src/api/create_job.rs +++ b/url_finder/src/api/create_job.rs @@ -4,13 +4,16 @@ use axum::{Json, extract::State}; use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tracing::{debug, error}; use utoipa::ToSchema; use uuid::Uuid; -use crate::{AppState, provider_endpoints}; +use crate::{ + provider_endpoints, + types::{ClientAddress, ProviderAddress}, + AppState, +}; use super::ResultCode; @@ -61,21 +64,25 @@ pub async fn handle_create_job( )); } - if let Some(client) = &payload.client { - validate_address(client).map_err(|e| { + // Parse and validate client address if provided + let client_address = if let Some(client) = &payload.client { + Some(ClientAddress::new(client.clone()).map_err(|e| { error!("Invalid client address: {}", e); - bad_request(e) - })?; - } + bad_request(format!("Invalid client address: {}", e)) + })?) + } else { + None + }; - if let Some(provider) = &payload.provider { - validate_address(provider).map_err(|e| { + // Parse and validate provider address if provided + let provider_address = if let Some(provider) = &payload.provider { + let provider_addr = ProviderAddress::new(provider.clone()).map_err(|e| { error!("Invalid provider address: {}", e); - bad_request(e) + bad_request(format!("Invalid provider address: {}", e)) })?; // Verify that we have http endpoint for the provider - let _ = match provider_endpoints::get_provider_endpoints(provider).await { + let _ = match provider_endpoints::get_provider_endpoints(&provider_addr).await { Ok((result_code, endpoints)) if endpoints.is_none() => { debug!("No endpoints found"); return Ok(ok_response(CreateJobResponse { @@ -86,11 +93,15 @@ pub async fn handle_create_job( Err(e) => return Err(internal_server_error(e.to_string())), Ok(result) => result, }; - } + + Some(provider_addr) + } else { + None + }; let job = state .job_repo - .create_job(payload.provider, payload.client) + .create_job(provider_address, client_address) .await .map_err(|e| { error!("Failed to create job: {}", e); @@ -102,11 +113,3 @@ pub async fn handle_create_job( id: Some(job.id), })) } - -fn validate_address(address: &str) -> Result<(), String> { - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(address) { - return Err("Invalid provider or client address".to_string()); - } - Ok(()) -} diff --git a/url_finder/src/api/find_client.rs b/url_finder/src/api/find_client.rs index 18f6e69..76e220c 100644 --- a/url_finder/src/api/find_client.rs +++ b/url_finder/src/api/find_client.rs @@ -7,13 +7,17 @@ use axum::{ use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tokio::time::timeout; use tracing::debug; use utoipa::{IntoParams, ToSchema}; -use crate::{AppState, provider_endpoints, services::deal_service, url_tester}; +use crate::{ + provider_endpoints, + services::deal_service, + types::{ClientAddress, ClientId, ProviderId}, + url_tester, AppState, +}; use super::ResultCode; @@ -64,33 +68,27 @@ pub async fn handle_find_client( &path.client ); - // validate provider and client addresses - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(&path.client) { - return Err(bad_request( - "Invalid provider or client address".to_string(), - )); - } + // Parse and validate client address + let client_address = ClientAddress::new(path.client.clone()) + .map_err(|e| bad_request(format!("Invalid client address: {}", e)))?; - let providers = match deal_service::get_distinct_providers_by_client( - &state.deal_repo, - &path.client, - ) - .await - { - Ok(providers) => providers, - Err(e) => { - debug!( - "Failed to get providers for client {}: {:?}", - &path.client, e - ); - - return Err(internal_server_error(format!( - "Failed to get providers for client {0}", - path.client - ))); - } - }; + let providers = + match deal_service::get_distinct_providers_by_client(&state.deal_repo, &client_address) + .await + { + Ok(providers) => providers, + Err(e) => { + debug!( + "Failed to get providers for client {}: {:?}", + &path.client, e + ); + + return Err(internal_server_error(format!( + "Failed to get providers for client {0}", + path.client + ))); + } + }; if providers.is_empty() { debug!("No providers found for client {}", &path.client); @@ -115,7 +113,7 @@ pub async fn handle_find_client( debug!("No endpoints found for provider {}", &provider); results.push(ProviderResult { - provider: provider.clone(), + provider: provider.to_string(), result: result_code, working_url: None, retrievability_percent: 0.0, @@ -124,17 +122,13 @@ pub async fn handle_find_client( } let endpoints = endpoints.unwrap(); - let provider_db = provider.strip_prefix("f0").unwrap_or(&provider).to_string(); - let client = path - .client - .strip_prefix("f0") - .unwrap_or(&path.client) - .to_string(); + let provider_id: ProviderId = provider.clone().into(); + let client_id: ClientId = client_address.clone().into(); let piece_ids = deal_service::get_random_piece_ids_by_provider_and_client( &state.deal_repo, - &provider_db, - &client, + &provider_id, + &client_id, ) .await .map_err(|e| { @@ -147,7 +141,7 @@ pub async fn handle_find_client( debug!("No deals found for provider {}", &provider); results.push(ProviderResult { - provider: provider.clone(), + provider: provider.to_string(), result: ResultCode::NoDealsFound, working_url: None, retrievability_percent: 0.0, @@ -182,7 +176,7 @@ pub async fn handle_find_client( ); // In case of timeout results.push(ProviderResult { - provider: provider.clone(), + provider: provider.to_string(), result: ResultCode::TimedOut, working_url: first_url, retrievability_percent: 0.0, @@ -192,7 +186,7 @@ pub async fn handle_find_client( }; results.push(ProviderResult { - provider: provider.clone(), + provider: provider.to_string(), result: ResultCode::Success, working_url: first_url, retrievability_percent: retrievability_percent.unwrap_or(0.0), diff --git a/url_finder/src/api/find_retri_sp.rs b/url_finder/src/api/find_retri_sp.rs index 494a579..7800934 100644 --- a/url_finder/src/api/find_retri_sp.rs +++ b/url_finder/src/api/find_retri_sp.rs @@ -7,13 +7,17 @@ use axum::{ use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tokio::time::timeout; use tracing::debug; use utoipa::{IntoParams, ToSchema}; -use crate::{AppState, provider_endpoints, services::deal_service, url_tester}; +use crate::{ + provider_endpoints, + services::deal_service, + types::{ProviderAddress, ProviderId}, + url_tester, AppState, +}; use super::ResultCode; @@ -55,14 +59,12 @@ pub async fn handle_find_retri_by_sp( ) -> Result, ApiResponse<()>> { debug!("find retri for input address: {:?}", &path.provider); - // validate provider addresses - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(&path.provider) { - return Err(bad_request("Invalid provider address".to_string())); - } + // Parse and validate provider address + let provider_address = ProviderAddress::new(path.provider) + .map_err(|e| bad_request(format!("Invalid provider address: {}", e)))?; let (result_code, endpoints) = - match provider_endpoints::get_provider_endpoints(&path.provider).await { + match provider_endpoints::get_provider_endpoints(&provider_address).await { Ok(endpoints) => endpoints, Err(e) => return Err(internal_server_error(e.to_string())), }; @@ -77,13 +79,9 @@ pub async fn handle_find_retri_by_sp( } let endpoints = endpoints.unwrap(); - let provider = path - .provider - .strip_prefix("f0") - .unwrap_or(&path.provider) - .to_string(); + let provider_id: ProviderId = provider_address.into(); - let piece_ids = deal_service::get_random_piece_ids_by_provider(&state.deal_repo, &provider) + let piece_ids = deal_service::get_random_piece_ids_by_provider(&state.deal_repo, &provider_id) .await .map_err(|e| { debug!("Failed to get piece ids: {:?}", e); diff --git a/url_finder/src/api/find_retri_sp_client.rs b/url_finder/src/api/find_retri_sp_client.rs index 920de75..2d1de06 100644 --- a/url_finder/src/api/find_retri_sp_client.rs +++ b/url_finder/src/api/find_retri_sp_client.rs @@ -7,13 +7,17 @@ use axum::{ use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tokio::time::timeout; use tracing::debug; use utoipa::{IntoParams, ToSchema}; -use crate::{AppState, provider_endpoints, services::deal_service, url_tester}; +use crate::{ + provider_endpoints, + services::deal_service, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, + url_tester, AppState, +}; use super::ResultCode; @@ -59,16 +63,14 @@ pub async fn handle_find_retri_by_client_and_sp( &path.provider, &path.client ); - // validate provider and client addresses - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(&path.provider) || !address_pattern.is_match(&path.client) { - return Err(bad_request( - "Invalid provider or client address".to_string(), - )); - } + // Parse and validate provider and client addresses + let provider_address = ProviderAddress::new(path.provider) + .map_err(|e| bad_request(format!("Invalid provider address: {}", e)))?; + let client_address = ClientAddress::new(path.client) + .map_err(|e| bad_request(format!("Invalid client address: {}", e)))?; let (result_code, endpoints) = - match provider_endpoints::get_provider_endpoints(&path.provider).await { + match provider_endpoints::get_provider_endpoints(&provider_address).await { Ok(endpoints) => endpoints, Err(e) => return Err(internal_server_error(e.to_string())), }; @@ -83,22 +85,13 @@ pub async fn handle_find_retri_by_client_and_sp( } let endpoints = endpoints.unwrap(); - let provider = path - .provider - .strip_prefix("f0") - .unwrap_or(&path.provider) - .to_string(); - - let client = path - .client - .strip_prefix("f0") - .unwrap_or(&path.client) - .to_string(); + let provider_id: ProviderId = provider_address.into(); + let client_id: ClientId = client_address.into(); let piece_ids = deal_service::get_random_piece_ids_by_provider_and_client( &state.deal_repo, - &provider, - &client, + &provider_id, + &client_id, ) .await .map_err(|e| { diff --git a/url_finder/src/api/find_url_sp.rs b/url_finder/src/api/find_url_sp.rs index 8b0be49..276aa7d 100644 --- a/url_finder/src/api/find_url_sp.rs +++ b/url_finder/src/api/find_url_sp.rs @@ -7,12 +7,16 @@ use axum::{ use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tracing::debug; use utoipa::{IntoParams, ToSchema}; -use crate::{AppState, ResultCode, provider_endpoints, services::deal_service, url_tester}; +use crate::{ + provider_endpoints, + services::deal_service, + types::{ProviderAddress, ProviderId}, + url_tester, AppState, ResultCode, +}; #[derive(Deserialize, ToSchema, IntoParams)] pub struct FindUrlSpPath { @@ -48,16 +52,12 @@ pub async fn handle_find_url_sp( ) -> Result, ApiResponse<()>> { debug!("find url input address: {:?}", &path.provider); - // validate provider and client addresses - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(&path.provider) { - return Err(bad_request( - "Invalid provider or client address".to_string(), - )); - } + // Parse and validate provider address + let provider_address = ProviderAddress::new(path.provider) + .map_err(|e| bad_request(format!("Invalid provider address: {}", e)))?; let (result_code, endpoints) = - match provider_endpoints::get_provider_endpoints(&path.provider).await { + match provider_endpoints::get_provider_endpoints(&provider_address).await { Ok(endpoints) => endpoints, Err(e) => return Err(internal_server_error(e.to_string())), }; @@ -72,13 +72,9 @@ pub async fn handle_find_url_sp( } let endpoints = endpoints.unwrap(); - let provider = path - .provider - .strip_prefix("f0") - .unwrap_or(&path.provider) - .to_string(); + let provider_id: ProviderId = provider_address.into(); - let piece_ids = deal_service::get_piece_ids_by_provider(&state.deal_repo, &provider, None) + let piece_ids = deal_service::get_piece_ids_by_provider(&state.deal_repo, &provider_id, None) .await .map_err(|e| { debug!("Failed to get piece ids: {:?}", e); diff --git a/url_finder/src/api/find_url_sp_client.rs b/url_finder/src/api/find_url_sp_client.rs index f8052a6..160ee71 100644 --- a/url_finder/src/api/find_url_sp_client.rs +++ b/url_finder/src/api/find_url_sp_client.rs @@ -7,12 +7,16 @@ use axum::{ use axum_extra::extract::WithRejection; use color_eyre::Result; use common::api_response::*; -use regex::Regex; use serde::{Deserialize, Serialize}; use tracing::debug; use utoipa::{IntoParams, ToSchema}; -use crate::{AppState, ResultCode, provider_endpoints, services::deal_service, url_tester}; +use crate::{ + provider_endpoints, + services::deal_service, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, + url_tester, AppState, ResultCode, +}; #[derive(Deserialize, ToSchema, IntoParams)] pub struct FindUrlSpClientPath { @@ -52,16 +56,14 @@ pub async fn handle_find_url_sp_client( ) -> Result, ApiResponse<()>> { debug!("find url input address: {:?}", &path.provider); - // validate provider and client addresses - let address_pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); - if !address_pattern.is_match(&path.provider) || !address_pattern.is_match(&path.client) { - return Err(bad_request( - "Invalid provider or client address".to_string(), - )); - } + // Parse and validate provider and client addresses + let provider_address = ProviderAddress::new(path.provider) + .map_err(|e| bad_request(format!("Invalid provider address: {}", e)))?; + let client_address = ClientAddress::new(path.client) + .map_err(|e| bad_request(format!("Invalid client address: {}", e)))?; let (result_code, endpoints) = - match provider_endpoints::get_provider_endpoints(&path.provider).await { + match provider_endpoints::get_provider_endpoints(&provider_address).await { Ok(endpoints) => endpoints, Err(e) => return Err(internal_server_error(e.to_string())), }; @@ -76,20 +78,11 @@ pub async fn handle_find_url_sp_client( } let endpoints = endpoints.unwrap(); - let provider = path - .provider - .strip_prefix("f0") - .unwrap_or(&path.provider) - .to_string(); - - let client = path - .client - .strip_prefix("f0") - .unwrap_or(&path.client) - .to_string(); + let provider_id: ProviderId = provider_address.into(); + let client_id: ClientId = client_address.into(); let piece_ids = - deal_service::get_piece_ids_by_provider(&state.deal_repo, &provider, Some(&client)) + deal_service::get_piece_ids_by_provider(&state.deal_repo, &provider_id, Some(&client_id)) .await .map_err(|e| { debug!("Failed to get piece ids: {:?}", e); diff --git a/url_finder/src/api/responses.rs b/url_finder/src/api/responses.rs index 2f38d9a..cbe01d8 100644 --- a/url_finder/src/api/responses.rs +++ b/url_finder/src/api/responses.rs @@ -16,6 +16,23 @@ pub enum ResultCode { Error, } +impl fmt::Display for ResultCode { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let s = match self { + ResultCode::NoCidContactData => "NoCidContactData", + ResultCode::MissingAddrFromCidContact => "MissingAddrFromCidContact", + ResultCode::MissingHttpAddrFromCidContact => "MissingHttpAddrFromCidContact", + ResultCode::FailedToGetWorkingUrl => "FailedToGetWorkingUrl", + ResultCode::NoDealsFound => "NoDealsFound", + ResultCode::TimedOut => "TimedOut", + ResultCode::Success => "Success", + ResultCode::JobCreated => "JobCreated", + ResultCode::Error => "Error", + }; + write!(f, "{s}") + } +} + #[allow(clippy::enum_variant_names)] #[derive(Debug, Serialize, ToSchema, Clone)] pub enum ErrorCode { diff --git a/url_finder/src/background/job_handler.rs b/url_finder/src/background/job_handler.rs index 81f11c3..e8cbdf0 100644 --- a/url_finder/src/background/job_handler.rs +++ b/url_finder/src/background/job_handler.rs @@ -4,8 +4,11 @@ use tokio::time::sleep; use tracing::{debug, info}; use crate::{ - ErrorCode, Job, JobRepository, JobStatus, ResultCode, provider_endpoints, - repository::DealRepository, services::deal_service, url_tester, + provider_endpoints, + repository::DealRepository, + services::deal_service, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, + url_tester, ErrorCode, Job, JobRepository, JobStatus, ResultCode, }; const LOOP_DELAY: Duration = Duration::from_secs(5); @@ -17,16 +20,16 @@ pub struct JobFailed { } pub struct JobSuccessResult { - pub provider: String, - pub client: Option, + pub provider: ProviderAddress, + pub client: Option, pub working_url: Option, pub retrievability: f64, pub result: ResultCode, } pub struct JobErrorResult { - pub provider: String, - pub client: Option, + pub provider: ProviderAddress, + pub client: Option, pub error: Option, pub result: Option, } @@ -139,10 +142,12 @@ pub async fn job_handler(job_repo: Arc, deal_repo: Arc JobHandlerResult { match (&job.provider, &job.client) { - (Some(provider), None) => process_job_with_provider(deal_repo, provider).await, - (None, Some(client)) => process_job_with_client(deal_repo, client).await, - (Some(provider), Some(client)) => { - process_job_with_provider_and_client(deal_repo, provider, client).await + (Some(provider_address), None) => { + process_job_with_provider(deal_repo, provider_address).await + } + (None, Some(client_address)) => process_job_with_client(deal_repo, client_address).await, + (Some(provider_address), Some(client_address)) => { + process_job_with_provider_and_client(deal_repo, provider_address, client_address).await } (None, None) => { // should not happen @@ -155,37 +160,44 @@ async fn process_pending_job(deal_repo: &DealRepository, job: &Job) -> JobHandle } } -async fn process_job_with_client(deal_repo: &DealRepository, client: &str) -> JobHandlerResult { - let providers = match deal_service::get_distinct_providers_by_client(deal_repo, client).await { - Ok(providers) => providers, - Err(e) => { - debug!("Failed to get providers for client {}: {:?}", client, e); - return JobHandlerResult::Skip(format!("Failed to get providers for client {client}")); - } - }; +async fn process_job_with_client( + deal_repo: &DealRepository, + client_address: &ClientAddress, +) -> JobHandlerResult { + let providers = + match deal_service::get_distinct_providers_by_client(deal_repo, client_address).await { + Ok(providers) => providers, + Err(e) => { + debug!( + "Failed to get providers for client {}: {:?}", + client_address, e + ); + return JobHandlerResult::Skip(format!( + "Failed to get providers for client {client_address}" + )); + } + }; if providers.is_empty() { return JobHandlerResult::FailedJob(JobFailed { error: Some(ErrorCode::NoProvidersFound), result: Some(ResultCode::Error), - reason: format!("No providers found for client: {client}"), + reason: format!("No providers found for client: {client_address}"), }); } let mut success_results = Vec::new(); let mut error_results = Vec::new(); - for provider in providers { - debug!("Processing job with provider: {}", &provider); + for provider_address in providers { + debug!("Processing job with provider: {}", &provider_address); - match process_job(deal_repo, &provider, Some(client)).await { + match process_job(deal_repo, &provider_address, Some(client_address)).await { JobHandlerResult::SuccessResult(result) => success_results.push(result), JobHandlerResult::ErrorResult(result) => error_results.push(result), - JobHandlerResult::Skip(reason) => { - return JobHandlerResult::Skip(reason); - } + JobHandlerResult::Skip(reason) => return JobHandlerResult::Skip(reason), JobHandlerResult::FailedJob(job_failed) => { - return JobHandlerResult::FailedJob(job_failed); + return JobHandlerResult::FailedJob(job_failed) } // should not happen here JobHandlerResult::MultipleResults(_, _) => continue, @@ -197,33 +209,39 @@ async fn process_job_with_client(deal_repo: &DealRepository, client: &str) -> Jo async fn process_job_with_provider_and_client( deal_repo: &DealRepository, - provider: &str, - client: &str, + provider_address: &ProviderAddress, + client_address: &ClientAddress, ) -> JobHandlerResult { debug!( "Processing job with provider: {} and client: {}", - provider, client + provider_address, client_address ); - process_job(deal_repo, provider, Some(client)).await + process_job(deal_repo, provider_address, Some(client_address)).await } -async fn process_job_with_provider(deal_repo: &DealRepository, provider: &str) -> JobHandlerResult { - debug!("Processing job with provider: {}", provider); +async fn process_job_with_provider( + deal_repo: &DealRepository, + provider_address: &ProviderAddress, +) -> JobHandlerResult { + debug!("Processing job with provider: {}", provider_address); - process_job(deal_repo, provider, None).await + process_job(deal_repo, provider_address, None).await } async fn process_job( deal_repo: &DealRepository, - provider: &str, - client: Option<&str>, + provider_address: &ProviderAddress, + client_address: Option<&ClientAddress>, ) -> JobHandlerResult { - let (_, endpoints) = match provider_endpoints::get_provider_endpoints(provider).await { + let provider_id: ProviderId = provider_address.clone().into(); + let client_id: Option = client_address.map(|c| c.clone().into()); + + let (_, endpoints) = match provider_endpoints::get_provider_endpoints(provider_address).await { Ok((result_code, _)) if result_code != ResultCode::Success => { return JobHandlerResult::ErrorResult(JobErrorResult { - provider: provider.to_string(), - client: client.map(|c| c.to_string()), + provider: provider_address.clone(), + client: client_address.cloned(), result: Some(result_code), error: None, }); @@ -231,8 +249,8 @@ async fn process_job( Ok(result) => result, Err(error_code) => { return JobHandlerResult::ErrorResult(JobErrorResult { - provider: provider.to_string(), - client: client.map(|c| c.to_string()), + provider: provider_address.clone(), + client: client_address.cloned(), result: Some(ResultCode::Error), error: Some(error_code), }); @@ -243,19 +261,18 @@ async fn process_job( debug!("No endpoints found"); return JobHandlerResult::ErrorResult(JobErrorResult { - provider: provider.to_string(), - client: client.map(|c| c.to_string()), + provider: provider_address.clone(), + client: client_address.cloned(), result: Some(ResultCode::NoDealsFound), error: None, }); } let endpoints = endpoints.unwrap(); - let provider_db = provider.strip_prefix("f0").unwrap_or(provider); - let client_db = client.as_ref().map(|c| c.strip_prefix("f0").unwrap_or(c)); - let piece_ids = - match deal_service::get_piece_ids_by_provider(deal_repo, provider_db, client_db).await { + match deal_service::get_piece_ids_by_provider(deal_repo, &provider_id, client_id.as_ref()) + .await + { Ok(ids) => ids, Err(e) => { debug!("Failed to get piece ids: {:?}", e); @@ -268,8 +285,8 @@ async fn process_job( debug!("No deals found"); return JobHandlerResult::ErrorResult(JobErrorResult { - provider: provider.to_string(), - client: client.map(|c| c.to_string()), + provider: provider_address.clone(), + client: client_address.cloned(), result: Some(ResultCode::NoDealsFound), error: None, }); @@ -287,8 +304,8 @@ async fn process_job( }; JobHandlerResult::SuccessResult(JobSuccessResult { - provider: provider.to_string(), - client: client.map(|c| c.to_string()), + provider: provider_address.clone(), + client: client_address.cloned(), working_url, retrievability: retrievability_percent.unwrap_or(0.0), result: result_code, diff --git a/url_finder/src/background/mod.rs b/url_finder/src/background/mod.rs index 0316893..31f2d21 100644 --- a/url_finder/src/background/mod.rs +++ b/url_finder/src/background/mod.rs @@ -1,5 +1,7 @@ mod job_handler; mod provider_discovery; +mod url_discovery_scheduler; pub use job_handler::*; pub use provider_discovery::*; +pub use url_discovery_scheduler::*; diff --git a/url_finder/src/background/url_discovery_scheduler.rs b/url_finder/src/background/url_discovery_scheduler.rs new file mode 100644 index 0000000..db6f35b --- /dev/null +++ b/url_finder/src/background/url_discovery_scheduler.rs @@ -0,0 +1,139 @@ +use crate::{ + repository::{DealRepository, StorageProviderRepository, UrlResult, UrlResultRepository}, + services::url_discovery_service, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, +}; +use chrono::Utc; +use color_eyre::Result; +use futures::future::join_all; +use std::sync::Arc; +use std::time::Duration; +use tokio::time::sleep; +use tracing::{debug, error, info}; + +const SCHEDULER_SLEEP_INTERVAL: Duration = Duration::from_secs(3600); +const SCHEDULER_NEXT_INTERVAL: Duration = Duration::from_secs(60); +const BATCH_SIZE: i64 = 100; + +pub async fn run_url_discovery_scheduler( + sp_repo: Arc, + url_repo: Arc, + deal_repo: Arc, +) { + info!("Starting URL discovery scheduler"); + + loop { + let interval = match schedule_url_discoveries(&sp_repo, &url_repo, &deal_repo).await { + Ok(0) => { + info!("No providers due for URL discovery, sleeping..."); + SCHEDULER_SLEEP_INTERVAL + } + Ok(count) => { + info!("URL discovery cycle completed: {} providers tested", count); + SCHEDULER_NEXT_INTERVAL + } + Err(e) => { + error!("URL discovery scheduler failed: {:?}", e); + SCHEDULER_SLEEP_INTERVAL + } + }; + + sleep(interval).await; + } +} + +async fn schedule_url_discoveries( + sp_repo: &StorageProviderRepository, + url_repo: &UrlResultRepository, + deal_repo: &DealRepository, +) -> Result { + let providers = sp_repo.get_due_for_url_discovery(BATCH_SIZE).await?; + + debug!("Found {} providers due for URL discovery", providers.len()); + + let mut total_tested = 0; + + for provider in providers { + sp_repo + .set_url_discovery_pending(&provider.provider_id) + .await?; + + let clients = deal_repo + .get_clients_for_provider(&provider.provider_id) + .await?; + + debug!( + "Provider {} has {} clients", + provider.provider_id, + clients.len() + ); + + let results = test_provider_with_clients(&provider.provider_id, clients, deal_repo).await; + + let url_results: Vec = results + .iter() + .map(|r| UrlResult { + id: r.id, + provider_id: r.provider_id.clone(), + client_id: r.client_id.clone(), + result_type: r.result_type.clone(), + working_url: r.working_url.clone(), + retrievability_percent: r.retrievability_percent, + result_code: r.result_code.clone(), + error_code: r.error_code.clone(), + tested_at: Utc::now(), + }) + .collect(); + + match url_repo.insert_batch(&url_results).await { + Ok(count) => debug!( + "Inserted {} URL results for provider {}", + count, provider.provider_id + ), + Err(e) => error!("Failed to insert URL results: {:?}", e), + } + + let provider_only_result = results.iter().find(|r| r.client_id.is_none()); + let last_working_url = provider_only_result.and_then(|r| r.working_url.clone()); + + sp_repo + .update_after_url_discovery(&provider.provider_id, last_working_url) + .await?; + + total_tested += 1; + } + + Ok(total_tested) +} + +async fn test_provider_with_clients( + provider_id: &ProviderId, + client_ids: Vec, + deal_repo: &DealRepository, +) -> Vec { + let mut tasks = vec![]; + let provider_address: ProviderAddress = provider_id.clone().into(); + + let provider_task = { + let addr = provider_address.clone(); + let repo = deal_repo.clone(); + tokio::spawn(async move { url_discovery_service::discover_url(&addr, None, &repo).await }) + }; + tasks.push(provider_task); + + for client_id in client_ids { + let provider_addr = provider_address.clone(); + let client_address: ClientAddress = client_id.into(); + let repo = deal_repo.clone(); + tasks.push(tokio::spawn(async move { + url_discovery_service::discover_url(&provider_addr, Some(client_address), &repo).await + })); + } + + let results = join_all(tasks).await; + + results + .into_iter() + .filter_map(|r| r.ok().and_then(|inner| inner.ok())) + .collect() +} diff --git a/url_finder/src/lotus_rpc.rs b/url_finder/src/lotus_rpc.rs index 7f39ba6..a5200b6 100644 --- a/url_finder/src/lotus_rpc.rs +++ b/url_finder/src/lotus_rpc.rs @@ -4,8 +4,9 @@ use serde_json::json; use tracing::debug; use crate::config::CONFIG; +use crate::types::ProviderAddress; -pub async fn get_peer_id(address: &str) -> Result { +pub async fn get_peer_id(address: &ProviderAddress) -> Result { debug!("get_peer_id address: {}", address); let client = Client::new(); @@ -15,7 +16,7 @@ pub async fn get_peer_id(address: &str) -> Result { "jsonrpc": "2.0", "id": 1, "method": "Filecoin.StateMinerInfo", - "params": [address, null] + "params": [address.as_str(), null] })) .send() .await?; diff --git a/url_finder/src/main.rs b/url_finder/src/main.rs index 069a28a..384acb3 100644 --- a/url_finder/src/main.rs +++ b/url_finder/src/main.rs @@ -97,6 +97,7 @@ async fn main() -> Result<()> { let sp_repo = Arc::new(StorageProviderRepository::new(pool.clone())); let deal_repo = Arc::new(DealRepository::new(dmob_pool.clone())); + let url_repo = Arc::new(UrlResultRepository::new(pool.clone())); let app_state = Arc::new(AppState { deal_repo: deal_repo.clone(), @@ -115,6 +116,16 @@ async fn main() -> Result<()> { } }); + // Start the URL discovery scheduler in the background + tokio::spawn({ + let sp_repo = sp_repo.clone(); + let url_repo = url_repo.clone(); + let deal_repo = deal_repo.clone(); + async move { + background::run_url_discovery_scheduler(sp_repo, url_repo, deal_repo).await; + } + }); + // Start the job handler in the background tokio::spawn(background::job_handler( app_state.job_repo.clone(), diff --git a/url_finder/src/provider_endpoints.rs b/url_finder/src/provider_endpoints.rs index 957c82a..ff79394 100644 --- a/url_finder/src/provider_endpoints.rs +++ b/url_finder/src/provider_endpoints.rs @@ -18,6 +18,7 @@ use crate::{ ErrorCode, ResultCode, cid_contact::{self, CidContactError}, lotus_rpc, multiaddr_parser, + types::ProviderAddress, }; sol! { @@ -79,7 +80,7 @@ pub async fn valid_curio_provider(address: &str) -> Result> { } pub async fn get_provider_endpoints( - address: &str, + address: &ProviderAddress, ) -> Result<(ResultCode, Option>), ErrorCode> { let peer_id = if let Some(curio_provider) = valid_curio_provider(address).await.map_err(|e| { diff --git a/url_finder/src/repository/deal_repo.rs b/url_finder/src/repository/deal_repo.rs index 055557f..12e684b 100644 --- a/url_finder/src/repository/deal_repo.rs +++ b/url_finder/src/repository/deal_repo.rs @@ -2,6 +2,8 @@ use color_eyre::Result; use serde::{Deserialize, Serialize}; use sqlx::PgPool; +use crate::types::{ClientId, ProviderId}; + #[derive(Clone)] pub struct DealRepository { pool: PgPool, @@ -29,7 +31,7 @@ impl DealRepository { pub async fn get_deals_by_provider( &self, - provider: &str, + provider_id: &ProviderId, limit: i64, offset: i64, ) -> Result, sqlx::Error> { @@ -44,13 +46,13 @@ impl DealRepository { "providerId" AS provider_id, "pieceCid" AS piece_cid FROM unified_verified_deal - WHERE + WHERE "providerId" = $1 ORDER BY random() LIMIT $2 OFFSET $3 "#, - provider, + provider_id.as_str(), limit, offset, ) @@ -62,8 +64,8 @@ impl DealRepository { pub async fn get_deals_by_provider_and_client( &self, - provider: &str, - client: &str, + provider_id: &ProviderId, + client_id: &ClientId, limit: i64, offset: i64, ) -> Result, sqlx::Error> { @@ -85,8 +87,8 @@ impl DealRepository { LIMIT $3 OFFSET $4 "#, - provider, - client, + provider_id.as_str(), + client_id.as_str(), limit, offset, ) @@ -98,8 +100,8 @@ impl DealRepository { pub async fn get_random_deals_by_provider_and_client( &self, - provider: &str, - client: &str, + provider_id: &ProviderId, + client_id: &ClientId, limit: i64, offset: i64, ) -> Result, sqlx::Error> { @@ -114,15 +116,15 @@ impl DealRepository { "providerId" AS provider_id, "pieceCid" AS piece_cid FROM unified_verified_deal - WHERE + WHERE "providerId" = $1 AND "clientId" = $2 ORDER BY random() LIMIT $3 OFFSET $4 "#, - provider, - client, + provider_id.as_str(), + client_id.as_str(), limit, offset, ) @@ -134,7 +136,7 @@ impl DealRepository { pub async fn get_random_deals_by_provider( &self, - provider: &str, + provider_id: &ProviderId, limit: i64, offset: i64, ) -> Result, sqlx::Error> { @@ -149,13 +151,13 @@ impl DealRepository { "providerId" AS provider_id, "pieceCid" AS piece_cid FROM unified_verified_deal - WHERE + WHERE "providerId" = $1 ORDER BY random() LIMIT $2 OFFSET $3 "#, - provider, + provider_id.as_str(), limit, offset, ) @@ -167,7 +169,7 @@ impl DealRepository { pub async fn get_distinct_providers_by_client( &self, - client: &str, + client_id: &ClientId, ) -> Result, sqlx::Error> { let data = sqlx::query_as!( Provider, @@ -179,7 +181,7 @@ impl DealRepository { WHERE "clientId" = $1 "#, - client, + client_id.as_str(), ) .fetch_all(&self.pool) .await?; @@ -187,8 +189,8 @@ impl DealRepository { Ok(data) } - pub async fn get_distinct_providers(&self) -> Result, sqlx::Error> { - let providers = sqlx::query_scalar!( + pub async fn get_distinct_providers(&self) -> Result, sqlx::Error> { + let providers: Vec = sqlx::query_scalar!( r#"SELECT DISTINCT "providerId" FROM @@ -203,6 +205,34 @@ impl DealRepository { .flatten() .collect(); - Ok(providers) + Ok(providers + .into_iter() + .filter_map(|s| ProviderId::new(s).ok()) + .collect()) + } + + pub async fn get_clients_for_provider( + &self, + provider_id: &ProviderId, + ) -> Result, sqlx::Error> { + let clients = sqlx::query_scalar!( + r#"SELECT DISTINCT + "clientId" + FROM + unified_verified_deal + WHERE + "providerId" = $1 + AND "clientId" IS NOT NULL + "#, + provider_id.as_str() + ) + .fetch_all(&self.pool) + .await?; + + Ok(clients + .into_iter() + .flatten() + .filter_map(|s| ClientId::new(s).ok()) + .collect()) } } diff --git a/url_finder/src/repository/job_repo.rs b/url_finder/src/repository/job_repo.rs index 2942229..23cf7ac 100644 --- a/url_finder/src/repository/job_repo.rs +++ b/url_finder/src/repository/job_repo.rs @@ -9,12 +9,15 @@ use serde::Serialize; use utoipa::ToSchema; use uuid::Uuid; -use crate::{ErrorCode, ResultCode}; +use crate::{ + types::{ClientAddress, ProviderAddress}, + ErrorCode, ResultCode, +}; #[derive(Clone, Serialize, ToSchema)] pub struct ProviderResult { - pub provider: String, - pub client: Option, + pub provider: ProviderAddress, + pub client: Option, pub working_url: Option, pub retrievability: f64, pub result: ResultCode, @@ -29,8 +32,8 @@ pub struct Job { pub working_url: Option, pub retrievability: Option, pub results: Vec, - pub provider: Option, - pub client: Option, + pub provider: Option, + pub client: Option, pub status: JobStatus, pub result: Option, #[serde(skip_serializing_if = "Option::is_none")] @@ -39,7 +42,7 @@ pub struct Job { pub updated_at: DateTime, } impl Job { - pub fn new(provider: Option, client: Option) -> Self { + pub fn new(provider: Option, client: Option) -> Self { Self { id: Uuid::new_v4(), working_url: None, @@ -82,8 +85,8 @@ impl JobRepository { pub async fn create_job( &self, - provider: Option, - client: Option, + provider: Option, + client: Option, ) -> Result { let job = Job::new(provider, client); @@ -96,8 +99,8 @@ impl JobRepository { pub async fn add_success_result( &self, job_id: Uuid, - provider: String, - client: Option, + provider: ProviderAddress, + client: Option, working_url: Option, retrievability: f64, result: ResultCode, @@ -122,8 +125,8 @@ impl JobRepository { pub async fn add_error_result( &self, job_id: Uuid, - provider: String, - client: Option, + provider: ProviderAddress, + client: Option, error: Option, result: Option, ) { diff --git a/url_finder/src/repository/mod.rs b/url_finder/src/repository/mod.rs index 2757ccb..ae54b9a 100644 --- a/url_finder/src/repository/mod.rs +++ b/url_finder/src/repository/mod.rs @@ -1,7 +1,9 @@ mod deal_repo; mod job_repo; mod storage_provider_repo; +mod url_result_repo; pub use deal_repo::*; pub use job_repo::*; pub use storage_provider_repo::*; +pub use url_result_repo::*; diff --git a/url_finder/src/repository/storage_provider_repo.rs b/url_finder/src/repository/storage_provider_repo.rs index c2ca762..24e807b 100644 --- a/url_finder/src/repository/storage_provider_repo.rs +++ b/url_finder/src/repository/storage_provider_repo.rs @@ -5,10 +5,12 @@ use sqlx::PgPool; use utoipa::ToSchema; use uuid::Uuid; +use crate::types::ProviderId; + #[derive(Debug, Clone, Serialize, Deserialize, ToSchema, sqlx::FromRow)] pub struct StorageProvider { pub id: Uuid, - pub provider_id: String, + pub provider_id: ProviderId, pub next_url_discovery_at: DateTime, pub url_discovery_status: Option, pub last_working_url: Option, @@ -31,7 +33,7 @@ impl StorageProviderRepository { } #[allow(dead_code)] - pub async fn insert_if_not_exists(&self, provider_id: &str) -> Result<()> { + pub async fn insert_if_not_exists(&self, provider_id: &ProviderId) -> Result<()> { sqlx::query!( r#"INSERT INTO storage_providers (provider_id) @@ -39,18 +41,23 @@ impl StorageProviderRepository { ($1) ON CONFLICT DO NOTHING "#, - provider_id + provider_id as &ProviderId ) .execute(&self.pool) .await?; Ok(()) } - pub async fn insert_batch_if_not_exists(&self, provider_ids: &[String]) -> Result { + pub async fn insert_batch_if_not_exists(&self, provider_ids: &[ProviderId]) -> Result { if provider_ids.is_empty() { return Ok(0); } + let provider_ids_str: Vec = provider_ids + .iter() + .map(|id| id.as_str().to_string()) + .collect(); + let result = sqlx::query!( r#"INSERT INTO storage_providers (provider_id) @@ -58,7 +65,7 @@ impl StorageProviderRepository { UNNEST($1::text[]) ON CONFLICT DO NOTHING "#, - provider_ids + &provider_ids_str ) .execute(&self.pool) .await?; @@ -66,29 +73,102 @@ impl StorageProviderRepository { Ok(result.rows_affected() as usize) } - pub async fn get_by_provider_id(&self, provider_id: &str) -> Result> { + pub async fn get_by_provider_id( + &self, + provider_id: &ProviderId, + ) -> Result> { Ok(sqlx::query_as!( StorageProvider, - r#"SELECT - id, - provider_id, - next_url_discovery_at, - url_discovery_status, + r#"SELECT + id, + provider_id AS "provider_id: ProviderId", + next_url_discovery_at, + url_discovery_status, last_working_url, - next_bms_test_at, - bms_test_status, - bms_routing_key, + next_bms_test_at, + bms_test_status, + bms_routing_key, last_bms_region_discovery_at, - created_at, + created_at, updated_at - FROM - storage_providers - WHERE + FROM + storage_providers + WHERE provider_id = $1 "#, - provider_id + provider_id as &ProviderId ) .fetch_optional(&self.pool) .await?) } + + pub async fn get_due_for_url_discovery(&self, limit: i64) -> Result> { + Ok(sqlx::query_as!( + StorageProvider, + r#"SELECT + id, + provider_id AS "provider_id: ProviderId", + next_url_discovery_at, + url_discovery_status, + last_working_url, + next_bms_test_at, + bms_test_status, + bms_routing_key, + last_bms_region_discovery_at, + created_at, + updated_at + FROM + storage_providers + WHERE + next_url_discovery_at <= NOW() + AND url_discovery_status IS DISTINCT FROM 'pending' + ORDER BY + next_url_discovery_at ASC + LIMIT $1 + "#, + limit + ) + .fetch_all(&self.pool) + .await?) + } + + pub async fn set_url_discovery_pending(&self, provider_id: &ProviderId) -> Result<()> { + sqlx::query!( + r#"UPDATE + storage_providers + SET + url_discovery_status = 'pending' + WHERE + provider_id = $1 + "#, + provider_id as &ProviderId + ) + .execute(&self.pool) + .await?; + Ok(()) + } + + pub async fn update_after_url_discovery( + &self, + provider_id: &ProviderId, + last_working_url: Option, + ) -> Result<()> { + sqlx::query!( + r#"UPDATE + storage_providers + SET + next_url_discovery_at = NOW() + INTERVAL '1 day', + url_discovery_status = NULL, + last_working_url = $2, + updated_at = NOW() + WHERE + provider_id = $1 + "#, + provider_id as &ProviderId, + last_working_url + ) + .execute(&self.pool) + .await?; + Ok(()) + } } diff --git a/url_finder/src/repository/url_result_repo.rs b/url_finder/src/repository/url_result_repo.rs new file mode 100644 index 0000000..1244a3f --- /dev/null +++ b/url_finder/src/repository/url_result_repo.rs @@ -0,0 +1,86 @@ +use chrono::{DateTime, Utc}; +use color_eyre::Result; +use serde::{Deserialize, Serialize}; +use sqlx::PgPool; +use utoipa::ToSchema; +use uuid::Uuid; + +use crate::types::{ClientId, ProviderId}; + +#[derive(Debug, Clone, Serialize, Deserialize, ToSchema, sqlx::FromRow)] +pub struct UrlResult { + pub id: Uuid, + pub provider_id: ProviderId, + pub client_id: Option, + pub result_type: String, + pub working_url: Option, + pub retrievability_percent: f64, + pub result_code: String, + pub error_code: Option, + pub tested_at: DateTime, +} + +#[derive(Clone)] +pub struct UrlResultRepository { + pool: PgPool, +} + +impl UrlResultRepository { + pub fn new(pool: PgPool) -> Self { + Self { pool } + } + + pub async fn insert_batch(&self, results: &[UrlResult]) -> Result { + if results.is_empty() { + return Ok(0); + } + + let ids: Vec = results.iter().map(|r| r.id).collect(); + let provider_ids: Vec = results + .iter() + .map(|r| r.provider_id.as_str().to_string()) + .collect(); + let client_ids: Vec> = results + .iter() + .map(|r| r.client_id.as_ref().map(|c| c.as_str().to_string())) + .collect(); + let result_types: Vec = results.iter().map(|r| r.result_type.clone()).collect(); + let working_urls: Vec> = + results.iter().map(|r| r.working_url.clone()).collect(); + let retrievability_percents: Vec = + results.iter().map(|r| r.retrievability_percent).collect(); + let result_codes: Vec = results.iter().map(|r| r.result_code.clone()).collect(); + let error_codes: Vec> = + results.iter().map(|r| r.error_code.clone()).collect(); + let tested_ats: Vec> = results.iter().map(|r| r.tested_at).collect(); + + let result = sqlx::query!( + r#"INSERT INTO + url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at) + SELECT + UNNEST($1::uuid[]), + UNNEST($2::text[]), + UNNEST($3::text[]), + UNNEST($4::text[]), + UNNEST($5::text[]), + UNNEST($6::double precision[]), + UNNEST($7::text[]), + UNNEST($8::text[]), + UNNEST($9::timestamptz[]) + "#, + &ids as &[Uuid], + &provider_ids as &[String], + &client_ids as &[Option], + &result_types as &[String], + &working_urls as &[Option], + &retrievability_percents as &[f64], + &result_codes as &[String], + &error_codes as &[Option], + &tested_ats as &[DateTime] + ) + .execute(&self.pool) + .await?; + + Ok(result.rows_affected() as usize) + } +} diff --git a/url_finder/src/services/deal_service.rs b/url_finder/src/services/deal_service.rs index 1e3e66c..5bc0e9f 100644 --- a/url_finder/src/services/deal_service.rs +++ b/url_finder/src/services/deal_service.rs @@ -1,23 +1,26 @@ use color_eyre::Result; -use crate::repository::DealRepository; +use crate::{ + repository::DealRepository, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, +}; /// get deals and extract piece_ids pub async fn get_piece_ids_by_provider( deal_repo: &DealRepository, - provider: &str, - client: Option<&str>, + provider_id: &ProviderId, + client_id: Option<&ClientId>, ) -> Result> { let limit = 100; let offset = 0; - let deals = if let Some(client) = client { + let deals = if let Some(client) = client_id { deal_repo - .get_deals_by_provider_and_client(provider, client, limit, offset) + .get_deals_by_provider_and_client(provider_id, client, limit, offset) .await? } else { deal_repo - .get_deals_by_provider(provider, limit, offset) + .get_deals_by_provider(provider_id, limit, offset) .await? }; @@ -35,27 +38,22 @@ pub async fn get_piece_ids_by_provider( pub async fn get_distinct_providers_by_client( deal_repo: &DealRepository, - client: &str, -) -> Result> { - let client_db = client.strip_prefix("f0").unwrap_or(client); + client_address: &ClientAddress, +) -> Result> { + let client_id: ClientId = client_address.clone().into(); let deals = deal_repo - .get_distinct_providers_by_client(client_db) + .get_distinct_providers_by_client(&client_id) .await?; if deals.is_empty() { return Ok(vec![]); } - let providers: Vec = deals + let providers: Vec = deals .iter() .filter_map(|deal| deal.provider_id.clone()) - .map(|provider| { - if !provider.starts_with("f0") { - format!("f0{provider}") - } else { - provider - } - }) + .filter_map(|provider_id| ProviderId::new(provider_id).ok()) + .map(|provider_id| provider_id.into()) .collect(); Ok(providers) @@ -63,14 +61,14 @@ pub async fn get_distinct_providers_by_client( pub async fn get_random_piece_ids_by_provider_and_client( deal_repo: &DealRepository, - provider: &str, - client: &str, + provider_id: &ProviderId, + client_id: &ClientId, ) -> Result> { let limit = 100; let offset = 0; let deals = deal_repo - .get_random_deals_by_provider_and_client(provider, client, limit, offset) + .get_random_deals_by_provider_and_client(provider_id, client_id, limit, offset) .await?; if deals.is_empty() { @@ -87,13 +85,13 @@ pub async fn get_random_piece_ids_by_provider_and_client( pub async fn get_random_piece_ids_by_provider( deal_repo: &DealRepository, - provider: &str, + provider_id: &ProviderId, ) -> Result> { let limit = 100; let offset = 0; let deals = deal_repo - .get_random_deals_by_provider(provider, limit, offset) + .get_random_deals_by_provider(provider_id, limit, offset) .await?; if deals.is_empty() { diff --git a/url_finder/src/services/mod.rs b/url_finder/src/services/mod.rs index 6a9d3de..fa52f9d 100644 --- a/url_finder/src/services/mod.rs +++ b/url_finder/src/services/mod.rs @@ -1 +1,2 @@ pub mod deal_service; +pub mod url_discovery_service; diff --git a/url_finder/src/services/url_discovery_service.rs b/url_finder/src/services/url_discovery_service.rs new file mode 100644 index 0000000..667cd55 --- /dev/null +++ b/url_finder/src/services/url_discovery_service.rs @@ -0,0 +1,119 @@ +use crate::{ + provider_endpoints, + repository::DealRepository, + services::deal_service, + types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, + url_tester, ResultCode, +}; +use color_eyre::Result; +use tracing::error; +use uuid::Uuid; + +#[derive(Debug, Clone)] +pub struct UrlDiscoveryResult { + pub id: Uuid, + pub provider_id: ProviderId, + pub client_id: Option, + pub result_type: String, + pub working_url: Option, + pub retrievability_percent: f64, + pub result_code: String, + pub error_code: Option, +} + +impl UrlDiscoveryResult { + pub fn new_provider_only(provider_id: ProviderId) -> Self { + Self { + id: Uuid::new_v4(), + provider_id, + client_id: None, + result_type: "Provider".to_string(), + working_url: None, + retrievability_percent: 0.0, + result_code: ResultCode::Error.to_string(), + error_code: None, + } + } + + pub fn new_provider_client(provider_id: ProviderId, client_id: ClientId) -> Self { + Self { + id: Uuid::new_v4(), + provider_id, + client_id: Some(client_id), + result_type: "ProviderClient".to_string(), + working_url: None, + retrievability_percent: 0.0, + result_code: ResultCode::Error.to_string(), + error_code: None, + } + } +} + +pub async fn discover_url( + provider_address: &ProviderAddress, + client_address: Option, + deal_repo: &DealRepository, +) -> Result { + let provider_id: ProviderId = provider_address.clone().into(); + let client_id: Option = client_address.clone().map(|c| c.into()); + + let mut result = match &client_id { + Some(c) => UrlDiscoveryResult::new_provider_client(provider_id.clone(), c.clone()), + None => UrlDiscoveryResult::new_provider_only(provider_id.clone()), + }; + + let (result_code, endpoints) = + match provider_endpoints::get_provider_endpoints(provider_address).await { + Ok((code, eps)) => (code, eps), + Err(e) => { + error!( + "Failed to get provider endpoints for {}: {:?}", + provider_address, e + ); + result.result_code = ResultCode::Error.to_string(); + result.error_code = Some(format!("{:?}", e)); + return Ok(result); + } + }; + + if endpoints.is_none() { + result.result_code = result_code.to_string(); + return Ok(result); + } + + let endpoints = endpoints.unwrap(); + + let piece_ids = + match deal_service::get_piece_ids_by_provider(deal_repo, &provider_id, client_id.as_ref()) + .await + { + Ok(ids) => ids, + Err(e) => { + error!( + "Failed to get piece ids for {} {:?}: {:?}", + provider_id, client_id, e + ); + result.result_code = ResultCode::Error.to_string(); + result.error_code = Some(format!("{:?}", e)); + return Ok(result); + } + }; + + if piece_ids.is_empty() { + result.result_code = ResultCode::NoDealsFound.to_string(); + return Ok(result); + } + + let urls = deal_service::get_piece_url(endpoints, piece_ids).await; + let (working_url, retrievability_percent) = url_tester::get_retrivability_with_head(urls).await; + + result.working_url = working_url.clone(); + result.retrievability_percent = retrievability_percent; + result.result_code = if working_url.is_some() { + ResultCode::Success.to_string() + } else { + ResultCode::FailedToGetWorkingUrl.to_string() + }; + + Ok(result) +} diff --git a/url_finder/src/types.rs b/url_finder/src/types.rs index ddba563..548af3d 100644 --- a/url_finder/src/types.rs +++ b/url_finder/src/types.rs @@ -1,4 +1,11 @@ -use serde::Deserialize; +use color_eyre::{eyre::eyre, Result}; +use regex::Regex; +use serde::{Deserialize, Serialize}; +use sqlx::error::BoxDynError; +use sqlx::postgres::{PgArgumentBuffer, PgTypeInfo, PgValueRef}; +use sqlx::{Decode, Encode, Postgres, Type}; +use std::fmt; +use utoipa::ToSchema; #[derive(Deserialize)] pub(super) struct DbConnectParams { @@ -24,3 +31,222 @@ impl DbConnectParams { ) } } + +/// Provider address with "f0" prefix (e.g., "f0123456") - for APIs/RPC +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, ToSchema)] +#[serde(transparent)] +pub struct ProviderAddress(String); + +impl ProviderAddress { + pub fn new(addr: impl Into) -> Result { + let addr = addr.into(); + let pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); + if !pattern.is_match(&addr) { + return Err(eyre!("Invalid provider address: {}", addr)); + } + Ok(Self(addr)) + } + + pub fn as_str(&self) -> &str { + &self.0 + } +} + +impl fmt::Display for ProviderAddress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl AsRef for ProviderAddress { + fn as_ref(&self) -> &str { + &self.0 + } +} + +impl From for ProviderAddress { + fn from(id: ProviderId) -> Self { + Self(format!("f0{}", id.0)) + } +} + +impl From for ProviderId { + fn from(addr: ProviderAddress) -> Self { + Self(addr.0.strip_prefix("f0").unwrap().to_string()) + } +} + +/// Provider ID without "f0" prefix (e.g., "123456") - for database +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, ToSchema)] +#[serde(transparent)] +pub struct ProviderId(String); + +impl ProviderId { + pub fn new(id: impl Into) -> Result { + let id = id.into(); + if !id.chars().all(|c| c.is_numeric()) || id.is_empty() || id.len() > 8 { + return Err(eyre!("Invalid provider id: {}", id)); + } + Ok(Self(id)) + } + + pub fn as_str(&self) -> &str { + &self.0 + } +} + +impl fmt::Display for ProviderId { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl AsRef for ProviderId { + fn as_ref(&self) -> &str { + &self.0 + } +} + +impl Type for ProviderId { + fn type_info() -> PgTypeInfo { + >::type_info() + } +} + +impl<'r> Decode<'r, Postgres> for ProviderId { + fn decode(value: PgValueRef<'r>) -> Result { + let s = >::decode(value)?; + Ok(Self(s)) + } +} + +impl<'q> Encode<'q, Postgres> for ProviderId { + fn encode_by_ref( + &self, + buf: &mut PgArgumentBuffer, + ) -> Result { + >::encode_by_ref(&self.0, buf) + } +} + +/// Client address with "f0" prefix (e.g., "f0123456") - for APIs +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, ToSchema)] +#[serde(transparent)] +pub struct ClientAddress(String); + +impl ClientAddress { + pub fn new(addr: impl Into) -> Result { + let addr = addr.into(); + let pattern = Regex::new(r"^f0\d{1,8}$").unwrap(); + if !pattern.is_match(&addr) { + return Err(eyre!("Invalid client address: {}", addr)); + } + Ok(Self(addr)) + } + + pub fn as_str(&self) -> &str { + &self.0 + } +} + +impl fmt::Display for ClientAddress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl AsRef for ClientAddress { + fn as_ref(&self) -> &str { + &self.0 + } +} + +impl From for ClientAddress { + fn from(id: ClientId) -> Self { + Self(format!("f0{}", id.0)) + } +} + +impl From for ClientId { + fn from(addr: ClientAddress) -> Self { + Self(addr.0.strip_prefix("f0").unwrap().to_string()) + } +} + +/// Client ID without "f0" prefix (e.g., "123456") - for database +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, ToSchema)] +#[serde(transparent)] +pub struct ClientId(String); + +impl ClientId { + pub fn new(id: impl Into) -> Result { + let id = id.into(); + if !id.chars().all(|c| c.is_numeric()) || id.is_empty() || id.len() > 8 { + return Err(eyre!("Invalid client id: {}", id)); + } + Ok(Self(id)) + } + + pub fn as_str(&self) -> &str { + &self.0 + } +} + +impl fmt::Display for ClientId { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl AsRef for ClientId { + fn as_ref(&self) -> &str { + &self.0 + } +} + +impl Type for ClientId { + fn type_info() -> PgTypeInfo { + >::type_info() + } +} + +impl<'r> Decode<'r, Postgres> for ClientId { + fn decode(value: PgValueRef<'r>) -> Result { + let s = >::decode(value)?; + Ok(Self(s)) + } +} + +impl<'q> Encode<'q, Postgres> for ClientId { + fn encode_by_ref( + &self, + buf: &mut PgArgumentBuffer, + ) -> Result { + >::encode_by_ref(&self.0, buf) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_provider_conversions() { + let provider_address = ProviderAddress::new("f0123456").unwrap(); + let provider_id: ProviderId = provider_address.clone().into(); + assert_eq!(provider_id.as_str(), "123456"); + + let provider_address2: ProviderAddress = provider_id.into(); + assert_eq!(provider_address2.as_str(), "f0123456"); + } + + #[test] + fn test_client_conversions() { + let client_address = ClientAddress::new("f0789012").unwrap(); + let client_id: ClientId = client_address.clone().into(); + assert_eq!(client_id.as_str(), "789012"); + + let client_address2: ClientAddress = client_id.into(); + assert_eq!(client_address2.as_str(), "f0789012"); + } +} From 91bbc38e482a6227da61bfec1d3f4a62b4f9a6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Fri, 14 Nov 2025 09:23:55 +0100 Subject: [PATCH 02/12] URL discovery pending timeout, External calls backoff --- ...09f5edf6a8ea022cb60ceaee478d31740949.json} | 4 +- ...774377dbdca219880e5d54c21c817813d648.json} | 22 +- ...d3f9f793e9b51bbb50736d979733cd4455d5.json} | 22 +- ...3a1cef2fa9a813bdd85db0a3e7f9db335ab1.json} | 4 +- Cargo.lock | 158 +++- Makefile | 3 +- ...0_add_url_discovery_pending_since.down.sql | 2 + ...000_add_url_discovery_pending_since.up.sql | 2 + scripts/sql/providers_with_clients.sql | 879 ++++++++++++++++++ scripts/sql/success_deals.sql | 52 -- url_finder/Cargo.toml | 3 + .../src/background/url_discovery_scheduler.rs | 25 +- url_finder/src/cid_contact.rs | 9 +- url_finder/src/lotus_rpc.rs | 18 +- url_finder/src/main.rs | 1 + url_finder/src/multiaddr_parser.rs | 4 +- url_finder/src/repository/deal_repo.rs | 1 + .../src/repository/storage_provider_repo.rs | 18 +- .../src/services/url_discovery_service.rs | 13 +- url_finder/src/url_tester.rs | 7 +- url_finder/src/utils/mod.rs | 3 + url_finder/src/utils/reqwest_retry.rs | 23 + 22 files changed, 1146 insertions(+), 127 deletions(-) rename .sqlx/{query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json => query-6373645e2aaa8b12aca286d861d809f5edf6a8ea022cb60ceaee478d31740949.json} (56%) rename .sqlx/{query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json => query-6d0246db36942f288a537ce27d69774377dbdca219880e5d54c21c817813d648.json} (71%) rename .sqlx/{query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json => query-808f33282188dbb6bc4ed48c3cbad3f9f793e9b51bbb50736d979733cd4455d5.json} (59%) rename .sqlx/{query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json => query-e489f8a98958aeab9a5d28a6bd0e3a1cef2fa9a813bdd85db0a3e7f9db335ab1.json} (54%) create mode 100644 migrations/20251114120000_add_url_discovery_pending_since.down.sql create mode 100644 migrations/20251114120000_add_url_discovery_pending_since.up.sql create mode 100644 scripts/sql/providers_with_clients.sql delete mode 100644 scripts/sql/success_deals.sql create mode 100644 url_finder/src/utils/mod.rs create mode 100644 url_finder/src/utils/reqwest_retry.rs diff --git a/.sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json b/.sqlx/query-6373645e2aaa8b12aca286d861d809f5edf6a8ea022cb60ceaee478d31740949.json similarity index 56% rename from .sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json rename to .sqlx/query-6373645e2aaa8b12aca286d861d809f5edf6a8ea022cb60ceaee478d31740949.json index e85beb6..ccb11a6 100644 --- a/.sqlx/query-b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718.json +++ b/.sqlx/query-6373645e2aaa8b12aca286d861d809f5edf6a8ea022cb60ceaee478d31740949.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "UPDATE\n storage_providers\n SET\n url_discovery_status = 'pending'\n WHERE\n provider_id = $1\n ", + "query": "UPDATE\n storage_providers\n SET\n url_discovery_status = 'pending',\n url_discovery_pending_since = NOW()\n WHERE\n provider_id = $1\n ", "describe": { "columns": [], "parameters": { @@ -10,5 +10,5 @@ }, "nullable": [] }, - "hash": "b3ce14f8f5f169fa7db5cc1c07d5da246c9bb88602ecc323a7dbece411cbf718" + "hash": "6373645e2aaa8b12aca286d861d809f5edf6a8ea022cb60ceaee478d31740949" } diff --git a/.sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json b/.sqlx/query-6d0246db36942f288a537ce27d69774377dbdca219880e5d54c21c817813d648.json similarity index 71% rename from .sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json rename to .sqlx/query-6d0246db36942f288a537ce27d69774377dbdca219880e5d54c21c817813d648.json index da2787c..e793275 100644 --- a/.sqlx/query-ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7.json +++ b/.sqlx/query-6d0246db36942f288a537ce27d69774377dbdca219880e5d54c21c817813d648.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n provider_id = $1\n ", + "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n url_discovery_pending_since,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n provider_id = $1\n ", "describe": { "columns": [ { @@ -25,36 +25,41 @@ }, { "ordinal": 4, + "name": "url_discovery_pending_since", + "type_info": "Timestamptz" + }, + { + "ordinal": 5, "name": "last_working_url", "type_info": "Text" }, { - "ordinal": 5, + "ordinal": 6, "name": "next_bms_test_at", "type_info": "Timestamptz" }, { - "ordinal": 6, + "ordinal": 7, "name": "bms_test_status", "type_info": "Varchar" }, { - "ordinal": 7, + "ordinal": 8, "name": "bms_routing_key", "type_info": "Varchar" }, { - "ordinal": 8, + "ordinal": 9, "name": "last_bms_region_discovery_at", "type_info": "Timestamptz" }, { - "ordinal": 9, + "ordinal": 10, "name": "created_at", "type_info": "Timestamptz" }, { - "ordinal": 10, + "ordinal": 11, "name": "updated_at", "type_info": "Timestamptz" } @@ -70,6 +75,7 @@ false, true, true, + true, false, true, true, @@ -78,5 +84,5 @@ false ] }, - "hash": "ce2d2da76345f7c7695d1de1f8e8f61b828df9c21b2a965c682821e73b5e77e7" + "hash": "6d0246db36942f288a537ce27d69774377dbdca219880e5d54c21c817813d648" } diff --git a/.sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json b/.sqlx/query-808f33282188dbb6bc4ed48c3cbad3f9f793e9b51bbb50736d979733cd4455d5.json similarity index 59% rename from .sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json rename to .sqlx/query-808f33282188dbb6bc4ed48c3cbad3f9f793e9b51bbb50736d979733cd4455d5.json index 2a5be54..ce055c1 100644 --- a/.sqlx/query-4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02.json +++ b/.sqlx/query-808f33282188dbb6bc4ed48c3cbad3f9f793e9b51bbb50736d979733cd4455d5.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n next_url_discovery_at <= NOW()\n AND url_discovery_status IS DISTINCT FROM 'pending'\n ORDER BY\n next_url_discovery_at ASC\n LIMIT $1\n ", + "query": "SELECT\n id,\n provider_id AS \"provider_id: ProviderId\",\n next_url_discovery_at,\n url_discovery_status,\n url_discovery_pending_since,\n last_working_url,\n next_bms_test_at,\n bms_test_status,\n bms_routing_key,\n last_bms_region_discovery_at,\n created_at,\n updated_at\n FROM\n storage_providers\n WHERE\n (\n next_url_discovery_at <= NOW()\n AND url_discovery_status IS DISTINCT FROM 'pending'\n )\n OR\n (\n url_discovery_status = 'pending'\n AND url_discovery_pending_since < NOW() - INTERVAL '60 minutes'\n )\n ORDER BY\n next_url_discovery_at ASC\n LIMIT $1\n ", "describe": { "columns": [ { @@ -25,36 +25,41 @@ }, { "ordinal": 4, + "name": "url_discovery_pending_since", + "type_info": "Timestamptz" + }, + { + "ordinal": 5, "name": "last_working_url", "type_info": "Text" }, { - "ordinal": 5, + "ordinal": 6, "name": "next_bms_test_at", "type_info": "Timestamptz" }, { - "ordinal": 6, + "ordinal": 7, "name": "bms_test_status", "type_info": "Varchar" }, { - "ordinal": 7, + "ordinal": 8, "name": "bms_routing_key", "type_info": "Varchar" }, { - "ordinal": 8, + "ordinal": 9, "name": "last_bms_region_discovery_at", "type_info": "Timestamptz" }, { - "ordinal": 9, + "ordinal": 10, "name": "created_at", "type_info": "Timestamptz" }, { - "ordinal": 10, + "ordinal": 11, "name": "updated_at", "type_info": "Timestamptz" } @@ -70,6 +75,7 @@ false, true, true, + true, false, true, true, @@ -78,5 +84,5 @@ false ] }, - "hash": "4e4f2ea2b990d2533337a210a006cddcae028c66c3565afb2bb2397ea5f39b02" + "hash": "808f33282188dbb6bc4ed48c3cbad3f9f793e9b51bbb50736d979733cd4455d5" } diff --git a/.sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json b/.sqlx/query-e489f8a98958aeab9a5d28a6bd0e3a1cef2fa9a813bdd85db0a3e7f9db335ab1.json similarity index 54% rename from .sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json rename to .sqlx/query-e489f8a98958aeab9a5d28a6bd0e3a1cef2fa9a813bdd85db0a3e7f9db335ab1.json index 0bd6a76..ccdabf1 100644 --- a/.sqlx/query-11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c.json +++ b/.sqlx/query-e489f8a98958aeab9a5d28a6bd0e3a1cef2fa9a813bdd85db0a3e7f9db335ab1.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "UPDATE\n storage_providers\n SET\n next_url_discovery_at = NOW() + INTERVAL '1 day',\n url_discovery_status = NULL,\n last_working_url = $2,\n updated_at = NOW()\n WHERE\n provider_id = $1\n ", + "query": "UPDATE\n storage_providers\n SET\n next_url_discovery_at = NOW() + INTERVAL '1 day',\n url_discovery_status = NULL,\n url_discovery_pending_since = NULL,\n last_working_url = $2,\n updated_at = NOW()\n WHERE\n provider_id = $1\n ", "describe": { "columns": [], "parameters": { @@ -11,5 +11,5 @@ }, "nullable": [] }, - "hash": "11e8beeacc1aac5d25623e6ac63c5406f247fab08faf2160898639e327e03d6c" + "hash": "e489f8a98958aeab9a5d28a6bd0e3a1cef2fa9a813bdd85db0a3e7f9db335ab1" } diff --git a/Cargo.lock b/Cargo.lock index 598798d..2ed04f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -65,6 +65,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + [[package]] name = "arbitrary" version = "1.4.1" @@ -301,7 +307,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags", + "bitflags 2.6.0", "cexpr", "clang-sys", "itertools", @@ -318,6 +324,12 @@ dependencies = [ "which", ] +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitflags" version = "2.6.0" @@ -594,7 +606,7 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core", + "parking_lot_core 0.9.10", ] [[package]] @@ -897,7 +909,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot", + "parking_lot 0.12.3", ] [[package]] @@ -1015,7 +1027,7 @@ dependencies = [ "futures-util", "no-std-compat", "nonzero_ext", - "parking_lot", + "parking_lot 0.12.3", "portable-atomic", "quanta", "rand", @@ -1417,6 +1429,18 @@ dependencies = [ "serde", ] +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "ipnet" version = "2.10.1" @@ -1662,7 +1686,7 @@ dependencies = [ "event-listener", "futures-util", "loom", - "parking_lot", + "parking_lot 0.12.3", "portable-atomic", "rustc_version", "smallvec", @@ -1871,7 +1895,7 @@ version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -1927,6 +1951,17 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + [[package]] name = "parking_lot" version = "0.12.3" @@ -1934,7 +1969,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.10", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", ] [[package]] @@ -1945,7 +1994,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -2185,7 +2234,16 @@ version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" dependencies = [ - "bitflags", + "bitflags 2.6.0", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", ] [[package]] @@ -2194,7 +2252,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags", + "bitflags 2.6.0", ] [[package]] @@ -2290,6 +2348,52 @@ dependencies = [ "windows-registry", ] +[[package]] +name = "reqwest-middleware" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" +dependencies = [ + "anyhow", + "async-trait", + "http", + "reqwest", + "serde", + "thiserror 1.0.69", + "tower-service", +] + +[[package]] +name = "reqwest-retry" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c73e4195a6bfbcb174b790d9b3407ab90646976c55de58a6515da25d851178" +dependencies = [ + "anyhow", + "async-trait", + "futures", + "getrandom", + "http", + "hyper", + "parking_lot 0.11.2", + "reqwest", + "reqwest-middleware", + "retry-policies", + "thiserror 1.0.69", + "tokio", + "tracing", + "wasm-timer", +] + +[[package]] +name = "retry-policies" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5875471e6cab2871bc150ecb8c727db5113c9338cc3354dc5ee3425b6aa40a1c" +dependencies = [ + "rand", +] + [[package]] name = "ring" version = "0.17.8" @@ -2392,7 +2496,7 @@ version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -2492,7 +2596,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -2803,7 +2907,7 @@ dependencies = [ "atoi", "base64", "bigdecimal", - "bitflags", + "bitflags 2.6.0", "byteorder", "bytes", "chrono", @@ -2848,7 +2952,7 @@ dependencies = [ "atoi", "base64", "bigdecimal", - "bitflags", + "bitflags 2.6.0", "byteorder", "chrono", "crc", @@ -2983,7 +3087,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] @@ -3102,7 +3206,7 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot", + "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", "socket2", @@ -3189,7 +3293,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ - "bitflags", + "bitflags 2.6.0", "bytes", "http", "pin-project-lite", @@ -3387,6 +3491,9 @@ dependencies = [ "once_cell", "regex", "reqwest", + "reqwest-middleware", + "reqwest-retry", + "retry-policies", "serde", "serde_json", "sqlx", @@ -3584,6 +3691,21 @@ version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "web-sys" version = "0.3.72" @@ -3631,7 +3753,7 @@ version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ - "redox_syscall", + "redox_syscall 0.5.7", "wasite", ] diff --git a/Makefile b/Makefile index 510812c..10b4a7e 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ include .env export .PHONY: check format lint build run stop logs prepare -.PHONY: run-db stop-db clear-db logs-db +.PHONY: run-db stop-db clean-db clear-db logs-db .PHONY: migrate-up migrate-down migrate-status init-dev init-dev-db check: @@ -33,6 +33,7 @@ stop-db: @docker compose down postgres exec-db: @docker compose exec postgres psql -U postgres -d uf +clean-db: clear-db clear-db: @docker compose down -v postgres logs-db: diff --git a/migrations/20251114120000_add_url_discovery_pending_since.down.sql b/migrations/20251114120000_add_url_discovery_pending_since.down.sql new file mode 100644 index 0000000..ce1b5d9 --- /dev/null +++ b/migrations/20251114120000_add_url_discovery_pending_since.down.sql @@ -0,0 +1,2 @@ +ALTER TABLE storage_providers +DROP COLUMN url_discovery_pending_since; diff --git a/migrations/20251114120000_add_url_discovery_pending_since.up.sql b/migrations/20251114120000_add_url_discovery_pending_since.up.sql new file mode 100644 index 0000000..3ea352e --- /dev/null +++ b/migrations/20251114120000_add_url_discovery_pending_since.up.sql @@ -0,0 +1,2 @@ +ALTER TABLE storage_providers +ADD COLUMN url_discovery_pending_since TIMESTAMPTZ NULL; diff --git a/scripts/sql/providers_with_clients.sql b/scripts/sql/providers_with_clients.sql new file mode 100644 index 0000000..69801c0 --- /dev/null +++ b/scripts/sql/providers_with_clients.sql @@ -0,0 +1,879 @@ +INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "providerId", "sectorId", "pieceCid", "pieceSize", "termMax", "termMin", "termStart", "slashedEpoch", "processedSlashedEpoch", removed, "createdAt", "updatedAt", "dcSource") VALUES +(50740898, 17076628, 0, 'deal', '1381852', '10088', '0', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 3895449, NULL, 2371105, 0, 0, false, '2024-10-23 14:27:54.928634', '2024-10-23 14:27:54.928634', NULL), +(47600653, 13789776, 0, 'deal', '1471028', '10088', '0', 'baga6ea4seaqlzlwg7zmcy2y5rjkuistwvbntpqamlvrfqwtorlu7crildc2a6dq', 34359738368, 3814809, NULL, 2276826, 0, 0, false, '2024-10-23 13:55:06.085897', '2024-10-23 13:55:06.085897', NULL), +(48608479, 14828821, 0, 'deal', '1614121', '10088', '0', 'baga6ea4seaqdfvlaplunakye3tru7rhrjena7aiyocdca2453j5imel62glsuca', 34359738368, 3840729, NULL, 2314010, 0, 0, false, '2024-10-23 14:03:56.307879', '2024-10-23 14:03:56.307879', NULL), +(54631349, 21630007, 0, 'deal', '1762699', '10088', '14552', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 4027929, NULL, 2505447, 0, 0, false, '2024-10-23 15:10:09.152339', '2024-10-23 15:10:09.152339', NULL), +(51584587, 17966813, 0, 'deal', '1906730', '10088', '0', 'baga6ea4seaqlg64iaftvze5vpe3rcuicamrlo4agvmksen54ytafyptl6rs34da', 8589934592, 3937891, NULL, 2401461, 0, 0, false, '2024-10-23 14:37:10.428715', '2024-10-23 14:37:10.428715', NULL), +(46596920, 12746899, 0, 'deal', '1929808', '10088', '0', 'baga6ea4seaqafu5derxzkwrckdnntspmuhrdzrfmka2ewb7bkc33mbotgaacema', 34359738368, 3774489, NULL, 2240865, 0, 0, false, '2024-10-23 13:48:09.379194', '2024-10-23 13:48:09.379194', NULL), +(80373190, 49581268, 0, 'deal', '1943349', '10088', '17026', 'baga6ea4seaqkhtisg6x7opy43rbdnckjyvufx4y47b7q4gwwoyylosetdzmmcaa', 34359738368, 4629849, NULL, 3103387, 0, 0, false, '2024-10-23 19:24:44.697491', '2024-10-23 19:24:44.697491', NULL), +(107937387, 78803298, 0, 'deal', '1943355', '10088', '18906', 'baga6ea4seaqeg4kgpladtn3ddihpmaxcyqyi32l2c7ojcx6i2uzwsc4sxqpwefi', 34359738368, 5356511, NULL, 3836523, 0, 0, false, '2024-10-23 19:55:18.910747', '2024-10-23 19:55:18.910747', NULL), +(108083973, 79220711, 0, 'deal', '1982040', '10088', '18941', 'baga6ea4seaqbhvvycb74yc3eghkvpzybhkps2npbdtpoqidpzx7mft7cr4cxici', 34359738368, 5376143, NULL, 3853734, 0, 0, false, '2024-10-23 19:55:37.258354', '2024-10-23 19:55:37.258354', NULL), +(54089038, 20986840, 0, 'deal', '1992623', '10088', '14421', 'baga6ea4seaqodhuceatgqpqhximsdver5mmefjn4dxzsl4ecv72ifaer2aeoygi', 34359738368, 4025049, NULL, 2486535, 0, 0, false, '2024-10-23 15:04:24.749759', '2024-10-23 15:04:24.749759', NULL), +(55857607, 22993964, 0, 'deal', '1992627', '10088', '14711', 'baga6ea4seaqjj3zpobdy2t5a73rdgnlgigydjfo5cwpsqzryperp4wasbtg6qnq', 34359738368, 4068249, NULL, 2545249, 0, 0, false, '2024-10-23 15:22:56.136519', '2024-10-23 15:22:56.136519', NULL), +(55018578, 22054778, 0, 'deal', '2003085', '10088', '14581', 'baga6ea4seaqb2yr5ax7qhmn4n5yezrpqwiug7mvfrasuvt33ivogl2w3pysjihy', 34359738368, 4036569, NULL, 2515203, 0, 0, false, '2024-10-23 15:14:14.279877', '2024-10-23 15:14:14.279877', NULL), +(57153793, 24428536, 0, 'deal', '2011204', '10088', '14869', 'baga6ea4seaqpx4ks3afxtp2gtx2jpc4yvqlvzhl45or3bpwfc7td5fqnha4lmki', 34359738368, 4111449, NULL, 2592189, 0, 0, false, '2024-10-23 15:36:14.633706', '2024-10-23 15:36:14.633706', NULL), +(57666536, 25039984, 0, 'deal', '2025768', '10088', '14950', 'baga6ea4seaqbx544nq4l4qxmcd2er4wjhpxuzfgjt7o6lhzdtwl2453wqvyq6ja', 34359738368, 4131609, NULL, 2607742, 0, 0, false, '2024-10-23 15:41:26.020826', '2024-10-23 15:41:26.020826', NULL), +(59557701, 27179358, 0, 'deal', '2031177', '10088', '15155', 'baga6ea4seaqnitmkj5pvt7cxcunbc2m766rprqdispamuyfmc7jrmfiyxdsfajq', 34359738368, 4177689, NULL, 2654607, 0, 0, false, '2024-10-23 16:00:16.96706', '2024-10-23 16:00:16.96706', NULL), +(63889760, 31894277, 0, 'deal', '2034522', '10088', '15639', 'baga6ea4seaqi77disgrzdj2vvazwikzebjixfmwt7kng7bofcbafklnx3vrmeda', 8589934592, 4270717, NULL, 2758276, 0, 0, false, '2024-10-23 16:41:58.690371', '2024-10-23 16:41:58.690371', NULL), +(64497687, 32562515, 0, 'deal', '2034523', '10088', '15667', 'baga6ea4seaqg2cophtuqjjcdrkj2wxvob6fsw74iorrdgxljetdmlieb6p6sqja', 8589934592, 4285694, NULL, 2774201, 0, 0, false, '2024-10-23 16:47:45.006126', '2024-10-23 16:47:45.006126', NULL), +(59847135, 27489888, 0, 'deal', '2038351', '10088', '15233', 'baga6ea4seaqk4yz67aqnphkhdjmr44mjvrrvvwv6xhvxrvn2uelkhj2yx4vgogq', 34359738368, 4186329, NULL, 2661915, 0, 0, false, '2024-10-23 16:03:22.215895', '2024-10-23 16:03:22.215895', NULL), +(92825143, 62310039, 0, 'deal', '2041775', '10088', '17904', 'baga6ea4seaqj6cf7upjhhbpexdcifuym2m6olgmuxdhg33zgocjttwmptolguay', 34359738368, 4885260, NULL, 3371372, 0, 0, false, '2024-10-23 19:38:25.640959', '2024-10-23 19:38:25.640959', NULL), +(63688268, 31670625, 0, 'deal', '2041776', '10088', '15628', 'baga6ea4seaqdj5ohtiqgebv5l5t2lpdy7z3ypohiurw5xqsn4otdp6infvpbgky', 34359738368, 4275609, NULL, 2752271, 0, 0, false, '2024-10-23 16:40:03.823896', '2024-10-23 16:40:03.823896', NULL), +(94906332, 64457114, 0, 'deal', '2041777', '10088', '18216', 'baga6ea4seaqf2cdi4xtvpaffjse7aaezkaqicczpxuwqjgygsj6xfxqrnwbjany', 34359738368, 4472571, NULL, 3434522, 0, 0, false, '2024-10-23 19:40:42.028775', '2024-10-23 19:40:42.028775', NULL), +(59073438, 26651931, 0, 'deal', '2041788', '10088', '15063', 'baga6ea4seaqnclvdwxwet5x32vtuplicj6d4hcktvxwjsxymd5nvyktppeorsdy', 34359738368, 4166169, NULL, 2642063, 0, 0, false, '2024-10-23 15:55:25.809215', '2024-10-23 15:55:25.809215', NULL), +(59151442, 26753564, 0, 'deal', '2041789', '10088', '15074', 'baga6ea4seaqdsnkoo2wmbbs6fdn2hjcytbmpkjhc4ovi7jprkzjds7hlqzch2ey', 34359738368, 4169049, NULL, 2644923, 0, 0, false, '2024-10-23 15:56:14.167704', '2024-10-23 15:56:14.167704', NULL), +(78961425, 48137878, 0, 'deal', '2041790', '10088', '16892', 'baga6ea4seaqmb2d7dj3tukjlqwktqzvsabip7i5pm35wrigie6jtru75a5cekpy', 34359738368, 4603073, NULL, 3077157, 0, 0, false, '2024-10-23 19:23:11.700158', '2024-10-23 19:23:11.700158', NULL), +(59281726, 26890494, 0, 'deal', '2047227', '10088', '15105', 'baga6ea4seaqjaxe4a2yxbrglogco2qhcfy5gnmq3l6ynvelr7qaw6obz4iozuii', 34359738368, 4171929, NULL, 2648040, 0, 0, false, '2024-10-23 15:57:29.589214', '2024-10-23 15:57:29.589214', NULL), +(59361033, 26965881, 0, 'deal', '2047228', '10088', '15121', 'baga6ea4seaqo7bmq5tclywxjety3lx2mpwinrq3hkwslq2wzjpydkr3rg4gogiy', 34359738368, 4174809, NULL, 2652389, 0, 0, false, '2024-10-23 15:58:20.529547', '2024-10-23 15:58:20.529547', NULL), +(60090101, 27782969, 0, 'deal', '2047229', '10088', '9435', 'baga6ea4seaqfql6tu3zb4f6fnibxqfifbf4oftprntd3gbdi6izoiikp5eetgbi', 34359738368, 4194969, NULL, 2668048, 0, 0, false, '2024-10-23 16:05:42.037057', '2024-10-23 16:05:42.037057', NULL), +(60216333, 27914090, 0, 'deal', '2047231', '10088', '15260', 'baga6ea4seaqdatuc3ogfaexuk77we2t7m56bjdohkfjqjfphxuyziirrsfnnoeq', 34359738368, 4194969, NULL, 2677637, 0, 0, false, '2024-10-23 16:07:00.063425', '2024-10-23 16:07:00.063425', NULL), +(60319833, 28010381, 0, 'deal', '2047237', '10088', '15272', 'baga6ea4seaqdk35rgpyk4tob7ft5m6tbv2e7jt7egjm4e6fl7b4i43rxs6wgygy', 34359738368, 4197849, NULL, 2677961, 0, 0, false, '2024-10-23 16:08:01.841993', '2024-10-23 16:08:01.841993', NULL), +(65095287, 33198506, 0, 'deal', '2047239', '10088', '15705', 'baga6ea4seaqjc27tnf2vlna6p5cvdfw3b6wdrjfh6r2eeygiuhr37ue4lvfpsda', 34359738368, 4307289, NULL, 2785204, 0, 0, false, '2024-10-23 16:53:32.145902', '2024-10-23 16:53:32.145902', NULL), +(65835445, 34000249, 0, 'deal', '2047527', '10088', '15783', 'baga6ea4seaqeoy5drtirdbuv5wubfuffehxojr2yktkggz6kmvqubni67uuvmci', 34359738368, 4327449, NULL, 2804037, 0, 0, false, '2024-10-23 17:00:49.16963', '2024-10-23 17:00:49.16963', NULL), +(61343914, 29155206, 0, 'deal', '2059041', '10088', '15387', 'baga6ea4seaqfelmqyu5iv5uwlsf5yju7y7hohscv6t74yhto33drpbbrvawveea', 34359738368, 4223769, NULL, 2700884, 0, 0, false, '2024-10-23 16:17:56.2993', '2024-10-23 16:17:56.2993', NULL), +(66815236, 35048368, 0, 'deal', '2092888', '10088', '15858', 'baga6ea4seaqpzklcdcgjjanyitklgmat2zv5ifysnorl5tlvxoxyvd7e32ssajy', 34359738368, 4353369, NULL, 2831475, 0, 0, false, '2024-10-23 17:10:25.206529', '2024-10-23 17:10:25.206529', NULL), +(99395028, 69034151, 0, 'deal', '2097088', '10088', '18322', 'baga6ea4seaqkgc2h3iagzbtetfrr3v4vrpztqotw7i2svgx3g4cztrnskma5aoq', 34359738368, 5102040, NULL, 3564881, 0, 0, false, '2024-10-23 19:45:34.157031', '2024-10-23 19:45:34.157031', NULL), +(84649299, 53948041, 0, 'deal', '2100525', '10088', '17493', 'baga6ea4seaqd4rjs53uvmmjclczuzm35dkl6k7kh3cdn3goygsdwj3oqrlfymba', 34359738368, 4724148, NULL, 3204973, 0, 0, false, '2024-10-23 19:29:32.733824', '2024-10-23 19:29:32.733824', NULL), +(84687177, 53985737, 0, 'deal', '2101308', '10088', '17529', 'baga6ea4seaqgdvejboncc3erevx4jjfpwaoy45uk5o27ypvihrrzaihcvi2rydy', 34359738368, 4724155, NULL, 3205073, 0, 0, false, '2024-10-23 19:29:35.171921', '2024-10-23 19:29:35.171921', NULL), +(84612217, 53909589, 0, 'deal', '2104757', '10088', '17460', 'baga6ea4seaqlpbzpj6v57pvqljpye5kll3ps6s7c4acrntuu6stfqxosjnma2oa', 34359738368, 4724145, NULL, 3200431, 0, 0, false, '2024-10-23 19:29:30.361858', '2024-10-23 19:29:30.361858', NULL), +(108054710, 79117080, 0, 'deal', '2125907', '10088', '18935', 'baga6ea4seaqei3e5dt4o7d2gq62ofilgk2o3g6aao6od3wgd65q7i23xu7mpili', 34359738368, 5363998, NULL, 3847547, 0, 0, false, '2024-10-23 19:55:32.197956', '2024-10-23 19:55:32.197956', NULL), +(76971625, 46080275, 0, 'deal', '2126028', '10088', '16647', 'baga6ea4seaqe2bpec7sm7nxvt37kkl5fq5rigyossg6elo5zcoh7hmvvwa5peha', 34359738368, 4566489, NULL, 3038774, 0, 0, false, '2024-10-23 19:00:21.169978', '2024-10-23 19:00:21.169978', NULL), +(77199891, 46330464, 0, 'deal', '2182391', '10088', '16669', 'baga6ea4seaqo7jm4iofhbhqyiskkan4cjimr6h4rohzw4gphoqcdwry34fnagnq', 34359738368, 4572249, NULL, 3040064, 0, 0, false, '2024-10-23 19:03:05.895141', '2024-10-23 19:03:05.895141', NULL), +(95804668, 65380030, 0, 'deal', '2191977', '10088', '18271', 'baga6ea4seaqnyicjz6z5prx6o6m7z7qtz4scgp5vgaijt5moq55256ny4sag2cq', 34359738368, 4494403, NULL, 3447714, 0, 0, false, '2024-10-23 19:41:40.28263', '2024-10-23 19:41:40.28263', NULL), +(106082054, 75722719, 0, 'deal', '2216069', '10088', '18668', 'baga6ea4seaqfpphcxlilvcxz2bxjdf5uxz5dsaryggqrzxpryref3i4udxkmkfy', 34359738368, 5258184, NULL, 3736230, 0, 0, false, '2024-10-23 19:52:49.493398', '2024-10-23 19:52:49.493398', NULL), +(75520430, 44563131, 0, 'deal', '2237519', '10088', '0', 'baga6ea4seaqah457gqjq4vtqki4ugoslxih2xgaixavlvply4va36h3aij2nuli', 8589934592, 3549849, NULL, 3010278, 0, 0, false, '2024-10-23 18:43:06.094583', '2024-10-23 18:43:06.094583', NULL), +(54544239, 21517096, 0, 'deal', '397376', '10088', '14524', 'baga6ea4seaqeyeqrmpneczrqpwnknnqpycsg5p25gwdte3gevfrmifvfmu43qeq', 17179869184, 4013280, NULL, 2499360, 0, 0, false, '2024-10-23 15:09:12.417721', '2024-10-23 15:09:12.417721', NULL), +(47018965, 13181642, 0, 'deal', '8530', '10088', '0', 'baga6ea4seaqbi5jtc5c45dlzzyqi2eat6rqjpa6uziyhzz2jnm6bsniqsgv3ajy', 268435456, 3780249, NULL, 2256521, 0, 0, false, '2024-10-23 13:51:04.27591', '2024-10-23 13:51:04.27591', NULL), +(61170210, 28968832, 0, 'deal', '1905314', '114153', '273924', 'baga6ea4seaqbfb3t7m7hfjiu5djkikewuoxvsfya35lduxdcd7lfyw5yxlpamey', 34359738368, 4244477, NULL, 2696686, 0, 0, false, '2024-10-23 16:16:14.245194', '2024-10-23 16:16:14.245194', NULL), +(131138363, 0, 74092713, 'claimUpdated', '1915826', '114153', 'null', 'baga6ea4seaqci23lyy7r2f7rg4ykhf6llztljdyfhzdqm3kiqanq343bh7rvukq', 34359738368, 5256000, 1540800, 4242775, 0, 0, false, '2025-05-13 07:02:43.410182', '2025-05-13 07:02:43.410182', NULL), +(49363388, 15617861, 0, 'deal', '1916961', '114153', '0', 'baga6ea4seaqpzqi2i6ebanihtyxcd3a42fbxindxoa7cibqqhun5r2wdrsigcma', 34359738368, 3882655, NULL, 2335738, 0, 0, false, '2024-10-23 14:12:30.628628', '2024-10-23 14:12:30.628628', NULL), +(101490285, 71129123, 0, 'deal', '1919550', '114153', '315905', 'baga6ea4seaqdfwhwfpslfzppicck2y55nsefus3md7cywpfqk32j7tqv5x52qjy', 34359738368, 5171526, NULL, 3617220, 0, 0, false, '2024-10-23 19:47:49.874901', '2024-10-23 19:47:49.874901', NULL), +(60161920, 27845221, 0, 'deal', '1925065', '114153', '269514', 'baga6ea4seaqhvivjvok4gpcmlftqv4aeinysr5atkzdlgzffx3kl66yl4ktjqmi', 34359738368, 4218319, NULL, 2669583, 0, 0, false, '2024-10-23 16:06:29.194637', '2024-10-23 16:06:29.194637', NULL), +(75239779, 44253770, 0, 'deal', '1940691', '114153', '286534', 'baga6ea4seaqnatgwyp237xnufmw5ohteguktprnbjuokpdysm4r5fqx3sxj62oa', 34359738368, 4556248, NULL, 3001937, 0, 0, false, '2024-10-23 18:39:53.238897', '2024-10-23 18:39:53.238897', NULL), +(76411612, 45493434, 0, 'deal', '2010854', '114153', '296624', 'baga6ea4seaqgm7bezdklefrpyhoaefuwn5hjqstd27td4h7p3obsh5o32bidsja', 34359738368, 4579790, NULL, 3025429, 0, 0, false, '2024-10-23 18:53:35.132899', '2024-10-23 18:53:35.132899', NULL), +(70011730, 38549887, 0, 'deal', '2011870', '114153', '278428', 'baga6ea4seaqnghpqtoqqwjssmrml7epyhuqxo45worc3l5mri75yqyvx7g36sfy', 34359738368, 4445936, NULL, 2897148, 0, 0, false, '2024-10-23 17:42:43.566621', '2024-10-23 17:42:43.566621', NULL), +(74428214, 43384042, 0, 'deal', '2024424', '114153', '280344', 'baga6ea4seaqlsnsx3jhyvbmqsarvntybge6pk2h2sevk3v3qsxp3isjxphhwgna', 34359738368, 4540269, NULL, 2985953, 0, 0, false, '2024-10-23 18:30:34.372954', '2024-10-23 18:30:34.372954', NULL), +(60735473, 28473401, 0, 'deal', '2035501', '114153', '271878', 'baga6ea4seaqjvfeh2iffdqrqgtxqapgic3advohxdpqsphnfepwzvrlvhrrjmiq', 34359738368, 4232973, NULL, 2684265, 0, 0, false, '2024-10-23 16:12:01.495896', '2024-10-23 16:12:01.495896', NULL), +(80129289, 49333020, 0, 'deal', '2046973', '114153', '315799', 'baga6ea4seaqndzdxjvezrkl3yoaetmhfxef7yztqsazm76ixmbrbtw4kefzigia', 34359738368, 4653098, NULL, 3100023, 0, 0, false, '2024-10-23 19:24:28.913903', '2024-10-23 19:24:28.913903', NULL), +(61341460, 29140038, 0, 'deal', '2049279', '114153', '274621', 'baga6ea4seaqn3aul535zgb3dixqgjez2n3utqn2zhc6buokr56n3pvmtcluq6lq', 34359738368, 4248528, NULL, 2699785, 0, 0, false, '2024-10-23 16:17:52.890378', '2024-10-23 16:17:52.890378', NULL), +(64921680, 33011377, 0, 'deal', '2050289', '114153', '275224', 'baga6ea4seaqpkyqgpyforlk3vsmaa2fcf6uxghubpi76t62ui52izvsisfolkei', 34359738368, 4329788, NULL, 2781279, 0, 0, false, '2024-10-23 16:51:51.691535', '2024-10-23 16:51:51.691535', NULL), +(74959639, 43954012, 0, 'deal', '2060068', '114153', '284612', 'baga6ea4seaqb2o47qszvfjxvtkwilpogwwwirjsmxos6axdpmch5ujlwiqeu4da', 34359738368, 4550788, NULL, 2996999, 0, 0, false, '2024-10-23 18:36:38.198901', '2024-10-23 18:36:38.198901', NULL), +(103605852, 73246415, 0, 'deal', '2100534', '114153', '349183', 'baga6ea4seaqcej6nicbp5s5z2hzykmwfkoj6a4jptpkz4omhwf3qex6qhiawmnq', 34359738368, 5221979, NULL, 3667456, 0, 0, false, '2024-10-23 19:50:07.801754', '2024-10-23 19:50:07.801754', NULL), +(78122637, 47268165, 0, 'deal', '2130972', '114153', '311182', 'baga6ea4seaqkh5pchzqnhp735d6wxnoaw6v5p3jhjntmnyf2k7bfffhajem5mny', 34359738368, 4611826, NULL, 3057551, 0, 0, false, '2024-10-23 19:14:35.053527', '2024-10-23 19:14:35.053527', NULL), +(75782928, 44829752, 0, 'deal', '2147020', '114153', '290564', 'baga6ea4seaqiojk2ds4kmn6jdiednfzyurft7hfzh3qgymhfsfarpsyzufc7upi', 34359738368, 4566769, NULL, 3012311, 0, 0, false, '2024-10-23 18:46:10.956755', '2024-10-23 18:46:10.956755', NULL), +(114114474, 96672796, 80530024, 'claim', '2147046', '114153', '580445', 'baga6ea4seaqfvfkhtscqsd6tlyhxq4t437t3w23w6bkghyz3es6u2i4weifoilq', 34359738368, 1800000, 1540800, 4418621, 0, 0, false, '2024-11-05 19:52:02.66', '2024-11-05 19:52:02.66', NULL), +(79471378, 48652060, 0, 'deal', '2204321', '114153', '314471', 'baga6ea4seaqlfktf7vsjdyheizw327ogztbc2vqcbbwzz5i2wl2uuaqc3p3peni', 34359738368, 4640799, NULL, 3086512, 0, 0, false, '2024-10-23 19:23:45.459195', '2024-10-23 19:23:45.459195', NULL), +(114340353, 96860894, 80718120, 'claim', '2281895', '114153', '581019', 'baga6ea4seaqi3vqe76iux4m43mzsekixlvr4vss4jhcslmgczkpweftkkt6ewii', 34359738368, 1800000, 1540800, 4423277, 0, 0, false, '2024-11-07 11:17:55.276', '2024-11-07 11:17:55.276', NULL), +(112200536, 93538496, 0, 'deal', '2831491', '114153', '544664', 'baga6ea4seaqin6svk4aknbeqetiyl7ky7knbexqwgotqyztsasjvgs2buu474aa', 34359738368, 5876671, NULL, 4322206, 0, 0, false, '2024-10-23 20:07:43.110633', '2024-10-23 20:07:43.110633', NULL), +(112183860, 92603011, 76068841, 'deal', '2831645', '114153', '512732', 'baga6ea4seaqkuypla7lkvnnl7rnh2uattqbbzziua6o2e3jimka6xl26g4hxioi', 34359738368, 5847207, NULL, 4292898, 0, 0, false, '2024-10-23 20:06:37.570361', '2024-10-23 20:06:37.570361', NULL), +(112193526, 93134692, 0, 'deal', '2920827', '114153', '0', 'baga6ea4seaqljozrdgrkxvwd6eakkds5z3f6vrybwgknofl4ah2seern6r4vumq', 34359738368, 5863730, NULL, 4294967295, 0, 0, false, '2024-10-23 20:07:12.318302', '2024-10-23 20:07:12.318302', NULL), +(112215926, 94406187, 78131033, 'deal', '2932752', '114153', '568932', 'baga6ea4seaqb4vnlc4uxa3c2llcgpjg534pqwcqee2lcci3zjwjmicw5uzevkpa', 34359738368, 5901296, NULL, 4347288, 0, 0, false, '2024-10-23 20:09:07.0562', '2024-10-23 20:09:07.0562', NULL), +(112179635, 92435295, 75902695, 'deal', '3053967', '114153', '508290', 'baga6ea4seaqnej44azy2e3ekzsvjl5lm5r65pobf7loz7jxm4zwe5dj2iegyycq', 34359738368, 5842091, NULL, 4287653, 0, 0, false, '2024-10-23 20:06:32.584764', '2024-10-23 20:06:32.584764', NULL), +(112169671, 92035244, 75292622, 'deal', '3096059', '114153', '492846', 'baga6ea4seaqmazrxljw7svmjovyurbbo7x4uedcssfth5q3zht36opv6joz4sdy', 34359738368, 5827596, NULL, 4273140, 0, 0, false, '2024-10-23 20:06:14.663283', '2024-10-23 20:06:14.663283', NULL), +(110264497, 83556687, 0, 'deal', '3096060', '114153', '371946', 'baga6ea4seaqoarm64ryumif7hl2gytuhfax2htknlejthip3u6kypb7a3kggkai', 34359738368, 5554513, NULL, 4000169, 0, 0, false, '2024-10-23 19:59:02.922506', '2024-10-23 19:59:02.922506', NULL), +(112142668, 90375169, 73138872, 'deal', '3096141', '114153', '436938', 'baga6ea4seaqfvhq2xbylkrlqm2l4ax3dmlwhqmggicltujihfznqnnmxfhsskia', 34359738368, 5773658, NULL, 4219121, 0, 0, false, '2024-10-23 20:04:53.859458', '2024-10-23 20:04:53.859458', NULL), +(131039049, 0, 72398990, 'claimUpdated', '3096368', '114153', 'null', 'baga6ea4seaqiuxurrxdh4ysk46afc222zzrvdpuw5dknz2karwicg6wz7s3cchq', 34359738368, 5256000, 1540800, 4197308, 0, 0, false, '2025-05-13 07:00:36.951631', '2025-05-13 07:00:36.951631', NULL), +(131253244, 0, 77728229, 'claimUpdated', '3135133', '114153', 'null', 'baga6ea4seaqkbdlx7f6vlj2q4qpzsbfmaghyzsuq3dg5nywlhknvpg3wh2xfgjq', 34359738368, 5256000, 1540800, 4337787, 0, 0, false, '2025-05-13 07:26:15.827795', '2025-05-13 07:26:15.827795', NULL), +(112150625, 90941003, 73916278, 'deal', '3137917', '114153', '454774', 'baga6ea4seaqkbk3amsggtzhpre7nolzwf6nlip4jx6spo6zsqkz6h4glpybvodi', 34359738368, 5792986, NULL, 4238672, 0, 0, false, '2024-10-23 20:05:19.013722', '2024-10-23 20:05:19.013722', NULL), +(112194180, 93176513, 76743086, 'deal', '3140519', '114153', '534103', 'baga6ea4seaqoks3xttxs2vxonmxyokxf2rfthxvvhfylfuiyp5vmjfjjrdvv2mq', 34359738368, 5865705, NULL, 4311502, 0, 0, false, '2024-10-23 20:07:15.203992', '2024-10-23 20:07:15.203992', NULL), +(132812147, 0, 77901018, 'claimUpdated', '3144081', '114153', 'null', 'baga6ea4seaqacqpkgvdqml3huu5mm2qcurabp62maj4myq2oaamvetbkp6lceeq', 34359738368, 5256000, 1540800, 4342001, 0, 0, false, '2025-05-13 09:37:56.583706', '2025-05-13 09:37:56.583706', NULL), +(132084694, 0, 78086750, 'claimUpdated', '3177932', '114153', 'null', 'baga6ea4seaqgkbs7dzv3preavgy7vrewzo7ysdqffiqyitstvt3tgdt2him6mmi', 34359738368, 5256000, 1540800, 4345587, 0, 0, false, '2025-05-13 08:17:27.054193', '2025-05-13 08:17:27.054193', NULL), +(132437288, 0, 81120150, 'claimUpdated', '3189676', '114153', 'null', 'baga6ea4seaqmormggz56opm2wkxpvemycm6u24v66vtlh3v6y7lcaes6w6vwegq', 34359738368, 5256000, 1540800, 4433657, 0, 0, false, '2025-05-13 09:25:43.595778', '2025-05-13 09:25:43.595778', NULL), +(131832777, 0, 78446924, 'claimUpdated', '3201972', '114153', 'null', 'baga6ea4seaqmmuwbnssea2batfi5clnw5ny4d7dcjgem7hv77e6wa4qxe6ya6hy', 34359738368, 5256000, 1540800, 4356181, 0, 0, false, '2025-05-13 08:13:21.219902', '2025-05-13 08:13:21.219902', NULL), +(131700988, 0, 77621419, 'claimUpdated', '3202064', '114153', 'null', 'baga6ea4seaqciebvle36tck7o4kzaolg4dqlmhmjci6ep77m6ix3m5iaz47ewmy', 34359738368, 5256000, 1540800, 4335285, 0, 0, false, '2025-05-13 08:12:06.299396', '2025-05-13 08:12:06.299396', NULL), +(132792479, 0, 76575309, 'claimUpdated', '3212865', '114153', 'null', 'baga6ea4seaqf3bttelyq3g3ommfmmwzq7udof4qb45izqhrbpxv7jphag445shy', 34359738368, 5256000, 1540800, 4306469, 0, 0, false, '2025-05-13 09:37:19.099123', '2025-05-13 09:37:19.099123', NULL), +(115191871, 97527393, 81384718, 'claim', '3245316', '114153', '583262', 'baga6ea4seaqjox7n6djtscnotctz37vejo3fowdbmh2pucf27jkl56bne2z3mni', 34359738368, 1800000, 1540800, 4440412, 0, 0, false, '2024-11-14 20:59:02.521', '2024-11-14 20:59:02.521', NULL), +(131256256, 80703322, 63010103, 'claimUpdated', '816968', '114153', 'null', 'baga6ea4seaqj5ynk7df4xhboi6owtyffmmhdi5cvuzpaicy66hny7fqtldzdeey', 34359738368, 5256000, 1540800, 3903818, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), +(128866356, 0, 95814396, 'claim', '1131298', '1222595', '29824', 'baga6ea4seaqd4vgrxawrlfqn3s3ygfeabypcmdoprteqda7zficyxxrhvz6koci', 34359738368, 1785600, 1526400, 4867190, 0, 0, false, '2025-04-10 14:38:02.731', '2025-04-10 14:38:02.731', NULL), +(88193483, 57589370, 0, 'deal', '1300307', '1222595', '23317', 'baga6ea4seaqjab7r7bp6zwtud24sxhvfvm4r3ubkg4zanz2wjaghlr4jeowgcky', 34359738368, 4830298, NULL, 3285233, 0, 0, false, '2024-10-23 19:33:24.531103', '2024-10-23 19:33:24.531103', NULL), +(50281712, 16581523, 0, 'deal', '1381852', '1222595', '0', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 3884466, NULL, 2358808, 0, 0, false, '2024-10-23 14:22:47.935902', '2024-10-23 14:22:47.935902', NULL), +(47328197, 13504339, 0, 'deal', '1471028', '1222595', '0', 'baga6ea4seaqkfsu4n6yypgwxemtuc6lkelckynonbzqrbbllr5yo2s2bh3otsei', 34359738368, 3806706, NULL, 2268070, 0, 0, false, '2024-10-23 13:53:11.275965', '2024-10-23 13:53:11.275965', NULL), +(69115129, 37591656, 0, 'deal', '1762699', '1222595', '27678', 'baga6ea4seaqihovzehsnbl76m7goo3wz75ybh7uyqv36hxn5f3gjthjgo2ffogi', 2097152, 4397106, NULL, 2879098, 0, 0, false, '2024-10-23 17:33:31.83348', '2024-10-23 17:33:31.83348', NULL), +(107971021, 78901761, 0, 'deal', '1859221', '1222595', '28072', 'baga6ea4seaqbjr5whpo3figde5qaz6z6o3q7lkjfn2lan2whcsxo5qf26zqfkpa', 34359738368, 7516459, NULL, 3840608, 0, 0, false, '2024-10-23 19:55:22.908517', '2024-10-23 19:55:22.908517', NULL), +(48365080, 14575628, 0, 'deal', '1912619', '1222595', '0', 'baga6ea4seaqpfyqe5pzjzqfci35etjzafbygmujgo5amyni6qnpu73zqdy6gmai', 34359738368, 3821106, NULL, 2304971, 0, 0, false, '2024-10-23 14:00:38.639284', '2024-10-23 14:00:38.639284', NULL), +(46668722, 12819937, 0, 'deal', '1929808', '1222595', '0', 'baga6ea4seaqb6gmm5refatulqjxfjbphsukrawhox3ugrpu66kntkffhoai7wka', 34359738368, 3780786, NULL, 2244335, 0, 0, false, '2024-10-23 13:48:38.482925', '2024-10-23 13:48:38.482925', NULL), +(77057362, 46180961, 0, 'deal', '1943349', '1222595', '14874', 'baga6ea4seaqdadirlrg4tcnx7376seplm3vxr3ta2qekymvegptu67e7ipa4gha', 34359738368, 4561266, NULL, 3038172, 0, 0, false, '2024-10-23 19:01:22.12511', '2024-10-23 19:01:22.12511', NULL), +(77256745, 46376712, 0, 'deal', '1943355', '1222595', '14952', 'baga6ea4seaqjutgnablfsap2vqk2citmqcxxvfsxb6irzbfheps6lt5li6q66ii', 34359738368, 4564146, NULL, 3041061, 0, 0, false, '2024-10-23 19:03:48.099965', '2024-10-23 19:03:48.099965', NULL), +(77510320, 46648488, 0, 'deal', '1955887', '1222595', '14995', 'baga6ea4seaqn5dbns3zgv4il4v2yi3jpxws5gvc5ffky4xrctpnpdso7yqtt6ii', 34359738368, 4595826, NULL, 3046043, 0, 0, false, '2024-10-23 19:06:56.71751', '2024-10-23 19:06:56.71751', NULL), +(77455447, 46591653, 0, 'deal', '1982040', '1222595', '14983', 'baga6ea4seaqgmx34f4xnqttjziqjonkg7wxlp5ungw6ougwqbycmnghufhhqkbi', 34359738368, 4569906, NULL, 3045177, 0, 0, false, '2024-10-23 19:06:14.315607', '2024-10-23 19:06:14.315607', NULL), +(59818229, 27471062, 0, 'deal', '2031177', '1222595', '81', 'baga6ea4seaqnitmkj5pvt7cxcunbc2m766rprqdispamuyfmc7jrmfiyxdsfajq', 34359738368, 4178226, NULL, 2660321, 0, 0, false, '2024-10-23 16:03:03.260993', '2024-10-23 16:03:03.260993', NULL), +(59901294, 27550021, 0, 'deal', '2038351', '1222595', '98', 'baga6ea4seaqncykg6tazfndlkhhqpejeasia6rgosawn7wfj3wnrk5kvs26h6ay', 34359738368, 4186866, NULL, 2662464, 0, 0, false, '2024-10-23 16:03:53.511867', '2024-10-23 16:03:53.511867', NULL), +(63456112, 31423774, 0, 'deal', '2041775', '1222595', '3638', 'baga6ea4seaqdhw7vhq2upur4wf6i4cefcbhuw7xzarotncsr5pvpycgpxhsjyki', 34359738368, 4273266, NULL, 2746766, 0, 0, false, '2024-10-23 16:37:53.085898', '2024-10-23 16:37:53.085898', NULL), +(62046436, 29922251, 0, 'deal', '2041776', '1222595', '1884', 'baga6ea4seaqpkgktjdxq2yyrotgbm6ax5rpqnqb5imu2ool63ofxxxqqbquvgfi', 34359738368, 4241586, NULL, 2715989, 0, 0, false, '2024-10-23 16:24:39.176052', '2024-10-23 16:24:39.176052', NULL), +(76113394, 45192924, 0, 'deal', '2041777', '1222595', '14585', 'baga6ea4seaqfwrimc2ofcnyfppiukurr5tp23noajyjtvmsvaa6b2qqz5timspq', 34359738368, 4543986, NULL, 3019456, 0, 0, false, '2024-10-23 18:50:00.229349', '2024-10-23 18:50:00.229349', NULL), +(59082576, 26674117, 0, 'deal', '2041788', '1222595', '36', 'baga6ea4seaqkfnt3ubwtnw6rsmk2ibf6cuqjhwjlg53k36u3hdi2fyy37thkwhy', 34359738368, 4166706, NULL, 2642212, 0, 0, false, '2024-10-23 15:55:32.988483', '2024-10-23 15:55:32.988483', NULL), +(69135246, 37615681, 0, 'deal', '2041790', '1222595', '27686', 'baga6ea4seaqd3cv4minewssxjou33b363ztlufx6cpoplup6zfwpgguggoekmiy', 17179869184, 4399986, NULL, 2879545, 0, 0, false, '2024-10-23 17:33:43.095896', '2024-10-23 17:33:43.095896', NULL), +(59417557, 27041881, 0, 'deal', '2047227', '1222595', '47', 'baga6ea4seaqobk7mkp5e2n2uqctepqdaxxizqxmxnbiflbb3dncqlmyhr662ehi', 34359738368, 4172466, NULL, 2650567, 0, 0, false, '2024-10-23 15:58:51.839887', '2024-10-23 15:58:51.839887', NULL), +(59627028, 27265700, 0, 'deal', '2047228', '1222595', '60', 'baga6ea4seaqpx5pyhqvrrvxc66bbyn2hh4em7monp6jz4cyysl3alb3goy5jqda', 34359738368, 4175346, NULL, 2655933, 0, 0, false, '2024-10-23 16:01:04.92448', '2024-10-23 16:01:04.92448', NULL), +(60200779, 27886942, 0, 'deal', '2047229', '1222595', '159', 'baga6ea4seaqh4gwnnz5eo2b4ardaxrvranhvuxeosa6ffum6uynea4howhm6koa', 34359738368, 4195506, NULL, 2670893, 0, 0, false, '2024-10-23 16:06:49.555897', '2024-10-23 16:06:49.555897', NULL), +(60276862, 27965444, 0, 'deal', '2047231', '1222595', '168', 'baga6ea4seaqhnllotsbtl54uavnmonmvwiwdfrat3i4rolbjbdbyq5ydy6rdkoi', 34359738368, 4195506, NULL, 2671773, 0, 0, false, '2024-10-23 16:07:35.096991', '2024-10-23 16:07:35.096991', NULL), +(60358798, 28060507, 0, 'deal', '2047237', '1222595', '325', 'baga6ea4seaqjqrzxauc3ggnr3n3w6otpmljy5swgepevzsr3ut5tuv7msxobama', 34359738368, 4198386, NULL, 2674154, 0, 0, false, '2024-10-23 16:08:24.431589', '2024-10-23 16:08:24.431589', NULL), +(65198518, 33306755, 0, 'deal', '2047239', '1222595', '7551', 'baga6ea4seaqpqfpq4grcg4452qzjpmycoagw2osho2jfjcfoctcnw5vydedwmgi', 34359738368, 4313586, NULL, 2787732, 0, 0, false, '2024-10-23 16:54:30.466039', '2024-10-23 16:54:30.466039', NULL), +(64872810, 32957984, 0, 'deal', '2047240', '1222595', '27655', 'baga6ea4seaqmlf7n23lx3udhxtt22objwe6a72jsvxufgw6erbt6veocpjznufq', 34359738368, 4304946, NULL, 2780840, 0, 0, false, '2024-10-23 16:51:22.784612', '2024-10-23 16:51:22.784612', NULL), +(66004590, 34169017, 0, 'deal', '2047527', '1222595', '7937', 'baga6ea4seaqgyeuib6tn75cjjbg7bb7wgnj547lxqs6c3ls4w7taeagxfhvrqfa', 34359738368, 4333746, NULL, 2807369, 0, 0, false, '2024-10-23 17:02:31.394309', '2024-10-23 17:02:31.394309', NULL), +(61684859, 29521847, 0, 'deal', '2059041', '1222595', '1538', 'baga6ea4seaqjgy7o3z2ofdi6styc6mj4f23nf6a74pptgizjaqe5ingv2eksiiy', 34359738368, 4232946, NULL, 2707924, 0, 0, false, '2024-10-23 16:21:09.040873', '2024-10-23 16:21:09.040873', NULL), +(94037942, 63565802, 0, 'deal', '2071888', '1222595', '530', 'baga6ea4seaqi6dl3jntnfo6jlt4vybegmy5eequkpn2oo5m663zgso6doieusjy', 34359738368, 4944960, NULL, 3397242, 0, 0, false, '2024-10-23 19:39:44.998264', '2024-10-23 19:39:44.998264', NULL), +(125042114, 107605610, 91519099, 'claimUpdated', '2097088', '1222595', '29132', 'baga6ea4seaqhfm2n4asst33wayqpy5sqgythx5pr7gnszjmufs2c75zit67qkkq', 34359738368, 5256000, 1526400, 4749930, 0, 0, false, '2025-02-28 21:17:23.438', '2025-02-28 21:17:23.438', NULL), +(65923019, 34091803, 0, 'deal', '2104443', '1222595', '7755', 'baga6ea4seaqb34krcp3m2nuytozyjovhbgdnzq2asmt4lg5r3f577js2ppxgkba', 34359738368, 4316466, NULL, 2804874, 0, 0, false, '2024-10-23 17:01:42.14589', '2024-10-23 17:01:42.14589', NULL), +(77057359, 46180958, 0, 'deal', '2126028', '1222595', '14883', 'baga6ea4seaqe2bpec7sm7nxvt37kkl5fq5rigyossg6elo5zcoh7hmvvwa5peha', 34359738368, 4567026, NULL, 3038327, 0, 0, false, '2024-10-23 19:01:22.12511', '2024-10-23 19:01:22.12511', NULL), +(77166271, 46283913, 0, 'deal', '2182390', '1222595', '14918', 'baga6ea4seaqjjeaajsi7qporwuficcxcce5rplphl6b64kxec7ryp5ynf7ftkni', 34359738368, 4567026, NULL, 3039543, 0, 0, false, '2024-10-23 19:02:43.529043', '2024-10-23 19:02:43.529043', NULL), +(77349954, 46474077, 0, 'deal', '2182391', '1222595', '14975', 'baga6ea4seaqceb3lfp22rzte3ao4m5elagako6dbiv7piqjgxgewx6k4rn44yaa', 34359738368, 4572786, NULL, 3043987, 0, 0, false, '2024-10-23 19:04:55.673359', '2024-10-23 19:04:55.673359', NULL), +(77449248, 46575299, 0, 'deal', '2191977', '1222595', '14993', 'baga6ea4seaqhj2qf6mmqtt6sqhfdb4eoi6cj2j5e7sr5yxmlgx766kaqmva3upq', 34359738368, 4567026, NULL, 3045146, 0, 0, false, '2024-10-23 19:06:09.065533', '2024-10-23 19:06:09.065533', NULL), +(74200095, 43133214, 0, 'deal', '2216069', '1222595', '14412', 'baga6ea4seaqapo53a44alzpxkfxlsm7iikublkfo2bw65wll4b2afky5ltowgby', 34359738368, 4497906, NULL, 2981871, 0, 0, false, '2024-10-23 18:27:59.139766', '2024-10-23 18:27:59.139766', NULL), +(81987373, 51236534, 0, 'deal', '2220664', '1222595', '0', 'baga6ea4seaqduyomzjssl3abquczjwi4b3iamb44khaokiiqlgjtwamr7bndkmy', 34359738368, 3655860, NULL, 3134583, 0, 0, false, '2024-10-23 19:26:38.348545', '2024-10-23 19:26:38.348545', NULL), +(109920426, 82773912, 0, 'deal', '2824311', '1222595', '28206', 'baga6ea4seaqjhdx4drd24z7365iifi66wptwvinju37gxme3onvlejbdwxifsaq', 34359738368, 5508338, NULL, 3974874, 0, 0, false, '2024-10-23 19:58:26.602185', '2024-10-23 19:58:26.602185', NULL), +(97786062, 67415670, 0, 'deal', '2849963', '1222595', '1058', 'baga6ea4seaqiyts2gq4nhzenv4bislxtfa4eqxk7issathtk6vdczbnnvc4y2jy', 1073741824, 4036558, NULL, 3515138, 0, 0, false, '2024-10-23 19:43:48.662814', '2024-10-23 19:43:48.662814', NULL), +(112003806, 88406340, 0, 'deal', '3051688', '1222595', '8817', 'baga6ea4seaqexy2ybizcpxphgnu5tch3uzbbvi7pnfmr76pxye5nnildlo4gspa', 34359738368, 5663658, NULL, 4161610, 0, 0, false, '2024-10-23 20:03:14.530501', '2024-10-23 20:03:14.530501', NULL), +(151390175, 0, 117832165, 'claim', '3079189', '1222595', '31574', 'baga6ea4seaqjjiasdppvrfxpjmjl245ezwj7n3y6gvngyjsqaivvp5uqpio24la', 34359738368, 1785600, 1526400, 5447948, 0, 0, false, '2025-10-29 05:49:01.831', '2025-10-29 05:49:01.831', NULL), +(150481528, 0, 116896005, 'claim', '3123037', '1222595', '31554', 'baga6ea4seaqe3u6qprrhigw4grv3kwhvyhv7ynada7oigrolabmn35zzvab2uji', 34359738368, 1791360, 1532160, 5410567, 0, 0, false, '2025-10-16 06:27:06.847', '2025-10-16 06:27:06.847', NULL), +(151708876, 0, 118179492, 'claim', '3200311', '1222595', '31575', 'baga6ea4seaqavyhmxgsekhl7c77rwk2j7ji47sub2ywws6zahpluss6xuugzoci', 34359738368, 1785600, 1526400, 5465050, 0, 0, false, '2025-11-04 01:24:01.942', '2025-11-04 01:24:01.942', NULL), +(148948638, 0, 115244240, 'claim', '3340154', '1222595', '31454', 'baga6ea4seaqlztqwrlwst6zvwzn2h64cxs3hihckuxkx2sswfsiswdy656tasci', 34359738368, 5256000, 1555200, 5359213, 0, 0, false, '2025-09-27 07:43:02.301', '2025-09-27 07:43:02.301', '3253574'), +(138623095, 0, 104378494, 'claim', '3542203', '1222595', '30773', 'baga6ea4seaqateb6r4cba6pwcinlvxhkthwuhnshz6ihb647acc72wgazggeupi', 34359738368, 1785600, 1526400, 5063634, 0, 0, false, '2025-06-17 19:33:02.467', '2025-06-17 19:33:02.467', NULL), +(144558336, 0, 110233450, 'claim', '3630410', '1222595', '31016', 'baga6ea4seaqkw5cty4tdzwjuho2yj4yt3i3wjs2zsnelqnvg57b6q6w5tiz6eca', 34359738368, 1785600, 1526400, 5198788, 0, 0, false, '2025-08-03 14:54:03.173', '2025-08-03 14:54:03.173', NULL), +(147093843, 0, 112803339, 'claim', '3639627', '1222595', '31019', 'baga6ea4seaqhmy5bh2rk24sqxddvjn7muwwajq6iqjt46bm3kdoa35vyrqyb6ga', 4294967296, 1785600, 1526400, 5270165, 0, 0, false, '2025-08-28 09:18:01.58', '2025-08-28 09:18:01.58', NULL), +(51002242, 17347448, 0, 'deal', '397376', '1222595', '0', 'baga6ea4seaqmr7akoivsya7hhqkkxvmuse65vij2mz3rqidurjxz4fwpdqowely', 536870912, 3892120, NULL, 2378796, 0, 0, false, '2024-10-23 14:30:45.21084', '2024-10-23 14:30:45.21084', NULL), +(61696683, 29547762, 0, 'deal', '1837711', '1518369', '643629', 'baga6ea4seaqp47n3cjm3y2sll3if7kusze4e7h2wuybpxzzv6wszbwdxftk76ki', 34359738368, 4218244, NULL, 2708343, 0, 0, false, '2024-10-23 16:21:16.512869', '2024-10-23 16:21:16.512869', NULL), +(52701111, 19334805, 0, 'deal', '1880196', '1518369', '0', 'baga6ea4seaqpkzvgyguwodcetsrh2uxak2efh62bf6vyxbdel23l73jmmjq5ypi', 34359738368, 3951512, NULL, 2438141, 0, 0, false, '2024-10-23 14:49:28.360997', '2024-10-23 14:49:28.360997', NULL), +(61696685, 29547763, 0, 'deal', '1901107', '1518369', '643628', 'baga6ea4seaqivqjo2bg2gmjqo2d6phwgyzil2hrwihhcn7kzm2gbl42ffa2nchy', 34359738368, 4220461, NULL, 2708334, 0, 0, false, '2024-10-23 16:21:16.512869', '2024-10-23 16:21:16.512869', NULL), +(110031315, 83028807, 0, 'deal', '1924648', '1518369', '722558', 'baga6ea4seaqjuhxvn33zkqvuzmjsggla35un3pohav2awpcerxefijlf4pazimi', 34359738368, 7626855, NULL, 3980991, 0, 0, false, '2024-10-23 19:58:37.739883', '2024-10-23 19:58:37.739883', NULL), +(109627694, 82129856, 0, 'deal', '1924649', '1518369', '711737', 'baga6ea4seaqmy5sfbbcye7jfchyrlkpztbfsuhhkcxir4niz33oklr2lbcfnkii', 34359738368, 7604226, NULL, 3951000, 0, 0, false, '2024-10-23 19:57:57.51002', '2024-10-23 19:57:57.51002', NULL), +(51571732, 17954323, 0, 'deal', '1929879', '1518369', '0', 'baga6ea4seaqbhr2behweypsuaqtdfyrddaa6fsvjhdqzaxtkl6xfv2tm5bxzckq', 34359738368, 3951512, NULL, 2400087, 0, 0, false, '2024-10-23 14:37:02.370486', '2024-10-23 14:37:02.370486', NULL), +(51571746, 17954335, 0, 'deal', '1930006', '1518369', '0', 'baga6ea4seaqaqcvbs74enltqtgs3com2qgul6zjv22svysx7vc3nkhwm7uuvkka', 34359738368, 3951512, NULL, 2400081, 0, 0, false, '2024-10-23 14:37:02.370486', '2024-10-23 14:37:02.370486', NULL), +(110300205, 83647306, 0, 'deal', '1930007', '1518369', '730794', 'baga6ea4seaqlf7gjkwruaqewkhicpsysgb5dvizlildgp5jpkmpxgdtqokikwoa', 34359738368, 7649967, NULL, 4003752, 0, 0, false, '2024-10-23 19:59:07.814759', '2024-10-23 19:59:07.814759', NULL), +(84403413, 53697026, 36008244, 'deal', '1936560', '1518369', '644598', 'baga6ea4seaqkilt554c3dy5ivf3kw6wibqd7pdvgen52cb2ncuapop2m5jcuwla', 34359738368, 4717841, NULL, 3191132, 0, 0, false, '2024-10-23 19:29:16.696895', '2024-10-23 19:29:16.696895', NULL), +(98383259, 68018705, 0, 'deal', '2046762', '1518369', '654549', 'baga6ea4seaqfeye5uqmnhqohx6tdciyutfvwte5fi2r2hq4r2vdfvistitpxkoi', 34359738368, 7201385, NULL, 3534720, 0, 0, false, '2024-10-23 19:44:28.224547', '2024-10-23 19:44:28.224547', NULL), +(103964194, 73605720, 0, 'deal', '2046765', '1518369', '686967', 'baga6ea4seaqnyivk3zgf4o6oxkkfva3aqxb4rmh2omkiyaprvcxnwzh7bgq2ika', 34359738368, 7321932, NULL, 3677406, 0, 0, false, '2024-10-23 19:50:31.359926', '2024-10-23 19:50:31.359926', NULL), +(110300597, 83649457, 0, 'deal', '2055329', '1518369', '730797', 'baga6ea4seaqgnxxwdwk3awcc4ki6jn6mursgrcmwripq2gl5rpq74evmrxhloni', 34359738368, 7650133, NULL, 4003856, 0, 0, false, '2024-10-23 19:59:07.843577', '2024-10-23 19:59:07.843577', NULL), +(105847217, 75489270, 0, 'deal', '2055594', '1518369', '705019', 'baga6ea4seaqh4qzwgxpgtvfgfmf34eicst4i67f4k73ctpnigb2ly4izgytvcca', 34359738368, 7387975, NULL, 3730327, 0, 0, false, '2024-10-23 19:52:34.096972', '2024-10-23 19:52:34.096972', NULL), +(105245451, 74886312, 0, 'deal', '2519046', '1518369', '698839', 'baga6ea4seaqdcm3x4rls4rodstqfttrvlwi54hbxwmkkgt6vruokuamy7se3uli', 34359738368, 7376878, NULL, 3715109, 0, 0, false, '2024-10-23 19:51:55.01326', '2024-10-23 19:51:55.01326', NULL), +(141232479, 0, 106860071, 'claimUpdated', '3061409', '1518369', '922015', 'baga6ea4seaqi7yx3f33cfccyskqpmenv4cpfq3c4yznxydky4mlologp3eapgci', 34359738368, 5256000, 3637440, 5125655, 0, 0, false, '2025-07-09 09:40:02.527', '2025-07-09 09:40:02.527', NULL), +(132803752, 0, 80229908, 'claimUpdated', '3094699', '1518369', 'null', 'baga6ea4seaqcfmhzkos3zalf7bjiehq33mvkb6kfo7fazrbdmxmc5wuvmiihiga', 34359738368, 5256000, 3637440, 4408993, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(130539433, 97408147, 81265363, 'claimUpdatedWithoutExistingClaim', '3132773', '1518369', '779099', 'baga6ea4seaqlamr5vu74yxd4vya744kcngvrlogybr6ygeiruchklkiog5swweq', 34359738368, 5256000, 3637440, 4436506, 0, 0, false, '2025-05-10 10:14:45.623053', '2025-05-10 10:14:45.623053', NULL), +(132590458, 0, 98691873, 'claimUpdated', '3139573', '1518369', '879629', 'baga6ea4seaqpjxgohxpu3pnbncguyfoqbmw53fgozu7btr4ialqevzeahfaa2cy', 34359738368, 5256000, 3637440, 4934745, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), +(145120480, 0, 110827978, 'claim', '3139932', '1518369', '941020', 'baga6ea4seaqnewcpud4w7itswhx6isoegyb5qavrl5zlcibpfp6nqrdwlcrbmga', 34359738368, 3896640, 3637440, 5212217, 0, 0, false, '2025-08-08 12:12:02.3', '2025-08-08 12:12:02.3', NULL), +(133063267, 0, 96791951, 'claimUpdated', '3143085', '1518369', '870130', 'baga6ea4seaqes3dmnviusjgipwxtodpibryb6hwx3ndlpymvx6zzscm3ix2c4ny', 34359738368, 5256000, 3637440, 4892828, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(152068917, 0, 118626559, 'claim', '3143121', '1518369', '991074', 'baga6ea4seaqjzs7772ukfjxc52cwsj45xdb4cijdloocwkmqfcfgtcovclkngoy', 34359738368, 3896640, 3637440, 5491141, 0, 0, false, '2025-11-13 20:03:01.731', '2025-11-13 20:03:01.731', NULL), +(112097530, 89156984, 0, 'deal', '3173068', '1518369', '740282', 'baga6ea4seaqhgg3ydoagdzbjgr2ol2rqpbxaerjh5ec6xdmqgvlxus43mrzw2di', 34359738368, 7833086, NULL, 4181502, 0, 0, false, '2024-10-23 20:03:57.249088', '2024-10-23 20:03:57.249088', NULL), +(112157232, 91446205, 74512674, 'deal', '3187663', '1518369', '749741', 'baga6ea4seaqcxh7fs3ewxalkgoiippzv7d3xlphlj55hcltzh7jkc2qdttfpaey', 34359738368, 7917901, NULL, 4254741, 0, 0, false, '2024-10-23 20:05:42.322794', '2024-10-23 20:05:42.322794', NULL), +(131478301, 0, 80450039, 'claimUpdated', '3201578', '1518369', 'null', 'baga6ea4seaqlyjupejvfc6rbe3ojjzveubeo2yr4jrwdozsppwpd4otxgx7kgdy', 34359738368, 5256000, 3637440, 4416495, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(121956857, 104415142, 88328094, 'claim', '3218251', '1518369', '813300', 'baga6ea4seaqii7suhyp7sbl52wqgokpp5w4uqbfzrxpz5xiy3arpm3swmcsvciy', 34359738368, 3896640, 3637440, 4634846, 0, 0, false, '2025-01-20 00:33:05.913', '2025-01-20 00:33:05.913', NULL), +(135265974, 0, 100196583, 'claimUpdatedWithoutExistingClaim', '3225482', '1518369', '887054', 'baga6ea4seaqcgrnp4dof3ywa6uzeyuyrqrytyhwj5dv4ilmi7yjdb6ht7km6qgy', 34359738368, 5256000, 3637440, 4967354, 0, 0, false, '2025-05-22 11:57:58.615311', '2025-05-22 11:57:58.615311', NULL), +(133127812, 0, 85108611, 'claimUpdated', '3226362', '1518369', 'null', 'baga6ea4seaqgyb7ue3li4ugoxw6nhuc6rvcl3dyh5u2ytmk4ymn37k4yfkihoha', 34359738368, 5256000, 3637440, 4541264, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(140268359, 0, 105992777, 'claim', '3226921', '1518369', '916138', 'baga6ea4seaqhh7dp4e4kg7ijo2k5jufab7vxbhqdnadjpxmruekijhuhow34kly', 34359738368, 3896640, 3637440, 5101105, 0, 0, false, '2025-06-30 22:23:02.054', '2025-06-30 22:23:02.054', NULL), +(131835320, 109696920, 93656721, 'claimUpdated', '3229827', '1518369', '852438', 'baga6ea4seaqokczf2lwaxzfh5apwe4is7cbarw2glfv7437rsyw4ups3jhhrgpy', 34359738368, 5256000, 3637440, 4808823, 0, 0, false, '2025-05-13 08:13:40.125365', '2025-05-13 08:13:40.125365', NULL), +(143062367, 0, 108766668, 'claim', '3235903', '1518369', '930807', 'baga6ea4seaqfuvbzsqxidtxaeagucm22lbo2po6dwgpey4bq5tuggavfmn34qia', 34359738368, 3896640, 3637440, 5166656, 0, 0, false, '2025-07-23 17:05:02.714', '2025-07-23 17:05:02.714', NULL), +(151743605, 0, 118235965, 'claim', '3239767', '1518369', '986276', 'baga6ea4seaqhq7vthkikd3qaxosyq23hexgouf73pfa5ddqz6izfh73mgqytaia', 34359738368, 3896640, 3637440, 5467114, 0, 0, false, '2025-11-04 23:17:11.916', '2025-11-04 23:17:11.916', NULL), +(135821213, 0, 101542157, 'claimUpdated', '3241844', '1518369', '894300', 'baga6ea4seaqmp3zdga3eqthai5ckpasx52fifyttr757rcn7d3uunukp3la4uei', 34359738368, 5256000, 3637440, 5000012, 0, 0, false, '2025-05-26 19:33:04.423', '2025-05-26 19:33:04.423', NULL), +(147944509, 0, 114068908, 'claim', '3278602', '1518369', '960645', 'baga6ea4seaqndtpnzmdc66mzesaoka5qmgnhhz6lpfpbiy7hpyk76w64grahgka', 34359738368, 3896640, 3637440, 5320264, 0, 0, false, '2025-09-15 00:43:02.106', '2025-09-15 00:43:02.106', NULL), +(134545653, 0, 100249060, 'claim', '3313266', '1518369', '887435', 'baga6ea4seaqggnnudptmjwflighowtdjmjgsch5fwp2dymgl3hl6ha46lfg42ay', 34359738368, 3896640, 3637440, 4969025, 0, 0, false, '2025-05-16 01:39:01.983', '2025-05-16 01:39:01.983', NULL), +(139722741, 0, 89531939, 'claimWithoutAllocation', '3319412', '1518369', '825390', 'baga6ea4seaqn5ub22fn3euqvggqex5qgp75yh3vkdyg5pz7ix5ezzdhjxii5smq', 34359738368, 3896640, 3637440, 4688163, 0, 0, false, '2025-06-25 14:57:20.43681', '2025-06-25 14:57:20.43681', NULL), +(134029044, 0, 94541088, 'claim', '3427171', '1518369', '857871', 'baga6ea4seaqhucb4chid4pydngiahxe542hwcx5sqvqkpa7yt6yipllcaakyuni', 34359738368, 3896640, 3637440, 4833727, 0, 0, false, '2025-05-13 10:24:22.691746', '2025-05-13 10:24:22.691746', NULL), +(138423647, 0, 104179418, 'claimUpdated', '3495258', '1518369', '907196', 'baga6ea4seaqem644kgwx6lpjmv2mwufocic5dchgoebymidip2eralvashl4uoy', 34359738368, 5256000, 3637440, 5058827, 0, 0, false, '2025-06-16 06:28:03.441', '2025-06-16 06:28:03.441', NULL), +(133098956, 0, 97264960, 'claim', '3537422', '1518369', '872234', 'baga6ea4seaqbcu7rgj5lzvmmrhm7nt3pdxjdgo3fy625srpjkb6h3ajsinh5qfi', 34359738368, 3896640, 3637440, 4904198, 0, 0, false, '2025-05-13 09:47:59.009949', '2025-05-13 09:47:59.009949', NULL), +(147371067, 0, 113115606, 'claim', '3626557', '1518369', '954266', 'baga6ea4seaqo4bclhfs3hzbwh2jggejrdbaq7yypkv3afb6ktju6alr4e5qaaji', 34359738368, 3896640, 3637440, 5284108, 0, 0, false, '2025-09-02 11:51:01.275', '2025-09-02 11:51:01.275', NULL), +(151996177, 0, 118548669, 'claim', '3645919', '1518369', '990126', 'baga6ea4seaqiy3ajpuc5ifeyla57fvsrkb2augw6qcjoi4nzpi5g7ou6zqs6skq', 34359738368, 3896640, 3637440, 5485963, 0, 0, false, '2025-11-11 13:39:01.981', '2025-11-11 13:39:01.981', NULL), +(111952076, 88178014, 0, 'deal', '1451206', '1660795', '1622818', 'baga6ea4seaqfwk55yolzjpix2q7jtvp2urqolyvo3inhu6br5k3d25oohfw5cea', 34359738368, 5187753, NULL, 4151819, 0, 0, false, '2024-10-23 20:03:06.322505', '2024-10-23 20:03:06.322505', NULL), +(44851040, 10925669, 0, 'deal', '1859601', '1660795', '0', 'baga6ea4seaqhuodtf5j3iff6ojoe5gyn6jxamtmbpakekdt3budimm5osmu5iey', 34359738368, 3727300, NULL, 2182495, 0, 0, false, '2024-10-23 13:36:28.415773', '2024-10-23 13:36:28.415773', NULL), +(113015525, 95791806, 79627972, 'claimUpdated', '1876344', '1660795', '1670984', 'baga6ea4seaqbzesbcdh5l4zeeapulidae6ldp6qjcb6e7cjgziov2jlgnrcbubq', 34359738368, 1540800, 1022400, 4389701, 0, 0, false, '2024-10-31 12:48:49.603573', '2024-10-31 12:48:49.603573', NULL), +(54728764, 21723581, 0, 'deal', '1877976', '1660795', '1047471', 'baga6ea4seaqj3cqcxg3ydplv6n5p7p4wkdvd74s3r3kkbswd7b6tv3zttn2kegi', 34359738368, 4032783, NULL, 2504978, 0, 0, false, '2024-10-23 15:11:08.336049', '2024-10-23 15:11:08.336049', NULL), +(46390775, 12517927, 0, 'deal', '1904436', '1660795', '0', 'baga6ea4seaqahqn36rkof6ggus2kobbqc6h47bjkjns2zq27mf4odypj2cyokdq', 34359738368, 3773800, NULL, 2233457, 0, 0, false, '2024-10-23 13:46:44.995325', '2024-10-23 13:46:44.995325', NULL), +(49643584, 15914200, 0, 'deal', '1912619', '1660795', '0', 'baga6ea4seaqbfjrpt6mfisnaw4aurufrfdzgx3hbonekqwypuqerc2j2tgjmami', 34359738368, 3874703, NULL, 2342461, 0, 0, false, '2024-10-23 14:15:39.512977', '2024-10-23 14:15:39.512977', NULL), +(51346586, 17699569, 0, 'deal', '1929879', '1660795', '0', 'baga6ea4seaqng4iujch7mnynmld733bkypws6ltm3oq7nyvjl3v4wg2k2n6xema', 34359738368, 3934941, NULL, 2390041, 0, 0, false, '2024-10-23 14:34:34.266331', '2024-10-23 14:34:34.266331', NULL), +(51347523, 17700576, 0, 'deal', '1930006', '1660795', '0', 'baga6ea4seaqobbh27uk7yxclfjdvysod7uhkmn5bthrpbna4fjplo5zuxnmowdy', 34359738368, 3934941, NULL, 2390285, 0, 0, false, '2024-10-23 14:34:34.427935', '2024-10-23 14:34:34.427935', NULL), +(51343486, 17696257, 0, 'deal', '1930007', '1660795', '0', 'baga6ea4seaqmi3wregwalp66o4zeo6tej6qv5advz73ao2u4abpovz2tbumniiy', 34359738368, 3934938, NULL, 2389874, 0, 0, false, '2024-10-23 14:34:32.302181', '2024-10-23 14:34:32.302181', NULL), +(52088118, 18507443, 0, 'deal', '1937484', '1660795', '0', 'baga6ea4seaqduflkashv62tlbt3im3lkxtnkn6lkzuf5wc6v2sx5mwl4ybeyuci', 34359738368, 3964630, NULL, 2418639, 0, 0, false, '2024-10-23 14:42:40.513945', '2024-10-23 14:42:40.513945', NULL), +(52808250, 19482304, 0, 'deal', '1941186', '1660795', '0', 'baga6ea4seaqitnkhkepoqe2cj7mcz33zeqjvoalnuawyq32juro64w56ut3aodq', 34359738368, 3986774, NULL, 2442104, 0, 0, false, '2024-10-23 14:50:40.998966', '2024-10-23 14:50:40.998966', NULL), +(113649859, 96387767, 80245012, 'claimUpdated', '2117384', '1660795', '1678417', 'baga6ea4seaqhrrs7qcbbwew3drqdaag2cfgskrmpi6jd5cgzzfkchvegkhyw2fq', 34359738368, 1540800, 1022400, 4409906, 0, 0, false, '2024-11-03 03:33:02.319297', '2024-11-03 03:33:02.319297', NULL), +(112202774, 93625291, 77274119, 'claimUpdated', '2147046', '1660795', '1651375', 'baga6ea4seaqgzskksx7ptcca2alniw776lix3clqhrqkizycrxky7tnak4qkagi', 34359738368, 1540800, NULL, 4324862, 0, 0, false, '2024-10-23 20:07:49.968869', '2024-10-23 20:07:49.968869', NULL), +(119986690, 102428103, 86341106, 'claimUpdated', '2281895', '1660795', '1730960', 'baga6ea4seaqkp4ufifukn7pi57yu6c3nha65ng2js55zypzxvqbmcdmvy2equci', 34359738368, 1540800, 1022400, 4573626, 0, 0, false, '2024-12-29 18:56:02.883', '2024-12-29 18:56:02.883', NULL), +(112222177, 94727351, 78524831, 'claimUpdated', '2831645', '1660795', '1658436', 'baga6ea4seaqk4srstuw66o36sltorjzj2fghhfas5xh2ln6awrblrfdeucfagpy', 34359738368, 1540800, NULL, 4356182, 0, 0, false, '2024-10-23 20:09:21.879786', '2024-10-23 20:09:21.879786', NULL), +(112699848, 95485038, 79315369, 'claimUpdated', '2883913', '1660795', '1666979', 'baga6ea4seaqkk3gqzozmppt5szq7ukov5mfpwcbyw4sx4tcf6l5ztxuzwq77qea', 34359738368, 1540800, 1022400, 4379363, 0, 0, false, '2024-10-31 12:48:49.603573', '2024-10-31 12:48:49.603573', NULL), +(112180884, 92524086, 75989917, 'claimUpdated', '3053967', '1660795', '1641693', 'baga6ea4seaqhnntg4flw7vkyblflzhnunz4jetui6dlrm5bbc255dbmm4sjt2nq', 34359738368, 1540800, NULL, 4290251, 0, 0, false, '2024-10-23 20:06:34.956472', '2024-10-23 20:06:34.956472', NULL), +(112171555, 92086596, 75344026, 'claimUpdated', '3054019', '1660795', '1637788', 'baga6ea4seaqicthxvhna376se7qqb77yo4hvxewpqmbox6327n3xw57fvrk4yjq', 34359738368, 1540800, NULL, 4276076, 0, 0, false, '2024-10-23 20:06:16.321357', '2024-10-23 20:06:16.321357', NULL), +(116758115, 99096417, 83009425, 'claimUpdated', '3061409', '1660795', '1701940', 'baga6ea4seaqplmcvya54k2etpxj54ohqauj4rsxz2y7gih7ffto4nuhh6vqqieq', 34359738368, 1540800, 1022400, 4484282, 0, 0, false, '2024-11-28 17:49:03.141', '2024-11-28 17:49:03.141', NULL), +(111707477, 87604221, 0, 'deal', '3137917', '1660795', '1615643', 'baga6ea4seaqovfyseam2keggs3xi7pl7exqt5xfe6pomvygkx7f2j3jrp3e26hi', 34359738368, 5171417, NULL, 4135271, 0, 0, false, '2024-10-23 20:02:40.984171', '2024-10-23 20:02:40.984171', NULL), +(112118654, 89621376, 0, 'deal', '3140519', '1660795', '1628421', 'baga6ea4seaqjalycmpwf3d6jt36robvmyncvrlqqad5hk5hjcpdbuvaxijqxsdq', 34359738368, 5231225, NULL, 4195071, 0, 0, false, '2024-10-23 20:04:14.827302', '2024-10-23 20:04:14.827302', NULL), +(112205525, 93786032, 77435057, 'claimUpdated', '3144081', '1660795', '1652583', 'baga6ea4seaqmhxyfcqw3nlmqfnuiqo3um6ehhvodomfzfcg3tunrvqeyrwye4eq', 34359738368, 1540800, NULL, 4329653, 0, 0, false, '2024-10-23 20:08:03.685894', '2024-10-23 20:08:03.685894', NULL), +(111826575, 87989527, 0, 'deal', '3159858', '1660795', '1619743', 'baga6ea4seaqoimuk6waql3rejamz2oe5qrgkfbsxt5vpqvr6eouu5lz6eudw6ei', 34359738368, 5181272, NULL, 4145107, 0, 0, false, '2024-10-23 20:02:56.861316', '2024-10-23 20:02:56.861316', NULL), +(117049333, 99384428, 83297436, 'claimUpdated', '3182553', '1660795', '1704821', 'baga6ea4seaqglz3zvb2h2szwd37e67r6ealzqmnqm7ev3yebsb6g5irpla7tsdy', 34359738368, 1540800, 1022400, 4492477, 0, 0, false, '2024-12-01 19:38:02.821703', '2024-12-01 19:38:02.821703', NULL), +(112233435, 95334327, 0, 'deal', '3214598', '1660795', '1665076', 'baga6ea4seaqbrw3c6rg5cwkviyv6pxre63jzphkydopqlqfym3zzqfffaf3hgnq', 34359738368, 5410538, NULL, 4374397, 0, 0, false, '2024-10-23 20:09:55.919582', '2024-10-23 20:09:55.919582', NULL), +(139656072, 0, 81265233, 'claimUpdated', '3235798', '1660795', '1688422', 'baga6ea4seaqpgslzd22wnrqmycswdh25xqjqd6fvgjvughgomn2nkobw2m2noaa', 34359738368, 1540800, 1022400, 4436501, 0, 0, false, '2025-06-25 14:51:54.971269', '2025-06-25 14:51:54.971269', NULL), +(114609643, 97089706, 80946927, 'claimUpdated', '3237827', '1660795', '1685399', 'baga6ea4seaqcmboy6apntqb43cqimfnnfsoiolqgcdr6pofh64tt6kk5j5564py', 34359738368, 1540800, 1022400, 4428263, 0, 0, false, '2024-11-09 07:38:01.664', '2024-11-09 07:38:01.664', NULL), +(121527238, 103971103, 87884106, 'claimUpdated', '3240472', '1660795', '1748437', 'baga6ea4seaqjgf7fquegx73hnztmpyda76mntkkbzwagq6cm4hp6wq42u4l2kfq', 34359738368, 1108800, 590400, 4620902, 0, 0, false, '2025-01-15 05:02:05.955', '2025-01-15 05:02:05.955', NULL), +(139658779, 0, 81634356, 'claimUpdated', '3241706', '1660795', '1691833', 'baga6ea4seaqontfj6ol6qepamg5vmrme5lferaltipwf5lh4gvmhsrgpm3cxkoq', 34359738368, 1540800, 1022400, 4445901, 0, 0, false, '2024-11-15 11:42:22.908', '2024-11-15 11:42:22.908', NULL), +(119794843, 102222144, 86135147, 'claimUpdated', '3245295', '1660795', '1730479', 'baga6ea4seaqi5xh55bg2dn5ifvwudm525hfmfospdppad6sbcnndqof75aqkmga', 34359738368, 1540800, 1022400, 4568077, 0, 0, false, '2024-12-27 20:43:58.452', '2024-12-27 20:43:58.452', NULL), +(119945592, 102382622, 86295625, 'claimUpdated', '3245316', '1660795', '1730705', 'baga6ea4seaqcq2rvfja4xh2j2w2frgarog7kh3676o6y62hfwfuqothqzkpxcca', 34359738368, 1540800, 1022400, 4572556, 0, 0, false, '2024-12-29 12:14:52.889', '2024-12-29 12:14:52.889', NULL), +(119187164, 101606061, 85519065, 'claimUpdated', '3247438', '1660795', '1724877', 'baga6ea4seaqawcl7ucxezf2vb6doo7xby7lqn2ppfol2sbsbdsurb3j3752u6la', 34359738368, 1540800, 1022400, 4551763, 0, 0, false, '2024-12-22 22:51:09.417', '2024-12-22 22:51:09.417', NULL), +(116140005, 98479914, 82392890, 'claimUpdated', '3252957', '1660795', '1699025', 'baga6ea4seaqazthxiyp6hsd24leysojwzjy6szfsm7oksp6jxguuac34ea5bebq', 34359738368, 1540800, 1022400, 4467509, 0, 0, false, '2024-11-22 22:11:02.58', '2024-11-22 22:11:02.58', NULL), +(117952764, 100322497, 84235504, 'claimUpdated', '3252962', '1660795', '1713988', 'baga6ea4seaqgxf3i7fmyjlo7bbrsked2qfmphutvwbn2kogy6ogceghn4uh7yjq', 34359738368, 1540800, 1022400, 4519100, 0, 0, false, '2024-12-11 04:33:02.822', '2024-12-11 04:33:02.822', NULL), +(120583137, 103028734, 86941736, 'claimUpdated', '3262245', '1660795', '1737364', 'baga6ea4seaqfzgm3quok4zeayoklyg36e2w3updj3uayew5njacogcf6bk67iaa', 34359738368, 1108800, 590400, 4591530, 0, 0, false, '2025-01-05 00:00:04.043', '2025-01-05 00:00:04.043', NULL), +(119194976, 101610911, 85523920, 'claimUpdated', '3266237', '1660795', '1724953', 'baga6ea4seaqmvth6kif4ssygyj3bcnk6qjvbbx2mn5pladkfrxhz6mqrkbgjmha', 34359738368, 1540800, 1022400, 4551993, 0, 0, false, '2024-12-23 00:19:05.876', '2024-12-23 00:19:05.876', NULL), +(119728394, 102162433, 86075441, 'claimUpdated', '3285082', '1660795', '1729975', 'baga6ea4seaqfncsxmdc7fcii6vmpwtehdfihbej7zfxsz73flzjbp3tujkumaoq', 34359738368, 1540800, 1022400, 4566569, 0, 0, false, '2024-12-27 07:46:36.001', '2024-12-27 07:46:36.001', NULL), +(121411597, 103856127, 87769139, 'claimUpdated', '3315321', '1660795', '1747133', 'baga6ea4seaqojfortavub26axirippjxbgkkw5pyvz6f5mjsvf7mxgthhu6mkaq', 34359738368, 1108800, 590400, 4617503, 0, 0, false, '2025-01-13 23:47:02.733', '2025-01-13 23:47:02.733', NULL), +(121355774, 103801921, 87714931, 'claimUpdated', '3319348', '1660795', '1746635', 'baga6ea4seaqoni5fphsh5k6ri44zyn5jrqss5w2rcz3zxhdyiftakpeenxtjqci', 34359738368, 1108800, 590400, 4616114, 0, 0, false, '2025-01-13 12:33:16.244', '2025-01-13 12:33:16.244', NULL), +(45447741, 11527712, 0, 'deal', '1513006', '1844232', '0', 'baga6ea4seaqaaaxfdlzloedm3e4brrfxoqbjhtjwyljebtq3hfnelyt7rccz2by', 34359738368, 3757856, NULL, 2203955, 0, 0, false, '2024-10-23 13:40:26.193239', '2024-10-23 13:40:26.193239', NULL), +(45212612, 11284402, 0, 'deal', '1855808', '1844232', '0', 'baga6ea4seaqljmthkpshju6w73c4l5pe3lwnvmh6dmityqh32xcr3gedy7h56oq', 34359738368, 3749195, NULL, 2194897, 0, 0, false, '2024-10-23 13:38:51.385694', '2024-10-23 13:38:51.385694', NULL), +(88857667, 58277568, 0, 'deal', '1859966', '1844232', '0', 'baga6ea4seaqbizdt6n5enrwybppn65xclaxpqxi4khdrm3rzp3ki4c27qs3iucy', 34359738368, 3827608, NULL, 3295552, 0, 0, false, '2024-10-23 19:34:07.812422', '2024-10-23 19:34:07.812422', NULL), +(91717357, 61187656, 0, 'deal', '1860775', '1844232', '0', 'baga6ea4seaqdtv2rawhhqqf3i36kpf5ldiv27khvjwd33wsb4uevd7phaqqeslq', 34359738368, 3883987, NULL, 3352016, 0, 0, false, '2024-10-23 19:37:13.480687', '2024-10-23 19:37:13.480687', NULL), +(92557109, 62041748, 0, 'deal', '1861175', '1844232', '0', 'baga6ea4seaqldhuftrykpfvbchy5xfji647c5np6pefvge6tpjejc3z7jmvssnq', 34359738368, 3898876, NULL, 3366979, 0, 0, false, '2024-10-23 19:38:08.514334', '2024-10-23 19:38:08.514334', NULL), +(45519444, 11612603, 0, 'deal', '1863807', '1844232', '0', 'baga6ea4seaqfpc5y5ljn6skonzuueuz5q5cifk6ji4ig3nx2xgpohbjztmxjebq', 34359738368, 3760603, NULL, 2206476, 0, 0, false, '2024-10-23 13:40:55.134424', '2024-10-23 13:40:55.134424', NULL), +(91771441, 61242065, 0, 'deal', '1878945', '1844232', '0', 'baga6ea4seaqoqvb7tjo2rh5eays2qnjtkdo5li76gj27im3mdkf4xsbh5u6gwli', 34359738368, 3885027, NULL, 3353318, 0, 0, false, '2024-10-23 19:37:16.71761', '2024-10-23 19:37:16.71761', NULL), +(93295456, 62799174, 0, 'deal', '1879976', '1844232', '0', 'baga6ea4seaqpufssma3hjbgl2ntfmtbninjqmxk7lbrigbglfyb2azutnmgfcfa', 34359738368, 3913106, NULL, 3381112, 0, 0, false, '2024-10-23 19:38:56.144846', '2024-10-23 19:38:56.144846', NULL), +(93210533, 62711085, 0, 'deal', '1880562', '1844232', '0', 'baga6ea4seaqed5khs3ypbktw72zkpali6yatcl3w6lmyxlbuhqntfqt6btzvoni', 34359738368, 3911427, NULL, 3379420, 0, 0, false, '2024-10-23 19:38:50.739254', '2024-10-23 19:38:50.739254', NULL), +(87053037, 56414537, 0, 'deal', '1882208', '1844232', '0', 'baga6ea4seaqb6gekwvbpv2t5ix7sgzdth7j756lknnsurf6vqohgxgwmdds3qaq', 34359738368, 3778847, NULL, 3247061, 0, 0, false, '2024-10-23 19:32:10.206261', '2024-10-23 19:32:10.206261', NULL), +(86904958, 56261031, 0, 'deal', '1884254', '1844232', '0', 'baga6ea4seaqawrckot53sp5kcx53v5oj67pcsuqq6mtb5knnnvfoqeicob7vwiy', 34359738368, 3775081, NULL, 3243208, 0, 0, false, '2024-10-23 19:32:00.411348', '2024-10-23 19:32:00.411348', NULL), +(88773562, 58185770, 0, 'deal', '1896580', '1844232', '0', 'baga6ea4seaqdy2cmeereevl4n5hjw43iujyim4qifzhjne6hmqeyf3ogqrt5efi', 34359738368, 3825970, NULL, 3293935, 0, 0, false, '2024-10-23 19:34:02.011437', '2024-10-23 19:34:02.011437', NULL), +(94234343, 63767976, 0, 'deal', '1899380', '1844232', '0', 'baga6ea4seaqetydilvkcgg5jrcrvwbxfpccnzubugdpxdxioeoqejojg42yn4ea', 34359738368, 3934626, NULL, 3402551, 0, 0, false, '2024-10-23 19:39:57.893943', '2024-10-23 19:39:57.893943', NULL), +(94083020, 63613610, 0, 'deal', '1900762', '1844232', '0', 'baga6ea4seaqhbsighme66mplzu67ei4hqjrw3u7uouztpee5bftmuywpxhl2ona', 34359738368, 3930243, NULL, 3398383, 0, 0, false, '2024-10-23 19:39:48.013947', '2024-10-23 19:39:48.013947', NULL), +(93365111, 62870215, 0, 'deal', '1911398', '1844232', '0', 'baga6ea4seaqb3aw5tulc2efkig2dw6wlld7hdsgzprnmipqiyruwhdn2mbdpmoa', 34359738368, 3914820, NULL, 3382629, 0, 0, false, '2024-10-23 19:39:00.804235', '2024-10-23 19:39:00.804235', NULL), +(86883983, 56239796, 0, 'deal', '1917375', '1844232', '0', 'baga6ea4seaqhaey34ibdo7sgyqlkufz354a2mqgkalwphitowo2ck4kvaon6unq', 34359738368, 3774547, NULL, 3242662, 0, 0, false, '2024-10-23 19:31:58.980804', '2024-10-23 19:31:58.980804', NULL), +(86966110, 56323881, 0, 'deal', '1917389', '1844232', '0', 'baga6ea4seaqfdh7dytlvvvptjgy3tnejvpt2cugrqwbyk5txc7bq4slnv4cpqhy', 34359738368, 3776646, NULL, 3244655, 0, 0, false, '2024-10-23 19:32:04.445034', '2024-10-23 19:32:04.445034', NULL), +(93390318, 62897166, 0, 'deal', '1922926', '1844232', '0', 'baga6ea4seaqirsgb4sermrs74mfsrmlfhbfmapfszfkkz6vuvtdp74amozenkiy', 34359738368, 3915232, NULL, 3383263, 0, 0, false, '2024-10-23 19:39:02.42236', '2024-10-23 19:39:02.42236', NULL), +(93441277, 62951391, 0, 'deal', '1923357', '1844232', '0', 'baga6ea4seaqjouxwex7xzu6nhdcqlazxjcz6amombgt3pnhq5igpzpnpb3dt6oa', 34359738368, 3916313, NULL, 3384332, 0, 0, false, '2024-10-23 19:39:05.828047', '2024-10-23 19:39:05.828047', NULL), +(93462428, 62971988, 0, 'deal', '1923772', '1844232', '0', 'baga6ea4seaqmwafmzksrap6ng7ixt3vb4mymabe7wybbnxdprlgenasneiofooi', 34359738368, 3916893, NULL, 3384966, 0, 0, false, '2024-10-23 19:39:07.109434', '2024-10-23 19:39:07.109434', NULL), +(93415928, 62925010, 0, 'deal', '1923978', '1844232', '0', 'baga6ea4seaqiccfeu66ztnvszom6biy4lhdffheijervnfp5pvkkut2gnk7swhq', 34359738368, 3915732, NULL, 3383939, 0, 0, false, '2024-10-23 19:39:04.133118', '2024-10-23 19:39:04.133118', NULL), +(88877730, 58295115, 0, 'deal', '1924388', '1844232', '0', 'baga6ea4seaqm3x3ha42pxfox3ruk6auvmtig7lews4e4zvslh2harv67ji3nsaa', 34359738368, 3827981, NULL, 3296024, 0, 0, false, '2024-10-23 19:34:08.99228', '2024-10-23 19:34:08.99228', NULL), +(92087426, 61560403, 0, 'deal', '1924664', '1844232', '0', 'baga6ea4seaqhg4flsg5i2wprosommz6tn7luy2pi6ei7ezwatygamznp5ebsufi', 34359738368, 3890638, NULL, 3358603, 0, 0, false, '2024-10-23 19:37:37.470358', '2024-10-23 19:37:37.470358', NULL), +(93604094, 63121630, 0, 'deal', '1941751', '1844232', '0', 'baga6ea4seaqebfowqx34gkh5rnfpgouy2orfm6x4r5tvi5ojjzijr3srbvoe4nq', 34359738368, 3919899, NULL, 3388004, 0, 0, false, '2024-10-23 19:39:16.386196', '2024-10-23 19:39:16.386196', NULL), +(93517075, 63030110, 0, 'deal', '1944321', '1844232', '0', 'baga6ea4seaqo5wja2sve5vo3a2ssbzvqafpfrrnnngun7vcrwmh3xzt25xp5moi', 34359738368, 3917936, NULL, 3385929, 0, 0, false, '2024-10-23 19:39:10.76082', '2024-10-23 19:39:10.76082', NULL), +(93763873, 63282763, 0, 'deal', '1946597', '1844232', '0', 'baga6ea4seaqdd3revgbobhuyymxh3ospiclkp75dgvcy4lydtjcefzcwlqrtqeq', 34359738368, 3922788, NULL, 3390841, 0, 0, false, '2024-10-23 19:39:26.682319', '2024-10-23 19:39:26.682319', NULL), +(94074450, 63604540, 0, 'deal', '1975371', '1844232', '0', 'baga6ea4seaqau6byjllzuunjt6ej6mf262zhjaibkzkhvjf24vdnbmzz5bhd2gq', 34359738368, 3929998, NULL, 3398101, 0, 0, false, '2024-10-23 19:39:47.480402', '2024-10-23 19:39:47.480402', NULL), +(92022802, 61496619, 0, 'deal', '1985642', '1844232', '0', 'baga6ea4seaqdyzuehxcu2ojdj5p3ofqqy7tnceqmhzwk7jnffonqpcuw2qbf6lq', 34359738368, 3889505, NULL, 3357715, 0, 0, false, '2024-10-23 19:37:33.217451', '2024-10-23 19:37:33.217451', NULL), +(86863592, 56217336, 0, 'deal', '2007260', '1844232', '0', 'baga6ea4seaqlunwfuezj4xguuhlqpafpfvbj2sbf3yptc4ut6uf4cegv7avo4ci', 34359738368, 3774209, NULL, 3242299, 0, 0, false, '2024-10-23 19:31:57.609953', '2024-10-23 19:31:57.609953', NULL), +(92055004, 61528773, 0, 'deal', '2026527', '1844232', '0', 'baga6ea4seaqkfr2iq7ow3iad3575nia544o34tf7iulgrcceq3kja2b54wcbeki', 34359738368, 3890055, NULL, 3358219, 0, 0, false, '2024-10-23 19:37:35.288634', '2024-10-23 19:37:35.288634', NULL), +(92657595, 62140439, 0, 'deal', '2031234', '1844232', '0', 'baga6ea4seaqofxr7vx2p6zajjdmjs62z46nmtinqsb5vvx6kxnhtvxhf5hebgma', 34359738368, 3900658, NULL, 3368773, 0, 0, false, '2024-10-23 19:38:15.006827', '2024-10-23 19:38:15.006827', NULL), +(93877728, 63402761, 0, 'deal', '2044678', '1844232', '0', 'baga6ea4seaqmb44d4o24irnnndjcsdzf4c3pe7znxoazyuldv5vkjwmrcsq3mny', 34359738368, 3925299, NULL, 3393353, 0, 0, false, '2024-10-23 19:39:34.379458', '2024-10-23 19:39:34.379458', NULL), +(93557057, 63072875, 0, 'deal', '2045753', '1844232', '0', 'baga6ea4seaqlzwcvtorqymehdyzjih7sefdxwc4y2jp2ytasrpphcct4kmrckpq', 34359738368, 3918732, NULL, 3386886, 0, 0, false, '2024-10-23 19:39:13.356426', '2024-10-23 19:39:13.356426', NULL), +(94063366, 63593682, 0, 'deal', '2067790', '1844232', '0', 'baga6ea4seaqbaca64alf6ov4dzmxpqx5xvkvhmdsp4tbudrdwk762e4ijacwgny', 34359738368, 3929759, NULL, 3397867, 0, 0, false, '2024-10-23 19:39:46.729284', '2024-10-23 19:39:46.729284', NULL), +(86501533, 55847261, 0, 'deal', '2122421', '1844232', '0', 'baga6ea4seaqhh3kyqmje3jvy6z44mowh3z7bqdqu473naqs5fzkvogqvqtjdyby', 34359738368, 3766581, NULL, 3234644, 0, 0, false, '2024-10-23 19:31:34.210852', '2024-10-23 19:31:34.210852', NULL), +(86578659, 55928239, 0, 'deal', '2122422', '1844232', '0', 'baga6ea4seaqdckpzswatnxa55h7ug6674xskrczvoygggfp52mt752fjjclzcoi', 34359738368, 3768106, NULL, 3236205, 0, 0, false, '2024-10-23 19:31:39.252961', '2024-10-23 19:31:39.252961', NULL), +(91996776, 61468825, 0, 'deal', '2204302', '1844232', '0', 'baga6ea4seaqcwhjvabtqpbvvoeglkugyhfri27pl4sbhxqwqwwhx5lxi6ujggka', 34359738368, 3888935, NULL, 3356961, 0, 0, false, '2024-10-23 19:37:31.302978', '2024-10-23 19:37:31.302978', NULL), +(92616665, 62100620, 0, 'deal', '2204304', '1844232', '0', 'baga6ea4seaqoltppfu6wlhag7aqblrkkym2b5dihpenw7mldaw2ugbmwrk6pudy', 34359738368, 3899965, NULL, 3368227, 0, 0, false, '2024-10-23 19:38:12.420902', '2024-10-23 19:38:12.420902', NULL), +(91904589, 61375974, 0, 'deal', '2204322', '1844232', '0', 'baga6ea4seaqe3fohvw7wlwi5kndbribk3yx5f5pp3dlw4b3iqiy3enickvlrwli', 34359738368, 3887255, NULL, 3355360, 0, 0, false, '2024-10-23 19:37:25.331765', '2024-10-23 19:37:25.331765', NULL), +(45310878, 11385623, 0, 'deal', '1103201', '1852664', '0', 'baga6ea4seaqpu52ezmebkqnzkck7tnkrukidwrjaapo2ovwabom2h32xjh2aqdi', 34359738368, 3753094, NULL, 2198910, 0, 0, false, '2024-10-23 13:39:31.219076', '2024-10-23 13:39:31.219076', NULL), +(46269694, 12391455, 0, 'deal', '1181090', '1852664', '0', 'baga6ea4seaqbwm25v75j4e7wfewym2rpwtwnw5wcptiet5zmjne4qqgrdrenujq', 34359738368, 3783750, NULL, 2229152, 0, 0, false, '2024-10-23 13:45:57.005893', '2024-10-23 13:45:57.005893', NULL), +(44096638, 10140166, 0, 'deal', '1198173', '1852664', '0', 'baga6ea4seaqnn2ksjoqdnp5oj725ap5hp4dhwh4tuwkm7peekoe7tpx5irwtena', 34359738368, 3701526, NULL, 2152050, 0, 0, false, '2024-10-23 13:31:31.038344', '2024-10-23 13:31:31.038344', NULL), +(44001474, 10036859, 0, 'deal', '1302553', '1852664', '0', 'baga6ea4seaqnyul6igf3v2czxzdgni23go5fgsb3gfcd6eiiky7wjgpcme7bsly', 34359738368, 3696020, NULL, 2146626, 0, 0, false, '2024-10-23 13:30:52.740987', '2024-10-23 13:30:52.740987', NULL), +(46026918, 12147427, 0, 'deal', '1310929', '1852664', '0', 'baga6ea4seaqbijcju4d63plqx3zf4nvfkb4m2vpx3dg2rlh62a74urrr5butipa', 34359738368, 3776266, NULL, 2222713, 0, 0, false, '2024-10-23 13:44:16.577443', '2024-10-23 13:44:16.577443', NULL), +(44102734, 10146907, 0, 'deal', '1358346', '1852664', '0', 'baga6ea4seaqcxqjenj56al3ecsgfng46tnj2vssuxsfpfdlj5dfrsszzom2bubq', 34359738368, 3701942, NULL, 2151980, 0, 0, false, '2024-10-23 13:31:32.040674', '2024-10-23 13:31:32.040674', NULL), +(46364973, 12490343, 0, 'deal', '1358347', '1852664', '0', 'baga6ea4seaqkgrghdsoscf3g3pbvnwcgf7jrzesva5whjpox72twoiatdee44bq', 34359738368, 3786895, NULL, 2232327, 0, 0, false, '2024-10-23 13:46:34.449242', '2024-10-23 13:46:34.449242', NULL), +(44257173, 10308155, 0, 'deal', '1358352', '1852664', '0', 'baga6ea4seaqkmltaj3622pi3gmtn2vdemfkgffhvfpj7i4wkr2ftxwssfpzwaiy', 34359738368, 3710356, NULL, 2156139, 0, 0, false, '2024-10-23 13:32:33.782589', '2024-10-23 13:32:33.782589', NULL), +(44906076, 10971143, 0, 'deal', '1451206', '1852664', '0', 'baga6ea4seaqeyffuwq6ic3wtumwdjt5j2cj76dyh43euw4bf3ryw3w3y2evb4kq', 34359738368, 3737900, NULL, 2185273, 0, 0, false, '2024-10-23 13:36:49.924968', '2024-10-23 13:36:49.924968', NULL), +(50930201, 17262118, 0, 'deal', '1769561', '1852664', '0', 'baga6ea4seaqdol3ge55beocjaqpdqw5i7oasbjwdmczbmfivzf3yxm2ev2c5wki', 34359738368, 3915262, NULL, 2375051, 0, 0, false, '2024-10-23 14:29:55.923714', '2024-10-23 14:29:55.923714', NULL), +(47027598, 13191894, 0, 'deal', '1771053', '1852664', '0', 'baga6ea4seaqfaxqvxbcy6axkjvy4ij2cat6dnleepu3cainygs744fp6edjs6ga', 34359738368, 3797182, NULL, 2258245, 0, 0, false, '2024-10-23 13:51:08.665901', '2024-10-23 13:51:08.665901', NULL), +(45761384, 11855252, 0, 'deal', '1788135', '1852664', '0', 'baga6ea4seaqczvzkfiy7zqgwwealzjopxnfngdt233fge6rsgn22r4ix25wjqfi', 34359738368, 3766302, NULL, 2212991, 0, 0, false, '2024-10-23 13:42:31.206652', '2024-10-23 13:42:31.206652', NULL), +(46943406, 13092612, 0, 'deal', '1788458', '1852664', '0', 'baga6ea4seaqbhskfa5qgiu2wbn4hvrzgn7ooghmzvevyaxvoi7pzkayluwgtuaq', 34359738368, 3791422, NULL, 2254038, 0, 0, false, '2024-10-23 13:50:33.065895', '2024-10-23 13:50:33.065895', NULL), +(44466094, 10522474, 0, 'deal', '1837708', '1852664', '0', 'baga6ea4seaqanmutfmqk7pvbrme3vbyfwwbakotzyw2flnrgdp6tgr476dum6oi', 34359738368, 3696382, NULL, 2166403, 0, 0, false, '2024-10-23 13:33:55.615893', '2024-10-23 13:33:55.615893', NULL), +(50642720, 16958137, 0, 'deal', '1837711', '1852664', '0', 'baga6ea4seaqeqnfxhvc5kbun5bum4u6opyzi45tfe2h2uybkfak6qypkli7g2hq', 34359738368, 3897982, NULL, 2369103, 0, 0, false, '2024-10-23 14:26:48.881249', '2024-10-23 14:26:48.881249', NULL), +(50450973, 16754226, 0, 'deal', '1861433', '1852664', '0', 'baga6ea4seaqeen44n6h5zzgm6t4xoqglukj3lkb4fmqecdumrsnhxpwkhals6my', 34359738368, 3892222, NULL, 2362654, 0, 0, false, '2024-10-23 14:24:40.249039', '2024-10-23 14:24:40.249039', NULL), +(44043998, 10081168, 0, 'deal', '1863423', '1852664', '0', 'baga6ea4seaqhzr6dodde6f7xbkidlyuap4mhwwchbo4vuk53w6edbshlqgzg6ky', 34359738368, 3698505, NULL, 2144010, 0, 0, false, '2024-10-23 13:31:10.835913', '2024-10-23 13:31:10.835913', NULL), +(44047264, 10084793, 0, 'deal', '1868427', '1852664', '0', 'baga6ea4seaqiqwm32ed7fq5sy6qbgcf7yfkvip2zsfnzdeiik2v3sn5tkukjaay', 34359738368, 3698687, NULL, 2144098, 0, 0, false, '2024-10-23 13:31:11.486517', '2024-10-23 13:31:11.486517', NULL), +(46174524, 12292716, 0, 'deal', '1876344', '1852664', '0', 'baga6ea4seaqfcyjkxjie6bsjaahfkpmmt6gff5rp3lhypxajbgxvexv6vgws6dq', 34359738368, 3780589, NULL, 2226031, 0, 0, false, '2024-10-23 13:45:18.455905', '2024-10-23 13:45:18.455905', NULL), +(45509148, 11589633, 0, 'deal', '1881688', '1852664', '0', 'baga6ea4seaqhie32z7nklkizhiltg5ncldiywpbcasiiaxpdimetszpcdg6wgby', 34359738368, 3759880, NULL, 2217781, 0, 0, false, '2024-10-23 13:40:49.756544', '2024-10-23 13:40:49.756544', NULL), +(45866564, 11966269, 0, 'deal', '1885050', '1852664', '0', 'baga6ea4seaqhktyxovkjk3ce777vtgs66ztjvpza4blk4vj6hheft7xyk3vcwka', 34359738368, 3770837, NULL, 2216839, 0, 0, false, '2024-10-23 13:43:11.775895', '2024-10-23 13:43:11.775895', NULL), +(46777227, 12921194, 0, 'deal', '1885054', '1852664', '0', 'baga6ea4seaqmucli2fhmeggd7fl6kbckcfjvok7joe3z2flcz7ozpn4awa7wekq', 34359738368, 3800738, NULL, 2246337, 0, 0, false, '2024-10-23 13:49:23.01339', '2024-10-23 13:49:23.01339', NULL), +(46559794, 12696176, 0, 'deal', '1885668', '1852664', '0', 'baga6ea4seaqioqabkhrn4niaoeq24mcqx5bf4eqrqmyvchfepyjombembbueqcy', 34359738368, 3793519, NULL, 2239476, 0, 0, false, '2024-10-23 13:47:54.72317', '2024-10-23 13:47:54.72317', NULL), +(45160851, 11242859, 0, 'deal', '1898024', '1852664', '0', 'baga6ea4seaqhczgzkofzijh2uxmo4yhfnp6vlthmrvgvjs6z4jhh6obd4uqnwjq', 34359738368, 3747820, NULL, 2193395, 0, 0, false, '2024-10-23 13:38:31.746902', '2024-10-23 13:38:31.746902', NULL), +(42959808, 9007234, 0, 'deal', '1901063', '1852664', '0', 'baga6ea4seaqgxqrks5ntuaqya63roovj4wcor5pqp3fjnoxioejs53vycxyqcga', 34359738368, 3618622, NULL, 2079561, 0, 0, false, '2024-10-23 13:24:03.709171', '2024-10-23 13:24:03.709171', NULL), +(46742172, 12884130, 0, 'deal', '1912635', '1852664', '0', 'baga6ea4seaqaexyvphpulrrezz2timuibaw6gos4moh6ug37675d4pu2shyxubq', 34359738368, 3785662, NULL, 2245716, 0, 0, false, '2024-10-23 13:49:10.289751', '2024-10-23 13:49:10.289751', NULL), +(53528588, 20359486, 0, 'deal', '1941661', '1852664', '0', 'baga6ea4seaqc5akbeuzmxnvsnhasre2tpw2nyueklml5y56jottc5vrcmre4wga', 34359738368, 4007422, NULL, 2468438, 0, 0, false, '2024-10-23 14:58:23.331707', '2024-10-23 14:58:23.331707', NULL), +(47840911, 14037786, 0, 'deal', '1941684', '1852664', '0', 'baga6ea4seaqpjqxdnalbmjemwgoksd3hc5wr2xcnpjxjurusx4oak4sljf3pilq', 34359738368, 3823102, NULL, 2284896, 0, 0, false, '2024-10-23 13:56:47.758018', '2024-10-23 13:56:47.758018', NULL), +(54316812, 21258692, 0, 'deal', '1941690', '1852664', '216344', 'baga6ea4seaqbkm3adaw5i6gprwmiphvrjko7bgkwwclzlnnsa7ijhemazupzwmi', 34359738368, 4033342, NULL, 2494603, 0, 0, false, '2024-10-23 15:06:48.166246', '2024-10-23 15:06:48.166246', NULL), +(55242446, 22300947, 0, 'deal', '1948527', '1852664', '233312', 'baga6ea4seaqaj6c25lyd67aauvlhen4bfx5zd3lovx6f6ji3tw5rmakwfsg3ofy', 34359738368, 4059262, NULL, 2519010, 0, 0, false, '2024-10-23 15:16:32.654081', '2024-10-23 15:16:32.654081', NULL), +(55095778, 22127743, 0, 'deal', '1952539', '1852664', '229832', 'baga6ea4seaqh3xmfotouuixni2cjnjlxsoykyeozxski2ipay6ppmaxgxdxgchq', 34359738368, 4053502, NULL, 2513755, 0, 0, false, '2024-10-23 15:14:59.988265', '2024-10-23 15:14:59.988265', NULL), +(55172091, 22213744, 0, 'deal', '1968227', '1852664', '230902', 'baga6ea4seaqbecy6ndialrsiio62mtj7am65mh7usys3jdnvlvwarourq4hxuha', 34359738368, 4056382, NULL, 2516486, 0, 0, false, '2024-10-23 15:15:48.619454', '2024-10-23 15:15:48.619454', NULL), +(55579622, 22679084, 0, 'deal', '1972306', '1852664', '237995', 'baga6ea4seaqleargkn24ymbbdaxtauc4ipfvxd5awwjy24sghl6ey6tqlqrjshi', 34359738368, 4067902, NULL, 2529118, 0, 0, false, '2024-10-23 15:20:03.374001', '2024-10-23 15:20:03.374001', NULL), +(55172088, 22213741, 0, 'deal', '1972309', '1852664', '230904', 'baga6ea4seaqpvld52z3hbbbgftzfodr6r7uvebotjppe4bdoys2ty54d35ofyoq', 34359738368, 4056382, NULL, 2516445, 0, 0, false, '2024-10-23 15:15:48.619454', '2024-10-23 15:15:48.619454', NULL), +(55239536, 22286938, 0, 'deal', '1973010', '1852664', '232827', 'baga6ea4seaqfdvff6o5uepjfrva6o2w6iypp7qm65g6vltfgb6xgvsib4pm3apy', 34359738368, 4059262, NULL, 2518633, 0, 0, false, '2024-10-23 15:16:29.074026', '2024-10-23 15:16:29.074026', NULL), +(55272816, 22324122, 0, 'deal', '1973609', '1852664', '233698', 'baga6ea4seaqoagvb6gh6hqer2nl7pn6kdvyfnmkcylipfv2l7virbetiyziukcq', 34359738368, 4059262, NULL, 2519892, 0, 0, false, '2024-10-23 15:16:49.555897', '2024-10-23 15:16:49.555897', NULL), +(54647587, 21646988, 0, 'deal', '1980990', '1852664', '220845', 'baga6ea4seaqigvzosg245bndxtj3sq2avurm72v4zbc66tkphmtcoc6z63oamey', 34359738368, 4041982, NULL, 2502591, 0, 0, false, '2024-10-23 15:10:17.377029', '2024-10-23 15:10:17.377029', NULL), +(54609207, 21592041, 0, 'deal', '1987325', '1852664', '219848', 'baga6ea4seaqor34ie2arnqv6geg43omx4yrwm5mauaoqehmvo5iuwem2ixzuakq', 34359738368, 4041982, NULL, 2501351, 0, 0, false, '2024-10-23 15:09:53.953479', '2024-10-23 15:09:53.953479', NULL), +(55073410, 22100382, 0, 'deal', '1999116', '1852664', '229553', 'baga6ea4seaqbq6sigt4olcgzblxzj4od5vhnos4r2pggommj5gx7ooudw2i7cly', 34359738368, 4053502, NULL, 2513390, 0, 0, false, '2024-10-23 15:14:46.394109', '2024-10-23 15:14:46.394109', NULL), +(55007254, 22026326, 0, 'deal', '2006103', '1852664', '228195', 'baga6ea4seaqkacwpfwu23ff3chi7s44yvqt7vbjl7qibxstoxs5skvsd6f3y6pa', 34359738368, 4050622, NULL, 2512465, 0, 0, false, '2024-10-23 15:14:03.772177', '2024-10-23 15:14:03.772177', NULL), +(54995584, 22012751, 0, 'deal', '2006894', '1852664', '227791', 'baga6ea4seaqdhj5j7tcy4lbkytshfsgymhniv27cjsmmuap624zvtoffbhxjghy', 34359738368, 4050622, NULL, 2511725, 0, 0, false, '2024-10-23 15:13:59.63863', '2024-10-23 15:13:59.63863', NULL), +(42285693, 8331081, 0, 'deal', '1381852', '1859603', '0', 'baga6ea4seaqk7ikf5moyyguhwyzc4dsrpqxzwja4ex3aesjbktuajoi7l3cewoy', 34359738368, 3555612, NULL, 2025732, 0, 0, false, '2024-10-23 13:19:39.984294', '2024-10-23 13:19:39.984294', NULL), +(44078449, 10118832, 0, 'deal', '1471028', '1859603', '0', 'baga6ea4seaqeomwm3hzfqbpjzfjl2qg4zf2jttsw4ktq4ujbdw4mkck65ckamay', 34359738368, 3676572, NULL, 2145847, 0, 0, false, '2024-10-23 13:31:23.166804', '2024-10-23 13:31:23.166804', NULL), +(54016220, 20893035, 0, 'deal', '1877976', '1859603', '69122', 'baga6ea4seaqpp6rcfx33j45pertz4jnz66jvuafxjtavh6gra5cdnthcz6dyegi', 34359738368, 4010517, NULL, 2483967, 0, 0, false, '2024-10-23 15:03:36.439516', '2024-10-23 15:03:36.439516', NULL), +(51996049, 18396547, 0, 'deal', '1880195', '1859603', '0', 'baga6ea4seaqicf6gwruc45oka2zi6egjdnpeocgn7bgpxzx2fsg7zfjzfmspmei', 34359738368, 3933711, NULL, 2414753, 0, 0, false, '2024-10-23 14:41:41.585208', '2024-10-23 14:41:41.585208', NULL), +(46942915, 13092118, 0, 'deal', '1904436', '1859603', '0', 'baga6ea4seaqcuaqa2kq6atq54ohpns6jw4dtijsjaa5pjwn5q2lsxnimlfw54ny', 34359738368, 3788600, NULL, 2252026, 0, 0, false, '2024-10-23 13:50:33.065895', '2024-10-23 13:50:33.065895', NULL), +(49644288, 15915127, 0, 'deal', '1912619', '1859603', '0', 'baga6ea4seaqmxxctefuwfdmpd76hw34xras2uuksiiy7h4337vgycanptkf7ugq', 34359738368, 3874826, NULL, 2342249, 0, 0, false, '2024-10-23 14:15:39.512977', '2024-10-23 14:15:39.512977', NULL), +(48604391, 14824348, 0, 'deal', '1924648', '1859603', '0', 'baga6ea4seaqpc7pjdkwspimlq5bhlwaxwp64l4ymcaioueiwbgigh3acbnajmji', 34359738368, 3843134, NULL, 2313838, 0, 0, false, '2024-10-23 14:03:52.508629', '2024-10-23 14:03:52.508629', NULL), +(48611421, 14831852, 0, 'deal', '1924649', '1859603', '0', 'baga6ea4seaqnhfsql2brfv57cfgqjqhp5wlttr2c6lekjupz2a5yjdm3kveoijq', 34359738368, 3843088, NULL, 2314114, 0, 0, false, '2024-10-23 14:04:00.241498', '2024-10-23 14:04:00.241498', NULL), +(57143842, 24404265, 0, 'deal', '1929879', '1859603', '81396', 'baga6ea4seaqkyw67xbyskfzmafxpbd5vuow2htb5ihjuuouzsnjfevb7oq2gwoa', 34359738368, 4137076, NULL, 2592701, 0, 0, false, '2024-10-23 15:36:07.090943', '2024-10-23 15:36:07.090943', NULL), +(57220646, 24504542, 0, 'deal', '1930006', '1859603', '81763', 'baga6ea4seaqixdkwpzi4hpcaryum66l6dlsi7jmp45jrmjfm4zkd4h7jodea2ly', 34359738368, 4137186, NULL, 2594617, 0, 0, false, '2024-10-23 15:36:57.339199', '2024-10-23 15:36:57.339199', NULL), +(57138552, 24409845, 0, 'deal', '1930007', '1859603', '81448', 'baga6ea4seaqbrlhofo2ipcgznqkp3mgdgldcn4og3a2rodlzccfhehlpnbjxsdy', 34359738368, 4137054, NULL, 2591757, 0, 0, false, '2024-10-23 15:36:06.674854', '2024-10-23 15:36:06.674854', NULL), +(54197300, 21126366, 0, 'deal', '1941183', '1859603', '0', 'baga6ea4seaqewdhopxyohs4scv57uifistelinaqcsz5uwagglxbmihbfsjicna', 34359738368, 4017644, NULL, 2489582, 0, 0, false, '2024-10-23 15:05:32.221046', '2024-10-23 15:05:32.221046', NULL), +(58366665, 25871298, 0, 'deal', '1941184', '1859603', '84406', 'baga6ea4seaqanhf5vqcdddejq7awaelwjgl6dtkrx5wc46evh7fq32ndnxgaqcq', 34359738368, 4168643, NULL, 2626907, 0, 0, false, '2024-10-23 15:48:26.389866', '2024-10-23 15:48:26.389866', NULL), +(62223922, 30101705, 0, 'deal', '1941185', '1859603', '97885', 'baga6ea4seaqpawtrss5mm5wtvebiacpr5oupddo36d7j7pe32i6f72mxw3z5wpq', 34359738368, 4248737, NULL, 2720438, 0, 0, false, '2024-10-23 16:26:19.513721', '2024-10-23 16:26:19.513721', NULL), +(57268677, 24553569, 0, 'deal', '1941186', '1859603', '82157', 'baga6ea4seaqephbqapzszwff6jhar7ucyo2wu6unuctf3vaw752djehxzkougki', 34359738368, 4137076, NULL, 2595481, 0, 0, false, '2024-10-23 15:37:23.562456', '2024-10-23 15:37:23.562456', NULL), +(73382851, 42252172, 0, 'deal', '1984832', '1859603', '195676', 'baga6ea4seaqocx4tlby43mumxzxa6a33ygs5ekudvldnkyedpqzlfnowhtmtefq', 34359738368, 4502826, NULL, 2965133, 0, 0, false, '2024-10-23 18:19:00.613126', '2024-10-23 18:19:00.613126', NULL), +(77846920, 46984129, 0, 'deal', '1984836', '1859603', '243283', 'baga6ea4seaqhpq23xbw4k5cdnotzvokkikz3xbmuyssnwvcssurxrbgvxo7aajq', 34359738368, 4599826, NULL, 3052271, 0, 0, false, '2024-10-23 19:11:06.99467', '2024-10-23 19:11:06.99467', NULL), +(83530842, 52805710, 0, 'deal', '1984873', '1859603', '0', 'baga6ea4seaqfcuqbz4k3qemmjok3d7kauv7ovsa5jhsyyvewmpipaoliqnxeema', 34359738368, 4712702, NULL, 3166781, 0, 0, false, '2024-10-23 19:28:19.652176', '2024-10-23 19:28:19.652176', NULL), +(77794854, 46930444, 0, 'deal', '1984874', '1859603', '242574', 'baga6ea4seaqal5t7x6fn5mk3qsefve4c4oypxuzl2f7y3uo4mbk6rt64lyziaci', 34359738368, 4589377, NULL, 3052856, 0, 0, false, '2024-10-23 19:10:31.23735', '2024-10-23 19:10:31.23735', NULL), +(77794849, 46930438, 0, 'deal', '1984875', '1859603', '242550', 'baga6ea4seaqotltaaihpjod3dazmhcostvoan77wyzolxsvdxf2kt6jezck5epq', 34359738368, 4599826, NULL, 3051430, 0, 0, false, '2024-10-23 19:10:31.23735', '2024-10-23 19:10:31.23735', NULL), +(61377824, 29182356, 0, 'deal', '1992879', '1859603', '91700', 'baga6ea4seaqfald3vfuwnme35fmyav4m5xfngrvnyclnsqgfc7pujdd5yknisdy', 34359738368, 4245730, NULL, 2700696, 0, 0, false, '2024-10-23 16:18:15.747394', '2024-10-23 16:18:15.747394', NULL), +(75222893, 44232626, 0, 'deal', '1999562', '1859603', '215613', 'baga6ea4seaqadmoxr4ljtky4vjmt6wqquoiclrahphlujixvk5tae563f2rfofq', 34359738368, 4537168, NULL, 3002227, 0, 0, false, '2024-10-23 18:39:39.446574', '2024-10-23 18:39:39.446574', NULL), +(62758157, 30671322, 0, 'deal', '2066000', '1859603', '102154', 'baga6ea4seaqj5mclbkwi5lmp6f56ffvmblv5vvijnkcc7csnkfyjac3temnhapi', 34359738368, 4267072, NULL, 2732743, 0, 0, false, '2024-10-23 16:31:20.025893', '2024-10-23 16:31:20.025893', NULL), +(63770955, 31756273, 0, 'deal', '2090474', '1859603', '109701', 'baga6ea4seaqogemahyhi5ixbh3fw7rq4c7zm7yu624c4tau3qrr7ixzy7gviaky', 34359738368, 4292372, NULL, 2753925, 0, 0, false, '2024-10-23 16:40:50.667207', '2024-10-23 16:40:50.667207', NULL), +(71201330, 39886315, 0, 'deal', '2097088', '1859603', '172838', 'baga6ea4seaqp7hqhxdg5e5noklp2himimv34jpsv6xcoghdg2z6zvsigp6c4gla', 34359738368, 4453259, NULL, 2922470, 0, 0, false, '2024-10-23 17:55:07.605896', '2024-10-23 17:55:07.605896', NULL), +(63243611, 31190426, 0, 'deal', '2098873', '1859603', '106083', 'baga6ea4seaqos37g3lxtiima2awwy5nz7xs444zn4zb4xon6v7yhy33rvt6qycy', 34359738368, 4284314, NULL, 2742541, 0, 0, false, '2024-10-23 16:35:51.900875', '2024-10-23 16:35:51.900875', NULL), +(83779423, 53057951, 0, 'deal', '2126804', '1859603', '0', 'baga6ea4seaqdaoelmbucf4o2swlunzms33oftauysv4lhlnfauagpvufjn5y2fi', 34359738368, 4719369, NULL, 3173675, 0, 0, false, '2024-10-23 19:28:35.879146', '2024-10-23 19:28:35.879146', NULL), +(76766784, 45863037, 0, 'deal', '2126809', '1859603', '232491', 'baga6ea4seaqpabizifbtgn5qbphhdg4b5plc7alm5b3qqnl3n2aastttgzbduhi', 34359738368, 4585649, NULL, 3032084, 0, 0, false, '2024-10-23 18:57:51.315338', '2024-10-23 18:57:51.315338', NULL), +(74363482, 43312942, 0, 'deal', '2126811', '1859603', '205167', 'baga6ea4seaqjwjz3qgas7zc3toso6sfmbx3tfrilgf27wcunyxga2t22pejnkfi', 34359738368, 4522253, NULL, 2984615, 0, 0, false, '2024-10-23 18:29:52.028315', '2024-10-23 18:29:52.028315', NULL), +(76715746, 45808888, 0, 'deal', '2128499', '1859603', '231765', 'baga6ea4seaqetiz3o4b3ffpr6lhyvodevceffxh7l6uq2n7vuicnazkubqklihi', 34359738368, 4562350, NULL, 3030825, 0, 0, false, '2024-10-23 18:57:15.558112', '2024-10-23 18:57:15.558112', NULL), +(77626082, 46759546, 0, 'deal', '2128612', '1859603', '240292', 'baga6ea4seaqnzz2nwq5imdoy554hkbfhhipiek4oeqjtqpjgtk255eadrl4uqeq', 34359738368, 4583456, NULL, 3048293, 0, 0, false, '2024-10-23 19:08:21.960037', '2024-10-23 19:08:21.960037', NULL), +(77727552, 46860999, 0, 'deal', '2128613', '1859603', '241475', 'baga6ea4seaqpxjcbpat2i4f66netlwe4fnst3oabfk65pob52gptrmv74ek6kfq', 34359738368, 4588805, NULL, 3049984, 0, 0, false, '2024-10-23 19:09:37.556542', '2024-10-23 19:09:37.556542', NULL), +(69437762, 37942906, 0, 'deal', '2129070', '1859603', '150797', 'baga6ea4seaqpcnkaf3dfw55nvyrnolicl2yjxtjcvyy7lren2euc63gwgtpbilq', 34359738368, 4413585, NULL, 2886237, 0, 0, false, '2024-10-23 17:36:48.681776', '2024-10-23 17:36:48.681776', NULL), +(75710635, 44752949, 0, 'deal', '2129071', '1859603', '222285', 'baga6ea4seaqpewsiwro7ddmcuq6pcstb3qmnnsfus3tddede2zbr2af7flrngkq', 34359738368, 4559476, NULL, 3011322, 0, 0, false, '2024-10-23 18:45:18.585894', '2024-10-23 18:45:18.585894', NULL), +(77898778, 47037861, 0, 'deal', '2129072', '1859603', '244032', 'baga6ea4seaqb5krwro3fwe3m3d4sqw2fd4gzvxqa4qiliw2kdytjonqwt2fjgbi', 34359738368, 4603333, NULL, 3053826, 0, 0, false, '2024-10-23 19:11:41.46797', '2024-10-23 19:11:41.46797', NULL), +(74551333, 43516730, 0, 'deal', '2185203', '1859603', '206650', 'baga6ea4seaqkc4klbdja755e6zgd7u44pfhvk6jpbohayidw52ambz4qvi4ugoi', 34359738368, 4527637, NULL, 2988344, 0, 0, false, '2024-10-23 18:31:58.062945', '2024-10-23 18:31:58.062945', NULL), +(77626811, 46758222, 0, 'deal', '2185204', '1859603', '240261', 'baga6ea4seaqb3swv2jixap5hwroodcvjak75mixqtfqg47wdw3l73ywi6svkiky', 34359738368, 4575002, NULL, 3048370, 0, 0, false, '2024-10-23 19:08:22.095892', '2024-10-23 19:08:22.095892', NULL), +(78300776, 47451157, 0, 'deal', '2190348', '1859603', '0', 'baga6ea4seaqpdacwqy4s7tfesybtswhd5jzbez3zpmolhnjk7r2eimag6aiwcay', 34359738368, 4608945, NULL, 3061317, 0, 0, false, '2024-10-23 19:16:52.197611', '2024-10-23 19:16:52.197611', NULL), +(77793352, 46928886, 0, 'deal', '2190848', '1859603', '242518', 'baga6ea4seaqolgesau3bi6zvbotzzq2rkhzfezpvnhnple3o226t72p4umsuckq', 34359738368, 4600796, NULL, 3051373, 0, 0, false, '2024-10-23 19:10:23.225896', '2024-10-23 19:10:23.225896', NULL), +(83802101, 53082699, 0, 'deal', '2191439', '1859603', '0', 'baga6ea4seaqapslc7bjyv3sopd4ngejyjq3tkucglets3esqswmcdjzlfeyh4jq', 34359738368, 4720102, NULL, 3174344, 0, 0, false, '2024-10-23 19:28:37.461162', '2024-10-23 19:28:37.461162', NULL), +(77899993, 47048411, 0, 'deal', '2199133', '1859603', '244157', 'baga6ea4seaqpnadikw342a7zf3b7awxduhgdmqsik6gbkm2w7iw7fv265rgbwnq', 34359738368, 4602828, NULL, 3053648, 0, 0, false, '2024-10-23 19:11:41.779627', '2024-10-23 19:11:41.779627', NULL), +(76792307, 45889746, 0, 'deal', '2208908', '1859603', '232801', 'baga6ea4seaqlszq7anwobkzbgdr5lmxmshziop6x23qoidwabypl6fo2moofoba', 34359738368, 4586308, NULL, 3032458, 0, 0, false, '2024-10-23 18:58:11.405675', '2024-10-23 18:58:11.405675', NULL), +(54488069, 21454972, 0, 'deal', '397376', '1859603', '73980', 'baga6ea4seaqojhhihbg5goq74x3347kvxooni6vx66wlejzq3ues5477co2emdq', 34359738368, 4011674, NULL, 2497752, 0, 0, false, '2024-10-23 15:08:38.180566', '2024-10-23 15:08:38.180566', NULL), +(128880445, 0, 95844153, 'claim', '1131298', '187709', '80856', 'baga6ea4seaqjribmmsq5lh6conztc2hnlvlp6yo36tfxt2h72dpas6ymrzad2eq', 34359738368, 1785600, 1526400, 4867726, 0, 0, false, '2025-04-10 22:18:03.461', '2025-04-10 22:18:03.461', NULL), +(50734435, 17055581, 0, 'deal', '1381852', '187709', '0', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 3896183, NULL, 2372178, 0, 0, false, '2024-10-23 14:27:46.894764', '2024-10-23 14:27:46.894764', NULL), +(47327723, 13503850, 0, 'deal', '1471028', '187709', '0', 'baga6ea4seaqlhafh6eq7fn23o3d4ed7wcx3e23xzcy4skthgjcynelpxtn6wapq', 34359738368, 3806903, NULL, 2268368, 0, 0, false, '2024-10-23 13:53:11.275965', '2024-10-23 13:53:11.275965', NULL), +(48597829, 14829753, 0, 'deal', '1614121', '187709', '0', 'baga6ea4seaqdfvlaplunakye3tru7rhrjena7aiyocdca2453j5imel62glsuca', 34359738368, 3841463, NULL, 2315027, 0, 0, false, '2024-10-23 14:03:50.6687', '2024-10-23 14:03:50.6687', NULL), +(69487725, 37994374, 0, 'deal', '1762699', '187709', '77862', 'baga6ea4seaqntpwmgwq742ktixz33mfddo5bedqfc5yhowcrhogwbmnf47kuaja', 134217728, 4411703, NULL, 2886806, 0, 0, false, '2024-10-23 17:37:19.065895', '2024-10-23 17:37:19.065895', NULL), +(107971157, 78901318, 0, 'deal', '1859221', '187709', '78459', 'baga6ea4seaqidpq2uq56aux25yjnbkfrlropodckw7m5iguin6m2u6hdumctwgy', 34359738368, 7516456, NULL, 3839554, 0, 0, false, '2024-10-23 19:55:22.870166', '2024-10-23 19:55:22.870166', NULL), +(48301284, 14517451, 0, 'deal', '1901107', '187709', '0', 'baga6ea4seaqivcojwvgkhbkp63sfbdmki6l2pdz7qqbvubs6atvajdvbpe2eopy', 34359738368, 3850103, NULL, 2303628, 0, 0, false, '2024-10-23 14:00:05.97337', '2024-10-23 14:00:05.97337', NULL), +(46560552, 12707469, 0, 'deal', '1929808', '187709', '0', 'baga6ea4seaqb7ohakg47oxoieybkpvjtwngexgwktvenqok2qn2qbej7bze4ymq', 34359738368, 3780983, NULL, 2239828, 0, 0, false, '2024-10-23 13:47:54.855896', '2024-10-23 13:47:54.855896', NULL), +(77058395, 46182043, 0, 'deal', '1943349', '187709', '5684', 'baga6ea4seaqdadirlrg4tcnx7376seplm3vxr3ta2qekymvegptu67e7ipa4gha', 34359738368, 4561463, NULL, 3037943, 0, 0, false, '2024-10-23 19:01:22.334015', '2024-10-23 19:01:22.334015', NULL), +(77237329, 46368894, 0, 'deal', '1943355', '187709', '5754', 'baga6ea4seaqaftn6m2427qpbfsltm3tu6g7umfmpukjckpoaef6acmwxs7n5cba', 34359738368, 4564343, NULL, 3040685, 0, 0, false, '2024-10-23 19:03:31.656181', '2024-10-23 19:03:31.656181', NULL), +(77430622, 46569265, 0, 'deal', '1955887', '187709', '5825', 'baga6ea4seaqg5hg6ngbnoryhps4wfnw3uvpzlmsd7yabwpdyuwhbymwiftn64bq', 34359738368, 4593143, NULL, 3044103, 0, 0, false, '2024-10-23 19:05:56.077759', '2024-10-23 19:05:56.077759', NULL), +(77452808, 46579991, 0, 'deal', '1982040', '187709', '5833', 'baga6ea4seaqe36fxebz6w26mbfwoqjhyrw4c2xcqs6k5gflz7yx4xhkxo23yica', 34359738368, 4570103, NULL, 3045073, 0, 0, false, '2024-10-23 19:06:13.386164', '2024-10-23 19:06:13.386164', NULL), +(54093205, 20980361, 0, 'deal', '1992623', '187709', '55689', 'baga6ea4seaqo2x6p2uhrpookptwkice7xnkost4ryodwaptkamgwtdzmuxav6la', 34359738368, 4025783, NULL, 2486542, 0, 0, false, '2024-10-23 15:04:25.212878', '2024-10-23 15:04:25.212878', NULL), +(55869361, 22992544, 0, 'deal', '1992627', '187709', '76715', 'baga6ea4seaqcty3g74hqcas7li3ki5kp432ty7he4ks3kbpsmopyn2mymesdsjy', 17179869184, 4068983, NULL, 2541428, 0, 0, false, '2024-10-23 15:23:03.083513', '2024-10-23 15:23:03.083513', NULL), +(54943750, 21967138, 0, 'deal', '2003085', '187709', '57738', 'baga6ea4seaqcvysnvegp3rlfo5kx3vz6o46ngmve5porplk5zjhzwghmn6pbsoq', 34359738368, 4037303, NULL, 2510849, 0, 0, false, '2024-10-23 15:13:25.40475', '2024-10-23 15:13:25.40475', NULL), +(57088732, 24343608, 0, 'deal', '2011204', '187709', '76990', 'baga6ea4seaqfhslbyibc3qeddpi3loeoffaiyviggvwyyg5z2ozll6m3ippa6fq', 34359738368, 4115063, NULL, 2590269, 0, 0, false, '2024-10-23 15:35:34.099119', '2024-10-23 15:35:34.099119', NULL), +(57866306, 25308608, 0, 'deal', '2025768', '187709', '77117', 'baga6ea4seaqmqbjfd3oy77y3psofclfdevngs4dn326i4v5hhmnc63s2y35reda', 34359738368, 4138103, NULL, 2613631, 0, 0, false, '2024-10-23 15:43:24.450268', '2024-10-23 15:43:24.450268', NULL), +(59859616, 27515732, 0, 'deal', '2031177', '187709', '77501', 'baga6ea4seaqnitmkj5pvt7cxcunbc2m766rprqdispamuyfmc7jrmfiyxdsfajq', 34359738368, 4178423, NULL, 2662325, 0, 0, false, '2024-10-23 16:03:29.625681', '2024-10-23 16:03:29.625681', NULL), +(59961980, 27621536, 0, 'deal', '2038351', '187709', '77549', 'baga6ea4seaqhucgr4zg3lzi6nygs7osk6u3vhvpupiytmesw2kw4wjquh6qfiby', 34359738368, 4187063, NULL, 2665079, 0, 0, false, '2024-10-23 16:04:28.836521', '2024-10-23 16:04:28.836521', NULL), +(69546351, 38058941, 0, 'deal', '2041775', '187709', '77896', 'baga6ea4seaqcjppfgolqk4kuskvuoxbrdgzka6oykddxwxgt2oabfveaedt3gja', 34359738368, 4414583, NULL, 2887805, 0, 0, false, '2024-10-23 17:37:55.324168', '2024-10-23 17:37:55.324168', NULL), +(62059447, 29926873, 0, 'deal', '2041776', '187709', '3216', 'baga6ea4seaqpkgktjdxq2yyrotgbm6ax5rpqnqb5imu2ool63ofxxxqqbquvgfi', 34359738368, 4241783, NULL, 2716747, 0, 0, false, '2024-10-23 16:24:46.659012', '2024-10-23 16:24:46.659012', NULL), +(76126164, 45195198, 0, 'deal', '2041777', '187709', '5451', 'baga6ea4seaqdr3lxkv2lyfcmx2akqbrtt2rp454agzp72kk7xmn6e3woik7cqni', 34359738368, 4544183, NULL, 3019305, 0, 0, false, '2024-10-23 18:50:09.059731', '2024-10-23 18:50:09.059731', NULL), +(59090563, 26670973, 0, 'deal', '2041788', '187709', '77350', 'baga6ea4seaqp4luns4ir3vr77lhj2c4fx75zkiqk5uojqlc567ftaauz6ew3cfq', 34359738368, 4166903, NULL, 2642607, 0, 0, false, '2024-10-23 15:55:38.291841', '2024-10-23 15:55:38.291841', NULL), +(59265290, 26873052, 0, 'deal', '2041789', '187709', '77380', 'baga6ea4seaqdou4a66uz6232jpyn7jqgvkbr6fy7hyksgnphqswrmzdfwy5zshq', 34359738368, 4169783, NULL, 2647589, 0, 0, false, '2024-10-23 15:57:22.075894', '2024-10-23 15:57:22.075894', NULL), +(62638915, 30558757, 0, 'deal', '2041790', '187709', '3345', 'baga6ea4seaqocegwwsniee5x76vrwpyudpmf5qn6crpjfbe6nvxix6jrcz26ooi', 34359738368, 4253303, NULL, 2729255, 0, 0, false, '2024-10-23 16:30:13.674196', '2024-10-23 16:30:13.674196', NULL), +(59421566, 27034294, 0, 'deal', '2047227', '187709', '77409', 'baga6ea4seaqefwnj4fxwwu7i2zn3s524lrvrlran43vv6vcqxfvykp6tjfiyyba', 34359738368, 4172663, NULL, 2651307, 0, 0, false, '2024-10-23 15:58:54.446581', '2024-10-23 15:58:54.446581', NULL), +(59638069, 27264684, 0, 'deal', '2047228', '187709', '77439', 'baga6ea4seaqcfvmnwgynjose6znwk6unukrfjynfdv2w3he6qxfk3ilel6rm6my', 34359738368, 4175543, NULL, 2656234, 0, 0, false, '2024-10-23 16:01:08.75589', '2024-10-23 16:01:08.75589', NULL), +(60232037, 27930174, 0, 'deal', '2047229', '187709', '77619', 'baga6ea4seaqak5swprfjpx3roypifatcfjebdtac4fmjcu6ui5ygc3t5ey4zaba', 34359738368, 4195703, NULL, 2671573, 0, 0, false, '2024-10-23 16:07:07.296882', '2024-10-23 16:07:07.296882', NULL), +(60358150, 28048738, 0, 'deal', '2047231', '187709', '2673', 'baga6ea4seaqidpva4pnyzuaenkd3xs67pnm4xupcipxxz43ndzb2vksbty5a6ai', 34359738368, 4195703, NULL, 2673833, 0, 0, false, '2024-10-23 16:08:24.236586', '2024-10-23 16:08:24.236586', NULL), +(65385805, 33501955, 0, 'deal', '2047239', '187709', '3640', 'baga6ea4seaqf3lthptqzhnzclh5bhpw4ltrznyhbpapt7g4jgr6uf6gfx3c56fy', 34359738368, 4316663, NULL, 2791847, 0, 0, false, '2024-10-23 16:56:20.76783', '2024-10-23 16:56:20.76783', NULL), +(64871711, 32958932, 0, 'deal', '2047240', '187709', '77633', 'baga6ea4seaqgy2copnvpwimua54ptsvu3s6phj2nng5dzzcsfq3id44e752ikka', 34359738368, 4305143, NULL, 2780290, 0, 0, false, '2024-10-23 16:51:22.539948', '2024-10-23 16:51:22.539948', NULL), +(66005762, 34169809, 0, 'deal', '2047527', '187709', '3741', 'baga6ea4seaqdspg5qgzx5ezukroq6hv4ak6aomj2dfw2hizwozyg6f3v45pjcni', 34359738368, 4333943, NULL, 2807378, 0, 0, false, '2024-10-23 17:02:31.394309', '2024-10-23 17:02:31.394309', NULL), +(61692535, 29544923, 0, 'deal', '2059041', '187709', '3117', 'baga6ea4seaqato6ns4dmv3yjyvnjn5u27t6qyr7yuuxb4qeb5sqeo3vklqnsoaa', 34359738368, 4233143, NULL, 2708043, 0, 0, false, '2024-10-23 16:21:16.325898', '2024-10-23 16:21:16.325898', NULL), +(94003057, 63532052, 0, 'deal', '2071888', '187709', '6098', 'baga6ea4seaqnk7ixh6issqae5z6d5qaidjo7puve56tkrrncnkciazhy3mtquhy', 34359738368, 4944720, NULL, 3397150, 0, 0, false, '2024-10-23 19:39:42.863349', '2024-10-23 19:39:42.863349', NULL), +(125028863, 107607674, 91521163, 'claimUpdated', '2097088', '187709', '80669', 'baga6ea4seaqakumndj2ukufo5vyidflnxjiafusnfkhioaarfhexjb4scgtw4lq', 34359738368, 5256000, 1526400, 4749543, 0, 0, false, '2025-02-28 21:25:02.286', '2025-02-28 21:25:02.286', NULL), +(77058392, 46182040, 0, 'deal', '2126028', '187709', '5669', 'baga6ea4seaqelpdbqonsuqsrqtoowypbmqj7cyvb7mfj74yfa44cavotwq3r2aa', 34359738368, 4567223, NULL, 3037424, 0, 0, false, '2024-10-23 19:01:22.334015', '2024-10-23 19:01:22.334015', NULL), +(77144617, 46271250, 0, 'deal', '2182390', '187709', '5702', 'baga6ea4seaqlnptpetoucbmh5gn5htgxovt3vauxfnvungpznkqrozxs3cp6aey', 34359738368, 4567223, NULL, 3038412, 0, 0, false, '2024-10-23 19:02:27.445888', '2024-10-23 19:02:27.445888', NULL), +(77322750, 46459703, 0, 'deal', '2182391', '187709', '5791', 'baga6ea4seaqcdkaiqgxydm7fwxn3dut6yoxsb2fn45huqe2yrfkt53ziqrknmli', 34359738368, 4572983, NULL, 3042397, 0, 0, false, '2024-10-23 19:04:36.686756', '2024-10-23 19:04:36.686756', NULL), +(77437715, 46574268, 0, 'deal', '2191977', '187709', '5830', 'baga6ea4seaqhj2qf6mmqtt6sqhfdb4eoi6cj2j5e7sr5yxmlgx766kaqmva3upq', 34359738368, 4567223, NULL, 3044207, 0, 0, false, '2024-10-23 19:06:03.835703', '2024-10-23 19:06:03.835703', NULL), +(74214738, 43153384, 0, 'deal', '2216069', '187709', '71364', 'baga6ea4seaqnduvsnhxpbyduldep2kchrelh2cn2lza4y4jruxiyzybggj3yiai', 34359738368, 4498103, NULL, 2981895, 0, 0, false, '2024-10-23 18:28:10.504857', '2024-10-23 18:28:10.504857', NULL), +(110068392, 83132568, 0, 'deal', '2824311', '187709', '78626', 'baga6ea4seaqeuzmqqhfznvirl4dsqzdr3akkxv4kjn4kzcdabgjj2y6ky365ahq', 34359738368, 5517401, NULL, 3983707, 0, 0, false, '2024-10-23 19:58:42.244618', '2024-10-23 19:58:42.244618', NULL), +(111996444, 88346337, 70943119, 'deal', '3051688', '187709', '65813', 'baga6ea4seaqf3libcng7byxbk2i2pyurz5sgtbhjjpzsriwmb6tdzvvuib6hmaq', 34359738368, 5664286, NULL, 4159742, 0, 0, false, '2024-10-23 20:03:12.644382', '2024-10-23 20:03:12.644382', NULL), +(151386760, 0, 117830559, 'claim', '3079189', '187709', '80947', 'baga6ea4seaqjjiasdppvrfxpjmjl245ezwj7n3y6gvngyjsqaivvp5uqpio24la', 34359738368, 1785600, 1526400, 5447824, 0, 0, false, '2025-10-29 05:14:01.911', '2025-10-29 05:14:01.911', NULL), +(127172435, 109829779, 93798216, 'claim', '3091977', '187709', '80844', 'baga6ea4seaqgtucgvlj6nxdyoaxn7a2ogyxt6r37ddpt6g3nu4idbsqkbxmlkny', 34359738368, 1785600, 1526400, 4813248, 0, 0, false, '2025-03-23 00:29:09.08', '2025-03-23 00:29:09.08', NULL), +(151678017, 0, 118161141, 'claim', '3200311', '187709', '80949', 'baga6ea4seaqluzhdxhg33zy5wrg44psrjedeveh3tuinrkbg4cr22hsx4z3voei', 34359738368, 1785600, 1526400, 5463018, 0, 0, false, '2025-11-03 11:54:01.786', '2025-11-03 11:54:01.786', NULL), +(120790618, 103261742, 87174748, 'claim', '3294988', '187709', '17376', 'baga6ea4seaqh4mgeluv5iw62fyhrrwuguypbfiwns3gewqhhcaktebykhs3ugay', 1048576, 777600, 518400, 4599098, 0, 0, false, '2025-01-07 19:01:11.513', '2025-01-07 19:01:11.513', NULL), +(126404423, 109038453, 92975122, 'claim', '3510184', '187709', '80697', 'baga6ea4seaqpird6s5tna2clv2h6o34juirqesib3g3f7qxg6d223h35x2tq4nq', 34359738368, 1785600, 1526400, 4789161, 0, 0, false, '2025-03-14 15:33:25.187', '2025-03-14 15:33:25.187', NULL), +(138198527, 0, 103922609, 'claim', '3542203', '187709', '80889', 'baga6ea4seaqdr45b6tkpvmkegaqtgwsnyllmbi4lowxpfzhex4tkuqy5o2tkwpq', 34359738368, 1785600, 1526400, 5053116, 0, 0, false, '2025-06-14 00:39:02.636', '2025-06-14 00:39:02.636', NULL), +(144540761, 0, 110244770, 'claim', '3630410', '187709', '80905', 'baga6ea4seaqpolcociuggegylo3ye7mny24yft4hhufegzfpvartej5aybrviaq', 34359738368, 1785600, 1526400, 5198437, 0, 0, false, '2025-08-03 17:24:02.199', '2025-08-03 17:24:02.199', NULL), +(53962770, 20834646, 0, 'deal', '397376', '187709', '52080', 'baga6ea4seaqgdrq7sarvzch4vunxetkjcgajdzsm6cnqybr23q2xxtgvz4p7apq', 17179869184, 3993671, NULL, 2482087, 0, 0, false, '2024-10-23 15:03:04.251432', '2024-10-23 15:03:04.251432', NULL), +(111839177, 88030512, 0, 'deal', '1860990', '1889668', '238238', 'baga6ea4seaqh7iifrvy7g4zkwmn6ubsstywtb3ecegfsaq4ellww74wibkoewni', 34359738368, 7797110, NULL, 4146691, 0, 0, false, '2024-10-23 20:02:58.13125', '2024-10-23 20:02:58.13125', NULL), +(55267129, 22317326, 0, 'deal', '1901107', '1889668', '0', 'baga6ea4seaqj3gvz4t5if5ajyoyxcygqrc7qsctrdwqlqfq43ht664fxtoqisga', 34359738368, 3763689, NULL, 2519622, 0, 0, false, '2024-10-23 15:16:48.238224', '2024-10-23 15:16:48.238224', NULL), +(110873844, 85083690, 0, 'deal', '1924648', '1889668', '216898', 'baga6ea4seaqjtr3olubko7yqabycppxwypa3fub5rvm2p3wbhl57vbzqs5quika', 34359738368, 7711250, NULL, 4057900, 0, 0, false, '2024-10-23 20:00:36.458724', '2024-10-23 20:00:36.458724', NULL), +(109007473, 80882128, 0, 'deal', '1924649', '1889668', '200354', 'baga6ea4seaqkrjaucrdhg3k25byxv4oh7hdn276c7p4jlugbxuk4u6cq44dskla', 34359738368, 7578251, NULL, 3909476, 0, 0, false, '2024-10-23 19:56:59.061852', '2024-10-23 19:56:59.061852', NULL), +(50839833, 17166493, 0, 'deal', '1929879', '1889668', '0', 'baga6ea4seaqji4pm2gnklsxuqshnsbgiopyeedhnkvvqreuf5pcgpxk4sjyiina', 34359738368, 3922089, NULL, 2373071, 0, 0, false, '2024-10-23 14:29:01.516046', '2024-10-23 14:29:01.516046', NULL), +(51000472, 17343612, 0, 'deal', '1930006', '1889668', '0', 'baga6ea4seaqmlpprl2ud4tddddtwjukkp536fluxtyzq6qeo5pxehlpp2euvqgq', 34359738368, 3930729, NULL, 2378055, 0, 0, false, '2024-10-23 14:30:44.861708', '2024-10-23 14:30:44.861708', NULL), +(111838031, 88026486, 0, 'deal', '1930007', '1889668', '238237', 'baga6ea4seaql52rrbp4whh4r5rqaaq6y3p2iwfgafpxb3zzblshokvgww6yuqny', 34359738368, 7796986, NULL, 4146458, 0, 0, false, '2024-10-23 20:02:57.888359', '2024-10-23 20:02:57.888359', NULL), +(73211027, 42082057, 0, 'deal', '1930008', '1889668', '151691', 'baga6ea4seaqogewp6ib4namqjj5fbyljhzokhw3urszthjxsftjfgaugr7jtcjy', 34359738368, 4493436, NULL, 2962311, 0, 0, false, '2024-10-23 18:17:07.218048', '2024-10-23 18:17:07.218048', NULL), +(84574532, 53871125, 36182314, 'deal', '1936560', '1889668', '152168', 'baga6ea4seaqb5abqdbs2djqsqjatlufm4cmxpjrmwoaaerjr6xz7flesknm24oy', 34359738368, 4720954, NULL, 3195603, 0, 0, false, '2024-10-23 19:29:27.876009', '2024-10-23 19:29:27.876009', NULL), +(108370058, 79696433, 0, 'deal', '1938503', '1889668', '190675', 'baga6ea4seaqnoeh2bt4iakfuui57oxiisw5nig3zysahzoyje2b6feitvt4mmfa', 34359738368, 7534811, NULL, 3869052, 0, 0, false, '2024-10-23 19:55:59.678174', '2024-10-23 19:55:59.678174', NULL), +(111085834, 85823753, 0, 'deal', '2009588', '1889668', '223520', 'baga6ea4seaqfeefztu3gejykfsphtoaf52g5gvii2wwodv2fxatiypo3qrc76ey', 34359738368, 7739206, NULL, 4083923, 0, 0, false, '2024-10-23 20:01:12.908468', '2024-10-23 20:01:12.908468', NULL), +(97656615, 67284857, 0, 'deal', '2046727', '1889668', '160162', 'baga6ea4seaqfgym4rwivl75xpyjr4ghndytrunirbrmbmhavbvsjwyfclkmhiba', 34359738368, 6409192, NULL, 3508759, 0, 0, false, '2024-10-23 19:43:40.276157', '2024-10-23 19:43:40.276157', NULL), +(97254318, 66878484, 0, 'deal', '2046763', '1889668', '155368', 'baga6ea4seaqj52o7mmuo2zcreq6x24wgghew2ot4p3bxlrf32refwikwhgho6oi', 34359738368, 6397887, NULL, 3491821, 0, 0, false, '2024-10-23 19:43:14.085441', '2024-10-23 19:43:14.085441', NULL), +(111671482, 87505758, 0, 'deal', '2046765', '1889668', '234849', 'baga6ea4seaqmprybu7dmkbafexrxrogaxlp3xsxccmjevzr3lzote47o23skwgq', 34359738368, 7779483, NULL, 4132687, 0, 0, false, '2024-10-23 20:02:36.815611', '2024-10-23 20:02:36.815611', NULL), +(111422281, 86807905, 0, 'deal', '2055329', '1889668', '230016', 'baga6ea4seaqb5rutys32xtw5zz2kaa76mt5swvwknoavbh6gp7ztlogxm3eicca', 34359738368, 7760777, NULL, 4112706, 0, 0, false, '2024-10-23 20:02:03.57442', '2024-10-23 20:02:03.57442', NULL), +(106376886, 76020576, 0, 'deal', '2055594', '1889668', '179757', 'baga6ea4seaqhmuf7pa4moxbfjzbhbnwucx4euzxyj363vatrs3wrcidpnhydeeq', 34359738368, 7405520, NULL, 3745222, 0, 0, false, '2024-10-23 19:53:08.903407', '2024-10-23 19:53:08.903407', NULL), +(106581796, 76323837, 0, 'deal', '2057819', '1889668', '182381', 'baga6ea4seaqcxkg7xlttywsultljfn6c75qbzuwh7qe5zqk3zm3mzat5gmavuly', 34359738368, 7416688, NULL, 3755093, 0, 0, false, '2024-10-23 19:53:23.740354', '2024-10-23 19:53:23.740354', NULL), +(111835575, 88019073, 0, 'deal', '2519046', '1889668', '238214', 'baga6ea4seaqgcmrrlisdicmq2dqz6rjz6boldtmjgmslvsvfhfwggb5x34j6ipa', 34359738368, 7796982, NULL, 4146249, 0, 0, false, '2024-10-23 20:02:57.697461', '2024-10-23 20:02:57.697461', NULL), +(141404250, 0, 107006890, 'claim', '3061409', '1889668', '334744', 'baga6ea4seaqia6bet7bpfxsya776olyszqa4xk36wx5k4tcy4lkqi2iuy7llqha', 34359738368, 3896640, 3637440, 5129385, 0, 0, false, '2025-07-10 15:04:02.58', '2025-07-10 15:04:02.58', NULL), +(132803915, 0, 81473972, 'claimUpdated', '3094699', '1889668', 'null', 'baga6ea4seaqjeqgzyrgwgohhmqhxx5tpe4c6isuq7tgygy2kovq6eaeycm64mla', 34359738368, 5256000, 3637440, 4442292, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(125933363, 108540428, 92457564, 'claimUpdated', '3132773', '1889668', '296158', 'baga6ea4seaqncewxjvc25moalb5va7ki32avpik2dencoynqwfwomtycct2jaba', 34359738368, 5256000, 3637440, 4776191, 0, 0, false, '2025-03-10 00:19:02.067', '2025-03-10 00:19:02.067', NULL), +(132564030, 0, 97766273, 'claimUpdated', '3139573', '1889668', '310986', 'baga6ea4seaqnqqvnqfmirtdzxnsxdrmrxa7f7rgw22bimw77aoon5sklmgqguby', 34359738368, 5256000, 3637440, 4916040, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), +(145019263, 0, 110726587, 'claim', '3139932', '1889668', '343754', 'baga6ea4seaqm3fun2rusmsrmeu56tjgwcjwqav67agewovkad2g35ex63bazwea', 34359738368, 3896640, 3637440, 5209762, 0, 0, false, '2025-08-07 12:32:03.151', '2025-08-07 12:32:03.151', NULL), +(133058850, 0, 87847458, 'allocationRemoved', '3143085', '1889668', 'null', 'baga6ea4seaqfhatz76vbvcnxfzkniw4nhsking43vqtpkppjil4gdngaipr6aiy', 34359738368, 3896640, 3637440, NULL, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(152099355, 0, 118647668, 'claim', '3143121', '1889668', '368894', 'baga6ea4seaqnmuuaphsmgq5z64vlm3hik4fnx25qle7tbt7ee67svapnvbckgfq', 34359738368, 3896640, 3637440, 5492809, 0, 0, false, '2025-11-13 22:16:01.714', '2025-11-13 22:16:01.714', NULL), +(112133422, 89775226, 72497859, 'deal', '3179579', '1889668', '242301', 'baga6ea4seaqduixitnrsivzei6n4chs6rlaubpb2ma77ecrhdljjsxwycnzjcky', 34359738368, 7855175, NULL, 4200198, 0, 0, false, '2024-10-23 20:04:24.518624', '2024-10-23 20:04:24.518624', NULL), +(112157074, 91434549, 74501018, 'deal', '3187663', '1889668', '247769', 'baga6ea4seaqiwioclwgbvbkxlzxjhezz4da2kco4huxvik6pzt7rclkxxmankiq', 34359738368, 7917887, NULL, 4254738, 0, 0, false, '2024-10-23 20:05:41.984652', '2024-10-23 20:05:41.984652', NULL), +(131478313, 0, 80413746, 'claimUpdated', '3201578', '1889668', 'null', 'baga6ea4seaqeczaz67s2rrdqaeclcwdqqvept4iif3cgmnykzgdrz3glgeltiay', 34359738368, 5256000, 3637440, 4415776, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(121951101, 104403612, 88316565, 'claim', '3218251', '1889668', '280151', 'baga6ea4seaqlbhzfs333wlyzabu6dwakag4qfhdzpfdri4beqw3wc3jfcvtmkfi', 34359738368, 3896640, 3637440, 4634667, 0, 0, false, '2025-01-19 19:38:05.731', '2025-01-19 19:38:05.731', NULL), +(135266860, 0, 100171181, 'claimUpdatedWithoutExistingClaim', '3225482', '1889668', '316968', 'baga6ea4seaqiidv6w3zb4bdb5mqx6jcg5azgb3fuwc6d2hmszzhzeyjim77usoi', 34359738368, 5256000, 3637440, 4967232, 0, 0, false, '2025-05-22 12:03:21.950691', '2025-05-22 12:03:21.950691', NULL), +(133127831, 0, 85723339, 'claimUpdated', '3226362', '1889668', 'null', 'baga6ea4seaqo524ffy5rhgbbmonkb4vsdytmlf34viojbzjwyi2mtmohsbbg4ji', 34359738368, 5256000, 3637440, 4558489, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(140249390, 0, 105973554, 'claim', '3226921', '1889668', '331499', 'baga6ea4seaqotjifpxpri5fpagrtzcolxowwnyuugz3a4kwrimxxyq3jtiezeky', 34359738368, 3896640, 3637440, 5100436, 0, 0, false, '2025-06-30 13:33:01.918', '2025-06-30 13:33:01.918', NULL), +(131834699, 110020786, 93998996, 'claimUpdated', '3229827', '1889668', '300720', 'baga6ea4seaqjcjegeopekafndxn5id72sv5nkjjco6giv46pyipopkmefnf7gkq', 34359738368, 5256000, 3637440, 4819459, 0, 0, false, '2025-05-13 08:13:40.125365', '2025-05-13 08:13:40.125365', NULL), +(141800588, 0, 107441471, 'claim', '3235903', '1889668', '336094', 'baga6ea4seaqe2l2gq3sh7uq26xlwxodzxfykvnawn7heqxixjovnqwvjyfcfulq', 34359738368, 3896640, 3637440, 5139263, 0, 0, false, '2025-07-14 01:45:02.238', '2025-07-14 01:45:02.238', NULL), +(151731203, 0, 118220190, 'claim', '3239767', '1889668', '366516', 'baga6ea4seaqetj5ouinzmvjapp3rdhfcgw2yoh5lfjxhgz5reovrbvr3ch5twga', 34359738368, 3896640, 3637440, 5466334, 0, 0, false, '2025-11-04 14:59:01.882', '2025-11-04 14:59:01.882', NULL), +(135690173, 0, 101373564, 'claimUpdated', '3241844', '1889668', '320517', 'baga6ea4seaqkqk6x5nu67ehk7hcvkeisnna3p7jhyvyzwrfnkocfshxogaucsoa', 34359738368, 5256000, 3637440, 4996661, 0, 0, false, '2025-05-25 12:44:02.71', '2025-05-25 12:44:02.71', NULL), +(147933218, 0, 114049511, 'claim', '3278602', '1889668', '353706', 'baga6ea4seaqpfsqhu2siebn6b4fqfi2i25j37duemnqamlzukqmrbwlvklwzojy', 34359738368, 3896640, 3637440, 5319672, 0, 0, false, '2025-09-14 16:48:01.901', '2025-09-14 16:48:01.901', NULL), +(134522538, 0, 100211688, 'claimWithoutAllocation', '3313266', '1889668', '317118', 'baga6ea4seaqm7euq6guiucpcvklkbq7ed3szd4rn7awtd4eev4wgwaztiu3r2fq', 34359738368, 3896640, 3637440, 4968388, 0, 0, false, '2025-05-16 01:34:02.594979', '2025-05-16 01:34:02.594979', NULL), +(123344053, 105839638, 89752666, 'claim', '3319412', '1889668', '286768', 'baga6ea4seaqgtaysvhweagepor4tulux4znbzxdelazvkkpyd6lbpyxknwrksnq', 34359738368, 3896640, 3637440, 4695781, 0, 0, false, '2025-02-10 01:15:03.014', '2025-02-10 01:15:03.014', NULL), +(134028405, 0, 94241029, 'claim', '3427171', '1889668', '301440', 'baga6ea4seaqfwqqrws3ticsna733xhpvi6rl3bl34cx3qqrnxsvhpvws7czoupq', 34359738368, 3896640, 3637440, 4825753, 0, 0, false, '2025-05-13 10:24:22.691746', '2025-05-13 10:24:22.691746', NULL), +(138523277, 0, 104273459, 'claimUpdated', '3495258', '1889668', '327176', 'baga6ea4seaqjckjop6szmohbzduwpbv43tklmwtgmreavqglwns4t5pkd6qewbq', 34359738368, 5256000, 3637440, 5061234, 0, 0, false, '2025-06-16 22:53:02.609', '2025-06-16 22:53:02.609', NULL), +(133116187, 0, 99090536, 'claim', '3537422', '1889668', '314250', 'baga6ea4seaqeczgbp37pbe7r4mjjpmduf444tjhonbrnsfr5j7d5cymv7hah6gi', 34359738368, 3896640, 3637440, 4944138, 0, 0, false, '2025-05-13 09:47:59.009949', '2025-05-13 09:47:59.009949', NULL), +(147358053, 0, 113076446, 'claim', '3626557', '1889668', '350504', 'baga6ea4seaqoztpfymqo47afbksc4pwyybtgmwtk37syeylwojeknvetdyjuydq', 34359738368, 3896640, 3637440, 5283409, 0, 0, false, '2025-09-02 00:38:02.04', '2025-09-02 00:38:02.04', NULL), +(152009663, 0, 118554082, 'claim', '3645919', '1889668', '368381', 'baga6ea4seaqhd32q43ax72mf7akublvjwytb7viagmfgifkxxexgu2drfvykgga', 34359738368, 3896640, 3637440, 5487700, 0, 0, false, '2025-11-12 00:49:01.407', '2025-11-12 00:49:01.407', NULL), +(53773924, 20628123, 0, 'deal', '1877976', '1923786', '0', 'baga6ea4seaqpcngju4eisorxvkykc2arrirzajswe6c25jpp2zmg6uv4g33veky', 34359738368, 4010542, NULL, 2475411, 0, 0, false, '2024-10-23 15:01:01.969799', '2024-10-23 15:01:01.969799', NULL), +(52346174, 18838552, 0, 'deal', '1880195', '1923786', '0', 'baga6ea4seaqjvo6uu7rhgh66utjanvdxwy7kis2y2xdczoroofrqbnvxp7glsfq', 34359738368, 3941317, NULL, 2427860, 0, 0, false, '2024-10-23 14:45:32.00463', '2024-10-23 14:45:32.00463', NULL), +(46928555, 13078285, 0, 'deal', '1880196', '1923786', '0', 'baga6ea4seaqg5omxu2drfvryvrecdckkkcdesz3ndds2v2c6i2b5x3aloj76siy', 34359738368, 3783287, NULL, 2252815, 0, 0, false, '2024-10-23 13:50:27.937698', '2024-10-23 13:50:27.937698', NULL), +(46871160, 13019387, 0, 'deal', '1904436', '1923786', '0', 'baga6ea4seaqggoe4wgiqrr7kfs63lxpnq6rt6hm3l67utxjjn4gsac6izrhvapq', 34359738368, 3788600, NULL, 2249444, 0, 0, false, '2024-10-23 13:50:03.236072', '2024-10-23 13:50:03.236072', NULL), +(52524921, 19102092, 0, 'deal', '1906730', '1923786', '0', 'baga6ea4seaqb5ty6tbl4zhwje2i3nzsjwpctd5zrvzt2df67fq4m6k6oeqcmiaq', 8589934592, 3969626, NULL, 2432859, 0, 0, false, '2024-10-23 14:47:30.852474', '2024-10-23 14:47:30.852474', NULL), +(49532910, 15795064, 0, 'deal', '1912619', '1923786', '0', 'baga6ea4seaqjxjry4b6pegvzfh2tiv4hwyf3b45wz646zdfzetuzff5gqhwnifa', 34359738368, 3874769, NULL, 2340000, 0, 0, false, '2024-10-23 14:14:24.295845', '2024-10-23 14:14:24.295845', NULL), +(48560754, 14785279, 0, 'deal', '1924648', '1923786', '0', 'baga6ea4seaqet3yqyxein5rdln4x2wx23uh2zlpj2v2hxqnfhmgxkdnbatx2key', 34359738368, 3843125, NULL, 2313098, 0, 0, false, '2024-10-23 14:03:25.653436', '2024-10-23 14:03:25.653436', NULL), +(48610920, 14831319, 0, 'deal', '1924649', '1923786', '0', 'baga6ea4seaqjmdt7z7zzy7szrn7g3l7hxrdu4eipxldco3lnqayw536qxmm4una', 34359738368, 3843089, NULL, 2314119, 0, 0, false, '2024-10-23 14:04:00.241498', '2024-10-23 14:04:00.241498', NULL), +(52066184, 18483760, 0, 'deal', '1929879', '1923786', '0', 'baga6ea4seaqkkrtrgh4fnijrnqufaalfpg3wfrcvwdzh65jpksrlvt5re6yxsdi', 34359738368, 3961192, NULL, 2417945, 0, 0, false, '2024-10-23 14:42:28.462412', '2024-10-23 14:42:28.462412', NULL), +(54854170, 21868370, 0, 'deal', '1930006', '1923786', '74875', 'baga6ea4seaqngp3vafnal6kuyoigaisna2zkla7dc3pwdljozn7usoiy3dalmca', 34359738368, 4053043, NULL, 2507845, 0, 0, false, '2024-10-23 15:12:28.230845', '2024-10-23 15:12:28.230845', NULL), +(50745581, 17068078, 0, 'deal', '1930007', '1923786', '0', 'baga6ea4seaqp53jlvo2v5gsnohauzyq5473ukfzpglav2eg7amh4cddd7vhs2gq', 34359738368, 3911221, NULL, 2370726, 0, 0, false, '2024-10-23 14:27:56.172233', '2024-10-23 14:27:56.172233', NULL), +(53985287, 20858988, 0, 'deal', '1941183', '1923786', '71014', 'baga6ea4seaqp7qspb5w3wm7pl66hr235vb7nbut6odk3s6xdvw57ro23broaaly', 34359738368, 4017691, NULL, 2483050, 0, 0, false, '2024-10-23 15:03:19.205584', '2024-10-23 15:03:19.205584', NULL), +(57265659, 24543824, 0, 'deal', '1941184', '1923786', '79599', 'baga6ea4seaqoyvzpaora6kbhve5esxhzsh3ufh7tyagkfjq4c4ct3szcahbbcna', 34359738368, 4137055, NULL, 2595998, 0, 0, false, '2024-10-23 15:37:20.455899', '2024-10-23 15:37:20.455899', NULL), +(62075555, 29944212, 0, 'deal', '1941185', '1923786', '88197', 'baga6ea4seaqpsaqgo7i2nyvyxgnrfcvejaxbeyjbixq6h2et6garthjw7ua74ky', 34359738368, 4248712, NULL, 2717002, 0, 0, false, '2024-10-23 16:24:55.214047', '2024-10-23 16:24:55.214047', NULL), +(54429849, 21390170, 0, 'deal', '1941186', '1923786', '74859', 'baga6ea4seaqmudljzebsp7s6jpv4dtk5xxa2b4k3dln222uv65zdqv2pvi5lsoa', 34359738368, 4032835, NULL, 2496013, 0, 0, false, '2024-10-23 15:08:00.682079', '2024-10-23 15:08:00.682079', NULL), +(73076055, 41924915, 0, 'deal', '1984832', '1923786', '191949', 'baga6ea4seaqnrxko7lkjnnetogrjsgpumpc6uv4dkvuhyaiiquqnb2d4hmvuaey', 34359738368, 4502826, NULL, 2959714, 0, 0, false, '2024-10-23 18:15:37.109158', '2024-10-23 18:15:37.109158', NULL), +(75274261, 44290505, 0, 'deal', '1984836', '1923786', '218524', 'baga6ea4seaqnfxjbbqwrw7l4k6z5g46jkv7eh5xij6xr4xqbu24o6g3f2ac7ada', 34359738368, 4549580, NULL, 3002347, 0, 0, false, '2024-10-23 18:40:14.068918', '2024-10-23 18:40:14.068918', NULL), +(75232110, 44245402, 0, 'deal', '1984873', '1923786', '218090', 'baga6ea4seaqg3d5ar2xqtpz4m2esqzf7a5s2m5npunxlgu53lmfwhbshamktypi', 34359738368, 4546775, NULL, 3001775, 0, 0, false, '2024-10-23 18:39:44.625892', '2024-10-23 18:39:44.625892', NULL), +(72655106, 41471237, 0, 'deal', '1984874', '1923786', '186607', 'baga6ea4seaqpkjsywr6oulieaaepxf452w34i3ygbnf2gde32zpse4kukm6h6ha', 34359738368, 4490890, NULL, 2951667, 0, 0, false, '2024-10-23 18:10:59.37172', '2024-10-23 18:10:59.37172', NULL), +(72327695, 41125194, 0, 'deal', '1984875', '1923786', '182356', 'baga6ea4seaqmwxon42tvr5hn3uj2trlz2tnqwqtltxwiidtpkfikigtmbyznopq', 34359738368, 4488032, NULL, 2945082, 0, 0, false, '2024-10-23 18:07:25.539165', '2024-10-23 18:07:25.539165', NULL), +(61650574, 29482679, 0, 'deal', '1992879', '1923786', '85773', 'baga6ea4seaqdcul7tz2xylt3hufbzwxyc3rcooxhegj4wydyizzelqn2nuk7yoq', 34359738368, 4245687, NULL, 2706992, 0, 0, false, '2024-10-23 16:20:53.36371', '2024-10-23 16:20:53.36371', NULL), +(75107122, 44111134, 0, 'deal', '1999562', '1923786', '216468', 'baga6ea4seaqlnauckeqezlzh74zvugyrjyscf5w4iwgpmxbi5k46uoibfqnecmy', 34359738368, 4537254, NULL, 2999271, 0, 0, false, '2024-10-23 18:38:21.768774', '2024-10-23 18:38:21.768774', NULL), +(62667404, 30574343, 0, 'deal', '2066000', '1923786', '92664', 'baga6ea4seaqouila23nthnpzhz3ntabmwpm6sxu2e2psrhtv33i5tpijkkkh6ly', 34359738368, 4267054, NULL, 2730293, 0, 0, false, '2024-10-23 16:30:28.293654', '2024-10-23 16:30:28.293654', NULL), +(63796036, 31783050, 0, 'deal', '2090474', '1923786', '99870', 'baga6ea4seaqjfbuuxn63syugxnjjhga2x4b54vtt5zfqkmklajpigi4mqzi2onq', 34359738368, 4292307, NULL, 2754446, 0, 0, false, '2024-10-23 16:41:03.216769', '2024-10-23 16:41:03.216769', NULL), +(70850152, 39470856, 0, 'deal', '2097088', '1923786', '164065', 'baga6ea4seaqpsf3y7ynirjzdyqbsabjlnz5logcge7v5327kvwudslf2kcdueea', 34359738368, 4445420, NULL, 2915005, 0, 0, false, '2024-10-23 17:51:24.300092', '2024-10-23 17:51:24.300092', NULL), +(63167235, 31104870, 0, 'deal', '2098873', '1923786', '96441', 'baga6ea4seaqimmaqu5et6ohwcikjeafq6nye6fvv2kftflyq33opodm2wcsdghq', 34359738368, 4284299, NULL, 2740711, 0, 0, false, '2024-10-23 16:35:08.59591', '2024-10-23 16:35:08.59591', NULL), +(75009925, 44009760, 0, 'deal', '2126804', '1923786', '215474', 'baga6ea4seaqpt2ahhv5ybccd4pv7kauj4iiaqwuarij4xwphsqfidrdqbzm5ooi', 34359738368, 4537506, NULL, 2997455, 0, 0, false, '2024-10-23 18:37:13.094493', '2024-10-23 18:37:13.094493', NULL), +(72919339, 41755453, 0, 'deal', '2126809', '1923786', '189929', 'baga6ea4seaqiuuy2zrlnmimox2coxy4q5daac2j2hjk7izdon3md32qn5eo3may', 34359738368, 4497070, NULL, 2956587, 0, 0, false, '2024-10-23 18:13:54.770205', '2024-10-23 18:13:54.770205', NULL), +(73869291, 42777758, 0, 'deal', '2126811', '1923786', '201952', 'baga6ea4seaqpxwhiaury2avvab6d4zl24xwmb6ci2q56zfoqw7styji5epznwfa', 34359738368, 4522253, NULL, 2975151, 0, 0, false, '2024-10-23 18:24:21.716645', '2024-10-23 18:24:21.716645', NULL), +(74155916, 43084653, 0, 'deal', '2128499', '1923786', '204975', 'baga6ea4seaqjtqza6wtixe3nmufve45hq3rhayzo7ym3myom2stra4oit2izcaq', 34359738368, 4527637, NULL, 2980418, 0, 0, false, '2024-10-23 18:27:29.955895', '2024-10-23 18:27:29.955895', NULL), +(70303016, 38868441, 0, 'deal', '2128612', '1923786', '157034', 'baga6ea4seaqpmr7da4d43aopqyqf6gu7warqatbayyy6ethhq5v5ns354mdrcdi', 34359738368, 4439191, NULL, 2904102, 0, 0, false, '2024-10-23 17:45:42.585885', '2024-10-23 17:45:42.585885', NULL), +(75274265, 44290509, 0, 'deal', '2128613', '1923786', '218507', 'baga6ea4seaqoojxrqklumb5ceuwtqe7vwyk64wb7heqci2lmt4lhbpl3eyorclq', 34359738368, 4549580, NULL, 3002337, 0, 0, false, '2024-10-23 18:40:14.068918', '2024-10-23 18:40:14.068918', NULL), +(69045507, 37507346, 0, 'deal', '2129070', '1923786', '142524', 'baga6ea4seaqoh2dlhocvc7ofy5uh473yamie4vxt7buocl6iugzdeimlsqjc4ei', 34359738368, 4413585, NULL, 2877591, 0, 0, false, '2024-10-23 17:32:47.945896', '2024-10-23 17:32:47.945896', NULL), +(72696621, 41516062, 0, 'deal', '2129071', '1923786', '187158', 'baga6ea4seaqkpktzuwt3352poucrqhw5ii2el72lmeqoetkox4a5bte5apmqena', 34359738368, 4493376, NULL, 2953594, 0, 0, false, '2024-10-23 18:11:27.993466', '2024-10-23 18:11:27.993466', NULL), +(74014725, 42931499, 0, 'deal', '2129072', '1923786', '203766', 'baga6ea4seaqpcahsqnm5p27nrw7yx5tcm3lrdhq5dtjhgojj2iegfymsadyuafy', 34359738368, 4519146, NULL, 2977549, 0, 0, false, '2024-10-23 18:25:56.207768', '2024-10-23 18:25:56.207768', NULL), +(74378841, 43330747, 0, 'deal', '2185203', '1923786', '207964', 'baga6ea4seaqklj2p6wuumd3gaszyuagchxr77vq7puhm2ajr5admk7zv6zyuici', 34359738368, 4527637, NULL, 2985039, 0, 0, false, '2024-10-23 18:29:59.404771', '2024-10-23 18:29:59.404771', NULL), +(71586939, 40310180, 0, 'deal', '2185204', '1923786', '174104', 'baga6ea4seaqbq2nfaqnioxfdzmuidspn5m2lfesrm2kgiylw3omvjj5a2txouja', 34359738368, 4470199, NULL, 2930616, 0, 0, false, '2024-10-23 17:59:09.512413', '2024-10-23 17:59:09.512413', NULL), +(73475904, 42351805, 0, 'deal', '2190348', '1923786', '196814', 'baga6ea4seaqp77lrhzq4wl3py26p7sm3e5cbu3x6qtastl2e7bibtg7esqzeudq', 34359738368, 4510517, NULL, 2967089, 0, 0, false, '2024-10-23 18:20:00.835893', '2024-10-23 18:20:00.835893', NULL), +(74645782, 43617419, 0, 'deal', '2190848', '1923786', '211520', 'baga6ea4seaqkbzaxr3cd2j3jxh7w3k546ajqpc2gvmtsjyord33jqfxkp7yv2li', 34359738368, 4531160, NULL, 2990753, 0, 0, false, '2024-10-23 18:33:03.529463', '2024-10-23 18:33:03.529463', NULL), +(75031057, 44030301, 0, 'deal', '2191439', '1923786', '215707', 'baga6ea4seaqnnkkj6s3rjvc6muhlkk5menio733zfsrhzfzgb2ay5tup5igd4ai', 34359738368, 4531595, NULL, 2998193, 0, 0, false, '2024-10-23 18:37:26.555907', '2024-10-23 18:37:26.555907', NULL), +(73662178, 42552821, 0, 'deal', '2199133', '1923786', '199333', 'baga6ea4seaqpvh3stwa4bhj3wqd7a64rmvwo5wbcvkub4ccvrucxv75wnzxwqia', 34359738368, 4519146, NULL, 2970749, 0, 0, false, '2024-10-23 18:22:04.645166', '2024-10-23 18:22:04.645166', NULL), +(75014886, 44011186, 0, 'deal', '2208908', '1923786', '215496', 'baga6ea4seaqev6n7q3rnsmhcu52ongjap7psllw4r4qet5uhncnl7am75lm4afy', 34359738368, 4537170, NULL, 2997573, 0, 0, false, '2024-10-23 18:37:14.463109', '2024-10-23 18:37:14.463109', NULL), +(53532554, 20362603, 0, 'deal', '1877976', '1923787', '0', 'baga6ea4seaqdqfk4ptbnlm26duvp56nsjay2qlizaiwnnhf3eaqjtomgdv3fajy', 34359738368, 4010191, NULL, 2467883, 0, 0, false, '2024-10-23 14:58:23.702326', '2024-10-23 14:58:23.702326', NULL), +(58408449, 25916736, 0, 'deal', '1880195', '1923787', '82613', 'baga6ea4seaqfyshixjhk4vdkxkj6mqpmh2l2le7uug5yakqida5aeky2khpiacq', 34359738368, 4135268, NULL, 2626793, 0, 0, false, '2024-10-23 15:48:52.97208', '2024-10-23 15:48:52.97208', NULL), +(57213426, 24487258, 0, 'deal', '1880196', '1923787', '0', 'baga6ea4seaqkhzxzeya2q5nrqn4d3yqqa5jtriwdz7vpx4m4eud7lx6ukwoigeq', 34359738368, 4112000, NULL, 2594069, 0, 0, false, '2024-10-23 15:36:47.664595', '2024-10-23 15:36:47.664595', NULL), +(46919547, 13067802, 0, 'deal', '1904436', '1923787', '0', 'baga6ea4seaqhex7jsb7w6uveuutct5xizg3gwde4censnvngmqhkev3dal3tueq', 34359738368, 3788600, NULL, 2251103, 0, 0, false, '2024-10-23 13:50:24.366852', '2024-10-23 13:50:24.366852', NULL), +(49637438, 15905397, 0, 'deal', '1912619', '1923787', '0', 'baga6ea4seaqhk54khevifkwuinrvrov2pzimaeppnoofevqi4y22fk6njbuzcna', 34359738368, 3874747, NULL, 2342242, 0, 0, false, '2024-10-23 14:15:35.732953', '2024-10-23 14:15:35.732953', NULL), +(48655736, 14878304, 0, 'deal', '1924648', '1923787', '0', 'baga6ea4seaqpya7dinxpjqd7lu4onhpteq7ntdlxsb4hivzufpfm4eme35dhgki', 34359738368, 3843138, NULL, 2315694, 0, 0, false, '2024-10-23 14:04:28.029178', '2024-10-23 14:04:28.029178', NULL), +(48032845, 14227084, 0, 'deal', '1924649', '1923787', '0', 'baga6ea4seaqfqaukva34datfgfdqt6i22c6i2zsgewgyg4ia42kj6eeh2wv4uaq', 34359738368, 3816816, NULL, 2289168, 0, 0, false, '2024-10-23 13:58:10.586647', '2024-10-23 13:58:10.586647', NULL), +(50693047, 17013510, 0, 'deal', '1929879', '1923787', '0', 'baga6ea4seaqjrdljihaepjq44lhlylzthzouemtxky4da5po3h5hi52qgnvb2ji', 34359738368, 3911222, NULL, 2369553, 0, 0, false, '2024-10-23 14:27:21.378981', '2024-10-23 14:27:21.378981', NULL), +(52115021, 18536633, 0, 'deal', '1930006', '1923787', '0', 'baga6ea4seaqghr6l4facclecvbswk2vcf5hdw7ozvysmexk5m4bsahxtb7pw6ai', 34359738368, 3961188, NULL, 2419715, 0, 0, false, '2024-10-23 14:42:59.630244', '2024-10-23 14:42:59.630244', NULL), +(52114959, 18536570, 0, 'deal', '1930007', '1923787', '0', 'baga6ea4seaqpz6yniu7ydgsejp5wsghzlk2f3ka5k5ryflpbrtj2nwpiytkkigi', 34359738368, 3961196, NULL, 2419659, 0, 0, false, '2024-10-23 14:42:59.630244', '2024-10-23 14:42:59.630244', NULL), +(53294272, 20086368, 0, 'deal', '1937484', '1923787', '0', 'baga6ea4seaqnuxhpd6xtxc2co77oar5nqcflwi4frm2fijlmkttsddzrhqzfkkq', 34359738368, 4001905, NULL, 2459724, 0, 0, false, '2024-10-23 14:55:51.964237', '2024-10-23 14:55:51.964237', NULL), +(53719935, 20570731, 0, 'deal', '1941183', '1923787', '68964', 'baga6ea4seaqpncfhyxoxhfb7udaemse73tbjpmd7ubgygzy7n4sfsfkcp6z3slq', 34359738368, 4017686, NULL, 2473471, 0, 0, false, '2024-10-23 15:00:28.699271', '2024-10-23 15:00:28.699271', NULL), +(58511697, 26021997, 0, 'deal', '1941184', '1923787', '82904', 'baga6ea4seaqp6pwviqbh3hy6nwutkluk7ry6bb3lxos4tlvpp6aw4dcnmmwugey', 34359738368, 4168624, NULL, 2628832, 0, 0, false, '2024-10-23 15:49:52.304058', '2024-10-23 15:49:52.304058', NULL), +(61589726, 29417742, 0, 'deal', '1941185', '1923787', '0', 'baga6ea4seaqprnhyg4bfce5vvsc4lai3623xsmg4wglxtrfw7iszdd7gwwmvijq', 34359738368, 4248892, NULL, 2705763, 0, 0, false, '2024-10-23 16:20:16.444435', '2024-10-23 16:20:16.444435', NULL), +(54363398, 21312289, 0, 'deal', '1941186', '1923787', '72503', 'baga6ea4seaqivfqs7xt5jcgfclamjtldqm73kuuui4luwr4hevqtki2boxajicy', 34359738368, 4032789, NULL, 2493943, 0, 0, false, '2024-10-23 15:07:18.539358', '2024-10-23 15:07:18.539358', NULL), +(72981686, 41824458, 0, 'deal', '1984832', '1923787', '276632', 'baga6ea4seaqndqijwnjzy4udvmmsfwpb5pku3tiwbu4nxpeqzgbs6jcpief7wpa', 34359738368, 4502826, NULL, 2957745, 0, 0, false, '2024-10-23 18:14:36.655906', '2024-10-23 18:14:36.655906', NULL), +(75265966, 44281484, 0, 'deal', '1984836', '1923787', '0', 'baga6ea4seaqaprh6xzsdrdgagl26ju22z6y7l73cgvwrkwd4k7sevf2plujb4bi', 34359738368, 4549580, NULL, 3002271, 0, 0, false, '2024-10-23 18:40:12.127348', '2024-10-23 18:40:12.127348', NULL), +(75256850, 44271917, 0, 'deal', '1984873', '1923787', '0', 'baga6ea4seaqml2vq24lbr3n6d66a5vauabliuhbm6b3olnfwfioktbuoneiiohy', 34359738368, 4546775, NULL, 3002452, 0, 0, false, '2024-10-23 18:40:04.001769', '2024-10-23 18:40:04.001769', NULL), +(72630460, 41445386, 0, 'deal', '1984874', '1923787', '0', 'baga6ea4seaqpvl7rdxk5slxzxoooumfayxkl25xshjms6upcvga5gjltznsr4iy', 34359738368, 4490890, NULL, 2951324, 0, 0, false, '2024-10-23 18:10:45.785769', '2024-10-23 18:10:45.785769', NULL), +(72217875, 41005802, 0, 'deal', '1984875', '1923787', '266786', 'baga6ea4seaqjlaxdo64ugsqq4fov5dl6qepr5k6uonle3mb2rdjam6x33hu5ajy', 34359738368, 4488032, NULL, 2946295, 0, 0, false, '2024-10-23 18:06:10.275891', '2024-10-23 18:06:10.275891', NULL), +(61651001, 29483125, 0, 'deal', '1992879', '1923787', '0', 'baga6ea4seaqmmatsqirnez63x2jdrtoepprxqstqk23ezhegciym6hi4sgdtumi', 34359738368, 4245642, NULL, 2706961, 0, 0, false, '2024-10-23 16:20:53.36371', '2024-10-23 16:20:53.36371', NULL), +(75010370, 44010212, 0, 'deal', '1999562', '1923787', '0', 'baga6ea4seaqon7mz6bn7b4p3p43q2czn4amfjgbcmfq3pvsdpzi7bqgjz7bo4ni', 34359738368, 4537351, NULL, 2997373, 0, 0, false, '2024-10-23 18:37:13.094493', '2024-10-23 18:37:13.094493', NULL), +(62670438, 30580944, 0, 'deal', '2066000', '1923787', '0', 'baga6ea4seaqpu7l2kcgl6fa2xgkym6xvin5pjww2kpdwfdijtpzsyrffgyxfqna', 34359738368, 4267017, NULL, 2730399, 0, 0, false, '2024-10-23 16:30:32.055894', '2024-10-23 16:30:32.055894', NULL), +(63711451, 31694010, 0, 'deal', '2090474', '1923787', '0', 'baga6ea4seaqpwnagsj73b54wxr5xuqzyktq37ctj22fhkiruwkrsffkbcniryki', 34359738368, 4292244, NULL, 2752653, 0, 0, false, '2024-10-23 16:40:18.175898', '2024-10-23 16:40:18.175898', NULL), +(70610781, 39217893, 0, 'deal', '2097088', '1923787', '0', 'baga6ea4seaqkzxvchgsy7zgskl3ygoyztzvmfvdlsehywxmfdxp7yvry4jefgda', 34359738368, 4067158, NULL, 2910218, 0, 0, false, '2024-10-23 17:48:57.415896', '2024-10-23 17:48:57.415896', NULL), +(63266012, 31216381, 0, 'deal', '2098873', '1923787', '0', 'baga6ea4seaqp7xnt6cuk6vbu3mfkfgqbymyfkcmflty3wtquvvvwvpsj2vxpada', 34359738368, 4284285, NULL, 2743252, 0, 0, false, '2024-10-23 16:36:05.505896', '2024-10-23 16:36:05.505896', NULL), +(74930087, 43931994, 0, 'deal', '2126804', '1923787', '0', 'baga6ea4seaqptglzj5vmgulbvabrn76t7nydi4hjekbtcjsgbpk3rbe7j2st6mi', 34359738368, 4537506, NULL, 2996027, 0, 0, false, '2024-10-23 18:36:17.855892', '2024-10-23 18:36:17.855892', NULL), +(72811432, 41642718, 0, 'deal', '2126809', '1923787', '0', 'baga6ea4seaqpws5ll76z5ke3zua3xs5u2m37wqgcmafux3lxgvby5egk3vx5gei', 34359738368, 4497070, NULL, 2954336, 0, 0, false, '2024-10-23 18:12:44.055021', '2024-10-23 18:12:44.055021', NULL), +(73745814, 42642126, 0, 'deal', '2126811', '1923787', '285480', 'baga6ea4seaqm3zjczy4bzxgfaq4xodjeddlmpjpilpznfs4gxabqvhadg3znqny', 34359738368, 4522253, NULL, 2972502, 0, 0, false, '2024-10-23 18:22:56.997975', '2024-10-23 18:22:56.997975', NULL), +(74398242, 43349516, 0, 'deal', '2128499', '1923787', '292821', 'baga6ea4seaqelfthlbtdx26dlcrpkrwqesiejoxmdcy3iwv23e7g2uciko4kyoi', 34359738368, 4527637, NULL, 2985224, 0, 0, false, '2024-10-23 18:30:12.93998', '2024-10-23 18:30:12.93998', NULL), +(70222789, 38778328, 0, 'deal', '2128612', '1923787', '0', 'baga6ea4seaqizqb7kngknv4yvelinuii2nmh2fqgxx2bkvyukkxuxkaakv4hipa', 34359738368, 4439191, NULL, 2903042, 0, 0, false, '2024-10-23 17:44:51.856766', '2024-10-23 17:44:51.856766', NULL), +(75265952, 44281475, 0, 'deal', '2128613', '1923787', '0', 'baga6ea4seaqmhcqq6gnjgppyp5izg7xmbbh4g4hjj54dwckevhqkq53qaulkqby', 34359738368, 4549580, NULL, 3002265, 0, 0, false, '2024-10-23 18:40:12.127348', '2024-10-23 18:40:12.127348', NULL), +(69353223, 37837321, 0, 'deal', '2129070', '1923787', '0', 'baga6ea4seaqpw3p4ge6qvopv7umgw5ynr6txfctd5x4nrx4il2kbm24z6teawcy', 34359738368, 4424791, NULL, 2883887, 0, 0, false, '2024-10-23 17:35:58.057194', '2024-10-23 17:35:58.057194', NULL), +(72968971, 41809443, 0, 'deal', '2129071', '1923787', '276451', 'baga6ea4seaqj63gjlgleum2ajlnipsgydzrclsmpyfcppdc4c5amkk3ryko36ai', 34359738368, 4493376, NULL, 2957517, 0, 0, false, '2024-10-23 18:14:25.820899', '2024-10-23 18:14:25.820899', NULL), +(74009250, 42924654, 0, 'deal', '2129072', '1923787', '288604', 'baga6ea4seaqkeduwbuo7o6dkjjcp7xc5ann6of3jci27klrck3jmaq2bpwzweiq', 34359738368, 4519146, NULL, 2977604, 0, 0, false, '2024-10-23 18:25:53.721229', '2024-10-23 18:25:53.721229', NULL), +(74445221, 43404521, 0, 'deal', '2185203', '1923787', '0', 'baga6ea4seaqpyhf5vnrc3kl5sd5rjr33ekuoytjmqlxhlsxinlmq5kxtiicveaq', 34359738368, 4527637, NULL, 2987096, 0, 0, false, '2024-10-23 18:30:44.69686', '2024-10-23 18:30:44.69686', NULL), +(71586689, 40310035, 0, 'deal', '2185204', '1923787', '258766', 'baga6ea4seaqph5tcwrgpkvmnfse5vxo2ohvuq7b534ubuv6hepted2e23lvqibi', 34359738368, 4473111, NULL, 2930865, 0, 0, false, '2024-10-23 17:59:09.512413', '2024-10-23 17:59:09.512413', NULL), +(73406346, 42288925, 0, 'deal', '2190348', '1923787', '281528', 'baga6ea4seaqpvvocekd26n2ujsfugrqpirm6d3kha73oim5qijxmaminpkwoqaa', 34359738368, 4510517, NULL, 2965957, 0, 0, false, '2024-10-23 18:19:15.508738', '2024-10-23 18:19:15.508738', NULL), +(74626148, 43597852, 0, 'deal', '2190848', '1923787', '295894', 'baga6ea4seaqpwfil4ice5mmi54opkhojn7lg7so6xcnss4o2thjadbzy64jycjq', 34359738368, 4531160, NULL, 2989973, 0, 0, false, '2024-10-23 18:32:50.162251', '2024-10-23 18:32:50.162251', NULL), +(74834700, 43819878, 0, 'deal', '2191439', '1923787', '0', 'baga6ea4seaqpad2h37voplrex6ku4utf45ode7vqhzruxx6iqfkzeukv73b36ii', 34359738368, 4531595, NULL, 2994356, 0, 0, false, '2024-10-23 18:35:10.854445', '2024-10-23 18:35:10.854445', NULL), +(73622963, 42512321, 0, 'deal', '2199133', '1923787', '284120', 'baga6ea4seaqniadyxkyp3axb64hlnwnu7mqqovvvpgn33lh5ehauyjstr34gini', 34359738368, 4519146, NULL, 2970344, 0, 0, false, '2024-10-23 18:21:38.655277', '2024-10-23 18:21:38.655277', NULL), +(74930086, 43931993, 0, 'deal', '2208908', '1923787', '0', 'baga6ea4seaqmntz2ui4pcu6xsxxd7ee4xwwfreoo54agu2ytokipa6znc6efwba', 34359738368, 4537170, NULL, 2995908, 0, 0, false, '2024-10-23 18:36:17.855892', '2024-10-23 18:36:17.855892', NULL), +(58685400, 26223080, 0, 'deal', '1512996', '1939387', '42270', 'baga6ea4seaqojdqw424cbqozcujuc5inbxq43msomvqf7v5oohwt2sujiilr4dy', 34359738368, 4186949, NULL, 2632600, 0, 0, false, '2024-10-23 15:51:37.270639', '2024-10-23 15:51:37.270639', NULL), +(59309066, 26907967, 0, 'deal', '1513502', '1939387', '46247', 'baga6ea4seaqj4lj64b6g6zk5ogh3uuhf6qjziqmxtmq4jbruvphuzt5r4ffjcky', 34359738368, 4202725, NULL, 2648168, 0, 0, false, '2024-10-23 15:57:47.05789', '2024-10-23 15:57:47.05789', NULL), +(58375071, 25869527, 0, 'deal', '1765178', '1939387', '40330', 'baga6ea4seaqdrm6kemll6gle46xoeqocaxl5pu623lgy4cyxkl6hn2h4l655smi', 34359738368, 4180164, NULL, 2625843, 0, 0, false, '2024-10-23 15:48:32.24193', '2024-10-23 15:48:32.24193', NULL), +(56586810, 23781449, 0, 'deal', '1788118', '1939387', '30312', 'baga6ea4seaqclry5rchsneif6o5jlearznyjx3eeiipw5rxdpmrpssffhlteocq', 34359738368, 4126756, NULL, 2572215, 0, 0, false, '2024-10-23 15:30:29.573675', '2024-10-23 15:30:29.573675', NULL), +(56722291, 23930965, 0, 'deal', '1788133', '1939387', '30409', 'baga6ea4seaqncb367oon4ycgvnx2ouscilewbezlk6o46jj7n5pv5ql4dvon2gi', 34359738368, 4131593, NULL, 2577105, 0, 0, false, '2024-10-23 15:31:50.841056', '2024-10-23 15:31:50.841056', NULL), +(58085966, 25555836, 0, 'deal', '1868373', '1939387', '38874', 'baga6ea4seaqfys5jkakypky65of67kf2mftyfsjcos3oc2uj4eccpzr44p3vqaa', 34359738368, 4173486, NULL, 2618913, 0, 0, false, '2024-10-23 15:45:38.331987', '2024-10-23 15:45:38.331987', NULL), +(53544488, 20378592, 0, 'deal', '1872946', '1939387', '15202', 'baga6ea4seaqnkcu4mdonb2bnwnvlbalyq2lmq7djgbncybvy5372sge3skvhmoy', 34359738368, 4010329, NULL, 2470006, 0, 0, false, '2024-10-23 14:58:31.894581', '2024-10-23 14:58:31.894581', NULL), +(48436667, 14647782, 0, 'deal', '1903406', '1939387', '0', 'baga6ea4seaqiqkkkscuf3ohbizlhyvajjkmkf7rnp5ghoyhbuh5s23xse6pb2gq', 34359738368, 3857689, NULL, 2308173, 0, 0, false, '2024-10-23 14:01:14.331203', '2024-10-23 14:01:14.331203', NULL), +(47343069, 13508307, 0, 'deal', '1904026', '1939387', '0', 'baga6ea4seaqd5n4sgc7inzmh4jpiqrxz65yc5mm7n2tlsn4hrtxu3mtr744iufq', 34359738368, 3817369, NULL, 2270139, 0, 0, false, '2024-10-23 13:53:18.82574', '2024-10-23 13:53:18.82574', NULL), +(56196549, 23341097, 0, 'deal', '1905314', '1939387', '28719', 'baga6ea4seaqbjl5ocwuojsjhdenqdax24a3oxvgrfm5t34amemvoif7fwbqh4kq', 34359738368, 4110986, NULL, 2557506, 0, 0, false, '2024-10-23 15:26:27.605839', '2024-10-23 15:26:27.605839', NULL), +(55780651, 22891681, 0, 'deal', '1916905', '1939387', '26620', 'baga6ea4seaqep5esy4qx5pwoww6b2d7iwowkorqip5h4fbukfeebqp4fe73qofy', 34359738368, 4091180, NULL, 2536625, 0, 0, false, '2024-10-23 15:22:07.449139', '2024-10-23 15:22:07.449139', NULL), +(51320347, 17670388, 0, 'deal', '1924648', '1939387', '0', 'baga6ea4seaqley3xlf4iia42yt3qplahkhnkieenogfzu7xlkz2765bpnstoaca', 34359738368, 3935449, NULL, 2389718, 0, 0, false, '2024-10-23 14:34:15.895857', '2024-10-23 14:34:15.895857', NULL), +(51072088, 17410127, 0, 'deal', '1924649', '1939387', '0', 'baga6ea4seaqfcp2fvksdjhcdicv5jqpl6k4ylo73fobuspmbd3eroperzmg6uji', 34359738368, 3918169, NULL, 2380115, 0, 0, false, '2024-10-23 14:31:31.577405', '2024-10-23 14:31:31.577405', NULL), +(61909575, 29767673, 0, 'deal', '1925065', '1939387', '52637', 'baga6ea4seaqbvesitftyz36p4yynr27xecyfamt2h4sk2weizsv4njwnjd432ha', 34359738368, 4267597, NULL, 2713056, 0, 0, false, '2024-10-23 16:23:20.202769', '2024-10-23 16:23:20.202769', NULL), +(47380526, 13551136, 0, 'deal', '1927870', '1939387', '0', 'baga6ea4seaqjqlwr4o5ccsd732i3df3oniwzopi24ra327ral46r5isufg2z2ci', 34359738368, 3820249, NULL, 2269416, 0, 0, false, '2024-10-23 13:53:34.543658', '2024-10-23 13:53:34.543658', NULL), +(56845325, 24067981, 0, 'deal', '1935137', '1939387', '31070', 'baga6ea4seaqoaspglfz77esokkhx5town2o6pqfc7ntmys4r2apzoh43tfqv4gy', 34359738368, 4137163, NULL, 2583150, 0, 0, false, '2024-10-23 15:33:04.665584', '2024-10-23 15:33:04.665584', NULL), +(47168776, 13326096, 0, 'deal', '1939847', '1939387', '0', 'baga6ea4seaqe3dgijdvzhd3cuei7v5gc4ghkkqeysamglw4jiru6qy6daudwwiq', 34359738368, 3808729, NULL, 2260455, 0, 0, false, '2024-10-23 13:52:05.685894', '2024-10-23 13:52:05.685894', NULL), +(99989886, 69628396, 0, 'deal', '1940691', '1939387', '109666', 'baga6ea4seaqfen22fscp35dw26nc7ypckdtxmclnkq5xuyxd7iwvponnwpo2wnq', 34359738368, 5133315, NULL, 3578880, 0, 0, false, '2024-10-23 19:46:12.569049', '2024-10-23 19:46:12.569049', NULL), +(55125105, 22160572, 0, 'deal', '1945167', '1939387', '21278', 'baga6ea4seaqfqy3iyb525vq6xm7zw3r2t7ubyblv7retnlfwxvrj7tsii763qai', 34359738368, 4069299, NULL, 2514825, 0, 0, false, '2024-10-23 15:15:18.289993', '2024-10-23 15:15:18.289993', NULL), +(57443127, 24743599, 0, 'deal', '1945350', '1939387', '34692', 'baga6ea4seaqotsvqxesvibcph5sdjsa6oyjuaq3qbtijqqs7y5pz6uqk36rlqaa', 34359738368, 4156007, NULL, 2601524, 0, 0, false, '2024-10-23 15:39:08.928005', '2024-10-23 15:39:08.928005', NULL), +(65971702, 34132600, 0, 'deal', '1972771', '1939387', '63724', 'baga6ea4seaqlr25clmnowfsvrggtnkwn743u3cgo62tlsi2i2wfr3zuppxkfefy', 34359738368, 4350169, NULL, 2810172, 0, 0, false, '2024-10-23 17:02:12.015901', '2024-10-23 17:02:12.015901', NULL), +(65954822, 34114301, 0, 'deal', '1972773', '1939387', '63425', 'baga6ea4seaqffyoe4geazin2ntca7y6xhy376y3ghfyn6jszjskuggmu4jfjwhi', 34359738368, 4350169, NULL, 2807446, 0, 0, false, '2024-10-23 17:02:00.776012', '2024-10-23 17:02:00.776012', NULL), +(55083601, 22113057, 0, 'deal', '1984693', '1939387', '20935', 'baga6ea4seaqama6i52kh6k2hqfmpgpiunejt34ne5oo64a2ipn327ckt3m5ycfy', 34359738368, 4067981, NULL, 2513507, 0, 0, false, '2024-10-23 15:14:52.804675', '2024-10-23 15:14:52.804675', NULL), +(67742614, 36065746, 0, 'deal', '1987838', '1939387', '66917', 'baga6ea4seaqiprbbrglv7ch6svgqamjrcuwmtiapvj54otx3cr6c2lmbptqz4la', 34359738368, 4396249, NULL, 2849707, 0, 0, false, '2024-10-23 17:19:38.631416', '2024-10-23 17:19:38.631416', NULL), +(100628684, 70267216, 0, 'deal', '2010854', '1939387', '0', 'baga6ea4seaqblc6cbawzvnm53fwe37qfgid6apdvwyxxjwedasm3jxl3mkxrwjq', 34359738368, 5148328, NULL, 4294967295, 0, 0, false, '2024-10-23 19:46:53.761659', '2024-10-23 19:46:53.761659', NULL), +(63639159, 31616220, 0, 'deal', '2024424', '1939387', '59058', 'baga6ea4seaqgqejbhqv6zckc3enjbg2zn6ujddn2aydes5dh4l6abgkgsphqqia', 34359738368, 4305577, NULL, 2751880, 0, 0, false, '2024-10-23 16:39:34.838884', '2024-10-23 16:39:34.838884', NULL), +(63798276, 31787455, 0, 'deal', '2024453', '1939387', '59513', 'baga6ea4seaqkbhw6hwfxhu4uukonpsxbimpu5w3gtakuwkiwgxnnnuisb566oha', 34359738368, 4309053, NULL, 2754986, 0, 0, false, '2024-10-23 16:41:06.767103', '2024-10-23 16:41:06.767103', NULL), +(61911843, 29770017, 0, 'deal', '2025826', '1939387', '52643', 'baga6ea4seaqigxmstunknbo276csj3fbvv52fras4bcs7enebfpr25j2ecb32kq', 34359738368, 4267636, NULL, 2713056, 0, 0, false, '2024-10-23 16:23:20.369047', '2024-10-23 16:23:20.369047', NULL), +(77971559, 47111933, 0, 'deal', '2026357', '1939387', '89531', 'baga6ea4seaqjrkagonnsx7zhk5gb3dhrlqouqz43vqs5n4otvn6jp4q4teqmmey', 34359738368, 4589209, NULL, 3054889, 0, 0, false, '2024-10-23 19:12:37.700587', '2024-10-23 19:12:37.700587', NULL), +(58300748, 25789062, 0, 'deal', '2029897', '1939387', '39785', 'baga6ea4seaqga5co24j6xhwtrvma2fmaftvibpmeu23d3qhsllgqnjows6d3ciy', 34359738368, 4178281, NULL, 2623788, 0, 0, false, '2024-10-23 15:47:48.381593', '2024-10-23 15:47:48.381593', NULL), +(65742071, 33890751, 0, 'deal', '2036333', '1939387', '62681', 'baga6ea4seaqpojzwzplauiduimdtxxuegnepbxeeyvmnawqqcatjouoqwxbysoy', 34359738368, 4344409, NULL, 2801508, 0, 0, false, '2024-10-23 16:59:53.876443', '2024-10-23 16:59:53.876443', NULL), +(63563131, 31535408, 0, 'deal', '2038606', '1939387', '58683', 'baga6ea4seaqojqajfcpynfsscizbppziilgh7j5xm2rw2wofkss3ghgwqywm2hq', 34359738368, 4304003, NULL, 2749613, 0, 0, false, '2024-10-23 16:38:51.598835', '2024-10-23 16:38:51.598835', NULL), +(80782126, 49997902, 0, 'deal', '2055509', '1939387', '98380', 'baga6ea4seaqh5zbpca6abxd4cunzxpof22i3paacvezfyn47cn75mzbcfi7kada', 34359738368, 4643929, NULL, 3110776, 0, 0, false, '2024-10-23 19:25:11.650726', '2024-10-23 19:25:11.650726', NULL), +(80725875, 49938740, 0, 'deal', '2057831', '1939387', '98179', 'baga6ea4seaqot7nqmlixahol4mcfhtaue4vssvwxameb4zm3va6ky2xwuijiupa', 34359738368, 4643929, NULL, 3109763, 0, 0, false, '2024-10-23 19:25:07.939346', '2024-10-23 19:25:07.939346', NULL), +(80796039, 50013171, 0, 'deal', '2057846', '1939387', '98463', 'baga6ea4seaqkcrdsigxbe6q7anatjze3pdswoyvlajmqm6dom3uuyeh7yk2vkoy', 34359738368, 4643929, NULL, 3111239, 0, 0, false, '2024-10-23 19:25:12.549023', '2024-10-23 19:25:12.549023', NULL), +(79292493, 48473534, 0, 'deal', '2057848', '1939387', '94363', 'baga6ea4seaqfigrqlm75hb7x3gdm4gyadphrprijsaidjicdkvn5q264ohy7mhq', 34359738368, 4620889, NULL, 3082158, 0, 0, false, '2024-10-23 19:23:33.384642', '2024-10-23 19:23:33.384642', NULL), +(99554551, 69192345, 0, 'deal', '2060068', '1939387', '107806', 'baga6ea4seaqat42buh36npvglfk7bir3ziwdtwlvtip3c4gu775qbs3ouggtgki', 34359738368, 5124175, NULL, 3569794, 0, 0, false, '2024-10-23 19:45:44.414296', '2024-10-23 19:45:44.414296', NULL), +(64243716, 32266397, 0, 'deal', '2100529', '1939387', '61876', 'baga6ea4seaqhf22y5ibeu2jjld3q2v2oum6ans4ycs322xeodwsl3wv7ws6ranq', 34359738368, 4319414, NULL, 2766112, 0, 0, false, '2024-10-23 16:45:17.721476', '2024-10-23 16:45:17.721476', NULL), +(94948103, 64498749, 46794511, 'claimUpdated', '2213534', '1939387', '100208', 'baga6ea4seaqchgqdvra7d4giinlzyopnhvlwsu6s3u7cdvzugl7pwexvzfqmwia', 17179869184, 6822230, NULL, 3429060, 0, 0, false, '2024-10-23 19:40:44.696055', '2024-10-23 19:40:44.696055', NULL), +(95179531, 64739492, 47035208, 'deal', '2227060', '1939387', '100376', 'baga6ea4seaqn34fcmeynw5yxxptcaie3wrz2z667e2zmhl5geadkqt7ix5hywgq', 34359738368, 4978009, NULL, 3434050, 0, 0, false, '2024-10-23 19:40:59.568478', '2024-10-23 19:40:59.568478', NULL), +(94533384, 64072349, 46368160, 'deal', '2230460', '1939387', '100069', 'baga6ea4seaqhlyl2ttlgacgc3mefvajjn3zhgvfxor3m5kecwpkurobevjmpyka', 34359738368, 4954969, NULL, 3421480, 0, 0, false, '2024-10-23 19:40:17.599652', '2024-10-23 19:40:17.599652', NULL), +(58932984, 26497940, 0, 'deal', '1512996', '1941622', '35296', 'baga6ea4seaqnulr54wca5cccanmmrmbouddroubagwhtfnprt6lqdx6m2afiodq', 34359738368, 4193162, NULL, 2638585, 0, 0, false, '2024-10-23 15:54:03.347331', '2024-10-23 15:54:03.347331', NULL), +(58341682, 25832419, 0, 'deal', '1765178', '1941622', '32103', 'baga6ea4seaqnvcuslc6zbnsng3rlwlwixvgmjplutkaqb6qivyyhaklipm2soji', 34359738368, 4179320, NULL, 2624877, 0, 0, false, '2024-10-23 15:48:11.261329', '2024-10-23 15:48:11.261329', NULL), +(56208526, 23354040, 0, 'deal', '1788133', '1941622', '27997', 'baga6ea4seaqejfcraoala7f7bkvoyxvx32af66w2dorlgnqfvbtd2jczm4wjigi', 34359738368, 4111575, NULL, 2557714, 0, 0, false, '2024-10-23 15:26:34.311367', '2024-10-23 15:26:34.311367', NULL), +(58196755, 25674410, 0, 'deal', '1868373', '1941622', '31279', 'baga6ea4seaqk5ysvkymuqybb3g2skftya5x4ff2o46hayxvmr4w7fs467odkcnq', 34359738368, 4175980, NULL, 2621380, 0, 0, false, '2024-10-23 15:46:42.900111', '2024-10-23 15:46:42.900111', NULL), +(53955130, 20825500, 0, 'deal', '1872946', '1941622', '17073', 'baga6ea4seaqjokpkbe6ghuobp3vi4rxbhqunh7a533iuu4lai5sfp2sxd6cocoq', 34359738368, 4028561, NULL, 2482493, 0, 0, false, '2024-10-23 15:02:58.934633', '2024-10-23 15:02:58.934633', NULL), +(51115522, 17454147, 0, 'deal', '1880832', '1941622', '0', 'baga6ea4seaqg5nsdk5462u4yqeumclwjyigqqtffsrpatqpdsdn6ybmily7vspy', 34359738368, 3904721, NULL, 2383472, 0, 0, false, '2024-10-23 14:32:01.835122', '2024-10-23 14:32:01.835122', NULL), +(48439322, 14652661, 0, 'deal', '1903406', '1941622', '0', 'baga6ea4seaqdqr2nz6xlprmqizs3cukbk4b4izswqxeoqavbeq3gsghh6imledy', 34359738368, 3858641, NULL, 2308483, 0, 0, false, '2024-10-23 14:01:15.350736', '2024-10-23 14:01:15.350736', NULL), +(48501860, 14718064, 0, 'deal', '1904026', '1941622', '0', 'baga6ea4seaqazkxnneo3ixqicji3hmsyqzktyxvtgdpl64ue5tdk7ywmt62f6gq', 34359738368, 3861521, NULL, 2310672, 0, 0, false, '2024-10-23 14:01:53.431619', '2024-10-23 14:01:53.431619', NULL), +(55568935, 22657149, 0, 'deal', '1916905', '1941622', '25681', 'baga6ea4seaqhwlzv6xjfovk7p56ed6ml2cjqtq3meb5osdhqywdogejjkaatggq', 34359738368, 4083116, NULL, 2529229, 0, 0, false, '2024-10-23 15:19:55.644707', '2024-10-23 15:19:55.644707', NULL), +(82641364, 51902086, 0, 'deal', '1923385', '1941622', '97274', 'baga6ea4seaqaeira73kkbebcgrmsa76dzwysq5tkaj6xntitfvmse7wrwetmqeq', 34359738368, 4667921, NULL, 3145354, 0, 0, false, '2024-10-23 19:27:21.566055', '2024-10-23 19:27:21.566055', NULL), +(51383619, 17750702, 0, 'deal', '1924648', '1941622', '0', 'baga6ea4seaqcj36glr4oj5pm37hm57syejprujtjsj5cy5zjcj6c6mgkdpnooki', 34359738368, 3936401, NULL, 2394444, 0, 0, false, '2024-10-23 14:34:57.704256', '2024-10-23 14:34:57.704256', NULL), +(50092825, 16381790, 0, 'deal', '1924649', '1941622', '0', 'baga6ea4seaqpyzhdqmbn7f5m4yt3sddj5cmcsxtsor6stlc4ajlwau4eebavqky', 34359738368, 3890321, NULL, 2352261, 0, 0, false, '2024-10-23 14:20:39.476932', '2024-10-23 14:20:39.476932', NULL), +(59722853, 27358825, 0, 'deal', '1925065', '1941622', '39280', 'baga6ea4seaqave7uq7oovjeqjjut2pfta6xvaukdnnepmynr7eg4pnj6ncgn6ba', 34359738368, 4212852, NULL, 2658393, 0, 0, false, '2024-10-23 16:02:06.106978', '2024-10-23 16:02:06.106978', NULL), +(47406569, 13574986, 0, 'deal', '1927870', '1941622', '0', 'baga6ea4seaqei5j6i4clatgggjbvalzsjdgljlgmoknziv6r23qaw5jf5wfvqfq', 34359738368, 3818321, NULL, 2271471, 0, 0, false, '2024-10-23 13:53:45.704565', '2024-10-23 13:53:45.704565', NULL), +(55997289, 23133237, 0, 'deal', '1941329', '1941622', '27514', 'baga6ea4seaqa5y6lfatthjbqocv2pga4k5aphfmx7iaoa3grkyq3beup2ega4ai', 34359738368, 4101731, NULL, 2548449, 0, 0, false, '2024-10-23 15:24:22.883428', '2024-10-23 15:24:22.883428', NULL), +(54973790, 21990093, 0, 'deal', '1945167', '1941622', '21861', 'baga6ea4seaqizgaacpxxlqa52p3vfufrv7lv2h7b2ngwulstjuzvipqzz5efghy', 34359738368, 4065230, NULL, 2511506, 0, 0, false, '2024-10-23 15:13:43.994657', '2024-10-23 15:13:43.994657', NULL), +(85527597, 54849930, 0, 'deal', '1945297', '1941622', '107222', 'baga6ea4seaqffdefbdm43ax22jxn4r2xzqeejk4xyes6cy4rr7v3dhdnjo65sny', 34359738368, 4769718, NULL, 3215254, 0, 0, false, '2024-10-23 19:30:30.006841', '2024-10-23 19:30:30.006841', NULL), +(65937668, 34096580, 0, 'deal', '1972771', '1941622', '55513', 'baga6ea4seaqfllwcv3gebllyj7rwuaw4fgbz3sbr6ykdcasubvhquw6da5w4sma', 34359738368, 4351121, NULL, 2806631, 0, 0, false, '2024-10-23 17:01:51.883947', '2024-10-23 17:01:51.883947', NULL), +(55141625, 22181048, 0, 'deal', '1984693', '1941622', '22860', 'baga6ea4seaqar46t5bymqnssrcsqarfpomjhp34326ce4b2hwcbjval3mdxh2ey', 34359738368, 4069814, NULL, 2515511, 0, 0, false, '2024-10-23 15:15:30.795398', '2024-10-23 15:15:30.795398', NULL), +(67735437, 36050362, 0, 'deal', '1987838', '1941622', '59614', 'baga6ea4seaqekbytvhzd4lkolyn7rr2mi573mxusxj227rkhkavikcevq3tnshq', 34359738368, 4397201, NULL, 2849427, 0, 0, false, '2024-10-23 17:19:31.873635', '2024-10-23 17:19:31.873635', NULL), +(65726199, 33877012, 0, 'deal', '1987869', '1941622', '54482', 'baga6ea4seaqbcva4c2uylu7evmr7u2xhcuqvfybncpj2tfdy2t57qnq6jiascbq', 34359738368, 4345361, NULL, 2800441, 0, 0, false, '2024-10-23 16:59:43.58523', '2024-10-23 16:59:43.58523', NULL), +(63692562, 31672981, 0, 'deal', '2011870', '1941622', '50912', 'baga6ea4seaqhvsch55ucllatgv4ok6g4lyj47tmzkauyxk4iarmdpqkocgouwlq', 34359738368, 4306740, NULL, 2752844, 0, 0, false, '2024-10-23 16:40:05.472312', '2024-10-23 16:40:05.472312', NULL), +(63814519, 31804883, 0, 'deal', '2024453', '1941622', '51364', 'baga6ea4seaqlbdhvnhrmvkelp7iewknwuy62dhkqth7nokr77aihwiy2nqm7umy', 34359738368, 4309361, NULL, 2755332, 0, 0, false, '2024-10-23 16:41:13.876621', '2024-10-23 16:41:13.876621', NULL), +(80948086, 50166802, 0, 'deal', '2026357', '1941622', '92271', 'baga6ea4seaqhcjqe7lt5cotfz6npyym5au2wjdvork3b2rwccoveeacrw6crwny', 34359738368, 4662161, NULL, 3114056, 0, 0, false, '2024-10-23 19:25:22.435052', '2024-10-23 19:25:22.435052', NULL), +(58250006, 25733574, 0, 'deal', '2029897', '1941622', '31603', 'baga6ea4seaqnryswyaqa3zvj7epoizshb3fihifjzjrbaa65j3t4i4rb6uh6uaq', 34359738368, 4177249, NULL, 2622751, 0, 0, false, '2024-10-23 15:47:16.110991', '2024-10-23 15:47:16.110991', NULL), +(88877539, 58297906, 0, 'deal', '2035501', '1941622', '121029', 'baga6ea4seaqh36oqosp5tvwcyy54pa3s73hs3m57ut2xz7ma7g7upgtnscs3whq', 34359738368, 4850432, NULL, 3295852, 0, 0, false, '2024-10-23 19:34:08.99553', '2024-10-23 19:34:08.99553', NULL), +(62484312, 30379842, 0, 'deal', '2038595', '1941622', '46518', 'baga6ea4seaqc27rzcke7rh23tcgxclr24uikbazcjgb4aeh3qduv3fbjup2cwfq', 34359738368, 4280677, NULL, 2726094, 0, 0, false, '2024-10-23 16:28:46.158198', '2024-10-23 16:28:46.158198', NULL), +(88048147, 57441922, 0, 'deal', '2038606', '1941622', '118049', 'baga6ea4seaqneamdiwldwy5fbom25myktg3or36icu5qu5emgnud6can3shdyma', 34359738368, 4831948, NULL, 3278182, 0, 0, false, '2024-10-23 19:33:14.97052', '2024-10-23 19:33:14.97052', NULL), +(59500952, 27131994, 0, 'deal', '2049279', '1941622', '38001', 'baga6ea4seaqi4qpaddv66fdijvv5637rquprvahsm6fwbox6mlitrlongqmqkfi', 34359738368, 4207621, NULL, 2653051, 0, 0, false, '2024-10-23 15:59:38.766329', '2024-10-23 15:59:38.766329', NULL), +(62515652, 30412093, 0, 'deal', '2050289', '1941622', '46677', 'baga6ea4seaqozvzlnrenxjrdbldnkyveadrpxoyexfkjsua7lgkrqs2faldhajy', 34359738368, 4281422, NULL, 2726869, 0, 0, false, '2024-10-23 16:29:05.016166', '2024-10-23 16:29:05.016166', NULL), +(80534692, 49745379, 0, 'deal', '2055509', '1941622', '91294', 'baga6ea4seaqgdnuadwvgq37ffjao4mwfyflm5apwgvmjw5z4d6x6zj63kfubepi', 34359738368, 4644881, NULL, 3109665, 0, 0, false, '2024-10-23 19:24:55.323355', '2024-10-23 19:24:55.323355', NULL), +(81472052, 50702197, 0, 'deal', '2057831', '1941622', '94173', 'baga6ea4seaqcw5apmzn5dsj2j4fc3q7gfyyebtpj6ooyemee2eva7rayqr3eybq', 34359738368, 4662161, NULL, 3123267, 0, 0, false, '2024-10-23 19:25:56.770718', '2024-10-23 19:25:56.770718', NULL), +(81236532, 50460159, 0, 'deal', '2057846', '1941622', '93314', 'baga6ea4seaqpzkszwgucysiwdvafybqsove6xkx6il2fcor3c73khdtalrmzefa', 34359738368, 4662161, NULL, 3118978, 0, 0, false, '2024-10-23 19:25:41.361978', '2024-10-23 19:25:41.361978', NULL), +(81115549, 50337144, 0, 'deal', '2057848', '1941622', '92984', 'baga6ea4seaqdzrzdr7mh6ymk6johqpfmtbp3fuu6w5vflgdhzaid5sizdipukia', 34359738368, 4662161, NULL, 3117386, 0, 0, false, '2024-10-23 19:25:33.230094', '2024-10-23 19:25:33.230094', NULL), +(87009356, 56369116, 0, 'deal', '2100522', '1941622', '111809', 'baga6ea4seaqgy7tlexdynnyui5dokcan3ji7alkczfjhkqwdm54yuronop4kqjq', 34359738368, 4799776, NULL, 3245319, 0, 0, false, '2024-10-23 19:32:07.306407', '2024-10-23 19:32:07.306407', NULL), +(64292537, 32321835, 0, 'deal', '2100529', '1941622', '53627', 'baga6ea4seaqoaf3tbjxiv2ktqnzfrkmqt66dnmfjktvmc5ehfidkdnd6xfmbigq', 34359738368, 4320684, NULL, 2767336, 0, 0, false, '2024-10-23 16:45:47.473847', '2024-10-23 16:45:47.473847', NULL), +(84752791, 54054098, 0, 'deal', '2130971', '1941622', '104233', 'baga6ea4seaqn2nxqydclliobxbfhryszpd2c45qzc52nzmwhqcmtlk5v4uqpwkq', 34359738368, 4753271, NULL, 3198754, 0, 0, false, '2024-10-23 19:29:39.40095', '2024-10-23 19:29:39.40095', NULL), +(94703276, 64246383, 0, 'deal', '2213534', '1941622', '122543', 'baga6ea4seaqikpzuvpiastrczuoyi7qkrk2eahvsjbjkcmcsjn3hohspvli4moy', 34359738368, 4955921, NULL, 3419302, 0, 0, false, '2024-10-23 19:40:28.692277', '2024-10-23 19:40:28.692277', NULL), +(95116063, 64673232, 0, 'deal', '2227060', '1941622', '122856', 'baga6ea4seaqjwpd3ym6ix7d5uco64q3ddjacytx2c37f4i6dkebxpusf4e3fudy', 34359738368, 4976081, NULL, 3433140, 0, 0, false, '2024-10-23 19:40:55.531252', '2024-10-23 19:40:55.531252', NULL), +(94252712, 63785477, 0, 'deal', '2230460', '1941622', '121793', 'baga6ea4seaqlziojpzca2paprt2fhbuo6wqinknjcw5j3jwhq7ys7t2rpdy2coi', 34359738368, 4935761, NULL, 3404642, 0, 0, false, '2024-10-23 19:39:59.007834', '2024-10-23 19:39:59.007834', NULL), +(83385171, 52658779, 0, 'deal', '2362577', '1941622', '100265', 'baga6ea4seaqmpopvutoir2onn4ha36yqyeuk7glkuoqxern3gk7zaisxqyrwkgy', 34359738368, 4717956, NULL, 3164014, 0, 0, false, '2024-10-23 19:28:10.370166', '2024-10-23 19:28:10.370166', NULL), +(59091154, 26671630, 0, 'deal', '1471028', '1955034', '45213', 'baga6ea4seaqk4zlv7kh2xhbxcxchg456ze3sgxzuflrbiqgmjzo64f64koduyci', 34359738368, 4185797, NULL, 2642308, 0, 0, false, '2024-10-23 15:55:38.291841', '2024-10-23 15:55:38.291841', NULL), +(50442083, 16745095, 0, 'deal', '1623954', '1955034', '0', 'baga6ea4seaqjc7n45yizkw4fzqcq6l65qjv2mufr4724ctcf65fzwwkn6kewmci', 34359738368, 3897797, NULL, 2362433, 0, 0, false, '2024-10-23 14:24:33.162523', '2024-10-23 14:24:33.162523', NULL), +(58614596, 26144169, 0, 'deal', '1762699', '1955034', '41351', 'baga6ea4seaqiz2trnlsyp325rbc6um76tw2qxsq4xenwqqb4qoztsvwoawtgmoy', 34359738368, 4174277, NULL, 2630998, 0, 0, false, '2024-10-23 15:50:55.583824', '2024-10-23 15:50:55.583824', NULL), +(60691919, 28424253, 0, 'deal', '1765178', '1955034', '56628', 'baga6ea4seaqe6wanl5murd55rrw2zlbiqoxgikq7nffyib46wxvrthh6qackeiq', 34359738368, 4237412, NULL, 2683079, 0, 0, false, '2024-10-23 16:11:38.211525', '2024-10-23 16:11:38.211525', NULL), +(64580915, 32637813, 0, 'deal', '1788135', '1955034', '64714', 'baga6ea4seaqiih6zpa2k5xx5o7ekyqaxdivyroclvgn2hkapkseachlyq4wd2ka', 34359738368, 4327711, NULL, 2773295, 0, 0, false, '2024-10-23 16:48:33.655249', '2024-10-23 16:48:33.655249', NULL), +(64785074, 32854834, 0, 'deal', '1876344', '1955034', '66388', 'baga6ea4seaqizxt7fs6ivwzear4rcgrbcs35boakf36yuuwktctcuqrq33ui6di', 34359738368, 4332474, NULL, 2777982, 0, 0, false, '2024-10-23 16:50:31.588834', '2024-10-23 16:50:31.588834', NULL), +(79628081, 48816435, 0, 'deal', '1919550', '1955034', '85401', 'baga6ea4seaqhzbws7gdwo7q74jmi5ugfxmcx63nftdue7u6ux5mmxg3djukjwcy', 34359738368, 4644284, NULL, 3089815, 0, 0, false, '2024-10-23 19:23:56.034324', '2024-10-23 19:23:56.034324', NULL), +(59740122, 27376596, 0, 'deal', '1943349', '1955034', '50811', 'baga6ea4seaqaqflm2zwrmmouimeby7hp2qq5ko72yrcl3gnj64ff73tvfh7igpy', 34359738368, 4203077, NULL, 2658700, 0, 0, false, '2024-10-23 16:02:16.68642', '2024-10-23 16:02:16.68642', NULL), +(70557344, 39145855, 0, 'deal', '1943355', '1955034', '72483', 'baga6ea4seaqbr3iufvzv5fdk6ipotwzqbot62ywvzvmmq7hpinufxjgqay52ikq', 34359738368, 4450757, NULL, 2908470, 0, 0, false, '2024-10-23 17:48:22.011394', '2024-10-23 17:48:22.011394', NULL), +(58609988, 26139603, 0, 'deal', '1982040', '1955034', '41272', 'baga6ea4seaqkhxn2di26f3m6pd7t72m6j5xm5dibh7feythqapvbkjcxytxvsfi', 34359738368, 4171397, NULL, 2630849, 0, 0, false, '2024-10-23 15:50:52.584534', '2024-10-23 15:50:52.584534', NULL), +(58877574, 26437010, 0, 'deal', '1992623', '1955034', '43466', 'baga6ea4seaqlfkxzchrhhbx5yv375jevhfsmjzhgjuaxmelgw6pexhl2rmqpcly', 34359738368, 4162757, NULL, 2637115, 0, 0, false, '2024-10-23 15:53:31.028239', '2024-10-23 15:53:31.028239', NULL), +(59143070, 26728627, 0, 'deal', '2003085', '1955034', '46109', 'baga6ea4seaqil7plmuots4lete23eclftkuidd52bvxvwcwkjoa3rgazhp32wmq', 34359738368, 4168517, NULL, 2643969, 0, 0, false, '2024-10-23 15:56:07.025896', '2024-10-23 15:56:07.025896', NULL), +(64681573, 32745979, 0, 'deal', '2027165', '1955034', '66040', 'baga6ea4seaqjsw7a6hpw2z4p25dmo2edzn43stz26b3hhavyxaym2cmwpqfqagi', 34359738368, 4329993, NULL, 2775536, 0, 0, false, '2024-10-23 16:49:30.904309', '2024-10-23 16:49:30.904309', NULL), +(81005192, 50225959, 0, 'deal', '2029885', '1955034', '99195', 'baga6ea4seaqgo36t7g2njt7iwcejlfp2xvbbzsqsn57zzj33h5jadx6v5terkay', 34359738368, 4669341, NULL, 3114707, 0, 0, false, '2024-10-23 19:25:26.235771', '2024-10-23 19:25:26.235771', NULL), +(59103151, 26686847, 0, 'deal', '2031177', '1955034', '45422', 'baga6ea4seaql3iqmkqhywy5b2wdipa2sajtjysdb4uxaxx37ykkjnf4z4jt56pq', 34359738368, 4185797, NULL, 2642665, 0, 0, false, '2024-10-23 15:55:45.459557', '2024-10-23 15:55:45.459557', NULL), +(68392239, 36785350, 0, 'deal', '2038351', '1955034', '68297', 'baga6ea4seaqpuwaovmrn3h3yk6yrytkyeglmyxzulh63qlh3ne4kkeal4rilqky', 34359738368, 4404677, NULL, 2862817, 0, 0, false, '2024-10-23 17:26:11.778471', '2024-10-23 17:26:11.778471', NULL), +(74558430, 43523222, 0, 'deal', '2041776', '1955034', '80298', 'baga6ea4seaqn656dsln5zfj4dq6guwjinrckcpzz4sttjhtxhhrhwu4vu3jvkna', 34359738368, 4525637, NULL, 2988573, 0, 0, false, '2024-10-23 18:32:00.825893', '2024-10-23 18:32:00.825893', NULL), +(59379524, 26983209, 0, 'deal', '2041777', '1955034', '49132', 'baga6ea4seaqktk7ttztrephikp7ixwkz6p65v4ioc6dhorhma7mymolzhtzh4aa', 34359738368, 4174277, NULL, 2649662, 0, 0, false, '2024-10-23 15:58:30.764729', '2024-10-23 15:58:30.764729', NULL), +(59110303, 26692594, 0, 'deal', '2041788', '1955034', '45545', 'baga6ea4seaqj7wmat5ybodia3a5hkeer3msjmuq2ygeduyk7wg5ilrwsrrlkmki', 34359738368, 4185797, NULL, 2642771, 0, 0, false, '2024-10-23 15:55:51.373947', '2024-10-23 15:55:51.373947', NULL), +(59115934, 26698336, 0, 'deal', '2041789', '1955034', '45620', 'baga6ea4seaqeh2z3kocszzbojcecuby54odb5gglfpdkixhofnjdqcwjnqfmcii', 34359738368, 4185797, NULL, 2643028, 0, 0, false, '2024-10-23 15:55:54.085903', '2024-10-23 15:55:54.085903', NULL), +(59116892, 26698867, 0, 'deal', '2047227', '1955034', '45631', 'baga6ea4seaqct7q33ec2ah7va6jh3faglzjehg64dcainy6yym4iglkrbdwq6dq', 34359738368, 4185797, NULL, 2642975, 0, 0, false, '2024-10-23 15:55:54.085903', '2024-10-23 15:55:54.085903', NULL), +(59120876, 26704466, 0, 'deal', '2047228', '1955034', '45731', 'baga6ea4seaqe4tfecddwsngdtxnutxragp7tu6vt2jxsc75her5bto6aks3qcni', 34359738368, 4185797, NULL, 2643288, 0, 0, false, '2024-10-23 15:55:56.305701', '2024-10-23 15:55:56.305701', NULL), +(59126692, 26712414, 0, 'deal', '2047229', '1955034', '45869', 'baga6ea4seaqpu5kivvgxxnkqpln5j5geag5f2tam5mwqkejrojsk4nr7lcodgly', 34359738368, 4185797, NULL, 2643488, 0, 0, false, '2024-10-23 15:55:59.934829', '2024-10-23 15:55:59.934829', NULL), +(59126696, 26712418, 0, 'deal', '2047231', '1955034', '45873', 'baga6ea4seaqppit74kj3qhvgzmkdfgmhvx7wf4lfgbrjmppoqoeafjhda2uq4ai', 34359738368, 4185797, NULL, 2643525, 0, 0, false, '2024-10-23 15:55:59.934829', '2024-10-23 15:55:59.934829', NULL), +(59135061, 26721834, 0, 'deal', '2047237', '1955034', '46019', 'baga6ea4seaqaqhyg7gzmaf6ladm3spcga5wv225eib4maijrnmykxfdp4v3ciai', 34359738368, 4185797, NULL, 2643676, 0, 0, false, '2024-10-23 15:56:05.845888', '2024-10-23 15:56:05.845888', NULL), +(70979520, 39620324, 0, 'deal', '2047239', '1955034', '73272', 'baga6ea4seaqps7vkqngmnv47e6xkpuo7g5plugw4272jcbyys3m3743ez7rtggq', 34359738368, 4456517, NULL, 2917433, 0, 0, false, '2024-10-23 17:52:46.050739', '2024-10-23 17:52:46.050739', NULL), +(70857243, 39478925, 0, 'deal', '2047240', '1955034', '72880', 'baga6ea4seaqhyqtgbfgcoiuvmm4prdg4m3i27wkkw6hkx6j54gt2bqudaplhopy', 34359738368, 4456517, NULL, 2914897, 0, 0, false, '2024-10-23 17:51:30.658962', '2024-10-23 17:51:30.658962', NULL), +(74281606, 43225815, 0, 'deal', '2047527', '1955034', '79559', 'baga6ea4seaqpuuyba3kuwq5yt3f7ieqcvsqc55ugvsmpt6gcgkyv3eujiscychi', 34359738368, 4525637, NULL, 2983070, 0, 0, false, '2024-10-23 18:28:54.70671', '2024-10-23 18:28:54.70671', NULL), +(68823475, 37265895, 0, 'deal', '2059041', '1955034', '69012', 'baga6ea4seaqlbxmjx43kflyt2rxwdkui24sn4b5bhoy6sj6t5mk2ukjix7paila', 34359738368, 4413317, NULL, 2872584, 0, 0, false, '2024-10-23 17:30:30.99596', '2024-10-23 17:30:30.99596', NULL), +(73201114, 42057920, 0, 'deal', '2092888', '1955034', '77747', 'baga6ea4seaqnydacgrqap5pyzloxxysjjkz7ry3h7k4mqv4af76zphrzo7ds6cy', 34359738368, 4499717, NULL, 2961706, 0, 0, false, '2024-10-23 18:16:59.07795', '2024-10-23 18:16:59.07795', NULL), +(80013649, 49213787, 0, 'deal', '2100521', '1955034', '88606', 'baga6ea4seaqoakjgwazseyslwlq7ezk56cxmbaz3adxl4pbipuvczacdmyojcny', 34359738368, 4651313, NULL, 3096850, 0, 0, false, '2024-10-23 19:24:21.423826', '2024-10-23 19:24:21.423826', NULL), +(74981908, 43976126, 0, 'deal', '2100524', '1955034', '81188', 'baga6ea4seaqkd6rabkguycv63aienqsizhkjb2ta2hsd5ykqw3mjm7rvvpegwfq', 34359738368, 4534277, NULL, 2996693, 0, 0, false, '2024-10-23 18:36:52.999629', '2024-10-23 18:36:52.999629', NULL), +(76026705, 45090222, 0, 'deal', '2100525', '1955034', '82942', 'baga6ea4seaqmqctx66cegvsibl5wunl6f27tyhfdkajhrrnun4iv6ma6rec4kga', 34359738368, 4557317, NULL, 3017153, 0, 0, false, '2024-10-23 18:48:58.483123', '2024-10-23 18:48:58.483123', NULL), +(75973016, 45033912, 0, 'deal', '2101308', '1955034', '82743', 'baga6ea4seaqnopbn3x3elkffcoxy3x6w5uwu357fgscv4pbvqtshvalnbc6boaq', 34359738368, 4557317, NULL, 3015867, 0, 0, false, '2024-10-23 18:48:23.248762', '2024-10-23 18:48:23.248762', NULL), +(76134833, 45204688, 0, 'deal', '2104757', '1955034', '83320', 'baga6ea4seaqllvtk337bxgieobhix6htvcgawf2ickc2lvmrbog7uynr6n6ucei', 34359738368, 4557317, NULL, 3019434, 0, 0, false, '2024-10-23 18:50:18.225902', '2024-10-23 18:50:18.225902', NULL), +(75907655, 44960837, 0, 'deal', '2123081', '1955034', '82544', 'baga6ea4seaqoqjkteopr4hsrx5fytoueagnt7ljjnceohtyxfpntsomzqh6tkcq', 34359738368, 4557317, NULL, 3014565, 0, 0, false, '2024-10-23 18:47:38.345895', '2024-10-23 18:47:38.345895', NULL), +(76068911, 45135098, 0, 'deal', '2125905', '1955034', '83096', 'baga6ea4seaqpnlbuwbkz2as7yncgm5ks7azaisf3nkqi4qnimrzlb4exywg4ebq', 34359738368, 4557317, NULL, 3017978, 0, 0, false, '2024-10-23 18:49:32.011345', '2024-10-23 18:49:32.011345', NULL), +(75229098, 44239461, 0, 'deal', '2126028', '1955034', '81663', 'baga6ea4seaqcbjyt6ja6yiop7yxszlaxr7pf72vfi2ew67bhdc77rubzetxcqga', 34359738368, 4542917, NULL, 3001306, 0, 0, false, '2024-10-23 18:39:42.714879', '2024-10-23 18:39:42.714879', NULL), +(75684511, 44726242, 0, 'deal', '2182390', '1955034', '82152', 'baga6ea4seaqf6nodzp6aqdsyim62t2pcat2oa4s5z4exubns3abvukurgu7vkdy', 34359738368, 4551557, NULL, 3010472, 0, 0, false, '2024-10-23 18:45:01.195223', '2024-10-23 18:45:01.195223', NULL), +(74821806, 43815408, 0, 'deal', '2182391', '1955034', '80726', 'baga6ea4seaqhuqrhtzp67ry5odcyyd3ktm77i6bzpmhigcchj6r33i3m5rp74pi', 34359738368, 4534277, NULL, 2993963, 0, 0, false, '2024-10-23 18:35:02.286471', '2024-10-23 18:35:02.286471', NULL), +(80537214, 49747519, 0, 'deal', '2252423', '1955034', '94956', 'baga6ea4seaqmj4wmymk7igtcyvwmajuxgmud5rafpmw74pkndp473zc2q7rjgna', 34359738368, 4660764, NULL, 3106320, 0, 0, false, '2024-10-23 19:24:55.597266', '2024-10-23 19:24:55.597266', NULL), +(55774329, 22896684, 0, 'deal', '1659109', '2012175', '6211', 'baga6ea4seaqfi3rmsmeyse3tii4qx5urazl7cqv2gsio5ea7mp54qqnwkde7kfq', 34359738368, 4091461, NULL, 2536851, 0, 0, false, '2024-10-23 15:22:03.643663', '2024-10-23 15:22:03.643663', NULL), +(55980284, 23115197, 0, 'deal', '1667796', '2012175', '11248', 'baga6ea4seaqm2gjkoohriayr2usbxqf2fag3w6z6w4rypx535m5f3wtviqeywiq', 34359738368, 4100763, NULL, 2546258, 0, 0, false, '2024-10-23 15:24:11.254488', '2024-10-23 15:24:11.254488', NULL), +(55773191, 22896115, 0, 'deal', '1673159', '2012175', '6186', 'baga6ea4seaqkj2wxkkfg7es5mlwas7ffgflfdii4mdzomarv5qrqnut2klboyhy', 34359738368, 4091437, NULL, 2536810, 0, 0, false, '2024-10-23 15:22:03.189132', '2024-10-23 15:22:03.189132', NULL), +(55774866, 22896983, 0, 'deal', '1705499', '2012175', '6235', 'baga6ea4seaqapeu5yro5ks3wi6hg4jkrvxkgcee77yidn2qmzwk3g6ofclkjgai', 34359738368, 4091495, NULL, 2536925, 0, 0, false, '2024-10-23 15:22:03.643663', '2024-10-23 15:22:03.643663', NULL), +(55774989, 22897080, 0, 'deal', '1706785', '2012175', '6238', 'baga6ea4seaqlqwtlb7srqe5tw4iodxltlxxelavm6pikchjqqoyyylasggrhuda', 34359738368, 4091495, NULL, 2537065, 0, 0, false, '2024-10-23 15:22:03.643663', '2024-10-23 15:22:03.643663', NULL), +(55788205, 22901460, 0, 'deal', '1724421', '2012175', '6289', 'baga6ea4seaqbxim5x64z3tddv4ulrwmlhh2cbgfulr2nmhblq5ayfsit4qadqly', 34359738368, 4091577, NULL, 2537168, 0, 0, false, '2024-10-23 15:22:11.899176', '2024-10-23 15:22:11.899176', NULL), +(55788620, 22902983, 0, 'deal', '1752082', '2012175', '6316', 'baga6ea4seaqerocy65yxjiqhhlwlm4humzszfyxnvud6jcqkfyaw72x4j5l6qki', 34359738368, 4091635, NULL, 2537055, 0, 0, false, '2024-10-23 15:22:12.087458', '2024-10-23 15:22:12.087458', NULL), +(55788622, 22902985, 0, 'deal', '1752086', '2012175', '6317', 'baga6ea4seaqccdapedwryaodc2gparwozmfdra7frkuf5sjppipcdoonzw7qoea', 34359738368, 4091633, NULL, 2537049, 0, 0, false, '2024-10-23 15:22:12.087458', '2024-10-23 15:22:12.087458', NULL), +(55792204, 22905347, 0, 'deal', '1835101', '2012175', '6373', 'baga6ea4seaqdcljzr6zb4haizud3ehoq6pej4matv5uyjgfjrb7dck7fvn524ga', 34359738368, 4091718, NULL, 2537294, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55792194, 22905344, 0, 'deal', '1851817', '2012175', '6375', 'baga6ea4seaqiyo6jyc45xfxclolcczlmn5ym76tsfazu6rkt6tgumslbpqroapq', 34359738368, 4091718, NULL, 2537299, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55792192, 22905343, 0, 'deal', '1855200', '2012175', '6376', 'baga6ea4seaqkaxsiq6qty4ec4er53xrqantsfchowzz6nfrm3siwft4q5h4xghi', 34359738368, 4091718, NULL, 2537297, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55792191, 22905342, 0, 'deal', '1862719', '2012175', '6374', 'baga6ea4seaqotcsb2yuckonvceypd6p4gld74kqc6bq2vi3rdnkccp7eqahwcoq', 34359738368, 4091720, NULL, 2537379, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55792924, 22905824, 0, 'deal', '1870661', '2012175', '6388', 'baga6ea4seaqowwoelc35ajrax2qcrbj4ltfxgwbnljrobivhdsekavizhskygbq', 34359738368, 4091752, NULL, 2537178, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55793375, 22906290, 0, 'deal', '1876942', '2012175', '6405', 'baga6ea4seaqed6zq3ispqvks4u7x2ud3enquqqotxbgsus6ephrjpxrrgv67mgy', 34359738368, 4091766, NULL, 2537356, 0, 0, false, '2024-10-23 15:22:14.491229', '2024-10-23 15:22:14.491229', NULL), +(55797280, 22911778, 0, 'deal', '1876955', '2012175', '6531', 'baga6ea4seaqk7svzxdmkxkgyv7p2nyky4ibvvybl4sjorwvmcuyodirkgatogny', 34359738368, 4092040, NULL, 2537442, 0, 0, false, '2024-10-23 15:22:18.586511', '2024-10-23 15:22:18.586511', NULL), +(55780830, 22891864, 0, 'deal', '1876957', '2012175', '6084', 'baga6ea4seaqhpwtmhcqtylno2amp53mlnnga5fhpykcw7awrlnhb2uounukw2aq', 34359738368, 4091192, NULL, 2536781, 0, 0, false, '2024-10-23 15:22:07.449139', '2024-10-23 15:22:07.449139', NULL), +(55784004, 22909282, 0, 'deal', '1877027', '2012175', '6483', 'baga6ea4seaqorvrkeyl2dppzgfwuu4plhgxyaqu6wesyatfjyw3fmgoonwbraay', 34359738368, 4091911, NULL, 2537497, 0, 0, false, '2024-10-23 15:22:10.515892', '2024-10-23 15:22:10.515892', NULL), +(55786595, 22913299, 0, 'deal', '1877593', '2012175', '6588', 'baga6ea4seaqm2vudfwcm42k4y2ade3qpny57caalh4y6s4dbvf22gqw2c22wkpa', 34359738368, 4092116, NULL, 2537535, 0, 0, false, '2024-10-23 15:22:11.579617', '2024-10-23 15:22:11.579617', NULL), +(55792074, 22917341, 0, 'deal', '1880887', '2012175', '6737', 'baga6ea4seaqkjhyualjezaqybczou73p7wvqrmbm2ewsnoo7m4hggrkofww3gby', 34359738368, 4092381, NULL, 2537948, 0, 0, false, '2024-10-23 15:22:14.424541', '2024-10-23 15:22:14.424541', NULL), +(55806288, 22921276, 0, 'deal', '1889672', '2012175', '6873', 'baga6ea4seaqm55ivg5zqhyzmuba5eqqxqceqpakcw6bo2brbyw67gi6knosf4pq', 34359738368, 4092638, NULL, 2538032, 0, 0, false, '2024-10-23 15:22:23.330408', '2024-10-23 15:22:23.330408', NULL), +(55805993, 22920930, 0, 'deal', '1889677', '2012175', '6863', 'baga6ea4seaqoephkwbnbagb6w3d4gyilaaifcfca5kfswqilivi6jowdnkqjwki', 34359738368, 4092611, NULL, 2538191, 0, 0, false, '2024-10-23 15:22:23.330408', '2024-10-23 15:22:23.330408', NULL), +(55706213, 22809779, 0, 'deal', '1890407', '2012175', '4017', 'baga6ea4seaqbksx7cyuhyc7bonjckywmgpqhpyjinpjjas3oyhsmhmo5bazk6gi', 34359738368, 4087728, NULL, 2533109, 0, 0, false, '2024-10-23 15:21:19.915889', '2024-10-23 15:21:19.915889', NULL), +(55811378, 22927183, 0, 'deal', '1893725', '2012175', '7000', 'baga6ea4seaqlmy4witci4uozptg6bdu4kugawr6h3nja7tiiftnszhdinqstebi', 34359738368, 4092853, NULL, 2538432, 0, 0, false, '2024-10-23 15:22:26.063012', '2024-10-23 15:22:26.063012', NULL), +(55797744, 22922973, 0, 'deal', '1893730', '2012175', '6923', 'baga6ea4seaqchzekrlxcgnac6gnqdsbrm4fdm3fk6sttw7hg36rxzzavhmzfapy', 34359738368, 4092723, NULL, 2538119, 0, 0, false, '2024-10-23 15:22:18.748927', '2024-10-23 15:22:18.748927', NULL), +(55812889, 22929857, 0, 'deal', '1893732', '2012175', '7038', 'baga6ea4seaqh2vbcrj7xn43sjtkca7upvpnciw6qgh4aeexifmvcg2nfftnpaaq', 34359738368, 4092920, NULL, 2538475, 0, 0, false, '2024-10-23 15:22:26.598318', '2024-10-23 15:22:26.598318', NULL), +(55814607, 22931752, 0, 'deal', '1896674', '2012175', '7070', 'baga6ea4seaqjk4ephtffqyyc2ygsts7tk7pl44oygdqgrjyyu3z4xrezjsttciy', 34359738368, 4092969, NULL, 2538394, 0, 0, false, '2024-10-23 15:22:28.62566', '2024-10-23 15:22:28.62566', NULL), +(55806595, 22935241, 0, 'deal', '1903807', '2012175', '7179', 'baga6ea4seaqpif532yilnoeydjqdont4c7wmr4occ3bedacbaomf5ta7fgklwkq', 34359738368, 4093151, NULL, 2538581, 0, 0, false, '2024-10-23 15:22:24.855217', '2024-10-23 15:22:24.855217', NULL), +(55800926, 22928855, 0, 'deal', '1913310', '2012175', '7015', 'baga6ea4seaqeqk2ifbmxter3kuxmzxss5b2altsjbf3kpivyotb747vh7iklwfy', 34359738368, 4092886, NULL, 2538316, 0, 0, false, '2024-10-23 15:22:20.943266', '2024-10-23 15:22:20.943266', NULL), +(55812530, 22929470, 0, 'deal', '1917354', '2012175', '7034', 'baga6ea4seaqf7hq4jtdtqlyjugmilrtywh45hoixpfryjlkzxdkarqbeg3bjiga', 34359738368, 4092891, NULL, 2538480, 0, 0, false, '2024-10-23 15:22:26.598318', '2024-10-23 15:22:26.598318', NULL), +(55813325, 22930310, 0, 'deal', '1921336', '2012175', '7044', 'baga6ea4seaqkblenvrgx6mwcfdet3hgpm4nc6kshdjmegiygkam4crv2b7jq2dq', 34359738368, 4092928, NULL, 2538522, 0, 0, false, '2024-10-23 15:22:26.598318', '2024-10-23 15:22:26.598318', NULL), +(57265625, 24543797, 0, 'deal', '1924563', '2012175', '31578', 'baga6ea4seaqg34qanqevd45dkuiehmjm2offq5lbdb3fxc6tcfmyso2jfjt7eea', 34359738368, 4149779, NULL, 2595284, 0, 0, false, '2024-10-23 15:37:20.455899', '2024-10-23 15:37:20.455899', NULL), +(55868599, 22991716, 0, 'deal', '1927870', '2012175', '8725', 'baga6ea4seaqj5g64s5rxxspsagxzpfxkrmxsnk7vbiidnmx6shlytaixmdfs4pq', 34359738368, 4095764, NULL, 2541178, 0, 0, false, '2024-10-23 15:23:03.083513', '2024-10-23 15:23:03.083513', NULL), +(55808542, 22936259, 0, 'deal', '1936823', '2012175', '7202', 'baga6ea4seaqcvjfgij24n4p7jm7dvod2dtc74nbdct4kmxyxsg5efpf77l4nwly', 34359738368, 4093214, NULL, 2538594, 0, 0, false, '2024-10-23 15:22:25.490119', '2024-10-23 15:22:25.490119', NULL), +(55809708, 22937549, 0, 'deal', '1938396', '2012175', '7244', 'baga6ea4seaqocdcbx7rwm5zr7p2ycigt242ft6kgcndaevwu43plsuuuelb66li', 34359738368, 4093274, NULL, 2538669, 0, 0, false, '2024-10-23 15:22:25.765891', '2024-10-23 15:22:25.765891', NULL), +(55818380, 22949200, 0, 'deal', '1941015', '2012175', '7552', 'baga6ea4seaqlshal4mndhhpezuzlelobhw7em3tgrdhdxhi6cdf4hcgmtc3hoki', 34359738368, 4093789, NULL, 2539366, 0, 0, false, '2024-10-23 15:22:32.495296', '2024-10-23 15:22:32.495296', NULL), +(55829404, 22947393, 0, 'deal', '1944211', '2012175', '7491', 'baga6ea4seaqowvs7ypsvnf365f2hxw3eqn3ru4mcadaihntqisasnb52s574afi', 34359738368, 4093684, NULL, 2539103, 0, 0, false, '2024-10-23 15:22:39.376877', '2024-10-23 15:22:39.376877', NULL), +(55847477, 22968333, 0, 'deal', '1964269', '2012175', '8062', 'baga6ea4seaqpq2vicsenxq5rmgjdntuh3qks5mkoga3z6yiownfxpcoj76ajani', 34359738368, 4094626, NULL, 2540183, 0, 0, false, '2024-10-23 15:22:48.246679', '2024-10-23 15:22:48.246679', NULL), +(55830830, 22950542, 0, 'deal', '1972207', '2012175', '7583', 'baga6ea4seaqlanxvyg7xa3lus3uww34t3zravfr3dwbzrwniqy3g5pidfmgxgaq', 34359738368, 4093858, NULL, 2539389, 0, 0, false, '2024-10-23 15:22:40.203089', '2024-10-23 15:22:40.203089', NULL), +(55833706, 22953776, 0, 'deal', '1984555', '2012175', '7698', 'baga6ea4seaqlhjzztft4ht6x6f27r66ufy6lvy3qsbt6kf6oinanz5fvr3o5ofy', 34359738368, 4094048, NULL, 2539596, 0, 0, false, '2024-10-23 15:22:41.111676', '2024-10-23 15:22:41.111676', NULL), +(55821280, 22952172, 0, 'deal', '1984645', '2012175', '7643', 'baga6ea4seaqb42tbs5on5fln2mpdqlxf3wtk2fpezfbl4xhlzfysranvcyesoiq', 34359738368, 4093956, NULL, 2539523, 0, 0, false, '2024-10-23 15:22:33.076349', '2024-10-23 15:22:33.076349', NULL), +(55953407, 23085673, 0, 'deal', '1989121', '2012175', '10659', 'baga6ea4seaqoth5gcluvbdreq6ljidumjtz6pz5vektca2exvapqkvut75i7sai', 34359738368, 4099866, NULL, 2545457, 0, 0, false, '2024-10-23 15:23:53.998528', '2024-10-23 15:23:53.998528', NULL), +(55860793, 22995902, 0, 'deal', '1994024', '2012175', '8820', 'baga6ea4seaqhed73ziepyezoj6tre5bxdxfc2uek3svnit6anabuwk4xz43qclq', 34359738368, 4095961, NULL, 2541380, 0, 0, false, '2024-10-23 15:22:56.630892', '2024-10-23 15:22:56.630892', NULL), +(55954947, 23088473, 0, 'deal', '2005295', '2012175', '10836', 'baga6ea4seaqpl5qblc627v3z5ursnzxokmru3zsj2hxuhgzig73umaujn5jp2bq', 34359738368, 4099930, NULL, 2545587, 0, 0, false, '2024-10-23 15:23:55.956797', '2024-10-23 15:23:55.956797', NULL), +(55876961, 23000960, 0, 'deal', '2005299', '2012175', '8983', 'baga6ea4seaqk7rkdzfaxoe5vgjfwfc2edgbulbsxrsd6htsbxe667caga4rcoky', 34359738368, 4096206, NULL, 2541858, 0, 0, false, '2024-10-23 15:23:07.475358', '2024-10-23 15:23:07.475358', NULL), +(55956725, 23100663, 0, 'deal', '2005305', '2012175', '10923', 'baga6ea4seaqnfiecl6ob3pbetztmz47kgevimq4krjrr45ngacw6soal264psai', 34359738368, 4100248, NULL, 2545712, 0, 0, false, '2024-10-23 15:23:57.218816', '2024-10-23 15:23:57.218816', NULL), +(57068768, 24318851, 0, 'deal', '2010315', '2012175', '26146', 'baga6ea4seaqd2xrwnibwfizvxzq4oc2lur23w3tcneevlo66hzvqx2allpjs2di', 34359738368, 4143998, NULL, 2589739, 0, 0, false, '2024-10-23 15:35:21.016115', '2024-10-23 15:35:21.016115', NULL), +(57091995, 24349773, 0, 'deal', '2010430', '2012175', '27149', 'baga6ea4seaqg5okygwsx32b3vwxmtqnwwk2gb7kldmp2o6ysyfpxcr2e4arvqly', 34359738368, 4145059, NULL, 2590543, 0, 0, false, '2024-10-23 15:35:37.509357', '2024-10-23 15:35:37.509357', NULL), +(57352810, 24642125, 0, 'deal', '2010434', '2012175', '33622', 'baga6ea4seaqjwrie5ka52lns3r5b7ruirlklqeusrn6nf5mwgjlhcn5v5bkgqci', 34359738368, 4153027, NULL, 2598507, 0, 0, false, '2024-10-23 15:38:16.046848', '2024-10-23 15:38:16.046848', NULL), +(86794469, 56148920, 38450279, 'deal', '1923385', '2234029', '58416', 'baga6ea4seaqlmj6ptwunr2ux7p5iqzbcsm33stlzf6g5c6lq3pomtehfgh4n4dq', 68719476736, 4795003, NULL, 3240778, 0, 0, false, '2024-10-23 19:31:53.297045', '2024-10-23 19:31:53.297045', NULL), +(81945210, 51193889, 33505485, 'deal', '1934170', '2234029', '47565', 'baga6ea4seaqokiapxfim6yz5dwjmswirscwkdiignpmzaevewn6a6hs2uzuy4fi', 68719476736, 4686887, NULL, 3132719, 0, 0, false, '2024-10-23 19:26:35.459017', '2024-10-23 19:26:35.459017', NULL), +(81818848, 51067969, 0, 'deal', '2010854', '2234029', '45936', 'baga6ea4seaqknpurfdjoapoyr2zx43pzmvtywfobnb75ful7ibgrnceytvx62fq', 68719476736, 4684601, NULL, 3130446, 0, 0, false, '2024-10-23 19:26:27.387424', '2024-10-23 19:26:27.387424', NULL), +(74928581, 43923274, 0, 'deal', '2024424', '2234029', '116', 'baga6ea4seaqfnfopw5igmnf2ubb6fgxkpjgf6tgnxrlg66w3gi6zqwrrssuw2oq', 68719476736, 4550256, NULL, 2996063, 0, 0, false, '2024-10-23 18:36:13.784171', '2024-10-23 18:36:13.784171', NULL), +(87778446, 57158637, 0, 'deal', '2035501', '2234029', '66823', 'baga6ea4seaqd5kgv5alrxmkbltiizy72ew6dklz64ciga7swlo5ato5gr3fmwci', 68719476736, 4821517, NULL, 3267232, 0, 0, false, '2024-10-23 19:32:57.239763', '2024-10-23 19:32:57.239763', NULL), +(119905286, 0, 30794660, 'claimUpdatedWithoutExistingClaim', '2038595', '2234029', '20387', 'baga6ea4seaqc5egj76jlgstx53pbejc3svg37vd2agt4fgs7c4wrmfx4gzgqmka', 68719476736, 5256000, 1540800, 3082812, 0, 0, false, '2024-12-29 05:22:12.958738', '2024-12-29 05:22:12.958738', NULL), +(119913949, 0, 38720152, 'claimUpdatedWithoutExistingClaim', '2038606', '2234029', '60672', 'baga6ea4seaqcwwzq3auvbennbqrqyvh3ivk3vq5rzbf4eiuzmoojshjydw25upa', 68719476736, 5256000, 1540800, 3247214, 0, 0, false, '2024-12-29 11:15:06.356343', '2024-12-29 11:15:06.356343', NULL), +(87597774, 56972487, 0, 'deal', '2038731', '2234029', '66273', 'baga6ea4seaqjijqigncrmgn3sq6jprng2hu2oguooaphpslkjzrkemu5uumsajy', 68719476736, 4815648, NULL, 3261421, 0, 0, false, '2024-10-23 19:32:45.662481', '2024-10-23 19:32:45.662481', NULL), +(79862192, 49055649, 0, 'deal', '2046973', '2234029', '25052', 'baga6ea4seaqidxvvnh7hmjsvxju4q6wdromtuwvkiugiu3kaszguelqcxzn22bq', 68719476736, 4648586, NULL, 3094342, 0, 0, false, '2024-10-23 19:24:11.374298', '2024-10-23 19:24:11.374298', NULL), +(87645809, 57022518, 0, 'deal', '2060009', '2234029', '66746', 'baga6ea4seaqeptabjh7mumphp2nosi4mdjgpb33qum5ygwfspcdksdq2z6sb4ja', 68719476736, 4817004, NULL, 3262729, 0, 0, false, '2024-10-23 19:32:48.934994', '2024-10-23 19:32:48.934994', NULL), +(119913839, 0, 51268126, 'claimUpdatedWithoutExistingClaim', '2067823', '2234029', '74087', 'baga6ea4seaqe36ld7wwhelbbeh7sh3aufe5ihdwjg66gho3a543hxjqwo5eneaq', 68719476736, 5256000, 1036800, 3565832, 0, 0, false, '2024-12-29 11:11:42.365135', '2024-12-29 11:11:42.365135', NULL), +(75740391, 44784811, 27097239, 'deal', '2067891', '2234029', '4248', 'baga6ea4seaqf5j5lxzxora2qoablcd556firvgqgwkzzskc6pxy7ujai65a2qly', 68719476736, 4566028, NULL, 3011869, 0, 0, false, '2024-10-23 18:45:37.518166', '2024-10-23 18:45:37.518166', NULL), +(79096593, 48274878, 0, 'deal', '2094395', '2234029', '18649', 'baga6ea4seaqpqd7lydf2w7o7kwifz7wrzzevkz4hvtoxjqtd62ra5ux42vd5wni', 68719476736, 4632548, NULL, 3078302, 0, 0, false, '2024-10-23 19:23:20.489133', '2024-10-23 19:23:20.489133', NULL), +(119903043, 0, 32226584, 'claimUpdatedWithoutExistingClaim', '2100517', '2234029', '32255', 'baga6ea4seaqfvjssmryyd6f43423ici54xgffsbygvgh26nqe26zus7aei7jima', 68719476736, 5256000, 1540800, 3112322, 0, 0, false, '2024-12-29 04:42:06.923079', '2024-12-29 04:42:06.923079', NULL), +(76778969, 45874770, 28186892, 'deal', '2100520', '2234029', '8852', 'baga6ea4seaqollehpazbxyujnws7qkijuorpduoydtdrwqre6znicyc2555sscq', 68719476736, 4586531, NULL, 3032320, 0, 0, false, '2024-10-23 18:57:59.876257', '2024-10-23 18:57:59.876257', NULL), +(80590832, 49803385, 0, 'deal', '2100522', '2234029', '30941', 'baga6ea4seaqhiet2ypqwownvdcwvxxtx2vbe4mrujrywpuxugol24pdmcuptkgy', 68719476736, 4661722, NULL, 3107480, 0, 0, false, '2024-10-23 19:24:59.151342', '2024-10-23 19:24:59.151342', NULL), +(82257570, 51513438, 0, 'deal', '2100529', '2234029', '51597', 'baga6ea4seaqe2osdb4mcxb5jmnqbpptfsaam6yyvnhcassv6v4jqf2vid7xfaii', 68719476736, 4692629, NULL, 3138360, 0, 0, false, '2024-10-23 19:26:56.363696', '2024-10-23 19:26:56.363696', NULL), +(119898562, 0, 37872123, 'claimUpdatedWithoutExistingClaim', '2100532', '2234029', '54610', 'baga6ea4seaqozcmc7uhrd7x4jd7sx7lcaxdxxmcsojy5hyez2wkasi6i3xacwcy', 68719476736, 5256000, 1540800, 3229846, 0, 0, false, '2024-12-29 03:42:09.944536', '2024-12-29 03:42:09.944536', NULL), +(87858865, 57242721, 0, 'deal', '2117384', '2234029', '66832', 'baga6ea4seaqgh6jbkarscrpogkdi25zh44fmndbhtlsugmmrj6diyalkfoq4qey', 68719476736, 4824388, NULL, 3270096, 0, 0, false, '2024-10-23 19:33:02.727162', '2024-10-23 19:33:02.727162', NULL), +(79841592, 49035502, 31347293, 'deal', '2130652', '2234029', '24893', 'baga6ea4seaqgxjkng7hdntttenufuj6vjgurby7aopcn66hx7wde5y3ujxanqly', 68719476736, 4648210, NULL, 3093969, 0, 0, false, '2024-10-23 19:24:10.158642', '2024-10-23 19:24:10.158642', NULL), +(78591841, 47752887, 30064970, 'deal', '2130971', '2234029', '14560', 'baga6ea4seaqon4cowyjvf227jhszjlg45bpxkvtidl7ixb6komf2jmboyyovepi', 68719476736, 4622871, NULL, 3068718, 0, 0, false, '2024-10-23 19:20:29.862719', '2024-10-23 19:20:29.862719', NULL), +(78485193, 47642244, 29954327, 'deal', '2130972', '2234029', '13583', 'baga6ea4seaqg76ngtoej72vutszjctfltfl4emjpvkwyzf47anmsymbmdwnhooq', 68719476736, 4620227, NULL, 3066299, 0, 0, false, '2024-10-23 19:19:10.222561', '2024-10-23 19:19:10.222561', NULL), +(78715919, 47880251, 30192334, 'deal', '2130992', '2234029', '15750', 'baga6ea4seaqecg6zhwwrind3z3cwklclwh7ssryszebxlp4wy43b4rvntj5l4by', 68719476736, 4625753, NULL, 3071527, 0, 0, false, '2024-10-23 19:22:05.6066', '2024-10-23 19:22:05.6066', NULL), +(109988012, 82908426, 0, 'deal', '2147046', '2234029', '93846', 'baga6ea4seaqla2wkd3qjflzaw6lludutezpi4vmt2pu2pxdbdkwtjpkfswra2ba', 68719476736, 4683225, NULL, 3978641, 0, 0, false, '2024-10-23 19:58:32.517446', '2024-10-23 19:58:32.517446', NULL), +(119890157, 0, 32862810, 'claimUpdatedWithoutExistingClaim', '2204321', '2234029', '39231', 'baga6ea4seaqkuvtawbnd64zqaoynf4dpwwvgj43j2mmsrhlud6v2xqctzqvskmq', 68719476736, 5256000, 1540800, 3121108, 0, 0, false, '2024-12-29 01:47:03.515049', '2024-12-29 01:47:03.515049', NULL), +(119913917, 0, 33093693, 'claimUpdatedWithoutExistingClaim', '2280874', '2234029', '42271', 'baga6ea4seaqa5sisucq6hy3hvq7inyrxxx5tgwojcmydtuarts7gxloea7z4aaa', 68719476736, 5256000, 1540800, 3126205, 0, 0, false, '2024-12-29 11:13:22.235936', '2024-12-29 11:13:22.235936', NULL), +(79596956, 48785576, 31097411, 'deal', '2281895', '2234029', '23205', 'baga6ea4seaqh47fuu5hk5nhexonf6tbzfs6kim5sgycda2yas27d2pgundpqwly', 68719476736, 4643736, NULL, 3089543, 0, 0, false, '2024-10-23 19:23:53.919641', '2024-10-23 19:23:53.919641', NULL), +(90463382, 59909086, 0, 'deal', '2816091', '2234029', '70103', 'baga6ea4seaqdg2cgbhfkmlumm4fg2ncxz2trp6btrz5nnsa2ewxokxir3b36egi', 68719476736, 4883700, NULL, 3329443, 0, 0, false, '2024-10-23 19:35:52.000667', '2024-10-23 19:35:52.000667', NULL), +(90727510, 60175904, 0, 'deal', '2824502', '2234029', '71402', 'baga6ea4seaqkd6qclqyhy5pac34g6xchu6yyi3syrr6lskd22xmg5wulhejmqiq', 68719476736, 4888720, NULL, 3334512, 0, 0, false, '2024-10-23 19:36:09.003633', '2024-10-23 19:36:09.003633', NULL), +(90273317, 59715536, 42016178, 'deal', '2824503', '2234029', '68497', 'baga6ea4seaqovx4bw63cxlzw2rwlv6nqayahkekysyq5jbkry4wetipln3es2gi', 68719476736, 4880053, NULL, 3325855, 0, 0, false, '2024-10-23 19:35:39.689301', '2024-10-23 19:35:39.689301', NULL), +(90838963, 60291415, 0, 'deal', '2831491', '2234029', '72280', 'baga6ea4seaqhprf4ggbgx5kvkrzn3zpsix4ktffyq2tc3h5yegcux24zkglhwhi', 68719476736, 4890862, NULL, 3337119, 0, 0, false, '2024-10-23 19:36:16.170759', '2024-10-23 19:36:16.170759', NULL), +(109784151, 82498196, 0, 'deal', '2831645', '2234029', '88486', 'baga6ea4seaqeb2xtiq4v7w4voquo3btiuyhyglrvxeydj3sc35byn5ay6pmowcq', 68719476736, 4668114, NULL, 3963614, 0, 0, false, '2024-10-23 19:58:13.886638', '2024-10-23 19:58:13.886638', NULL), +(112099287, 89256056, 0, 'deal', '3054019', '2234029', '126952', 'baga6ea4seaqfkvuyihhpasho6b3ifrdgvlfltmw4zo3csk7sdvezwu47m4smsja', 68719476736, 4802514, NULL, 4184252, 0, 0, false, '2024-10-23 20:03:59.776921', '2024-10-23 20:03:59.776921', NULL), +(112006038, 88422802, 0, 'deal', '3137917', '2234029', '118951', 'baga6ea4seaqebjbuzbgmi5wa6hcwpmljxjjthfpup4es6tudi7hstguv6hqf4ka', 68719476736, 4781323, NULL, 4163104, 0, 0, false, '2024-10-23 20:03:15.086097', '2024-10-23 20:03:15.086097', NULL), +(112099270, 89255917, 0, 'deal', '3140519', '2234029', '126948', 'baga6ea4seaqplmoplmkeqjz67h4wykkv55dfd5bkoa6a5ml6tmyv33japt4jmdi', 68719476736, 4802510, NULL, 4184246, 0, 0, false, '2024-10-23 20:03:59.776921', '2024-10-23 20:03:59.776921', NULL), +(111317792, 86503718, 0, 'deal', '3145541', '2234029', '110415', 'baga6ea4seaqmvbbzq333qe4ymlz2fg6wnluz7bf6fnp5hepcnnjdvp22gv7dmjy', 68719476736, 4808254, NULL, 4103651, 0, 0, false, '2024-10-23 20:01:48.691158', '2024-10-23 20:01:48.691158', NULL), +(112154315, 91115930, 0, 'deal', '3146548', '2234029', '0', 'baga6ea4seaqndfsu2sap7un7icniekxlpwqrcholcrszzxdahnz5gr7cv6rkqcy', 68719476736, 4948865, NULL, 4294967295, 0, 0, false, '2024-10-23 20:05:29.632014', '2024-10-23 20:05:29.632014', NULL), +(111365168, 86650737, 0, 'deal', '3147261', '2234029', '111955', 'baga6ea4seaqhoenhmwyaolpx26vtzx3ruojo2pgxfgifkzx4fln3ensrvuykobq', 68719476736, 4812438, NULL, 4107774, 0, 0, false, '2024-10-23 20:01:56.084235', '2024-10-23 20:01:56.084235', NULL), +(131297352, 83307639, 65718885, 'claimUpdated', '816968', '2234029', 'null', 'baga6ea4seaqgdn7xv6egyx3wgmpfm46mpjutszvbrjs5ta72af4jqhmnjnnwmba', 68719476736, 5256000, 691200, 3989590, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), +(110513130, 84108599, 0, 'deal', '1941690', '3055005', '0', 'baga6ea4seaqicxj6wc4ijwaz2aidgh47nq3iq6slmsnpjbnrwhxniuz5rz3gmmi', 34359738368, 7673766, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:31.883225', '2024-10-23 19:59:31.883225', NULL), +(110538617, 84150959, 0, 'deal', '1948527', '3055005', '0', 'baga6ea4seaqlmu3vxpjl36eu33krqsmrsq2jhnrsdrqxemdbqr7flzeyrkpimgi', 34359738368, 7674030, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:34.17748', '2024-10-23 19:59:34.17748', NULL), +(110547321, 83264597, 0, 'deal', '1952539', '3055005', '0', 'baga6ea4seaqj3h7oe53j6r6snq5eno6iy7x6tbxmz6rltca7iev2ljnrfukm6cq', 34359738368, 7673782, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:35.253578', '2024-10-23 19:59:35.253578', NULL), +(110478690, 84045101, 0, 'deal', '1968227', '3055005', '0', 'baga6ea4seaql4deagtavb4hlyjscou6urd7gop5cxyjdztzeah6bskpxeqr7moq', 34359738368, 7673770, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:28.489837', '2024-10-23 19:59:28.489837', NULL), +(110274772, 83578328, 0, 'deal', '1972309', '3055005', '0', 'baga6ea4seaqocpbcetqjmku7vrhnwof2xzuoh3qwgbw2xi7q4fmpx6lga5zjudi', 34359738368, 7673818, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:03.780541', '2024-10-23 19:59:03.780541', NULL), +(110193402, 83389584, 0, 'deal', '1972574', '3055005', '0', 'baga6ea4seaqecpmuyks6yznxo2tbebgn4cka3kzbl3wysxsgxhzm6pkdqjubioy', 34359738368, 7658564, NULL, 4294967295, 0, 0, false, '2024-10-23 19:58:55.097527', '2024-10-23 19:58:55.097527', NULL), +(110538415, 84150427, 0, 'deal', '1973609', '3055005', '0', 'baga6ea4seaqecl3ff6uotvtvv6mrt66enr2sk4ubxrbue6lumcstmlccrs6vsny', 34359738368, 7673850, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:34.163149', '2024-10-23 19:59:34.163149', NULL), +(25354893, 83572544, 65983788, 'claimUpdated', '1999116', '3055005', '25382', 'baga6ea4seaqm55auqm7kkripoijzyiqvgkujj4tpqnbt6qtgi3d4dpxxdcwasma', 34359738368, 5256000, 3637440, 4001349, 0, 0, false, '2024-10-23 10:08:30.459837', '2024-10-23 10:08:30.459837', NULL), +(110425916, 83954173, 0, 'deal', '2006103', '3055005', '0', 'baga6ea4seaqjzut4sst6x6f4y6b7perbsj5jcj6mznuzmfekd5fsxycf7vajmeq', 34359738368, 7673795, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:22.302734', '2024-10-23 19:59:22.302734', NULL), +(110430211, 83186247, 0, 'deal', '2006894', '3055005', '0', 'baga6ea4seaqjtg573x4bi2tgpvv5fffb2kpngbbbsvkpe6nbdik4o3saf65vwpi', 34359738368, 7673786, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:22.631779', '2024-10-23 19:59:22.631779', NULL), +(110446915, 83992858, 0, 'deal', '2053051', '3055005', '0', 'baga6ea4seaqpiicz4xxg3lsmsq2pkf273tmuvax2yzlzy4fzfkzlcc2kbanbipa', 34359738368, 7673812, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:24.09158', '2024-10-23 19:59:24.09158', NULL), +(25392583, 83651866, 66063172, 'claimUpdated', '2057451', '3055005', '27467', 'baga6ea4seaqccwrzrpbfcpp4geuxj4rz6eh3mztuk5knpfl7qmjto6sdqliuaei', 34359738368, 5256000, 3637440, 4004417, 0, 0, false, '2024-10-23 10:08:30.459837', '2024-10-23 10:08:30.459837', NULL), +(110252917, 82651982, 0, 'deal', '2057935', '3055005', '0', 'baga6ea4seaqlmu3vxpjl36eu33krqsmrsq2jhnrsdrqxemdbqr7flzeyrkpimgi', 34359738368, 7658572, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:00.624179', '2024-10-23 19:59:00.624179', NULL), +(110221128, 83450420, 0, 'deal', '2060254', '3055005', '0', 'baga6ea4seaqldepi5dpj5qybv2sujxj7up5rveq4dqju367y6hubwtwg25o4siq', 34359738368, 7658708, NULL, 4294967295, 0, 0, false, '2024-10-23 19:58:58.005247', '2024-10-23 19:58:58.005247', NULL), +(109946219, 83145064, 0, 'deal', '2062395', '3055005', '0', 'baga6ea4seaqlzdnmq5ksqaw22y4z4fppgz6pugasswyxp5ximusy4qfoqc2lejy', 34359738368, 7635488, NULL, 4294967295, 0, 0, false, '2024-10-23 19:58:28.51378', '2024-10-23 19:58:28.51378', NULL), +(110149745, 83301564, 0, 'deal', '2063173', '3055005', '0', 'baga6ea4seaqlbk46yoshnlbjz7ztnocak6bzlcd27cahnqqbywhdna6xqv2pwfa', 34359738368, 7648079, NULL, 4294967295, 0, 0, false, '2024-10-23 19:58:50.113454', '2024-10-23 19:58:50.113454', NULL), +(110093573, 83186250, 0, 'deal', '2063175', '3055005', '0', 'baga6ea4seaqpgc45jhzpo3hmivl5aabwh6reap2vphgy7mk3ryjf3udy5pm3aai', 34359738368, 7648082, NULL, 4294967295, 0, 0, false, '2024-10-23 19:58:44.558131', '2024-10-23 19:58:44.558131', NULL), +(110533405, 84139038, 0, 'deal', '2100549', '3055005', '0', 'baga6ea4seaqadwjvmwzlzjm6cnutppmqkmf5wb3kzqwo2my3h3qgjnoccj5jika', 34359738368, 7674036, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:33.559919', '2024-10-23 19:59:33.559919', NULL), +(110545119, 84168986, 0, 'deal', '2122219', '3055005', '0', 'baga6ea4seaqdvvw72t6lo676docc7uezrk4lva3amgvnjsr5ni6dnxwpe6ec4aa', 34359738368, 7673979, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:34.99083', '2024-10-23 19:59:34.99083', NULL), +(110551042, 84193451, 0, 'deal', '2122226', '3055005', '0', 'baga6ea4seaqk4gzhzcdzeuukyknsxpkqjigcsogmrvqkuwm4upowfipkz5upsmi', 34359738368, 7673864, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:36.83038', '2024-10-23 19:59:36.83038', NULL), +(110253340, 83505458, 0, 'deal', '2122232', '3055005', '0', 'baga6ea4seaqkwkkyyor4ixj5pjdnidjvyegmgl2vettosxocjka7fldqu77f2ey', 34359738368, 7658903, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:00.954776', '2024-10-23 19:59:00.954776', NULL), +(110547318, 84179708, 0, 'deal', '2122239', '3055005', '0', 'baga6ea4seaqkhqbwhxcmy3y62zbzbro55432snrcmgqtc6tuwqy6yk5xsgda2bi', 34359738368, 7673922, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:35.253578', '2024-10-23 19:59:35.253578', NULL), +(141737003, 0, 107393373, 'claim', '3061409', '3055005', '147822', 'baga6ea4seaqipn7lxzt3d4pdstlanovzyups6tjrxzwalkksxr5eorreqkcg6cy', 34359738368, 3896640, 3637440, 5137615, 0, 0, false, '2025-07-13 11:55:31.367', '2025-07-13 11:55:31.367', NULL), +(132803858, 0, 76391603, 'claimUpdated', '3094699', '3055005', 'null', 'baga6ea4seaqlh2jtgucjrwnjsr3kdia3434bgrv65cvkkphjtyhmjk2toofzwjy', 34359738368, 5256000, 3637440, 4302008, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(125009296, 107573501, 91486985, 'claimUpdated', '3132773', '3055005', '105987', 'baga6ea4seaqppmejab5reawlv4h3d2y2chhh5z7eqovsalzvil3b4ngvjf23sfq', 34359738368, 5256000, 3637440, 4749063, 0, 0, false, '2025-02-28 16:04:45.21', '2025-02-28 16:04:45.21', NULL), +(132572407, 0, 98142081, 'claimUpdated', '3139573', '3055005', '112516', 'baga6ea4seaqfgkg54k7ggb6nhnz3eubx3wd7wqeoq36dieiiwadnvoxllgsioaa', 34359738368, 5256000, 3637440, 4923628, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), +(146764980, 0, 112482872, 'claim', '3139932', '3055005', '170223', 'baga6ea4seaqkwcyedkghuv6rjwfiegdmz27wd5n3ip2gkmtap363lwlh5o2bsay', 34359738368, 3896640, 3637440, 5257057, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), +(133058219, 86689886, 69225715, 'claimUpdated', '3143085', '3055005', 'null', 'baga6ea4seaqnzownsf7apy7nxfhuu7v37s2rmlwpkly73zcp6eaedtmvp5thwny', 34359738368, 5256000, 3637440, 4108996, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(150908585, 0, 117298090, 'claim', '3143121', '3055005', '184444', 'baga6ea4seaqawt2tkr65rwjsox4n76cmrryml4ym44fzjesapf7e5yd5dz3v6aq', 34359738368, 3896640, 3637440, 5428847, 0, 0, false, '2025-10-22 13:09:01.887', '2025-10-22 13:09:01.887', NULL), +(112146623, 90643397, 0, 'deal', '3179579', '3055005', '0', 'baga6ea4seaqcvyp4vghqpu5uckcqaaqusvipuxh7kharhc5w6ozwhlmuiccaoky', 34359738368, 7896307, NULL, 4294967295, 0, 0, false, '2024-10-23 20:05:04.885557', '2024-10-23 20:05:04.885557', NULL), +(150907749, 0, 117298187, 'claim', '3201578', '3055005', '184456', 'baga6ea4seaqifwc6jmnzx4f2pcxrhgmeq4cvoyjsis7hwqlddu2qrbp7oj4mkoa', 34359738368, 3896640, 3637440, 5428791, 0, 0, false, '2025-10-22 13:14:01.779', '2025-10-22 13:14:01.779', NULL), +(112222344, 94739387, 78537883, 'deal', '3224701', '3055005', '74923', 'baga6ea4seaqjmgye2bzfh6pxzwcqx2rvxjzj6smo4jhpha3aq3lxhqwlbj5hibi', 34359738368, 8013160, NULL, 4356778, 0, 0, false, '2024-10-23 20:09:22.785451', '2024-10-23 20:09:22.785451', NULL), +(133522063, 0, 98042902, 'claimUpdated', '3225482', '3055005', '111515', 'baga6ea4seaqpaogp3q6ee5irezgum5zoyfizr3fd5h5ldpkcerm3gim4u3j6gjy', 34359738368, 5256000, 3637440, 4922377, 0, 0, false, '2025-05-13 09:59:00.0489', '2025-05-13 09:59:00.0489', NULL), +(133135665, 0, 83464017, 'claimUpdated', '3226362', '3055005', 'null', 'baga6ea4seaqm7dtltwgsfqeendqh2v2z5mx25rnl63zunpl4ctkmmna6iqd2cay', 34359738368, 5256000, 3637440, 4496974, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(133258678, 0, 98425092, 'claimUpdated', '3226921', '3055005', '117390', 'baga6ea4seaqlbhgmttncxp32zqkxehvqhnxvyyphsa2mrlt5m7a2pgrthesgwea', 34359738368, 5256000, 3637440, 4929527, 0, 0, false, '2025-05-13 09:50:39.525688', '2025-05-13 09:50:39.525688', NULL), +(141736701, 0, 107393176, 'claim', '3229827', '3055005', '147817', 'baga6ea4seaqb73zx735krnova25nfetzmqblcpmborelysjn44chxs74hjx4sja', 34359738368, 3896640, 3637440, 5137605, 0, 0, false, '2025-07-13 11:50:04.233', '2025-07-13 11:50:04.233', NULL), +(150879960, 0, 117269557, 'claim', '3235903', '3055005', '183516', 'baga6ea4seaqkawu5vicsfg737sjxaicpuh53jrrxeswli2gc7swd56yncw62gnq', 34359738368, 3896640, 3637440, 5427669, 0, 0, false, '2025-10-22 04:39:02.227', '2025-10-22 04:39:02.227', NULL), +(132752169, 0, 98928055, 'claimUpdated', '3235906', '3055005', '126449', 'baga6ea4seaqfeorciebbyltw4cnaotixqeciveuadigyeduekpp5742ybnutcmq', 34359738368, 5256000, 3637440, 4940767, 0, 0, false, '2025-05-13 09:36:14.190604', '2025-05-13 09:36:14.190604', NULL), +(150905861, 0, 117298201, 'claim', '3239767', '3055005', '184461', 'baga6ea4seaqiz5suf6x52hn22mwdupzumi55tbdla2fbnshof45hion54ggloey', 34359738368, 3896640, 3637440, 5428700, 0, 0, false, '2025-10-22 13:14:01.779', '2025-10-22 13:14:01.779', NULL), +(146764594, 0, 112482875, 'claim', '3241844', '3055005', '170222', 'baga6ea4seaqfkrsd7kgmhaafccuopw4zux6glfuac2qcjsp56idk5mwynz67ufy', 34359738368, 3896640, 3637440, 5257040, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), +(146765230, 0, 112482876, 'claim', '3278602', '3055005', '170225', 'baga6ea4seaqgouxbjpunzbh76rxouu7nv473kahotliprxhmllh4v7fjjllzcpa', 34359738368, 3896640, 3637440, 5257082, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), +(146764595, 0, 112482878, 'claim', '3313266', '3055005', '170222', 'baga6ea4seaqn4asokbfbfv3ai5nmuiee2o3fe63bzyyiugtwikwjnl24zfetkiq', 34359738368, 3896640, 3637440, 5257040, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), +(125021183, 107587219, 91500708, 'claim', '3369658', '3055005', '106208', 'baga6ea4seaqe345npt4gk3syamxoun5kfzqtovd7d4svobu2zigccn4o3r3zqei', 34359738368, 3896640, 3637440, 4749352, 0, 0, false, '2025-02-28 16:23:10.237', '2025-02-28 16:23:10.237', NULL), +(146765328, 0, 112482879, 'claim', '3495258', '3055005', '170224', 'baga6ea4seaql3lqxxev53schd6ksk3o33t4wlthdtqykx56uiquci6nd5oxjcdq', 34359738368, 3896640, 3637440, 5257092, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), +(133109122, 0, 98243923, 'claim', '3537422', '3055005', '113880', 'baga6ea4seaqdwgi7fshqtoh6s26kznz3lvgxmtuba7dgoxbdk375e547e2i2edi', 34359738368, 3896640, 3637440, 4925327, 0, 0, false, '2025-05-13 09:47:59.009949', '2025-05-13 09:47:59.009949', NULL), +(146417380, 0, 112153755, 'claim', '3634419', '3055005', '159082', 'baga6ea4seaqlma4uakxa43waj2n27cjztq6emn6jtfihzr6a2my5qz4wv3mrsly', 34359738368, 3896640, 3637440, 5244767, 0, 0, false, '2025-08-19 16:48:03.16', '2025-08-19 16:48:03.16', NULL), +(151015995, 0, 117456458, 'claim', '3645919', '3055005', '187831', 'baga6ea4seaqorw63zoffvjhp2aqzsfh7vviwe5zwcuzu2lx3lqgd6tojpklhqjq', 34359738368, 3896640, 3637440, 5433098, 0, 0, false, '2025-10-23 20:14:02.008', '2025-10-23 20:14:02.008', NULL), +(111128542, 85950243, 0, 'deal', '1938503', '3055029', '35119', 'baga6ea4seaqenrdyq76uez2nwi7f5yppkrc2oz4rgdi736b7gkp7vmhtmjbpcoi', 34359738368, 7756565, NULL, 4087806, 0, 0, false, '2024-10-23 20:01:18.506091', '2024-10-23 20:01:18.506091', NULL), +(110888408, 85147758, 0, 'deal', '1941661', '3055029', '22642', 'baga6ea4seaqovb6lhtg53gfzjejuw7rekdcnm2xwiixdpnkxau7iif5kltosooa', 34359738368, 7719732, NULL, 4059710, 0, 0, false, '2024-10-23 20:00:39.231741', '2024-10-23 20:00:39.231741', NULL), +(110929204, 85302694, 0, 'deal', '1972306', '3055029', '24330', 'baga6ea4seaqils24q5jbj5hcuifl5p2rrypx2mdqieho34agfvo4zljzokl54li', 34359738368, 7736782, NULL, 4065007, 0, 0, false, '2024-10-23 20:00:47.105478', '2024-10-23 20:00:47.105478', NULL), +(111096704, 85862746, 0, 'deal', '1972571', '3055029', '34269', 'baga6ea4seaql5ckugw4isdq76uiekttc534d5qcbvaq2sb6navxmnmc4ltco6ha', 34359738368, 7756531, NULL, 4085049, 0, 0, false, '2024-10-23 20:01:14.216283', '2024-10-23 20:01:14.216283', NULL), +(110890864, 85157520, 0, 'deal', '1972574', '3055029', '22826', 'baga6ea4seaqnigbirw56gwbr2l4jsll73e52gnaimtv6f5d4ajeqr6j6vdynuni', 34359738368, 7719664, NULL, 4060046, 0, 0, false, '2024-10-23 20:00:40.212761', '2024-10-23 20:00:40.212761', NULL), +(111098827, 85867524, 0, 'deal', '1973010', '3055029', '34291', 'baga6ea4seaqcgg232de2eg6fbos73rxagirvkwqagvfyi75bqkprookyrsilgki', 34359738368, 7736344, NULL, 4085251, 0, 0, false, '2024-10-23 20:01:14.512835', '2024-10-23 20:01:14.512835', NULL), +(111096705, 85862747, 0, 'deal', '1980914', '3055029', '34268', 'baga6ea4seaqehsurhzpl3wzhlire72jboizil4iljpcwn564uljn443y5yiacdq', 34359738368, 7736362, NULL, 4085105, 0, 0, false, '2024-10-23 20:01:14.216283', '2024-10-23 20:01:14.216283', NULL), +(110844498, 84982689, 0, 'deal', '1980993', '3055029', '20254', 'baga6ea4seaqfoxrg7tyriatnadacv2mcp5jwt7ifkuomqztzawdgsk6qfxhpqdi', 34359738368, 7719744, NULL, 4054896, 0, 0, false, '2024-10-23 20:00:31.403549', '2024-10-23 20:00:31.403549', NULL), +(111093647, 85853995, 0, 'deal', '2006102', '3055029', '34158', 'baga6ea4seaqojfh3wondsxpa7zdqbxgvcbxuqir53sx335pd2tk2gdf5vlqzwda', 34359738368, 7756537, NULL, 4084811, 0, 0, false, '2024-10-23 20:01:13.913951', '2024-10-23 20:01:13.913951', NULL), +(111095107, 85858375, 0, 'deal', '2048079', '3055029', '34222', 'baga6ea4seaqbhdd3rl2bytdzkhqgyk4emr4pp6kxj45a6bah4pbm6heuyz532hy', 34359738368, 7736830, NULL, 4084926, 0, 0, false, '2024-10-23 20:01:14.072578', '2024-10-23 20:01:14.072578', NULL), +(111127302, 85946712, 0, 'deal', '2052551', '3055029', '35089', 'baga6ea4seaqmkwwvp25nt4sdbpar6c6frofjkaukgwd73lsiylix2zh46bjawbq', 34359738368, 7756536, NULL, 4087684, 0, 0, false, '2024-10-23 20:01:18.04439', '2024-10-23 20:01:18.04439', NULL), +(111127803, 85947674, 0, 'deal', '2055303', '3055029', '35095', 'baga6ea4seaqppcdwg424jvyvwpqscdwyqumd6gahimbdoc3l4ep2azhx2pgmmbq', 34359738368, 7756564, NULL, 4087702, 0, 0, false, '2024-10-23 20:01:18.441016', '2024-10-23 20:01:18.441016', NULL), +(110890390, 85158043, 0, 'deal', '2062395', '3055029', '22841', 'baga6ea4seaqfw3nrxz7tl4ysuhj73dbkyuc67qbqik4fwlqwe7yk3dgr6d33gfq', 34359738368, 7719661, NULL, 4060070, 0, 0, false, '2024-10-23 20:00:40.164355', '2024-10-23 20:00:40.164355', NULL), +(110942932, 85349149, 0, 'deal', '2063173', '3055029', '25416', 'baga6ea4seaqpydkkq7l2k3ygt5ipie3zpkinyt2jz7ltjxpkr36crymjusamofa', 34359738368, 7736785, NULL, 4066938, 0, 0, false, '2024-10-23 20:00:49.265372', '2024-10-23 20:00:49.265372', NULL), +(111095998, 85862258, 0, 'deal', '2063175', '3055029', '34263', 'baga6ea4seaqgtu3mf4rrah6x5vypfqqol3mxmzj7geercxl7b4zvasf54spiuby', 34359738368, 7756548, NULL, 4085005, 0, 0, false, '2024-10-23 20:01:14.165789', '2024-10-23 20:01:14.165789', NULL), +(111128539, 85950241, 0, 'deal', '2063186', '3055029', '35119', 'baga6ea4seaqfnawx2je3ayh53eq6sqxxs5e3td4so26vvcgbzicfw3m7iviu6py', 34359738368, 7756544, NULL, 4087806, 0, 0, false, '2024-10-23 20:01:18.506091', '2024-10-23 20:01:18.506091', NULL), +(110899702, 85191020, 0, 'deal', '2122232', '3055029', '23179', 'baga6ea4seaqkdplkdjku3bqiw5dywhocmhsjmhmqj4waelnhpjunvkhcxlyiqmi', 34359738368, 7719813, NULL, 4061719, 0, 0, false, '2024-10-23 20:00:43.053765', '2024-10-23 20:00:43.053765', NULL), +(110947431, 85366353, 0, 'deal', '2809336', '3055029', '25858', 'baga6ea4seaqn2ziojnmkc44lk4x225ajkeefsdi7xs7wdcg274zmy5gvieiocgq', 34359738368, 7736334, NULL, 4067702, 0, 0, false, '2024-10-23 20:00:49.993299', '2024-10-23 20:00:49.993299', NULL), +(110928807, 85300251, 0, 'deal', '2927649', '3055029', '24227', 'baga6ea4seaqmu32vecqosiaft3e6uxk3thhfryphmcbymzult6zj6gjhrdnjoaq', 34359738368, 7736354, NULL, 4064854, 0, 0, false, '2024-10-23 20:00:47.043012', '2024-10-23 20:00:47.043012', NULL), +(109333026, 81436946, 0, 'deal', '2929683', '3055029', '15991', 'baga6ea4seaqj2wsorc4appp7mntxo5ri2yaanyhaadkgu7ginsjmza4jsdkv2ny', 34359738368, 7590701, NULL, 3931324, 0, 0, false, '2024-10-23 19:57:25.143596', '2024-10-23 19:57:25.143596', NULL), +(141107064, 0, 106749301, 'claimUpdated', '3061409', '3055029', '145685', 'baga6ea4seaqfcpxlzucxykbserh4lgnsq5jeolem4cgviwfjxsvvne2au6nzwmi', 34359738368, 5256000, 3637440, 5122713, 0, 0, false, '2025-07-08 07:25:02.062', '2025-07-08 07:25:02.062', NULL), +(132805390, 0, 90087773, 'claimUpdated', '3094699', '3055029', 'null', 'baga6ea4seaqjxlhxvk4syqomz2yzwrnydy77z4ijsymvyvsfcrltnfkz3zogmki', 34359738368, 5256000, 3637440, 4704805, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(129844399, 0, 97704913, 'claimUpdated', '3132773', '3055029', '115770', 'baga6ea4seaqcdu3wrh4spawpskl6yahnfjbeieqsrfeyisvppag55a4jn24cyca', 34359738368, 5256000, 3637440, 4914290, 0, 0, false, '2025-04-26 22:12:04.419', '2025-04-26 22:12:04.419', NULL), +(147542919, 0, 113379334, 'claim', '3139573', '3055029', '159243', 'baga6ea4seaqapmvch5qjo26agpzcxkdwe5azci2t6bc6uyx35sioh5bv2mxsqcq', 34359738368, 3896640, 3637440, 5296807, 0, 0, false, '2025-09-06 18:21:01.86', '2025-09-06 18:21:01.86', NULL), +(150498183, 0, 116910259, 'claim', '3139932', '3055029', '182447', 'baga6ea4seaqmnhb4xodu45s5dbp6cz4lcojkpl4bcs4tkgu2b3qo2jqghb7keli', 34359738368, 3896640, 3637440, 5411055, 0, 0, false, '2025-10-16 09:49:07.724', '2025-10-16 09:49:07.724', NULL), +(133059688, 0, 90079571, 'claimUpdated', '3143085', '3055029', 'null', 'baga6ea4seaqfsbro22s65zlwqelu2llbftwoymcwd54tkef6zunklvjgl7kzsjq', 34359738368, 5256000, 3637440, 4704610, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(150218347, 0, 116594216, 'claim', '3143121', '3055029', '173877', 'baga6ea4seaqc4yo6k64shsvc66uw5vzfltar2iyk3sbamtxbok6dc6f57lzrqai', 34359738368, 3896640, 3637440, 5400769, 0, 0, false, '2025-10-12 21:01:04.123', '2025-10-12 21:01:04.123', NULL), +(112153685, 91086690, 74107344, 'deal', '3191284', '3055029', '38806', 'baga6ea4seaqjc4iuugxrvq4t6opfeyaortfmphyliqz3xwf4eunc6orwbwepqei', 34359738368, 7907948, NULL, 4243431, 0, 0, false, '2024-10-23 20:05:28.080329', '2024-10-23 20:05:28.080329', NULL), +(112187287, 92750860, 76246920, 'deal', '3201394', '3055029', '57349', 'baga6ea4seaqppm6igmlhfvi5yfe6w7komfxtquyyvfzpcwddyamfdpao35ggmpa', 34359738368, 7960479, NULL, 4297484, 0, 0, false, '2024-10-23 20:06:46.873496', '2024-10-23 20:06:46.873496', NULL), +(131478325, 0, 81224374, 'claimUpdated', '3201578', '3055029', 'null', 'baga6ea4seaqnwbyitf7gczh7kk4mttib2em7rjflhjmaifktefdd4u6sm65aepy', 34359738368, 5256000, 3637440, 4435756, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(133503972, 0, 97701759, 'claimUpdated', '3225482', '3055029', '115627', 'baga6ea4seaqbwschvmbujx7mupqafhk3sdddyvgwce6ruyokr7rxaikgz5r7aai', 34359738368, 5256000, 3637440, 4914155, 0, 0, false, '2025-05-13 09:59:00.0489', '2025-05-13 09:59:00.0489', NULL), +(133135185, 0, 97689371, 'claimUpdated', '3226362', '3055029', '115438', 'baga6ea4seaqhauhctwcldcymryzl22t6pzcckf6wpd7xsfj3raagyd6bhoadkmy', 34359738368, 5256000, 3637440, 4913647, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(141102492, 0, 106742232, 'claimUpdated', '3226921', '3055029', '145679', 'baga6ea4seaqe3ouulu66lpl7tamjp3jjazwbct3ov5gij632dr6uke36mw736la', 34359738368, 5256000, 3637440, 5122578, 0, 0, false, '2025-07-08 06:25:02.854', '2025-07-08 06:25:02.854', NULL), +(135940583, 0, 101633215, 'claimUpdated', '3229827', '3055029', '127214', 'baga6ea4seaqco75e2mv3g6rlc4owniwzzvhdsvyjvclo4tvnivkfhmbjezd5eei', 34359738368, 5256000, 3637440, 5002659, 0, 0, false, '2025-05-27 15:13:30.376', '2025-05-27 15:13:30.376', NULL), +(150562565, 0, 116959105, 'claim', '3235903', '3055029', '182494', 'baga6ea4seaqesclplgr2qskbsjjdlwpqdmasmyzz2gkif7axi2stejfbd3el6pi', 34359738368, 3896640, 3637440, 5413685, 0, 0, false, '2025-10-17 02:34:02.149', '2025-10-17 02:34:02.149', NULL), +(136172729, 0, 101853973, 'claimUpdated', '3235906', '3055029', '131901', 'baga6ea4seaqhsmxpmh4l6r6ecmr2ewsvchpnuexqosro3lin5nsmyh2pvvidony', 34359738368, 5256000, 3637440, 5007984, 0, 0, false, '2025-05-29 19:32:03.884439', '2025-05-29 19:32:03.884439', NULL), +(147543646, 0, 113379382, 'claim', '3239767', '3055029', '159247', 'baga6ea4seaqbor7dxe4kp5k2hmh7ekgxj7o6fqyya47z3wzwyidp3v3dr5ysela', 34359738368, 3896640, 3637440, 5296838, 0, 0, false, '2025-09-06 18:26:02.051', '2025-09-06 18:26:02.051', NULL), +(147542200, 0, 113378597, 'claim', '3241844', '3055029', '159217', 'baga6ea4seaqmnuc2kpsn5gqmb6kbdywuxjcay7zwgpvicr77ifntfvv2d4s46da', 34359738368, 3896640, 3637440, 5296770, 0, 0, false, '2025-09-06 18:01:02.132', '2025-09-06 18:01:02.132', NULL), +(147543231, 0, 113379383, 'claim', '3278602', '3055029', '159246', 'baga6ea4seaqjeabbk2qaybr3424gnqjlnmo5ikgexy5odpqm5cvbgtzsfslyqcq', 34359738368, 3896640, 3637440, 5296812, 0, 0, false, '2025-09-06 18:26:02.051', '2025-09-06 18:26:02.051', NULL), +(134242448, 0, 97232677, 'claimUpdated', '3313266', '3055029', '107377', 'baga6ea4seaqcemypcpe3hg73plrhedwwgsklbcpaypyeokjuaujqhyvsiclgoni', 34359738368, 5256000, 3637440, 4903951, 0, 0, false, '2025-05-13 10:45:57.558143', '2025-05-13 10:45:57.558143', NULL), +(124167123, 106715624, 90628797, 'claim', '3369658', '3055029', '100909', 'baga6ea4seaqeedqlxowdfg6ad65zufgmz5slnx6lbbnquusnouzwkuqsjq6ksea', 34359738368, 3896640, 3637440, 4723565, 0, 0, false, '2025-02-19 17:13:23.557', '2025-02-19 17:13:23.557', NULL), +(150218348, 0, 116594217, 'claim', '3495258', '3055029', '173877', 'baga6ea4seaqohmzrvm76d36ufwd3zya5ostdks3gnk5wok2uv67mzkbsou2vyba', 34359738368, 3896640, 3637440, 5400769, 0, 0, false, '2025-10-12 21:01:04.123', '2025-10-12 21:01:04.123', NULL), +(135745523, 0, 101430888, 'claim', '3537422', '3055029', '123287', 'baga6ea4seaqj3ng3gcqlqe5sxnt6g3bajip7zhea3fvpqobbwbpozwthbmxgmdq', 34359738368, 3896640, 3637440, 4998111, 0, 0, false, '2025-05-26 00:44:02.365', '2025-05-26 00:44:02.365', NULL), +(147655310, 0, 113551480, 'claim', '3634419', '3055029', '164867', 'baga6ea4seaqac2m23xoazeat3rambha5y2szplm2cvryn4gelonumw6o3v37uii', 34359738368, 3896640, 3637440, 5303503, 0, 0, false, '2025-09-09 06:14:02.031', '2025-09-09 06:14:02.031', NULL), +(150498259, 0, 116913531, 'claim', '3645919', '3055029', '182447', 'baga6ea4seaqpystfz6mzkpxiqtwthlrxm3o3i6n6tjzekc2afipwvsk5zfw5qci', 34359738368, 3896640, 3637440, 5411055, 0, 0, false, '2025-10-16 10:49:03.131', '2025-10-16 10:49:03.131', NULL), +(128924951, 0, 95902794, 'claim', '1131298', '717969', '282396', 'baga6ea4seaqlwt2azf632e5mcwybxjv3v63jndbv3qh575msc7lt3q2ixbeu2mq', 34359738368, 1785600, 1526400, 4869419, 0, 0, false, '2025-04-11 11:58:02.655', '2025-04-11 11:58:02.655', NULL), +(84192627, 53480879, 0, 'deal', '1151139', '717969', '229813', 'baga6ea4seaqnkpydbszy2znsawxua2jik42vsay4dkslwbiva24lqjyo7uygsfa', 34359738368, 4726176, NULL, 3186446, 0, 0, false, '2024-10-23 19:29:02.843171', '2024-10-23 19:29:02.843171', NULL), +(95769161, 65344175, 0, 'deal', '1173608', '717969', '237242', 'baga6ea4seaqkbjxm72ta7kif7apdrqf6nfle4jhrwmoyy4rigthudxgejma7oha', 34359738368, 4992676, NULL, 3446913, 0, 0, false, '2024-10-23 19:41:37.918144', '2024-10-23 19:41:37.918144', NULL), +(50840317, 17166835, 0, 'deal', '1381852', '717969', '0', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 3899453, NULL, 2372900, 0, 0, false, '2024-10-23 14:29:01.516046', '2024-10-23 14:29:01.516046', NULL), +(47611436, 13789552, 0, 'deal', '1471028', '717969', '0', 'baga6ea4seaqmgdwyrqlqebvmvqiqkfv3v7wudlhy3qtwjeccynwc63tui4ghuja', 34359738368, 3815933, NULL, 2276283, 0, 0, false, '2024-10-23 13:55:11.515906', '2024-10-23 13:55:11.515906', NULL), +(67269581, 35555010, 0, 'deal', '1762699', '717969', '210951', 'baga6ea4seaqf43lvasi6hap54xwfusm5m77znto2vbwajfbv3hpmioiekiwt6mi', 1048576, 4366013, NULL, 2839227, 0, 0, false, '2024-10-23 17:14:56.96964', '2024-10-23 17:14:56.96964', NULL), +(56258140, 23411933, 0, 'deal', '1787692', '717969', '198791', 'baga6ea4seaqlyevamlsi66ld243uhikzaelklew4urqkrozpypfh6xdlfywrkoi', 4294967296, 4099445, NULL, 2559314, 0, 0, false, '2024-10-23 15:27:03.461164', '2024-10-23 15:27:03.461164', NULL), +(87967046, 57354732, 0, 'deal', '1844774', '717969', '233026', 'baga6ea4seaqbgdhe65jfqp6kqy6ecikuvei3lalwml7pld5d6pzjsfoglh6asfq', 34359738368, 4808048, NULL, 3273743, 0, 0, false, '2024-10-23 19:33:09.583565', '2024-10-23 19:33:09.583565', NULL), +(106359713, 76001402, 0, 'deal', '1859221', '717969', '243841', 'baga6ea4seaqfqyby6yr7zsftpxoz2my77ngmsuaqam2v2zk3o32olhkb76hksgy', 34359738368, 7421075, NULL, 3744084, 0, 0, false, '2024-10-23 19:53:07.544105', '2024-10-23 19:53:07.544105', NULL), +(46559684, 12696060, 0, 'deal', '1929808', '717969', '0', 'baga6ea4seaqajofmxf7nkquflt2vhfqrrc3knoklkhgyaqzsaproqez2vpv3kdi', 34359738368, 3781373, NULL, 2238590, 0, 0, false, '2024-10-23 13:47:54.72317', '2024-10-23 13:47:54.72317', NULL), +(80372718, 49582620, 0, 'deal', '1943349', '717969', '225853', 'baga6ea4seaqkhtisg6x7opy43rbdnckjyvufx4y47b7q4gwwoyylosetdzmmcaa', 34359738368, 4630973, NULL, 3103300, 0, 0, false, '2024-10-23 19:24:44.801702', '2024-10-23 19:24:44.801702', NULL), +(112106196, 89484064, 0, 'deal', '1943355', '717969', '253021', 'baga6ea4seaqa5eoxp4mqywnayu64gc2sb3sxxep7274ya6xkqxngdjxbyf4qsoy', 34359738368, 5712684, NULL, 4191573, 0, 0, false, '2024-10-23 20:04:09.837187', '2024-10-23 20:04:09.837187', NULL), +(123934738, 106490359, 90403428, 'claim', '1982040', '717969', '279485', 'baga6ea4seaqj3pybpnwkjqlgl67bgzp3iawwadpxowkx542suvwef5zti3esqii', 34359738368, 1771200, 1512000, 4716019, 0, 0, false, '2025-02-17 05:31:02.338', '2025-02-17 05:31:02.338', NULL), +(54095923, 20983382, 0, 'deal', '1992623', '717969', '195951', 'baga6ea4seaqjwfgmf77ahj7yinsxrmpy7llrwvihz45mzwd2m4gqc3pv5ezjuai', 34359738368, 4026173, NULL, 2485986, 0, 0, false, '2024-10-23 15:04:27.210586', '2024-10-23 15:04:27.210586', NULL), +(55879556, 23004615, 0, 'deal', '1992627', '717969', '194542', 'baga6ea4seaqa4v3fe6abj7viq4ku73bn4n4tkmsgxotdsnnbzugavjjqf7phgei', 34359738368, 4069373, NULL, 2541269, 0, 0, false, '2024-10-23 15:23:10.323076', '2024-10-23 15:23:10.323076', NULL), +(54952533, 21980517, 0, 'deal', '2003085', '717969', '195410', 'baga6ea4seaqop6z6egufujh5yl57ur6m4wat3i6h2jpf5jldkusznntfikxb6da', 34359738368, 4037693, NULL, 2509939, 0, 0, false, '2024-10-23 15:13:29.534748', '2024-10-23 15:13:29.534748', NULL), +(57088549, 24343376, 0, 'deal', '2011204', '717969', '198972', 'baga6ea4seaqdx6pssaov53liqa7g6kdd7nqa4bolp5zeioifzcl43j3gnplo2jq', 34359738368, 4115453, NULL, 2590289, 0, 0, false, '2024-10-23 15:35:34.099119', '2024-10-23 15:35:34.099119', NULL), +(57869859, 25313727, 0, 'deal', '2025768', '717969', '199124', 'baga6ea4seaqiwohmkwamybeawn2637zrjh74xlc6neu65duwy5m7ulkcjq74iia', 34359738368, 4138493, NULL, 2613478, 0, 0, false, '2024-10-23 15:43:29.7466', '2024-10-23 15:43:29.7466', NULL), +(59604714, 27228323, 0, 'deal', '2031177', '717969', '199516', 'baga6ea4seaqnitmkj5pvt7cxcunbc2m766rprqdispamuyfmc7jrmfiyxdsfajq', 34359738368, 4178813, NULL, 2655126, 0, 0, false, '2024-10-23 16:00:49.195819', '2024-10-23 16:00:49.195819', NULL), +(66463721, 34675017, 0, 'deal', '2034522', '717969', '210737', 'baga6ea4seaqiwj7o2bpzki5fd2wwtbehumxvb5cwp7d3ftew2zdjojy56dtgwny', 536870912, 4335022, NULL, 2821180, 0, 0, false, '2024-10-23 17:06:58.425899', '2024-10-23 17:06:58.425899', NULL), +(65542822, 33682142, 0, 'deal', '2034523', '717969', '208180', 'baga6ea4seaqdxzzczulhxabrpcfo7nswy7wnalayztodzd7ecseqy4jno2jocaa', 8589934592, 4309619, NULL, 2796275, 0, 0, false, '2024-10-23 16:57:52.135123', '2024-10-23 16:57:52.135123', NULL), +(59902996, 27551789, 0, 'deal', '2038351', '717969', '199579', 'baga6ea4seaqcimkt6uadculy452ninneg6wwkrvrgjsvi4vbedqjfrcmihmhaoy', 34359738368, 4187453, NULL, 2662868, 0, 0, false, '2024-10-23 16:03:53.876561', '2024-10-23 16:03:53.876561', NULL), +(69952624, 38482798, 0, 'deal', '2041775', '717969', '214038', 'baga6ea4seaqo7cre46vorhxosd5w7lsnrenhck3csk5dz55otawsc2yhhkwhkay', 34359738368, 4420733, NULL, 2895852, 0, 0, false, '2024-10-23 17:42:04.591335', '2024-10-23 17:42:04.591335', NULL), +(63675280, 31655088, 0, 'deal', '2041776', '717969', '203998', 'baga6ea4seaqmh23v3s3jsejrxcrde7st3ezmzfcsxafvk27oa7dczuwni5vwygi', 34359738368, 4276733, NULL, 2751856, 0, 0, false, '2024-10-23 16:39:57.347987', '2024-10-23 16:39:57.347987', NULL), +(98379936, 68012095, 0, 'deal', '2041777', '717969', '239552', 'baga6ea4seaqeduyj4rlkw23rwyg2kf6glmhn2bqfat4i7zeqanknyxgrcbakogq', 34359738368, 5056048, NULL, 3534372, 0, 0, false, '2024-10-23 19:44:27.90867', '2024-10-23 19:44:27.90867', NULL), +(59095670, 26688490, 0, 'deal', '2041788', '717969', '199364', 'baga6ea4seaqkfnt3ubwtnw6rsmk2ibf6cuqjhwjlg53k36u3hdi2fyy37thkwhy', 34359738368, 4167293, NULL, 2642689, 0, 0, false, '2024-10-23 15:55:40.768153', '2024-10-23 15:55:40.768153', NULL), +(59225274, 26819146, 0, 'deal', '2041789', '717969', '199395', 'baga6ea4seaqjtfahryhmvvbebhiifljxy3477i5dfcolx4xgbhx4rvxra3rsipq', 34359738368, 4170173, NULL, 2646174, 0, 0, false, '2024-10-23 15:56:56.894522', '2024-10-23 15:56:56.894522', NULL), +(68862859, 37311342, 0, 'deal', '2041790', '717969', '212591', 'baga6ea4seaqjnnorw7inapnodlkeyaj5iowfhv7cw5w62fv5egd4yefdkeszcjq', 34359738368, 4400573, NULL, 2873456, 0, 0, false, '2024-10-23 17:30:58.386614', '2024-10-23 17:30:58.386614', NULL), +(59314520, 26926754, 0, 'deal', '2047227', '717969', '199426', 'baga6ea4seaqnokccazldbkot4yx2cxqsu5by2ybw32jqe4vyz3lxofkioqzy6oa', 34359738368, 4173053, NULL, 2648521, 0, 0, false, '2024-10-23 15:57:51.290484', '2024-10-23 15:57:51.290484', NULL), +(59402899, 27016122, 0, 'deal', '2047228', '717969', '199453', 'baga6ea4seaqpx5pyhqvrrvxc66bbyn2hh4em7monp6jz4cyysl3alb3goy5jqda', 34359738368, 4175933, NULL, 2650344, 0, 0, false, '2024-10-23 15:58:43.48536', '2024-10-23 15:58:43.48536', NULL), +(60178776, 27863832, 0, 'deal', '2047229', '717969', '199637', 'baga6ea4seaqni44vdo3l4arkgpnksis6sksxo2j3r7ampkslt7rc2xqz73ffsoq', 34359738368, 4196093, NULL, 2669928, 0, 0, false, '2024-10-23 16:06:37.480361', '2024-10-23 16:06:37.480361', NULL), +(60270771, 27960540, 0, 'deal', '2047231', '717969', '199662', 'baga6ea4seaqj2zrsxwvmknv7kigeikc6uow4pgwjysbytfi7sx6gwjyeaoob2hy', 34359738368, 4196093, NULL, 2672061, 0, 0, false, '2024-10-23 16:07:29.497649', '2024-10-23 16:07:29.497649', NULL), +(60434574, 28126803, 0, 'deal', '2047237', '717969', '199718', 'baga6ea4seaqk5zwzchfntv6k22olohkj7nwghkhwucxsm25ysytojtysjwotehy', 34359738368, 4198973, NULL, 2675876, 0, 0, false, '2024-10-23 16:09:08.558139', '2024-10-23 16:09:08.558139', NULL), +(65406613, 33534958, 0, 'deal', '2047239', '717969', '207869', 'baga6ea4seaqkrf2375ehmmqeifieupo7q75axfqtt65x4cp5bocgd4w7smkaany', 34359738368, 4317053, NULL, 2792449, 0, 0, false, '2024-10-23 16:56:32.766617', '2024-10-23 16:56:32.766617', NULL), +(64876369, 32961714, 0, 'deal', '2047240', '717969', '206928', 'baga6ea4seaqgy2copnvpwimua54ptsvu3s6phj2nng5dzzcsfq3id44e752ikka', 34359738368, 4305533, NULL, 2780106, 0, 0, false, '2024-10-23 16:51:24.047964', '2024-10-23 16:51:24.047964', NULL), +(66031519, 34203964, 0, 'deal', '2047527', '717969', '209667', 'baga6ea4seaqowej63huzmg5mx5sdysdgk65ydwrb3avbwobhush56dka2vdnsja', 34359738368, 4334333, NULL, 2809129, 0, 0, false, '2024-10-23 17:02:43.886244', '2024-10-23 17:02:43.886244', NULL), +(61772187, 29620567, 0, 'deal', '2059041', '717969', '200146', 'baga6ea4seaqgps457chvujcl6meaog76r7lrfr2yfqbayrbld3szgusav2lfqfi', 17179869184, 4233533, NULL, 2710040, 0, 0, false, '2024-10-23 16:22:00.607944', '2024-10-23 16:22:00.607944', NULL), +(84891389, 54195299, 0, 'deal', '2090659', '717969', '230267', 'baga6ea4seaqmlezvfq6qx4x4dhsd34kmuzvui7te6y7tmdykdjgmaxgo2bsgsdi', 34359738368, 4741642, NULL, 3201567, 0, 0, false, '2024-10-23 19:29:48.411325', '2024-10-23 19:29:48.411325', NULL), +(67957933, 36310964, 0, 'deal', '2092888', '717969', '211621', 'baga6ea4seaqgkxrj644shu25suix4gj22vznz3nbrk6ayvz3237u2azavmvvyaq', 34359738368, 4377533, NULL, 2853317, 0, 0, false, '2024-10-23 17:21:49.437622', '2024-10-23 17:21:49.437622', NULL), +(66193793, 34372079, 0, 'deal', '2096010', '717969', '210150', 'baga6ea4seaqhvxv7qx3yvedn5genz6erufchsmxyqk6xygh7eszttenv5mcauni', 536870912, 4328392, NULL, 2814846, 0, 0, false, '2024-10-23 17:04:18.505001', '2024-10-23 17:04:18.505001', NULL), +(147083047, 0, 112806371, 'claim', '2097088', '717969', '285993', 'baga6ea4seaqa6imvyjvabt735qf562yqt5dxy6u543gpjmbmrbzv23d6jq3lsmq', 34359738368, 777600, 518400, 5269693, 0, 0, false, '2025-08-28 10:43:01.915', '2025-08-28 10:43:01.915', NULL), +(77428550, 46555071, 0, 'deal', '2100524', '717969', '223594', 'baga6ea4seaqbbw3nrdglzbxcz6t66rogyo2ljdhueud6xo5kawcngkg7x4xaypa', 34359738368, 4576253, NULL, 3044257, 0, 0, false, '2024-10-23 19:05:55.829694', '2024-10-23 19:05:55.829694', NULL), +(107826788, 78494053, 0, 'deal', '2125907', '717969', '0', 'baga6ea4seaqedreo6faspzt7yl7oyor5hj2och3mwnljhqxrswb5lwldu4cgckq', 17179869184, 5343446, NULL, 4294967295, 0, 0, false, '2024-10-23 19:55:07.714907', '2024-10-23 19:55:07.714907', NULL), +(76945592, 46065030, 0, 'deal', '2126028', '717969', '223360', 'baga6ea4seaqc3kud4vm37ehygorndc5wbkk6fjdbmlsa72peyjefxkoa6f5awlq', 34359738368, 4567613, NULL, 3035066, 0, 0, false, '2024-10-23 18:59:59.940025', '2024-10-23 18:59:59.940025', NULL), +(77061194, 46172607, 0, 'deal', '2182390', '717969', '223398', 'baga6ea4seaqlnptpetoucbmh5gn5htgxovt3vauxfnvungpznkqrozxs3cp6aey', 34359738368, 4567613, NULL, 3037015, 0, 0, false, '2024-10-23 19:01:26.474197', '2024-10-23 19:01:26.474197', NULL), +(77264092, 46385282, 0, 'deal', '2182391', '717969', '223492', 'baga6ea4seaqlv4ittx4oso26dxrp4zic44fs5gkxyaagwyds66wyuqpbagppopa', 34359738368, 4573373, NULL, 3041025, 0, 0, false, '2024-10-23 19:03:57.207182', '2024-10-23 19:03:57.207182', NULL), +(77864778, 47000685, 0, 'deal', '2190439', '717969', '0', 'baga6ea4seaqbwxvenmgntoy2fko7njkhyorce3oqmdef7txywrff3dupj2rmkpq', 2147483648, 3597053, NULL, 3053030, 0, 0, false, '2024-10-23 19:11:20.945073', '2024-10-23 19:11:20.945073', NULL), +(81271815, 50495377, 0, 'deal', '2191977', '717969', '226766', 'baga6ea4seaqf64snr2u23anjguugg6dpp7lhbo7osvvwyi74wdq6yxyesuwryiy', 34359738368, 4645373, NULL, 3119458, 0, 0, false, '2024-10-23 19:25:43.621609', '2024-10-23 19:25:43.621609', NULL), +(106340410, 75980769, 0, 'deal', '2216069', '717969', '243833', 'baga6ea4seaqgoibjkciqsbnjphpr5i2g3nu4jhqzq5ysosryeqw3cycgt5rq4bq', 34359738368, 5261170, NULL, 3743390, 0, 0, false, '2024-10-23 19:53:06.293192', '2024-10-23 19:53:06.293192', NULL), +(106334555, 75974891, 0, 'deal', '2759235', '717969', '243831', 'baga6ea4seaqdllzewgrdeff5ajbofuacbssw6pdxvr3v4sxs6dr4tsgmcbpwyai', 34359738368, 5283286, NULL, 3743225, 0, 0, false, '2024-10-23 19:53:05.885799', '2024-10-23 19:53:05.885799', NULL), +(104381678, 74022585, 0, 'deal', '2824311', '717969', '242797', 'baga6ea4seaqiworb2wqov3ezdfwdd7eij7qbxnfnfobrpmjw377epfqxy7i5wea', 34359738368, 5226022, NULL, 3691732, 0, 0, false, '2024-10-23 19:50:58.946505', '2024-10-23 19:50:58.946505', NULL), +(91983691, 61456208, 0, 'deal', '2833395', '717969', '236065', 'baga6ea4seaqhj2dci4httgg7jjnz5p3lr64tih34otcny7zuiod7adgud5g72cy', 4294967296, 4879361, NULL, 3357223, 0, 0, false, '2024-10-23 19:37:30.61662', '2024-10-23 19:37:30.61662', NULL), +(94612282, 64154487, 0, 'deal', '2849963', '717969', '0', 'baga6ea4seaqbmxph7lwt435fnhfgrfmh5xrzcnrfw52pp7zzfwxnonp6xwhs4ey', 1073741824, 3938980, NULL, 3416234, 0, 0, false, '2024-10-23 19:40:22.825297', '2024-10-23 19:40:22.825297', NULL), +(24561444, 82082410, 64474962, 'claimFromApi', '3065156', '717969', '247141', 'baga6ea4seaqggqigpkutoeaf6edylvhbdo6ip7by5cu7oovrhdxwjqr3dfwkika', 34359738368, 1814400, 1555200, 3949417, 0, 0, false, '2024-10-23 10:08:30.459837', '2024-10-23 10:08:30.459837', NULL), +(146880726, 0, 112607329, 'claim', '3079189', '717969', '285974', 'baga6ea4seaqeq2n52dscmjb5f25uqy3zlldnczu7preii5hwsoeitehgmqysuiq', 34359738368, 1785600, 1526400, 5261901, 0, 0, false, '2025-08-25 17:43:02.068', '2025-08-25 17:43:02.068', NULL), +(126541718, 109184199, 93120868, 'claim', '3091977', '717969', '281541', 'baga6ea4seaqfgt26c74nphvqag4ue6kotfszmmu3ndlpwhughldyucwfhwmc6ki', 34359738368, 1785600, 1526400, 4793199, 0, 0, false, '2025-03-16 00:43:01.898', '2025-03-16 00:43:01.898', NULL), +(148740241, 0, 115072988, 'claim', '3123037', '717969', '286645', 'baga6ea4seaqdsahlu6df72wim7bx3nngsjiud5l5iihyzqwsvfg6du3h5yg3uka', 34359738368, 1791360, 1532160, 5348775, 0, 0, false, '2025-09-24 20:48:02.054', '2025-09-24 20:48:02.054', NULL), +(148481651, 0, 114800634, 'claim', '3200311', '717969', '286632', 'baga6ea4seaqnn6kyydbye6rdmpswzhgknpuwpeydvfdfdvnhk4vgj3p2paiuuba', 34359738368, 1785600, 1526400, 5340302, 0, 0, false, '2025-09-21 23:00:01.806', '2025-09-21 23:00:01.806', NULL), +(127079595, 109741060, 93702977, 'claim', '3510184', '717969', '281696', 'baga6ea4seaqpird6s5tna2clv2h6o34juirqesib3g3f7qxg6d223h35x2tq4nq', 34359738368, 1785600, 1526400, 4809923, 0, 0, false, '2025-03-21 20:20:02.69', '2025-03-21 20:20:02.69', NULL), +(138617789, 0, 104379516, 'claim', '3542203', '717969', '285694', 'baga6ea4seaqd33j6zx3xltwtgjg4wgdueqoboc2fccd74ppteugg64am4jv6meq', 34359738368, 1785600, 1526400, 5063468, 0, 0, false, '2025-06-17 19:53:02.125', '2025-06-17 19:53:02.125', NULL), +(144531871, 0, 110234767, 'claim', '3630410', '717969', '285971', 'baga6ea4seaqcccvhll5ecdmmolq3wlskevb2bdd3lrevlnn2yccgpekbzbdgyfy', 34359738368, 1785600, 1526400, 5198228, 0, 0, false, '2025-08-03 15:14:03.58', '2025-08-03 15:14:03.58', NULL), +(54555512, 21529468, 0, 'deal', '397376', '717969', '195563', 'baga6ea4seaqe3q2i4oimqchaq6pwytl7xeri2gvjwpzotzx4v5j6bpu5l2zyody', 4294967296, 4013689, NULL, 2499902, 0, 0, false, '2024-10-23 15:09:17.713225', '2024-10-23 15:09:17.713225', NULL), +(50493692, 16798400, 0, 'deal', '743060', '717969', '0', 'baga6ea4seaqhcbctjd4jodvwgsgtfgxx7hygj5s76dtnbouqcy7lukmq45y3sjq', 34359738368, 3834399, NULL, 2363570, 0, 0, false, '2024-10-23 14:25:09.286502', '2024-10-23 14:25:09.286502', NULL); diff --git a/scripts/sql/success_deals.sql b/scripts/sql/success_deals.sql deleted file mode 100644 index 73a020d..0000000 --- a/scripts/sql/success_deals.sql +++ /dev/null @@ -1,52 +0,0 @@ -INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "providerId", "sectorId", "pieceCid", "pieceSize", "termMax", "termMin", "termStart", "slashedEpoch", "processedSlashedEpoch", removed, "createdAt", "updatedAt", "dcSource") VALUES -(151882884, 0, 118356272, 'claim', '3200311', '10479', '18801', 'baga6ea4seaqiajg6sgt7zl6iko4cc6krzl6djg2mfiil25lkgqckihnb37kiiii', 34359738368, 1785600, 1526400, 5475186, 0, 0, false, '2025-11-07 10:15:01.795', '2025-11-07 10:15:01.795', NULL), -(151887412, 0, 118390126, 'claim', '3676984', '1106668', '1551007', 'baga6ea4seaqf5ow5ac6tlx7uflsvtu2eq6dwugtp5cx5myvvfkvsu3rp2y3pkfy', 34359738368, 3896640, 3637440, 5475459, 0, 0, false, '2025-11-07 22:24:01.569', '2025-11-07 22:24:01.569', NULL), -(150217933, 0, 116595866, 'claim', '3065156', '1115949', '379984', 'baga6ea4seaqoohft3ouhtfdcydbvkpnqyf5hbdqzxlwhn2zfkikjiuqqg5wrmfa', 34359738368, 1814400, 1555200, 5400744, 0, 0, false, '2025-10-12 21:41:02.907', '2025-10-12 21:41:02.907', NULL), -(140846141, 0, 106525634, 'claim', '3300271', '1240', '40287', 'baga6ea4seaqd67m6shtr6rylbbqbgzfifyfwgfapf5vuwiyfpty63kqc4urkqfy', 34359738368, 3531080, 3271880, 5116413, 0, 0, false, '2025-07-06 10:10:01.987', '2025-07-06 10:10:01.987', NULL), -(151887600, 0, 118390221, 'claim', '3676984', '1315096', '2205693', 'baga6ea4seaqhxjpxcgxu4ympkzdexvwyivvcr6wu34rgduypok576x6dizqz6ny', 34359738368, 3896640, 3637440, 5475482, 0, 0, false, '2025-11-07 22:34:01.77', '2025-11-07 22:34:01.77', NULL), -(151887498, 0, 118390098, 'claim', '3645919', '1518369', '988021', 'baga6ea4seaqe3rgn64cqgd2bvm7v3s65xbsnn6754yfgsyrgnn3ndisicjeluoi', 34359738368, 3896640, 3637440, 5475473, 0, 0, false, '2025-11-07 22:24:01.569', '2025-11-07 22:24:01.569', NULL), -(115190130, 97520906, 81378127, 'claim', '3087718', '1611097', '23698', 'baga6ea4seaqc5f6ju4hg5ods56xayjb3rrujhamdybahj4573cvy4ltc4ns2ony', 8589934592, 1728000, 1468800, 4440355, 0, 0, false, '2024-11-14 20:31:03.176', '2024-11-14 20:31:03.176', NULL), -(139600392, 0, 105434678, 'claim', '3045127', '1697248', '549245', 'baga6ea4seaqfthr2kpfxxndh7ekjsdeyyrz46t7gmu6l3cs6bmucjf6b7bnhyjy', 34359738368, 1748160, 1488960, 5084235, 0, 0, false, '2025-06-25 02:05:03.404', '2025-06-25 02:05:03.404', NULL), -(150255296, 0, 116595763, 'claim', '3065156', '1770778', '462143', 'baga6ea4seaqkrlw3etn57ix3k34ibshbm54fm5ziyq5lmxfynkevznkirp2vybq', 34359738368, 1814400, 1555200, 5402040, 0, 0, false, '2025-10-12 21:36:02.762', '2025-10-12 21:36:02.762', NULL), -(140763392, 0, 106437175, 'claim', '3300271', '1771403', '282020', 'baga6ea4seaqju6maxs2ds3jooj47xcaekfoywdw7r2t23z5hwzt2435yao4q2bq', 34359738368, 3532986, 3273786, 5114552, 0, 0, false, '2025-07-05 18:25:04.062', '2025-07-05 18:25:04.062', NULL), -(112177161, 92275027, 0, 'deal', '2097088', '1786387', '0', 'baga6ea4seaqcfjakmuimtlwgtwq5ax4mvhwzvbodi2hil4czcfd5apbsmqm2sjy', 34359738368, 5816737, NULL, 4294967295, 0, 0, false, '2024-10-23 20:06:26.325674', '2024-10-23 20:06:26.325674', NULL), -(149378004, 0, 114269515, 'claim', '3337791', '1912298', '30637', 'baga6ea4seaqp7t6mzhnkbqdkpf2qdwc2phowpuec6qy3fvwwwy7qtcputjeumli', 17179869184, 5256000, 1497600, 5375267, 0, 0, false, '2025-09-16 07:38:04.23', '2025-09-16 07:38:04.23', NULL), -(134470568, 106188045, 90101097, 'claimUpdatedWithoutExistingClaim', '3261810', '1999119', '66843', 'baga6ea4seaqjzb4m3k5cnu5rp6gaej6tegtu3uxrg6zexc65kimxs4skzfudcly', 34359738368, 5256000, 518400, 4704960, 0, 0, false, '2025-05-15 18:50:11.483838', '2025-05-15 18:50:11.483838', NULL), -(131862418, 0, 74146809, 'claimUpdated', '3062953', '2013352', 'null', 'baga6ea4seaqp6sccmsnmccka5a5k6hljgge3zkyvpvqstxeufle734ijltbd6oy', 34359738368, 5256000, 518400, 4249332, 0, 0, false, '2025-05-13 08:14:15.367567', '2025-05-13 08:14:15.367567', NULL), -(132723571, 0, 79607649, 'allocationRemoved', '3088167', '2035256', 'null', 'baga6ea4seaqkudklumowh5vek2b2gt6ruiwzrp2pzn3uyf2hyhb5mo4aav2k2dq', 34359738368, 1784400, 1525200, NULL, 0, 0, false, '2025-05-13 09:29:31.723123', '2025-05-13 09:29:31.723123', NULL), -(107745357, 78175004, 60463924, 'deal', '2519046', '2131801', '110256', 'baga6ea4seaqndc6lezc35k7vul63gwf6hbhvhc4wxevlf3webejbjciozznx6pa', 34359738368, 7467146, NULL, 3816042, 0, 0, false, '2024-10-23 19:54:57.854394', '2024-10-23 19:54:57.854394', NULL), -(106838933, 76735342, 59024528, 'deal', '2057819', '2131855', '107566', 'baga6ea4seaqaorqz7dmpxsxbyv4ty55bqxmadcznag5lh54p7awhx35erwwwwaa', 34359738368, 7428459, NULL, 3767375, 0, 0, false, '2024-10-23 19:53:43.267251', '2024-10-23 19:53:43.267251', NULL), -(107372727, 77579637, 59868805, 'deal', '1938503', '2131881', '113562', 'baga6ea4seaqcft2ps7feq4weivbtrrwusv36zqoezdsln66cza35tfrqqluykay', 34359738368, 7457573, NULL, 3792948, 0, 0, false, '2024-10-23 19:54:26.663738', '2024-10-23 19:54:26.663738', NULL), -(143626229, 0, 109327714, 'claim', '3300271', '2366527', '111458', 'baga6ea4seaqj6tnitdhctb2jyagbeieaonilstcs22qtucqhrprupq2q57ulckq', 34359738368, 3469166, 3209966, 5178334, 0, 0, false, '2025-07-27 22:25:03.469', '2025-07-27 22:25:03.469', NULL), -(151886233, 0, 118396194, 'claim', '3510418', '2639429', '31104', 'baga6ea4seaqo7qp2bd6ppbyjlxzzokaz25643gcqdosmcna3fmegespyxnq3yma', 34359738368, 1831680, 1572480, 5475440, 0, 0, false, '2025-11-08 02:44:02.248', '2025-11-08 02:44:02.248', NULL), -(133065375, 0, 72260681, 'claimUpdated', '3150550', '2832475', 'null', 'baga6ea4seaqhfztpkpm6geluchnmjn7fmp5iayvlcpwmiqeqt64k4cddyshesba', 34359738368, 5256000, 604800, 4193688, 0, 0, false, '2025-05-13 09:47:01.425427', '2025-05-13 09:47:01.425427', NULL), -(134122926, 0, 78699599, 'claimUpdated', '3216713', '2852273', 'null', 'baga6ea4seaqmhopk273h2x62gkn7c5j2wseybr7vbbal5j5ucltsmnf7m7be4ma', 34359738368, 1238400, 604800, 4360842, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(133063957, 0, 71992583, 'claimUpdated', '3150550', '2859053', 'null', 'baga6ea4seaqap6ugt7m7v744b3bpsrpx3mn6gt4zz7dos6odtdpotg24wov4ugq', 34359738368, 5256000, 604800, 4187078, 0, 0, false, '2025-05-13 09:47:01.425427', '2025-05-13 09:47:01.425427', NULL), -(134122978, 0, 78171674, 'claimUpdated', '3216713', '2883857', 'null', 'baga6ea4seaqdz6vnjkp7ghxeg4rowc3aasdrqvbhaboxuengx2nqvy4kmbz46nq', 34359738368, 1238400, 604800, 4347973, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(128249694, 0, 95187441, 'claim', '3200311', '2942349', '3396', 'baga6ea4seaqgjibby6lqy7sjaiadax3wffnh7igyvws7ivlisvqgpzhnf3hvenq', 34359738368, 1785600, 1526400, 4850711, 0, 0, false, '2025-04-05 04:32:01.868', '2025-04-05 04:32:01.868', NULL), -(134122903, 0, 78694240, 'claimUpdated', '3216713', '2973061', 'null', 'baga6ea4seaqeveg6vtlx7vst4be2bskapm2qgrampftopq45lbicbeipveuvspq', 34359738368, 1238400, 604800, 4360850, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(140775600, 0, 106431676, 'claim', '3300271', '2982293', '145841', 'baga6ea4seaqd3d5dsv76fst7telwsuykwi5km3ow6u6b2ov6i5msfbzivh5yueq', 34359738368, 3533091, 3273891, 5114783, 0, 0, false, '2025-07-05 17:35:02.517', '2025-07-05 17:35:02.517', NULL), -(134122936, 0, 78170114, 'claimUpdated', '3216713', '2984331', 'null', 'baga6ea4seaqekjl2mgffnexulholfkvrdpmzys2ye2roz4juydfq7z2kb4fmigi', 34359738368, 1238400, 604800, 4347973, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(150997119, 0, 117456354, 'claim', '3645919', '3055005', '187825', 'baga6ea4seaqbrwbcv3hphaokekz6kci4pj3z4saj3oewoz773d6idehyvermifa', 34359738368, 3896640, 3637440, 5432383, 0, 0, false, '2025-10-23 20:14:02.008', '2025-10-23 20:14:02.008', NULL), -(149834938, 0, 116237509, 'claim', '3645919', '3055018', '178670', 'baga6ea4seaqi747njbyswksrdlwge7mouxm3dblibo4bv6yfh4v4g4bxqrbd2ay', 34359738368, 3896640, 3637440, 5389744, 0, 0, false, '2025-10-09 01:07:02.992', '2025-10-09 01:07:02.992', NULL), -(150562565, 0, 116959105, 'claim', '3235903', '3055029', '182494', 'baga6ea4seaqesclplgr2qskbsjjdlwpqdmasmyzz2gkif7axi2stejfbd3el6pi', 34359738368, 3896640, 3637440, 5413685, 0, 0, false, '2025-10-17 02:34:02.149', '2025-10-17 02:34:02.149', NULL), -(141384754, 0, 107042713, 'claim', '3300271', '3064136', '108707', 'baga6ea4seaqnhrypledd7ea5svm4lynjehpwr6bqgbip5ywrccl2sdycg3bjwba', 34359738368, 3518549, 3259349, 5128962, 0, 0, false, '2025-07-10 19:01:00.015', '2025-07-10 19:01:00.015', NULL), -(141166701, 0, 106782007, 'claim', '3200311', '3084393', '11348', 'baga6ea4seaqanp5oy6gpcijke5crk4re7ao6dz43vmqwlqj55y3xpylanabx4py', 34359738368, 1785600, 1526400, 5124216, 0, 0, false, '2025-07-08 15:20:02.644', '2025-07-08 15:20:02.644', NULL), -(134139743, 0, 75140689, 'claimUpdated', '3194641', '3151449', 'null', 'baga6ea4seaqgj5pco2l5ozo73yqipdzkfsmmvgewzquo7ojacz7cykkof4aocli', 34359738368, 5250000, 538560, 4269769, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), -(134139812, 0, 75621888, 'claimUpdated', '3194641', '3151456', 'null', 'baga6ea4seaqmivu5lrv2afzzqrefiukkyt6gx5j4utww7trunspyxdk7uci52ay', 34359738368, 5250000, 538560, 4282480, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), -(138078003, 0, 103860791, 'claim', '3300271', '3161054', '44620', 'baga6ea4seaqksxtgpsa57xakxfawu7tym7rzyw6fc52tbmzxdof5j67eidjk6fa', 34359738368, 3597137, 3337937, 5050573, 0, 0, false, '2025-06-13 11:54:06.146', '2025-06-13 11:54:06.146', NULL), -(134122996, 0, 79181480, 'claimUpdated', '3216713', '3178077', 'null', 'baga6ea4seaqo66ebbufricvshkg662nsfoipg52zcgwh4gftxz7wdtvbx2tnepa', 34359738368, 5256000, 604800, 4375673, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(134139816, 0, 75594376, 'claimUpdated', '3194641', '3178144', 'null', 'baga6ea4seaqjihee7qxjmj2dfsng5anya3rrthvns6xknxsnpahq55rzlinc4ji', 34359738368, 5250000, 522856, 4283987, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), -(134139711, 0, 74167485, 'claimUpdated', '3194641', '3179555', 'null', 'baga6ea4seaqaoxlccnqdz4rp6er52u5vfblr2elzx2xifaz372l32kiciee4gpy', 34359738368, 5250000, 521374, 4245537, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), -(134139794, 0, 76128663, 'claimUpdated', '3194641', '3179570', 'null', 'baga6ea4seaqmhf6b63brpthi3ywyyvwzg7ipfynmg6t643wbrpkvq27czyxnuaq', 34359738368, 5250000, 521879, 4295218, 0, 0, false, '2025-05-13 10:45:14.034664', '2025-05-13 10:45:14.034664', NULL), -(134122890, 0, 79139925, 'claimUpdated', '3216713', '3179572', 'null', 'baga6ea4seaqacvdozo4jpe7frpsx4ucnr346qzltu7yjjufjw2chb3urdthb6ii', 34359738368, 5256000, 604800, 4373996, 0, 0, false, '2025-05-13 10:45:04.365975', '2025-05-13 10:45:04.365975', NULL), -(150541250, 0, 116962921, 'claim', '2034523', '3199233', '89879', 'baga6ea4seaqhetenzca5hlaoif7iabzv5cwmswb2qf7fjcnefhifedbpgea3ygy', 34359738368, 3893760, 3634560, 5412801, 0, 0, false, '2025-10-17 04:09:04.333', '2025-10-17 04:09:04.333', NULL), -(133908844, 0, 79154203, 'claimUpdated', '3224736', '3214937', 'null', 'baga6ea4seaqj7dilyyoqcmtbqp3invn2cixl3xurlai4lqaefvxjtqboqcrsada', 34359738368, 5256000, 604800, 4377353, 0, 0, false, '2025-05-13 10:23:23.291678', '2025-05-13 10:23:23.291678', NULL), -(134087205, 0, 79227308, 'allocationRemoved', '3173480', '3215853', 'null', 'baga6ea4seaqbiaarrtieivq3avvoshwdwhfj7d4i6265tichx75hbmleckvjeoa', 34359738368, 1782200, 1523000, NULL, 0, 0, false, '2025-05-13 10:34:05.182323', '2025-05-13 10:34:05.182323', NULL), -(134086921, 0, 79141344, 'claimUpdated', '3173480', '3218576', 'null', 'baga6ea4seaqb3tezlsjzy53ym7ysu3ram74i5v2sxqzhbganl3ewjil7lcuauma', 34359738368, 5256000, 1523000, 4373996, 0, 0, false, '2025-05-13 10:34:05.182323', '2025-05-13 10:34:05.182323', NULL), -(151846728, 0, 89523919, 'claimUpdatedWithoutExistingClaim', '3288934', '811822', '19346', 'baga6ea4seaqptesvuzypw6cnnaoamccjvwimw2lvl6ttjg2pxtplssiwduop6py', 34359738368, 5256000, 1555200, 4687852, 0, 0, false, '2025-11-07 07:19:02.35001', '2025-11-07 07:19:02.35001', NULL), -(151815572, 0, 89523927, 'claimUpdatedWithoutExistingClaim', '3288934', '832944', '19268', 'baga6ea4seaqagwym57tubfwc4cdld2pzzydmjoyc2pkze2hkaevnfknmqwfmimi', 17179869184, 5256000, 1555200, 4687889, 0, 0, false, '2025-11-07 02:50:02.311863', '2025-11-07 02:50:02.311863', NULL), -(151865303, 0, 118359845, 'claim', '3200311', '8403', '21103', 'baga6ea4seaqiajg6sgt7zl6iko4cc6krzl6djg2mfiil25lkgqckihnb37kiiii', 34359738368, 1785600, 1526400, 5474233, 0, 0, false, '2025-11-07 11:14:02.059', '2025-11-07 11:14:02.059', NULL), -(151834668, 0, 89523924, 'claimUpdatedWithoutExistingClaim', '3288934', '861595', '19403', 'baga6ea4seaqagwym57tubfwc4cdld2pzzydmjoyc2pkze2hkaevnfknmqwfmimi', 17179869184, 5256000, 1555200, 4687874, 0, 0, false, '2025-11-07 04:37:02.653176', '2025-11-07 04:37:02.653176', NULL), -(151836078, 0, 89523928, 'claimUpdatedWithoutExistingClaim', '3288934', '866468', '19357', 'baga6ea4seaqi4mbjydi35f3guayv6jj4ktgxckkpwc7y6mikxrq5766vqdd2yly', 34359738368, 5256000, 1555200, 4687950, 0, 0, false, '2025-11-07 04:44:03.131878', '2025-11-07 04:44:03.131878', NULL), -(151172421, 0, 117614672, 'claim', '3645919', '870558', '1084984', 'baga6ea4seaqgdnxddsvgeoevhbtjgqthmqyyiu4b25byn6cs6van6l3jau6x6di', 34359738368, 3896640, 3637440, 5439112, 0, 0, false, '2025-10-26 04:29:08.296', '2025-10-26 04:29:08.296', NULL); diff --git a/url_finder/Cargo.toml b/url_finder/Cargo.toml index 17bf2c2..081a34a 100644 --- a/url_finder/Cargo.toml +++ b/url_finder/Cargo.toml @@ -9,6 +9,9 @@ color-eyre = "0.6.3" axum = { version = "0.7.9", features = ["macros", "tokio"] } axum-extra = { version = "0.9.3" } reqwest = { version = "0.12.7", features = ["json"] } +reqwest-middleware = { version = "0.3.3", features = ["json"] } +reqwest-retry = "0.7.0" +retry-policies = "0.4" serde = { version = "1.0.209" } serde_json = "1.0.128" tracing = "0.1.40" diff --git a/url_finder/src/background/url_discovery_scheduler.rs b/url_finder/src/background/url_discovery_scheduler.rs index db6f35b..a0f0b31 100644 --- a/url_finder/src/background/url_discovery_scheduler.rs +++ b/url_finder/src/background/url_discovery_scheduler.rs @@ -8,12 +8,13 @@ use color_eyre::Result; use futures::future::join_all; use std::sync::Arc; use std::time::Duration; -use tokio::time::sleep; -use tracing::{debug, error, info}; +use tokio::{sync::Semaphore, time::sleep}; +use tracing::{debug, error, info, warn}; const SCHEDULER_SLEEP_INTERVAL: Duration = Duration::from_secs(3600); const SCHEDULER_NEXT_INTERVAL: Duration = Duration::from_secs(60); const BATCH_SIZE: i64 = 100; +const MAX_CONCURRENT_CLIENT_TESTS: usize = 5; pub async fn run_url_discovery_scheduler( sp_repo: Arc, @@ -54,6 +55,13 @@ async fn schedule_url_discoveries( let mut total_tested = 0; for provider in providers { + if provider.url_discovery_status.as_deref() == Some("pending") { + warn!( + "Recovering stale pending provider: {} (pending since {:?})", + provider.provider_id, provider.url_discovery_pending_since + ); + } + sp_repo .set_url_discovery_pending(&provider.provider_id) .await?; @@ -111,6 +119,7 @@ async fn test_provider_with_clients( client_ids: Vec, deal_repo: &DealRepository, ) -> Vec { + let semaphore = Arc::new(Semaphore::new(MAX_CONCURRENT_CLIENT_TESTS)); let mut tasks = vec![]; let provider_address: ProviderAddress = provider_id.clone().into(); @@ -122,18 +131,20 @@ async fn test_provider_with_clients( tasks.push(provider_task); for client_id in client_ids { + let permit = semaphore.clone().acquire_owned().await.unwrap(); let provider_addr = provider_address.clone(); let client_address: ClientAddress = client_id.into(); let repo = deal_repo.clone(); tasks.push(tokio::spawn(async move { - url_discovery_service::discover_url(&provider_addr, Some(client_address), &repo).await + let result = + url_discovery_service::discover_url(&provider_addr, Some(client_address), &repo) + .await; + drop(permit); // release semaphore + result })); } let results = join_all(tasks).await; - results - .into_iter() - .filter_map(|r| r.ok().and_then(|inner| inner.ok())) - .collect() + results.into_iter().filter_map(|r| r.ok()).collect() } diff --git a/url_finder/src/cid_contact.rs b/url_finder/src/cid_contact.rs index c329e5f..0a53551 100644 --- a/url_finder/src/cid_contact.rs +++ b/url_finder/src/cid_contact.rs @@ -1,9 +1,10 @@ use color_eyre::Result; -use reqwest::Client; use std::fmt; -use tracing::{debug, info}; +use tracing::debug; use urlencoding::decode; +use crate::utils::build_reqwest_retry_client; + pub enum CidContactError { InvalidResponse, NoData, @@ -19,7 +20,7 @@ impl fmt::Display for CidContactError { } pub async fn get_contact(peer_id: &str) -> Result { - let client = Client::new(); + let client = build_reqwest_retry_client(1_000, 30_000); let url = format!("https://cid.contact/providers/{peer_id}"); debug!("cid contact url: {:?}", url); @@ -35,7 +36,7 @@ pub async fn get_contact(peer_id: &str) -> Result Result { debug!("get_peer_id address: {}", address); - let client = Client::new(); + let client = build_reqwest_retry_client(1_000, 30_000); let res = client .post(&CONFIG.glif_url) .json(&json!({ @@ -31,10 +29,12 @@ pub async fn get_peer_id(address: &ProviderAddress) -> Result { let peer_id = json .get("result") - .ok_or(if let Some(m) = message { - eyre!(m) - } else { - eyre!("Missing lotus rpc result") + .ok_or_else(|| { + if let Some(m) = message { + eyre!("{}", m) + } else { + eyre!("Missing lotus rpc result") + } })? .get("PeerId") .ok_or(eyre!("Missing lotus rpc PeerId"))? diff --git a/url_finder/src/main.rs b/url_finder/src/main.rs index 384acb3..fba4af0 100644 --- a/url_finder/src/main.rs +++ b/url_finder/src/main.rs @@ -40,6 +40,7 @@ mod routes; mod services; mod types; mod url_tester; +mod utils; pub struct AppState { pub deal_repo: Arc, diff --git a/url_finder/src/multiaddr_parser.rs b/url_finder/src/multiaddr_parser.rs index 2d809e7..b8b9d1b 100644 --- a/url_finder/src/multiaddr_parser.rs +++ b/url_finder/src/multiaddr_parser.rs @@ -1,6 +1,6 @@ use color_eyre::{Result, eyre::eyre}; use multiaddr::{Multiaddr, Protocol}; -use tracing::{debug, info}; +use tracing::{debug, info, warn}; pub struct UrlParts { protocol: Option, @@ -52,7 +52,7 @@ fn parse_addr(addr: String) -> Option { Some(endpoint) } Err(e) => { - info!( + warn!( "Failed to convert multiaddr: {:?} to URL: {:?}", addr, e.to_string() diff --git a/url_finder/src/repository/deal_repo.rs b/url_finder/src/repository/deal_repo.rs index 12e684b..1b8457e 100644 --- a/url_finder/src/repository/deal_repo.rs +++ b/url_finder/src/repository/deal_repo.rs @@ -24,6 +24,7 @@ pub struct Provider { pub provider_id: Option, } +// TODO: consider using ProviderId directly instead of String impl DealRepository { pub fn new(pool: PgPool) -> Self { Self { pool } diff --git a/url_finder/src/repository/storage_provider_repo.rs b/url_finder/src/repository/storage_provider_repo.rs index 24e807b..9f6d374 100644 --- a/url_finder/src/repository/storage_provider_repo.rs +++ b/url_finder/src/repository/storage_provider_repo.rs @@ -13,6 +13,7 @@ pub struct StorageProvider { pub provider_id: ProviderId, pub next_url_discovery_at: DateTime, pub url_discovery_status: Option, + pub url_discovery_pending_since: Option>, pub last_working_url: Option, pub next_bms_test_at: DateTime, pub bms_test_status: Option, @@ -84,6 +85,7 @@ impl StorageProviderRepository { provider_id AS "provider_id: ProviderId", next_url_discovery_at, url_discovery_status, + url_discovery_pending_since, last_working_url, next_bms_test_at, bms_test_status, @@ -110,6 +112,7 @@ impl StorageProviderRepository { provider_id AS "provider_id: ProviderId", next_url_discovery_at, url_discovery_status, + url_discovery_pending_since, last_working_url, next_bms_test_at, bms_test_status, @@ -120,8 +123,15 @@ impl StorageProviderRepository { FROM storage_providers WHERE - next_url_discovery_at <= NOW() - AND url_discovery_status IS DISTINCT FROM 'pending' + ( + next_url_discovery_at <= NOW() + AND url_discovery_status IS DISTINCT FROM 'pending' + ) + OR + ( + url_discovery_status = 'pending' + AND url_discovery_pending_since < NOW() - INTERVAL '60 minutes' + ) ORDER BY next_url_discovery_at ASC LIMIT $1 @@ -137,7 +147,8 @@ impl StorageProviderRepository { r#"UPDATE storage_providers SET - url_discovery_status = 'pending' + url_discovery_status = 'pending', + url_discovery_pending_since = NOW() WHERE provider_id = $1 "#, @@ -159,6 +170,7 @@ impl StorageProviderRepository { SET next_url_discovery_at = NOW() + INTERVAL '1 day', url_discovery_status = NULL, + url_discovery_pending_since = NULL, last_working_url = $2, updated_at = NOW() WHERE diff --git a/url_finder/src/services/url_discovery_service.rs b/url_finder/src/services/url_discovery_service.rs index 667cd55..5c916e2 100644 --- a/url_finder/src/services/url_discovery_service.rs +++ b/url_finder/src/services/url_discovery_service.rs @@ -5,7 +5,6 @@ use crate::{ types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, url_tester, ResultCode, }; -use color_eyre::Result; use tracing::error; use uuid::Uuid; @@ -53,7 +52,7 @@ pub async fn discover_url( provider_address: &ProviderAddress, client_address: Option, deal_repo: &DealRepository, -) -> Result { +) -> UrlDiscoveryResult { let provider_id: ProviderId = provider_address.clone().into(); let client_id: Option = client_address.clone().map(|c| c.into()); @@ -72,13 +71,13 @@ pub async fn discover_url( ); result.result_code = ResultCode::Error.to_string(); result.error_code = Some(format!("{:?}", e)); - return Ok(result); + return result; } }; if endpoints.is_none() { result.result_code = result_code.to_string(); - return Ok(result); + return result; } let endpoints = endpoints.unwrap(); @@ -95,13 +94,13 @@ pub async fn discover_url( ); result.result_code = ResultCode::Error.to_string(); result.error_code = Some(format!("{:?}", e)); - return Ok(result); + return result; } }; if piece_ids.is_empty() { result.result_code = ResultCode::NoDealsFound.to_string(); - return Ok(result); + return result; } let urls = deal_service::get_piece_url(endpoints, piece_ids).await; @@ -115,5 +114,5 @@ pub async fn discover_url( ResultCode::FailedToGetWorkingUrl.to_string() }; - Ok(result) + result } diff --git a/url_finder/src/url_tester.rs b/url_finder/src/url_tester.rs index 3dd0798..3a68d6b 100644 --- a/url_finder/src/url_tester.rs +++ b/url_finder/src/url_tester.rs @@ -5,7 +5,7 @@ use std::sync::{ use futures::{StreamExt, stream}; use reqwest::Client; -use tracing::debug; +use tracing::{debug, info}; const FILTER_CONCURENCY_LIMIT: usize = 5; const RETRI_CONCURENCY_LIMIT: usize = 20; @@ -79,12 +79,11 @@ pub async fn get_retrivability_with_head(urls: Vec) -> (Option, total_clone.fetch_add(1, Ordering::SeqCst); match client.head(&url).send().await { Ok(resp) if resp.status().is_success() => { - tracing::info!("url WORKING: {:?}", url); + debug!("url WORKING: {:?}", url); success_clone.fetch_add(1, Ordering::SeqCst); Some(url) } _ => { - tracing::error!("url not working: {:?}", url); debug!("url not working: {:?}", url); None } @@ -113,7 +112,7 @@ pub async fn get_retrivability_with_head(urls: Vec) -> (Option, 0.0 }; - debug!( + info!( "Successfully retrieved URLs: {} out of {} ({:.2}%)", success, total, retri_percentage ); diff --git a/url_finder/src/utils/mod.rs b/url_finder/src/utils/mod.rs new file mode 100644 index 0000000..8c4e9da --- /dev/null +++ b/url_finder/src/utils/mod.rs @@ -0,0 +1,3 @@ +mod reqwest_retry; + +pub use reqwest_retry::*; diff --git a/url_finder/src/utils/reqwest_retry.rs b/url_finder/src/utils/reqwest_retry.rs new file mode 100644 index 0000000..c949852 --- /dev/null +++ b/url_finder/src/utils/reqwest_retry.rs @@ -0,0 +1,23 @@ +use reqwest::Client; +use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; +use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; +use retry_policies::Jitter; +use std::time::Duration; + +pub fn build_reqwest_retry_client( + min_retry_interval_ms: u64, + max_retry_interval_ms: u64, +) -> ClientWithMiddleware { + let retry_policy = ExponentialBackoff::builder() + .jitter(Jitter::None) + .base(2) + .retry_bounds( + Duration::from_millis(min_retry_interval_ms), + Duration::from_millis(max_retry_interval_ms), + ) + .build_with_max_retries(3); + + ClientBuilder::new(Client::new()) + .with(RetryTransientMiddleware::new_with_policy(retry_policy)) + .build() +} From 5dc2868455042cecec33706ec4a82872ac4ad662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Fri, 14 Nov 2025 09:24:05 +0100 Subject: [PATCH 03/12] cleanup --- url_finder/src/repository/deal_repo.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/url_finder/src/repository/deal_repo.rs b/url_finder/src/repository/deal_repo.rs index 1b8457e..12e684b 100644 --- a/url_finder/src/repository/deal_repo.rs +++ b/url_finder/src/repository/deal_repo.rs @@ -24,7 +24,6 @@ pub struct Provider { pub provider_id: Option, } -// TODO: consider using ProviderId directly instead of String impl DealRepository { pub fn new(pool: PgPool) -> Self { Self { pool } From 41fa05adbf063db3973baa625a661ac9496d218a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Fri, 14 Nov 2025 10:12:07 +0100 Subject: [PATCH 04/12] external api calls with timeout, formatting --- url_finder/src/cid_contact.rs | 4 ++- url_finder/src/lotus_rpc.rs | 3 ++ url_finder/src/repository/deal_repo.rs | 30 +++++++++++-------- .../src/repository/storage_provider_repo.rs | 16 ---------- .../src/services/url_discovery_service.rs | 6 ++-- url_finder/src/utils/reqwest_retry.rs | 3 +- 6 files changed, 27 insertions(+), 35 deletions(-) diff --git a/url_finder/src/cid_contact.rs b/url_finder/src/cid_contact.rs index 0a53551..5383339 100644 --- a/url_finder/src/cid_contact.rs +++ b/url_finder/src/cid_contact.rs @@ -1,5 +1,6 @@ +use std::{fmt, time::Duration}; + use color_eyre::Result; -use std::fmt; use tracing::debug; use urlencoding::decode; @@ -29,6 +30,7 @@ pub async fn get_contact(peer_id: &str) -> Result Result { "method": "Filecoin.StateMinerInfo", "params": [address.as_str(), null] })) + .timeout(Duration::from_secs(30)) .send() .await?; diff --git a/url_finder/src/repository/deal_repo.rs b/url_finder/src/repository/deal_repo.rs index 12e684b..b288cf0 100644 --- a/url_finder/src/repository/deal_repo.rs +++ b/url_finder/src/repository/deal_repo.rs @@ -191,12 +191,13 @@ impl DealRepository { pub async fn get_distinct_providers(&self) -> Result, sqlx::Error> { let providers: Vec = sqlx::query_scalar!( - r#"SELECT DISTINCT - "providerId" - FROM - unified_verified_deal - WHERE - "providerId" IS NOT NULL + r#" + SELECT DISTINCT + "providerId" + FROM + unified_verified_deal + WHERE + "providerId" IS NOT NULL "# ) .fetch_all(&self.pool) @@ -211,18 +212,21 @@ impl DealRepository { .collect()) } + /// Get all unique client IDs for a given provider ID + /// NOTE: Production database has MAX 63 clients per provider pub async fn get_clients_for_provider( &self, provider_id: &ProviderId, ) -> Result, sqlx::Error> { let clients = sqlx::query_scalar!( - r#"SELECT DISTINCT - "clientId" - FROM - unified_verified_deal - WHERE - "providerId" = $1 - AND "clientId" IS NOT NULL + r#" + SELECT DISTINCT + "clientId" + FROM + unified_verified_deal + WHERE + "providerId" = $1 + AND "clientId" IS NOT NULL "#, provider_id.as_str() ) diff --git a/url_finder/src/repository/storage_provider_repo.rs b/url_finder/src/repository/storage_provider_repo.rs index 9f6d374..96df6d6 100644 --- a/url_finder/src/repository/storage_provider_repo.rs +++ b/url_finder/src/repository/storage_provider_repo.rs @@ -33,22 +33,6 @@ impl StorageProviderRepository { Self { pool } } - #[allow(dead_code)] - pub async fn insert_if_not_exists(&self, provider_id: &ProviderId) -> Result<()> { - sqlx::query!( - r#"INSERT INTO - storage_providers (provider_id) - VALUES - ($1) - ON CONFLICT DO NOTHING - "#, - provider_id as &ProviderId - ) - .execute(&self.pool) - .await?; - Ok(()) - } - pub async fn insert_batch_if_not_exists(&self, provider_ids: &[ProviderId]) -> Result { if provider_ids.is_empty() { return Ok(0); diff --git a/url_finder/src/services/url_discovery_service.rs b/url_finder/src/services/url_discovery_service.rs index 5c916e2..988d754 100644 --- a/url_finder/src/services/url_discovery_service.rs +++ b/url_finder/src/services/url_discovery_service.rs @@ -75,12 +75,10 @@ pub async fn discover_url( } }; - if endpoints.is_none() { + let Some(endpoints) = endpoints else { result.result_code = result_code.to_string(); return result; - } - - let endpoints = endpoints.unwrap(); + }; let piece_ids = match deal_service::get_piece_ids_by_provider(deal_repo, &provider_id, client_id.as_ref()) diff --git a/url_finder/src/utils/reqwest_retry.rs b/url_finder/src/utils/reqwest_retry.rs index c949852..57314ea 100644 --- a/url_finder/src/utils/reqwest_retry.rs +++ b/url_finder/src/utils/reqwest_retry.rs @@ -1,8 +1,9 @@ +use std::time::Duration; + use reqwest::Client; use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; use retry_policies::Jitter; -use std::time::Duration; pub fn build_reqwest_retry_client( min_retry_interval_ms: u64, From dadfd0497bbd4b905f52b0d1c5a377abea20cd6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Fri, 14 Nov 2025 13:11:52 +0100 Subject: [PATCH 05/12] ajust lotus rpc retry min interval, retry log middleware , url discovery result types --- ...645dfc7a64858a44ad64bf1c44ee26b7dff7c.json | 22 -- ...8e7ec65a28c3546b7bc19ab8ab1818b760106.json | 83 +++++++ ...bcd2090e3920877e8dcc7cda39e51064980d8.json | 22 ++ ...e6d767ffe1f7972b6d05b0fef88466d42b58b.json | 22 -- ...4579915d6583e434fc86b499806cda6043036.json | 14 -- ...958feb7d95de95f2653d855a16a4a36c3ead6.json | 20 ++ ...2c2933eca082a8e85abc1e5dd3de87a6eeca6.json | 20 -- Cargo.lock | 2 + .../20251110050249_create_url_results.up.sql | 28 ++- url_finder/Cargo.toml | 2 + url_finder/src/api/responses.rs | 59 +---- .../src/background/url_discovery_scheduler.rs | 2 +- url_finder/src/lotus_rpc.rs | 2 +- url_finder/src/repository/url_result_repo.rs | 27 +-- .../src/services/url_discovery_service.rs | 36 +-- url_finder/src/types.rs | 205 +++++++++++++++++- url_finder/src/utils/reqwest_retry.rs | 35 ++- 17 files changed, 427 insertions(+), 174 deletions(-) delete mode 100644 .sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json create mode 100644 .sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json create mode 100644 .sqlx/query-84ee3e7da8602f06509ad926538bcd2090e3920877e8dcc7cda39e51064980d8.json delete mode 100644 .sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json delete mode 100644 .sqlx/query-ad6dbed94b19808e4cf4e1bb7d94579915d6583e434fc86b499806cda6043036.json create mode 100644 .sqlx/query-c8d77d096edf7e52a25f1b98924958feb7d95de95f2653d855a16a4a36c3ead6.json delete mode 100644 .sqlx/query-fe83a06bb1c021f918755241bfd2c2933eca082a8e85abc1e5dd3de87a6eeca6.json diff --git a/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json b/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json deleted file mode 100644 index fb0b5bf..0000000 --- a/.sqlx/query-1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "INSERT INTO\n url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at)\n SELECT\n UNNEST($1::uuid[]),\n UNNEST($2::text[]),\n UNNEST($3::text[]),\n UNNEST($4::text[]),\n UNNEST($5::text[]),\n UNNEST($6::double precision[]),\n UNNEST($7::text[]),\n UNNEST($8::text[]),\n UNNEST($9::timestamptz[])\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "UuidArray", - "TextArray", - "TextArray", - "TextArray", - "TextArray", - "Float8Array", - "TextArray", - "TextArray", - "TimestamptzArray" - ] - }, - "nullable": [] - }, - "hash": "1f5a838a40ce22f9e403016924f645dfc7a64858a44ad64bf1c44ee26b7dff7c" -} diff --git a/.sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json b/.sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json new file mode 100644 index 0000000..8c84656 --- /dev/null +++ b/.sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json @@ -0,0 +1,83 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO\n url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at)\n SELECT\n UNNEST($1::uuid[]),\n UNNEST($2::text[]),\n UNNEST($3::text[]),\n UNNEST($4::discovery_type[]),\n UNNEST($5::text[]),\n UNNEST($6::double precision[]),\n UNNEST($7::result_code[]),\n UNNEST($8::error_code[]),\n UNNEST($9::timestamptz[])\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "UuidArray", + "TextArray", + "TextArray", + { + "Custom": { + "name": "discovery_type[]", + "kind": { + "Array": { + "Custom": { + "name": "discovery_type", + "kind": { + "Enum": [ + "Provider", + "ProviderClient" + ] + } + } + } + } + } + }, + "TextArray", + "Float8Array", + { + "Custom": { + "name": "result_code[]", + "kind": { + "Array": { + "Custom": { + "name": "result_code", + "kind": { + "Enum": [ + "NoCidContactData", + "MissingAddrFromCidContact", + "MissingHttpAddrFromCidContact", + "FailedToGetWorkingUrl", + "NoDealsFound", + "TimedOut", + "Success", + "JobCreated", + "Error" + ] + } + } + } + } + } + }, + { + "Custom": { + "name": "error_code[]", + "kind": { + "Array": { + "Custom": { + "name": "error_code", + "kind": { + "Enum": [ + "NoProviderOrClient", + "NoProvidersFound", + "FailedToRetrieveCidContactData", + "FailedToGetPeerId", + "FailedToGetDeals" + ] + } + } + } + } + } + }, + "TimestamptzArray" + ] + }, + "nullable": [] + }, + "hash": "69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106" +} diff --git a/.sqlx/query-84ee3e7da8602f06509ad926538bcd2090e3920877e8dcc7cda39e51064980d8.json b/.sqlx/query-84ee3e7da8602f06509ad926538bcd2090e3920877e8dcc7cda39e51064980d8.json new file mode 100644 index 0000000..a9b6bcb --- /dev/null +++ b/.sqlx/query-84ee3e7da8602f06509ad926538bcd2090e3920877e8dcc7cda39e51064980d8.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT DISTINCT\n \"clientId\"\n FROM\n unified_verified_deal\n WHERE\n \"providerId\" = $1\n AND \"clientId\" IS NOT NULL\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "clientId", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + true + ] + }, + "hash": "84ee3e7da8602f06509ad926538bcd2090e3920877e8dcc7cda39e51064980d8" +} diff --git a/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json b/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json deleted file mode 100644 index 2e02020..0000000 --- a/.sqlx/query-aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT DISTINCT\n \"clientId\"\n FROM\n unified_verified_deal\n WHERE\n \"providerId\" = $1\n AND \"clientId\" IS NOT NULL\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "clientId", - "type_info": "Varchar" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - true - ] - }, - "hash": "aa7b0f8db3e216c719af3a1baf5e6d767ffe1f7972b6d05b0fef88466d42b58b" -} diff --git a/.sqlx/query-ad6dbed94b19808e4cf4e1bb7d94579915d6583e434fc86b499806cda6043036.json b/.sqlx/query-ad6dbed94b19808e4cf4e1bb7d94579915d6583e434fc86b499806cda6043036.json deleted file mode 100644 index b3036ec..0000000 --- a/.sqlx/query-ad6dbed94b19808e4cf4e1bb7d94579915d6583e434fc86b499806cda6043036.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "INSERT INTO\n storage_providers (provider_id)\n VALUES\n ($1)\n ON CONFLICT DO NOTHING\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Varchar" - ] - }, - "nullable": [] - }, - "hash": "ad6dbed94b19808e4cf4e1bb7d94579915d6583e434fc86b499806cda6043036" -} diff --git a/.sqlx/query-c8d77d096edf7e52a25f1b98924958feb7d95de95f2653d855a16a4a36c3ead6.json b/.sqlx/query-c8d77d096edf7e52a25f1b98924958feb7d95de95f2653d855a16a4a36c3ead6.json new file mode 100644 index 0000000..b959081 --- /dev/null +++ b/.sqlx/query-c8d77d096edf7e52a25f1b98924958feb7d95de95f2653d855a16a4a36c3ead6.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT DISTINCT\n \"providerId\"\n FROM\n unified_verified_deal\n WHERE\n \"providerId\" IS NOT NULL\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "providerId", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + true + ] + }, + "hash": "c8d77d096edf7e52a25f1b98924958feb7d95de95f2653d855a16a4a36c3ead6" +} diff --git a/.sqlx/query-fe83a06bb1c021f918755241bfd2c2933eca082a8e85abc1e5dd3de87a6eeca6.json b/.sqlx/query-fe83a06bb1c021f918755241bfd2c2933eca082a8e85abc1e5dd3de87a6eeca6.json deleted file mode 100644 index 82cefd0..0000000 --- a/.sqlx/query-fe83a06bb1c021f918755241bfd2c2933eca082a8e85abc1e5dd3de87a6eeca6.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT DISTINCT\n \"providerId\"\n FROM\n unified_verified_deal\n WHERE\n \"providerId\" IS NOT NULL\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "providerId", - "type_info": "Varchar" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - true - ] - }, - "hash": "fe83a06bb1c021f918755241bfd2c2933eca082a8e85abc1e5dd3de87a6eeca6" -} diff --git a/Cargo.lock b/Cargo.lock index 2ed04f5..1b494bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3479,6 +3479,7 @@ dependencies = [ name = "url_finder" version = "0.4.0" dependencies = [ + "async-trait", "axum", "axum-extra", "chrono", @@ -3486,6 +3487,7 @@ dependencies = [ "common", "dotenvy", "futures", + "http", "moka", "multiaddr", "once_cell", diff --git a/migrations/20251110050249_create_url_results.up.sql b/migrations/20251110050249_create_url_results.up.sql index 4862fed..6a8f983 100644 --- a/migrations/20251110050249_create_url_results.up.sql +++ b/migrations/20251110050249_create_url_results.up.sql @@ -1,14 +1,36 @@ +CREATE TYPE discovery_type AS ENUM ('Provider', 'ProviderClient'); + +CREATE TYPE result_code AS ENUM ( + 'NoCidContactData', + 'MissingAddrFromCidContact', + 'MissingHttpAddrFromCidContact', + 'FailedToGetWorkingUrl', + 'NoDealsFound', + 'TimedOut', + 'Success', + 'JobCreated', + 'Error' +); + +CREATE TYPE error_code AS ENUM ( + 'NoProviderOrClient', + 'NoProvidersFound', + 'FailedToRetrieveCidContactData', + 'FailedToGetPeerId', + 'FailedToGetDeals' +); + CREATE TABLE url_results ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), provider_id VARCHAR(255) NOT NULL, client_id VARCHAR(255), - result_type VARCHAR(50) NOT NULL, + result_type discovery_type NOT NULL, working_url TEXT, retrievability_percent DOUBLE PRECISION NOT NULL DEFAULT 0.0, - result_code VARCHAR(100) NOT NULL, - error_code VARCHAR(100), + result_code result_code NOT NULL, + error_code error_code, tested_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); diff --git a/url_finder/Cargo.toml b/url_finder/Cargo.toml index 081a34a..5a0900c 100644 --- a/url_finder/Cargo.toml +++ b/url_finder/Cargo.toml @@ -12,6 +12,8 @@ reqwest = { version = "0.12.7", features = ["json"] } reqwest-middleware = { version = "0.3.3", features = ["json"] } reqwest-retry = "0.7.0" retry-policies = "0.4" +async-trait = "0.1" +http = "1.1" serde = { version = "1.0.209" } serde_json = "1.0.128" tracing = "0.1.40" diff --git a/url_finder/src/api/responses.rs b/url_finder/src/api/responses.rs index cbe01d8..98ff59f 100644 --- a/url_finder/src/api/responses.rs +++ b/url_finder/src/api/responses.rs @@ -1,58 +1 @@ -use std::fmt; - -use serde::{Deserialize, Serialize}; -use utoipa::ToSchema; - -#[derive(Debug, Serialize, Deserialize, ToSchema, Clone, PartialEq)] -pub enum ResultCode { - NoCidContactData, - MissingAddrFromCidContact, - MissingHttpAddrFromCidContact, - FailedToGetWorkingUrl, - NoDealsFound, - TimedOut, - Success, - JobCreated, - Error, -} - -impl fmt::Display for ResultCode { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let s = match self { - ResultCode::NoCidContactData => "NoCidContactData", - ResultCode::MissingAddrFromCidContact => "MissingAddrFromCidContact", - ResultCode::MissingHttpAddrFromCidContact => "MissingHttpAddrFromCidContact", - ResultCode::FailedToGetWorkingUrl => "FailedToGetWorkingUrl", - ResultCode::NoDealsFound => "NoDealsFound", - ResultCode::TimedOut => "TimedOut", - ResultCode::Success => "Success", - ResultCode::JobCreated => "JobCreated", - ResultCode::Error => "Error", - }; - write!(f, "{s}") - } -} - -#[allow(clippy::enum_variant_names)] -#[derive(Debug, Serialize, ToSchema, Clone)] -pub enum ErrorCode { - NoProviderOrClient, - NoProvidersFound, - FailedToRetrieveCidContactData, - FailedToGetPeerId, - FailedToGetDeals, - FailedToGetPeerIdFromCurio, -} -impl fmt::Display for ErrorCode { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let s = match self { - ErrorCode::NoProviderOrClient => "NoProviderOrClient", - ErrorCode::NoProvidersFound => "NoProvidersFound", - ErrorCode::FailedToRetrieveCidContactData => "FailedToRetrieveCidContactData", - ErrorCode::FailedToGetPeerId => "FailedToGetPeerId", - ErrorCode::FailedToGetDeals => "FailedToGetDeals", - ErrorCode::FailedToGetPeerIdFromCurio => "FailedToGetPeerIdFromCurio", - }; - write!(f, "{s}") - } -} +pub use crate::types::{ErrorCode, ResultCode}; diff --git a/url_finder/src/background/url_discovery_scheduler.rs b/url_finder/src/background/url_discovery_scheduler.rs index a0f0b31..d89b193 100644 --- a/url_finder/src/background/url_discovery_scheduler.rs +++ b/url_finder/src/background/url_discovery_scheduler.rs @@ -21,7 +21,7 @@ pub async fn run_url_discovery_scheduler( url_repo: Arc, deal_repo: Arc, ) { - info!("Starting URL discovery scheduler"); + info!("Starting URL discovery scheduler loop"); loop { let interval = match schedule_url_discoveries(&sp_repo, &url_repo, &deal_repo).await { diff --git a/url_finder/src/lotus_rpc.rs b/url_finder/src/lotus_rpc.rs index 2cd8b8a..3b06e81 100644 --- a/url_finder/src/lotus_rpc.rs +++ b/url_finder/src/lotus_rpc.rs @@ -9,7 +9,7 @@ use crate::{config::CONFIG, types::ProviderAddress, utils::build_reqwest_retry_c pub async fn get_peer_id(address: &ProviderAddress) -> Result { debug!("get_peer_id address: {}", address); - let client = build_reqwest_retry_client(1_000, 30_000); + let client = build_reqwest_retry_client(4_000, 30_000); let res = client .post(&CONFIG.glif_url) .json(&json!({ diff --git a/url_finder/src/repository/url_result_repo.rs b/url_finder/src/repository/url_result_repo.rs index 1244a3f..ed143b0 100644 --- a/url_finder/src/repository/url_result_repo.rs +++ b/url_finder/src/repository/url_result_repo.rs @@ -5,18 +5,18 @@ use sqlx::PgPool; use utoipa::ToSchema; use uuid::Uuid; -use crate::types::{ClientId, ProviderId}; +use crate::types::{ClientId, DiscoveryType, ErrorCode, ProviderId, ResultCode}; #[derive(Debug, Clone, Serialize, Deserialize, ToSchema, sqlx::FromRow)] pub struct UrlResult { pub id: Uuid, pub provider_id: ProviderId, pub client_id: Option, - pub result_type: String, + pub result_type: DiscoveryType, pub working_url: Option, pub retrievability_percent: f64, - pub result_code: String, - pub error_code: Option, + pub result_code: ResultCode, + pub error_code: Option, pub tested_at: DateTime, } @@ -44,13 +44,14 @@ impl UrlResultRepository { .iter() .map(|r| r.client_id.as_ref().map(|c| c.as_str().to_string())) .collect(); - let result_types: Vec = results.iter().map(|r| r.result_type.clone()).collect(); + let result_types: Vec = + results.iter().map(|r| r.result_type.clone()).collect(); let working_urls: Vec> = results.iter().map(|r| r.working_url.clone()).collect(); let retrievability_percents: Vec = results.iter().map(|r| r.retrievability_percent).collect(); - let result_codes: Vec = results.iter().map(|r| r.result_code.clone()).collect(); - let error_codes: Vec> = + let result_codes: Vec = results.iter().map(|r| r.result_code.clone()).collect(); + let error_codes: Vec> = results.iter().map(|r| r.error_code.clone()).collect(); let tested_ats: Vec> = results.iter().map(|r| r.tested_at).collect(); @@ -61,21 +62,21 @@ impl UrlResultRepository { UNNEST($1::uuid[]), UNNEST($2::text[]), UNNEST($3::text[]), - UNNEST($4::text[]), + UNNEST($4::discovery_type[]), UNNEST($5::text[]), UNNEST($6::double precision[]), - UNNEST($7::text[]), - UNNEST($8::text[]), + UNNEST($7::result_code[]), + UNNEST($8::error_code[]), UNNEST($9::timestamptz[]) "#, &ids as &[Uuid], &provider_ids as &[String], &client_ids as &[Option], - &result_types as &[String], + &result_types as &[DiscoveryType], &working_urls as &[Option], &retrievability_percents as &[f64], - &result_codes as &[String], - &error_codes as &[Option], + &result_codes as &[ResultCode], + &error_codes as &[Option], &tested_ats as &[DateTime] ) .execute(&self.pool) diff --git a/url_finder/src/services/url_discovery_service.rs b/url_finder/src/services/url_discovery_service.rs index 988d754..e0ffd0c 100644 --- a/url_finder/src/services/url_discovery_service.rs +++ b/url_finder/src/services/url_discovery_service.rs @@ -2,8 +2,10 @@ use crate::{ provider_endpoints, repository::DealRepository, services::deal_service, - types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, - url_tester, ResultCode, + types::{ + ClientAddress, ClientId, DiscoveryType, ErrorCode, ProviderAddress, ProviderId, ResultCode, + }, + url_tester, }; use tracing::error; use uuid::Uuid; @@ -13,11 +15,11 @@ pub struct UrlDiscoveryResult { pub id: Uuid, pub provider_id: ProviderId, pub client_id: Option, - pub result_type: String, + pub result_type: DiscoveryType, pub working_url: Option, pub retrievability_percent: f64, - pub result_code: String, - pub error_code: Option, + pub result_code: ResultCode, + pub error_code: Option, } impl UrlDiscoveryResult { @@ -26,10 +28,10 @@ impl UrlDiscoveryResult { id: Uuid::new_v4(), provider_id, client_id: None, - result_type: "Provider".to_string(), + result_type: DiscoveryType::Provider, working_url: None, retrievability_percent: 0.0, - result_code: ResultCode::Error.to_string(), + result_code: ResultCode::Error, error_code: None, } } @@ -39,10 +41,10 @@ impl UrlDiscoveryResult { id: Uuid::new_v4(), provider_id, client_id: Some(client_id), - result_type: "ProviderClient".to_string(), + result_type: DiscoveryType::ProviderClient, working_url: None, retrievability_percent: 0.0, - result_code: ResultCode::Error.to_string(), + result_code: ResultCode::Error, error_code: None, } } @@ -69,14 +71,14 @@ pub async fn discover_url( "Failed to get provider endpoints for {}: {:?}", provider_address, e ); - result.result_code = ResultCode::Error.to_string(); - result.error_code = Some(format!("{:?}", e)); + result.result_code = ResultCode::Error; + result.error_code = Some(e); return result; } }; let Some(endpoints) = endpoints else { - result.result_code = result_code.to_string(); + result.result_code = result_code; return result; }; @@ -90,14 +92,14 @@ pub async fn discover_url( "Failed to get piece ids for {} {:?}: {:?}", provider_id, client_id, e ); - result.result_code = ResultCode::Error.to_string(); - result.error_code = Some(format!("{:?}", e)); + result.result_code = ResultCode::Error; + result.error_code = Some(ErrorCode::FailedToGetDeals); return result; } }; if piece_ids.is_empty() { - result.result_code = ResultCode::NoDealsFound.to_string(); + result.result_code = ResultCode::NoDealsFound; return result; } @@ -107,9 +109,9 @@ pub async fn discover_url( result.working_url = working_url.clone(); result.retrievability_percent = retrievability_percent; result.result_code = if working_url.is_some() { - ResultCode::Success.to_string() + ResultCode::Success } else { - ResultCode::FailedToGetWorkingUrl.to_string() + ResultCode::FailedToGetWorkingUrl }; result diff --git a/url_finder/src/types.rs b/url_finder/src/types.rs index 548af3d..00e60c6 100644 --- a/url_finder/src/types.rs +++ b/url_finder/src/types.rs @@ -2,9 +2,10 @@ use color_eyre::{eyre::eyre, Result}; use regex::Regex; use serde::{Deserialize, Serialize}; use sqlx::error::BoxDynError; -use sqlx::postgres::{PgArgumentBuffer, PgTypeInfo, PgValueRef}; +use sqlx::postgres::{PgArgumentBuffer, PgHasArrayType, PgTypeInfo, PgValueRef}; use sqlx::{Decode, Encode, Postgres, Type}; use std::fmt; +use std::str::FromStr; use utoipa::ToSchema; #[derive(Deserialize)] @@ -226,6 +227,208 @@ impl<'q> Encode<'q, Postgres> for ClientId { } } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)] +pub enum DiscoveryType { + Provider, + ProviderClient, +} + +impl fmt::Display for DiscoveryType { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::Provider => write!(f, "Provider"), + Self::ProviderClient => write!(f, "ProviderClient"), + } + } +} + +impl FromStr for DiscoveryType { + type Err = color_eyre::eyre::Error; + + fn from_str(s: &str) -> Result { + match s { + "Provider" => Ok(Self::Provider), + "ProviderClient" => Ok(Self::ProviderClient), + _ => Err(color_eyre::eyre::eyre!("Invalid discovery type: {}", s)), + } + } +} + +impl Type for DiscoveryType { + fn type_info() -> PgTypeInfo { + PgTypeInfo::with_name("discovery_type") + } +} + +impl<'r> Decode<'r, Postgres> for DiscoveryType { + fn decode(value: PgValueRef<'r>) -> Result { + let s = <&str as Decode>::decode(value)?; + s.parse().map_err(Into::into) + } +} + +impl<'q> Encode<'q, Postgres> for DiscoveryType { + fn encode_by_ref( + &self, + buf: &mut PgArgumentBuffer, + ) -> Result { + <&str as Encode>::encode_by_ref(&self.to_string().as_str(), buf) + } +} + +impl PgHasArrayType for DiscoveryType { + fn array_type_info() -> PgTypeInfo { + PgTypeInfo::with_name("_discovery_type") + } +} + +/// Result codes for URL discovery operations +#[derive(Debug, Serialize, Deserialize, ToSchema, Clone, PartialEq)] +pub enum ResultCode { + NoCidContactData, + MissingAddrFromCidContact, + MissingHttpAddrFromCidContact, + FailedToGetWorkingUrl, + NoDealsFound, + TimedOut, + Success, + JobCreated, + Error, +} + +impl fmt::Display for ResultCode { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let s = match self { + ResultCode::NoCidContactData => "NoCidContactData", + ResultCode::MissingAddrFromCidContact => "MissingAddrFromCidContact", + ResultCode::MissingHttpAddrFromCidContact => "MissingHttpAddrFromCidContact", + ResultCode::FailedToGetWorkingUrl => "FailedToGetWorkingUrl", + ResultCode::NoDealsFound => "NoDealsFound", + ResultCode::TimedOut => "TimedOut", + ResultCode::Success => "Success", + ResultCode::JobCreated => "JobCreated", + ResultCode::Error => "Error", + }; + write!(f, "{s}") + } +} + +impl FromStr for ResultCode { + type Err = color_eyre::eyre::Error; + + fn from_str(s: &str) -> Result { + match s { + "NoCidContactData" => Ok(Self::NoCidContactData), + "MissingAddrFromCidContact" => Ok(Self::MissingAddrFromCidContact), + "MissingHttpAddrFromCidContact" => Ok(Self::MissingHttpAddrFromCidContact), + "FailedToGetWorkingUrl" => Ok(Self::FailedToGetWorkingUrl), + "NoDealsFound" => Ok(Self::NoDealsFound), + "TimedOut" => Ok(Self::TimedOut), + "Success" => Ok(Self::Success), + "JobCreated" => Ok(Self::JobCreated), + "Error" => Ok(Self::Error), + _ => Err(color_eyre::eyre::eyre!("Invalid result code: {}", s)), + } + } +} + +impl Type for ResultCode { + fn type_info() -> PgTypeInfo { + PgTypeInfo::with_name("result_code") + } +} + +impl<'r> Decode<'r, Postgres> for ResultCode { + fn decode(value: PgValueRef<'r>) -> Result { + let s = <&str as Decode>::decode(value)?; + s.parse().map_err(Into::into) + } +} + +impl<'q> Encode<'q, Postgres> for ResultCode { + fn encode_by_ref( + &self, + buf: &mut PgArgumentBuffer, + ) -> Result { + <&str as Encode>::encode_by_ref(&self.to_string().as_str(), buf) + } +} + +impl PgHasArrayType for ResultCode { + fn array_type_info() -> PgTypeInfo { + PgTypeInfo::with_name("_result_code") + } +} + +#[allow(clippy::enum_variant_names)] +#[derive(Debug, Serialize, Deserialize, ToSchema, Clone, PartialEq)] +pub enum ErrorCode { + NoProviderOrClient, + NoProvidersFound, + FailedToRetrieveCidContactData, + FailedToGetPeerId, + FailedToGetDeals, + FailedToGetPeerIdFromCurio, +} + +impl fmt::Display for ErrorCode { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let s = match self { + ErrorCode::NoProviderOrClient => "NoProviderOrClient", + ErrorCode::NoProvidersFound => "NoProvidersFound", + ErrorCode::FailedToRetrieveCidContactData => "FailedToRetrieveCidContactData", + ErrorCode::FailedToGetPeerId => "FailedToGetPeerId", + ErrorCode::FailedToGetDeals => "FailedToGetDeals", + ErrorCode::FailedToGetPeerIdFromCurio => "FailedToGetPeerIdFromCurio", + }; + write!(f, "{s}") + } +} + +impl FromStr for ErrorCode { + type Err = color_eyre::eyre::Error; + + fn from_str(s: &str) -> Result { + match s { + "NoProviderOrClient" => Ok(Self::NoProviderOrClient), + "NoProvidersFound" => Ok(Self::NoProvidersFound), + "FailedToRetrieveCidContactData" => Ok(Self::FailedToRetrieveCidContactData), + "FailedToGetPeerId" => Ok(Self::FailedToGetPeerId), + "FailedToGetDeals" => Ok(Self::FailedToGetDeals), + "FailedToGetPeerIdFromCurio" => Ok(Self::FailedToGetPeerIdFromCurio), + _ => Err(color_eyre::eyre::eyre!("Invalid error code: {}", s)), + } + } +} + +impl Type for ErrorCode { + fn type_info() -> PgTypeInfo { + PgTypeInfo::with_name("error_code") + } +} + +impl<'r> Decode<'r, Postgres> for ErrorCode { + fn decode(value: PgValueRef<'r>) -> Result { + let s = <&str as Decode>::decode(value)?; + s.parse().map_err(Into::into) + } +} + +impl<'q> Encode<'q, Postgres> for ErrorCode { + fn encode_by_ref( + &self, + buf: &mut PgArgumentBuffer, + ) -> Result { + <&str as Encode>::encode_by_ref(&self.to_string().as_str(), buf) + } +} + +impl PgHasArrayType for ErrorCode { + fn array_type_info() -> PgTypeInfo { + PgTypeInfo::with_name("_error_code") + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/url_finder/src/utils/reqwest_retry.rs b/url_finder/src/utils/reqwest_retry.rs index 57314ea..012f418 100644 --- a/url_finder/src/utils/reqwest_retry.rs +++ b/url_finder/src/utils/reqwest_retry.rs @@ -1,9 +1,39 @@ use std::time::Duration; -use reqwest::Client; -use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; +use http::Extensions; +use reqwest::{Client, Request, Response}; +use reqwest_middleware::{ClientBuilder, ClientWithMiddleware, Middleware, Next}; use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; use retry_policies::Jitter; +use tracing::Instrument; + +/// Add context to tracing spans for HTTP requests. +pub struct HttpRequestContextLogger; + +#[async_trait::async_trait] +impl Middleware for HttpRequestContextLogger { + async fn handle( + &self, + req: Request, + extensions: &mut Extensions, + next: Next<'_>, + ) -> reqwest_middleware::Result { + let url = req.url().to_string(); + let method = req.method().as_str(); + let service = req.url().host_str().unwrap_or("unknown"); + + let span = tracing::warn_span!( + "http_retry_request", + method = %method, + url = %url, + service = %service + ); + + async move { next.run(req, extensions).await } + .instrument(span) + .await + } +} pub fn build_reqwest_retry_client( min_retry_interval_ms: u64, @@ -19,6 +49,7 @@ pub fn build_reqwest_retry_client( .build_with_max_retries(3); ClientBuilder::new(Client::new()) + .with(HttpRequestContextLogger) // Add context before retry middleware .with(RetryTransientMiddleware::new_with_policy(retry_policy)) .build() } From 8e70e507cd695b28b619f6377dc4893b59b313d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Fri, 14 Nov 2025 14:19:57 +0100 Subject: [PATCH 06/12] adjust min max retry intervals for external calls --- url_finder/src/cid_contact.rs | 2 +- url_finder/src/lotus_rpc.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/url_finder/src/cid_contact.rs b/url_finder/src/cid_contact.rs index 5383339..3c53acf 100644 --- a/url_finder/src/cid_contact.rs +++ b/url_finder/src/cid_contact.rs @@ -21,7 +21,7 @@ impl fmt::Display for CidContactError { } pub async fn get_contact(peer_id: &str) -> Result { - let client = build_reqwest_retry_client(1_000, 30_000); + let client = build_reqwest_retry_client(2_000, 30_000); let url = format!("https://cid.contact/providers/{peer_id}"); debug!("cid contact url: {:?}", url); diff --git a/url_finder/src/lotus_rpc.rs b/url_finder/src/lotus_rpc.rs index 3b06e81..aeaa8b7 100644 --- a/url_finder/src/lotus_rpc.rs +++ b/url_finder/src/lotus_rpc.rs @@ -9,7 +9,7 @@ use crate::{config::CONFIG, types::ProviderAddress, utils::build_reqwest_retry_c pub async fn get_peer_id(address: &ProviderAddress) -> Result { debug!("get_peer_id address: {}", address); - let client = build_reqwest_retry_client(4_000, 30_000); + let client = build_reqwest_retry_client(10_000, 300_000); let res = client .post(&CONFIG.glif_url) .json(&json!({ From e99e9269aefaf331684f04d3cf88d910fa656561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Mon, 17 Nov 2025 10:04:56 +0100 Subject: [PATCH 07/12] minor fixes --- ...e1c75e9e3441b4914a085fda76dd6f3368fc.json} | 4 +- Makefile | 4 +- ...20251110050249_create_url_results.down.sql | 10 ++++ .../20251110050249_create_url_results.up.sql | 2 +- scripts/sql/providers_with_clients.sql | 48 +++++++++---------- .../src/background/provider_discovery.rs | 5 +- url_finder/src/repository/url_result_repo.rs | 21 ++++---- url_finder/src/utils/reqwest_retry.rs | 1 + 8 files changed, 53 insertions(+), 42 deletions(-) rename .sqlx/{query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json => query-567597c712512a134b21cf0d7dd4e1c75e9e3441b4914a085fda76dd6f3368fc.json} (79%) diff --git a/.sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json b/.sqlx/query-567597c712512a134b21cf0d7dd4e1c75e9e3441b4914a085fda76dd6f3368fc.json similarity index 79% rename from .sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json rename to .sqlx/query-567597c712512a134b21cf0d7dd4e1c75e9e3441b4914a085fda76dd6f3368fc.json index 8c84656..f9889d8 100644 --- a/.sqlx/query-69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106.json +++ b/.sqlx/query-567597c712512a134b21cf0d7dd4e1c75e9e3441b4914a085fda76dd6f3368fc.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "INSERT INTO\n url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at)\n SELECT\n UNNEST($1::uuid[]),\n UNNEST($2::text[]),\n UNNEST($3::text[]),\n UNNEST($4::discovery_type[]),\n UNNEST($5::text[]),\n UNNEST($6::double precision[]),\n UNNEST($7::result_code[]),\n UNNEST($8::error_code[]),\n UNNEST($9::timestamptz[])\n ", + "query": "INSERT INTO\n url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at)\n SELECT\n a1, a2, a3, a4, a5, a6, a7, a8, a9\n FROM UNNEST(\n $1::uuid[],\n $2::text[],\n $3::text[],\n $4::discovery_type[],\n $5::text[],\n $6::double precision[],\n $7::result_code[],\n $8::error_code[],\n $9::timestamptz[]\n ) AS t(a1, a2, a3, a4, a5, a6, a7, a8, a9)\n ", "describe": { "columns": [], "parameters": { @@ -79,5 +79,5 @@ }, "nullable": [] }, - "hash": "69dc210852d62bca7879f86b4a38e7ec65a28c3546b7bc19ab8ab1818b760106" + "hash": "567597c712512a134b21cf0d7dd4e1c75e9e3441b4914a085fda76dd6f3368fc" } diff --git a/Makefile b/Makefile index 10b4a7e..5aed0c9 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,8 @@ include .env export .PHONY: check format lint build run stop logs prepare -.PHONY: run-db stop-db clean-db clear-db logs-db -.PHONY: migrate-up migrate-down migrate-status init-dev init-dev-db +.PHONY: run-db stop-db clean-db clear-db logs-db exec-db +.PHONY: migration migrate-up migrate-down migrate-status init-dev init-dev-db check: @-cargo fmt -- --check diff --git a/migrations/20251110050249_create_url_results.down.sql b/migrations/20251110050249_create_url_results.down.sql index d4e5def..2bcc78e 100644 --- a/migrations/20251110050249_create_url_results.down.sql +++ b/migrations/20251110050249_create_url_results.down.sql @@ -1 +1,11 @@ +DROP INDEX IF EXISTS idx_url_results_result_type; +DROP INDEX IF EXISTS idx_url_results_tested_at; +DROP INDEX IF EXISTS idx_url_results_client; +DROP INDEX IF EXISTS idx_url_results_pair; +DROP INDEX IF EXISTS idx_url_results_provider; + DROP TABLE IF EXISTS url_results; + +DROP TYPE IF EXISTS error_code; +DROP TYPE IF EXISTS result_code; +DROP TYPE IF EXISTS discovery_type; \ No newline at end of file diff --git a/migrations/20251110050249_create_url_results.up.sql b/migrations/20251110050249_create_url_results.up.sql index 6a8f983..1e570c7 100644 --- a/migrations/20251110050249_create_url_results.up.sql +++ b/migrations/20251110050249_create_url_results.up.sql @@ -27,7 +27,7 @@ CREATE TABLE url_results ( result_type discovery_type NOT NULL, working_url TEXT, - retrievability_percent DOUBLE PRECISION NOT NULL DEFAULT 0.0, + retrievability_percent NUMERIC(5, 2) NOT NULL DEFAULT 0.0 CHECK (retrievability_percent >= 0.0 AND retrievability_percent <= 100.0), result_code result_code NOT NULL, error_code error_code, diff --git a/scripts/sql/providers_with_clients.sql b/scripts/sql/providers_with_clients.sql index 69801c0..3b46d72 100644 --- a/scripts/sql/providers_with_clients.sql +++ b/scripts/sql/providers_with_clients.sql @@ -45,7 +45,7 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (54544239, 21517096, 0, 'deal', '397376', '10088', '14524', 'baga6ea4seaqeyeqrmpneczrqpwnknnqpycsg5p25gwdte3gevfrmifvfmu43qeq', 17179869184, 4013280, NULL, 2499360, 0, 0, false, '2024-10-23 15:09:12.417721', '2024-10-23 15:09:12.417721', NULL), (47018965, 13181642, 0, 'deal', '8530', '10088', '0', 'baga6ea4seaqbi5jtc5c45dlzzyqi2eat6rqjpa6uziyhzz2jnm6bsniqsgv3ajy', 268435456, 3780249, NULL, 2256521, 0, 0, false, '2024-10-23 13:51:04.27591', '2024-10-23 13:51:04.27591', NULL), (61170210, 28968832, 0, 'deal', '1905314', '114153', '273924', 'baga6ea4seaqbfb3t7m7hfjiu5djkikewuoxvsfya35lduxdcd7lfyw5yxlpamey', 34359738368, 4244477, NULL, 2696686, 0, 0, false, '2024-10-23 16:16:14.245194', '2024-10-23 16:16:14.245194', NULL), -(131138363, 0, 74092713, 'claimUpdated', '1915826', '114153', 'null', 'baga6ea4seaqci23lyy7r2f7rg4ykhf6llztljdyfhzdqm3kiqanq343bh7rvukq', 34359738368, 5256000, 1540800, 4242775, 0, 0, false, '2025-05-13 07:02:43.410182', '2025-05-13 07:02:43.410182', NULL), +(131138363, 0, 74092713, 'claimUpdated', '1915826', '114153', NULL, 'baga6ea4seaqci23lyy7r2f7rg4ykhf6llztljdyfhzdqm3kiqanq343bh7rvukq', 34359738368, 5256000, 1540800, 4242775, 0, 0, false, '2025-05-13 07:02:43.410182', '2025-05-13 07:02:43.410182', NULL), (49363388, 15617861, 0, 'deal', '1916961', '114153', '0', 'baga6ea4seaqpzqi2i6ebanihtyxcd3a42fbxindxoa7cibqqhun5r2wdrsigcma', 34359738368, 3882655, NULL, 2335738, 0, 0, false, '2024-10-23 14:12:30.628628', '2024-10-23 14:12:30.628628', NULL), (101490285, 71129123, 0, 'deal', '1919550', '114153', '315905', 'baga6ea4seaqdfwhwfpslfzppicck2y55nsefus3md7cywpfqk32j7tqv5x52qjy', 34359738368, 5171526, NULL, 3617220, 0, 0, false, '2024-10-23 19:47:49.874901', '2024-10-23 19:47:49.874901', NULL), (60161920, 27845221, 0, 'deal', '1925065', '114153', '269514', 'baga6ea4seaqhvivjvok4gpcmlftqv4aeinysr5atkzdlgzffx3kl66yl4ktjqmi', 34359738368, 4218319, NULL, 2669583, 0, 0, false, '2024-10-23 16:06:29.194637', '2024-10-23 16:06:29.194637', NULL), @@ -72,18 +72,18 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (112169671, 92035244, 75292622, 'deal', '3096059', '114153', '492846', 'baga6ea4seaqmazrxljw7svmjovyurbbo7x4uedcssfth5q3zht36opv6joz4sdy', 34359738368, 5827596, NULL, 4273140, 0, 0, false, '2024-10-23 20:06:14.663283', '2024-10-23 20:06:14.663283', NULL), (110264497, 83556687, 0, 'deal', '3096060', '114153', '371946', 'baga6ea4seaqoarm64ryumif7hl2gytuhfax2htknlejthip3u6kypb7a3kggkai', 34359738368, 5554513, NULL, 4000169, 0, 0, false, '2024-10-23 19:59:02.922506', '2024-10-23 19:59:02.922506', NULL), (112142668, 90375169, 73138872, 'deal', '3096141', '114153', '436938', 'baga6ea4seaqfvhq2xbylkrlqm2l4ax3dmlwhqmggicltujihfznqnnmxfhsskia', 34359738368, 5773658, NULL, 4219121, 0, 0, false, '2024-10-23 20:04:53.859458', '2024-10-23 20:04:53.859458', NULL), -(131039049, 0, 72398990, 'claimUpdated', '3096368', '114153', 'null', 'baga6ea4seaqiuxurrxdh4ysk46afc222zzrvdpuw5dknz2karwicg6wz7s3cchq', 34359738368, 5256000, 1540800, 4197308, 0, 0, false, '2025-05-13 07:00:36.951631', '2025-05-13 07:00:36.951631', NULL), -(131253244, 0, 77728229, 'claimUpdated', '3135133', '114153', 'null', 'baga6ea4seaqkbdlx7f6vlj2q4qpzsbfmaghyzsuq3dg5nywlhknvpg3wh2xfgjq', 34359738368, 5256000, 1540800, 4337787, 0, 0, false, '2025-05-13 07:26:15.827795', '2025-05-13 07:26:15.827795', NULL), +(131039049, 0, 72398990, 'claimUpdated', '3096368', '114153', NULL, 'baga6ea4seaqiuxurrxdh4ysk46afc222zzrvdpuw5dknz2karwicg6wz7s3cchq', 34359738368, 5256000, 1540800, 4197308, 0, 0, false, '2025-05-13 07:00:36.951631', '2025-05-13 07:00:36.951631', NULL), +(131253244, 0, 77728229, 'claimUpdated', '3135133', '114153', NULL, 'baga6ea4seaqkbdlx7f6vlj2q4qpzsbfmaghyzsuq3dg5nywlhknvpg3wh2xfgjq', 34359738368, 5256000, 1540800, 4337787, 0, 0, false, '2025-05-13 07:26:15.827795', '2025-05-13 07:26:15.827795', NULL), (112150625, 90941003, 73916278, 'deal', '3137917', '114153', '454774', 'baga6ea4seaqkbk3amsggtzhpre7nolzwf6nlip4jx6spo6zsqkz6h4glpybvodi', 34359738368, 5792986, NULL, 4238672, 0, 0, false, '2024-10-23 20:05:19.013722', '2024-10-23 20:05:19.013722', NULL), (112194180, 93176513, 76743086, 'deal', '3140519', '114153', '534103', 'baga6ea4seaqoks3xttxs2vxonmxyokxf2rfthxvvhfylfuiyp5vmjfjjrdvv2mq', 34359738368, 5865705, NULL, 4311502, 0, 0, false, '2024-10-23 20:07:15.203992', '2024-10-23 20:07:15.203992', NULL), -(132812147, 0, 77901018, 'claimUpdated', '3144081', '114153', 'null', 'baga6ea4seaqacqpkgvdqml3huu5mm2qcurabp62maj4myq2oaamvetbkp6lceeq', 34359738368, 5256000, 1540800, 4342001, 0, 0, false, '2025-05-13 09:37:56.583706', '2025-05-13 09:37:56.583706', NULL), -(132084694, 0, 78086750, 'claimUpdated', '3177932', '114153', 'null', 'baga6ea4seaqgkbs7dzv3preavgy7vrewzo7ysdqffiqyitstvt3tgdt2him6mmi', 34359738368, 5256000, 1540800, 4345587, 0, 0, false, '2025-05-13 08:17:27.054193', '2025-05-13 08:17:27.054193', NULL), -(132437288, 0, 81120150, 'claimUpdated', '3189676', '114153', 'null', 'baga6ea4seaqmormggz56opm2wkxpvemycm6u24v66vtlh3v6y7lcaes6w6vwegq', 34359738368, 5256000, 1540800, 4433657, 0, 0, false, '2025-05-13 09:25:43.595778', '2025-05-13 09:25:43.595778', NULL), -(131832777, 0, 78446924, 'claimUpdated', '3201972', '114153', 'null', 'baga6ea4seaqmmuwbnssea2batfi5clnw5ny4d7dcjgem7hv77e6wa4qxe6ya6hy', 34359738368, 5256000, 1540800, 4356181, 0, 0, false, '2025-05-13 08:13:21.219902', '2025-05-13 08:13:21.219902', NULL), -(131700988, 0, 77621419, 'claimUpdated', '3202064', '114153', 'null', 'baga6ea4seaqciebvle36tck7o4kzaolg4dqlmhmjci6ep77m6ix3m5iaz47ewmy', 34359738368, 5256000, 1540800, 4335285, 0, 0, false, '2025-05-13 08:12:06.299396', '2025-05-13 08:12:06.299396', NULL), -(132792479, 0, 76575309, 'claimUpdated', '3212865', '114153', 'null', 'baga6ea4seaqf3bttelyq3g3ommfmmwzq7udof4qb45izqhrbpxv7jphag445shy', 34359738368, 5256000, 1540800, 4306469, 0, 0, false, '2025-05-13 09:37:19.099123', '2025-05-13 09:37:19.099123', NULL), +(132812147, 0, 77901018, 'claimUpdated', '3144081', '114153', NULL, 'baga6ea4seaqacqpkgvdqml3huu5mm2qcurabp62maj4myq2oaamvetbkp6lceeq', 34359738368, 5256000, 1540800, 4342001, 0, 0, false, '2025-05-13 09:37:56.583706', '2025-05-13 09:37:56.583706', NULL), +(132084694, 0, 78086750, 'claimUpdated', '3177932', '114153', NULL, 'baga6ea4seaqgkbs7dzv3preavgy7vrewzo7ysdqffiqyitstvt3tgdt2him6mmi', 34359738368, 5256000, 1540800, 4345587, 0, 0, false, '2025-05-13 08:17:27.054193', '2025-05-13 08:17:27.054193', NULL), +(132437288, 0, 81120150, 'claimUpdated', '3189676', '114153', NULL, 'baga6ea4seaqmormggz56opm2wkxpvemycm6u24v66vtlh3v6y7lcaes6w6vwegq', 34359738368, 5256000, 1540800, 4433657, 0, 0, false, '2025-05-13 09:25:43.595778', '2025-05-13 09:25:43.595778', NULL), +(131832777, 0, 78446924, 'claimUpdated', '3201972', '114153', NULL, 'baga6ea4seaqmmuwbnssea2batfi5clnw5ny4d7dcjgem7hv77e6wa4qxe6ya6hy', 34359738368, 5256000, 1540800, 4356181, 0, 0, false, '2025-05-13 08:13:21.219902', '2025-05-13 08:13:21.219902', NULL), +(131700988, 0, 77621419, 'claimUpdated', '3202064', '114153', NULL, 'baga6ea4seaqciebvle36tck7o4kzaolg4dqlmhmjci6ep77m6ix3m5iaz47ewmy', 34359738368, 5256000, 1540800, 4335285, 0, 0, false, '2025-05-13 08:12:06.299396', '2025-05-13 08:12:06.299396', NULL), +(132792479, 0, 76575309, 'claimUpdated', '3212865', '114153', NULL, 'baga6ea4seaqf3bttelyq3g3ommfmmwzq7udof4qb45izqhrbpxv7jphag445shy', 34359738368, 5256000, 1540800, 4306469, 0, 0, false, '2025-05-13 09:37:19.099123', '2025-05-13 09:37:19.099123', NULL), (115191871, 97527393, 81384718, 'claim', '3245316', '114153', '583262', 'baga6ea4seaqjox7n6djtscnotctz37vejo3fowdbmh2pucf27jkl56bne2z3mni', 34359738368, 1800000, 1540800, 4440412, 0, 0, false, '2024-11-14 20:59:02.521', '2024-11-14 20:59:02.521', NULL), -(131256256, 80703322, 63010103, 'claimUpdated', '816968', '114153', 'null', 'baga6ea4seaqj5ynk7df4xhboi6owtyffmmhdi5cvuzpaicy66hny7fqtldzdeey', 34359738368, 5256000, 1540800, 3903818, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), +(131256256, 80703322, 63010103, 'claimUpdated', '816968', '114153', NULL, 'baga6ea4seaqj5ynk7df4xhboi6owtyffmmhdi5cvuzpaicy66hny7fqtldzdeey', 34359738368, 5256000, 1540800, 3903818, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), (128866356, 0, 95814396, 'claim', '1131298', '1222595', '29824', 'baga6ea4seaqd4vgrxawrlfqn3s3ygfeabypcmdoprteqda7zficyxxrhvz6koci', 34359738368, 1785600, 1526400, 4867190, 0, 0, false, '2025-04-10 14:38:02.731', '2025-04-10 14:38:02.731', NULL), (88193483, 57589370, 0, 'deal', '1300307', '1222595', '23317', 'baga6ea4seaqjab7r7bp6zwtud24sxhvfvm4r3ubkg4zanz2wjaghlr4jeowgcky', 34359738368, 4830298, NULL, 3285233, 0, 0, false, '2024-10-23 19:33:24.531103', '2024-10-23 19:33:24.531103', NULL), (50281712, 16581523, 0, 'deal', '1381852', '1222595', '0', 'baga6ea4seaqma3d2foqh3obhlxca2z4emobsarysx5pyrygroakuyxyd7sjzmby', 4294967296, 3884466, NULL, 2358808, 0, 0, false, '2024-10-23 14:22:47.935902', '2024-10-23 14:22:47.935902', NULL), @@ -147,7 +147,7 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (105847217, 75489270, 0, 'deal', '2055594', '1518369', '705019', 'baga6ea4seaqh4qzwgxpgtvfgfmf34eicst4i67f4k73ctpnigb2ly4izgytvcca', 34359738368, 7387975, NULL, 3730327, 0, 0, false, '2024-10-23 19:52:34.096972', '2024-10-23 19:52:34.096972', NULL), (105245451, 74886312, 0, 'deal', '2519046', '1518369', '698839', 'baga6ea4seaqdcm3x4rls4rodstqfttrvlwi54hbxwmkkgt6vruokuamy7se3uli', 34359738368, 7376878, NULL, 3715109, 0, 0, false, '2024-10-23 19:51:55.01326', '2024-10-23 19:51:55.01326', NULL), (141232479, 0, 106860071, 'claimUpdated', '3061409', '1518369', '922015', 'baga6ea4seaqi7yx3f33cfccyskqpmenv4cpfq3c4yznxydky4mlologp3eapgci', 34359738368, 5256000, 3637440, 5125655, 0, 0, false, '2025-07-09 09:40:02.527', '2025-07-09 09:40:02.527', NULL), -(132803752, 0, 80229908, 'claimUpdated', '3094699', '1518369', 'null', 'baga6ea4seaqcfmhzkos3zalf7bjiehq33mvkb6kfo7fazrbdmxmc5wuvmiihiga', 34359738368, 5256000, 3637440, 4408993, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(132803752, 0, 80229908, 'claimUpdated', '3094699', '1518369', NULL, 'baga6ea4seaqcfmhzkos3zalf7bjiehq33mvkb6kfo7fazrbdmxmc5wuvmiihiga', 34359738368, 5256000, 3637440, 4408993, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), (130539433, 97408147, 81265363, 'claimUpdatedWithoutExistingClaim', '3132773', '1518369', '779099', 'baga6ea4seaqlamr5vu74yxd4vya744kcngvrlogybr6ygeiruchklkiog5swweq', 34359738368, 5256000, 3637440, 4436506, 0, 0, false, '2025-05-10 10:14:45.623053', '2025-05-10 10:14:45.623053', NULL), (132590458, 0, 98691873, 'claimUpdated', '3139573', '1518369', '879629', 'baga6ea4seaqpjxgohxpu3pnbncguyfoqbmw53fgozu7btr4ialqevzeahfaa2cy', 34359738368, 5256000, 3637440, 4934745, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), (145120480, 0, 110827978, 'claim', '3139932', '1518369', '941020', 'baga6ea4seaqnewcpud4w7itswhx6isoegyb5qavrl5zlcibpfp6nqrdwlcrbmga', 34359738368, 3896640, 3637440, 5212217, 0, 0, false, '2025-08-08 12:12:02.3', '2025-08-08 12:12:02.3', NULL), @@ -155,10 +155,10 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (152068917, 0, 118626559, 'claim', '3143121', '1518369', '991074', 'baga6ea4seaqjzs7772ukfjxc52cwsj45xdb4cijdloocwkmqfcfgtcovclkngoy', 34359738368, 3896640, 3637440, 5491141, 0, 0, false, '2025-11-13 20:03:01.731', '2025-11-13 20:03:01.731', NULL), (112097530, 89156984, 0, 'deal', '3173068', '1518369', '740282', 'baga6ea4seaqhgg3ydoagdzbjgr2ol2rqpbxaerjh5ec6xdmqgvlxus43mrzw2di', 34359738368, 7833086, NULL, 4181502, 0, 0, false, '2024-10-23 20:03:57.249088', '2024-10-23 20:03:57.249088', NULL), (112157232, 91446205, 74512674, 'deal', '3187663', '1518369', '749741', 'baga6ea4seaqcxh7fs3ewxalkgoiippzv7d3xlphlj55hcltzh7jkc2qdttfpaey', 34359738368, 7917901, NULL, 4254741, 0, 0, false, '2024-10-23 20:05:42.322794', '2024-10-23 20:05:42.322794', NULL), -(131478301, 0, 80450039, 'claimUpdated', '3201578', '1518369', 'null', 'baga6ea4seaqlyjupejvfc6rbe3ojjzveubeo2yr4jrwdozsppwpd4otxgx7kgdy', 34359738368, 5256000, 3637440, 4416495, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(131478301, 0, 80450039, 'claimUpdated', '3201578', '1518369', NULL, 'baga6ea4seaqlyjupejvfc6rbe3ojjzveubeo2yr4jrwdozsppwpd4otxgx7kgdy', 34359738368, 5256000, 3637440, 4416495, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), (121956857, 104415142, 88328094, 'claim', '3218251', '1518369', '813300', 'baga6ea4seaqii7suhyp7sbl52wqgokpp5w4uqbfzrxpz5xiy3arpm3swmcsvciy', 34359738368, 3896640, 3637440, 4634846, 0, 0, false, '2025-01-20 00:33:05.913', '2025-01-20 00:33:05.913', NULL), (135265974, 0, 100196583, 'claimUpdatedWithoutExistingClaim', '3225482', '1518369', '887054', 'baga6ea4seaqcgrnp4dof3ywa6uzeyuyrqrytyhwj5dv4ilmi7yjdb6ht7km6qgy', 34359738368, 5256000, 3637440, 4967354, 0, 0, false, '2025-05-22 11:57:58.615311', '2025-05-22 11:57:58.615311', NULL), -(133127812, 0, 85108611, 'claimUpdated', '3226362', '1518369', 'null', 'baga6ea4seaqgyb7ue3li4ugoxw6nhuc6rvcl3dyh5u2ytmk4ymn37k4yfkihoha', 34359738368, 5256000, 3637440, 4541264, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(133127812, 0, 85108611, 'claimUpdated', '3226362', '1518369', NULL, 'baga6ea4seaqgyb7ue3li4ugoxw6nhuc6rvcl3dyh5u2ytmk4ymn37k4yfkihoha', 34359738368, 5256000, 3637440, 4541264, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), (140268359, 0, 105992777, 'claim', '3226921', '1518369', '916138', 'baga6ea4seaqhh7dp4e4kg7ijo2k5jufab7vxbhqdnadjpxmruekijhuhow34kly', 34359738368, 3896640, 3637440, 5101105, 0, 0, false, '2025-06-30 22:23:02.054', '2025-06-30 22:23:02.054', NULL), (131835320, 109696920, 93656721, 'claimUpdated', '3229827', '1518369', '852438', 'baga6ea4seaqokczf2lwaxzfh5apwe4is7cbarw2glfv7437rsyw4ups3jhhrgpy', 34359738368, 5256000, 3637440, 4808823, 0, 0, false, '2025-05-13 08:13:40.125365', '2025-05-13 08:13:40.125365', NULL), (143062367, 0, 108766668, 'claim', '3235903', '1518369', '930807', 'baga6ea4seaqfuvbzsqxidtxaeagucm22lbo2po6dwgpey4bq5tuggavfmn34qia', 34359738368, 3896640, 3637440, 5166656, 0, 0, false, '2025-07-23 17:05:02.714', '2025-07-23 17:05:02.714', NULL), @@ -403,18 +403,18 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (106581796, 76323837, 0, 'deal', '2057819', '1889668', '182381', 'baga6ea4seaqcxkg7xlttywsultljfn6c75qbzuwh7qe5zqk3zm3mzat5gmavuly', 34359738368, 7416688, NULL, 3755093, 0, 0, false, '2024-10-23 19:53:23.740354', '2024-10-23 19:53:23.740354', NULL), (111835575, 88019073, 0, 'deal', '2519046', '1889668', '238214', 'baga6ea4seaqgcmrrlisdicmq2dqz6rjz6boldtmjgmslvsvfhfwggb5x34j6ipa', 34359738368, 7796982, NULL, 4146249, 0, 0, false, '2024-10-23 20:02:57.697461', '2024-10-23 20:02:57.697461', NULL), (141404250, 0, 107006890, 'claim', '3061409', '1889668', '334744', 'baga6ea4seaqia6bet7bpfxsya776olyszqa4xk36wx5k4tcy4lkqi2iuy7llqha', 34359738368, 3896640, 3637440, 5129385, 0, 0, false, '2025-07-10 15:04:02.58', '2025-07-10 15:04:02.58', NULL), -(132803915, 0, 81473972, 'claimUpdated', '3094699', '1889668', 'null', 'baga6ea4seaqjeqgzyrgwgohhmqhxx5tpe4c6isuq7tgygy2kovq6eaeycm64mla', 34359738368, 5256000, 3637440, 4442292, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(132803915, 0, 81473972, 'claimUpdated', '3094699', '1889668', NULL, 'baga6ea4seaqjeqgzyrgwgohhmqhxx5tpe4c6isuq7tgygy2kovq6eaeycm64mla', 34359738368, 5256000, 3637440, 4442292, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), (125933363, 108540428, 92457564, 'claimUpdated', '3132773', '1889668', '296158', 'baga6ea4seaqncewxjvc25moalb5va7ki32avpik2dencoynqwfwomtycct2jaba', 34359738368, 5256000, 3637440, 4776191, 0, 0, false, '2025-03-10 00:19:02.067', '2025-03-10 00:19:02.067', NULL), (132564030, 0, 97766273, 'claimUpdated', '3139573', '1889668', '310986', 'baga6ea4seaqnqqvnqfmirtdzxnsxdrmrxa7f7rgw22bimw77aoon5sklmgqguby', 34359738368, 5256000, 3637440, 4916040, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), (145019263, 0, 110726587, 'claim', '3139932', '1889668', '343754', 'baga6ea4seaqm3fun2rusmsrmeu56tjgwcjwqav67agewovkad2g35ex63bazwea', 34359738368, 3896640, 3637440, 5209762, 0, 0, false, '2025-08-07 12:32:03.151', '2025-08-07 12:32:03.151', NULL), -(133058850, 0, 87847458, 'allocationRemoved', '3143085', '1889668', 'null', 'baga6ea4seaqfhatz76vbvcnxfzkniw4nhsking43vqtpkppjil4gdngaipr6aiy', 34359738368, 3896640, 3637440, NULL, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(133058850, 0, 87847458, 'allocationRemoved', '3143085', '1889668', NULL, 'baga6ea4seaqfhatz76vbvcnxfzkniw4nhsking43vqtpkppjil4gdngaipr6aiy', 34359738368, 3896640, 3637440, NULL, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), (152099355, 0, 118647668, 'claim', '3143121', '1889668', '368894', 'baga6ea4seaqnmuuaphsmgq5z64vlm3hik4fnx25qle7tbt7ee67svapnvbckgfq', 34359738368, 3896640, 3637440, 5492809, 0, 0, false, '2025-11-13 22:16:01.714', '2025-11-13 22:16:01.714', NULL), (112133422, 89775226, 72497859, 'deal', '3179579', '1889668', '242301', 'baga6ea4seaqduixitnrsivzei6n4chs6rlaubpb2ma77ecrhdljjsxwycnzjcky', 34359738368, 7855175, NULL, 4200198, 0, 0, false, '2024-10-23 20:04:24.518624', '2024-10-23 20:04:24.518624', NULL), (112157074, 91434549, 74501018, 'deal', '3187663', '1889668', '247769', 'baga6ea4seaqiwioclwgbvbkxlzxjhezz4da2kco4huxvik6pzt7rclkxxmankiq', 34359738368, 7917887, NULL, 4254738, 0, 0, false, '2024-10-23 20:05:41.984652', '2024-10-23 20:05:41.984652', NULL), -(131478313, 0, 80413746, 'claimUpdated', '3201578', '1889668', 'null', 'baga6ea4seaqeczaz67s2rrdqaeclcwdqqvept4iif3cgmnykzgdrz3glgeltiay', 34359738368, 5256000, 3637440, 4415776, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(131478313, 0, 80413746, 'claimUpdated', '3201578', '1889668', NULL, 'baga6ea4seaqeczaz67s2rrdqaeclcwdqqvept4iif3cgmnykzgdrz3glgeltiay', 34359738368, 5256000, 3637440, 4415776, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), (121951101, 104403612, 88316565, 'claim', '3218251', '1889668', '280151', 'baga6ea4seaqlbhzfs333wlyzabu6dwakag4qfhdzpfdri4beqw3wc3jfcvtmkfi', 34359738368, 3896640, 3637440, 4634667, 0, 0, false, '2025-01-19 19:38:05.731', '2025-01-19 19:38:05.731', NULL), (135266860, 0, 100171181, 'claimUpdatedWithoutExistingClaim', '3225482', '1889668', '316968', 'baga6ea4seaqiidv6w3zb4bdb5mqx6jcg5azgb3fuwc6d2hmszzhzeyjim77usoi', 34359738368, 5256000, 3637440, 4967232, 0, 0, false, '2025-05-22 12:03:21.950691', '2025-05-22 12:03:21.950691', NULL), -(133127831, 0, 85723339, 'claimUpdated', '3226362', '1889668', 'null', 'baga6ea4seaqo524ffy5rhgbbmonkb4vsdytmlf34viojbzjwyi2mtmohsbbg4ji', 34359738368, 5256000, 3637440, 4558489, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(133127831, 0, 85723339, 'claimUpdated', '3226362', '1889668', NULL, 'baga6ea4seaqo524ffy5rhgbbmonkb4vsdytmlf34viojbzjwyi2mtmohsbbg4ji', 34359738368, 5256000, 3637440, 4558489, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), (140249390, 0, 105973554, 'claim', '3226921', '1889668', '331499', 'baga6ea4seaqotjifpxpri5fpagrtzcolxowwnyuugz3a4kwrimxxyq3jtiezeky', 34359738368, 3896640, 3637440, 5100436, 0, 0, false, '2025-06-30 13:33:01.918', '2025-06-30 13:33:01.918', NULL), (131834699, 110020786, 93998996, 'claimUpdated', '3229827', '1889668', '300720', 'baga6ea4seaqjcjegeopekafndxn5id72sv5nkjjco6giv46pyipopkmefnf7gkq', 34359738368, 5256000, 3637440, 4819459, 0, 0, false, '2025-05-13 08:13:40.125365', '2025-05-13 08:13:40.125365', NULL), (141800588, 0, 107441471, 'claim', '3235903', '1889668', '336094', 'baga6ea4seaqe2l2gq3sh7uq26xlwxodzxfykvnawn7heqxixjovnqwvjyfcfulq', 34359738368, 3896640, 3637440, 5139263, 0, 0, false, '2025-07-14 01:45:02.238', '2025-07-14 01:45:02.238', NULL), @@ -721,7 +721,7 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (111317792, 86503718, 0, 'deal', '3145541', '2234029', '110415', 'baga6ea4seaqmvbbzq333qe4ymlz2fg6wnluz7bf6fnp5hepcnnjdvp22gv7dmjy', 68719476736, 4808254, NULL, 4103651, 0, 0, false, '2024-10-23 20:01:48.691158', '2024-10-23 20:01:48.691158', NULL), (112154315, 91115930, 0, 'deal', '3146548', '2234029', '0', 'baga6ea4seaqndfsu2sap7un7icniekxlpwqrcholcrszzxdahnz5gr7cv6rkqcy', 68719476736, 4948865, NULL, 4294967295, 0, 0, false, '2024-10-23 20:05:29.632014', '2024-10-23 20:05:29.632014', NULL), (111365168, 86650737, 0, 'deal', '3147261', '2234029', '111955', 'baga6ea4seaqhoenhmwyaolpx26vtzx3ruojo2pgxfgifkzx4fln3ensrvuykobq', 68719476736, 4812438, NULL, 4107774, 0, 0, false, '2024-10-23 20:01:56.084235', '2024-10-23 20:01:56.084235', NULL), -(131297352, 83307639, 65718885, 'claimUpdated', '816968', '2234029', 'null', 'baga6ea4seaqgdn7xv6egyx3wgmpfm46mpjutszvbrjs5ta72af4jqhmnjnnwmba', 68719476736, 5256000, 691200, 3989590, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), +(131297352, 83307639, 65718885, 'claimUpdated', '816968', '2234029', NULL, 'baga6ea4seaqgdn7xv6egyx3wgmpfm46mpjutszvbrjs5ta72af4jqhmnjnnwmba', 68719476736, 5256000, 691200, 3989590, 0, 0, false, '2025-05-13 07:26:23.382087', '2025-05-13 07:26:23.382087', NULL), (110513130, 84108599, 0, 'deal', '1941690', '3055005', '0', 'baga6ea4seaqicxj6wc4ijwaz2aidgh47nq3iq6slmsnpjbnrwhxniuz5rz3gmmi', 34359738368, 7673766, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:31.883225', '2024-10-23 19:59:31.883225', NULL), (110538617, 84150959, 0, 'deal', '1948527', '3055005', '0', 'baga6ea4seaqlmu3vxpjl36eu33krqsmrsq2jhnrsdrqxemdbqr7flzeyrkpimgi', 34359738368, 7674030, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:34.17748', '2024-10-23 19:59:34.17748', NULL), (110547321, 83264597, 0, 'deal', '1952539', '3055005', '0', 'baga6ea4seaqj3h7oe53j6r6snq5eno6iy7x6tbxmz6rltca7iev2ljnrfukm6cq', 34359738368, 7673782, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:35.253578', '2024-10-23 19:59:35.253578', NULL), @@ -745,17 +745,17 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (110253340, 83505458, 0, 'deal', '2122232', '3055005', '0', 'baga6ea4seaqkwkkyyor4ixj5pjdnidjvyegmgl2vettosxocjka7fldqu77f2ey', 34359738368, 7658903, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:00.954776', '2024-10-23 19:59:00.954776', NULL), (110547318, 84179708, 0, 'deal', '2122239', '3055005', '0', 'baga6ea4seaqkhqbwhxcmy3y62zbzbro55432snrcmgqtc6tuwqy6yk5xsgda2bi', 34359738368, 7673922, NULL, 4294967295, 0, 0, false, '2024-10-23 19:59:35.253578', '2024-10-23 19:59:35.253578', NULL), (141737003, 0, 107393373, 'claim', '3061409', '3055005', '147822', 'baga6ea4seaqipn7lxzt3d4pdstlanovzyups6tjrxzwalkksxr5eorreqkcg6cy', 34359738368, 3896640, 3637440, 5137615, 0, 0, false, '2025-07-13 11:55:31.367', '2025-07-13 11:55:31.367', NULL), -(132803858, 0, 76391603, 'claimUpdated', '3094699', '3055005', 'null', 'baga6ea4seaqlh2jtgucjrwnjsr3kdia3434bgrv65cvkkphjtyhmjk2toofzwjy', 34359738368, 5256000, 3637440, 4302008, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(132803858, 0, 76391603, 'claimUpdated', '3094699', '3055005', NULL, 'baga6ea4seaqlh2jtgucjrwnjsr3kdia3434bgrv65cvkkphjtyhmjk2toofzwjy', 34359738368, 5256000, 3637440, 4302008, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), (125009296, 107573501, 91486985, 'claimUpdated', '3132773', '3055005', '105987', 'baga6ea4seaqppmejab5reawlv4h3d2y2chhh5z7eqovsalzvil3b4ngvjf23sfq', 34359738368, 5256000, 3637440, 4749063, 0, 0, false, '2025-02-28 16:04:45.21', '2025-02-28 16:04:45.21', NULL), (132572407, 0, 98142081, 'claimUpdated', '3139573', '3055005', '112516', 'baga6ea4seaqfgkg54k7ggb6nhnz3eubx3wd7wqeoq36dieiiwadnvoxllgsioaa', 34359738368, 5256000, 3637440, 4923628, 0, 0, false, '2025-05-13 09:27:17.262538', '2025-05-13 09:27:17.262538', NULL), (146764980, 0, 112482872, 'claim', '3139932', '3055005', '170223', 'baga6ea4seaqkwcyedkghuv6rjwfiegdmz27wd5n3ip2gkmtap363lwlh5o2bsay', 34359738368, 3896640, 3637440, 5257057, 0, 0, false, '2025-08-23 23:23:01.751', '2025-08-23 23:23:01.751', NULL), -(133058219, 86689886, 69225715, 'claimUpdated', '3143085', '3055005', 'null', 'baga6ea4seaqnzownsf7apy7nxfhuu7v37s2rmlwpkly73zcp6eaedtmvp5thwny', 34359738368, 5256000, 3637440, 4108996, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(133058219, 86689886, 69225715, 'claimUpdated', '3143085', '3055005', NULL, 'baga6ea4seaqnzownsf7apy7nxfhuu7v37s2rmlwpkly73zcp6eaedtmvp5thwny', 34359738368, 5256000, 3637440, 4108996, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), (150908585, 0, 117298090, 'claim', '3143121', '3055005', '184444', 'baga6ea4seaqawt2tkr65rwjsox4n76cmrryml4ym44fzjesapf7e5yd5dz3v6aq', 34359738368, 3896640, 3637440, 5428847, 0, 0, false, '2025-10-22 13:09:01.887', '2025-10-22 13:09:01.887', NULL), (112146623, 90643397, 0, 'deal', '3179579', '3055005', '0', 'baga6ea4seaqcvyp4vghqpu5uckcqaaqusvipuxh7kharhc5w6ozwhlmuiccaoky', 34359738368, 7896307, NULL, 4294967295, 0, 0, false, '2024-10-23 20:05:04.885557', '2024-10-23 20:05:04.885557', NULL), (150907749, 0, 117298187, 'claim', '3201578', '3055005', '184456', 'baga6ea4seaqifwc6jmnzx4f2pcxrhgmeq4cvoyjsis7hwqlddu2qrbp7oj4mkoa', 34359738368, 3896640, 3637440, 5428791, 0, 0, false, '2025-10-22 13:14:01.779', '2025-10-22 13:14:01.779', NULL), (112222344, 94739387, 78537883, 'deal', '3224701', '3055005', '74923', 'baga6ea4seaqjmgye2bzfh6pxzwcqx2rvxjzj6smo4jhpha3aq3lxhqwlbj5hibi', 34359738368, 8013160, NULL, 4356778, 0, 0, false, '2024-10-23 20:09:22.785451', '2024-10-23 20:09:22.785451', NULL), (133522063, 0, 98042902, 'claimUpdated', '3225482', '3055005', '111515', 'baga6ea4seaqpaogp3q6ee5irezgum5zoyfizr3fd5h5ldpkcerm3gim4u3j6gjy', 34359738368, 5256000, 3637440, 4922377, 0, 0, false, '2025-05-13 09:59:00.0489', '2025-05-13 09:59:00.0489', NULL), -(133135665, 0, 83464017, 'claimUpdated', '3226362', '3055005', 'null', 'baga6ea4seaqm7dtltwgsfqeendqh2v2z5mx25rnl63zunpl4ctkmmna6iqd2cay', 34359738368, 5256000, 3637440, 4496974, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), +(133135665, 0, 83464017, 'claimUpdated', '3226362', '3055005', NULL, 'baga6ea4seaqm7dtltwgsfqeendqh2v2z5mx25rnl63zunpl4ctkmmna6iqd2cay', 34359738368, 5256000, 3637440, 4496974, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), (133258678, 0, 98425092, 'claimUpdated', '3226921', '3055005', '117390', 'baga6ea4seaqlbhgmttncxp32zqkxehvqhnxvyyphsa2mrlt5m7a2pgrthesgwea', 34359738368, 5256000, 3637440, 4929527, 0, 0, false, '2025-05-13 09:50:39.525688', '2025-05-13 09:50:39.525688', NULL), (141736701, 0, 107393176, 'claim', '3229827', '3055005', '147817', 'baga6ea4seaqb73zx735krnova25nfetzmqblcpmborelysjn44chxs74hjx4sja', 34359738368, 3896640, 3637440, 5137605, 0, 0, false, '2025-07-13 11:50:04.233', '2025-07-13 11:50:04.233', NULL), (150879960, 0, 117269557, 'claim', '3235903', '3055005', '183516', 'baga6ea4seaqkawu5vicsfg737sjxaicpuh53jrrxeswli2gc7swd56yncw62gnq', 34359738368, 3896640, 3637440, 5427669, 0, 0, false, '2025-10-22 04:39:02.227', '2025-10-22 04:39:02.227', NULL), @@ -790,15 +790,15 @@ INSERT INTO unified_verified_deal (id, "dealId", "claimId", type, "clientId", "p (110928807, 85300251, 0, 'deal', '2927649', '3055029', '24227', 'baga6ea4seaqmu32vecqosiaft3e6uxk3thhfryphmcbymzult6zj6gjhrdnjoaq', 34359738368, 7736354, NULL, 4064854, 0, 0, false, '2024-10-23 20:00:47.043012', '2024-10-23 20:00:47.043012', NULL), (109333026, 81436946, 0, 'deal', '2929683', '3055029', '15991', 'baga6ea4seaqj2wsorc4appp7mntxo5ri2yaanyhaadkgu7ginsjmza4jsdkv2ny', 34359738368, 7590701, NULL, 3931324, 0, 0, false, '2024-10-23 19:57:25.143596', '2024-10-23 19:57:25.143596', NULL), (141107064, 0, 106749301, 'claimUpdated', '3061409', '3055029', '145685', 'baga6ea4seaqfcpxlzucxykbserh4lgnsq5jeolem4cgviwfjxsvvne2au6nzwmi', 34359738368, 5256000, 3637440, 5122713, 0, 0, false, '2025-07-08 07:25:02.062', '2025-07-08 07:25:02.062', NULL), -(132805390, 0, 90087773, 'claimUpdated', '3094699', '3055029', 'null', 'baga6ea4seaqjxlhxvk4syqomz2yzwrnydy77z4ijsymvyvsfcrltnfkz3zogmki', 34359738368, 5256000, 3637440, 4704805, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), +(132805390, 0, 90087773, 'claimUpdated', '3094699', '3055029', NULL, 'baga6ea4seaqjxlhxvk4syqomz2yzwrnydy77z4ijsymvyvsfcrltnfkz3zogmki', 34359738368, 5256000, 3637440, 4704805, 0, 0, false, '2025-05-13 09:37:38.950461', '2025-05-13 09:37:38.950461', NULL), (129844399, 0, 97704913, 'claimUpdated', '3132773', '3055029', '115770', 'baga6ea4seaqcdu3wrh4spawpskl6yahnfjbeieqsrfeyisvppag55a4jn24cyca', 34359738368, 5256000, 3637440, 4914290, 0, 0, false, '2025-04-26 22:12:04.419', '2025-04-26 22:12:04.419', NULL), (147542919, 0, 113379334, 'claim', '3139573', '3055029', '159243', 'baga6ea4seaqapmvch5qjo26agpzcxkdwe5azci2t6bc6uyx35sioh5bv2mxsqcq', 34359738368, 3896640, 3637440, 5296807, 0, 0, false, '2025-09-06 18:21:01.86', '2025-09-06 18:21:01.86', NULL), (150498183, 0, 116910259, 'claim', '3139932', '3055029', '182447', 'baga6ea4seaqmnhb4xodu45s5dbp6cz4lcojkpl4bcs4tkgu2b3qo2jqghb7keli', 34359738368, 3896640, 3637440, 5411055, 0, 0, false, '2025-10-16 09:49:07.724', '2025-10-16 09:49:07.724', NULL), -(133059688, 0, 90079571, 'claimUpdated', '3143085', '3055029', 'null', 'baga6ea4seaqfsbro22s65zlwqelu2llbftwoymcwd54tkef6zunklvjgl7kzsjq', 34359738368, 5256000, 3637440, 4704610, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), +(133059688, 0, 90079571, 'claimUpdated', '3143085', '3055029', NULL, 'baga6ea4seaqfsbro22s65zlwqelu2llbftwoymcwd54tkef6zunklvjgl7kzsjq', 34359738368, 5256000, 3637440, 4704610, 0, 0, false, '2025-05-13 09:46:35.363028', '2025-05-13 09:46:35.363028', NULL), (150218347, 0, 116594216, 'claim', '3143121', '3055029', '173877', 'baga6ea4seaqc4yo6k64shsvc66uw5vzfltar2iyk3sbamtxbok6dc6f57lzrqai', 34359738368, 3896640, 3637440, 5400769, 0, 0, false, '2025-10-12 21:01:04.123', '2025-10-12 21:01:04.123', NULL), (112153685, 91086690, 74107344, 'deal', '3191284', '3055029', '38806', 'baga6ea4seaqjc4iuugxrvq4t6opfeyaortfmphyliqz3xwf4eunc6orwbwepqei', 34359738368, 7907948, NULL, 4243431, 0, 0, false, '2024-10-23 20:05:28.080329', '2024-10-23 20:05:28.080329', NULL), (112187287, 92750860, 76246920, 'deal', '3201394', '3055029', '57349', 'baga6ea4seaqppm6igmlhfvi5yfe6w7komfxtquyyvfzpcwddyamfdpao35ggmpa', 34359738368, 7960479, NULL, 4297484, 0, 0, false, '2024-10-23 20:06:46.873496', '2024-10-23 20:06:46.873496', NULL), -(131478325, 0, 81224374, 'claimUpdated', '3201578', '3055029', 'null', 'baga6ea4seaqnwbyitf7gczh7kk4mttib2em7rjflhjmaifktefdd4u6sm65aepy', 34359738368, 5256000, 3637440, 4435756, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), +(131478325, 0, 81224374, 'claimUpdated', '3201578', '3055029', NULL, 'baga6ea4seaqnwbyitf7gczh7kk4mttib2em7rjflhjmaifktefdd4u6sm65aepy', 34359738368, 5256000, 3637440, 4435756, 0, 0, false, '2025-05-13 07:49:48.230177', '2025-05-13 07:49:48.230177', NULL), (133503972, 0, 97701759, 'claimUpdated', '3225482', '3055029', '115627', 'baga6ea4seaqbwschvmbujx7mupqafhk3sdddyvgwce6ruyokr7rxaikgz5r7aai', 34359738368, 5256000, 3637440, 4914155, 0, 0, false, '2025-05-13 09:59:00.0489', '2025-05-13 09:59:00.0489', NULL), (133135185, 0, 97689371, 'claimUpdated', '3226362', '3055029', '115438', 'baga6ea4seaqhauhctwcldcymryzl22t6pzcckf6wpd7xsfj3raagyd6bhoadkmy', 34359738368, 5256000, 3637440, 4913647, 0, 0, false, '2025-05-13 09:48:55.449102', '2025-05-13 09:48:55.449102', NULL), (141102492, 0, 106742232, 'claimUpdated', '3226921', '3055029', '145679', 'baga6ea4seaqe3ouulu66lpl7tamjp3jjazwbct3ov5gij632dr6uke36mw736la', 34359738368, 5256000, 3637440, 5122578, 0, 0, false, '2025-07-08 06:25:02.854', '2025-07-08 06:25:02.854', NULL), diff --git a/url_finder/src/background/provider_discovery.rs b/url_finder/src/background/provider_discovery.rs index 9b69523..5294bef 100644 --- a/url_finder/src/background/provider_discovery.rs +++ b/url_finder/src/background/provider_discovery.rs @@ -36,8 +36,5 @@ async fn discover_and_sync_providers( debug!("Found {} distinct providers in dmob", providers.len()); - match sp_repo.insert_batch_if_not_exists(&providers).await { - Ok(count) => Ok(count), - Err(e) => Err(e), - } + sp_repo.insert_batch_if_not_exists(&providers).await } diff --git a/url_finder/src/repository/url_result_repo.rs b/url_finder/src/repository/url_result_repo.rs index ed143b0..7fee9ad 100644 --- a/url_finder/src/repository/url_result_repo.rs +++ b/url_finder/src/repository/url_result_repo.rs @@ -59,15 +59,18 @@ impl UrlResultRepository { r#"INSERT INTO url_results (id, provider_id, client_id, result_type, working_url, retrievability_percent, result_code, error_code, tested_at) SELECT - UNNEST($1::uuid[]), - UNNEST($2::text[]), - UNNEST($3::text[]), - UNNEST($4::discovery_type[]), - UNNEST($5::text[]), - UNNEST($6::double precision[]), - UNNEST($7::result_code[]), - UNNEST($8::error_code[]), - UNNEST($9::timestamptz[]) + a1, a2, a3, a4, a5, a6, a7, a8, a9 + FROM UNNEST( + $1::uuid[], + $2::text[], + $3::text[], + $4::discovery_type[], + $5::text[], + $6::double precision[], + $7::result_code[], + $8::error_code[], + $9::timestamptz[] + ) AS t(a1, a2, a3, a4, a5, a6, a7, a8, a9) "#, &ids as &[Uuid], &provider_ids as &[String], diff --git a/url_finder/src/utils/reqwest_retry.rs b/url_finder/src/utils/reqwest_retry.rs index 012f418..9164e9b 100644 --- a/url_finder/src/utils/reqwest_retry.rs +++ b/url_finder/src/utils/reqwest_retry.rs @@ -22,6 +22,7 @@ impl Middleware for HttpRequestContextLogger { let method = req.method().as_str(); let service = req.url().host_str().unwrap_or("unknown"); + // TODO: At some point we should change WARN to INFO after we verify this is working as intended. let span = tracing::warn_span!( "http_retry_request", method = %method, From 993082ae445e8d7dba449fe3df753bd7ccea514f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Mon, 17 Nov 2025 10:34:27 +0100 Subject: [PATCH 08/12] lotus timeouts and retries adjusted, minor impr --- .../src/background/url_discovery_scheduler.rs | 17 +++++++- url_finder/src/cid_contact.rs | 11 ++++- url_finder/src/lotus_rpc.rs | 11 ++++- url_finder/src/repository/url_result_repo.rs | 41 ++++++++++--------- url_finder/src/types.rs | 2 + 5 files changed, 57 insertions(+), 25 deletions(-) diff --git a/url_finder/src/background/url_discovery_scheduler.rs b/url_finder/src/background/url_discovery_scheduler.rs index d89b193..577042d 100644 --- a/url_finder/src/background/url_discovery_scheduler.rs +++ b/url_finder/src/background/url_discovery_scheduler.rs @@ -131,7 +131,11 @@ async fn test_provider_with_clients( tasks.push(provider_task); for client_id in client_ids { - let permit = semaphore.clone().acquire_owned().await.unwrap(); + let permit = semaphore + .clone() + .acquire_owned() + .await + .expect("Semaphore should never be closed"); let provider_addr = provider_address.clone(); let client_address: ClientAddress = client_id.into(); let repo = deal_repo.clone(); @@ -146,5 +150,14 @@ async fn test_provider_with_clients( let results = join_all(tasks).await; - results.into_iter().filter_map(|r| r.ok()).collect() + results + .into_iter() + .filter_map(|r| { + r.map_err(|e| { + error!("URL discovery task panicked: {:?}", e); + e + }) + .ok() + }) + .collect() } diff --git a/url_finder/src/cid_contact.rs b/url_finder/src/cid_contact.rs index 3c53acf..155fa60 100644 --- a/url_finder/src/cid_contact.rs +++ b/url_finder/src/cid_contact.rs @@ -6,6 +6,10 @@ use urlencoding::decode; use crate::utils::build_reqwest_retry_client; +const CID_CONTACT_MIN_RETRY_INTERVAL_MS: u64 = 2_000; +const CID_CONTACT_MAX_RETRY_INTERVAL_MS: u64 = 30_000; +const CID_CONTACT_TOTAL_TIMEOUT_MS: u64 = 60_000; + pub enum CidContactError { InvalidResponse, NoData, @@ -21,7 +25,10 @@ impl fmt::Display for CidContactError { } pub async fn get_contact(peer_id: &str) -> Result { - let client = build_reqwest_retry_client(2_000, 30_000); + let client = build_reqwest_retry_client( + CID_CONTACT_MIN_RETRY_INTERVAL_MS, + CID_CONTACT_MAX_RETRY_INTERVAL_MS, + ); let url = format!("https://cid.contact/providers/{peer_id}"); debug!("cid contact url: {:?}", url); @@ -30,7 +37,7 @@ pub async fn get_contact(peer_id: &str) -> Result Result { debug!("get_peer_id address: {}", address); - let client = build_reqwest_retry_client(10_000, 300_000); + let client = build_reqwest_retry_client( + LOTUS_RPC_MIN_RETRY_INTERVAL_MS, + LOTUS_RPC_MAX_RETRY_INTERVAL_MS, + ); let res = client .post(&CONFIG.glif_url) .json(&json!({ @@ -18,7 +25,7 @@ pub async fn get_peer_id(address: &ProviderAddress) -> Result { "method": "Filecoin.StateMinerInfo", "params": [address.as_str(), null] })) - .timeout(Duration::from_secs(30)) + .timeout(Duration::from_millis(LOTUS_RPC_TOTAL_TIMEOUT_MS)) .send() .await?; diff --git a/url_finder/src/repository/url_result_repo.rs b/url_finder/src/repository/url_result_repo.rs index 7fee9ad..a061214 100644 --- a/url_finder/src/repository/url_result_repo.rs +++ b/url_finder/src/repository/url_result_repo.rs @@ -35,25 +35,28 @@ impl UrlResultRepository { return Ok(0); } - let ids: Vec = results.iter().map(|r| r.id).collect(); - let provider_ids: Vec = results - .iter() - .map(|r| r.provider_id.as_str().to_string()) - .collect(); - let client_ids: Vec> = results - .iter() - .map(|r| r.client_id.as_ref().map(|c| c.as_str().to_string())) - .collect(); - let result_types: Vec = - results.iter().map(|r| r.result_type.clone()).collect(); - let working_urls: Vec> = - results.iter().map(|r| r.working_url.clone()).collect(); - let retrievability_percents: Vec = - results.iter().map(|r| r.retrievability_percent).collect(); - let result_codes: Vec = results.iter().map(|r| r.result_code.clone()).collect(); - let error_codes: Vec> = - results.iter().map(|r| r.error_code.clone()).collect(); - let tested_ats: Vec> = results.iter().map(|r| r.tested_at).collect(); + let len = results.len(); + let mut ids: Vec = Vec::with_capacity(len); + let mut provider_ids: Vec = Vec::with_capacity(len); + let mut client_ids: Vec> = Vec::with_capacity(len); + let mut result_types: Vec = Vec::with_capacity(len); + let mut working_urls: Vec> = Vec::with_capacity(len); + let mut retrievability_percents: Vec = Vec::with_capacity(len); + let mut result_codes: Vec = Vec::with_capacity(len); + let mut error_codes: Vec> = Vec::with_capacity(len); + let mut tested_ats: Vec> = Vec::with_capacity(len); + + for result in results { + ids.push(result.id); + provider_ids.push(result.provider_id.as_str().to_string()); + client_ids.push(result.client_id.as_ref().map(|c| c.as_str().to_string())); + result_types.push(result.result_type.clone()); + working_urls.push(result.working_url.clone()); + retrievability_percents.push(result.retrievability_percent); + result_codes.push(result.result_code.clone()); + error_codes.push(result.error_code.clone()); + tested_ats.push(result.tested_at); + } let result = sqlx::query!( r#"INSERT INTO diff --git a/url_finder/src/types.rs b/url_finder/src/types.rs index 00e60c6..9f76b5b 100644 --- a/url_finder/src/types.rs +++ b/url_finder/src/types.rs @@ -73,6 +73,7 @@ impl From for ProviderAddress { impl From for ProviderId { fn from(addr: ProviderAddress) -> Self { + // ProviderAddress is validated at construction time, unwrap is safe here Self(addr.0.strip_prefix("f0").unwrap().to_string()) } } @@ -170,6 +171,7 @@ impl From for ClientAddress { impl From for ClientId { fn from(addr: ClientAddress) -> Self { + // ClientAddress is validated at construction time, unwrap is safe here Self(addr.0.strip_prefix("f0").unwrap().to_string()) } } From 617d817667239a351cdef48c5ca01acd5609a0fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Mon, 17 Nov 2025 14:35:53 +0100 Subject: [PATCH 09/12] dockerfile env --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index c6d4d2f..b4dd1ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,6 +15,7 @@ FROM base as build ARG GITHUB_SHA ENV GITHUB_SHA ${GITHUB_SHA} ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV SQLX_OFFLINE=true COPY --from=plan /app/recipe.json . RUN cargo chef cook --release --recipe-path recipe.json COPY . . From 01ed514e6e3cbe3d2d4366f05fe406aec363b526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Mon, 17 Nov 2025 15:00:10 +0100 Subject: [PATCH 10/12] fmt, after rebase minor changes --- Cargo.lock | 2191 +++++++++++++++++++- url_finder/src/api/create_job.rs | 3 +- url_finder/src/api/find_client.rs | 4 +- url_finder/src/api/find_retri_sp.rs | 4 +- url_finder/src/api/find_retri_sp_client.rs | 4 +- url_finder/src/api/find_url_sp.rs | 4 +- url_finder/src/api/find_url_sp_client.rs | 4 +- url_finder/src/background/job_handler.rs | 6 +- url_finder/src/lotus_rpc.rs | 2 +- url_finder/src/provider_endpoints.rs | 3 +- url_finder/src/repository/job_repo.rs | 2 +- url_finder/src/types.rs | 2 +- url_finder/src/utils/reqwest_retry.rs | 2 +- 13 files changed, 2106 insertions(+), 125 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1b494bc..56f5294 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,6 +50,531 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" +[[package]] +name = "alloy" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a83b2001153fdb12999f808b53068ba36902ca59bf32ad979bb176d03f8f8772" +dependencies = [ + "alloy-consensus", + "alloy-core", + "alloy-eips", + "alloy-network", + "alloy-provider", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-serde", + "alloy-transport", + "alloy-transport-http", + "alloy-trie", +] + +[[package]] +name = "alloy-chains" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef6e7627b842406f449f83ae1a437a01cd244bc246d66f102cee9c0435ce10d" +dependencies = [ + "alloy-primitives", + "num_enum", + "strum", +] + +[[package]] +name = "alloy-consensus" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad704069c12f68d0c742d0cad7e0a03882b42767350584627fbf8a47b1bf1846" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "alloy-tx-macros", + "auto_impl", + "borsh", + "c-kzg", + "derive_more", + "either", + "k256", + "once_cell", + "rand 0.8.5", + "secp256k1", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-consensus-any" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc374f640a5062224d7708402728e3d6879a514ba10f377da62e7dfb14c673e6" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-core" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca96214615ec8cf3fa2a54b32f486eb49100ca7fe7eb0b8c1137cd316e7250a" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", +] + +[[package]] +name = "alloy-eip2124" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "serde", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-eip2930" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9441120fa82df73e8959ae0e4ab8ade03de2aaae61be313fbf5746277847ce25" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "borsh", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "borsh", + "serde", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-eips" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e867b5fd52ed0372a95016f3a37cbff95a9d5409230fbaef2d8ea00e8618098" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "borsh", + "c-kzg", + "derive_more", + "either", + "serde", + "serde_with", + "sha2", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-json-abi" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcab4c51fb1273e3b0f59078e0cdf8aa99f697925b09f0d2055c18be46b4d48c" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "http", + "serde", + "serde_json", + "thiserror 2.0.3", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196d7fd3f5d414f7bbd5886a628b7c42bd98d1b126f9a7cff69dbfd72007b39c" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "derive_more", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-network-primitives" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d3ae2777e900a7a47ad9e3b8ab58eff3d93628265e73bbdee09acf90bf68f75" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-primitives" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355bf68a433e0fd7f7d33d5a9fc2583fde70bf5c530f63b80845f8da5505cf28" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "foldhash 0.2.0", + "hashbrown 0.16.0", + "indexmap 2.12.0", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "rand 0.9.2", + "ruint", + "rustc-hash 2.1.1", + "serde", + "sha3", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9bf40c9b2a90c7677f9c39bccd9f06af457f35362439c0497a706f16557703" +dependencies = [ + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-client", + "alloy-rpc-types-eth", + "alloy-signer", + "alloy-sol-types", + "alloy-transport", + "alloy-transport-http", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "either", + "futures", + "futures-utils-wasm", + "lru", + "parking_lot 0.12.3", + "pin-project", + "reqwest", + "serde", + "serde_json", + "thiserror 2.0.3", + "tokio", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "alloy-rpc-client" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c2630fde9ff6033a780635e1af6ef40e92d74a9cacb8af3defc1b15cfebca5" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-rpc-types" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad098153a12382c22a597e865530033f5e644473742d6c733562d448125e02a2" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b8429b5b62d21bf3691eb1ae12aaae9bb496894d5a114e3cc73e27e6800ec8" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29031a6bf46177d65efce661f7ab37829ca09dd341bc40afb5194e97600655cc" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-serde" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01e856112bfa0d9adc85bd7c13db03fad0e71d1d6fb4c2010e475b6718108236" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a4f629da632d5279bbc5731634f0f5c9484ad9c4cad0cd974d9669dc1f46d6" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror 2.0.3", +] + +[[package]] +name = "alloy-sol-macro" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ce480400051b5217f19d6e9a82d9010cdde20f1ae9c00d53591e4a1afbb312" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" +dependencies = [ + "alloy-sol-macro-input", + "const-hex", + "heck", + "indexmap 2.12.0", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.110", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" +dependencies = [ + "const-hex", + "dunce", + "heck", + "macro-string", + "proc-macro2", + "quote", + "syn 2.0.110", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "954d1b2533b9b2c7959652df3076954ecb1122a28cc740aa84e7b0a49f6ac0a9" +dependencies = [ + "serde", + "winnow", +] + +[[package]] +name = "alloy-sol-types" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe215a2f9b51d5f1aa5c8cf22c8be8cdb354934de09c9a4e37aefb79b77552fd" +dependencies = [ + "alloy-json-rpc", + "auto_impl", + "base64", + "derive_more", + "futures", + "futures-utils-wasm", + "parking_lot 0.12.3", + "serde", + "serde_json", + "thiserror 2.0.3", + "tokio", + "tower", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-transport-http" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1b37b1a30d23deb3a8746e882c70b384c574d355bc2bbea9ea918b0c31366e" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest", + "serde_json", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-trie" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more", + "nybbles", + "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "alloy-tx-macros" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ccf423f6de62e8ce1d6c7a11fb7508ae3536d02e0d68aaeb05c8669337d0937" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -80,12 +605,210 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "arrayref" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] + [[package]] name = "assert-json-diff" version = "2.0.2" @@ -107,6 +830,28 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "async-trait" version = "0.1.83" @@ -115,7 +860,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -133,6 +878,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "auto_impl" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "autocfg" version = "1.4.0" @@ -252,7 +1008,7 @@ checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -276,6 +1032,12 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.22.1" @@ -307,10 +1069,10 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -320,32 +1082,110 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.89", + "syn 2.0.110", "which", ] [[package]] -name = "bitflags" -version = "1.3.2" +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitcoin-io" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" + +[[package]] +name = "bitcoin_hashes" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +dependencies = [ + "bitcoin-io", + "hex-conservative", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "serde_core", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blst" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] [[package]] -name = "bitflags" -version = "2.6.0" +name = "borsh" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ - "serde", + "borsh-derive", + "cfg_aliases", ] [[package]] -name = "block-buffer" -version = "0.10.4" +name = "borsh-derive" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ - "generic-array", + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.110", ] [[package]] @@ -363,6 +1203,12 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + [[package]] name = "byteorder" version = "1.5.0" @@ -374,6 +1220,24 @@ name = "bytes" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] [[package]] name = "cc" @@ -488,6 +1352,18 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "const-hex" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" +dependencies = [ + "cfg-if", + "cpufeatures", + "proptest", + "serde_core", +] + [[package]] name = "const-oid" version = "0.9.6" @@ -585,6 +1461,24 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -595,6 +1489,42 @@ dependencies = [ "typenum", ] +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "serde", + "strsim", + "syn 2.0.110", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.110", +] + [[package]] name = "dashmap" version = "6.1.0" @@ -664,6 +1594,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_arbitrary" version = "1.4.1" @@ -672,7 +1623,37 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", ] [[package]] @@ -695,7 +1676,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -710,15 +1691,68 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "serdect", + "signature", + "spki", +] + +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" dependencies = [ "serde", ] +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "serdect", + "subtle", + "zeroize", +] + [[package]] name = "encoding_rs" version = "0.8.35" @@ -728,6 +1762,26 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -792,6 +1846,50 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + [[package]] name = "flate2" version = "1.0.35" @@ -819,6 +1917,18 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -859,6 +1969,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.3.31" @@ -926,7 +2042,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -965,6 +2081,12 @@ dependencies = [ "slab", ] +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + [[package]] name = "generator" version = "0.8.5" @@ -987,6 +2109,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -1002,6 +2125,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "gimli" version = "0.28.1" @@ -1030,11 +2165,22 @@ dependencies = [ "parking_lot 0.12.3", "portable-atomic", "quanta", - "rand", + "rand 0.8.5", "smallvec", "spinning_top", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "h2" version = "0.4.7" @@ -1047,13 +2193,19 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap", + "indexmap 2.12.0", "slab", "tokio", "tokio-util", "tracing", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -1069,6 +2221,21 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "foldhash 0.2.0", + "serde", +] [[package]] name = "hashlink" @@ -1103,6 +2270,15 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" +dependencies = [ + "arrayvec", +] + [[package]] name = "hkdf" version = "0.12.4" @@ -1118,7 +2294,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -1388,28 +2564,54 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", + "parity-scale-codec", ] [[package]] -name = "idna_adapter" -version = "1.2.0" +name = "impl-trait-for-tuples" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "icu_normalizer", - "icu_properties", + "proc-macro2", + "quote", + "syn 2.0.110", ] [[package]] @@ -1420,13 +2622,25 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.6.0" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.0", "serde", + "serde_core", ] [[package]] @@ -1447,6 +2661,15 @@ version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.12.1" @@ -1456,6 +2679,24 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.14" @@ -1480,6 +2721,39 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "serdect", + "sha2", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -1590,6 +2864,26 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lru" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "matchers" version = "0.1.0" @@ -1612,7 +2906,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest", + "digest 0.10.7", ] [[package]] @@ -1688,7 +2982,7 @@ dependencies = [ "loom", "parking_lot 0.12.3", "portable-atomic", - "rustc_version", + "rustc_version 0.4.1", "smallvec", "tagptr", "thiserror 1.0.69", @@ -1829,11 +3123,17 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand", + "rand 0.8.5", "smallvec", "zeroize", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.46" @@ -1874,6 +3174,41 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "nybbles" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4b5ecbd0beec843101bffe848217f770e8b8da81d8355b7d6e226f2199b3dc" +dependencies = [ + "alloy-rlp", + "cfg-if", + "proptest", + "ruint", + "serde", + "smallvec", +] + [[package]] name = "object" version = "0.32.2" @@ -1885,9 +3220,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssl" @@ -1895,7 +3230,7 @@ version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cfg-if", "foreign-types", "libc", @@ -1912,7 +3247,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -1945,6 +3280,32 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "parking" version = "2.2.1" @@ -2020,6 +3381,16 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989e7521a040efde50c3ab6bbadafbe15ab6dc042686926be59ac35d74607df4" +dependencies = [ + "memchr", + "ucd-trie", +] + [[package]] name = "pin-project" version = "1.1.8" @@ -2037,7 +3408,7 @@ checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -2085,6 +3456,12 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -2101,7 +3478,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.89", + "syn 2.0.110", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.110", ] [[package]] @@ -2113,6 +3532,25 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proptest" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.10.0", + "num-traits", + "rand 0.9.2", + "rand_chacha 0.9.0", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", +] + [[package]] name = "quanta" version = "0.12.5" @@ -2128,6 +3566,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + [[package]] name = "quick-protobuf" version = "0.8.1" @@ -2147,7 +3591,7 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.0.0", + "rustc-hash 2.1.1", "rustls", "socket2", "thiserror 2.0.3", @@ -2162,10 +3606,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", - "rand", + "getrandom 0.2.15", + "rand 0.8.5", "ring", - "rustc-hash 2.0.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", @@ -2198,6 +3642,18 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.8.5" @@ -2205,8 +3661,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "serde", ] [[package]] @@ -2216,7 +3684,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -2225,7 +3703,26 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.4", + "serde", +] + +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +dependencies = [ + "rand_core 0.9.3", ] [[package]] @@ -2234,7 +3731,7 @@ version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", ] [[package]] @@ -2252,7 +3749,27 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", ] [[package]] @@ -2372,7 +3889,7 @@ dependencies = [ "anyhow", "async-trait", "futures", - "getrandom", + "getrandom 0.2.15", "http", "hyper", "parking_lot 0.11.2", @@ -2391,7 +3908,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5875471e6cab2871bc150ecb8c727db5113c9338cc3354dc5ee3425b6aa40a1c" dependencies = [ - "rand", + "rand 0.8.5", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", ] [[package]] @@ -2402,13 +3929,23 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", "windows-sys 0.52.0", ] +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + [[package]] name = "rsa" version = "0.9.7" @@ -2416,19 +3953,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519" dependencies = [ "const-oid", - "digest", + "digest 0.10.7", "num-bigint-dig", "num-integer", "num-traits", "pkcs1", "pkcs8", - "rand_core", + "rand_core 0.6.4", "signature", "spki", "subtle", "zeroize", ] +[[package]] +name = "ruint" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "ark-ff 0.5.0", + "bytes", + "fastrlp 0.3.1", + "fastrlp 0.4.0", + "num-bigint", + "num-integer", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.5", + "rand 0.9.2", + "rlp", + "ruint-macro", + "serde_core", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + [[package]] name = "rust-embed" version = "8.5.0" @@ -2449,7 +4020,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.89", + "syn 2.0.110", "walkdir", ] @@ -2477,9 +4048,24 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] [[package]] name = "rustc_version" @@ -2487,7 +4073,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver", + "semver 1.0.26", ] [[package]] @@ -2496,7 +4082,7 @@ version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", @@ -2554,6 +4140,18 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +[[package]] +name = "rusty-fork" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + [[package]] name = "ryu" version = "1.0.18" @@ -2578,6 +4176,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -2590,13 +4212,49 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "serdect", + "subtle", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" +dependencies = [ + "bitcoin_hashes", + "rand 0.8.5", + "secp256k1-sys", + "serde", +] + +[[package]] +name = "secp256k1-sys" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "core-foundation", "core-foundation-sys", "libc", @@ -2613,30 +4271,58 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +[[package]] +name = "semver-parser" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" +dependencies = [ + "pest", +] + [[package]] name = "serde" -version = "1.0.215" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -2673,6 +4359,48 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" +dependencies = [ + "base64", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.12.0", + "schemars 0.9.0", + "schemars 1.1.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -2681,7 +4409,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", ] [[package]] @@ -2692,7 +4420,27 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +dependencies = [ + "cc", + "cfg-if", ] [[package]] @@ -2725,8 +4473,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest", - "rand_core", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] @@ -2837,7 +4585,7 @@ dependencies = [ "hashbrown 0.14.5", "hashlink", "hex", - "indexmap", + "indexmap 2.12.0", "log", "memchr", "once_cell", @@ -2869,7 +4617,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -2892,7 +4640,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.89", + "syn 2.0.110", "tempfile", "tokio", "url", @@ -2907,12 +4655,12 @@ dependencies = [ "atoi", "base64", "bigdecimal", - "bitflags 2.6.0", + "bitflags 2.10.0", "byteorder", "bytes", "chrono", "crc", - "digest", + "digest 0.10.7", "dotenvy", "either", "futures-channel", @@ -2929,7 +4677,7 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand", + "rand 0.8.5", "rsa", "serde", "sha1", @@ -2952,7 +4700,7 @@ dependencies = [ "atoi", "base64", "bigdecimal", - "bitflags 2.6.0", + "bitflags 2.10.0", "byteorder", "chrono", "crc", @@ -2972,7 +4720,7 @@ dependencies = [ "memchr", "num-bigint", "once_cell", - "rand", + "rand 0.8.5", "serde", "serde_json", "sha2", @@ -3033,6 +4781,33 @@ dependencies = [ "unicode-properties", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "subtle" version = "2.6.1" @@ -3052,15 +4827,27 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.89" +version = "2.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn-solidity" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "sync_wrapper" version = "1.0.2" @@ -3078,7 +4865,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3087,7 +4874,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "core-foundation", "system-configuration-sys", ] @@ -3108,6 +4895,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tempfile" version = "3.14.0" @@ -3147,7 +4940,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3158,7 +4951,7 @@ checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3171,6 +4964,55 @@ dependencies = [ "once_cell", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" + +[[package]] +name = "time-macros" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tinystr" version = "0.7.6" @@ -3222,7 +5064,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3255,6 +5097,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util", ] [[package]] @@ -3270,6 +5113,36 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.23.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +dependencies = [ + "indexmap 2.12.0", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow", +] + [[package]] name = "tower" version = "0.5.2" @@ -3293,7 +5166,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "bytes", "http", "pin-project-lite", @@ -3349,7 +5222,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3413,6 +5286,30 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicase" version = "2.8.0" @@ -3446,6 +5343,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "unicode_categories" version = "0.1.1" @@ -3479,6 +5382,7 @@ dependencies = [ name = "url_finder" version = "0.4.0" dependencies = [ + "alloy", "async-trait", "axum", "axum-extra", @@ -3505,12 +5409,19 @@ dependencies = [ "tower_governor", "tracing", "tracing-subscriber", + "urlencoding", "utoipa", "utoipa-swagger-ui", "uuid", "wiremock", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf16_iter" version = "1.0.5" @@ -3529,7 +5440,7 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "514a48569e4e21c86d0b84b5612b5e73c0b2cf09db63260134ba426d4e8ea714" dependencies = [ - "indexmap", + "indexmap 2.12.0", "serde", "serde_json", "utoipa-gen", @@ -3544,7 +5455,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.89", + "syn 2.0.110", "url", "uuid", ] @@ -3573,7 +5484,7 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ - "getrandom", + "getrandom 0.2.15", "serde", ] @@ -3595,6 +5506,15 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + [[package]] name = "walkdir" version = "2.5.0" @@ -3620,6 +5540,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasite" version = "0.1.0" @@ -3648,7 +5577,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", "wasm-bindgen-shared", ] @@ -3682,7 +5611,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3708,6 +5637,20 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmtimer" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.12.3", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" version = "0.3.72" @@ -3853,7 +5796,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -3864,7 +5807,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -4088,6 +6031,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winnow" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +dependencies = [ + "memchr", +] + [[package]] name = "wiremock" version = "0.6.4" @@ -4112,6 +6064,12 @@ dependencies = [ "url", ] +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + [[package]] name = "write16" version = "1.0.0" @@ -4124,6 +6082,15 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "yoke" version = "0.7.5" @@ -4144,7 +6111,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", "synstructure", ] @@ -4166,7 +6133,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -4186,7 +6153,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", "synstructure", ] @@ -4195,6 +6162,20 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] [[package]] name = "zerovec" @@ -4215,7 +6196,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.110", ] [[package]] @@ -4229,7 +6210,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap", + "indexmap 2.12.0", "memchr", "thiserror 2.0.3", "zopfli", diff --git a/url_finder/src/api/create_job.rs b/url_finder/src/api/create_job.rs index e66ad65..259016d 100644 --- a/url_finder/src/api/create_job.rs +++ b/url_finder/src/api/create_job.rs @@ -10,9 +10,8 @@ use utoipa::ToSchema; use uuid::Uuid; use crate::{ - provider_endpoints, + AppState, provider_endpoints, types::{ClientAddress, ProviderAddress}, - AppState, }; use super::ResultCode; diff --git a/url_finder/src/api/find_client.rs b/url_finder/src/api/find_client.rs index 76e220c..be070d8 100644 --- a/url_finder/src/api/find_client.rs +++ b/url_finder/src/api/find_client.rs @@ -13,10 +13,10 @@ use tracing::debug; use utoipa::{IntoParams, ToSchema}; use crate::{ - provider_endpoints, + AppState, provider_endpoints, services::deal_service, types::{ClientAddress, ClientId, ProviderId}, - url_tester, AppState, + url_tester, }; use super::ResultCode; diff --git a/url_finder/src/api/find_retri_sp.rs b/url_finder/src/api/find_retri_sp.rs index 7800934..9da9269 100644 --- a/url_finder/src/api/find_retri_sp.rs +++ b/url_finder/src/api/find_retri_sp.rs @@ -13,10 +13,10 @@ use tracing::debug; use utoipa::{IntoParams, ToSchema}; use crate::{ - provider_endpoints, + AppState, provider_endpoints, services::deal_service, types::{ProviderAddress, ProviderId}, - url_tester, AppState, + url_tester, }; use super::ResultCode; diff --git a/url_finder/src/api/find_retri_sp_client.rs b/url_finder/src/api/find_retri_sp_client.rs index 2d1de06..81ea843 100644 --- a/url_finder/src/api/find_retri_sp_client.rs +++ b/url_finder/src/api/find_retri_sp_client.rs @@ -13,10 +13,10 @@ use tracing::debug; use utoipa::{IntoParams, ToSchema}; use crate::{ - provider_endpoints, + AppState, provider_endpoints, services::deal_service, types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, - url_tester, AppState, + url_tester, }; use super::ResultCode; diff --git a/url_finder/src/api/find_url_sp.rs b/url_finder/src/api/find_url_sp.rs index 276aa7d..fe9c427 100644 --- a/url_finder/src/api/find_url_sp.rs +++ b/url_finder/src/api/find_url_sp.rs @@ -12,10 +12,10 @@ use tracing::debug; use utoipa::{IntoParams, ToSchema}; use crate::{ - provider_endpoints, + AppState, ResultCode, provider_endpoints, services::deal_service, types::{ProviderAddress, ProviderId}, - url_tester, AppState, ResultCode, + url_tester, }; #[derive(Deserialize, ToSchema, IntoParams)] diff --git a/url_finder/src/api/find_url_sp_client.rs b/url_finder/src/api/find_url_sp_client.rs index 160ee71..6736cd2 100644 --- a/url_finder/src/api/find_url_sp_client.rs +++ b/url_finder/src/api/find_url_sp_client.rs @@ -12,10 +12,10 @@ use tracing::debug; use utoipa::{IntoParams, ToSchema}; use crate::{ - provider_endpoints, + AppState, ResultCode, provider_endpoints, services::deal_service, types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, - url_tester, AppState, ResultCode, + url_tester, }; #[derive(Deserialize, ToSchema, IntoParams)] diff --git a/url_finder/src/background/job_handler.rs b/url_finder/src/background/job_handler.rs index e8cbdf0..5dd5bd1 100644 --- a/url_finder/src/background/job_handler.rs +++ b/url_finder/src/background/job_handler.rs @@ -4,11 +4,11 @@ use tokio::time::sleep; use tracing::{debug, info}; use crate::{ - provider_endpoints, + ErrorCode, Job, JobRepository, JobStatus, ResultCode, provider_endpoints, repository::DealRepository, services::deal_service, types::{ClientAddress, ClientId, ProviderAddress, ProviderId}, - url_tester, ErrorCode, Job, JobRepository, JobStatus, ResultCode, + url_tester, }; const LOOP_DELAY: Duration = Duration::from_secs(5); @@ -197,7 +197,7 @@ async fn process_job_with_client( JobHandlerResult::ErrorResult(result) => error_results.push(result), JobHandlerResult::Skip(reason) => return JobHandlerResult::Skip(reason), JobHandlerResult::FailedJob(job_failed) => { - return JobHandlerResult::FailedJob(job_failed) + return JobHandlerResult::FailedJob(job_failed); } // should not happen here JobHandlerResult::MultipleResults(_, _) => continue, diff --git a/url_finder/src/lotus_rpc.rs b/url_finder/src/lotus_rpc.rs index 9af0ae6..5c2d13e 100644 --- a/url_finder/src/lotus_rpc.rs +++ b/url_finder/src/lotus_rpc.rs @@ -1,6 +1,6 @@ use std::time::Duration; -use color_eyre::{eyre::eyre, Result}; +use color_eyre::{Result, eyre::eyre}; use serde_json::json; use tracing::debug; diff --git a/url_finder/src/provider_endpoints.rs b/url_finder/src/provider_endpoints.rs index ff79394..c881a7a 100644 --- a/url_finder/src/provider_endpoints.rs +++ b/url_finder/src/provider_endpoints.rs @@ -30,7 +30,7 @@ sol! { function getPeerData(uint64 minerID) view returns (PeerData); } -pub async fn valid_curio_provider(address: &str) -> Result> { +pub async fn valid_curio_provider(address: &ProviderAddress) -> Result> { let rpc_url = &CONFIG.glif_url; let rpc_provider = ProviderBuilder::new() @@ -41,6 +41,7 @@ pub async fn valid_curio_provider(address: &str) -> Result> { let miner_peer_id_contract: Address = address!("0x14183aD016Ddc83D638425D6328009aa390339Ce"); let miner_id = address + .as_str() .strip_prefix("f") .ok_or_else(|| eyre!("Address does not start with 'f': {}", address))? .parse::() diff --git a/url_finder/src/repository/job_repo.rs b/url_finder/src/repository/job_repo.rs index 23cf7ac..364d947 100644 --- a/url_finder/src/repository/job_repo.rs +++ b/url_finder/src/repository/job_repo.rs @@ -10,8 +10,8 @@ use utoipa::ToSchema; use uuid::Uuid; use crate::{ - types::{ClientAddress, ProviderAddress}, ErrorCode, ResultCode, + types::{ClientAddress, ProviderAddress}, }; #[derive(Clone, Serialize, ToSchema)] diff --git a/url_finder/src/types.rs b/url_finder/src/types.rs index 9f76b5b..96d8bd1 100644 --- a/url_finder/src/types.rs +++ b/url_finder/src/types.rs @@ -1,4 +1,4 @@ -use color_eyre::{eyre::eyre, Result}; +use color_eyre::{Result, eyre::eyre}; use regex::Regex; use serde::{Deserialize, Serialize}; use sqlx::error::BoxDynError; diff --git a/url_finder/src/utils/reqwest_retry.rs b/url_finder/src/utils/reqwest_retry.rs index 9164e9b..a6248e3 100644 --- a/url_finder/src/utils/reqwest_retry.rs +++ b/url_finder/src/utils/reqwest_retry.rs @@ -3,7 +3,7 @@ use std::time::Duration; use http::Extensions; use reqwest::{Client, Request, Response}; use reqwest_middleware::{ClientBuilder, ClientWithMiddleware, Middleware, Next}; -use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; +use reqwest_retry::{RetryTransientMiddleware, policies::ExponentialBackoff}; use retry_policies::Jitter; use tracing::Instrument; From 7191bffb42e1e65201086020765404e65bd22d16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mach?= Date: Tue, 18 Nov 2025 10:28:40 +0100 Subject: [PATCH 11/12] retri by get instead of old pre-curio head --- scripts/setup_dev_db.sh | 1 - url_finder/src/repository/url_result_repo.rs | 2 +- url_finder/src/services/url_discovery_service.rs | 5 +++-- url_finder/src/url_tester.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/setup_dev_db.sh b/scripts/setup_dev_db.sh index 135ab1f..08ad939 100755 --- a/scripts/setup_dev_db.sh +++ b/scripts/setup_dev_db.sh @@ -15,7 +15,6 @@ if [ -z "$DATABASE_URL" ]; then fi echo "Setting up development database..." -echo "Database: $DATABASE_URL" # Create unified_verified_deal table (matches DMOB schema) psql "$DATABASE_URL" < Date: Tue, 25 Nov 2025 09:31:08 +0100 Subject: [PATCH 12/12] readme update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8fc99cd..632d68b 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,8 @@ The Storage Provider Url Finder is a microservice designed to test the retrievab ### Two types of Requests -1. **Async Job**: User requests a job, which is processed in the background. The user receives a `job_id` that is used to check the status and results later. The jobs are processed one by one, allowing for multiple jobs to be created without blocking the service -2. **Direct Call**: User requests measurement in synchronous mode, which is processed immediately. The result is not stored or cached and its returned as a response to the request. Response might take up to several minutes and might time out if the request takes too long +1. **Async Job**: User requests a job, which is processed in the background. The user receives a `job_id` that is used to check the status and results later. The jobs are processed one by one, allowing for multiple jobs to be created without blocking the service. +2. **Direct Call**: User requests measurement in synchronous mode, which is processed immediately. The result is not stored or cached and its returned as a response to the request. Response might take up to several minutes and might time out if the request takes too long. ### High-Level Workflow