메서드

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

openWidget

await wepin.openWidget()

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

Return value

  • Promise <void>

closeWidget

wepin.closeWidget()

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

getAccounts

let accounts = await wepin.getAccounts(['Ethereum'])

or

let accounts = await wepin.getAccounts()

앱에서 사용 가능 한 네트워크의 사용자 주소를 반환합니다. getAccounts 는 위젯 로그인 이후에 사용가능한 메서드입니다. getAccounts의 파라미터는 아래와 같습니다.

Parameters

  • networks: Array of string 반환 받고자 하는 주소의 네트워크 입니다. 네트워크를 지정하지 않으면 앱에서 사용 가능한 모든 주소가 반환됩니다. networks 에 넣을 수 있는 블록체인 네트워크의 이름은 아래의 페이지에서 확인 가능합니다.

지원 블록체인

Return Value

  • Promise <Array>

    • 사용자가 로그인 한 경우, 네트워크의 계정 정보 account 가 반환됩니다.

      • account s assigned at @wepin/types as IAccount

      • account IAccount @wepin/types 선언되어 있습니다.

        • address String

        • network String

        • contract String optional

          • token contract address. (@wepin/types(0.0.12 버전 이상) IAccount에 정의되어 있습니다.)

    • networks 파라미터가 없는 경우에는 모든 계정 정보가 반환됩니다.

    • Example

      [
          {
              "address": "0x0000001111112222223333334444445555556666",
              "network": "Ethereum"
          },
          {
              "address": '0x0000001111112222223333334444445555556666',
              "network": 'Ethereum',
              "contract": '0x777777888888999999000000111111222222333333',
          },
      ]
  • Promise <void>

    • 사용자가 로그인 하지 않은 경우

getStatus (0.3.1 버전 이상 지원)

var status = wepin.getStatus()

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

Return Value

  • <WepinLifeCycle>

    • WepinLifeCycle @wepin/types (0.0.7 버전 이상)에 정의되어 있습니다.

      • not_initialized: if wepin is not initialized

      • initializing: if wepin is initializing

      • initialized: if wepin is initialized

      • before_login: if wepin is initialized but the user is not logged in

      • login: if the user is logged in

login (0.3.1 버전 이상 지원)

var userInfo = await wepin.login()

사용자가 로그인하지 않은 경우 위젯 화면을 띄워 사용자 로그인을 요청합니다. 그리고 그 결과를 반환합니다.

Return Value

Promise <IWepinUser>

  • IWepinUser @wepin/types (0.0.7 버전 이상)에 정의되어 있습니다.

    • status String <'success'|'fail'>

    • userInfo Object (optional)

      • userId String

      • email String

      • provider String <'google'|'apple'>

    • Example

      {
          "status": "success",
          "userInfo": {
              "userID": "123455",
              "email": "abc@test.com",
              "provider": "google"
          }
      }

logout (0.3.1 버전 이상 지원)

await wepin.logout()

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

Return Value

  • Promise <void>

finalize (0.3.1 버전 이상 지원)

wepin.finalize()

위핀 객체 사용을 종료합니다. 위핀의 상태가 not_initialized 로 변경됩니다.

Return Value

  • void

loginWithExternalToken (0.5.1 버전 이상 지원)

var userInfo = await wepin.loginWithExternalToken(token, sign, withUI?)

External Token(예: idToken)을 이용하여 위핀에 로그인 합니다.

loginWithExternalToken() 메서드는 로그인한 사용자의 정보를 반환합니다.

사용자가 위핀에 등록되어 있지 않고, withUI 값이 true로 설정된 경우, 위젯에 등록 페이지가 표시됩니다. 그러나 withUI 값이 false 또는 정의되지 않은 경우, require/wepin-register 예외가 발생합니다.

Parameters

  • token <string>

    • 로그인에 사용될 외부 토큰 값입니다. 예를 들어, idToken과 같은 값이 사용됩니다.

  • sign <string>

    • 첫 번째 매개변수로 제공된 토큰의 서명 값입니다. (Signature Generation Methods)

    • 서명에 사용할 키는 위핀 워크스페이스에서 발급 받을 수 있습니다. 개발 도구 메뉴에서 로그인 탭의 인증키 발급 받기를 클릭하여 인증키를 확인하세요.

  • withUI <boolean> optional

    • 회원가입이 필요한 경우 위젯 화면을 표시할 지 여부를 나타냅니다.

Return Value

  • Promise <IWepinUser>

    • IWepinUser@wepin/types (0.0.7 버전 이상)에 정의되어 있습니다.

      • status <'success'|'fail'>

      • userInfo <object> optional

        • userId <string>

          • email <string>

          • provider <'external_token'>

    • Example

      {
      	status: 'success',
      	userInfo: {
      		userID: '123455',
      		email: 'abc@test.com',
      		provider: 'external_token'
              }
      }

