profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/ailisp/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

ailisp/commonlisp-vscode 32

Common Lisp Editing extension for Visual Studio Code

ailisp/cl-lsp 14

An implementation of the Language Server Protocol for Common Lisp

ailisp/cl-keyboard 3

Swap brackets and parentheses for Common Lispers on Windows

ailisp/.emacs 0

My .emacs

ailisp/.emacs.d 0

My .emacs.d

ailisp/actix-net 0

framework for composable networking services

ailisp/allocators-rs 0

Allocators in Rust

ailisp/alpine-git-curl-jq 0

alpine docker image with git and jq and curl

ailisp/ansible_tower_client_ruby 0

Ruby gem for the Ansible Tower REST API

push eventnear/nearcore

Bo Yao

commit sha 33dfc7d776921e154f6b79299744c5bdf6a00bca

two step initialization of wasmer2 (call start func is wip), fixed most tests

view details

push time in 12 hours

push eventnear/wasmer

Bo Yao

commit sha cca5ec366004591516c959f7c2560508aa7593c3

two step init of wasmer2

view details

push time in 12 hours

pull request commentnear/wasmer

Provide available ops to gas counter at instance initialization

call start_func is wip

ailisp

comment created time in 12 hours

PR opened near/wasmer

Provide available ops to gas counter at instance initialization

