@swapkit/toolboxes 4.2.0 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/src/cardano/index.cjs +2 -2
  2. package/dist/src/cardano/index.cjs.map +3 -3
  3. package/dist/src/cardano/index.js +2 -2
  4. package/dist/src/cardano/index.js.map +3 -3
  5. package/dist/src/evm/index.cjs +2 -2
  6. package/dist/src/evm/index.cjs.map +8 -8
  7. package/dist/src/evm/index.js +2 -2
  8. package/dist/src/evm/index.js.map +8 -8
  9. package/dist/src/index.cjs +3 -3
  10. package/dist/src/index.cjs.map +15 -15
  11. package/dist/src/index.js +3 -3
  12. package/dist/src/index.js.map +15 -15
  13. package/dist/src/substrate/index.cjs +2 -2
  14. package/dist/src/substrate/index.cjs.map +3 -3
  15. package/dist/src/substrate/index.js +2 -2
  16. package/dist/src/substrate/index.js.map +3 -3
  17. package/dist/src/tron/index.cjs +2 -2
  18. package/dist/src/tron/index.cjs.map +3 -3
  19. package/dist/src/tron/index.js +2 -2
  20. package/dist/src/tron/index.js.map +3 -3
  21. package/dist/src/utxo/index.cjs +3 -3
  22. package/dist/src/utxo/index.cjs.map +6 -6
  23. package/dist/src/utxo/index.js +3 -3
  24. package/dist/src/utxo/index.js.map +6 -6
  25. package/dist/types/cardano/toolbox.d.ts +1 -1
  26. package/dist/types/cardano/toolbox.d.ts.map +1 -1
  27. package/dist/types/evm/api.d.ts +1 -1
  28. package/dist/types/evm/api.d.ts.map +1 -1
  29. package/dist/types/evm/helpers.d.ts.map +1 -1
  30. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +1 -1
  31. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  32. package/dist/types/evm/toolbox/evm.d.ts +97 -17
  33. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  34. package/dist/types/evm/toolbox/index.d.ts.map +1 -1
  35. package/dist/types/evm/toolbox/op.d.ts +1 -1
  36. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  37. package/dist/types/evm/types.d.ts +4 -2
  38. package/dist/types/evm/types.d.ts.map +1 -1
  39. package/dist/types/substrate/balance.d.ts.map +1 -1
  40. package/dist/types/tron/toolbox.d.ts.map +1 -1
  41. package/dist/types/utxo/helpers/api.d.ts +2 -34
  42. package/dist/types/utxo/helpers/api.d.ts.map +1 -1
  43. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +1 -1
  44. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
  45. package/dist/types/utxo/toolbox/index.d.ts +3 -27
  46. package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
  47. package/dist/types/utxo/toolbox/params.d.ts +32 -0
  48. package/dist/types/utxo/toolbox/params.d.ts.map +1 -0
  49. package/dist/types/utxo/toolbox/utxo.d.ts +1 -1
  50. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
  51. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
  52. package/package.json +86 -58
  53. package/src/__tests__/address-validation-all-chains.test.ts +162 -0
  54. package/src/__tests__/addressValidator.test.ts +162 -0
  55. package/src/cardano/__tests__/toolbox.test.ts +48 -0
  56. package/src/cardano/index.ts +2 -0
  57. package/src/cardano/toolbox.ts +168 -0
  58. package/src/cardano/types.ts +10 -0
  59. package/src/cosmos/__tests__/toolbox.test.ts +91 -0
  60. package/src/cosmos/index.ts +4 -0
  61. package/src/cosmos/thorchainUtils/addressFormat.ts +22 -0
  62. package/src/cosmos/thorchainUtils/index.ts +4 -0
  63. package/src/cosmos/thorchainUtils/messages.ts +212 -0
  64. package/src/cosmos/thorchainUtils/registry.ts +43 -0
  65. package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +2800 -0
  66. package/src/cosmos/thorchainUtils/types/client-types.ts +54 -0
  67. package/src/cosmos/thorchainUtils/types/index.ts +1 -0
  68. package/src/cosmos/toolbox/cosmos.ts +345 -0
  69. package/src/cosmos/toolbox/index.ts +35 -0
  70. package/src/cosmos/toolbox/thorchain.ts +249 -0
  71. package/src/cosmos/types.ts +48 -0
  72. package/src/cosmos/util.ts +214 -0
  73. package/src/evm/__tests__/address-validation.test.ts +84 -0
  74. package/src/evm/__tests__/ethereum.test.ts +137 -0
  75. package/src/evm/__tests__/signMessage.test.ts +60 -0
  76. package/src/evm/api.ts +10 -0
  77. package/src/evm/contracts/eth/multicall.ts +165 -0
  78. package/src/evm/contracts/op/gasOracle.ts +145 -0
  79. package/src/evm/helpers.ts +73 -0
  80. package/src/evm/index.ts +4 -0
  81. package/src/evm/toolbox/baseEVMToolbox.ts +695 -0
  82. package/src/evm/toolbox/evm.ts +67 -0
  83. package/src/evm/toolbox/index.ts +45 -0
  84. package/src/evm/toolbox/op.ts +163 -0
  85. package/src/evm/types.ts +146 -0
  86. package/src/index.ts +260 -0
  87. package/src/near/__tests__/core.test.ts +70 -0
  88. package/src/near/helpers/core.ts +85 -0
  89. package/src/near/helpers/gasEstimation.ts +96 -0
  90. package/src/near/helpers/nep141.ts +50 -0
  91. package/src/near/index.ts +21 -0
  92. package/src/near/toolbox.ts +421 -0
  93. package/src/near/types/contract.ts +32 -0
  94. package/src/near/types/nep141.ts +34 -0
  95. package/src/near/types/toolbox.ts +55 -0
  96. package/src/near/types.ts +44 -0
  97. package/src/radix/index.ts +132 -0
  98. package/src/ripple/index.ts +179 -0
  99. package/src/solana/index.ts +36 -0
  100. package/src/solana/toolbox.ts +415 -0
  101. package/src/substrate/balance.ts +88 -0
  102. package/src/substrate/index.ts +2 -0
  103. package/src/substrate/substrate.ts +281 -0
  104. package/src/substrate/types.ts +115 -0
  105. package/src/sui/__tests__/toolbox.test.ts +82 -0
  106. package/src/sui/index.ts +2 -0
  107. package/src/sui/toolbox.ts +165 -0
  108. package/src/sui/types.ts +11 -0
  109. package/src/ton/__tests__/toolbox.test.ts +63 -0
  110. package/src/ton/index.ts +2 -0
  111. package/src/ton/toolbox.ts +136 -0
  112. package/src/ton/types.ts +13 -0
  113. package/src/tron/__tests__/toolbox.test.ts +221 -0
  114. package/src/tron/helpers/trc20.abi.ts +107 -0
  115. package/src/tron/helpers/trongrid.ts +53 -0
  116. package/src/tron/index.ts +21 -0
  117. package/src/tron/toolbox.ts +585 -0
  118. package/src/tron/types.ts +83 -0
  119. package/src/types.ts +28 -0
  120. package/src/utils.ts +27 -0
  121. package/src/utxo/__tests__/zcash-integration.test.ts +97 -0
  122. package/src/utxo/helpers/api.ts +471 -0
  123. package/src/utxo/helpers/bchaddrjs.ts +166 -0
  124. package/src/utxo/helpers/coinselect.ts +92 -0
  125. package/src/utxo/helpers/index.ts +4 -0
  126. package/src/utxo/helpers/txSize.ts +137 -0
  127. package/src/utxo/index.ts +6 -0
  128. package/src/utxo/toolbox/bitcoinCash.ts +243 -0
  129. package/src/utxo/toolbox/index.ts +59 -0
  130. package/src/utxo/toolbox/params.ts +18 -0
  131. package/src/utxo/toolbox/utxo.ts +439 -0
  132. package/src/utxo/toolbox/validators.ts +36 -0
  133. package/src/utxo/toolbox/zcash.ts +245 -0
  134. package/src/utxo/types.ts +39 -0
