Create your own GitHub profile
Sign up for your own profile on GitHub, the best place to host code, manage projects, and build software alongside 50 million developers.
Sign upHighlights
- Arctic Code Vault Contributor
Popular repositories
1,330 contributions in the last year
Contribution activity
July 2020
Created a pull request in cosmos/cosmos-sdk that received 5 comments
x/auth/signing/direct: increase test coverage to 100% from 83.3%
Ensure that all known routes for GetSignBytes are explored for DirectHandler. Before we can merge this PR, please make sure that all the following…
+36
−0
•
5
comments
- types: precisely simplify Coins.safeAdd
- store/cache: speed up + conserve memory by using map clearing idiom in Reset
- rootmulti/internal/maps: remove duplicated code, simplify and speed up KVPPair
- types: fix invalid int->string conversion in benchmarks
- codec: increase as much visible coverage
- codec: remove unused and untest ProtoMarshalJSONIndent
- codec: remove unused, untested and expensive MarshalIndentFromJSON
Created an issue in cosmos/cosmos-sdk that received 7 comments
scripts/protocgen.sh: figure out a way of exclude generated *pb.go files from coverage reports or add the magic // DONTCOVER to every generated file
There is currently a bit of noise in coverage reports given that generated *.pb.go files are massive in comparison to normal files, so they reduce …
•
7
comments
- server: CPUProfiling over the entire lifetime of the server aka until a signal is received is fallacious and should instead profile per period
- x/genutil: CollectStdTxs's code will trip out on the first directory in the genTxsDir because it doesn't correctly skip directories
- x/gov/types: ProposalStatus.Marshal and ProposalStatus.Unmarshal look suspiciously invalid
- types: removeZeroCoins algorithm mutates the original slice
- x/params/types: KeyTable.RegisterType reflect.Type dereferencing should use a for loop and not a single dereference
- x/simulation: (*StandardLogWriter).PrintLogs() creates files but never closes them, but also the os.Create should check that error
- x/upgrade/keeper: Keeper.ReadUpgradeInfoFromDisk doesn't check unmarshal error thus will let it in any malformed file
- types: inconsistency in concurrency safety where Config.Set* methods aren't concurrency safe while an assert is protected by a mutex
- client: parseQueryPath, isQueryStoreWithProof are untested, duplicate logic and brittle/rigid in format
- types/simulation: RandomFees should try to select as many non-zero coins and then return (nil, error) instead of trying once and (nil, (*error)(nil))
- types: Uint64ToBigEndian is invalid both in buffer size, and should use n to clip off limit
- types: *FromBech32 functions return zero value and nil error on the blank string yet consumers blindly use them to search
- types: Coins.safeAdd is more complex than needed with separated 2 different counters for indices of the various slices being added, and hard to read nor check for correctness
- codec: why do Amino*Packer and Proto*Packer implement the AnyUnpacker interface yet have odd signatures that don't use their destination value?
- rootmulti/internal/maps: can improve KVPair.(bB)ytes() performance by using only bytes slices instead of the bytes.Buffer invocations
- store/cachekv: descending *Iterators (aka cachekv.ReverseIterator) are untested nor is domain
- store/cache: CommitKVStoreCacheManager.Reset is unnecessarily expensive both memory and CPU wise, should use map clearing idiom
- types: Dec.MarshalTo is untested but could also use a simplification of comparing to zeroInt instead of first bytes marshaling just to see if zero
- types: CanonicalSignBytes is untested and seems unused
- crypto: LedgerShowAddress's public key comparison equality == instead of .Equals will soon result in unexpected results if we upgrade modules of tendermint/crypto
- crypto: LedgerShowAddress' description doesn't match its functionality and omits mention of unsafe behavior
- server: FreeTCPAddr is brittle by assuming that closed formerly bound sockets can't be reused fast enough
- codec: MarshalIndentFromJSON is untested and unnecessarily expensive
70
contributions
in private repositories
Jul 1 – Jul 23