diff --git a/.github/workflows/fly-deploy.yml b/.github/workflows/fly-deploy.yml deleted file mode 100644 index 9e8547b..0000000 --- a/.github/workflows/fly-deploy.yml +++ /dev/null @@ -1,30 +0,0 @@ -# # See https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/ - -name: Fly Deploy -on: - push: - branches: - - main -jobs: - deploy: - name: Deploy Applications - runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# - uses: superfly/flyctl-actions/setup-flyctl@master -# - name: Deploy Devhub -# run: flyctl deploy --remote-only -c fly.toml -# env: -# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} -# - name: Deploy Infra -# run: flyctl deploy --remote-only -c fly.infra.toml -# env: -# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} -# - name: Deploy Events -# run: flyctl deploy --remote-only -c fly.events.toml -# env: -# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} -# - name: Deploy Templar -# run: flyctl deploy --remote-only -c fly.templar.toml -# env: -# FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index 1500b71..b9bd037 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2201,9 +2201,9 @@ dependencies = [ [[package]] name = "near-api" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a97c776b376cf7712e5e8942c0bf729baf05e939505ed33021f82e6b3e6baad" +checksum = "51053230aa02fd948be142c4e72cf332953f9352a203e5c2fdaca02f5996a4c5" dependencies = [ "async-trait", "bip39", @@ -2228,7 +2228,7 @@ dependencies = [ "serde", "serde_json", "slipped10", - "thiserror 1.0.69", + "thiserror 2.0.3", "tokio", "tracing", "url", @@ -2237,9 +2237,9 @@ dependencies = [ [[package]] name = "near-chain-configs" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa23b4799779931ac810dc95a834cf6832448462161431f65f2f0bd16f1a3b54" +checksum = "4c1f312b5e1cdb6d6eb8a753de5798fe70fc2aa048b37d9a08a8d63f5623707d" dependencies = [ "anyhow", "bytesize", @@ -2261,30 +2261,30 @@ dependencies = [ [[package]] name = "near-config-utils" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7b41110a20f1d82bb06f06e4800068c5ade6d8ff844787f8753bc2ce7b16f7" +checksum = "bedc768765dd8229a1d960c94f517317f40771a003e78916124784c7d6ea9d74" dependencies = [ "anyhow", "json_comments", - "thiserror 1.0.69", + "thiserror 2.0.3", "tracing", ] [[package]] name = "near-contract-standards" -version = "5.6.0" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b352e9b2f7c3abe5db91d91e446810433c6afbd3e43d7b3d989a2ef32c1dc2e" +checksum = "6b8bc68a8c2bac5e44b38e322e41cadeefe33f766993bf067375b63cc860a73b" dependencies = [ "near-sdk", ] [[package]] name = "near-crypto" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b17944c8d0f274c684227d79fcd46d583b1e36064b597c53a9ebec187a86f3" +checksum = "4374804fdd45ac84c9e7cc3183312c98560c5518d81e6d8e2d92b77587e5a9f3" dependencies = [ "blake2", "borsh", @@ -2303,14 +2303,14 @@ dependencies = [ "serde", "serde_json", "subtle", - "thiserror 1.0.69", + "thiserror 2.0.3", ] [[package]] name = "near-fmt" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eff0731995774d1498f017c968a3ebbfdadad84f556afea4b83679f6706ac9" +checksum = "f14f36eee2dcb0ecd8febb9f198e0e1fa768c834db9e1982ad2acfcd04b45acf" dependencies = [ "near-primitives-core", ] @@ -2328,9 +2328,9 @@ dependencies = [ [[package]] name = "near-jsonrpc-client" -version = "0.14.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942dfa1269d14ea33454a0e9bc39b0d14ab5c6057b21e23e80753239879c5e54" +checksum = "e66a0c4c47f2fbbfa11ea8317fce2288d70d4aa8231e77fd213721ffcc1c334f" dependencies = [ "borsh", "lazy_static", @@ -2342,14 +2342,14 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.3", ] [[package]] name = "near-jsonrpc-primitives" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c89197294a74af70fd5d06b4876dc2a400ffbdff6131e640e75fcb4fd194649" +checksum = "90f445f809d1f227f0f61f38c14271635c0bc9a28a8f74a803a4fb25292d5ea7" dependencies = [ "arbitrary", "near-chain-configs", @@ -2358,7 +2358,7 @@ dependencies = [ "near-schema-checker-lib", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.3", "time", ] @@ -2380,9 +2380,9 @@ dependencies = [ [[package]] name = "near-parameters" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4b4d014ac9f46baf0eeac7214567a08db97d5fd26157ea13edfbb8ffc5fd8c" +checksum = "1279baa276725971d5e2b80c524d1aa42d5ad8bccf8901466fd579374cf58a14" dependencies = [ "borsh", "enum-map", @@ -2394,14 +2394,14 @@ dependencies = [ "serde_repr", "serde_yaml", "strum 0.24.1", - "thiserror 1.0.69", + "thiserror 2.0.3", ] [[package]] name = "near-primitives" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45b4742a1817ff7d80dcf51c6facb8134478f8c4a6d717825cca2e4b834b17f" +checksum = "6ab6ecc354e61c40b044c8b553c187383a587a1679d2e594f0b98ca58dbfb6e3" dependencies = [ "arbitrary", "base64 0.21.7", @@ -2434,16 +2434,16 @@ dependencies = [ "sha3", "smart-default", "strum 0.24.1", - "thiserror 1.0.69", + "thiserror 2.0.3", "tracing", "zstd 0.13.2", ] [[package]] name = "near-primitives-core" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de2c9da5de096b5cd4786a270900ff32a49d267e442a2e7f271fb23eb925c87" +checksum = "d597af103bb7881d1fb9031fb126cfe6c1acb9c9a6c8296dca45b5b3beb0893d" dependencies = [ "arbitrary", "base64 0.21.7", @@ -2457,14 +2457,14 @@ dependencies = [ "serde", "serde_repr", "sha2 0.10.8", - "thiserror 1.0.69", + "thiserror 2.0.3", ] [[package]] name = "near-sandbox-utils" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fab5bbcdca923963f65dc0ffb630135b9858a0cc5dc8136e746a10094d84e9a6" +checksum = "51b918c05ec1ac6bf36f5f78e286befa987b17773b9fe4e80958d6350a494c98" dependencies = [ "anyhow", "binary-install", @@ -2475,15 +2475,15 @@ dependencies = [ [[package]] name = "near-schema-checker-core" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03541d1dadd0b5dd0a2e1ae1fbe5735fdab79332ed556af36cdcbe50d4b8cf04" +checksum = "a48405425eca34de98e680416310df33fdb75768a78481cc75b43172b2748613" [[package]] name = "near-schema-checker-lib" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9050b0822d2c0dbd90d8c523fd74634f77c5be4ed3337e7010c0d986121982" +checksum = "dfb720bf5cc256af687a9eb7a6e05baf3668dc75cfd43098e83ba1b3d3900f08" dependencies = [ "near-schema-checker-core", "near-schema-checker-macro", @@ -2491,15 +2491,15 @@ dependencies = [ [[package]] name = "near-schema-checker-macro" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1bca8c93ff0ad17138c147323a07f036d11c9e1602e3bc2ac9d29c3cf78b89d" +checksum = "b41a159cbf732acc0279febdde046d9036330a32a951796bce42f9529bce799d" [[package]] name = "near-sdk" -version = "5.6.0" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c7e6b1962fca1637bf668c18b498328100f8974aa798ed44702ba77c3bdac" +checksum = "befb9df6da1a6a0b6656388c0db76084867062a87f1cbc066c188a8e360b6463" dependencies = [ "base64 0.22.1", "borsh", @@ -2517,9 +2517,9 @@ dependencies = [ [[package]] name = "near-sdk-macros" -version = "5.6.0" +version = "5.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0818798144d69a248d76e22b04d1b89b84b80575c96c4af0f7f0332b22487a08" +checksum = "1268c4fc56bf53d70c200261fb8d57c6c1c6692243660f5f889c7fa4cf5771d2" dependencies = [ "Inflector", "darling", @@ -2534,9 +2534,9 @@ dependencies = [ [[package]] name = "near-stdx" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427b4e4af5e32f682064772da8b1a7558b3f090e6151c8804cff24ee6c5c4966" +checksum = "7a91674768828a593f4bac4aeca9334c4b56fe19344a2ccf7bd795b2325f0b5e" [[package]] name = "near-sys" @@ -2546,9 +2546,9 @@ checksum = "dbf4ca5c805cb78700e10e43484902d8da05f25788db277999d209568aaf4c8e" [[package]] name = "near-time" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66ade805f0ca8211f0ca2e6ea130f8ddd03bf70c9c93ebeabdddf37314e3f30b" +checksum = "c92bf9dffb11126e8db9a6a51bcb330c8584d0bab0d6d14c20cf2ff1f16d684d" dependencies = [ "serde", "time", @@ -2566,9 +2566,9 @@ dependencies = [ [[package]] name = "near-workspaces" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed9db2b896d14a0d040a73d9dbb93c5bb3450b01f7dd21325a362f9aeddef59" +checksum = "7e5804591268264c4e308cc84a54f4c7416da6ad34f8ea5c5a4b1842bc5462de" dependencies = [ "async-trait", "base64 0.22.1", diff --git a/Cargo.toml b/Cargo.toml index 783fc27..42c127e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -near-workspaces = { version = "0.15.0", optional = true } +near-workspaces = { version = "0.16.0", optional = true } near-account-id = "1.0.0" near-sdk = "5.3.0" rocket = { version = "0.5.0", features = ['json'] } @@ -28,8 +28,8 @@ anyhow = "1.0.76" rocket_cors = "0.6.0" utoipa-swagger-ui = { version = "7.1", features = ["rocket"] } reqwest = "0.12.8" -near-api = "0.3.0" -near-jsonrpc-client = "0.14.0" +near-api = "0.4.0" +near-jsonrpc-client = "0.15.1" regex = "1.11.1" base64 = "0.22.1" futures = "0.3.31" diff --git a/src/rpc_service.rs b/src/rpc_service.rs index 5646c7a..6dfcb9b 100644 --- a/src/rpc_service.rs +++ b/src/rpc_service.rs @@ -1,7 +1,8 @@ use devhub_shared::proposal::VersionedProposal; use devhub_shared::rfp::VersionedRFP; use near_account_id::AccountId; -use near_api::{prelude::*, types::reference::Reference, types::Data}; +use near_api::{types::reference::Reference, types::Data}; +use near_api::{Contract, NetworkConfig, RPCEndpoint}; use near_jsonrpc_client::methods::query::RpcQueryRequest; use rocket::http::Status; use rocket::serde::json::json; @@ -42,8 +43,15 @@ impl Default for RpcService { impl RpcService { pub fn new(id: &AccountId) -> Self { + let mut network = NetworkConfig::mainnet(); + + // FASTNEAR RPC provider as back up when our tests hit a toomanyrequests error. + network.rpc_endpoints.push(RPCEndpoint::new( + "https://free.rpc.fastnear.com".parse().unwrap(), + )); + Self { - network: NetworkConfig::mainnet(), + network, contract: Contract(id.clone()), } } diff --git a/src/tests.rs b/src/tests.rs index 8ac3c6e..19dc5a8 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -1,15 +1,16 @@ +use devhub_shared::proposal::{Proposal, VersionedProposal}; use futures::future::join_all; -use near_api::prelude::Contract; +use near_api::Contract; +use crate::db::db_types::LastUpdatedInfo; +use crate::nearblocks_client::types::BLOCK_HEIGHT_OFFSET; use crate::rpc_service::RpcService; use crate::{db::db_types::ProposalWithLatestSnapshotView, types::PaginatedResponse, Env}; use crate::{separate_number_and_text, timestamp_to_date_string}; +use futures::StreamExt; use near_sdk::AccountId; use serde_json::{json, Value}; -/** - * Test that the proposal ids are continuous, and the name and status matches - */ #[rocket::async_test] async fn test_proposal_ids_continuous_name_status_matches() { use rocket::local::asynchronous::Client; @@ -99,6 +100,97 @@ async fn test_proposal_ids_continuous_name_status_matches() { } } +#[rocket::async_test] +async fn test_if_the_last_ten_will_get_indexed() { + use rocket::local::asynchronous::Client; + + let client = Client::tracked(super::rocket()) + .await + .expect("valid `Rocket`"); + + let contract_string: String = + std::env::var("CONTRACT").unwrap_or_else(|_| "devhub.near".to_string()); + let contract_account_id: AccountId = contract_string.parse().unwrap(); + + // Get all proposal ids from the RPC service + let rpc_service = RpcService::new(&contract_account_id); + let proposal_ids = rpc_service.get_all_proposal_ids().await.unwrap(); + let last_ten_ids: Vec = proposal_ids.iter().rev().take(10).cloned().collect(); + + // Get the last 10 proposals + let versioned_proposals: Vec = futures::stream::iter(last_ten_ids) + .then(|id| { + let rpc_service = rpc_service.clone(); + async move { rpc_service.get_proposal(id).await.unwrap().data } + }) + .collect() + .await; + + let proposals: Vec = versioned_proposals + .iter() + .map(|vp| Proposal::from((*vp).clone())) + .collect(); + + // Set the block height to a recent block so we won't index from the start + let block_height = proposals.last().unwrap().social_db_post_block_height; + eprintln!("block_height: {:?}", block_height); + let set_block_height = block_height as i64 - BLOCK_HEIGHT_OFFSET; + let block_height_query = format!("/proposals/info/block/{}", set_block_height); + let _ = client.get(block_height_query).dispatch().await; + + // Check that the blockheight is set + let info = client + .get("/proposals/info/".to_string()) + .dispatch() + .await + .into_json::() + .await + .unwrap(); + + assert_eq!( + info.after_block, set_block_height, + "Block height should be set to {:?} but is {:?}", + set_block_height, info.after_block + ); + + eprintln!("after_block: {:?}", info.after_block); + + // Get the last ten proposals from the API + let limit = 10; + let query = format!("/proposals?limit={}", limit); + let result = client + .get(query) + .dispatch() + .await + .into_json::>() + .await + .unwrap(); + + assert_eq!(proposals.len(), limit); + assert_eq!(result.records.len(), limit); + + eprintln!( + "Proposal IDs RPC: {:?}", + proposals.iter().map(|p| p.id as i32).collect::>() + ); + eprintln!( + "Proposal IDs API: {:?}", + result + .records + .iter() + .map(|r| r.proposal_id) + .collect::>() + ); + // Compare the last 10 proposals from the API with the RPC + for (record, proposal) in result.records.iter().zip(proposals.iter()) { + assert_eq!( + record.proposal_id, proposal.id as i32, + "Proposal ID from the API {:?} doesn't match the RPC {:?} on contract {:?}", + record.proposal_id, proposal.id, contract_string + ); + } +} + #[rocket::async_test] async fn test_all_proposals_are_indexed() { use near_sdk::AccountId; @@ -248,4 +340,93 @@ fn test_separate_number_and_text() { separate_number_and_text("test 123"), (Some(123), "test".to_string()) ); + + // Multiple numbers in the string + assert_eq!( + separate_number_and_text("123test456"), + (Some(123), "test456".to_string()) + ); + + // String with special characters + assert_eq!( + separate_number_and_text("@#$%^&*()"), + (None, "@#$%^&*()".to_string()) + ); + + // Negative number should be ignored + assert_eq!( + separate_number_and_text("-123 test"), + (Some(123), "- test".to_string()) + ); +} + +#[test] +fn test_cors_configuration() { + use rocket::http::{Header, Status}; + use rocket::local::blocking::Client; + + let client = Client::tracked(super::rocket()).expect("valid Rocket instance"); + + // Test allowed origin + let res = client + .get("/") + .header(Header::new("Origin", "http://localhost:3000")) + .dispatch(); + assert_eq!( + res.status(), + Status::Ok, + "Response should be Ok 200 but is {:?}", + res.status() + ); + assert!(res + .headers() + .get("Access-Control-Allow-Origin") + .next() + .is_some()); + + // Test disallowed origin + let response = client + .get("/") + .header(Header::new("Origin", "http://disallowed-origin.com")) + .header(Header::new("Access-Control-Request-Method", "GET")) + .dispatch(); + + assert_eq!( + response.status(), + Status::Forbidden, + "Response should be Forbidden 403 but is {:?}", + response.status() + ); +} + +#[test] +fn test_custom_error_handler() { + use rocket::http::Status; + use rocket::local::blocking::Client; + + let client = Client::tracked(super::rocket()).expect("valid Rocket instance"); + + // Test 404 Not Found + let response = client.get("/nonexistent_route").dispatch(); + assert_eq!(response.status(), Status::NotFound); + assert_eq!( + response.into_string().unwrap(), + "Custom 404 Error: Not Found" + ); +} + +#[rocket::async_test] +async fn test_route_test() { + use rocket::local::asynchronous::Client; + + let client = Client::tracked(super::rocket()) + .await + .expect("valid Rocket instance"); + + // Test valid request + let response = client.get("/test").dispatch().await; + assert_eq!( + response.into_string().await.unwrap(), + "Welcome to devhub.near" + ); } diff --git a/test/nearblocks-example.json b/test/nearblocks-example.json new file mode 100644 index 0000000..103022e --- /dev/null +++ b/test/nearblocks-example.json @@ -0,0 +1,1029 @@ +{ + "cursor": "11249475397", + "txns": [{ + "id": "11350390245", + "receipt_id": "A32HK9XzEnYy1SsYzpPKoViVGuXs8ziW9eTNyyRN9zra", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "2Xo5kiKeQ6YDzUo2Ku39Ys8LakzPDkzKdr6d5fPdA8dc", + "block_height": 135066054, + "block_timestamp": 1734297768066253300 + }, + "receipt_outcome": { + "gas_burnt": 3604195726427, + "tokens_burnt": 360419572642700000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "6nwdcFercetfLREq9cJDxNLHwe4zbimDKg7NMRgQbvP3", + "included_in_block_hash": "HXmcoxpcPYsf6BHiJ7An5Ae5kzcyoXLLosS2xcB38xad", + "block_timestamp": "1734297764499770289", + "block": { + "block_height": 135066051 + }, + "receipt_conversion_tokens_burnt": "37662868217000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 360419572642700000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"[{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/mention\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":165,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"nneoma.near\\\\\\\\\\\\\\\"}},{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/mention\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":165,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"nneoma.near\\\\\\\\\\\\\\\"}}]\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.7249131290207e+21 + } + }, + { + "id": "11350390242", + "receipt_id": "581mk8FR3hVuYpTzsG46M6osgZJuRTZPRRER31y1deXG", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "2Xo5kiKeQ6YDzUo2Ku39Ys8LakzPDkzKdr6d5fPdA8dc", + "block_height": 135066054, + "block_timestamp": 1734297768066253300 + }, + "receipt_outcome": { + "gas_burnt": 2985112147685, + "tokens_burnt": 298511214768500000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "6nwdcFercetfLREq9cJDxNLHwe4zbimDKg7NMRgQbvP3", + "included_in_block_hash": "HXmcoxpcPYsf6BHiJ7An5Ae5kzcyoXLLosS2xcB38xad", + "block_timestamp": "1734297764499770289", + "block": { + "block_height": 135066051 + }, + "receipt_conversion_tokens_burnt": "37662868217000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set_block_height_callback", + "deposit": 0, + "fee": 298511214768500000000, + "args": "{\"proposal\": {\"id\": 165, \"snapshot\": {\"name\": \"Summary of Work Activities: Hackbox Product Manager (November 20 - December 20)\", \"labels\": [\"Hackbox\", \"Event sponsorship\"], \"summary\": \"A summary of all completed work activities between the specified date range and all planned work for the next pay period.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"editor_id\": \"nneoma.near\", \"timestamp\": \"1734297766681884974\", \"supervisor\": \"yarotska.near\", \"description\": \"- Supported the process of bounty and travel stipend delivery for all [REDACTED] hackathon winners and participants\\\\\\\\n- Contributed to [REDACTED] retrospectives\\\\\\\\n- Supplied a comprehensive database of new repositiories generated from DevHub-sponsored hackathons to Electric Capital for the 2024 Developer Report\\\\\\\\n- Wrote the Hackbox EOY report summarizing key metrics, achievements, collaborations, and forward-looking plans.\\\\\\\\n- Strategic planning around Hackbox V2 for 2025, roadmap development, leads mapping, and content planning\\\\\\\\n- Hackbox official website explorations and copywriting\\\\\\\\n- Attended weekly syncs for Events Working Group \\\\\\\\n\\\\\\\\n#### Timeline\\\\\\\\nStart: November 20 2024\\\\\\\\nEnd date: December 20 2024\\\\\\\\nTotal hours per week: 45\\\\\\\\nTotal hours: 180\\\\\\\\nHourly rate: $50/hr\\\\\\\\nTotal: $9000\", \"linked_proposals\": [], \"receiver_account\": \"nneoma.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"9000\", \"requested_sponsorship_paid_in_currency\": \"USDC\"}, \"author_id\": \"nneoma.near\", \"snapshot_history\": [], \"social_db_post_block_height\": \"0\"}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.7249131290207e+21 + } + }, + { + "id": "11350390239", + "receipt_id": "4ZzM35hTA7c4qL9BBHN1Gxgx6yQMt4eG4rDQdMm9iGLp", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "2Xo5kiKeQ6YDzUo2Ku39Ys8LakzPDkzKdr6d5fPdA8dc", + "block_height": 135066054, + "block_timestamp": 1734297768066253300 + }, + "receipt_outcome": { + "gas_burnt": 4571707640237, + "tokens_burnt": 457170764023700000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "6nwdcFercetfLREq9cJDxNLHwe4zbimDKg7NMRgQbvP3", + "included_in_block_hash": "HXmcoxpcPYsf6BHiJ7An5Ae5kzcyoXLLosS2xcB38xad", + "block_timestamp": "1734297764499770289", + "block": { + "block_height": 135066051 + }, + "receipt_conversion_tokens_burnt": "37662868217000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 457170764023700000000, + "args": "{\"data\": {\"events-committee.near\": {\"post\": {\"main\": \"{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"text\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"We have just received a new *Bounty* proposal.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**By**: @nneoma.near\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Title**: \\\\\\\\u{201c}Summary of Work Activities: Hackbox Product Manager (November 20 - December 20)\\\\\\\\u{201c}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Summary**:\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nA summary of all completed work activities between the specified date range and all planned work for the next pay period.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nRead the full proposal and share your feedback on [DevHub](/events-committee.near/widget/app?page=proposal&id=165)\\\\\\\\\\\\\\\"}\"}, \"index\": {\"post\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.7249131290207e+21 + } + }, + { + "id": "11350388845", + "receipt_id": "izsvTcGR6QqsXLZqsKu8EmuKui1xUzQjV55KBGBT1SH", + "predecessor_account_id": "nneoma.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "BTbeHcwDGdAPKgp4kJTXw2bTZ46Y6w28Vx5Yfh8wBsjT", + "block_height": 135066052, + "block_timestamp": 1734297765474862800 + }, + "receipt_outcome": { + "gas_burnt": 5711487093688, + "tokens_burnt": 571148709368800000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "6nwdcFercetfLREq9cJDxNLHwe4zbimDKg7NMRgQbvP3", + "included_in_block_hash": "HXmcoxpcPYsf6BHiJ7An5Ae5kzcyoXLLosS2xcB38xad", + "block_timestamp": "1734297764499770289", + "block": { + "block_height": 135066051 + }, + "receipt_conversion_tokens_burnt": "37662868217000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "add_proposal", + "deposit": 0, + "fee": 571148709368800000000, + "args": "{\"body\": {\"name\": \"Summary of Work Activities: Hackbox Product Manager (November 20 - December 20)\", \"summary\": \"A summary of all completed work activities between the specified date range and all planned work for the next pay period.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"supervisor\": \"yarotska.near\", \"description\": \"- Supported the process of bounty and travel stipend delivery for all [REDACTED] hackathon winners and participants\\\\\\\\n- Contributed to [REDACTED] retrospectives\\\\\\\\n- Supplied a comprehensive database of new repositiories generated from DevHub-sponsored hackathons to Electric Capital for the 2024 Developer Report\\\\\\\\n- Wrote the Hackbox EOY report summarizing key metrics, achievements, collaborations, and forward-looking plans.\\\\\\\\n- Strategic planning around Hackbox V2 for 2025, roadmap development, leads mapping, and content planning\\\\\\\\n- Hackbox official website explorations and copywriting\\\\\\\\n- Attended weekly syncs for Events Working Group \\\\\\\\n\\\\\\\\n#### Timeline\\\\\\\\nStart: November 20 2024\\\\\\\\nEnd date: December 20 2024\\\\\\\\nTotal hours per week: 45\\\\\\\\nTotal hours: 180\\\\\\\\nHourly rate: $50/hr\\\\\\\\nTotal: $9000\", \"linked_proposals\": [], \"receiver_account\": \"nneoma.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"9000\", \"requested_sponsorship_paid_in_currency\": \"USDC\"}, \"labels\": [\"Event sponsorship\", \"Hackbox\"], \"accepted_terms_and_conditions_version\": 135066015}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.7249131290207e+21 + } + }, + { + "id": "11271376248", + "receipt_id": "F3tQUDQa1APowJgPkQvfrQhmRZFyifyNKUWXPB57eeby", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "Hf3exEr5Xyctv1LVQWT5UF6C2nsr3ctk6XZXsPp77Yf8", + "block_height": 134921007, + "block_timestamp": 1734132028142588000 + }, + "receipt_outcome": { + "gas_burnt": 3585905808281, + "tokens_burnt": 358590580828100000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "3fNZ2BG81yn1tjYb2Qo4QBTtv6HiupTiG9CDjDVGeBMu", + "included_in_block_hash": "J1tBWoC14r7kDKLk2yWVEvHQJBxLfRhQPgYkBhLR3axt", + "block_timestamp": "1734132026220952830", + "block": { + "block_height": 134921005 + }, + "receipt_conversion_tokens_burnt": "31711940585000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 358590580828100000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"audreychenmoney.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":164,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"audreychenmoney.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 782428375167100000000 + } + }, + { + "id": "11271376072", + "receipt_id": "5XHyVJq6VQKJd2ZBCi5SFfCZQqqhVQLhYvKZTS5dnfjP", + "predecessor_account_id": "audreychenmoney.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "8Vp56HhBWNcao8FsvaKViEgQW2x1VDpwjBsVYNXeuJ2q", + "block_height": 134921006, + "block_timestamp": 1734132027108584000 + }, + "receipt_outcome": { + "gas_burnt": 3921258537540, + "tokens_burnt": 392125853754000000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "3fNZ2BG81yn1tjYb2Qo4QBTtv6HiupTiG9CDjDVGeBMu", + "included_in_block_hash": "J1tBWoC14r7kDKLk2yWVEvHQJBxLfRhQPgYkBhLR3axt", + "block_timestamp": "1734132026220952830", + "block": { + "block_height": 134921005 + }, + "receipt_conversion_tokens_burnt": "31711940585000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal_versioned_timeline", + "deposit": 0, + "fee": 392125853754000000000, + "args": "{\"id\": 164, \"timeline\": {\"status\": \"REVIEW\", \"kyc_verified\": false, \"timeline_version\": \"V1\", \"sponsor_requested_review\": false, \"reviewer_completed_attestation\": false}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 782428375167100000000 + } + }, + { + "id": "11271354867", + "receipt_id": "83W5PFZjiYVt29htkemB6WSXmALfv22m5C5Pee3P66Mg", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "6cCNLJ6LDRgPNRZWTBn3MgUEoNNbBzxGvjdsKZvydL9h", + "block_height": 134920933, + "block_timestamp": 1734131948252565200 + }, + "receipt_outcome": { + "gas_burnt": 3531304060261, + "tokens_burnt": 353130406026100000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "EDkFTNvrzhQ6MALsX861SGoGyBpCG7vVcyTVRnJuXSxL", + "included_in_block_hash": "HMCFX2wNurgDYnaUJPoZRp5vwfbcbd6Ctf5kSUXMJfTC", + "block_timestamp": "1734131946129423313", + "block": { + "block_height": 134920931 + }, + "receipt_conversion_tokens_burnt": "35893802390500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 353130406026100000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"[{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/mention\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":164,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"audreychenmoney.near\\\\\\\\\\\\\\\"}}]\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.6802177055275e+21 + } + }, + { + "id": "11271354864", + "receipt_id": "5ZWfXBRapUND8jACHFaBthvSR6CRhBy5B7yQH8a6DQ2G", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "6cCNLJ6LDRgPNRZWTBn3MgUEoNNbBzxGvjdsKZvydL9h", + "block_height": 134920933, + "block_timestamp": 1734131948252565200 + }, + "receipt_outcome": { + "gas_burnt": 2952010398675, + "tokens_burnt": 295201039867500000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "EDkFTNvrzhQ6MALsX861SGoGyBpCG7vVcyTVRnJuXSxL", + "included_in_block_hash": "HMCFX2wNurgDYnaUJPoZRp5vwfbcbd6Ctf5kSUXMJfTC", + "block_timestamp": "1734131946129423313", + "block": { + "block_height": 134920931 + }, + "receipt_conversion_tokens_burnt": "35893802390500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set_block_height_callback", + "deposit": 0, + "fee": 295201039867500000000, + "args": "{\"proposal\": {\"id\": 164, \"snapshot\": {\"name\": \"Travel Stipend - Audrey: 21x Hackathon Winner - Near 1st Place HawkHacks Winner\", \"labels\": [\"Travel expenses\"], \"summary\": \"My name is Audrey Chen. I\\\\\\\\\\\\'m seeking a $1600 scholarship to compete in the bangkok redacted hackathon. https://taikai.network/hackbox/hackathons/hawkhacks/projects/clwd5jpln0db7yg01uzwhs3i1/idea I want to build a multimodal multiagent ai application with deep learning to address social good issues.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"editor_id\": \"audreychenmoney.near\", \"timestamp\": \"1734131947214116829\", \"supervisor\": null, \"description\": \"here\\\\\\\\\\\\'s my travel itinerary - I reuploaded the proposal to be approved! ![https://ipfs.near.social/ipfs/bafkreicefhdjfhghyc7pabonpk2rvoet3bsec4ke326haqnj2kgptn6vdi](https://ipfs.near.social/ipfs/bafkreicefhdjfhghyc7pabonpk2rvoet3bsec4ke326haqnj2kgptn6vdi)\", \"linked_proposals\": [], \"receiver_account\": \"audreychenmoney.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"1600\", \"requested_sponsorship_paid_in_currency\": \"USDT\"}, \"author_id\": \"audreychenmoney.near\", \"snapshot_history\": [], \"social_db_post_block_height\": \"0\"}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.6802177055275e+21 + } + }, + { + "id": "11271354857", + "receipt_id": "69LeFPSndGtGRAVD1oMzcgrbHmnsJVQDbAM1by4Ef8UB", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "6cCNLJ6LDRgPNRZWTBn3MgUEoNNbBzxGvjdsKZvydL9h", + "block_height": 134920933, + "block_timestamp": 1734131948252565200 + }, + "receipt_outcome": { + "gas_burnt": 4603825148056, + "tokens_burnt": 460382514805600000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "EDkFTNvrzhQ6MALsX861SGoGyBpCG7vVcyTVRnJuXSxL", + "included_in_block_hash": "HMCFX2wNurgDYnaUJPoZRp5vwfbcbd6Ctf5kSUXMJfTC", + "block_timestamp": "1734131946129423313", + "block": { + "block_height": 134920931 + }, + "receipt_conversion_tokens_burnt": "35893802390500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 460382514805600000000, + "args": "{\"data\": {\"events-committee.near\": {\"post\": {\"main\": \"{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"text\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"We have just received a new *Bounty* proposal.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**By**: @audreychenmoney.near\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Title**: \\\\\\\\u{201c}Travel Stipend - Audrey: 21x Hackathon Winner - Near 1st Place HawkHacks Winner\\\\\\\\u{201c}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Summary**:\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nMy name is Audrey Chen. I\\\\\\\\\\\\'m seeking a $1600 scholarship to compete in the bangkok redacted hackathon. https://taikai.network/hackbox/hackathons/hawkhacks/projects/clwd5jpln0db7yg01uzwhs3i1/idea I want to build a multimodal multiagent ai application with deep learning to address social good issues.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nRead the full proposal and share your feedback on [DevHub](/events-committee.near/widget/app?page=proposal&id=164)\\\\\\\\\\\\\\\"}\"}, \"index\": {\"post\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.6802177055275e+21 + } + }, + { + "id": "11271354510", + "receipt_id": "eeZD9i1LGaCXz5wB7P4nybgH3LvV1dBnrkD2ADVfKbh", + "predecessor_account_id": "audreychenmoney.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "GxAaTam29ZAN23KHb2CiqYPg29kuiwzNQUXwe1QRPwLy", + "block_height": 134920932, + "block_timestamp": 1734131947214116900 + }, + "receipt_outcome": { + "gas_burnt": 5356099424378, + "tokens_burnt": 535609942437800000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "EDkFTNvrzhQ6MALsX861SGoGyBpCG7vVcyTVRnJuXSxL", + "included_in_block_hash": "HMCFX2wNurgDYnaUJPoZRp5vwfbcbd6Ctf5kSUXMJfTC", + "block_timestamp": "1734131946129423313", + "block": { + "block_height": 134920931 + }, + "receipt_conversion_tokens_burnt": "35893802390500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "add_proposal", + "deposit": 0, + "fee": 535609942437800000000, + "args": "{\"body\": {\"name\": \"Travel Stipend - Audrey: 21x Hackathon Winner - Near 1st Place HawkHacks Winner\", \"summary\": \"My name is Audrey Chen. I\\\\\\\\\\\\'m seeking a $1600 scholarship to compete in the bangkok redacted hackathon. https://taikai.network/hackbox/hackathons/hawkhacks/projects/clwd5jpln0db7yg01uzwhs3i1/idea I want to build a multimodal multiagent ai application with deep learning to address social good issues.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"supervisor\": null, \"description\": \"here\\\\\\\\\\\\'s my travel itinerary - I reuploaded the proposal to be approved! ![https://ipfs.near.social/ipfs/bafkreicefhdjfhghyc7pabonpk2rvoet3bsec4ke326haqnj2kgptn6vdi](https://ipfs.near.social/ipfs/bafkreicefhdjfhghyc7pabonpk2rvoet3bsec4ke326haqnj2kgptn6vdi)\", \"linked_proposals\": [], \"receiver_account\": \"audreychenmoney.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"1600\", \"requested_sponsorship_paid_in_currency\": \"USDT\"}, \"labels\": [\"Travel expenses\"], \"accepted_terms_and_conditions_version\": 134920904}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.6802177055275e+21 + } + }, + { + "id": "11253091869", + "receipt_id": "HwQwEzt1KCBBhqXN4L6Bc3dVebnzcc9wee976y9Pt3eE", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "5ZnrtaFdsxTQ7WPLAtTZRPvN7JNuo9QGSzdhykE6fiu1", + "block_height": 134890307, + "block_timestamp": 1734096936443849000 + }, + "receipt_outcome": { + "gas_burnt": 3513462140727, + "tokens_burnt": 351346214072700000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "78swJobEJdwGNqswYg1YZPWMGhtqYqTynE2UsELvqcc8", + "included_in_block_hash": "Fzs73nKEJ1muA1BwW2gZPfurGqq9sb2xd5wwjpq6hCXi", + "block_timestamp": "1734096934191299406", + "block": { + "block_height": 134890305 + }, + "receipt_conversion_tokens_burnt": "31711940585000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 351346214072700000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":163,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 913570084063600000000 + } + }, + { + "id": "11253091637", + "receipt_id": "R2S1KZ8meQVC4b2dv8KJeCLixQbR8AeLygFFkfSLZdC", + "predecessor_account_id": "shawn-seahorse.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "849nPQrUzHvGVGCotyQVHCDDYEC26aHhvac8HVAKJjA", + "block_height": 134890306, + "block_timestamp": 1734096935290824200 + }, + "receipt_outcome": { + "gas_burnt": 5305119294059, + "tokens_burnt": 530511929405900000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "78swJobEJdwGNqswYg1YZPWMGhtqYqTynE2UsELvqcc8", + "included_in_block_hash": "Fzs73nKEJ1muA1BwW2gZPfurGqq9sb2xd5wwjpq6hCXi", + "block_timestamp": "1734096934191299406", + "block": { + "block_height": 134890305 + }, + "receipt_conversion_tokens_burnt": "31711940585000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal_versioned_timeline", + "deposit": 0, + "fee": 530511929405900000000, + "args": "{\"id\": 163, \"timeline\": {\"status\": \"REVIEW\", \"kyc_verified\": false, \"timeline_version\": \"V1\", \"sponsor_requested_review\": false, \"reviewer_completed_attestation\": false}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 913570084063600000000 + } + }, + { + "id": "11253086408", + "receipt_id": "36gfwo76QkmEi3vePvhPLhBH4yeLVPZKH1TRXPWquVPy", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "3DzrNUuuQK16pWjmzsT1X9tSFqWAT5WUf82VNnjkY1Lc", + "block_height": 134890288, + "block_timestamp": 1734096915602338300 + }, + "receipt_outcome": { + "gas_burnt": 3522051252783, + "tokens_burnt": 352205125278300000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "2nxmV43kvixmsdHQLiimtDf9A2RKi1qp3BatYVhiKMsG", + "included_in_block_hash": "Ce7iUkfrqnuYcg4Y3UhtTPri7cbj9CfekPhMqvzAfHvm", + "block_timestamp": "1734096913301962875", + "block": { + "block_height": 134890286 + }, + "receipt_conversion_tokens_burnt": "65009478769500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 352205125278300000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"[{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"mariamneu.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/mention\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":163,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\"}},{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/mention\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":163,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\"}}]\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.914801577752e+21 + } + }, + { + "id": "11253086405", + "receipt_id": "AyUQzA3xUyHj4wfvuw5ZTn6cV51PXyFp2NZYCTjLzcNq", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "3DzrNUuuQK16pWjmzsT1X9tSFqWAT5WUf82VNnjkY1Lc", + "block_height": 134890288, + "block_timestamp": 1734096915602338300 + }, + "receipt_outcome": { + "gas_burnt": 3580057144319, + "tokens_burnt": 358005714431900000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "2nxmV43kvixmsdHQLiimtDf9A2RKi1qp3BatYVhiKMsG", + "included_in_block_hash": "Ce7iUkfrqnuYcg4Y3UhtTPri7cbj9CfekPhMqvzAfHvm", + "block_timestamp": "1734096913301962875", + "block": { + "block_height": 134890286 + }, + "receipt_conversion_tokens_burnt": "65009478769500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set_block_height_callback", + "deposit": 0, + "fee": 358005714431900000000, + "args": "{\"proposal\": {\"id\": 163, \"snapshot\": {\"name\": \"1st Place Winning project at the REDACTED Hackathon City node Waterloo! \", \"labels\": [\"Bounty\", \"Hackathon\"], \"summary\": \"With Seahorse, we wanted to combat loneliness and enhance mental health through an AI-powered wellness engine that provides personalized support and connects users with a real-life community of like-minded individuals.\\\\\\\\n\\\\\\\\nThis was accomplished by creating online accountability through an AI wellness recommendation engine. This platform guides users in self-care while connecting them in real life to a supportive community of like-minded individuals, fostering in-person accountability and growth.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"editor_id\": \"shawn-seahorse.near\", \"timestamp\": \"1734096914470811976\", \"supervisor\": \"mariamneu.near\", \"description\": \"DEMO LINKS\\\\\\\\nDevpost: https://devpost.com/software/seahorse-social\\\\\\\\nDemo Video: https://seahorse-phi.vercel.app/\\\\\\\\nGitHub: https://github.com/KonferCA/Seahorse\\\\\\\\n\\\\\\\\nWhat it does\\\\\\\\nSeahorse is a decentralized wellness AI with privacy as our core ideology. Here is how it works:\\\\\\\\n\\\\\\\\nDecentralization of Data Sources\\\\\\\\nPrivacy and Control: Reduces dependency on centralized servers, allowing users to retain control over personal data like emails, calendars, and documents.\\\\\\\\nEnhanced Security: Decentralized nodes increase resilience and data security.\\\\\\\\n\\\\\\\\nOpen-Source Language Model Integration\\\\\\\\nTransparency: Enables customizable, transparent models that avoid reliance on third-party, black-box solutions.\\\\\\\\nPrivacy-By-Design: Aligns with privacy-first principles, ensuring model processing occurs securely on-device.\\\\\\\\n\\\\\\\\nBlockchain-Based Compensation with NEAR Protocol\\\\\\\\nAutomated Fair Compensation: Data providers receive payment based on data relevance and usage, fostering transparency and trust.\\\\\\\\nReal-Time Accountability: Tracks data interactions on-chain, ensuring tamper-proof, accountable compensation.\\\\\\\\n\\\\\\\\nUser Privacy and Data Ownership\\\\\\\\nAccess Control: Users retain granular control over shared data (e.g., email, calendar).\\\\\\\\nOn-Device Processing: Minimizes exposure to external systems, enhancing compliance with data privacy regulations.\\\\\\\\nEmpowerment Through Privacy: Privacy-by-design principles encourage user trust by ensuring data ownership and control.\\\\\\\\n\\\\\\\\nEthical AI Development\\\\\\\\nFair Compensation and Data Ownership: Sets a standard for ethical AI by respecting data ownership and fairly compensating providers.\\\\\\\\nUser Privacy and Functionality: Balances AI functionality with strict data privacy, promoting responsible AI use.\\\\\\\\nCheck it out yourself if you don\\\\\\\\\\\\'t believe us! https://github.com/KonferCA/Seahorse\\\\\\\\n\\\\\\\\nScalability and Flexibility\\\\\\\\nModular Design: Accommodates various data sources and modalities, including multimodal capabilities.\\\\\\\\nScalability: Designed to scale with more extensive datasets and data types, increasing versatility.\\\\\\\\n\\\\\\\\nFoundation for Future Innovations\\\\\\\\nDecentralized AI Proof of Concept: Paves the way for future decentralized AI applications centered around data privacy and ownership.\\\\\\\\nOpen Infrastructure Development: Provides a foundation for projects focused on user privacy, data control, and decentralized compute.\\\\\\\\n\\\\\\\\nHow we built it\\\\\\\\nA decentralized Retrieval-Augmented Generation (RAG) system with a blockchain-based compensation model that prioritizes data ownership and privacy. The system processes personal data, such as Google Calendar entries, emails, and transcriptions, entirely on-device using advanced similarity search with all-MiniLM-L6-v2 embeddings. A secure, wallet-based routing system enables two users to exchange decryption keys, allowing access to shared calendar and event data stored encrypted on NEAR Protocol\\\\\\\\u{2019}s blockchain. Compensation for data providers is managed through NEAR smart contracts, which distribute payments based on data relevance scores. Initially centralized for simplicity, the routing system is designed with future decentralization in mind.\\\\\\\\n\\\\\\\\nThis project aims to set new standards in ethical AI by combining privacy-focused, decentralized data processing with a fair, automated compensation structure for data contributors.\\\\\\\\n\\\\\\\\nOn-Device System\\\\\\\\nOn-Device RAG System: An entirely on-device Retrieval-Augmented Generation (RAG) system pulls relevant information from diverse sources.\\\\\\\\nData Sources: Includes Google Calendar, Gmail emails, uploaded documents, voice transcriptions, and more.\\\\\\\\nVector Embeddings: Uses all-MiniLM-L6-v2 model to map text into a dense vector space for similarity searches.\\\\\\\\nFlexibility: Designed for plug-and-play functionality to accommodate new information as needed.\\\\\\\\nResponse Generation: Uses WebLLM to run Phi 3.5 Vision Instruct on-device for responses, pulling only relevant data.\\\\\\\\n\\\\\\\\nSmart Contract Integration: Relevancy scores and data usage are logged for fair compensation calculation. This information is sent to NEAR Protocol, which calculates and distributes payments based on data relevance.\\\\\\\\nVoice Transcription: Uses Web Speech API for on-device transcription, storing notes locally for user retrieval and RAG system reference.\\\\\\\\nSmart Contract System\\\\\\\\nData Management: Data providers manage their information directly on NEAR\\\\\\\\u{2019}s blockchain.\\\\\\\\nDirect Updates: Providers can update, add, or remove data on the blockchain, formatted specifically for the RAG system.\\\\\\\\nCompensation Calculation: Smart contract computes compensation based on data type and relevance scores, immediately distributing NEAR tokens to providers\\\\\\\\u{2019} wallets.\\\\\\\\nEncrypted User Data Storage: Stores user information (calendar, documents, etc.) in encrypted form. Decryption occurs solely on-device, enabling private data sharing within the RAG system.\\\\\\\\nShared Events: Includes multi-user interactions like shared calendar events, enabling better decision-making between parties.\\\\\\\\n\\\\\\\\nSecure Routing System for Key Exchange\\\\\\\\nAllows two users to establish a secure key exchange to decrypt calendar or event data stored on the NEAR blockchain.\\\\\\\\n\\\\\\\\nMechanism:\\\\\\\\n- NEAR Wallet-Based Identification: Each user is identified by their NEAR wallet, establishing a unique route for connection.\\\\\\\\n- Key Exchange: Users initiate a key exchange over a secure, temporary routing channel that connects their wallets. Once exchanged, each user holds a key to access shared calendar or event data.\\\\\\\\n- Encrypted Storage and Access: After the key exchange, calendar or event data stored on-chain remains encrypted. Only the involved users, who possess the corresponding keys, can decrypt the shared data on-device.\\\\\\\\n\\\\\\\\nCentralized Routing with Future Decentralization Potential:\\\\\\\\n- Current Setup: The routing system is centrally managed to streamline initial development, with key exchanges handled through secure server channels linked to NEAR wallets.\\\\\\\\n- Decentralization Plan: In future iterations, the routing can transition to decentralized protocols (e.g., peer-to-peer or DHT-based systems), allowing users to securely exchange keys without centralized routing.\", \"linked_proposals\": [], \"receiver_account\": \"shawn-seahorse.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"1000\", \"requested_sponsorship_paid_in_currency\": \"USDC\"}, \"author_id\": \"shawn-seahorse.near\", \"snapshot_history\": [], \"social_db_post_block_height\": \"0\"}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.914801577752e+21 + } + }, + { + "id": "11253086398", + "receipt_id": "4m4C1qv9DC7m2wTaDPfQgzB5wtmFWRJfq7tNASs66vAN", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "3DzrNUuuQK16pWjmzsT1X9tSFqWAT5WUf82VNnjkY1Lc", + "block_height": 134890288, + "block_timestamp": 1734096915602338300 + }, + "receipt_outcome": { + "gas_burnt": 4596566534492, + "tokens_burnt": 459656653449200000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "2nxmV43kvixmsdHQLiimtDf9A2RKi1qp3BatYVhiKMsG", + "included_in_block_hash": "Ce7iUkfrqnuYcg4Y3UhtTPri7cbj9CfekPhMqvzAfHvm", + "block_timestamp": "1734096913301962875", + "block": { + "block_height": 134890286 + }, + "receipt_conversion_tokens_burnt": "65009478769500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 459656653449200000000, + "args": "{\"data\": {\"events-committee.near\": {\"post\": {\"main\": \"{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"text\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"We have just received a new *Bounty* proposal.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**By**: @shawn-seahorse.near\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Title**: \\\\\\\\u{201c}1st Place Winning project at the REDACTED Hackathon City node Waterloo! \\\\\\\\u{201c}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n**Summary**:\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nWith Seahorse, we wanted to combat loneliness and enhance mental health through an AI-powered wellness engine that provides personalized support and connects users with a real-life community of like-minded individuals.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nThis was accomplished by creating online accountability through an AI wellness recommendation engine. This platform guides users in self-care while connecting them in real life to a supportive community of like-minded individuals, fostering in-person accountability and growth.\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\u{2014}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nRead the full proposal and share your feedback on [DevHub](/events-committee.near/widget/app?page=proposal&id=163)\\\\\\\\\\\\\\\"}\"}, \"index\": {\"post\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"md\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.914801577752e+21 + } + }, + { + "id": "11253086224", + "receipt_id": "CSh28FUsqtxTWSpPsSHwDZWhooDVgZMZb2pDpvUNcjtE", + "predecessor_account_id": "shawn-seahorse.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "HZGutWdrU6S7wCXbEcGKbaEQUPMd6xHSmbfv6UE2sz1j", + "block_height": 134890287, + "block_timestamp": 1734096914470812000 + }, + "receipt_outcome": { + "gas_burnt": 6799246058231, + "tokens_burnt": 679924605823100000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "2nxmV43kvixmsdHQLiimtDf9A2RKi1qp3BatYVhiKMsG", + "included_in_block_hash": "Ce7iUkfrqnuYcg4Y3UhtTPri7cbj9CfekPhMqvzAfHvm", + "block_timestamp": "1734096913301962875", + "block": { + "block_height": 134890286 + }, + "receipt_conversion_tokens_burnt": "65009478769500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "add_proposal", + "deposit": 0, + "fee": 679924605823100000000, + "args": "{\"body\": {\"name\": \"1st Place Winning project at the REDACTED Hackathon City node Waterloo! \", \"summary\": \"With Seahorse, we wanted to combat loneliness and enhance mental health through an AI-powered wellness engine that provides personalized support and connects users with a real-life community of like-minded individuals.\\\\\\\\n\\\\\\\\nThis was accomplished by creating online accountability through an AI wellness recommendation engine. This platform guides users in self-care while connecting them in real life to a supportive community of like-minded individuals, fostering in-person accountability and growth.\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"DRAFT\"}, \"supervisor\": \"mariamneu.near\", \"description\": \"DEMO LINKS\\\\\\\\nDevpost: https://devpost.com/software/seahorse-social\\\\\\\\nDemo Video: https://seahorse-phi.vercel.app/\\\\\\\\nGitHub: https://github.com/KonferCA/Seahorse\\\\\\\\n\\\\\\\\nWhat it does\\\\\\\\nSeahorse is a decentralized wellness AI with privacy as our core ideology. Here is how it works:\\\\\\\\n\\\\\\\\nDecentralization of Data Sources\\\\\\\\nPrivacy and Control: Reduces dependency on centralized servers, allowing users to retain control over personal data like emails, calendars, and documents.\\\\\\\\nEnhanced Security: Decentralized nodes increase resilience and data security.\\\\\\\\n\\\\\\\\nOpen-Source Language Model Integration\\\\\\\\nTransparency: Enables customizable, transparent models that avoid reliance on third-party, black-box solutions.\\\\\\\\nPrivacy-By-Design: Aligns with privacy-first principles, ensuring model processing occurs securely on-device.\\\\\\\\n\\\\\\\\nBlockchain-Based Compensation with NEAR Protocol\\\\\\\\nAutomated Fair Compensation: Data providers receive payment based on data relevance and usage, fostering transparency and trust.\\\\\\\\nReal-Time Accountability: Tracks data interactions on-chain, ensuring tamper-proof, accountable compensation.\\\\\\\\n\\\\\\\\nUser Privacy and Data Ownership\\\\\\\\nAccess Control: Users retain granular control over shared data (e.g., email, calendar).\\\\\\\\nOn-Device Processing: Minimizes exposure to external systems, enhancing compliance with data privacy regulations.\\\\\\\\nEmpowerment Through Privacy: Privacy-by-design principles encourage user trust by ensuring data ownership and control.\\\\\\\\n\\\\\\\\nEthical AI Development\\\\\\\\nFair Compensation and Data Ownership: Sets a standard for ethical AI by respecting data ownership and fairly compensating providers.\\\\\\\\nUser Privacy and Functionality: Balances AI functionality with strict data privacy, promoting responsible AI use.\\\\\\\\nCheck it out yourself if you don\\\\\\\\\\\\'t believe us! https://github.com/KonferCA/Seahorse\\\\\\\\n\\\\\\\\nScalability and Flexibility\\\\\\\\nModular Design: Accommodates various data sources and modalities, including multimodal capabilities.\\\\\\\\nScalability: Designed to scale with more extensive datasets and data types, increasing versatility.\\\\\\\\n\\\\\\\\nFoundation for Future Innovations\\\\\\\\nDecentralized AI Proof of Concept: Paves the way for future decentralized AI applications centered around data privacy and ownership.\\\\\\\\nOpen Infrastructure Development: Provides a foundation for projects focused on user privacy, data control, and decentralized compute.\\\\\\\\n\\\\\\\\nHow we built it\\\\\\\\nA decentralized Retrieval-Augmented Generation (RAG) system with a blockchain-based compensation model that prioritizes data ownership and privacy. The system processes personal data, such as Google Calendar entries, emails, and transcriptions, entirely on-device using advanced similarity search with all-MiniLM-L6-v2 embeddings. A secure, wallet-based routing system enables two users to exchange decryption keys, allowing access to shared calendar and event data stored encrypted on NEAR Protocol\\\\\\\\u{2019}s blockchain. Compensation for data providers is managed through NEAR smart contracts, which distribute payments based on data relevance scores. Initially centralized for simplicity, the routing system is designed with future decentralization in mind.\\\\\\\\n\\\\\\\\nThis project aims to set new standards in ethical AI by combining privacy-focused, decentralized data processing with a fair, automated compensation structure for data contributors.\\\\\\\\n\\\\\\\\nOn-Device System\\\\\\\\nOn-Device RAG System: An entirely on-device Retrieval-Augmented Generation (RAG) system pulls relevant information from diverse sources.\\\\\\\\nData Sources: Includes Google Calendar, Gmail emails, uploaded documents, voice transcriptions, and more.\\\\\\\\nVector Embeddings: Uses all-MiniLM-L6-v2 model to map text into a dense vector space for similarity searches.\\\\\\\\nFlexibility: Designed for plug-and-play functionality to accommodate new information as needed.\\\\\\\\nResponse Generation: Uses WebLLM to run Phi 3.5 Vision Instruct on-device for responses, pulling only relevant data.\\\\\\\\n\\\\\\\\nSmart Contract Integration: Relevancy scores and data usage are logged for fair compensation calculation. This information is sent to NEAR Protocol, which calculates and distributes payments based on data relevance.\\\\\\\\nVoice Transcription: Uses Web Speech API for on-device transcription, storing notes locally for user retrieval and RAG system reference.\\\\\\\\nSmart Contract System\\\\\\\\nData Management: Data providers manage their information directly on NEAR\\\\\\\\u{2019}s blockchain.\\\\\\\\nDirect Updates: Providers can update, add, or remove data on the blockchain, formatted specifically for the RAG system.\\\\\\\\nCompensation Calculation: Smart contract computes compensation based on data type and relevance scores, immediately distributing NEAR tokens to providers\\\\\\\\u{2019} wallets.\\\\\\\\nEncrypted User Data Storage: Stores user information (calendar, documents, etc.) in encrypted form. Decryption occurs solely on-device, enabling private data sharing within the RAG system.\\\\\\\\nShared Events: Includes multi-user interactions like shared calendar events, enabling better decision-making between parties.\\\\\\\\n\\\\\\\\nSecure Routing System for Key Exchange\\\\\\\\nAllows two users to establish a secure key exchange to decrypt calendar or event data stored on the NEAR blockchain.\\\\\\\\n\\\\\\\\nMechanism:\\\\\\\\n- NEAR Wallet-Based Identification: Each user is identified by their NEAR wallet, establishing a unique route for connection.\\\\\\\\n- Key Exchange: Users initiate a key exchange over a secure, temporary routing channel that connects their wallets. Once exchanged, each user holds a key to access shared calendar or event data.\\\\\\\\n- Encrypted Storage and Access: After the key exchange, calendar or event data stored on-chain remains encrypted. Only the involved users, who possess the corresponding keys, can decrypt the shared data on-device.\\\\\\\\n\\\\\\\\nCentralized Routing with Future Decentralization Potential:\\\\\\\\n- Current Setup: The routing system is centrally managed to streamline initial development, with key exchanges handled through secure server channels linked to NEAR wallets.\\\\\\\\n- Decentralization Plan: In future iterations, the routing can transition to decentralized protocols (e.g., peer-to-peer or DHT-based systems), allowing users to securely exchange keys without centralized routing.\", \"linked_proposals\": [], \"receiver_account\": \"shawn-seahorse.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"1000\", \"requested_sponsorship_paid_in_currency\": \"USDC\"}, \"labels\": [\"Hackathon\", \"Bounty\"], \"accepted_terms_and_conditions_version\": 134890201}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 1.914801577752e+21 + } + }, + { + "id": "11249628437", + "receipt_id": "3jRaXLLGHegw5UyNMtpr9tdm7frffByJJJu4MixLUxVZ", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "CceVviZyYc9qzytD7a5L2cLWfMbzv5yagjirgwM4xZhX", + "block_height": 134884194, + "block_timestamp": 1734089996301433000 + }, + "receipt_outcome": { + "gas_burnt": 3529279258187, + "tokens_burnt": 352927925818700000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "HpWVSpWYTJg4yUhoqQW87ZRWKQ77mMw1tYEUWEqJmUEb", + "included_in_block_hash": "QuDkgWcwv2TzEcjvt3hRCL24GndNXWkLxSrRik1rzp1", + "block_timestamp": "1734089994059590633", + "block": { + "block_height": 134884192 + }, + "receipt_conversion_tokens_burnt": "32074336819000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 352927925818700000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"heywilliamwang.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":139,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 916326665433000000000 + } + }, + { + "id": "11249628287", + "receipt_id": "3kN8CKWMY2dENikENmAkJb1mbZNEfipq6ovs3QubqdPq", + "predecessor_account_id": "yarotska.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "DRhdoh9X8bfpoLFmQuw9u6moT9dVSRkWpVAhN2r7NMLs", + "block_height": 134884193, + "block_timestamp": 1734089995259902700 + }, + "receipt_outcome": { + "gas_burnt": 5313244027953, + "tokens_burnt": 531324402795300000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "HpWVSpWYTJg4yUhoqQW87ZRWKQ77mMw1tYEUWEqJmUEb", + "included_in_block_hash": "QuDkgWcwv2TzEcjvt3hRCL24GndNXWkLxSrRik1rzp1", + "block_timestamp": "1734089994059590633", + "block": { + "block_height": 134884192 + }, + "receipt_conversion_tokens_burnt": "32074336819000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal_versioned_timeline", + "deposit": 0, + "fee": 531324402795300000000, + "args": "{\"id\": 139, \"timeline\": {\"status\": \"PAYMENT_PROCESSING\", \"kyc_verified\": true, \"timeline_version\": \"V1\", \"test_transaction_sent\": true, \"sponsor_requested_review\": true, \"request_for_trustees_created\": false, \"reviewer_completed_attestation\": false}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 916326665433000000000 + } + }, + { + "id": "11249621897", + "receipt_id": "5YtTeFi3YFjWNv8cGC2CyhSdzVPAwQHnbUbzgQnWJ1My", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "GRtywX2uf2Np5czNrQ9qhk4oNKsaKJSgnWkeddCqzfTn", + "block_height": 134884168, + "block_timestamp": 1734089967806103800 + }, + "receipt_outcome": { + "gas_burnt": 3529279258187, + "tokens_burnt": 352927925818700000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "989LeqUQK3kB9byAyCXX7h4gE471xtpmFdG6u3XkYu57", + "included_in_block_hash": "BpXHPkWoxma9UctV4LgYm4kqYAuEHcppsKk6bgSRi1p5", + "block_timestamp": "1734089965826904248", + "block": { + "block_height": 134884166 + }, + "receipt_conversion_tokens_burnt": "40242557198500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 352927925818700000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"heywilliamwang.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":139,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 869723566383300000000 + } + }, + { + "id": "11249621849", + "receipt_id": "9BdrrxBQzPemm2TPw7bSFeWDf458k1mJCX74uA3Nc6zW", + "predecessor_account_id": "yarotska.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "8f4hV7xrdaFcnJjzoSXTNewpRkjXB88G9y16xkTJvKwH", + "block_height": 134884167, + "block_timestamp": 1734089966739191300 + }, + "receipt_outcome": { + "gas_burnt": 4765530833661, + "tokens_burnt": 476553083366100000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "989LeqUQK3kB9byAyCXX7h4gE471xtpmFdG6u3XkYu57", + "included_in_block_hash": "BpXHPkWoxma9UctV4LgYm4kqYAuEHcppsKk6bgSRi1p5", + "block_timestamp": "1734089965826904248", + "block": { + "block_height": 134884166 + }, + "receipt_conversion_tokens_burnt": "40242557198500000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal", + "deposit": 0, + "fee": 476553083366100000000, + "args": "{\"id\": 139, \"body\": {\"name\": \"[REDACTED] Waterloo City Node 2nd Winner |Near Go| Pre-approved Travel Stipend \", \"summary\": \"Hi Near team, my project \\\\\\\\\\\\\\\"Near Go\\\\\\\\\\\\\\\" won 2nd place at [REDACTED] Waterloo City Node! Tweet link: https://x.com/NEAR_Toronto/status/1858873916959416722\\\\\\\\n\\\\\\\\nI was told there are Pre-approved \\\\\\\\\\\\\\\"Travel Stipends available for top 3 teams of the Waterloo Node\\\\\\\\\\\\\\\" and to submit a proposal!\\\\\\\\n\\\\\\\\nAttached below are as requested:\\\\\\\\n1. My airplane tickets\\\\\\\\n2. Hotel Booking\\\\\\\\n3. My Redacted Ticket\", \"category\": \"Bounty\", \"timeline\": {\"status\": \"APPROVED\", \"kyc_verified\": true, \"timeline_version\": \"V1\", \"sponsor_requested_review\": true, \"reviewer_completed_attestation\": false}, \"supervisor\": \"yarotska.near\", \"description\": \"Hi Near team, my project \\\\\\\\\\\\\\\"Near Go\\\\\\\\\\\\\\\" won 2nd place at [REDACTED] Waterloo City Node! Tweet link: https://x.com/NEAR_Toronto/status/1858873916959416722\\\\\\\\n\\\\\\\\nI was told there are Pre-approved \\\\\\\\\\\\\\\"Travel Stipends available for top 3 teams of the Waterloo Node\\\\\\\\\\\\\\\" and to submit a proposal!\\\\\\\\n\\\\\\\\nAttached below are as requested:\\\\\\\\n1. My airplane tickets\\\\\\\\n2. Hotel Booking\\\\\\\\n3. My Redacted Ticket\\\\\\\\n\\\\\\\\nFlights: ![https://ipfs.near.social/ipfs/bafkreiddi2mlppfcpay7572l6qugwp3kmlubx2ojvsztu4k3uaymen6zoe](https://ipfs.near.social/ipfs/bafkreiddi2mlppfcpay7572l6qugwp3kmlubx2ojvsztu4k3uaymen6zoe)\\\\\\\\n\\\\\\\\nHotel Booking: ![https://ipfs.near.social/ipfs/bafkreie54zug2qzplqka3fddsiya6ykl34aam5c5tsrc35n6tpoybk3pxa](https://ipfs.near.social/ipfs/bafkreie54zug2qzplqka3fddsiya6ykl34aam5c5tsrc35n6tpoybk3pxa)\\\\\\\\n\\\\\\\\nRedacted Ticket: ![https://ipfs.near.social/ipfs/bafkreibxla5kkqhshsnc667ufcxaw2i74goc25lw53p4wujqsnmbf7aav4](https://ipfs.near.social/ipfs/bafkreibxla5kkqhshsnc667ufcxaw2i74goc25lw53p4wujqsnmbf7aav4)\", \"linked_proposals\": [], \"receiver_account\": \"heywilliamwang.near\", \"requested_sponsor\": \"events-committee.near\", \"proposal_body_version\": \"V0\", \"requested_sponsorship_usd_amount\": \"1000\", \"requested_sponsorship_paid_in_currency\": \"USDC\"}, \"labels\": [\"Hackathon\", \"Travel expenses\"]}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 869723566383300000000 + } + }, + { + "id": "11249603062", + "receipt_id": "2B7jQWHioQHx58r9CCVLZTeD3ynU99oJYMTV8BnCVmev", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "AbiyHBtKkQTQrUNuQeEgmgUURffH4HUcvDH1skzWW1vY", + "block_height": 134884141, + "block_timestamp": 1734089937980324400 + }, + "receipt_outcome": { + "gas_burnt": 3584567081891, + "tokens_burnt": 358456708189100000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "xnG5vAfCceevYzEvsqq6GS8NS4NQgJY7pkAWtgaWw8A", + "included_in_block_hash": "CivKD4MnjXigNgHMSnjg9WQAsrEYyMCS31RdA518zjuv", + "block_timestamp": "1734089935545457421", + "block": { + "block_height": 134884139 + }, + "receipt_conversion_tokens_burnt": "31702403842000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 358456708189100000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"heywilliamwang.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":139,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 857153600114400000000 + } + }, + { + "id": "11249602489", + "receipt_id": "AhKwC9vHg3ZxXTLbM8nL6y9VzQyWhTqrKvmv2iDVtJCJ", + "predecessor_account_id": "yarotska.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "EdCK8pXN9x62yKF5CJuX7EjoTeTMzCNuCnwv9td6Zqoy", + "block_height": 134884140, + "block_timestamp": 1734089936765887700 + }, + "receipt_outcome": { + "gas_burnt": 4669944880833, + "tokens_burnt": 466994488083300000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "xnG5vAfCceevYzEvsqq6GS8NS4NQgJY7pkAWtgaWw8A", + "included_in_block_hash": "CivKD4MnjXigNgHMSnjg9WQAsrEYyMCS31RdA518zjuv", + "block_timestamp": "1734089935545457421", + "block": { + "block_height": 134884139 + }, + "receipt_conversion_tokens_burnt": "31702403842000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal_versioned_timeline", + "deposit": 0, + "fee": 466994488083300000000, + "args": "{\"id\": 139, \"timeline\": {\"status\": \"REVIEW\", \"kyc_verified\": true, \"timeline_version\": \"V1\", \"sponsor_requested_review\": true, \"reviewer_completed_attestation\": false}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 857153600114400000000 + } + }, + { + "id": "11249499438", + "receipt_id": "7Bexh8uZQkGBgk862g9VsGL9BdUzzrDTJiq8qRMGQvsb", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "12bHgsYVaZojYRvx3L5YFR6CnyqywoNyb5tsQk4deyZ", + "block_height": 134883979, + "block_timestamp": 1734089759528590300 + }, + "receipt_outcome": { + "gas_burnt": 3501635346335, + "tokens_burnt": 350163534633500000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "B8Qvue8unGYY3YiCawapANB56iaqJvMJEk6aV21qhQMU", + "included_in_block_hash": "BJxrzZQ1RmoA2WwayJpok54KZPLa2mx93XmTpqrFLQRf", + "block_timestamp": "1734089757193894651", + "block": { + "block_height": 134883977 + }, + "receipt_conversion_tokens_burnt": "32074336819000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 350163534633500000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":140,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 912189149208000000000 + } + }, + { + "id": "11249498192", + "receipt_id": "HxTrMMfHgzHJV7z8ErKFJEFcEkSujGJd4B82PEKLkkHA", + "predecessor_account_id": "yarotska.near", + "receiver_account_id": "events-committee.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "6HGCiTGE5aoz7L2yRGxz2tDGiTRHLvCd8i26s8uGH1ke", + "block_height": 134883978, + "block_timestamp": 1734089758340460000 + }, + "receipt_outcome": { + "gas_burnt": 5299512777555, + "tokens_burnt": 529951277755500000000, + "executor_account_id": "events-committee.near", + "status": true + }, + "transaction_hash": "B8Qvue8unGYY3YiCawapANB56iaqJvMJEk6aV21qhQMU", + "included_in_block_hash": "BJxrzZQ1RmoA2WwayJpok54KZPLa2mx93XmTpqrFLQRf", + "block_timestamp": "1734089757193894651", + "block": { + "block_height": 134883977 + }, + "receipt_conversion_tokens_burnt": "32074336819000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "edit_proposal_versioned_timeline", + "deposit": 0, + "fee": 529951277755500000000, + "args": "{\"id\": 140, \"timeline\": {\"status\": \"PAYMENT_PROCESSING\", \"kyc_verified\": true, \"timeline_version\": \"V1\", \"test_transaction_sent\": true, \"sponsor_requested_review\": true, \"request_for_trustees_created\": false, \"reviewer_completed_attestation\": false}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 912189149208000000000 + } + }, + { + "id": "11249475397", + "receipt_id": "B1VJpvEsp92SKUUijnSBGwoV8b7B5ZG3vmpqyUXUe7iU", + "predecessor_account_id": "events-committee.near", + "receiver_account_id": "social.near", + "receipt_kind": "ACTION", + "receipt_block": { + "block_hash": "J3WqAnNCTYJq8RjDqa878HqmxVQV6nfX75QKPZUUeY7r", + "block_height": 134883944, + "block_timestamp": 1734089720391678000 + }, + "receipt_outcome": { + "gas_burnt": 3501635346335, + "tokens_burnt": 350163534633500000000, + "executor_account_id": "social.near", + "status": true + }, + "transaction_hash": "FPAHaBDYw42BXHNAXAaZtJyGip7EodHFkCNCTRhcrLR3", + "included_in_block_hash": "FGkmzGjwmsGa1me85f7zGmejjmLGG5e3FRKAff1C89Et", + "block_timestamp": "1734089718397551222", + "block": { + "block_height": 134883942 + }, + "receipt_conversion_tokens_burnt": "42145137427000000000", + "actions": [{ + "action": "FUNCTION_CALL", + "method": "set", + "deposit": 0, + "fee": 350163534633500000000, + "args": "{\"data\": {\"events-committee.near\": {\"index\": {\"notify\": \"{\\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"shawn-seahorse.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"proposal/edit\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"proposal\\\\\\\\\\\\\\\":140,\\\\\\\\\\\\\\\"widgetAccountId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"events-committee.near\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"notifier\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"yarotska.near\\\\\\\\\\\\\\\"}}\"}}}}" + }], + "actions_agg": { + "deposit": 0 + }, + "outcomes": { + "status": true + }, + "outcomes_agg": { + "transaction_fee": 869353019200200000000 + } + } + ] +} \ No newline at end of file