Function Reference

BEDR 토큰 컨트랙트의 모든 함수와 이벤트에 대한 상세 문서

CertiK 전문 보안 감사 완료 (2025.06.18)

이 API는 CertiK의 전문 보안 감사를 통과했습니다. 상세 감사 결과 보기 또는 전체 보고서 다운로드

Contract Standard Functions

balanceOf

view public
function balanceOf(address holder) public view returns (uint256)

지정된 주소의 총 토큰 잔액을 반환합니다. 잠금된 토큰도 포함됩니다.

Parameters

  • holder (address): 잔액을 조회할 주소

Returns

uint256: 총 토큰 잔액 (잠금된 토큰 포함)

transfer

whenNotFrozen whenNotPaused
function transfer(address to, uint256 value) public returns (bool)

토큰을 다른 주소로 전송합니다. 송신자가 동결되지 않고 컨트랙트가 일시정지되지 않은 상태에서만 가능합니다.

Parameters

  • to (address): 수신자 주소
  • value (uint256): 전송할 토큰 수량

Returns

bool: 전송 성공 여부

transferFrom

whenNotPaused
function transferFrom(address from, address to, uint256 value) public returns (bool)

승인된 한도 내에서 다른 사용자를 대신하여 토큰을 전송합니다.

Parameters

  • from (address): 송신자 주소
  • to (address): 수신자 주소
  • value (uint256): 전송할 토큰 수량

Returns

bool: 전송 성공 여부

approve

whenNotPaused
function approve(address spender, uint256 value) public returns (bool)

지정된 주소가 본인의 토큰을 대신 전송할 수 있도록 허용량을 설정합니다.

Parameters

  • spender (address): 승인받을 주소
  • value (uint256): 승인할 토큰 수량

Returns

bool: 승인 성공 여부

allowance

view public
function allowance(address owner, address spender) public view returns (uint256)

특정 주소가 소유자를 대신하여 사용할 수 있는 토큰의 허용량을 반환합니다.

Parameters

  • owner (address): 토큰 소유자 주소
  • spender (address): 승인받은 주소

Returns

uint256: 현재 허용량

Ownership Functions

transferOwnership

onlyOwner
function transferOwnership(address newOwner) public onlyOwner

컨트랙트의 소유권을 새로운 주소로 이전합니다. 현재 소유자만 실행 가능합니다.

Parameters

  • newOwner (address): 새로운 소유자 주소

Pausable Functions

pause

onlyOwner
function pause() public onlyOwner

컨트랙트를 일시정지 상태로 만듭니다. 일시정지 상태에서는 토큰 전송이 제한됩니다.

unpause

onlyOwner
function unpause() public onlyOwner

컨트랙트의 일시정지 상태를 해제합니다. 정상적인 토큰 전송이 가능해집니다.

Freezable Functions

freeze

onlyOwner
function freeze(address target) public onlyOwner

특정 주소를 동결하여 토큰 전송을 제한합니다.

Parameters

  • target (address): 동결할 주소

unfreeze

onlyOwner
function unfreeze(address target) public onlyOwner

동결된 주소의 동결 상태를 해제하여 정상적인 토큰 전송을 가능하게 합니다.

Parameters

  • target (address): 동결 해제할 주소

Mint & Burn Functions

mint

onlyOwner
function mint(address to, uint256 value) public onlyOwner

새로운 토큰을 발행하여 지정된 주소에 할당합니다.

Parameters

  • to (address): 토큰을 받을 주소
  • value (uint256): 발행할 토큰 수량

burn

onlyOwner
function burn(address from, uint256 value) public onlyOwner

지정된 주소에서 토큰을 소각하여 총 공급량을 줄입니다.

Parameters

  • from (address): 토큰을 소각할 주소
  • value (uint256): 소각할 토큰 수량

Lockable Functions

lock

onlyOwner
function lock(address holder, uint256 value) public onlyOwner

지정된 주소의 토큰을 특정 수량만큼 잠급니다. 잠긴 토큰은 전송할 수 없습니다.

Parameters

  • holder (address): 토큰을 잠글 주소
  • value (uint256): 잠글 토큰 수량

lockAfter

onlyOwner
function lockAfter(address holder, uint256 value, uint256 releaseTime) public onlyOwner

지정된 시간까지 토큰을 잠급니다. 지정된 시간이 지나면 자동으로 잠금이 해제됩니다.

Parameters

  • holder (address): 토큰을 잠글 주소
  • value (uint256): 잠글 토큰 수량
  • releaseTime (uint256): 잠금 해제 시간 (타임스탬프)

unlock

onlyOwner
function unlock(address holder, uint256 value) public onlyOwner

잠긴 토큰을 지정된 수량만큼 해제합니다.

Parameters

  • holder (address): 토큰 잠금을 해제할 주소
  • value (uint256): 해제할 토큰 수량

Utility Functions

lockState

view public
function lockState(address holder) public view returns (uint256, uint256)

지정된 주소의 토큰 잠금 상태를 조회합니다.

Parameters

  • holder (address): 잠금 상태를 조회할 주소

Returns

  • uint256: 잠긴 토큰 수량
  • uint256: 잠금 해제 시간

availableBalance

view public
function availableBalance(address holder) public view returns (uint256)

지정된 주소에서 실제로 전송 가능한 토큰 수량을 반환합니다 (총 잔액 - 잠긴 토큰).

Parameters

  • holder (address): 사용 가능한 잔액을 조회할 주소

Returns

uint256: 전송 가능한 토큰 수량

Integration Guide

Web3.js 통합 예제

// BEDR 토큰 컨트랙트 인스턴스 생성
const contract = new web3.eth.Contract(ABI, '0x430f5d89ada20dd2b31fbde0232cf802c7d138c0');

// 잔액 조회
const balance = await contract.methods.balanceOf(address).call();

// 사용 가능한 잔액 조회
const available = await contract.methods.availableBalance(address).call();

// 토큰 전송
await contract.methods.transfer(toAddress, amount).send({ from: fromAddress });

// 잠금 상태 조회
const [lockedAmount, releaseTime] = await contract.methods.lockState(address).call();

중요 알림

토큰 전송 시 송신자의 동결 상태와 컨트랙트 일시정지 상태를 확인하세요. availableBalance를 사용하여 실제 전송 가능한 수량을 확인하는 것을 권장합니다.