@swapkit/wallets 4.3.8 → 4.3.9
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/{chunk-jgq4njag.js → chunk-78m70510.js} +3 -3
- package/dist/{chunk-jgq4njag.js.map → chunk-78m70510.js.map} +1 -1
- package/dist/chunk-7jmqkkhs.js +4 -0
- package/dist/chunk-7jmqkkhs.js.map +10 -0
- package/dist/chunk-9acqzpjy.js +5 -0
- package/dist/chunk-9acqzpjy.js.map +10 -0
- package/dist/src/coinbase/index.js +2 -2
- package/dist/src/coinbase/index.js.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/near-wallet-selector/index.js +2 -2
- package/dist/src/near-wallet-selector/index.js.map +1 -1
- package/dist/src/passkeys/index.js +2 -2
- package/dist/src/passkeys/index.js.map +1 -1
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +2 -2
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +4 -4
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +4 -4
- package/dist/src/xaman/index.js +2 -2
- package/dist/src/xaman/index.js.map +1 -1
- package/dist/types/walletconnect/constants.d.ts +1 -0
- package/dist/types/walletconnect/constants.d.ts.map +1 -1
- package/dist/types/walletconnect/helpers.d.ts +1 -1
- package/dist/types/walletconnect/helpers.d.ts.map +1 -1
- package/dist/types/walletconnect/index.d.ts +2 -2
- package/dist/types/walletconnect/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/walletconnect/constants.ts +1 -0
- package/src/walletconnect/helpers.ts +3 -0
- package/src/walletconnect/index.ts +2 -0
- package/dist/chunk-3cmctt43.js +0 -5
- package/dist/chunk-3cmctt43.js.map +0 -10
- package/dist/chunk-rv3zf3sa.js +0 -4
- package/dist/chunk-rv3zf3sa.js.map +0 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var k=(a,c,b)=>{b=a!=null?g(h(a)):{};let d=c||!a||!a.__esModule?f(b,"default",{value:a,enumerable:!0}):b;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var l=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(c,b)=>(typeof require<"u"?require:c)[b]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
|
|
2
|
-
export{k as
|
|
2
|
+
export{k as G,l as H};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
//# debugId=8A5167436CF4F9F964756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-78m70510.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="eip155:143",K="debug",C={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});
|
|
2
|
+
|
|
3
|
+
//# debugId=E1D0C518D13A94A064756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-7jmqkkhs.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\nexport const MONAD_MAINNET_ID = \"eip155:143\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "AAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eACvB,EAAmB,aAEnB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
+
"debugId": "E1D0C518D13A94A064756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import"./chunk-78m70510.js";var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="eip155:143",K="debug",C={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});export{i as TRON_MAINNET_ID,Z as THORCHAIN_MAINNET_ID,o as POLYGON_MAINNET_ID,h as OPTIMISM_MAINNET_ID,a as NEAR_TESTNET_ID,G as NEAR_MAINNET_ID,n as MONAD_MAINNET_ID,e as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,W as ETHEREUM_MAINNET_ID,B as DEFAULT_TRON_METHODS,J as DEFAULT_TRON_EVENTS,u as DEFAULT_SOLANA_METHODS,v as DEFAULT_SOLANA_EVENTS,Q as DEFAULT_RELAY_URL,w as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,y as DEFAULT_NEAR_METHODS,z as DEFAULT_NEAR_EVENTS,K as DEFAULT_LOGGER,m as DEFAULT_EIP_155_EVENTS,l as DEFAULT_EIP155_METHODS,p as DEFAULT_COSMOS_METHODS,q as DEFAULT_COSMOS_EVENTS,C as DEFAULT_APP_METADATA,$ as COSMOS_HUB_MAINNET_ID,X as BSC_MAINNET_ID,t as BERACHAIN_MAINNET_ID,r as BASE_MAINNET_ID,Y as AVALANCHE_MAINNET_ID,s as AURORA_MAINNET_ID,g as ARBITRUM_ONE_MAINNET_ID};
|
|
2
|
+
export{Q as a,W as b,X as c,Y as d,Z as e,$ as f,c as g,e as h,g as i,h as j,o as k,r as l,G as m,a as n,i as o,s as p,t as q,n as r,K as s,C as t,l as u,m as v,p as w,q as x,u as y,v as z,w as A,x as B,y as C,z as D,B as E,J as F};
|
|
3
|
+
|
|
4
|
+
//# debugId=915EC9D7D9D42FBC64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-9acqzpjy.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\nexport const MONAD_MAINNET_ID = \"eip155:143\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "4BAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eACvB,EAAmB,aAEnB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
+
"debugId": "915EC9D7D9D42FBC64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as h,H as u}from"../../chunk-78m70510.js";import{Chain as a,ChainToChainId as b,filterSupportedChains as y,SKConfig as P,WalletOption as S}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as W}from"@swapkit/wallet-core";import{Chain as o,SwapKitError as m}from"@swapkit/helpers";async function C(t,n){let{AbstractSigner:i}=await import("ethers");class r extends i{#e;constructor(e,s){super(s);this.#e=e}async getAddress(){let e=await this.#e.request({method:"eth_requestAccounts"});if(!e[0])throw new m("wallet_coinbase_no_accounts");return e[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(e){return await this.#e.request({method:"personal_sign",params:[e,await this.getAddress()]})}signTypedData=()=>{throw new m("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(e){return new r(this.#e,e)}}return new r(t,n)}var w=async({chain:t,coinbaseSdk:n})=>{switch(t){case o.Ethereum:case o.Avalanche:case o.Arbitrum:case o.Optimism:case o.Polygon:case o.Base:case o.BinanceSmartChain:{let i=n.getProvider(),{getEvmToolbox:r,getProvider:e}=await import("@swapkit/toolboxes/evm"),s=await e(t),c=await C(i,s),d=await r(t,{provider:s,signer:c}),p=await c.getAddress();return{...d,address:p}}default:throw new m("wallet_coinbase_chain_not_supported",{chain:t})}};var _=v({connect:({addChain:t,walletType:n,supportedChains:i})=>async function(e){let{createCoinbaseWalletSDK:s}=await import("@coinbase/wallet-sdk"),c=y({chains:e,supportedChains:i,walletType:n}),d=P.get("integrations").coinbase||{appName:"Swapkit Playground"},p=s({...d,appChainIds:c.map((l)=>Number(b[l]))});return await Promise.all(c.map(async(l)=>{let g=await w({chain:l,coinbaseSdk:p});t({...g,chain:l,walletType:n})})),!0},name:"connectCoinbaseWallet",supportedChains:[a.Arbitrum,a.Avalanche,a.Base,a.BinanceSmartChain,a.Ethereum,a.Optimism,a.Polygon,a.XLayer],walletType:S.COINBASE_MOBILE}),D=W(_);export{_ as coinbaseWallet,D as COINBASE_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=AA37891879BE720D64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import type { CoinbaseWalletProvider } from \"@coinbase/wallet-sdk\";\nimport type { createCoinbaseWalletSDK } from \"@coinbase/wallet-sdk/dist/createCoinbaseWalletSDK.js\";\nimport { Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Provider } from \"ethers\";\n\nasync function getCoinbaseMobileSigner(walletProvider: CoinbaseWalletProvider, provider?: Provider) {\n const { AbstractSigner } = await import(\"ethers\");\n\n class CoinbaseMobileSigner extends AbstractSigner {\n #coinbaseProvider: CoinbaseWalletProvider;\n\n constructor(coinbaseProvider: CoinbaseWalletProvider, provider?: Provider) {\n super(provider);\n this.#coinbaseProvider = coinbaseProvider;\n }\n\n async getAddress() {\n const accounts = await this.#coinbaseProvider.request<string[]>({ method: \"eth_requestAccounts\" });\n\n if (!accounts[0]) throw new SwapKitError(\"wallet_coinbase_no_accounts\");\n\n return accounts[0];\n }\n\n async signTransaction() {\n return await this.#coinbaseProvider.request<string>({ method: \"eth_signTransaction\" });\n }\n\n async signMessage(message: string | Uint8Array) {\n return await this.#coinbaseProvider.request<string>({\n method: \"personal_sign\",\n params: [message, await this.getAddress()],\n });\n }\n\n signTypedData = () => {\n throw new SwapKitError(\"wallet_coinbase_method_not_supported\", { method: \"signTypedData\" });\n };\n\n connect(provider: Provider) {\n return new CoinbaseMobileSigner(this.#coinbaseProvider, provider);\n }\n }\n\n return new CoinbaseMobileSigner(walletProvider, provider);\n}\n\nexport const getWalletMethods = async ({\n chain,\n coinbaseSdk,\n}: {\n chain: Chain;\n coinbaseSdk: ReturnType<typeof createCoinbaseWalletSDK>;\n}) => {\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Avalanche:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Base:\n case Chain.BinanceSmartChain: {\n const walletProvider = coinbaseSdk.getProvider() as CoinbaseWalletProvider;\n const { getEvmToolbox, getProvider } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getCoinbaseMobileSigner(walletProvider, provider);\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n const address = await signer.getAddress();\n\n return { ...toolbox, address };\n }\n\n default:\n throw new SwapKitError(\"wallet_coinbase_chain_not_supported\", { chain });\n }\n};\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": "mDAAA,gBAAS,oBAAO,2BAAgB,cAAuB,kBAAU,yBACjE,uBAAS,8BAAc,6BCCvB,gBAAS,kBAAO,yBAGhB,eAAe,CAAuB,CAAC,EAAwC,EAAqB,CAClG,IAAQ,kBAAmB,KAAa,kBAExC,MAAM,UAA6B,CAAe,CAChD,GAEA,WAAW,CAAC,EAA0C,EAAqB,CACzE,MAAM,CAAQ,EACd,KAAK,GAAoB,OAGrB,WAAU,EAAG,CACjB,IAAM,EAAW,MAAM,KAAK,GAAkB,QAAkB,CAAE,OAAQ,qBAAsB,CAAC,EAEjG,GAAI,CAAC,EAAS,GAAI,MAAM,IAAI,EAAa,6BAA6B,EAEtE,OAAO,EAAS,QAGZ,gBAAe,EAAG,CACtB,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAAE,OAAQ,qBAAsB,CAAC,OAGjF,YAAW,CAAC,EAA8B,CAC9C,OAAO,MAAM,KAAK,GAAkB,QAAgB,CAClD,OAAQ,gBACR,OAAQ,CAAC,EAAS,MAAM,KAAK,WAAW,CAAC,CAC3C,CAAC,EAGH,cAAgB,IAAM,CACpB,MAAM,IAAI,EAAa,uCAAwC,CAAE,OAAQ,eAAgB,CAAC,GAG5F,OAAO,CAAC,EAAoB,CAC1B,OAAO,IAAI,EAAqB,KAAK,GAAmB,CAAQ,EAEpE,CAEA,OAAO,IAAI,EAAqB,EAAgB,CAAQ,EAGnD,IAAM,EAAmB,OAC9B,QACA,iBAII,CACJ,OAAQ,QACD,EAAM,cACN,EAAM,eACN,EAAM,cACN,EAAM,cACN,EAAM,aACN,EAAM,UACN,EAAM,kBAAmB,CAC5B,IAAM,EAAiB,EAAY,YAAY,GACvC,gBAAe,eAAgB,KAAa,kCAE9C,EAAW,MAAM,EAAY,CAAK,EAClC,EAAS,MAAM,EAAwB,EAAgB,CAAQ,EAC/D,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EACzD,EAAU,MAAM,EAAO,WAAW,EAExC,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,EAAa,sCAAuC,CAAE,OAAM,CAAC,IDrEtE,IAAM,EAAiB,EAAa,CACzC,QAAS,EAAG,WAAU,aAAY,qBAChC,cAAoC,CAAC,EAAiB,CACpD,IAAQ,2BAA4B,KAAa,gCAE3C,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAE9E,EAAiB,EAAS,IAAI,cAAc,EAAE,UAAY,CAAE,QAAS,oBAAqB,EAE1F,EAAc,EAAwB,IACvC,EACH,YAAa,EAAe,IAAI,CAAC,IAAU,OAAO,EAAe,EAAM,CAAC,CAC1E,CAAC,EAUD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAE,QAAO,aAAY,CAAC,EAEnE,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,wBACN,gBAAiB,CACf,EAAM,SACN,EAAM,UACN,EAAM,KACN,EAAM,kBACN,EAAM,SACN,EAAM,SACN,EAAM,QACN,EAAM,MACR,EACA,WAAY,EAAa,eAC3B,CAAC,EAEY,EAA4B,EAAyB,CAAc",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "AA37891879BE720D64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as t,H as l}from"../chunk-78m70510.js";export*from"@swapkit/wallet-core";import{WalletOption as e}from"@swapkit/helpers";async function s(o){let{match:p}=await import("ts-pattern");return await p(o).with(e.COINBASE_MOBILE,async()=>(await import("./coinbase/index.js")).coinbaseWallet).with(e.BITGET,async()=>(await import("@swapkit/wallet-extensions/bitget")).bitgetWallet).with(e.CTRL,async()=>(await import("@swapkit/wallet-extensions/ctrl")).ctrlWallet).with(e.VULTISIG,async()=>(await import("@swapkit/wallet-extensions/vultisig")).vultisigWallet).with(e.OKX,async()=>(await import("@swapkit/wallet-extensions/okx")).okxWallet).with(e.ONEKEY,async()=>(await import("@swapkit/wallet-extensions/onekey")).onekeyWallet).with(e.EXODUS,async()=>(await import("./passkeys/index.js")).passkeysWallet).with(e.KEEPKEY,async()=>(await import("@swapkit/wallet-hardware/keepkey")).keepkeyWallet).with(e.KEEPKEY_BEX,async()=>(await import("@swapkit/wallet-extensions/keepkey-bex")).keepkeyBexWallet).with(e.WALLETCONNECT,async()=>(await import("./walletconnect/index.js")).walletconnectWallet).with(e.KEPLR,e.LEAP,async()=>(await import("@swapkit/wallet-extensions/keplr")).keplrWallet).with(e.COSMOSTATION,async()=>(await import("@swapkit/wallet-extensions/cosmostation")).cosmostationWallet).with(e.BRAVE,e.COINBASE_WEB,e.EIP6963,e.METAMASK,e.OKX_MOBILE,e.TRUSTWALLET_WEB,async()=>(await import("@swapkit/wallet-extensions/evm-extensions")).evmWallet).with(e.KEYSTORE,async()=>(await import("@swapkit/wallet-keystore")).keystoreWallet).with(e.TREZOR,async()=>(await import("@swapkit/wallet-hardware/trezor")).trezorWallet).with(e.LEDGER,e.LEDGER_LIVE,async()=>(await import("@swapkit/wallet-hardware/ledger")).ledgerWallet).with(e.PASSKEYS,async()=>(await import("./passkeys/index.js")).passkeysWallet).with(e.PHANTOM,async()=>(await import("@swapkit/wallet-extensions/phantom")).phantomWallet).with(e.POLKADOT_JS,async()=>(await import("@swapkit/wallet-extensions/polkadotjs")).polkadotWallet).with(e.RADIX_WALLET,async()=>(await import("./radix/index.js")).radixWallet).with(e.TALISMAN,async()=>(await import("@swapkit/wallet-extensions/talisman")).talismanWallet).with(e.TRONLINK,async()=>(await import("@swapkit/wallet-extensions/tronlink")).tronlinkWallet).with(e.WALLET_SELECTOR,async()=>(await import("./near-wallet-selector/index.js")).walletSelectorWallet).with(e.XAMAN,async()=>(await import("./xaman/index.js")).xamanWallet).exhaustive()}export{s as loadWallet};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=C3F6D07FF03078CE64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"@swapkit/wallet-keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(\n WalletOption.LEDGER,\n // TODO: Remove\n WalletOption.LEDGER_LIVE,\n async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet,\n )\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(WalletOption.POLKADOT_JS, async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet)\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": "gDAAA,kCCAA,uBAAS,yBAGT,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAqD/B,OAnDe,MAAM,EAAM,CAA4B,EACpD,KAAK,EAAa,gBAAiB,UAAa,KAAa,gCAAe,cAAc,EAC1F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,OAAQ,UAAa,KAAa,gCAAe,cAAc,EACjF,KAAK,EAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,EAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,EAAa,cAAe,UAAa,KAAa,qCAAoB,mBAAmB,EAClG,KACC,EAAa,MACb,EAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,EAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,EAAa,MACb,EAAa,aACb,EAAa,QACb,EAAa,SACb,EAAa,WACb,EAAa,gBACb,UAAa,KAAa,sDAA8C,SAC1E,EAEC,KAAK,EAAa,SAAU,UAAa,KAAa,qCAA6B,cAAc,EACjG,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KACC,EAAa,OAEb,EAAa,YACb,UAAa,KAAa,4CAAoC,YAChE,EACC,KAAK,EAAa,SAAU,UAAa,KAAa,gCAAe,cAAc,EACnF,KAAK,EAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KAAK,EAAa,YAAa,UAAa,KAAa,kDAA0C,cAAc,EACjH,KAAK,EAAa,aAAc,UAAa,KAAa,6BAAY,WAAW,EACjF,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,gBAAiB,UAAa,KAAa,4CAA2B,oBAAoB,EAC5G,KAAK,EAAa,MAAO,UAAa,KAAa,6BAAY,WAAW,EAC1E,WAAW",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "C3F6D07FF03078CE64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as P,H as Q}from"../../chunk-78m70510.js";import"@near-wallet-selector/modal-ui-js/styles.css";import{Chain as R,filterSupportedChains as Y,SKConfig as Z,SwapKitError as B,WalletOption as U}from"@swapkit/helpers";import{getNearToolbox as _}from"@swapkit/toolboxes/near";import{createWallet as $,getWalletSupportedChains as j}from"@swapkit/wallet-core";function f(q){return{getAddress:async()=>{let z=(await q.getAccounts())[0]?.accountId;if(!z)throw new B("wallet_connection_rejected_by_user");return z},getPublicKey:()=>{throw new B("wallet_near_method_not_supported")},signAndSendTransactions:async(k)=>{return(await q.signAndSendTransactions(k))?.[0]?.transaction_outcome.id||""},signDelegateAction:()=>{throw new B("wallet_near_method_not_supported")},signNep413Message:()=>{throw new B("wallet_near_method_not_supported")},signTransaction:(k)=>{if(!q.signTransaction)throw new B("wallet_near_method_not_supported");return q.signTransaction(k)}}}function v(q,k){return new Promise((z)=>{let D=q.store.observable.subscribe((A)=>{if(A.selectedWalletId)D.unsubscribe(),k.hide(),z()});k.show()})}async function x(q){let{setupWalletSelector:k}=await import("@near-wallet-selector/core"),{setupModal:z}=await import("@near-wallet-selector/modal-ui-js"),D=Z.get("integrations")?.nearWalletSelector?.contractId||"",A=await k({modules:[...q||[]],network:"mainnet"});if(!A.isSignedIn()){let J=z(A,{contractId:D,description:"Connect your NEAR wallet to SwapKit"});await v(A,J)}let H=await A.wallet(),G=f(H),V=await _({signer:G}),X=await G.getAddress();return{...V,address:X,disconnect:async()=>{try{await H.signOut()}catch(J){throw new B("wallet_connection_rejected_by_user",J)}}}}var N=$({connect:({addChain:q,supportedChains:k,walletType:z})=>async function(A,L){if(Y({chains:A,supportedChains:k,walletType:z}).length===0)throw new B("wallet_chain_not_supported",{chain:A[0],wallet:U.WALLET_SELECTOR});let G=await x(L);return q({...G,balance:[],chain:R.Near,walletType:z}),!0},name:"connectWalletSelector",supportedChains:[R.Near],walletType:U.WALLET_SELECTOR}),F=j(N);export{N as walletSelectorWallet,F as WALLET_SELECTOR_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=8BE98913C4FD071A64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type { Wallet, WalletModuleFactory } from \"@near-wallet-selector/core\";\nimport \"@near-wallet-selector/modal-ui-js/styles.css\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { getNearToolbox } from \"@swapkit/toolboxes/near\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nfunction createNearSigner(wallet: Wallet) {\n return {\n getAddress: async () => {\n const accounts = await wallet.getAccounts();\n const accountId = accounts[0]?.accountId;\n\n if (!accountId) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n return accountId;\n },\n\n getPublicKey: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {\n const result = await wallet.signAndSendTransactions(transactions);\n return result?.[0]?.transaction_outcome.id || \"\";\n },\n\n signDelegateAction: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signNep413Message: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signTransaction: (params: Transaction) => {\n if (!wallet.signTransaction) {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n }\n return wallet.signTransaction(params);\n },\n };\n}\n\nfunction waitForWalletSelection(selector: any, modal: any) {\n return new Promise<void>((resolve) => {\n const subscription = selector.store.observable.subscribe((state: any) => {\n if (state.selectedWalletId) {\n subscription.unsubscribe();\n modal.hide();\n resolve();\n }\n });\n\n modal.show();\n });\n}\n\nasync function getWalletMethods(walletFactories?: WalletModuleFactory[]) {\n const { setupWalletSelector } = await import(\"@near-wallet-selector/core\");\n const { setupModal } = await import(\"@near-wallet-selector/modal-ui-js\");\n\n const contractId = SKConfig.get(\"integrations\")?.nearWalletSelector?.contractId || \"\";\n const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: \"mainnet\" });\n\n const isSignedIn = selector.isSignedIn();\n\n if (!isSignedIn) {\n // Only show modal if not already connected\n const modal = setupModal(selector, { contractId, description: \"Connect your NEAR wallet to SwapKit\" });\n\n await waitForWalletSelection(selector, modal);\n }\n\n const wallet = await selector.wallet();\n const signer = createNearSigner(wallet);\n const toolbox = await getNearToolbox({ signer });\n const address = await signer.getAddress();\n\n const disconnect = async () => {\n try {\n await wallet.signOut();\n } catch (error) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n };\n\n return { ...toolbox, address, disconnect };\n}\n\nexport const walletSelectorWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n chain: chains[0],\n wallet: WalletOption.WALLET_SELECTOR,\n });\n }\n\n const walletMethods = await getWalletMethods(walletFactories);\n\n addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });\n\n return true;\n },\n name: \"connectWalletSelector\",\n supportedChains: [Chain.Near],\n walletType: WalletOption.WALLET_SELECTOR,\n});\n\nexport const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "mDACA,qDAEA,gBAAS,2BAAO,cAAuB,kBAAU,kBAAc,yBAC/D,yBAAS,gCACT,uBAAS,8BAAc,6BAEvB,SAAS,CAAgB,CAAC,EAAgB,CACxC,MAAO,CACL,WAAY,SAAY,CAEtB,IAAM,GADW,MAAM,EAAO,YAAY,GACf,IAAI,UAE/B,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,oCAAoC,EAG7D,OAAO,GAGT,aAAc,IAAM,CAClB,MAAM,IAAI,EAAa,kCAAkC,GAE3D,wBAAyB,MAAO,IAAkD,CAEhF,OADe,MAAM,EAAO,wBAAwB,CAAY,KAChD,IAAI,oBAAoB,IAAM,IAGhD,mBAAoB,IAAM,CACxB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,kBAAmB,IAAM,CACvB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,gBAAiB,CAAC,IAAwB,CACxC,GAAI,CAAC,EAAO,gBACV,MAAM,IAAI,EAAa,kCAAkC,EAE3D,OAAO,EAAO,gBAAgB,CAAM,EAExC,EAGF,SAAS,CAAsB,CAAC,EAAe,EAAY,CACzD,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,IAAM,EAAe,EAAS,MAAM,WAAW,UAAU,CAAC,IAAe,CACvE,GAAI,EAAM,iBACR,EAAa,YAAY,EACzB,EAAM,KAAK,EACX,EAAQ,EAEX,EAED,EAAM,KAAK,EACZ,EAGH,eAAe,CAAgB,CAAC,EAAyC,CACvE,IAAQ,uBAAwB,KAAa,uCACrC,cAAe,KAAa,6CAE9B,EAAa,EAAS,IAAI,cAAc,GAAG,oBAAoB,YAAc,GAC7E,EAAW,MAAM,EAAoB,CAAE,QAAS,CAAC,GAAI,GAAmB,CAAC,CAAE,EAAG,QAAS,SAAU,CAAC,EAIxG,GAAI,CAFe,EAAS,WAAW,EAEtB,CAEf,IAAM,EAAQ,EAAW,EAAU,CAAE,aAAY,YAAa,qCAAsC,CAAC,EAErG,MAAM,EAAuB,EAAU,CAAK,EAG9C,IAAM,EAAS,MAAM,EAAS,OAAO,EAC/B,EAAS,EAAiB,CAAM,EAChC,EAAU,MAAM,EAAe,CAAE,QAAO,CAAC,EACzC,EAAU,MAAM,EAAO,WAAW,EAUxC,MAAO,IAAK,EAAS,UAAS,WARX,SAAY,CAC7B,GAAI,CACF,MAAM,EAAO,QAAQ,EACrB,MAAO,EAAO,CACd,MAAM,IAAI,EAAa,qCAAsC,CAAK,GAI7B,EAGpC,IAAM,EAAuB,EAAa,CAC/C,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAoC,CAAC,EAAiB,EAAyC,CAG7F,GAFuB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEjE,SAAW,EAC5B,MAAM,IAAI,EAAa,6BAA8B,CACnD,MAAO,EAAO,GACd,OAAQ,EAAa,eACvB,CAAC,EAGH,IAAM,EAAgB,MAAM,EAAiB,CAAe,EAI5D,OAFA,EAAS,IAAK,EAAe,QAAS,CAAC,EAAG,MAAO,EAAM,KAAM,YAAW,CAAC,EAElE,IAEX,KAAM,wBACN,gBAAiB,CAAC,EAAM,IAAI,EAC5B,WAAY,EAAa,eAC3B,CAAC,EAEY,EAAmC,EAAyB,CAAoB",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "8BE98913C4FD071A64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as R,H as U}from"../../chunk-78m70510.js";import{Chain as j,EVMChains as B,filterSupportedChains as M,prepareNetworkSwitch as u,SKConfig as O,SwapKitError as J,switchEVMWalletNetwork as m,WalletOption as f}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as K}from"@swapkit/wallet-core";import{Psbt as T}from"bitcoinjs-lib";import{AddressPurpose as W,BitcoinNetworkType as A,getAddress as x,signTransaction as E}from"sats-connect";import{match as k}from"ts-pattern";export*from"@passkeys/core";export*from"@passkeys/react";async function S(){let L=O.get("apiKeys").passkeys,{createWallet:_}=await import("@passkeys/core");return _({appId:L.length>0?L:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function C({wallet:L,chain:_}){return k(_).with(j.Bitcoin,async(q)=>{let{getUtxoToolbox:Q}=await import("@swapkit/toolboxes/utxo"),Y=await L.getProvider("bitcoin");if(!Y)throw new J("wallet_passkeys_not_found");let z="",F=()=>Promise.resolve(Y),Z={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_request_canceled")},onFinish:(H)=>{if(!H.addresses[0])throw new J("wallet_passkeys_no_address");z=H.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:A.Mainnet},purposes:[W.Payment]}};await x(Z);async function G(H){let $,V={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_signature_canceled")},onFinish:(I)=>{$=T.fromBase64(I.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:z,signingIndexes:H.txInputs.map((I,N)=>N)}],message:"Sign transaction",network:{type:A.Mainnet},psbtBase64:H.toBase64()}};if(await E(V),!$)throw new J("wallet_passkeys_sign_transaction_error");return $}return{...await Q(q,{signer:{getAddress:()=>Promise.resolve(z),signTransaction:G}}),address:z}}).with(...B,async(q)=>{let{getProvider:Q,getEvmToolbox:Y}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:z}=await import("ethers"),F=await L.getProvider("ethereum");if(!F)throw new J("wallet_passkeys_not_found");let Z=await Q(q),G=new z(F,"any");await G.send("eth_requestAccounts",[]);let X=await G.getSigner(),D=await X.getAddress(),H=await Y(q,{provider:Z,signer:X});try{if(q!==j.Ethereum){let $=H.getNetworkParams();await m(G,q,$)}}catch{throw new J("wallet_passkeys_failed_to_switch_network",{chain:q})}return{...u({chain:q,provider:G,toolbox:H}),address:D}}).with(j.Solana,async()=>{let{getSolanaToolbox:q}=await import("@swapkit/toolboxes/solana"),Q=await L.getProvider("solana"),z=(await Q.connect()).publicKey.toString();return{...await q({signer:Q}),address:z,disconnect:async()=>{await Q.disconnect()}}}).otherwise((q)=>{throw new J("wallet_passkeys_chain_not_supported",{chain:q})})}var v=y({connect:({addChain:L,walletType:_,supportedChains:q})=>async function(Y,z){let F=z||await S();if(!F)throw new J("wallet_passkeys_instance_missing");let Z=M({chains:Y,supportedChains:q,walletType:_});return await Promise.all(Z.map(async(G)=>{try{let X=await C({chain:G,wallet:F}),{address:D,...H}=X;L({...H,address:D,chain:G,disconnect:F.disconnect,walletType:f.PASSKEYS})}catch(X){throw console.error(`Failed to connect ${G} wallet:`,X),X}})),!0},name:"connectPasskeys",supportedChains:[...B,j.Bitcoin,j.Solana],walletType:f.PASSKEYS}),h=K(v);export{v as passkeysWallet,h as PASSKEYS_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=A323216064AE7C3C64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type { Wallet } from \"@passkeys/core\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: psbt.txInputs.map((_, index) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "A323216064AE7C3C64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/radix/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as $,H as G}from"../../chunk-78m70510.js";import{AssetValue as I,Chain as _,filterSupportedChains as x,SKConfig as Y,SwapKitError as X,WalletOption as B}from"@swapkit/helpers";import{createWallet as C,getWalletSupportedChains as h}from"@swapkit/wallet-core";var k=C({connect:({addChain:O,supportedChains:M,walletType:H})=>async function(Q){let L=x({chains:Q,supportedChains:M,walletType:H});if(!Y.get("integrations").radix)throw new X("wallet_radix_not_found");return await Promise.all(L.map(async(z)=>{let J=await F();O({...J,chain:z,walletType:H})})),!0},name:"connectRadixWallet",supportedChains:[_.Radix],walletType:B.RADIX_WALLET}),w=h(k);async function v(O){let{GatewayApiClient:M}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=Y.get("integrations").radix,V=M.initialize({applicationName:H,networkId:1}),Q=!0,L,U=[],z=await D(V);while(Q){let J={address:O,at_ledger_state:{state_version:z},cursor:L,limit_per_page:100},j=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(U=U.concat(j.items),j.next_cursor)L=j.next_cursor;else Q=!1}return U}function D(O){return O.status.getCurrent().then((M)=>M.ledger_state.state_version)}async function E(O){let{GatewayApiClient:M}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await v(O),{applicationName:V}=Y.get("integrations").radix,Q=M.initialize({applicationName:V,networkId:1}),L=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Z=j.map((K)=>K.resource_address),N=await Q.state.getEntityDetailsVaultAggregated(Z),q=new Map;for(let K of N)if(K.details!==void 0){let W=K.metadata?.items.find((S)=>S.key==="symbol"),T=W?.value.typed.type==="String"?W.value.typed.value:"?";if(K.details.type==="FungibleResource")q.set(K.address,{decimals:K.details.divisibility,symbol:T})}for(let K of j)if(K.aggregation_level==="Global"){let W=q.get(K.resource_address)||{decimals:0,symbol:"?"},T=I.from({asset:W.symbol!==_.Radix?`${_.Radix}.${W.symbol}-${K.resource_address}`:"XRD.XRD",value:K.amount});L.push(T)}}if(!L.some((j)=>j.isGasAsset))return[I.from({chain:_.Radix}),...L];return L}async function F(){let{RadixDappToolkit:O}=await import("@radixdlt/radix-dapp-toolkit"),M=Y.get("integrations").radix,H=O({...M,networkId:M.network.networkId});function V(z){return new Promise((J)=>setTimeout(J,z))}await V(400);function Q(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let L=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let J=await H.walletApi.sendRequest();if(!J)throw new X("wallet_radix_no_account");let j=J.unwrapOr(null)?.accounts[0]?.address;if(!j)throw new X("wallet_radix_no_account");return j},U=Q()||await L();return{address:U,getAddress:Q,getBalance:()=>E(U),radixDappToolkit:H,signAndBroadcast:async({manifest:z,message:J})=>{let Z=(await H.walletApi.sendTransaction({message:J,transactionManifest:z})).unwrapOr(null)?.transactionIntentHash;if(!Z)throw new X("wallet_radix_transaction_failed");return Z},transfer:(z)=>{throw new X("wallet_radix_method_not_supported",{method:"transfer"})}}}export{k as radixWallet,w as RADIX_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=1307BA921629CE3D64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport { AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function fetchFungibleResources(address: string): Promise<FungibleResourcesCollectionItem[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n let hasNextPage = true;\n let nextCursor: string | undefined;\n let fungibleResources: FungibleResourcesCollectionItem[] = [];\n\n const stateVersion = await currentStateVersion(networkApi);\n\n while (hasNextPage) {\n const stateEntityFungiblesPageRequest: StateEntityFungiblesPageRequest = {\n address: address,\n at_ledger_state: { state_version: stateVersion },\n cursor: nextCursor,\n limit_per_page: 100,\n };\n\n const stateEntityFungiblesPageResponse: StateEntityFungiblesPageResponse =\n await networkApi.state.innerClient.entityFungiblesPage({\n stateEntityFungiblesPageRequest: stateEntityFungiblesPageRequest,\n });\n\n fungibleResources = fungibleResources.concat(stateEntityFungiblesPageResponse.items);\n\n if (stateEntityFungiblesPageResponse.next_cursor) {\n nextCursor = stateEntityFungiblesPageResponse.next_cursor;\n } else {\n hasNextPage = false;\n }\n }\n return fungibleResources;\n}\n\nfunction currentStateVersion(networkApi: GatewayApiClient) {\n return networkApi.status.getCurrent().then((status) => status.ledger_state.state_version);\n}\n\n// TODO - @Towan: is that still needed with SwapKitApi.getChainBalance()?\nasync function getBalance(address: string): Promise<AssetValue[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const resources = await fetchFungibleResources(address);\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n const balances: AssetValue[] = [];\n const BATCH_SIZE = 50;\n\n // Split resources into batches of up to 50 items\n const resourceBatches: FungibleResourcesCollectionItem[][] = [];\n for (let i = 0; i < resources.length; i += BATCH_SIZE) {\n resourceBatches.push(resources.slice(i, i + BATCH_SIZE));\n }\n\n for (const batch of resourceBatches) {\n const addresses = batch.map((item) => item.resource_address);\n const response: StateEntityDetailsVaultResponseItem[] =\n await networkApi.state.getEntityDetailsVaultAggregated(addresses);\n\n const divisibilities = new Map<string, { decimals: number; symbol: string }>();\n\n for (const result of response) {\n if (result.details !== undefined) {\n const metaDataSymbol = result.metadata?.items.find((item) => item.key === \"symbol\");\n const symbol = metaDataSymbol?.value.typed.type === \"String\" ? metaDataSymbol.value.typed.value : \"?\";\n\n if (result.details.type === \"FungibleResource\") {\n divisibilities.set(result.address, { decimals: result.details.divisibility, symbol });\n }\n }\n }\n\n for (const item of batch) {\n if (item.aggregation_level === \"Global\") {\n const assetInfo = divisibilities.get(item.resource_address) || { decimals: 0, symbol: \"?\" };\n\n const balance = AssetValue.from({\n asset:\n assetInfo.symbol !== Chain.Radix\n ? `${Chain.Radix}.${assetInfo.symbol}-${item.resource_address}`\n : \"XRD.XRD\",\n value: item.amount,\n });\n balances.push(balance);\n }\n }\n }\n\n const hasNativeAsset = balances.some((asset) => asset.isGasAsset);\n if (!hasNativeAsset) {\n return [AssetValue.from({ chain: Chain.Radix }), ...balances];\n }\n\n return balances;\n}\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n const getNewAddress = async () => {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n };\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "1307BA921629CE3D64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var m5={};H5(m5,{walletconnectWallet:()=>b5,WC_SUPPORTED_CHAINS:()=>T5,TRON_MAINNET_ID:()=>e,THORCHAIN_MAINNET_ID:()=>k,POLYGON_MAINNET_ID:()=>s,OPTIMISM_MAINNET_ID:()=>l,NEAR_TESTNET_ID:()=>t,NEAR_MAINNET_ID:()=>c,MONAD_MAINNET_ID:()=>i,MAYACHAIN_MAINNET_ID:()=>C,KUJIRA_MAINNET_ID:()=>N,ETHEREUM_MAINNET_ID:()=>M,DEFAULT_TRON_METHODS:()=>Q5,DEFAULT_TRON_EVENTS:()=>U5,DEFAULT_SOLANA_METHODS:()=>j5,DEFAULT_SOLANA_EVENTS:()=>O5,DEFAULT_RELAY_URL:()=>r,DEFAULT_POLKADOT_METHODS:()=>F5,DEFAULT_POLKADOT_EVENTS:()=>f5,DEFAULT_NEAR_METHODS:()=>y5,DEFAULT_NEAR_EVENTS:()=>z5,DEFAULT_LOGGER:()=>R,DEFAULT_EIP_155_EVENTS:()=>L5,DEFAULT_EIP155_METHODS:()=>E,DEFAULT_COSMOS_METHODS:()=>B,DEFAULT_COSMOS_EVENTS:()=>_5,DEFAULT_APP_METADATA:()=>X5,COSMOS_HUB_MAINNET_ID:()=>g,BSC_MAINNET_ID:()=>A,BERACHAIN_MAINNET_ID:()=>a,BASE_MAINNET_ID:()=>I,AVALANCHE_MAINNET_ID:()=>d,AURORA_MAINNET_ID:()=>o,ARBITRUM_ONE_MAINNET_ID:()=>h});module.exports=D5(m5);var L=require("@swapkit/helpers"),w=require("@swapkit/wallet-core");var Y=require("@swapkit/helpers"),J5=require("ethers");var y=require("@swapkit/helpers");var W=(j,O)=>{return(O.find((U)=>U.startsWith($(j)))||"")?.split(":")?.[2]||""},$=(j)=>{switch(j){case y.Chain.Avalanche:return d;case y.Chain.Aurora:return o;case y.Chain.Base:return I;case y.Chain.BinanceSmartChain:return A;case y.Chain.Berachain:return a;case y.Chain.Monad:return i;case y.Chain.Ethereum:return M;case y.Chain.THORChain:return k;case y.Chain.Arbitrum:return h;case y.Chain.Optimism:return l;case y.Chain.Polygon:return s;case y.Chain.Maya:return C;case y.Chain.Cosmos:return g;case y.Chain.Kujira:return N;case y.Chain.Near:{let{isStagenet:O}=y.SKConfig.get("envs");return O?t:c}case y.Chain.Tron:return e;default:return""}};class n extends J5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:j,provider:O,walletconnect:F}){super(O);this.chain=j,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new Y.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=W(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(j)=>{let O=await this.walletconnect?.client.request({chainId:$(this.chain),request:{method:"eth_sign",params:[j]},topic:this.walletconnect.session.topic||""});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new Y.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new Y.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:j,to:O,value:F,data:z})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),f={data:z,from:j,to:O,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:$(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(j)=>{if(!j)throw new Y.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:Y.WalletOption.WALLETCONNECT}});return new n({chain:this.chain,provider:j,walletconnect:this.walletconnect})}}var K5=async({chain:j,walletconnect:O,provider:F})=>new n({chain:j,provider:F,walletconnect:O});var V5=require("@swapkit/helpers");var r5=(j)=>{let O=[];for(let F of j){let[z]=F.split(":");if(z&&!O.includes(z))O.push(z)}return O},R5=(j)=>{switch(j){case"eip155":return Object.values(E);case"cosmos":return Object.values(B);case"solana":return Object.values(j5);case"polkadot":return Object.values(F5);case"near":return Object.values(y5);case"tron":return Object.values(Q5);default:throw new V5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},w5=(j)=>{switch(j){case"eip155":return Object.values(L5);case"cosmos":return[];case"solana":return Object.values(O5);case"polkadot":return Object.values(f5);case"near":return Object.values(z5);case"tron":return Object.values(U5);default:throw new V5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},$5=(j)=>{let O=r5(j);return Object.fromEntries(O.map((F)=>[F,{chains:j.filter((z)=>z.startsWith(F)),events:w5(F),methods:R5(F)}]))};var b5=w.createWallet({connect:({addChain:j,supportedChains:O,walletType:F})=>async function(U,f){let Q=L.filterSupportedChains({chains:U,supportedChains:O,walletType:F}),{walletConnectProjectId:v}=L.SKConfig.get("apiKeys");if(!v)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let V=await S5(Q,v,f);if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:G}=V;return await Promise.all(Q.map(async(Z)=>{let J=W(Z,G||[]),b=await x5({address:J,chain:Z,walletconnect:V});j({...b,address:J,chain:Z,disconnect:V.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Monad,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron,L.Chain.XLayer],walletType:L.WalletOption.WALLETCONNECT}),T5=w.getWalletSupportedChains(b5);async function x5({chain:j,walletconnect:O,address:F}){let z=O?.session;if(!z)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(j){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Monad:case L.Chain.Optimism:case L.Chain.Polygon:case L.Chain.XLayer:{let{getProvider:U,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),Q=await U(j),v=await K5({chain:j,provider:Q,walletconnect:O});return await f(j,{provider:Q,signer:v})}case L.Chain.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),Q=await import("@cosmjs/proto-signing"),v=Q.encodePubkey??Q.default?.encodePubkey,V=Q.makeAuthInfoBytes??Q.default?.makeAuthInfoBytes,Z=(await import("@cosmjs/amino")).makeSignDoc??Q.default?.makeSignDoc,{getCosmosToolbox:J,buildAminoMsg:b,buildEncodedTxBody:p,createStargateClient:D,fromBase64:H,getDefaultChainFee:_,parseAminoMessageForDirectSigning:T}=await import("@swapkit/toolboxes/cosmos"),P=await J(j),u=_(j),x=(K)=>O?.client.request({chainId:k,request:{method:"cosmos_signAmino",params:{signDoc:K,signerAddress:F}},topic:z.topic});async function Z5({assetValue:K,memo:S,...q5}){let q=await P.getAccount(F);if(!q)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:q}});if(!q.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:q,pubkey:q?.pubkey}});let{accountNumber:Y5,sequence:v5=0}=q,G5=[b({...q5,assetValue:K,memo:S,sender:F})],P5=Z(G5,u,K.chainId,S,Y5?.toString(),v5?.toString()||"0"),m=await x(P5),k5=await p({chain:L.Chain.THORChain,memo:S||"",msgs:G5.map(T)}),p5=v(q.pubkey),u5=V([{pubkey:p5,sequence:v5}],u.amount,Number.parseInt(u.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),W5=f.fromPartial({authInfoBytes:u5,bodyBytes:k5,signatures:[H(typeof m.signature==="string"?m.signature:m.signature.signature)]}),E5=f.encode(W5).finish(),B5=await L.getRPCUrl(L.Chain.THORChain);return(await(await D(B5)).broadcastTx(E5)).transactionHash}return{...P,deposit:(K)=>Z5(K),transfer:(K)=>Z5(K)}}case L.Chain.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-7jmqkkhs.js");return await U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(V){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(V,G,Z,J,b){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let G=await O.client.request({chainId:$(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:V}},topic:z.topic});return[new Uint8Array(32),G]}}})}case L.Chain.Tron:{let{createTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-7jmqkkhs.js");return await U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await O.client.request({chainId:$(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:V}},topic:z.topic})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:j,wallet:L.WalletOption.WALLETCONNECT}})}}async function S5(j,O,F){let z,U,f,Q;try{let v=$5(j.map($)),{SignClient:V}=await import("@walletconnect/sign-client"),{WalletConnectModal:G}=await import("@walletconnect/modal"),Z=await V.init({logger:R,metadata:F?.metadata||X5,projectId:O,relayUrl:r,...F?.core}),J=new G({logger:R,projectId:O,relayUrl:r,...F?.core}),b=(await Z.session.getAll())[0];if(b)await Z.disconnect({reason:{code:0,message:"Resetting session"},topic:b.topic});let{uri:p,approval:D}=await Z.connect({requiredNamespaces:v});if(p){let _=function(T){let P=[];for(let[u,x]of Object.entries(T.namespaces))P.push(...x.accounts);return P};J.openModal({uri:p}),f=await D(),J.closeModal(),Q=_(f)}let H=async()=>{f&&await Z.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{accounts:Q,client:Z,disconnect:H,session:f,signer:U}}catch{}finally{if(z)z.closeModal()}return}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=5E490360BA31E64F64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
|
|
5
|
+
"import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
|
|
6
6
|
"import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTypedData\" });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
|
|
7
|
-
"import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
|
|
7
|
+
"import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n MONAD_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Monad:\n return MONAD_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
|
|
8
8
|
"import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "5E490360BA31E64F64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as V5,B as X5,C as Z5,D as v5,E as G5,a as
|
|
1
|
+
import{A as V5,B as X5,C as Z5,D as v5,E as G5,F as J5,a as M,b as h,c as l,d as s,e as W,f as I,g as c,h as t,i as e,j as o,k as a,l as i,m as n,n as L5,o as j5,p as O5,q as F5,r as f5,s as A,t as b5,u as x,v as z5,w as m,x as XL,y as Q5,z as U5}from"../../chunk-9acqzpjy.js";import{G as X,H as Z}from"../../chunk-78m70510.js";import{Chain as O,filterSupportedChains as T5,getRPCUrl as x5,SKConfig as S5,SwapKitError as G,WalletOption as d}from"@swapkit/helpers";import{createWallet as m5,getWalletSupportedChains as M5}from"@swapkit/wallet-core";import{SwapKitError as B,WalletOption as R5}from"@swapkit/helpers";import{AbstractSigner as w5}from"ethers";import{Chain as Q,SKConfig as r5}from"@swapkit/helpers";var E=(L,j)=>{return(j.find((U)=>U.startsWith(q(L)))||"")?.split(":")?.[2]||""},q=(L)=>{switch(L){case Q.Avalanche:return s;case Q.Aurora:return O5;case Q.Base:return i;case Q.BinanceSmartChain:return l;case Q.Berachain:return F5;case Q.Monad:return f5;case Q.Ethereum:return h;case Q.THORChain:return W;case Q.Arbitrum:return e;case Q.Optimism:return o;case Q.Polygon:return a;case Q.Maya:return t;case Q.Cosmos:return I;case Q.Kujira:return c;case Q.Near:{let{isStagenet:j}=r5.get("envs");return j?L5:n}case Q.Tron:return j5;default:return""}};class S extends w5{address;chain;walletconnect;provider;constructor({chain:L,provider:j,walletconnect:F}){super(j);this.chain=L,this.walletconnect=F,this.provider=j,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new B("wallet_walletconnect_connection_not_established");if(!this.address)this.address=E(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let j=await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sign",params:[L]},topic:this.walletconnect.session.topic||""});return j.startsWith("0x")?j:`0x${j}`};signTransaction=()=>{throw new B("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new B("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:L,to:j,value:F,data:y})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),f={data:y,from:L,to:j,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(L)=>{if(!L)throw new B({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:R5.WALLETCONNECT}});return new S({chain:this.chain,provider:L,walletconnect:this.walletconnect})}}var y5=async({chain:L,walletconnect:j,provider:F})=>new S({chain:L,provider:F,walletconnect:j});import{SwapKitError as K5}from"@swapkit/helpers";var D5=(L)=>{let j=[];for(let F of L){let[y]=F.split(":");if(y&&!j.includes(y))j.push(y)}return j},H5=(L)=>{switch(L){case"eip155":return Object.values(x);case"cosmos":return Object.values(m);case"solana":return Object.values(Q5);case"polkadot":return Object.values(V5);case"near":return Object.values(Z5);case"tron":return Object.values(G5);default:throw new K5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},_5=(L)=>{switch(L){case"eip155":return Object.values(z5);case"cosmos":return[];case"solana":return Object.values(U5);case"polkadot":return Object.values(X5);case"near":return Object.values(v5);case"tron":return Object.values(J5);default:throw new K5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},$5=(L)=>{let j=D5(L);return Object.fromEntries(j.map((F)=>[F,{chains:L.filter((y)=>y.startsWith(F)),events:_5(F),methods:H5(F)}]))};var A5=m5({connect:({addChain:L,supportedChains:j,walletType:F})=>async function(U,f){let z=T5({chains:U,supportedChains:j,walletType:F}),{walletConnectProjectId:J}=S5.get("apiKeys");if(!J)throw new G("wallet_walletconnect_project_id_not_specified");let V=await g5(z,J,f);if(!V)throw new G("wallet_walletconnect_connection_not_established");let{accounts:K}=V;return await Promise.all(z.map(async(v)=>{let $=E(v,K||[]),Y=await d5({address:$,chain:v,walletconnect:V});L({...Y,address:$,chain:v,disconnect:V.disconnect,walletType:d.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[O.Arbitrum,O.Aurora,O.Avalanche,O.Base,O.Berachain,O.BinanceSmartChain,O.Cosmos,O.Ethereum,O.Kujira,O.Maya,O.Monad,O.Near,O.Optimism,O.Polygon,O.THORChain,O.Tron,O.XLayer],walletType:d.WALLETCONNECT}),zL=M5(A5);async function d5({chain:L,walletconnect:j,address:F}){let y=j?.session;if(!y)throw new G("wallet_walletconnect_connection_not_established");switch(L){case O.Arbitrum:case O.Avalanche:case O.Base:case O.BinanceSmartChain:case O.Ethereum:case O.Monad:case O.Optimism:case O.Polygon:case O.XLayer:{let{getProvider:U,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),z=await U(L),J=await y5({chain:L,provider:z,walletconnect:j});return await f(L,{provider:z,signer:J})}case O.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),z=await import("@cosmjs/proto-signing"),J=z.encodePubkey??z.default?.encodePubkey,V=z.makeAuthInfoBytes??z.default?.makeAuthInfoBytes,v=(await import("@cosmjs/amino")).makeSignDoc??z.default?.makeSignDoc,{getCosmosToolbox:$,buildAminoMsg:Y,buildEncodedTxBody:p,createStargateClient:r,fromBase64:R,getDefaultChainFee:w,parseAminoMessageForDirectSigning:D}=await import("@swapkit/toolboxes/cosmos"),k=await $(L),u=w(L),H=(b)=>j?.client.request({chainId:W,request:{method:"cosmos_signAmino",params:{signDoc:b,signerAddress:F}},topic:y.topic});async function g({assetValue:b,memo:_,...q5}){let P=await k.getAccount(F);if(!P)throw new G({errorKey:"wallet_missing_params",info:{account:P}});if(!P.pubkey)throw new G({errorKey:"wallet_missing_params",info:{account:P,pubkey:P?.pubkey}});let{accountNumber:Y5,sequence:N=0}=P,C=[Y({...q5,assetValue:b,memo:_,sender:F})],P5=v(C,u,b.chainId,_,Y5?.toString(),N?.toString()||"0"),T=await H(P5),k5=await p({chain:O.THORChain,memo:_||"",msgs:C.map(D)}),p5=J(P.pubkey),u5=V([{pubkey:p5,sequence:N}],u.amount,Number.parseInt(u.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),W5=f.fromPartial({authInfoBytes:u5,bodyBytes:k5,signatures:[R(typeof T.signature==="string"?T.signature:T.signature.signature)]}),E5=f.encode(W5).finish(),B5=await x5(O.THORChain);return(await(await r(B5)).broadcastTx(E5)).transactionHash}return{...k,deposit:(b)=>g(b),transfer:(b)=>g(b)}}case O.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-9acqzpjy.js");return await U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(V){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(V,K,v,$,Y){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(V){if(!j)throw new G("wallet_walletconnect_connection_not_established");let K=await j.client.request({chainId:q(O.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:V}},topic:y.topic});return[new Uint8Array(32),K]}}})}case O.Tron:{let{createTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-9acqzpjy.js");return await U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(V){if(!j)throw new G("wallet_walletconnect_connection_not_established");return await j.client.request({chainId:q(O.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:V}},topic:y.topic})}}})}default:throw new G({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:d.WALLETCONNECT}})}}async function g5(L,j,F){let y,U,f,z;try{let J=$5(L.map(q)),{SignClient:V}=await import("@walletconnect/sign-client"),{WalletConnectModal:K}=await import("@walletconnect/modal"),v=await V.init({logger:A,metadata:F?.metadata||b5,projectId:j,relayUrl:M,...F?.core}),$=new K({logger:A,projectId:j,relayUrl:M,...F?.core}),Y=(await v.session.getAll())[0];if(Y)await v.disconnect({reason:{code:0,message:"Resetting session"},topic:Y.topic});let{uri:p,approval:r}=await v.connect({requiredNamespaces:J});if(p){let w=function(D){let k=[];for(let[u,H]of Object.entries(D.namespaces))k.push(...H.accounts);return k};$.openModal({uri:p}),f=await r(),$.closeModal(),z=w(f)}let R=async()=>{f&&await v.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new G("wallet_walletconnect_connection_not_established");return{accounts:z,client:v,disconnect:R,session:f,signer:U}}catch{}finally{if(y)y.closeModal()}return}export{A5 as walletconnectWallet,zL as WC_SUPPORTED_CHAINS,j5 as TRON_MAINNET_ID,W as THORCHAIN_MAINNET_ID,a as POLYGON_MAINNET_ID,o as OPTIMISM_MAINNET_ID,L5 as NEAR_TESTNET_ID,n as NEAR_MAINNET_ID,f5 as MONAD_MAINNET_ID,t as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,h as ETHEREUM_MAINNET_ID,G5 as DEFAULT_TRON_METHODS,J5 as DEFAULT_TRON_EVENTS,Q5 as DEFAULT_SOLANA_METHODS,U5 as DEFAULT_SOLANA_EVENTS,M as DEFAULT_RELAY_URL,V5 as DEFAULT_POLKADOT_METHODS,X5 as DEFAULT_POLKADOT_EVENTS,Z5 as DEFAULT_NEAR_METHODS,v5 as DEFAULT_NEAR_EVENTS,A as DEFAULT_LOGGER,z5 as DEFAULT_EIP_155_EVENTS,x as DEFAULT_EIP155_METHODS,m as DEFAULT_COSMOS_METHODS,XL as DEFAULT_COSMOS_EVENTS,b5 as DEFAULT_APP_METADATA,I as COSMOS_HUB_MAINNET_ID,l as BSC_MAINNET_ID,F5 as BERACHAIN_MAINNET_ID,i as BASE_MAINNET_ID,s as AVALANCHE_MAINNET_ID,O5 as AURORA_MAINNET_ID,e as ARBITRUM_ONE_MAINNET_ID};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=2A9E566628BBCC1F64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
|
|
5
|
+
"import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
|
|
6
6
|
"import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTypedData\" });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
|
|
7
|
-
"import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
|
|
7
|
+
"import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n MONAD_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Monad:\n return MONAD_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
|
|
8
8
|
"import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "2A9E566628BBCC1F64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/dist/src/xaman/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as B,H as F}from"../../chunk-78m70510.js";import{Chain as J,filterSupportedChains as L,SKConfig as Q,SwapKitError as Y,WalletOption as T}from"@swapkit/helpers";import{createWallet as Z,getWalletSupportedChains as $}from"@swapkit/wallet-core";import{Xumm as j}from"xumm";import{Chain as G,SwapKitError as H}from"@swapkit/helpers";import{SwapKitError as y}from"@swapkit/helpers";var h=async(o)=>{if(!o)throw new y("wallet_xaman_not_configured");try{let f=await(await o.user)?.account;if(f)return f;throw new y("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new y("wallet_xaman_connection_failed")}},M=async(o,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new y("wallet_xaman_connection_failed");let f=(Number.parseFloat(n.amount)*1e6).toString(),l={Account:n.from,Amount:f,Destination:n.destination,TransactionType:"Payment",...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},W=await o.payload?.createAndSubscribe(l,(A)=>{if("signed"in A.data)return A.data;return});if(!W)throw new y("wallet_xaman_transaction_failed");let{created:C}=W;if(o.runtime?.xapp)o.xapp?.openSignRequest(C);else if(typeof window<"u"){let A=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(A)window.open(A)}let g=await W.resolved;if(!g||typeof g!=="object"||!("signed"in g)||!g.signed)throw new y("wallet_xaman_transaction_failed");let _=await o.payload?.get(g.payload_uuidv4);if(!_)throw new y("wallet_xaman_monitoring_failed");let N=_.response?.txid||"",X=_.response?.account||"";if(!N)throw new y("wallet_xaman_transaction_failed");return{deepLink:C.next?.always||"",payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",result:{account:X,reason:void 0,success:!0,transactionId:N},websocketUrl:C.refs?.websocket_status||""}}catch(f){if(console.error("Xaman payment creation and subscription failed:",f),f instanceof y)throw f;throw new y("wallet_xaman_transaction_failed")}};async function z({xumm:o,chain:n,address:f}){switch(n){case G.Ripple:{let{getRippleToolbox:l}=await import("@swapkit/toolboxes/ripple"),W=await l({}),C=async(g)=>{let{recipient:_,assetValue:N,memo:X}=g,A=await M(o,{amount:N.getValue("string"),destination:_,from:f,memo:X});if(!(A.result.success&&A.result.transactionId))throw new H("wallet_xaman_transaction_failed");return A.result.transactionId};return{...W,address:f,createAndSubscribePayment:M,disconnect:o.logout,getAddress:()=>f,transfer:C}}default:throw new H("wallet_chain_not_supported",{chain:n,wallet:"Xaman"})}}var I=Z({connect:({addChain:o,supportedChains:n,walletType:f})=>function(W,C){let g=L({chains:W,supportedChains:n,walletType:f}),{xaman:_}=Q.get("apiKeys"),N=C?.apiKey||_;if(!N)throw new Y("wallet_missing_api_key",{wallet:"Xaman"});let X=new j(N);return new Promise((A,t)=>{X.on("success",async()=>{try{let P=await h(X),U=g.map(async(O)=>{let q=await z({address:P,chain:O,xumm:X});o({...q,address:P,balance:[],chain:O,disconnect:X.logout,walletType:T.XAMAN})});await Promise.all(U),A(!0)}catch(P){t(P)}}),X.on("error",(P)=>{t(P)}),X.authorize()})},name:"connectXaman",supportedChains:[J.Ripple],walletType:T.XAMAN}),v=$(I);export{I as xamanWallet,v as XAMAN_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=97D077D1C7F0A82D64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"import { SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport type { XamanPaymentParams } from \"./types\";\n\nexport const connectXamanWallet = async (xumm: Xumm) => {\n if (!xumm) {\n throw new SwapKitError(\"wallet_xaman_not_configured\");\n }\n\n try {\n const user = await xumm.user;\n const account = await user?.account;\n\n if (account) {\n return account;\n }\n\n throw new SwapKitError(\"wallet_xaman_auth_failed\");\n } catch (error) {\n console.error(\"Xaman wallet connection failed:\", error);\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n};\n\nexport const sendXamanTransaction = async (xumm: Xumm, params: XamanPaymentParams) => {\n try {\n // Validate required parameters\n if (!(params.destination && params.amount && params.from)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n // Convert XRP to drops (1 XRP = 1,000,000 drops)\n const amountInDrops = (Number.parseFloat(params.amount) * 1000000).toString();\n\n // Create transaction object\n const transaction = {\n Account: params.from,\n Amount: amountInDrops,\n Destination: params.destination,\n TransactionType: \"Payment\" as const,\n ...(params.destinationTag !== undefined && { DestinationTag: params.destinationTag }),\n ...(params.memo && {\n Memos: [{ Memo: { MemoData: Buffer.from(params.memo, \"utf8\").toString(\"hex\").toUpperCase() } }],\n }),\n };\n\n // Create and subscribe to payload following the official example\n const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {\n if (\"signed\" in event.data) {\n // Return event.data to close subscription and resolve promise\n return event.data; // { signed: true|false, payload_uuidv4: '...' }\n }\n return undefined;\n });\n\n if (!subscription) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const { created } = subscription;\n\n // Handle payload presentation based on runtime environment\n if (xumm.runtime?.xapp) {\n xumm.xapp?.openSignRequest(created);\n } else if (typeof window !== \"undefined\") {\n const url =\n created.pushed && created.next?.no_push_msg_received ? created.next.no_push_msg_received : created.next?.always;\n if (url) window.open(url);\n }\n\n // Wait until the user signed/rejected\n const resolved = await subscription.resolved;\n\n if (!resolved || typeof resolved !== \"object\" || !(\"signed\" in resolved) || !resolved.signed) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Fetch the full payload result using the UUID from resolved data\n const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);\n\n if (!payloadDetails) {\n throw new SwapKitError(\"wallet_xaman_monitoring_failed\");\n }\n\n // Extract transaction ID from response\n const transactionId = payloadDetails.response?.txid || \"\";\n const account = payloadDetails.response?.account || \"\";\n\n if (!transactionId) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return comprehensive result\n return {\n deepLink: created.next?.always || \"\",\n // Initial payload info for QR codes, deep links, etc.\n payloadId: created.uuid || \"\",\n qrCode: created.refs?.qr_png || \"\",\n // Final transaction result - SUCCESS with tx hash\n result: { account, reason: undefined, success: true, transactionId },\n websocketUrl: created.refs?.websocket_status || \"\",\n };\n } catch (error) {\n console.error(\"Xaman payment creation and subscription failed:\", error);\n if (error instanceof SwapKitError) {\n throw error;\n }\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n};\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "97D077D1C7F0A82D64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
|
@@ -16,6 +16,7 @@ export declare const NEAR_TESTNET_ID = "near:testnet";
|
|
|
16
16
|
export declare const TRON_MAINNET_ID = "tron:0x2b6653dc";
|
|
17
17
|
export declare const AURORA_MAINNET_ID = "eip155:1313161554";
|
|
18
18
|
export declare const BERACHAIN_MAINNET_ID = "eip155:80094";
|
|
19
|
+
export declare const MONAD_MAINNET_ID = "eip155:143";
|
|
19
20
|
export declare const DEFAULT_LOGGER = "debug";
|
|
20
21
|
export declare const DEFAULT_APP_METADATA: ClientMetadata;
|
|
21
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,iBAAiB,kCAAkC,CAAC;AAEjE,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,iBAAiB,kCAAkC,CAAC;AAEjE,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,oBAAoB,EAAE,cAKlC,CAAC;AAEF;;GAEG;AACH,oBAAY,sBAAsB;IAChC,oBAAoB,wBAAwB;IAG5C,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,mBAAmB,sBAAsB;CAC1C;AAED,oBAAY,sBAAsB;IAChC,iBAAiB,iBAAiB;IAClC,oBAAoB,oBAAoB;CACzC;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,kBAAkB,sBAAsB;IACxC,iBAAiB,qBAAqB;IACtC,mBAAmB,uBAAuB;CAC3C;AAED,oBAAY,qBAAqB;CAAG;AAEpC;;GAEG;AACH,oBAAY,sBAAsB;IAChC,oBAAoB,2BAA2B;IAC/C,gBAAgB,uBAAuB;CACxC;AAED,oBAAY,qBAAqB;CAAG;AAEpC;;GAEG;AACH,oBAAY,wBAAwB;IAClC,yBAAyB,6BAA6B;IACtD,qBAAqB,yBAAyB;CAC/C;AAED,oBAAY,uBAAuB;CAAG;AAEtC;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,YAAY,gBAAgB;IAC5B,aAAa,iBAAiB;IAC9B,iBAAiB,qBAAqB;IACtC,8BAA8B,gCAAgC;IAC9D,+BAA+B,iCAAiC;CACjE;AAED,oBAAY,mBAAmB;CAAG;AAElC;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,iBAAiB,qBAAqB;IACtC,qBAAqB,yBAAyB;IAC9C,qBAAqB,yBAAyB;IAC9C,iBAAiB,qBAAqB;CACvC;AAED,oBAAY,mBAAmB;CAAG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Chain, type CosmosChain, type EVMChain } from "@swapkit/helpers";
|
|
2
2
|
export declare const getAddressByChain: (chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron, accounts: string[]) => string;
|
|
3
|
-
export declare const chainToChainId: (chain: Chain) => "" | "eip155:1" | "eip155:56" | "eip155:43114" | "cosmos:thorchain" | "cosmos:cosmoshub-4" | "cosmos:kaiyo-1" | "cosmos:mayachain-mainnet-v1" | "eip155:42161" | "eip155:10" | "eip155:137" | "eip155:8453" | "near:mainnet" | "near:testnet" | "tron:0x2b6653dc" | "eip155:1313161554" | "eip155:80094";
|
|
3
|
+
export declare const chainToChainId: (chain: Chain) => "" | "eip155:1" | "eip155:56" | "eip155:43114" | "cosmos:thorchain" | "cosmos:cosmoshub-4" | "cosmos:kaiyo-1" | "cosmos:mayachain-mainnet-v1" | "eip155:42161" | "eip155:10" | "eip155:137" | "eip155:8453" | "near:mainnet" | "near:testnet" | "tron:0x2b6653dc" | "eip155:1313161554" | "eip155:80094" | "eip155:143";
|
|
4
4
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAY,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAY,MAAM,kBAAkB,CAAC;AAsBpF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,EAClG,UAAU,MAAM,EAAE,WAMnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,4TAwC1C,CAAC"}
|
|
@@ -7,10 +7,10 @@ export declare const walletconnectWallet: {
|
|
|
7
7
|
connectWallet: (connectParams: {
|
|
8
8
|
addChain: import("@swapkit/helpers").AddChainType;
|
|
9
9
|
}) => (chains: Chain[], walletconnectOptions?: SignClientTypes.Options | undefined) => Promise<boolean>;
|
|
10
|
-
supportedChains: (Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Cosmos | Chain.Ethereum | Chain.Kujira | Chain.Maya | Chain.Near | Chain.Optimism | Chain.Polygon | Chain.THORChain | Chain.Tron | Chain.XLayer)[];
|
|
10
|
+
supportedChains: (Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Cosmos | Chain.Ethereum | Chain.Kujira | Chain.Maya | Chain.Monad | Chain.Near | Chain.Optimism | Chain.Polygon | Chain.THORChain | Chain.Tron | Chain.XLayer)[];
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
-
export declare const WC_SUPPORTED_CHAINS: (Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Cosmos | Chain.Ethereum | Chain.Kujira | Chain.Maya | Chain.Near | Chain.Optimism | Chain.Polygon | Chain.THORChain | Chain.Tron | Chain.XLayer)[];
|
|
13
|
+
export declare const WC_SUPPORTED_CHAINS: (Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Cosmos | Chain.Ethereum | Chain.Kujira | Chain.Maya | Chain.Monad | Chain.Near | Chain.Optimism | Chain.Polygon | Chain.THORChain | Chain.Tron | Chain.XLayer)[];
|
|
14
14
|
export type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;
|
|
15
15
|
declare function getWalletconnect(chains: Chain[], walletConnectProjectId: string, walletconnectOptions?: SignClientTypes.Options): Promise<{
|
|
16
16
|
accounts: string[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;CAwD9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,oRAAgD,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AA0NzE,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,KAAK,EAAE,EACf,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,CAAC,EAAE,eAAe,CAAC,OAAO;;;;;;eA+E/C"}
|
package/package.json
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"@swapkit/helpers": "4.5.8",
|
|
15
15
|
"@swapkit/toolboxes": "4.3.8",
|
|
16
16
|
"@swapkit/wallet-core": "4.0.52",
|
|
17
|
-
"@swapkit/wallet-extensions": "4.1.
|
|
18
|
-
"@swapkit/wallet-hardware": "4.2.
|
|
17
|
+
"@swapkit/wallet-extensions": "4.1.9",
|
|
18
|
+
"@swapkit/wallet-hardware": "4.2.9",
|
|
19
19
|
"@swapkit/wallet-keystore": "4.1.8",
|
|
20
20
|
"@walletconnect/modal": "~2.7.0",
|
|
21
21
|
"@walletconnect/sign-client": "~2.23.0",
|
|
@@ -216,5 +216,5 @@
|
|
|
216
216
|
"type-check:go": "tsgo"
|
|
217
217
|
},
|
|
218
218
|
"type": "module",
|
|
219
|
-
"version": "4.3.
|
|
219
|
+
"version": "4.3.9"
|
|
220
220
|
}
|
|
@@ -18,6 +18,7 @@ export const NEAR_TESTNET_ID = "near:testnet";
|
|
|
18
18
|
export const TRON_MAINNET_ID = "tron:0x2b6653dc";
|
|
19
19
|
export const AURORA_MAINNET_ID = "eip155:1313161554";
|
|
20
20
|
export const BERACHAIN_MAINNET_ID = "eip155:80094";
|
|
21
|
+
export const MONAD_MAINNET_ID = "eip155:143";
|
|
21
22
|
|
|
22
23
|
export const DEFAULT_LOGGER = "debug";
|
|
23
24
|
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ETHEREUM_MAINNET_ID,
|
|
12
12
|
KUJIRA_MAINNET_ID,
|
|
13
13
|
MAYACHAIN_MAINNET_ID,
|
|
14
|
+
MONAD_MAINNET_ID,
|
|
14
15
|
NEAR_MAINNET_ID,
|
|
15
16
|
NEAR_TESTNET_ID,
|
|
16
17
|
OPTIMISM_MAINNET_ID,
|
|
@@ -41,6 +42,8 @@ export const chainToChainId = (chain: Chain) => {
|
|
|
41
42
|
return BSC_MAINNET_ID;
|
|
42
43
|
case Chain.Berachain:
|
|
43
44
|
return BERACHAIN_MAINNET_ID;
|
|
45
|
+
case Chain.Monad:
|
|
46
|
+
return MONAD_MAINNET_ID;
|
|
44
47
|
case Chain.Ethereum:
|
|
45
48
|
return ETHEREUM_MAINNET_ID;
|
|
46
49
|
case Chain.THORChain:
|
|
@@ -77,6 +77,7 @@ export const walletconnectWallet = createWallet({
|
|
|
77
77
|
Chain.Ethereum,
|
|
78
78
|
Chain.Kujira,
|
|
79
79
|
Chain.Maya,
|
|
80
|
+
Chain.Monad,
|
|
80
81
|
Chain.Near,
|
|
81
82
|
Chain.Optimism,
|
|
82
83
|
Chain.Polygon,
|
|
@@ -110,6 +111,7 @@ async function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({
|
|
|
110
111
|
case Chain.Base:
|
|
111
112
|
case Chain.BinanceSmartChain:
|
|
112
113
|
case Chain.Ethereum:
|
|
114
|
+
case Chain.Monad:
|
|
113
115
|
case Chain.Optimism:
|
|
114
116
|
case Chain.Polygon:
|
|
115
117
|
case Chain.XLayer: {
|
package/dist/chunk-3cmctt43.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import"./chunk-jgq4njag.js";var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="debug",K={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});export{i as TRON_MAINNET_ID,Z as THORCHAIN_MAINNET_ID,o as POLYGON_MAINNET_ID,h as OPTIMISM_MAINNET_ID,a as NEAR_TESTNET_ID,G as NEAR_MAINNET_ID,e as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,W as ETHEREUM_MAINNET_ID,B as DEFAULT_TRON_METHODS,J as DEFAULT_TRON_EVENTS,u as DEFAULT_SOLANA_METHODS,v as DEFAULT_SOLANA_EVENTS,Q as DEFAULT_RELAY_URL,w as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,y as DEFAULT_NEAR_METHODS,z as DEFAULT_NEAR_EVENTS,n as DEFAULT_LOGGER,m as DEFAULT_EIP_155_EVENTS,l as DEFAULT_EIP155_METHODS,p as DEFAULT_COSMOS_METHODS,q as DEFAULT_COSMOS_EVENTS,K as DEFAULT_APP_METADATA,$ as COSMOS_HUB_MAINNET_ID,X as BSC_MAINNET_ID,t as BERACHAIN_MAINNET_ID,r as BASE_MAINNET_ID,Y as AVALANCHE_MAINNET_ID,s as AURORA_MAINNET_ID,g as ARBITRUM_ONE_MAINNET_ID};
|
|
2
|
-
export{Q as a,W as b,X as c,Y as d,Z as e,$ as f,c as g,e as h,g as i,h as j,o as k,r as l,G as m,a as n,i as o,s as p,t as q,n as r,K as s,l as t,m as u,p as v,q as w,u as x,v as y,w as z,x as A,y as B,z as C,B as D,J as E};
|
|
3
|
-
|
|
4
|
-
//# debugId=20A0358BBD91D51464756E2164756E21
|
|
5
|
-
//# sourceMappingURL=chunk-3cmctt43.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "4BAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eAEvB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
-
"debugId": "20A0358BBD91D51464756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-rv3zf3sa.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="debug",K={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});
|
|
2
|
-
|
|
3
|
-
//# debugId=FF9FA2023950021664756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-rv3zf3sa.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\nexport const TRON_MAINNET_ID = \"tron:0x2b6653dc\";\nexport const AURORA_MAINNET_ID = \"eip155:1313161554\";\nexport const BERACHAIN_MAINNET_ID = \"eip155:80094\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n description: \"SwapKit cross-chain SDK\",\n icons: [\"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png\"],\n name: \"SwapKit\",\n url: \"https://swapkit.dev/\",\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n\n/**\n * TRON\n */\nexport enum DEFAULT_TRON_METHODS {\n TRON_SIGN_MESSAGE = \"tron_signMessage\",\n TRON_SIGN_TRANSACTION = \"tron_signTransaction\",\n TRON_SEND_TRANSACTION = \"tron_sendTransaction\",\n TRON_GET_ACCOUNTS = \"tron_getAccounts\",\n}\n\nexport enum DEFAULT_TRON_EVENTS {}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "AAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAClB,EAAkB,kBAClB,EAAoB,oBACpB,EAAuB,eAEvB,EAAiB,QAEjB,EAAuC,CAClD,YAAa,0BACb,MAAO,CAAC,qGAAqG,EAC7G,KAAM,UACN,IAAK,sBACP,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,mBACpB,wBAAwB,uBACxB,wBAAwB,uBACxB,oBAAoB,qBAJV,QAOL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
-
"debugId": "FF9FA2023950021664756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|