Commit Graph

31 Commits

Author SHA1 Message Date
mergify[bot] ad4ad43f02
fix: decrement types.Dec max length to keep decimal bits in DecimalPrecisionBits (backport #11772) (#11805) 2022-04-27 14:16:29 -04:00
mergify[bot] 11bda928d8
fix(types): use correct bit length constant for sdk.Dec (backport #11332) (#11335)
* Use correct bit length constant for sdk.Dec (#11332)

Co-authored-by: Marko <marbar3778@yahoo.com>
(cherry picked from commit 3d3cf25546)

# Conflicts:
#	go.sum

* fix conflicts

Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2022-03-09 13:26:35 +01:00
Techno Freak 9536ba7622
feat: add Dec.Float64() function (#9382)
* feat: add Dec.Float64() function

* chore: add CHANGELOG.md release entry

* chore: added MustFloat64(), return result with error on Float64()

* chore: add godoc

* Update types/decimal.go

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* Update types/decimal.go

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* chore: re-ordered changelog

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-05-26 09:02:14 +00:00
Cuong Manh Le e28271b8e6
types: make NewDecFromStr returns error for too large decimal (#9157)
Otherwise, NewDecFromStr may accept very large input, causing Dec
methods panic, e.g Dec.TruncateInt

Found by oss-fuzz: https://oss-fuzz.com/testcase-detail/6454129938530304

Fixes #9160
2021-04-22 11:21:27 +01:00
Alessio Treglia f2ee972e31
various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
Emmanuel T Odeke 784a9a69a1
all: ensure b.ReportAllocs() in all the benchmarks (#8460)
With this change, we'll get details on the number of
allocations performed by code. Later on when we have
continuous benchmarking infrastructure, this change
will prove useful to flag regressions.

Fixes #8459

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2021-01-27 23:52:08 -08:00
yihuang aff88bbe99
Fix #7640: tally calculation precision error (#7641)
Solution:
- change `(a / b) * c` to `a * b / c`

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-11-02 14:50:33 +00:00
Alessio Treglia 8601dcdbb7
types: tests -> test suites migration (#7400)
Ref #7362
2020-09-28 12:46:49 +02:00
Miguel Dingli 018915b1a8
Fix ApproxRoot Infinite Looping (#7140)
Added a maximum number of iterations (100) to ApproxRoot
(and ApproxSqrt) to serve as a hard limit on the number of
iterations that the algorithm performs. If the answer converges
before the maximum iterations, it returns immediately. Otherwise,
if the answer never converges enough to satisfy the primary loop
condition, the looping stops after a hundred iterations.

Closes: #7038

Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
2020-08-29 11:13:36 +01:00
Cory 32de79d0aa
refactor auths broadcast cmd in alignment with #6216 (#6713)
* refactor auths broadcast cmd in alignment with #6216

* add TxResponse proto definition, and related refactoring

* re-run make proto-gen, updating staking.pb.go

* cleanup TxResponse tests to handle nil return values

* properly handle nil Tx value in TxResponse's implementation of UnpackInterfaces

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-17 17:17:21 +00:00
Alessio Treglia 2ba21d33ab
types: better Dec.MarshalTo's performance (#6691)
Use big.Int.Cmp() and compare against zeroInt instead
of checking Bytes() against a 0-length byte slice.

Closes: #6680
Thanks: @odeke-em for the patch.

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-12 13:26:51 +00:00
Marko d657513741
lint: various linting fixs (#5825)
* lint: various linting fixs

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* more linting

* more linting fixes

* more errchecking

* comment out errcheck for now

* undo error check

* address some comments

* remore require error

* change delete to batch delete

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-03-20 19:24:18 +00:00
Alessio Treglia 5a2e59ebb2
Exclude proto files from format (#5706)
* Don't change proto files on make format

The format target does not need to depend on tools.
Thus remove dependency.

* Run make format

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-02-27 07:53:22 -03:00
Erik Grinaker a7f25ade03
Merge PR #5613: update to golangci-lint v1.23.3
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
2020-02-05 11:32:45 -08:00
Alexander Bezobchuk 26d6e49d6a
Merge PR #5491: Protobuf Introduction + Types 2020-01-24 10:32:00 -05:00
Sunny Aggarwal 3fc6240c94 Merge PR #5447: Added nth root function to sdk.Decimal type 2020-01-04 15:16:12 -05:00
Sunny Aggarwal 3c2ace9510 Merge PR #5360: Sortable Decimal Bytes 2019-12-05 12:55:43 -05:00
Sunny Aggarwal d7a08ce5f2 Merge PR #5219: Added sqrt function to sdk.Decimal type 2019-10-18 12:25:07 -04:00
Marko b9490f2d93 Merge PR #5203: Add more linters 2019-10-17 09:47:35 -04:00
Christopher Goes 4c50380181
Merge PR #3750: Outstanding per-validator rewards; correctly handle same-BeginBlock redelegation-double-slash 2019-03-06 19:54:12 +01:00
frog power 4000 a814e5ce66
Merge PR #3679: Consistent Operators
* Minus->Sub Plus->Add Div->Quo

* pending

* Update PENDING.md

Co-Authored-By: rigelrozanski <rigel.rozanski@gmail.com>

* fix

* typo
2019-02-21 12:35:55 -05:00
Alexander Bezobchuk 36d1736a08 Refactor Gas/Fee Model (#3258) 2019-01-18 08:45:20 -08:00
frog power 4000 d9e32e93d5 Merge PR #3315: Increase decimal precision to 18
* Decimal precision increase WIP
* fix String()
* resolve many errors
* changelog
2019-01-17 18:15:10 +01:00
Alessio Treglia 24a1670cf0 Run make format 2018-12-10 14:27:25 +00:00
Alexander Bezobchuk 50926fffff Update to TM v0.26.0 - Part I (#2679)
* Update to TM v0.26.0
2018-11-04 18:28:38 -08:00
ValarDragon c2d68928e7 Switch to new Decimal.String() implementation 2018-10-20 13:32:43 -07:00
ValarDragon 20cc13e5bf types: Dec.MarshalJSON now marshals as a normal decimal string
Closes #2475
2018-10-16 09:29:32 -07:00
Dev Ojha e11c52e873 Merge PR #2408: decimal: Add a method to multiply a decimal by an Int
This is for usage within the slash function, to minimize operations
required to slash each unbonded and redelegating account.
2018-09-26 18:13:40 +08:00
Rigel de30281afa Distr-PR-2 Truncate Decimal Functionality (#2379) 2018-09-24 21:18:18 -07:00
Dev Ojha 6b55093c75 Merge PR #2324: rename wire to codec
* rename wire to codec

* fix formatting and cli

* fix the docs
2018-09-13 14:17:32 -04:00
Rigel d9dc061b4f
Merge pull request #1819: rational -> decimal
* changelog

* ...

* decimal func working

* decimal complete, untested

* fixing tests

* decimal compile errors resolved

* test compile errors

* precision multiplier test

* 1% laptop battery

* fixed TestNewDecFromStr

* equalities working

* fix bankers round chop

* ...

* working, some decimal issues resolved

* fix rounding error

* rounding works

* decimal works

* ...

* deleted rational

* rational conversion working

* revert changelog

* code compiles (not tests)

* went through all NewDec, made sure they were converted from NewRat properly

* test debugging

* all testing bugs besides the json marshalling fixed

* json unmarshal

* lint

* document update

* fix lcd test

* cli test fix

* mostly undo Dece -> Rate

* val comments

* Efficiency improvements

This now caches all of the precision multipliers (as they were all
used in non-mutative functions), and caches the precisionInt calculation.
(Now it just copies the already calculated value)

* Cache another precisionInt() call.

* Improve banker rounding efficiency

* remove defer, make negation in-place.

* chris val comments

* bez comments

* Aditya comments

* ...

* val comments

* rebasing start

* ...

* compiling

* tests pass

* cli fix

* anton, cwgoes, val comments

* val and jae comments

* type

* undo reuse quo
2018-08-14 20:15:02 -04:00