본문 바로가기

개발 참고자료

User-defined Value Types

1inch AggregationRouterV6.unoswap2 에서 address로 주소를 받는 것이 아니라 uint256으로 주소를 받는 것을 확인했다. 

그게 왜그런가 따라가 봤더니

https://polygonscan.com/address/0x111111125421ca6dc452d289314280a0f8842a65#code

AddressLib를 확인할 수 있었고 그 위에는 type Address is uint256이라는 게 적혀있는데 처음 보는 거여서 저게 뭐지 했는데

 

https://docs.soliditylang.org/en/latest/types.html#user-defined-value-types

여기를 보면 솔리디티 0.8.19버전부터 유저가 타입을 지정할 수 있게 한 것이고, unwrap과 wrap이라는 것도 추가되었다. 

그래서 Address가 address랑은 다른 타입이고 uint256의 숫자로 된 것을 넣으면 get함수를 통해서 address타입으로 된 16진수의 주소를 얻을 수 있다. 

 

 

'개발 참고자료' 카테고리의 다른 글

foundry  (0) 2024.07.15
[정리] solidity diamond proxy pattern  (0) 2024.04.30
[정리] solidity call, delegatecall  (0) 2024.04.30
[정리] Use Ownable2Step Instead  (0) 2023.12.11