@dodoex/wallet-web3 0.0.16-1 → 0.0.16-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{blocto-a844bda3.js → blocto-26662af8.js} +1 -1
- package/dist/cjs/{blocto-9643722f.cjs → blocto-66e0a983.cjs} +1 -1
- package/dist/cjs/{index-de9e4410.cjs → index-9ffce780.cjs} +1 -1
- package/dist/cjs/{index-f96a7fbf.cjs → index-a4e2707a.cjs} +1 -1
- package/dist/cjs/index-b3f1105e.cjs +1 -0
- package/dist/cjs/{index-546f9661.cjs → index-b801610a.cjs} +1 -1
- package/dist/cjs/{index-f8ee39a6.cjs → index-c85d960e.cjs} +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/{portis-aaa0e2bd.cjs → portis-a67b6443.cjs} +1 -1
- package/dist/cjs/{provider-fbc474da.cjs → provider-bc64f51e.cjs} +1 -1
- package/dist/cjs/providers/connector/uniPass/provider.d.ts +6 -2
- package/dist/cjs/{rainbow-772387cb.cjs → rainbow-41b9e4c6.cjs} +1 -1
- package/dist/cjs/{uAuth-bbb4fc24.cjs → uAuth-2d01a45d.cjs} +1 -1
- package/dist/cjs/{walletConnect-0ae9da42.cjs → walletConnect-0944caa7.cjs} +1 -1
- package/dist/cjs/{walletLink-c15fb245.cjs → walletLink-3eeac00a.cjs} +1 -1
- package/dist/{index-4e4dbeb8.js → index-1d1a332b.js} +1 -1
- package/dist/{index-b49b39b6.js → index-80349344.js} +1 -1
- package/dist/index-cb7b9d19.js +1 -0
- package/dist/{index-3d85b007.js → index-d3b156c8.js} +1 -1
- package/dist/{index-7cf879c2.js → index-f9ab9bc2.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{portis-eda923c8.js → portis-48c4bb2c.js} +1 -1
- package/dist/{provider-30469264.js → provider-3492dc99.js} +1 -1
- package/dist/providers/connector/uniPass/provider.d.ts +6 -2
- package/dist/{rainbow-66869267.js → rainbow-5619ecd1.js} +1 -1
- package/dist/{uAuth-250efceb.js → uAuth-f159f72e.js} +1 -1
- package/dist/{walletConnect-30e3b12c.js → walletConnect-853249fd.js} +1 -1
- package/dist/{walletLink-1b6e5179.js → walletLink-d262f3cc.js} +1 -1
- package/package.json +1 -1
- package/dist/cjs/index-098424af.cjs +0 -1
- package/dist/index-5313e049.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs"),r=require("@portis/web3");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/address"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256");var i=t(r);exports.default=function({chainId:r,portisParams:t},o){return e.__awaiter(this,void 0,void 0,(function*(){if(!(null==t?void 0:t.id))throw new Error("uAuthParams is not valid.");let n="";switch(r){case 1:default:n="mainnet";break;case 5:n="goerli"}const s=new i.default(t.id,n,t.config);return yield s.provider.enable(),s.provider._portis=s,s.provider.on("connect",o.connect),s.provider.on("disconnect",o.disconnect),s.provider.on("accountsChanged",o.accountsChanged),s.provider.on("chainChanged",o.chainChanged),s.provider.on("message",o.message),e.convertWeb3Provider(s.provider)}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs");require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/address"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256");const t="dapp-inpage-integration",i="openblock-content-integration",n=["https://cocoswap.com","https://app.openocean.finance"],r=["https://oec.cocoswap.com"];class s{constructor(){console.log("start initialize openblockinpage provider"),this.callBackList={},this.eventListener={},this.isMetaMask=!0,this.isOpenBlock=!0,this.chainId=null,this.networkVersion=null,this.selectedAddress=null,this.request=this.request.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this.on=this.on.bind(this),this.isConnected=this.isConnected.bind(this),this.enable=this.enable.bind(this),this._metamask=this._getExperimentalApi(),this._initInpageListener(),this.getProviderData()}getProviderData(){var t;return e.__awaiter(this,void 0,void 0,(function*(){const e=yield this.request("metamask_getProviderState");this.chainId=null==e?void 0:e.chainId,this.networkVersion=null==e?void 0:e.networkVersion,this.selectedAddress=null===(t=null==e?void 0:e.accounts)||void 0===t?void 0:t[0]}))}request(t){return e.__awaiter(this,void 0,void 0,(function*(){if("eth_requestAccounts"===t.method){const e=yield this._hookRequest("eth_accounts");if(e.length)return new Promise((t=>t(e)))}return this._hookRequest(t)}))}send(...t){return e.__awaiter(this,void 0,void 0,(function*(){if("function"!=typeof t[1])return"string"==typeof t[0]?this.request({method:t[0],params:t[1]}):1===t.length?this.request(t):void 0;this.sendAsync(t[0],t[1])}))}sendAsync(...t){return e.__awaiter(this,void 0,void 0,(function*(){const e={method:t[0].method,params:t[0].params},i=t[0].id;this.request(e).then((e=>{t[1](null,{id:i,jsonrpc:"2.0",result:e})})).catch((e=>{t[1](null,{id:i,jsonrpc:"2.0",error:e})}))}))}isConnected(){return!0}enable(){return e.__awaiter(this,void 0,void 0,(function*(){const e=yield this._hookRequest("eth_accounts");return e.length?new Promise((t=>t(e))):this.request({method:"eth_requestAccounts"})}))}on(e,t){"string"==typeof e&&"function"==typeof t&&(this.eventListener[e]&&this.eventListener[e].length>5||(this.eventListener[e]?(this.eventListener[e].push(t),this.eventListener[e]=Array.from(new Set(this.eventListener[e]))):this.eventListener[e]||(this.eventListener=Object.assign(Object.assign({},this.eventListener),{[e]:[t]})),this._registerEvent(e)))}removeListener(){}_initInpageListener(){window.addEventListener("message",(e=>{var i,n,r;if(e.data.target!==t)return;const s=null===(r=null===(n=null===(i=e.data)||void 0===i?void 0:i.value)||void 0===n?void 0:n.data)||void 0===r?void 0:r.mark;s&&("call_method"===s.type?this._handleNormalMethod(s,e):"register_event"===s.type&&this._handleEventMethod(s,e))}),!1)}_handleNormalMethod(e,t){var i,n,r,s,o;(null===(i=t.data.value.data)||void 0===i?void 0:i.error)?null===(n=this.callBackList[e.id])||void 0===n||n.reject(null===(r=t.data.value.data)||void 0===r?void 0:r.error):null===(s=this.callBackList[e.id])||void 0===s||s.resolve(null===(o=t.data.value.data)||void 0===o?void 0:o.result),delete this.callBackList[e.id]}_handleEventMethod(e,t){var i,s,o,a,d,h,c;const l=null===(a=null===(o=null===(s=null===(i=t.data)||void 0===i?void 0:i.value)||void 0===s?void 0:s.data)||void 0===o?void 0:o.mark)||void 0===a?void 0:a.eventName,u=null===(c=null===(h=null===(d=t.data)||void 0===d?void 0:d.value)||void 0===h?void 0:h.data)||void 0===c?void 0:c.params;if(l){const e=this.eventListener[l];if(!e)return void("https://app.openocean.finance"===window.location.origin&&window.location.reload());e.forEach((e=>{"chainChanged"===l&&(this.chainId=u,this.networkVersion=Number(u)),r.includes(window.location.origin)&&"chainChanged"===l||(n.includes(window.location.origin)?window.location.reload():e(u))}))}}_hookRequest(e){return new Promise(((n,r)=>{const s=(()=>{function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return e()+e()+e()+e()+e()+e()+e()+e()})();"string"==typeof e&&(e={method:e}),e=Object.assign(Object.assign({},e),{mark:{id:s,method:e.method,type:"call_method"}}),window.parent.postMessage({from:t,target:i,data:e},"*"),this.callBackList[s]={resolve:n,reject:r}}))}_registerEvent(e){const n={mark:{eventName:e,type:"register_event"},eventName:e};window.parent.postMessage({from:t,target:i,data:n},"*")}_getExperimentalApi(){return new Proxy({isUnlocked:()=>new Promise((e=>e(!0)))},{get:(e,t,...i)=>Reflect.get(e,t,...i)})}}exports.default=function(){var e;if(null===(e=window.obethereum)||void 0===e?void 0:e.isOpenBlock)return window.obethereum;let t=new s;t=new Proxy(t,{deleteProperty:()=>!0});try{Object.defineProperty(window,"obethereum",{set(e){console.log("set ethereum",e)},get:()=>t})}catch(e){console.log("initializeProvider error",e),window.obethereum=t}return window.web3=Object.assign({},window.web3),window.web3.currentProvider=t,window.dispatchEvent(new Event("ethereum#initialized")),t};
|
|
@@ -4,12 +4,17 @@ import { JsonRpcProvider, JsonRpcSigner } from '@ethersproject/providers';
|
|
|
4
4
|
import { UniPassPopupSDK } from '@unipasswallet/popup-sdk';
|
|
5
5
|
export declare function createProvider(connectorParams: ConnectorParams): Promise<{
|
|
6
6
|
readonly upWallet: UniPassPopupSDK;
|
|
7
|
+
chainId?: number | undefined;
|
|
8
|
+
rpcUrl: string;
|
|
7
9
|
getSigner(): JsonRpcSigner;
|
|
8
10
|
connect(): Promise<import("@unipasswallet/popup-types").UPAccount>;
|
|
9
11
|
disconnect(): Promise<void>;
|
|
10
12
|
listAccounts(): Promise<string[]>;
|
|
11
13
|
getAddress(): Promise<string | null>;
|
|
12
|
-
|
|
14
|
+
send(method: string, params: Array<any>): Promise<any>;
|
|
15
|
+
updateUpWalletConfig: (chainId: number) => {
|
|
16
|
+
result: boolean;
|
|
17
|
+
};
|
|
13
18
|
readonly connection: import("@ethersproject/web").ConnectionInfo;
|
|
14
19
|
_pendingFilter: Promise<number>;
|
|
15
20
|
_nextId: number;
|
|
@@ -44,7 +49,6 @@ export declare function createProvider(connectorParams: ConnectorParams): Promis
|
|
|
44
49
|
populateTransaction(transaction: import("@ethersproject/properties").Deferrable<import("@ethersproject/abstract-provider").TransactionRequest>): Promise<import("@ethersproject/abstract-provider").TransactionRequest>;
|
|
45
50
|
_checkProvider(operation?: string | undefined): void;
|
|
46
51
|
};
|
|
47
|
-
send(method: string, params: any[]): Promise<any>;
|
|
48
52
|
prepareRequest(method: string, params: any): [string, any[]];
|
|
49
53
|
perform(method: string, params: any): Promise<any>;
|
|
50
54
|
_startEvent(event: import("@ethersproject/providers/lib/base-provider").Event): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs"),r=require("@walletconnect/ethereum-provider");require("@ethersproject/address"),require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256"),exports.default=function({chainId:t,rpcUrl:o,rpc:n,walletConnectParams:c,darkMode:i},a){return e.__awaiter(this,void 0,void 0,(function*(){let s,d,u="wss://relay.walletconnect.com",l=!0;c&&(u=c.bridge||u,l=void 0!==c.qrcode?c.qrcode:l,c.infuraId,d=c.qrModalOptions||void 0),n?s=n:t&&o&&(s={[t]:o});const p=e.getIsMobile(),h=yield r.EthereumProvider.init({projectId:"59e050d1f27ed617e65bb9637c9498d6",chains:t?[t]:[],showQrModal:!p,rpcMap:s,qrModalOptions:Object.assign({themeMode:i?"dark":"light"},d)});return h.on("display_uri",(e=>{(null==d?void 0:d.openCallback)&&d.openCallback(e)})),h.on("connect",a.connect),h.on("disconnect",(e=>{a.disconnect(e),a.accountsChanged([])})),h.on("accountsChanged",a.accountsChanged),h.on("chainChanged",a.chainChanged),h.on("message",(({type:e,data:r})=>a.message(e,r))),new Promise((r=>e.__awaiter(this,void 0,void 0,(function*(){p?(h.once("display_uri",(t=>{let o=t;e.getIsIOS()&&(o=`rainbow://wc?uri=${encodeURIComponent(t)}&connector=rainbowkit`),window.location.href=o,r(e.convertWeb3Provider(h))})),h.enable()):(yield h.enable(),r(e.convertWeb3Provider(h)))}))))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs"),r=require("@uauth/js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/address"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256");var i=t(r);let o,n=!1;exports.default=function(r,t){return e.__awaiter(this,void 0,void 0,(function*(){if(n)return;const{uAuthParams:c}=r;if(!(null==c?void 0:c.clientID))throw new Error("uAuthParams is not valid.");n=!0;try{const r=Object.assign(Object.assign({},c),{redirectUri:c.redirectUri||window.location.origin});let s,l;o=new i.default(r);try{s=yield o.user()}catch(e){if(!o.fallbackLoginOptions.scope.includes("wallet"))throw new Error('Must request the "wallet" scope for connector to work.');if(r.shouldLoginWithRedirect)throw yield o.login(),yield new Promise((()=>{})),new Error("Should never get here.");yield o.loginWithPopup(),s=yield o.user()}if(null==s.wallet_type_hint)throw new Error("no wallet type present");if(["web3","injected"].includes(s.wallet_type_hint))l=e.injectedConnect(void 0,t);else{if("walletconnect"!==s.wallet_type_hint||!r.walletConnect)throw new Error("Connector not supported");l=r.walletConnect()}return n=!1,l}catch(e){n=!1}}))},exports.disconnectWallet=function(){return null==o?void 0:o.logout()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs"),r=require("@walletconnect/ethereum-provider");require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/address"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256"),exports.default=function({chainId:t,rpcUrl:c,rpc:n,walletConnectParams:o,darkMode:a},i){return e.__awaiter(this,void 0,void 0,(function*(){let s,d,u="wss://relay.walletconnect.com",p=!0;o&&(u=o.bridge||u,p=void 0!==o.qrcode?o.qrcode:p,o.infuraId,d=o.qrModalOptions||void 0),n?s=n:t&&c&&(s={[t]:c});const l=yield r.EthereumProvider.init({projectId:"59e050d1f27ed617e65bb9637c9498d6",chains:t?[t]:[],showQrModal:!0,rpcMap:s,qrModalOptions:Object.assign({themeMode:a?"dark":"light"},d)});return l.on("display_uri",(e=>{(null==d?void 0:d.openCallback)&&d.openCallback(e)})),yield l.enable(),l.on("connect",i.connect),l.on("disconnect",(e=>{i.disconnect(e),i.accountsChanged([])})),l.on("accountsChanged",i.accountsChanged),l.on("chainChanged",i.chainChanged),l.on("message",(({type:e,data:r})=>i.message(e,r))),e.convertWeb3Provider(l)}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./index-
|
|
1
|
+
"use strict";var e=require("./index-c85d960e.cjs"),r=require("@coinbase/wallet-sdk");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@cyberlab/cyber-app-sdk"),require("@ethersproject/providers"),require("zustand"),require("@ethersproject/strings"),require("@ethersproject/bytes"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/address"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/keccak256");var n=t(r);exports.default=function({chainId:r,rpcUrl:t,appName:o,appLogoUrl:i,darkMode:c},a){return e.__awaiter(this,void 0,void 0,(function*(){if(window.ethereum&&(window.ethereum.isWalletLink||window.ethereum.isToshi))return e.injectedConnect(window.ethereum,a);if(!o)throw new Error("walletLink need appName");const s=new n.default({appName:o,appLogoUrl:i,darkMode:c}).makeWeb3Provider(t,r);return yield s.enable(),s.on("connect",a.connect),s.on("disconnect",a.disconnect),s.on("accountsChanged",a.accountsChanged),s.on("chainChanged",a.chainChanged),s.on("message",a.message),e.convertWeb3Provider(s)}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,d as r,e as t,f as o,h as n,s,u as i}from"./index-
|
|
1
|
+
import{_ as e,d as r,e as t,f as o,h as n,s,u as i}from"./index-f9ab9bc2.js";export{j as getIsCyber}from"./index-f9ab9bc2.js";import{JsonRpcProvider as d}from"@ethersproject/providers";import{getAddress as a}from"@ethersproject/address";import{ErrorType as c}from"@cyberlab/cyber-app-sdk";import{hexlify as h}from"@ethersproject/bytes";import{toUtf8Bytes as p}from"@ethersproject/strings";import{_TypedDataEncoder as u}from"@ethersproject/hash";import{Signer as l}from"@ethersproject/abstract-signer";import{deepCopy as m}from"@ethersproject/properties";import{fetchJson as v}from"@ethersproject/web";import"zustand";import"@ethersproject/constants";import"@ethersproject/contracts";import"@ethersproject/transactions";import"@ethersproject/keccak256";class g extends l{constructor(e,r,t,o){super(),this._address=r,this._index=null!=t?t:0,this.provider=e,this.app=o}_legacySignMessage(e){throw new Error("Method not implemented.")}sendUncheckedTransaction(e){throw new Error("Method not implemented.")}unlock(e){throw new Error("Method not implemented.")}getAddress(){return e(this,void 0,void 0,(function*(){return Promise.resolve(a(this._address))}))}signMessage(t){return e(this,void 0,void 0,(function*(){const e=r(),o="string"==typeof t?p(t):t,n=yield this.getAddress();return yield e.send("personal_sign",[h(o),n.toLowerCase()])}))}_signTypedData(o,n,s){var i,d;return e(this,void 0,void 0,(function*(){const a=r(),c=yield u.resolveNames(o,n,s,(r=>e(this,void 0,void 0,(function*(){return yield a.resolveName(r)})))),h=null!==(d=null===(i=t())||void 0===i?void 0:i.ownerAddress)&&void 0!==d?d:"";return yield a.send("eth_signTypedData_v4",[h.toLowerCase(),JSON.stringify(u.getPayload(c.domain,n,c.value))])}))}signTransaction(r){return e(this,void 0,void 0,(function*(){throw new Error("Method not implemented.")}))}sendTransaction(r){return e(this,void 0,void 0,(function*(){const e=yield this.getChainId(),t=o(this.app,e);return{hash:yield t.sendTransaction({to:r.to,value:r.value,data:r.data}).catch((e=>{if(e.name===c.SendTransactionError)throw console.error(e.shortMessage),e}))}}))}connect(e){return new g(null!=e?e:this.provider,this._address,this._index,this.app)}connectUnchecked(){return new g(this.provider,this._address,this._index,this.app)}}function f(e){if(e.error){const r=new Error(e.error.message);throw r.code=e.error.code,r.data=e.error.data,r}return e.result}function w(r,t){return e(this,void 0,void 0,(function*(){const o=yield function({appName:r,appLogoUrl:t,rpcUrl:o,rpc:i,chainId:c}){return e(this,void 0,void 0,(function*(){if(!r||!t)throw new Error("appName and appLogoUrl is required.");const{app:h,cyberAccount:p}=yield n({appName:r,appLogoUrl:t});if(!p)throw new Error("cyberAccount is not valid.");const u=p.address,l=new class extends d{constructor(e,r){super(e,r),this.updateUpWalletConfig=e=>{const r=null==i?void 0:i[e];if(!s.includes(e)||!r)throw new Error(`chainId ${e} not supported`);return this.chainId=e,r&&(this.rpcUrl=r),this.emit("chainChanged",`0x${e.toString(16)}`),{result:!0}},this.rpcUrl=e,this.chainId=c}getSigner(){return new g(l,u,0,h)}listAccounts(){return e(this,void 0,void 0,(function*(){return[u]}))}getNetwork(){return this.chainId?Promise.resolve({chainId:this.chainId,name:"unknown"}):super.getNetwork()}send(e,r){const t={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:m(t),provider:this});const o=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(o&&this._cache[e])return this._cache[e];const n=v({url:this.rpcUrl},JSON.stringify(t),f).then((e=>(this.emit("debug",{action:"response",request:t,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:t,provider:this}),e}));return o&&(this._cache[e]=n,setTimeout((()=>{this._cache[e]=null}),0)),n}getAddress(){return Promise.resolve(a(u))}}(o,c);return l}))}(r);return o.on("connect",t.connect),o.on("disconnect",t.disconnect),o.on("accountsChanged",t.accountsChanged),o.on("chainChanged",t.chainChanged),o.on("message",t.message),o}))}function y(e){var r;const t=e.addChainParameters.chainId,o="string"==typeof t&&(null==t?void 0:t.startsWith("0x"))?parseInt(t,16):Number(t);if(!s.includes(o))throw new Error(`chainId ${o} not supported`);return null===(r=i.getState().provider)||void 0===r?void 0:r.updateUpWalletConfig(o)}export{w as default,y as switchChain};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as t,a as e,u as r}from"./index-
|
|
1
|
+
import{_ as t,a as e,u as r}from"./index-f9ab9bc2.js";import o from"@safe-global/safe-apps-sdk";import{SafeAppProvider as n}from"@safe-global/safe-apps-provider";import s from"@safe-global/api-kit";import"@cyberlab/cyber-app-sdk";import"@ethersproject/providers";import"zustand";import"@ethersproject/strings";import"@ethersproject/bytes";import"@ethersproject/constants";import"@ethersproject/contracts";import"@ethersproject/address";import"@ethersproject/properties";import"@ethersproject/transactions";import"@ethersproject/keccak256";let i,a;function c(){return t(this,void 0,void 0,(function*(){return a||(a=new o),void 0===i&&(i=yield Promise.race([a.safe.getInfo(),new Promise((t=>setTimeout(t,200)))])),i}))}function f(){return t(this,void 0,void 0,(function*(){return!!(yield c())}))}function u(r){return t(this,void 0,void 0,(function*(){const t=yield c();if(!t)throw Error("Could not load Safe information");const o=new n(t,a);return o.on("connect",r.connect),o.on("disconnect",r.disconnect),o.on("accountsChanged",r.accountsChanged),o.on("chainChanged",r.chainChanged),o.on("message",r.message),e(o)}))}const l={1:"https://safe-transaction-mainnet.safe.global/",5:"https://safe-transaction-goerli.safe.global/",42161:"https://safe-transaction-arbitrum.safe.global/",43114:"https://safe-transaction-avalanche.safe.global/",1313161554:"https://safe-transaction-aurora.safe.global/",56:"https://safe-transaction-bsc.safe.global/",10:"https://safe-transaction-optimism.safe.global/",137:"https://safe-transaction-polygon.safe.global/"};let d;function p(e){return t(this,void 0,void 0,(function*(){if((null==d?void 0:d.chainId)===e)return d.safeService;if(!r.getState().provider)throw new Error("provider is undefined");const o=function(){return{getEip3770Address:e=>t(this,void 0,void 0,(function*(){const{address:t,prefix:r}=function(t){const e=t.split(":"),r=e.length>1?e[1]:e[0];return{prefix:e.length>1?e[0]:"",address:r}}(e);return{address:t,prefix:r}}))}}(),n=l[e];if(!n)return;const i=new s({txServiceUrl:n,ethAdapter:o});return d={safeService:i,chainId:e},d.safeService}))}function h(e,r){return t(this,void 0,void 0,(function*(){if(!r)return!1;const t=yield p(e);if(!t)return!1;try{return!!(yield t.getSafeInfo(r))}catch(t){return console.error(t),!1}}))}function m(e,r,o){return t(this,void 0,void 0,(function*(){const t=yield p(e);if(!t)return console.error(`chainId: ${e} is not supported safe`),o;if(o!==r)return o;const n=yield t.getMultisigTransactions(o),[s]=n.results;return s.safeTxHash}))}function g(e,r,o){return t(this,void 0,void 0,(function*(){const t=yield p(e);if(!t)throw new Error(`chainId: ${e} is not supported safe`);try{const{results:e}=yield t.getMultisigTransactions(o),n=e.find((t=>t.safeTxHash.toLocaleLowerCase()===r.toLocaleLowerCase()));if(!n)return null;if(e.some((t=>!(t.nonce!==n.nonce||t.safeTxHash.toLocaleLowerCase()===r.toLocaleLowerCase()||!t.isExecuted||!t.isSuccessful))))return"rejected";if(null===n.isExecuted||null===n.isSuccessful)return null;return{status:n.isExecuted&&n.isSuccessful||!1,transactionHash:n.transactionHash,blockNumber:n.blockNumber||null}}catch(t){throw console.error(t),new Error(`safeTxHash: ${r} is not valid.`)}}))}function v(t,e,r){const o={1:"eth",5:"gor",137:"matic",56:"bnb",42161:"arb1",10:"oeth",43114:"avax",1313161554:"aurora"}[e];if(!o)throw new Error(`Not Supported network: ${e}`);return`https://app.safe.global/transactions/tx?id=multisig_${r}_${t}&safe=${o}%3A${r}`}export{u as default,h as getAccountIsSafe,c as getConnectedSafe,f as getIsSafe,v as getSafeHashDetailUrl,m as getSafeTxHash,g as getSafeTxStatus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,u as t}from"./index-f9ab9bc2.js";import{JsonRpcProvider as r}from"@ethersproject/providers";import{getAddress as n}from"@ethersproject/address";import{Signer as s}from"@ethersproject/abstract-signer";import{UniPassPopupSDK as o}from"@unipasswallet/popup-sdk";import{deepCopy as i}from"@ethersproject/properties";import{fetchJson as a}from"@ethersproject/web";import"@cyberlab/cyber-app-sdk";import"zustand";import"@ethersproject/strings";import"@ethersproject/bytes";import"@ethersproject/constants";import"@ethersproject/contracts";import"@ethersproject/transactions";import"@ethersproject/keccak256";class c extends s{constructor(e,t,r,n){super(),this._address=r,this._index=null!=n?n:0,this.provider=e,this.upWallet=t}_legacySignMessage(e){throw new Error("Method not implemented.")}sendUncheckedTransaction(e){throw new Error("Method not implemented.")}unlock(e){throw new Error("Method not implemented.")}getAddress(){return e(this,void 0,void 0,(function*(){return Promise.resolve(n(this._address))}))}signMessage(t){return e(this,void 0,void 0,(function*(){if(!this.upWallet)throw new Error(`address unknown '${t}'`);return yield this.upWallet.signMessage(t,{isEIP191Prefix:!0,onAuthChain:!0})}))}_signTypedData(t,r,n){return e(this,void 0,void 0,(function*(){throw new Error("Method not implemented.")}))}signTransaction(t){return e(this,void 0,void 0,(function*(){if(!this.upWallet)throw new Error(`address unknown '${t.from}'`);return this.upWallet.sendTransaction({from:t.from,to:t.to,value:t.value,data:t.data})}))}sendTransaction(t){return e(this,void 0,void 0,(function*(){if(!this.upWallet)throw new Error(`address unknown '${t.from}'`);return{hash:yield this.upWallet.sendTransaction({from:t.from,to:t.to,value:t.value,data:t.data}),from:t.from}}))}connect(e){return new c(null!=e?e:this.provider,this.upWallet,this._address,this._index)}connectUnchecked(){return new c(this.provider,this.upWallet,this._address,this._index)}}const d=80001,u=2025,l=9527,h=534354,p=421613,v=42161,m=43113,g=43114,f=2206132,w=210425,W=[1,5,137,d,56,97,u,l,h,p,v,m,g,322,321,65,66,f],y=e=>{switch(Number(e)){case 1:case 5:return"eth";case 137:case d:return"polygon";case 56:case 97:return"bsc";case u:case l:return"rangers";case h:return"scroll";case p:case v:return"arbitrum";case m:case g:return"avalanche";case 322:case 321:return"kcc";case 65:case 66:return"okc";case f:case w:return"platon";default:return"polygon"}},b=e=>{switch(Number(e)){case 1:case 137:case 56:case u:case v:case g:case 321:case w:case 66:return"prod";default:return"test"}};function _(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function j(t){var s,d,u;return e(this,void 0,void 0,(function*(){const l=null!==(s=t.chainId)&&void 0!==s?s:1;let h=null!==(d=t.rpcUrl)&&void 0!==d?d:null===(u=t.rpc)||void 0===u?void 0:u[l];const p=new class extends r{constructor(e,r){super(e,r),this.updateUpWalletConfig=e=>{var r;const n=null===(r=t.rpc)||void 0===r?void 0:r[e];if(!W.includes(e)||!n)throw new Error(`chainId ${e} not supported`);return this.upWallet.updateConfig({chainType:y(e),nodeRPC:n,appSettings:{chain:y(e)}}),this.chainId=e,this.rpcUrl=n,this.emit("chainChanged",`0x${e.toString(16)}`),{result:!0}},this.rpcUrl=e,this.chainId=l,this.upWallet=new o({env:b(l),chainType:y(l),appSettings:{appIcon:t.appLogoUrl,appName:t.appName,chain:y(l)},rpcUrl:h,storageType:"sessionStorage"})}getSigner(){var e;const t=this.upWallet.getAccount();return new c(p,this.upWallet,null!==(e=null==t?void 0:t.address)&&void 0!==e?e:"",0)}connect(){return e(this,void 0,void 0,(function*(){const e=this.upWallet.getAccount();return e||(yield this.upWallet.login({email:false}))}))}disconnect(){return e(this,void 0,void 0,(function*(){yield this.upWallet.logout()}))}listAccounts(){return e(this,void 0,void 0,(function*(){const e=this.upWallet.getAccount();return(null==e?void 0:e.address)?[null==e?void 0:e.address]:[]}))}getAddress(){const e=this.upWallet.getAccount();return Promise.resolve((null==e?void 0:e.address)?n(null==e?void 0:e.address):null)}send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:i(r),provider:this});const n=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(n&&this._cache[e])return this._cache[e];const s=a({url:this.rpcUrl},JSON.stringify(r),_).then((e=>(this.emit("debug",{action:"response",request:r,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:r,provider:this}),e}));return n&&(this._cache[e]=s,setTimeout((()=>{this._cache[e]=null}),0)),s}}(h);return p}))}function k(t,r){return e(this,void 0,void 0,(function*(){const e=yield j(t);return e.on("connect",r.connect),e.on("disconnect",(e=>{r.disconnect(e),r.accountsChanged([])})),e.on("accountsChanged",r.accountsChanged),e.on("chainChanged",r.chainChanged),e.on("message",(({type:e,data:t})=>r.message(e,t))),yield e.connect(),e}))}function x(){var e;null===(e=t.getState().provider)||void 0===e||e.disconnect()}function C(e){var r,n;return null===(n=null===(r=t.getState().provider)||void 0===r?void 0:r.upWallet)||void 0===n?void 0:n.signTypedData(e)}function E(e){var r;const n=e.addChainParameters.chainId,s="string"==typeof n&&(null==n?void 0:n.startsWith("0x"))?parseInt(n,16):Number(n);if(!W.includes(s))throw new Error(`chainId ${s} not supported`);return null===(r=t.getState().provider)||void 0===r?void 0:r.updateUpWalletConfig(s)}export{j as createProvider,k as default,x as disconnectWallet,C as signTypedData,E as switchChain};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,H as t,c as r}from"./index-
|
|
1
|
+
import{_ as e,H as t,c as r}from"./index-f9ab9bc2.js";export{H as HD_PATH_LIST}from"./index-f9ab9bc2.js";import s from"@ledgerhq/hw-app-eth";import i from"@ledgerhq/hw-transport-webhid";import{JsonRpcProvider as n}from"@ethersproject/providers";import{getAddress as o}from"@ethersproject/address";import{resolveProperties as d}from"@ethersproject/properties";import{hexlify as a,joinSignature as c}from"@ethersproject/bytes";import{serialize as h}from"@ethersproject/transactions";import{_TypedDataEncoder as l}from"@ethersproject/hash";import{Signer as p}from"@ethersproject/abstract-signer";import{toUtf8Bytes as u}from"@ethersproject/strings";import{TypedDataUtils as m,SignTypedDataVersion as v}from"@metamask/eth-sig-util";import"@cyberlab/cyber-app-sdk";import"zustand";import"@ethersproject/constants";import"@ethersproject/contracts";import"@ethersproject/keccak256";const f=()=>e(void 0,void 0,void 0,(function*(){return yield i.create()})),y=(t,r,s,i,n,o=[])=>e(void 0,void 0,void 0,(function*(){const e=r.replace(/x/g,String(s+i)),d=yield t.getAddress(e);let a=[...o,{path:e,account:d.address}];return s<n&&(a=yield y(t,r,s+1,i,n,a)),a})),g=(t,r=1,i=5)=>e(void 0,void 0,void 0,(function*(){const e=yield f(),n=new s(e);let o;try{if(-1===t.indexOf("x")){const e=yield n.getAddress(t);return[{path:t,account:e.address}]}const e=r*i-i;o=yield y(n,t,0,e,i-1)}finally{e.close()}return o}));class w extends p{constructor(e,r,s,i,n){super(),this._address=r,this._index=null!=i?i:0,this.path=null!=s?s:t[0].path,this.provider=e,this._fetchGasPrice=n}_legacySignMessage(e){throw new Error("Method not implemented.")}sendUncheckedTransaction(e){throw new Error("Method not implemented.")}unlock(e){throw new Error("Method not implemented.")}getAddress(){return e(this,void 0,void 0,(function*(){return Promise.resolve(o(this._address))}))}signMessage(t){return e(this,void 0,void 0,(function*(){if(!this.path)throw new Error(`address unknown '${this._address}'`);const e=yield f();try{"string"==typeof t&&(t=u(t));const r=new s(e),i=a(t).substring(2),n=yield r.signPersonalMessage(this.path,i);return n.r="0x"+n.r,n.s="0x"+n.s,c(n)}finally{e.close()}}))}_signTypedData(t,r,i){return e(this,void 0,void 0,(function*(){const e=yield f();try{if(!this.path)throw new Error(`address unknown '${this._address}'`);const n=new s(e),o=yield l.resolveNames(t,r,i,(e=>{var t;return null===(t=this.provider)||void 0===t?void 0:t.resolveName(e)})),d=l.getPayload(o.domain,r,o.value),a=m.hashStruct("EIP712Domain",d.domain,r,v.V4).toString("hex"),c=m.hashStruct(d.primaryType,d.message,r,v.V4).toString("hex"),h=yield n.signEIP712HashedMessage(this.path,a,c);let p=parseInt(h.v,10).toString(16);p.length<2&&(p=`0${p}`);return`0x${h.r}${h.s}${p}`}finally{e.close()}}))}signTransaction(t){var i;return e(this,void 0,void 0,(function*(){if(!this.path)throw new Error(`address unknown '${this._address}'`);const e=yield f();try{const n=yield d(t),o=yield r(null!==(i=n.chainId)&&void 0!==i?i:1,n,this._fetchGasPrice);o.nonce=o.nonce?Number(o.nonce):void 0;const a=h(o).substring(2),c=new s(e),l=yield c.signTransaction(this.path,a);return h(o,{v:parseInt(`0x${l.v}`,2),r:"0x"+l.r,s:"0x"+l.s})}finally{e.close()}}))}connect(e){return new w(null!=e?e:this.provider,this._address,this.path,this._index,this._fetchGasPrice)}connectUnchecked(){return new w(this.provider,this._address,this.path,this._index,this._fetchGasPrice)}}function x({rpcUrl:r,fetchGasPrice:s,ledgerParams:i}){var d;return e(this,void 0,void 0,(function*(){if(!r)throw new Error("Ledger USB provider requires rpcUrl");const a=null!==(d=null==i?void 0:i.path)&&void 0!==d?d:t[0].path;let c=null==i?void 0:i.account;const h=yield(yield g(a)).map((e=>e.account));c||(c=h[0]);const l=h.findIndex((e=>e===c));const p=new class extends n{getSigner(){return new w(p,c,a,l,s)}listAccounts(){return e(this,void 0,void 0,(function*(){return yield(yield g(a)).map((e=>e.account))}))}getAddress(){return Promise.resolve(o(c))}}(r);return p}))}function _(t){return e(this,void 0,void 0,(function*(){return yield x(t)}))}export{x as createProvider,_ as default,g as getAccountList,f as getTransport};
|