@swapkit/core 4.0.20 → 4.0.21
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/index.cjs +2 -2
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/types/index.d.ts +14 -17
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var c=Object.create;var{getPrototypeOf:i,defineProperty:U,getOwnPropertyNames:B,getOwnPropertyDescriptor:n}=Object,T=Object.prototype.hasOwnProperty,F=(J,L,R)=>{for(let I of B(L))if(!T.call(J,I)&&I!=="default")U(J,I,{get:()=>L[I],enumerable:!0});if(R){for(let I of B(L))if(!T.call(R,I)&&I!=="default")U(R,I,{get:()=>L[I],enumerable:!0});return R}},P=(J,L,R)=>{R=J!=null?c(i(J)):{};let I=L||!J||!J.__esModule?U(R,"default",{value:J,enumerable:!0}):R;for(let $ of B(J))if(!T.call(I,$))U(I,$,{get:()=>J[$],enumerable:!0});return I},v=new WeakMap,s=(J)=>{var L=v.get(J),R;if(L)return L;if(L=U({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function")B(J).map((I)=>!T.call(L,I)&&U(L,I,{get:()=>J[I],enumerable:!(R=n(J,I))||R.enumerable}));return v.set(J,L),L};var t=(J,L)=>{for(var R in L)U(J,R,{get:L[R],enumerable:!0,configurable:!0,set:(I)=>L[R]=()=>I})};var k={};t(k,{SwapKit:()=>l});module.exports=s(k);var D=require("@swapkit/helpers");F(k,require("@swapkit/helpers"),module.exports);function l({config:J,plugins:L,wallets:R}={}){if(J)D.SKConfig.set(J);let I={},$=Object.entries(L||{}).reduce((q,[G,z])=>{let H=z({getWallet:Q});return q[G]=H,q},{}),
|
|
1
|
+
var c=Object.create;var{getPrototypeOf:i,defineProperty:U,getOwnPropertyNames:B,getOwnPropertyDescriptor:n}=Object,T=Object.prototype.hasOwnProperty,F=(J,L,R)=>{for(let I of B(L))if(!T.call(J,I)&&I!=="default")U(J,I,{get:()=>L[I],enumerable:!0});if(R){for(let I of B(L))if(!T.call(R,I)&&I!=="default")U(R,I,{get:()=>L[I],enumerable:!0});return R}},P=(J,L,R)=>{R=J!=null?c(i(J)):{};let I=L||!J||!J.__esModule?U(R,"default",{value:J,enumerable:!0}):R;for(let $ of B(J))if(!T.call(I,$))U(I,$,{get:()=>J[$],enumerable:!0});return I},v=new WeakMap,s=(J)=>{var L=v.get(J),R;if(L)return L;if(L=U({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function")B(J).map((I)=>!T.call(L,I)&&U(L,I,{get:()=>J[I],enumerable:!(R=n(J,I))||R.enumerable}));return v.set(J,L),L};var t=(J,L)=>{for(var R in L)U(J,R,{get:L[R],enumerable:!0,configurable:!0,set:(I)=>L[R]=()=>I})};var k={};t(k,{SwapKit:()=>l});module.exports=s(k);var D=require("@swapkit/helpers");F(k,require("@swapkit/helpers"),module.exports);function l({config:J,plugins:L,wallets:R}={}){if(J)D.SKConfig.set(J);let I={},$=Object.entries(L||{}).reduce((q,[G,z])=>{let H=z({getWallet:Q});return q[G]=H,q},{}),C=Object.entries(R||{}).reduce((q,[G,z])=>{let H=z.connectWallet({addChain:K});return q[G]=H,q},{});function E(q){let G=q&&$[q],z=Object.values($).find((_)=>_.supportedSwapkitProviders?.includes(q)),H=G||z;if(!H)throw new D.SwapKitError("core_plugin_not_found");return H}function K(q){let G=Q(q.chain),z=q.balance||G.balance||[D.AssetValue.from({chain:q.chain})],H={...G,...q,balance:z};return I[q.chain]=H,H}function M({assetValue:q,type:G="checkOnly",contractAddress:z}){let H=$[z];if(H){if(G===D.ApproveMode.CheckOnly&&"isAssetValueApproved"in H)return H.isAssetValueApproved({assetValue:q});if(G===D.ApproveMode.Approve&&"approveAssetValue"in H)return H.approveAssetValue({assetValue:q});throw new D.SwapKitError({errorKey:"core_approve_asset_target_invalid",info:{message:`Target ${String(z)} cannot be used for approve operation`}})}let _=q.chain,X=D.EVMChains.includes(_);if(X&&q.isGasAsset||!X||q.isSynthetic)return Promise.resolve(G==="checkOnly"?!0:"approved");let Y=Q(_),Z=G==="checkOnly"?Y.isApproved:Y.approve;if(!Z)throw new D.SwapKitError("core_wallet_connection_not_found");if(!(q.address&&Y.address&&typeof z==="string"))throw new D.SwapKitError("core_approve_asset_address_or_from_not_found");return Z({amount:q.getBaseValue("bigint"),assetAddress:q.address,from:Y.address,spenderAddress:z})}function Q(q){return I[q]}function y(){return{...I}}function A(q){return Q(q)?.address||""}function V(q,G){return M({assetValue:q,contractAddress:G,type:D.ApproveMode.Approve})}function W(q,G){return M({assetValue:q,contractAddress:G,type:D.ApproveMode.CheckOnly})}function S(q){Q(q)?.disconnect?.(),delete I[q]}function w(){for(let q of Object.keys(I))S(q)}function m(q,G){return G?b(q).then(({balance:z})=>z):Q(q)?.balance||[]}async function b(q,G=!0){if(!Q(q))throw new D.SwapKitError("core_wallet_connection_not_found");let z=Q(q),H=[D.AssetValue.from({chain:q})];if(z.balance=H,"getBalance"in z){let _=await z.getBalance(z.address,G);z.balance=_}return z}function d({route:q,pluginName:G,...z}){let H=E(G||q.providers[0]);if("swap"in H)return H.swap({...z,route:q});throw new D.SwapKitError("core_plugin_swap_not_found")}function h({assetValue:q,...G}){let z=q.chain;if([D.Chain.Radix].includes(z)||!Q(z))throw new D.SwapKitError("core_wallet_connection_not_found");return Q(z).transfer({...G,assetValue:q})}function g({chain:q,message:G}){let z=Q(q);if(!z)throw new D.SwapKitError("core_wallet_connection_not_found");if("signMessage"in z)return z.signMessage?.(G);throw new D.SwapKitError({errorKey:"core_wallet_sign_message_not_supported",info:{chain:q,wallet:z.walletType}})}async function u({address:q,chain:G,message:z,signature:H}){if(G!==D.Chain.THORChain)throw new D.SwapKitError({errorKey:"core_verify_message_not_supported",info:{chain:G}});let{getCosmosToolbox:_}=await import("@swapkit/toolboxes/cosmos");return(await _(G)).verifySignature({address:q,message:z,signature:H})}async function o({type:q,feeOptionKey:G,params:z}){let{assetValue:H}=z,{chain:_}=H;if(!Q(_))throw new D.SwapKitError("core_wallet_connection_not_found");let X=D.AssetValue.from({chain:_}),{match:x}=await import("ts-pattern");return x(_).returnType().with(...D.EVMChains,(Y)=>{let{address:Z,...j}=Q(Y),f=x(q).with("transfer",()=>j.createTransferTx(z)).with("approve",(p)=>{let{contractAddress:O}=z;return j.createApprovalTx({amount:H.getBaseValue("bigint"),assetAddress:H.address,from:Z,spenderAddress:O})}).with("swap",(p)=>{let{route:{providers:[O],tx:r}}=z;if(O&&[D.ProviderName.CHAINFLIP,D.ProviderName.CHAINFLIP_STREAMING].includes(O))return j.createTransferTx({assetValue:H,recipient:Z,sender:Z});let N=r;return{...N,value:BigInt(N.value)}}).otherwise(()=>{return});if(!f)return X;return j.estimateTransactionFee({...f,chain:Y,feeOption:G})}).with(...D.UTXOChains,(Y)=>{let{address:Z,...j}=Q(Y);return j.estimateTransactionFee({...z,feeOptionKey:G,recipient:Z,sender:Z})}).with(...D.CosmosChains,async()=>{let{estimateTransactionFee:Y}=await import("@swapkit/toolboxes/cosmos");return Y(z)}).with(D.Chain.Polkadot,(Y)=>{let Z=Q(Y);return Z.estimateTransactionFee({...z,recipient:Z.address})}).with(D.Chain.Tron,(Y)=>{let{address:Z,...j}=Q(Y);return j.estimateTransactionFee({...z,recipient:Z,sender:Z})}).with(D.Chain.Ripple,(Y)=>Q(Y).estimateTransactionFee()).otherwise(async()=>X)}return{...$,...C,approveAssetValue:V,disconnectAll:w,disconnectChain:S,estimateTransactionFee:o,getAddress:A,getAllWallets:y,getBalance:m,getWallet:Q,getWalletWithBalance:b,isAssetValueApproved:W,signMessage:g,swap:d,transfer:h,verifyMessage:u}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=682D5060893683B564756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n ApproveMode,\n type ApproveReturnType,\n AssetValue,\n Chain,\n type ChainWallet,\n type ConditionalAssetValueReturn,\n CosmosChains,\n type EVMChain,\n EVMChains,\n type FeeOption,\n type GenericTransferParams,\n ProviderName as PluginNameEnum,\n SKConfig,\n type SKConfigState,\n SwapKitError,\n type SwapParams,\n UTXOChains,\n} from \"@swapkit/helpers\";\nimport type { EVMTransaction, QuoteResponseRoute } from \"@swapkit/helpers/api\";\nimport type { createPlugin } from \"@swapkit/plugins\";\nimport type { FullWallet } from \"@swapkit/toolboxes\";\nimport type { EVMCreateTransactionParams, EVMTransferParams } from \"@swapkit/toolboxes/evm\";\nimport type { createWallet } from \"@swapkit/wallets\";\n\nexport type SwapKitParams<P, W> = { config?: SKConfigState; plugins?: P; wallets?: W };\n\nexport function SwapKit<\n Plugins extends ReturnType<typeof createPlugin>,\n Wallets extends ReturnType<typeof createWallet>,\n>({ config, plugins, wallets }: { config?: SKConfigState; plugins?: Plugins; wallets?: Wallets } = {}) {\n if (config) {\n SKConfig.set(config);\n }\n\n type PluginName = keyof Plugins;\n const connectedWallets = {} as FullWallet;\n type ConnectedChains = keyof typeof connectedWallets;\n type ActionType = \"transfer\" | \"approve\" | \"swap\";\n\n type ActionParams<P extends PluginName> = {\n transfer: EVMTransferParams | (GenericTransferParams & { sender?: string });\n approve: { assetValue: AssetValue; contractAddress: string; feeOptionKey?: FeeOption };\n swap: SwapParams<P, QuoteResponseRoute> & { assetValue: AssetValue };\n };\n\n const availablePlugins = Object.entries(plugins || {}).reduce(\n (acc, [pluginName, plugin]) => {\n const methods = plugin({ getWallet });\n\n acc[pluginName as PluginName] = methods as ReturnType<Plugins[keyof Plugins]>;\n return acc;\n },\n {} as { [key in PluginName]: ReturnType<Plugins[key]> },\n );\n\n const connectWalletMethods = Object.entries(wallets || {}).reduce(\n (acc, [walletName, wallet]) => {\n const connectWallet = wallet.connectWallet({ addChain });\n\n acc[walletName as keyof Wallets] = connectWallet as ReturnType<Wallets[keyof Wallets][\"connectWallet\"]>;\n return acc;\n },\n {} as {\n [key in keyof Wallets]: ReturnType<Wallets[key][\"connectWallet\"]>;\n },\n );\n\n function getSwapKitPlugin<T extends PluginName>(pluginName?: T) {\n const pluginByName = pluginName && availablePlugins[pluginName];\n const pluginByProvider = Object.values(availablePlugins).find((plugin) =>\n plugin.supportedSwapkitProviders?.includes(pluginName),\n );\n const plugin = pluginByName || pluginByProvider;\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\");\n }\n\n return plugin as ReturnType<Plugins[T]>;\n }\n\n function addChain<T extends Chain>(connectWallet: Omit<ChainWallet<T>, \"balance\"> & { balance?: AssetValue[] }) {\n const currentWallet = getWallet(connectWallet.chain);\n\n const balance = connectWallet.balance || currentWallet.balance || [AssetValue.from({ chain: connectWallet.chain })];\n\n const wallet = { ...currentWallet, ...connectWallet, balance } as FullWallet[T];\n\n connectedWallets[connectWallet.chain] = wallet;\n\n return wallet;\n }\n\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress: spenderAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n }) {\n const plugin = availablePlugins[spenderAddress];\n\n if (plugin) {\n if (type === ApproveMode.CheckOnly && \"isAssetValueApproved\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.isAssetValueApproved({ assetValue }) as ApproveReturnType<T>;\n }\n if (type === ApproveMode.Approve && \"approveAssetValue\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.approveAssetValue({ assetValue }) as ApproveReturnType<T>;\n }\n\n throw new SwapKitError({\n errorKey: \"core_approve_asset_target_invalid\",\n info: { message: `Target ${String(spenderAddress)} cannot be used for approve operation` },\n });\n }\n\n const chain = assetValue.chain as EVMChain;\n const isEVMChain = EVMChains.includes(chain);\n const isNativeEVM = isEVMChain && assetValue.isGasAsset;\n\n if (isNativeEVM || !isEVMChain || assetValue.isSynthetic) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const wallet = getWallet(chain);\n const walletAction = type === \"checkOnly\" ? wallet.isApproved : wallet.approve;\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (!(assetValue.address && wallet.address && typeof spenderAddress === \"string\")) {\n throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n }\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address,\n from: wallet.address,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n */\n function getWallet<T extends ConnectedChains>(chain: T) {\n return connectedWallets[chain] || {};\n }\n\n function getAllWallets() {\n return { ...connectedWallets };\n }\n\n function getAddress<T extends Chain>(chain: T) {\n return getWallet(chain)?.address || \"\";\n }\n\n function approveAssetValue(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function disconnectChain<T extends Chain>(chain: T) {\n const wallet = getWallet(chain);\n wallet?.disconnect?.();\n delete connectedWallets[chain];\n }\n\n function disconnectAll() {\n for (const chain of Object.keys(connectedWallets) as (keyof typeof connectedWallets)[]) {\n disconnectChain(chain);\n }\n }\n\n function getBalance<T extends Chain, R extends boolean>(chain: T, refresh?: R): ConditionalAssetValueReturn<R> {\n return (\n refresh ? getWalletWithBalance(chain).then(({ balance }) => balance) : getWallet(chain)?.balance || []\n ) as ConditionalAssetValueReturn<R>;\n }\n\n async function getWalletWithBalance<T extends Chain>(\n chain: T,\n scamFilter = true,\n ): Promise<ReturnType<typeof getWallet> & { balance: AssetValue[] }> {\n if (chain === Chain.Fiat || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, Chain.Fiat>);\n const defaultBalance = [AssetValue.from({ chain })];\n wallet.balance = defaultBalance;\n\n if (\"getBalance\" in wallet) {\n const balance = await wallet.getBalance(wallet.address, scamFilter);\n wallet.balance = balance;\n }\n\n return wallet;\n }\n\n function swap<T extends PluginName>({ route, pluginName, ...rest }: SwapParams<T, QuoteResponseRoute>) {\n const plugin = getSwapKitPlugin(pluginName || route.providers[0]);\n\n if (\"swap\" in plugin) {\n // @ts-expect-error TODO: fix this\n return plugin.swap({ ...rest, route });\n }\n\n throw new SwapKitError(\"core_plugin_swap_not_found\");\n }\n\n function transfer({ assetValue, ...params }: GenericTransferParams | EVMTransferParams) {\n const chain = assetValue.chain;\n if ([Chain.Fiat, Chain.Radix].includes(chain) || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, Chain.Fiat | Chain.Radix | Chain.Near>);\n\n // we need to simplify this to one object params\n return wallet.transfer({ ...params, assetValue });\n }\n\n function signMessage({ chain, message }: { chain: Chain; message: string }) {\n const wallet = getWallet(chain);\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (\"signMessage\" in wallet) {\n return wallet.signMessage?.(message);\n }\n\n throw new SwapKitError({\n errorKey: \"core_wallet_sign_message_not_supported\",\n info: { chain, wallet: wallet.walletType },\n });\n }\n\n async function verifyMessage({\n address,\n chain,\n message,\n signature,\n }: {\n chain: Chain;\n signature: string;\n message: string;\n address: string;\n }) {\n if (chain !== Chain.THORChain) {\n throw new SwapKitError({ errorKey: \"core_verify_message_not_supported\", info: { chain } });\n }\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n return toolbox.verifySignature({ address, message, signature });\n }\n\n async function estimateTransactionFee<P extends PluginName, T extends ActionType>({\n type,\n feeOptionKey,\n params,\n }: {\n type: T;\n params: ActionParams<P>[T];\n feeOptionKey: FeeOption;\n }): Promise<AssetValue | undefined> {\n const { assetValue } = params;\n const { chain } = assetValue;\n\n if (!getWallet(chain as Chain)) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const baseValue = AssetValue.from({ chain });\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .returnType<Promise<AssetValue | undefined> | AssetValue | undefined>()\n .with(...EVMChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n\n const tx = match(type as ActionType)\n .with(\"transfer\", () => wallet.createTransferTx(params as EVMCreateTransactionParams))\n .with(\"approve\", (_t) => {\n const { contractAddress } = params as ActionParams<P>[typeof _t];\n\n return wallet.createApprovalTx({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address as string,\n from: address,\n spenderAddress: contractAddress,\n });\n })\n .with(\"swap\", (_t) => {\n const {\n route: {\n providers: [plugin],\n tx,\n },\n } = params as ActionParams<P>[typeof _t];\n\n if (plugin && [PluginNameEnum.CHAINFLIP, PluginNameEnum.CHAINFLIP_STREAMING].includes(plugin)) {\n return wallet.createTransferTx({ assetValue, recipient: address, sender: address });\n }\n\n const evmTx = tx as EVMTransaction;\n\n return { ...evmTx, value: BigInt(evmTx.value) };\n })\n .otherwise(() => undefined);\n\n if (!tx) return baseValue;\n\n return wallet.estimateTransactionFee({ ...tx, chain, feeOption: feeOptionKey });\n })\n .with(...UTXOChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, feeOptionKey, recipient: address, sender: address });\n })\n .with(...CosmosChains, async () => {\n const { estimateTransactionFee } = await import(\"@swapkit/toolboxes/cosmos\");\n return estimateTransactionFee(params);\n })\n .with(Chain.Polkadot, (chain) => {\n const wallet = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: wallet.address });\n })\n .with(Chain.Tron, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: address, sender: address });\n })\n .with(Chain.Ripple, (chain) => getWallet(chain).estimateTransactionFee())\n .otherwise(async () => baseValue);\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n\n approveAssetValue,\n\n disconnectAll,\n disconnectChain,\n estimateTransactionFee,\n getAddress,\n getAllWallets,\n getBalance,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n signMessage,\n swap,\n transfer,\n verifyMessage,\n };\n}\n\nexport * from \"@swapkit/helpers\";\n"
|
|
5
|
+
"import {\n ApproveMode,\n type ApproveReturnType,\n AssetValue,\n Chain,\n type ChainWallet,\n type ConditionalAssetValueReturn,\n CosmosChains,\n type EVMChain,\n EVMChains,\n type FeeOption,\n type GenericTransferParams,\n ProviderName as PluginNameEnum,\n SKConfig,\n type SKConfigState,\n SwapKitError,\n type SwapParams,\n UTXOChains,\n} from \"@swapkit/helpers\";\nimport type { EVMTransaction, QuoteResponseRoute } from \"@swapkit/helpers/api\";\nimport type { createPlugin } from \"@swapkit/plugins\";\nimport type { FullWallet } from \"@swapkit/toolboxes\";\nimport type { EVMCreateTransactionParams, EVMTransferParams } from \"@swapkit/toolboxes/evm\";\nimport type { createWallet } from \"@swapkit/wallets\";\n\nexport type SwapKitParams<P, W> = { config?: SKConfigState; plugins?: P; wallets?: W };\n\nexport function SwapKit<\n Plugins extends ReturnType<typeof createPlugin>,\n Wallets extends ReturnType<typeof createWallet>,\n>({ config, plugins, wallets }: { config?: SKConfigState; plugins?: Plugins; wallets?: Wallets } = {}) {\n if (config) {\n SKConfig.set(config);\n }\n\n type PluginName = keyof Plugins;\n const connectedWallets = {} as FullWallet;\n type ConnectedChains = keyof typeof connectedWallets;\n type ActionType = \"transfer\" | \"approve\" | \"swap\";\n\n type ActionParams<P extends PluginName> = {\n transfer: EVMTransferParams | (GenericTransferParams & { sender?: string });\n approve: { assetValue: AssetValue; contractAddress: string; feeOptionKey?: FeeOption };\n swap: SwapParams<P, QuoteResponseRoute> & { assetValue: AssetValue };\n };\n\n const availablePlugins = Object.entries(plugins || {}).reduce(\n (acc, [pluginName, plugin]) => {\n const methods = plugin({ getWallet });\n\n acc[pluginName as PluginName] = methods as ReturnType<Plugins[keyof Plugins]>;\n return acc;\n },\n {} as { [key in PluginName]: ReturnType<Plugins[key]> },\n );\n\n const connectWalletMethods = Object.entries(wallets || {}).reduce(\n (acc, [walletName, wallet]) => {\n const connectWallet = wallet.connectWallet({ addChain });\n\n acc[walletName as keyof Wallets] = connectWallet as ReturnType<Wallets[keyof Wallets][\"connectWallet\"]>;\n return acc;\n },\n {} as {\n [key in keyof Wallets]: ReturnType<Wallets[key][\"connectWallet\"]>;\n },\n );\n\n function getSwapKitPlugin<T extends PluginName>(pluginName?: T) {\n const pluginByName = pluginName && availablePlugins[pluginName];\n const pluginByProvider = Object.values(availablePlugins).find((plugin) =>\n plugin.supportedSwapkitProviders?.includes(pluginName),\n );\n const plugin = pluginByName || pluginByProvider;\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\");\n }\n\n return plugin as ReturnType<Plugins[T]>;\n }\n\n function addChain<T extends Chain>(connectWallet: Omit<ChainWallet<T>, \"balance\"> & { balance?: AssetValue[] }) {\n const currentWallet = getWallet(connectWallet.chain);\n\n const balance = connectWallet.balance || currentWallet.balance || [AssetValue.from({ chain: connectWallet.chain })];\n\n const wallet = { ...currentWallet, ...connectWallet, balance } as FullWallet[T];\n\n connectedWallets[connectWallet.chain] = wallet;\n\n return wallet;\n }\n\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress: spenderAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n }) {\n const plugin = availablePlugins[spenderAddress];\n\n if (plugin) {\n if (type === ApproveMode.CheckOnly && \"isAssetValueApproved\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.isAssetValueApproved({ assetValue }) as ApproveReturnType<T>;\n }\n if (type === ApproveMode.Approve && \"approveAssetValue\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.approveAssetValue({ assetValue }) as ApproveReturnType<T>;\n }\n\n throw new SwapKitError({\n errorKey: \"core_approve_asset_target_invalid\",\n info: { message: `Target ${String(spenderAddress)} cannot be used for approve operation` },\n });\n }\n\n const chain = assetValue.chain as EVMChain;\n const isEVMChain = EVMChains.includes(chain);\n const isNativeEVM = isEVMChain && assetValue.isGasAsset;\n\n if (isNativeEVM || !isEVMChain || assetValue.isSynthetic) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const wallet = getWallet(chain);\n const walletAction = type === \"checkOnly\" ? wallet.isApproved : wallet.approve;\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (!(assetValue.address && wallet.address && typeof spenderAddress === \"string\")) {\n throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n }\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address,\n from: wallet.address,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n */\n function getWallet<T extends ConnectedChains>(chain: T) {\n return connectedWallets[chain];\n }\n\n function getAllWallets() {\n return { ...connectedWallets };\n }\n\n function getAddress<T extends Chain>(chain: T) {\n return getWallet(chain)?.address || \"\";\n }\n\n function approveAssetValue(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function disconnectChain<T extends Chain>(chain: T) {\n const wallet = getWallet(chain);\n wallet?.disconnect?.();\n delete connectedWallets[chain];\n }\n\n function disconnectAll() {\n for (const chain of Object.keys(connectedWallets) as (keyof typeof connectedWallets)[]) {\n disconnectChain(chain);\n }\n }\n\n function getBalance<T extends Chain, R extends boolean>(chain: T, refresh?: R): ConditionalAssetValueReturn<R> {\n return (\n refresh ? getWalletWithBalance(chain).then(({ balance }) => balance) : getWallet(chain)?.balance || []\n ) as ConditionalAssetValueReturn<R>;\n }\n\n async function getWalletWithBalance<T extends Chain>(chain: T, scamFilter = true) {\n if (!getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain);\n const defaultBalance = [AssetValue.from({ chain })];\n wallet.balance = defaultBalance;\n\n if (\"getBalance\" in wallet) {\n const balance = await wallet.getBalance(wallet.address, scamFilter);\n wallet.balance = balance;\n }\n\n return wallet;\n }\n\n function swap<T extends PluginName>({ route, pluginName, ...rest }: SwapParams<T, QuoteResponseRoute>) {\n const plugin = getSwapKitPlugin(pluginName || route.providers[0]);\n\n if (\"swap\" in plugin) {\n // @ts-expect-error TODO: fix this\n return plugin.swap({ ...rest, route });\n }\n\n throw new SwapKitError(\"core_plugin_swap_not_found\");\n }\n\n function transfer({ assetValue, ...params }: GenericTransferParams | EVMTransferParams) {\n const chain = assetValue.chain;\n if ([Chain.Radix].includes(chain) || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, typeof Chain.Radix | typeof Chain.Near>);\n\n // we need to simplify this to one object params\n return wallet.transfer({ ...params, assetValue });\n }\n\n function signMessage({ chain, message }: { chain: Chain; message: string }) {\n const wallet = getWallet(chain);\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (\"signMessage\" in wallet) {\n return wallet.signMessage?.(message);\n }\n\n throw new SwapKitError({\n errorKey: \"core_wallet_sign_message_not_supported\",\n info: { chain, wallet: wallet.walletType },\n });\n }\n\n async function verifyMessage({\n address,\n chain,\n message,\n signature,\n }: {\n chain: Chain;\n signature: string;\n message: string;\n address: string;\n }) {\n if (chain !== Chain.THORChain) {\n throw new SwapKitError({ errorKey: \"core_verify_message_not_supported\", info: { chain } });\n }\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n return toolbox.verifySignature({ address, message, signature });\n }\n\n async function estimateTransactionFee<P extends PluginName, T extends ActionType>({\n type,\n feeOptionKey,\n params,\n }: {\n type: T;\n params: ActionParams<P>[T];\n feeOptionKey: FeeOption;\n }): Promise<AssetValue | undefined> {\n const { assetValue } = params;\n const { chain } = assetValue;\n\n if (!getWallet(chain as Chain)) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const baseValue = AssetValue.from({ chain });\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .returnType<Promise<AssetValue | undefined> | AssetValue | undefined>()\n .with(...EVMChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n\n const tx = match(type as ActionType)\n .with(\"transfer\", () => wallet.createTransferTx(params as EVMCreateTransactionParams))\n .with(\"approve\", (_t) => {\n const { contractAddress } = params as ActionParams<P>[typeof _t];\n\n return wallet.createApprovalTx({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address as string,\n from: address,\n spenderAddress: contractAddress,\n });\n })\n .with(\"swap\", (_t) => {\n const {\n route: {\n providers: [plugin],\n tx,\n },\n } = params as ActionParams<P>[typeof _t];\n\n if (plugin && [PluginNameEnum.CHAINFLIP, PluginNameEnum.CHAINFLIP_STREAMING].includes(plugin)) {\n return wallet.createTransferTx({ assetValue, recipient: address, sender: address });\n }\n\n const evmTx = tx as EVMTransaction;\n\n return { ...evmTx, value: BigInt(evmTx.value) };\n })\n .otherwise(() => undefined);\n\n if (!tx) return baseValue;\n\n return wallet.estimateTransactionFee({ ...tx, chain, feeOption: feeOptionKey });\n })\n .with(...UTXOChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, feeOptionKey, recipient: address, sender: address });\n })\n .with(...CosmosChains, async () => {\n const { estimateTransactionFee } = await import(\"@swapkit/toolboxes/cosmos\");\n return estimateTransactionFee(params);\n })\n .with(Chain.Polkadot, (chain) => {\n const wallet = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: wallet.address });\n })\n .with(Chain.Tron, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: address, sender: address });\n })\n .with(Chain.Ripple, (chain) => getWallet(chain).estimateTransactionFee())\n .otherwise(async () => baseValue);\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n\n approveAssetValue,\n\n disconnectAll,\n disconnectChain,\n estimateTransactionFee,\n getAddress,\n getAllWallets,\n getBalance,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n signMessage,\n swap,\n transfer,\n verifyMessage,\n };\n}\n\nexport * from \"@swapkit/helpers\";\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "w5BAkBO,IAlBP,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "682D5060893683B564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var i=Object.create;var{getPrototypeOf:n,defineProperty:N,getOwnPropertyNames:s}=Object;var t=Object.prototype.hasOwnProperty;var B=(J,
|
|
1
|
+
var i=Object.create;var{getPrototypeOf:n,defineProperty:N,getOwnPropertyNames:s}=Object;var t=Object.prototype.hasOwnProperty;var B=(J,U,$)=>{$=J!=null?i(n(J)):{};let Y=U||!J||!J.__esModule?N($,"default",{value:J,enumerable:!0}):$;for(let Z of s(J))if(!t.call(Y,Z))N(Y,Z,{get:()=>J[Z],enumerable:!0});return Y};var T=((J)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(J,{get:(U,$)=>(typeof require<"u"?require:U)[$]}):J)(function(J){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+J+'" is not supported')});import{ApproveMode as F,AssetValue as x,Chain as X,CosmosChains as l,EVMChains as v,ProviderName as C,SKConfig as a,SwapKitError as R,UTXOChains as e}from"@swapkit/helpers";export*from"@swapkit/helpers";function Dq({config:J,plugins:U,wallets:$}={}){if(J)a.set(J);let Y={},Z=Object.entries(U||{}).reduce((q,[D,z])=>{let G=z({getWallet:H});return q[D]=G,q},{}),E=Object.entries($||{}).reduce((q,[D,z])=>{let G=z.connectWallet({addChain:y});return q[D]=G,q},{});function K(q){let D=q&&Z[q],z=Object.values(Z).find((Q)=>Q.supportedSwapkitProviders?.includes(q)),G=D||z;if(!G)throw new R("core_plugin_not_found");return G}function y(q){let D=H(q.chain),z=q.balance||D.balance||[x.from({chain:q.chain})],G={...D,...q,balance:z};return Y[q.chain]=G,G}function P({assetValue:q,type:D="checkOnly",contractAddress:z}){let G=Z[z];if(G){if(D===F.CheckOnly&&"isAssetValueApproved"in G)return G.isAssetValueApproved({assetValue:q});if(D===F.Approve&&"approveAssetValue"in G)return G.approveAssetValue({assetValue:q});throw new R({errorKey:"core_approve_asset_target_invalid",info:{message:`Target ${String(z)} cannot be used for approve operation`}})}let Q=q.chain,j=v.includes(Q);if(j&&q.isGasAsset||!j||q.isSynthetic)return Promise.resolve(D==="checkOnly"?!0:"approved");let I=H(Q),L=D==="checkOnly"?I.isApproved:I.approve;if(!L)throw new R("core_wallet_connection_not_found");if(!(q.address&&I.address&&typeof z==="string"))throw new R("core_approve_asset_address_or_from_not_found");return L({amount:q.getBaseValue("bigint"),assetAddress:q.address,from:I.address,spenderAddress:z})}function H(q){return Y[q]}function A(){return{...Y}}function V(q){return H(q)?.address||""}function W(q,D){return P({assetValue:q,contractAddress:D,type:F.Approve})}function w(q,D){return P({assetValue:q,contractAddress:D,type:F.CheckOnly})}function M(q){H(q)?.disconnect?.(),delete Y[q]}function m(){for(let q of Object.keys(Y))M(q)}function d(q,D){return D?S(q).then(({balance:z})=>z):H(q)?.balance||[]}async function S(q,D=!0){if(!H(q))throw new R("core_wallet_connection_not_found");let z=H(q),G=[x.from({chain:q})];if(z.balance=G,"getBalance"in z){let Q=await z.getBalance(z.address,D);z.balance=Q}return z}function h({route:q,pluginName:D,...z}){let G=K(D||q.providers[0]);if("swap"in G)return G.swap({...z,route:q});throw new R("core_plugin_swap_not_found")}function g({assetValue:q,...D}){let z=q.chain;if([X.Radix].includes(z)||!H(z))throw new R("core_wallet_connection_not_found");return H(z).transfer({...D,assetValue:q})}function u({chain:q,message:D}){let z=H(q);if(!z)throw new R("core_wallet_connection_not_found");if("signMessage"in z)return z.signMessage?.(D);throw new R({errorKey:"core_wallet_sign_message_not_supported",info:{chain:q,wallet:z.walletType}})}async function o({address:q,chain:D,message:z,signature:G}){if(D!==X.THORChain)throw new R({errorKey:"core_verify_message_not_supported",info:{chain:D}});let{getCosmosToolbox:Q}=await import("@swapkit/toolboxes/cosmos");return(await Q(D)).verifySignature({address:q,message:z,signature:G})}async function p({type:q,feeOptionKey:D,params:z}){let{assetValue:G}=z,{chain:Q}=G;if(!H(Q))throw new R("core_wallet_connection_not_found");let j=x.from({chain:Q}),{match:O}=await import("ts-pattern");return O(Q).returnType().with(...v,(I)=>{let{address:L,..._}=H(I),b=O(q).with("transfer",()=>_.createTransferTx(z)).with("approve",(r)=>{let{contractAddress:k}=z;return _.createApprovalTx({amount:G.getBaseValue("bigint"),assetAddress:G.address,from:L,spenderAddress:k})}).with("swap",(r)=>{let{route:{providers:[k],tx:c}}=z;if(k&&[C.CHAINFLIP,C.CHAINFLIP_STREAMING].includes(k))return _.createTransferTx({assetValue:G,recipient:L,sender:L});let f=c;return{...f,value:BigInt(f.value)}}).otherwise(()=>{return});if(!b)return j;return _.estimateTransactionFee({...b,chain:I,feeOption:D})}).with(...e,(I)=>{let{address:L,..._}=H(I);return _.estimateTransactionFee({...z,feeOptionKey:D,recipient:L,sender:L})}).with(...l,async()=>{let{estimateTransactionFee:I}=await import("@swapkit/toolboxes/cosmos");return I(z)}).with(X.Polkadot,(I)=>{let L=H(I);return L.estimateTransactionFee({...z,recipient:L.address})}).with(X.Tron,(I)=>{let{address:L,..._}=H(I);return _.estimateTransactionFee({...z,recipient:L,sender:L})}).with(X.Ripple,(I)=>H(I).estimateTransactionFee()).otherwise(async()=>j)}return{...Z,...E,approveAssetValue:W,disconnectAll:m,disconnectChain:M,estimateTransactionFee:p,getAddress:V,getAllWallets:A,getBalance:d,getWallet:H,getWalletWithBalance:S,isAssetValueApproved:w,signMessage:u,swap:h,transfer:g,verifyMessage:o}}export{Dq as SwapKit};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=519CB1B45B170FB664756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n ApproveMode,\n type ApproveReturnType,\n AssetValue,\n Chain,\n type ChainWallet,\n type ConditionalAssetValueReturn,\n CosmosChains,\n type EVMChain,\n EVMChains,\n type FeeOption,\n type GenericTransferParams,\n ProviderName as PluginNameEnum,\n SKConfig,\n type SKConfigState,\n SwapKitError,\n type SwapParams,\n UTXOChains,\n} from \"@swapkit/helpers\";\nimport type { EVMTransaction, QuoteResponseRoute } from \"@swapkit/helpers/api\";\nimport type { createPlugin } from \"@swapkit/plugins\";\nimport type { FullWallet } from \"@swapkit/toolboxes\";\nimport type { EVMCreateTransactionParams, EVMTransferParams } from \"@swapkit/toolboxes/evm\";\nimport type { createWallet } from \"@swapkit/wallets\";\n\nexport type SwapKitParams<P, W> = { config?: SKConfigState; plugins?: P; wallets?: W };\n\nexport function SwapKit<\n Plugins extends ReturnType<typeof createPlugin>,\n Wallets extends ReturnType<typeof createWallet>,\n>({ config, plugins, wallets }: { config?: SKConfigState; plugins?: Plugins; wallets?: Wallets } = {}) {\n if (config) {\n SKConfig.set(config);\n }\n\n type PluginName = keyof Plugins;\n const connectedWallets = {} as FullWallet;\n type ConnectedChains = keyof typeof connectedWallets;\n type ActionType = \"transfer\" | \"approve\" | \"swap\";\n\n type ActionParams<P extends PluginName> = {\n transfer: EVMTransferParams | (GenericTransferParams & { sender?: string });\n approve: { assetValue: AssetValue; contractAddress: string; feeOptionKey?: FeeOption };\n swap: SwapParams<P, QuoteResponseRoute> & { assetValue: AssetValue };\n };\n\n const availablePlugins = Object.entries(plugins || {}).reduce(\n (acc, [pluginName, plugin]) => {\n const methods = plugin({ getWallet });\n\n acc[pluginName as PluginName] = methods as ReturnType<Plugins[keyof Plugins]>;\n return acc;\n },\n {} as { [key in PluginName]: ReturnType<Plugins[key]> },\n );\n\n const connectWalletMethods = Object.entries(wallets || {}).reduce(\n (acc, [walletName, wallet]) => {\n const connectWallet = wallet.connectWallet({ addChain });\n\n acc[walletName as keyof Wallets] = connectWallet as ReturnType<Wallets[keyof Wallets][\"connectWallet\"]>;\n return acc;\n },\n {} as {\n [key in keyof Wallets]: ReturnType<Wallets[key][\"connectWallet\"]>;\n },\n );\n\n function getSwapKitPlugin<T extends PluginName>(pluginName?: T) {\n const pluginByName = pluginName && availablePlugins[pluginName];\n const pluginByProvider = Object.values(availablePlugins).find((plugin) =>\n plugin.supportedSwapkitProviders?.includes(pluginName),\n );\n const plugin = pluginByName || pluginByProvider;\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\");\n }\n\n return plugin as ReturnType<Plugins[T]>;\n }\n\n function addChain<T extends Chain>(connectWallet: Omit<ChainWallet<T>, \"balance\"> & { balance?: AssetValue[] }) {\n const currentWallet = getWallet(connectWallet.chain);\n\n const balance = connectWallet.balance || currentWallet.balance || [AssetValue.from({ chain: connectWallet.chain })];\n\n const wallet = { ...currentWallet, ...connectWallet, balance } as FullWallet[T];\n\n connectedWallets[connectWallet.chain] = wallet;\n\n return wallet;\n }\n\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress: spenderAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n }) {\n const plugin = availablePlugins[spenderAddress];\n\n if (plugin) {\n if (type === ApproveMode.CheckOnly && \"isAssetValueApproved\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.isAssetValueApproved({ assetValue }) as ApproveReturnType<T>;\n }\n if (type === ApproveMode.Approve && \"approveAssetValue\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.approveAssetValue({ assetValue }) as ApproveReturnType<T>;\n }\n\n throw new SwapKitError({\n errorKey: \"core_approve_asset_target_invalid\",\n info: { message: `Target ${String(spenderAddress)} cannot be used for approve operation` },\n });\n }\n\n const chain = assetValue.chain as EVMChain;\n const isEVMChain = EVMChains.includes(chain);\n const isNativeEVM = isEVMChain && assetValue.isGasAsset;\n\n if (isNativeEVM || !isEVMChain || assetValue.isSynthetic) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const wallet = getWallet(chain);\n const walletAction = type === \"checkOnly\" ? wallet.isApproved : wallet.approve;\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (!(assetValue.address && wallet.address && typeof spenderAddress === \"string\")) {\n throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n }\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address,\n from: wallet.address,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n */\n function getWallet<T extends ConnectedChains>(chain: T) {\n return connectedWallets[chain] || {};\n }\n\n function getAllWallets() {\n return { ...connectedWallets };\n }\n\n function getAddress<T extends Chain>(chain: T) {\n return getWallet(chain)?.address || \"\";\n }\n\n function approveAssetValue(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function disconnectChain<T extends Chain>(chain: T) {\n const wallet = getWallet(chain);\n wallet?.disconnect?.();\n delete connectedWallets[chain];\n }\n\n function disconnectAll() {\n for (const chain of Object.keys(connectedWallets) as (keyof typeof connectedWallets)[]) {\n disconnectChain(chain);\n }\n }\n\n function getBalance<T extends Chain, R extends boolean>(chain: T, refresh?: R): ConditionalAssetValueReturn<R> {\n return (\n refresh ? getWalletWithBalance(chain).then(({ balance }) => balance) : getWallet(chain)?.balance || []\n ) as ConditionalAssetValueReturn<R>;\n }\n\n async function getWalletWithBalance<T extends Chain>(\n chain: T,\n scamFilter = true,\n ): Promise<ReturnType<typeof getWallet> & { balance: AssetValue[] }> {\n if (chain === Chain.Fiat || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, Chain.Fiat>);\n const defaultBalance = [AssetValue.from({ chain })];\n wallet.balance = defaultBalance;\n\n if (\"getBalance\" in wallet) {\n const balance = await wallet.getBalance(wallet.address, scamFilter);\n wallet.balance = balance;\n }\n\n return wallet;\n }\n\n function swap<T extends PluginName>({ route, pluginName, ...rest }: SwapParams<T, QuoteResponseRoute>) {\n const plugin = getSwapKitPlugin(pluginName || route.providers[0]);\n\n if (\"swap\" in plugin) {\n // @ts-expect-error TODO: fix this\n return plugin.swap({ ...rest, route });\n }\n\n throw new SwapKitError(\"core_plugin_swap_not_found\");\n }\n\n function transfer({ assetValue, ...params }: GenericTransferParams | EVMTransferParams) {\n const chain = assetValue.chain;\n if ([Chain.Fiat, Chain.Radix].includes(chain) || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, Chain.Fiat | Chain.Radix | Chain.Near>);\n\n // we need to simplify this to one object params\n return wallet.transfer({ ...params, assetValue });\n }\n\n function signMessage({ chain, message }: { chain: Chain; message: string }) {\n const wallet = getWallet(chain);\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (\"signMessage\" in wallet) {\n return wallet.signMessage?.(message);\n }\n\n throw new SwapKitError({\n errorKey: \"core_wallet_sign_message_not_supported\",\n info: { chain, wallet: wallet.walletType },\n });\n }\n\n async function verifyMessage({\n address,\n chain,\n message,\n signature,\n }: {\n chain: Chain;\n signature: string;\n message: string;\n address: string;\n }) {\n if (chain !== Chain.THORChain) {\n throw new SwapKitError({ errorKey: \"core_verify_message_not_supported\", info: { chain } });\n }\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n return toolbox.verifySignature({ address, message, signature });\n }\n\n async function estimateTransactionFee<P extends PluginName, T extends ActionType>({\n type,\n feeOptionKey,\n params,\n }: {\n type: T;\n params: ActionParams<P>[T];\n feeOptionKey: FeeOption;\n }): Promise<AssetValue | undefined> {\n const { assetValue } = params;\n const { chain } = assetValue;\n\n if (!getWallet(chain as Chain)) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const baseValue = AssetValue.from({ chain });\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .returnType<Promise<AssetValue | undefined> | AssetValue | undefined>()\n .with(...EVMChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n\n const tx = match(type as ActionType)\n .with(\"transfer\", () => wallet.createTransferTx(params as EVMCreateTransactionParams))\n .with(\"approve\", (_t) => {\n const { contractAddress } = params as ActionParams<P>[typeof _t];\n\n return wallet.createApprovalTx({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address as string,\n from: address,\n spenderAddress: contractAddress,\n });\n })\n .with(\"swap\", (_t) => {\n const {\n route: {\n providers: [plugin],\n tx,\n },\n } = params as ActionParams<P>[typeof _t];\n\n if (plugin && [PluginNameEnum.CHAINFLIP, PluginNameEnum.CHAINFLIP_STREAMING].includes(plugin)) {\n return wallet.createTransferTx({ assetValue, recipient: address, sender: address });\n }\n\n const evmTx = tx as EVMTransaction;\n\n return { ...evmTx, value: BigInt(evmTx.value) };\n })\n .otherwise(() => undefined);\n\n if (!tx) return baseValue;\n\n return wallet.estimateTransactionFee({ ...tx, chain, feeOption: feeOptionKey });\n })\n .with(...UTXOChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, feeOptionKey, recipient: address, sender: address });\n })\n .with(...CosmosChains, async () => {\n const { estimateTransactionFee } = await import(\"@swapkit/toolboxes/cosmos\");\n return estimateTransactionFee(params);\n })\n .with(Chain.Polkadot, (chain) => {\n const wallet = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: wallet.address });\n })\n .with(Chain.Tron, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: address, sender: address });\n })\n .with(Chain.Ripple, (chain) => getWallet(chain).estimateTransactionFee())\n .otherwise(async () => baseValue);\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n\n approveAssetValue,\n\n disconnectAll,\n disconnectChain,\n estimateTransactionFee,\n getAddress,\n getAllWallets,\n getBalance,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n signMessage,\n swap,\n transfer,\n verifyMessage,\n };\n}\n\nexport * from \"@swapkit/helpers\";\n"
|
|
5
|
+
"import {\n ApproveMode,\n type ApproveReturnType,\n AssetValue,\n Chain,\n type ChainWallet,\n type ConditionalAssetValueReturn,\n CosmosChains,\n type EVMChain,\n EVMChains,\n type FeeOption,\n type GenericTransferParams,\n ProviderName as PluginNameEnum,\n SKConfig,\n type SKConfigState,\n SwapKitError,\n type SwapParams,\n UTXOChains,\n} from \"@swapkit/helpers\";\nimport type { EVMTransaction, QuoteResponseRoute } from \"@swapkit/helpers/api\";\nimport type { createPlugin } from \"@swapkit/plugins\";\nimport type { FullWallet } from \"@swapkit/toolboxes\";\nimport type { EVMCreateTransactionParams, EVMTransferParams } from \"@swapkit/toolboxes/evm\";\nimport type { createWallet } from \"@swapkit/wallets\";\n\nexport type SwapKitParams<P, W> = { config?: SKConfigState; plugins?: P; wallets?: W };\n\nexport function SwapKit<\n Plugins extends ReturnType<typeof createPlugin>,\n Wallets extends ReturnType<typeof createWallet>,\n>({ config, plugins, wallets }: { config?: SKConfigState; plugins?: Plugins; wallets?: Wallets } = {}) {\n if (config) {\n SKConfig.set(config);\n }\n\n type PluginName = keyof Plugins;\n const connectedWallets = {} as FullWallet;\n type ConnectedChains = keyof typeof connectedWallets;\n type ActionType = \"transfer\" | \"approve\" | \"swap\";\n\n type ActionParams<P extends PluginName> = {\n transfer: EVMTransferParams | (GenericTransferParams & { sender?: string });\n approve: { assetValue: AssetValue; contractAddress: string; feeOptionKey?: FeeOption };\n swap: SwapParams<P, QuoteResponseRoute> & { assetValue: AssetValue };\n };\n\n const availablePlugins = Object.entries(plugins || {}).reduce(\n (acc, [pluginName, plugin]) => {\n const methods = plugin({ getWallet });\n\n acc[pluginName as PluginName] = methods as ReturnType<Plugins[keyof Plugins]>;\n return acc;\n },\n {} as { [key in PluginName]: ReturnType<Plugins[key]> },\n );\n\n const connectWalletMethods = Object.entries(wallets || {}).reduce(\n (acc, [walletName, wallet]) => {\n const connectWallet = wallet.connectWallet({ addChain });\n\n acc[walletName as keyof Wallets] = connectWallet as ReturnType<Wallets[keyof Wallets][\"connectWallet\"]>;\n return acc;\n },\n {} as {\n [key in keyof Wallets]: ReturnType<Wallets[key][\"connectWallet\"]>;\n },\n );\n\n function getSwapKitPlugin<T extends PluginName>(pluginName?: T) {\n const pluginByName = pluginName && availablePlugins[pluginName];\n const pluginByProvider = Object.values(availablePlugins).find((plugin) =>\n plugin.supportedSwapkitProviders?.includes(pluginName),\n );\n const plugin = pluginByName || pluginByProvider;\n\n if (!plugin) {\n throw new SwapKitError(\"core_plugin_not_found\");\n }\n\n return plugin as ReturnType<Plugins[T]>;\n }\n\n function addChain<T extends Chain>(connectWallet: Omit<ChainWallet<T>, \"balance\"> & { balance?: AssetValue[] }) {\n const currentWallet = getWallet(connectWallet.chain);\n\n const balance = connectWallet.balance || currentWallet.balance || [AssetValue.from({ chain: connectWallet.chain })];\n\n const wallet = { ...currentWallet, ...connectWallet, balance } as FullWallet[T];\n\n connectedWallets[connectWallet.chain] = wallet;\n\n return wallet;\n }\n\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress: spenderAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string | PluginName;\n }) {\n const plugin = availablePlugins[spenderAddress];\n\n if (plugin) {\n if (type === ApproveMode.CheckOnly && \"isAssetValueApproved\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.isAssetValueApproved({ assetValue }) as ApproveReturnType<T>;\n }\n if (type === ApproveMode.Approve && \"approveAssetValue\" in plugin) {\n // @ts-expect-error TODO: add optional approve for plugin\n return plugin.approveAssetValue({ assetValue }) as ApproveReturnType<T>;\n }\n\n throw new SwapKitError({\n errorKey: \"core_approve_asset_target_invalid\",\n info: { message: `Target ${String(spenderAddress)} cannot be used for approve operation` },\n });\n }\n\n const chain = assetValue.chain as EVMChain;\n const isEVMChain = EVMChains.includes(chain);\n const isNativeEVM = isEVMChain && assetValue.isGasAsset;\n\n if (isNativeEVM || !isEVMChain || assetValue.isSynthetic) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const wallet = getWallet(chain);\n const walletAction = type === \"checkOnly\" ? wallet.isApproved : wallet.approve;\n if (!walletAction) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (!(assetValue.address && wallet.address && typeof spenderAddress === \"string\")) {\n throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n }\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address,\n from: wallet.address,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n */\n function getWallet<T extends ConnectedChains>(chain: T) {\n return connectedWallets[chain];\n }\n\n function getAllWallets() {\n return { ...connectedWallets };\n }\n\n function getAddress<T extends Chain>(chain: T) {\n return getWallet(chain)?.address || \"\";\n }\n\n function approveAssetValue(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string | PluginName) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function disconnectChain<T extends Chain>(chain: T) {\n const wallet = getWallet(chain);\n wallet?.disconnect?.();\n delete connectedWallets[chain];\n }\n\n function disconnectAll() {\n for (const chain of Object.keys(connectedWallets) as (keyof typeof connectedWallets)[]) {\n disconnectChain(chain);\n }\n }\n\n function getBalance<T extends Chain, R extends boolean>(chain: T, refresh?: R): ConditionalAssetValueReturn<R> {\n return (\n refresh ? getWalletWithBalance(chain).then(({ balance }) => balance) : getWallet(chain)?.balance || []\n ) as ConditionalAssetValueReturn<R>;\n }\n\n async function getWalletWithBalance<T extends Chain>(chain: T, scamFilter = true) {\n if (!getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain);\n const defaultBalance = [AssetValue.from({ chain })];\n wallet.balance = defaultBalance;\n\n if (\"getBalance\" in wallet) {\n const balance = await wallet.getBalance(wallet.address, scamFilter);\n wallet.balance = balance;\n }\n\n return wallet;\n }\n\n function swap<T extends PluginName>({ route, pluginName, ...rest }: SwapParams<T, QuoteResponseRoute>) {\n const plugin = getSwapKitPlugin(pluginName || route.providers[0]);\n\n if (\"swap\" in plugin) {\n // @ts-expect-error TODO: fix this\n return plugin.swap({ ...rest, route });\n }\n\n throw new SwapKitError(\"core_plugin_swap_not_found\");\n }\n\n function transfer({ assetValue, ...params }: GenericTransferParams | EVMTransferParams) {\n const chain = assetValue.chain;\n if ([Chain.Radix].includes(chain) || !getWallet(chain)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const wallet = getWallet(chain as Exclude<Chain, typeof Chain.Radix | typeof Chain.Near>);\n\n // we need to simplify this to one object params\n return wallet.transfer({ ...params, assetValue });\n }\n\n function signMessage({ chain, message }: { chain: Chain; message: string }) {\n const wallet = getWallet(chain);\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n if (\"signMessage\" in wallet) {\n return wallet.signMessage?.(message);\n }\n\n throw new SwapKitError({\n errorKey: \"core_wallet_sign_message_not_supported\",\n info: { chain, wallet: wallet.walletType },\n });\n }\n\n async function verifyMessage({\n address,\n chain,\n message,\n signature,\n }: {\n chain: Chain;\n signature: string;\n message: string;\n address: string;\n }) {\n if (chain !== Chain.THORChain) {\n throw new SwapKitError({ errorKey: \"core_verify_message_not_supported\", info: { chain } });\n }\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n return toolbox.verifySignature({ address, message, signature });\n }\n\n async function estimateTransactionFee<P extends PluginName, T extends ActionType>({\n type,\n feeOptionKey,\n params,\n }: {\n type: T;\n params: ActionParams<P>[T];\n feeOptionKey: FeeOption;\n }): Promise<AssetValue | undefined> {\n const { assetValue } = params;\n const { chain } = assetValue;\n\n if (!getWallet(chain as Chain)) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const baseValue = AssetValue.from({ chain });\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .returnType<Promise<AssetValue | undefined> | AssetValue | undefined>()\n .with(...EVMChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n\n const tx = match(type as ActionType)\n .with(\"transfer\", () => wallet.createTransferTx(params as EVMCreateTransactionParams))\n .with(\"approve\", (_t) => {\n const { contractAddress } = params as ActionParams<P>[typeof _t];\n\n return wallet.createApprovalTx({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: assetValue.address as string,\n from: address,\n spenderAddress: contractAddress,\n });\n })\n .with(\"swap\", (_t) => {\n const {\n route: {\n providers: [plugin],\n tx,\n },\n } = params as ActionParams<P>[typeof _t];\n\n if (plugin && [PluginNameEnum.CHAINFLIP, PluginNameEnum.CHAINFLIP_STREAMING].includes(plugin)) {\n return wallet.createTransferTx({ assetValue, recipient: address, sender: address });\n }\n\n const evmTx = tx as EVMTransaction;\n\n return { ...evmTx, value: BigInt(evmTx.value) };\n })\n .otherwise(() => undefined);\n\n if (!tx) return baseValue;\n\n return wallet.estimateTransactionFee({ ...tx, chain, feeOption: feeOptionKey });\n })\n .with(...UTXOChains, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, feeOptionKey, recipient: address, sender: address });\n })\n .with(...CosmosChains, async () => {\n const { estimateTransactionFee } = await import(\"@swapkit/toolboxes/cosmos\");\n return estimateTransactionFee(params);\n })\n .with(Chain.Polkadot, (chain) => {\n const wallet = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: wallet.address });\n })\n .with(Chain.Tron, (chain) => {\n const { address, ...wallet } = getWallet(chain);\n return wallet.estimateTransactionFee({ ...params, recipient: address, sender: address });\n })\n .with(Chain.Ripple, (chain) => getWallet(chain).estimateTransactionFee())\n .otherwise(async () => baseValue);\n }\n\n return {\n ...availablePlugins,\n ...connectWalletMethods,\n\n approveAssetValue,\n\n disconnectAll,\n disconnectChain,\n estimateTransactionFee,\n getAddress,\n getAllWallets,\n getBalance,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n signMessage,\n swap,\n transfer,\n verifyMessage,\n };\n}\n\nexport * from \"@swapkit/helpers\";\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "kjBAAA,sBACE,gBAEA,WACA,kBAGA,eAEA,kBAGA,cACA,kBAEA,gBAEA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "519CB1B45B170FB664756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -141,7 +141,7 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
141
141
|
value: string;
|
|
142
142
|
} | {
|
|
143
143
|
accountNumber: number;
|
|
144
|
-
chainId: import("@swapkit/
|
|
144
|
+
chainId: import("@swapkit/types").ChainId;
|
|
145
145
|
fee: {
|
|
146
146
|
amount: {
|
|
147
147
|
amount: string;
|
|
@@ -729,7 +729,6 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
729
729
|
transfer: ({ assetValue, memo, recipient, feeOptionKey, sender, ...tx }: import("@swapkit/toolboxes/evm").EVMTransferParams) => Promise<string>;
|
|
730
730
|
validateAddress: (address: string) => boolean;
|
|
731
731
|
};
|
|
732
|
-
FIAT: ChainWallet<Chain.Fiat>;
|
|
733
732
|
GNO: ChainWallet<Chain.Gnosis> & {
|
|
734
733
|
getBalance: (address: string, scamFilter?: boolean) => Promise<import("@swapkit/helpers").AssetValue[]>;
|
|
735
734
|
getNetworkParams: () => import("@swapkit/helpers").NetworkParams;
|
|
@@ -906,13 +905,13 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
906
905
|
memo: string;
|
|
907
906
|
signer: string;
|
|
908
907
|
};
|
|
909
|
-
}, chain:
|
|
908
|
+
}, chain: import("@swapkit/types").TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
|
|
910
909
|
createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
|
|
911
910
|
createDefaultRegistry: typeof import("@swapkit/toolboxes/cosmos").createDefaultRegistry;
|
|
912
911
|
createMultisig: (pubKeys: string[], threshold: number, noSortPubKeys?: boolean) => Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
|
|
913
912
|
createTransaction: (params: import("@swapkit/toolboxes/cosmos").ThorchainCreateTransactionParams) => Promise<{
|
|
914
913
|
accountNumber: number;
|
|
915
|
-
chainId: import("@swapkit/
|
|
914
|
+
chainId: import("@swapkit/types").ChainId.MAYA | import("@swapkit/types").ChainId.THOR;
|
|
916
915
|
fee: {
|
|
917
916
|
amount: {
|
|
918
917
|
amount: string;
|
|
@@ -935,7 +934,7 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
935
934
|
sequence: number;
|
|
936
935
|
}> | Promise<{
|
|
937
936
|
accountNumber: number;
|
|
938
|
-
chainId: import("@swapkit/
|
|
937
|
+
chainId: import("@swapkit/types").ChainId.MAYA | import("@swapkit/types").ChainId.THOR;
|
|
939
938
|
fee: {
|
|
940
939
|
amount: {
|
|
941
940
|
amount: string;
|
|
@@ -1064,15 +1063,15 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
1064
1063
|
getBalance: (address: string, scamFilter?: boolean) => Promise<import("@swapkit/helpers").AssetValue[]>;
|
|
1065
1064
|
getL1GasPrice: () => bigint | undefined;
|
|
1066
1065
|
getNetworkParams: () => {
|
|
1067
|
-
blockExplorerUrls:
|
|
1068
|
-
chainId: import("@swapkit/
|
|
1069
|
-
chainName:
|
|
1066
|
+
blockExplorerUrls: "https://optimistic.etherscan.io"[];
|
|
1067
|
+
chainId: import("@swapkit/types").ChainId.OP;
|
|
1068
|
+
chainName: "Optimism";
|
|
1070
1069
|
nativeCurrency: {
|
|
1071
|
-
decimals:
|
|
1070
|
+
decimals: 18;
|
|
1072
1071
|
name: string;
|
|
1073
1072
|
symbol: Chain;
|
|
1074
1073
|
};
|
|
1075
|
-
rpcUrls:
|
|
1074
|
+
rpcUrls: "https://mainnet.optimism.io"[];
|
|
1076
1075
|
};
|
|
1077
1076
|
approve: ({ assetAddress, spenderAddress, feeOptionKey, amount, gasLimitFallback, from: fromParam, nonce, }: import("@swapkit/toolboxes/evm").ApproveParams) => Promise<string>;
|
|
1078
1077
|
approvedAmount: ({ assetAddress, spenderAddress, from }: import("@swapkit/toolboxes/evm").IsApprovedParams) => Promise<bigint>;
|
|
@@ -1094,7 +1093,7 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
1094
1093
|
}) => Promise<bigint>;
|
|
1095
1094
|
estimateTransactionFee: ({ feeOption, chain, ...txObject }: import("@swapkit/toolboxes/evm").EIP1559TxParams & {
|
|
1096
1095
|
feeOption: FeeOption;
|
|
1097
|
-
chain: import("@swapkit/
|
|
1096
|
+
chain: import("@swapkit/types").EVMChain;
|
|
1098
1097
|
}) => Promise<import("@swapkit/helpers").AssetValue>;
|
|
1099
1098
|
getAddress: () => string | Promise<string> | undefined;
|
|
1100
1099
|
isApproved: ({ assetAddress, spenderAddress, from, amount }: import("@swapkit/toolboxes/evm").IsApprovedParams) => Promise<boolean>;
|
|
@@ -1275,13 +1274,13 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
1275
1274
|
memo: string;
|
|
1276
1275
|
signer: string;
|
|
1277
1276
|
};
|
|
1278
|
-
}, chain:
|
|
1277
|
+
}, chain: import("@swapkit/types").TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
|
|
1279
1278
|
createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
|
|
1280
1279
|
createDefaultRegistry: typeof import("@swapkit/toolboxes/cosmos").createDefaultRegistry;
|
|
1281
1280
|
createMultisig: (pubKeys: string[], threshold: number, noSortPubKeys?: boolean) => Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
|
|
1282
1281
|
createTransaction: (params: import("@swapkit/toolboxes/cosmos").ThorchainCreateTransactionParams) => Promise<{
|
|
1283
1282
|
accountNumber: number;
|
|
1284
|
-
chainId: import("@swapkit/
|
|
1283
|
+
chainId: import("@swapkit/types").ChainId.MAYA | import("@swapkit/types").ChainId.THOR;
|
|
1285
1284
|
fee: {
|
|
1286
1285
|
amount: {
|
|
1287
1286
|
amount: string;
|
|
@@ -1304,7 +1303,7 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
1304
1303
|
sequence: number;
|
|
1305
1304
|
}> | Promise<{
|
|
1306
1305
|
accountNumber: number;
|
|
1307
|
-
chainId: import("@swapkit/
|
|
1306
|
+
chainId: import("@swapkit/types").ChainId.MAYA | import("@swapkit/types").ChainId.THOR;
|
|
1308
1307
|
fee: {
|
|
1309
1308
|
amount: {
|
|
1310
1309
|
amount: string;
|
|
@@ -1469,9 +1468,7 @@ export declare function SwapKit<Plugins extends ReturnType<typeof createPlugin>,
|
|
|
1469
1468
|
};
|
|
1470
1469
|
getBalance: <T_1 extends Chain, R extends boolean>(chain: T_1, refresh?: R) => ConditionalAssetValueReturn<R>;
|
|
1471
1470
|
getWallet: <T_1 extends Chain>(chain: T_1) => FullWallet[T_1];
|
|
1472
|
-
getWalletWithBalance: <T_1 extends Chain>(chain: T_1, scamFilter?: boolean) => Promise<
|
|
1473
|
-
balance: AssetValue[];
|
|
1474
|
-
}>;
|
|
1471
|
+
getWalletWithBalance: <T_1 extends Chain>(chain: T_1, scamFilter?: boolean) => Promise<FullWallet[T_1]>;
|
|
1475
1472
|
isAssetValueApproved: (assetValue: AssetValue, contractAddress: string | keyof Plugins) => Promise<boolean>;
|
|
1476
1473
|
signMessage: ({ chain, message }: {
|
|
1477
1474
|
chain: Chain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAEhC,KAAK,QAAQ,EAEb,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,YAAY,IAAI,cAAc,EAE9B,KAAK,aAAa,EAElB,KAAK,UAAU,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEvF,wBAAgB,OAAO,CACrB,OAAO,SAAS,UAAU,CAAC,OAAO,YAAY,CAAC,EAC/C,OAAO,SAAS,UAAU,CAAC,OAAO,YAAY,CAAC,EAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,6DAuBxF,GAAG;oCA2GyB,UAAU,mBAAmB,MAAM,gBAAa;;kCAQpD,KAAK,SAAS,GAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "swapkit-oss",
|
|
3
|
-
"dependencies": { "@swapkit/helpers": "4.0.
|
|
3
|
+
"dependencies": { "@swapkit/helpers": "4.0.21", "@swapkit/toolboxes": "4.0.21" },
|
|
4
4
|
"description": "SwapKit - Core",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": { "import": "./dist/index.js", "require": "./dist/index.cjs", "types": "./dist/types/index.d.ts" }
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"type-check:go": "tsgo"
|
|
21
21
|
},
|
|
22
22
|
"type": "module",
|
|
23
|
-
"version": "4.0.
|
|
23
|
+
"version": "4.0.21"
|
|
24
24
|
}
|