Exceptions

  • require/wepin-register: 이 오류가 발생할 경우, wepin.register(pin) 메서드를 수행해야 합니다.

signUpWithEmailAndPassword (0.5.1 버전 이상 지원)

await wepin.signUpWithEmailAndPassword(email, password)

이메일과 비밀번호로 위핀에 회원가입을 합니다.

Parameters

  • email <string> - User email

  • password <string> - User password

Return Value

  • Promise <boolean>

    • 회원가입에 성공하면 true를 반환합니다.

Exceptions

loginWithEmailAndPassword(0.5.1 버전 이상 지원)

await wepin.loginWithEmailAndPassword(email, password)

이메일과 비밀번호로 위핀에 로그인 합니다.

Parameters

  • email <string> - User email

  • password <string> - User password

Return Value

  • Promise <IWepinUser>

    • IWepinUser@wepin/types (0.0.8 버전 이상) 에 정의되어 있습니다.

      • status <'success'|'fail'>

      • userInfo <object> optional

        • userId <string>

        • email <string>

        • provider <'email'>

    • Example

      {
      	status: 'success',
      	userInfo: {
      		userID: '123455',
      		email: 'test@test.com',
      		provider: 'email'
              }
      }

Exceptions

  • require/wepin-register: 이 오류가 발생하면, wepin.register(pin) 메서드를 수행해야 합니다.

register(0.5.1 버전 이상 지원)

await wepin.register(pin)

지갑 PIN을 사용하여 위핀에 회원가입을 합니다.

Parameters

  • pin <string> - 위핀 지갑에서 사용할 PIN

Return Value

  • Promise <boolean>

    • 회원가입에 성공하면 true를 반환합니다.

    • 회원가입 성공 후, wepin.login(email, password) 메서드를 다시 실행해야 합니다.

Exceptions

getBalance(0.5.1 버전 이상 지원)

await wepin.getBalance(account)

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

Parameters

  • account <IAccount> - 사용자의 계정 정보

Return Value

  • Promise <IAccountBalance>

    • IAccountBalanceITokenBalance@wepin/types (버전 0.0.8이상)에 정의되어 있습니다.

      • symbol <string> - symbol of account

      • balance <string> - balance of account

      • tokens <Array<ITokenBalance>> - token balance information for account

        • name <string> - token name

        • contract <string> - token contract address

        • symbol <string> - token symbol

        • balance <string> - token balance

    • Example

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

Exceptions

send(0.5.3 버전 이상 지원)

await wepin.send(account, options?)

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

Parameters

  • account <IAccount> - 사용자의 계정 정보

  • options <ISendOptions> - 보내기 기능에 필요한 정보

    • ISendOptions@wepin/types에 정의되어 있습니다.

      • toAddress <string> - 보낼 주소

      • amount <string> - 보낼 금액 (network 단위)

Example

// without options
const result = Wepin.send({
  address: '0x0000001111112222223333334444445555556666',
  network: 'Ethereum',
})

// with options
const result = Wepin.send(
  {
    address: '0x0000001111112222223333334444445555556666',
    network: 'Ethereum',
  },
  { amount: '0.1', toAddress: '0x777777888888999999000000111111222222333333' }
)

Return Value

  • Promise <string>

    • send 트랜잭션의 txID

    • Example

      '0x0000001111112222223333334444445555556666.............aaaaaabbbbbbccccccddddddeeeeeeffffff'

Exceptions

Exceptions

에러 메세지 유형은 다음과 같습니다.

Error MessageDescription

invalid/email-format

invalid email format

invalid/password-format

invalid password format (A minimum of 8 characters consisting of letters, numbers and special characters. )

invalid/pin-format

invalid PIN format (6-8 digit number) (*Do not use the same number more than four times when registering)

invalid/firebase-token

invalid firebase token

invalid/wepin-api-key

invalid wepin api key

invalid/account

invalid account

invalid/email-domain

invalid email domain

invalid/to-address

invalid to address

auth/existed-email

existed email

auth/too-many-requests

too mandy firebase requests

auth/wrong-password

wrong password

auth/expired-token

expired login session

auth/unknown/${string}

unknown auth error

fail/send-email

failed to sent validation email

fail/reset-password

failed to set password

fail/email-verified

failed to verify email

fail/wepin-login

login wepin failed

fail/wepin-register

failed to register with wepin

fail/get-balance

failed to get balance

fail/check-email

failed to check email

fail/requireFee

insufficient fee

fail/requireNetworkFee

insufficient network fee(only token transaction request)

require/email-verified

email verification required

require/signup

wepin sign-up required

require/wepin-register

wepin registration required

require/login

wepin login required

unknown/${string}

unknown error

Last updated