UNPKG

@linenext/dapp-portal-sdk

Version:

Dapp Portal SDK

1 lines 59.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@okxconnect/ui"),t=require("eventemitter3"),n=require("axios"),r=require("uuid"),i=require("@line/liff"),o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},a.apply(this,arguments)};function c(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function l(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(t){o(t)}}function a(e){try{c(r.throw(e))}catch(t){o(t)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function u(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(c){a=[6,c],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(a){i={error:a}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}"function"==typeof SuppressedError&&SuppressedError;var h,f=function(e){function t(n){var r=e.call(this,n.message)||this;return r.name="RpcException",r.code=n.code,r.data=n.data,Object.setPrototypeOf(r,t.prototype),r}return s(t,e),t}(Error);!function(e){e.invalidRequest="-32600",e.methodNotFound="-32601",e.invalidParams="-32602",e.internal="-32603",e.parse="-32700"}(h||(h={}));var v={"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."}},y=-32001,m=function(e){function t(n,r,i){var o=this,s=Number.parseInt(n);if(isNaN(s))throw new Error('"code" must be an integer.');var a=null!=r?r:v[h.invalidRequest].message;return(o=e.call(this,a)||this).code=s,i&&(o.data=i),Object.setPrototypeOf(o,t.prototype),o}return s(t,e),t}(Error),w=function(e){function t(t,n){return e.call(this,h.internal,t,n)||this}return s(t,e),t}(m);function g(t){return t instanceof e.OKXConnectError&&300===t.code&&t.message.includes("user rejects error")?{code:y,message:"User canceled"}:"string"==typeof t?{code:Number.parseInt(h.internal),message:t}:t instanceof m||t instanceof f?{code:t.code,message:t.message,data:t.data}:{code:Number.parseInt(h.internal),message:v[h.internal].message}}function _(){var e=globalThis.klaytn;if(!e)throw new w("Extension is not installed");return e}function b(e){return/Line/.test(e)}function T(e){return/iPad|iPhone|iPod/.test(e)}function P(e){return/iPhone|iPad|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini|Mobile/.test(e)}var C="walletType",k="selectedWalletAddress",I="deviceId",S="providerType",x=function(){function e(e){this.chainId=e}return e.prototype.clear=function(){this.removeItem(C),this.removeItem(k)},e.prototype.setWalletType=function(e){this.setItem(C,e)},e.prototype.getWalletType=function(){return this.getItem(C)},e.prototype.setProviderType=function(e){this.setItem(S,e)},e.prototype.getProviderType=function(){return this.getItem(S)},e.prototype.setSelectedWallet=function(e){this.setItem(k,e)},e.prototype.getConnectedWallet=function(){return this.getItem(k)},e.prototype.getDeviceId=function(){return this.getItem(I)},e.prototype.setDeviceId=function(e){this.setItem(I,e)},e.prototype.getKeyWithPrefix=function(e){return"".concat("sdk.dappportal.io",":").concat(this.chainId,":").concat(e)},e.prototype.setItem=function(e,t){localStorage.setItem(this.getKeyWithPrefix(e),t)},e.prototype.getItem=function(e){return localStorage.getItem(this.getKeyWithPrefix(e))},e.prototype.removeItem=function(e){localStorage.removeItem(this.getKeyWithPrefix(e))},e}();function W(e){return e.replace(/^klay_/,"kaia_")}var E=function(){function e(e,t){this.eventBus=e,this.config=t,this.setExtensionEventProxy()}return e.prototype.request=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i,o;return u(this,(function(s){switch(s.label){case 0:return t=e.method,n=e.params,"kaia_connectAndSign"!==t?[3,2]:[4,this.requestConnectAndSign(n)];case 1:case 3:return[2,s.sent()];case 2:return r="kaia_signLegacy"===(a=t)?"klay_sign":a.replace(/^kaia_/,"klay_"),i=n?this.appendTxTypeParam(r,n):n,o=i?this.convertToLegacyParam(r,i):i,[4,this.requestWithConverter({method:r,params:o})]}var a}))}))},e.prototype.requestConnectAndSign=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i;return u(this,(function(o){switch(o.label){case 0:if(!Array.isArray(e)||1!==e.length)throw new f({code:-32602,message:"Invalid params"});return t=e[0],[4,this.requestWithConverter({method:"eth_requestAccounts",params:[]})];case 1:return n=o.sent(),r=n[0],[4,this.requestWithConverter({method:"personal_sign",params:[t,r]})];case 2:return i=o.sent(),[2,[r,i]]}}))}))},e.prototype.switchChain=function(e){return l(this,void 0,void 0,(function(){var e,t,n,r,i;return u(this,(function(o){switch(o.label){case 0:return e=_(),t=e.networkVersion.toString().toLowerCase(),n=this.config.chainId.toString().toLowerCase(),t===n?[2]:(r="0x".concat(parseInt(n,10).toString(16)),i=this.awaitNetworkChange(e,n),[4,e.request({method:"wallet_switchKlaytnChain",params:[{chainId:r}]})]);case 1:return o.sent(),[4,i];case 2:return o.sent(),[2]}}))}))},e.prototype.disconnect=function(){return l(this,void 0,void 0,(function(){return u(this,(function(e){return[2]}))}))},e.prototype.awaitNetworkChange=function(e,t){return l(this,void 0,void 0,(function(){var e=this;return u(this,(function(n){return[2,new Promise((function(n,r){var i=function(o){"loading"!==o&&(o.toString().toLowerCase()===t.toString().toLowerCase()&&(e.eventBus.removeListener("chainChanged",i),n(null)),e.eventBus.removeListener("chainChanged",i),r("Invalid chain id"))};e.eventBus.on("chainChanged",i)}))]}))}))},e.prototype.requestWithConverter=function(e){return l(this,void 0,void 0,(function(){var t;return u(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,_().request(e)];case 1:return t=n.sent(),[2,(r=e.method,i=t,"klay_signTransaction"!==r?i:function(e){var t=e;return{raw:t.rawTransaction}}(i))];case 2:throw function(e){if(!function(e){return"object"==typeof e&&null!==e&&"number"==typeof e.code&&"string"==typeof e.message}(e))return e;var t=e.code,n=e.message;return-32603===t&&n.includes("User denied")?new f({code:y,message:n}):-32603===t&&n.includes('Invalid "from" address')?new f({code:-32004,message:n}):new f({code:e.code,message:e.message})}(n.sent());case 3:return[2]}var r,i}))}))},e.prototype.setExtensionEventProxy=function(){var e=this,t=_();t.removeAllListeners(),t.on("accountsChanged",(function(t){e.eventBus.emit("accountsChanged",t)})),t.on("networkChanged",(function(t){e.eventBus.emit("chainChanged",t)})),t.on("disconnected",(function(){e.eventBus.emit("disconnect")}))},e.prototype.appendTxTypeParam=function(e,t){var n=this;return-1===this.config.methodsShouldAttachTxTypeParamsWhenRequestToExtension.indexOf(e)?t:Array.isArray(t)&&t.every((function(e){return"object"==typeof e}))?t.map((function(e){return n.appendTxTypeToObj(e)})):t},e.prototype.convertToLegacyParam=function(e,t){var n=this;return-1===this.config.methodsShouldConvertInputFieldToDataFieldWhenRequestToExtension.indexOf(e)?t:Array.isArray(t)&&t.every((function(e){return"object"==typeof e}))?t.map((function(e){return n.convertInputFieldToDataField(e)})):t},e.prototype.appendTxTypeToObj=function(e){var t=e;return"typeInt"in t?a(a({},t),{type:t.typeInt}):e},e.prototype.convertInputFieldToDataField=function(e){var t,n=e;if("typeInt"in n&&(t=n.typeInt),!t)return e;if(-1===this.config.txTypesShouldConvertInputFieldToDataFieldWhenRequestToExtension.indexOf(t))return e;if(!("input"in n))return e;n.input;var r=c(n,["input"]);return a(a({},r),{data:n.input})},e}(),U=function(){function e(e){this.chainRpcUrl=e.chainNodeRpcEndpoint}return e.prototype.requestRpc=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i;return u(this,(function(o){switch(o.label){case 0:return t=a({id:0,jsonrpc:"2.0"},e),[4,fetch(this.chainRpcUrl,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})];case 1:return[4,o.sent().json()];case 2:if(n=o.sent(),r=n.result,i=n.error)throw console.error("Error in RPC request",i),i;return[2,r]}}))}))},e}();function O(){var e=document.getElementById("iframeDiv");null==e||e.remove()}var q,R,A=function(){function e(e){this.resolveProviderType=function(){},this.rejectProviderType=function(){},this.walletSelectUIUrl=e.sdkUIUrls.miniDappConnectWebV2,this.sdkLocalStorage=new x(e.chainId)}return e.prototype.setupListeners=function(){var e=this,t=function(t){var n=e.iframe;if(n&&t.source===n.contentWindow){var r=t.data;if(r&&"object"==typeof r){var i=r.event;if(i)switch(i){case"Loaded":break;case"ProviderTypeSelected":var o=r.providerType;e.onProviderTypeSelected(o);break;case"Canceled":e.cancel()}}}};window.addEventListener("message",t),this.eventListener=t},e.prototype.clearListeners=function(){var e=this.eventListener;e&&(window.removeEventListener("message",e),this.eventListener=void 0)},e.prototype.onProviderTypeSelected=function(e){this.resolveProviderType&&this.resolveProviderType(e)},e.prototype.reset=function(){this.resolveProviderType=void 0,this.rejectProviderType=void 0,O(),this.clearListeners()},e.prototype.selectType=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i,o=this;return u(this,(function(s){switch(s.label){case 0:return t=new Promise((function(e,t){o.resolveProviderType=e,o.rejectProviderType=t})),this.setupListeners(),n=this.sdkLocalStorage.getProviderType(),(r=new URL(this.walletSelectUIUrl)).searchParams.append("dappName",e),n&&r.searchParams.append("providerType",n),this.iframe=function(e,t,n){var r=document.createElement("div");r.style.display="flex",r.style.justifyContent="center",r.style.alignItems="center",r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="rgba(0, 0, 0, 0.35)",r.style.zIndex="9999999",r.id="iframeDiv";var i=document.createElement("iframe");i.src=e,i.width=t,i.height=n,i.style.border="none",i.style.zIndex="99999999";var o=r.appendChild(i);return document.body.appendChild(r),o}(r.toString(),"100%","100%"),[4,t];case 1:return i=s.sent(),this.reset(),[2,i]}}))}))},e.prototype.cancel=function(){this.rejectProviderType&&this.rejectProviderType(new f({code:y,message:"User canceled"})),this.reset()},e}();function L(e){switch(e){case q.Google:case q.Kakao:case q.Line:case q.Apple:case q.Naver:case q.Wechat:return b(navigator.userAgent)?exports.WalletType.Liff:exports.WalletType.Web;case q.OKX:return exports.WalletType.OKX;case q.Kaia:return P(navigator.userAgent)?exports.WalletType.Mobile:exports.WalletType.Extension}}!function(e){e.Google="GOOGLE",e.Line="LINE",e.Naver="NAVER",e.Kakao="KAKAO",e.Apple="APPLE",e.Wechat="WECHAT",e.Kaia="KAIA",e.OKX="OKX"}(q||(q={})),exports.WalletType=void 0,(R=exports.WalletType||(exports.WalletType={})).Web="Web",R.Liff="Liff",R.Extension="Extension",R.Mobile="Mobile",R.OKX="OKX";var N=function(e){return-1!==["kaia_accounts","klay_accounts","eth_accounts"].indexOf(e)},j=function(){function e(e,t){this.communicator=t,this.sdkLocalStorage=new x(e.chainId)}return e.prototype.request=function(e,t){return l(this,void 0,void 0,(function(){var n,r,i,o,s,a;return u(this,(function(c){switch(c.label){case 0:return n=this.sdkLocalStorage.getConnectedWallet(),r=e.method,n?[3,6]:"kaia_requestAccounts"!==r&&"klay_requestAccounts"!==r&&"eth_requestAccounts"!==r?[3,2]:[4,this.communicator.postRequestAndWaitForResponse({method:W(e.method),params:e.params},t)];case 1:return i=c.sent(),(s=i[0])&&this.sdkLocalStorage.setSelectedWallet(s),[2,i];case 2:return"kaia_connectAndSign"!==r?[3,4]:[4,this.communicator.postRequestAndWaitForResponse({method:r,params:e.params},t)];case 3:return o=d.apply(void 0,[c.sent(),2]),s=o[0],a=o[1],s&&this.sdkLocalStorage.setSelectedWallet(s),[2,[s,a]];case 4:if(N(r))return[2,[]];c.label=5;case 5:throw new f({code:-32006,data:null,message:"Wallet is not connected"});case 6:return"kaia_requestAccounts"===r||"klay_requestAccounts"===r||"eth_requestAccounts"===r||"kaia_accounts"===r||"klay_accounts"===r||"eth_accounts"===r?[2,[n]]:[4,this.communicator.postRequestAndWaitForResponse({method:W(e.method),params:e.params},t)];case 7:return[2,c.sent()]}}))}))},e.prototype.switchChain=function(e){return l(this,void 0,void 0,(function(){return u(this,(function(e){return[2]}))}))},e.prototype.disconnect=function(){return l(this,void 0,void 0,(function(){return u(this,(function(e){return[2]}))}))},e}();var F=function(e){function t(n){var r=e.call(this,n)||this;return r.name="LongPollingTimeoutException",Object.setPrototypeOf(r,t.prototype),r}return s(t,e),t}(Error),M=function(e){var t=this;this.request=function(e,r){return l(t,void 0,void 0,(function(){var t,i;return u(this,(function(o){switch(o.label){case 0:t="".concat(this.baseUrl,"/api/v1/request-session/request/").concat(r),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,n.post(t,e,{headers:{"x-client-id":this.clientId,"Content-Type":"application/json"},timeout:this.relaySessionTimeout})];case 2:return o.sent(),[3,4];case 3:throw i=o.sent(),console.error("Fail to request - ",i),i;case 4:return[2]}}))}))},this.waitForResponse=function(e){return l(t,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:t=1,r.label=1;case 1:if(!(t<this.maxRetryCount))return[3,6];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,this.fetchWithTimeout(e)];case 3:return[2,r.sent()];case 4:if((n=r.sent())instanceof f)throw n;return t++,[3,5];case 5:return[3,1];case 6:throw new Error("Fail to wait for response")}}))}))},this.fetchWithTimeout=function(e){return l(t,void 0,void 0,(function(){var t,r,i,o,s;return u(this,(function(a){switch(a.label){case 0:t="".concat(this.baseUrl,"/api/v2/request-session/response/").concat(e,"/wait"),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,n.get(t,{headers:{"x-client-id":this.clientId,"Content-Type":"application/json"},timeout:this.relaySessionTimeout})];case 2:if(202===(r=a.sent()).status&&2012===r.data.code)throw new F;return[2,r.data];case 3:throw i=a.sent(),n.isAxiosError(i)&&403===i.status&&2011===(null===(s=null===(o=i.response)||void 0===o?void 0:o.data)||void 0===s?void 0:s.code)?new f({code:y,data:null,message:"User closed popup"}):(i instanceof F||console.error("Unexpected Error - ",i),i);case 4:return[2]}}))}))},this.clientId=e.clientId,this.baseUrl=e.relayServerConfig.baseUrl,this.relaySessionTimeout=e.relayServerConfig.relaySessionTimeout,this.maxRetryCount=e.relayServerConfig.maxRetryCount},B=function(){function e(e){this.config=e,this.relayRequestClient=new M(e)}return e.prototype.handleRpcResponse=function(e){if(function(e){return void 0!==e.error}(e))throw new f(e.error);return e.result},e.prototype.createRequestKey=function(){return r.v4()},e}();function D(e,t){var n;switch(null!==(n=e.liffTypeByRequestMethod[t])&&void 0!==n?n:e.defaultLiffType){case"compact":return e.baseUrl.compact;case"tall":return e.baseUrl.tall;case"full":return e.baseUrl.full;default:return e.baseUrl[e.defaultLiffType]}}var H,z=function(e){function t(t){var n=e.call(this,t)||this;return n.postRequestAndWaitForResponse=function(e){return l(n,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:return t=this.createRequestKey(),[4,this.relayRequestClient.request(e,t)];case 1:return r.sent(),[4,this.openWallet(t,e.method)];case 2:return r.sent(),[4,this.waitForResponse(t)];case 3:return n=r.sent(),[2,this.handleRpcResponse(n)]}}))}))},n.waitForResponse=function(e){return l(n,void 0,void 0,(function(){var t,n,r,o,s;return u(this,(function(a){switch(a.label){case 0:t=1,n=!1,r=0,o=function(){i.liff.subWindow.off("close",o),n=!0},i.liff.subWindow.on("close",o),a.label=1;case 1:if(!(t<this.config.relayServerConfig.maxRetryCount))return[3,6];a.label=2;case 2:if(a.trys.push([2,4,,5]),n){if(!(r<=0))throw new f({code:y,message:"User canceled"});r++}return[4,this.relayRequestClient.fetchWithTimeout(e)];case 3:return[2,a.sent()];case 4:if((s=a.sent())instanceof f)throw s;return t++,[3,5];case 5:return[3,1];case 6:throw new Error("Fail to wait for response")}}))}))},n.openWallet=function(e,t){return l(n,void 0,void 0,(function(){var n;return u(this,(function(r){switch(r.label){case 0:return n=D(this.config.liffWalletConfig,t)+"/r/".concat(e,"?chainId=").concat(this.config.chainId),[4,i.liff.subWindow.open({url:n})];case 1:return r.sent(),[2]}}))}))},n}return s(t,e),t}(B);!function(e){e.POPUP_BLOCKED="POPUP_BLOCKED",e.PAYMENT_HISTORY_SIGN="PAYMENT_HISTORY_SIGN",e.PAYMENT_HISTORY_OPEN="PAYMENT_HISTORY_OPEN"}(H||(H={}));var K={ko:{payment_reqeust_verification_title:"본인 인증",payment_reqeust_verification_desc:"거래내역을 확인하려면 본인 인증이 필요합니다. 아래 버튼을 눌러 서명을 진행해주세요.",payment_reqeust_verification_cancel:"취소",payment_reqeust_verification_submit:"진행하기"},en:{payment_reqeust_verification_title:"Identity verification",payment_reqeust_verification_desc:"Identity verification is required to view your transaction history. Click the button below to sign.",payment_reqeust_verification_cancel:"Cancel",payment_reqeust_verification_submit:"Proceed"},ja:{payment_reqeust_verification_title:"本人認証",payment_reqeust_verification_desc:"取引履歴を確認するには本人認証が必要です。以下のボタンを押して署名を行ってください。",payment_reqeust_verification_cancel:"キャンセル",payment_reqeust_verification_submit:"次に進む"},zh:{payment_reqeust_verification_title:"本人驗證",payment_reqeust_verification_desc:"若要查看交易記錄,需進行本人驗證。請點擊下方按鍵進行簽名。",payment_reqeust_verification_cancel:"取消",payment_reqeust_verification_submit:"進行"},th:{payment_reqeust_verification_title:"ยืนยันตัวตน",payment_reqeust_verification_desc:"จำเป็นต้องยืนยันตัวตนเพื่อดูประวัติธุรกรรมของคุณ คลิกปุ่มด้านล่างเพื่อลงลายมือชื่อ",payment_reqeust_verification_cancel:"ยกเลิก",payment_reqeust_verification_submit:"ดำเนินการ"}},Y={ko:{payment_complete_verification_title:"인증 완료",payment_complete_verification_desc:"본인 인증이 완료되었습니다. 아래 버튼을 눌러 거래내역을 확인하세요.",payment_complete_verification_cancel:"취소",payment_complete_verification_submit:"진행하기"},en:{payment_complete_verification_title:"Verification complete",payment_complete_verification_desc:"Identity verification complete. Click the button below to view your transaction history.",payment_complete_verification_cancel:"Cancel",payment_complete_verification_submit:"Proceed"},ja:{payment_complete_verification_title:"認証完了",payment_complete_verification_desc:"本人認証が完了しました。以下のボタンを押して取引履歴をご確認ください。",payment_complete_verification_cancel:"キャンセル",payment_complete_verification_submit:"次に進む"},zh:{payment_complete_verification_title:"驗證完成",payment_complete_verification_desc:"已完成本人驗證。請點擊下方按鍵查看交易記錄。",payment_complete_verification_cancel:"取消",payment_complete_verification_submit:"進行"},th:{payment_complete_verification_title:"ยืนยันสำเร็จ",payment_complete_verification_desc:"ยืนยันตัวตนสำเร็จ คลิกที่ปุ่มด้านล่างเพื่อดูประวัติธุรกรรมของคุณ",payment_complete_verification_cancel:"ยกเลิก",payment_complete_verification_submit:"ดำเนินการ"}},G={ko:{wallet_block_popup_title:"팝업 차단",wallet_block_popup_desc:"팝업이 차단되었습니다. 계속 진행하시겠습니까?",wallet_block_popup_cancel:"취소",wallet_block_popup_submit:"진행하기"},en:{wallet_block_popup_title:"Block pop-ups",wallet_block_popup_desc:"Pop-ups have been blocked. Do you want to continue?",wallet_block_popup_cancel:"Cancel",wallet_block_popup_submit:"Proceed"},ja:{wallet_block_popup_title:"ポップアップブロック",wallet_block_popup_desc:"ポップアップがブロックされました。続行しますか?",wallet_block_popup_cancel:"キャンセル",wallet_block_popup_submit:"次に進む"},zh:{wallet_block_popup_title:"封鎖彈出視窗",wallet_block_popup_desc:"已封鎖彈出視窗。要繼續進行嗎?",wallet_block_popup_cancel:"取消",wallet_block_popup_submit:"進行"},th:{wallet_block_popup_title:"บล็อกป็อบอัป",wallet_block_popup_desc:"ป็อบอัปถูกบล็อกแล้ว ต้องการดำเนินการต่อหรือไม่?",wallet_block_popup_cancel:"ยกเลิก",wallet_block_popup_submit:"ดำเนินการ"}},J=function(){function e(){this.resolvePromise=function(){},this.rejectPromise=function(){}}return e.prototype.setupListeners=function(){var e=this,t=function(t){var n=e.iframe;if(n&&t.source===n.contentWindow){var r=t.data;if(r&&"object"==typeof r){var i=r.event;if(i)switch(i){case"Clicked":e.resolvePromise&&e.resolvePromise();break;case"Canceled":e.rejectPromise&&(e.rejectPromise(new Error("User canceled")),e.reset())}}}};window.addEventListener("message",t),this.eventListener=t},e.prototype.clearListeners=function(){var e=this.eventListener;e&&(window.removeEventListener("message",e),this.eventListener=void 0)},e.prototype.reset=function(){this.resolvePromise=void 0,this.rejectPromise=void 0,O(),this.clearListeners()},e.prototype.awaitUserClick=function(e){return l(this,void 0,void 0,(function(){var t,n=this;return u(this,(function(r){switch(r.label){case 0:return t=new Promise((function(e,t){n.resolvePromise=e,n.rejectPromise=t})),this.setupListeners(),this.iframe=function(e,t,n){var r=document.createElement("div");r.style.display="flex",r.style.justifyContent="center",r.style.alignItems="center",r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100vw",r.style.height="100vh",r.style.backgroundColor="rgba(0, 0, 0, 0.35)",r.style.zIndex="9999999",r.id="iframeDiv";var i=document.createElement("iframe");i.srcdoc=e,i.width=t,i.height=n,i.style.border="none",i.style.zIndex="99999999";var o=r.appendChild(i);return document.body.appendChild(r),o}(function(e){var t=e===H.POPUP_BLOCKED?G:e===H.PAYMENT_HISTORY_SIGN?K:Y,n=e===H.PAYMENT_HISTORY_SIGN?"payment_reqeust_verification_title":e===H.PAYMENT_HISTORY_OPEN?"payment_complete_verification_title":"wallet_block_popup_title",r=e===H.PAYMENT_HISTORY_SIGN?"payment_reqeust_verification_desc":e===H.PAYMENT_HISTORY_OPEN?"payment_complete_verification_desc":"wallet_block_popup_desc",i=e===H.PAYMENT_HISTORY_SIGN?"payment_reqeust_verification_submit":e===H.PAYMENT_HISTORY_OPEN?"payment_complete_verification_submit":"wallet_block_popup_submit",o=e===H.PAYMENT_HISTORY_SIGN?"payment_reqeust_verification_cancel":e===H.PAYMENT_HISTORY_OPEN?"payment_complete_verification_cancel":"wallet_block_popup_cancel";return'\n <!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8">\n <style>\n .popupContainer {\n background-color: white;\n display: flex;\n flex-direction: column;\n border-radius: 20px;\n padding: 30px 24px;\n align-items: center;\n }\n .title {\n font-size: 18px;\n font-weight: 700;\n text-align: center;\n }\n .desc {\n margin-top: 12px;\n font-size: 16px;\n font-weight: 400;\n text-align: center;\n }\n .btnContainer {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n .okBtn {\n background-color: #000000;\n color: #ffffff;\n font-size: 16px;\n font-weight: 700;\n padding: 15px 24px;\n cursor: pointer;\n border-radius: 100px;\n margin-top: 24px;\n border: none;\n width: 100%;\n }\n .cancelBtn {\n background-color: #FFFFFF;\n color: #7B7F81;\n font-size: 15px;\n font-weight: 700;\n cursor: pointer;\n border: none;\n margin-top: 15px;\n }\n </style>\n </head>\n <body>\n <script>\n const browserLang = window.navigator.language.slice(0, 2);\n const xlt = '.concat(JSON.stringify(t),";\n const translations = xlt[browserLang] || xlt['en'];\n console.log(translations);\n \n window.onload = function() {\n document.getElementById('dappportalsdk_popup_title').innerHTML = translations.").concat(n,";\n document.getElementById('dappportalsdk_popup_desc').innerHTML = translations.").concat(r,";\n document.getElementById('dappportalsdk_popup_cancel').textContent = translations.").concat(o,";\n document.getElementById('dappportalsdk_popup_proceed').textContent = translations.").concat(i,';\n \n document.getElementById(\'dappportalsdk_popup_cancel\').addEventListener(\'click\', function() {\n window.parent.postMessage({event: \'Canceled\'}, \'*\');\n });\n document.getElementById(\'dappportalsdk_popup_proceed\').addEventListener(\'click\', function() {\n window.parent.postMessage({event: \'Clicked\'}, \'*\');\n });\n }\n <\/script>\n <div class="popupContainer">\n <div id="dappportalsdk_popup_title" class="title"></div>\n <div id="dappportalsdk_popup_desc" class="desc"></div>\n <div class="btnContainer">\n <button id="dappportalsdk_popup_proceed" class="okBtn"></button>\n <button id="dappportalsdk_popup_cancel" class="cancelBtn"></button>\n </div>\n </div>\n </body>\n </html>\n ')}(e),"300px","400px"),[4,t.catch((function(e){throw{code:"-32001",message:"User canceled popup"}}))];case 1:return r.sent(),this.reset(),[2]}}))}))},e}(),X=function(e){function t(t){var n=e.call(this,t)||this;return n.postRequestAndWaitForResponse=function(e,t){return l(n,void 0,void 0,(function(){var n,r,i,o;return u(this,(function(s){switch(s.label){case 0:return n=this.createRequestKey(),[4,this.openWallet(n,e.method,this.isMethodNeedProviderTypeSync(e.method)?t:null)];case 1:s.sent(),s.label=2;case 2:return s.trys.push([2,4,,5]),[4,this.postRequestWithProviderType(e,n)];case 3:return s.sent(),[3,5];case 4:throw r=s.sent(),this.closeWallet(),r;case 5:return[4,this.relayRequestClient.waitForResponse(n)];case 6:return i=s.sent(),this.closeWallet(),o=this.handleRpcResponse(i),[2,this.handleResponseWithProviderType(e,o)]}}))}))},n.postRequestWithProviderType=function(e,t){return l(n,void 0,void 0,(function(){var n,r;return u(this,(function(i){switch(i.label){case 0:return n=e.method,r=e.params,this.isMethodNeedProviderTypeSync(n)?[4,this.relayRequestClient.request({method:"internal_rpcCalls",params:[{method:n,params:r},{method:"internal_getSnsType",params:[]}]},t)]:[3,2];case 1:case 3:return[2,i.sent()];case 2:return[4,this.relayRequestClient.request(e,t)]}}))}))},n.handleResponseWithProviderType=function(e,t){return l(n,void 0,void 0,(function(){var n,r,i,o;return u(this,(function(s){return n=e.method,e.params,this.isMethodNeedProviderTypeSync(n)?(i=(r=t)[0],o=r[1],this.sdkLocalStorage.setProviderType(o),[2,i]):[2,t]}))}))},n.isMethodNeedProviderTypeSync=function(e){return"kaia_requestAccounts"===e||"klay_requestAccounts"===e||"eth_requestAccounts"===e||"kaia_connectAndSign"===e},n.clickEventListener=new J,n.sdkLocalStorage=new x(t.chainId),n}return s(t,e),t.prototype.openWallet=function(e,t,n){return l(this,void 0,void 0,(function(){var r,i,o,s;return u(this,(function(a){switch(a.label){case 0:return r=navigator.userAgent,(i=new URLSearchParams).set("chainId",this.config.chainId),n&&i.set("snsType",n),o=this.getRequestBaseUrl(t)+"/r/".concat(e,"?").concat(i.toString()),b(r)&&T(r)?(window.location.href=o,[2]):window.kaiaPopUpWindow&&!window.kaiaPopUpWindow.closed?(window.kaiaPopUpWindow.focus(),window.kaiaPopUpWindow.location.href=o,[2]):(s=this.config.webWalletConfig.popupSize,window.kaiaPopUpWindow=window.open(o,"webWallet","width=".concat(s.width,",height=").concat(s.height)),window.kaiaPopUpWindow?[3,2]:[4,this.clickEventListener.awaitUserClick(H.POPUP_BLOCKED)]);case 1:a.sent(),window.kaiaPopUpWindow=window.open(o,"webWallet","width=".concat(s.width,",height=").concat(s.height)),a.label=2;case 2:return[2]}}))}))},t.prototype.closeWallet=function(){window.kaiaPopUpWindow&&window.kaiaPopUpWindow.close(),window.kaiaPopUpWindow=null},t.prototype.getRequestBaseUrl=function(e){return b(navigator.userAgent)?D(this.config.liffWalletConfig,e):this.config.webWalletConfig.baseUrl},t}(B),V=function(e){function t(t){return e.call(this,t)||this}return s(t,e),t.prototype.postRequestAndWaitForResponse=function(e){return l(this,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:return t=this.createRequestKey(),[4,this.relayRequestClient.request(e,t)];case 1:return r.sent(),this.openWallet(t),[4,this.relayRequestClient.waitForResponse(t)];case 2:return n=r.sent(),[2,this.handleRpcResponse(n)]}}))}))},t.prototype.openWallet=function(e){var t=this.config.sdkUIUrls.mobileWalletBridge,n="".concat(t).concat(e,"?chainId=").concat(this.config.chainId),r=encodeURIComponent(n),i="/browser?url=".concat(r);T(navigator.userAgent)?this.openIosWallet(i):this.openAndroidWallet(i)},t.prototype.openAndroidWallet=function(e){var t=this.config.kaiaWalletMobileConfig;window.location.href="intent://wallet".concat(e,"#Intent;scheme=kaiawallet;package=").concat(t.androidPackageName,";end")},t.prototype.openIosWallet=function(e){var t=this.config.kaiaWalletMobileConfig;window.location.href="".concat(t.urlScheme,"://wallet").concat(e)},t}(B),Z=function(e){var t=this;this.sendWalletMetric=function(e,n,r){return l(t,void 0,void 0,(function(){var t;return u(this,(function(i){switch(i.label){case 0:return t=this.sdkLocalStorage.getDeviceId(),[4,fetch("".concat(this.baseUrl,"/api/v1/metric/wallet-activity"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uuid:t,address:n,wallet_type:r,action:e,data:{clientId:this.clientId}})}).catch((function(e){return console.error(e)}))];case 1:return i.sent(),[2]}}))}))},this.baseUrl=e.metricServerConfig.baseUrl,this.clientId=e.clientId,this.sdkLocalStorage=new x(e.chainId)},Q=function(){function e(e){this.resolveProviderType=function(){},this.rejectProviderType=function(){},this.walletSelectUIUrl=e.sdkUIUrls.miniDappConnectLiffV2}return e.prototype.onProviderTypeSelected=function(e){this.resolveProviderType&&this.resolveProviderType(e)},e.prototype.selectType=function(e){return l(this,void 0,void 0,(function(){var t,n,r,o,s=this;return u(this,(function(a){switch(a.label){case 0:return t=new Promise((function(e,t){s.resolveProviderType=e,s.rejectProviderType=t})),(n=new URL(this.walletSelectUIUrl)).searchParams.append("dappName",e),[4,i.liff.subWindow.open({url:n.toString()})];case 1:return a.sent(),r=function(){i.liff.subWindow.off("close",r),s.cancel()},o=function(e){i.liff.subWindow.off("submit",o),i.liff.subWindow.off("close",r);var t=e.providerType;s.onProviderTypeSelected(t)},i.liff.subWindow.on("close",r),i.liff.subWindow.on("submit",o),[4,t];case 2:return[2,a.sent()]}}))}))},e.prototype.cancel=function(){this.rejectProviderType&&this.rejectProviderType(new f({code:y,message:"User canceled"}))},e}(),$=function(e){var t=this;this.fetchClientInfo=function(){return l(t,void 0,void 0,(function(){var e,t;return u(this,(function(r){switch(r.label){case 0:e="".concat(this.baseUrl,"/api/v1/client-info"),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,n.get(e,{headers:{"x-client-id":this.clientId}})];case 2:return[2,r.sent().data];case 3:throw t=r.sent(),console.error("Fail to get client info - ",t),t;case 4:return[2]}}))}))},this.clientId=e.clientId,this.baseUrl=e.relayServerConfig.baseUrl},ee=["en_US","ru_RU","zh_CN","zh","ar_AE","cs_CZ","de_DE","es_ES","es_LAT","fr_FR","id_ID","it_IT","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","tr_TR","uk_UA","vi_VN","zh_TW"],te=["kaia_signTransaction","klay_signTransaction"],ne=function(){function t(e,t,n){this.eventBus=e,this.config=t,this.universalUi=n,this.setOkxEventProxy()}return t.init=function(n,r){return l(this,void 0,void 0,(function(){var o,s,a,c,l,p;return u(this,(function(u){switch(u.label){case 0:return o=new $(r),s=ee.filter((function(e){var t;return e.includes(null===(t=window.navigator.language)||void 0===t?void 0:t.replace("-","_"))})),a=s.length>0?s[0]:"en_US",[4,o.fetchClientInfo()];case 1:return c=u.sent(),(b(navigator.userAgent)||i.liff.isInClient())&&(l="https://line.me/R/run"),[4,e.OKXUniversalConnectUI.init({dappMetaData:{icon:c.image_url,name:c.name},actionsConfiguration:{returnStrategy:l},language:a,uiPreferences:{theme:e.THEME.LIGHT}})];case 2:return p=u.sent(),[2,new t(n,r,p)]}}))}))},t.prototype.request=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i;return u(this,(function(o){switch(o.label){case 0:if(t=e.method,n=e.params,-1!==this.config.kaiaOnlyMethods.indexOf(t))throw new Error("This method is not supported on OKX wallet.");return"kaia_connectAndSign"===t?[2,this.connectAndSign(n)]:this.universalUi.connected()?[3,2]:[4,this.universalUi.openModal({namespaces:{eip155:{chains:["eip155:8217"],defaultChain:"8217"}}})];case 1:o.sent(),o.label=2;case 2:return r=te.includes(t)?t:t.replace(/^(klay_|kaia_)/,"eth_"),i=n?this.convertToEthParam(r,n):n,[2,this.universalUi.request({method:r,params:i},"eip155:8217")]}}))}))},t.prototype.connectAndSign=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i,o,s,a;return u(this,(function(c){switch(c.label){case 0:if(!Array.isArray(e)||1!==e.length)throw new f({code:-32602,message:"Invalid params"});if(t=e[0],!this.universalUi.connected())return[3,2];if(!(n=this.universalUi.getUniversalProvider())||!n.session)throw new f({code:-32603,message:"Internal JSON-RPC error"});return o=this.stripOkxAccountPrefix(n.session.namespaces.eip155.accounts[0]),[4,this.universalUi.request({method:"personal_sign",params:[t,o]},"eip155:8217")];case 1:case 4:return a=c.sent(),[2,[o,a]];case 2:return window.okxwallet?[4,this.universalUi.openModal({namespaces:{eip155:{chains:["eip155:8217"],defaultChain:"8217"}}})]:[3,5];case 3:if(c.sent(),!(n=this.universalUi.getUniversalProvider())||!n.session)throw new f({code:-32603,message:"Internal JSON-RPC error"});return o=this.stripOkxAccountPrefix(n.session.namespaces.eip155.accounts[0]),[4,this.universalUi.request({method:"personal_sign",params:[t,o]},"eip155:8217")];case 5:return[4,this.universalUi.openModalAndSign({namespaces:{eip155:{chains:["eip155:8217"],defaultChain:"8217"}}},[{method:"personal_sign",chainId:"eip155:8217",params:[t]}])];case 6:r=c.sent();try{return i=r.namespaces.eip155.accounts[0],o=this.stripOkxAccountPrefix(i),s=r.signResponse[0],a=null==s?void 0:s.result,[2,[o,a]]}catch(l){throw new f({code:-32603,message:"Internal JSON-RPC error"})}return[2]}}))}))},t.prototype.switchChain=function(e){return l(this,void 0,void 0,(function(){return u(this,(function(e){return[2]}))}))},t.prototype.disconnect=function(){return l(this,void 0,void 0,(function(){return u(this,(function(e){switch(e.label){case 0:return[4,this.universalUi.disconnect()];case 1:return e.sent(),[2]}}))}))},t.prototype.setOkxEventProxy=function(){var e=this;this.universalUi.on("display_uri",(function(t){e.eventBus.emit("display_uri",t)})),this.universalUi.on("session_update",(function(t){e.eventBus.emit("session_update",t)})),this.universalUi.on("session_delete",(function(t){t.topic,e.eventBus.emit("disconnect")})),this.universalUi.on("connect",(function(){e.eventBus.emit("connect",{chainId:"8217"})}))},t.prototype.convertToEthParam=function(e,t){var n=this;if(-1!==["eth_signTypedData_v4"].indexOf(e)&&Array.isArray(t)&&2===t.length){var r=this.convertSignTypedDataV4Field(t[1]);return[t[0],r]}return-1===["eth_sendTransaction","eth_signTransaction"].indexOf(e)?t:Array.isArray(t)&&t.every((function(e){return"object"==typeof e}))?t.map((function(e){return n.convertInputFieldToDataField(e)})):t},t.prototype.convertSignTypedDataV4Field=function(e){try{return JSON.parse(e)}catch(t){return console.error(t),e}},t.prototype.convertInputFieldToDataField=function(e){var t=e;if(!("input"in t))return e;t.input;var n=c(t,["input"]);return a(a({},n),{data:t.input})},t.prototype.stripOkxAccountPrefix=function(e){return e.split(":")[2]},t}(),re=function(e){function t(t){var n=e.call(this)||this;return n.walletType=null,n.providerType=null,n.handler=null,n.initializeWalletType=function(){var e=navigator.userAgent,t=b(e),r=P(e),i=null!=globalThis.klaytn,o=n.sdkLocalStorage.getWalletType();switch(o){case exports.WalletType.Extension:if(t||r||!i)return null;break;case exports.WalletType.Mobile:if(!t&&!r)return null;break;case exports.WalletType.Web:if(t)return null;break;case exports.WalletType.Liff:if(!t)return null}return o},n.config=t,n.chainNodeRpcClient=new U(t),n.metricApiClient=new Z(t),n.sdkLocalStorage=new x(t.chainId),n.host=n.config.chainNodeRpcEndpoint,n.connected=!0,n.timeout=6e4,n.initializePromise=n.initialize(),n}return s(t,e),t.prototype.initialize=function(){return l(this,void 0,void 0,(function(){return u(this,(function(e){return this.walletType=this.initializeWalletType(),[2,this.initializeHandler(this.walletType)]}))}))},t.prototype.initializeHandler=function(e){return l(this,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:if(!e)return[2];switch(e){case exports.WalletType.OKX:return[3,1];case exports.WalletType.Extension:return[3,3];case exports.WalletType.Liff:return[3,4];case exports.WalletType.Web:return[3,5];case exports.WalletType.Mobile:return[3,6]}return[3,7];case 1:return t=this,[4,ne.init(this,this.config)];case 2:return t.handler=r.sent(),[3,7];case 3:return this.handler=new E(this,this.config),[3,7];case 4:return n=void 0,n=i.liff.isInClient()?new z(this.config):new X(this.config),this.handler=new j(this.config,n),[3,7];case 5:return this.handler=new j(this.config,new X(this.config)),[3,7];case 6:return this.handler=new j(this.config,new V(this.config)),[3,7];case 7:return[2]}}))}))},t.prototype.getWalletType=function(){return this.walletType},t.prototype.getProviderType=function(){return this.providerType},t.prototype.disconnectWallet=function(){var e;null===(e=this.handler)||void 0===e||e.disconnect(),this.sdkLocalStorage.clear()},t.prototype.request=function(e){return l(this,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,this.initializePromise];case 1:return r.sent(),t=e.method,-1===this.config.walletHandledMethods.indexOf(t)?[2,this.chainNodeRpcClient.requestRpc(e)]:[4,this.requestToWallet(e)];case 2:return[2,r.sent()];case 3:throw n=r.sent(),console.error("Error in WalletProvider request",n),g(n);case 4:return[2]}}))}))},t.prototype.requestToWallet=function(e){return l(this,void 0,void 0,(function(){var t,n,r,i;return u(this,(function(o){switch(o.label){case 0:return t=e.method,!this.walletType&&N(t)?[2,[]]:(this.validateTxType(e),n=null,this.walletType?[3,4]:[4,this.selectWalletType()]);case 1:return n=o.sent(),[4,new Promise((function(e){return setTimeout(e,700)}))];case 2:return o.sent(),[4,this.initializeHandler(n)];case 3:o.sent(),o.label=4;case 4:return r=this.getProviderType(),-1===this.config.methodsShouldSyncChain.indexOf(t)?[3,6]:[4,this.handler.switchChain(this.config.chainId)];case 5:o.sent(),o.label=6;case 6:return[4,this.handler.request(e,r)];case 7:return i=o.sent(),!this.walletType&&n&&(this.walletType=n,this.sdkLocalStorage.setWalletType(n)),r&&((s=r)!==q.Google&&s!==q.Line&&s!==q.Naver&&s!==q.Kakao&&s!==q.Apple&&s!==q.Wechat)&&this.sdkLocalStorage.setProviderType(r),[4,this.sendWalletConnectMetric(t,i,this.walletType)];case 8:return o.sent(),[2,i]}var s}))}))},t.prototype.selectWalletType=function(){return l(this,void 0,void 0,(function(){var e,t,n;return u(this,(function(r){switch(r.label){case 0:return e=i.liff.isInClient()?new Q(this.config):new A(this.config),[4,new $(this.config).fetchClientInfo()];case 1:return t=r.sent(),[4,e.selectType(t.name)];case 2:return n=r.sent(),this.providerType=n,[2,L(n)]}}))}))},t.prototype.validateTxType=function(e){"kaia_signTransaction"!==e.method&&"klay_signTransaction"!==e.method||this.validateSignTransaction(e)},t.prototype.validateSignTransaction=function(e){var t=e.params.map((function(e){return new Map(Object.entries(e))}));if(1!==t.length)throw new w("Invalid params");var n=t[0].get("typeInt");if(void 0===n||"number"!=typeof n||-1===this.config.feeDelegatedTxTypes.indexOf(n))throw new w("Only fee delegated transaction can be signed with signTransaction request. Use 'sendTransaction' to sign transaction and send to network.")},t.prototype.send=function(e,t){return l(this,void 0,void 0,(function(){var n,r;return u(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this.request(e)];case 1:return n=i.sent(),t&&t(null,function(e){return{jsonrpc:"2.0",id:"",result:e}}(n)),[3,3];case 2:return r=i.sent(),t&&t(r,void 0),[3,3];case 3:return[2]}}))}))},t.prototype.supportsSubscriptions=function(){return!1},t.prototype.disconnect=function(){return!0},t.prototype.sendWalletConnectMetric=function(e,t,n){return l(this,void 0,void 0,(function(){var r;return u(this,(function(i){switch(i.label){case 0:return-1===["kaia_connectAndSign","kaia_requestAccounts","klay_requestAccounts","eth_requestAccounts"].indexOf(e)?[2]:(r=t,[4,this.metricApiClient.sendWalletMetric("CONNECT",r[0],n)]);case 1:return i.sent(),[2]}}))}))},t}(t.EventEmitter);function ie(e){return l(this,void 0,void 0,(function(){var t,n,r,i,o,s,a;return u(this,(function(c){switch(c.label){case 0:return t=null!==(o=e.sdkBaseUrl)&&void 0!==o?o:"https://sdk.dappportal.io",[4,fetch("".concat(t,"/config.json?sdkVersion=").concat("1.2.11"))];case 1:return[4,c.sent().json()];case 2:if(n=c.sent(),r=null!==(s=e.chainId)&&void 0!==s?s:n.defaultChainId,!(i=null!==(a=e.chainNodeRpcEndpoint)&&void 0!==a?a:n.chainNodeRpcEndpoints[r]))throw new Error("Please set the chainNodeRpcEndpoint");return[2,{clientId:e.clientId,chainId:r,chainNodeRpcEndpoint:i,sdkUIUrls:n.sdkUIUrls,relayServerConfig:n.relayServerConfig,paymentServerConfig:n.paymentServerConfig,metricServerConfig:n.metricServerConfig,stripePopupSize:n.stripePopupSize,paymentHistoryPopupConfig:n.paymentHistoryPopupConfig,kaiaWalletMobileConfig:n.kaiaWalletMobileConfig,liffWalletConfig:n.liffWalletConfig,webWalletConfig:n.webWalletConfig,walletHandledMethods:n.walletHandledMethods,kaiaOnlyMethods:n.kaiaOnlyMethods,methodsShouldSyncChain:n.methodsShouldSyncChain,methodsShouldAttachTxTypeParamsWhenRequestToExtension:n.methodsShouldAttachTxTypeParamsWhenRequestToExtension,methodsShouldConvertInputFieldToDataFieldWhenRequestToExtension:n.methodsShouldConvertInputFieldToDataFieldWhenRequestToExtension,txTypesShouldConvertInputFieldToDataFieldWhenRequestToExtension:n.txTypesShouldConvertInputFieldToDataFieldWhenRequestToExtension,feeDelegatedTxTypes:n.feeDelegatedTxTypes,blockedMethods:n.blockedMethods,blockedBrowsersUserAgent:n.blockedBrowsersUserAgent}]}}))}))}var oe=function(){function e(e){this.resolveUserClose=function(){},this.rejectUserClose=function(){},this.browserGuideUIUrl=e.sdkUIUrls.browserGuide}return e.prototype.setupListeners=function(){var e=this,t=function(t){var n=e.iframe;if(n&&t.source===n.contentWindow){var r=t.data;if(r&&"object"==typeof r){var i=r.event;if(i)switch(i){case"Loaded":break;case"Close":e.onSelectedClose()}}}};window.addEventListener("message",t),this.eventListener=t},e.prototype.clearListeners=function(){var e=this.eventListener;e&&(window.removeEventListener("message",e),this.eventListener=void 0)},e.prototype.onSelectedClose=function(){this.resolveUserClose&&this.resolveUserClose(null)},e.prototype.reset=function(){this.resolveUserClose=void 0,this.rejectUserClose=void 0,O(),this.clearListeners()},e.prototype.showBrowserGuide=function(e){return l(this,void 0,void 0,(function(){var t,n=this;return u(this,(function(r){switch(r.label){case 0:return t=new Promise((function(e,t){n.resolveUserClose=e,n.rejectUserClose=t})),this.setupListeners(),this.iframe=function(e,t,n){var r=document.createElement("div");r.style.display="flex",r.style.justifyContent="center",r.style.alignItems="center",r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100vw",r.style.height="100vh",r.style.zIndex="9999999",r.id="iframeDiv";var i=document.createElement("iframe");i.src=e,i.width=t,i.height=n,i.style.border="none",i.style.zIndex="99999999";var o=r.appendChild(i);return document.body.appendChild(r),o}("".concat(this.browserGuideUIUrl,"?browserName=").concat(e),"100%","100%"),[4,t];case 1:return r.sent(),this.reset(),[2]}}))}))},e.prototype.cancel=function(){this.rejectUserClose&&this.rejectUserClose(new Error("User canceled")),this.reset()},e}(),se=function(e){var t=this;this.getPayment=function(e){return l(t,void 0,void 0,(function(){var t,r;return u(this,(function(i){switch(i.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/payment/info"),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,n.get(t,{params:{id:e},headers:{"Content-Type":"application/json"}})];case 2:return[2,i.sent().data];case 3:throw r=i.sent(),console.error("Fail to get payment info - ",r),r;case 4:return[2]}}))}))},this.waitForConfirm=function(e){return l(t,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:t=1,r.label=1;case 1:if(!(t<this.maxRetryCount))return[3,8];r.label=2;case 2:return r.trys.push([2,5,6,7]),[4,this.getPaymentStatus(e)];case 3:switch(r.sent().status){case"CONFIRMED":case"FINALIZED":return[2];case"CANCELED":throw new f({code:-31001,message:"Payment is canceled"});case"CONFIRM_FAILED":throw new f({code:-31002,message:"Payment is failed"})}return[4,this.delayPolling(1e3)];case 4:return r.sent(),[3,7];case 5:if((n=r.sent())instanceof f)throw console.error(n),n;return[3,7];case 6:return t++,[7];case 7:return[3,1];case 8:throw new Error("Fail to wait for response")}}))}))},this.delayPolling=function(e){return l(t,void 0,void 0,(function(){return u(this,(function(t){switch(t.label){case 0:return[4,new Promise((function(t){return setTimeout(t,e)}))];case 1:return t.sent(),[2]}}))}))},this.getPaymentStatus=function(e){return l(t,void 0,void 0,(function(){var t,r;return u(this,(function(i){switch(i.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/payment/status"),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,n.get(t,{params:{id:e},headers:{"Content-Type":"application/json"}})];case 2:return[2,i.sent().data];case 3:throw r=i.sent(),console.error("Fail to get payment info - ",r),r;case 4:return[2]}}))}))},this.register=function(e,r){return l(t,void 0,void 0,(function(){var t,i,o;return u(this,(function(s){switch(s.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/payment/register"),i={id:e,txHash:r},s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.post(t,i,{headers:{"Content-Type":"application/json"}})];case 2:return s.sent(),[3,4];case 3:throw o=s.sent(),console.error("Fail to register - ",o),o;case 4:return[2]}}))}))},this.startPayment=function(e,r,i){return l(t,void 0,void 0,(function(){var t,o;return u(this,(function(s){switch(s.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/payment/start"),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.post(t,{id:e,userAgent:r,isLiff:i},{headers:{"Content-Type":"application/json"}})];case 2:return[2,s.sent().data];case 3:throw o=s.sent(),console.error("Fail to startPayment - ",o),o;case 4:return[2]}}))}))},this.getNonceForPaymentHistory=function(e){return l(t,void 0,void 0,(function(){var t,r;return u(this,(function(i){switch(i.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/auth/nonce"),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,n.get(t,{params:{walletAddress:e},headers:{"Content-Type":"application/json"}})];case 2:return[2,i.sent().data];case 3:throw r=i.sent(),console.error("Fail to get nonce for payment history - ",r),r;case 4:return[2]}}))}))},this.getSessionTokenForPaymentHistory=function(e,r){return l(t,void 0,void 0,(function(){var t,i,o;return u(this,(function(s){switch(s.label){case 0:t="".concat(this.baseUrl,"/api/payment-v1/auth/verify"),i={walletAddress:e,signature:r,isLegacy:!1},s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.