Wallet SDK에서 지원하는 API에 대한 Reference 입니다. iOS와 Android 모두 본 Reference를 참조하여 API를 이용할 수 있습니다. 각 운영 환경에서 API를 이용하는 방법은 아래 링크를 클릭하여 확인할 수 있습니다.
▶︎ Quickstart for Android 바로가기
Wallet API Reference
Init For Use
- Lunie::init() :LunieWalletResult
라이브러리 초기화 함수로 Wallet SDK 사용 전 필수로 가장 먼저 호출되어야 합니다. 성공 시 true
를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description 없음 -
return parameters
result Type Description 비고 Success Boolean 초기화 성공 여부 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Create New Wallet
- LunieWallet::getInstanceNewWallet(): LunieWalletResult
새로운 mnemonic key를 생성한 후 Wallet Instance를 생성합니다. 성공 시 생성된 지갑 instance를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Description Type 없음 -
return parameters
result Type Description 비고 Success LunieWallet 지갑 정보를 반환 한다. 저장된 지갑이 없을 경우에만 생성 가능하다. 지갑이 있을 경우 삭제후 생성해야 한다. Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Load Wallet
- LunieWallet::getInstanceSavedWallet(): LunieWalletResult
디바이스에 저장된 mnemonic key를 불러와 Wallet Instance를 생성합니다. 성공 시 지갑의 정보를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description 없음 -
return parameters
result Type Description 비고 Success LunieWallet 지갑 정보를 반환 한다. 저장된 지갑 정보를 불러 온다. Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Recovery Wallet(MPC) - getSecretShares
- LunieWallet::getSecretShares(): LunieWalletResult
mnemonic을 복구할 때 사용합니다. 성공 시 저장된 mnemonic을 분할한 SecretShares 2개를 가져오며 실패 시 에러 정보를 가진 객체를 반환합니다.
-
input parameters
Key Required Type Description 없음 -
return parameters
result Type Description 비고 Success MPCSecretShares 저장된 니모닉을 분할한 Secret Shares 2개를 가져온다. 니모닉을 복구할때 사용한다. recoveryWalletFromSecretKeys 로 복구 가능 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Recovery Wallet(MPC) - recoveryWalletFromSecretKeys
- LunieWallet::recoveryWalletFromSecretKeys(secretShares: MPCSecretShares): LunieWalletResult
getSecretShares()를 이용해 복구한 SecretShares를 이용하여 mnemonic을 복구하고 이를 이용해 Wallet Instance를 생성합니다. 성공 시 생성된 지갑 Instance를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description secretKeys Yes [String] 복구할 키 값 -
return parameters
result Type Description 비고 Success LunieWallet 지갑 정보를 반환 한다. 입력한 키를 복구하여 해당 지갑을 가져 온다. Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Recovery Wallet(MPC) - recoveryWalletFromMnemonic
- recoveryWalletFromMnemonic(mnemonic: String): LunieWalletResult
mnemonic 구문으로 지갑을 복구합니다.
-
input parameters
Key R/C/O Type Description mnemonic R String 니모닉 구문을 입력한다. -
return parameters
result Type Description 비고 Success LunieWallet 지갑 정보를 반환 한다. 지갑키에 대한 기능을 사용할수 있다. Fail LunieError 에러정보를 가진 객체를 반환 한다.
Check Wallet Existence
- LunieWallet::isAlreadySetWallet(): LunieWalletResult
디바이스에 저장된 Wallet이 존재하는지 확인합니다. 성공 시 Boolean 값으로 존재 여부를 확인할 수 있으며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description 없음 -
return parameters
result Type Description 비고 Success Boolean 지갑 존재 여부를 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get Address
- LunieNetwork::getAddress(wallet: LunieWallet): LunieWalletResult
해당 네트워크의 HD 지갑 주소를 가져옵니다. 성공 시 지갑의 주소를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description wallet Yes LunieWallet 지갑 인스턴스 -
return parameters
result Type Description 비고 Success String 지갑의 주소를 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get Native Token
- LunieNetwork::getNativeToken(address: String): LunieWalletResult
현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 Native Token의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description address Yes String 지갑 주소 -
return parameters
result Type Description 비고 Success Token 잔고 정보를 담은 토큰 인스턴스 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get Tokens
- LunieNetwork::getTokens(address: String): LunieWalletResult<Token[]>
현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 ERC20의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description address Yes String 지갑 주소 -
return parameters
result Type Description 비고 Success Token[] 잔고 정보를 담은 토큰 인스턴스 리스트 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get NFTs
- LunieNetwork::getNfts(address: String): LunieWalletResult<NftInventory[]>
현재 네트워크에서 Input parameter로 입력한 주소가 보유하고 있는 NFT(ERC721)의 정보를 조회합니다. 성공 시 잔고 정보를 담은 Token Instance가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description address Yes String 지갑 주소 -
return parameters
result Type Description 비고 Success NftInventory[] NFT 정보를 담은 토큰 인스턴스 리스트 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
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
Key Required Type Description wallet Yes LunieWallet 지갑 인스턴스 toAddress Yes String 받을 지갑 주소 token Yes Token 전송할 토큰 객체 transferGasFee Optional TransferGasFee 전송시 사용할 total 가스 값. 옵셔널으로 null값으로 호출하는 경우 네트워크에서 추천해주는 가스비로 전송한다. -
return parameters
result Type Description 비고 Success String 트랜잭션 hash값 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Transfer NFT
- LunieNetwork::transferNft(wallet: LunieWallet, toAddress: String, nft: Nft, transferGasFee: TransferGasFee? = null): LunieWalletResult
현재 디바이스에 저장된 Wallet에서 입력하는 주소로 NFT(ERC721)을 전송합니다. 성공 시 Transaction의 Hash가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description wallet Yes LunieWallet 지갑 인스턴스 toAddress Yes String 받을 지갑 주소 nft Yes Nft 전송할 nft 객체 transferGasFee Optional TransferGasFee 전송시 사용할 total 가스 값. 옵셔널으로 null값으로 호출하는 경우 네트워크에서 추천해주는 가스비로 전송한다. -
return parameters
result Type Description 비고 Success String 트랜잭션 hash값 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get Gas Price
- LunieNetwork::getGasPrice(): LuniverseResult
현재 네트워크가 추천하는 gasPrice를 조회합니다. 성공 시 gasPrice 정보가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description 없음 -
return parameters
result Type Description 비고 Success RecommendGasFee 네트워크의 추천 가스 price 반환 Fail LunieError 에러정보를 가진 객체를 반환 한다.
Get Gas Limit(NFT)
- LunieNetwork::getGasLimit(wallet: LunieWallet, toAddress: String, nft: Nft): LunieWalletResult
NFT를 전송하고자 할 때 현재 네트워크가 추천하는 gasLimit을 조회합니다. 성공 시 안정적으로 transaction을 실행할 수 있도록 estimateGas의 110%가 반환되며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description wallet Yes LunieWallet 지갑 인스턴스 toAddress Yes String 받을 지갑 주소 nft Yes Nft 전송할 NFT 객체. getNfts() 에서받은 정보와 동일한 형태로 입력한다. -
return parameters
result Type Description 비고 Success BigInteger 네트워크의 가스 limit(estimateGas의 110%) 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
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
Key Required Type Description wallet Yes LunieWallet 지갑 인스턴스 toAddress String 받을 지갑 주소 token Token 전송할 Token 객체. getTokens 또는 getNativeToken 에서 받은 토큰 정보와 동일한 형태로 입력한다. amount BigInteger 전송할 Token 수량 -
return parameters
result Type Description 비고 Success BigInteger 네트워크의 가스 limit(estimateGas의 110%) 반환 Fail LunieError 에러 정보를 가진 객체를 반환 한다.
Get Transaction Result By Hash
- LunieNetwork::getTransactionResultByHash(transactionHash: String): LunieWalletResult
transactionHash를 이용하여 현재 트랜잭션의 상태를 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description transactionHash Yes String 트랜잭션 정보(상태, receipt)를 조회를 위한 Hash 값 -
return parameters
result Type Description 비고 Success TransactionResult transaction 정보 객체 반환 Fail LunieError 에러정보를 가진 객체를 반환 한다.
Get Token Transaction From Address
- LunieNetwork::getTokenTransactionFromAddress(address: String): LunieWalletResult
address를 이용하여 특정 계정의 Token(ERC20) 트랜잭션 내역을 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description address Yes String 조회할 계정을 특정하기 위한 주소 값 -
return parameters
result Type Description 비고 Success TransactionResult transaction 정보 객체 반환 Fail LunieError 에러정보를 가진 객체를 반환 한다.
Get Account Transaction Results
- LunieNetwork::getAccountTransactionResults(address: String): LunieWalletResult<List>
address를 이용하여 해당 address가 포함된 Transaction의 정보를 조회합니다. 성공 시 Transaction의 정보를 담은 객체를 반환하며 실패 시 에러 정보가 담긴 객체를 반환합니다.
-
input parameters
Key Required Type Description address Yes String 트랜잭션 정보(상태, receipt)를 가저올 주소값 -
return parameters
result Type Description 비고 Success List transaction 정보 객체 반환 Fail LunieError 에러정보를 가진 객체를 반환 한다.
Wallet UI Component Setting
Wallet SDK는 편리한 개발을 지원하기 위해 기본적인 WebView를 지원합니다. 아래 코드를 이용하여 해당 WebView를 확인할 수 있습니다.