일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- erc4337 contract
- 스마트컨트렉트테스트
- 오블완
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초
- 티스토리챌린지
- git rebase
- 체인의정석
- ethers websocket
- ethers
- Vue.js
- 컨트렉트 배포 자동화
- multicall
- Vue
- 스마트 컨트렉트 함수이름 중복
- vue기초
- 스마트컨트렉트 예약어 함수이름 중복
- 머신러닝기초
- SBT표준
- 컨트렉트 동일한 함수이름 호출
- 계정추상화
- rust 기초
- chainlink 설명
- ethers v6
- erc4337
- 러스트기초
- ambiguous function description
- ethers type
- ethers typescript
- 러스트 기초 학습
- Today
- Total
체인의정석
스마트컨트렉트에서 0x00 주소 체크를 할 필요가 없는 이유 본문
예전에는 스마트컨트렉트에서 0x00 주소를 체크하여 예외 처리를 안해주면 비어있는 값이 들어왔을 때 그대로 실행시켰기 때문에 꼭 예외 처리를 해줬어야 했다.
하지만 최근 코드에는 이러한 체크가 많이 이루어지지 않는 것을 볼 수 있었다.
https://forum.openzeppelin.com/t/removing-address-0x0-checks-from-openzeppelin-contracts/2222
Removing address != 0x0 checks from OpenZeppelin Contracts
OpenZeppelin Contracts has quite a strict policy of never allowing zero addresses, by placing checks like require(receiver != address(0)) everywhere. For the upcoming 3.0 release I would like us to discuss the possibility of removing these checks. One of t
forum.openzeppelin.com
예전에는 솔리디티가 msg.data의 길이를 체크하지 않았지만 요즘에는 솔리디티에 입력한 msg.data가 충분한 크기인지 체크를 하기 시작했고 이제 이러한 에러는 더이상 발생하지 않는다고 한다.
실제 프로덕트 들에게서 이렇게 0x00 주소를 체크하는 로직을 넣지 않는 경우가 많은데, 오픈제플린의 최신 버전에서는 해당 조건문이 있다. 이는 하위 버전과의 호환 때문일 것으로 판단된다.