메서드

Wepin Widget Javascript SDK에서 제공하는 메서드 입니다.

getStatus

await wepinSdk.getStatus()

WepinSDK의Lifecycle 상태 값을 반환합니다.

Parameters

  • <void>

Return value

  • WepinLifeCycle <string>

    • not_initialized: 위핀이 초기화 되어 있지 않음

    • initializing: 위핀 초기화 진행중임

    • initialized: 위핀 초기화 완료

    • before_login: 위핀은 초기화 되어 있지만, 사용자는 로그인 되어 있지 않음

    • login: 사용자가 로그인됨

    • login_before_register : 사용자가 이메일로 로그인 되어 있지만, 위핀에 가입이 안되어 있음

Example

const status = await wepinSdk.getStatus()

openWidget

await wepinSdk.openWidget()

위젯 윈도우를 보여 줍니다. 사용자 로그인 여부에 따라 위젯 윈도우에 표시되는 화면은 다릅니다. 로그인이 되어 있지 않으면 로그인 화면이 표시됩니다.

Parameters

  • <void>

Return Value

  • <Promise> <void>

Example

await wepinSdk.openWidget()

closeWidget

wepinSdk.closeWidget()

위젯 윈도우를 닫습니다. 윈도우를 닫아도 로그아웃 되지 않습니다.

Parameters

  • <void>

Return Value

  • <void>

Example

wepinSdk.closeWidget()

loginWithUI

await wepinSdk.loginWithUI({email}?)

로그인한 사용자의 정보를 반환합니다. 로그인한 사용자가 없을 경우, 위핀위젯은 로그인 페이지를 표시할 것입니다. 위젯 없이 로그인을 수행하려면, @wepin/login-js에서 loginWepin() 메소드를 사용하세요.

Parameters

  • email <string> optional

    위핀에 로그인할 사용자의 이메일 주소

Return Value

  • Promise <IWepinUser>

    • status <string>

      성공여부<'success'|'fail'>

    • userInfo <object> optional

      • userId <string>

        위핀의 사용자 ID

      • email <string>

        위핀에 로그인된 사용자의 이메일주소

      • provider <string>

        <'google'|'apple'|'naver'|'discord'|'email'|'external_token'>

      • use2FA <boolean>

        사용자 지갑에 2FA가 활성화 되어 있는지 여부

    • userStatus: <object>

      • loginStatus <string>

        <'complete' | 'pinRequired' | 'registerRequired'>

        사용자의 loginStatus 값이 'complete'가 아닌 경우, wepin에 등록을 해야 합니다.

      • pinRequired <boolean> optional

        사용자 PIN 번호 필요 여부

    • walletId <string>

      위핀 사용자의 지갑 ID

Example

//without email
const userInfo = await wepinSdk.loginWithUI()
//with email
const userInfo = await wepinSdk.loginWithUI({email})
  • respnse

{
    "status": "success",
      "userInfo": {
        "userId": "120349034824234234",
        "email": "abc@gmail.com",
        "provider": "google",
        "use2FA": true,
      },
}

register

await wepinSdk.register()

사용자를 Wepin에 등록합니다. 가입 및 로그인 후, Wepin 위젯의 등록 페이지가 열리고 Wepin 서비스에 등록(지갑 생성 및 계정 생성)을 진행합니다. 이 기능은 WepinSDK의 WepinLifeCycle이 login_before_register일 때만 사용할 수 있습니다. @wepin/login-js에서 loginWepin() 메서드를 호출한 후, userStatus의 loginStatus 값이 'complete'가 아니면 이 메서드를 호출해야 합니다.

Parameters

  • <void>

Return Value

  • Promise <IWepinUser>

    • status <string>

      성공여부<'success'|'fail'>

    • userInfo <object> optional

      • userId <string>

        위핀의 사용자 ID

      • email <string>

        위핀에 로그인된 사용자의 이메일주소

      • provider <string>

        <'google'|'apple'|'naver'|'discord'|'email'|'external_token'>

      • use2FA <boolean>

        사용자 지갑에 2FA가 활성화 되어 있는지 여부

    • userStatus: <object>

      • loginStatus <string>

        <'complete' | 'pinRequired' | 'registerRequired'>

        사용자의 loginStatus 값이 'complete'가 아닌 경우, wepin에 등록을 해야 합니다.

      • pinRequired <boolean> optional

        사용자 PIN 번호 필요 여부

    • walletId <string>

      위핀 사용자의 지갑 ID

Example

const userInfo = await wepinSdk.register()

logout

await wepinSdk.logout()