I also attempted the proposal by @olonho: provide available ops to gas counter at instance initialization. But it seems not work. Because we also need the instance object, when initialization is success, but call start_func failing. We need the instance object in order to retrieve gas spent in start_func. But initialization function will return the error if start_func failing. So we need the two step initialization :(

+80 -2

0 comment

3 changed files

pr created time in 12 hours

create barnchnear/wasmer

branch : provide-available-ops-at-init

created branch time in 12 hours

issue commentnear/near-explorer

Feature Request: Expose gas break down on Explorer

Don't know whom to assign. so I just pin @frol for now. Background: this is from a shared key result between node interface and contract runtime team. The goal is to have gas break down information easily accessible by contract developers. cc @matklad

ailisp

comment created time in 21 hours

create barnchnear/wasmer

branch : wasmer2-two-step-init

created branch time in 21 hours

issue openednear/near-explorer

Feature Request: Expose gas break down on Explorer

https://github.com/near/nearcore/pull/4438 introduce expose metadata in receipt outcomes, which contains gas break down information of a contract execution. User can see this information from RPC, but it will be helpful to also see it on explorer

created time in 2 days

PullRequestReviewEvent

push eventnear/nearcore

Bo Yao

commit sha c49893491262faf451fee9b7f788296953f14a02

wip wasmer 2 gas counter, need separate start func on init like wasmer 0

view details

push time in 2 days

push eventailisp/zkphttps

Bo Yao

commit sha ab97ed2efaf508fb1ae3f06b68bd0953294dcd86

verify yahoo cert is issued by digicert

view details

push time in 2 days

push eventnear/nearcore

Bo Yao

commit sha 778b650f741df36342bb34e7278df8bedaa66df3

fix or workaround gas counter for wasmtime

view details

push time in 3 days

create barnchnear/wasmtime

branch : 0.25.0

created branch time in 3 days

PullRequestReviewEvent

pull request commentnear/nearcore

chore(sandbox): add more records to test sandbox

As for the tests, I found locally that when adding more records I would get a mailbox full error.

I haven't stress tested it to see how big state it can be patched. Logically, a patch state of same size of a deploy contract action should be okay without mailbox error. More than that may require user to break patch state into multiple rpc calls.

willemneal

comment created time in 3 days

pull request commentnear/nearcore

chore(sandbox): add more records to test sandbox

@willemneal seems this is your branch on nayduck and sandbox test is triggered: http://nayduck.near.org/#/run/2075

http://nayduck.near.org/#/test/222951

willemneal

comment created time in 3 days

delete branch near/borsh-js

delete branch : formating-fix

delete time in 3 days

push eventnear/borsh-js

Serhii Volovyk

commit sha dca02da34356b1b6942b388f27d4d78d9a9365e5

Formatting fix

view details

Serhii Volovyk

commit sha 7feefc5c1515bf5f34ef4e4ac07a8ce26fcba4d5

formating test

view details

Serhii Volovyk

commit sha 5aabc06a64bf9fff252c77266badc00ec2aa930f

pretty test 2

view details

Serhii Volovyk

commit sha 0ceaf1d71ed51b29999642d6ed02c30be461f498

prettier fixed

view details

Serhii Volovyk

commit sha 2f2f0ebe705f8377f69dc726f4f281151f57e30b

test action tets (broken tests)

view details

Serhii Volovyk

commit sha 226b6b857e8b4ce2afef830c8f571c89234cb9ab

tests fixed

view details

Bo Yao

commit sha 2bbd16eba8ccea9d7666441643d302f1d234d696

Merge pull request #35 from near/formating-fix Prettier and formatting fix

view details

push time in 3 days

PR merged near/borsh-js

Prettier and formatting fix

Prettier check command fixed. test and pretty GitHub Actions checked (working just fine).

+47 -36

0 comment

4 changed files

volovyk-s

pr closed time in 3 days

PullRequestReviewEvent

push eventnear/nearcore

Bo Yao

commit sha 266a9cbc717f5d9d16bc1c0b16fd6922f5b51a53

impl new gas counter for wasmtime. some tests are failing

view details

push time in 6 days

PR opened near/nearcore

fix(script): build sandbox when dir not exist

Fix #4799

Test Plan

make sandbox success when target, target/debug not exist and exist

+2 -0

0 comment

1 changed file

pr created time in 7 days

create barnchnear/nearcore

branch : fix-4799

created branch time in 7 days

push eventnear/nearcore

Michal Nazarewicz

commit sha 3212befd19d73681a9e7728337ae7a7751a992d2

pytest: fuzz: don’t capture output (#4759) Standard error output of the fuzzing is passed through directly and standard output generated by the `fuzz.py` test only duplicates information already present in standard error. And the data can get quite big† so it’s a waste to include it in both streams. Stop capturing output of the `cargo fuzz` command and instead convert the `fuzz.py` test to simply exec the command setting up the environment beforehand. † For example http://nayduck.eastus.cloudapp.azure.com:3000/#/run/2047 Issue: https://github.com/near/nearcore/issues/4550

view details

Miraculous Owonubi

commit sha 2a51e267db33c278402ad7e05706e218be25280a

refactor(jsonrpc-primitives): use more appropriate identifiers around changes-related RPC structs (#4754) The internal data structures for the `EXPERIMENTAL_changes` and `EXPERIMENTAL_changes_in_block` methods are a little unintuitive and tricky to understand at a glance. This PR proposes a rename to clear this confusion. | method | old | new | | ------ | --- | --- | | <li>[x] EXPERIMENTAL_changes</li> | RpcStateChangesInBlockRequest | RpcStateChangesInBlockByTypeRequest | | <li>[x] EXPERIMENTAL_changes_in_block</li> | RpcStateChangesRequest | RpcStateChangesInBlockRequest |

view details

Michal Nazarewicz

commit sha 6b5bb5fd8a070b890105614d638dcd80fb548019

Revert "pytest: fuzz: enable parallelism (#4755)" (#4768) Enabling parallelism in the fuzz slows down the execution and thus leads to spurious crashes because of asserts on block production time. Remove the --jobs switch. This reverts commit a0b76201c394cb3f609b5efea374c5ba1bdb0693. Issue: https://github.com/near/nearcore/issues/4550

view details

Miraculous Owonubi

commit sha eb7ab2d15d519314f242404746701eb0e4538e9b

refactor(jsonrpc-primitives): ensure impl Deserialize on all public jsonrpc-related types (#4770) Impl Deserialize on all `Rpc*Error` types + `near-primitives`' `LightClientBlockView`. This unblocks the implementation of proper design with appropriate method signatures in [`near-api-providers-rs`](https://github.com/near/near-api-providers-rs).

view details

Miraculous Owonubi

commit sha d35fbd0b42adbd4ce2ce2d5152df195e83ff6361

refactor(jsonrpc-primitives): deduplicate BlockReference (#4769) The `BlockReference` enum is duplicated in `near-primitives` and `near-jsonrpc-primitives`. The likely reason for this, was to allow for jsonrpc-specific features [Context: <https://github.com/near/nearcore/pull/3861#discussion_r566134004>], but at this moment, they are, for the purposes that matter, identical. With the one in `near_jsonrpc_primitives` plainly convertible `Into` the one in `near_primitives`.

view details

Miraculous Owonubi

commit sha 9481ef2c9b319a79e7b6163778abf1e3cddecb02

refactor(jsonrpc-primitives): impl Display instead of ToString for RpcError (#4772) `format!("error: {}", err.to_string())` -> `format!("error: {}", err)`

view details

Miraculous Owonubi

commit sha 00819f0aaa2be9c89d35df08899635021c96c7de

chore: remove stale references to near-runtime-utils (#4774) `near-runtime-utils` was removed in favor of `near-account-id`, remove old references to it.

view details

mzhangmzz

commit sha 264d2cb17589ecdc1aaefd239fb5fd30f49afa2a

high level changes for how split state will be triggered in sync and catch up (#4748) This PR implements the high level logic of how state splitting will be triggered in sync and catch up. The specific logic of splitting states will be added in a following PR. Test Plan: - no existing test breaks - I added an integration test in rust to test for the case when shard layout changes. Because the logic of splitting states is not implemented yet, the test is not complete. I simply verified the logs to make sure the added logic in this PR is triggered correctly.

view details

Alexey Shekhirin

commit sha 1e5da20ad7969860d9df4448b539f66762e220b3

refactor(core, primitives): ContractCode getters (#4749) Resolves https://github.com/near/nearcore/issues/4738

view details

Aleksey Kladov

commit sha e5315e520b87662e58ddb08cfd65524946f6e61f

feat: runtime-tester can use a real store (#4767) Test Plan --------- Add a smoke test, manually verify that it works with a real database.

view details

Aleksey Kladov

commit sha 119b065e2c279308f307e88c3fca10f233427b65

feat: allow computing a subset of costs in the estimator (#4640) You can now pass something like --metrics-to-measure Receipt,data_receipt_10b_1000,data_receipt_base_10b_1000 to calculate only those metrics. Note that metrics != costs. The end goal is to do this for actual costs, as outlined in near#4633 (comment) The current approach is an intermediate step in that direction. In particular, it allows to debug estimator refactors much faster. Test Plan --------- Manually run estimator to smoke test that this works, use a tool ([SSR](https://rust-analyzer.github.io/manual.html#structural-search-and-replace)) to change extraction logic without introducing typos.

view details

Austin Abell

commit sha 8a377fda0b4ce319385c463f1ae46e4b0b29dcd9

chore: Add MIT and Apache licenses and update crate licenses (#4732) I just updated the dependency crates used from the SDK Open questions before opening PR: - Does the copyright year and holder need to be filled out for these? - Note: it's not filled out in the gpl3 license - Is it fine for the other license files to be in the root directory? - Should the licenses be symlinked to each crate specifically that uses it? - If this is the case, should the licenses be moved out of root to not apply to whatever gpl3 needs to be applied to? I'm not sure what parts need to be gpl3

view details

Bowen Wang

commit sha 2309cdb51fcbbe6262bd94193db8a0ee7fd4ce54

chore: update codeowners (#4782)

view details

Miraculous Owonubi

commit sha 9abfeed4188e5eef762a3c76866be468d8af8bbd

chore(near-primitives): document why FunctionCallPermission::receiver_id != AccountId (#4773) Resolves #4739: documents why the `receiver_id` field in `FunctionCallPermission` isn't an `AccountId` despite recently refactoring the whole workspace to using strict `AccountId`-s. See https://github.com/near/nearcore/pull/4621#issuecomment-892099860 for more context

view details

Aleksandr Logunov

commit sha b84b3fcdca7e3c221fa4adee35efeac6c2170637

refactor: reintroduce structure for storing `RuntimeConfig`s (#4779) * Introduce structure for storing RuntimeConfigs * remove accidentially added files * remove file * temporary fix * fix config store * put store to nightshade runtime * remove comment * minor fix * minor fix * minor fix * minor fix * minor fix * minor fix * minor fix * minor fix * minor fix * fix * add readme * compilation fix * add hash test * fix * fix * temporary fix * create test store * fix * fix * fix initializing * set default impl * improve test * fix TestEnv * minor fix * remove not compatible and useless test * fix account names according to restriction * address suggestion * Initialize config store using chain id * update store for state-viewer * add comment * minor fix * apply suggestions * minor fixes * update comment * mark as deprecated * test * fix deprecation

view details

mzhangmzz

commit sha 0bc802de0bc3b3b9ea7001c2ef23c8eef3a85ecc

make chunk_extra referenced by shard_uid instead of shard_id (#4762) To support re-sharding, at the epoch where splitting states happens, the validators need to keep chunk extra for the shards for this epoch and the shards in the coming epoch. This PR changes chunk_extra to be stored and referenced by `shard_uid` instead of `shard_id`

view details

Miraculous Owonubi

commit sha 6c802338e3c2a4ce9b553bd1e6c15761415efdaa

refactor: reword error msg for reporting transactions failing for requiring full-access keys (#4794) Resolves #4746, hopes to be clearer with the error message when using a non-full-access key for a transaction that either has multiple actions or is not a function-call action. Before: ``` "The transaction contains more then one action, but it was signed with an access key which allows transaction to apply only one specific action. To apply more then one actions TX must be signed with a full access key ``` After: ``` Invalid access key type. Full-access keys are required for transactions that have multiple or non-function-call actions ``` --- Would've been nice if we could resolve this issue with a message like `Cannot send money without a full access key` but that would require the error variant to encode a cause. But we can at least ease understanding what went wrong with a better error message that properly describes why this variant would be returned.

view details

Alexey Shekhirin

commit sha 95aaad00aa2d61e718050b43e70642512a4e663d

refactor(chain, core, genesis-tools, nearcore, neard): use more PathBuf and Path (#4750) Resolves https://github.com/near/nearcore/issues/4544

view details

Aleksandr Logunov

commit sha 08d9a0c653c8af0ad8f2ed87bb96e52efb900767

feat: pass environment variables to docker (#4796) And also build test contract, which is used in some metrics computation. Corresponding command was included into README. We could also consider adding this to each metric separately. Test plan --------- - cargo check - make two separate runs and check difference: https://hackmd.io/glLIGVM7RjKSKSe8p9h6rw

view details

Austin Abell

commit sha e974f1565feb77d77871fb09b207b4919fd3b4a0

chore: bump borsh version (#4730) Closes #4603 I think the zeropool_bn borsh version still needs to be updated. I'm still tracking down which fork is being published from because it doesn't seem to be the near or aurora fork of bn (can someone save me time and point in right direction?). What I'm confused about is why the cargo-deny doesn't fail when specifying 0.9 borsh and checking ban conditions

view details

push time in 8 days

push eventnear/nearcore

Bo Yao

commit sha 79ed3f01a44eb9d81cf3b35164f0686088526934

fix ci

view details

push time in 8 days

push eventnear/nearcore

Bo Yao

commit sha d2bf7814e1515db0a3d1b355674d3251d2494021

fix vm param estimator tests

view details

push time in 8 days

PullRequestReviewEvent

delete branch near/nearcore

delete branch : swap-stack-limiter-and-gas-counter

delete time in 8 days

PR closed near/nearcore

draft: swap stack limiter and gas counter

Context: We aim to make old and new gas counter behaves exactly same. However, in the case of stack overflow test they diverge because we first inject gas counter, then inject stack limiter. When inject new gas counter, it makes function body more fat for trivial functions, and that result in spent less gas when stack overflow happens compare to old gas counter (because pwasm-utils stack limiter count function body size and fit less recursive calls for larger body).

One way to fix this problem is to inject stack limiter first, then inject gas_counter. This alone becomes a protocol change and I think if we do this, we should do before #4688 and bump it as a new protocol version

This makes almost any function call more expensive because the added stack limiter code is now also considered as spent gas. (See some example difference below) So whether is this a good idea?


failures:

---- tests::error_cases::test_div_by_zero_contract stdout ----
thread 'tests::error_cases::test_div_by_zero_contract' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 109891020 used gas 109891020), Some(FunctionCallError(WasmTrap(IllegalArithmetic))))`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 59758197 used gas 59758197), Some(FunctionCallError(WasmTrap(IllegalArithmetic))))`', runtime/near-vm-runner/src/tests/error_cases.rs:254:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- tests::error_cases::test_external_call_ok stdout ----
thread 'tests::error_cases::test_external_call_ok' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 371714889 used gas 371714889), None)`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 321582066 used gas 321582066), None)`', runtime/near-vm-runner/src/tests/error_cases.rs:726:9

---- tests::error_cases::test_external_call_indirect stdout ----
thread 'tests::error_cases::test_external_call_indirect' panicked at 'assertion failed: `(left == right)`
  left: `Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 384674760 used gas 384674760)`,
 right: `Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 334541937 used gas 334541937)`', runtime/near-vm-runner/src/tests/error_cases.rs:779:9

---- tests::error_cases::test_float_to_int_contract stdout ----
thread 'tests::error_cases::test_float_to_int_contract' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 107118399 used gas 107118399), Some(FunctionCallError(WasmTrap(IllegalArithmetic))))`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 56985576 used gas 56985576), Some(FunctionCallError(WasmTrap(IllegalArithmetic))))`', runtime/near-vm-runner/src/tests/error_cases.rs:294:13

---- tests::error_cases::test_indirect_call_to_null_contract stdout ----
thread 'tests::error_cases::test_indirect_call_to_null_contract' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 107335149 used gas 107335149), Some(FunctionCallError(WasmTrap(IndirectCallToNull))))`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 57202326 used gas 57202326), Some(FunctionCallError(WasmTrap(IndirectCallToNull))))`', runtime/near-vm-runner/src/tests/error_cases.rs:335:9

---- tests::error_cases::test_indirect_call_to_wrong_signature_contract stdout ----
thread 'tests::error_cases::test_indirect_call_to_wrong_signature_contract' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 112103649 used gas 112103649), Some(FunctionCallError(WasmTrap(IncorrectCallIndirectSignature))))`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 61970826 used gas 61970826), Some(FunctionCallError(WasmTrap(IncorrectCallIndirectSignature))))`', runtime/near-vm-runner/src/tests/error_cases.rs:379:9

---- tests::error_cases::test_stack_overflow stdout ----
thread 'tests::error_cases::test_stack_overflow' panicked at 'assertion failed: `(left == right)`
  left: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 124696801917 used gas 124696801917), Some(FunctionCallError(WasmTrap(Unreachable))))`,
 right: `(Some(VMOutcome: balance 4 storage_usage 12 return data None burnt gas 63226248177 used gas 63226248177), Some(FunctionCallError(WasmTrap(Unreachable))))`', runtime/near-vm-runner/src/tests/error_cases.rs:494:50

---- tests::contract_preload::test_run_preloaded stdout ----
thread 'tests::contract_preload::test_run_preloaded' panicked at 'assertion failed: `(left == right)`
  left: `11138184744`,
 right: `11088051921`', runtime/near-vm-runner/src/tests/contract_preload.rs:76:17


failures:
    tests::contract_preload::test_run_preloaded
    tests::error_cases::test_div_by_zero_contract
    tests::error_cases::test_external_call_indirect
    tests::error_cases::test_external_call_ok
    tests::error_cases::test_float_to_int_contract
    tests::error_cases::test_indirect_call_to_null_contract
    tests::error_cases::test_indirect_call_to_wrong_signature_contract
    tests::error_cases::test_stack_overflow

test result: FAILED. 51 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 27.12s

+1 -1

3 comments

1 changed file

ailisp

pr closed time in 8 days

pull request commentnear/nearcore

draft: swap stack limiter and gas counter

closed as we decide to enable runtime option first, then intro a protocol version to enable new gas counter

ailisp

comment created time in 8 days