클레이 전송 검증 방법 의문점

클레이튼에서 아이템 구매를 구현하다가 질문이 생겨 글 올립니다.
기존에 이더리움으로만 개발을 해봐서 … 조금 어렵네요 ㅜㅜ

예를 들어 이더리움에서는 특정 이더를 주고 아이템을 구매하는 경우 다음과 같은 식으로

function buy() external payable {
  require(msg.value == 0.001 ether, "Not enough ether");
  ... 
}

반드시 전송된 이더 값이 실제 금액과 같은지 확인한 후 함수를 실행하도록 학습했었는데요,
이러한 과정이 없으면 이더를 지불하지 않고도 아이템을 구매하려는 공격자가 생길 수 있는 보안 상 이슈가 있기 때문이겠죠.

클레이튼에서는 이런 식의 검증을 어떻게 해야하는지 궁금합니다.

클레이튼에 관심 가져주셔서 감사합니다.

클레이튼은 이더리움과 같이 soldity 코드를 EVM을 실행시킵니다. 컨트랙트에서 값 확인은 질문자님이 작성한 코드와 같은 방법으로 진행할 수 있습니다.

감사합니다.