Wallet API Reference

Wallet SDK에서 지원하는 API에 대한 Reference 입니다. iOS와 Android 모두 본 Reference를 참조하여 API를 이용할 수 있습니다. 각 운영 환경에서 API를 이용하는 방법은 아래 링크를 클릭하여 확인할 수 있습니다.

▶︎ Quickstart for iOS 바로가기

▶︎ Quickstart for Android 바로가기


Wallet API Reference

Init For Use

  • Lunie::init() :LunieWalletResult

라이브러리 초기화 함수로 Wallet SDK 사용 전 필수로 가장 먼저 호출되어야 합니다. 성공 시 true를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    없음
  • return parameters

    resultTypeDescription비고
    SuccessBoolean초기화 성공 여부
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Create New Wallet

  • LunieWallet::getInstanceNewWallet(): LunieWalletResult

새로운 mnemonic key를 생성한 후 Wallet Instance를 생성합니다. 성공 시 생성된 지갑 instance를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredDescriptionType
    없음
  • return parameters

    resultTypeDescription비고
    SuccessLunieWallet지갑 정보를 반환 한다.저장된 지갑이 없을 경우에만 생성 가능하다. 지갑이 있을 경우 삭제후 생성해야 한다.
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Load Wallet

  • LunieWallet::getInstanceSavedWallet(): LunieWalletResult

디바이스에 저장된 mnemonic key를 불러와 Wallet Instance를 생성합니다. 성공 시 지갑의 정보를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    없음
  • return parameters

    resultTypeDescription비고
    SuccessLunieWallet지갑 정보를 반환 한다.저장된 지갑 정보를 불러 온다.
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Recovery Wallet(MPC) - getSecretShares

  • LunieWallet::getSecretShares(): LunieWalletResult

mnemonic을 복구할 때 사용합니다. 성공 시 저장된 mnemonic을 분할한 SecretShares 2개를 가져오며 실패 시 에러 정보를 가진 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    없음
  • return parameters

    resultTypeDescription비고
    SuccessMPCSecretShares저장된 니모닉을 분할한 Secret Shares 2개를 가져온다. 니모닉을 복구할때 사용한다.recoveryWalletFromSecretKeys 로 복구 가능
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Recovery Wallet(MPC) - recoveryWalletFromSecretKeys

  • LunieWallet::recoveryWalletFromSecretKeys(secretShares: MPCSecretShares): LunieWalletResult

getSecretShares()를 이용해 복구한 SecretShares를 이용하여 mnemonic을 복구하고 이를 이용해 Wallet Instance를 생성합니다. 성공 시 생성된 지갑 Instance를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    secretKeysYes[String]복구할 키 값
  • return parameters

    resultTypeDescription비고
    SuccessLunieWallet지갑 정보를 반환 한다.입력한 키를 복구하여 해당 지갑을 가져 온다.
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Recovery Wallet(MPC) - recoveryWalletFromMnemonic

  • recoveryWalletFromMnemonic(mnemonic: String): LunieWalletResult

mnemonic 구문으로 지갑을 복구합니다.

  • input parameters

    KeyR/C/OTypeDescription
    mnemonicRString니모닉 구문을 입력한다.
  • return parameters

    resultTypeDescription비고
    SuccessLunieWallet지갑 정보를 반환 한다.지갑키에 대한 기능을 사용할수 있다.
    FailLunieError에러정보를 가진 객체를 반환 한다.

Check Wallet Existence

  • LunieWallet::isAlreadySetWallet(): LunieWalletResult

디바이스에 저장된 Wallet이 존재하는지 확인합니다. 성공 시 Boolean 값으로 존재 여부를 확인할 수 있으며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    없음
  • return parameters

    resultTypeDescription비고
    SuccessBoolean지갑 존재 여부를 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Address

  • LunieNetwork::getAddress(wallet: LunieWallet): LunieWalletResult

해당 네트워크의 HD 지갑 주소를 가져옵니다. 성공 시 지갑의 주소를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    walletYesLunieWallet지갑 인스턴스
  • return parameters

    resultTypeDescription비고
    SuccessString지갑의 주소를 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Native Token

  • LunieNetwork::getNativeToken(address: String): LunieWalletResult

현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 Native Token의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    addressYesString지갑 주소
  • return parameters

    resultTypeDescription비고
    SuccessToken잔고 정보를 담은 토큰 인스턴스 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Tokens

  • LunieNetwork::getTokens(address: String): LunieWalletResult<Token[]>

현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 ERC20의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    addressYesString지갑 주소
  • return parameters

    resultTypeDescription비고
    SuccessToken[]잔고 정보를 담은 토큰 인스턴스 리스트 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get NFTs

  • LunieNetwork::getNfts(address: String): LunieWalletResult<NftInventory[]>

현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 NFT(ERC721)의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    addressYesString지갑 주소
  • return parameters

    resultTypeDescription비고
    SuccessNftInventory[]NFT 정보를 담은 토큰 인스턴스 리스트 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Transfer Token

  • LunieNetwork::transferToken(wallet: LunieWallet, toAddress: String, token: Token, amount: BigInteger, transferGasFee: TransferGasFee? = null): LunieWalletResult

