@swapkit/toolboxes 4.17.2 → 4.17.4

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.
@@ -1 +1 @@
1
- var g=Object.create;var{getPrototypeOf:u,defineProperty:f,getOwnPropertyNames:I,getOwnPropertyDescriptor:l}=Object,E=Object.prototype.hasOwnProperty;function K(b){return this[b]}var d,c,G5=(b,O,W)=>{var L=b!=null&&typeof b==="object";if(L){var M=O?d??=new WeakMap:c??=new WeakMap,X=M.get(b);if(X)return X}W=b!=null?g(u(b)):{};let Y=O||!b||!b.__esModule?f(W,"default",{value:b,enumerable:!0}):W;for(let v of I(b))if(!E.call(Y,v))f(Y,v,{get:K.bind(b,v),enumerable:!0});if(L)M.set(b,Y);return Y},o=(b)=>{var O=(F??=new WeakMap).get(b),W;if(O)return O;if(O=f({},"__esModule",{value:!0}),b&&typeof b==="object"||typeof b==="function"){for(var L of I(b))if(!E.call(O,L))f(O,L,{get:K.bind(b,L),enumerable:!(W=l(b,L))||W.enumerable})}return F.set(b,O),O},F;var r=(b)=>b;function i(b,O){this[b]=r.bind(null,O)}var t=(b,O)=>{for(var W in O)f(b,W,{get:O[W],enumerable:!0,configurable:!0,set:i.bind(O,W)})};var w=(b,O)=>()=>(b&&(O=b(b=0)),O);async function h(b,O,W,L=[],M){let X=await b.getCoins({coinType:W,cursor:M,owner:O}),Y=[...L,...X.data];return X.hasNextPage?h(b,O,W,Y,X.nextCursor):Y}function n(b,O,W){let L=O.reduce((D,j)=>D+BigInt(j.balance),0n);if(L<W)throw new P.SwapKitError("toolbox_sui_insufficient_balance",{available:L.toString(),required:W.toString()});let{ids:M}=O.reduce((D,j)=>{if(D.total>=W)return D;return{ids:[...D.ids,j.coinObjectId],total:D.total+BigInt(j.balance)}},{ids:[],total:0n}),X=M[0],Y=M.slice(1);if(Y.length>0)b.mergeCoins(X,Y);let[v]=b.splitCoins(X,[W]);return v}function A(b){try{return y.isValidSuiAddress(b)}catch{return!1}}function x(b){return"signWithIntent"in b}function a({provider:b,...O}={}){let W;async function L(){if(W)return W;return W=await k.match(O).with({phrase:k.P.string},async({phrase:G})=>{let{Ed25519Keypair:R}=await import("@mysten/sui/keypairs/ed25519");return R.deriveKeypair(G)}).with({signer:k.P.any},({signer:G})=>G).otherwise(()=>{return}),W}async function M(G=b){let{SuiClient:R,getFullnodeUrl:z}=await import("@mysten/sui/client");return new R({url:G||z("mainnet")})}async function X(){return(await L())?.toSuiAddress()||""}function Y(G){try{let R=P.AssetValue.from({address:G,chain:P.Chain.Sui});return{asset:R.toString(),decimals:R.decimal}}catch{}return null}async function v(G){let R=G||await X();if(!R)throw new P.SwapKitError("toolbox_sui_address_required");let{baseDecimal:z,chain:J}=P.getChainConfig(P.Chain.Sui);try{let Z=await M(),{totalBalance:N}=await Z.getBalance({owner:R}),q=[P.AssetValue.from({chain:J,fromBaseDecimal:z,value:N})],Q=await Z.getAllBalances({owner:R});for(let{coinType:_,totalBalance:$}of Q){if(_==="0x2::sui::SUI"||Number($)<=0)continue;let U=Y(_);if(U)q.push(P.AssetValue.from({asset:U.asset,fromBaseDecimal:U.decimals,value:$}))}return q}catch{return[P.AssetValue.from({chain:J})]}}async function D(G){let R=P.AssetValue.from({chain:P.Chain.Sui,value:"0.01"});if(!G)return R;try{let z=await M(),{txBytes:J}=await j(G),{effects:{status:Z,gasUsed:N}}=await z.dryRunTransactionBlock({transactionBlock:J});if(Z.status!=="success")return R;let q=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return P.AssetValue.from({chain:P.Chain.Sui,value:q.toString()})}catch{return R}}async function j({recipient:G,assetValue:R,gasBudget:z,sender:J}){let{Transaction:Z}=await import("@mysten/sui/transactions"),N=J||await X();if(!N)throw new P.SwapKitError("toolbox_sui_no_sender");try{let q=new Z;if(q.setSender(N),R.isGasAsset||R.symbol==="SUI"){let[$]=q.splitCoins(q.gas,[R.getBaseValue("string")]);q.transferObjects([$],G)}else{let $=R.address;if(!$)throw new P.SwapKitError("toolbox_sui_missing_coin_type");let U=await M(),T=R.getBaseValue("bigint"),H=await h(U,N,$);if(!H.length)throw new P.SwapKitError("toolbox_sui_no_coins_found",{coinType:$});let C=n(q,H,T);q.transferObjects([C],G)}if(z)q.setGasBudget(z);let Q=await M(),_=await q.build({client:Q});return{tx:q,txBytes:_}}catch(q){if(q instanceof P.SwapKitError)throw q;throw new P.SwapKitError("toolbox_sui_transaction_creation_error",{error:q})}}async function V(G){let R=await L();if(!R)throw new P.SwapKitError("toolbox_sui_no_signer");if(G instanceof Uint8Array)return R.signTransaction(G);let{txBytes:z}="tx"in G?G:await j(G);return R.signTransaction(z)}async function S({assetValue:G,gasBudget:R,recipient:z}){let J=await L();if(!J)throw new P.SwapKitError("toolbox_sui_no_signer");let Z=J.toSuiAddress()||await X();if(!Z)throw new P.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await j({assetValue:G,gasBudget:R,recipient:z,sender:Z}),q=await M();if(!x(J)){let _=await J.signTransaction(N),{digest:$}=await q.executeTransactionBlock({signature:_.signature,transactionBlock:_.bytes});return $}let{digest:Q}=await q.signAndExecuteTransaction({signer:J,transaction:N});return Q}async function B(G){let R=await M(),{digest:z}=await R.executeTransactionBlock({signature:G.signature,transactionBlock:G.bytes});return z}async function p(G){let R=await L();if(!R)throw new P.SwapKitError("toolbox_sui_no_signer");let z=await M(),J;if(typeof G==="string")J=Uint8Array.from(Buffer.from(G,"base64"));else if(G instanceof Uint8Array)J=G;else J=await G.build({client:z});if(!x(R)){let N=await R.signTransaction(J),{digest:q}=await z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return q}let{digest:Z}=await z.signAndExecuteTransaction({signer:R,transaction:J});return Z}return{broadcastTransaction:B,createTransaction:j,estimateTransactionFee:D,getAddress:X,getBalance:v,signAndBroadcastTransaction:p,signTransaction:V,transfer:S,validateAddress:A}}var y,P,k;var m=w(()=>{y=require("@mysten/sui/utils"),P=require("@swapkit/helpers"),k=require("ts-pattern")});var e={};t(e,{validateSuiAddress:()=>A,getSuiToolbox:()=>a});module.exports=o(e);var b5=w(()=>{m()});b5();
1
+ var g=Object.create;var{getPrototypeOf:u,defineProperty:f,getOwnPropertyNames:I,getOwnPropertyDescriptor:l}=Object,E=Object.prototype.hasOwnProperty;function K(b){return this[b]}var d,o,G5=(b,W,P)=>{var J=b!=null&&typeof b==="object";if(J){var M=W?d??=new WeakMap:o??=new WeakMap,X=M.get(b);if(X)return X}P=b!=null?g(u(b)):{};let Y=W||!b||!b.__esModule?f(P,"default",{value:b,enumerable:!0}):P;for(let v of I(b))if(!E.call(Y,v))f(Y,v,{get:K.bind(b,v),enumerable:!0});if(J)M.set(b,Y);return Y},c=(b)=>{var W=(H??=new WeakMap).get(b),P;if(W)return W;if(W=f({},"__esModule",{value:!0}),b&&typeof b==="object"||typeof b==="function"){for(var J of I(b))if(!E.call(W,J))f(W,J,{get:K.bind(b,J),enumerable:!(P=l(b,J))||P.enumerable})}return H.set(b,W),W},H;var r=(b)=>b;function i(b,W){this[b]=r.bind(null,W)}var t=(b,W)=>{for(var P in W)f(b,P,{get:W[P],enumerable:!0,configurable:!0,set:i.bind(W,P)})};var w=(b,W)=>()=>(b&&(W=b(b=0)),W);async function A(b,W,P,J=[],M){let X=await b.getCoins({coinType:P,cursor:M,owner:W}),Y=[...J,...X.data];return X.hasNextPage?A(b,W,P,Y,X.nextCursor):Y}function n(b,W,P){let J=W.reduce((D,j)=>D+BigInt(j.balance),0n);if(J<P)throw new R.SwapKitError("toolbox_sui_insufficient_balance",{available:J.toString(),required:P.toString()});let{ids:M}=W.reduce((D,j)=>{if(D.total>=P)return D;return{ids:[...D.ids,j.coinObjectId],total:D.total+BigInt(j.balance)}},{ids:[],total:0n}),X=M[0],Y=M.slice(1);if(Y.length>0)b.mergeCoins(X,Y);let[v]=b.splitCoins(X,[P]);return v}function h(b){try{return y.isValidSuiAddress(b)}catch{return!1}}function x(b){return"signWithIntent"in b}function a({provider:b,...W}={}){let P;async function J(){if(P)return P;return P=await k.match(W).with({phrase:k.P.string},async({phrase:G})=>{let{Ed25519Keypair:O}=await import("@mysten/sui/keypairs/ed25519");return O.deriveKeypair(G)}).with({signer:k.P.any},({signer:G})=>G).otherwise(()=>{return}),P}async function M(G=b){let{SuiClient:O}=await import("@mysten/sui/client");return new O({url:G||R.getRPCUrlSync(R.Chain.Sui)})}async function X(){return(await J())?.toSuiAddress()||""}function Y(G){try{let O=R.AssetValue.from({address:G,chain:R.Chain.Sui});return{asset:O.toString(),decimals:O.decimal}}catch{}return null}async function v(G){let O=G||await X();if(!O)throw new R.SwapKitError("toolbox_sui_address_required");let{baseDecimal:L,chain:z}=R.getChainConfig(R.Chain.Sui);try{let Z=await M(),{totalBalance:N}=await Z.getBalance({owner:O}),q=[R.AssetValue.from({chain:z,fromBaseDecimal:L,value:N})],Q=await Z.getAllBalances({owner:O});for(let{coinType:_,totalBalance:$}of Q){if(_==="0x2::sui::SUI"||Number($)<=0)continue;let U=Y(_);if(U)q.push(R.AssetValue.from({asset:U.asset,fromBaseDecimal:U.decimals,value:$}))}return q}catch{return[R.AssetValue.from({chain:z})]}}async function D(G){let O=R.AssetValue.from({chain:R.Chain.Sui,value:"0.01"});if(!G)return O;try{let L=await M(),{txBytes:z}=await j(G),{effects:{status:Z,gasUsed:N}}=await L.dryRunTransactionBlock({transactionBlock:z});if(Z.status!=="success")return O;let q=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return R.AssetValue.from({chain:R.Chain.Sui,value:q.toString()})}catch{return O}}async function j({recipient:G,assetValue:O,gasBudget:L,sender:z}){let{Transaction:Z}=await import("@mysten/sui/transactions"),N=z||await X();if(!N)throw new R.SwapKitError("toolbox_sui_no_sender");try{let q=new Z;if(q.setSender(N),O.isGasAsset||O.symbol==="SUI"){let[$]=q.splitCoins(q.gas,[O.getBaseValue("string")]);q.transferObjects([$],G)}else{let $=O.address;if(!$)throw new R.SwapKitError("toolbox_sui_missing_coin_type");let U=await M(),T=O.getBaseValue("bigint"),F=await A(U,N,$);if(!F.length)throw new R.SwapKitError("toolbox_sui_no_coins_found",{coinType:$});let C=n(q,F,T);q.transferObjects([C],G)}if(L)q.setGasBudget(L);let Q=await M(),_=await q.build({client:Q});return{tx:q,txBytes:_}}catch(q){if(q instanceof R.SwapKitError)throw q;throw new R.SwapKitError("toolbox_sui_transaction_creation_error",{error:q})}}async function V(G){let O=await J();if(!O)throw new R.SwapKitError("toolbox_sui_no_signer");if(G instanceof Uint8Array)return O.signTransaction(G);let{txBytes:L}="tx"in G?G:await j(G);return O.signTransaction(L)}async function B({assetValue:G,gasBudget:O,recipient:L}){let z=await J();if(!z)throw new R.SwapKitError("toolbox_sui_no_signer");let Z=z.toSuiAddress()||await X();if(!Z)throw new R.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await j({assetValue:G,gasBudget:O,recipient:L,sender:Z}),q=await M();if(!x(z)){let _=await z.signTransaction(N),{digest:$}=await q.executeTransactionBlock({signature:_.signature,transactionBlock:_.bytes});return $}let{digest:Q}=await q.signAndExecuteTransaction({signer:z,transaction:N});return Q}async function S(G){let O=await M(),{digest:L}=await O.executeTransactionBlock({signature:G.signature,transactionBlock:G.bytes});return L}async function p(G){let O=await J();if(!O)throw new R.SwapKitError("toolbox_sui_no_signer");let L=await M(),z;if(typeof G==="string")z=Uint8Array.from(Buffer.from(G,"base64"));else if(G instanceof Uint8Array)z=G;else z=await G.build({client:L});if(!x(O)){let N=await O.signTransaction(z),{digest:q}=await L.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return q}let{digest:Z}=await L.signAndExecuteTransaction({signer:O,transaction:z});return Z}return{broadcastTransaction:S,createTransaction:j,estimateTransactionFee:D,getAddress:X,getBalance:v,signAndBroadcastTransaction:p,signTransaction:V,transfer:B,validateAddress:h}}var y,R,k;var m=w(()=>{y=require("@mysten/sui/utils"),R=require("@swapkit/helpers"),k=require("ts-pattern")});var e={};t(e,{validateSuiAddress:()=>h,getSuiToolbox:()=>a});module.exports=c(e);var b5=w(()=>{m()});b5();
@@ -1 +1 @@
1
- var p=Object.defineProperty;var T=(R)=>R;function C(R,P){this[R]=T.bind(null,P)}var g=(R,P)=>{for(var W in P)p(R,W,{get:P[W],enumerable:!0,configurable:!0,set:C.bind(P,W)})};var I=(R,P)=>()=>(R&&(P=R(R=0)),P);var H=((R)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(R,{get:(P,W)=>(typeof require<"u"?require:P)[W]}):R)(function(R){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+R+'" is not supported')});import{isValidSuiAddress as u}from"@mysten/sui/utils";import{AssetValue as _,Chain as f,getChainConfig as l,SwapKitError as X}from"@swapkit/helpers";import{match as d,P as E}from"ts-pattern";async function w(R,P,W,Z=[],L){let M=await R.getCoins({coinType:W,cursor:L,owner:P}),D=[...Z,...M.data];return M.hasNextPage?w(R,P,W,D,M.nextCursor):D}function c(R,P,W){let Z=P.reduce((j,$)=>j+BigInt($.balance),0n);if(Z<W)throw new X("toolbox_sui_insufficient_balance",{available:Z.toString(),required:W.toString()});let{ids:L}=P.reduce((j,$)=>{if(j.total>=W)return j;return{ids:[...j.ids,$.coinObjectId],total:j.total+BigInt($.balance)}},{ids:[],total:0n}),M=L[0],D=L.slice(1);if(D.length>0)R.mergeCoins(M,D);let[k]=R.splitCoins(M,[W]);return k}function x(R){try{return u(R)}catch{return!1}}function K(R){return"signWithIntent"in R}function o({provider:R,...P}={}){let W;async function Z(){if(W)return W;return W=await d(P).with({phrase:E.string},async({phrase:b})=>{let{Ed25519Keypair:G}=await import("@mysten/sui/keypairs/ed25519");return G.deriveKeypair(b)}).with({signer:E.any},({signer:b})=>b).otherwise(()=>{return}),W}async function L(b=R){let{SuiClient:G,getFullnodeUrl:q}=await import("@mysten/sui/client");return new G({url:b||q("mainnet")})}async function M(){return(await Z())?.toSuiAddress()||""}function D(b){try{let G=_.from({address:b,chain:f.Sui});return{asset:G.toString(),decimals:G.decimal}}catch{}return null}async function k(b){let G=b||await M();if(!G)throw new X("toolbox_sui_address_required");let{baseDecimal:q,chain:z}=l(f.Sui);try{let N=await L(),{totalBalance:J}=await N.getBalance({owner:G}),O=[_.from({chain:z,fromBaseDecimal:q,value:J})],Q=await N.getAllBalances({owner:G});for(let{coinType:v,totalBalance:Y}of Q){if(v==="0x2::sui::SUI"||Number(Y)<=0)continue;let U=D(v);if(U)O.push(_.from({asset:U.asset,fromBaseDecimal:U.decimals,value:Y}))}return O}catch{return[_.from({chain:z})]}}async function j(b){let G=_.from({chain:f.Sui,value:"0.01"});if(!b)return G;try{let q=await L(),{txBytes:z}=await $(b),{effects:{status:N,gasUsed:J}}=await q.dryRunTransactionBlock({transactionBlock:z});if(N.status!=="success")return G;let O=Number(J.computationCost)+Number(J.storageCost)-Number(J.storageRebate);return _.from({chain:f.Sui,value:O.toString()})}catch{return G}}async function $({recipient:b,assetValue:G,gasBudget:q,sender:z}){let{Transaction:N}=await import("@mysten/sui/transactions"),J=z||await M();if(!J)throw new X("toolbox_sui_no_sender");try{let O=new N;if(O.setSender(J),G.isGasAsset||G.symbol==="SUI"){let[Y]=O.splitCoins(O.gas,[G.getBaseValue("string")]);O.transferObjects([Y],b)}else{let Y=G.address;if(!Y)throw new X("toolbox_sui_missing_coin_type");let U=await L(),S=G.getBaseValue("bigint"),F=await w(U,J,Y);if(!F.length)throw new X("toolbox_sui_no_coins_found",{coinType:Y});let B=c(O,F,S);O.transferObjects([B],b)}if(q)O.setGasBudget(q);let Q=await L(),v=await O.build({client:Q});return{tx:O,txBytes:v}}catch(O){if(O instanceof X)throw O;throw new X("toolbox_sui_transaction_creation_error",{error:O})}}async function h(b){let G=await Z();if(!G)throw new X("toolbox_sui_no_signer");if(b instanceof Uint8Array)return G.signTransaction(b);let{txBytes:q}="tx"in b?b:await $(b);return G.signTransaction(q)}async function A({assetValue:b,gasBudget:G,recipient:q}){let z=await Z();if(!z)throw new X("toolbox_sui_no_signer");let N=z.toSuiAddress()||await M();if(!N)throw new X("toolbox_sui_no_sender");let{txBytes:J}=await $({assetValue:b,gasBudget:G,recipient:q,sender:N}),O=await L();if(!K(z)){let v=await z.signTransaction(J),{digest:Y}=await O.executeTransactionBlock({signature:v.signature,transactionBlock:v.bytes});return Y}let{digest:Q}=await O.signAndExecuteTransaction({signer:z,transaction:J});return Q}async function m(b){let G=await L(),{digest:q}=await G.executeTransactionBlock({signature:b.signature,transactionBlock:b.bytes});return q}async function V(b){let G=await Z();if(!G)throw new X("toolbox_sui_no_signer");let q=await L(),z;if(typeof b==="string")z=Uint8Array.from(Buffer.from(b,"base64"));else if(b instanceof Uint8Array)z=b;else z=await b.build({client:q});if(!K(G)){let J=await G.signTransaction(z),{digest:O}=await q.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return O}let{digest:N}=await q.signAndExecuteTransaction({signer:G,transaction:z});return N}return{broadcastTransaction:m,createTransaction:$,estimateTransactionFee:j,getAddress:M,getBalance:k,signAndBroadcastTransaction:V,signTransaction:h,transfer:A,validateAddress:x}}var y=()=>{};var i={};g(i,{validateSuiAddress:()=>x,getSuiToolbox:()=>o});var t=I(()=>{y()});t();export{x as validateSuiAddress,o as getSuiToolbox};
1
+ var p=Object.defineProperty;var T=(O)=>O;function C(O,W){this[O]=T.bind(null,W)}var g=(O,W)=>{for(var P in W)p(O,P,{get:W[P],enumerable:!0,configurable:!0,set:C.bind(W,P)})};var I=(O,W)=>()=>(O&&(W=O(O=0)),W);var F=((O)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(O,{get:(W,P)=>(typeof require<"u"?require:W)[P]}):O)(function(O){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+O+'" is not supported')});import{isValidSuiAddress as u}from"@mysten/sui/utils";import{AssetValue as _,Chain as f,getChainConfig as l,getRPCUrlSync as d,SwapKitError as X}from"@swapkit/helpers";import{match as o,P as E}from"ts-pattern";async function w(O,W,P,Z=[],L){let M=await O.getCoins({coinType:P,cursor:L,owner:W}),D=[...Z,...M.data];return M.hasNextPage?w(O,W,P,D,M.nextCursor):D}function c(O,W,P){let Z=W.reduce((j,$)=>j+BigInt($.balance),0n);if(Z<P)throw new X("toolbox_sui_insufficient_balance",{available:Z.toString(),required:P.toString()});let{ids:L}=W.reduce((j,$)=>{if(j.total>=P)return j;return{ids:[...j.ids,$.coinObjectId],total:j.total+BigInt($.balance)}},{ids:[],total:0n}),M=L[0],D=L.slice(1);if(D.length>0)O.mergeCoins(M,D);let[k]=O.splitCoins(M,[P]);return k}function x(O){try{return u(O)}catch{return!1}}function K(O){return"signWithIntent"in O}function r({provider:O,...W}={}){let P;async function Z(){if(P)return P;return P=await o(W).with({phrase:E.string},async({phrase:b})=>{let{Ed25519Keypair:G}=await import("@mysten/sui/keypairs/ed25519");return G.deriveKeypair(b)}).with({signer:E.any},({signer:b})=>b).otherwise(()=>{return}),P}async function L(b=O){let{SuiClient:G}=await import("@mysten/sui/client");return new G({url:b||d(f.Sui)})}async function M(){return(await Z())?.toSuiAddress()||""}function D(b){try{let G=_.from({address:b,chain:f.Sui});return{asset:G.toString(),decimals:G.decimal}}catch{}return null}async function k(b){let G=b||await M();if(!G)throw new X("toolbox_sui_address_required");let{baseDecimal:z,chain:q}=l(f.Sui);try{let N=await L(),{totalBalance:J}=await N.getBalance({owner:G}),R=[_.from({chain:q,fromBaseDecimal:z,value:J})],Q=await N.getAllBalances({owner:G});for(let{coinType:v,totalBalance:Y}of Q){if(v==="0x2::sui::SUI"||Number(Y)<=0)continue;let U=D(v);if(U)R.push(_.from({asset:U.asset,fromBaseDecimal:U.decimals,value:Y}))}return R}catch{return[_.from({chain:q})]}}async function j(b){let G=_.from({chain:f.Sui,value:"0.01"});if(!b)return G;try{let z=await L(),{txBytes:q}=await $(b),{effects:{status:N,gasUsed:J}}=await z.dryRunTransactionBlock({transactionBlock:q});if(N.status!=="success")return G;let R=Number(J.computationCost)+Number(J.storageCost)-Number(J.storageRebate);return _.from({chain:f.Sui,value:R.toString()})}catch{return G}}async function $({recipient:b,assetValue:G,gasBudget:z,sender:q}){let{Transaction:N}=await import("@mysten/sui/transactions"),J=q||await M();if(!J)throw new X("toolbox_sui_no_sender");try{let R=new N;if(R.setSender(J),G.isGasAsset||G.symbol==="SUI"){let[Y]=R.splitCoins(R.gas,[G.getBaseValue("string")]);R.transferObjects([Y],b)}else{let Y=G.address;if(!Y)throw new X("toolbox_sui_missing_coin_type");let U=await L(),B=G.getBaseValue("bigint"),H=await w(U,J,Y);if(!H.length)throw new X("toolbox_sui_no_coins_found",{coinType:Y});let S=c(R,H,B);R.transferObjects([S],b)}if(z)R.setGasBudget(z);let Q=await L(),v=await R.build({client:Q});return{tx:R,txBytes:v}}catch(R){if(R instanceof X)throw R;throw new X("toolbox_sui_transaction_creation_error",{error:R})}}async function A(b){let G=await Z();if(!G)throw new X("toolbox_sui_no_signer");if(b instanceof Uint8Array)return G.signTransaction(b);let{txBytes:z}="tx"in b?b:await $(b);return G.signTransaction(z)}async function h({assetValue:b,gasBudget:G,recipient:z}){let q=await Z();if(!q)throw new X("toolbox_sui_no_signer");let N=q.toSuiAddress()||await M();if(!N)throw new X("toolbox_sui_no_sender");let{txBytes:J}=await $({assetValue:b,gasBudget:G,recipient:z,sender:N}),R=await L();if(!K(q)){let v=await q.signTransaction(J),{digest:Y}=await R.executeTransactionBlock({signature:v.signature,transactionBlock:v.bytes});return Y}let{digest:Q}=await R.signAndExecuteTransaction({signer:q,transaction:J});return Q}async function m(b){let G=await L(),{digest:z}=await G.executeTransactionBlock({signature:b.signature,transactionBlock:b.bytes});return z}async function V(b){let G=await Z();if(!G)throw new X("toolbox_sui_no_signer");let z=await L(),q;if(typeof b==="string")q=Uint8Array.from(Buffer.from(b,"base64"));else if(b instanceof Uint8Array)q=b;else q=await b.build({client:z});if(!K(G)){let J=await G.signTransaction(q),{digest:R}=await z.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return R}let{digest:N}=await z.signAndExecuteTransaction({signer:G,transaction:q});return N}return{broadcastTransaction:m,createTransaction:$,estimateTransactionFee:j,getAddress:M,getBalance:k,signAndBroadcastTransaction:V,signTransaction:A,transfer:h,validateAddress:x}}var y=()=>{};var t={};g(t,{validateSuiAddress:()=>x,getSuiToolbox:()=>r});var n=I(()=>{y()});n();export{x as validateSuiAddress,r as getSuiToolbox};
@@ -1 +1 @@
1
- var tt=Object.create;var{getPrototypeOf:et,defineProperty:h,getOwnPropertyNames:I,getOwnPropertyDescriptor:nt}=Object,U=Object.prototype.hasOwnProperty;function j(t){return this[t]}var rt,st,At=(t,s,i)=>{var f=t!=null&&typeof t==="object";if(f){var g=s?rt??=new WeakMap:st??=new WeakMap,w=g.get(t);if(w)return w}i=t!=null?tt(et(t)):{};let u=s||!t||!t.__esModule?h(i,"default",{value:t,enumerable:!0}):i;for(let p of I(t))if(!U.call(u,p))h(u,p,{get:j.bind(t,p),enumerable:!0});if(f)g.set(t,u);return u},ot=(t)=>{var s=(G??=new WeakMap).get(t),i;if(s)return s;if(s=h({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var f of I(t))if(!U.call(s,f))h(s,f,{get:j.bind(t,f),enumerable:!(i=nt(t,f))||i.enumerable})}return G.set(t,s),s},G;var at=(t)=>t;function it(t,s){this[t]=at.bind(null,s)}var ct=(t,s)=>{for(var i in s)h(t,i,{get:s[i],enumerable:!0,configurable:!0,set:it.bind(s,i)})};var P=(t,s)=>()=>(t&&(s=t(t=0)),s);function Ct(){function t(){let s=Date.now(),i=E||s;return E=i,s>E?s:i+1}return dt+t().toString(36)}function J(t){return async function(i,f=!0){let g=await q.SwapKitApi.getChainBalance({address:i,chain:t,scamFilter:f}),{baseDecimal:w}=b.getChainConfig(t),u=g.map(({identifier:C,value:N,decimal:S})=>{return new b.AssetValue({decimal:S||w,identifier:C,value:N})});if(!u.some((C)=>C.isGasAsset))return[b.AssetValue.from({chain:t}),...u];return u}}var b,q,dt,E=0;var L=P(()=>{b=require("@swapkit/helpers"),q=require("@swapkit/helpers/api"),dt=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function pt(){let t=Date.now();if(O&&t-k<gt)return O;try{return O=await Y.getHttpEndpoint(),k=t,O}catch{return a.getRPCUrl(a.Chain.Ton)}}function Tt(t={}){let s,i,f;async function g(){if(!s){let e=t.provider??await pt();s=new n.TonClient({endpoint:e})}return s}async function w(){return(await p()).address.toString()}async function u(){if(f)return f;return f=await m.match(t).with({phrase:m.P.string},async({phrase:e})=>H.mnemonicToWalletKey(e.split(" "))).with({signer:m.P.any},({signer:e})=>e).otherwise(()=>{return}),f}async function p(e){if(!i||e){let r=await u(),o=await g(),c=e||r;if(!c)throw new a.SwapKitError("core_wallet_connection_not_found");let d=n.WalletContractV4.create({publicKey:c.publicKey,workchain:0});i=o.open(d)}return i}let C=J(a.Chain.Ton);async function N({assetValue:e,recipient:r,memo:o,sender:c}){if(e.isGasAsset){let M=o?v(o).toBoc().toString("base64"):void 0;return[{address:r,amount:e.getBaseValue("string"),payload:M}]}let d=e.address;if(!d)throw new a.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:e.toString()}});let l=c??await w(),T=await W({jettonMasterAddress:d,ownerAddress:l}),A=n.Address.parse(r),y=n.Address.parse(l),B=e.getBaseValue("bigint"),x=o?v(o):void 0,_=$({destinationAddress:A,forwardPayload:x,jettonAmount:B,responseAddress:y});return[{address:T.toString(),amount:ut.toString(),payload:_.toBoc().toString("base64")}]}function S({sender:e,...r}){return N({...r,sender:e})}function D(e){return e.map((r)=>{let o=r.payload?n.Cell.fromBase64(r.payload):void 0,c=r.stateInit?n.loadStateInit(n.Cell.fromBase64(r.stateInit).asSlice()):void 0,d=n.Address.parse(r.address),l=n.Address.isFriendly(r.address)?n.Address.parseFriendly(r.address).isBounceable:!0;return n.internal({body:o,bounce:l,init:c,to:d,value:BigInt(r.amount)})})}async function K(e){let r=await u(),o=await p();if(!o||!r)throw new a.SwapKitError("core_wallet_connection_not_found");let c=await g(),{state:d}=await c.getContractState(o.address),l=d==="active",T=l?await o.getSeqno():0,A=o.createTransfer({messages:D(e),secretKey:r.secretKey,sendMode:V,seqno:T}),y=n.external({body:A,init:l?void 0:o.init,to:o.address});return n.beginCell().store(n.storeMessage(y)).endCell()}async function F(e){return await(await g()).sendFile(e.toBoc()),e.hash().toString("hex")}async function R(e){let r=await K(e);return F(r)}async function X({assetValue:e,recipient:r,memo:o}){let c=await S({assetValue:e,memo:o,recipient:r});return R(c)}async function Z({sender:e,...r}){let{baseDecimal:o}=a.getChainConfig(a.Chain.Ton),c=await m.match(e).with(m.P.string,(T)=>{return n.Address.parseFriendly(T).address}).otherwise(async()=>{return(await p()).address});if(!c)throw new a.SwapKitError("toolbox_fee_estimation_failed",{chain:a.Chain.Ton});let d=a.AssetValue.from({chain:a.Chain.Ton,value:"0.01"}),l=await g();try{let T=await S({sender:e,...r}),A=await u(),y=await p();if(!y||!A)return d;let B=await y.getSeqno(),x=y.createTransfer({messages:D(T),secretKey:A.secretKey,sendMode:V,seqno:B}),{source_fees:_}=await l.estimateExternalMessageFee(c,{body:x,ignoreSignature:!0,initCode:null,initData:null}),M=_.in_fwd_fee+_.storage_fee+_.gas_fee+_.fwd_fee;return d.set(a.SwapKitNumber.fromBigInt(BigInt(M),o))}catch{return d}}async function W({jettonMasterAddress:e,ownerAddress:r}){try{let o=await g(),c=n.Address.parse(e),d=n.Address.parse(r);return await o.open(n.JettonMaster.create(c)).getWalletAddress(d)}catch{throw new a.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:e,ownerAddress:r}})}}function $({jettonAmount:e,destinationAddress:r,responseAddress:o,forwardAmount:c=ft,forwardPayload:d}){let l=n.beginCell().storeUint(lt,32).storeUint(0,64).storeCoins(e).storeAddress(r).storeAddress(o).storeBit(0).storeCoins(c);if(d)l.storeBit(1).storeRef(d);else l.storeBit(0);return l.endCell()}function v(e){return n.beginCell().storeUint(0,32).storeStringTail(e).endCell()}return{broadcastTransaction:F,createTransaction:S,estimateTransactionFee:Z,getAddress:w,getBalance:C,getJettonWalletAddress:W,sign:K,signAndBroadcastTransaction:R,transfer:X,validateAddress:z}}function z(t){try{return n.Address.parse(t),!0}catch{return!1}}var Y,a,H,n,m,lt=260734629,ft,ut,V,gt=60000,O,k=0;var Q=P(()=>{L();Y=require("@orbs-network/ton-access"),a=require("@swapkit/helpers"),H=require("@ton/crypto"),n=require("@ton/ton"),m=require("ts-pattern"),ft=n.toNano("0.01"),ut=n.toNano("0.05"),V=n.SendMode.PAY_GAS_SEPARATELY+n.SendMode.IGNORE_ERRORS});var yt={};ct(yt,{validateTonAddress:()=>z,getTONToolbox:()=>Tt});module.exports=ot(yt);var mt=P(()=>{Q()});mt();
1
+ var xx=Object.create;var{getPrototypeOf:vx,defineProperty:D,getOwnPropertyNames:C,getOwnPropertyDescriptor:zx}=Object,c=Object.prototype.hasOwnProperty;function A(x){return this[x]}var Gx,Qx,Jx=(x,Q,Z)=>{var H=x!=null&&typeof x==="object";if(H){var B=Q?Gx??=new WeakMap:Qx??=new WeakMap,y=B.get(x);if(y)return y}Z=x!=null?xx(vx(x)):{};let N=Q||!x||!x.__esModule?D(Z,"default",{value:x,enumerable:!0}):Z;for(let I of C(x))if(!c.call(N,I))D(N,I,{get:A.bind(x,I),enumerable:!0});if(H)B.set(x,N);return N},Xx=(x)=>{var Q=(w??=new WeakMap).get(x),Z;if(Q)return Q;if(Q=D({},"__esModule",{value:!0}),x&&typeof x==="object"||typeof x==="function"){for(var H of C(x))if(!c.call(Q,H))D(Q,H,{get:A.bind(x,H),enumerable:!(Z=zx(x,H))||Z.enumerable})}return w.set(x,Q),Q},w;var Yx=(x)=>x;function Zx(x,Q){this[x]=Yx.bind(null,Q)}var $x=(x,Q)=>{for(var Z in Q)D(x,Z,{get:Q[Z],enumerable:!0,configurable:!0,set:Zx.bind(Q,Z)})};var V=(x,Q)=>()=>(x&&(Q=x(x=0)),Q);function Ux(){function x(){let Q=Date.now(),Z=T||Q;return T=Z,Q>T?Q:Z+1}return kx+x().toString(36)}function i(x){return async function(Z,H=!0){let B=await m.SwapKitApi.getChainBalance({address:Z,chain:x,scamFilter:H}),{baseDecimal:y}=u.getChainConfig(x),N=B.map(({identifier:p,value:h,decimal:U})=>{return new u.AssetValue({decimal:U||y,identifier:p,value:h})});if(!N.some((p)=>p.isGasAsset))return[u.AssetValue.from({chain:x}),...N];return N}}var u,m,kx,T=0;var g=V(()=>{u=require("@swapkit/helpers"),m=require("@swapkit/helpers/api"),kx=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function Ix(){let x=Date.now();if(F&&x-o<Bx)return F;return F=await d.getHttpEndpoint(),o=x,F}async function Ox(){let[x]=Y.SKConfig.get("rpcUrls")[Y.Chain.Ton]??[];if(x)return x;return await Ix()}function yx(x={}){let Q,Z,H;async function B(){if(!Q){let v=x.provider??await Ox();Q=new z.TonClient({endpoint:v})}return Q}async function y(){return(await I()).address.toString()}async function N(){if(H)return H;return H=await K.match(x).with({phrase:K.P.string},async({phrase:v})=>r.mnemonicToWalletKey(v.split(" "))).with({signer:K.P.any},({signer:v})=>v).otherwise(()=>{return}),H}async function I(v){if(!Z||v){let G=await N(),X=await B(),$=v||G;if(!$)throw new Y.SwapKitError("core_wallet_connection_not_found");let k=z.WalletContractV4.create({publicKey:$.publicKey,workchain:0});Z=X.open(k)}return Z}let p=i(Y.Chain.Ton);async function h({assetValue:v,recipient:G,memo:X,sender:$}){if(v.isGasAsset){let f=X?S(X).toBoc().toString("base64"):void 0;return[{address:G,amount:v.getBaseValue("string"),payload:f}]}let k=v.address;if(!k)throw new Y.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:v.toString()}});let q=$??await y(),O=await E({jettonMasterAddress:k,ownerAddress:q}),L=z.Address.parse(G),R=z.Address.parse(q),j=v.getBaseValue("bigint"),P=X?S(X):void 0,J=e({destinationAddress:L,forwardPayload:P,jettonAmount:j,responseAddress:R});return[{address:O.toString(),amount:Nx.toString(),payload:J.toBoc().toString("base64")}]}function U({sender:v,...G}){return h({...G,sender:v})}function M(v){return v.map((G)=>{let X=G.payload?z.Cell.fromBase64(G.payload):void 0,$=G.stateInit?z.loadStateInit(z.Cell.fromBase64(G.stateInit).asSlice()):void 0,k=z.Address.parse(G.address),q=z.Address.isFriendly(G.address)?z.Address.parseFriendly(G.address).isBounceable:!0;return z.internal({body:X,bounce:q,init:$,to:k,value:BigInt(G.amount)})})}async function _(v){let G=await N(),X=await I();if(!X||!G)throw new Y.SwapKitError("core_wallet_connection_not_found");let $=await B(),{state:k}=await $.getContractState(X.address),q=k==="active",O=q?await X.getSeqno():0,L=X.createTransfer({messages:M(v),secretKey:G.secretKey,sendMode:l,seqno:O}),R=z.external({body:L,init:q?void 0:X.init,to:X.address});return z.beginCell().store(z.storeMessage(R)).endCell()}async function b(v){return await(await B()).sendFile(v.toBoc()),v.hash().toString("hex")}async function W(v){let G=await _(v);return b(G)}async function a({assetValue:v,recipient:G,memo:X}){let $=await U({assetValue:v,memo:X,recipient:G});return W($)}async function s({sender:v,...G}){let{baseDecimal:X}=Y.getChainConfig(Y.Chain.Ton),$=await K.match(v).with(K.P.string,(O)=>{return z.Address.parseFriendly(O).address}).otherwise(async()=>{return(await I()).address});if(!$)throw new Y.SwapKitError("toolbox_fee_estimation_failed",{chain:Y.Chain.Ton});let k=Y.AssetValue.from({chain:Y.Chain.Ton,value:"0.01"}),q=await B();try{let O=await U({sender:v,...G}),L=await N(),R=await I();if(!R||!L)return k;let j=await R.getSeqno(),P=R.createTransfer({messages:M(O),secretKey:L.secretKey,sendMode:l,seqno:j}),{source_fees:J}=await q.estimateExternalMessageFee($,{body:P,ignoreSignature:!0,initCode:null,initData:null}),f=J.in_fwd_fee+J.storage_fee+J.gas_fee+J.fwd_fee;return k.set(Y.SwapKitNumber.fromBigInt(BigInt(f),X))}catch{return k}}async function E({jettonMasterAddress:v,ownerAddress:G}){try{let X=await B(),$=z.Address.parse(v),k=z.Address.parse(G);return await X.open(z.JettonMaster.create($)).getWalletAddress(k)}catch{throw new Y.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:v,ownerAddress:G}})}}function e({jettonAmount:v,destinationAddress:G,responseAddress:X,forwardAmount:$=Hx,forwardPayload:k}){let q=z.beginCell().storeUint(qx,32).storeUint(0,64).storeCoins(v).storeAddress(G).storeAddress(X).storeBit(0).storeCoins($);if(k)q.storeBit(1).storeRef(k);else q.storeBit(0);return q.endCell()}function S(v){return z.beginCell().storeUint(0,32).storeStringTail(v).endCell()}return{broadcastTransaction:b,createTransaction:U,estimateTransactionFee:s,getAddress:y,getBalance:p,getJettonWalletAddress:E,sign:_,signAndBroadcastTransaction:W,transfer:a,validateAddress:n}}function n(x){try{return z.Address.parse(x),!0}catch{return!1}}var d,Y,r,z,K,qx=260734629,Hx,Nx,l,Bx=60000,F,o=0;var t=V(()=>{g();d=require("@orbs-network/ton-access"),Y=require("@swapkit/helpers"),r=require("@ton/crypto"),z=require("@ton/ton"),K=require("ts-pattern"),Hx=z.toNano("0.01"),Nx=z.toNano("0.05"),l=z.SendMode.PAY_GAS_SEPARATELY+z.SendMode.IGNORE_ERRORS});var Kx={};$x(Kx,{validateTonAddress:()=>n,getTONToolbox:()=>yx});module.exports=Xx(Kx);var Lx=V(()=>{t()});Lx();
@@ -1 +1 @@
1
- var Z=Object.defineProperty;var $=(n)=>n;function tt(n,s){this[n]=$.bind(null,s)}var et=(n,s)=>{for(var c in s)Z(n,c,{get:s[c],enumerable:!0,configurable:!0,set:tt.bind(s,c)})};var x=(n,s)=>()=>(n&&(s=n(n=0)),s);var Bt=((n)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(s,c)=>(typeof require<"u"?require:s)[c]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{AssetValue as G,getChainConfig as nt}from"@swapkit/helpers";import{SwapKitApi as rt}from"@swapkit/helpers/api";function Et(){function n(){let s=Date.now(),c=M||s;return M=c,s>M?s:c+1}return st+n().toString(36)}function I(n){return async function(c,p=!0){let f=await rt.getChainBalance({address:c,chain:n,scamFilter:p}),{baseDecimal:S}=nt(n),u=f.map(({identifier:m,value:b,decimal:A})=>{return new G({decimal:A||S,identifier:m,value:b})});if(!u.some((m)=>m.isGasAsset))return[G.from({chain:n}),...u];return u}}var st,M=0;var U=x(()=>{st=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{getHttpEndpoint as ot}from"@orbs-network/ton-access";import{AssetValue as at,Chain as C,getChainConfig as it,getRPCUrl as ct,SwapKitError as _,SwapKitNumber as dt}from"@swapkit/helpers";import{mnemonicToWalletKey as lt}from"@ton/crypto";import{Address as d,beginCell as P,Cell as j,external as ft,internal as ut,JettonMaster as gt,loadStateInit as pt,SendMode as q,storeMessage as Tt,TonClient as wt,toNano as k,WalletContractV4 as yt}from"@ton/ton";import{match as J,P as E}from"ts-pattern";async function St(){let n=Date.now();if(h&&n-V<Ct)return h;try{return h=await ot(),V=n,h}catch{return ct(C.Ton)}}function ht(n={}){let s,c,p;async function f(){if(!s){let t=n.provider??await St();s=new wt({endpoint:t})}return s}async function S(){return(await y()).address.toString()}async function u(){if(p)return p;return p=await J(n).with({phrase:E.string},async({phrase:t})=>lt(t.split(" "))).with({signer:E.any},({signer:t})=>t).otherwise(()=>{return}),p}async function y(t){if(!c||t){let e=await u(),r=await f(),o=t||e;if(!o)throw new _("core_wallet_connection_not_found");let a=yt.create({publicKey:o.publicKey,workchain:0});c=r.open(a)}return c}let m=I(C.Ton);async function b({assetValue:t,recipient:e,memo:r,sender:o}){if(t.isGasAsset){let B=r?v(r).toBoc().toString("base64"):void 0;return[{address:e,amount:t.getBaseValue("string"),payload:B}]}let a=t.address;if(!a)throw new _({errorKey:"core_swap_contract_not_found",info:{asset:t.toString()}});let i=o??await S(),l=await W({jettonMasterAddress:a,ownerAddress:i}),T=d.parse(e),g=d.parse(i),O=t.getBaseValue("bigint"),N=r?v(r):void 0,w=X({destinationAddress:T,forwardPayload:N,jettonAmount:O,responseAddress:g});return[{address:l.toString(),amount:_t.toString(),payload:w.toBoc().toString("base64")}]}function A({sender:t,...e}){return b({...e,sender:t})}function D(t){return t.map((e)=>{let r=e.payload?j.fromBase64(e.payload):void 0,o=e.stateInit?pt(j.fromBase64(e.stateInit).asSlice()):void 0,a=d.parse(e.address),i=d.isFriendly(e.address)?d.parseFriendly(e.address).isBounceable:!0;return ut({body:r,bounce:i,init:o,to:a,value:BigInt(e.amount)})})}async function K(t){let e=await u(),r=await y();if(!r||!e)throw new _("core_wallet_connection_not_found");let o=await f(),{state:a}=await o.getContractState(r.address),i=a==="active",l=i?await r.getSeqno():0,T=r.createTransfer({messages:D(t),secretKey:e.secretKey,sendMode:L,seqno:l}),g=ft({body:T,init:i?void 0:r.init,to:r.address});return P().store(Tt(g)).endCell()}async function F(t){return await(await f()).sendFile(t.toBoc()),t.hash().toString("hex")}async function R(t){let e=await K(t);return F(e)}async function z({assetValue:t,recipient:e,memo:r}){let o=await A({assetValue:t,memo:r,recipient:e});return R(o)}async function Q({sender:t,...e}){let{baseDecimal:r}=it(C.Ton),o=await J(t).with(E.string,(l)=>{return d.parseFriendly(l).address}).otherwise(async()=>{return(await y()).address});if(!o)throw new _("toolbox_fee_estimation_failed",{chain:C.Ton});let a=at.from({chain:C.Ton,value:"0.01"}),i=await f();try{let l=await A({sender:t,...e}),T=await u(),g=await y();if(!g||!T)return a;let O=await g.getSeqno(),N=g.createTransfer({messages:D(l),secretKey:T.secretKey,sendMode:L,seqno:O}),{source_fees:w}=await i.estimateExternalMessageFee(o,{body:N,ignoreSignature:!0,initCode:null,initData:null}),B=w.in_fwd_fee+w.storage_fee+w.gas_fee+w.fwd_fee;return a.set(dt.fromBigInt(BigInt(B),r))}catch{return a}}async function W({jettonMasterAddress:t,ownerAddress:e}){try{let r=await f(),o=d.parse(t),a=d.parse(e);return await r.open(gt.create(o)).getWalletAddress(a)}catch{throw new _({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:t,ownerAddress:e}})}}function X({jettonAmount:t,destinationAddress:e,responseAddress:r,forwardAmount:o=At,forwardPayload:a}){let i=P().storeUint(mt,32).storeUint(0,64).storeCoins(t).storeAddress(e).storeAddress(r).storeBit(0).storeCoins(o);if(a)i.storeBit(1).storeRef(a);else i.storeBit(0);return i.endCell()}function v(t){return P().storeUint(0,32).storeStringTail(t).endCell()}return{broadcastTransaction:F,createTransaction:A,estimateTransactionFee:Q,getAddress:S,getBalance:m,getJettonWalletAddress:W,sign:K,signAndBroadcastTransaction:R,transfer:z,validateAddress:Y}}function Y(n){try{return d.parse(n),!0}catch{return!1}}var mt=260734629,At,_t,L,Ct=60000,h,V=0;var H=x(()=>{U();At=k("0.01"),_t=k("0.05"),L=q.PAY_GAS_SEPARATELY+q.IGNORE_ERRORS});var Ot={};et(Ot,{validateTonAddress:()=>Y,getTONToolbox:()=>ht});var Nt=x(()=>{H()});Nt();export{Y as validateTonAddress,ht as getTONToolbox};
1
+ var s=Object.defineProperty;var e=(v)=>v;function xx(v,Q){this[v]=e.bind(null,Q)}var vx=(v,Q)=>{for(var $ in Q)s(v,$,{get:Q[$],enumerable:!0,configurable:!0,set:xx.bind(Q,$)})};var P=(v,Q)=>()=>(v&&(Q=v(v=0)),Q);var Px=((v)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(v,{get:(Q,$)=>(typeof require<"u"?require:Q)[$]}):v)(function(v){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+v+'" is not supported')});import{AssetValue as w,getChainConfig as zx}from"@swapkit/helpers";import{SwapKitApi as Gx}from"@swapkit/helpers/api";function Mx(){function v(){let Q=Date.now(),$=f||Q;return f=$,Q>f?Q:$+1}return Qx+v().toString(36)}function C(v){return async function($,I=!0){let H=await Gx.getChainBalance({address:$,chain:v,scamFilter:I}),{baseDecimal:U}=zx(v),N=H.map(({identifier:K,value:u,decimal:L})=>{return new w({decimal:L||U,identifier:K,value:u})});if(!N.some((K)=>K.isGasAsset))return[w.from({chain:v}),...N];return N}}var Qx,f=0;var c=P(()=>{Qx=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{getHttpEndpoint as Xx}from"@orbs-network/ton-access";import{AssetValue as Yx,Chain as p,getChainConfig as Zx,SKConfig as $x,SwapKitError as J,SwapKitNumber as kx}from"@swapkit/helpers";import{mnemonicToWalletKey as qx}from"@ton/crypto";import{Address as k,beginCell as V,Cell as A,external as Hx,internal as Nx,JettonMaster as Bx,loadStateInit as Ix,SendMode as m,storeMessage as Ox,TonClient as yx,toNano as o,WalletContractV4 as Rx}from"@ton/ton";import{match as i,P as T}from"ts-pattern";async function Ux(){let v=Date.now();if(D&&v-l<px)return D;return D=await Xx(),l=v,D}async function Dx(){let[v]=$x.get("rpcUrls")[p.Ton]??[];if(v)return v;return await Ux()}function ux(v={}){let Q,$,I;async function H(){if(!Q){let x=v.provider??await Dx();Q=new yx({endpoint:x})}return Q}async function U(){return(await R()).address.toString()}async function N(){if(I)return I;return I=await i(v).with({phrase:T.string},async({phrase:x})=>qx(x.split(" "))).with({signer:T.any},({signer:x})=>x).otherwise(()=>{return}),I}async function R(x){if(!$||x){let z=await N(),G=await H(),X=x||z;if(!X)throw new J("core_wallet_connection_not_found");let Y=Rx.create({publicKey:X.publicKey,workchain:0});$=G.open(Y)}return $}let K=C(p.Ton);async function u({assetValue:x,recipient:z,memo:G,sender:X}){if(x.isGasAsset){let j=G?S(G).toBoc().toString("base64"):void 0;return[{address:z,amount:x.getBaseValue("string"),payload:j}]}let Y=x.address;if(!Y)throw new J({errorKey:"core_swap_contract_not_found",info:{asset:x.toString()}});let Z=X??await U(),q=await E({jettonMasterAddress:Y,ownerAddress:Z}),O=k.parse(z),B=k.parse(Z),F=x.getBaseValue("bigint"),h=G?S(G):void 0,y=a({destinationAddress:O,forwardPayload:h,jettonAmount:F,responseAddress:B});return[{address:q.toString(),amount:Jx.toString(),payload:y.toBoc().toString("base64")}]}function L({sender:x,...z}){return u({...z,sender:x})}function M(x){return x.map((z)=>{let G=z.payload?A.fromBase64(z.payload):void 0,X=z.stateInit?Ix(A.fromBase64(z.stateInit).asSlice()):void 0,Y=k.parse(z.address),Z=k.isFriendly(z.address)?k.parseFriendly(z.address).isBounceable:!0;return Nx({body:G,bounce:Z,init:X,to:Y,value:BigInt(z.amount)})})}async function _(x){let z=await N(),G=await R();if(!G||!z)throw new J("core_wallet_connection_not_found");let X=await H(),{state:Y}=await X.getContractState(G.address),Z=Y==="active",q=Z?await G.getSeqno():0,O=G.createTransfer({messages:M(x),secretKey:z.secretKey,sendMode:g,seqno:q}),B=Hx({body:O,init:Z?void 0:G.init,to:G.address});return V().store(Ox(B)).endCell()}async function b(x){return await(await H()).sendFile(x.toBoc()),x.hash().toString("hex")}async function W(x){let z=await _(x);return b(z)}async function n({assetValue:x,recipient:z,memo:G}){let X=await L({assetValue:x,memo:G,recipient:z});return W(X)}async function t({sender:x,...z}){let{baseDecimal:G}=Zx(p.Ton),X=await i(x).with(T.string,(q)=>{return k.parseFriendly(q).address}).otherwise(async()=>{return(await R()).address});if(!X)throw new J("toolbox_fee_estimation_failed",{chain:p.Ton});let Y=Yx.from({chain:p.Ton,value:"0.01"}),Z=await H();try{let q=await L({sender:x,...z}),O=await N(),B=await R();if(!B||!O)return Y;let F=await B.getSeqno(),h=B.createTransfer({messages:M(q),secretKey:O.secretKey,sendMode:g,seqno:F}),{source_fees:y}=await Z.estimateExternalMessageFee(X,{body:h,ignoreSignature:!0,initCode:null,initData:null}),j=y.in_fwd_fee+y.storage_fee+y.gas_fee+y.fwd_fee;return Y.set(kx.fromBigInt(BigInt(j),G))}catch{return Y}}async function E({jettonMasterAddress:x,ownerAddress:z}){try{let G=await H(),X=k.parse(x),Y=k.parse(z);return await G.open(Bx.create(X)).getWalletAddress(Y)}catch{throw new J({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:x,ownerAddress:z}})}}function a({jettonAmount:x,destinationAddress:z,responseAddress:G,forwardAmount:X=Lx,forwardPayload:Y}){let Z=V().storeUint(Kx,32).storeUint(0,64).storeCoins(x).storeAddress(z).storeAddress(G).storeBit(0).storeCoins(X);if(Y)Z.storeBit(1).storeRef(Y);else Z.storeBit(0);return Z.endCell()}function S(x){return V().storeUint(0,32).storeStringTail(x).endCell()}return{broadcastTransaction:b,createTransaction:L,estimateTransactionFee:t,getAddress:U,getBalance:K,getJettonWalletAddress:E,sign:_,signAndBroadcastTransaction:W,transfer:n,validateAddress:d}}function d(v){try{return k.parse(v),!0}catch{return!1}}var Kx=260734629,Lx,Jx,g,px=60000,D,l=0;var r=P(()=>{c();Lx=o("0.01"),Jx=o("0.05"),g=m.PAY_GAS_SEPARATELY+m.IGNORE_ERRORS});var hx={};vx(hx,{validateTonAddress:()=>d,getTONToolbox:()=>ux});var jx=P(()=>{r()});jx();export{d as validateTonAddress,ux as getTONToolbox};
package/package.json CHANGED
@@ -196,5 +196,5 @@
196
196
  "type-check:go": "tsgo"
197
197
  },
198
198
  "type": "module",
199
- "version": "4.17.2"
199
+ "version": "4.17.4"
200
200
  }