Caver-js-ext-kas 에서 providerEngine object 호출방법 문의드립니다

안녕하세요, web3의 providerEngine 을 이용해 opensea-js 를 이용해 웹서비스를 만들어보고자 합니다.

현재 문제가 opensea 에 연결하기 위해 OpenSeaPort 를 이용해야하는데, 입력값에 web3의 providerEngine 객체가 이용되는데, 이에 대응하는 caver의 객체가 무엇인지 모르겠습니다.

아래 오픈씨에서 제공한 튜토리얼을 보면

const MnemonicWalletSubprovider = require("@0x/subproviders").MnemonicWalletSubprovider;
const Web3ProviderEngine = require("web3-provider-engine")
const RPCSubprovider = require("web3-provider-engine/subproviders/rpc")

const MNEMONIC = process.env.MNEMONIC;
const NODE_API_KEY = process.env.INFURA_KEY;
const API_KEY = process.env.API_KEY;

const infuraRpcSubprovider = new RPCSubprovider({
  rpcUrl: "https://mainnet.infura.io/v3/" + NODE_API_KEY
});

const providerEngine = new Web3ProviderEngine();
providerEngine.addProvider(mnemonicWalletSubprovider);
providerEngine.addProvider(infuraRpcSubprovider);
providerEngine.start();

const seaport = new OpenSeaPort(
  providerEngine,
  {
    networkName: Network.Main,
    apiKey: API_KEY
  },
  (arg) => console.log(arg)
};

이와 같이, RPC subprovider와 지갑 subprovider 두가지 인스턴스를 providerEngine에 할당해서 provider 인스턴스를 생성하고, 이를 제가 사용하기를 원하는 OpenSeaPort 에 입력값으로 이용하고있는데, caver-js의 경우에 아래처럼

const accessKeyID = process.env.accessKeyID;
const secretAccessKey = process.env.secretAccessKey;

const CaverExtKAS = require('caver-js-ext-kas')
const caver = new CaverExtKAS("8217", accessKeyID, secretAccessKey)

을 이용해 인스턴스를 생성했을때, OpenSeaPort 인스턴스 생성시 providerEngine 부분에 대응하는 값을 caver instance 로부터 어떻게 호출해올수 있는지 궁금합니다. 예를 들어

위에서 caver instance를 생성한뒤에

const seaport = new OpenSeaPort(caver.XXXXX, {networkName: "kasBaobab"})

이런식으로 접근할수 있는 방법이 있을까요?

또한 두번째 입력값인 Network.Main 의 경우 wyvern-js 의 types에 “main” 이라는 스트링으로 지정되어있는데, 클레이튼 메인넷 및 테스트넷 에 대응하는 값이 어떤것인지 그라운드 X에서 제공해주실 수 있으면 더욱 감사드리겠습니다.

감사합니다.

현재 아래까지 진행해봤는데요.

const {OpenSeaPort,Network} = require('opensea-js');
const RPCSubprovider = require('web3-provider-engine/subproviders/rpc');
const Web3ProviderEngine = require('web3-provider-engine');
const {PrivateKeyWalletSubprovider} = require('@0x/subproviders');

const option = {
  headers: [
    {name: 'Authorization', value: 'Basic ' + Buffer.from(accessKeyId + ':' + secretAccessKey).toString('base64')},
    {name: 'x-chain-id', value: '8217'},
  ]
}

const klaytnRpcSubprovider = new RPCSubprovider(
    "https://node-api.klaytnapi.com/v1/klaytn", 
    option
)

const privateWalletSubprovider = new PrivateKeyWalletSubprovider(privateKey);

const providerEngine = new Web3ProviderEngine();
providerEngine.addProvider(privateWalletSubprovider);
providerEngine.addProvider(klaytnRpcSubprovider);
providerEngine.start();

const seaport = new OpenSeaPort(
  providerEngine,
  {
    networkName: Network.Klaytn,
    apiKey: API_KEY,
  },
  (arg) => console.log(arg)
  );

그래서 seaport instance 까지는 생성하는데는 성공 했는데, api써서 통신하니까 오류가 나네요.

혹시 조언 구할수 있을까요? 제대로 된것인지도 궁금하네요.
caver-js와 opensea-js가 요구하는 node 버젼이 달라서 같은환경에서 쓰기가 좀 힘든부분이 있어서
KAS의 rpc 접속관련해서 caver아닌 web3 기반 접속방법도 어느정도 가이드라인이 있었으면 좋겠습니다.

감사합니다.