지갑 연결

1. Request.connectWallet

Parameters

이름타입설명

appName

string

지갑 연결 시 FAVORLET 앱에 노출될 이름

chainId

number

해당 네트워크의 체인 아이디 (optional)

Response

이름타입설명

requestId

string

작업 또는 트랜잭션 요청을 추적하기 위한 id

expiredAt

number

작업 또는 트랜잭션 요청이 만료 되는 시간(단위: 초)

Example

import { Request } from "favorlet.js";

const response = await Request.connectWallet({
  chainId: 8217, // 해당 체인 id
  appName: "BlockChainApp" // FAVORLET 앱에 노출
});

console.log(response);
/*
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
}
*/

Parameters

타입설명

string

Request 요청시 전달받은 requestId

Response

타입설명

string

FAVORLET 앱 내 해당 요청 페이지 DeepLink

Example

import { createDeepLink } from "favorlet.js";

const deepLink = createDeepLink(response.requestId); // Request를 통해 받은 requestId

/*
- PC: 생성된 deepLink를 qrcode 라이브러리를 이용하여 QR 생성 후 스마트폰으로 스캔
- Mobile: window.location.href 등을 사용하여 생성된 deepLink로 직접 이동
*/
console.log(deepLink);
// https://app.favorlet.link/?requestId=635b7750-5de2-48eb-9a6c-fba8763f7484

receipt

import { receipt } from "favorlet.js";

const result = await receipt(response.requestId); // Request를 통해 받은 requestId

console.log(result);
/*
- status에 따라 이후 분기 처리

### requested
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWallet",
  connectWallet: {
    status: "requested"
  }
}

### canceled
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWallet",
  connectWallet: {
    status: "canceled",
    address: null,
    errorMessage: null
  }
}

### succeed
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWallet",
  chainId: "8217" //지갑에 연결된 chainId
  connectWallet: {
    status: "succeed",
    address: "0x817228A2B8BFbb73d504504696fD6E423b9D561B",
    errorMessage: null
  }
}
*/

2. Request.connectWalletAndSignMessage (>= v1.3.0)

지갑연결과 서명값을 1개의 qr코드 처리 방식으로 완료합니다.

Parameters

이름타입설명

appName

string

지갑 연결 시 FAVORLET 앱에 노출될 이름

chainId

number

해당 네트워크의 체인 아이디 (optional)

message

string

서명할 메세지

Response

이름타입설명

requestId

string

작업 또는 트랜잭션 요청을 추적하기 위한 id

expiredAt

number

작업 또는 트랜잭션 요청이 만료 되는 시간 (단위: 초)

import { Request } from "favorlet.js";

const response = await Request.connectWalletAndSignMessage({
  chainId: 8217, // 해당 체인 id
  appName: "BlockChainApp" // FAVORLET 앱에 노출
  message: "sign message" // 서명할 메세지
});

console.log(response);
/*
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
}
*/

Parameters

타입설명

string

Request 요청시 전달받은 requestId

Response

타입설명

string

FAVORLET 앱 내 해당 요청 페이지 DeepLink

Example

import { createDeepLink } from "favorlet.js";

const deepLink = createDeepLink(response.requestId); // Request를 통해 받은 requestId

/*
- PC: 생성된 deepLink를 qrcode 라이브러리를 이용하여 QR 생성 후 스마트폰으로 스캔
- Mobile: window.location.href 등을 사용하여 생성된 deepLink로 직접 이동
*/
console.log(deepLink);
// https://app.favorlet.link/?requestId=635b7750-5de2-48eb-9a6c-fba8763f7484

receipt

import { receipt } from "favorlet.js";

const result = await receipt(response.requestId); // Request를 통해 받은 requestId

console.log(result);
/*
- status에 따라 이후 분기 처리

### requested
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWalletAndSignMessage",
  connectWalletAndSignMessage: {
    status: "requested"
  }
}

### canceled
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWalletAndSignMessage",
  connectWalletAndSignMessage: {
    status: "canceled",
    address: null,
    signature: null,
    errorMessage: null
  }
}

### succeed
{
  requestId: "635b7750-5de2-48eb-9a6c-fba8763f7484",
  expiredAt: 1667890657,
  action: "connectWalletAndSignMessage",
  connectWalletAndSignMessage: {
    "status": "succeed",
    "address": "0x123...123”,
    "signature": "0xasdkasldjwqevnwrejkqwkeqlwkejq"
  }
}
*/

Last updated