현재 디바이스에 저장된 Wallet에서 입력하는 주소로 Token(Native Token, ERC20)을 전송합니다. 성공 시 Transaction의 Hash가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    walletYesLunieWallet지갑 인스턴스
    toAddressYesString받을 지갑 주소
    tokenYesToken전송할 토큰 객체
    transferGasFeeOptionalTransferGasFee전송시 사용할 total 가스 값. 옵셔널으로 null값으로 호출하는 경우 네트워크에서 추천해주는 가스비로 전송한다.
  • return parameters

    resultTypeDescription비고
    SuccessString트랜잭션 hash값 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Transfer NFT

  • LunieNetwork::transferNft(wallet: LunieWallet, toAddress: String, nft: Nft, transferGasFee: TransferGasFee? = null): LunieWalletResult

현재 디바이스에 저장된 Wallet에서 입력하는 주소로 NFT(ERC721)을 전송합니다. 성공 시 Transaction의 Hash가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    walletYesLunieWallet지갑 인스턴스
    toAddressYesString받을 지갑 주소
    nftYesNft전송할 nft 객체
    transferGasFeeOptionalTransferGasFee전송시 사용할 total 가스 값. 옵셔널으로 null값으로 호출하는 경우 네트워크에서 추천해주는 가스비로 전송한다.
  • return parameters

    resultTypeDescription비고
    SuccessString트랜잭션 hash값 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Gas Price

  • LunieNetwork::getGasPrice(): LuniverseResult

현재 네트워크가 추천하는 gasPrice를 조회합니다. 성공 시 gasPrice 정보가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    없음
  • return parameters

    resultTypeDescription비고
    SuccessRecommendGasFee네트워크의 추천 가스 price 반환
    FailLunieError에러정보를 가진 객체를 반환 한다.

Get Gas Limit(NFT)

  • LunieNetwork::getGasLimit(wallet: LunieWallet, toAddress: String, nft: Nft): LunieWalletResult

NFT를 전송하고자 할 때 현재 네트워크가 추천하는 gasLimit을 조회합니다. 성공 시 안정적으로 transaction을 실행할 수 있도록 estimateGas의 110%가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    walletYesLunieWallet지갑 인스턴스
    toAddressYesString받을 지갑 주소
    nftYesNft전송할 NFT 객체. getNfts() 에서받은 정보와 동일한 형태로 입력한다.
  • return parameters

    resultTypeDescription비고
    SuccessBigInteger네트워크의 가스 limit(estimateGas의 110%) 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Gas Limit(Token)

  • LunieNetwork::getGasLimit(wallet: LunieWallet, toAddress: String, token: Token, amount: BigInteger): LunieWalletResult

Token(Native Token, ERC20)을 전송하고자 할 때 현재 네트워크가 추천하는 gasLimit을 조회합니다. 성공 시 안정적으로 transaction을 실행할 수 있도록 estimateGas의 110%가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    walletYesLunieWallet지갑 인스턴스
    toAddressString받을 지갑 주소
    tokenToken전송할 Token 객체. getTokens 또는 getNativeToken 에서 받은 토큰 정보와 동일한 형태로 입력한다.
    amountBigInteger전송할 Token 수량
  • return parameters

    resultTypeDescription비고
    SuccessBigInteger네트워크의 가스 limit(estimateGas의 110%) 반환
    FailLunieError에러 정보를 가진 객체를 반환 한다.

Get Transaction Result By Hash

  • LunieNetwork::getTransactionResultByHash(transactionHash: String): LunieWalletResult

transactionHash를 이용하여 현재 트랜잭션의 상태를 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    transactionHashYesString트랜잭션 정보(상태, receipt)를 조회를 위한 Hash 값
  • return parameters

    resultTypeDescription비고
    SuccessTransactionResulttransaction 정보 객체 반환
    FailLunieError에러정보를 가진 객체를 반환 한다.

Get Token Transaction From Address

  • LunieNetwork::getTokenTransactionFromAddress(address: String): LunieWalletResult

address를 이용하여 특정 계정의 Token(ERC20) 트랜잭션 내역을 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    addressYesString조회할 계정을 특정하기 위한 주소 값
  • return parameters

    resultTypeDescription비고
    SuccessTransactionResulttransaction 정보 객체 반환
    FailLunieError에러정보를 가진 객체를 반환 한다.

Get Account Transaction Results

  • LunieNetwork::getAccountTransactionResults(address: String): LunieWalletResult<List>

address를 이용하여 해당 address가 포함된 Transaction의 정보를 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.

  • input parameters

    KeyRequiredTypeDescription
    addressYesString트랜잭션 정보(상태, receipt)를 가저올 주소값
  • return parameters

    resultTypeDescription비고
    SuccessListtransaction 정보 객체 반환
    FailLunieError에러정보를 가진 객체를 반환 한다.

Wallet UI Component Setting

Wallet SDK는 편리한 개발을 지원하기 위해 기본적인 WebView를 지원합니다. 아래 코드를 이용하여 해당 WebView를 확인할 수 있습니다.

▶︎ iOS Webview 확인하기

▶︎ Android Webview 확인하기