@@ -1,4 +1,4 @@
1
- var C=Object.create;var{getPrototypeOf:K,defineProperty:Z,getOwnPropertyNames:x,getOwnPropertyDescriptor:S}=Object,B=Object.prototype.hasOwnProperty;var $=(y,f,R)=>{R=y!=null?C(K(y)):{};let q=f||!y||!y.__esModule?Z(R,"default",{value:y,enumerable:!0}):R;for(let J of x(y))if(!B.call(q,J))Z(q,J,{get:()=>y[J],enumerable:!0});return q},I=new WeakMap,k=(y)=>{var f=I.get(y),R;if(f)return f;if(f=Z({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function")x(y).map((q)=>!B.call(f,q)&&Z(f,q,{get:()=>y[q],enumerable:!(R=S(y,q))||R.enumerable}));return I.set(y,f),f};var E=(y,f)=>{for(var R in f)Z(y,R,{get:f[R],enumerable:!0,configurable:!0,set:(q)=>f[R]=()=>q})};var O=(y,f)=>()=>(y&&(f=y(y=0)),f);async function Y(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function w(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),R=await Y(),q=new f({fetcher:R,key:{address:y,type:"address"},networkId:1});await q.init();let J=await q.getBalance(),N=[];for(let Q of J)if(Q.unit===p){let{baseDecimal:F}=j.getChainConfig(j.Chain.Cardano);N.push(j.AssetValue.from({chain:j.Chain.Cardano,fromBaseDecimal:F,value:Q.quantity}))}else N.push(j.AssetValue.from({asset:`${j.Chain.Cardano}.${Q.unit}`,value:Q.quantity}));if(N.length===0)return[j.AssetValue.from({chain:j.Chain.Cardano})];return N}catch(f){return console.error("Cardano balance fetch error:",f),[j.AssetValue.from({chain:j.Chain.Cardano})]}}async function b(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function P(y){let f=await b(),R=await z.match(y).with({phrase:z.P.string},async({phrase:H})=>{let{MeshWallet:G}=await import("@meshsdk/core"),L=await Y(),U=new G({fetcher:L,key:{type:"mnemonic",words:H.split(" ")},networkId:1,submitter:L});return await U.init(),U}).with({signer:z.P.any},({signer:H})=>H).otherwise(()=>{return}),q=R&&"getChangeAddress"in R?await R.getChangeAddress():"";function J(){return q||""}function N(H){let G=H||J();if(!G)throw new j.SwapKitError("core_wallet_connection_not_found");return w(G)}function Q(){return Promise.resolve(j.AssetValue.from({chain:j.Chain.Cardano,value:"0.01"}))}async function F({recipient:H,assetValue:G,memo:L}){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");let{Transaction:U}=await import("@meshsdk/core"),[,W]=G.symbol.split("-");if(!G.isGasAsset&&!W)throw new j.SwapKitError("core_wallet_connection_not_found");let X=new U({initiator:R});if(X.sendAssets({address:H},[{quantity:G.getBaseValue("string"),unit:G.isGasAsset?"lovelace":G.symbol}]),L)X.setMetadata(0,L);let M=await X.build();return{tx:X,unsignedTx:M}}function _(H){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");return R.signTx(H)}async function v({recipient:H,assetValue:G,memo:L}){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:U}=await F({assetValue:G,memo:L,recipient:H}),W=await _(U);return await(await Y()).submitTx(W)}return{createTransaction:F,estimateTransactionFee:Q,getAddress:J,getBalance:N,signTransaction:_,transfer:v,validateAddress:f}}var j,z,p="lovelace";var D=O(()=>{j=require("@swapkit/helpers"),z=require("ts-pattern")});var A={};E(A,{getCardanoToolbox:()=>P,getCardanoAddressValidator:()=>b});module.exports=k(A);var o=O(()=>{D()});o();
1
+ var C=Object.create;var{getPrototypeOf:K,defineProperty:Z,getOwnPropertyNames:x,getOwnPropertyDescriptor:S}=Object,B=Object.prototype.hasOwnProperty;var $=(y,f,R)=>{R=y!=null?C(K(y)):{};let q=f||!y||!y.__esModule?Z(R,"default",{value:y,enumerable:!0}):R;for(let J of x(y))if(!B.call(q,J))Z(q,J,{get:()=>y[J],enumerable:!0});return q},M=new WeakMap,k=(y)=>{var f=M.get(y),R;if(f)return f;if(f=Z({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function")x(y).map((q)=>!B.call(f,q)&&Z(f,q,{get:()=>y[q],enumerable:!(R=S(y,q))||R.enumerable}));return M.set(y,f),f};var E=(y,f)=>{for(var R in f)Z(y,R,{get:f[R],enumerable:!0,configurable:!0,set:(q)=>f[R]=()=>q})};var O=(y,f)=>()=>(y&&(f=y(y=0)),f);async function Y(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function w(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),R=await Y(),q=new f({fetcher:R,key:{address:y,type:"address"},networkId:1});await q.init();let J=await q.getBalance(),N=[];for(let Q of J)if(Q.unit===p){let{baseDecimal:F}=j.getChainConfig(j.Chain.Cardano);N.push(j.AssetValue.from({chain:j.Chain.Cardano,fromBaseDecimal:F,value:Q.quantity}))}else N.push(j.AssetValue.from({asset:`${j.Chain.Cardano}.${Q.unit}`,value:Q.quantity}));if(N.length===0)return[j.AssetValue.from({chain:j.Chain.Cardano})];return N}catch(f){let R=f instanceof Error?f.message:String(f);return console.error(`Cardano balance fetch error: ${R}`),[j.AssetValue.from({chain:j.Chain.Cardano})]}}async function b(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function P(y){let f=await b(),R=await z.match(y).with({phrase:z.P.string},async({phrase:H})=>{let{MeshWallet:G}=await import("@meshsdk/core"),L=await Y(),U=new G({fetcher:L,key:{type:"mnemonic",words:H.split(" ")},networkId:1,submitter:L});return await U.init(),U}).with({signer:z.P.any},({signer:H})=>H).otherwise(()=>{return}),q=R&&"getChangeAddress"in R?await R.getChangeAddress():"";function J(){return q||""}function N(H){let G=H||J();if(!G)throw new j.SwapKitError("core_wallet_connection_not_found");return w(G)}function Q(){return Promise.resolve(j.AssetValue.from({chain:j.Chain.Cardano,value:"0.01"}))}async function F({recipient:H,assetValue:G,memo:L}){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");let{Transaction:U}=await import("@meshsdk/core"),[,W]=G.symbol.split("-");if(!G.isGasAsset&&!W)throw new j.SwapKitError("core_wallet_connection_not_found");let X=new U({initiator:R});if(X.sendAssets({address:H},[{quantity:G.getBaseValue("string"),unit:G.isGasAsset?"lovelace":G.symbol}]),L)X.setMetadata(0,L);let I=await X.build();return{tx:X,unsignedTx:I}}function _(H){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");return R.signTx(H)}async function v({recipient:H,assetValue:G,memo:L}){if(!R||!("getChangeAddress"in R))throw new j.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:U}=await F({assetValue:G,memo:L,recipient:H}),W=await _(U);return await(await Y()).submitTx(W)}return{createTransaction:F,estimateTransactionFee:Q,getAddress:J,getBalance:N,signTransaction:_,transfer:v,validateAddress:f}}var j,z,p="lovelace";var D=O(()=>{j=require("@swapkit/helpers"),z=require("ts-pattern")});var A={};E(A,{getCardanoToolbox:()=>P,getCardanoAddressValidator:()=>b});module.exports=k(A);var o=O(()=>{D()});o();
2
2
 
3
- //# debugId=8F93DCBA8767816564756E2164756E21
3
+ //# debugId=F11D52CE0C208A0564756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/cardano/toolbox.ts", "../src/cardano/index.ts"],
4
4
  "sourcesContent": [
5
- "import { AssetValue, Chain, type DerivationPathArray, getChainConfig, SwapKitError } from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { CardanoProvider } from \"./index\";\n\ntype CardanoSigner = CardanoProvider | { address: string };\n\n// TODO: this should done on BE side\nasync function getProvider() {\n const { BlockfrostProvider } = await import(\"@meshsdk/core\");\n const apiKey = \"mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS\"; // TODO: TEST API KEY\n return new BlockfrostProvider(apiKey);\n}\n\nconst ADA_ID = \"lovelace\";\n\nasync function getCardanoBalance(address: string) {\n try {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({ fetcher: provider, key: { address, type: \"address\" }, networkId: 1 });\n\n await wallet.init();\n const balance = await wallet.getBalance();\n\n const balances: AssetValue[] = [];\n\n for (const asset of balance) {\n if (asset.unit === ADA_ID) {\n const { baseDecimal } = getChainConfig(Chain.Cardano);\n balances.push(AssetValue.from({ chain: Chain.Cardano, fromBaseDecimal: baseDecimal, value: asset.quantity }));\n } else {\n balances.push(AssetValue.from({ asset: `${Chain.Cardano}.${asset.unit}`, value: asset.quantity }));\n }\n }\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n\n return balances;\n } catch (error) {\n console.error(\"Cardano balance fetch error:\", error);\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n}\n\nexport async function getCardanoAddressValidator() {\n const { deserializeAddress } = await import(\"@meshsdk/core\");\n\n return (address: string) => {\n try {\n deserializeAddress(address);\n return true;\n } catch {\n return false;\n }\n };\n}\n\nexport async function getCardanoToolbox(\n toolboxParams?:\n | { signer?: CardanoSigner }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const validateAddress = await getCardanoAddressValidator();\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, async ({ phrase }) => {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({\n fetcher: provider,\n key: { type: \"mnemonic\", words: phrase.split(\" \") },\n networkId: 1,\n submitter: provider,\n });\n\n await wallet.init();\n return wallet;\n })\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const signerAddress = signer && \"getChangeAddress\" in signer ? await signer.getChangeAddress() : \"\";\n\n function getAddress() {\n return signerAddress || \"\";\n }\n\n function getBalance(addressParam?: string) {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getCardanoBalance(address);\n }\n\n function estimateTransactionFee() {\n return Promise.resolve(AssetValue.from({ chain: Chain.Cardano, value: \"0.01\" }));\n }\n\n async function createTransaction({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const { Transaction } = await import(\"@meshsdk/core\");\n\n const [, policyId] = assetValue.symbol.split(\"-\");\n if (!assetValue.isGasAsset && !policyId) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const tx = new Transaction({ initiator: signer });\n tx.sendAssets({ address: recipient }, [\n { quantity: assetValue.getBaseValue(\"string\"), unit: assetValue.isGasAsset ? \"lovelace\" : assetValue.symbol },\n ]);\n\n if (memo) tx.setMetadata(0, memo);\n\n const unsignedTx = await tx.build();\n return { tx, unsignedTx };\n }\n\n function signTransaction(txParams: string) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n return signer.signTx(txParams);\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const { unsignedTx } = await createTransaction({ assetValue, memo, recipient });\n const signedTx = await signTransaction(unsignedTx);\n const provider = await getProvider();\n const txHash = await provider.submitTx(signedTx);\n\n return txHash;\n }\n\n return {\n createTransaction,\n estimateTransactionFee,\n getAddress,\n getBalance,\n signTransaction,\n transfer,\n validateAddress,\n };\n}\n",
5
+ "import { AssetValue, Chain, type DerivationPathArray, getChainConfig, SwapKitError } from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { CardanoProvider } from \"./index\";\n\ntype CardanoSigner = CardanoProvider | { address: string };\n\n// TODO: this should done on BE side\nasync function getProvider() {\n const { BlockfrostProvider } = await import(\"@meshsdk/core\");\n const apiKey = \"mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS\"; // TODO: TEST API KEY\n return new BlockfrostProvider(apiKey);\n}\n\nconst ADA_ID = \"lovelace\";\n\nasync function getCardanoBalance(address: string) {\n try {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({ fetcher: provider, key: { address, type: \"address\" }, networkId: 1 });\n\n await wallet.init();\n const balance = await wallet.getBalance();\n\n const balances: AssetValue[] = [];\n\n for (const asset of balance) {\n if (asset.unit === ADA_ID) {\n const { baseDecimal } = getChainConfig(Chain.Cardano);\n balances.push(AssetValue.from({ chain: Chain.Cardano, fromBaseDecimal: baseDecimal, value: asset.quantity }));\n } else {\n balances.push(AssetValue.from({ asset: `${Chain.Cardano}.${asset.unit}`, value: asset.quantity }));\n }\n }\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n\n return balances;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n console.error(`Cardano balance fetch error: ${errorMessage}`);\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n}\n\nexport async function getCardanoAddressValidator() {\n const { deserializeAddress } = await import(\"@meshsdk/core\");\n\n return (address: string) => {\n try {\n deserializeAddress(address);\n return true;\n } catch {\n return false;\n }\n };\n}\n\nexport async function getCardanoToolbox(\n toolboxParams?:\n | { signer?: CardanoSigner }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const validateAddress = await getCardanoAddressValidator();\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, async ({ phrase }) => {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({\n fetcher: provider,\n key: { type: \"mnemonic\", words: phrase.split(\" \") },\n networkId: 1,\n submitter: provider,\n });\n\n await wallet.init();\n return wallet;\n })\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const signerAddress = signer && \"getChangeAddress\" in signer ? await signer.getChangeAddress() : \"\";\n\n function getAddress() {\n return signerAddress || \"\";\n }\n\n function getBalance(addressParam?: string) {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getCardanoBalance(address);\n }\n\n function estimateTransactionFee() {\n return Promise.resolve(AssetValue.from({ chain: Chain.Cardano, value: \"0.01\" }));\n }\n\n async function createTransaction({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const { Transaction } = await import(\"@meshsdk/core\");\n\n const [, policyId] = assetValue.symbol.split(\"-\");\n if (!assetValue.isGasAsset && !policyId) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const tx = new Transaction({ initiator: signer });\n tx.sendAssets({ address: recipient }, [\n { quantity: assetValue.getBaseValue(\"string\"), unit: assetValue.isGasAsset ? \"lovelace\" : assetValue.symbol },\n ]);\n\n if (memo) tx.setMetadata(0, memo);\n\n const unsignedTx = await tx.build();\n return { tx, unsignedTx };\n }\n\n function signTransaction(txParams: string) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n return signer.signTx(txParams);\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const { unsignedTx } = await createTransaction({ assetValue, memo, recipient });\n const signedTx = await signTransaction(unsignedTx);\n const provider = await getProvider();\n const txHash = await provider.submitTx(signedTx);\n\n return txHash;\n }\n\n return {\n createTransaction,\n estimateTransactionFee,\n getAddress,\n getBalance,\n signTransaction,\n transfer,\n validateAddress,\n };\n}\n",
6
6
  "export * from \"./toolbox\";\nexport * from \"./types\";\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "8F93DCBA8767816564756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "F11D52CE0C208A0564756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
1
- var C=Object.create;var{getPrototypeOf:K,defineProperty:_,getOwnPropertyNames:S}=Object;var k=Object.prototype.hasOwnProperty;var Z=(y,R,f)=>{f=y!=null?C(K(y)):{};let G=R||!y||!y.__esModule?_(f,"default",{value:y,enumerable:!0}):f;for(let H of S(y))if(!k.call(G,H))_(G,H,{get:()=>y[H],enumerable:!0});return G};var E=(y,R)=>{for(var f in R)_(y,f,{get:R[f],enumerable:!0,configurable:!0,set:(G)=>R[f]=()=>G})};var B=(y,R)=>()=>(y&&(R=y(y=0)),R);var $=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(R,f)=>(typeof require<"u"?require:R)[f]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as F,Chain as U,getChainConfig as p,SwapKitError as z}from"@swapkit/helpers";import{match as w,P as O}from"ts-pattern";async function M(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),R="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function T(y){try{let{MeshWallet:R}=await import("@meshsdk/core"),f=await M(),G=new R({fetcher:f,key:{address:y,type:"address"},networkId:1});await G.init();let H=await G.getBalance(),L=[];for(let N of H)if(N.unit===P){let{baseDecimal:W}=p(U.Cardano);L.push(F.from({chain:U.Cardano,fromBaseDecimal:W,value:N.quantity}))}else L.push(F.from({asset:`${U.Cardano}.${N.unit}`,value:N.quantity}));if(L.length===0)return[F.from({chain:U.Cardano})];return L}catch(R){return console.error("Cardano balance fetch error:",R),[F.from({chain:U.Cardano})]}}async function b(){let{deserializeAddress:y}=await import("@meshsdk/core");return(R)=>{try{return y(R),!0}catch{return!1}}}async function A(y){let R=await b(),f=await w(y).with({phrase:O.string},async({phrase:q})=>{let{MeshWallet:j}=await import("@meshsdk/core"),J=await M(),Q=new j({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await Q.init(),Q}).with({signer:O.any},({signer:q})=>q).otherwise(()=>{return}),G=f&&"getChangeAddress"in f?await f.getChangeAddress():"";function H(){return G||""}function L(q){let j=q||H();if(!j)throw new z("core_wallet_connection_not_found");return T(j)}function N(){return Promise.resolve(F.from({chain:U.Cardano,value:"0.01"}))}async function W({recipient:q,assetValue:j,memo:J}){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=j.symbol.split("-");if(!j.isGasAsset&&!Y)throw new z("core_wallet_connection_not_found");let X=new Q({initiator:f});if(X.sendAssets({address:q},[{quantity:j.getBaseValue("string"),unit:j.isGasAsset?"lovelace":j.symbol}]),J)X.setMetadata(0,J);let x=await X.build();return{tx:X,unsignedTx:x}}function I(q){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");return f.signTx(q)}async function v({recipient:q,assetValue:j,memo:J}){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");let{unsignedTx:Q}=await W({assetValue:j,memo:J,recipient:q}),Y=await I(Q);return await(await M()).submitTx(Y)}return{createTransaction:W,estimateTransactionFee:N,getAddress:H,getBalance:L,signTransaction:I,transfer:v,validateAddress:R}}var P="lovelace";var D=()=>{};var u={};E(u,{getCardanoToolbox:()=>A,getCardanoAddressValidator:()=>b});var V=B(()=>{D()});V();export{A as getCardanoToolbox,b as getCardanoAddressValidator};
1
+ var C=Object.create;var{getPrototypeOf:K,defineProperty:_,getOwnPropertyNames:S}=Object;var k=Object.prototype.hasOwnProperty;var Z=(y,R,f)=>{f=y!=null?C(K(y)):{};let G=R||!y||!y.__esModule?_(f,"default",{value:y,enumerable:!0}):f;for(let H of S(y))if(!k.call(G,H))_(G,H,{get:()=>y[H],enumerable:!0});return G};var E=(y,R)=>{for(var f in R)_(y,f,{get:R[f],enumerable:!0,configurable:!0,set:(G)=>R[f]=()=>G})};var B=(y,R)=>()=>(y&&(R=y(y=0)),R);var $=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(R,f)=>(typeof require<"u"?require:R)[f]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as F,Chain as U,getChainConfig as p,SwapKitError as z}from"@swapkit/helpers";import{match as w,P as O}from"ts-pattern";async function I(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),R="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function T(y){try{let{MeshWallet:R}=await import("@meshsdk/core"),f=await I(),G=new R({fetcher:f,key:{address:y,type:"address"},networkId:1});await G.init();let H=await G.getBalance(),L=[];for(let N of H)if(N.unit===P){let{baseDecimal:W}=p(U.Cardano);L.push(F.from({chain:U.Cardano,fromBaseDecimal:W,value:N.quantity}))}else L.push(F.from({asset:`${U.Cardano}.${N.unit}`,value:N.quantity}));if(L.length===0)return[F.from({chain:U.Cardano})];return L}catch(R){let f=R instanceof Error?R.message:String(R);return console.error(`Cardano balance fetch error: ${f}`),[F.from({chain:U.Cardano})]}}async function b(){let{deserializeAddress:y}=await import("@meshsdk/core");return(R)=>{try{return y(R),!0}catch{return!1}}}async function A(y){let R=await b(),f=await w(y).with({phrase:O.string},async({phrase:q})=>{let{MeshWallet:j}=await import("@meshsdk/core"),J=await I(),Q=new j({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await Q.init(),Q}).with({signer:O.any},({signer:q})=>q).otherwise(()=>{return}),G=f&&"getChangeAddress"in f?await f.getChangeAddress():"";function H(){return G||""}function L(q){let j=q||H();if(!j)throw new z("core_wallet_connection_not_found");return T(j)}function N(){return Promise.resolve(F.from({chain:U.Cardano,value:"0.01"}))}async function W({recipient:q,assetValue:j,memo:J}){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=j.symbol.split("-");if(!j.isGasAsset&&!Y)throw new z("core_wallet_connection_not_found");let X=new Q({initiator:f});if(X.sendAssets({address:q},[{quantity:j.getBaseValue("string"),unit:j.isGasAsset?"lovelace":j.symbol}]),J)X.setMetadata(0,J);let x=await X.build();return{tx:X,unsignedTx:x}}function M(q){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");return f.signTx(q)}async function v({recipient:q,assetValue:j,memo:J}){if(!f||!("getChangeAddress"in f))throw new z("core_wallet_connection_not_found");let{unsignedTx:Q}=await W({assetValue:j,memo:J,recipient:q}),Y=await M(Q);return await(await I()).submitTx(Y)}return{createTransaction:W,estimateTransactionFee:N,getAddress:H,getBalance:L,signTransaction:M,transfer:v,validateAddress:R}}var P="lovelace";var D=()=>{};var u={};E(u,{getCardanoToolbox:()=>A,getCardanoAddressValidator:()=>b});var V=B(()=>{D()});V();export{A as getCardanoToolbox,b as getCardanoAddressValidator};
2
2
 
3
- //# debugId=0526352FCE5F2E8A64756E2164756E21
3
+ //# debugId=928531210699142E64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/cardano/toolbox.ts", "../src/cardano/index.ts"],
4
4
  "sourcesContent": [
5
- "import { AssetValue, Chain, type DerivationPathArray, getChainConfig, SwapKitError } from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { CardanoProvider } from \"./index\";\n\ntype CardanoSigner = CardanoProvider | { address: string };\n\n// TODO: this should done on BE side\nasync function getProvider() {\n const { BlockfrostProvider } = await import(\"@meshsdk/core\");\n const apiKey = \"mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS\"; // TODO: TEST API KEY\n return new BlockfrostProvider(apiKey);\n}\n\nconst ADA_ID = \"lovelace\";\n\nasync function getCardanoBalance(address: string) {\n try {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({ fetcher: provider, key: { address, type: \"address\" }, networkId: 1 });\n\n await wallet.init();\n const balance = await wallet.getBalance();\n\n const balances: AssetValue[] = [];\n\n for (const asset of balance) {\n if (asset.unit === ADA_ID) {\n const { baseDecimal } = getChainConfig(Chain.Cardano);\n balances.push(AssetValue.from({ chain: Chain.Cardano, fromBaseDecimal: baseDecimal, value: asset.quantity }));\n } else {\n balances.push(AssetValue.from({ asset: `${Chain.Cardano}.${asset.unit}`, value: asset.quantity }));\n }\n }\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n\n return balances;\n } catch (error) {\n console.error(\"Cardano balance fetch error:\", error);\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n}\n\nexport async function getCardanoAddressValidator() {\n const { deserializeAddress } = await import(\"@meshsdk/core\");\n\n return (address: string) => {\n try {\n deserializeAddress(address);\n return true;\n } catch {\n return false;\n }\n };\n}\n\nexport async function getCardanoToolbox(\n toolboxParams?:\n | { signer?: CardanoSigner }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const validateAddress = await getCardanoAddressValidator();\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, async ({ phrase }) => {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({\n fetcher: provider,\n key: { type: \"mnemonic\", words: phrase.split(\" \") },\n networkId: 1,\n submitter: provider,\n });\n\n await wallet.init();\n return wallet;\n })\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const signerAddress = signer && \"getChangeAddress\" in signer ? await signer.getChangeAddress() : \"\";\n\n function getAddress() {\n return signerAddress || \"\";\n }\n\n function getBalance(addressParam?: string) {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getCardanoBalance(address);\n }\n\n function estimateTransactionFee() {\n return Promise.resolve(AssetValue.from({ chain: Chain.Cardano, value: \"0.01\" }));\n }\n\n async function createTransaction({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const { Transaction } = await import(\"@meshsdk/core\");\n\n const [, policyId] = assetValue.symbol.split(\"-\");\n if (!assetValue.isGasAsset && !policyId) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const tx = new Transaction({ initiator: signer });\n tx.sendAssets({ address: recipient }, [\n { quantity: assetValue.getBaseValue(\"string\"), unit: assetValue.isGasAsset ? \"lovelace\" : assetValue.symbol },\n ]);\n\n if (memo) tx.setMetadata(0, memo);\n\n const unsignedTx = await tx.build();\n return { tx, unsignedTx };\n }\n\n function signTransaction(txParams: string) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n return signer.signTx(txParams);\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const { unsignedTx } = await createTransaction({ assetValue, memo, recipient });\n const signedTx = await signTransaction(unsignedTx);\n const provider = await getProvider();\n const txHash = await provider.submitTx(signedTx);\n\n return txHash;\n }\n\n return {\n createTransaction,\n estimateTransactionFee,\n getAddress,\n getBalance,\n signTransaction,\n transfer,\n validateAddress,\n };\n}\n",
5
+ "import { AssetValue, Chain, type DerivationPathArray, getChainConfig, SwapKitError } from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { CardanoProvider } from \"./index\";\n\ntype CardanoSigner = CardanoProvider | { address: string };\n\n// TODO: this should done on BE side\nasync function getProvider() {\n const { BlockfrostProvider } = await import(\"@meshsdk/core\");\n const apiKey = \"mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS\"; // TODO: TEST API KEY\n return new BlockfrostProvider(apiKey);\n}\n\nconst ADA_ID = \"lovelace\";\n\nasync function getCardanoBalance(address: string) {\n try {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({ fetcher: provider, key: { address, type: \"address\" }, networkId: 1 });\n\n await wallet.init();\n const balance = await wallet.getBalance();\n\n const balances: AssetValue[] = [];\n\n for (const asset of balance) {\n if (asset.unit === ADA_ID) {\n const { baseDecimal } = getChainConfig(Chain.Cardano);\n balances.push(AssetValue.from({ chain: Chain.Cardano, fromBaseDecimal: baseDecimal, value: asset.quantity }));\n } else {\n balances.push(AssetValue.from({ asset: `${Chain.Cardano}.${asset.unit}`, value: asset.quantity }));\n }\n }\n\n if (balances.length === 0) {\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n\n return balances;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n console.error(`Cardano balance fetch error: ${errorMessage}`);\n return [AssetValue.from({ chain: Chain.Cardano })];\n }\n}\n\nexport async function getCardanoAddressValidator() {\n const { deserializeAddress } = await import(\"@meshsdk/core\");\n\n return (address: string) => {\n try {\n deserializeAddress(address);\n return true;\n } catch {\n return false;\n }\n };\n}\n\nexport async function getCardanoToolbox(\n toolboxParams?:\n | { signer?: CardanoSigner }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const validateAddress = await getCardanoAddressValidator();\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, async ({ phrase }) => {\n const { MeshWallet } = await import(\"@meshsdk/core\");\n const provider = await getProvider();\n\n const wallet = new MeshWallet({\n fetcher: provider,\n key: { type: \"mnemonic\", words: phrase.split(\" \") },\n networkId: 1,\n submitter: provider,\n });\n\n await wallet.init();\n return wallet;\n })\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const signerAddress = signer && \"getChangeAddress\" in signer ? await signer.getChangeAddress() : \"\";\n\n function getAddress() {\n return signerAddress || \"\";\n }\n\n function getBalance(addressParam?: string) {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getCardanoBalance(address);\n }\n\n function estimateTransactionFee() {\n return Promise.resolve(AssetValue.from({ chain: Chain.Cardano, value: \"0.01\" }));\n }\n\n async function createTransaction({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n const { Transaction } = await import(\"@meshsdk/core\");\n\n const [, policyId] = assetValue.symbol.split(\"-\");\n if (!assetValue.isGasAsset && !policyId) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const tx = new Transaction({ initiator: signer });\n tx.sendAssets({ address: recipient }, [\n { quantity: assetValue.getBaseValue(\"string\"), unit: assetValue.isGasAsset ? \"lovelace\" : assetValue.symbol },\n ]);\n\n if (memo) tx.setMetadata(0, memo);\n\n const unsignedTx = await tx.build();\n return { tx, unsignedTx };\n }\n\n function signTransaction(txParams: string) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n return signer.signTx(txParams);\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo,\n }: {\n recipient: string;\n assetValue: AssetValue;\n memo?: string;\n }) {\n if (!signer || !(\"getChangeAddress\" in signer)) {\n throw new SwapKitError(\"core_wallet_connection_not_found\");\n }\n\n const { unsignedTx } = await createTransaction({ assetValue, memo, recipient });\n const signedTx = await signTransaction(unsignedTx);\n const provider = await getProvider();\n const txHash = await provider.submitTx(signedTx);\n\n return txHash;\n }\n\n return {\n createTransaction,\n estimateTransactionFee,\n getAddress,\n getBalance,\n signTransaction,\n transfer,\n validateAddress,\n };\n}\n",
6
6
  "export * from \"./toolbox\";\nexport * from \"./types\";\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "0526352FCE5F2E8A64756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "928531210699142E64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
1
- var on=Object.create;var{getPrototypeOf:un,defineProperty:V,getOwnPropertyNames:Jt,getOwnPropertyDescriptor:yn}=Object,Nt=Object.prototype.hasOwnProperty;var k=(t,o,n)=>{n=t!=null?on(un(t)):{};let u=o||!t||!t.__esModule?V(n,"default",{value:t,enumerable:!0}):n;for(let y of Jt(t))if(!Nt.call(u,y))V(u,y,{get:()=>t[y],enumerable:!0});return u},zt=new WeakMap,en=(t)=>{var o=zt.get(t),n;if(o)return o;if(o=V({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")Jt(t).map((u)=>!Nt.call(o,u)&&V(o,u,{get:()=>t[u],enumerable:!(n=yn(t,u))||n.enumerable}));return zt.set(t,o),o};var Xt=(t,o)=>{for(var n in o)V(t,n,{get:o[n],enumerable:!0,configurable:!0,set:(u)=>o[n]=()=>u})};var H=(t,o)=>()=>(t&&(o=t(t=0)),o);function Nn(){function t(){let o=Date.now(),n=Mt||o;return Mt=n,o>Mt?o:n+1}return ln+t().toString(36)}function Wt(t){return async function(n,u=!0){let y=await kt.SwapKitApi.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:l}=O.getChainConfig(t);return y.map(({identifier:a,value:b,decimal:m})=>{return new O.AssetValue({decimal:m||l,identifier:a,value:b})})}}var O,kt,ln,Mt=0;var Yt=H(()=>{O=require("@swapkit/helpers"),kt=require("@swapkit/helpers/api"),ln=typeof process<"u"&&process.pid?process.pid.toString(36):""});function S(t){let o=v.SKConfig.get("apis")[t];if(o)return v.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),o;return mn(t)}function an(t){return t}function mn(t){return{getBalance:Wt(t)}}var v;var F=H(()=>{Yt();v=require("@swapkit/helpers")});async function J(t,o){let{JsonRpcProvider:n}=await import("ethers");return new n(o||await s.getRPCUrl(t))}function _(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function ft(t){let{explorerUrl:o,chainId:n,rpcUrls:u}=s.getChainConfig(t);return()=>t===s.Chain.Ethereum?void 0:{...bn({chain:t}),blockExplorerUrls:[o],chainId:n,rpcUrls:u}}function Rt(t){return![s.Chain.Arbitrum,s.Chain.BinanceSmartChain].includes(t)}function bn({chain:t}){let{baseDecimal:o}=s.getChainConfig(t);switch(t){case s.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:s.Chain.Ethereum}};case s.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:s.Chain.Ethereum}};case s.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:t}};case s.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:s.Chain.Ethereum}};case s.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}};case s.Chain.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}};case s.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}};case s.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}};case s.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:s.Chain.Ethereum}};case s.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:s.Chain.Polygon}};default:throw new s.SwapKitError("toolbox_evm_not_supported",{chain:t})}}var s;var W=H(()=>{s=require("@swapkit/helpers")});var $t;var Qt=H(()=>{$t=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function $({chain:t=e.Chain.Ethereum,provider:o,signer:n,isEIP1559Compatible:u=!0}){return{approve:wn({chain:t,isEIP1559Compatible:u,provider:o,signer:n}),approvedAmount:St({chain:t,provider:o}),broadcastTransaction:o.broadcastTransaction,call:Gt({chain:t,isEIP1559Compatible:u,provider:o,signer:n}),createApprovalTx:Rn({chain:t,provider:o,signer:n}),createContract:Ct({chain:t,provider:o}),createContractTxObject:N({chain:t,provider:o}),createTransaction:Bt({chain:t,provider:o,signer:n}),createTransferTx:Bt({chain:t,provider:o,signer:n}),EIP1193SendTransaction:Z(o),estimateCall:_t({provider:o,signer:n}),estimateGasLimit:Mn({chain:t,provider:o,signer:n}),estimateGasPrices:X({chain:t,isEIP1559Compatible:u,provider:o}),estimateTransactionFee:Bn({chain:t,isEIP1559Compatible:u,provider:o}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:xn({chain:t,provider:o}),sendTransaction:jt({chain:t,isEIP1559Compatible:u,provider:o,signer:n}),signMessage:n?.signMessage,transfer:cn({chain:t,isEIP1559Compatible:u,provider:o,signer:n}),validateAddress:(y)=>Dt({address:y})}}function Dt({address:t}){try{return U.getAddress(t),!0}catch{return!1}}function Q(t){return t instanceof U.BrowserProvider}function A(t,o,n){return new U.Contract(t,U.Interface.from(o),n)}function Ct({provider:t}){return function(n,u){return new U.Contract(n,U.Interface.from(u),t)}}function Ut({abi:t,funcName:o}){let n=t.find((u)=>u.name===o);if(!n)throw new e.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:o});return n.stateMutability&&Tn.includes(n.stateMutability)}function Et(t){return U.getAddress(t)}function Z(t){return function({value:n,...u}){if(!Q(t))throw new e.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:y,gasPrice:l,maxFeePerGas:a,maxPriorityFeePerGas:b,...m}=u;return t.send("eth_sendTransaction",[{...m,value:_(BigInt(n||0))}])}}function Vt(t,o){let n=E(t,o);if(n)return U.getAddress(n.toLowerCase());throw new e.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function E({chain:t,symbol:o,ticker:n},u){try{let y=t===e.Chain.BinanceSmartChain&&o==="BNB"&&n==="BNB",l=t===u&&o===u&&n===u,a=sn.includes(t)&&o==="ETH"&&n==="ETH";if(l||y||a)return Lt[u];return U.getAddress(o.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function N({provider:t}){return async({contractAddress:o,abi:n,funcName:u,funcParams:y=[],txOverrides:l})=>A(o,n,t).getFunction(u).populateTransaction(...y.concat(l).filter((a)=>typeof a<"u"))}function X({chain:t,provider:o,isEIP1559Compatible:n=!0}){return Zt.match(t).with(e.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:y,maxPriorityFeePerGas:l}=await o.getFeeData();if(!y||l===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(y,e.FeeOption.Average),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Average)},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(y,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(y,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest)}}}catch(y){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}}).with(e.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:y}=await o.getFeeData();if(!y)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{gasPrice:y},[e.FeeOption.Fast]:{gasPrice:y},[e.FeeOption.Fastest]:{gasPrice:y}}}catch(y){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:y,maxPriorityFeePerGas:l,gasPrice:a}=await o.getFeeData();if(n){if(y===null||l===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:y,maxPriorityFeePerGas:l},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(y,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(y,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest)}}}if(!a)throw new e.SwapKitError("toolbox_evm_no_gas_price");return{[e.FeeOption.Average]:{gasPrice:a},[e.FeeOption.Fast]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fastest)}}}catch(y){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}})}function Gt({provider:t,isEIP1559Compatible:o,signer:n,chain:u}){return async function({callProvider:l,contractAddress:a,abi:b,funcName:m,funcParams:w=[],txOverrides:x={},feeOption:B=e.FeeOption.Fast}){let p=l||t;if(!a)throw new e.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let i=Ut({abi:b,funcName:m});if(i&&Q(p)&&n){let L=N({chain:u,provider:p}),G=x?.from||await n?.getAddress(),h=await L({abi:b,contractAddress:a,funcName:m,funcParams:w,txOverrides:{...x,from:G}});return Z(p)(h)}let f=A(a,b,p);if(i){if(!n)throw new e.SwapKitError("toolbox_evm_no_signer");let L=x?.from||await n.getAddress();if(!L)throw new e.SwapKitError("toolbox_evm_no_signer_address");let G=f.connect(n),h=X({chain:u,isEIP1559Compatible:o,provider:t}),{maxFeePerGas:z,maxPriorityFeePerGas:C,gasPrice:q}=(await h())[B],I=await f.getFunction(m).estimateGas(...w,x),it=await G[m](...w,{...x,gasLimit:I,gasPrice:q,maxFeePerGas:z,maxPriorityFeePerGas:C,nonce:x?.nonce||await p.getTransactionCount(L)});return typeof it?.hash==="string"?it?.hash:it}let D=await f[m]?.(...w);return typeof D?.hash==="string"?D?.hash:D}}function St({provider:t,chain:o}){return function({assetAddress:u,spenderAddress:y,from:l}){return Gt({chain:o,isEIP1559Compatible:!0,provider:t})({abi:Y.erc20ABI,contractAddress:u,funcName:"allowance",funcParams:[l,y]})}}function xn({provider:t,chain:o}){return async function({assetAddress:u,spenderAddress:y,from:l,amount:a=j}){let b=await St({chain:o,provider:t})({assetAddress:u,from:l,spenderAddress:y});return e.SwapKitNumber.fromBigInt(b).gte(e.SwapKitNumber.fromBigInt(BigInt(a)))}}function wn({signer:t,isEIP1559Compatible:o=!0,provider:n,chain:u}){return async function({assetAddress:l,spenderAddress:a,feeOptionKey:b=e.FeeOption.Fast,amount:m,gasLimitFallback:w,from:x,nonce:B}){let p=[a,BigInt(m||j)],i=await t?.getAddress()||x,f={abi:Y.erc20ABI,contractAddress:l,funcName:"approve",funcParams:p,signer:t,txOverrides:{from:i}};if(Q(n)){let L=N({chain:u,provider:n}),G=Z(n),h=await L(f);return G(h)}return Gt({chain:u,isEIP1559Compatible:o,provider:n,signer:t})({...f,feeOption:b,funcParams:p,txOverrides:{from:i,gasLimit:w?BigInt(w.toString()):void 0,nonce:B}})}}function cn({signer:t,isEIP1559Compatible:o=!0,provider:n}){return async function({assetValue:y,memo:l,recipient:a,feeOptionKey:b=e.FeeOption.Fast,sender:m,...w}){let{hexlify:x,toUtf8Bytes:B}=await import("ethers"),p=y.getBaseValue("bigint"),i=y.chain,f=m||await t?.getAddress(),D=jt({chain:i,isEIP1559Compatible:o,provider:n,signer:t});if(!f)throw new e.SwapKitError("toolbox_evm_no_from_address");if(y.isGasAsset){let q={...w,data:x(B(l||"")),feeOptionKey:b,from:f,to:a,value:p};return D(q)}if(!E(y,i))throw new e.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:G,maxPriorityFeePerGas:h,gasPrice:z}=(await X({chain:i,isEIP1559Compatible:o,provider:n})())[b],C=await Bt({chain:i,provider:n,signer:t})({assetValue:y,data:x(B(l||"")),gasPrice:z,maxFeePerGas:G,maxPriorityFeePerGas:h,memo:l,recipient:a,sender:f});return D(C)}}function _t({provider:t,signer:o}){return function({contractAddress:u,abi:y,funcName:l,funcParams:a=[],txOverrides:b}){if(!u)throw new e.SwapKitError("toolbox_evm_no_contract_address");let m=A(u,y,t);return o?m.connect(o).getFunction(l).estimateGas(...a,b):m.getFunction(l).estimateGas(...a,b)}}function Mn({provider:t,signer:o}){return async function({assetValue:u,recipient:y,memo:l,data:a,sender:b,funcName:m,funcParams:w,txOverrides:x}){let B=u.bigIntValue,p=u.isGasAsset?null:E(u,u.chain);if(p&&m)return _t({provider:t,signer:o})({abi:Y.erc20ABI,contractAddress:p,funcName:m,funcParams:w,txOverrides:x});let{hexlify:i,toUtf8Bytes:f}=await import("ethers");return t.estimateGas({data:a?a:l?i(f(l)):void 0,from:b,to:y,value:B})}}function jt({provider:t,signer:o,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:l=e.FeeOption.Fast,...a}){let{from:b,to:m,data:w,value:x,...B}=a;if(!o)throw new e.SwapKitError("toolbox_evm_no_signer");if(!m)throw new e.SwapKitError("toolbox_evm_no_to_address");let p={...B,data:w||"0x",from:b,to:m,value:BigInt(x||0)};if(Q(t))return Z(t)(p);let i=b||await o.getAddress(),f=a.nonce||await t.getTransactionCount(i),D=(await t.getNetwork()).chainId,L=fn(p)||n,G=X({chain:u,isEIP1559Compatible:n,provider:t}),h=L&&!(p.maxFeePerGas&&p.maxPriorityFeePerGas)||!p.gasPrice?Object.entries((await G())[l]).reduce((C,[q,I])=>({...C,[q]:_(BigInt(I))}),{}):{},z;try{z=_(p.gasLimit||await t.estimateGas(p)*11n/10n)}catch(C){throw new e.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:C})}try{let C={...p,chainId:D,gasLimit:z,nonce:f,type:L?2:0,...h};try{return(await o.sendTransaction(C)).hash}catch{let q=await o.signTransaction({...C,from:i});return(await t.broadcastTransaction(q)).hash}}catch(C){throw new e.SwapKitError("toolbox_evm_error_sending_transaction",{error:C})}}}function Bt({provider:t,signer:o}){return async function({assetValue:u,memo:y,recipient:l,data:a,sender:b,maxFeePerGas:m,maxPriorityFeePerGas:w,gasPrice:x,...B}){let p=u.getBaseValue("bigint"),i=u.chain,f=b||await o?.getAddress();if(!f)throw new e.SwapKitError("toolbox_evm_no_from_address");if(e.isGasAsset(u)){let{hexlify:G,toUtf8Bytes:h}=await import("ethers");return{...B,data:a||G(h(y||"")),from:f,to:l,value:p}}let D=E(u,i);if(!D)throw new e.SwapKitError("toolbox_evm_no_contract_address");return N({chain:u.chain,provider:t})({abi:Y.erc20ABI,contractAddress:D,funcName:"transfer",funcParams:[l,p],txOverrides:{from:f,gasPrice:x,maxFeePerGas:m,maxPriorityFeePerGas:w}})}}function Rn({provider:t,signer:o,chain:n}){return async function({assetAddress:y,spenderAddress:l,amount:a,from:b}){let m=await o?.getAddress()||b,w=N({chain:n,provider:t}),x=["bigint","number"].includes(typeof a)?a:a||j;return await w({abi:Y.erc20ABI,contractAddress:y,funcName:"approve",funcParams:[l,BigInt(x)],txOverrides:{from:m}})}}function Bn({provider:t,isEIP1559Compatible:o=!0}){return async function({feeOption:u=e.FeeOption.Fast,chain:y,...l}){let b=await X({chain:y,isEIP1559Compatible:o,provider:t})(),m=await t.estimateGas(l),w=e.AssetValue.from({chain:y}),{gasPrice:x,maxFeePerGas:B,maxPriorityFeePerGas:p}=b[u];if(!o&&x)return w.set(e.SwapKitNumber.fromBigInt(x*m,w.decimal));if(B&&p){let i=(B+p)*m;return w.set(e.SwapKitNumber.fromBigInt(i,w.decimal))}throw new e.SwapKitError("toolbox_evm_no_gas_price")}}var e,Y,U,Zt,j,Tn,pn,Lt,sn,fn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var d=H(()=>{W();e=require("@swapkit/helpers"),Y=require("@swapkit/helpers/contracts"),U=require("ethers"),Zt=require("ts-pattern"),j=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Tn=["payable","nonpayable"];pn=e.EVMChains.reduce((t,o)=>{return t[o]="0x0000000000000000000000000000000000000000",t},{}),Lt={...pn,[e.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[e.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},sn=[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Base,e.Chain.Optimism]});async function r({provider:t,...o}){let n=await R(c.Chain.Ethereum)({provider:t,...o});async function u(y,l="0x5ba1e12693dc8f9c48aad8770482f4739beed696",a="aggregate",b=c.FeeOption.Fast){let m=await n.createContractTxObject({abi:$t,contractAddress:l,funcName:a,funcParams:[y]});return n.sendTransaction({...m,feeOptionKey:b})}return{...n,multicall:u}}function R(t){return async function({provider:n,...u}){let{HDNodeWallet:y}=await import("ethers"),l=await c.getRPCUrl(t),a=n||await J(t,l),b=Rt(t),m=K.match(u).with({phrase:K.P.string},({phrase:x})=>y.fromPhrase(x).connect(a)).with({signer:K.P.any},({signer:x})=>x).otherwise(()=>{return});return{...$({chain:t,isEIP1559Compatible:b,provider:a,signer:m}),getBalance:S(t).getBalance,getNetworkParams:ft(t)}}}var c,K,tt,nt,ot,ut,yt,et,At,lt,at,mt,bt,Tt,pt,P,st,xt;var ht=H(()=>{F();Qt();W();d();c=require("@swapkit/helpers"),K=require("ts-pattern");tt=R(c.Chain.Arbitrum),nt=R(c.Chain.Aurora),ot=R(c.Chain.Avalanche),ut=R(c.Chain.Base),yt=R(c.Chain.Berachain),et=R(c.Chain.BinanceSmartChain),At=R(c.Chain.Botanix),lt=R(c.Chain.Core),at=R(c.Chain.Corn),mt=R(c.Chain.Cronos),bt=R(c.Chain.Gnosis),Tt=R(c.Chain.Hyperevm),pt=R(c.Chain.Polygon),P=R(c.Chain.Sonic),st=R(c.Chain.Unichain),xt=R(c.Chain.XLayer)});var Kt;var Pt=H(()=>{Kt=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Ht(t){return new wt.Contract(Cn,Kt,t)}function gt(t){return async function(){let n=Ht(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function It(t){return async function({from:n,to:u,nonce:y,...l}){let{Transaction:a}=await import("ethers");if(!u)throw new T.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return a.from({...l,authorizationList:l.authorizationList,nonce:y?y:n?await t.getTransactionCount(n):0,to:u}).serialized}}function Ot(t){return async function(n){let u=Ht(t),y=await It(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(y)}}function vt(t){return async function(n){let u=await t.send("eth_gasPrice",[]),y=await t.estimateGas(n);return u.mul(y)}}function Un(t){return async function(n){let u=await Ot(t)(n),y=await vt(t)(n);return u.add(y)}}function Ln(t){return async function(n){let u=Ht(t),y=await It(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(y)}}function Gn(){let{baseDecimal:t,chainId:o,explorerUrl:n,name:u,rpcUrls:y}=T.getChainConfig(T.Chain.Optimism);return{blockExplorerUrls:[n],chainId:o,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:T.Chain.Ethereum},rpcUrls:y}}async function hn(t){try{let{maxFeePerGas:o,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),y=await gt(t)(),l=u;if(!(o&&n))throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{gasPrice:l,l1GasPrice:y,maxFeePerGas:o,maxPriorityFeePerGas:n},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fast),l1GasPrice:T.applyFeeMultiplierToBigInt(y||0n,T.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(l,T.FeeOption.Fastest),l1GasPrice:T.applyFeeMultiplierToBigInt(y||0n,T.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fastest)}}}catch(o){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}async function ct({provider:t,...o}){let n=T.Chain.Optimism,u=await T.getRPCUrl(n),y=t||await J(n,u),l=g.match(o).with({phrase:g.P.string},({phrase:m})=>wt.HDNodeWallet.fromPhrase(m).connect(y)).with({signer:g.P.any},({signer:m})=>m).otherwise(()=>{return}),a=$({provider:y,signer:l}),b=gt(y);return{...a,estimateGasPrices:hn(y),estimateL1Gas:Ln(y),estimateL1GasCost:Ot(y),estimateL2GasCost:vt(y),estimateTotalGasCost:Un(y),getBalance:S(T.Chain.Optimism).getBalance,getL1GasPrice:b,getNetworkParams:Gn}}var T,wt,g,Cn="0x420000000000000000000000000000000000000f";var qt=H(()=>{F();Pt();W();d();T=require("@swapkit/helpers"),wt=require("ethers"),g=require("ts-pattern")});var Hn={};Xt(Hn,{toChecksumAddress:()=>Et,isStateChangingCall:()=>Ut,isBrowserProvider:()=>Q,getTokenAddress:()=>E,getEvmToolbox:()=>dt,getEstimateGasPrices:()=>X,getEIP1193SendTransaction:()=>Z,getCreateContractTxObject:()=>N,getCreateContract:()=>Ct,getChecksumAddressFromAsset:()=>Vt,evmValidateAddress:()=>Dt,createContract:()=>A,XLayerToolbox:()=>xt,UNIToolbox:()=>st,SONICToolbox:()=>P,OPToolbox:()=>ct,MAX_APPROVAL:()=>j,MATICToolbox:()=>pt,HYPEREVMToolbox:()=>Tt,GNOToolbox:()=>bt,ETHToolbox:()=>r,ContractAddress:()=>Lt,CROToolbox:()=>mt,CORNToolbox:()=>at,COREToolbox:()=>lt,BotanixToolbox:()=>At,BaseEVMToolbox:()=>$,BSCToolbox:()=>et,BERAToolbox:()=>yt,BASEToolbox:()=>ut,AVAXToolbox:()=>ot,AURORAToolbox:()=>nt,ARBToolbox:()=>tt});async function dt(t,o){let n={...o,provider:o?.provider||await J(t)};return Ft.match(t).returnType().with(M.Chain.Arbitrum,()=>tt(n)).with(M.Chain.Aurora,()=>nt(n)).with(M.Chain.Avalanche,()=>ot(n)).with(M.Chain.Base,()=>ut(n)).with(M.Chain.Berachain,()=>yt(n)).with(M.Chain.BinanceSmartChain,()=>et(n)).with(M.Chain.Botanix,()=>P(n)).with(M.Chain.Core,()=>lt(n)).with(M.Chain.Corn,()=>at(n)).with(M.Chain.Cronos,()=>mt(n)).with(M.Chain.Ethereum,()=>r(n)).with(M.Chain.Gnosis,()=>bt(n)).with(M.Chain.Hyperevm,()=>Tt(n)).with(M.Chain.Optimism,()=>ct(n)).with(M.Chain.Polygon,()=>pt(n)).with(M.Chain.Sonic,()=>P(n)).with(M.Chain.Unichain,()=>st(n)).with(M.Chain.XLayer,()=>xt(n)).exhaustive()}var M,Ft;var rt=H(()=>{W();ht();qt();M=require("@swapkit/helpers"),Ft=require("ts-pattern");d();ht();qt()});var tn;var nn=H(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(tn||={})});var qn={};Xt(qn,{toHexString:()=>_,toChecksumAddress:()=>Et,isStateChangingCall:()=>Ut,isBrowserProvider:()=>Q,getTokenAddress:()=>E,getProvider:()=>J,getNetworkParams:()=>ft,getIsEIP1559Compatible:()=>Rt,getEvmToolbox:()=>dt,getEvmApi:()=>S,getEstimateGasPrices:()=>X,getEIP1193SendTransaction:()=>Z,getCreateContractTxObject:()=>N,getCreateContract:()=>Ct,getChecksumAddressFromAsset:()=>Vt,evmValidateAddress:()=>Dt,createCustomEvmApi:()=>an,createContract:()=>A,XLayerToolbox:()=>xt,UNIToolbox:()=>st,SONICToolbox:()=>P,OPToolbox:()=>ct,MAX_APPROVAL:()=>j,MATICToolbox:()=>pt,HYPEREVMToolbox:()=>Tt,GNOToolbox:()=>bt,EthNetwork:()=>tn,ETHToolbox:()=>r,ContractAddress:()=>Lt,CROToolbox:()=>mt,CORNToolbox:()=>at,COREToolbox:()=>lt,BotanixToolbox:()=>At,BaseEVMToolbox:()=>$,BSCToolbox:()=>et,BERAToolbox:()=>yt,BASEToolbox:()=>ut,AVAXToolbox:()=>ot,AURORAToolbox:()=>nt,ARBToolbox:()=>tt});module.exports=en(qn);var zn=H(()=>{F();W();rt();nn()});zn();
1
+ var ln=Object.create;var{getPrototypeOf:en,defineProperty:V,getOwnPropertyNames:$t,getOwnPropertyDescriptor:on}=Object,Qt=Object.prototype.hasOwnProperty;var Z=(t,y,n)=>{n=t!=null?ln(en(t)):{};let u=y||!t||!t.__esModule?V(n,"default",{value:t,enumerable:!0}):n;for(let l of $t(t))if(!Qt.call(u,l))V(u,l,{get:()=>t[l],enumerable:!0});return u},Yt=new WeakMap,an=(t)=>{var y=Yt.get(t),n;if(y)return y;if(y=V({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")$t(t).map((u)=>!Qt.call(y,u)&&V(y,u,{get:()=>t[u],enumerable:!(n=on(t,u))||n.enumerable}));return Yt.set(t,y),y};var Zt=(t,y)=>{for(var n in y)V(t,n,{get:y[n],enumerable:!0,configurable:!0,set:(u)=>y[n]=()=>u})};var N=(t,y)=>()=>(t&&(y=t(t=0)),y);function $n(){function t(){let y=Date.now(),n=Dt||y;return Dt=n,y>Dt?y:n+1}return pn+t().toString(36)}function Ct(t){return async function(n,u=!0){let l=await xt.SwapKitApi.getChainBalance({address:n,chain:t,scamFilter:u}),{baseDecimal:o}=O.getChainConfig(t);return l.map(({identifier:a,value:m,decimal:p})=>{return new O.AssetValue({decimal:p||o,identifier:a,value:m})})}}var O,xt,pn,Dt=0;var it=N(()=>{O=require("@swapkit/helpers"),xt=require("@swapkit/helpers/api"),pn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function S(t){return{getBalance:Ct(t)}}function mn(t){return t}var P=N(()=>{it()});async function Y(t,y){let{JsonRpcProvider:n}=await import("ethers");return new n(y||await M.getRPCUrl(t))}function _(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function Ut(t){let{explorerUrl:y,chainId:n,rpcUrls:u}=M.getChainConfig(t);return()=>t===M.Chain.Ethereum?void 0:{...Tn({chain:t}),blockExplorerUrls:[y],chainId:n,rpcUrls:u}}function Lt(t){return![M.Chain.Arbitrum,M.Chain.BinanceSmartChain].includes(t)}function Tn({chain:t}){let{name:y,nativeCurrency:n,baseDecimal:u}=M.getChainConfig(t);return Et.match(t).with(M.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:u,name:"Avalanche",symbol:t}})).with(M.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:u,name:"Berachain",symbol:"BERA"}})).with(M.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:u,name:"OKB",symbol:"OKB"}})).with(M.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:u,name:"Binance Coin",symbol:"BNB"}})).with(M.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:u,name:"xDAI",symbol:"XDAI"}})).with(M.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:u,name:"Ethereum",symbol:M.Chain.Ethereum}})).with(M.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:u,name:"Polygon",symbol:M.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:u,name:n,symbol:n}}))}var M,Et;var x=N(()=>{M=require("@swapkit/helpers"),Et=require("ts-pattern")});var st;var jt=N(()=>{st=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function i({chain:t=e.Chain.Ethereum,provider:y,signer:n,isEIP1559Compatible:u=!0}){return{approve:Rn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),approvedAmount:ht({chain:t,provider:y}),broadcastTransaction:y.broadcastTransaction,call:kt({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),createApprovalTx:Un({chain:t,provider:y,signer:n}),createContract:qt({chain:t,provider:y}),createContractTxObject:$({chain:t,provider:y}),createTransaction:Gt({chain:t,provider:y,signer:n}),createTransferTx:Gt({chain:t,provider:y,signer:n}),EIP1193SendTransaction:s(y),estimateCall:Kt({provider:y,signer:n}),estimateGasLimit:fn({chain:t,provider:y,signer:n}),estimateGasPrices:Q({chain:t,isEIP1559Compatible:u,provider:y}),estimateTransactionFee:Ln({chain:t,isEIP1559Compatible:u,provider:y}),getAddress:()=>{return n?n.getAddress():void 0},isApproved:cn({chain:t,provider:y}),sendTransaction:At({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),signMessage:n?(l)=>n.signMessage(l):void 0,transfer:Bn({chain:t,isEIP1559Compatible:u,provider:y,signer:n}),validateAddress:(l)=>Ht({address:l})}}function Ht({address:t}){try{return q.getAddress(t),!0}catch{return!1}}function E(t){return t instanceof q.BrowserProvider}function K(t,y,n){return new q.Contract(t,q.Interface.from(y),n)}function qt({provider:t}){return function(n,u){return new q.Contract(n,q.Interface.from(u),t)}}function zt({abi:t,funcName:y}){let n=t.find((u)=>u.name===y);if(!n)throw new e.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return n.stateMutability&&bn.includes(n.stateMutability)}function St(t){return q.getAddress(t)}function s(t){return function({value:n,...u}){if(!E(t))throw new e.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:l,gasPrice:o,maxFeePerGas:a,maxPriorityFeePerGas:m,...p}=u;return t.send("eth_sendTransaction",[{...p,value:_(BigInt(n||0))}])}}function _t(t,y){let n=j(t,y);if(n)return q.getAddress(n.toLowerCase());throw new e.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function j({chain:t,symbol:y,ticker:n},u){try{let l=t===e.Chain.BinanceSmartChain&&y==="BNB"&&n==="BNB",o=t===u&&y===u&&n===u,a=Mn.includes(t)&&y==="ETH"&&n==="ETH";if(o||l||a)return Jt[u];return q.getAddress(y.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function $({provider:t}){return async({contractAddress:y,abi:n,funcName:u,funcParams:l=[],txOverrides:o})=>K(y,n,t).getFunction(u).populateTransaction(...l.concat(o).filter((a)=>typeof a<"u"))}function Q({chain:t,provider:y,isEIP1559Compatible:n=!0}){return Vt.match(t).with(e.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:l,maxPriorityFeePerGas:o}=await y.getFeeData();if(!l||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Average),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Average)},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).with(e.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:l}=await y.getFeeData();if(!l)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{gasPrice:l},[e.FeeOption.Fast]:{gasPrice:l},[e.FeeOption.Fastest]:{gasPrice:l}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:l,maxPriorityFeePerGas:o,gasPrice:a}=await y.getFeeData();if(n){if(l===null||o===null)throw new e.SwapKitError("toolbox_evm_no_fee_data");return{[e.FeeOption.Average]:{maxFeePerGas:l,maxPriorityFeePerGas:o},[e.FeeOption.Fast]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fast),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{maxFeePerGas:e.applyFeeMultiplierToBigInt(l,e.FeeOption.Fastest),maxPriorityFeePerGas:e.applyFeeMultiplierToBigInt(o,e.FeeOption.Fastest)}}}if(!a)throw new e.SwapKitError("toolbox_evm_no_gas_price");return{[e.FeeOption.Average]:{gasPrice:a},[e.FeeOption.Fast]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fast)},[e.FeeOption.Fastest]:{gasPrice:e.applyFeeMultiplierToBigInt(a,e.FeeOption.Fastest)}}}catch(l){throw new e.SwapKitError("toolbox_evm_gas_estimation_error",{error:l.msg??l.toString()})}}})}function kt({provider:t,isEIP1559Compatible:y,signer:n,chain:u}){return async function({callProvider:o,contractAddress:a,abi:m,funcName:p,funcParams:R=[],txOverrides:w={},feeOption:L=e.FeeOption.Fast}){let b=o||t;if(!a)throw new e.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let f=zt({abi:m,funcName:p});if(f&&E(b)&&n){let z=$({chain:u,provider:b}),J=w?.from||await n?.getAddress(),k=await z({abi:m,contractAddress:a,funcName:p,funcParams:R,txOverrides:{...w,from:J}});return s(b)(k)}let U=K(a,m,b);if(f){if(!n)throw new e.SwapKitError("toolbox_evm_no_signer");let z=w?.from||await n.getAddress();if(!z)throw new e.SwapKitError("toolbox_evm_no_signer_address");let J=U.connect(n),k=Q({chain:u,isEIP1559Compatible:y,provider:t}),{maxFeePerGas:W,maxPriorityFeePerGas:H,gasPrice:X}=(await k())[L],g=await U.getFunction(p).estimateGas(...R,w),ft=await J[p](...R,{...w,gasLimit:g,gasPrice:X,maxFeePerGas:W,maxPriorityFeePerGas:H,nonce:w?.nonce||await b.getTransactionCount(z)});return typeof ft?.hash==="string"?ft?.hash:ft}let G=await U[p]?.(...R);return typeof G?.hash==="string"?G?.hash:G}}function ht({provider:t,chain:y}){return function({assetAddress:u,spenderAddress:l,from:o}){return kt({chain:y,isEIP1559Compatible:!0,provider:t})({abi:C.erc20ABI,contractAddress:u,funcName:"allowance",funcParams:[o,l]})}}function cn({provider:t,chain:y}){return async function({assetAddress:u,spenderAddress:l,from:o,amount:a=h}){let m=await ht({chain:y,provider:t})({assetAddress:u,from:o,spenderAddress:l});return e.SwapKitNumber.fromBigInt(m).gte(e.SwapKitNumber.fromBigInt(BigInt(a)))}}function Rn({signer:t,isEIP1559Compatible:y=!0,provider:n,chain:u}){return async function({assetAddress:o,spenderAddress:a,feeOptionKey:m=e.FeeOption.Fast,amount:p,gasLimitFallback:R,from:w,nonce:L}){let b=[a,BigInt(p||h)],f=await t?.getAddress()||w,U={abi:C.erc20ABI,contractAddress:o,funcName:"approve",funcParams:b,signer:t,txOverrides:{from:f}};if(E(n)){let z=$({chain:u,provider:n}),J=s(n),k=await z(U);return J(k)}return kt({chain:u,isEIP1559Compatible:y,provider:n,signer:t})({...U,feeOption:m,funcParams:b,txOverrides:{from:f,gasLimit:R?BigInt(R.toString()):void 0,nonce:L}})}}function Bn({signer:t,isEIP1559Compatible:y=!0,provider:n}){return async function({assetValue:l,memo:o,recipient:a,feeOptionKey:m=e.FeeOption.Fast,sender:p,...R}){let{hexlify:w,toUtf8Bytes:L}=await import("ethers"),b=l.getBaseValue("bigint"),f=l.chain,U=p||await t?.getAddress(),G=At({chain:f,isEIP1559Compatible:y,provider:n,signer:t});if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(l.isGasAsset){let X={...R,data:w(L(o||"")),feeOptionKey:m,from:U,to:a,value:b};return G(X)}if(!j(l,f))throw new e.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:J,maxPriorityFeePerGas:k,gasPrice:W}=(await Q({chain:f,isEIP1559Compatible:y,provider:n})())[m],H=await Gt({chain:f,provider:n,signer:t})({assetValue:l,data:w(L(o||"")),gasPrice:W,maxFeePerGas:J,maxPriorityFeePerGas:k,memo:o,recipient:a,sender:U});return G(H)}}function Kt({provider:t,signer:y}){return function({contractAddress:u,abi:l,funcName:o,funcParams:a=[],txOverrides:m}){if(!u)throw new e.SwapKitError("toolbox_evm_no_contract_address");let p=K(u,l,t);return y?p.connect(y).getFunction(o).estimateGas(...a,m):p.getFunction(o).estimateGas(...a,m)}}function fn({provider:t,signer:y}){return async function({assetValue:u,recipient:l,memo:o,data:a,sender:m,funcName:p,funcParams:R,txOverrides:w}){let L=u.bigIntValue,b=u.isGasAsset?null:j(u,u.chain);if(b&&p)return Kt({provider:t,signer:y})({abi:C.erc20ABI,contractAddress:b,funcName:p,funcParams:R,txOverrides:w});let{hexlify:f,toUtf8Bytes:U}=await import("ethers");return t.estimateGas({data:a?a:o?f(U(o)):void 0,from:m,to:l,value:L})}}function At({provider:t,signer:y,isEIP1559Compatible:n=!0,chain:u}){return async function({feeOptionKey:o=e.FeeOption.Fast,...a}){let{from:m,to:p,data:R,value:w,...L}=a;if(!y)throw new e.SwapKitError("toolbox_evm_no_signer");if(!p)throw new e.SwapKitError("toolbox_evm_no_to_address");let b={...L,data:R||"0x",from:m,to:p,value:BigInt(w||0)};if(E(t))return s(t)(b);let f=m||await y.getAddress(),U=a.nonce||await t.getTransactionCount(f),G=(await t.getNetwork()).chainId,z=Dn(b)||n,J=Q({chain:u,isEIP1559Compatible:n,provider:t}),k=z&&!(b.maxFeePerGas&&b.maxPriorityFeePerGas)||!b.gasPrice?Object.entries((await J())[o]).reduce((H,[X,g])=>({...H,[X]:_(BigInt(g))}),{}):{},W;try{W=_(b.gasLimit||await t.estimateGas(b)*11n/10n)}catch(H){throw new e.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:H})}try{let H={...b,chainId:G,gasLimit:W,nonce:U,type:z?2:0,...k};try{return(await y.sendTransaction(H)).hash}catch{let X=await y.signTransaction({...H,from:f});return(await t.broadcastTransaction(X)).hash}}catch(H){throw new e.SwapKitError("toolbox_evm_error_sending_transaction",{error:H})}}}function Gt({provider:t,signer:y}){return async function({assetValue:u,memo:l,recipient:o,data:a,sender:m,maxFeePerGas:p,maxPriorityFeePerGas:R,gasPrice:w,...L}){let b=u.getBaseValue("bigint"),f=u.chain,U=m||await y?.getAddress();if(!U)throw new e.SwapKitError("toolbox_evm_no_from_address");if(e.isGasAsset(u)){let{hexlify:J,toUtf8Bytes:k}=await import("ethers");return{...L,data:a||J(k(l||"")),from:U,to:o,value:b}}let G=j(u,f);if(!G)throw new e.SwapKitError("toolbox_evm_no_contract_address");return $({chain:u.chain,provider:t})({abi:C.erc20ABI,contractAddress:G,funcName:"transfer",funcParams:[o,b],txOverrides:{from:U,gasPrice:w,maxFeePerGas:p,maxPriorityFeePerGas:R}})}}function Un({provider:t,signer:y,chain:n}){return async function({assetAddress:l,spenderAddress:o,amount:a,from:m}){let p=await y?.getAddress()||m,R=$({chain:n,provider:t}),w=["bigint","number"].includes(typeof a)?a:a||h;return await R({abi:C.erc20ABI,contractAddress:l,funcName:"approve",funcParams:[o,BigInt(w)],txOverrides:{from:p}})}}function Ln({provider:t,isEIP1559Compatible:y=!0}){return async function({feeOption:u=e.FeeOption.Fast,chain:l,...o}){let m=await Q({chain:l,isEIP1559Compatible:y,provider:t})(),p=await t.estimateGas(o),R=e.AssetValue.from({chain:l}),{gasPrice:w,maxFeePerGas:L,maxPriorityFeePerGas:b}=m[u];if(!y&&w)return R.set(e.SwapKitNumber.fromBigInt(w*p,R.decimal));if(L&&b){let f=(L+b)*p;return R.set(e.SwapKitNumber.fromBigInt(f,R.decimal))}throw new e.SwapKitError("toolbox_evm_no_gas_price")}}var e,C,q,Vt,h,bn,wn,Jt,Mn,Dn=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;var v=N(()=>{x();e=require("@swapkit/helpers"),C=require("@swapkit/helpers/contracts"),q=require("ethers"),Vt=require("ts-pattern"),h=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bn=["payable","nonpayable"];wn=e.EVMChains.reduce((t,y)=>{return t[y]="0x0000000000000000000000000000000000000000",t},{}),Jt={...wn,[e.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[e.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Mn=[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Base,e.Chain.Optimism]});async function d({provider:t,...y}){let n=await D(c.Chain.Ethereum)({provider:t,...y});async function u(l,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",a="aggregate",m=c.FeeOption.Fast){let p=await n.createContractTxObject({abi:st,contractAddress:o,funcName:a,funcParams:[l]});return n.sendTransaction({...p,feeOptionKey:m})}return{...n,multicall:u}}function D(t){return async function({provider:n,...u}){let{HDNodeWallet:l}=await import("ethers"),o=await c.getRPCUrl(t),a=n||await Y(t,o),m=Lt(t),p=A.match(u).with({phrase:A.P.string},({phrase:w})=>l.fromPhrase(w).connect(a)).with({signer:A.P.any},({signer:w})=>w).otherwise(()=>{return});return{...i({chain:t,isEIP1559Compatible:m,provider:a,signer:p}),getBalance:S(t).getBalance,getNetworkParams:Ut(t)}}}var c,A,r,tt,nt,yt,ut,lt,Ft,et,ot,at,pt,mt,Tt,F,bt,wt,Mt,ct;var Nt=N(()=>{P();jt();x();v();c=require("@swapkit/helpers"),A=require("ts-pattern");r=D(c.Chain.Arbitrum),tt=D(c.Chain.Aurora),nt=D(c.Chain.Avalanche),yt=D(c.Chain.Base),ut=D(c.Chain.Berachain),lt=D(c.Chain.BinanceSmartChain),Ft=D(c.Chain.Botanix),et=D(c.Chain.Core),ot=D(c.Chain.Corn),at=D(c.Chain.Cronos),pt=D(c.Chain.Gnosis),mt=D(c.Chain.Hyperevm),Tt=D(c.Chain.Polygon),F=D(c.Chain.Sonic),bt=D(c.Chain.Unichain),wt=D(c.Chain.XLayer),Mt=D(c.Chain.Monad),ct=D(c.Chain.MegaETH)});var It;var gt=N(()=>{It=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Xt(t){return new Rt.Contract(Hn,It,t)}function Ot(t){return async function(){let n=Xt(t);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Pt(t){return async function({from:n,to:u,nonce:l,...o}){let{Transaction:a}=await import("ethers");if(!u)throw new T.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return a.from({...o,authorizationList:o.authorizationList,nonce:l?l:n?await t.getTransactionCount(n):0,to:u}).serialized}}function vt(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1Fee"in u)return u.getL1Fee(l)}}function dt(t){return async function(n){let u=await t.send("eth_gasPrice",[]),l=await t.estimateGas(n);return u.mul(l)}}function qn(t){return async function(n){let u=await vt(t)(n),l=await dt(t)(n);return u.add(l)}}function zn(t){return async function(n){let u=Xt(t),l=await Pt(t)(n);if(u&&"getL1GasUsed"in u)return u.getL1GasUsed(l)}}function Jn(){let{baseDecimal:t,chainId:y,explorerUrl:n,name:u,rpcUrls:l}=T.getChainConfig(T.Chain.Optimism);return{blockExplorerUrls:[n],chainId:y,chainName:u,nativeCurrency:{decimals:t,name:"Ethereum",symbol:T.Chain.Ethereum},rpcUrls:l}}async function kn(t){try{let{maxFeePerGas:y,maxPriorityFeePerGas:n,gasPrice:u}=await t.getFeeData(),l=await Ot(t)(),o=u;if(!(y&&n))throw new T.SwapKitError("toolbox_evm_no_fee_data");return{[T.FeeOption.Average]:{gasPrice:o,l1GasPrice:l,maxFeePerGas:y,maxPriorityFeePerGas:n},[T.FeeOption.Fast]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fast),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fast),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fast)},[T.FeeOption.Fastest]:{gasPrice:T.applyFeeMultiplierToBigInt(o,T.FeeOption.Fastest),l1GasPrice:T.applyFeeMultiplierToBigInt(l||0n,T.FeeOption.Fastest),maxFeePerGas:y,maxPriorityFeePerGas:T.applyFeeMultiplierToBigInt(n,T.FeeOption.Fastest)}}}catch(y){throw new T.SwapKitError("toolbox_evm_gas_estimation_error",{error:y.msg??y.toString()})}}async function Bt({provider:t,...y}){let n=T.Chain.Optimism,u=await T.getRPCUrl(n),l=t||await Y(n,u),o=I.match(y).with({phrase:I.P.string},({phrase:p})=>Rt.HDNodeWallet.fromPhrase(p).connect(l)).with({signer:I.P.any},({signer:p})=>p).otherwise(()=>{return}),a=i({provider:l,signer:o}),m=Ot(l);return{...a,estimateGasPrices:kn(l),estimateL1Gas:zn(l),estimateL1GasCost:vt(l),estimateL2GasCost:dt(l),estimateTotalGasCost:qn(l),getBalance:S(T.Chain.Optimism).getBalance,getL1GasPrice:m,getNetworkParams:Jn}}var T,Rt,I,Hn="0x420000000000000000000000000000000000000f";var Wt=N(()=>{P();gt();x();v();T=require("@swapkit/helpers"),Rt=require("ethers"),I=require("ts-pattern")});var Nn={};Zt(Nn,{toChecksumAddress:()=>St,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>j,getEvmToolbox:()=>tn,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>s,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>i,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});async function tn(t,y){let n={...y,provider:y?.provider||await Y(t)};return rt.match(t).returnType().with(B.Chain.Arbitrum,()=>r(n)).with(B.Chain.Aurora,()=>tt(n)).with(B.Chain.Avalanche,()=>nt(n)).with(B.Chain.Base,()=>yt(n)).with(B.Chain.Berachain,()=>ut(n)).with(B.Chain.BinanceSmartChain,()=>lt(n)).with(B.Chain.Botanix,()=>F(n)).with(B.Chain.Core,()=>et(n)).with(B.Chain.Corn,()=>ot(n)).with(B.Chain.Cronos,()=>at(n)).with(B.Chain.Ethereum,()=>d(n)).with(B.Chain.Gnosis,()=>pt(n)).with(B.Chain.Hyperevm,()=>mt(n)).with(B.Chain.Optimism,()=>Bt(n)).with(B.Chain.Polygon,()=>Tt(n)).with(B.Chain.Sonic,()=>F(n)).with(B.Chain.Unichain,()=>bt(n)).with(B.Chain.XLayer,()=>wt(n)).with(B.Chain.Monad,()=>Mt(n)).with(B.Chain.MegaETH,()=>ct(n)).exhaustive()}var B,rt;var nn=N(()=>{x();Nt();Wt();B=require("@swapkit/helpers"),rt=require("ts-pattern");v();Nt();Wt()});var yn;var un=N(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(yn||={})});var Xn={};Zt(Xn,{toHexString:()=>_,toChecksumAddress:()=>St,isStateChangingCall:()=>zt,isBrowserProvider:()=>E,getTokenAddress:()=>j,getProvider:()=>Y,getNetworkParams:()=>Ut,getIsEIP1559Compatible:()=>Lt,getEvmToolbox:()=>tn,getEvmApi:()=>S,getEstimateGasPrices:()=>Q,getEIP1193SendTransaction:()=>s,getCreateContractTxObject:()=>$,getCreateContract:()=>qt,getChecksumAddressFromAsset:()=>_t,evmValidateAddress:()=>Ht,createCustomEvmApi:()=>mn,createContract:()=>K,XLayerToolbox:()=>wt,UNIToolbox:()=>bt,SONICToolbox:()=>F,OPToolbox:()=>Bt,MONADToolbox:()=>Mt,MEGAETHToolbox:()=>ct,MAX_APPROVAL:()=>h,MATICToolbox:()=>Tt,HYPEREVMToolbox:()=>mt,GNOToolbox:()=>pt,EthNetwork:()=>yn,ETHToolbox:()=>d,ContractAddress:()=>Jt,CROToolbox:()=>at,CORNToolbox:()=>ot,COREToolbox:()=>et,BotanixToolbox:()=>Ft,BaseEVMToolbox:()=>i,BSCToolbox:()=>lt,BERAToolbox:()=>ut,BASEToolbox:()=>yt,AVAXToolbox:()=>nt,AURORAToolbox:()=>tt,ARBToolbox:()=>r});module.exports=an(Xn);var Wn=N(()=>{P();x();nn();un()});Wn();
2
2
 
3
- //# debugId=1AE903F6E443E7AC64756E2164756E21
3
+ //# debugId=39CAD5275762BE7064756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map