Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
2년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
7 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
42 행
복사
9 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
43 행
복사
function testfirstdepositor() external {
function testfirstdepositor() external {
uint assets = 1000;
uint assets = 1000;
vm.assume(assets > 0);
vm.assume(assets > 0);
vm.startPrank(user);
vm.startPrank(user);
복사
복사됨
복사
복사됨
asset1.mint(user,
1000e18
);
asset1.mint(user,
1000_000_000e18
);
asset1.approve(address(pool),
assets
);
asset1.approve(address(pool),
type(uint256).max
);
pool.deposit(linearRatePool, 1000, user);
pool.deposit(linearRatePool, 1000, user);
assertEq(pool.getAssetsOf(linearRatePool, user), assets);
assertEq(pool.getAssetsOf(linearRatePool, user), assets);
assertEq(pool.balanceOf(user, linearRatePool), assets); // Shares equal 1:1 at first
assertEq(pool.balanceOf(user, linearRatePool), assets); // Shares equal 1:1 at first
vm.stopPrank();
vm.stopPrank();
vm.startPrank(registry.addressFor(SENTIMENT_POSITION_MANAGER_KEY));
vm.startPrank(registry.addressFor(SENTIMENT_POSITION_MANAGER_KEY));
pool.borrow(linearRatePool, user, assets);
pool.borrow(linearRatePool, user, assets);
vm.warp(block.timestamp + 10);
vm.warp(block.timestamp + 10);
vm.roll(block.number + 1 );
vm.roll(block.number + 1 );
asset1.mint(address(pool),1001);
asset1.mint(address(pool),1001);
pool.repay(linearRatePool, user, assets + 1);
pool.repay(linearRatePool, user, assets + 1);
vm.stopPrank();
vm.stopPrank();
vm.startPrank(user);
vm.startPrank(user);
pool.withdraw(linearRatePool, 999 , user, user);
pool.withdraw(linearRatePool, 999 , user, user);
asset1.mint(user, assets);
asset1.mint(user, assets);
asset1.approve(address(pool), 1000e18);
asset1.approve(address(pool), 1000e18);
uint256 n = 60;
uint256 n = 60;
for(uint8 i = 0; i < n; i++){
for(uint8 i = 0; i < n; i++){
복사
복사됨
복사
복사됨
uint256 amount =
i
**
2
+ 1;
uint256 amount =
2
**
i
+ 1;
pool.deposit(linearRatePool, amount , user);
pool.deposit(linearRatePool, amount , user);
pool.withdraw(linearRatePool, 1 ,user,user);
pool.withdraw(linearRatePool, 1 ,user,user);
(,,,,,,,,,uint256 totalDepositAssets,uint256 totalDepositShares) = pool.poolDataFor(linearRatePool);
(,,,,,,,,,uint256 totalDepositAssets,uint256 totalDepositShares) = pool.poolDataFor(linearRatePool);
require (totalDepositShares == 1, "should be one ");
require (totalDepositShares == 1, "should be one ");
복사
복사됨
복사
복사됨
console.log("TotalAssets: ", totalDepositAssets);
console.log("TotalShares: ", totalDepositShares);
}
}
복사
복사됨
복사
복사됨
}
저장된 비교 결과
원본
파일 열기
function testfirstdepositor() external { uint assets = 1000; vm.assume(assets > 0); vm.startPrank(user); asset1.mint(user, 1000e18); asset1.approve(address(pool), assets); pool.deposit(linearRatePool, 1000, user); assertEq(pool.getAssetsOf(linearRatePool, user), assets); assertEq(pool.balanceOf(user, linearRatePool), assets); // Shares equal 1:1 at first vm.stopPrank(); vm.startPrank(registry.addressFor(SENTIMENT_POSITION_MANAGER_KEY)); pool.borrow(linearRatePool, user, assets); vm.warp(block.timestamp + 10); vm.roll(block.number + 1 ); asset1.mint(address(pool),1001); pool.repay(linearRatePool, user, assets + 1); vm.stopPrank(); vm.startPrank(user); pool.withdraw(linearRatePool, 999 , user, user); asset1.mint(user, assets); asset1.approve(address(pool), 1000e18); uint256 n = 60; for(uint8 i = 0; i < n; i++){ uint256 amount = i ** 2 + 1; pool.deposit(linearRatePool, amount , user); pool.withdraw(linearRatePool, 1 ,user,user); (,,,,,,,,,uint256 totalDepositAssets,uint256 totalDepositShares) = pool.poolDataFor(linearRatePool); require (totalDepositShares == 1, "should be one "); }
수정본
파일 열기
function testfirstdepositor() external { uint assets = 1000; vm.assume(assets > 0); vm.startPrank(user); asset1.mint(user, 1000_000_000e18); asset1.approve(address(pool), type(uint256).max); pool.deposit(linearRatePool, 1000, user); assertEq(pool.getAssetsOf(linearRatePool, user), assets); assertEq(pool.balanceOf(user, linearRatePool), assets); // Shares equal 1:1 at first vm.stopPrank(); vm.startPrank(registry.addressFor(SENTIMENT_POSITION_MANAGER_KEY)); pool.borrow(linearRatePool, user, assets); vm.warp(block.timestamp + 10); vm.roll(block.number + 1 ); asset1.mint(address(pool),1001); pool.repay(linearRatePool, user, assets + 1); vm.stopPrank(); vm.startPrank(user); pool.withdraw(linearRatePool, 999 , user, user); asset1.mint(user, assets); asset1.approve(address(pool), 1000e18); uint256 n = 60; for(uint8 i = 0; i < n; i++){ uint256 amount = 2 ** i + 1; pool.deposit(linearRatePool, amount , user); pool.withdraw(linearRatePool, 1 ,user,user); (,,,,,,,,,uint256 totalDepositAssets,uint256 totalDepositShares) = pool.poolDataFor(linearRatePool); require (totalDepositShares == 1, "should be one "); console.log("TotalAssets: ", totalDepositAssets); console.log("TotalShares: ", totalDepositShares); } }
비교하기