From ca36d444082a9a0f76168de58f4ee3bbcac6cdeb Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Thu, 11 Aug 2022 09:36:17 -0400 Subject: [PATCH 1/3] feat: Support newly stabilized alt_bn128 host functions --- near-sdk/Cargo.toml | 3 ++- near-sdk/src/environment/mock/mocked_blockchain.rs | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/near-sdk/Cargo.toml b/near-sdk/Cargo.toml index 54c683d74..a4e9ffaff 100644 --- a/near-sdk/Cargo.toml +++ b/near-sdk/Cargo.toml @@ -33,7 +33,8 @@ wee_alloc = { version = "0.4.5", default-features = false, optional = true } once_cell = { version = "1.8", optional = true, default-features = false } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -near-vm-logic = { version = "0.14", optional = true } +# alt_bn128 feature will need to be removed on the next version update (now stabilized) +near-vm-logic = { version = "0.14", optional = true, features = ["protocol_feature_alt_bn128"] } near-primitives-core = { version = "0.14", optional = true } near-primitives = { version = "0.14", optional = true } near-crypto = { version = "0.14", optional = true } diff --git a/near-sdk/src/environment/mock/mocked_blockchain.rs b/near-sdk/src/environment/mock/mocked_blockchain.rs index 7fb63e5e6..e30f652d5 100644 --- a/near-sdk/src/environment/mock/mocked_blockchain.rs +++ b/near-sdk/src/environment/mock/mocked_blockchain.rs @@ -565,4 +565,16 @@ mod mock_chain { extern "C" fn validator_total_stake(stake_ptr: u64) { with_mock_interface(|b| b.validator_total_stake(stake_ptr)) } + #[no_mangle] + extern "C" fn alt_bn128_g1_multiexp(value_len: u64, value_ptr: u64, register_id: u64) { + with_mock_interface(|b| b.alt_bn128_g1_multiexp(value_len, value_ptr, register_id)) + } + #[no_mangle] + extern "C" fn alt_bn128_g1_sum(value_len: u64, value_ptr: u64, register_id: u64) { + with_mock_interface(|b| b.alt_bn128_g1_sum(value_len, value_ptr, register_id)) + } + #[no_mangle] + extern "C" fn alt_bn128_pairing_check(value_len: u64, value_ptr: u64) -> u64 { + with_mock_interface(|b| b.alt_bn128_pairing_check(value_len, value_ptr)) + } } From ae7eb2770c75cb6a73d21806ee0fc9a7df2041a5 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Fri, 12 Aug 2022 18:12:57 -0400 Subject: [PATCH 2/3] changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14cf825e0..ecca9a1ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## [Unreleased] +### Added +- Support newly stabilized `alt_bn128` host functions that were recently stabilized. [PR 885](https://github.com/near/near-sdk-rs/pull/885) + ## [4.1.0-pre.1] - 2022-08-05 ### Added From 445cd9fd43d8c89dfe2b144c41dbc2259a489b5f Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Mon, 15 Aug 2022 12:58:00 -0400 Subject: [PATCH 3/3] empty commit because I can't trigger rebuild