@swapkit/toolboxes 4.0.23 → 4.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cosmos/index.cjs +2 -2
- package/dist/src/cosmos/index.cjs.map +4 -4
- package/dist/src/cosmos/index.js +2 -2
- package/dist/src/cosmos/index.js.map +4 -4
- package/dist/src/evm/index.cjs +2 -2
- package/dist/src/evm/index.cjs.map +2 -2
- package/dist/src/evm/index.js +1 -1
- package/dist/src/evm/index.js.map +1 -1
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +7 -7
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +7 -7
- package/dist/src/near/index.cjs +2 -2
- package/dist/src/near/index.cjs.map +4 -4
- package/dist/src/near/index.js +2 -2
- package/dist/src/near/index.js.map +4 -4
- package/dist/src/radix/index.js +1 -1
- package/dist/src/radix/index.js.map +1 -1
- package/dist/src/ripple/index.js +1 -1
- package/dist/src/ripple/index.js.map +1 -1
- package/dist/src/solana/index.js +1 -1
- package/dist/src/solana/index.js.map +1 -1
- package/dist/src/substrate/index.cjs +2 -2
- package/dist/src/substrate/index.cjs.map +2 -2
- package/dist/src/substrate/index.js +1 -1
- package/dist/src/substrate/index.js.map +1 -1
- package/dist/src/tron/index.cjs +2 -2
- package/dist/src/tron/index.cjs.map +2 -2
- package/dist/src/tron/index.js +1 -1
- package/dist/src/tron/index.js.map +1 -1
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +2 -2
- package/dist/src/utxo/index.js +1 -1
- package/dist/src/utxo/index.js.map +1 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/dist/types/cosmos/toolbox/index.d.ts +2 -2
- package/dist/types/cosmos/toolbox/index.d.ts.map +1 -1
- package/dist/types/near/toolbox.d.ts.map +1 -1
- package/dist/types/near/types.d.ts +1 -1
- package/dist/types/near/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var B=Object.create;var{getPrototypeOf:U,defineProperty:f,getOwnPropertyNames:A,getOwnPropertyDescriptor:V}=Object,C=Object.prototype.hasOwnProperty;var P=(e,t,n)=>{n=e!=null?B(U(e)):{};let r=t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n;for(let a of A(e))if(!C.call(r,a))f(r,a,{get:()=>e[a],enumerable:!0});return r},v=new WeakMap,L=(e)=>{var t=v.get(e),n;if(t)return t;if(t=f({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")A(e).map((r)=>!C.call(t,r)&&f(t,r,{get:()=>e[r],enumerable:!(n=V(e,r))||n.enumerable}));return v.set(e,t),t};var H=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0,configurable:!0,set:(r)=>t[n]=()=>r})};var g=(e,t)=>()=>(e&&(t=e(e=0)),t);async function W(e,t,n){try{let r=await e.query.system?.account?.(n);if(!r)return[t.set(0)];let{data:{free:a}}=r,o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching substrate balance:",r),[t.set(0)]}}async function O(e,t,n){try{let r=await e.query.flip?.account?.(n);if(!r)return[t.set(0)];let a=r.balance||r.data?.balance;if(!a||a.isEmpty)return[t.set(0)];let o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching chainflip balance:",r),[t.set(0)]}}function E(e,t){return function(r){let a=l.AssetValue.from({chain:e});switch(e){case l.Chain.Chainflip:return O(t,a,r);default:return W(t,a,r)}}}var l;var K=g(()=>{l=require("@swapkit/helpers")});var q,z,J,d;var x=g(()=>{q={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},z={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},J={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},d={DOT:q,FLIP:z,GENERIC:J}});function Q(e,t){switch(e){case i.Chain.Chainflip:return N(t);case i.Chain.Polkadot:return j(t);default:throw new i.SwapKitError("toolbox_substrate_not_supported",{chain:e})}}function p(e){return"address"in e}async function S(e,t){let{Keyring:n}=await import("@polkadot/api"),{cryptoWaitReady:r}=await import("@polkadot/util-crypto");return await r(),new n({ss58Format:t,type:"sr25519"}).addFromUri(e)}function re(e,t){let n=m.decodeAddress(e);return m.encodeAddress(n,t)}function R(e,t){return u.isHex(e)?u.hexToU8a(e):m.decodeAddress(e,void 0,t)}function D(e,t="ss58",n){if(t==="hex")return u.u8aToHex(e);return m.encodeAddress(e,n)}async function T({generic:e,chain:t,...n}){let{ApiPromise:r,WsProvider:a}=await import("@polkadot/api"),o=await i.getRPCUrl(t),s=new a(o),c=await r.create({provider:s}),y=i.AssetValue.from({chain:t}),_=e?d.GENERIC:d[t],G=await b.match(n).with({phrase:b.P.string},({phrase:w})=>S(w,d[t].prefix)).with({signer:b.P.any},({signer:w})=>w).otherwise(()=>{return});return M({api:c,chain:t,gasAsset:y,network:_,signer:G})}var u,m,i,b,j=({generic:e=!1,...t}={})=>{return T({chain:i.Chain.Polkadot,generic:e,...t})},N=async({generic:e=!1,...t}={})=>{return{...await T({chain:i.Chain.Chainflip,generic:e,...t})}},k=(e,t)=>e.rpc.system.accountNextIndex(t),h=(e,t)=>{try{let n=R(e,t);return D(n,"ss58",t),!0}catch(n){return!1}},I=(e,{recipient:t,assetValue:n})=>e.tx.balances?.transferAllowDeath?.(t,n.getBaseValue("number")),X=async(e,t,{recipient:n,assetValue:r,sender:a})=>{let o=I(e,{assetValue:r,recipient:n});if(!o)throw new i.SwapKitError("toolbox_substrate_transfer_error");let s=p(t),c=s?t.address:a;if(!c)throw new i.SwapKitError("core_transaction_invalid_sender_address");let y=await k(e,c);return(await o.signAndSend(s?t:c,{nonce:y,signer:s?void 0:t})).toString()},Y=async(e,t,n,{recipient:r,assetValue:a,sender:o})=>{let s=I(e,{assetValue:a,recipient:r}),c=p(t)?t.address:o;if(!c)return;let y=await s?.paymentInfo(c,{nonce:await k(e,c)})||{partialFee:0};return n.set(i.SwapKitNumber.fromBigInt(BigInt(y.partialFee.toString()),n.decimal).getValue("string"))},Z=async(e,t)=>{if(t)return e.send(t);return(await e.send()).toString()},$=async(e,t)=>{return await t.signAsync(e)},ee=(e,t,n)=>{if(n)return t.signAndSend(e,n);return t.signAndSend(e).toString()},te=async({signer:e,address:t,tx:n,callback:r,api:a})=>{let o=await k(a,t);if(r)n.signAndSend(t,{nonce:o,signer:e},r);return n.signAndSend(t,{nonce:o,signer:e}).toString()},M=({api:e,network:t,gasAsset:n,signer:r,chain:a})=>({api:e,broadcast:Z,convertAddress:re,createKeyring:(o)=>S(o,t.prefix),createTransaction:(o)=>I(e,o),decodeAddress:R,encodeAddress:D,estimateTransactionFee:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return Y(e,r,n,o)},gasAsset:n,getAddress:(o)=>{let s=o||r;if(!s)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return p(s)?s.address:void 0},getBalance:E(a||i.Chain.Polkadot,e),network:t,sign:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return $(r,o);throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:s,address:c})=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return ee(r,o,s);if(c)return te({address:c,api:e,callback:s,signer:r,tx:o});throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return X(e,r,o)},validateAddress:(o)=>h(o,t.prefix)}),ne=({address:e,chain:t})=>{let{prefix:n}=t===i.Chain.Polkadot?d.DOT:d.FLIP;return h(e,n)||h(e,d.GENERIC.prefix)};var F=g(()=>{u=require("@polkadot/util"),m=require("@polkadot/util-crypto"),i=require("@swapkit/helpers"),b=require("ts-pattern")
|
|
1
|
+
var B=Object.create;var{getPrototypeOf:U,defineProperty:f,getOwnPropertyNames:A,getOwnPropertyDescriptor:V}=Object,C=Object.prototype.hasOwnProperty;var P=(e,t,n)=>{n=e!=null?B(U(e)):{};let r=t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n;for(let a of A(e))if(!C.call(r,a))f(r,a,{get:()=>e[a],enumerable:!0});return r},v=new WeakMap,L=(e)=>{var t=v.get(e),n;if(t)return t;if(t=f({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")A(e).map((r)=>!C.call(t,r)&&f(t,r,{get:()=>e[r],enumerable:!(n=V(e,r))||n.enumerable}));return v.set(e,t),t};var H=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0,configurable:!0,set:(r)=>t[n]=()=>r})};var g=(e,t)=>()=>(e&&(t=e(e=0)),t);async function W(e,t,n){try{let r=await e.query.system?.account?.(n);if(!r)return[t.set(0)];let{data:{free:a}}=r,o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching substrate balance:",r),[t.set(0)]}}async function O(e,t,n){try{let r=await e.query.flip?.account?.(n);if(!r)return[t.set(0)];let a=r.balance||r.data?.balance;if(!a||a.isEmpty)return[t.set(0)];let o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching chainflip balance:",r),[t.set(0)]}}function E(e,t){return function(r){let a=l.AssetValue.from({chain:e});switch(e){case l.Chain.Chainflip:return O(t,a,r);default:return W(t,a,r)}}}var l;var K=g(()=>{l=require("@swapkit/helpers")});var q,z,J,d;var x=g(()=>{q={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},z={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},J={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},d={DOT:q,FLIP:z,GENERIC:J}});function Q(e,t){switch(e){case i.Chain.Chainflip:return N(t);case i.Chain.Polkadot:return j(t);default:throw new i.SwapKitError("toolbox_substrate_not_supported",{chain:e})}}function p(e){return"address"in e}async function S(e,t){let{Keyring:n}=await import("@polkadot/api"),{cryptoWaitReady:r}=await import("@polkadot/util-crypto");return await r(),new n({ss58Format:t,type:"sr25519"}).addFromUri(e)}function re(e,t){let n=m.decodeAddress(e);return m.encodeAddress(n,t)}function R(e,t){return u.isHex(e)?u.hexToU8a(e):m.decodeAddress(e,void 0,t)}function D(e,t="ss58",n){if(t==="hex")return u.u8aToHex(e);return m.encodeAddress(e,n)}async function T({generic:e,chain:t,...n}){let{ApiPromise:r,WsProvider:a}=await import("@polkadot/api"),o=await i.getRPCUrl(t),s=new a(o),c=await r.create({provider:s}),y=i.AssetValue.from({chain:t}),_=e?d.GENERIC:d[t],G=await b.match(n).with({phrase:b.P.string},({phrase:w})=>S(w,d[t].prefix)).with({signer:b.P.any},({signer:w})=>w).otherwise(()=>{return});return M({api:c,chain:t,gasAsset:y,network:_,signer:G})}var u,m,i,b,j=({generic:e=!1,...t}={})=>{return T({chain:i.Chain.Polkadot,generic:e,...t})},N=async({generic:e=!1,...t}={})=>{return{...await T({chain:i.Chain.Chainflip,generic:e,...t})}},k=(e,t)=>e.rpc.system.accountNextIndex(t),h=(e,t)=>{try{let n=R(e,t);return D(n,"ss58",t),!0}catch(n){return!1}},I=(e,{recipient:t,assetValue:n})=>e.tx.balances?.transferAllowDeath?.(t,n.getBaseValue("number")),X=async(e,t,{recipient:n,assetValue:r,sender:a})=>{let o=I(e,{assetValue:r,recipient:n});if(!o)throw new i.SwapKitError("toolbox_substrate_transfer_error");let s=p(t),c=s?t.address:a;if(!c)throw new i.SwapKitError("core_transaction_invalid_sender_address");let y=await k(e,c);return(await o.signAndSend(s?t:c,{nonce:y,signer:s?void 0:t})).toString()},Y=async(e,t,n,{recipient:r,assetValue:a,sender:o})=>{let s=I(e,{assetValue:a,recipient:r}),c=p(t)?t.address:o;if(!c)return;let y=await s?.paymentInfo(c,{nonce:await k(e,c)})||{partialFee:0};return n.set(i.SwapKitNumber.fromBigInt(BigInt(y.partialFee.toString()),n.decimal).getValue("string"))},Z=async(e,t)=>{if(t)return e.send(t);return(await e.send()).toString()},$=async(e,t)=>{return await t.signAsync(e)},ee=(e,t,n)=>{if(n)return t.signAndSend(e,n);return t.signAndSend(e).toString()},te=async({signer:e,address:t,tx:n,callback:r,api:a})=>{let o=await k(a,t);if(r)n.signAndSend(t,{nonce:o,signer:e},r);return n.signAndSend(t,{nonce:o,signer:e}).toString()},M=({api:e,network:t,gasAsset:n,signer:r,chain:a})=>({api:e,broadcast:Z,convertAddress:re,createKeyring:(o)=>S(o,t.prefix),createTransaction:(o)=>I(e,o),decodeAddress:R,encodeAddress:D,estimateTransactionFee:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return Y(e,r,n,o)},gasAsset:n,getAddress:(o)=>{let s=o||r;if(!s)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return p(s)?s.address:void 0},getBalance:E(a||i.Chain.Polkadot,e),network:t,sign:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return $(r,o);throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:s,address:c})=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return ee(r,o,s);if(c)return te({address:c,api:e,callback:s,signer:r,tx:o});throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return X(e,r,o)},validateAddress:(o)=>h(o,t.prefix)}),ne=({address:e,chain:t})=>{let{prefix:n}=t===i.Chain.Polkadot?d.DOT:d.FLIP;return h(e,n)||h(e,d.GENERIC.prefix)};var F=g(()=>{K();x();u=require("@polkadot/util"),m=require("@polkadot/util-crypto"),i=require("@swapkit/helpers"),b=require("ts-pattern")});var oe={};H(oe,{substrateValidateAddress:()=>ne,isKeyringPair:()=>p,getSubstrateToolbox:()=>Q,createSubstrateToolbox:()=>T,createKeyring:()=>S,SubstrateNetwork:()=>d,PolkadotToolbox:()=>j,ChainflipToolbox:()=>N,BaseSubstrateToolbox:()=>M});module.exports=L(oe);var ie=g(()=>{F();x()});ie();
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=CB7265C2E8B186E964756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"import type { ApiPromise } from \"@polkadot/api\";\nimport type { SubmittableExtrinsic } from \"@polkadot/api/types\";\nimport type { KeyringPair } from \"@polkadot/keyring/types\";\nimport type { Callback, IKeyringPair, ISubmittableResult, Signer } from \"@polkadot/types/types\";\nimport { hexToU8a, isHex, u8aToHex } from \"@polkadot/util\";\nimport { decodeAddress as decodePolkadotAddress, encodeAddress as encodePolkadotAddress } from \"@polkadot/util-crypto\";\nimport {\n AssetValue,\n Chain,\n type DerivationPathArray,\n type GenericCreateTransactionParams,\n getRPCUrl,\n type SubstrateChain,\n SwapKitError,\n SwapKitNumber,\n} from \"@swapkit/helpers\";\n\nimport { match, P } from \"ts-pattern\";\nimport { createBalanceGetter } from \"./balance\";\nimport { SubstrateNetwork, type SubstrateTransferParams } from \"./types\";\n\nexport const PolkadotToolbox = ({ generic = false, ...signerParams }: ToolboxParams = {}) => {\n return createSubstrateToolbox({ chain: Chain.Polkadot, generic, ...signerParams });\n};\n\nexport const ChainflipToolbox = async ({ generic = false, ...signerParams }: ToolboxParams = {}) => {\n const toolbox = await createSubstrateToolbox({ chain: Chain.Chainflip, generic, ...signerParams });\n\n return { ...toolbox };\n};\n\nexport type SubstrateToolboxes = {\n DOT: Awaited<ReturnType<typeof PolkadotToolbox>>;\n FLIP: Awaited<ReturnType<typeof ChainflipToolbox>>;\n};\n\nexport function getSubstrateToolbox<T extends SubstrateChain>(chain: T, params?: ToolboxParams) {\n switch (chain) {\n case Chain.Chainflip: {\n return ChainflipToolbox(params);\n }\n case Chain.Polkadot: {\n return PolkadotToolbox(params);\n }\n default:\n throw new SwapKitError(\"toolbox_substrate_not_supported\", { chain });\n }\n}\n\nexport function isKeyringPair(account: IKeyringPair | Signer): account is IKeyringPair {\n return \"address\" in account;\n}\n\nexport async function createKeyring(phrase: string, networkPrefix: number) {\n const { Keyring } = await import(\"@polkadot/api\");\n const { cryptoWaitReady } = await import(\"@polkadot/util-crypto\");\n await cryptoWaitReady();\n\n return new Keyring({ ss58Format: networkPrefix, type: \"sr25519\" }).addFromUri(phrase);\n}\n\nconst getNonce = (api: ApiPromise, address: string) => api.rpc.system.accountNextIndex(address);\n\nconst validateAddress = (address: string, networkPrefix: number) => {\n try {\n const decodedAddress = decodeAddress(address, networkPrefix);\n\n encodeAddress(decodedAddress, \"ss58\", networkPrefix);\n\n return true;\n } catch (_error) {\n return false;\n }\n};\n\nconst createTransaction = (api: ApiPromise, { recipient, assetValue }: SubstrateTransferParams) =>\n api.tx.balances?.transferAllowDeath?.(recipient, assetValue.getBaseValue(\"number\"));\n\nconst transfer = async (\n api: ApiPromise,\n signer: IKeyringPair | Signer,\n { recipient, assetValue, sender }: SubstrateTransferParams,\n) => {\n const transfer = createTransaction(api, { assetValue, recipient });\n if (!transfer) throw new SwapKitError(\"toolbox_substrate_transfer_error\");\n\n const isKeyring = isKeyringPair(signer);\n\n const address = isKeyring ? (signer as IKeyringPair).address : sender;\n if (!address) throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n\n const nonce = await getNonce(api, address);\n\n const tx = await transfer.signAndSend(isKeyring ? signer : address, {\n nonce,\n signer: isKeyring ? undefined : signer,\n });\n\n return tx.toString();\n};\n\nconst estimateTransactionFee = async (\n api: ApiPromise,\n signer: IKeyringPair | Signer,\n gasAsset: AssetValue,\n { recipient, assetValue, sender }: SubstrateTransferParams,\n) => {\n const transfer = createTransaction(api, { assetValue, recipient });\n\n const address = isKeyringPair(signer) ? signer.address : sender;\n if (!address) return;\n\n const paymentInfo = (await transfer?.paymentInfo(address, { nonce: await getNonce(api, address) })) || {\n partialFee: 0,\n };\n return gasAsset.set(\n SwapKitNumber.fromBigInt(BigInt(paymentInfo.partialFee.toString()), gasAsset.decimal).getValue(\"string\"),\n );\n};\n\nconst broadcast = async (tx: SubmittableExtrinsic<\"promise\">, callback?: Callback<ISubmittableResult>) => {\n if (callback) return tx.send(callback);\n const hash = await tx.send();\n return hash.toString();\n};\n\nconst sign = async (signer: IKeyringPair, tx: SubmittableExtrinsic<\"promise\">) => {\n const signedTx = await tx.signAsync(signer);\n return signedTx;\n};\n\nconst signAndBroadcastKeyring = (\n signer: IKeyringPair,\n tx: SubmittableExtrinsic<\"promise\">,\n callback?: Callback<ISubmittableResult>,\n) => {\n if (callback) return tx.signAndSend(signer, callback);\n const hash = tx.signAndSend(signer);\n return hash.toString();\n};\n\nconst signAndBroadcast = async ({\n signer,\n address,\n tx,\n callback,\n api,\n}: {\n signer: Signer;\n address: string;\n tx: SubmittableExtrinsic<\"promise\">;\n api: ApiPromise;\n callback?: Callback<ISubmittableResult>;\n}) => {\n const nonce = await getNonce(api, address);\n if (callback) {\n tx.signAndSend(address, { nonce, signer }, callback);\n }\n const hash = tx.signAndSend(address, { nonce, signer });\n return hash.toString();\n};\n\nfunction convertAddress(address: string, newPrefix: number) {\n const decodedAddress = decodePolkadotAddress(address);\n const convertedAddress = encodePolkadotAddress(decodedAddress, newPrefix);\n return convertedAddress;\n}\n\nfunction decodeAddress(address: string, networkPrefix?: number) {\n return isHex(address) ? hexToU8a(address) : decodePolkadotAddress(address, undefined, networkPrefix);\n}\n\nfunction encodeAddress(address: Uint8Array, encoding: \"ss58\" | \"hex\" = \"ss58\", networkPrefix?: number) {\n if (encoding === \"hex\") {\n return u8aToHex(address);\n }\n\n return encodePolkadotAddress(address, networkPrefix);\n}\n\nexport const BaseSubstrateToolbox = ({\n api,\n network,\n gasAsset,\n signer,\n chain,\n}: {\n api: ApiPromise;\n network: SubstrateNetwork;\n gasAsset: AssetValue;\n signer?: IKeyringPair | Signer;\n chain?: SubstrateChain;\n}) => ({\n api,\n broadcast,\n convertAddress,\n createKeyring: (phrase: string) => createKeyring(phrase, network.prefix),\n createTransaction: (params: GenericCreateTransactionParams) => createTransaction(api, params),\n decodeAddress,\n encodeAddress,\n estimateTransactionFee: (params: SubstrateTransferParams) => {\n if (!signer) throw new SwapKitError(\"core_wallet_not_keypair_wallet\");\n return estimateTransactionFee(api, signer, gasAsset, params);\n },\n gasAsset,\n getAddress: (keyring?: IKeyringPair | Signer) => {\n const keyringPair = keyring || signer;\n if (!keyringPair) throw new SwapKitError(\"core_wallet_not_keypair_wallet\");\n\n return isKeyringPair(keyringPair) ? keyringPair.address : undefined;\n },\n getBalance: createBalanceGetter(chain || Chain.Polkadot, api),\n network,\n sign: (tx: SubmittableExtrinsic<\"promise\">) => {\n if (!signer) throw new SwapKitError(\"core_wallet_not_keypair_wallet\");\n if (isKeyringPair(signer)) return sign(signer, tx);\n\n throw new SwapKitError(\n \"core_wallet_not_keypair_wallet\",\n \"Signer does not have keyring pair capabilities required for signing.\",\n );\n },\n signAndBroadcast: ({\n tx,\n callback,\n address,\n }: {\n tx: SubmittableExtrinsic<\"promise\">;\n callback?: Callback<ISubmittableResult>;\n address?: string;\n }) => {\n if (!signer) throw new SwapKitError(\"core_wallet_not_keypair_wallet\");\n if (isKeyringPair(signer)) return signAndBroadcastKeyring(signer, tx, callback);\n\n if (address) {\n return signAndBroadcast({ address, api, callback, signer, tx });\n }\n\n throw new SwapKitError(\n \"core_wallet_not_keypair_wallet\",\n \"Signer does not have keyring pair capabilities required for signing.\",\n );\n },\n transfer: (params: SubstrateTransferParams) => {\n if (!signer) throw new SwapKitError(\"core_wallet_not_keypair_wallet\");\n return transfer(api, signer, params);\n },\n validateAddress: (address: string) => validateAddress(address, network.prefix),\n});\n\nexport const substrateValidateAddress = ({ address, chain }: { address: string; chain: SubstrateChain }) => {\n const { prefix } = chain === Chain.Polkadot ? SubstrateNetwork.DOT : SubstrateNetwork.FLIP;\n\n return validateAddress(address, prefix) || validateAddress(address, SubstrateNetwork.GENERIC.prefix);\n};\n\nexport async function createSubstrateToolbox({\n generic,\n chain,\n ...signerParams\n}: ToolboxParams & { chain: SubstrateChain }) {\n const { ApiPromise, WsProvider } = await import(\"@polkadot/api\");\n\n const rpcUrl = await getRPCUrl(chain);\n const provider = new WsProvider(rpcUrl);\n const api = await ApiPromise.create({ provider });\n const gasAsset = AssetValue.from({ chain });\n const network = generic ? SubstrateNetwork.GENERIC : SubstrateNetwork[chain];\n\n const signer = await match(signerParams)\n .with({ phrase: P.string }, ({ phrase }) => createKeyring(phrase, SubstrateNetwork[chain].prefix))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n return BaseSubstrateToolbox({ api, chain, gasAsset, network, signer });\n}\n\nexport type ToolboxParams = { generic?: boolean } & (\n | { signer?: KeyringPair | Signer }\n | { phrase?: string; derivationPath?: DerivationPathArray; index?: number }\n);\n",
|
|
8
8
|
"export * from \"./substrate\";\nexport * from \"./types\";\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "ssBAOA,eAAsB,CAAmB,CACvC,EACA,EACA,EACuB,CACvB,GAAI,CACF,IAAM,EAAU,MAAM,EAAI,MAAM,QAAQ,UAAU,CAAO,EAEzD,GAAI,CAAC,EACH,MAAO,CAAC,EAAS,IAAI,CAAC,CAAC,EAGzB,IAEE,MAAQ,SACN,EAGE,EAAc,gBAAc,WAAW,OAAO,EAAK,SAAS,CAAC,EAAG,EAAS,OAAO,EAAE,SAAS,QAAQ,EAEzG,MAAO,CAAC,EAAS,IAAI,CAAW,CAAC,EACjC,MAAO,EAAO,CAEd,OADA,QAAQ,MAAM,oCAAqC,CAAK,EACjD,CAAC,EAAS,IAAI,CAAC,CAAC,GAQ3B,eAAsB,CAAmB,CACvC,EACA,EACA,EACuB,CACvB,GAAI,CAEF,IAAM,EAAc,MAAM,EAAI,MAAM,MAAM,UAAU,CAAO,EAE3D,GAAI,CAAC,EACH,MAAO,CAAC,EAAS,IAAI,CAAC,CAAC,EAMzB,IAAM,EAAU,EAAY,SAAW,EAAY,MAAM,QAEzD,GAAI,CAAC,GAAW,EAAQ,QACtB,MAAO,CAAC,EAAS,IAAI,CAAC,CAAC,EAIzB,IAAM,EAAa,gBAAc,WAAW,OAAO,EAAQ,SAAS,CAAC,EAAG,EAAS,OAAO,EAAE,SAAS,QAAQ,EAE3G,MAAO,CAAC,EAAS,IAAI,CAAU,CAAC,EAChC,MAAO,EAAO,CAEd,OADA,QAAQ,MAAM,oCAAqC,CAAK,EACjD,CAAC,EAAS,IAAI,CAAC,CAAC,GAOpB,SAAS,CAAmB,CAAC,EAAc,EAAiB,CACjE,OAAO,QAAmB,CAAC,EAAwC,CACjE,IAAM,EAAW,aAAW,KAAK,CAAE,OAAM,CAAC,EAE1C,OAAQ,QACD,QAAM,UACT,OAAO,EAAoB,EAAK,EAAU,CAAO,UAGjD,OAAO,EAAoB,EAAK,EAAU,CAAO,QAjFzD,mDCKM,EAUA,EAUA,EAUO,eA9BP,EAAkB,CACtB,SAAU,CAAC,EAAE,EACb,YAAa,uBACb,QAAS,WACT,OAAQ,EACR,gBAAiB,SACjB,QAAS,CAAC,KAAK,EACf,QAAS,0BACX,EAEM,EAAmB,CACvB,SAAU,CAAC,EAAE,EACb,YAAa,YACb,QAAS,YACT,OAAQ,KACR,gBAAiB,SACjB,QAAS,CAAC,MAAM,EAChB,QAAS,uBACX,EAEM,EAAkB,CACtB,SAAU,CAAC,EACX,YAAa,YACb,QAAS,YACT,OAAQ,GACR,gBAAiB,SACjB,QAAS,CAAC,EACV,QAAS,uBACX,EAEa,EAAyE,CACpF,IAAK,EACL,KAAM,EACN,QAAS,CACX,ICJO,SAAS,CAA6C,CAAC,EAAU,EAAwB,CAC9F,OAAQ,QACD,QAAM,UACT,OAAO,EAAiB,CAAM,OAE3B,QAAM,SACT,OAAO,EAAgB,CAAM,UAG7B,MAAM,IAAI,eAAa,kCAAmC,CAAE,OAAM,CAAC,GAIlE,SAAS,CAAa,CAAC,EAAyD,CACrF,MAAO,YAAa,EAGtB,eAAsB,CAAa,CAAC,EAAgB,EAAuB,CACzE,IAAQ,WAAY,KAAa,0BACzB,mBAAoB,KAAa,iCAGzC,OAFA,MAAM,EAAgB,EAEf,IAAI,EAAQ,CAAE,WAAY,EAAe,KAAM,SAAU,CAAC,EAAE,WAAW,CAAM,EAwGtF,SAAS,EAAc,CAAC,EAAiB,EAAmB,CAC1D,IAAM,EAAiB,gBAAsB,CAAO,EAEpD,OADyB,gBAAsB,EAAgB,CAAS,EAI1E,SAAS,CAAa,CAAC,EAAiB,EAAwB,CAC9D,OAAO,QAAM,CAAO,EAAI,WAAS,CAAO,EAAI,gBAAsB,EAAS,OAAW,CAAa,EAGrG,SAAS,CAAa,CAAC,EAAqB,EAA2B,OAAQ,EAAwB,CACrG,GAAI,IAAa,MACf,OAAO,WAAS,CAAO,EAGzB,OAAO,gBAAsB,EAAS,CAAa,EA+ErD,eAAsB,CAAsB,EAC1C,UACA,WACG,GACyC,CAC5C,IAAQ,aAAY,cAAe,KAAa,yBAE1C,EAAS,MAAM,YAAU,CAAK,EAC9B,EAAW,IAAI,EAAW,CAAM,EAChC,EAAM,MAAM,EAAW,OAAO,CAAE,UAAS,CAAC,EAC1C,EAAW,aAAW,KAAK,CAAE,OAAM,CAAC,EACpC,EAAU,EAAU,EAAiB,QAAU,EAAiB,GAEhE,EAAS,MAAM,QAAM,CAAY,EACpC,KAAK,CAAE,OAAQ,IAAE,MAAO,EAAG,EAAG,YAAa,EAAc,EAAQ,EAAiB,GAAO,MAAM,CAAC,EAChG,KAAK,CAAE,OAAQ,IAAE,GAAI,EAAG,EAAG,YAAa,CAAM,EAC9C,UAAU,IAAG,CAAG,OAAS,EAE5B,OAAO,EAAqB,CAAE,MAAK,QAAO,WAAU,UAAS,QAAO,CAAC,MA9QvE,EACA,EACA,EAWA,EAIa,EAAkB,EAAG,UAAU,MAAU,GAAgC,CAAC,IAAM,CAC3F,OAAO,EAAuB,CAAE,MAAO,QAAM,SAAU,aAAY,CAAa,CAAC,GAGtE,EAAmB,OAAS,UAAU,MAAU,GAAgC,CAAC,IAAM,CAGlG,MAAO,IAFS,MAAM,EAAuB,CAAE,MAAO,QAAM,UAAW,aAAY,CAAa,CAAC,CAE7E,GAiChB,EAAW,CAAC,EAAiB,IAAoB,EAAI,IAAI,OAAO,iBAAiB,CAAO,EAExF,EAAkB,CAAC,EAAiB,IAA0B,CAClE,GAAI,CACF,IAAM,EAAiB,EAAc,EAAS,CAAa,EAI3D,OAFA,EAAc,EAAgB,OAAQ,CAAa,EAE5C,GACP,MAAO,EAAQ,CACf,MAAO,KAIL,EAAoB,CAAC,GAAmB,YAAW,gBACvD,EAAI,GAAG,UAAU,qBAAqB,EAAW,EAAW,aAAa,QAAQ,CAAC,EAE9E,EAAW,MACf,EACA,GACE,YAAW,aAAY,YACtB,CACH,IAAM,EAAW,EAAkB,EAAK,CAAE,aAAY,WAAU,CAAC,EACjE,GAAI,CAAC,EAAU,MAAM,IAAI,eAAa,kCAAkC,EAExE,IAAM,EAAY,EAAc,CAAM,EAEhC,EAAU,EAAa,EAAwB,QAAU,EAC/D,GAAI,CAAC,EAAS,MAAM,IAAI,eAAa,yCAAyC,EAE9E,IAAM,EAAQ,MAAM,EAAS,EAAK,CAAO,EAOzC,OALW,MAAM,EAAS,YAAY,EAAY,EAAS,EAAS,CAClE,QACA,OAAQ,EAAY,OAAY,CAClC,CAAC,GAES,SAAS,GAGf,EAAyB,MAC7B,EACA,EACA,GACE,YAAW,aAAY,YACtB,CACH,IAAM,EAAW,EAAkB,EAAK,CAAE,aAAY,WAAU,CAAC,EAE3D,EAAU,EAAc,CAAM,EAAI,EAAO,QAAU,EACzD,GAAI,CAAC,EAAS,OAEd,IAAM,EAAe,MAAM,GAAU,YAAY,EAAS,CAAE,MAAO,MAAM,EAAS,EAAK,CAAO,CAAE,CAAC,GAAM,CACrG,WAAY,CACd,EACA,OAAO,EAAS,IACd,gBAAc,WAAW,OAAO,EAAY,WAAW,SAAS,CAAC,EAAG,EAAS,OAAO,EAAE,SAAS,QAAQ,CACzG,GAGI,EAAY,MAAO,EAAqC,IAA4C,CACxG,GAAI,EAAU,OAAO,EAAG,KAAK,CAAQ,EAErC,OADa,MAAM,EAAG,KAAK,GACf,SAAS,GAGjB,EAAO,MAAO,EAAsB,IAAwC,CAEhF,OADiB,MAAM,EAAG,UAAU,CAAM,GAItC,GAA0B,CAC9B,EACA,EACA,IACG,CACH,GAAI,EAAU,OAAO,EAAG,YAAY,EAAQ,CAAQ,EAEpD,OADa,EAAG,YAAY,CAAM,EACtB,SAAS,GAGjB,GAAmB,OACvB,SACA,UACA,KACA,WACA,SAOI,CACJ,IAAM,EAAQ,MAAM,EAAS,EAAK,CAAO,EACzC,GAAI,EACF,EAAG,YAAY,EAAS,CAAE,QAAO,QAAO,EAAG,CAAQ,EAGrD,OADa,EAAG,YAAY,EAAS,CAAE,QAAO,QAAO,CAAC,EAC1C,SAAS,GAqBV,EAAuB,EAClC,MACA,UACA,WACA,SACA,YAOK,CACL,MACA,YACA,kBACA,cAAe,CAAC,IAAmB,EAAc,EAAQ,EAAQ,MAAM,EACvE,kBAAmB,CAAC,IAA2C,EAAkB,EAAK,CAAM,EAC5F,gBACA,gBACA,uBAAwB,CAAC,IAAoC,CAC3D,GAAI,CAAC,EAAQ,MAAM,IAAI,eAAa,gCAAgC,EACpE,OAAO,EAAuB,EAAK,EAAQ,EAAU,CAAM,GAE7D,WACA,WAAY,CAAC,IAAoC,CAC/C,IAAM,EAAc,GAAW,EAC/B,GAAI,CAAC,EAAa,MAAM,IAAI,eAAa,gCAAgC,EAEzE,OAAO,EAAc,CAAW,EAAI,EAAY,QAAU,QAE5D,WAAY,EAAoB,GAAS,QAAM,SAAU,CAAG,EAC5D,UACA,KAAM,CAAC,IAAwC,CAC7C,GAAI,CAAC,EAAQ,MAAM,IAAI,eAAa,gCAAgC,EACpE,GAAI,EAAc,CAAM,EAAG,OAAO,EAAK,EAAQ,CAAE,EAEjD,MAAM,IAAI,eACR,iCACA,sEACF,GAEF,iBAAkB,EAChB,KACA,WACA,aAKI,CACJ,GAAI,CAAC,EAAQ,MAAM,IAAI,eAAa,gCAAgC,EACpE,GAAI,EAAc,CAAM,EAAG,OAAO,GAAwB,EAAQ,EAAI,CAAQ,EAE9E,GAAI,EACF,OAAO,GAAiB,CAAE,UAAS,MAAK,WAAU,SAAQ,IAAG,CAAC,EAGhE,MAAM,IAAI,eACR,iCACA,sEACF,GAEF,SAAU,CAAC,IAAoC,CAC7C,GAAI,CAAC,EAAQ,MAAM,IAAI,eAAa,gCAAgC,EACpE,OAAO,EAAS,EAAK,EAAQ,CAAM,GAErC,gBAAiB,CAAC,IAAoB,EAAgB,EAAS,EAAQ,MAAM,CAC/E,GAEa,GAA2B,EAAG,UAAS,WAAwD,CAC1G,IAAQ,UAAW,IAAU,QAAM,SAAW,EAAiB,IAAM,EAAiB,KAEtF,OAAO,EAAgB,EAAS,CAAM,GAAK,EAAgB,EAAS,EAAiB,QAAQ,MAAM,
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "CB7265C2E8B186E964756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var G=Object.create;var{getPrototypeOf:B,defineProperty:f,getOwnPropertyNames:U}=Object;var V=Object.prototype.hasOwnProperty;var b=(e,t,r)=>{r=e!=null?G(B(e)):{};let n=t||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r;for(let i of U(e))if(!V.call(n,i))f(n,i,{get:()=>e[i],enumerable:!0});return n};var L=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0,configurable:!0,set:(n)=>t[r]=()=>n})};var m=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=((e)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});import{AssetValue as H,Chain as W,SwapKitNumber as T}from"@swapkit/helpers";async function O(e,t,r){try{let n=await e.query.system?.account?.(r);if(!n)return[t.set(0)];let{data:{free:i}}=n,o=T.fromBigInt(BigInt(i.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(n){return console.error("Error fetching substrate balance:",n),[t.set(0)]}}async function q(e,t,r){try{let n=await e.query.flip?.account?.(r);if(!n)return[t.set(0)];let i=n.balance||n.data?.balance;if(!i||i.isEmpty)return[t.set(0)];let o=T.fromBigInt(BigInt(i.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(n){return console.error("Error fetching chainflip balance:",n),[t.set(0)]}}function _(e,t){return function(n){let i=H.from({chain:e});switch(e){case W.Chainflip:return q(t,i,n);default:return O(t,i,n)}}}var v=()=>{};var z,J,Q,d;var w=m(()=>{z={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},J={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},Q={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},d={DOT:z,FLIP:J,GENERIC:Q}});import{hexToU8a as X,isHex as Y,u8aToHex as Z}from"@polkadot/util";import{decodeAddress as C,encodeAddress as E}from"@polkadot/util-crypto";import{AssetValue as $,Chain as p,getRPCUrl as ee,SwapKitError as c,SwapKitNumber as te}from"@swapkit/helpers";import{match as re,P as A}from"ts-pattern";function ne(e,t){switch(e){case p.Chainflip:return j(t);case p.Polkadot:return K(t);default:throw new c("toolbox_substrate_not_supported",{chain:e})}}function l(e){return"address"in e}async function x(e,t){let{Keyring:r}=await import("@polkadot/api"),{cryptoWaitReady:n}=await import("@polkadot/util-crypto");return await n(),new r({ss58Format:t,type:"sr25519"}).addFromUri(e)}function le(e,t){let r=C(e);return E(r,t)}function N(e,t){return Y(e)?X(e):C(e,void 0,t)}function R(e,t="ss58",r){if(t==="hex")return Z(e);return E(e,r)}async function k({generic:e,chain:t,...r}){let{ApiPromise:n,WsProvider:i}=await import("@polkadot/api"),o=await ee(t),a=new i(o),s=await n.create({provider:a}),u=$.from({chain:t}),I=e?d.GENERIC:d[t],F=await re(r).with({phrase:A.string},({phrase:y})=>x(y,d[t].prefix)).with({signer:A.any},({signer:y})=>y).otherwise(()=>{return});return D({api:s,chain:t,gasAsset:u,network:I,signer:F})}var K=({generic:e=!1,...t}={})=>{return k({chain:p.Polkadot,generic:e,...t})},j=async({generic:e=!1,...t}={})=>{return{...await k({chain:p.Chainflip,generic:e,...t})}},h=(e,t)=>e.rpc.system.accountNextIndex(t),P=(e,t)=>{try{let r=N(e,t);return R(r,"ss58",t),!0}catch(r){return!1}},S=(e,{recipient:t,assetValue:r})=>e.tx.balances?.transferAllowDeath?.(t,r.getBaseValue("number")),oe=async(e,t,{recipient:r,assetValue:n,sender:i})=>{let o=S(e,{assetValue:n,recipient:r});if(!o)throw new c("toolbox_substrate_transfer_error");let a=l(t),s=a?t.address:i;if(!s)throw new c("core_transaction_invalid_sender_address");let u=await h(e,s);return(await o.signAndSend(a?t:s,{nonce:u,signer:a?void 0:t})).toString()},ie=async(e,t,r,{recipient:n,assetValue:i,sender:o})=>{let a=S(e,{assetValue:i,recipient:n}),s=l(t)?t.address:o;if(!s)return;let u=await a?.paymentInfo(s,{nonce:await h(e,s)})||{partialFee:0};return r.set(te.fromBigInt(BigInt(u.partialFee.toString()),r.decimal).getValue("string"))},ae=async(e,t)=>{if(t)return e.send(t);return(await e.send()).toString()},se=async(e,t)=>{return await t.signAsync(e)},ce=(e,t,r)=>{if(r)return t.signAndSend(e,r);return t.signAndSend(e).toString()},de=async({signer:e,address:t,tx:r,callback:n,api:i})=>{let o=await h(i,t);if(n)r.signAndSend(t,{nonce:o,signer:e},n);return r.signAndSend(t,{nonce:o,signer:e}).toString()},D=({api:e,network:t,gasAsset:r,signer:n,chain:i})=>({api:e,broadcast:ae,convertAddress:le,createKeyring:(o)=>x(o,t.prefix),createTransaction:(o)=>S(e,o),decodeAddress:N,encodeAddress:R,estimateTransactionFee:(o)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");return ie(e,n,r,o)},gasAsset:r,getAddress:(o)=>{let a=o||n;if(!a)throw new c("core_wallet_not_keypair_wallet");return l(a)?a.address:void 0},getBalance:_(i||p.Polkadot,e),network:t,sign:(o)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");if(l(n))return se(n,o);throw new c("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:a,address:s})=>{if(!n)throw new c("core_wallet_not_keypair_wallet");if(l(n))return ce(n,o,a);if(s)return de({address:s,api:e,callback:a,signer:n,tx:o});throw new c("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");return oe(e,n,o)},validateAddress:(o)=>P(o,t.prefix)}),pe=({address:e,chain:t})=>{let{prefix:r}=t===p.Polkadot?d.DOT:d.FLIP;return P(e,r)||P(e,d.GENERIC.prefix)};var M=m(()=>{v();w()});var ue={};L(ue,{substrateValidateAddress:()=>pe,isKeyringPair:()=>l,getSubstrateToolbox:()=>ne,createSubstrateToolbox:()=>k,createKeyring:()=>x,SubstrateNetwork:()=>d,PolkadotToolbox:()=>K,ChainflipToolbox:()=>j,BaseSubstrateToolbox:()=>D});var me=m(()=>{M();w()});me();export{pe as substrateValidateAddress,l as isKeyringPair,ne as getSubstrateToolbox,k as createSubstrateToolbox,x as createKeyring,d as SubstrateNetwork,K as PolkadotToolbox,j as ChainflipToolbox,D as BaseSubstrateToolbox};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=DDE2CB6257936F6164756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"export * from \"./substrate\";\nexport * from \"./types\";\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "DDE2CB6257936F6164756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/dist/src/tron/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Qy=Object.create;var{getPrototypeOf:Zy,defineProperty:P,getOwnPropertyNames:b,getOwnPropertyDescriptor:$y}=Object,h=Object.prototype.hasOwnProperty;var x=(f,Z,Y)=>{Y=f!=null?Qy(Zy(f)):{};let j=Z||!f||!f.__esModule?P(Y,"default",{value:f,enumerable:!0}):Y;for(let L of b(f))if(!h.call(j,L))P(j,L,{get:()=>f[L],enumerable:!0});return j},l=new WeakMap,jy=(f)=>{var Z=l.get(f),Y;if(Z)return Z;if(Z=P({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")b(f).map((j)=>!h.call(Z,j)&&P(Z,j,{get:()=>f[j],enumerable:!(Y=$y(f,j))||Y.enumerable}));return l.set(f,Z),Z};var Yy=(f,Z)=>{for(var Y in Z)P(f,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:(j)=>Z[Y]=()=>j})};var R=(f,Z)=>()=>(f&&(Z=f(f=0)),Z);var C;var T=R(()=>{C=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function i(f){let Z=await import("tronweb"),Y=Z.TronWeb??Z.default?.TronWeb;try{let j=await fetch(`${Xy}/v1/accounts/${f}`);if(!j.ok)throw Error(`TronGrid API error: ${j.status} ${j.statusText}`);let L=await j.json();if(!(L.success&&L.data)||L.data.length===0)throw Error("Invalid response from TronGrid API");let M;try{M=Y.address.toHex(f).toLowerCase()}catch{M=f.toLowerCase()}let H=L.data.find((p)=>{return p.address.toLowerCase()===M});if(!H)return;return{balance:H.balance,trc20:H.trc20||[]}}catch(j){throw new A.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:j instanceof Error?j.message:"Unknown error"})}}var A,Xy="https://api.trongrid.io";var n=R(()=>{A=require("@swapkit/helpers")});async function D(){let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb;return(Y)=>{return Z.isAddress(Y)}}async function t({phrase:f,derivationPath:Z,index:Y}){let j=Z||y.derivationPathToString(y.updateDerivationPath(y.NetworkDerivationPath[y.Chain.Tron],{index:Y||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:M}=await import("@scure/bip39"),H=M(f),G=L.fromMasterSeed(H).derive(j);if(!G.privateKey)throw new y.SwapKitError("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function Iy({phrase:f,derivationPath:Z,tronWeb:Y}){let{HDKey:j}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),M=L(f),p=j.fromMasterSeed(M).derive(Z);if(!p.privateKey)throw new y.SwapKitError("toolbox_tron_no_signer");let G=Buffer.from(p.privateKey).toString("hex");Y.setPrivateKey(G);let v=Y?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof v==="string"?v:""),signTransaction:async(K)=>{return await Y.trx.sign(K,G)}}}var y,B,Gy=268,Ly=13000,uy=345,c="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Uy="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",o=async(f={})=>{let Z=await import("tronweb"),Y=Z.TronWeb??Z.default?.TronWeb,j=await y.getRPCUrl(y.Chain.Tron),L=void 0,M=new Y({fullHost:j,headers:void 0}),H="index"in f?f.index||0:0,p=y.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:y.updateDerivationPath(y.NetworkDerivationPath[y.Chain.Tron],{index:H})),G=await B.match(f).with({phrase:B.P.string},async({phrase:q})=>Iy({derivationPath:p,phrase:q,tronWeb:M})).with({signer:B.P.any},({signer:q})=>Promise.resolve(q)).otherwise(()=>Promise.resolve(void 0)),v=async()=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},K=()=>{return 1e8},V=async()=>{try{let q=await M.trx.getChainParameters(),_={};for(let z of q)_[z.key]=z.value;return{bandwidthFee:_.getTransactionFee||1000,createAccountFee:_.getCreateAccountFee||1e5,energyFee:_.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},s=async(q)=>{try{let _=await M.trx.getAccount(q);return _&&Object.keys(_).length>0}catch{return!1}},a=async(q)=>{try{let _=await M.trx.getAccountResources(q);return{bandwidth:{free:_.freeNetLimit-_.freeNetUsed,total:_.NetLimit||0,used:_.NetUsed||0},energy:{total:_.EnergyLimit||0,used:_.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},e=async(q,_)=>{try{let z=M.contract(C,_);if(!z.methods?.balanceOf)return 0n;let[J]=await z.methods.balanceOf(q).call();return J?typeof J==="bigint"?J:BigInt(J):0n}catch(z){return console.warn(`balanceOf() failed for ${_}:`,z),0n}},r=async(q,_)=>{try{M.setAddress(_);let z=M.contract(C,q),[J,Q]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(Q??18),symbol:J??"UNKNOWN"}}catch(z){return y.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${q}: ${z instanceof Error?z.message:z}`}),null}},yy=async(q,_=!0)=>{let z=[y.AssetValue.from({chain:y.Chain.Tron})];try{let J=await i(q);if(J){let Q=[];Q.push(y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:6,value:J.balance}));for(let X of J.trc20){let[U,u]=Object.entries(X)[0]||[];if(!(U&&u))continue;let $=await r(U,q);if(!$)continue;Q.push(y.AssetValue.from({asset:`TRON.${$.symbol}-${U}`,fromBaseDecimal:$.decimals,value:BigInt(u||0)}))}return Q}return z}catch(J){y.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${J instanceof Error?J.message:J}`});let Q=[],X=await M.trx.getBalance(q);if(X&&Number(X)>0)Q.push(y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:6,value:X}));let U=await e(q,c);if(U)Q.push(y.AssetValue.from({asset:`TRON.USDT-${c}`,fromBaseDecimal:6,value:U}));return Q}},fy=async({recipient:q,assetValue:_,memo:z})=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");let J=await v();if(M.setAddress(J),_.isGasAsset){let $=await M.transactionBuilder.sendTrx(q,_.getBaseValue("number"),J);if(z){let O=await M.transactionBuilder.addUpdateData($,z,"utf8"),F=await G.signTransaction(O),{txid:m}=await M.trx.sendRawTransaction(F);return m}let k=await G.signTransaction($),{txid:I}=await M.trx.sendRawTransaction(k);return I}let X=await E({assetValue:_,memo:z,recipient:q,sender:J}),U=await G.signTransaction(X),{txid:u}=await M.trx.sendRawTransaction(U);if(!u)throw new y.SwapKitError("toolbox_tron_token_transfer_failed");return u},_y=async({assetValue:q,recipient:_,sender:z})=>{let J=q.isGasAsset;try{let Q=z?z:G?await v():void 0;if(!Q)return J?y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:0,value:0.1}):y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:0,value:15});let X=await V(),u=await s(_)?0:X.createAccountFee,$=await a(Q);if(J){let N=Gy,g=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),W=0;if(N>g)W=(N-g)*X.bandwidthFee;let My=u+W;return y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:y.BaseDecimal.TRON,value:My})}let k=uy,I=Ly,O=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),F=$.energy.total-$.energy.used,m=0;if(k>O)m=(k-O)*X.bandwidthFee;let w=0;if(I>F)w=(I-F)*X.energyFee;let Jy=u+m+w;return y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:y.BaseDecimal.TRON,value:Jy})}catch(Q){throw y.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${Q instanceof Error?Q.message:Q}`}),new y.SwapKitError("toolbox_tron_fee_estimation_failed",{error:Q})}},E=async(q)=>{let{recipient:_,assetValue:z,memo:J,sender:Q,expiration:X}=q;if(z.isGasAsset){let $=await M.transactionBuilder.sendTrx(_,z.getBaseValue("number"),Q);if(J)return M.transactionBuilder.addUpdateData($,J,"utf8");if(X)M.transactionBuilder.extendExpiration($,X);return $}M.setAddress(Q);let u=z.address;if(!u)throw new y.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let k=[{type:"address",value:_},{type:"uint256",value:z.getBaseValue("string")}],I={callValue:0,feeLimit:K()},O=await M.transactionBuilder.triggerSmartContract(u,"transfer(address,uint256)",I,k,Q);if(J)return M.transactionBuilder.addUpdateData(O.transaction,J,"utf8");if(X)M.transactionBuilder.extendExpiration(O.transaction,X);return O.transaction}catch($){throw new y.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:$ instanceof Error?$.message:String($)})}},qy=async(q)=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(q)},zy=async(q)=>{let{txid:_}=await M.trx.sendRawTransaction(q);return _},S=async({assetAddress:q,spenderAddress:_,from:z})=>{try{let J=M.contract(C,q);if(!J.methods?.allowance)throw new y.SwapKitError("toolbox_tron_invalid_token_contract");let[Q]=await J.methods.allowance(z,_).call();return Q?typeof Q==="bigint"?Q:BigInt(Q):0n}catch(J){throw new y.SwapKitError("toolbox_tron_allowance_check_failed",{error:J})}};return{approve:async({assetAddress:q,spenderAddress:_,amount:z,from:J})=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");let Q=J||await v(),X=z!==void 0?BigInt(z).toString():Uy,U="approve(address,uint256)",u=[{type:"address",value:_},{type:"uint256",value:X}],k={callValue:0,feeLimit:K()};try{let{transaction:I}=await M.transactionBuilder.triggerSmartContract(q,U,k,u,Q),O=await G.signTransaction(I),{txid:F}=await M.trx.sendRawTransaction(O);if(!F)throw new y.SwapKitError("toolbox_tron_approve_failed");return F}catch(I){throw new y.SwapKitError("toolbox_tron_approve_failed",{error:I})}},broadcastTransaction:zy,createTransaction:E,estimateTransactionFee:_y,getAddress:v,getApprovedAmount:S,getBalance:yy,isApproved:async({assetAddress:q,spenderAddress:_,from:z,amount:J})=>{let Q=await S({assetAddress:q,from:z,spenderAddress:_});if(!J)return Q>0n;let X=BigInt(J);return Q>=X},signTransaction:qy,transfer:fy,tronWeb:M,validateAddress:await D()}};var d=R(()=>{y=require("@swapkit/helpers"),B=require("ts-pattern");T();n()});var Oy={};Yy(Oy,{trc20ABI:()=>C,getTronPrivateKeyFromMnemonic:()=>t,getTronAddressValidator:()=>D,createTronToolbox:()=>o});module.exports=jy(Oy);var Hy=R(()=>{T();d()});Hy();
|
|
1
|
+
var Qy=Object.create;var{getPrototypeOf:Zy,defineProperty:P,getOwnPropertyNames:b,getOwnPropertyDescriptor:$y}=Object,h=Object.prototype.hasOwnProperty;var x=(f,Z,Y)=>{Y=f!=null?Qy(Zy(f)):{};let j=Z||!f||!f.__esModule?P(Y,"default",{value:f,enumerable:!0}):Y;for(let L of b(f))if(!h.call(j,L))P(j,L,{get:()=>f[L],enumerable:!0});return j},l=new WeakMap,jy=(f)=>{var Z=l.get(f),Y;if(Z)return Z;if(Z=P({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")b(f).map((j)=>!h.call(Z,j)&&P(Z,j,{get:()=>f[j],enumerable:!(Y=$y(f,j))||Y.enumerable}));return l.set(f,Z),Z};var Yy=(f,Z)=>{for(var Y in Z)P(f,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:(j)=>Z[Y]=()=>j})};var R=(f,Z)=>()=>(f&&(Z=f(f=0)),Z);var C;var T=R(()=>{C=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function i(f){let Z=await import("tronweb"),Y=Z.TronWeb??Z.default?.TronWeb;try{let j=await fetch(`${Xy}/v1/accounts/${f}`);if(!j.ok)throw Error(`TronGrid API error: ${j.status} ${j.statusText}`);let L=await j.json();if(!(L.success&&L.data)||L.data.length===0)throw Error("Invalid response from TronGrid API");let M;try{M=Y.address.toHex(f).toLowerCase()}catch{M=f.toLowerCase()}let H=L.data.find((p)=>{return p.address.toLowerCase()===M});if(!H)return;return{balance:H.balance,trc20:H.trc20||[]}}catch(j){throw new A.SwapKitError("toolbox_tron_trongrid_api_error",{address:f,message:j instanceof Error?j.message:"Unknown error"})}}var A,Xy="https://api.trongrid.io";var n=R(()=>{A=require("@swapkit/helpers")});async function D(){let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb;return(Y)=>{return Z.isAddress(Y)}}async function t({phrase:f,derivationPath:Z,index:Y}){let j=Z||y.derivationPathToString(y.updateDerivationPath(y.NetworkDerivationPath[y.Chain.Tron],{index:Y||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:M}=await import("@scure/bip39"),H=M(f),G=L.fromMasterSeed(H).derive(j);if(!G.privateKey)throw new y.SwapKitError("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function Iy({phrase:f,derivationPath:Z,tronWeb:Y}){let{HDKey:j}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),M=L(f),p=j.fromMasterSeed(M).derive(Z);if(!p.privateKey)throw new y.SwapKitError("toolbox_tron_no_signer");let G=Buffer.from(p.privateKey).toString("hex");Y.setPrivateKey(G);let v=Y?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof v==="string"?v:""),signTransaction:async(K)=>{return await Y.trx.sign(K,G)}}}var y,B,Gy=268,Ly=13000,uy=345,c="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Uy="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",o=async(f={})=>{let Z=await import("tronweb"),Y=Z.TronWeb??Z.default?.TronWeb,j=await y.getRPCUrl(y.Chain.Tron),L=void 0,M=new Y({fullHost:j,headers:void 0}),H="index"in f?f.index||0:0,p=y.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:y.updateDerivationPath(y.NetworkDerivationPath[y.Chain.Tron],{index:H})),G=await B.match(f).with({phrase:B.P.string},async({phrase:q})=>Iy({derivationPath:p,phrase:q,tronWeb:M})).with({signer:B.P.any},({signer:q})=>Promise.resolve(q)).otherwise(()=>Promise.resolve(void 0)),v=async()=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},K=()=>{return 1e8},V=async()=>{try{let q=await M.trx.getChainParameters(),_={};for(let z of q)_[z.key]=z.value;return{bandwidthFee:_.getTransactionFee||1000,createAccountFee:_.getCreateAccountFee||1e5,energyFee:_.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},s=async(q)=>{try{let _=await M.trx.getAccount(q);return _&&Object.keys(_).length>0}catch{return!1}},a=async(q)=>{try{let _=await M.trx.getAccountResources(q);return{bandwidth:{free:_.freeNetLimit-_.freeNetUsed,total:_.NetLimit||0,used:_.NetUsed||0},energy:{total:_.EnergyLimit||0,used:_.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},e=async(q,_)=>{try{let z=M.contract(C,_);if(!z.methods?.balanceOf)return 0n;let[J]=await z.methods.balanceOf(q).call();return J?typeof J==="bigint"?J:BigInt(J):0n}catch(z){return console.warn(`balanceOf() failed for ${_}:`,z),0n}},r=async(q,_)=>{try{M.setAddress(_);let z=M.contract(C,q),[J,Q]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(Q??18),symbol:J??"UNKNOWN"}}catch(z){return y.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${q}: ${z instanceof Error?z.message:z}`}),null}},yy=async(q,_=!0)=>{let z=[y.AssetValue.from({chain:y.Chain.Tron})];try{let J=await i(q);if(J){let Q=[];Q.push(y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:6,value:J.balance}));for(let X of J.trc20){let[U,u]=Object.entries(X)[0]||[];if(!(U&&u))continue;let $=await r(U,q);if(!$)continue;Q.push(y.AssetValue.from({asset:`TRON.${$.symbol}-${U}`,fromBaseDecimal:$.decimals,value:BigInt(u||0)}))}return Q}return z}catch(J){y.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${J instanceof Error?J.message:J}`});let Q=[],X=await M.trx.getBalance(q);if(X&&Number(X)>0)Q.push(y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:6,value:X}));let U=await e(q,c);if(U)Q.push(y.AssetValue.from({asset:`TRON.USDT-${c}`,fromBaseDecimal:6,value:U}));return Q}},fy=async({recipient:q,assetValue:_,memo:z})=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");let J=await v();if(M.setAddress(J),_.isGasAsset){let $=await M.transactionBuilder.sendTrx(q,_.getBaseValue("number"),J);if(z){let O=await M.transactionBuilder.addUpdateData($,z,"utf8"),F=await G.signTransaction(O),{txid:m}=await M.trx.sendRawTransaction(F);return m}let k=await G.signTransaction($),{txid:I}=await M.trx.sendRawTransaction(k);return I}let X=await E({assetValue:_,memo:z,recipient:q,sender:J}),U=await G.signTransaction(X),{txid:u}=await M.trx.sendRawTransaction(U);if(!u)throw new y.SwapKitError("toolbox_tron_token_transfer_failed");return u},_y=async({assetValue:q,recipient:_,sender:z})=>{let J=q.isGasAsset;try{let Q=z?z:G?await v():void 0;if(!Q)return J?y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:0,value:0.1}):y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:0,value:15});let X=await V(),u=await s(_)?0:X.createAccountFee,$=await a(Q);if(J){let N=Gy,g=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),W=0;if(N>g)W=(N-g)*X.bandwidthFee;let My=u+W;return y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:y.BaseDecimal.TRON,value:My})}let k=uy,I=Ly,O=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),F=$.energy.total-$.energy.used,m=0;if(k>O)m=(k-O)*X.bandwidthFee;let w=0;if(I>F)w=(I-F)*X.energyFee;let Jy=u+m+w;return y.AssetValue.from({chain:y.Chain.Tron,fromBaseDecimal:y.BaseDecimal.TRON,value:Jy})}catch(Q){throw y.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${Q instanceof Error?Q.message:Q}`}),new y.SwapKitError("toolbox_tron_fee_estimation_failed",{error:Q})}},E=async(q)=>{let{recipient:_,assetValue:z,memo:J,sender:Q,expiration:X}=q;if(z.isGasAsset){let $=await M.transactionBuilder.sendTrx(_,z.getBaseValue("number"),Q);if(J)return M.transactionBuilder.addUpdateData($,J,"utf8");if(X)M.transactionBuilder.extendExpiration($,X);return $}M.setAddress(Q);let u=z.address;if(!u)throw new y.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let k=[{type:"address",value:_},{type:"uint256",value:z.getBaseValue("string")}],I={callValue:0,feeLimit:K()},O=await M.transactionBuilder.triggerSmartContract(u,"transfer(address,uint256)",I,k,Q);if(J)return M.transactionBuilder.addUpdateData(O.transaction,J,"utf8");if(X)M.transactionBuilder.extendExpiration(O.transaction,X);return O.transaction}catch($){throw new y.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:$ instanceof Error?$.message:String($)})}},qy=async(q)=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(q)},zy=async(q)=>{let{txid:_}=await M.trx.sendRawTransaction(q);return _},S=async({assetAddress:q,spenderAddress:_,from:z})=>{try{let J=M.contract(C,q);if(!J.methods?.allowance)throw new y.SwapKitError("toolbox_tron_invalid_token_contract");let[Q]=await J.methods.allowance(z,_).call();return Q?typeof Q==="bigint"?Q:BigInt(Q):0n}catch(J){throw new y.SwapKitError("toolbox_tron_allowance_check_failed",{error:J})}};return{approve:async({assetAddress:q,spenderAddress:_,amount:z,from:J})=>{if(!G)throw new y.SwapKitError("toolbox_tron_no_signer");let Q=J||await v(),X=z!==void 0?BigInt(z).toString():Uy,U="approve(address,uint256)",u=[{type:"address",value:_},{type:"uint256",value:X}],k={callValue:0,feeLimit:K()};try{let{transaction:I}=await M.transactionBuilder.triggerSmartContract(q,U,k,u,Q),O=await G.signTransaction(I),{txid:F}=await M.trx.sendRawTransaction(O);if(!F)throw new y.SwapKitError("toolbox_tron_approve_failed");return F}catch(I){throw new y.SwapKitError("toolbox_tron_approve_failed",{error:I})}},broadcastTransaction:zy,createTransaction:E,estimateTransactionFee:_y,getAddress:v,getApprovedAmount:S,getBalance:yy,isApproved:async({assetAddress:q,spenderAddress:_,from:z,amount:J})=>{let Q=await S({assetAddress:q,from:z,spenderAddress:_});if(!J)return Q>0n;let X=BigInt(J);return Q>=X},signTransaction:qy,transfer:fy,tronWeb:M,validateAddress:await D()}};var d=R(()=>{T();n();y=require("@swapkit/helpers"),B=require("ts-pattern")});var Oy={};Yy(Oy,{trc20ABI:()=>C,getTronPrivateKeyFromMnemonic:()=>t,getTronAddressValidator:()=>D,createTronToolbox:()=>o});module.exports=jy(Oy);var Hy=R(()=>{T();d()});Hy();
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=C1B6A2E3D7F79E0864756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"import {\n AssetValue,\n BaseDecimal,\n Chain,\n derivationPathToString,\n getRPCUrl,\n NetworkDerivationPath,\n SwapKitError,\n updateDerivationPath,\n warnOnce,\n} from \"@swapkit/helpers\";\nimport type { TronWeb } from \"tronweb\";\nimport { match, P } from \"ts-pattern\";\nimport { trc20ABI } from \"./helpers/trc20.abi\";\nimport { fetchAccountFromTronGrid } from \"./helpers/trongrid\";\nimport type {\n TronApprovedParams,\n TronApproveParams,\n TronCreateTransactionParams,\n TronIsApprovedParams,\n TronSignedTransaction,\n TronSigner,\n TronToolboxOptions,\n TronTransaction,\n TronTransferParams,\n} from \"./types\";\n\n// Constants for TRON resource calculation\nconst TRX_TRANSFER_BANDWIDTH = 268; // Bandwidth consumed by a TRX transfer\nconst TRC20_TRANSFER_ENERGY = 13000; // Average energy consumed by TRC20 transfer\nconst TRC20_TRANSFER_BANDWIDTH = 345; // Bandwidth consumed by TRC20 transfer\n\n// Known TRON tokens\nconst TRON_USDT_CONTRACT = \"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t\";\n\nconst MAX_APPROVAL = \"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\";\n\nexport async function getTronAddressValidator() {\n const TW = await import(\"tronweb\");\n const TronWeb = TW.TronWeb ?? TW.default?.TronWeb;\n\n return (address: string) => {\n return TronWeb.isAddress(address);\n };\n}\n\nexport async function getTronPrivateKeyFromMnemonic({\n phrase,\n derivationPath: customPath,\n index,\n}: {\n phrase: string;\n derivationPath?: string;\n index?: number;\n}) {\n const derivationPathToUse =\n customPath ||\n derivationPathToString(updateDerivationPath(NetworkDerivationPath[Chain.Tron], { index: index || 0 }));\n\n const { HDKey } = await import(\"@scure/bip32\");\n const { mnemonicToSeedSync } = await import(\"@scure/bip39\");\n\n const seed = mnemonicToSeedSync(phrase);\n const hdKey = HDKey.fromMasterSeed(seed);\n const derived = hdKey.derive(derivationPathToUse);\n\n if (!derived.privateKey) {\n throw new SwapKitError(\"toolbox_tron_no_signer\");\n }\n\n return Buffer.from(derived.privateKey).toString(\"hex\");\n}\n\nasync function createKeysForPath({\n phrase,\n derivationPath,\n tronWeb,\n}: {\n phrase: string;\n derivationPath: string;\n tronWeb: TronWeb;\n}) {\n const { HDKey } = await import(\"@scure/bip32\");\n const { mnemonicToSeedSync } = await import(\"@scure/bip39\");\n\n const seed = mnemonicToSeedSync(phrase);\n const hdKey = HDKey.fromMasterSeed(seed);\n const derived = hdKey.derive(derivationPath);\n\n if (!derived.privateKey) {\n throw new SwapKitError(\"toolbox_tron_no_signer\");\n }\n\n // Convert private key to hex string for TronWeb\n const privateKeyHex = Buffer.from(derived.privateKey).toString(\"hex\");\n\n tronWeb.setPrivateKey(privateKeyHex);\n\n const address = tronWeb?.address.fromPrivateKey(privateKeyHex);\n\n return {\n getAddress: () => Promise.resolve(typeof address === \"string\" ? address : \"\"),\n signTransaction: async (transaction: TronTransaction) => {\n const signedTx = await tronWeb.trx.sign(transaction, privateKeyHex);\n return signedTx;\n },\n };\n}\n\nexport const createTronToolbox = async (\n options: TronToolboxOptions = {},\n): Promise<{\n tronWeb: TronWeb;\n getAddress: () => Promise<string>;\n validateAddress: (address: string) => boolean;\n getBalance: (address: string) => Promise<AssetValue[]>;\n transfer: (params: TronTransferParams) => Promise<string>;\n estimateTransactionFee: (params: TronTransferParams & { sender?: string }) => Promise<AssetValue>;\n createTransaction: (params: TronCreateTransactionParams) => Promise<TronTransaction>;\n signTransaction: (transaction: TronTransaction) => Promise<TronSignedTransaction>;\n broadcastTransaction: (signedTransaction: TronSignedTransaction) => Promise<string>;\n approve: (params: TronApproveParams) => Promise<string>;\n isApproved: (params: TronIsApprovedParams) => Promise<boolean>;\n getApprovedAmount: (params: TronApprovedParams) => Promise<bigint>;\n}> => {\n const TW = await import(\"tronweb\");\n const TronWeb = TW.TronWeb ?? TW.default?.TronWeb;\n\n const rpcUrl = await getRPCUrl(Chain.Tron);\n // Note: TRON API key support can be added to SKConfig apiKeys when needed\n const headers = undefined; // No API key needed for basic TronGrid access\n\n const tronWeb = new TronWeb({ fullHost: rpcUrl, headers });\n\n // Handle derivation path and index\n const index = \"index\" in options ? options.index || 0 : 0;\n const derivationPath = derivationPathToString(\n \"derivationPath\" in options && options.derivationPath\n ? options.derivationPath\n : updateDerivationPath(NetworkDerivationPath[Chain.Tron], { index }),\n );\n\n // Create signer based on options using pattern matching\n const signer: TronSigner | undefined = await match(options)\n .with({ phrase: P.string }, async ({ phrase }) => createKeysForPath({ derivationPath, phrase, tronWeb }))\n .with({ signer: P.any }, ({ signer }) => Promise.resolve(signer as TronSigner))\n .otherwise(() => Promise.resolve(undefined));\n\n const getAddress = async () => {\n if (!signer) throw new SwapKitError(\"toolbox_tron_no_signer\");\n return await signer.getAddress();\n };\n\n const calculateFeeLimit = () => {\n return 100_000_000; // 100 TRX in SUN\n };\n\n /**\n * Get current chain parameters including resource prices\n */\n const getChainParameters = async () => {\n try {\n const parameters = await tronWeb.trx.getChainParameters();\n const paramMap: Record<string, number> = {};\n\n for (const param of parameters) {\n paramMap[param.key] = param.value;\n }\n\n return {\n bandwidthFee: paramMap.getTransactionFee || 1000, // SUN per bandwidth unit\n createAccountFee: paramMap.getCreateAccountFee || 100000, // 0.1 TRX in SUN\n energyFee: paramMap.getEnergyFee || 420, // SUN per energy unit\n };\n } catch {\n // Return default values if unable to fetch\n return { bandwidthFee: 1000, createAccountFee: 100000, energyFee: 420 };\n }\n };\n\n /**\n * Check if an address exists on the blockchain\n */\n const accountExists = async (address: string) => {\n try {\n const account = await tronWeb.trx.getAccount(address);\n return account && Object.keys(account).length > 0;\n } catch {\n return false;\n }\n };\n\n /**\n * Get account resources (bandwidth and energy)\n */\n const getAccountResources = async (address: string) => {\n try {\n const resources = await tronWeb.trx.getAccountResources(address);\n\n return {\n bandwidth: {\n free: resources.freeNetLimit - resources.freeNetUsed,\n total: resources.NetLimit || 0,\n used: resources.NetUsed || 0,\n },\n energy: { total: resources.EnergyLimit || 0, used: resources.EnergyUsed || 0 },\n };\n } catch {\n // Return default structure if unable to fetch\n return {\n bandwidth: { free: 600, total: 0, used: 0 }, // 600 free bandwidth daily\n energy: { total: 0, used: 0 },\n };\n }\n };\n\n /**\n * Get token balance and info directly from contract\n */\n const fetchTokenBalance = async (address: string, contractAddress: string) => {\n try {\n const contract = tronWeb.contract(trc20ABI, contractAddress);\n\n if (!contract.methods?.balanceOf) {\n return 0n;\n }\n\n const [balance] = await contract.methods.balanceOf(address).call();\n\n return balance ? (typeof balance === \"bigint\" ? balance : BigInt(balance)) : 0n;\n } catch (err) {\n console.warn(`balanceOf() failed for ${contractAddress}:`, err);\n return 0n;\n }\n };\n\n /**\n * Get token balance and info directly from contract\n */\n const fetchTokenMetadata = async (contractAddress: string, address: string) => {\n try {\n tronWeb.setAddress(address); // Set address for contract calls\n const contract = tronWeb.contract(trc20ABI, contractAddress);\n\n const [symbolRaw, decimalsRaw] = await Promise.all([\n contract\n .symbol()\n .call()\n .catch(() => \"UNKNOWN\"),\n contract\n .decimals()\n .call()\n .catch(() => \"18\"),\n ]);\n\n return { decimals: Number(decimalsRaw ?? 18), symbol: symbolRaw ?? \"UNKNOWN\" };\n } catch (error) {\n warnOnce({\n condition: true,\n id: \"tron_toolbox_get_token_metadata_failed\",\n warning: `Failed to get token metadata for ${contractAddress}: ${error instanceof Error ? error.message : error}`,\n });\n return null;\n }\n };\n\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO\n const getBalance = async (address: string, _scamFilter = true) => {\n const fallbackBalance = [AssetValue.from({ chain: Chain.Tron })];\n // Try primary source (TronGrid)\n try {\n const accountData = await fetchAccountFromTronGrid(address);\n if (accountData) {\n const balances: AssetValue[] = [];\n\n // Add TRX balance\n balances.push(AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: 6, value: accountData.balance }));\n\n // Add TRC20 balances\n\n for (const token of accountData.trc20) {\n const [contractAddress, balance] = Object.entries(token)[0] || [];\n\n if (!(contractAddress && balance)) continue;\n\n const tokenMetaData = await fetchTokenMetadata(contractAddress, address);\n\n if (!tokenMetaData) continue;\n\n balances.push(\n AssetValue.from({\n asset: `TRON.${tokenMetaData.symbol}-${contractAddress}`,\n fromBaseDecimal: tokenMetaData.decimals,\n value: BigInt(balance || 0),\n }),\n );\n }\n\n return balances;\n }\n return fallbackBalance;\n } catch (error) {\n warnOnce({\n condition: true,\n id: \"tron_toolbox_get_balance_failed\",\n warning: `Tron API getBalance failed: ${error instanceof Error ? error.message : error}`,\n });\n\n // Fallback: get TRX and USDT directly\n const balances: AssetValue[] = [];\n\n const trxBalanceInSun = await tronWeb.trx.getBalance(address);\n if (trxBalanceInSun && Number(trxBalanceInSun) > 0) {\n balances.push(AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: 6, value: trxBalanceInSun }));\n }\n\n const usdtBalance = await fetchTokenBalance(address, TRON_USDT_CONTRACT);\n if (usdtBalance) {\n balances.push(\n AssetValue.from({ asset: `TRON.USDT-${TRON_USDT_CONTRACT}`, fromBaseDecimal: 6, value: usdtBalance }),\n );\n }\n\n return balances;\n }\n };\n\n const transfer = async ({ recipient, assetValue, memo }: TronTransferParams) => {\n if (!signer) throw new SwapKitError(\"toolbox_tron_no_signer\");\n\n const from = await getAddress();\n tronWeb.setAddress(from);\n const isNative = assetValue.isGasAsset;\n\n if (isNative) {\n const transaction = await tronWeb.transactionBuilder.sendTrx(recipient, assetValue.getBaseValue(\"number\"), from);\n\n if (memo) {\n const transactionWithMemo = await tronWeb.transactionBuilder.addUpdateData(transaction, memo, \"utf8\");\n const signedTx = await signer.signTransaction(transactionWithMemo);\n const { txid } = await tronWeb.trx.sendRawTransaction(signedTx);\n return txid;\n }\n\n const signedTx = await signer.signTransaction(transaction);\n const { txid } = await tronWeb.trx.sendRawTransaction(signedTx);\n return txid;\n }\n\n const transaction = await createTransaction({ assetValue, memo, recipient, sender: from });\n\n const signedTx = await signer.signTransaction(transaction);\n const { txid } = await tronWeb.trx.sendRawTransaction(signedTx);\n\n if (!txid) {\n throw new SwapKitError(\"toolbox_tron_token_transfer_failed\");\n }\n\n return txid;\n };\n\n const estimateTransactionFee = async ({\n assetValue,\n recipient,\n sender,\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO\n }: TronTransferParams & { sender?: string }) => {\n const isNative = assetValue.isGasAsset;\n\n try {\n const senderAddress = sender ? sender : signer ? await getAddress() : undefined;\n if (!senderAddress) {\n return isNative\n ? AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: 0, value: 0.1 })\n : AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: 0, value: 15 });\n }\n\n const chainParams = await getChainParameters();\n\n const recipientExists = await accountExists(recipient);\n const activationFee = recipientExists ? 0 : chainParams.createAccountFee;\n\n const resources = await getAccountResources(senderAddress);\n\n if (isNative) {\n const bandwidthNeeded = TRX_TRANSFER_BANDWIDTH;\n const availableBandwidth = resources.bandwidth.free + (resources.bandwidth.total - resources.bandwidth.used);\n\n let bandwidthFee = 0;\n if (bandwidthNeeded > availableBandwidth) {\n const bandwidthToBuy = bandwidthNeeded - availableBandwidth;\n bandwidthFee = bandwidthToBuy * chainParams.bandwidthFee;\n }\n\n const totalFeeSun = activationFee + bandwidthFee;\n\n return AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: BaseDecimal.TRON, value: totalFeeSun });\n }\n\n const bandwidthNeeded = TRC20_TRANSFER_BANDWIDTH;\n const energyNeeded = TRC20_TRANSFER_ENERGY;\n\n const availableBandwidth = resources.bandwidth.free + (resources.bandwidth.total - resources.bandwidth.used);\n const availableEnergy = resources.energy.total - resources.energy.used;\n\n let bandwidthFee = 0;\n if (bandwidthNeeded > availableBandwidth) {\n const bandwidthToBuy = bandwidthNeeded - availableBandwidth;\n bandwidthFee = bandwidthToBuy * chainParams.bandwidthFee;\n }\n\n let energyFee = 0;\n if (energyNeeded > availableEnergy) {\n const energyToBuy = energyNeeded - availableEnergy;\n energyFee = energyToBuy * chainParams.energyFee;\n }\n\n const totalFeeSun = activationFee + bandwidthFee + energyFee;\n\n return AssetValue.from({ chain: Chain.Tron, fromBaseDecimal: BaseDecimal.TRON, value: totalFeeSun });\n } catch (error) {\n warnOnce({\n condition: true,\n id: \"tron_toolbox_fee_estimation_failed\",\n warning: `Failed to calculate exact fee, using conservative estimate: ${error instanceof Error ? error.message : error}`,\n });\n\n throw new SwapKitError(\"toolbox_tron_fee_estimation_failed\", { error });\n }\n };\n\n const createTransaction = async (params: TronCreateTransactionParams) => {\n const { recipient, assetValue, memo, sender, expiration } = params;\n const isNative = assetValue.isGasAsset;\n\n if (isNative) {\n const transaction = await tronWeb.transactionBuilder.sendTrx(\n recipient,\n assetValue.getBaseValue(\"number\"),\n sender,\n );\n\n if (memo) {\n return tronWeb.transactionBuilder.addUpdateData(transaction, memo, \"utf8\");\n }\n\n if (expiration) {\n tronWeb.transactionBuilder.extendExpiration(transaction, expiration);\n }\n\n return transaction;\n }\n\n tronWeb.setAddress(sender);\n const contractAddress = assetValue.address;\n if (!contractAddress) {\n throw new SwapKitError(\"toolbox_tron_invalid_token_identifier\", { identifier: assetValue.toString() });\n }\n\n try {\n const functionSelector = \"transfer(address,uint256)\";\n const parameter = [\n { type: \"address\", value: recipient },\n { type: \"uint256\", value: assetValue.getBaseValue(\"string\") },\n ];\n\n const options = { callValue: 0, feeLimit: calculateFeeLimit() };\n\n const result = await tronWeb.transactionBuilder.triggerSmartContract(\n contractAddress,\n functionSelector,\n options,\n parameter,\n sender,\n );\n\n if (memo) {\n return tronWeb.transactionBuilder.addUpdateData(result.transaction, memo, \"utf8\");\n }\n\n if (expiration) {\n tronWeb.transactionBuilder.extendExpiration(result.transaction, expiration);\n }\n\n return result.transaction;\n } catch (error) {\n throw new SwapKitError(\"toolbox_tron_transaction_creation_failed\", {\n message:\n \"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.\",\n originalError: error instanceof Error ? error.message : String(error),\n });\n }\n };\n\n const signTransaction = async (transaction: TronTransaction) => {\n if (!signer) throw new SwapKitError(\"toolbox_tron_no_signer\");\n return await signer.signTransaction(transaction);\n };\n\n const broadcastTransaction = async (signedTx: TronSignedTransaction) => {\n const { txid } = await tronWeb.trx.sendRawTransaction(signedTx);\n return txid;\n };\n\n const getApprovedAmount = async ({ assetAddress, spenderAddress, from }: TronApprovedParams) => {\n try {\n const contract = tronWeb.contract(trc20ABI, assetAddress);\n\n if (!contract.methods?.allowance) {\n throw new SwapKitError(\"toolbox_tron_invalid_token_contract\");\n }\n\n const [allowance] = await contract.methods.allowance(from, spenderAddress).call();\n\n return allowance ? (typeof allowance === \"bigint\" ? allowance : BigInt(allowance)) : 0n;\n } catch (error) {\n throw new SwapKitError(\"toolbox_tron_allowance_check_failed\", { error });\n }\n };\n\n const isApproved = async ({ assetAddress, spenderAddress, from, amount }: TronIsApprovedParams) => {\n const allowance = await getApprovedAmount({ assetAddress, from, spenderAddress });\n\n if (!amount) {\n return allowance > 0n;\n }\n\n const amountBigInt = BigInt(amount);\n return allowance >= amountBigInt;\n };\n\n const approve = async ({ assetAddress, spenderAddress, amount, from }: TronApproveParams) => {\n if (!signer) throw new SwapKitError(\"toolbox_tron_no_signer\");\n\n const fromAddress = from || (await getAddress());\n const approvalAmount = amount !== undefined ? BigInt(amount).toString() : MAX_APPROVAL;\n\n const functionSelector = \"approve(address,uint256)\";\n const parameter = [\n { type: \"address\", value: spenderAddress },\n { type: \"uint256\", value: approvalAmount },\n ];\n\n const feeLimit = calculateFeeLimit();\n const options = { callValue: 0, feeLimit };\n\n try {\n const { transaction } = await tronWeb.transactionBuilder.triggerSmartContract(\n assetAddress,\n functionSelector,\n options,\n parameter,\n fromAddress,\n );\n\n const signedTx = await signer.signTransaction(transaction);\n const { txid } = await tronWeb.trx.sendRawTransaction(signedTx);\n\n if (!txid) {\n throw new SwapKitError(\"toolbox_tron_approve_failed\");\n }\n\n return txid;\n } catch (error) {\n throw new SwapKitError(\"toolbox_tron_approve_failed\", { error });\n }\n };\n\n return {\n approve,\n broadcastTransaction,\n createTransaction,\n estimateTransactionFee,\n getAddress,\n getApprovedAmount,\n getBalance,\n isApproved,\n signTransaction,\n transfer,\n tronWeb,\n validateAddress: await getTronAddressValidator(),\n };\n};\n",
|
|
8
8
|
"export { trc20ABI } from \"./helpers/trc20.abi\";\nexport {\n createTronToolbox,\n getTronAddressValidator,\n getTronPrivateKeyFromMnemonic,\n} from \"./toolbox\";\nexport type {\n TronApprovedParams,\n TronApproveParams,\n TronContract,\n TronCreateTransactionParams,\n TronIsApprovedParams,\n TronSignedTransaction,\n TronSigner,\n TronToolboxOptions,\n TronTransaction,\n TronTransferParams,\n} from \"./types\";\n\nimport type { createTronToolbox } from \"./toolbox\";\nexport type TronWallet = Awaited<ReturnType<typeof createTronToolbox>>;\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "C1B6A2E3D7F79E0864756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/dist/src/tron/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var Yy=Object.create;var{getPrototypeOf:Xy,defineProperty:D,getOwnPropertyNames:Gy}=Object;var Ly=Object.prototype.hasOwnProperty;var P=(y,Z,$)=>{$=y!=null?Yy(Xy(y)):{};let Y=Z||!y||!y.__esModule?D($,"default",{value:y,enumerable:!0}):$;for(let L of Gy(y))if(!Ly.call(Y,L))D(Y,L,{get:()=>y[L],enumerable:!0});return Y};var uy=(y,Z)=>{for(var $ in Z)D(y,$,{get:Z[$],enumerable:!0,configurable:!0,set:(Y)=>Z[$]=()=>Y})};var T=(y,Z)=>()=>(y&&(Z=y(y=0)),Z);var B=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(Z,$)=>(typeof require<"u"?require:Z)[$]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});var K;var V=T(()=>{K=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as Uy}from"@swapkit/helpers";async function A(y){let Z=await import("tronweb"),$=Z.TronWeb??Z.default?.TronWeb;try{let Y=await fetch(`${Iy}/v1/accounts/${y}`);if(!Y.ok)throw Error(`TronGrid API error: ${Y.status} ${Y.statusText}`);let L=await Y.json();if(!(L.success&&L.data)||L.data.length===0)throw Error("Invalid response from TronGrid API");let J;try{J=$.address.toHex(y).toLowerCase()}catch{J=y.toLowerCase()}let p=L.data.find((F)=>{return F.address.toLowerCase()===J});if(!p)return;return{balance:p.balance,trc20:p.trc20||[]}}catch(Y){throw new Uy("toolbox_tron_trongrid_api_error",{address:y,message:Y instanceof Error?Y.message:"Unknown error"})}}var Iy="https://api.trongrid.io";var i=()=>{};import{AssetValue as k,BaseDecimal as n,Chain as H,derivationPathToString as o,getRPCUrl as Oy,NetworkDerivationPath as d,SwapKitError as G,updateDerivationPath as s,warnOnce as E}from"@swapkit/helpers";import{match as Hy,P as c}from"ts-pattern";async function S(){let y=await import("tronweb"),Z=y.TronWeb??y.default?.TronWeb;return($)=>{return Z.isAddress($)}}async function a({phrase:y,derivationPath:Z,index:$}){let Y=Z||o(s(d[H.Tron],{index:$||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:J}=await import("@scure/bip39"),p=J(y),X=L.fromMasterSeed(p).derive(Y);if(!X.privateKey)throw new G("toolbox_tron_no_signer");return Buffer.from(X.privateKey).toString("hex")}async function xy({phrase:y,derivationPath:Z,tronWeb:$}){let{HDKey:Y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),J=L(y),F=Y.fromMasterSeed(J).derive(Z);if(!F.privateKey)throw new G("toolbox_tron_no_signer");let X=Buffer.from(F.privateKey).toString("hex");$.setPrivateKey(X);let x=$?.address.fromPrivateKey(X);return{getAddress:()=>Promise.resolve(typeof x==="string"?x:""),signTransaction:async(m)=>{return await $.trx.sign(m,X)}}}var ky=268,py=13000,vy=345,t="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fy="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",e=async(y={})=>{let Z=await import("tronweb"),$=Z.TronWeb??Z.default?.TronWeb,Y=await Oy(H.Tron),L=void 0,J=new $({fullHost:Y,headers:void 0}),p="index"in y?y.index||0:0,F=o("derivationPath"in y&&y.derivationPath?y.derivationPath:s(d[H.Tron],{index:p})),X=await Hy(y).with({phrase:c.string},async({phrase:_})=>xy({derivationPath:F,phrase:_,tronWeb:J})).with({signer:c.any},({signer:_})=>Promise.resolve(_)).otherwise(()=>Promise.resolve(void 0)),x=async()=>{if(!X)throw new G("toolbox_tron_no_signer");return await X.getAddress()},m=()=>{return 1e8},w=async()=>{try{let _=await J.trx.getChainParameters(),f={};for(let q of _)f[q.key]=q.value;return{bandwidthFee:f.getTransactionFee||1000,createAccountFee:f.getCreateAccountFee||1e5,energyFee:f.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},yy=async(_)=>{try{let f=await J.trx.getAccount(_);return f&&Object.keys(f).length>0}catch{return!1}},fy=async(_)=>{try{let f=await J.trx.getAccountResources(_);return{bandwidth:{free:f.freeNetLimit-f.freeNetUsed,total:f.NetLimit||0,used:f.NetUsed||0},energy:{total:f.EnergyLimit||0,used:f.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},_y=async(_,f)=>{try{let q=J.contract(K,f);if(!q.methods?.balanceOf)return 0n;let[z]=await q.methods.balanceOf(_).call();return z?typeof z==="bigint"?z:BigInt(z):0n}catch(q){return console.warn(`balanceOf() failed for ${f}:`,q),0n}},qy=async(_,f)=>{try{J.setAddress(f);let q=J.contract(K,_),[z,M]=await Promise.all([q.symbol().call().catch(()=>"UNKNOWN"),q.decimals().call().catch(()=>"18")]);return{decimals:Number(M??18),symbol:z??"UNKNOWN"}}catch(q){return E({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${_}: ${q instanceof Error?q.message:q}`}),null}},zy=async(_,f=!0)=>{let q=[k.from({chain:H.Tron})];try{let z=await A(_);if(z){let M=[];M.push(k.from({chain:H.Tron,fromBaseDecimal:6,value:z.balance}));for(let j of z.trc20){let[U,u]=Object.entries(j)[0]||[];if(!(U&&u))continue;let Q=await qy(U,_);if(!Q)continue;M.push(k.from({asset:`TRON.${Q.symbol}-${U}`,fromBaseDecimal:Q.decimals,value:BigInt(u||0)}))}return M}return q}catch(z){E({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${z instanceof Error?z.message:z}`});let M=[],j=await J.trx.getBalance(_);if(j&&Number(j)>0)M.push(k.from({chain:H.Tron,fromBaseDecimal:6,value:j}));let U=await _y(_,t);if(U)M.push(k.from({asset:`TRON.USDT-${t}`,fromBaseDecimal:6,value:U}));return M}},Jy=async({recipient:_,assetValue:f,memo:q})=>{if(!X)throw new G("toolbox_tron_no_signer");let z=await x();if(J.setAddress(z),f.isGasAsset){let Q=await J.transactionBuilder.sendTrx(_,f.getBaseValue("number"),z);if(q){let O=await J.transactionBuilder.addUpdateData(Q,q,"utf8"),C=await X.signTransaction(O),{txid:N}=await J.trx.sendRawTransaction(C);return N}let v=await X.signTransaction(Q),{txid:I}=await J.trx.sendRawTransaction(v);return I}let j=await g({assetValue:f,memo:q,recipient:_,sender:z}),U=await X.signTransaction(j),{txid:u}=await J.trx.sendRawTransaction(U);if(!u)throw new G("toolbox_tron_token_transfer_failed");return u},My=async({assetValue:_,recipient:f,sender:q})=>{let z=_.isGasAsset;try{let M=q?q:X?await x():void 0;if(!M)return z?k.from({chain:H.Tron,fromBaseDecimal:0,value:0.1}):k.from({chain:H.Tron,fromBaseDecimal:0,value:15});let j=await w(),u=await yy(f)?0:j.createAccountFee,Q=await fy(M);if(z){let R=ky,b=Q.bandwidth.free+(Q.bandwidth.total-Q.bandwidth.used),h=0;if(R>b)h=(R-b)*j.bandwidthFee;let jy=u+h;return k.from({chain:H.Tron,fromBaseDecimal:n.TRON,value:jy})}let v=vy,I=py,O=Q.bandwidth.free+(Q.bandwidth.total-Q.bandwidth.used),C=Q.energy.total-Q.energy.used,N=0;if(v>O)N=(v-O)*j.bandwidthFee;let l=0;if(I>C)l=(I-C)*j.energyFee;let $y=u+N+l;return k.from({chain:H.Tron,fromBaseDecimal:n.TRON,value:$y})}catch(M){throw E({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${M instanceof Error?M.message:M}`}),new G("toolbox_tron_fee_estimation_failed",{error:M})}},g=async(_)=>{let{recipient:f,assetValue:q,memo:z,sender:M,expiration:j}=_;if(q.isGasAsset){let Q=await J.transactionBuilder.sendTrx(f,q.getBaseValue("number"),M);if(z)return J.transactionBuilder.addUpdateData(Q,z,"utf8");if(j)J.transactionBuilder.extendExpiration(Q,j);return Q}J.setAddress(M);let u=q.address;if(!u)throw new G("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});try{let v=[{type:"address",value:f},{type:"uint256",value:q.getBaseValue("string")}],I={callValue:0,feeLimit:m()},O=await J.transactionBuilder.triggerSmartContract(u,"transfer(address,uint256)",I,v,M);if(z)return J.transactionBuilder.addUpdateData(O.transaction,z,"utf8");if(j)J.transactionBuilder.extendExpiration(O.transaction,j);return O.transaction}catch(Q){throw new G("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:Q instanceof Error?Q.message:String(Q)})}},Qy=async(_)=>{if(!X)throw new G("toolbox_tron_no_signer");return await X.signTransaction(_)},Zy=async(_)=>{let{txid:f}=await J.trx.sendRawTransaction(_);return f},W=async({assetAddress:_,spenderAddress:f,from:q})=>{try{let z=J.contract(K,_);if(!z.methods?.allowance)throw new G("toolbox_tron_invalid_token_contract");let[M]=await z.methods.allowance(q,f).call();return M?typeof M==="bigint"?M:BigInt(M):0n}catch(z){throw new G("toolbox_tron_allowance_check_failed",{error:z})}};return{approve:async({assetAddress:_,spenderAddress:f,amount:q,from:z})=>{if(!X)throw new G("toolbox_tron_no_signer");let M=z||await x(),j=q!==void 0?BigInt(q).toString():Fy,U="approve(address,uint256)",u=[{type:"address",value:f},{type:"uint256",value:j}],v={callValue:0,feeLimit:m()};try{let{transaction:I}=await J.transactionBuilder.triggerSmartContract(_,U,v,u,M),O=await X.signTransaction(I),{txid:C}=await J.trx.sendRawTransaction(O);if(!C)throw new G("toolbox_tron_approve_failed");return C}catch(I){throw new G("toolbox_tron_approve_failed",{error:I})}},broadcastTransaction:Zy,createTransaction:g,estimateTransactionFee:My,getAddress:x,getApprovedAmount:W,getBalance:zy,isApproved:async({assetAddress:_,spenderAddress:f,from:q,amount:z})=>{let M=await W({assetAddress:_,from:q,spenderAddress:f});if(!z)return M>0n;let j=BigInt(z);return M>=j},signTransaction:Qy,transfer:Jy,tronWeb:J,validateAddress:await S()}};var r=T(()=>{V();i()});var Cy={};uy(Cy,{trc20ABI:()=>K,getTronPrivateKeyFromMnemonic:()=>a,getTronAddressValidator:()=>S,createTronToolbox:()=>e});var Py=T(()=>{V();r()});Py();export{K as trc20ABI,a as getTronPrivateKeyFromMnemonic,S as getTronAddressValidator,e as createTronToolbox};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=207E43736F73501C64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"export { trc20ABI } from \"./helpers/trc20.abi\";\nexport {\n createTronToolbox,\n getTronAddressValidator,\n getTronPrivateKeyFromMnemonic,\n} from \"./toolbox\";\nexport type {\n TronApprovedParams,\n TronApproveParams,\n TronContract,\n TronCreateTransactionParams,\n TronIsApprovedParams,\n TronSignedTransaction,\n TronSigner,\n TronToolboxOptions,\n TronTransaction,\n TronTransferParams,\n} from \"./types\";\n\nimport type { createTronToolbox } from \"./toolbox\";\nexport type TronWallet = Awaited<ReturnType<typeof createTronToolbox>>;\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "207E43736F73501C64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/dist/src/utxo/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var YZ=Object.create;var{getPrototypeOf:MZ,defineProperty:r,getOwnPropertyNames:VX,getOwnPropertyDescriptor:TZ}=Object,SX=Object.prototype.hasOwnProperty;var m=(X,Z,G)=>{G=X!=null?YZ(MZ(X)):{};let J=Z||!X||!X.__esModule?r(G,"default",{value:X,enumerable:!0}):G;for(let j of VX(X))if(!SX.call(J,j))r(J,j,{get:()=>X[j],enumerable:!0});return J},EX=new WeakMap,CZ=(X)=>{var Z=EX.get(X),G;if(Z)return Z;if(Z=r({},"__esModule",{value:!0}),X&&typeof X==="object"||typeof X==="function")VX(X).map((J)=>!SX.call(Z,J)&&r(Z,J,{get:()=>X[J],enumerable:!(G=TZ(X,J))||G.enumerable}));return EX.set(X,Z),Z};var HZ=(X,Z)=>{for(var G in Z)r(X,G,{get:Z[G],enumerable:!0,configurable:!0,set:(J)=>Z[G]=()=>J})};var F=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);function xX(){function X(){let Z=Date.now(),G=MX||Z;return MX=G,Z>MX?Z:G+1}return vZ+X().toString(36)}function mX(X){return async function(G,J=!0){let j=await gX.SwapKitApi.getChainBalance({address:G,chain:X,scamFilter:J}),{baseDecimal:$}=JX.getChainConfig(X);return j.map(({identifier:Q,value:q,decimal:W})=>{return new JX.AssetValue({decimal:W||$,identifier:Q,value:q})})}}var JX,gX,vZ,MX=0;var TX=F(()=>{JX=require("@swapkit/helpers"),gX=require("@swapkit/helpers/api"),vZ=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function IZ({chain:X,txHash:Z}){let G=`${QX(X)}/push/transaction`,J=JSON.stringify({data:Z});try{let j=await U.RequestClient.post(G,{body:J,headers:{"Content-Type":"application/json"}});if(j.context.code!==200)throw new U.SwapKitError("toolbox_utxo_broadcast_failed",{error:j.context.error||"Transaction broadcast failed"});return j.data?.transaction_hash||Z}catch(j){let $=await U.getRPCUrl(X);if($){let Q=JSON.stringify({id:xX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),q=await U.RequestClient.post($,{body:Q,headers:{"Content-Type":"application/json"}});if(q.error)throw new U.SwapKitError("toolbox_utxo_broadcast_failed",{error:q.error?.message});if(q.result.includes('"code":-26'))throw new U.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return q.result}throw j}}function QX(X){return`https://api.blockchair.com/${_Z(X)}`}function lX(X){switch(X){case U.Chain.Bitcoin:return 5;case U.Chain.Dogecoin:return 1e4;case U.Chain.Litecoin:return 1;case U.Chain.Zcash:return 1;default:return 2}}function _Z(X){switch(X){case U.Chain.BitcoinCash:return"bitcoin-cash";case U.Chain.Litecoin:return"litecoin";case U.Chain.Dash:return"dash";case U.Chain.Dogecoin:return"dogecoin";case U.Chain.Zcash:return"zcash";case U.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function yZ(X){try{let{feePerKb:Z}=await U.RequestClient.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),G=Z/1000;return Math.max(G,lX(X))}catch(Z){return lX(X)}}async function CX(X,Z){let G=await U.RequestClient.get(`${X}${Z?`${X.includes("?")?"&":"?"}key=${Z}`:""}`);if(!G||G.context.code!==200)throw new U.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return G.data}async function oX({address:X,chain:Z,apiKey:G}){if(!X)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await CX(`${QX(Z)}/dashboards/address/${X}?transaction_details=true`,G))[X]}catch(J){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function FZ({address:X,chain:Z,apiKey:G}){return(await oX({address:X,apiKey:G,chain:Z}))?.address.balance||0}async function nX({chain:X,apiKey:Z,txHash:G}){if(!G)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await CX(`${QX(X)}/raw/transaction/${G}`,Z))?.[G]?.raw_transaction||""}catch(J){return console.error("Failed to fetch raw transaction:",J),""}}async function NZ({chain:X,address:Z,apiKey:G,offset:J=0,limit:j=30}){return(await CX(`${QX(X)}/outputs?q=recipient(${Z}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${j}&offset=${J}`,G)).map(({is_spent:W,script_hex:L,block_id:D,transaction_hash:z,index:M,value:Y,spending_signature_hex:T})=>({hash:z,index:M,is_confirmed:D!==-1,is_spent:W,script_hex:L,txHex:T,value:Y}))}function kZ(X){return X.reduce((Z,G)=>Z+G.value,0)}function hX(X,Z){let G=[...X].sort((J,j)=>j.value-J.value);if(Z){let J=[],j=0;for(let $ of G)if(J.push($),j+=$.value,j>=Z)break;return J}return G}async function uX({chain:X,address:Z,apiKey:G,targetValue:J,accumulativeValue:j=0,offset:$=0,limit:Q=30}){if(!Z)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let q=await NZ({address:Z,apiKey:G,chain:X,limit:Q,offset:$,targetValue:J}),L=q.length<Q,D=q.filter(({is_spent:v})=>!v),z=kZ(D),M=j+z,Y=J&&M>=J;if(L||Y)return hX(D,J);let T=await uX({accumulativeValue:M,address:Z,apiKey:G,chain:X,limit:Q,offset:$+Q,targetValue:J}),_=[...D,...T];return hX(_,J)}catch(q){return console.error("Failed to fetch unspent UTXOs:",q),[]}}async function AZ({address:X,chain:Z,apiKey:G,fetchTxHex:J=!0,targetValue:j}){let $=await uX({address:X,apiKey:G,chain:Z,targetValue:j}),Q=[];for(let{hash:q,index:W,script_hex:L,value:D}of $){let z;if(J)z=await nX({apiKey:G,chain:Z,txHash:q});Q.push({address:X,hash:q,index:W,txHex:z,value:D,witnessUtxo:{script:Buffer.from(L,"hex"),value:D}})}return Q}function OZ(X){let Z=U.SKConfig.get("apiKeys").blockchair||"";return U.warnOnce({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>IZ({chain:X,txHash:G}),getAddressData:(G)=>oX({address:G,apiKey:Z,chain:X}),getBalance:(G)=>FZ({address:G,apiKey:Z,chain:X}),getRawTx:(G)=>nX({apiKey:Z,chain:X,txHash:G}),getSuggestedTxFee:()=>yZ(X),getUtxos:(G)=>AZ({...G,apiKey:Z,chain:X})}}function fZ(X){return X}function y(X){let Z=U.SKConfig.get("apis")[X];if(Z)return U.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),Z;return OZ(X)}function A(){return function(Z){switch(Z){case U.Chain.Bitcoin:return pX.networks.bitcoin;case U.Chain.BitcoinCash:return l.default.bitcoincash.main.toBitcoinJS();case U.Chain.Dash:return l.default.dash.main.toBitcoinJS();case U.Chain.Litecoin:return l.default.litecoin.main.toBitcoinJS();case U.Chain.Dogecoin:{let G={private:70615956,public:70617039},J=l.default.dogecoin.test;return J.versions.bip32=G,l.default.dogecoin.main.toBitcoinJS()}case U.Chain.Zcash:return cX.networks.zcash;default:throw new U.SwapKitError("toolbox_utxo_not_supported",{chain:Z})}}}var cX,U,pX,l;var rX=F(()=>{cX=require("@bitgo/utxo-lib"),U=require("@swapkit/helpers"),pX=require("bitcoinjs-lib"),l=m(require("coininfo"));TX()});function yX(X){try{return $X(X),!0}catch(Z){return!1}}function FX(X){return $X(X)?.network}function h(X){let Z=$X(X);if(Z?.format==="legacy")return X;return KZ(Z)}function d(X){let Z=$X(X);return bZ(Z)}function $X(X){try{let Z=wZ(X);if(Z)return Z}catch(Z){}try{let Z=PZ(X);if(Z)return Z}catch(Z){}throw new HX.SwapKitError("toolbox_utxo_invalid_address",{address:X})}function wZ(X){try{let Z=vX.default.decode(X);if(Z.length!==21)throw new HX.SwapKitError("toolbox_utxo_invalid_address",{address:X});let G=Z[0],J=Array.prototype.slice.call(Z,1);switch(G){case C.legacy.mainnet.p2pkh:return{format:"legacy",hash:J,network:"mainnet",type:"p2pkh"};case C.legacy.mainnet.p2sh:return{format:"legacy",hash:J,network:"mainnet",type:"p2sh"};case C.legacy.testnet.p2pkh:return{format:"legacy",hash:J,network:"testnet",type:"p2pkh"};case C.legacy.testnet.p2sh:return{format:"legacy",hash:J,network:"testnet",type:"p2sh"};case C.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:J,network:"mainnet",type:"p2pkh"};case C.bitpay.mainnet.p2sh:return{format:"bitpay",hash:J,network:"mainnet",type:"p2sh"};default:return}}catch(Z){return}}function PZ(X){if(X.indexOf(":")!==-1)try{return dX(X)}catch(Z){}else{let Z=["bitcoincash","bchtest","bchreg"];for(let G of Z)try{return dX(`${G}:${X}`)}catch(J){}}return}function dX(X){try{let{hash:Z,prefix:G,type:J}=IX.default.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:G==="bitcoincash"?"mainnet":"testnet",type:J==="P2PKH"?"p2pkh":"p2sh"}}catch(Z){return}}function KZ(X){let Z=C.legacy[X.network][X.type],G=Buffer.alloc(1+X.hash.length);return G[0]=Z,G.set(X.hash,1),vX.default.encode(G)}function bZ(X){let Z=X.network==="mainnet"?"bitcoincash":"bchtest",G=X.type==="p2pkh"?"P2PKH":"P2SH",J=new Uint8Array(X.hash);return IX.default.encode(Z,G,J)}var HX,vX,IX,_X,C;var iX=F(()=>{HX=require("@swapkit/helpers"),vX=m(require("bs58check")),IX=m(require("cashaddrjs"));((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(_X||={});C={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function O(X){let Z=Buffer.from(X,"utf8");return qX.script.compile([qX.opcodes.OP_RETURN,Z])}var sX,qX,RZ=1000,WX=10,aX=10,EZ=41,VZ=107,LX,jX,i,s=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new sX.SwapKitError("toolbox_utxo_invalid_address",{address:X})},c=({inputs:X,outputs:Z,feeRate:G})=>{let J=X[0]&&"address"in X[0]&&X[0].address?s(X[0].address):"P2PKH",j=X.filter((Q)=>Q.value>=jX["type"in Q?Q.type:"P2PKH"]*Math.ceil(G)).reduce((Q,q)=>Q+R(q),0),$=Z?.reduce((Q,q)=>Q+a(q),0)||i[J];return WX+j+$},R=(X)=>{if("type"in X)return jX[X.type];if("address"in X&&X.address)return jX[s(X.address)];return EZ+VZ},a=(X,Z)=>{if(X?.script)return aX+X.script.length+(X.script.length>=74?2:1);if(Z)return i[Z];return i.P2PKH};var NX=F(()=>{sX=require("@swapkit/helpers"),qX=require("bitcoinjs-lib");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(LX||={});jX={["P2PKH"]:148,["P2WPKH"]:68},i={["P2PKH"]:34,["P2WPKH"]:31}});function BX(X){switch(X){case f.Chain.Bitcoin:case f.Chain.BitcoinCash:return 550;case f.Chain.Dash:case f.Chain.Litecoin:return 5500;case f.Chain.Dogecoin:return 1e5;case f.Chain.Zcash:return 546;default:throw new f.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}function w({inputs:X,outputs:Z,feeRate:G=1,chain:J=f.Chain.Bitcoin,changeAddress:j=""}){let $=Math.ceil(G),Q=X[0]&&"address"in X[0]&&X[0].address?s(X[0].address):"P2PKH",q=X.filter((Y)=>R(Y)*$<=Y.value),W=WX+Z.reduce((Y,T)=>Y+a(T,Q),0),L=Z.reduce((Y,T)=>Y+T.value,0),D=W*$,z=0,M=[];for(let Y of q){let T=R(Y),_=$*T;D+=_,z+=Y.value,M.push(Y);let v=D+L;if(z<v)continue;let V=z-v,K=$*a({address:"",value:0},Q);if(V>K){let bX=K+D,RX=z-(L+bX);if(RX>Math.max(R({})*$,BX(J)))return{fee:bX,inputs:M,outputs:Z.concat({address:j,value:RX})}}return{fee:D,inputs:M,outputs:Z}}return{fee:$*c({feeRate:$,inputs:X,outputs:Z})}}var f;var tX=F(()=>{f=require("@swapkit/helpers");NX()});var p=F(()=>{rX();iX();tX();NX()});function S(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function E(X){let Z=S(X);return yX(Z)&&FX(Z)==="mainnet"}function o(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let Z=DX.networks.zcash;try{return DX.address.toOutputScript(X,Z),!0}catch{let G=eX.default.decode(X);if(G.length<21)return!1;let J=G[0];return J===Z.pubKeyHash||J===Z.scriptHash}}catch{return!1}}var DX,eX;var t=F(()=>{DX=require("@bitgo/utxo-lib"),eX=m(require("bs58check"));p()});function GZ({inputs:X,outputs:Z,chain:G,psbt:J,sender:j,compiledMemo:$}){for(let Q of X){let q=!!Q.witnessUtxo&&!e.includes(G)&&{witnessUtxo:Q.witnessUtxo},W=e.includes(G)&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};J.addInput({hash:Q.hash,index:Q.index,...q,...W})}for(let Q of Z){let q="address"in Q&&Q.address?Q.address:j,W=Q.script;if(W&&!$)continue;let L=W?{script:$,value:0}:{address:q,value:Q.value};P.initEccLib(zX.default),J.addOutput(L)}return{inputs:X,psbt:J}}async function JZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j,fetchTxHex:$=!1}){let Q=X.chain,q=G?await O(G):null,W=await jZ({assetValue:X,fetchTxHex:$,memo:G,recipient:Z,sender:j}),{inputs:L,outputs:D}=w({...W,chain:Q,feeRate:J});if(!(L&&D))throw new B.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let z=await A(),M=new P.Psbt({network:z(Q)});if(Q===B.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:Y,inputs:T}=await GZ({chain:Q,compiledMemo:q,inputs:L,outputs:D,psbt:M,sender:j});return{inputs:T,psbt:Y,utxos:W.inputs}}async function QZ(){let X=await A();return function({address:G,chain:J}){if(J===B.Chain.BitcoinCash)return E(G);if(J===B.Chain.Zcash)return o(G);try{return P.initEccLib(zX.default),P.address.toOutputScript(G,X(J)),!0}catch(j){return!1}}}async function SZ({chain:X,phrase:Z,derivationPath:G}){let J=(await XX(X))({derivationPath:G,phrase:Z});async function j(Q){return await Q.signAllInputs(J),Q}function $(){return AX(X)(J)}return{getAddress:$,signTransaction:j}}async function g({chain:X,...Z}){let G="phrase"in Z?Z.phrase:void 0,J="index"in Z?Z.index||0:0,j=B.derivationPathToString("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:B.updateDerivationPath(B.NetworkDerivationPath[X],{index:J})),$=G?await SZ({chain:X,derivationPath:j,phrase:G}):("signer"in Z)?Z.signer:void 0;function Q(){return Promise.resolve($?.getAddress())}let q=await QZ(),W=await XX(X);return{accumulative:w,broadcastTx:(L)=>y(X).broadcastTx(L),calculateTxSize:c,createKeysForPath:W,createTransaction:JZ,estimateMaxSendableAmount:gZ(X),estimateTransactionFee:xZ(X),getAddress:Q,getAddressFromKeys:AX(X),getBalance:mX(X),getFeeRates:()=>ZX(X),getInputsOutputsFee:$Z,getPrivateKeyFromMnemonic:(L)=>{return W(L).toWIF()},transfer:mZ($),validateAddress:(L)=>q({address:L,chain:X})}}async function $Z({assetValue:X,feeOptionKey:Z=B.FeeOption.Fast,feeRate:G,memo:J,sender:j,recipient:$}){let Q=X.chain,q=await jZ({assetValue:X,memo:J,recipient:$,sender:j}),W=G?Math.floor(G):(await ZX(Q))[Z];return w({...q,chain:Q,feeRate:W})}function gZ(X){return async function({from:G,memo:J,feeRate:j,feeOptionKey:$=B.FeeOption.Fast,recipients:Q=1}){let q=await y(X).getAddressData(G),W=j?Math.ceil(j):(await ZX(X))[$],L=q?.utxo.map((T)=>({...T,hash:"",type:"P2PKH"})).filter((T)=>T.value>Math.max(BX(X),R(T)*W));if(!L?.length)return B.AssetValue.from({chain:X});let D=B.AssetValue.from({chain:X,value:L.reduce((T,_)=>T+_.value,0)}),z=typeof Q==="number"?Array.from({length:Q},()=>({address:G,value:0})):Q;if(J){let T=await O(J);z.push({address:G,script:T,value:0})}let Y=c({feeRate:W,inputs:L,outputs:z})*W;return D.sub(Y)}}function xZ(X){return async(Z)=>{let G=await $Z(Z);return B.AssetValue.from({chain:X,value:B.SwapKitNumber.fromBigInt(BigInt(G.fee),8).getValue("string")})}}async function XX(X){let Z=await A();switch(X){case B.Chain.BitcoinCash:return function({phrase:J,derivationPath:j=`${B.DerivationPath.BCH}/0`,wif:$}){let Q=Z(X);if($)return UX.ECPair.fromWIF($,Q);if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return UX.HDNode.fromSeedBuffer(Buffer.from(kX.mnemonicToSeedSync(J)),Q).derivePath(j).keyPair};case B.Chain.Bitcoin:case B.Chain.Dogecoin:case B.Chain.Litecoin:case B.Chain.Zcash:case B.Chain.Dash:return function({phrase:J,wif:j,derivationPath:$}){if(!(j||J))throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let Q=ZZ.ECPairFactory(zX.default),q=Z(X);if(j)return Q.fromWIF(j,q);let W=kX.mnemonicToSeedSync(J),L=XZ.HDKey.fromMasterSeed(W,q).derive($);if(!L.privateKey)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return Q.fromPrivateKey(Buffer.from(L.privateKey),{network:q})};default:throw new B.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}function AX(X){let Z=A();return function(J){if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let j=e.includes(X)?P.payments.p2pkh:P.payments.p2wpkh,{address:$}=j({network:Z(X),pubkey:J.publicKey});if(!$)throw new B.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return $}}function mZ(X){return async function({memo:G,recipient:J,feeOptionKey:j,feeRate:$,assetValue:Q}){let q=await X?.getAddress(),W=Q.chain;if(!(X&&q))throw new B.SwapKitError("toolbox_utxo_no_signer");if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=$||(await ZX(W))[j||B.FeeOption.Fast],{psbt:D}=await JZ({assetValue:Q,feeRate:L,memo:G,recipient:J,sender:q}),z=await X.signTransaction(D);return z.finalizeAllInputs(),y(W).broadcastTx(z.extractTransaction().toHex())}}async function ZX(X){let Z=await y(X).getSuggestedTxFee();return{[B.FeeOption.Average]:Z,[B.FeeOption.Fast]:B.applyFeeMultiplier(Z,B.FeeOption.Fast),[B.FeeOption.Fastest]:B.applyFeeMultiplier(Z,B.FeeOption.Fastest)}}async function jZ({assetValue:X,recipient:Z,memo:G,sender:J,fetchTxHex:j=!1}){let $=X.chain,Q=(await ZX($))[B.FeeOption.Fastest],q=j||e.includes($),W=X.getBaseValue("number"),L=Math.ceil(W+Q*5000);return{inputs:await y($).getUtxos({address:J,fetchTxHex:q,targetValue:L}),outputs:[{address:Z,value:W},...G?[{address:"",script:await O(G),value:0}]:[]]}}var zX,UX,XZ,kX,B,P,ZZ,e;var GX=F(()=>{zX=m(require("@bitcoinerlab/secp256k1")),UX=require("@psf/bitcoincashjs-lib"),XZ=require("@scure/bip32"),kX=require("@scure/bip39"),B=require("@swapkit/helpers"),P=require("bitcoinjs-lib"),ZZ=require("ecpair");TX();p();t();e=[B.Chain.Dash,B.Chain.Dogecoin,B.Chain.Zcash,B.Chain.BitcoinCash]});function x(X){return S(d(X))}function lZ(X){function Z({builder:J,utxos:j}){return j.forEach(($,Q)=>{J.sign(Q,X,void 0,65,$.witnessUtxo?.value)}),J.build()}return{getAddress:()=>{let J=X.getAddress(0);return Promise.resolve(x(J))},signTransaction:Z}}async function OX(X){let Z="phrase"in X?X.phrase:void 0,G="index"in X?X.index||0:0,J=I.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[N],{index:G})),j=Z?(await XX(N))({derivationPath:J,phrase:Z}):void 0,$=j?lZ(j):("signer"in X)?X.signer:void 0;function Q(){return Promise.resolve($?.getAddress())}let{getBalance:q,getFeeRates:W,broadcastTx:L,...D}=await g({chain:N});function z(M,Y=!0){return q(S(d(M)))}return{...D,broadcastTx:L,buildTx:cZ,createTransaction:WZ,getAddress:Q,getAddressFromKeys:pZ,getBalance:z,getFeeRates:W,stripPrefix:S,stripToCashAddress:x,transfer:hZ({broadcastTx:L,getFeeRates:W,signer:$}),validateAddress:E}}async function WZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j}){if(!E(Z))throw new I.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let $=Math.ceil(X.getBaseValue("number")+J*7500),Q=await y(N).getUtxos({address:x(j),fetchTxHex:!0,targetValue:$}),q=G?await O(G):null,W=[];W.push({address:Z,value:X.getBaseValue("number")});let{inputs:L,outputs:D}=w({chain:N,feeRate:J,inputs:Q,outputs:W});if(!(L&&D))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let z=await A(),M=new n.TransactionBuilder(z(N));await Promise.all(L.map(async(Y)=>{let T=await y(N).getRawTx(Y.hash);M.addInput(n.Transaction.fromBuffer(Buffer.from(T,"hex")),Y.index)}));for(let Y of D){let T="address"in Y&&Y.address?Y.address:h(j),_=await A(),v=n.address.toOutputScript(h(T),_(N));M.addOutput(v,Y.value)}if(q)M.addOutput(q,0);return{builder:M,utxos:L}}function hZ({broadcastTx:X,getFeeRates:Z,signer:G}){return async function({recipient:j,assetValue:$,feeOptionKey:Q=I.FeeOption.Fast,...q}){let W=await G?.getAddress();if(!(G&&W))throw new I.SwapKitError("toolbox_utxo_no_signer");if(!j)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=q.feeRate||(await Z())[Q],{builder:D,utxos:z}=await WZ({...q,assetValue:$,feeRate:L,recipient:j,sender:W}),Y=(await G.signTransaction({builder:D,utxos:z})).toHex();return X(Y)}}async function cZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j,setSigHashType:$}){let Q=d(Z);if(!E(Q))throw new I.SwapKitError("toolbox_utxo_invalid_address",{address:Q});let q=Math.ceil(X.getBaseValue("number")+J*7500),W=await y(N).getUtxos({address:x(j),fetchTxHex:!1,targetValue:q}),L=Number(J.toFixed(0)),D=G?await O(G):null,z=[];if(z.push({address:h(Z),value:X.getBaseValue("number")}),D)z.push({script:D,value:0});let{inputs:M,outputs:Y}=w({chain:N,feeRate:L,inputs:W,outputs:z});if(!(M&&Y))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let T=await A(),_=new qZ.Psbt({network:T(N)});for(let{hash:v,index:V,witnessUtxo:K}of M)_.addInput({hash:v,index:V,sighashType:$?65:void 0,witnessUtxo:K});for(let v of Y){let V="address"in v&&v.address?v.address:h(j),K=v.script?D?{script:D,value:0}:void 0:{address:V,value:v.value};if(K)_.addOutput(K)}return{inputs:M,psbt:_,utxos:W}}function pZ(X){let Z=X.getAddress(0);return x(Z)}var n,I,qZ,N;var YX=F(()=>{n=require("@psf/bitcoincashjs-lib"),I=require("@swapkit/helpers"),qZ=require("bitcoinjs-lib");p();GX();t();N=I.Chain.BitcoinCash});function DZ(){return k.networks.zcash}function zZ(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function oZ({phrase:X,derivationPath:Z}){let G=wX.mnemonicToSeedSync(X),j=fX.HDKey.fromMasterSeed(G).derive(Z);if(!j.privateKey)throw new H.SwapKitError("toolbox_utxo_invalid_params");let $=zZ(),Q=k.ECPair.fromPrivateKey(Buffer.from(j.privateKey),{network:$}),q=k.crypto.hash160(Q.publicKey),{isStagenet:W}=H.SKConfig.get("envs"),L=W?Buffer.from([29,37]):Buffer.from([28,184]),D=Buffer.concat([L,q]),z=BZ.default.encode(D);return{getAddress:()=>Promise.resolve(z),signTransaction:(M)=>{let Y=M.signAllInputs(Q);return Promise.resolve(Y)}}}function nZ({inputs:X,outputs:Z,psbt:G,sender:J,compiledMemo:j}){for(let $ of X){let Q=!!$.witnessUtxo&&{witnessUtxo:{...$.witnessUtxo,value:BigInt($.value)}},q=!$.witnessUtxo&&{nonWitnessUtxo:$.txHex?Buffer.from($.txHex,"hex"):void 0};G.addInput({hash:$.hash,index:$.index,...Q,...q})}for(let $ of Z){let Q="address"in $&&$.address?$.address:J,q=$.script;if(q&&!j)continue;let W=q?{script:j,value:0n}:{script:k.address.toOutputScript(Q,DZ()),value:BigInt($.value)};G.addOutput(W)}return{inputs:X,psbt:G}}async function LZ(X){let{assetValue:Z,recipient:G,memo:J,feeRate:j,sender:$,fetchTxHex:Q}=X,q=J?O(J):null,W=await y(H.Chain.Zcash).getUtxos({address:$,fetchTxHex:Q!==!1}),L=[{address:G,value:Number(Z.getBaseValue("string"))},...q?[{script:q,value:0}]:[]],{inputs:D,outputs:z}=w({chain:H.Chain.Zcash,changeAddress:$,feeRate:j,inputs:W,outputs:L});if(!(D&&z))throw new H.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:$});let M=k.bitgo.createPsbtForNetwork({network:DZ()},{version:455}),T=3268858036,_=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),v=Buffer.allocUnsafe(4);v.writeUInt32LE(T>>>0,0),M.addUnknownKeyValToGlobal({key:_,value:v});let{psbt:V,inputs:K}=await nZ({compiledMemo:q,inputs:D,outputs:z,psbt:M,sender:$});return{inputs:K,outputs:z,psbt:V}}async function PX(X){let Z=await u.match(X).with({signer:u.P.not(u.P.nullish)},({signer:Q})=>Promise.resolve(Q)).with({phrase:u.P.string},({phrase:Q,derivationPath:q,index:W=0})=>{let L=q||H.NetworkDerivationPath[H.Chain.Zcash]||[44,133,0,0,0],D=H.updateDerivationPath(L,{index:W}),z=H.derivationPathToString(D);return oZ({derivationPath:z,phrase:Q})}).otherwise(()=>Promise.resolve(void 0)),G=await g({chain:H.Chain.Zcash,signer:Z});async function J({recipient:Q,assetValue:q,feeOptionKey:W=H.FeeOption.Fast,...L}){let D=await Z?.getAddress();if(!(Z&&D))throw new H.SwapKitError("toolbox_utxo_no_signer");let z=L.feeRate||(await G.getFeeRates())[W],{psbt:M}=await LZ({...L,assetValue:q,feeRate:z,recipient:Q,sender:D}),Y=await Z.signTransaction(M);return Y.finalizeAllInputs(),G.broadcastTx(Y.extractTransaction().toHex())}function j({phrase:Q,derivationPath:q="m/44'/133'/0'/0/0"}){let W=wX.mnemonicToSeedSync(Q),D=fX.HDKey.fromMasterSeed(W).derive(q);if(!D.privateKey)throw new H.SwapKitError("toolbox_utxo_invalid_params");let z=zZ();return k.ECPair.fromPrivateKey(Buffer.from(D.privateKey),{network:z})}function $({phrase:Q,derivationPath:q="m/44'/133'/0'/0/0"}){return j({derivationPath:q,phrase:Q}).toWIF()}return{...G,createKeysForPath:j,createTransaction:LZ,getPrivateKeyFromMnemonic:$,transfer:J,validateAddress:o}}var k,fX,wX,H,BZ,u;var KX=F(()=>{k=require("@bitgo/utxo-lib"),fX=require("@scure/bip32"),wX=require("@scure/bip39"),H=require("@swapkit/helpers"),BZ=m(require("bs58check")),u=require("ts-pattern")
|
|
1
|
+
var YZ=Object.create;var{getPrototypeOf:MZ,defineProperty:r,getOwnPropertyNames:VX,getOwnPropertyDescriptor:TZ}=Object,SX=Object.prototype.hasOwnProperty;var m=(X,Z,G)=>{G=X!=null?YZ(MZ(X)):{};let J=Z||!X||!X.__esModule?r(G,"default",{value:X,enumerable:!0}):G;for(let j of VX(X))if(!SX.call(J,j))r(J,j,{get:()=>X[j],enumerable:!0});return J},EX=new WeakMap,CZ=(X)=>{var Z=EX.get(X),G;if(Z)return Z;if(Z=r({},"__esModule",{value:!0}),X&&typeof X==="object"||typeof X==="function")VX(X).map((J)=>!SX.call(Z,J)&&r(Z,J,{get:()=>X[J],enumerable:!(G=TZ(X,J))||G.enumerable}));return EX.set(X,Z),Z};var HZ=(X,Z)=>{for(var G in Z)r(X,G,{get:Z[G],enumerable:!0,configurable:!0,set:(J)=>Z[G]=()=>J})};var F=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);function xX(){function X(){let Z=Date.now(),G=MX||Z;return MX=G,Z>MX?Z:G+1}return vZ+X().toString(36)}function mX(X){return async function(G,J=!0){let j=await gX.SwapKitApi.getChainBalance({address:G,chain:X,scamFilter:J}),{baseDecimal:$}=JX.getChainConfig(X);return j.map(({identifier:Q,value:q,decimal:W})=>{return new JX.AssetValue({decimal:W||$,identifier:Q,value:q})})}}var JX,gX,vZ,MX=0;var TX=F(()=>{JX=require("@swapkit/helpers"),gX=require("@swapkit/helpers/api"),vZ=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function IZ({chain:X,txHash:Z}){let G=`${QX(X)}/push/transaction`,J=JSON.stringify({data:Z});try{let j=await U.RequestClient.post(G,{body:J,headers:{"Content-Type":"application/json"}});if(j.context.code!==200)throw new U.SwapKitError("toolbox_utxo_broadcast_failed",{error:j.context.error||"Transaction broadcast failed"});return j.data?.transaction_hash||Z}catch(j){let $=await U.getRPCUrl(X);if($){let Q=JSON.stringify({id:xX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),q=await U.RequestClient.post($,{body:Q,headers:{"Content-Type":"application/json"}});if(q.error)throw new U.SwapKitError("toolbox_utxo_broadcast_failed",{error:q.error?.message});if(q.result.includes('"code":-26'))throw new U.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return q.result}throw j}}function QX(X){return`https://api.blockchair.com/${_Z(X)}`}function lX(X){switch(X){case U.Chain.Bitcoin:return 5;case U.Chain.Dogecoin:return 1e4;case U.Chain.Litecoin:return 1;case U.Chain.Zcash:return 1;default:return 2}}function _Z(X){switch(X){case U.Chain.BitcoinCash:return"bitcoin-cash";case U.Chain.Litecoin:return"litecoin";case U.Chain.Dash:return"dash";case U.Chain.Dogecoin:return"dogecoin";case U.Chain.Zcash:return"zcash";case U.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function yZ(X){try{let{feePerKb:Z}=await U.RequestClient.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),G=Z/1000;return Math.max(G,lX(X))}catch(Z){return lX(X)}}async function CX(X,Z){let G=await U.RequestClient.get(`${X}${Z?`${X.includes("?")?"&":"?"}key=${Z}`:""}`);if(!G||G.context.code!==200)throw new U.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return G.data}async function oX({address:X,chain:Z,apiKey:G}){if(!X)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await CX(`${QX(Z)}/dashboards/address/${X}?transaction_details=true`,G))[X]}catch(J){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function FZ({address:X,chain:Z,apiKey:G}){return(await oX({address:X,apiKey:G,chain:Z}))?.address.balance||0}async function nX({chain:X,apiKey:Z,txHash:G}){if(!G)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await CX(`${QX(X)}/raw/transaction/${G}`,Z))?.[G]?.raw_transaction||""}catch(J){return console.error("Failed to fetch raw transaction:",J),""}}async function NZ({chain:X,address:Z,apiKey:G,offset:J=0,limit:j=30}){return(await CX(`${QX(X)}/outputs?q=recipient(${Z}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${j}&offset=${J}`,G)).map(({is_spent:W,script_hex:L,block_id:D,transaction_hash:z,index:M,value:Y,spending_signature_hex:T})=>({hash:z,index:M,is_confirmed:D!==-1,is_spent:W,script_hex:L,txHex:T,value:Y}))}function kZ(X){return X.reduce((Z,G)=>Z+G.value,0)}function hX(X,Z){let G=[...X].sort((J,j)=>j.value-J.value);if(Z){let J=[],j=0;for(let $ of G)if(J.push($),j+=$.value,j>=Z)break;return J}return G}async function uX({chain:X,address:Z,apiKey:G,targetValue:J,accumulativeValue:j=0,offset:$=0,limit:Q=30}){if(!Z)throw new U.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let q=await NZ({address:Z,apiKey:G,chain:X,limit:Q,offset:$,targetValue:J}),L=q.length<Q,D=q.filter(({is_spent:v})=>!v),z=kZ(D),M=j+z,Y=J&&M>=J;if(L||Y)return hX(D,J);let T=await uX({accumulativeValue:M,address:Z,apiKey:G,chain:X,limit:Q,offset:$+Q,targetValue:J}),_=[...D,...T];return hX(_,J)}catch(q){return console.error("Failed to fetch unspent UTXOs:",q),[]}}async function AZ({address:X,chain:Z,apiKey:G,fetchTxHex:J=!0,targetValue:j}){let $=await uX({address:X,apiKey:G,chain:Z,targetValue:j}),Q=[];for(let{hash:q,index:W,script_hex:L,value:D}of $){let z;if(J)z=await nX({apiKey:G,chain:Z,txHash:q});Q.push({address:X,hash:q,index:W,txHex:z,value:D,witnessUtxo:{script:Buffer.from(L,"hex"),value:D}})}return Q}function OZ(X){let Z=U.SKConfig.get("apiKeys").blockchair||"";return U.warnOnce({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>IZ({chain:X,txHash:G}),getAddressData:(G)=>oX({address:G,apiKey:Z,chain:X}),getBalance:(G)=>FZ({address:G,apiKey:Z,chain:X}),getRawTx:(G)=>nX({apiKey:Z,chain:X,txHash:G}),getSuggestedTxFee:()=>yZ(X),getUtxos:(G)=>AZ({...G,apiKey:Z,chain:X})}}function fZ(X){return X}function y(X){let Z=U.SKConfig.get("apis")[X];if(Z)return U.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),Z;return OZ(X)}function A(){return function(Z){switch(Z){case U.Chain.Bitcoin:return pX.networks.bitcoin;case U.Chain.BitcoinCash:return l.default.bitcoincash.main.toBitcoinJS();case U.Chain.Dash:return l.default.dash.main.toBitcoinJS();case U.Chain.Litecoin:return l.default.litecoin.main.toBitcoinJS();case U.Chain.Dogecoin:{let G={private:70615956,public:70617039},J=l.default.dogecoin.test;return J.versions.bip32=G,l.default.dogecoin.main.toBitcoinJS()}case U.Chain.Zcash:return cX.networks.zcash;default:throw new U.SwapKitError("toolbox_utxo_not_supported",{chain:Z})}}}var cX,U,pX,l;var rX=F(()=>{TX();cX=require("@bitgo/utxo-lib"),U=require("@swapkit/helpers"),pX=require("bitcoinjs-lib"),l=m(require("coininfo"))});function yX(X){try{return $X(X),!0}catch(Z){return!1}}function FX(X){return $X(X)?.network}function h(X){let Z=$X(X);if(Z?.format==="legacy")return X;return KZ(Z)}function d(X){let Z=$X(X);return bZ(Z)}function $X(X){try{let Z=wZ(X);if(Z)return Z}catch(Z){}try{let Z=PZ(X);if(Z)return Z}catch(Z){}throw new HX.SwapKitError("toolbox_utxo_invalid_address",{address:X})}function wZ(X){try{let Z=vX.default.decode(X);if(Z.length!==21)throw new HX.SwapKitError("toolbox_utxo_invalid_address",{address:X});let G=Z[0],J=Array.prototype.slice.call(Z,1);switch(G){case C.legacy.mainnet.p2pkh:return{format:"legacy",hash:J,network:"mainnet",type:"p2pkh"};case C.legacy.mainnet.p2sh:return{format:"legacy",hash:J,network:"mainnet",type:"p2sh"};case C.legacy.testnet.p2pkh:return{format:"legacy",hash:J,network:"testnet",type:"p2pkh"};case C.legacy.testnet.p2sh:return{format:"legacy",hash:J,network:"testnet",type:"p2sh"};case C.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:J,network:"mainnet",type:"p2pkh"};case C.bitpay.mainnet.p2sh:return{format:"bitpay",hash:J,network:"mainnet",type:"p2sh"};default:return}}catch(Z){return}}function PZ(X){if(X.indexOf(":")!==-1)try{return dX(X)}catch(Z){}else{let Z=["bitcoincash","bchtest","bchreg"];for(let G of Z)try{return dX(`${G}:${X}`)}catch(J){}}return}function dX(X){try{let{hash:Z,prefix:G,type:J}=IX.default.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:G==="bitcoincash"?"mainnet":"testnet",type:J==="P2PKH"?"p2pkh":"p2sh"}}catch(Z){return}}function KZ(X){let Z=C.legacy[X.network][X.type],G=Buffer.alloc(1+X.hash.length);return G[0]=Z,G.set(X.hash,1),vX.default.encode(G)}function bZ(X){let Z=X.network==="mainnet"?"bitcoincash":"bchtest",G=X.type==="p2pkh"?"P2PKH":"P2SH",J=new Uint8Array(X.hash);return IX.default.encode(Z,G,J)}var HX,vX,IX,_X,C;var iX=F(()=>{HX=require("@swapkit/helpers"),vX=m(require("bs58check")),IX=m(require("cashaddrjs"));((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(_X||={});C={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function O(X){let Z=Buffer.from(X,"utf8");return qX.script.compile([qX.opcodes.OP_RETURN,Z])}var sX,qX,RZ=1000,WX=10,aX=10,EZ=41,VZ=107,LX,jX,i,s=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new sX.SwapKitError("toolbox_utxo_invalid_address",{address:X})},c=({inputs:X,outputs:Z,feeRate:G})=>{let J=X[0]&&"address"in X[0]&&X[0].address?s(X[0].address):"P2PKH",j=X.filter((Q)=>Q.value>=jX["type"in Q?Q.type:"P2PKH"]*Math.ceil(G)).reduce((Q,q)=>Q+R(q),0),$=Z?.reduce((Q,q)=>Q+a(q),0)||i[J];return WX+j+$},R=(X)=>{if("type"in X)return jX[X.type];if("address"in X&&X.address)return jX[s(X.address)];return EZ+VZ},a=(X,Z)=>{if(X?.script)return aX+X.script.length+(X.script.length>=74?2:1);if(Z)return i[Z];return i.P2PKH};var NX=F(()=>{sX=require("@swapkit/helpers"),qX=require("bitcoinjs-lib");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(LX||={});jX={["P2PKH"]:148,["P2WPKH"]:68},i={["P2PKH"]:34,["P2WPKH"]:31}});function BX(X){switch(X){case f.Chain.Bitcoin:case f.Chain.BitcoinCash:return 550;case f.Chain.Dash:case f.Chain.Litecoin:return 5500;case f.Chain.Dogecoin:return 1e5;case f.Chain.Zcash:return 546;default:throw new f.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}function w({inputs:X,outputs:Z,feeRate:G=1,chain:J=f.Chain.Bitcoin,changeAddress:j=""}){let $=Math.ceil(G),Q=X[0]&&"address"in X[0]&&X[0].address?s(X[0].address):"P2PKH",q=X.filter((Y)=>R(Y)*$<=Y.value),W=WX+Z.reduce((Y,T)=>Y+a(T,Q),0),L=Z.reduce((Y,T)=>Y+T.value,0),D=W*$,z=0,M=[];for(let Y of q){let T=R(Y),_=$*T;D+=_,z+=Y.value,M.push(Y);let v=D+L;if(z<v)continue;let V=z-v,K=$*a({address:"",value:0},Q);if(V>K){let bX=K+D,RX=z-(L+bX);if(RX>Math.max(R({})*$,BX(J)))return{fee:bX,inputs:M,outputs:Z.concat({address:j,value:RX})}}return{fee:D,inputs:M,outputs:Z}}return{fee:$*c({feeRate:$,inputs:X,outputs:Z})}}var f;var tX=F(()=>{NX();f=require("@swapkit/helpers")});var p=F(()=>{rX();iX();tX();NX()});function S(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function E(X){let Z=S(X);return yX(Z)&&FX(Z)==="mainnet"}function o(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let Z=DX.networks.zcash;try{return DX.address.toOutputScript(X,Z),!0}catch{let G=eX.default.decode(X);if(G.length<21)return!1;let J=G[0];return J===Z.pubKeyHash||J===Z.scriptHash}}catch{return!1}}var DX,eX;var t=F(()=>{p();DX=require("@bitgo/utxo-lib"),eX=m(require("bs58check"))});function GZ({inputs:X,outputs:Z,chain:G,psbt:J,sender:j,compiledMemo:$}){for(let Q of X){let q=!!Q.witnessUtxo&&!e.includes(G)&&{witnessUtxo:Q.witnessUtxo},W=e.includes(G)&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};J.addInput({hash:Q.hash,index:Q.index,...q,...W})}for(let Q of Z){let q="address"in Q&&Q.address?Q.address:j,W=Q.script;if(W&&!$)continue;let L=W?{script:$,value:0}:{address:q,value:Q.value};P.initEccLib(zX.default),J.addOutput(L)}return{inputs:X,psbt:J}}async function JZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j,fetchTxHex:$=!1}){let Q=X.chain,q=G?await O(G):null,W=await jZ({assetValue:X,fetchTxHex:$,memo:G,recipient:Z,sender:j}),{inputs:L,outputs:D}=w({...W,chain:Q,feeRate:J});if(!(L&&D))throw new B.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let z=await A(),M=new P.Psbt({network:z(Q)});if(Q===B.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:Y,inputs:T}=await GZ({chain:Q,compiledMemo:q,inputs:L,outputs:D,psbt:M,sender:j});return{inputs:T,psbt:Y,utxos:W.inputs}}async function QZ(){let X=await A();return function({address:G,chain:J}){if(J===B.Chain.BitcoinCash)return E(G);if(J===B.Chain.Zcash)return o(G);try{return P.initEccLib(zX.default),P.address.toOutputScript(G,X(J)),!0}catch(j){return!1}}}async function SZ({chain:X,phrase:Z,derivationPath:G}){let J=(await XX(X))({derivationPath:G,phrase:Z});async function j(Q){return await Q.signAllInputs(J),Q}function $(){return AX(X)(J)}return{getAddress:$,signTransaction:j}}async function g({chain:X,...Z}){let G="phrase"in Z?Z.phrase:void 0,J="index"in Z?Z.index||0:0,j=B.derivationPathToString("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:B.updateDerivationPath(B.NetworkDerivationPath[X],{index:J})),$=G?await SZ({chain:X,derivationPath:j,phrase:G}):("signer"in Z)?Z.signer:void 0;function Q(){return Promise.resolve($?.getAddress())}let q=await QZ(),W=await XX(X);return{accumulative:w,broadcastTx:(L)=>y(X).broadcastTx(L),calculateTxSize:c,createKeysForPath:W,createTransaction:JZ,estimateMaxSendableAmount:gZ(X),estimateTransactionFee:xZ(X),getAddress:Q,getAddressFromKeys:AX(X),getBalance:mX(X),getFeeRates:()=>ZX(X),getInputsOutputsFee:$Z,getPrivateKeyFromMnemonic:(L)=>{return W(L).toWIF()},transfer:mZ($),validateAddress:(L)=>q({address:L,chain:X})}}async function $Z({assetValue:X,feeOptionKey:Z=B.FeeOption.Fast,feeRate:G,memo:J,sender:j,recipient:$}){let Q=X.chain,q=await jZ({assetValue:X,memo:J,recipient:$,sender:j}),W=G?Math.floor(G):(await ZX(Q))[Z];return w({...q,chain:Q,feeRate:W})}function gZ(X){return async function({from:G,memo:J,feeRate:j,feeOptionKey:$=B.FeeOption.Fast,recipients:Q=1}){let q=await y(X).getAddressData(G),W=j?Math.ceil(j):(await ZX(X))[$],L=q?.utxo.map((T)=>({...T,hash:"",type:"P2PKH"})).filter((T)=>T.value>Math.max(BX(X),R(T)*W));if(!L?.length)return B.AssetValue.from({chain:X});let D=B.AssetValue.from({chain:X,value:L.reduce((T,_)=>T+_.value,0)}),z=typeof Q==="number"?Array.from({length:Q},()=>({address:G,value:0})):Q;if(J){let T=await O(J);z.push({address:G,script:T,value:0})}let Y=c({feeRate:W,inputs:L,outputs:z})*W;return D.sub(Y)}}function xZ(X){return async(Z)=>{let G=await $Z(Z);return B.AssetValue.from({chain:X,value:B.SwapKitNumber.fromBigInt(BigInt(G.fee),8).getValue("string")})}}async function XX(X){let Z=await A();switch(X){case B.Chain.BitcoinCash:return function({phrase:J,derivationPath:j=`${B.DerivationPath.BCH}/0`,wif:$}){let Q=Z(X);if($)return UX.ECPair.fromWIF($,Q);if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return UX.HDNode.fromSeedBuffer(Buffer.from(kX.mnemonicToSeedSync(J)),Q).derivePath(j).keyPair};case B.Chain.Bitcoin:case B.Chain.Dogecoin:case B.Chain.Litecoin:case B.Chain.Zcash:case B.Chain.Dash:return function({phrase:J,wif:j,derivationPath:$}){if(!(j||J))throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let Q=ZZ.ECPairFactory(zX.default),q=Z(X);if(j)return Q.fromWIF(j,q);let W=kX.mnemonicToSeedSync(J),L=XZ.HDKey.fromMasterSeed(W,q).derive($);if(!L.privateKey)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return Q.fromPrivateKey(Buffer.from(L.privateKey),{network:q})};default:throw new B.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}function AX(X){let Z=A();return function(J){if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let j=e.includes(X)?P.payments.p2pkh:P.payments.p2wpkh,{address:$}=j({network:Z(X),pubkey:J.publicKey});if(!$)throw new B.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return $}}function mZ(X){return async function({memo:G,recipient:J,feeOptionKey:j,feeRate:$,assetValue:Q}){let q=await X?.getAddress(),W=Q.chain;if(!(X&&q))throw new B.SwapKitError("toolbox_utxo_no_signer");if(!J)throw new B.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=$||(await ZX(W))[j||B.FeeOption.Fast],{psbt:D}=await JZ({assetValue:Q,feeRate:L,memo:G,recipient:J,sender:q}),z=await X.signTransaction(D);return z.finalizeAllInputs(),y(W).broadcastTx(z.extractTransaction().toHex())}}async function ZX(X){let Z=await y(X).getSuggestedTxFee();return{[B.FeeOption.Average]:Z,[B.FeeOption.Fast]:B.applyFeeMultiplier(Z,B.FeeOption.Fast),[B.FeeOption.Fastest]:B.applyFeeMultiplier(Z,B.FeeOption.Fastest)}}async function jZ({assetValue:X,recipient:Z,memo:G,sender:J,fetchTxHex:j=!1}){let $=X.chain,Q=(await ZX($))[B.FeeOption.Fastest],q=j||e.includes($),W=X.getBaseValue("number"),L=Math.ceil(W+Q*5000);return{inputs:await y($).getUtxos({address:J,fetchTxHex:q,targetValue:L}),outputs:[{address:Z,value:W},...G?[{address:"",script:await O(G),value:0}]:[]]}}var zX,UX,XZ,kX,B,P,ZZ,e;var GX=F(()=>{TX();p();t();zX=m(require("@bitcoinerlab/secp256k1")),UX=require("@psf/bitcoincashjs-lib"),XZ=require("@scure/bip32"),kX=require("@scure/bip39"),B=require("@swapkit/helpers"),P=require("bitcoinjs-lib"),ZZ=require("ecpair"),e=[B.Chain.Dash,B.Chain.Dogecoin,B.Chain.Zcash,B.Chain.BitcoinCash]});function x(X){return S(d(X))}function lZ(X){function Z({builder:J,utxos:j}){return j.forEach(($,Q)=>{J.sign(Q,X,void 0,65,$.witnessUtxo?.value)}),J.build()}return{getAddress:()=>{let J=X.getAddress(0);return Promise.resolve(x(J))},signTransaction:Z}}async function OX(X){let Z="phrase"in X?X.phrase:void 0,G="index"in X?X.index||0:0,J=I.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[N],{index:G})),j=Z?(await XX(N))({derivationPath:J,phrase:Z}):void 0,$=j?lZ(j):("signer"in X)?X.signer:void 0;function Q(){return Promise.resolve($?.getAddress())}let{getBalance:q,getFeeRates:W,broadcastTx:L,...D}=await g({chain:N});function z(M,Y=!0){return q(S(d(M)))}return{...D,broadcastTx:L,buildTx:cZ,createTransaction:WZ,getAddress:Q,getAddressFromKeys:pZ,getBalance:z,getFeeRates:W,stripPrefix:S,stripToCashAddress:x,transfer:hZ({broadcastTx:L,getFeeRates:W,signer:$}),validateAddress:E}}async function WZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j}){if(!E(Z))throw new I.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let $=Math.ceil(X.getBaseValue("number")+J*7500),Q=await y(N).getUtxos({address:x(j),fetchTxHex:!0,targetValue:$}),q=G?await O(G):null,W=[];W.push({address:Z,value:X.getBaseValue("number")});let{inputs:L,outputs:D}=w({chain:N,feeRate:J,inputs:Q,outputs:W});if(!(L&&D))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let z=await A(),M=new n.TransactionBuilder(z(N));await Promise.all(L.map(async(Y)=>{let T=await y(N).getRawTx(Y.hash);M.addInput(n.Transaction.fromBuffer(Buffer.from(T,"hex")),Y.index)}));for(let Y of D){let T="address"in Y&&Y.address?Y.address:h(j),_=await A(),v=n.address.toOutputScript(h(T),_(N));M.addOutput(v,Y.value)}if(q)M.addOutput(q,0);return{builder:M,utxos:L}}function hZ({broadcastTx:X,getFeeRates:Z,signer:G}){return async function({recipient:j,assetValue:$,feeOptionKey:Q=I.FeeOption.Fast,...q}){let W=await G?.getAddress();if(!(G&&W))throw new I.SwapKitError("toolbox_utxo_no_signer");if(!j)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=q.feeRate||(await Z())[Q],{builder:D,utxos:z}=await WZ({...q,assetValue:$,feeRate:L,recipient:j,sender:W}),Y=(await G.signTransaction({builder:D,utxos:z})).toHex();return X(Y)}}async function cZ({assetValue:X,recipient:Z,memo:G,feeRate:J,sender:j,setSigHashType:$}){let Q=d(Z);if(!E(Q))throw new I.SwapKitError("toolbox_utxo_invalid_address",{address:Q});let q=Math.ceil(X.getBaseValue("number")+J*7500),W=await y(N).getUtxos({address:x(j),fetchTxHex:!1,targetValue:q}),L=Number(J.toFixed(0)),D=G?await O(G):null,z=[];if(z.push({address:h(Z),value:X.getBaseValue("number")}),D)z.push({script:D,value:0});let{inputs:M,outputs:Y}=w({chain:N,feeRate:L,inputs:W,outputs:z});if(!(M&&Y))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let T=await A(),_=new qZ.Psbt({network:T(N)});for(let{hash:v,index:V,witnessUtxo:K}of M)_.addInput({hash:v,index:V,sighashType:$?65:void 0,witnessUtxo:K});for(let v of Y){let V="address"in v&&v.address?v.address:h(j),K=v.script?D?{script:D,value:0}:void 0:{address:V,value:v.value};if(K)_.addOutput(K)}return{inputs:M,psbt:_,utxos:W}}function pZ(X){let Z=X.getAddress(0);return x(Z)}var n,I,qZ,N;var YX=F(()=>{p();GX();t();n=require("@psf/bitcoincashjs-lib"),I=require("@swapkit/helpers"),qZ=require("bitcoinjs-lib"),N=I.Chain.BitcoinCash});function DZ(){return k.networks.zcash}function zZ(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function oZ({phrase:X,derivationPath:Z}){let G=wX.mnemonicToSeedSync(X),j=fX.HDKey.fromMasterSeed(G).derive(Z);if(!j.privateKey)throw new H.SwapKitError("toolbox_utxo_invalid_params");let $=zZ(),Q=k.ECPair.fromPrivateKey(Buffer.from(j.privateKey),{network:$}),q=k.crypto.hash160(Q.publicKey),{isStagenet:W}=H.SKConfig.get("envs"),L=W?Buffer.from([29,37]):Buffer.from([28,184]),D=Buffer.concat([L,q]),z=BZ.default.encode(D);return{getAddress:()=>Promise.resolve(z),signTransaction:(M)=>{let Y=M.signAllInputs(Q);return Promise.resolve(Y)}}}function nZ({inputs:X,outputs:Z,psbt:G,sender:J,compiledMemo:j}){for(let $ of X){let Q=!!$.witnessUtxo&&{witnessUtxo:{...$.witnessUtxo,value:BigInt($.value)}},q=!$.witnessUtxo&&{nonWitnessUtxo:$.txHex?Buffer.from($.txHex,"hex"):void 0};G.addInput({hash:$.hash,index:$.index,...Q,...q})}for(let $ of Z){let Q="address"in $&&$.address?$.address:J,q=$.script;if(q&&!j)continue;let W=q?{script:j,value:0n}:{script:k.address.toOutputScript(Q,DZ()),value:BigInt($.value)};G.addOutput(W)}return{inputs:X,psbt:G}}async function LZ(X){let{assetValue:Z,recipient:G,memo:J,feeRate:j,sender:$,fetchTxHex:Q}=X,q=J?O(J):null,W=await y(H.Chain.Zcash).getUtxos({address:$,fetchTxHex:Q!==!1}),L=[{address:G,value:Number(Z.getBaseValue("string"))},...q?[{script:q,value:0}]:[]],{inputs:D,outputs:z}=w({chain:H.Chain.Zcash,changeAddress:$,feeRate:j,inputs:W,outputs:L});if(!(D&&z))throw new H.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:$});let M=k.bitgo.createPsbtForNetwork({network:DZ()},{version:455}),T=3268858036,_=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),v=Buffer.allocUnsafe(4);v.writeUInt32LE(T>>>0,0),M.addUnknownKeyValToGlobal({key:_,value:v});let{psbt:V,inputs:K}=await nZ({compiledMemo:q,inputs:D,outputs:z,psbt:M,sender:$});return{inputs:K,outputs:z,psbt:V}}async function PX(X){let Z=await u.match(X).with({signer:u.P.not(u.P.nullish)},({signer:Q})=>Promise.resolve(Q)).with({phrase:u.P.string},({phrase:Q,derivationPath:q,index:W=0})=>{let L=q||H.NetworkDerivationPath[H.Chain.Zcash]||[44,133,0,0,0],D=H.updateDerivationPath(L,{index:W}),z=H.derivationPathToString(D);return oZ({derivationPath:z,phrase:Q})}).otherwise(()=>Promise.resolve(void 0)),G=await g({chain:H.Chain.Zcash,signer:Z});async function J({recipient:Q,assetValue:q,feeOptionKey:W=H.FeeOption.Fast,...L}){let D=await Z?.getAddress();if(!(Z&&D))throw new H.SwapKitError("toolbox_utxo_no_signer");let z=L.feeRate||(await G.getFeeRates())[W],{psbt:M}=await LZ({...L,assetValue:q,feeRate:z,recipient:Q,sender:D}),Y=await Z.signTransaction(M);return Y.finalizeAllInputs(),G.broadcastTx(Y.extractTransaction().toHex())}function j({phrase:Q,derivationPath:q="m/44'/133'/0'/0/0"}){let W=wX.mnemonicToSeedSync(Q),D=fX.HDKey.fromMasterSeed(W).derive(q);if(!D.privateKey)throw new H.SwapKitError("toolbox_utxo_invalid_params");let z=zZ();return k.ECPair.fromPrivateKey(Buffer.from(D.privateKey),{network:z})}function $({phrase:Q,derivationPath:q="m/44'/133'/0'/0/0"}){return j({derivationPath:q,phrase:Q}).toWIF()}return{...G,createKeysForPath:j,createTransaction:LZ,getPrivateKeyFromMnemonic:$,transfer:J,validateAddress:o}}var k,fX,wX,H,BZ,u;var KX=F(()=>{p();GX();t();k=require("@bitgo/utxo-lib"),fX=require("@scure/bip32"),wX=require("@scure/bip39"),H=require("@swapkit/helpers"),BZ=m(require("bs58check")),u=require("ts-pattern")});async function uZ(X,Z){switch(X){case b.Chain.BitcoinCash:return await OX(Z||{});case b.Chain.Zcash:return await PX(Z);case b.Chain.Bitcoin:case b.Chain.Dogecoin:case b.Chain.Litecoin:case b.Chain.Dash:return await g({chain:X,...Z});default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}var b;var UZ=F(()=>{YX();GX();KX();YX();t();b=require("@swapkit/helpers")});var dZ={};HZ(dZ,{validateZcashAddress:()=>o,toLegacyAddress:()=>h,toCashAddress:()=>d,stripToCashAddress:()=>x,stripPrefix:()=>S,nonSegwitChains:()=>e,isValidAddress:()=>yX,getUtxoToolbox:()=>uZ,getUtxoNetwork:()=>A,getUtxoApi:()=>y,getUTXOAddressValidator:()=>QZ,getScriptTypeForAddress:()=>s,getOutputSize:()=>a,getInputSize:()=>R,getDustThreshold:()=>BX,getCreateKeysForPath:()=>XX,detectAddressNetwork:()=>FX,createZcashToolbox:()=>PX,createUTXOToolbox:()=>g,createCustomUtxoApi:()=>fZ,createBCHToolbox:()=>OX,compileMemo:()=>O,calculateTxSize:()=>c,bchValidateAddress:()=>E,addressFromKeysGetter:()=>AX,addInputsAndOutputs:()=>GZ,accumulative:()=>w,UtxoNetwork:()=>_X,UTXOScriptType:()=>LX,TX_OVERHEAD:()=>WX,OutputSizes:()=>i,OP_RETURN_OVERHEAD:()=>aX,MIN_TX_FEE:()=>RZ,InputSizes:()=>jX});module.exports=CZ(dZ);var iZ=F(()=>{p();UZ();YX();GX();KX()});iZ();
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=BDA1D564CE4884BD64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|