From 4b6c500381239b2bca49d119a049f42e50fcc28d Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 16 Dec 2024 22:03:22 +0100 Subject: [PATCH] Feature/proposals with latest snapshot (#8) * test: separate_number_and_test and test_timestamp_to_date_string * proposals_with_latest_snapshot * @petersalomonsen * test: compare with RPC * fix: test in github action uses local result * remove unused files * remove unused file * add ENV to ci.yml * fix clippy warnings * test: check for 600 transactions * fix: remove inner joins from rust strings * cargo sqlx prepare --- .devcontainer/devcontainer.json | 6 +- .devcontainer/install-dependencies.sh | 1 + .env.example | 2 +- .github/workflows/ci.yml | 1 + ...d5872e35c22a95852fe6bf0c1966c23ddd110.json | 14 + ...83e6686fa9a4bf2ad4f5ffff078f0347c554d.json | 14 + ...3d0f4bac44f03e38f8f8293292aa78fbb1751.json | 34 ++ ...b8b04c1f0d140104e1593b8a38b7a67dca7c1.json | 34 -- ...4b7b805b7c679881c7d324729aa450dc92da6.json | 29 -- ...b8c550d9c5e7cd5558f2aaab7e002747bd7d1.json | 29 ++ ...98d2758c6f29dc16a87b7699dcc1ef119a39b.json | 14 + Cargo.lock | 1 + Cargo.toml | 1 + readme.md | 5 +- src/api_background_service.rs | 75 --- src/db/mod.rs | 486 ++++++------------ src/entrypoints/proposal/mod.rs | 1 - src/entrypoints/rfp/mod.rs | 2 - src/main.rs | 1 - src/nearblocks_client/proposal.rs | 142 +---- src/nearblocks_client/transactions.rs | 8 +- src/tests.rs | 130 +++++ test/result.json | 1 + 23 files changed, 420 insertions(+), 611 deletions(-) create mode 100644 .sqlx/query-1971c527e9c729969f982afa29fd5872e35c22a95852fe6bf0c1966c23ddd110.json create mode 100644 .sqlx/query-346b62a1abe4fd41f2ecc5f58b483e6686fa9a4bf2ad4f5ffff078f0347c554d.json create mode 100644 .sqlx/query-4c6e6cdd377e08af8c54243eb9b3d0f4bac44f03e38f8f8293292aa78fbb1751.json delete mode 100644 .sqlx/query-4e9ee3214db6178565dbcd05e7bb8b04c1f0d140104e1593b8a38b7a67dca7c1.json delete mode 100644 .sqlx/query-7587e724d83c7fa258e4249d4c44b7b805b7c679881c7d324729aa450dc92da6.json create mode 100644 .sqlx/query-d6e0f659dce32aab6ab939073d2b8c550d9c5e7cd5558f2aaab7e002747bd7d1.json create mode 100644 .sqlx/query-d6e8185738eff765fbe3a46fef698d2758c6f29dc16a87b7699dcc1ef119a39b.json delete mode 100644 src/api_background_service.rs create mode 100644 test/result.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5d367aa..60049d9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,11 @@ }, "customizations": { "vscode": { - "extensions": ["rust-lang.rust-analyzer", "github.vscode-github-actions"] + "extensions": [ + "rust-lang.rust-analyzer", + "github.vscode-github-actions", + "ms-python.python" + ] } }, "postCreateCommand": "./.devcontainer/install-dependencies.sh" diff --git a/.devcontainer/install-dependencies.sh b/.devcontainer/install-dependencies.sh index b905091..b8dd60d 100755 --- a/.devcontainer/install-dependencies.sh +++ b/.devcontainer/install-dependencies.sh @@ -1,6 +1,7 @@ #!/bin/bash sudo apt update sudo apt install -y postgresql +sudo apt install libudev-dev cargo install sqlx-cli diff --git a/.env.example b/.env.example index 51b26b3..66a12cb 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ - +ENV=LOCAL # for testing DATABASE_URL= CONTRACT=devhub.near ROCKET_DATABASES={devhub_cache_api_rs={url="postgres://devhub_cache_api_rs:password@localhost/devhub_cache_api_rs"}} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ab1b93..58dfeac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,6 +49,7 @@ jobs: CONTRACT: devhub.near DATABASE_URL: postgres://devhub_cache_api_rs:password@127.0.0.1:5432/devhub_cache_api_rs NEARBLOCKS_API_KEY: ${{ secrets.NEARBLOCKS_API_KEY }} + ENV: GH_ACTION - name: Run clippy and audit run: diff --git a/.sqlx/query-1971c527e9c729969f982afa29fd5872e35c22a95852fe6bf0c1966c23ddd110.json b/.sqlx/query-1971c527e9c729969f982afa29fd5872e35c22a95852fe6bf0c1966c23ddd110.json new file mode 100644 index 0000000..27a6f67 --- /dev/null +++ b/.sqlx/query-1971c527e9c729969f982afa29fd5872e35c22a95852fe6bf0c1966c23ddd110.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "\n UPDATE last_updated_info SET after_date = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [] + }, + "hash": "1971c527e9c729969f982afa29fd5872e35c22a95852fe6bf0c1966c23ddd110" +} diff --git a/.sqlx/query-346b62a1abe4fd41f2ecc5f58b483e6686fa9a4bf2ad4f5ffff078f0347c554d.json b/.sqlx/query-346b62a1abe4fd41f2ecc5f58b483e6686fa9a4bf2ad4f5ffff078f0347c554d.json new file mode 100644 index 0000000..35dd336 --- /dev/null +++ b/.sqlx/query-346b62a1abe4fd41f2ecc5f58b483e6686fa9a4bf2ad4f5ffff078f0347c554d.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "\n UPDATE last_updated_info SET after_block = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [] + }, + "hash": "346b62a1abe4fd41f2ecc5f58b483e6686fa9a4bf2ad4f5ffff078f0347c554d" +} diff --git a/.sqlx/query-4c6e6cdd377e08af8c54243eb9b3d0f4bac44f03e38f8f8293292aa78fbb1751.json b/.sqlx/query-4c6e6cdd377e08af8c54243eb9b3d0f4bac44f03e38f8f8293292aa78fbb1751.json new file mode 100644 index 0000000..9090d2b --- /dev/null +++ b/.sqlx/query-4c6e6cdd377e08af8c54243eb9b3d0f4bac44f03e38f8f8293292aa78fbb1751.json @@ -0,0 +1,34 @@ +{ + "db_name": "PostgreSQL", + "query": "\n INSERT INTO proposal_snapshots (\n proposal_id,\n block_height,\n ts,\n editor_id,\n social_db_post_block_height,\n labels,\n proposal_version,\n proposal_body_version,\n name,\n category,\n summary,\n description,\n linked_proposals,\n linked_rfp,\n requested_sponsorship_usd_amount,\n requested_sponsorship_paid_in_currency,\n requested_sponsor,\n receiver_account,\n supervisor,\n timeline,\n views\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8,\n $9, $10, $11, $12, $13, $14,\n $15, $16, $17, $18, $19, $20, $21\n ) ON CONFLICT (proposal_id, ts) DO UPDATE SET\n block_height = $2,\n editor_id = $4,\n social_db_post_block_height = $5,\n labels = $6,\n proposal_version = $7,\n proposal_body_version = $8,\n name = $9,\n category = $10,\n summary = $11,\n description = $12,\n linked_proposals = $13,\n linked_rfp = $14,\n requested_sponsorship_usd_amount = $15,\n requested_sponsorship_paid_in_currency = $16,\n requested_sponsor = $17,\n receiver_account = $18,\n supervisor = $19,\n timeline = $20,\n views = $21\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int4", + "Int8", + "Int8", + "Varchar", + "Int8", + "Jsonb", + "Varchar", + "Varchar", + "Text", + "Varchar", + "Text", + "Text", + "Jsonb", + "Int4", + "Int4", + "Varchar", + "Varchar", + "Varchar", + "Varchar", + "Jsonb", + "Int4" + ] + }, + "nullable": [] + }, + "hash": "4c6e6cdd377e08af8c54243eb9b3d0f4bac44f03e38f8f8293292aa78fbb1751" +} diff --git a/.sqlx/query-4e9ee3214db6178565dbcd05e7bb8b04c1f0d140104e1593b8a38b7a67dca7c1.json b/.sqlx/query-4e9ee3214db6178565dbcd05e7bb8b04c1f0d140104e1593b8a38b7a67dca7c1.json deleted file mode 100644 index 963cd6d..0000000 --- a/.sqlx/query-4e9ee3214db6178565dbcd05e7bb8b04c1f0d140104e1593b8a38b7a67dca7c1.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO proposal_snapshots (\n proposal_id,\n block_height,\n ts,\n editor_id,\n social_db_post_block_height,\n labels,\n proposal_version,\n proposal_body_version,\n name,\n category,\n summary,\n description,\n linked_proposals,\n linked_rfp,\n requested_sponsorship_usd_amount,\n requested_sponsorship_paid_in_currency,\n requested_sponsor,\n receiver_account,\n supervisor,\n timeline,\n views\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8,\n $9, $10, $11, $12, $13, $14,\n $15, $16, $17, $18, $19, $20, $21\n ) ON CONFLICT (proposal_id, ts) DO UPDATE SET\n block_height = $2,\n editor_id = $4,\n social_db_post_block_height = $5,\n labels = $6,\n proposal_version = $7,\n proposal_body_version = $8,\n name = $9,\n category = $10,\n summary = $11,\n description = $12,\n linked_proposals = $13,\n linked_rfp = $14,\n requested_sponsorship_usd_amount = $15,\n requested_sponsorship_paid_in_currency = $16,\n requested_sponsor = $17,\n receiver_account = $18,\n supervisor = $19,\n timeline = $20,\n views = $21\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Int4", - "Int8", - "Int8", - "Varchar", - "Int8", - "Jsonb", - "Varchar", - "Varchar", - "Text", - "Varchar", - "Text", - "Text", - "Jsonb", - "Int4", - "Int4", - "Varchar", - "Varchar", - "Varchar", - "Varchar", - "Jsonb", - "Int4" - ] - }, - "nullable": [] - }, - "hash": "4e9ee3214db6178565dbcd05e7bb8b04c1f0d140104e1593b8a38b7a67dca7c1" -} diff --git a/.sqlx/query-7587e724d83c7fa258e4249d4c44b7b805b7c679881c7d324729aa450dc92da6.json b/.sqlx/query-7587e724d83c7fa258e4249d4c44b7b805b7c679881c7d324729aa450dc92da6.json deleted file mode 100644 index 335e67f..0000000 --- a/.sqlx/query-7587e724d83c7fa258e4249d4c44b7b805b7c679881c7d324729aa450dc92da6.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO rfp_snapshots (\n rfp_id,\n block_height,\n ts,\n editor_id,\n social_db_post_block_height,\n labels,\n linked_proposals,\n rfp_version,\n rfp_body_version,\n name,\n category,\n summary,\n description,\n timeline,\n submission_deadline,\n views\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8,\n $9, $10, $11, $12, $13, $14, $15, $16\n ) ON CONFLICT (rfp_id, ts) DO UPDATE SET\n block_height = $2,\n editor_id = $4,\n social_db_post_block_height = $5,\n labels = $6,\n linked_proposals = $7,\n rfp_version = $8,\n rfp_body_version = $9,\n name = $10,\n category = $11,\n summary = $12,\n description = $13,\n timeline = $14,\n submission_deadline = $15,\n views = $16\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Int4", - "Int8", - "Int8", - "Varchar", - "Int8", - "Jsonb", - "Jsonb", - "Varchar", - "Varchar", - "Text", - "Varchar", - "Text", - "Text", - "Jsonb", - "Int8", - "Int4" - ] - }, - "nullable": [] - }, - "hash": "7587e724d83c7fa258e4249d4c44b7b805b7c679881c7d324729aa450dc92da6" -} diff --git a/.sqlx/query-d6e0f659dce32aab6ab939073d2b8c550d9c5e7cd5558f2aaab7e002747bd7d1.json b/.sqlx/query-d6e0f659dce32aab6ab939073d2b8c550d9c5e7cd5558f2aaab7e002747bd7d1.json new file mode 100644 index 0000000..02df132 --- /dev/null +++ b/.sqlx/query-d6e0f659dce32aab6ab939073d2b8c550d9c5e7cd5558f2aaab7e002747bd7d1.json @@ -0,0 +1,29 @@ +{ + "db_name": "PostgreSQL", + "query": "\n INSERT INTO rfp_snapshots (\n rfp_id,\n block_height,\n ts,\n editor_id,\n social_db_post_block_height,\n labels,\n linked_proposals,\n rfp_version,\n rfp_body_version,\n name,\n category,\n summary,\n description,\n timeline,\n submission_deadline,\n views\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8,\n $9, $10, $11, $12, $13, $14, $15, $16\n ) ON CONFLICT (rfp_id, ts) DO UPDATE SET\n block_height = $2,\n editor_id = $4,\n social_db_post_block_height = $5,\n labels = $6,\n linked_proposals = $7,\n rfp_version = $8,\n rfp_body_version = $9,\n name = $10,\n category = $11,\n summary = $12,\n description = $13,\n timeline = $14,\n submission_deadline = $15,\n views = $16\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int4", + "Int8", + "Int8", + "Varchar", + "Int8", + "Jsonb", + "Jsonb", + "Varchar", + "Varchar", + "Text", + "Varchar", + "Text", + "Text", + "Jsonb", + "Int8", + "Int4" + ] + }, + "nullable": [] + }, + "hash": "d6e0f659dce32aab6ab939073d2b8c550d9c5e7cd5558f2aaab7e002747bd7d1" +} diff --git a/.sqlx/query-d6e8185738eff765fbe3a46fef698d2758c6f29dc16a87b7699dcc1ef119a39b.json b/.sqlx/query-d6e8185738eff765fbe3a46fef698d2758c6f29dc16a87b7699dcc1ef119a39b.json new file mode 100644 index 0000000..80d29c8 --- /dev/null +++ b/.sqlx/query-d6e8185738eff765fbe3a46fef698d2758c6f29dc16a87b7699dcc1ef119a39b.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "\n UPDATE last_updated_info SET cursor = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Varchar" + ] + }, + "nullable": [] + }, + "hash": "d6e8185738eff765fbe3a46fef698d2758c6f29dc16a87b7699dcc1ef119a39b" +} diff --git a/Cargo.lock b/Cargo.lock index ba366ea..e4db3dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -745,6 +745,7 @@ dependencies = [ "devhub-shared", "dotenvy", "envy", + "futures", "near-account-id", "near-api", "near-jsonrpc-client", diff --git a/Cargo.toml b/Cargo.toml index 063fb03..edb308e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,6 +32,7 @@ near-api = { git = "https://github.com/near/near-api-rs" } near-jsonrpc-client = "0.14.0" regex = "1.11.1" base64 = "0.22.1" +futures = "0.3.31" [features] default = ["workspaces"] diff --git a/readme.md b/readme.md index 424c16f..481ac84 100644 --- a/readme.md +++ b/readme.md @@ -20,6 +20,8 @@ cargo watch -q -c -w src/ -x 'run ' ### Create and run migrations +*Github codespace*: If the database server is not running, you can start it by typing `sudo service postgresql start`. + ```bash sqlx migrate add ``` @@ -56,6 +58,7 @@ fly deploy -c fly.*.toml ``` - +How to deploy when Starting from a blockheight. For instance templar we added proposals removed everything and rebuild it +Templar contract was deleted after https://nearblocks.io/txns/FzKXtDhvR3oFWxqDvfXNVp8HUgmcrNkYtmccEjbaFCMj this txn. So we only want to indexer after this. diff --git a/src/api_background_service.rs b/src/api_background_service.rs deleted file mode 100644 index 8404c76..0000000 --- a/src/api_background_service.rs +++ /dev/null @@ -1,75 +0,0 @@ -/** - * TODO - * - Update the cache in the background instead of blocking responses - */ -use crate::nearblocks_client::ApiClient; -use crate::types::Contract; -use near_account_id::AccountId; -use tokio::{ - signal, - task::JoinHandle, - time::{self, Duration}, -}; - -pub struct ApiBackgroundService { - api_client: ApiClient, - handle: Option>, - contract: Contract, -} - -impl ApiBackgroundService { - pub fn new(api_client: ApiClient, contract: Contract) -> Self { - Self { - api_client, - handle: None, - contract, - } - } - - // Spawns the background task and starts it - pub fn start(&mut self) { - let api_client = self.api_client.clone(); - let contract = self.contract.clone(); - let handle = tokio::spawn(async move { - let mut interval = time::interval(Duration::from_secs(60)); - loop { - interval.tick().await; - - match api_client - .get_account_txns_by_pagination( - contract.parse::().unwrap(), - "".to_string(), - Some(25), - Some("asc".to_string()), - Some(1), - None, - ) - .await - { - Ok(response) => { - println!("Received data: {:?}", response); - } - Err(e) => { - eprintln!("Error fetching data: {:?}", e); - } - } - } - }); - - self.handle = Some(handle); - } - - // Handles graceful shutdown of the background task - pub async fn shutdown(self) { - if let Some(handle) = self.handle { - handle.abort(); // Abort the background task - println!("Background task aborted"); - } - } - - // Wait for a shutdown signal (e.g., Ctrl+C) - pub async fn wait_for_shutdown(self) { - signal::ctrl_c().await.expect("Failed to listen for Ctrl+C"); - self.shutdown().await; - } -} diff --git a/src/db/mod.rs b/src/db/mod.rs index 9e23a79..60b2c41 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -146,53 +146,53 @@ impl DB { // Since primary key is (proposal_id, ts) let result = query!( r#" - INSERT INTO proposal_snapshots ( - proposal_id, - block_height, - ts, - editor_id, - social_db_post_block_height, - labels, - proposal_version, - proposal_body_version, - name, - category, - summary, - description, - linked_proposals, - linked_rfp, - requested_sponsorship_usd_amount, - requested_sponsorship_paid_in_currency, - requested_sponsor, - receiver_account, - supervisor, - timeline, - views - ) VALUES ( - $1, $2, $3, $4, $5, $6, $7, $8, - $9, $10, $11, $12, $13, $14, - $15, $16, $17, $18, $19, $20, $21 - ) ON CONFLICT (proposal_id, ts) DO UPDATE SET - block_height = $2, - editor_id = $4, - social_db_post_block_height = $5, - labels = $6, - proposal_version = $7, - proposal_body_version = $8, - name = $9, - category = $10, - summary = $11, - description = $12, - linked_proposals = $13, - linked_rfp = $14, - requested_sponsorship_usd_amount = $15, - requested_sponsorship_paid_in_currency = $16, - requested_sponsor = $17, - receiver_account = $18, - supervisor = $19, - timeline = $20, - views = $21 - "#, + INSERT INTO proposal_snapshots ( + proposal_id, + block_height, + ts, + editor_id, + social_db_post_block_height, + labels, + proposal_version, + proposal_body_version, + name, + category, + summary, + description, + linked_proposals, + linked_rfp, + requested_sponsorship_usd_amount, + requested_sponsorship_paid_in_currency, + requested_sponsor, + receiver_account, + supervisor, + timeline, + views + ) VALUES ( + $1, $2, $3, $4, $5, $6, $7, $8, + $9, $10, $11, $12, $13, $14, + $15, $16, $17, $18, $19, $20, $21 + ) ON CONFLICT (proposal_id, ts) DO UPDATE SET + block_height = $2, + editor_id = $4, + social_db_post_block_height = $5, + labels = $6, + proposal_version = $7, + proposal_body_version = $8, + name = $9, + category = $10, + summary = $11, + description = $12, + linked_proposals = $13, + linked_rfp = $14, + requested_sponsorship_usd_amount = $15, + requested_sponsorship_paid_in_currency = $16, + requested_sponsor = $17, + receiver_account = $18, + supervisor = $19, + timeline = $20, + views = $21 + "#, snapshot.proposal_id, snapshot.block_height, snapshot.ts, @@ -267,81 +267,33 @@ impl DB { // Build the SQL query with the validated order clause let data_sql = format!( r#" - SELECT - ps.proposal_id, - p.author_id, - ps.block_height, - ps.ts, - ps.editor_id, - ps.social_db_post_block_height, - ps.labels, - ps.proposal_version, - ps.proposal_body_version, - ps.name, - ps.category, - ps.summary, - ps.description, - ps.linked_proposals, - ps.linked_rfp, - ps.requested_sponsorship_usd_amount, - ps.requested_sponsorship_paid_in_currency, - ps.requested_sponsor, - ps.receiver_account, - ps.supervisor, - ps.timeline, - ps.views - FROM - proposals p - INNER JOIN ( - SELECT - proposal_id, - MAX(ts) AS max_ts - FROM - proposal_snapshots - GROUP BY - proposal_id - ) latest_snapshots ON p.id = latest_snapshots.proposal_id - INNER JOIN proposal_snapshots ps ON latest_snapshots.proposal_id = ps.proposal_id - AND latest_snapshots.max_ts = ps.ts - WHERE - ($3 IS NULL OR p.author_id = $3) - AND ($4 IS NULL OR ps.ts > $4) - AND ($5 IS NULL OR ps.timeline::text ~ $5) - AND ($6 IS NULL OR ps.category = $6) - AND ($7 IS NULL OR ps.labels::jsonb ?| $7) - ORDER BY {} - LIMIT $1 OFFSET $2 - "#, + SELECT + * + FROM + proposals_with_latest_snapshot ps + WHERE + ($3 IS NULL OR ps.author_id = $3) + AND ($4 IS NULL OR ps.ts > $4) + AND ($5 IS NULL OR ps.timeline::text ~ $5) + AND ($6 IS NULL OR ps.category = $6) + AND ($7 IS NULL OR ps.labels::jsonb ?| $7) + ORDER BY {} + LIMIT $1 OFFSET $2 + "#, order_clause, ); // Build the count query let count_sql = r#" - SELECT COUNT(*) - FROM ( - SELECT - ps.proposal_id - FROM - proposals p - INNER JOIN ( - SELECT - proposal_id, - MAX(ts) AS max_ts - FROM - proposal_snapshots - GROUP BY - proposal_id - ) latest_snapshots ON p.id = latest_snapshots.proposal_id - INNER JOIN proposal_snapshots ps ON latest_snapshots.proposal_id = ps.proposal_id - AND latest_snapshots.max_ts = ps.ts - WHERE - ($1 IS NULL OR p.author_id = $1) - AND ($2 IS NULL OR ps.ts > $2) - AND ($3 IS NULL OR ps.timeline::text ~ $3) - AND ($4 IS NULL OR ps.category = $4) - AND ($5 IS NULL OR ps.labels::jsonb ?| $5) - ) AS count_subquery - "#; + SELECT COUNT(*) + FROM proposals_with_latest_snapshot ps + WHERE + ($1 IS NULL OR ps.author_id = $1) + AND ($2 IS NULL OR ps.ts > $2) + AND ($3 IS NULL OR ps.timeline::text ~ $3) + AND ($4 IS NULL OR ps.category = $4) + AND ($5 IS NULL OR ps.labels::jsonb ?| $5) + "#; // Extract filter parameters let author_id = filters.as_ref().and_then(|f| f.author_id.as_ref()); @@ -382,21 +334,9 @@ impl DB { ) -> anyhow::Result<(Vec, i64)> { let sql = r#" SELECT - ps.*, - p.author_id + * FROM - proposals p - INNER JOIN ( - SELECT - proposal_id, - MAX(ts) AS max_ts - FROM - proposal_snapshots - GROUP BY - proposal_id - ) latest_snapshots ON p.id = latest_snapshots.proposal_id - INNER JOIN proposal_snapshots ps ON latest_snapshots.proposal_id = ps.proposal_id - AND latest_snapshots.max_ts = ps.ts + proposals_with_latest_snapshot ps WHERE to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) OR lower(ps.name) ILIKE $1 @@ -417,18 +357,7 @@ impl DB { SELECT COUNT(*) FROM - proposals p - INNER JOIN ( - SELECT - proposal_id, - MAX(ts) AS max_ts - FROM - proposal_snapshots - GROUP BY - proposal_id - ) latest_snapshots ON p.id = latest_snapshots.proposal_id - INNER JOIN proposal_snapshots ps ON latest_snapshots.proposal_id = ps.proposal_id - AND latest_snapshots.max_ts = ps.ts + proposals_with_latest_snapshot ps WHERE to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) OR lower(ps.name) ILIKE $1 @@ -448,25 +377,14 @@ impl DB { &self, id: i32, ) -> anyhow::Result { + println!("Getting proposal with latest snapshot by id: {:?}", id); let sql = r#" SELECT - ps.*, - p.author_id + * FROM - proposals p - INNER JOIN ( - SELECT - proposal_id, - MAX(ts) AS max_ts - FROM - proposal_snapshots - GROUP BY - proposal_id - ) latest_snapshots ON p.id = latest_snapshots.proposal_id - INNER JOIN proposal_snapshots ps ON latest_snapshots.proposal_id = ps.proposal_id - AND latest_snapshots.max_ts = ps.ts + proposals_with_latest_snapshot ps WHERE - p.id = $1 + ps.proposal_id = $1 "#; // Start Generation Here let proposal = sqlx::query_as::<_, ProposalWithLatestSnapshotView>(sql) @@ -571,42 +489,42 @@ impl DB { // Primary key is (rfp_id, ts) let result = sqlx::query!( r#" - INSERT INTO rfp_snapshots ( - rfp_id, - block_height, - ts, - editor_id, - social_db_post_block_height, - labels, - linked_proposals, - rfp_version, - rfp_body_version, - name, - category, - summary, - description, - timeline, - submission_deadline, - views - ) VALUES ( - $1, $2, $3, $4, $5, $6, $7, $8, - $9, $10, $11, $12, $13, $14, $15, $16 - ) ON CONFLICT (rfp_id, ts) DO UPDATE SET - block_height = $2, - editor_id = $4, - social_db_post_block_height = $5, - labels = $6, - linked_proposals = $7, - rfp_version = $8, - rfp_body_version = $9, - name = $10, - category = $11, - summary = $12, - description = $13, - timeline = $14, - submission_deadline = $15, - views = $16 - "#, + INSERT INTO rfp_snapshots ( + rfp_id, + block_height, + ts, + editor_id, + social_db_post_block_height, + labels, + linked_proposals, + rfp_version, + rfp_body_version, + name, + category, + summary, + description, + timeline, + submission_deadline, + views + ) VALUES ( + $1, $2, $3, $4, $5, $6, $7, $8, + $9, $10, $11, $12, $13, $14, $15, $16 + ) ON CONFLICT (rfp_id, ts) DO UPDATE SET + block_height = $2, + editor_id = $4, + social_db_post_block_height = $5, + labels = $6, + linked_proposals = $7, + rfp_version = $8, + rfp_body_version = $9, + name = $10, + category = $11, + summary = $12, + description = $13, + timeline = $14, + submission_deadline = $15, + views = $16 + "#, snapshot.rfp_id, snapshot.block_height, snapshot.ts, @@ -668,76 +586,33 @@ impl DB { // Build the SQL query for fetching data with the validated order clause let data_sql = format!( r#" - SELECT - ps.rfp_id, - p.author_id, - ps.block_height, - ps.ts, - ps.editor_id, - ps.social_db_post_block_height, - ps.labels, - ps.linked_proposals, - ps.rfp_version, - ps.rfp_body_version, - ps.name, - ps.category, - ps.summary, - ps.description, - ps.timeline, - ps.views, - ps.submission_deadline - FROM - rfps p - INNER JOIN ( - SELECT - rfp_id, - MAX(ts) AS max_ts - FROM - rfp_snapshots - GROUP BY - rfp_id - ) latest_snapshots ON p.id = latest_snapshots.rfp_id - INNER JOIN rfp_snapshots ps ON latest_snapshots.rfp_id = ps.rfp_id - AND latest_snapshots.max_ts = ps.ts - WHERE - ($3 IS NULL OR p.author_id = $3) - AND ($4 IS NULL OR ps.ts > $4) - AND ($5 IS NULL OR ps.timeline::text ~ $5) - AND ($6 IS NULL OR ps.category = $6) - AND ($7 IS NULL OR ps.labels::jsonb ?| $7) - ORDER BY {} - LIMIT $1 OFFSET $2 - "#, + SELECT + * + FROM + rfps_with_latest_snapshot ps + WHERE + ($3 IS NULL OR ps.author_id = $3) + AND ($4 IS NULL OR ps.ts > $4) + AND ($5 IS NULL OR ps.timeline::text ~ $5) + AND ($6 IS NULL OR ps.category = $6) + AND ($7 IS NULL OR ps.labels::jsonb ?| $7) + ORDER BY {} + LIMIT $1 OFFSET $2 + "#, order_clause, ); // Build the SQL query for counting total records let count_sql = r#" - SELECT COUNT(*) - FROM ( - SELECT - ps.rfp_id - FROM - rfps p - INNER JOIN ( - SELECT - rfp_id, - MAX(ts) AS max_ts - FROM - rfp_snapshots - GROUP BY - rfp_id - ) latest_snapshots ON p.id = latest_snapshots.rfp_id - INNER JOIN rfp_snapshots ps ON latest_snapshots.rfp_id = ps.rfp_id - AND latest_snapshots.max_ts = ps.ts - WHERE - ($1 IS NULL OR p.author_id = $1) - AND ($2 IS NULL OR ps.ts > $2) - AND ($3 IS NULL OR ps.timeline::text ~ $3) - AND ($4 IS NULL OR ps.category = $4) - AND ($5 IS NULL OR ps.labels::jsonb ?| $5) - ) AS count_subquery - "#; + SELECT COUNT(*) + FROM rfps_with_latest_snapshot ps + WHERE + ($1 IS NULL OR ps.author_id = $1) + AND ($2 IS NULL OR ps.ts > $2) + AND ($3 IS NULL OR ps.timeline::text ~ $3) + AND ($4 IS NULL OR ps.category = $4) + AND ($5 IS NULL OR ps.labels::jsonb ?| $5) + "#; // Extract filter parameters let author_id = filters.as_ref().and_then(|f| f.author_id.as_ref()); @@ -775,25 +650,13 @@ impl DB { id: i32, ) -> anyhow::Result { let sql = r#" - SELECT - ps.*, - p.author_id - FROM - rfps p - INNER JOIN ( - SELECT - rfp_id, - MAX(ts) AS max_ts - FROM - rfp_snapshots - GROUP BY - rfp_id - ) latest_snapshots ON p.id = latest_snapshots.rfp_id - INNER JOIN rfp_snapshots ps ON latest_snapshots.rfp_id = ps.rfp_id - AND latest_snapshots.max_ts = ps.ts - WHERE - p.id = $1 - "#; + SELECT + ps.* + FROM + rfps_with_latest_snapshot ps + WHERE + ps.rfp_id = $1 + "#; let result = sqlx::query_as::<_, RfpWithLatestSnapshotView>(sql) .bind(id) @@ -892,30 +755,18 @@ impl DB { offset: i64, ) -> anyhow::Result<(Vec, i64)> { let sql = r#" - SELECT - ps.*, - p.author_id - FROM - rfps p - INNER JOIN ( - SELECT - rfp_id, - MAX(ts) AS max_ts - FROM - rfp_snapshots - GROUP BY - rfp_id - ) latest_snapshots ON p.id = latest_snapshots.rfp_id - INNER JOIN rfp_snapshots ps ON latest_snapshots.rfp_id = ps.rfp_id - AND latest_snapshots.max_ts = ps.ts - WHERE - to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) - OR lower(ps.name) ILIKE $1 - OR lower(ps.summary) ILIKE $1 - OR lower(ps.description) ILIKE $1 - ORDER BY ps.ts DESC - LIMIT $2 OFFSET $3 - "#; + SELECT + ps.* + FROM + rfps_with_latest_snapshot ps + WHERE + to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) + OR lower(ps.name) ILIKE $1 + OR lower(ps.summary) ILIKE $1 + OR lower(ps.description) ILIKE $1 + ORDER BY ps.ts DESC + LIMIT $2 OFFSET $3 + "#; let rfps = sqlx::query_as::<_, RfpWithLatestSnapshotView>(sql) .bind(input) @@ -925,27 +776,16 @@ impl DB { .await?; let total_count_sql = r#" - SELECT - COUNT(*) - FROM - rfps p - INNER JOIN ( - SELECT - rfp_id, - MAX(ts) AS max_ts - FROM - rfp_snapshots - GROUP BY - rfp_id - ) latest_snapshots ON p.id = latest_snapshots.rfp_id - INNER JOIN rfp_snapshots ps ON latest_snapshots.rfp_id = ps.rfp_id - AND latest_snapshots.max_ts = ps.ts - WHERE - to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) - OR lower(ps.name) ILIKE $1 - OR lower(ps.summary) ILIKE $1 - OR lower(ps.description) ILIKE $1 - "#; + SELECT + COUNT(*) + FROM + rfps_with_latest_snapshot ps + WHERE + to_tsvector('english', coalesce(ps.name, '') || ' ' || coalesce(ps.summary, '') || ' ' || coalesce(ps.description, '')) @@ plainto_tsquery($1) + OR lower(ps.name) ILIKE $1 + OR lower(ps.summary) ILIKE $1 + OR lower(ps.description) ILIKE $1 + "#; let total_count = sqlx::query_scalar::<_, i64>(total_count_sql) .bind(input) diff --git a/src/entrypoints/proposal/mod.rs b/src/entrypoints/proposal/mod.rs index 7eaad78..34e0cb2 100644 --- a/src/entrypoints/proposal/mod.rs +++ b/src/entrypoints/proposal/mod.rs @@ -15,7 +15,6 @@ use rocket::{get, http::Status, State}; use std::convert::TryInto; pub mod proposal_types; -// TODO Use caching of search terms #[utoipa::path(get, path = "/proposals/search?", params( ("input"= &str, Path, description ="The string to search for in proposal name, description, summary, and category fields."), ))] diff --git a/src/entrypoints/rfp/mod.rs b/src/entrypoints/rfp/mod.rs index 6a72e07..9e89bf4 100644 --- a/src/entrypoints/rfp/mod.rs +++ b/src/entrypoints/rfp/mod.rs @@ -12,7 +12,6 @@ use rocket::{delete, get, http::Status, State}; use std::convert::TryInto; pub mod rfp_types; -// TODO Use caching of search terms #[utoipa::path(get, path = "/rfps/search/", params( ("input"= &str, Path, description ="The string to search for in rfp name, description, summary, and category fields."), ))] @@ -115,7 +114,6 @@ async fn get_rfps( #[utoipa::path(get, path = "/rfp/{rfp_id}")] #[get("/")] async fn get_rfp(rfp_id: i32, contract: &State) -> Result, Status> { - // TODO Get cached rfp match RpcService::new(contract).get_rfp(rfp_id).await { Ok(rfp) => Ok(Json(rfp.data)), Err(e) => { diff --git a/src/main.rs b/src/main.rs index 15bb99f..0986016 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,3 @@ -pub mod api_background_service; pub mod db; pub mod entrypoints; pub mod nearblocks_client; diff --git a/src/nearblocks_client/proposal.rs b/src/nearblocks_client/proposal.rs index 3743cbc..3ec862d 100644 --- a/src/nearblocks_client/proposal.rs +++ b/src/nearblocks_client/proposal.rs @@ -1,9 +1,9 @@ -use crate::db::db_types::{BlockHeight, ProposalSnapshotRecord, Timestamp}; +use crate::db::db_types::ProposalSnapshotRecord; use crate::db::DB; use crate::entrypoints::proposal::proposal_types::{ FromContractProposal, PartialEditProposalArgs, SetBlockHeightCallbackArgs, }; -use crate::nearblocks_client::types::{LinkedProposals, Transaction, BLOCK_HEIGHT_OFFSET}; +use crate::nearblocks_client::types::{Transaction, BLOCK_HEIGHT_OFFSET}; use crate::rpc_service::RpcService; use devhub_shared::proposal::VersionedProposal; use near_account_id::AccountId; @@ -148,141 +148,3 @@ fn get_proposal_id(transaction: &Transaction) -> Result { Ok(args.id) } - -// This might not be needed since we are getting the proposal snapshot from the RPC on the block height. -pub async fn update_linked_proposals( - proposal_id: i32, - new_linked_rfp: Option, - block_height: BlockHeight, - block_timestamp: Timestamp, - db: &State, -) -> Result<(), Status> { - // Get the latest proposal snapshot before the given block timestamp - let last_snapshot = db - .get_proposal_with_latest_snapshot_view(proposal_id) - .await - .map_err(|e| { - eprintln!( - "Error fetching latest proposal snapshot for proposal {}: {:?}", - proposal_id, e - ); - Status::InternalServerError - })?; - - // Extract the latest linked RFP ID from the snapshot - let latest_linked_rfp_id = last_snapshot - .as_ref() - .and_then(|snapshot| snapshot.linked_rfp); - - // Compare the new and old linked RFP IDs - if new_linked_rfp != latest_linked_rfp_id { - let tx = db.begin().await.map_err(|e| { - eprintln!("Failed to begin transaction: {:?}", e); - Status::InternalServerError - })?; - - if let Some(new_linked_rfp_id) = new_linked_rfp { - println!( - "Adding linked_rfp {} to proposal {}", - new_linked_rfp_id, proposal_id - ); - - // Add linked proposal to new RFP snapshot - modify_snapshot_linked_proposal( - new_linked_rfp_id, - proposal_id, - block_height, - block_timestamp, - add_to_linked_proposals, - db, - ) - .await?; - println!("Proposal added to new RFP snapshot"); - } - - if let Some(old_linked_rfp_id) = latest_linked_rfp_id { - println!( - "Removing linked_rfp {} from proposal {}", - old_linked_rfp_id, proposal_id - ); - // Remove linked proposal from old RFP snapshot - modify_snapshot_linked_proposal( - old_linked_rfp_id, - proposal_id, - block_height, - block_timestamp, - remove_from_linked_proposals, - db, - ) - .await?; - println!("Proposal removed from old RFP snapshot"); - } - - tx.commit().await.map_err(|e| { - eprintln!("Failed to commit transaction: {:?}", e); - Status::InternalServerError - })?; - } - - Ok(()) -} - -fn add_to_linked_proposals(mut linked_proposals: Vec, proposal_id: i32) -> Vec { - linked_proposals.push(proposal_id); - linked_proposals -} - -fn remove_from_linked_proposals(linked_proposals: Vec, proposal_id: i32) -> Vec { - linked_proposals - .into_iter() - .filter(|&id| id != proposal_id) - .collect() -} - -async fn modify_snapshot_linked_proposal( - rfp_id: i32, - proposal_id: i32, - block_height: BlockHeight, - block_timestamp: Timestamp, - callback: fn(Vec, i32) -> Vec, - db: &State, -) -> Result<(), Status> { - let latest_rfp_snapshot = db.get_latest_rfp_snapshot(rfp_id).await.map_err(|e| { - eprintln!( - "Failed to get latest RFP snapshot for RFP {}: {:?}", - rfp_id, e - ); - Status::InternalServerError - })?; - - if let Some(mut snapshot) = latest_rfp_snapshot { - // Update the snapshot with new values - snapshot.rfp_id = rfp_id; - let linked_proposals: LinkedProposals = snapshot.linked_proposals.into(); - let updated_proposals = callback(linked_proposals.0, proposal_id); - snapshot.linked_proposals = LinkedProposals(updated_proposals).into(); - snapshot.block_height = block_height; - snapshot.ts = block_timestamp; - - let mut tx = db.begin().await.map_err(|e| { - eprintln!("Failed to begin transaction: {:?}", e); - Status::InternalServerError - })?; - - DB::insert_rfp_snapshot(&mut tx, &snapshot) - .await - .map_err(|e| { - eprintln!("Failed to insert RFP snapshot for RFP {}: {:?}", rfp_id, e); - Status::InternalServerError - })?; - - tx.commit().await.map_err(|e| { - eprintln!("Failed to commit transaction: {:?}", e); - Status::InternalServerError - })?; - } else { - eprintln!("No existing RFP snapshot found for RFP {}", rfp_id); - } - - Ok(()) -} diff --git a/src/nearblocks_client/transactions.rs b/src/nearblocks_client/transactions.rs index d79d4c9..8e621a6 100644 --- a/src/nearblocks_client/transactions.rs +++ b/src/nearblocks_client/transactions.rs @@ -165,15 +165,17 @@ mod tests { let api_key = std::env::var("NEARBLOCKS_API_KEY") .expect("NEARBLOCKS_API_KEY environment variable not set"); let client = nearblocks_client::ApiClient::new(api_key); - let contract: AccountId = "events-committee.near".parse().expect("Invalid account ID"); + let contract: AccountId = "infrastructure-committee.near" + .parse() + .expect("Invalid account ID"); let (transactions, current_cursor) = fetch_all_new_transactions(&client, &contract, Some(0)).await; // Check total count assert!( - transactions.len() >= 1800, - "Expected at least 1800 transactions, but got {}", + transactions.len() >= 600, + "Expected at least 600 transactions, but got {}", transactions.len() ); diff --git a/src/tests.rs b/src/tests.rs index 2a313ce..b4092a6 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -1,3 +1,11 @@ +use futures::future::join_all; +use near_api::prelude::Contract; + +use crate::{db::db_types::ProposalWithLatestSnapshotView, types::PaginatedResponse, Env}; +use crate::{separate_number_and_text, timestamp_to_date_string}; +use near_sdk::AccountId; +use serde_json::{json, Value}; + /** * Test Nearblocks mocked transactions */ @@ -11,6 +19,95 @@ * Get RFP Snapshots */ +#[rocket::async_test] +async fn test_proposal_ids_are_continuous_and_name_and_status_matches() { + use rocket::local::asynchronous::Client; + + let client = Client::tracked(super::rocket()) + .await + .expect("valid `Rocket`"); + let offset = 100; + let limit = 50; + let query = format!("/proposals?order=id_asc&limit={}&offset={}", limit, offset); + // First page + let response = client.get(query).dispatch(); + let result = response + .await + .into_json::>() + .await + .unwrap(); + + let env = std::env::var("ENV").unwrap_or_else(|_| "LOCAL".to_string()); + let result = if env == "GH_ACTION" { + let file = std::fs::File::open("test/result.json").expect("Unable to open file"); + serde_json::from_reader(file).expect("Unable to parse JSON") + } else { + result + }; + + assert_eq!(result.records.len(), 50); + + eprintln!( + "Results {:?}", + result + .records + .clone() + .into_iter() + .map(|r| r.proposal_id) + .collect::>() + ); + + let env: Env = envy::from_env::().expect("Failed to load environment variables"); + let contract_account_id: AccountId = env.contract.parse().unwrap(); + let contract = Contract(contract_account_id); + + // Create a Vec of futures for all blockchain calls + let futures = result.records.iter().enumerate().map(|(ndx, record)| { + let proposal_id = ndx as i32 + offset; + let contract = contract.clone(); + let record = record.clone(); + + async move { + let call = contract + .call_function("get_proposal", json!({"proposal_id": proposal_id})) + .unwrap(); + let proposal: Value = call.read_only().fetch_from_mainnet().await.unwrap().data; + + // Return tuple of data needed for assertions + (proposal_id, proposal, record) + } + }); + + // Execute all futures concurrently + let results = join_all(futures).await; + + // Perform assertions on results + for (proposal_id, proposal, record) in results { + assert_eq!(record.proposal_id, proposal_id); + + eprintln!( + "proposal {:?}, {:?}, {:?}, {:?}", + proposal_id, + record.block_height.unwrap(), + proposal["snapshot"]["name"], + proposal["snapshot"]["timeline"]["status"] + ); + + assert_eq!( + proposal["snapshot"]["name"].as_str().unwrap(), + record.name.unwrap() + ); + + let timeline: Value = + serde_json::from_str(record.timeline.unwrap().as_str().unwrap()).unwrap(); + + assert_eq!( + proposal["snapshot"]["timeline"]["status"], + timeline["status"] + ); + } +} + #[test] fn test_index() { use rocket::local::blocking::Client; @@ -22,3 +119,36 @@ fn test_index() { let response = client.get("/").dispatch(); assert_eq!(response.into_string().unwrap(), "Welcome from fly.io!!!!!"); } + +#[test] +fn test_timestamp_to_date_string() { + // Test regular date + assert_eq!(timestamp_to_date_string(1704067200000000000), "2024-01-01"); + + // Test edge cases + assert_eq!(timestamp_to_date_string(0), "1970-01-01"); + + // Test negative timestamp + assert_eq!(timestamp_to_date_string(-86400000000000), "1969-12-31"); +} + +#[test] +fn test_separate_number_and_text() { + // Test normal case + assert_eq!( + separate_number_and_text("123 test"), + (Some(123), "test".to_string()) + ); + + // Test no number + assert_eq!(separate_number_and_text("test"), (None, "test".to_string())); + + // Test only number + assert_eq!(separate_number_and_text("123"), (Some(123), "".to_string())); + + // Test number at end + assert_eq!( + separate_number_and_text("test 123"), + (Some(123), "test".to_string()) + ); +} diff --git a/test/result.json b/test/result.json new file mode 100644 index 0000000..cf6b7e0 --- /dev/null +++ b/test/result.json @@ -0,0 +1 @@ +{"records":[{"proposal_id":100,"author_id":"victorkanu1.near","block_height":123709289,"ts":1721336300534247943,"editor_id":"tfdevhub.near","social_db_post_block_height":120276643,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Relations Contributor report [20-05-2024 to 31-05-2024]","category":"Decentralized DevRel","summary":"Developing DevHub Developer News| NEP's","description":"### Summary \n\n👨‍💻 Mon 20th May 2024 - Fri 24th May 2024\n\n1. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **30H**\n\n2.Reviewing other NEPs: **5H**\n\n3. Planning Protocol WG Call for later this week: **5H**\n\n\n👨‍💻 Mon 27th May 2024 - Fri 31st May 2024\n\n1. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **33H**\n\n2. Preparing DevRel Report for May: **7H**\n\n3. Speaking at ALX founders saturday: **1H**\n\n\nBudget Breakdown\nTotal hours: 80\nRate: $25/hour\nTotal amount: $2000\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2000,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"victorkanu1.near","supervisor":"bpolania.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/66esYQijXy8YJKUkCdYcLs3NMBofNTFB8zpgXtxLqgyh\"]}","views":null},{"proposal_id":101,"author_id":"thomasguntenaar.near","block_height":122483844,"ts":1719947057996985533,"editor_id":"tfdevhub.near","social_db_post_block_height":120355803,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by THOMAS for 05/13/2024 – 06/07/2024","category":"DevDAO Platform","summary":"Contributions to devhub and near ecosystem. Improvements on the new blog addon, blog settings, testing suite and events-committee portal / infrastructure committee portal.","description":"## Summary of Activities\n\n**Week 1: May 13 - May 17**\n\nMay 13 - 8 hours\n - Started [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n\nMay 14 - 8 hours\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n- Reviewed [799](https://github.com/NEAR-DevHub/neardevhub-bos/pull/779)\n\nMay 15 - 6 hours\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n- Standup\n- Call with Peter splitting the tests\n\nMay 17 - 3 hours\n- Feedback PR [761](https://github.com/NEAR-DevHub/neardevhub-bos/pull/761)\n---\n\n**Total hours: 25 hours**\n\n**Week 2 - May 20 - May 24**\n\nMay 20 - 4 hours\n- Feedback PR [761](https://github.com/NEAR-DevHub/neardevhub-bos/pull/761)\n\nMay 21 - 1 hour\n- Review indexer Vadim [PR](https://github.com/NEAR-DevHub/neardevhub-proposals-indexer/pull/2/)\n- Review events committee Megha [PR]( https://github.com/Tguntenaar/neardevhub-widgets/pull/4)\n\nMay 22 - 6 hours\n- DevHub blogs testing suite\n- Blog migration [644](https://github.com/NEAR-DevHub/neardevhub-bos/issues/664)\n- Standup 30 min\n- Call with Ori 45 min\n- Search test make it work for mac\n\nMay 23 - 4 hours\n- Feedback may 27\n\nMay 24 - 4 hours\n- Published events-committee\n- Reviewed events-committee [PR](Review https://github.com/Tguntenaar/neardevhub-widgets/pull/7) \n- Review infra [RFP](https://github.com/near/Infrastructure-Working-Group/discussions/22)\n- Github action + event committee [768](https://github.com/NEAR-DevHub/neardevhub-bos/pull/768)\n\n---\n\n**Total hours: 19 hours**\n\n**Week 3: May 27 - May 31**\n \nMay 27 - 8 uur\n- Blog feedback\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n\nMay 28 - 8 uur\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n- Call Peter and Megha on multiple instance [777](https://github.com/NEAR-DevHub/neardevhub-bos/issues/777)\n\nMay 29 - 8 hours\n- Issue [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n- Standup\n- Call Ori \n- Call with Megha \n\nMay 30 - 1 hours\n- Fixed events-committee Github action \n- Fixed events-committee tests \n- Merged [768](https://github.com/NEAR-DevHub/neardevhub-bos/pull/768)\n\n---\n**Total hours:** 25\n\n**Week 4: June 3 - June 7**\n\nJune 3 - 5 hours\n- Continued on [599](https://github.com/NEAR-DevHub/neardevhub-bos/issues/599)\n- Create issue [804](https://github.com/NEAR-DevHub/neardevhub-bos/issues/804)\n- Created PR [805](https://github.com/NEAR-DevHub/neardevhub-bos/pull/805)\n- Created PR [808](https://github.com/NEAR-DevHub/neardevhub-bos/pull/808)\n- Created issue [812](https://github.com/NEAR-DevHub/neardevhub-bos/issues/812)\n\nJune 4 - 1 hrs\n- Events-committee indexer error proposal 5\n\n\nJune 5 - 3 hr\n- Merged PR [761](https://github.com/NEAR-DevHub/neardevhub-bos/pull/761/)\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/pull/599/)\n- Standup \n- Call Peter about migration\n- Worked on events-committee indexer\n\n\nJune 7 - 1 hour\n- Researching what is going on with the flaky tests\n\n---\n**Total hours:** 10\n\n## Cost\n\n- Total hours: 25+19+25+10 = 79\n- Rate: $100/hour ~ €90/h is an average rate for a medior freelance front end web3 developer in the Netherlands ranging from 35 (absolute beginner) to 150 (senior) [for example](https://zzpservicedesk.nl/uurtarief-freelance-developer/)\n- Total amount: $7900 USD\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":7900,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"neardevdao.near","receiver_account":"thomasguntenaar.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/5ehZ1vgJnH16Mo6vV5KsPRzAUEHqbjXAEpkWaCY2b4Vx\"]}","views":null},{"proposal_id":102,"author_id":"bpolania.near","block_height":120472801,"ts":1717567789409991690,"editor_id":"bpolania.near","social_db_post_block_height":120472664,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"[Duplicated] Devrel Activities by Boris Polania (May 20 - May 31)","category":"DevDAO Operations","summary":"This is the summary of my activities for the specified period","description":"DUPLICATED - IGNORE","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8000,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"bpolania.near","supervisor":"theori.near","timeline":"{\"status\":\"DRAFT\"}","views":null},{"proposal_id":103,"author_id":"bpolania.near","block_height":121977919,"ts":1719334922470497503,"editor_id":"tfdevhub.near","social_db_post_block_height":120472672,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Devrel Activities by Boris Polania (May 20 - May 31)","category":"DevDAO Operations","summary":"This is the summary of my activities for the specified period","description":"## Planned Activities\nThe following activities will be completed from May 20 - May 31. \n\n### Devhub Activities (18 hours)\n* Proposal Reviews and Approvals (2 hours)\n* Devhub Internal Meetings (12 hours)\n* Devrels 2024 Proposals & roadmap (4 hours)\n### DevRel Activities (36 hours) \n* Internal Meetings: weekly standup, 1-on-1 meetings with contributors. (2 hours)\n* Content: Articles, Scaffolds, etc. (28 hours)\n* General Support in telegram, discord, etc. (6 hours)\n### Events (19 hours)\n* ETHBerlin - Includes Travel (18)\n* Events Committee - Hackathon Manual (1 hour)\n### NEAR Campus (3 hour)\n* Phasing-out meetings and final proposal closing (3 hours)\n### Pending Expenses\n* Twiiter, Google, etc. $400\n### Timeline\n* Start Date: 05/20/2024\n* End Date: 05/31/2024\n### Requested Funding\n* Total hours: 76 hours\n* Rate: $100/hour\n* Pensing Expenses $400\n* Total amount: $8,000 USD\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8000,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"bpolania.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/J7k3Q91KoWEqfapdWoAJpkyxERdkZ8XYtABkVBeTfiJy\"]}","views":null},{"proposal_id":104,"author_id":"spring-neardao.near","block_height":121597052,"ts":1718894380841559044,"editor_id":"tfdevhub.near","social_db_post_block_height":120495460,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Spring Chiu for 05/06/2024 - 06/05/2024","category":"Tooling & Infrastructure","summary":"Solution: DevHub Developer Contributor report by Spring Chiu for 05/06/2024 - 06/05/2024contribute code to repo of near-sdk-js, near-sdk-js-template-project, near/docs and near-examples","description":"|Date |Amount |Task |Issue |Description |\n| ---- | ---- | ---- | ---- | ---- | \n| 20240517 | 2 | learning github actions | https://github.com/near/near-sdk-js/issues/391 | to build more complex ci jobs I spend some time in learning [Github Actions](https://docs.github.com/en/actions/quickstart) |\n| 20240518 | 8 | add testnet dev deploy for template project | https://github.com/near/near-sdk-js/issues/390 | I created [some commits](https://github.com/fospring/near-sdk-js-template-project/compare/51dcd26..0afc96ec299500d00699a66fd005f05fb445ceca) to deploy the contract to testnet (create a dev account and deploy), add a ci to ensure build, test and deploy to testnet |\n| 20240520 | 3 | debug ci | | I create [commits](https://github.com/fospring/near-sdk-js-template-project/compare/32157d2..21d433b) and configurate github secrets, test to run [ci jobs](https://github.com/fospring/near-sdk-js-template-project/actions/runs/9161386805/job/25186112098) to ensure ci works, |\n| 20240526 | 7 | near-cli dev deploy for template project, update docs | https://github.com/near/near-sdk-js/issues/390 | I create [commits](https://github.com/fospring/near-sdk-js-template-project/compare/21d433b..3039cda) to deploy contract,call contract by near-cli and add [ci jobs](https://github.com/fospring/near-sdk-js-template-project/actions/runs/9241875565/job/25423947563?pr=1) to ensure it works |\n| 20240527 | 4 | debug and fix read github action secret issue in github action| https://github.com/near/near-sdk-js/issues/391 | I meet read secret issue when I creat MR from fork repo to origin repo, I ask [this question](https://github.com/orgs/community/discussions/125969) in github community and Near Tools Comunity Group, with the help of Near Tools Comunity Group's [answer](https://t.me/NEAR_Tools_Community_Group/2240) I fixed this problem|\n| 20240529 | 5 | update examples in [near-examples](https://github.com/orgs/near-examples/repositories?type=all) | https://github.com/near/near-sdk-js/issues/391 | I updated examples and docs, created this [docs PR 1994](https://github.com/near/docs/pull/1994), created PR to update [counters](https://github.com/near-examples/counters/pull/9/files),[donation-examples](https://github.com/near-examples/donation-examples/pull/11), [guest-book-example](https://github.com/near-examples/guest-book-examples/pull/10),[hello-near-examples](https://github.com/near-examples/hello-near-examples/pull/14),[coin-flip-examples](https://github.com/near-examples/coin-flip-examples/pull/23)|\n| 20240602 | 2 | update near-sdk-js version in doc according to [the comments](https://github.com/near/near-sdk-js/pull/398#discussion_r1621750702)| https://github.com/near/near-sdk-js/issues/391 | update near-sdk version in doc by [this commit](https://github.com/near/near-sdk-js/pull/398/commits/859bc9bcbdf077e9d58527467cdd5ad7186ae5bf) |\n| 20240602 | 3 | add js contract upgrating example, which has same logic with [rust contract](https://github.com/near-examples/update-migrate-rust/tree/main/basic-updates) | | https://github.com/near/near-sdk-js/pull/400 |\n| 20240603 | 2 | add contract upgrating example test script, update docs | https://github.com/near/near-sdk-js/issues/390 | added testcodes in [this commit](https://github.com/near/near-sdk-js/pull/400/commits/643f4708644b70d3a04dc085566f91d2f480e699) in near-sdk-js and [this commit](https://github.com/near/docs/pull/1994/commits/94a43c354e5e1cf04ce820935f42a6406224a65f) for near/docs |\n\nCost\nTotal hours: 36\nRate: $65/hour: Based on the application of [Idea: Engineering -- DevDAO dev](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=729)\nTotal amount: $2340 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2340,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"yongchun.near","supervisor":"bo.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":true,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/CRRqco2HkTRb55EvAtC1NJCNJp2RuXmHGYHZWGsjJPGM\"]}","views":null},{"proposal_id":105,"author_id":"maguila.near","block_height":121977841,"ts":1719334822729129470,"editor_id":"tfdevhub.near","social_db_post_block_height":120499331,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Fellowship Contributor report by Matias Benary for 2024-04-29 2024-06-02","category":"Decentralized DevRel","summary":"Fellowship Contributor report by Matias Benary for 2024-04-29 2024-06-02","description":"I am submitting this contributor report as a [fellowship contributor](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1566) led by Guillermo (@gagdiez.near).\n\nMy previously approved reports: [acceptance](https://near.social/devhub.near/widget/app?page=post&id=2234),[first](https://near.org/devhub.near/widget/app?page=post&id=2365),[second](https://near.org/devhub.near/widget/app?page=post&id=2550),[third](https://near.org/devhub.near/widget/app?page=post&id=2755),[forth](https://near.org/devhub.near/widget/app?page=post&id=2789),[fifth](https://near.org/devhub.near/widget/app?page=post&id=2949),[sixth](https://near.org/devhub.near/widget/app?page=post&id=3005),[seventh](https://near.org/devhub.near/widget/app?page=post&id=3104),[eighth](https://near.social/devhub.near/widget/app?page=post&id=3275),[ninth](https://near.org/devhub.near/widget/app?page=proposal&id=46),[tenth](https://dev.near.org/devhub.near/widget/app?page=proposal&id=70)\n\nRequested amount: 2000 (80 * 25$)\nRequested sponsor: @neardevdao.near\n\nSummary of Work\n\nMeetings/reports/etc: 12h\n\ncheck nft tutorial: 12h\nhttps://docs.near.org/tutorials/nfts/introduction\n\nbasic auction: 12h\nowner claims money: 12h\nowner claims winner gets nft: 20h\nft owner claims winner gets nft: 12h\nhttps://github.com/matiasbenary/near-ft-auction/tree/addFTtoTs\n\n\nTotal hours: 80\nHourly rate: $25/hour","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2000,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"maguila.near","supervisor":"gagdiez.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":false,\"test_transaction_sent\":false,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/4eTVRQkuChLNYSbYmxqBmn1yxe3b2mMNJ6xdbWciFMQD\"]}","views":null},{"proposal_id":106,"author_id":"djeaunty_fourmule.near","block_height":121977739,"ts":1719334689343845850,"editor_id":"tfdevhub.near","social_db_post_block_height":120851441,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Oleg Kuzmin for 2024-06-05 – 2024-07-06","category":"Tooling & Infrastructure","summary":"work on implementing Nep-330 Build Details Extension into `near-sdk-rs` and `cargo-near` ","description":"_I am submitting this contributor report as a [fellowship contributor led by @frol.near](/#/devgovgigs.near/widget/gigs-board.pages.Post?id=541)._\n\n\n- [ ] week Mon May 6 2024 - Fri May 10 2024\n - [x] [near-sdk-rs(ci): fix new lints, introduced in 1.78](https://github.com/near/near-sdk-rs/pull/1181)\n - [x] [cargo-near(feat, source-scan): git checks, git metadata](https://github.com/near/cargo-near/pull/159)\n - [ ] [cargo-near(feat, source-scan): exports, needed for factory `build.rs`](https://github.com/near/cargo-near/pull/164)\n - [x] [cargo-near(git, source-scan): resolve conflicts with main](https://github.com/near/cargo-near/pull/162)\n- [ ] week Mon May 13 2024 - Fri May 17 2024\n - [x] [near-examples/factory-rust: bundled factory contract repository for reproducible builds](https://github.com/dj8yfo/factory-rust/tree/main)\n - [ ] [cargo-near(feat, source-scan): exports, needed for factory `build.rs`](https://github.com/near/cargo-near/pull/164)\n- [ ] week Mon May 20 2024 - Fri May 24 2024\n - [x] [app-near-rs(chore): change icons to those, used in `app-near` (C) app](https://github.com/dj8yfo/app-near-rs/pull/57)\n - [ ] [cargo-near(feat, source-scan): exports, needed for factory `build.rs`](https://github.com/near/cargo-near/pull/164)\n - [ ] [cargo-near(feat, source-scan): docker checks](https://github.com/near/cargo-near/pull/166)\n- [ ] week Mon May 27 2024 - Fri May 31 2024\n - [ ] [cargo-near(feat, source-scan): docker checks](https://github.com/near/cargo-near/pull/166)\n - [x] [borsh-rs(ci): fix for 1.78 stable, 1.80 nightly](https://github.com/near/borsh-rs/pull/295)\n- [ ] week Mon Jun 3 2024 - Fri Jun 7 2024\n - [x] [app-near-rs(chore): sdk 1.9.2 bump](https://github.com/dj8yfo/app-near-rs/pull/58)\n - [ ] [cargo-near(feat, source-scan): docker checks](https://github.com/near/cargo-near/pull/166)\n - [ ] [near-sdk-rs(feat): nep330 build info field of contract metadata](https://github.com/near/near-sdk-rs/pull/1178)\n\n##### Cost\n- Total hours: 82\n- Rate: $50/hour\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":4100,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"nomadx.near","supervisor":"frol.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/4fUfBo7spf3xk2uPHeoNLhMdw5d8VZdNbrjoo5CRA2Ue\"]}","views":null},{"proposal_id":107,"author_id":"josecouto.near","block_height":120935848,"ts":1718116863033894087,"editor_id":"josecouto.near","social_db_post_block_height":120864624,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Funding Proposal for ETHCC24 swag production","category":"Events & Hackathons","summary":"This proposal includes the giveaway swag, the NEARDevHub hacker house swag, special swag for hackathon winners and outsourced illustration","description":"This swag will be distributed at several hackathons, the hacker house and side events during ETHCC24 in Brussels.\n\nGivaway swag: USD 4,486.51\n290 T-shirts, 500 medium stickets, 500 small stickers, 100 sunglasses, 500 button pins and 1000 A4 flyers.\n\nOutsourced ilustration: USD 1,196.26\nFull panel cover style and eight-panel comic.\n\nHackathon winners special swag: USD 325.28\n25 trippel beer engraved glass plus customize coaster.\n\nHacker house swag: USD 707.06\n56 ammenity kits with bag, manicure kit, toothbrush and comb.\n\nExtra checked luggage: USD 214\n\nTotal: USD 6,929.11\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2930,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"josecouto.near","supervisor":"yarotska.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":108,"author_id":"pivortex.near","block_height":120876922,"ts":1718049198751677136,"editor_id":"pivortex.near","social_db_post_block_height":120871320,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Owen DevRel Contributor Report 27 May - 9 June","category":"Decentralized DevRel","summary":"Bi-weekly paid developer relations contributor report. These activities aim to improve the developer experience in the NEAR ecosystem. Activities for the last two weeks can be seen below.","description":"## Timeline\nStart Date: May 27, 2024\n\nEnd Date: June 9, 2024\n​\n## Requested Funding\nHours: 24:50\n\nRate: $50/hour \n\nTotal Amount: $1242\n\n# Summary of Activities\n\n### Developer and community support \n- 4:40 Supporting developers and interacting with communities through Discord and Telegram\n\n## Contributions\n- 3:30 Working on chain signatures account swap repo, now redundant after discovering nft key chains\n- 2:00 Working on [chain signatures account swap example](https://github.com/orgs/near/projects/117?pane=issue&itemId=65856681) using NFT key chains \n- 1:00 Working on [updating tutorials](https://github.com/orgs/near/projects/117?pane=issue&itemId=65578977) \n- 0:20 Familiarising myself with DevX GitHub board, feel free to follow along with where the DevRels are contributing https://github.com/orgs/near/projects/117\n- 0:10 Resolving [MPC issue](https://github.com/near/docs/pull/2035) \n\n### Events\n- 2:00 Processing ETH Oxford bounty payout + helping resolve KYC issues\n\n### Technical Communities\n- 5:30 Chain Abstraction Community Call prep and execution #2\n\n### General / Other \n- 2:50 DevRel team calls\n- 0:25 One-on-one with Guillermo\n- 0:30 Assessing and triaging proposals\n- 0:15 Opening developer tickets\n- 0:10 Electric capital scraping call with data team\n- 0:50 Working with Reclaim protocol on announcements and DevHub livestream\n- 0:40 Misc activities, includes assisting DevRel team and odd jobs such as proof reading","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":1242,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"icespice.near","supervisor":"gagdiez.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":109,"author_id":"pivortex.near","block_height":122121805,"ts":1719512176333975811,"editor_id":"tfdevhub.near","social_db_post_block_height":120877960,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Owen DevRel Contributor Report 27 May - 2 June","category":"Decentralized DevRel","summary":"These activities aim to improve the developer experience in the NEAR ecosystem.","description":"## Timeline\nStart Date: May 27, 2024\n\nEnd Date: June 2, 2024\n​\n## Requested Funding\nHours: 11:45\n\nRate: $50/hour \n\nTotal Amount: $588\n\n# Summary of Activities\n\n### Developer and community support \n- 2:40 Supporting developers through Discord and Telegram\n\n## Contributions\n- 3:30 Working on chain signatures account swap repo, now redundant after discovering nft key chains\n\n### Events\n- 0:30 Processing ETH Oxford bounty payout + helping resolve KYC issues\n\n### Technical Communities\n- 2:00 Chain Abstraction Community Call prep and execution #2\n\n### General / Other \n- 1:30 DevRel team calls\n- 0:20 Assessing and triaging proposals\n- 0:15 Opening developer tickets\n- 0:30 Working with Reclaim protocol on announcements and DevHub livestream\n- 0:30 Misc activities, includes assisting DevRel team and odd jobs such as proof reading","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":588,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"icespice.near","supervisor":"bpolania.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/yFgEi8D5zKBZpTpqZSsMvkxGuNvC1XN2hRRQUbAvbYk\"]}","views":null},{"proposal_id":110,"author_id":"pivortex.near","block_height":122121700,"ts":1719512044905252986,"editor_id":"tfdevhub.near","social_db_post_block_height":120878164,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Owen DevRel Contributor Report 3 June - 9 June","category":"Decentralized DevRel","summary":"These activities aim to improve the developer experience in the NEAR ecosystem.","description":"## Timeline\nStart Date: June 3, 2024\n\nEnd Date: June 9, 2024\n​\n## Requested Funding\nHours: 13:05\n\nRate: $50/hour \n\nTotal Amount: $654\n\n# Summary of Activities\n\n### Developer and community support \n- 2:00 Supporting developers through Discord and Telegram\n\n## Contributions\n- 2:00 Working on [chain signatures account swap example](https://github.com/orgs/near/projects/117?pane=issue&itemId=65856681) using NFT key chains \n- 1:00 Working on [updating tutorials](https://github.com/orgs/near/projects/117?pane=issue&itemId=65578977) \n- 0:20 Familiarising myself with DevX GitHub board, feel free to follow along with where the DevRels are contributing https://github.com/orgs/near/projects/117\n- 0:10 Resolving [MPC issue](https://github.com/near/docs/pull/2035) \n\n### Events\n- 1:30 Processing ETH Oxford bounty payout + helping resolve KYC issues\n\n### Technical Communities\n- 3:30 Chain Abstraction Community Call prep and execution #2\n\n### General / Other \n- 1:20 DevRel team calls\n- 0:25 One-on-one with Guillermo\n- 0:10 Electric capital scraping call with data team\n- 0:10 Assessing and triaging proposals\n- 0:20 Working with Reclaim protocol on announcements and DevHub livestream\n- 0:10 Misc activities, includes assisting DevRel team and odd jobs such as proof reading","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":654,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"icespice.near","supervisor":"gagdiez.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/FWWXeCvcRRtz2d1uFLbFMVYeGG2ApWRGwRutbZ69zkf2\"]}","views":null},{"proposal_id":111,"author_id":"orangejoe.near","block_height":121596958,"ts":1718894260871905031,"editor_id":"tfdevhub.near","social_db_post_block_height":120880120,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Activities Report 5/28-6/9","category":"DevDAO Operations","summary":"DevHub Moderator Contributions Bi-Weekly Report","description":"**Devhub Activities (22 hours)**\n\n- Contributors Proposal Reviews and Approvals \n- Newsletter\n- Developer content planning\n- Workgroup support\n- Goals and outcomes document\n- Ecosystem updates\n- New developer portal planning and adjustments\n\n**DevRel (10 hours):**\n\n- Internal Meetings: weekly stand-ups, 1-on-1 with team members, and meetings with core team members.\n- Ecosystem developer conversations and feedback collection for current and future initiatives\n- Developer and community support meetings for work and proposals\n- Developer follow-up\n- Developer outreach\n- Meetings with teams like HZN and marketing\n\n**Marketing & Retention Planning & In-Progress (48 hours):**\n\n- Live planning doc\n- Social content planning\n- Continued design and reuse of multiple short challenges and materials\n- Content coordination\n- Coordination meetings with NF, Pagoda\n* Video planning and scripting\n* Video recordings\n* Livestream planning, setup, and recording\n* Clips editing\n* Partnership planning and meetings\n* Coordination with NF, Pagoda, and 3rd parties for upcoming content items\n* Videos\n* OWA Cert support\n* Review for the graph promotions\n\n**Reimbursements:**\nTwitter - 20\nMetricool Analytics - 54\n\n**Timeline**\n\n- Start Date: 5/28/2024\n- End Date: 6/9/2024\n\n**Requested Funding**\n\n- Total hours: 80\n- Rate: $100/hour\n- Total amount: $8074 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8074,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"joespano.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/GhigkCvkQmAAUh2H3BB7qsitg6CF5RLLEhTD3Np6yjg\"]}","views":null},{"proposal_id":112,"author_id":"thomasguntenaar.near","block_height":124535194,"ts":1722261338037895861,"editor_id":"tfdevhub.near","social_db_post_block_height":120932448,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by THOMAS for 06/10/2024 – 06/21/2024","category":"DevDAO Platform","summary":"Contributions to the Devhub Platform by reviewing, creating and fixing issues. Added relevant mentions to the markdown editor, improved regression tests","description":"## Summary of Activities\n\n**Week 1: June 10 - June 15**\n\nJune 10 - 3 hours\n- Fixed tests - Created PR [839](https://github.com/NEAR-DevHub/neardevhub-bos/pull/839)\n- Reviewed PR [797](https://github.com/NEAR-DevHub/neardevhub-bos/pull/797)\n- Reviewed PR [829](https://github.com/NEAR-DevHub/neardevhub-bos/pull/829)\n- Reviewed PR [830](https://github.com/NEAR-DevHub/neardevhub-bos/pull/830)\n- Reviewed PR [831](https://github.com/NEAR-DevHub/neardevhub-bos/pull/831)\n- Reviewed PR [832](https://github.com/NEAR-DevHub/neardevhub-bos/pull/832)\n- Reviewed PR [833](https://github.com/NEAR-DevHub/neardevhub-bos/pull/833)\n- Reviewed PR [836](https://github.com/NEAR-DevHub/neardevhub-bos/pull/833)\n- Made necessary changes too merge [830](https://github.com/NEAR-DevHub/neardevhub-bos/pull/830)\n\nJune 11 - 2 hour\n- Call with Peter and Megha on workspace\n- Call with Peter\n- Merged [830](https://github.com/NEAR-DevHub/neardevhub-bos/pull/830)\n- Merged [780](https://github.com/NEAR-DevHub/neardevhub-bos/pull/780)\n\n---\n**Total hours:** 5 hours\n\n**Week 2: June 17 - June 21**\n\nJune 17 - 8 hours\n- Continued [599](https://github.com/NEAR-DevHub/neardevhub-bos/pull/599)\n\nJune 18 - 8 hours\n- Finished [599](https://github.com/NEAR-DevHub/neardevhub-bos/pull/599)\n- Merged [780](https://github.com/NEAR-DevHub/neardevhub-bos/pull/780)\n- Started [746](https://github.com/NEAR-DevHub/neardevhub-bos/issues/746)\n- Started [842](https://github.com/NEAR-DevHub/neardevhub-bos/issues/842)\n- Created [843](https://github.com/NEAR-DevHub/neardevhub-bos/pull/843)\n\nJune 19 - 4 hours\n- Continued [746](https://github.com/NEAR-DevHub/neardevhub-bos/issues/746)\n- Created PR [845](https://github.com/NEAR-DevHub/neardevhub-bos/pull/845) \n\n\nJune 20 - 3 hours\n- Standup\n- Worked on feedback from Peter [599](https://github.com/NEAR-DevHub/neardevhub-bos/pull/599) \n\nJune 21 - 4 hours\n- Remove flaky waitfortimeouts [599](https://github.com/NEAR-DevHub/neardevhub-bos/pull/599)\n- Started issue [846](https://github.com/NEAR-DevHub/neardevhub-bos/issues/846)\n- Created issue [849](https://github.com/NEAR-DevHub/neardevhub-bos/issues/849)\n- Created PR [850](https://github.com/NEAR-DevHub/neardevhub-bos/pull/850)\n- Finished issue [746](https://github.com/NEAR-DevHub/neardevhub-bos/issues/746)\n- Created issue [852](https://github.com/NEAR-DevHub/neardevhub-bos/issues/852)\n\n---\n**Total hours:** 27\n\n## Cost\n\n- Total hours: 32\n- Rate: $100/hour ~ €90/h is an average rate for a medior freelance front end web3 developer in the Netherlands ranging from 35 (absolute beginner) to 150 (senior) [for example](https://zzpservicedesk.nl/uurtarief-freelance-developer/)\n- Total amount: $3200 USD","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":3200,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"neardevdao.near","receiver_account":"thomasguntenaar.near","supervisor":"theori.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/FPFMThB4MbCpr7mHP9h46JeTsY6GiNXwW194wK4tUnp5\"]}","views":null},{"proposal_id":113,"author_id":"vlmoon.near","block_height":121143222,"ts":1718365160488837577,"editor_id":"vlmoon.near","social_db_post_block_height":120938032,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"BOS Notification App maintainance request","category":"Tooling & Infrastructure","summary":"The project was successfully launched in autumn 2023. You can downlaod this app by that links :\n 1. https://apps.apple.com/bg/app/bos-notifications/id6473671841 , \n \n2. https://play.google.com/store/apps/details?id=com.vlmoon.nearsocialnotifications ,\n\nAfter this, the BOS Notification app was successfully funded to develop the second version. We now have over 800 users, according to analytics, with hundreds of people using our app daily. We need support for further maintenance.","description":"1.Update IOS APP in according to the new Apple rules - 200$\n2.AWS Support for next 6 month - 1100$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":1300,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"vlmoon.near","supervisor":"frol.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":114,"author_id":"aumerez.near","block_height":133696185,"ts":1732737783968605550,"editor_id":"tfdevhub.near","social_db_post_block_height":121028821,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Developer Relations - Events February-March","category":"Events & Hackathons","summary":"5 Events Hackathons: Near DevRel ETH Denver, ETH Oxford, NFT Soho, ETH London, ETH Samba","description":"# Requested Funding total 5 Events\n\nTotal Hours: 198\n\nRate: $50/hour\n\nTotal Amount: $9,900\n\n# Events\n\n# ETH Denver\n\n# Timeline\nStart Date: February 23, 2024\n\nEnd Date: March 3, 2024\n​\n\n# Requested Funding\nHours: 79\n\nRate: $50/hour\n\nTotal Amount: $3,950\n\n# Summary of Activities\n\nSupporting developers with questions they have through Discord and Telegram.\nETH Denver prep call.\nETH Denver support (23/3 - 3/4) assisting look for the engaginghackers.\nETH Denver judging\nInteraction with NEAR Campus events and initiatives.\n\n# ETH Oxford - NFT-Soho - ETH London\n\n# Timeline\nStart Date: March 7, 2024\n\nEnd Date: March 17, 2024\n​\n\n# Requested Funding\nHours: 87\n\nRate: $50/hour\n\nTotal Amount: $4,350\n\n# Summary of Activities\n\nSupporting developers with questions they have through Telegram.\nInteraction with NEAR Campus events and initiatives.\nLogstic support in the events.\nETH Oxford prep calls.\nETH Oxford support (6/4 - 10/4) guide hackers to use near and assisting them.\nETH Oxford judging.\nETH NFT-Soho prep calls.\nETH NFT-Soho support (13/4) guide hackers to use near and assisting them.\nETH NFT-Soho judging.\nETH London prep call.\nETH London support (23/3 - 3/4) guide hackers to use near and assisting them.\nETH London judging\n\n# ETH Samba\n\n# Timeline\nStart Date: March 21, 2024\n\nEnd Date: March 24, 2024\n​\n\n# Requested Funding\nHours: 32\n\nRate: $50/hour\n\nTotal Amount: $1600\n\n# Summary of Activities\n\nSupporting developers with questions they have through Telegram.\nInteraction with NEAR Campus events and initiatives.\nLogstic support in the events.\nETH Samba prep calls.\nETH Samba support (6/4 - 10/4) guide hackers to use near and assisting them.\nETH Samba judging.\n\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":9900,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"bpolania.near","receiver_account":"aumerez.near","supervisor":"bpolania.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":false}","views":null},{"proposal_id":115,"author_id":"cryptogarik.near","block_height":121085110,"ts":1718290978356855666,"editor_id":"gagdiez.near","social_db_post_block_height":121030417,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Developer Fellowship Contributor Report for 2024-05-20 – 2024-06-02","category":"Decentralized DevRel","summary":"Solution: I am submitting this contributor report as a fellowship contributor led by Guillermo (@gagdiez.near).","description":"Link to the [fellowship program](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=3011).\n\nSummary of Work\n\n- Meetings/reports/etc: 2h\n- [Near Rust CLI](https://github.com/near/near-cli-rs/pull/345) (fix command suggestion): 12h\n- Near Rust CLI (fix command suggestion - tests): 2h\n\nTotal hours: 16\nHourly rate: $50/hour\nTotal amount: 800$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":800,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"cryptogarik.near","supervisor":"gagdiez.nea","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":116,"author_id":"aumerez.near","block_height":121035131,"ts":1718233428428299996,"editor_id":"aumerez.near","social_db_post_block_height":121035084,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Armando Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba ","category":"Events & Hackathons","summary":"Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba hackathons and events.","description":"# Expenses for 5 Events\n\nI provided DevRel support at ETH Denver (February 23, 2024 - March 3, 2024), ETH Oxford - NFT-SOHO - ETH London (March 7, 2024 - March 17, 2024) and ETH Samba (March 21, 2024 - March 24, 2024).\n\n# Requested\n\nTotal: $2,720.75\n\n# DESCRIPTION\n\n# ETH Denver\n\nFlights: $148.91\nOther travel costs (taxi, train, bus) : $251.90\nFood : $215.85\n\nSub-Total: $616.66\n\n# ETH Oxford - NFT-Soho - ETH London\n\nFlights: $858.00\nHotel (4 nights): $504.32 + $108.52 = $612.84\nOther travel costs (taxi, train, bus) : $124.90\nFood : $327.28\n\nSub-Total: $1,923.02\n\n# ETH Samba\n\nOther travel costs (taxi, train, bus) : $93.75\nFood : $87.32\n\nSub-Total: $181.07","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":272075,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"bpolania.near","receiver_account":"aumerez.near","supervisor":"bpolania.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":117,"author_id":"aumerez.near","block_height":133696312,"ts":1732737931274412777,"editor_id":"tfdevhub.near","social_db_post_block_height":121035359,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Armando Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba","category":"Events & Hackathons","summary":"Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba hackathons and events.","description":"# Expenses 5 Events\n\nI provided DevRel support at ETH Denver (February 23, 2024 - March 3, 2024), ETH Oxford - NFT-SOHO - ETH London (March 7, 2024 - March 17, 2024) and ETH Samba (March 21, 2024 - March 24, 2024).\n\n# Requested\nTotal: $2,720.75\n\n# Details\n# ETH Denver\n\nFlights: $148.91\nOther travel costs (taxi, train, bus) : $251.90\nFood : $215.85\n\nSub-Total: $616.66\n\n# ETH Oxford - NFT-Soho ETH London\n\nFlights: $$858.00\nHotel (4 nights): $504.32 + $108.52 = $612.84\nOther travel costs (taxi, train, bus) : $124.90\nFood : $327.28\n\nTotal: $1,931.60\n\n# ETH Samba\n\nOther travel costs (taxi, train, bus) : $93.75\nFood : $87.32\n\nTotal: $181.07","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2721,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"bpolania.near","receiver_account":"aumerez.near","supervisor":"bpolania.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":false}","views":null},{"proposal_id":118,"author_id":"cryptogarik.near","block_height":121976862,"ts":1719333546033271461,"editor_id":"tfdevhub.near","social_db_post_block_height":121072426,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Developer Fellowship Contributor Report for 2024-05-20 – 2024-06-02","category":"Decentralized DevRel","summary":"Solution: I am submitting this contributor report as a fellowship contributor led by Guillermo (@gagdiez.near).","description":"Link to the [fellowship program](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=3011).\n\nSummary of Work\n\n- Meetings/reports/etc: 2h\n- [Near Rust CLI (fix command suggestion)](https://github.com/near/near-cli-rs/pull/345): 12h\n- Near Rust CLI (fix command suggestion - tests): 2h\n\nTotal hours: 16\nHourly rate: $50/hour\nTotal amount: 800$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":800,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"cryptogarik.near","supervisor":"gagdiez.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/4o1iH8qryo8tqeTTpXSvHGN7ykxegQupGS7L9YAtiomQ\"]}","views":null},{"proposal_id":119,"author_id":"vlmoon.near","block_height":121359727,"ts":1718624285378888907,"editor_id":"vlmoon.near","social_db_post_block_height":121143729,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"BOS Notifications App funding","category":"Tooling & Infrastructure","summary":"The BOS Notification app needs to be funded to update the iOS version of the app and pay for its infrastructure.","description":"The project was successfully launched in autumn 2023. You can download the app from the following links:\n1. [BOS Notifications on Apple App Store](https://apps.apple.com/bg/app/bos-notifications/id6473671841)\n2. [BOS Notifications on Google Play Store](https://play.google.com/store/apps/details?id=com.vlmoon.nearsocialnotifications)\n\n\nAfter this, the BOS Notification app was successfully funded to develop the second version. We now have over 800 users, according to analytics .\n\n### Breakdown of Costs\n- Update IOS version of the app - 200$\n- AWS costs for Lake Indexer Framework - ~ $180/month\n- Firebase - $0/month\n- Backend for Push Notificaitons - $14/month\n- **Total**: $1184 for 6 months\n\n### Previous Funding\n\n**Funding App Version 1**:\n- [Link to funding details](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1077)\n\n**Funding Design App Version 2**:\n- [Link to design funding details](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1471)\n\n**Funding Development App Version 2**:\n- [Link to development funding details](https://near.social/devhub.near/widget/app?page=post&id=2922)\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":1364,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"vlmoon.near","supervisor":"frol.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":120,"author_id":"alae.near","block_height":121166852,"ts":1718393625821891916,"editor_id":"alae.near","social_db_post_block_height":121150665,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":" Fostering Innovation: AI Chain NEAR Tunisia Hackathon #hacks","category":"Events & Hackathons","summary":"We propose the \"AI Chain NEAR Hackathon Tunisia\" to foster innovation and collaboration in the NEAR developer community. This hackathon will empower developers to create innovative AI solutions on the NEAR blockchain, driving ecosystem growth and skill development. #hacks ","description":"# Key Performance Indicators (KPIs):\n**Number of Participants:** Target: 60, Achieved: 34\n**Projects Submitted:** Target: 10, Achieved: 7\n**Mentorship Sessions:** Target: 2, Achieved: 2\n**Community Engagement:** Target: 50 Discord members, Achieved: 40\n**Media :** Please check the media link here : [link](https://drive.google.com/drive/folders/1-pqFWmfDpls_nPdLsZ_wmBAIN5uYvf0l?usp=sharing)\n\n\n# Event Highlights\n**Hackathon Format:**\nThe hackathon spanned two weeks, with teams of up to 2-3 members. Participants faced challenges in AI and blockchain, using tools NEAR protocol, AI frameworks, and blockchain development kits.\n\n**Participants:**\nOver 34 participants formed 10 teams, including developers and designers from diverse backgrounds\n\n**Projects:**\nNotable projects include \"Courchain\" , \"El Bey\" and \"Handala\" , which integrated AI with NEAR blockchain for transparent transactions. Awards were given for the most innovative solutions, with prizes for first : CourChain, second : El Bey, and third place : Handala.\n \n**Sponsors:**\nSponsors included NEAR DevHub and Hackbox and Elaco Coworking Space, whose contributions were crucial. They benefited from brand funding, networking opportunities, and the chance to support cutting-edge innovation.\n\n**Mentorship:**\nMentors provided guidance throughout the event, with sessions highly rated by participants. Feedback highlighted the value of expert insights in refining project ideas.\n\n# Financial Summary #hacks\n## Budget Overview:****\nTotal Budget: $1,900\nTotal Expenses: $2,000\nSurplus: $100\n\n**Income Sources:**\nBounties: $1,100\nSponsorships: $1,900\n\n**Expenses:**\nVenue: $ 0,0\nMarketing: $ 200\nPrizes: $1,100\nEquipment and Supplies: $800\nFood and Beverages: $1,000\nActual Amount Spent: $2,000\n\n**Financial Performance:**\nThe event stayed within budget, with a surplus of $100. All expenses were managed effectively, ensuring financial stability.\n\n# Participant Feedback\n# Feedback Analysis:\nOverall, participants rated the event highly, praising the organization, content, and opportunities for networking and learning.\n**Suggestions:**\nRequests for more hands-on workshops and longer networking sessions will be considered for future events.\n\n**Lessons Learned**\n**Success Factors:**\nEffective planning, strong mentorship, and active community engagement were key to the event's success.\n\n**Challenges:**\nTechnical integration issues and tight timelines were challenges. Solutions include earlier preparation and additional technical support.\n\n**Future Plans**\n\n**Next Steps:**\nPlans are underway for future hackathons, workshops, meetup with tentative dates in September/December 2024. Themes will include advanced AI applications and further blockchain integration and IOT.\n**Improvements**:\nFeedback and lessons learned will be incorporated, with more hands-on workshops, extended networking opportunities, and improved technical support.\n\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":3000,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"alae.near","supervisor":"nneoma.near","timeline":"{\"status\":\"DRAFT\"}","views":null},{"proposal_id":121,"author_id":"vlmoon.near","block_height":122484112,"ts":1719947386514646421,"editor_id":"tfdevhub.near","social_db_post_block_height":121359785,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"BOS Notifications App funding","category":"Tooling & Infrastructure","summary":"The BOS Notification app needs to be funded to update the iOS version of the app and pay for its infrastructure.","description":"The project was successfully launched in autumn 2023. You can download the app from the following links:\n1. [BOS Notifications on Apple App Store](https://apps.apple.com/bg/app/bos-notifications/id6473671841)\n2. [BOS Notifications on Google Play Store](https://play.google.com/store/apps/details?id=com.vlmoon.nearsocialnotifications)\n\n\nAfter this, the BOS Notification app was successfully funded to develop the second version. We now have over 800 users, according to analytics .\n\n### Breakdown of Costs\n- Update IOS version of the app - 200$\n- AWS costs for Lake Indexer Framework - ~ $180/month\n- Firebase - $0/month\n- Backend for Push Notificaitons - $14/month\n- **Total**: $1,364 for 6 months\n\n### Previous Funding\n\n**Funding App Version 1**:\n- [Link to funding details](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1077)\n\n**Funding Design App Version 2**:\n- [Link to design funding details](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1471)\n\n**Funding Development App Version 2**:\n- [Link to development funding details](https://near.social/devhub.near/widget/app?page=post&id=2922)\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":1364,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"vlmoon.near","supervisor":"frol.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/HUtuQRGWKvmQW6jj8jAYjdPBXwggKf1vWdGNBq7agoB2\"]}","views":null},{"proposal_id":122,"author_id":"tfdevhub.near","block_height":125384767,"ts":1723210859720584289,"editor_id":"tfdevhub.near","social_db_post_block_height":121390056,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Fin Ops 5/24/24 - 6/14/24 (3 weeks)","category":"DevDAO Operations","summary":"Audit and reconciliation of 2024 DevHub proposals submitted for payment processing.","description":"The process to pay DevHub contributor proposals is fractured. I was brought on board to audit the current system in place, audit the records as they currently exist, propose improvements based on my findings, collaborate to implement an improved process and serve as the ongoing liason between DevHub contributors and NF as it relates to proposal payment processing.\n\nWeek #1 5/24/24 - 5/30/24\n5/24/24 - Onboarding w/Ori and Dan (NF Legal)\n5/28/24 - Onboarding, TG set up, Zoom meeting w/Ori, TG w/Dan re:schedule access\n5/29/24 - Reset accounts/onboard, Update all proposals in DevHub w/payment links, Create initials list of blockers, TG w/Ori and Dan \nTotal 9.5 hours\n\nWeek #2 6/3/24 - 6/7/24\n6/3/24 - Connect to Slack, Connect to finance payment schedules, Respond to email, Research J. Spano proposal, TG w/Dan, Research CRM\n6/5/24 - TG\n6/6/24 - J. Spano rsolution, Boris proposal(s) research, Work on new workflow ideas, Prep and call w/Ori\n6/7/24 - Slack w/Philipp, Update CRM, Mtg w/Ori to discuss update and treasury, Research QB\nTotal 10 hours\n\nWeek #3 6/9/24 - 6/14/24\n6/9/24 - TG\n6/10/24 - TG and email, Agenda update for meeting, TG, Zoom meeting to review processes, Prepare export file for audit\n6/11/24 - Prep info for Ori's meeting, Update CRM, TG w/Dan re:CRM export, Work on export file, TG\n6/12/24 - Update proposals numbers from DevHub portal on master file for audit, TG\n6/13/24 - Update DevHub portal w/payment links, Meeting w/Ori, Isolate recon items from audit\n6/14/24 - TG w/Dan, Update CRM, Slack, Email\nTotal 17.5 hours\n\nResults: \n\n2024 proposals are reconciled between DevHub portal and CRM. \n\nThere are:\n4 proposals in DevHub portal that need to be canceled or moved\n5 proposals in CRM that are from the old system showing as Invoice Pending that need to be canceled or moved\n2 proposals as Invoice Pending that I have reaching out to the contributor for an invoice\nAll other proposals are in KYC or Legal Pending\n\nWe are still ironing out some different ideas on the final process that these proposals will followed, focused primarily on KYC and invoice submission.\n\n- Total hours: 37\n- Rate: $80/hour\n\nRate determination is below the low end of the average hourly contract rate ($87 - $162) for an accountant with the same years of experience. That average rate does not account for my 5 years of blockchain specific experience. I'm not fulfilling all the duties that typically fall under this type of role, that is why I proposed a rate lower than the low end of the average. \nhttps://www.salary.com/research/salary/benchmark/controller-hourly-wages\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2960,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"9bd73bc9ba6ff289e2deb597dd6fe83dc0056af7a2937d6dec119660ba0146a4","supervisor":"theori.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://etherscan.io/tx/0xd88d7cfb43db765e81fe09a3f0117144a6f41762e46823f20c708834d736c088\"]}","views":null},{"proposal_id":123,"author_id":"cryptogarik.near","block_height":121976944,"ts":1719333656209664471,"editor_id":"tfdevhub.near","social_db_post_block_height":121435041,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevRel Contributor Report for 2024-06-03 - 2024-06-16","category":"Decentralized DevRel","summary":"Decentralized DevRel Contribution Report by Garik Covering 03 June - 16 June","description":"Summary of Work\n\n- Meetings/reports/etc: 9h\n- Support: 1h\n- Near Rust CLI ([fix command suggestion](https://github.com/near/near-cli-rs/pull/345)): 2h\n- Near Rust CLI (fix command suggestion - tests): 23h\n\nTotal hours: 35\nHourly rate: $50/hour\nTotal amount: 1750$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":1750,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"cryptogarik.near","supervisor":"gagdiez.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/4o1iH8qryo8tqeTTpXSvHGN7ykxegQupGS7L9YAtiomQ\"]}","views":null},{"proposal_id":124,"author_id":"aumerez.near","block_height":133692723,"ts":1732733939104341716,"editor_id":"tfdevhub.near","social_db_post_block_height":121438555,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Developer Relations - Events February-March","category":"Events & Hackathons","summary":"5 Events Hackathons: Near DevRel ETH Denver, ETH Oxford, NFT Soho, ETH London, ETH Samba","description":"# Requested Funding total 5 Events\nTotal Hours: 198\n\nRate: $50/hour\n\nTotal Amount: $9,900\n\n# Events\n# ETH Denver\nTimeline\nStart Date: February 23, 2024\n\nEnd Date: March 3, 2024\n​\n\n# Requested Funding\nHours: 79\n\nRate: $50/hour\n\nSub-Total Amount: $3,950\n\n# Summary of Activities\nSupporting developers with questions they have through Discord and Telegram.\nETH Denver prep call.\nETH Denver support (23/3 - 3/4) assisting look for the engaginghackers.\nETH Denver judging\nInteraction with NEAR Campus events and initiatives.\n\n# ETH Oxford - NFT-Soho - ETH London\nTimeline\nStart Date: March 7, 2024\n\nEnd Date: March 17, 2024\n​\n\n# Requested Funding\nHours: 87\n\nRate: $50/hour\n\nSub-Total Amount: $4,350\n\n# Summary of Activities\nSupporting developers with questions they have through Telegram.\nInteraction with NEAR Campus events and initiatives.\nLogstic support in the events.\nETH Oxford prep calls.\nETH Oxford support (6/4 - 10/4) guide hackers to use near and assisting them.\nETH Oxford judging.\nETH NFT-Soho prep calls.\nETH NFT-Soho support (13/4) guide hackers to use near and assisting them.\nETH NFT-Soho judging.\nETH London prep call.\nETH London support (23/3 - 3/4) guide hackers to use near and assisting them.\nETH London judging\n\n# ETH Samba\nTimeline\nStart Date: March 21, 2024\n\nEnd Date: March 24, 2024\n​\n\n# Requested Funding\nHours: 32\n\nRate: $50/hour\n\nSub-Total Amount: $1600\n\n# Summary of Activities\nSupporting developers with questions they have through Telegram.\nInteraction with NEAR Campus events and initiatives.\nLogstic support in the events.\nETH Samba prep calls.\nETH Samba support (6/4 - 10/4) guide hackers to use near and assisting them.\nETH Samba judging.","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":9900,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"aumerez.near","supervisor":"bpolania.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":false}","views":null},{"proposal_id":125,"author_id":"aumerez.near","block_height":133692480,"ts":1732733672277820827,"editor_id":"tfdevhub.near","social_db_post_block_height":121447145,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba","category":"Events & Hackathons","summary":"Expenses for ETH Denver, ETH Oxford, ETH London, NFT-Soho and ETH Samba hackathons and events. ","description":"# Expenses 5 Events\nI provided DevRel support at ETH Denver (February 23, 2024 - March 3, 2024), ETH Oxford - NFT-SOHO - ETH London (March 7, 2024 - March 17, 2024) and ETH Samba (March 21, 2024 - March 24, 2024).\n\n# Requested\nTotal: $2,720.75\n\n# Details\n# ETH Denver\nFlights: $148.91\nOther travel costs (taxi, train, bus) : $251.90\nFood : $215.85\n\nSub-Total: $616.66\n\n# ETH Oxford - NFT-Soho ETH London\nFlights: $$858.00\nHotel (4 nights): $504.32 + $108.52 = $612.84\nOther travel costs (taxi, train, bus) : $124.90\nFood : $327.28\n\nTotal: $1,931.60\n\n# ETH Samba\nOther travel costs (taxi, train, bus) : $93.75\nFood : $87.32\n\nTotal: $181.07\n\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2721,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"aumerez.near","supervisor":"bpolania.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":false}","views":null},{"proposal_id":126,"author_id":"megha19.near","block_height":122484368,"ts":1719947690484426121,"editor_id":"tfdevhub.near","social_db_post_block_height":121448232,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Megha for 05/20/2024 – 06/16/2024","category":"DevDAO Platform","summary":"Launch Infrastructure committee, hardening tasks for events and devhub instance, start work on treasury dashboard.","description":"#### Summary of Activities\n\n##### Week 1 (20 May to May 26)\n- Add GitHub CI job to deploy components on mainnet (1h)\n- Test the whole RFP and proposals flow with timeline change, admin configuration (4h)\n- Prepare for alpha testing, fixed some bugs (2h)\n- Discuss with Peter about failing tests and new test cases (4h)\n- Create new issues [#782](https://github.com/NEAR-DevHub/neardevhub-bos/issues/782) [#781](https://github.com/NEAR-DevHub/neardevhub-bos/issues/781) (0.5h)\n- Share thoughts about maintenance of multiple instances [#777](https://github.com/NEAR-DevHub/neardevhub-bos/issues/777#issuecomment-2121011295) (1h)\n- Figure out why there is empty log in new proposals, discuss with Vadim about new proposal version and add the fix to UI [#785](https://github.com/NEAR-DevHub/neardevhub-bos/issues/785) (3h)\n- Remove fixed positioning for near org but not social for UX, figure out way to differentiate between gateways, figure out failing tests, on all three instances [#1163](https://github.com/near/near-discovery/issues/1163) [#782](https://github.com/NEAR-DevHub/neardevhub-bos/issues/782) (1d)\n- Team call (0.5h)\n- Go through treasury dashboard wireframe (0.5h)\n- Fix the reported bugs and minor UI changes [#11](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/11) (1d)\n- Fix the labels log issue [#7](https://github.com/Tguntenaar/neardevhub-widgets/pull/7) (2h)\n- Discussion with Alpha testers about bugs and feature requests (4h)\n- Discussion with Peter about “Don’t ask again” limitations and possible workarounds (2h)\n\nTotal: 40.5 hours\n\n##### Week 2 (27 May to June 2)\n- Work on bugs reported, hidden dropdown, test proposal selected timeline for IC [#14](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/14) (5h)\n- Fix onchange and onBlur console errors [#796](https://github.com/NEAR-DevHub/neardevhub-bos/pull/796) (1h)\n- Review PRs of RFP and proposal tests (1h)\n- Call with Peter and Thomas about maintenance of instances (1h)\n- Fix feed filter for all three instances, add regression tests [#797](https://github.com/NEAR-DevHub/neardevhub-bos/pull/797) [#16](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/16) (1d)\n- Add minor fixes for events-committee [#798](https://github.com/NEAR-DevHub/neardevhub-bos/pull/798) (3h)\n- Team call (1h)\n- Create tickets for feature requests made on alpha testing channel (1h)\n- Add amount formatting for all three instances without effecting the value, add regression tests to avoid future errors [#799](https://github.com/NEAR-DevHub/neardevhub-bos/pull/799) (5h)\n- Move timeline from edit RFP to view RFP page, like proposals view page, and update playwright tests, report to Vadim about bug in snapshot history [#17](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/17) (6h)\n- Show modal after RFP/Proposal is created to navigate to view page and update playwright tests [#15](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/15) (6h)\n- Get fix compose comment PR merged, discuss with Peter about the failing tests [#764](https://github.com/NEAR-DevHub/neardevhub-bos/pull/764)(1h)\n- Figure out issue with devhub and events feed status not updated, update indexer query [#801](https://github.com/NEAR-DevHub/neardevhub-bos/pull/801) (2h)\n- Create ticket for notifications (0.5h)\n- Reply on PR reviews (1h)\n- Add payment links in logs and use order by for all indexer queries [#19](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/19) (1h)\n\nTotal: 43.5 hours\n\n##### Week 3 (3 June to June 9)\n- Test IC with Ori (1.5h)\n- Figure out issue with deployment and text Vlad about it (0.5h)\n- Make IC ready for launch, add about page, links and contract updates [#22](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/22) [#23](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/23) (3h)\n- Discuss with Vadim about indexer editor ID issue (0.5h)\n- IC improvements [#811](https://github.com/NEAR-DevHub/neardevhub-bos/issues/811) [#809](https://github.com/NEAR-DevHub/neardevhub-bos/issues/809) [#807](https://github.com/NEAR-DevHub/neardevhub-bos/issues/807) (1d)\n- Update about page content [#26](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/26) (0.5h)\n- Go through treasury tickets and discuss doubts with team (1h)\n- Team call (1h)\n- Add about configurator [#27](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/27) (6h)\n- Use current gateway links for devhub and events-committee [#829](https://github.com/NEAR-DevHub/neardevhub-bos/pull/829) [#830](https://github.com/NEAR-DevHub/neardevhub-bos/pull/830) (3h)\n- Fix overflow of linked proposals [#813](https://github.com/NEAR-DevHub/neardevhub-bos/issues/813) (1h)\n- Fix fractal status when API is down [#832](https://github.com/NEAR-DevHub/neardevhub-bos/pull/832) (1h)\n- Add account autocomplete for moderator tabs, for devhub and events committee and update tests [#833](https://github.com/NEAR-DevHub/neardevhub-bos/pull/833) (4h)\n- Generalise notifications for near social and near org and [#836](https://github.com/NEAR-DevHub/neardevhub-bos/pull/836) [#830](https://github.com/near/near-discovery-components/pull/830) (1d)\n- Update build of IC to match widget endpoints of devhub and events [#30](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/30) (3h)\n- Update tests for feed as per Peter’s review [#797](https://github.com/NEAR-DevHub/neardevhub-bos/pull/797) (1h)\n\nTotal: 43 hours\n\n##### Week 4 (10 June to June 16)\n- Call with Vadim about contract changes for notifications (0.5h)\n- Show RFPs and proposals with # character in markdown for IC [#31](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/31) (3h)\n- Review Vadim’s contract PR for notifications changes and request updates (0.5h)\n- Commit suggested changes to existing PRs (3h)\n- Call with Peter and Thomas regarding multiple instances implementation (1h)\n- Figure out how to use different contract and indexer for playwright tests for infra repo (2h) \n- Start work on treasury dashboard, setup bos-workspace for handling multiple instances, deployment script, update playwright config [#26](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/26) (1d)\n- Team call (1h)\n- Add common css, theme, data file and integrate with navbar, layout, footer components [#26](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/26) (1d) \n- Worked on dashboard page, portfolio and transaction history [#27](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/27) (1d)\n- Discuss with Peter about transaction history, how to show absolute and relative balance, and tests for dashboard page (1h)\n- Integrate near blocks API for transaction history, try to get balance after each transaction (4h)\n\nTotal: 40 hours\n\nTotal Hours: 167\nHourly rate: $50/h\nTotal: 8350 USD","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8350,"requested_sponsorship_paid_in_currency":"OTHER","requested_sponsor":"neardevdao.near","receiver_account":"megha19.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"Bank Payment\"]}","views":null},{"proposal_id":127,"author_id":"petersalomonsen.near","block_height":122121631,"ts":1719511956417663306,"editor_id":"tfdevhub.near","social_db_post_block_height":121642720,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Peter for 2024-05-21 - 2024-06-20","category":"DevDAO Platform","summary":"Requesting funding for my DevHub contributions in the period 21th of May to 20th of June 2024. 37.5 hours in total. There have been various topics such as tests for the Infrastructure committee instance, creating the structure for maintaining multiple instances in the main devhub repository, support for multiple instances in the web4 social media landing pages and assistance in other tasks.","description":"Below is a log of the time spent for various tasks. As usual I am asking for the compensation rate of $150 per hour, which I consider the rate for a senior developer/architect in Norway, also then taking into account expenses of self employment.\n\n| Date | Amount | Task | Issue/PR | Description |\n| ---------- | ------ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 2024-05-21 | 0,5 | Blog v2 search | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/772](https://github.com/NEAR-DevHub/neardevhub-bos/pull/772) | fix blog search test after merge of latest from feature/blog-v2 |\n| 2024-05-21 | 2 | Top-level positioning | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/784](https://github.com/NEAR-DevHub/neardevhub-bos/pull/784) | Assist on only removing fixed position from [near.org](http://near.org/) and not other gateways. Troubleshooting \"VM is dead\" when running tests ( transaction popup not showing ) |\n| 2024-05-22 | 1 | Top-level positioning | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/784](https://github.com/NEAR-DevHub/neardevhub-bos/pull/784) | Found that having an expression inside the styled.div breaks the VM ( leads to \"VM is dead\" ) and causes the transaction modal not to show, which is why the tests fail. Proposed to check for the gateway outside the styled.div expression |\n| 2024-05-22 | 0,5 | Sync | | Weekly sync call |\n| 2024-05-22 | 0,5 | Blog v2 search | [https://github.com/Tguntenaar/neardevhub-widgets/pull/6](https://github.com/Tguntenaar/neardevhub-widgets/pull/6) | Tiny fix for flaky category test |\n| 2024-05-25 | 0,5 | Infrastructure committee Alpha Testing | | Created followup tickets for web4 short URLs: https://github.com/NEAR-DevHub/neardevhub-contract/issues/120 and https://github.com/NEAR-DevHub/neardevhub-contract/issues/121 |\n| 2024-05-26 | 1 | RFP tests | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/775](https://github.com/NEAR-DevHub/neardevhub-bos/issues/775) | Edit RFP test, started work on Edit RFP test for \"Don't ask again enabled\". Setup of cache configuration and wallet keys. ( [https://github.com/NEAR-DevHub/near-prpsls-bos/pull/12](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/12) ) |\n| 2024-05-27 | 3 | RFP tests | [https://github.com/NEAR-DevHub/near-prpsls-bos/pull/12](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/12) | Edit RFP with \"Don't ask again\" enabled: wait for transaction result to finish mock new RFP content after transaction submit, check the viewed content after coming back to view mode. combination of multiple routes in playwright test using fallback. |\n| 2024-05-28 | 1 | Maintenance of multiple instances | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/777](https://github.com/NEAR-DevHub/neardevhub-bos/issues/777) | Meeting with Megha and Thomas on refinement of plan for maintaining multiple instances of the DevHUB platform |\n| 2024-05-29 | 0,5 | Notification when transaction fails | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/792](https://github.com/NEAR-DevHub/neardevhub-bos/issues/792) | Created issue |\n| 2024-05-29 | 1 | Sync | | Weekly sync call, feedback on basic user experience (lagging, basic stuff not really working at all ) for comments on proposals, submitting and editing proposals, moderator stuff like editing timeline of proposals |\n| 2024-05-29 | 2,5 | Comments for proposals | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/764](https://github.com/NEAR-DevHub/neardevhub-bos/pull/764) | Make tests work, by setting cache values for comments and also setting up dedicated event handler to clear editor content on transaction commit. |\n| 2024-06-01 | 1 | Reviews | | Review of adding number format to amount field in Proposal ( [https://github.com/NEAR-DevHub/neardevhub-bos/pull/799#pullrequestreview-2092040276](https://github.com/NEAR-DevHub/neardevhub-bos/pull/799#pullrequestreview-2092040276) )
\\- Proposal feed filter fixes, [https://github.com/NEAR-DevHub/neardevhub-bos/pull/798](https://github.com/NEAR-DevHub/neardevhub-bos/pull/798), [https://github.com/NEAR-DevHub/neardevhub-bos/pull/797](https://github.com/NEAR-DevHub/neardevhub-bos/pull/797) |\n| 2024-06-01 | 1 | Edit proposal timeline confirmation | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/800](https://github.com/NEAR-DevHub/neardevhub-bos/issues/800) | Setup of test case with mocking of a proposal in review and changing it to approved |\n| 2024-06-02 | 1 | Edit proposal timeline confirmation | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/800](https://github.com/NEAR-DevHub/neardevhub-bos/issues/800) | Set up \"Don't ask again\" in test case, test that the first status badge change text to approved after transaction submit |\n| 2024-06-02 | 0,5 | Reviews on RFP | | [https://github.com/NEAR-DevHub/near-prpsls-bos/pull/19
](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/19)[https://github.com/NEAR-DevHub/near-prpsls-bos/pull/16
https://github.com/NEAR-DevHub/near-prpsls-bos/pull/15](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/16)
|\n| 2024-06-02 | 3 | Edit proposal timeline confirmation | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/800](https://github.com/NEAR-DevHub/neardevhub-bos/issues/800) | update log without having to refresh after saving changed timeline status, and confirmation toast. Including test implementations. |\n| 2024-06-04 | 1 | Web4 landing for infrastructure/events committee | [https://github.com/NEAR-DevHub/neardevhub-contract/issues/127](https://github.com/NEAR-DevHub/neardevhub-contract/issues/127) | Implemented replacement of references to devhub.near in web4_get to env::current_account_id(). See [https://github.com/NEAR-DevHub/neardevhub-contract/pull/128](https://github.com/NEAR-DevHub/neardevhub-contract/pull/128) |\n| 2024-06-05 | 1 | Sync | | Weekly sync call with focus on Treasury Dashboard, and maintenance of multiple instances ( #777 ) |\n| 2024-06-05 | 3 | Blogv2 migration | | Call with Thomas where we did the migration of the blogs. Needed to remove unwanted characters from blog post keys, and switch to near-api-js for sending the transactions. Added extra storage. Checked social db for all blogs to be transferred. [https://github.com/Tguntenaar/migrate-devhub-blogs](https://github.com/Tguntenaar/migrate-devhub-blogs) |\n| 2024-06-08 | 2 | Maintenance of multiple instances | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/837](https://github.com/NEAR-DevHub/neardevhub-bos/issues/837) | Setup of BOS-workspace, but also identified the need for replacing aliases [https://github.com/NEARBuilders/bos-workspace/issues/109](https://github.com/NEARBuilders/bos-workspace/issues/109) |\n| 2024-06-10 | 2 | Maintenance of multiple instances | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/838](https://github.com/NEAR-DevHub/neardevhub-bos/pull/838) | Merge of latest from main, point deployment pipeline to devhub instance directory, dry-run script, update to latest bos-workspace with the configurable alias prefix |\n| 2024-06-11 | 1 | Maintenance of multiple instances | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/838](https://github.com/NEAR-DevHub/neardevhub-bos/pull/838) | Call with Megha and Thomas going through the changes, which are OK, but still the tests are using bos-loader and all replacements files, so this will have to be fixed before merge in order to avoid confusion with local dev using bos-workspace while tests are using bos-loader |\n| 2024-06-11 | 2 | Maintenance of multiple instances | [https://github.com/NEAR-DevHub/neardevhub-bos/pull/838](https://github.com/NEAR-DevHub/neardevhub-bos/pull/838) | Remove old replacements files, old dev script, old build preview script. Changed docs to refer to new bos-workspace style of deploying preview, local development. Adjusted test gateway to trigger bos-loader directly and not via npm run dev. |\n| 2024-06-12 | 1 | Sync | | Weekly sync and backlog grooming of Treasury dashboard |\n| 2024-06-12 | 0,5 | Fix deployment | [https://github.com/NEAR-DevHub/neardevhub-bos/issues/840](https://github.com/NEAR-DevHub/neardevhub-bos/issues/840) | Insert missing branch check for deployment pipeline |\n| 2024-06-17 | 0,5 | Treasury Dashboard | | Assist in fetching data for balance chart, and also initial dashboard visibility test |\n| 2024-06-19 | 0,5 | Treasury Dashboard | | Call with Megha going through how to fetch balance data by resolving the block hashes of each receipt in a transaction to determine which block heights to query the account balance on after a transaction. |\n| 2024-06-20 | 0,5 | Sync | | |\n| 2024-06-20 | 2 | Landing title and description from socialdb | [https://github.com/NEAR-DevHub/neardevhub-contract/pull/134](https://github.com/NEAR-DevHub/neardevhub-contract/pull/134) | Fetch description and title for web4 landing page from socialdb profile metadata |\n| | | | |\n\nTotal hours: 37.5\nHourly rate (USD): $150\nTotal requested amount (USD): 5625","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":5625,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"petersalomonsen.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/9KMK7g6B6ihNM4brxVKFyDKGQiZBFYNbTE6dv2vrHDPz\"]}","views":null},{"proposal_id":128,"author_id":"joespano.near","block_height":122121516,"ts":1719511822776304353,"editor_id":"tfdevhub.near","social_db_post_block_height":121675531,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Activities Report 6/10-6/21","category":"DevDAO Operations","summary":"DevHub Moderator Contributions Bi-Weekly Report","description":"**DevHub Activities (10 hours)**\n- Newsletter review and distribution \n\t- #15 - 866 recipients, 36% open rate 1.4% link click rate\n\t- #16 - 889 recipients, 67% open rate, 1.6% link click rate\n- Workgroup support\n\t- Marketing\n\t\t- Social and Telegram posts\n\t- Video clips\n\t\t- Cut up the latest Chain Abstraction community call to share on socials\n\t\t- 4 clips -> 2.5k+ views\n- Ecosystem updates\n\t- Collect info, created slides, and presented\n- Q2-Q3 recap planning\n\n**DevRel (18hours):**\n- Internal Meetings: weekly stand-ups, 1-on-1 with team members, and meetings with core team members.\n- Ecosystem developer conversations and feedback collection for current and future initiatives\n- Developer follow-up\n- Developer outreach\n\t- Represented DevHub on multiple spaces discussing building on NEAR and Developer engagement\n\t\t- The Road to Dev w/[@okxweb3](https://x.com/okxweb3) (1000+ listens)[https://x.com/okxweb3/status/1803639666153005512…](https://x.com/okxweb3/status/1803639666153005512) \n\t\t* Deep Dive into AltVMs w SubSquid (200+ listens) [https://x.com/i/spaces/1MYxNooENdNKw…](https://x.com/i/spaces/1MYxNooENdNKw)\n- Meetings with teams like HZN and marketing\n\t- Planning for support during current cohort\n\n**Marketing & Retention Planning & In-Progress (52 hours):**\n- Social Media posts\n\t- Summary- 27k+ impressions (20% biweekly growth), +119 new followers (across all), 65 total posts (across all) \n- Website milestone planning\n\t- Goal: improve the \"get started\" experience for incoming developers\n- Social content planning\n\t- Livestream planning, setup, and recording\n\t\t- 2 Episodes - 3k+ impressions (includes replays)\n\t- Video planning and scripting\n\t- Video recordings\n\t- Clips editing\n\t\t- 12 clips produced -> 20K+ views\n- Content coordination\n\t- Partnership planning and meetings\n\t- Coordination with NF, Pagoda, and 3rd parties for upcoming content items\n\t\t- Redacted hackathon content brief reviews\n\n**Reimbursements:**\n* Google Suite - $96\n* Twitter - $10\n\n**Timeline**\n\n- Start Date: 6/10/2024\n- End Date: 6/21/2024\n\n**Requested Funding**\n\n- Total hours: 80\n- Rate: $100/hour\n- Total amount: $8106 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8106,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"joespano.near","supervisor":"theori.near","timeline":"{\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/afrf4WZ1sQaCi9CCZdVrEJLy7HXx4VoHEGQDuK2S68T\"]}","views":null},{"proposal_id":129,"author_id":"524f24bb0320fa84ab2ea93e589019c2c4c60a3a6a45dd0577bd6e97f40f1521","block_height":121959660,"ts":1719311515328081164,"editor_id":"524f24bb0320fa84ab2ea93e589019c2c4c60a3a6a45dd0577bd6e97f40f1521","social_db_post_block_height":121946106,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Powerful Data APIs and GPT Tools for Near Developers to Easily Build","category":"Tooling & Infrastructure","summary":"Problem:\nThe Near blockchain's data infrastructure is underdeveloped, making it difficult for developers to access and process on-chain data. The non-EVM nature of Near adds complexity to data parsing and processing.\nSolution:\nProvide standardized, structured APIs for on-chain data on Near, enabling developers to efficiently access data. \nOffer an AI-powered assistant for developers to gain the necessary knowledge for building on Near.","description":"# Key Milestines\nOur implementation program consists of two main parts: data API infrastructure and AI GPT creation.\n**Data APIs:**\nTo support developer growth, we offer a comprehensive API suite covering chain raw data, tokens, wallets, and key project indicators. Developers can access data with a single line of code, enabling rapid on-chain app development with a user-friendly experience.\n**AI Assistant:**\nDevelopers face numerous challenges before building on-chain, making mentorship crucial. Our Developer AI Assistant, customized for NEAR, incorporates NEAR's development documentation, community guidelines, and fundamental blockchain knowledge. This trained GPT helps developers quickly access information through natural language queries, including our API interfaces and documentation. This allows developers to minimize learning time, write more efficient code, and focus on building core product functionality.\n\n**Milestone 1 Near chain data API**\nTasks: By providing the raw data API and generating structured data tables, developers can use the data API to build any application or build a data analytics system for their project.And users can use the data on Footprint to create charts and dashboards and explore the data freely.\n**Deliverables:**\n1. Near chain data APIs: transactions, token_transfer, and more\n2. Near chain data analytics dashboard\n3. Batch download solution for get the all historical\n\n\n**Milestone 2: Key indicators data API for dapps on Near **\n**Tasks:** We will collect and verify the contracts belonging to the projects on the chain, and produce reference data of the contracts of the projects on the chain, so that developers can easily find all the records of the contracts corresponding to each project. Secondly, based on the contract, we will also build key indicators data and API of the protocol, which can be used to discover the popular projects on the chain and view the performance of the projects, including DAU, TVL, transaction, volume, new user growth, etc.\n**Deliverables:**\n1. Reference data of contracts and protocols\n2. Key indicators of Dapp: DAU, transactions, TVL and more\n3. Key indicators data APIs\n4. Dapp ranking dashboard\n\n**Milestone 3 Token price data of tokens on Near**\n**Tasks: **Real-time 5-minute coin price data will provide the most solid and widespread support for on-chain data analytics, allowing for easy calculation of volume, balance, TVL and other metrics in USD.\n**Deliverables:**\n1. Structured data table: token_5min_price\n2. Token price data API\n\n**Milestone 4: Wallet data API**\n**Tasks: **By abstracting data from the wallet domain, users can analyze on-chain wallet data, including basic data such as wallet age, as well as wallet activity. Project owners can analyze on-chain user profiles for airdrop campaigns, etc.\n**Deliverables:**\n1. Structured wallet data tables\n2. Near wallet data analytics dashboards\n3. Near Wallet data APIs on Footprint\n\n\n**Milestone 5: Developer AI assistant for Near ecosystem**\n**Tasks: **We can customize an AI gpt assistant for Near developers, and we can add project docs, whitepapers, on-chain data, etc. to the GPT to enable it to answer development questions and provide 24/7 community service.\n**Deliverables:**\nA developer GPT assistan\n\n\nIn addition to the tools, we are committed to giving developers in the NEAR community full data, content and community support, including:\n\nFootprint provides dedicated analyst support to help projects build data dashboards and gain insights for increasing revenue, retention, and engagement.\nWe offer customizable GPTs for projects on NEAR. The AI assistant can answer user inquiries and enhance community members' understanding of the project, facilitating initial involvement or deepening participation.\nTo maximize exposure opportunities, get featured on Footprint's Twitter, participate in our Twitter Spaces, and engage in other community activities.\n\n# Team Background\nOur core team is made up of experienced developers.\nPrior to venturing into the blockchain space, our team members have worked in reputed companies such as Goldman Sachs, JP Morgan Chase and Oracle.\nOur three co-founders have been working together for 11 years, showcasing a long-term commitment to shared goals and synergy.\n\n1. Tony Zhang - Co-founder & CEO https://www.linkedin.com/in/tzhang88/ \nA serial entrepreneur with over 20 years of experience on Wall Street \nFormerly Senior Vice President of Global Credit Trading at Bank of America in New York; Director of Credit Derivatives Trading at Merrill Lynch, also worked at Goldman Sachs Global, JPMorgan, and Lehman Brothers\n2. Wade Deng - Co-founder & CTO https://www.linkedin.com/in/wade-deng-84bb8b6b/\nOver a decade of tech experience\nDirector of a fintech company where he built anti-fraud systems and AI models for credit score\nLed a crypto trading team, which focused on algo trading strategy on CeFi\n3. Navy Tse - Co-founder & Head of Product https://www.linkedin.com/in/navyxie/\nOver 10 years of experience in fintech, big data, e-commerce, and mobile internet development\nEntered the blockchain technology space in 2017\nLed the team to develop several DeFi projects\nA pioneer in the open source community, contributed to the Open Source Project with over 37k stars.\n\n\n# Budget Breakdown: \n1. Human resources involvement (60% of the funds)\n1.1 Technical resources for data analysis and function development\n1.2 Data maintenance\n1.3 Community and technical support\n\n2. Node and server costs (40% of the funds)\n2.1 Purchase of node services\n2.2 Data storage\n2.3 Computing resources according to different data tables and metrics\n\n\nWe are eager to collaborate more closely with the NEAR ecosystem and contribute positively. Looking forward to hearing feedback from the community on the proposal.\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":80000,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"neardevdao.near","receiver_account":"524f24bb0320fa84ab2ea93e589019c2c4c60a3a6a45dd0577bd6e97f40f1521","supervisor":null,"timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":130,"author_id":"524f24bb0320fa84ab2ea93e589019c2c4c60a3a6a45dd0577bd6e97f40f1521","block_height":126229095,"ts":1724223810057949033,"editor_id":"frol.near","social_db_post_block_height":121946120,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Powerful Data APIs and GPT Tools for Near Developers to Easily Build","category":"Tooling & Infrastructure","summary":"Problem:\nThe Near blockchain's data infrastructure is underdeveloped, making it difficult for developers to access and process on-chain data. The non-EVM nature of Near adds complexity to data parsing and processing.\nSolution:\nProvide standardized, structured APIs for on-chain data on Near, enabling developers to efficiently access data. \nOffer an AI-powered assistant for developers to gain the necessary knowledge for building on Near.","description":"# Key Milestones\nOur implementation program consists of two main parts: data API infrastructure and AI GPT creation.\n**Data APIs:**\nTo support developer growth, we offer a comprehensive API suite covering chain raw data, tokens, wallets, and key project indicators. Developers can access data with a single line of code, enabling rapid on-chain app development with a user-friendly experience.\n**AI Assistant:**\nDevelopers face numerous challenges before building on-chain, making mentorship crucial. Our Developer AI Assistant, customized for NEAR, incorporates NEAR's development documentation, community guidelines, and fundamental blockchain knowledge. This trained GPT helps developers quickly access information through natural language queries, including our API interfaces and documentation. This allows developers to minimize learning time, write more efficient code, and focus on building core product functionality.\n\n**Milestone 1 Near chain data API**\nTasks: By providing the raw data API and generating structured data tables, developers can use the data API to build any application or build a data analytics system for their project.And users can use the data on Footprint to create charts and dashboards and explore the data freely.\n**Deliverables:**\n1. Near chain data APIs: transactions, token_transfer, and more\n2. Near chain data analytics dashboard\n3. Batch download solution for get the all historical\n\n\n**Milestone 2: Key indicators data API for dapps on Near **\n**Tasks:** We will collect and verify the contracts belonging to the projects on the chain, and produce reference data of the contracts of the projects on the chain, so that developers can easily find all the records of the contracts corresponding to each project. Secondly, based on the contract, we will also build key indicators data and API of the protocol, which can be used to discover the popular projects on the chain and view the performance of the projects, including DAU, TVL, transaction, volume, new user growth, etc.\n**Deliverables:**\n1. Reference data of contracts and protocols\n2. Key indicators of Dapp: DAU, transactions, TVL and more\n3. Key indicators data APIs\n4. Dapp ranking dashboard\n\n**Milestone 3 Token price data of tokens on Near**\n**Tasks: **Real-time 5-minute coin price data will provide the most solid and widespread support for on-chain data analytics, allowing for easy calculation of volume, balance, TVL and other metrics in USD.\n**Deliverables:**\n1. Structured data table: token_5min_price\n2. Token price data API\n\n**Milestone 4: Wallet data API**\n**Tasks: **By abstracting data from the wallet domain, users can analyze on-chain wallet data, including basic data such as wallet age, as well as wallet activity. Project owners can analyze on-chain user profiles for airdrop campaigns, etc.\n**Deliverables:**\n1. Structured wallet data tables\n2. Near wallet data analytics dashboards\n3. Near Wallet data APIs on Footprint\n\n\n**Milestone 5: Developer AI assistant for Near ecosystem**\n**Tasks: **We can customize an AI gpt assistant for Near developers, and we can add project docs, whitepapers, on-chain data, etc. to the GPT to enable it to answer development questions and provide 24/7 community service.\n**Deliverables:**\n1. A developer GPT assistan\n\n\nIn addition to the tools, we are committed to giving developers in the NEAR community full data, content and community support, including:\n\nFootprint provides dedicated analyst support to help projects build data dashboards and gain insights for increasing revenue, retention, and engagement.\nWe offer customizable GPTs for projects on NEAR. The AI assistant can answer user inquiries and enhance community members' understanding of the project, facilitating initial involvement or deepening participation.\nTo maximize exposure opportunities, get featured on Footprint's Twitter, participate in our Twitter Spaces, and engage in other community activities.\n\n# Team Background\nOur core team is made up of experienced developers.\nPrior to venturing into the blockchain space, our team members have worked in reputed companies such as Goldman Sachs, JP Morgan Chase and Oracle.\nOur three co-founders have been working together for 11 years, showcasing a long-term commitment to shared goals and synergy.\n\n1. Tony Zhang - Co-founder & CEO https://www.linkedin.com/in/tzhang88/ \nA serial entrepreneur with over 20 years of experience on Wall Street \nFormerly Senior Vice President of Global Credit Trading at Bank of America in New York; Director of Credit Derivatives Trading at Merrill Lynch, also worked at Goldman Sachs Global, JPMorgan, and Lehman Brothers\n2. Wade Deng - Co-founder & CTO https://www.linkedin.com/in/wade-deng-84bb8b6b/\nOver a decade of tech experience\nDirector of a fintech company where he built anti-fraud systems and AI models for credit score\nLed a crypto trading team, which focused on algo trading strategy on CeFi\n3. Navy Tse - Co-founder & Head of Product https://www.linkedin.com/in/navyxie/\nOver 10 years of experience in fintech, big data, e-commerce, and mobile internet development\nEntered the blockchain technology space in 2017\nLed the team to develop several DeFi projects\nA pioneer in the open source community, contributed to the Open Source Project with over 37k stars.\n\n\n# Budget Breakdown: \n1. Human resources involvement (60% of the funds)\n1.1 Technical resources for data analysis and function development\n1.2 Data maintenance\n1.3 Community and technical support\n\n2. Node and server costs (40% of the funds)\n2.1 Purchase of node services\n2.2 Data storage\n2.3 Computing resources according to different data tables and metrics\n\n\nWe are eager to collaborate more closely with the NEAR ecosystem and contribute positively. Looking forward to hearing feedback from the community on the proposal.\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":80000,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"neardevdao.near","receiver_account":"524f24bb0320fa84ab2ea93e589019c2c4c60a3a6a45dd0577bd6e97f40f1521","supervisor":null,"timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true}","views":null},{"proposal_id":131,"author_id":"hristolimechain.near","block_height":123709392,"ts":1721336413963411058,"editor_id":"tfdevhub.near","social_db_post_block_height":122021411,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Near Wallet Selector improvements","category":"Tooling & Infrastructure","summary":"Key goals include updating the near-api-js dependency to use native JavaScript bigint, which will reduce bundle size and ensure compatibility. We will pin exact dependency versions to mitigate supply chain risks and review dependencies for potential removal or replacement. The project will also introduce a login flow for multiple contracts, ensure backward compatibility, and improve the user experience with features like a default wallet choice toggle. We will also address reported Git issues.","description":"## **Proposal Benefits**\n\nOur proposed milestones offer several key benefits.\n\n- Enhancing UX within decentralized applications\n- Improving accessibility by supporting multiple access keys.\n- Ensure seamless interaction with contracts and the NEAR ecosystem.\n- Emphasizing robust security measures and effectively safeguarding user data.\n- Simplified backend integration processes to improve the developer experience\n\n## **Development roadmap**\n\n### **Milestone 1:** Update near-api-js(NAJ) dependency (1 week)\n\n- Upgrade the version to 4.x.\n- Resolve any incompatibility issues that may arise from the upgrade.\n- Remove bn.js dependency where possible.\n - NAJ 4.x uses native JS bigint type.\n - This will also reduce the bundle size of the library.\n- QA wallet integrations to ensure no regressions are introduced.\n\n### **Milestone 2:** Dependency housekeeping (0.5 week)\n\n- Pin exact dependency versions.\n - This reduces the change of supply chain attacks.\n- Analyse dependencies and check whether some can be removed or replaced with smaller alternatives.\n\n### **Milestone 3:** Provide login flow for multiple contracts (2 weeks)\n\n- This is enabled by the introduction of multiple LAK in NAJ\n- Research the best solution approach for Wallet Selector\n - Must be backward compatible\n- Implement the solution\n\n### **Milestone 4:** Dedicate time to resolving GitHub Issues reported by the community (0.5 week)\n\n- In case the time is not fully spent, it will be transferred over to the next proposal.\n\n### **Milestone 5:** UX Improvements (1 week)\n\n- Default wallet choice\n - Work with LimeChain’s design team to come up with a good UI design\n - Create a toggle in wallet selector “Remember wallet choice”\n - Modify wallet selector to persist this toggle in browser local storage\n - On “Disconnect” press, the toggle is deleted from local storage\n - The exact mechanic may change. If there is a change it will be to provide a better UX.","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":40000,"requested_sponsorship_paid_in_currency":"NEAR","requested_sponsor":"neardevdao.near","receiver_account":"75d06b35243c61a112abc1e0ad748f58c5b146d264099798492ede675199cf93","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/GuzyUcAqkZVsEJu892QSpgWXgB1fNoVXSEQcw9J2MH7i\"]}","views":null},{"proposal_id":132,"author_id":"denbite.near","block_height":123084881,"ts":1720639440780891419,"editor_id":"tfdevhub.near","social_db_post_block_height":122331024,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub (01 - 24 June) & DevRel (17 - 30 June) Contributor Report","category":"Decentralized DevRel","summary":"Bi-weekly paid developer relations contributor report. The aim of these activities is to onboard more developers to the ecosystem, and assist existing developers with problems or enrich their experience in the ecosystem. Activities for the last two weeks can be seen below.","description":"##### 1. DevRel Contribution (supervised by @gagdiez.near)\n\n* Internal Meetings - weekly stand-up, 1-1 with team members (2h)\n* [Bring functionality to Chain Abstraction example to sign transactions on Ethereum Contract](https://github.com/near-examples/near-multichain/pull/23) (16h)\n* [Merge \"Concepts\" with \"Build\" on the doc page](https://github.com/near/docs/issues/2079) (6h) - the project is in progress at the moment\n\n**Timeline**\nStart Date: 6/17/2024\nEnd Date: 6/30/2024\n\n**Funding**\nTotal hours: 24\nRate: $50/hour\nAmount: $1.200 USD\n\n##### 2. DevHub Contribution (supervised by @frol.near)\n\n**Tooling Contribution (6 hours)**\n\n* https://github.com/frol/bos-component-ts-starter/pull/14\n* https://github.com/bos-cli-rs/bos-cli-rs/pull/94\n\n**Community Support (16 hours)**\n\n* Responding to questions on StackOverflow and Telegram (1h)\n* Livestream and meeting preparations, environment set up (6h)\n* Mentorship\n\t * 1-on-1 Meetings (6h)\n\t * Code Review (3h)\n\n**Marketing & Retention (6 hours)**\n\n* YouTube [video](https://www.youtube.com/watch?v=HZQv-4tH8Dw) production (6h)\n\n**Other (2 hours)**\n\n* Internal Meetings - 1-on-1 with team members\n\n**Timeline**\nStart Date: 6/01/2024\nEnd Date: 6/24/2024\n\n**Funding**\nTotal hours: 30\nRate: $50/hour\nTotal amount: $1.500 USD\n\n----------\n\n**Total funding**\n$2.700 USD","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2700,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"denbite.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"Bank Payment 2,515.57 EUR on 7/9/24\"]}","views":null},{"proposal_id":133,"author_id":"yurtur.near","block_height":123708962,"ts":1721335934200456823,"editor_id":"tfdevhub.near","social_db_post_block_height":122378473,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Yurtur for 06/01/2024 – 06/30/2024","category":"Tooling & Infrastructure","summary":"Reducing nearcore common library crate sizes. Worked on the rollout of near 0.23 crates and apps.\nFixed Windows compilation of near-crates","description":"Total Hours: 68\nHourly rate: $75/h\nTotal: 5100 USD\n\n##### Reducing dependencies in nearcore crates - 44 hours \n* [#11462](https://github.com/near/nearcore/pull/11462) - reduce near-primitives dependencies from 358 to 218 compilation units - 12 hours\n* [#11501](https://github.com/near/nearcore/pull/11501) - add rust-analyzer to toolchain file 15 mins\n* [#11597](https://github.com/near/nearcore/pull/11597) - separated heavy dependencies into features for near-primitives (-23 crates on feature-less version) - 4 hours\n* [#11578](https://github.com/near/nearcore/pull/11578) - removed dependency on near-vm-runner for near-primitives. Fixed windows compilation. It took several iteration to create a proper version. - 2 days - 16 hours\n* [#11639](https://github.com/near/nearcore/pull/11639) - reduced dependencies for near-jsonrpc-primitives, near-chain-configs, near-chain-primitives, near-client-primitives, near-store - 12 hours\n\n##### 0.23 rollout - 16 hours in total\n\n###### near-ledger - 2 hours in total\n* [#9](https://github.com/khorolets/near-ledger-rs/pull/9) - updated deps to 0.22\n* [#10](https://github.com/khorolets/near-ledger-rs/pull/10) - release-plz CI\n* [#12](https://github.com/khorolets/near-ledger-rs/pull/12) - updated deps to 0.23\n\n###### near-jsonrpc-client-rs - 2 hour in total\n* [#145](https://github.com/near/near-jsonrpc-client-rs/pull/145) - updated deps to 0.22\n* [#148](https://github.com/near/near-jsonrpc-client-rs/pull/148) - updated deps to 0.23\n\n###### near-socialdb-client - 2 hour in total\n* [#7](https://github.com/bos-cli-rs/near-socialdb-client-rs/pull/7) - updated deps to 0.22\n* [#9](https://github.com/bos-cli-rs/near-socialdb-client-rs/pull/9) - updated deps to 0.23\n\n###### near-cli-rs - 4 hours in total\n* [#350](https://github.com/near/near-cli-rs/pull/350) - updated deps to 0.23. 0.22 release was stopped here as near-primitives couldn't be compiled on Windows platform. This required fix from nearcore side that I have done in the [#11639](https://github.com/near/nearcore/pull/11639). - 4 hours including windows issue investigation\n\n###### near-sdk-rs - 2 hours in total\n* [#1207](https://github.com/near/near-sdk-rs/pull/1207) - updated deps to 0.23. 2 hours\n\n###### near-workspaces - 2 hour in total\n* Investigation of required changes for 0.22 (that was stopped in favor of 0.23). \n\n###### cargo-near - 2 hours\n* [#167](https://github.com/near/cargo-near/pull/167) - updated deps to 0.23.\n\n##### Non direct time consumption - 8 hours\n* Discussion and syncing, code review discussion\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":5100,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"yurtur.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/9MVQcRSvMapFE9hTgcUW4jFT18mG8TCjbQKRPA2mUE3p\"]}","views":null},{"proposal_id":134,"author_id":"spring-neardao.near","block_height":122385497,"ts":1719830311452107329,"editor_id":"spring-neardao.near","social_db_post_block_height":122385243,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Spring Chiu for 05/29/2024 - 07/01/2024","category":"Tooling & Infrastructure","summary":"DevHub Developer Contributor report by Spring Chiu for 06/06/2024 - 07/01/2024 \ncontribute code to repo of near-sdk-rs, near-workspaces-rs","description":"|Date |Amount |Task |Issue |Description |\n| ---- | ---- | ---- | ---- | ---- | \n| 20240529-20240605 | 5 | tricky implementation for search attribute inner `#[near]` | https://github.com/near/near-sdk-rs/issues/1177 | https://github.com/near/near-sdk-rs/pull/1185 |\n| 20240518 | 9 | upgrade near-sandbox-utils to `0.8.0`(nearcore 1.37.0+) and fix create top-level accounts problem | https://github.com/near/near-workspaces-rs/issues/354 | https://github.com/near/near-workspaces-rs/pull/360 |\n\n14 hours\n\nCost\nTotal hours: 14\nRate: $65/hour: Based on the application of [Idea: Engineering -- DevDAO dev](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=729)\nTotal amount: $910 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":910,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"yongchun.near","supervisor":"frol.near","timeline":"{\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false}","views":null},{"proposal_id":135,"author_id":"spring-neardao.near","block_height":123084752,"ts":1720639298425246770,"editor_id":"tfdevhub.near","social_db_post_block_height":122385830,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Spring Chiu for 05/29/2024 - 07/01/2024","category":"Tooling & Infrastructure","summary":"DevHub Developer Contributor report by Spring Chiu for 06/06/2024 - 07/01/2024 \ncontribute code to repo of near-sdk-rs, near-workspaces-rs","description":"|Date |Amount |Task |Issue |Description |\n| ---- | ---- | ---- | ---- | ---- | \n| 20240529-20240605 | 5 | tricky implementation for search attribute inner `#[near]` | https://github.com/near/near-sdk-rs/issues/1177 | https://github.com/near/near-sdk-rs/pull/1185 |\n| 20240606-20240624 | 9 | upgrade near-sandbox-utils to `0.8.0`(nearcore 1.37.0+) and fix create top-level accounts problem | https://github.com/near/near-workspaces-rs/issues/354 | https://github.com/near/near-workspaces-rs/pull/360 |\n\n14 hours\n\nCost\nTotal hours: 14\nRate: $65/hour: Based on the application of [Idea: Engineering -- DevDAO dev](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=729)\nTotal amount: $910 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":910,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"yongchun.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/BNEimV1tqyV91FYXsecSYP3wLbsen99UzMDqWXmtYRzF\"]}","views":null},{"proposal_id":136,"author_id":"jutsuai.near","block_height":123711519,"ts":1721338779335190341,"editor_id":"tfdevhub.near","social_db_post_block_height":122415630,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Jutsu DevHub Proposal - Milestone 3","category":"Tooling & Infrastructure","summary":"This is a continuation of the Jutsu proposal (posted on 19 January 2024) to DevHub for the building of WebIDE features to improve the developer onboarding and overall hackathon experience with Hackbox. This proposal contains our Milestone 2 report, and Milestone 3 proposal.","description":"Previous DevHub Proposal (19 January): https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=2750\n\n# Milestone 2 Report: Q2 (April-June)\n\n- [x] Ability to import and export BOS components to GitHub.\n- [x] Persist the component search query so that when developers switch tabs and come back, the previous search result is maintained.\n- [x] Ability to upload, use, and manage ‘styled-components’ files in IPFS from Jutsu WebIDE.\n- [x] Anyone can build BOS components/landing pages using just prompt/AI - [Try Bento](https://bento.jutsu.ai)\n- [x] Anyone can build BOS components/landing page by uploading a screenshopt of an app - [Try Bento](https://bento.jutsu.ai)\n- [x] Talked with builders and simplified the WebIDE developer experince. - [Try Jutsu](https://app.jutsu.ai)\n- [x] Product Demo - [Youtube]()\n# Milestone 3 Proposal: Q3 (July - September)\n\n- [ ] Testnet Faucet: Developoer will get free testnet tokens for their app\n- [ ] Proof-of-dev: Improve Dev profile that will show their contribution in NEAR ecosystem\n- [ ] Add NEAR AI related features: Builder will be able to access NEAR AI related features\n- [ ] Components similarity search: Show similar components when a developer search for a component\n- [ ] Community Requested Features\n\n# Ongoing support to Hackbox\n\n**Seamless Onboarding for Beginners:**\n\n- Update NEAR Wallet Selector and add support for new wallets\n\n**Learning resources:**\n\n- Getting started with Jutsu and BOS component development.\n- Getting started with Bento for non-technical people.\n\n**Ongoing Mentorship and Support During Events:**\n\n- When requested, Jutsu will actively participate in Hackbox Hackathon meetings and group chats to facilitate team introductions, platform demonstrations, and Q&A sessions as necessary. Continuous technical support and mentorship will be provided as it pertains to the use of the Jutsu platform for hackathon participants and organizers within Hackbox.\n\n**Post-Event Analysis and Metrics:**\n\n- When requested, detailed tracking of active builders per event and cohort and comprehensive metrics related to the building and forking of components, insights into participant engagement and project popularity, etc.\n\n**Feature Requests:**\n\n- Jutsu will consider additional feature requests that have been approved by Hackbox or Devhub admin for the purpose of enhancing developer experience (within the scope of this proposal).","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":37500,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"jutsuai.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"Bank Payment by Infra\"]}","views":null},{"proposal_id":137,"author_id":"pivortex.near","block_height":126767810,"ts":1724873273864195184,"editor_id":"tfdevhub.near","social_db_post_block_height":122454196,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Owen DevRel Contributor Report 10 June - 23 June","category":"Decentralized DevRel","summary":"Bi-weekly paid developer relations contributor report. These activities aim to improve the developer experience in the NEAR ecosystem. ","description":"## Timeline\nStart Date: June 10, 2024\n\nEnd Date: June 23, 2024\n​\n## Requested Funding\nHours: 18:10\n\nRate: $50/hour \n\nTotal Amount: $908\n\n# Summary of Activities\n\n### Developer and community support \n- 1:30 Supporting developers and interacting with communities through Discord and Telegram\n\n## Contributions\n- 0:40 Call with Jacob regarding NFT chainkeys and gas station contract\n- 10:00 [Issue 2011](https://github.com/near/docs/issues/2011) Working on NFT chainkeys repo, including refreshing myself on NFT standards - [Repo](https://github.com/PiVortex/near-multichain-NFT)\n\n## Technical communities \n- 1:50 Post CA community call [recap](https://near.social/devhub.near/widget/app?page=blog&id=3304) and uploading [video](https://www.youtube.com/watch?v=tBELraP_Ul0)\n\n## Content \n- 1:30 DevHub live prep \n- 1:00 Cohost DevHub live\n\n### General / Other \n- 0:50 DevRel team calls\n- 0:40 One-on-one with Guillermo\n- 0:10 Misc activities, includes assisting DevRel team and odd jobs such as proof reading","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":908,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"icespice.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/9QdtnCxSNbHabnGVa5CR5fbNszoWrKPKXdmzeCTqetJq\"]}","views":null},{"proposal_id":138,"author_id":"maguila.near","block_height":123708191,"ts":1721335081115210532,"editor_id":"tfdevhub.near","social_db_post_block_height":122484347,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Fellowship Contributor report by Matias Benary for 2024-06-03 2024-06-30","category":"Decentralized DevRel","summary":"Fellowship Contributor report by Matias Benary for 2024-06-03 2024-06-30","description":"I am submitting this contributor report as a [fellowship contributor](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=1566) led by Guillermo (@gagdiez.near).\n\nMy last approved report: https://dev.near.org/devhub.near/widget/app?page=proposal&id=105\n\nRequested amount: 2250 (90 * 25$)\nRequested sponsor: @neardevdao.near\n\nSummary of Work\n\nMeetings/reports/etc: 12h\n\nAdded frontend and investigated the use of indexers, could not be implemented: 55h\nhttps://github.com/matiasbenary/near-ft-auction/tree/addFrontend\n\nImplementation of githubpages: 3h\nhttps://github.com/near-examples/near-multichain/pull/24\n\nNavigated links documentation: 20h\nhttps://github.com/near/near-discovery/pull/1236\nhttps://github.com/near/docs/pull/2095\n\n\nTotal hours: 90\nHourly rate: 25/hour\nTotal amount: 2250$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2250,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"maguila.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/2g8Mp7zRTyDSBS1T85SixNf3AnJeLH5ToquKVf91yAsH\"]}","views":null},{"proposal_id":139,"author_id":"cryptogarik.near","block_height":123709614,"ts":1721336663946820547,"editor_id":"tfdevhub.near","social_db_post_block_height":122614132,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevRel Contributor Report for 2024-06-17 - 2024-06-30","category":"Decentralized DevRel","summary":"Decentralized DevRel Contribution Report by Garik Covering 17 June - 30 June","description":"Summary of Work\n\n- Meetings/reports/etc: 9h\n- Support: 3h\n- Near Rust CLI (fix command suggestion): 3h\n- Near Rust CLI ([fix command suggestion](https://github.com/near/near-cli-rs/pull/345) - tests): 14h\n- Multichain account swapping (research): 3h\n- Multichain account swapping ([frontend](https://github.com/garikbesson/near-multichain-account-swapping)): 8h\n\nTotal hours: 40\nHourly rate: $50/hour\nTotal amount: 2000$","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2000,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"cryptogarik.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/41JLmfFshXwLhDGathQt6TpVbRsMcPSb9PbSnaR8A1ij\"]}","views":null},{"proposal_id":140,"author_id":"victorkanu1.near","block_height":123709142,"ts":1721336132728088290,"editor_id":"tfdevhub.near","social_db_post_block_height":122614985,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Relations Contributor report [03-06-2024 to 14-06-2024]","category":"Decentralized DevRel","summary":"Developing NEAR Dev News | NEP's | Documentation contributions ","description":"## Summary \n\n👨‍💻 Mon 3rd June 2024 - Fri 7th June 2024\n\n1. Worked on Removing pages without parents [Documentation task] - **20H**\n\n2. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **15H**\n\n3 .Reviewing NEPs: **5H**\n\n4. 1:1 with Guillermo **15M**\n\n\n\n👨‍💻 Mon 10th June 2024 - Fri 14th June 2024\n\n1. Woked on Removing pages without parents & Broken frontend snippets [Documentation tasks] **17H**\n\n2. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **15H**\n\n3. Reviewing NEPS: **5H**\n\n4. 1:1 with Guillermo **15M**\n\n5. Preparing data for Q2 report to assist Joe **3H**\n\n\nBudget Breakdown\nTotal hours: 80\nRate: $25/hour\nTotal amount: $2000","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2000,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"victorkanu1.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/FsFZcLTzzApD2kyd8aJtxxy6QaiKAQFVnjKPJ1VRciYD\"]}","views":null},{"proposal_id":141,"author_id":"victorkanu1.near","block_height":123709060,"ts":1721336044020888905,"editor_id":"tfdevhub.near","social_db_post_block_height":122669981,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Relations Contributor report [17-06-2024 to 28-06-2024] ","category":"Decentralized DevRel","summary":"Developing NEAR Dev News | NEP's | Documentation contributions","description":"## Summary\n  \n**👨‍💻 Mon 17th June 2024 - Fri 21st June 2024**\n\n1. Zero to Hero NEAR Development Auction Contracts Edition - [Documentation tasks] **23H**\n\n2. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **15H**\n\n3 .Reviewing NEPs : **2H**\n\n  \n**👨‍💻 Mon 24th June 2024 - Fri 28th June 2024**\n\n1. Zero to Hero NEAR Development Auction Contracts Edition- Making corrections according to review [Documentation tasks] **21H**\n\n2. NEAR Dev NEWS: Compiling content for the newsletter...involving going through all DevHub Communities Telegram channels to filter relevant updates, sourcing additional technical updates from external channels, error checking, editing ,compiling and taking notes of improvements. **14H**\n\n3. Community page updates (Protocol Community) - Sourcing , writing updates and sharing across community platforms **1H**\n\n4. Reviewing NEPS - Setting up 11th Protocol WG Meeting : **4H**\n\n5. 1:1 with Guillermo **5M**\n\nBudget Breakdown\nTotal hours: 80\nRate: $25/hour\nTotal amount: $2000","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2000,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"victorkanu1.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/2AXDyryKVcRGziwuCPd2zbdTueMxk7wxW4HjJYYiKbdw\"]}","views":null},{"proposal_id":142,"author_id":"polyprogrammist.near","block_height":123708096,"ts":1721334979405049490,"editor_id":"tfdevhub.near","social_db_post_block_height":122723329,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Vadim for 2024-06-01 - 2024-07-05","category":"Tooling & Infrastructure","summary":"Researched RPC errors in nearcore, added autoref specialization for near-sdk-rs, started working with new contributors - Vladimir and Gleb, created prototype for ledger stax, added kyc_verified to review stage in devhub contract, made other small fixes for devhub contract and indexer.","description":"I am submitting this contributor report as a contributor led by @frol.near\nThis is my 6th contributor report. You can find my previous report [here](https://near.social/devhub.near/widget/app?page=proposal&id=96)\n\n# Project Details and Timeline\n\nResearched RPC errors in nearcore, added autoref specialization for near-sdk-rs, started working with new contributors - Vladimir and Gleb, created prototype for ledger stax, added kyc_verified to review stage in devhub contract, made other small fixes for devhub contract and indexer.\n\n## Week 1, June 1 - June 8\n[2.5h] - Saturday - [PR #6 indexer](https://github.com/NEAR-DevHub/neardevhub-proposals-indexer/pull/6/) - correctly get editor_id instead of author_id\n[6h] - Monday - research on errors in nearcore [Draft](https://github.com/near/nearcore/pull/11549)\n[1.5h] - Tuesday - fixed editor in indexer in case of labels update or proposal linkage\n[0.5h] - Wednesday - deploy indexer for events committee, research on errors in nearcore\n[4h] - Thursday - redeployed indexer for events committee from another block height, research on errors in nearcore, learned nearcore architecture, added set_social_db_profile_description to devhub contract [PR #130](https://github.com/NEAR-DevHub/neardevhub-contract/pull/130)\n[1h] - Friday - research on autoref specialization\n\n2.5 + 6 + 1.5 + 0.5 + 4 + 1 = 15.5\n\n## Week 2, June 10 - June 16\n[3h] - Monday - call with Vlad about errors in nearcore, update notifications for rfps and proposals [PR #131](https://github.com/NEAR-DevHub/neardevhub-contract/pull/131/files)\n[5.5h] - Tuesday - fix widgetAccountId for notifications [PR #133](https://github.com/NEAR-DevHub/neardevhub-contract/pull/133/files), research on autoref specialization, work on rpc error in near core\n[5h] - Wednesday - work on rpc error in nearcore, call with Vlad, devhub meeting\n[4.5h] - Thursday - discussion about errors in nearcore with Vlad, start implementing autoref specialization\n[3h] - Friday - autoref specialization\n\n3 + 5.5 + 5 + 4.5 + 3 = 21\n\n## Week 3, June 17 - June 23\n[1.5h] - Monday - autoref specialization\n[4.5h] - Tuesday - autoref specialization - created prototype\n[5h] - Wednesday - autoref specialization [PR](https://github.com/PolyProgrammist/near-sdk-rs/pull/1) - fixed abi, fixed handle_result, refactored, fixed some tests, devhub meeting\n[2h] - Thursday - devhub weekly meeting, call with Vlad, discussions with Gleb and Vladimir\n[5h] - Friday - prepare for calls with Gleb and Vladimir, call with Gleb, work on ledger\n[1h] - Saturday - Call with Vladimir\n[1h] - Sunday - Work on ledger\n\n1.5 + 4.5 + 5 + 2 + 5 + 1 + 1 = 20\n\n## Week 4, June 24 - June 30\n[1h] - Monday - work on ledger\n[4h] - Tuesday - compiled project on ledger stax, started adding kyc to review in devhub contract\n[4h] - Wednesday - ledger - trying to test and setting up simulator, figured out the bug with\n[4h] - Thursday - fixed moderators for devhub test, set up simulator workspace for ledger, devhub sync, helping megha with setting up contract deployment\n[4h] - Friday - learned ledger, speculos and ragger docs, set up step-by-step testing\n\n1 + 4 + 4 + 4 + 4 = 17\n\n## Week 5, July 1 - July 5\n[4.5h] - Monday - Removed posts, added kyc to review, work on ledger\n[2h] - Tuesday - debugged problem with not updating kyc_verified_review field, ledger: come up with first screen, work on second\n[7h] - Wednesday - fixed bugs and run tests for ledger, fixed some data [PR #59 ledger](https://github.com/dj8yfo/app-near-rs/pull/59/files), devhub meeting\n[2.5h] - Thursday - Research on how to avoid hold in ledger, fix review for kyc_verified [PR #138](https://github.com/NEAR-DevHub/neardevhub-contract/pull/138)\n\n4.5 + 2 + 7 + 2.5 = 16\n\nOverall: 15.5 + 21 + 20 + 17 + 16 = 89.5\n\n# Budget Breakdown\nTotal hours: 89.5\nRate: $50/hour\nTotal amount: $4475 USDT","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":4475,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"polyprogrammist.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/6YLSzKD1Rby6HaXYyL2aC83WiBWN5fnpSyKYcxkTz9MZ\"]}","views":null},{"proposal_id":143,"author_id":"nearblocks_io.near","block_height":124243902,"ts":1721936291104087248,"editor_id":"frol.near","social_db_post_block_height":122747899,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Milestone #5 (12-15 months) - Transition Pagoda’s Near Explorer to NearBlocks","category":"Tooling & Infrastructure","summary":"Please find below an update on our current works. The following points are being worked on and will be released in the coming days & weeks. The ad network and API plan revamp are in the goal of growing additional revenue, easier developer onboarding and allowing other dApps to leverage nearblocks’ audience (1M monthly unique users currently).","description":"Hello Devhub,\n\nPlease find below an update on our current works. The following points are being worked on and will be released in the coming days & weeks. The ad network and API plan revamp are in the goal of growing additional revenue, easier developer onboarding and allowing other dApps to leverage nearblocks’ audience (1M monthly unique users currently).\n\n- **Proprietary ad network.** A self-served ad network is being setup with plans ranging from $100 to $300 per month for full exposure across the entire website to leverage 3M monthly impressions and 1M monthly unique visitors.\n- **Revamp on API plans.** A new pricing model on API plans allowing early founders to leverage historical data starting from $20 per month.\n- **Aurora integration.** Work on the aurora integration is now ongoing and we will have some results in the coming weeks ; \n- **DEX Analytics.** In support of the recent “meme” narrative and the potential revival of [Tkn Homes](https://tkn.homes/), we will be adding more analytics on trades, token prices, charts and liquidity pairs and hope to build the same relationship that Pumpfun and Dexscreener have ;\n- **Migrating from BOS back to React.** With the recent [Pagoda announcement](https://docs.near.org/blog/bos-web-engine-sunset), we will be sunsetting Nearblocks on BOS. It is rather sadening with the change of direction but we do agree with the points surrounding the decision. Building Nearblocks on BOS was a very laborious exercise with a lot of fine tuning and suboptimal user experience. The lack of ability to do npm imports and double loaders we have from first loading BOS and then loaders for data. Our plan will be to keep the lite explorer built on BOS so it can continue to be hosted in a decentralised way without the need for any centralised intermediary. Due to the simplicity of the site, it is a perfect use case for BOS. However, we will transition Nearblocks back to a NextJS app which would allow us to improve the user experience issues we’ve been facing with BOS (ie. double loaders). Users would see immediate benefits on loading speeds and faster iterations of newer features.\n- **Existing tasks such as contract stats, verifications.**\n\nAs our data storage continues to grow in an exponential rate, we are also actively researching and testing better ways to index and store the large data requirements of the growing Near blockchain. \n\nOur public roadmap for milestone #5 can be [found here](https://github.com/orgs/Nearblocks/projects/2/views/5).\n\nAs a reminder : \n- Milestone #1 can be found [here](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=635) ; \n- Milestone #2 can be found [here](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=2042) ;\n- Milestone #3 can be found [here](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=2804) ;\n- Milestone #4 can be found [here](https://near.social/mob.near/widget/MainPage.N.Comment.Page?accountId=frol.near&blockHeight=118848444).\n\n## Highlights of milestone #1 (month 0-3)\n\n- Launch of the explorer selector on BOS ([link](https://explorer.near.org/)).\n- Nearblocks is now open-source ([link](https://github.com/Nearblocks/nearblocks/)).\n- As well as fixing outdated bugs, re-indexing missing tokens and infrastructure upgrades.\n\nOur public roadmap for milestone #1 can be [found here](https://github.com/orgs/Nearblocks/projects/2/views/2?filterQuery=iteration%3A%22Iteration+1%22+).\n\n## Highlights of milestone #2 (month 3-6)\n\nThe bulk of the work within these 3 months has been on BOS and our new infrastructure. The rewrite on BOS and updated indexer we have coded V3 - which we aim to publish by the end of January / early February 2024. \n\nFollowing the incident caused by the NEAT inscription our focus shifted to our infrastructure. The incident highlighted a bottleneck issue, which we were able to fix and sustain subsequent inscriptions without any impact to the site availability.\n\nOur V3 infrastructure has been focused on building a full high availability design with disaster recovery backup in place. With this new infrastructure in place we are able to tolerate 1 location to be unavailable, at any point in time and continue to operate without any interruption to the end user experience. Our focus for this milestone has been on failover testing and ensuring our code can withstand outages while maintaining the data integrity required of being the near block explorer. For some context, our total in use storage sits at 50TB (inclusive of replicas and disaster recovery). The increased investment in our infrastructure cost we believe is critical to maintain the uptime of Nearblocks.\n\nWe will continue to focus on this high availability, our plans will be to have a gateway and BOS selector on Nearblocks, so users can select between: \n\n- Nearblocks on BOS Mainnet\n- Nearblocks on BOS Testnet \n- Legacy React app (which will receive only minor updates). \n\nThe following points are completed and will be published in V3: \n\n- Remaining actions from milestone #1 : Can be [seen here](https://github.com/orgs/Nearblocks/projects/2/views/2?filterQuery=iteration%3A%22Iteration+1%22+) in “Done” ;\n- Updated indexer: Running on mainnet and testnet ([link])(https://beta.nearblocks.io/) ;\n- BOS : Publication of BOS components ([link](https://near.social/devhub.near/widget/app?page=profile&accountId=nearblocks.near)) or search for nearblocks.near [here](https://near.social/lord1.near/widget/component-total)) ; \n- Validators : Validator section in review ([link](https://beta.nearblocks.io/node-explorer)) ;\n- Tokens : Additional legacy tokens added ([link])(https://github.com/Nearblocks/nearblocks/issues/15); \n- Ads: As per request from the ecosystem, we have prepared an ad network for NEAR projects to advertise on Nearblocks. While we know that no one likes ads, the ad revenue will go towards covering the ongoing increased infrastructure costs, and we hope also support Near ecosystem players\n- Contract connect methods updated to use MNW. Wallet selector will be added to BOS version\n\nWe are currently working the following points on V3: \n\n**Tokens:**\n\n- Add SBT token support - Postponed until finalised ([link](https://github.com/near/NEPs/pull/504))\n- Transaction execution enhancements\n\nOur public roadmap for milestone #2 can be [found here](https://github.com/orgs/Nearblocks/projects/2/views/2). \nWe are continuing our attempts to support the ecosystem where best we can, with a number of ongoing requests for additional API data endpoints being worked on for multiple use cases such as taxation, validator stats and wallet support.\n\n## Highlights of milestone #3 (month 6-9)\n\nWithin this milestone we have successfully deployed nearblocks.io on BOS. With this deployment, users can enjoy a faster web experience and developers can leverage a suite of BOS components ([link](https://near.social/mob.near/widget/ProfilePage?accountId=nearblocksonbos.near) - check Widgets tab) we have made available.\n\nOther feature requests and improvements done within this milestone : \n\n- Contract interactions with embedded ABI ;\n- Near.social comments section on addresses, transactions and token pages;\n- Wallet selector integration for contract interactions ;\n- Additional API endpoints for API users (balance history) ;\n- Dark mode ;\n- A new way of visualising a transaction execution plan ([link](https://nearblocks.io/txns/9gQFCZZN2EzjssZkRVZBmgiYjHqfwSAgwX2D62sUhnhP?tab=execution)) ;\n- FT & NFT holder count in real-time ;\n- Validator explorer ([link](https://nearblocks.io/node-explorer)).\n\nOur public roadmap for milestone #3 can be [found here](https://github.com/orgs/Nearblocks/projects/2/views/3).\n\n## Highlights of milestone #4 (month 9-12)\n\nNearblocks schema and infrastructure was updated over the past 3 months. A number of breaking changes were forced to be introduced to the API has resulted in significant speed improvements. \n\nThis milestone we built the first decentralised explorer on Near. The lite explorer is built on BOS found [here](https://lite.nearblocks.io) (for now) and on social.near gateway allows users to check their transaction by using any of the public RPC nodes available. This offers a solution to look up the status of transactions and accounts without any dependency on a centralised indexer.\n\n- Lite explorer ([lite.nearblocks.io](https://lite.nearblocks.io))\n- Enhanced and tree execution plan\n- Receipt summary\n- Display Web3 wallet ie. metamask transactions ([example](https://testnet.nearblocks.io/txns/FH7hDFGa3hXzT8EWupRDBzEf4AwPcgpA9HoPDHhHTUAe?tab=execution))\n- Dex tracking (trades indexing now)\n- Initial work on aurora integration ([example](https://aurora.exploreblocks.io/))\n- Spam token list ([link](https://github.com/Nearblocks/spam-token-list))\n- Cursor pagination for API clients allowing for unlimited historical data query\n- Logarithmic chart changes\n\nOur public roadmap for milestone #4 can be [found here](https://github.com/orgs/Nearblocks/projects/2/views/4).\n\n\n\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":75000,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"nearblocks_io.near","supervisor":null,"timeline":"{\"timeline_version\":\"V1\",\"status\":\"CANCELLED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true}","views":null},{"proposal_id":144,"author_id":"joespano.near","block_height":123708689,"ts":1721335624819472730,"editor_id":"tfdevhub.near","social_db_post_block_height":122869020,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Activities Report 6/22-7/5","category":"DevDAO Operations","summary":"DevHub Moderator Contributions Bi-Weekly Report","description":"**DevHub Activities (8 hours)**\n- Newsletter review and distribution \n\t- Spent time researching send times, led to huge open rate growth from previous average of 35% (~65% average over last 3)\n\t- #17 - 894 recipients, 52% open rate 1.6% link click rate\n\t- #18 - 902 recipients, 80% open rate, 1.6% link click rate \n- Workgroup support\n\t- Marketing\n\t\t- Social and Telegram posts\n- Ecosystem updates\n\t- Collect info, created slides, and presented/posted rundown in channel\n* Q2-Q3 blog final draft\n\n**DevRel (14 hours):**\n- Internal Meetings: weekly stand-ups, 1-on-1 with team members, and meetings with core team members.\n- Ecosystem developer conversations and feedback collection for current and future initiatives\n- Developer follow-up\n- Developer outreach\n\t- Remote support for projects (dAGI hackathon, and NEAR ecosystem game project)\n\t\n- Meetings with teams like HZN and marketing\n\t- Planning for support during current cohort\n\n**Marketing & Retention Planning & In-Progress (43 hours):**\n* Social Media posts\n\t* Summary- 14k+ impressions (decrease impressions BUT growth on average views on TikTok per video and 50% growth on IG), +55 new followers (across all), 54 total posts (across all) \n- Social content planning\n\t- Livestream planning, setup, and recording\n\t\t- 2 Episodes - 2.7k+ impressions (includes replays)\n\t- Video planning and scripting\n\t* Video recordings\n\t\t* Pre-record for July 4 DevHub Live\n\t\t* Additional editing was needed\n\t* Clips editing\n\t\t* 14 clips produced -> 14K+ views\n- Content coordination\n\t- Planning regarding new concepts for Live Stream\n\t- Social CTAs initial planning\n\t- Partnership planning and meetings\n\t* Coordination with NF, Pagoda, and 3rd parties for upcoming content items\n\t\t* Redacted hackathon content brief reviews\n\t\t* Meetings regarding Eth CC needs\n\n**Reimbursements:**\n- Metricool - $54\n- TweetBinder (ended after this) - $25\n- Mailchimp - $143\n\n**Timeline**\n\n- Start Date: 6/22/2024\n- End Date: 7/5/2024\n\n**Requested Funding**\n\n- Total hours: 65\n- Rate: $100/hour\n- Total amount: $6722 USDC","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":6722,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"joespano.near","supervisor":"theori.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":true,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/DQbjmYqejkY4MvJ2C79RR7UXW7rtQCaGDjMyFSUMn7Bz\"]}","views":null},{"proposal_id":145,"author_id":"djeaunty_fourmule.near","block_height":123708299,"ts":1721335202819845847,"editor_id":"tfdevhub.near","social_db_post_block_height":122908630,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Oleg Kuzmin for 2024-10-06 – 2024-05-07","category":"Tooling & Infrastructure","summary":"devevelopment in `near-sdk-rs` and `cargo-near` ","description":"_I am submitting this contributor report as a [fellowship contributor led by @frol.near](/#/devgovgigs.near/widget/gigs-board.pages.Post?id=541)._\n\n- [ ] week Mon Jun 10 2024 - Fri Jun 14 2024\n - [x] [near-sdk-rs(feat): `nep330` build info field of contract metadata](https://github.com/near/near-sdk-rs/pull/1178)\n- [ ] week Mon Jun 17 2024 - Fri Jun 21 2024\n - [x] [near-sdk-rs(ci): 1.79 fixes](https://github.com/near/near-sdk-rs/pull/1202)\n - [x] [near-sdk-rs(feat): `nep330` build info field of contract metadata](https://github.com/near/near-sdk-rs/pull/1178)\n - [x] [`slipped10`: publish of `slip10` fork with `cargo-audit` problem fix](https://github.com/dj8yfo/slipped10)\n - [x] [near-ledger-rs(chore): replace `ed25519-dalek 1.0.1` -> `ed25519-dalek 2.1.1`](https://github.com/khorolets/near-ledger-rs/pull/14)\n- [ ] week Mon Jun 24 2024 - Fri Jun 28 2024\n - [x] [near-ledger-rs(chore): remove default features from `ed25519-dalek`](https://github.com/khorolets/near-ledger-rs/pull/16)\n - [x] [near-sdk-rs(chore): add implicit `BorshSchema` derive for `store::UnorderedMap`](https://github.com/near/near-sdk-rs/pull/1209)\n - [x] [near-cli-rs(chore): replace `ed25519-dalek 1.0.1` -> `ed25519-dalek 2.1.1`](https://github.com/near/near-cli-rs/pull/359)\n- [ ] week Mon Jul 1 2024 - Fri Jul 5 2024\n - [x] [near-cli-rs(chore): replace `ed25519-dalek 1.0.1` -> `ed25519-dalek 2.1.1`](https://github.com/near/near-cli-rs/pull/359)\n - [x] [near-sdk-rs(chore): add implicit `BorshSchema` derive for `store::UnorderedMap`](https://github.com/near/near-sdk-rs/pull/1209)\n - [x] [near-sdk-rs(chore): replace `NearSchema` with `near(inside_near_sdk)`; add missing `BorshSchema` p2](https://github.com/near/near-sdk-rs/pull/1212)\n - [x] [near-sdk-rs(chore): add `BorshSchema` for `store::TreeMap` and `UnorderedSet` p3](https://github.com/near/near-sdk-rs/pull/1213)\n - [x] [near-sdk-rs(fix): return fallback vals of `CARGO_PKG_REPOSITORY` and `CARGO_PKG_VERSION`](https://github.com/near/near-sdk-rs/pull/1215)\n - [x] [cargo-near(test): add docker build integration test](https://github.com/near/cargo-near/pull/169)\n\n# Cost\n- Total hours: 60\n- Rate: $50/hour\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":3000,"requested_sponsorship_paid_in_currency":"USDT","requested_sponsor":"neardevdao.near","receiver_account":"nomadx.near","supervisor":"frol.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":true,\"reviewer_completed_attestation\":true,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/26ZZATBrfPmVwK3fwEUg2SsQJ3KpfbNTvDH6EEx5tFv7\"]}","views":null},{"proposal_id":146,"author_id":"flmel.near","block_height":124535597,"ts":1722261811752686529,"editor_id":"tfdevhub.near","social_db_post_block_height":122927629,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub DevRel Contributor Report by Lyudmil for 01/06/2024 - 30/06/2024","category":"Decentralized DevRel","summary":"Decentralized DevRel Contribution Report by Lyudmil Covering 1 - 30 June, I have been OOO for 10 days during this month","description":"DevHub DevRel Contributor Report by Lyudmil for 01/06/2024 - 30/06/2024\n\n**Support Public Channels - 21h**\n**Meetings: 7h**\n**Community Calls - 5h**\n\n**Contributions: 52h**\nCommits to various repos of near-examples\nMerged prs to docs such as \n[chore: remove orphaned pages](https://github.com/near/docs/pull/2065)\n[Fix: frontend example snippets](https://github.com/near/docs/pull/2062)\n[Add Docs for WSL Support](https://github.com/near/docs/pull/2015)\nOthers that are either WIP or have been reassigned to other members\n\n**Total:** 85h\n**Rate:** 50/h \n**Grand Total:** 4,250\n\n","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":4250,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"flmel.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":true,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/3dc9bsD2dvu5tqmVAbmeTPSqcxhNXb9bakoboRCG2dBR\"]}","views":null},{"proposal_id":147,"author_id":"gagdiez.near","block_height":123047373,"ts":1720596636121333508,"editor_id":"gagdiez.near","social_db_post_block_height":123005734,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Proposal: Standardize budget for IRL DevRel support on events","category":"Events & Hackathons","summary":"I propose a standard budget for DevRels traveling to in-real-life events","description":"From time to time DevRel representatives need to travel to in-real-life events to assist with tasks such as give talks, provide support to hackers, and assist on-site representatives with technical support.\n\nI propose that we standardize the budget for DevRel travelings in the following way:\n\n- DevHub will cover reasonable transportation expenses [1] from/to the city where the event takes place\n- DevHub will cover reasonable hotel expenses [1]\n- DevHub will cover a maximum of 75e per diem on food\n- DevHub will cover in-site transportation between the airport and the hotel, and the hotel and the venue\n\nBesides this, DevHub will pay the DevRels a maximum of 12hs of work per day at their standard rate. This pay will cover the hours worked on the event [2], plus some \"extra hours\" used as incentive for traveling [3].\n\nI propose DevHub to uses these points as the general guidelines, and to only accept exeptions to these rules when they are explicitly state in the form of a proposal - which should be reviewed by the DevRel team, and only become valid if accepted\n\n[footnotes]\n\n[1] DevHub reserves the right to decide what is reasonable, but common sense should suffice: DevHub will not pay for 5 star hotels or airplane tickets in first class, but neither we expect DevRels to get the cheapest hotel in town.\n\n[2] Devhub will not pay for the time expent on traveling\n\n[3] The amount of \"extra\" hours used as incentive will be decided on an event basis","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":0,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"gagdiez.near","supervisor":"yarotska.near","timeline":"{\"status\":\"DRAFT\"}","views":null},{"proposal_id":148,"author_id":"megha19.near","block_height":123709518,"ts":1721336556630401304,"editor_id":"tfdevhub.near","social_db_post_block_height":123295724,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"DevHub Developer Contributor report by Megha for 06/17/2024 - 07/14/2024","category":"DevDAO Platform","summary":"Worked on treasury dashboard added dashboard, payment page, moved infrastructure to one devhub repo as an instance, worked on bugs and UI improvements like KYC, T&C, Load more etc for devhub app.","description":"#### Summary of Activities\n##### Week 1 (17 June to 23 June)\n\n- Checkout issue shared by Trentin (1h)\n- Work on getting absolute balance and relative balance from txn response using nearblocks API (4h)\n- Call with Peter about transaction history (0.5h)\n- Add txn history UI to dashboard page [#27](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/27) (1d)\n- Add view more support for txns [#27](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/27) (4h)\n- Make dashboard page responsive [#27](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/27) (2h)\n- Discussion with Peter about how to fetch different staked token + call (2h)\n- Add staked tokens in portfolio (6h)\n- Fix infrastructure page landing page UI [#32](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/32) (1h) \n- Review PRs (0.5h)\n- Team call (0.5h)\n- Devhub live call (0.5)\n- Move KYC/KYB proposal timeline step from Payment Processing to Review stage and add tests [#853](https://github.com/NEAR-DevHub/neardevhub-bos/pull/853) (5h)\n- Text Ori about design for login and T&C requirements (0.5h)\n- Remove T&C from Infra and update tests [#33](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/33) (1.5h)\n- Update T&C for devhub to use widgets and add blockheight, logs[ #854](https://github.com/NEAR-DevHub/neardevhub-bos/pull/854) (5h) \n\nTotal: 42 hours\n\nWeek 2 (24 June to 30 June)\n\n- Add base for operations and members page [#28](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/28) (1d)\n- Add fallback to new RPC when archival is not working (3h)\n- Fix about page issue with infra [#34](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/34) (0.5h)\n- Create ticket for slow fetching of proposals data and other minor issues [#855](https://github.com/NEAR-DevHub/neardevhub-bos/issues/855) (0.5h)\n- Move infra code to devhub repo, integrate with bos-workspace [#857](https://github.com/NEAR-DevHub/neardevhub-bos/pull/857) (1d)\n- Discuss with Vadim about issues with permissions of infra and fix them in UI [#35](https://github.com/NEAR-DevHub/near-prpsls-bos/pull/35) (1.5h)\n- Separate treasury and deployment account [#29](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/29) (1h)\n- Team call (0.5h)\n- Sync call for instances with Peter and Thomas (1h)\n- Checkout Trentin issue regarding redirection, contact near.org team and create issue [#839](https://github.com/near/near-discovery-components/issues/839) (1h)\n- Fix tests to use prod data instead of testing for infra, fix flaky tests and access key issue for “Don’t ask again”, CORS issue with devhub, discuss with Peter [#853](https://github.com/NEAR-DevHub/neardevhub-bos/pull/853) [#854](https://github.com/NEAR-DevHub/neardevhub-bos/pull/854) [#857](https://github.com/NEAR-DevHub/neardevhub-bos/pull/857) (1.5d) \n- Update KYC according to contract update, text Vadim about issues (2h)\n\nTotal : 39 hours\n\nWeek 3 (1 July to 7 July)\n\n- Convert the T&C pdf to HTML to use as widget [#854](https://github.com/NEAR-DevHub/neardevhub-bos/pull/854) (3h) \n- Discuss with Vadim about issue with contract for T&C (1h)\n- Use RPC to fetch user accepted T&C blockheight from add_proposal args [#854](https://github.com/NEAR-DevHub/neardevhub-bos/pull/854) (5h)\n- Team call (0.5h)\n- Call with Thomas about tests instances (1h)\n- Call with Peter about bw, bos-loader, RPC proxy (0.5h)\n- Add deployment and playwright tests script for different instances as per call discussion, create symlink for src [#857](https://github.com/NEAR-DevHub/neardevhub-bos/pull/857) (1.5d)\n- Add “Load More” in proposal feed to improve performance and update the filter/search requests , update tests [#859](https://github.com/NEAR-DevHub/neardevhub-bos/pull/859) (1d)\n- Add create payment request page with sputnik proposal integration [#30](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/30) (1d)\n\nTotal : 39 hours\n\nWeek 4 (8 July to 14 July)\n\n- Debug with Peter issue with deployment of terms and add widget blockheight to code after deployment [#860](https://github.com/NEAR-DevHub/neardevhub-bos/pull/860) [#861](https://github.com/NEAR-DevHub/neardevhub-bos/pull/861) (1h)\n- Call with Peter about tests debugging (0.5h)\n- Make infra instance PR ready for review (1h)\n- Deploy devhub contract to testing account, set moderators, check the KYC issue with payment processing stage and fix it [#865](https://github.com/NEAR-DevHub/neardevhub-bos/pull/865) [#869](https://github.com/NEAR-DevHub/neardevhub-bos/pull/869) (2h)\n- Navigate to payment page after successful proposal submission [#30](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/30) (3h)\n- Add operations -> pending requests page [#33](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/33)(2d)\n- Fix log alignment [#866](https://github.com/NEAR-DevHub/neardevhub-bos/pull/866) (1h)\n- Review PRs (0.5h)\n- Team call (0.5h)\n- Checkout issue shared by Ori related to infra (0.5h)\n- Discussion with Ori about login screens (0.5h)\n- Add balances to each token dropdown in create payment request, remove sender dropdown [#30](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/30) (3h)\n- Call with Ori and Vlad (1h)\n- Add current blockheight to T&C, update tests to use RPC to get current block height [#871](https://github.com/NEAR-DevHub/neardevhub-bos/pull/871) (2h)\n- Call with Peter about using current block height in tests (1h)\n- Update treasury deploy script to use bw build, add dry run for PRs [#32](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/32) (2.5h)\n- Redeploy indexer, check the issue with status update and change config in frontend, use replacements [#874](https://github.com/NEAR-DevHub/neardevhub-bos/pull/874) (2h)\n- Add operations -> history page [#33](https://github.com/NEAR-DevHub/neardevhub-treasury-dashboard/pull/33) (1d)\n\nTotal : 46 hours\n\nTotal Hours: 166\nHourly rate: $50/h\nTotal: 8300 USD","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":8300,"requested_sponsorship_paid_in_currency":"OTHER","requested_sponsor":"neardevdao.near","receiver_account":"megha19.near","supervisor":"theori.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"Bank Payment 07/17/24\"]}","views":null},{"proposal_id":149,"author_id":"pivortex.near","block_height":126767758,"ts":1724873212388597872,"editor_id":"tfdevhub.near","social_db_post_block_height":123465336,"labels":[],"proposal_version":"V0","proposal_body_version":"V2","name":"Owen DevRel Contributor Report 1 July - 14 July","category":"Decentralized DevRel","summary":"Bi-weekly paid developer relations contributor report. These activities aim to improve the developer experience in the NEAR ecosystem","description":"## Timeline\nStart Date: July 1, 2024\n\nEnd Date: July 14, 2024\n​\n## Requested Funding\nHours: 52:25\n\nRate: $50/hour \n\nTotal Amount: $2621\n\n# Summary of Activities\n\n### Developer and community support \n- 7:55 Supporting developers through Discord, Telegram and office hours.\n\n## Contributions\n- 25:40 Working on [NFT Chain Keys example](https://github.com/near-examples/near-multichain/pull/27)\n- 0:50 [Fixing tutorials doc strings](https://github.com/near/docs/issues/2125)\n- 7:00 Working on [auction series](https://github.com/near/docs/issues/2023) \n- 1:40 Providing [feedback](https://docs.google.com/document/d/1k3eYDibA2dGFDNdeMQ5FhaYGvbya0VovGQwzGDBANMA/edit?usp=sharing) on docs \n\n## Content \n- 2:00 DevHub live prep \n- 2:00 Cohost DevHub live\n- 1:20 Calls regarding newsletter with Joe and Victor\n\n### General / Other \n- 1:20 DevRel team calls\n- 1:10 One-on-one with Guillermo\n- 0:40 Reading up on BOS news, race of sloths, and travel guidelines\n- 0:50 Misc activities, includes assisting DevRel team and odd jobs.","linked_proposals":[],"linked_rfp":null,"requested_sponsorship_usd_amount":2621,"requested_sponsorship_paid_in_currency":"USDC","requested_sponsor":"neardevdao.near","receiver_account":"icespice.near","supervisor":"gagdiez.near","timeline":"{\"timeline_version\":\"V1\",\"status\":\"FUNDED\",\"sponsor_requested_review\":false,\"reviewer_completed_attestation\":false,\"kyc_verified\":true,\"kyc_verified_deprecated\":false,\"test_transaction_sent\":true,\"request_for_trustees_created\":false,\"trustees_released_payment\":true,\"payouts\":[\"https://nearblocks.io/txns/9QdtnCxSNbHabnGVa5CR5fbNszoWrKPKXdmzeCTqetJq\"]}","views":null}],"page":1,"total_pages":6,"limit":50,"total_records":278} \ No newline at end of file