위핀 사용자를 로그아웃 합니다.

Parameters

  • <void>

Return Value

  • Promise <void>

Example

await wepinSdk.logout()

getAccounts

await wepinSdk.getAccounts()
or
await wepinSdk.getAccounts(options?)

앱에서 사용 가능한 사용자의 계정정보(네트워크와 주소)를 반환합니다.

이 기능은 위핀에 로그인한 후에만 사용할 수 있습니다.

options 파라미터가 없는 경우에는 사용자의 모든 계정 정보가 반환됩니다.

Parameters

  • options <object> optional

    • networks <string[]> optional

      반환 받고자 하는 계정의네트워크 입니다. networks 에 넣을 수 있는 블록체인 네트워크는 아래의 지원 블록체인 페이지에서 확인가능합니다.

    • withEoa <boolean> optional

      AA 계정이 있는 경우, EOA 계정도 포함해서 반환 받을지 여부

지원 블록체인(Supported blockchain)

Return Value

사용자가 로그인 되어 있는 경우, 네트워크의 계정정보 Account[] 가 반환됩니다.

  • Promise <Account[]>

    • address <string>

      사용자 계정의 주소

    • network <string>

      사용자 계정의 network 종류

    • contract <string> optional

      토큰의 계약주소

    • isAA <boolean> optional

      AA 계정인지 여부

Example

const result = await wepinSdk.getAccounts({
  networks: ['Ethereum'], 
  withEoa: true
})
  • response

[
  {
    "address": "0x0000001111112222223333334444445555556666",
    "network": "Ethereum",
  },
  {
    "address": "0x0000001111112222223333334444445555556666",
    "network": "Ethereum",
    "contract": "0x777777888888999999000000111111222222333333",
  },
  {
    "address": "0x4444445555556666000000111111222222333333",
    "network": "Ethereum",
    "isAA": true,
  },
]

getBalance

await wepinSdk.getBalance(accounts)
or
await wepinSdk.getBalance()

계정의 잔액(수량) 정보를 반환합니다. 이 기능은 위핀에 로그인한 후에만 사용할 수 있습니다.

accounts 파라미터가 없는 경우에는 사용자의 모든 계정의 잔액이 반환 됩니다.

Parameters

  • accounts <Account[]> optional

    • network <string>

      잔액을 조회할 사용자 계정의 네트워크 종류류

    • address <string>

      잔액을 조회할 사용자 계정의 주소

    • isAA <boolean> optional

      AA 계정인지 여부

Return Value

  • Promise <AccountBalanceInfo[]>

    • network <string>

      사용자 계정의 네트워크 종류류

    • address <string>

      사용자 계정의 주소

    • symbol <string>

      네트워크 심볼

    • balance <string>

      보유하고 있는 네트워크 코인의 갯수

    • tokens <TokenBalanceInfo[]>

      • symbol <string>

        토큰 심볼

      • balance <string>

        보유하고 있는 토큰의 갯수

      • contract <string>

        토큰 계약주소

Example

const result = await wepinSdk.getBalance([{
  address: '0x0000001111112222223333334444445555556666',
  network: 'Ethereum',
}])
  • response

[
    {
        "symbol": "ETH",
            "balance": "1.1",
        "tokens":[
            {
                "contract": "0x123...213",
                "symbol": "TEST",
                "balance": "10"
            },
        ]
    }
]

send

await wepinSdk.send({account, txData?})

위젯을 이용하여 send기능을 수행하고 send 트랜젝션의 ID정보를 반환합니다. 위핀에 로그인한 후에만 사용할 수 있습니다.

Parameters

  • account <Account>

    전송할 사용자의 계정정보

    • network <string>

      전송할 네트워크 종류

    • address <string>

      전송할 계정의 주소

  • txData <object> optional

    • to <string>

      전송 받을 주소

    • amount <string>

      전송할 수량

Return Value

  • Promise <object>

    • txId <string>

    send 트랜잭션의 txID

Example

const result = await wepinSdk.send({
    account: {
        address: '0x0000001111112222223333334444445555556666',
        network: 'Ethereum',
    },
    txData: {
        to: '0x9999991111112222223333334444445555556666',
        amount: '0.1',
    }
})
  • response

{
    "txId": "0x76bafd4b700ed959999d08ab76f95d7b6ab2249c0446921c62a6336a70b84f32"
}

finalize

wepinSdk.finalize()

WepinSDK 사용을 종료합니다. WepinLifeCyclenot_initialized 로 변경됩니다.

Return Value

  • void

Example

wepinSdk.finalize()

Last updated