Klaytn.on( ) 에서 잠금 상태로 변경되는 이벤트는 없는가요?

KAIKAS로 웹 페이지에 연결을 했습니다.
예제에 있는 아래 두 가지는 잘 활용하고 있는데요,

klaytn.on('accountsChanged', ...);
klaytn.on('networkChanged', ... );

KAIKAS가 자동 잠금 타이머에 의해 [잠김 상태]로 변경되는
이벤트에 대한 문서가 있는 지 문의 드립니다.

없는 거라면 주기적으로 상태를 체크하도록 해야 할까요?

안녕하세요

Kaikas 확장프로그램 안에서 찾아낸것이라 공식적인 정보는 아닙니다.

언제든지 breaking change 될 가능성이 있습니다.

klaytn.publicConfigStore.getState(); 을 통해 State를 가져올 수 있습니다. (Redux와 유사)

isUnlocked 를 사용하시면 됩니다.

if (!window.klaytn) {
  return;
}

await window.klaytn.enable();
window.klaytn.on('accountsChanged', () => {
  console.log(window.klaytn?.selectedAddress);
});

window.klaytn.publicConfigStore.subscribe(() => {
  if (!window.klaytn) {
    return;
  }
  
  const state = window.klaytn.publicConfigStore.getState();
  console.log(state.isUnlocked);
});

아래 내용은 제가 작성한 definition 입니다.

interface Klaytn {
  on: (eventName: string, callback: () => void) => void;
  enable: () => Promise<Array<string>>;
  selectedAddress: string;
  networkVersion: number;
  publicConfigStore: Store;
}

interface State {
  isEnabled: boolean
  isUnlocked: boolean;
  networkVersion: number;
  onboardingcomplete: boolean;
}

interface Store {
  subscribe: (callback: () => void) => void;
  getState: () => State;
}

declare interface Window {
  klaytn?: Klaytn;
}
1 Like