mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 15:27:27 +00:00 
			
		
		
		
	Hard: investigate sdk.RelativePow runtime panic (#762)
* interest rate practical test * add clarification comment
This commit is contained in:
		
							parent
							
								
									a0d70e1c81
								
							
						
					
					
						commit
						f6efc2597b
					
				@ -289,8 +289,6 @@ func (suite *InterestTestSuite) TestCalculateBorrowInterestFactor() {
 | 
				
			|||||||
				expectedValue:         sdk.MustNewDecFromStr("40628388.864535408465693310"),
 | 
									expectedValue:         sdk.MustNewDecFromStr("40628388.864535408465693310"),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		// If we raise the per second interest rate too much we'll cause an integer overflow.
 | 
					 | 
				
			||||||
		// For example, perSecondInterestRate: '1.000005555555' will cause a panic.
 | 
					 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"1 year: highest interest rate",
 | 
								"1 year: highest interest rate",
 | 
				
			||||||
			args{
 | 
								args{
 | 
				
			||||||
@ -299,6 +297,14 @@ func (suite *InterestTestSuite) TestCalculateBorrowInterestFactor() {
 | 
				
			|||||||
				expectedValue:         sdk.MustNewDecFromStr("2017093013158200407564.613502861572552603"),
 | 
									expectedValue:         sdk.MustNewDecFromStr("2017093013158200407564.613502861572552603"),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"largest per second interest rate with practical elapsed time",
 | 
				
			||||||
 | 
								args{
 | 
				
			||||||
 | 
									perSecondInterestRate: sdk.MustNewDecFromStr("18.445"), // Begins to panic at ~18.45 (1845%/second interest rate)
 | 
				
			||||||
 | 
									timeElapsed:           sdk.NewInt(30),                  // Assume a 30 second period, longer than any expected individual block
 | 
				
			||||||
 | 
									expectedValue:         sdk.MustNewDecFromStr("94702138679846565921082258202543002089.215969366091911769"),
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, tc := range testCases {
 | 
						for _, tc := range testCases {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user