@swapkit/toolboxes 1.0.0-beta.20 → 1.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- var D1={};V1(D1,{validateNearAddress:()=>T,tgasToGas:()=>t,isSimpleTransfer:()=>I,isCustomEstimator:()=>l,isContractDeployment:()=>S,isContractCall:()=>h,isBatchTransaction:()=>A,isAccountCreation:()=>g,getNearToolbox:()=>U1,getNearSignerFromPrivateKey:()=>K,getNearSignerFromPhrase:()=>b,getFullAccessPublicKey:()=>y,getContractMethodGas:()=>m,gasToTGas:()=>e,estimateBatchGas:()=>u,createNearContract:()=>w,createNEP141Token:()=>F,GAS_COSTS:()=>U});module.exports=H1(D1);var q=require("@swapkit/helpers");var E=require("@swapkit/helpers"),n=require("near-api-js");async function T(W){try{let{validateAccountId:Z}=await import("near-sdk-js");return Z(W)}catch{let Z=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return W.length>=2&&W.length<=64&&Z.test(W)}}async function b(W){let{parseSeedPhrase:Z}=await import("near-seed-phrase"),{KeyPair:M}=await import("near-api-js"),R=W.index||0,$=W.derivationPath?E.derivationPathToString(W.derivationPath.slice(0,3)):`m/44'/397'/${R}'`,{secretKey:X}=Z(W.phrase,$),z=M.fromString(X);return s(z)}async function K(W){let{KeyPair:Z}=await import("near-api-js/lib/utils"),M=Z.fromString(W);return s(M)}class c extends n.KeyPairSigner{#x;constructor(W){super(W);this.#x=W}getAddress(){let W=this.#x.getPublicKey(),Z=Buffer.from(W.data).toString("hex");return Promise.resolve(Z)}}function s(W){return new c(W)}async function y(W,Z){let R=(await W.query({request_type:"view_access_key_list",finality:"final",account_id:Z})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!R)throw new E.SwapKitError("toolbox_near_invalid_address");let{utils:$}=await import("near-api-js");return $.PublicKey.fromString(R.public_key)}var U={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"};function I(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function h(W){return"contractId"in W&&"methodName"in W}function A(W){return"actions"in W}function g(W){return"newAccountId"in W}function S(W){return"contractCode"in W}function l(W){return"customEstimator"in W}function u(W){let Z=0;for(let M of W)switch(M.enum){case"transfer":Z+=Number(U.SIMPLE_TRANSFER);break;case"functionCall":Z+=Number(U.CONTRACT_CALL);break;case"createAccount":Z+=Number(U.ACCOUNT_CREATION);break;case"deployContract":Z+=Number(U.CONTRACT_DEPLOYMENT);break;case"addKey":Z+=Number(U.ACCESS_KEY_ADDITION);break;case"deleteKey":Z+=Number(U.ACCESS_KEY_DELETION);break;case"stake":Z+=Number(U.STAKE);break;default:Z+=Number(U.CONTRACT_CALL)}return Z.toString()}function m(W){if(W==="ft_transfer"||W==="ft_transfer_call")return U.TOKEN_TRANSFER;if(W==="storage_deposit")return U.STORAGE_DEPOSIT;return U.CONTRACT_CALL}function t(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function e(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var r="1250000000000000000000";async function F({contractId:W,account:Z}){let M=(await import("bn.js")).default,R=await w({account:Z,contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),$=async(X)=>{if(!await R.storage_balance_of({account_id:X})){let N=(await R.storage_balance_bounds())?.min||r;await R.storage_deposit({account_id:X},new M("100000000000000"),new M(N))}};return{transfer:async(X,z,D)=>{return await $(X),R.ft_transfer({receiver_id:X,amount:z,memo:D},new M("100000000000000"),new M("1"))},transferCall:async(X,z,D,N)=>{return await $(X),R.ft_transfer_call({receiver_id:X,amount:z,memo:N,msg:D},new M("100000000000000"),new M("1"))},balanceOf:(X)=>R.ft_balance_of({account_id:X}),totalSupply:()=>R.ft_total_supply(),metadata:()=>R.ft_metadata(),storageBalanceOf:(X)=>R.storage_balance_of({account_id:X}),storageDeposit:(X,z)=>R.storage_deposit({account_id:X},new M("100000000000000"),new M(z||r)),ensureStorage:$,contract:R}}async function U1(W){let{P:Z,match:M}=await import("ts-pattern"),{providers:R}=await import("near-api-js"),$=await M(W).with({phrase:Z.string},async(x)=>{return await b(x)}).with({signer:Z.any},({signer:x})=>x).otherwise(()=>{return}),X=q.SKConfig.get("rpcUrls")[q.Chain.Near],z=new R.JsonRpcProvider({url:X});async function D(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{Account:J}=await import("near-api-js"),Q=x||await N();return new J(Q,z,$)}async function N(){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");return await $.getAddress()}async function a(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{recipient:J,assetValue:Q}=x;if(!T(J))throw new q.SwapKitError("toolbox_near_invalid_address");let Y=await D();if(Q.isGasAsset===!1){let L=Q.address;if(!L)throw new q.SwapKitError("toolbox_near_missing_contract_address");let H=Q.getBaseValue("string");return p({contractId:L,methodName:"ft_transfer",args:{receiver_id:J,amount:H,memo:x.memo}})}try{let L=Q.getBaseValue("string");return(await Y.transfer({receiverId:J,amount:L})).transaction.hash}catch(L){throw new q.SwapKitError("toolbox_near_transfer_failed",{error:L})}}async function x1(x){let{recipient:J,assetValue:Q,memo:Y,feeRate:L,attachedDeposit:H,sender:V}=x,j=V||await N(),B=await y(z,j),_=(await z.query({request_type:"view_access_key",finality:"final",account_id:j})).nonce+1,v=Q.getBaseValue("bigint"),{SCHEMA:C}=await import("near-api-js/lib/transaction"),{transactions:k,utils:G}=await import("near-api-js"),o=[k.transfer(v)];if(Y&&H)o.push(k.functionCall("memo",{memo:Y},BigInt(L),BigInt(H)));let R1=await z.block({finality:"final"}),i=G.serialize.base_decode(R1.header.hash),Y1=k.createTransaction(j,B,J,_,o,i),f1=G.serialize.serialize(C.Transaction,Y1);return{serialized:Buffer.from(f1).toString("base64"),publicKey:B.toString(),details:{signerId:await N(),nonce:_,blockHash:G.serialize.base_encode(i)}}}async function W1(x){let{accountId:J}=x,Q=await y(z,J),L=(await z.query({request_type:"view_access_key",finality:"final",account_id:J,public_key:Q.toString()})).nonce+1,{SCHEMA:H}=await import("near-api-js/lib/transaction"),{transactions:V,utils:j}=await import("near-api-js"),B=await z.block({finality:"final"}),O=j.serialize.base_decode(B.header.hash),_=[V.functionCall(x.methodName,Buffer.from(JSON.stringify(x.args)),BigInt(x.gas),BigInt(x.attachedDeposit))],v=V.createTransaction(J,Q,x.contractId,L,_,O),C=j.serialize.serialize(H.Transaction,v);return{serialized:Buffer.from(C).toString("base64"),publicKey:Q.toString(),details:{signerId:J,receiverId:x.contractId,methodName:x.methodName,nonce:L,blockHash:j.serialize.base_encode(O)}}}async function q1(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let[J,Q]=await $.signTransaction(x);return Q}async function J1(x){return(await z.sendTransaction(x)).transaction.hash}async function Q1(x){if("assetValue"in x){let L=BigInt("115123062500")+BigInt("108059500000"),H=await Z1(),V=L*BigInt(H.toString());return q.AssetValue.from({chain:q.Chain.Near,value:V.toString(),fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}let J=$?await D():void 0;return P(x,J)}async function Z1(){try{return await z.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function $1(x,J,Q){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let Y=await D(),{utils:L}=await import("near-api-js"),H=L.format.parseNearAmount(Q)||"0";return(await Y.createAccount(x,L.PublicKey.fromString(J),BigInt(H))).transaction.hash}async function p(x){try{if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{transactions:J}=await import("near-api-js"),{contractId:Q,methodName:Y,args:L,deposit:H}=x,V=await D(),j=await P({methodName:Y,args:L||{},contractId:Q}),B=J.functionCall(Y,L||{},j.getBaseValue("bigint"),BigInt(H||"0"));return(await V.signAndSendTransaction({receiverId:Q,actions:[B]})).transaction.hash}catch(J){throw new q.SwapKitError("toolbox_near_transfer_failed",{error:J})}}async function X1(x){let{createNearContract:J}=await import("../../chunk-vtd17cje.js"),Q=await D();return J({account:Q,contractId:x.contractId,viewMethods:x.viewMethods,changeMethods:x.changeMethods})}async function z1(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");if(x.actions.length===0)throw new q.SwapKitError("toolbox_near_empty_batch");return(await(await D()).signAndSendTransaction({receiverId:x.receiverId,actions:x.actions})).transaction.hash}async function L1(x){let J=await D();return F({contractId:x,account:J})}async function M1(x){try{let J=await D(x),Q;try{let Y=await J.getBalance();Q=q.AssetValue.from({chain:q.Chain.Near,value:Y,fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}catch{Q=q.AssetValue.from({chain:q.Chain.Near,value:"0",fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}return[Q]}catch(J){throw new q.SwapKitError("toolbox_near_balance_failed",{error:J})}}async function P(x,J){let Q=await M(x).when(I,()=>U.SIMPLE_TRANSFER).when(h,(V)=>m(V.methodName)).when(A,(V)=>u(V.actions)).when(g,()=>U.ACCOUNT_CREATION).when(S,()=>U.CONTRACT_DEPLOYMENT).when(l,(V)=>{if(!J)throw new q.SwapKitError("toolbox_near_no_account");return V.customEstimator(J)}).otherwise(()=>{throw new q.SwapKitError("toolbox_near_invalid_gas_params")}),Y=await d(),H=BigInt(Q)*BigInt(1000000000000)*BigInt(Y);return q.AssetValue.from({chain:q.Chain.Near,value:H,fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}async function d(){try{return(await z.gasPrice(null)).gas_price||"100000000"}catch(x){return"100000000"}}return{getAddress:N,getPublicKey:async()=>$?(await $.getPublicKey()).toString():"",provider:z,transfer:a,createTransaction:x1,createContractFunctionCall:W1,estimateTransactionFee:Q1,broadcastTransaction:J1,signTransaction:q1,getBalance:M1,validateAddress:T,getSignerFromPhrase:(x)=>b(x),getSignerFromPrivateKey:K,callFunction:p,createSubAccount:$1,createContract:X1,executeBatchTransaction:z1,nep141:L1,getGasPrice:d,estimateGas:P}}
1
+ var D1={};V1(D1,{validateNearAddress:()=>T,tgasToGas:()=>t,isSimpleTransfer:()=>I,isCustomEstimator:()=>l,isContractDeployment:()=>S,isContractCall:()=>h,isBatchTransaction:()=>A,isAccountCreation:()=>g,getNearToolbox:()=>R1,getNearSignerFromPrivateKey:()=>K,getNearSignerFromPhrase:()=>y,getFullAccessPublicKey:()=>P,getContractMethodGas:()=>m,gasToTGas:()=>e,estimateBatchGas:()=>u,createNearContract:()=>F,createNEP141Token:()=>N,GAS_COSTS:()=>R});module.exports=H1(D1);var q=require("@swapkit/helpers");var E=require("@swapkit/helpers"),n=require("near-api-js");async function T(W){try{let{validateAccountId:Z}=await import("near-sdk-js");return Z(W)}catch{let Z=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return W.length>=2&&W.length<=64&&Z.test(W)}}async function y(W){let{parseSeedPhrase:Z}=await import("near-seed-phrase"),{KeyPair:M}=await import("near-api-js"),Y=W.index||0,$=W.derivationPath?E.derivationPathToString(W.derivationPath.slice(0,3)):`m/44'/397'/${Y}'`,{secretKey:X}=Z(W.phrase,$),z=M.fromString(X);return s(z)}async function K(W){let{KeyPair:Z}=await import("near-api-js/lib/utils"),M=Z.fromString(W);return s(M)}class c extends n.KeyPairSigner{#x;constructor(W){super(W);this.#x=W}getAddress(){let W=this.#x.getPublicKey(),Z=Buffer.from(W.data).toString("hex");return Promise.resolve(Z)}}function s(W){return new c(W)}async function P(W,Z){let Y=(await W.query({request_type:"view_access_key_list",finality:"final",account_id:Z})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!Y)throw new E.SwapKitError("toolbox_near_invalid_address");let{utils:$}=await import("near-api-js");return $.PublicKey.fromString(Y.public_key)}var R={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"};function I(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function h(W){return"contractId"in W&&"methodName"in W}function A(W){return"actions"in W}function g(W){return"newAccountId"in W}function S(W){return"contractCode"in W}function l(W){return"customEstimator"in W}function u(W){let Z=0;for(let M of W)switch(M.enum){case"transfer":Z+=Number(R.SIMPLE_TRANSFER);break;case"functionCall":Z+=Number(R.CONTRACT_CALL);break;case"createAccount":Z+=Number(R.ACCOUNT_CREATION);break;case"deployContract":Z+=Number(R.CONTRACT_DEPLOYMENT);break;case"addKey":Z+=Number(R.ACCESS_KEY_ADDITION);break;case"deleteKey":Z+=Number(R.ACCESS_KEY_DELETION);break;case"stake":Z+=Number(R.STAKE);break;default:Z+=Number(R.CONTRACT_CALL)}return Z.toString()}function m(W){if(W==="ft_transfer"||W==="ft_transfer_call")return R.TOKEN_TRANSFER;if(W==="storage_deposit")return R.STORAGE_DEPOSIT;return R.CONTRACT_CALL}function t(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function e(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var r="1250000000000000000000";async function N({contractId:W,account:Z}){let M=(await import("bn.js")).default,Y=await F({account:Z,contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),$=async(X)=>{if(!await Y.storage_balance_of({account_id:X})){let B=(await Y.storage_balance_bounds())?.min||r;await Y.storage_deposit({account_id:X},new M("100000000000000"),new M(B))}};return{transfer:async(X,z,D)=>{return await $(X),Y.ft_transfer({receiver_id:X,amount:z,memo:D},new M("100000000000000"),new M("1"))},transferCall:async(X,z,D,B)=>{return await $(X),Y.ft_transfer_call({receiver_id:X,amount:z,memo:B,msg:D},new M("100000000000000"),new M("1"))},balanceOf:(X)=>Y.ft_balance_of({account_id:X}),totalSupply:()=>Y.ft_total_supply(),metadata:()=>Y.ft_metadata(),storageBalanceOf:(X)=>Y.storage_balance_of({account_id:X}),storageDeposit:(X,z)=>Y.storage_deposit({account_id:X},new M("100000000000000"),new M(z||r)),ensureStorage:$,contract:Y}}async function R1(W){let{P:Z,match:M}=await import("ts-pattern"),{providers:Y}=await import("near-api-js"),$=await M(W).with({phrase:Z.string},async(x)=>{return await y(x)}).with({signer:Z.any},({signer:x})=>x).otherwise(()=>{return}),X=q.SKConfig.get("rpcUrls")[q.Chain.Near],z=new Y.JsonRpcProvider({url:X});async function D(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{Account:J}=await import("near-api-js"),Q=x||await B();return new J(Q,z,$)}async function B(){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");return await $.getAddress()}async function a(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{recipient:J,assetValue:Q}=x;if(!T(J))throw new q.SwapKitError("toolbox_near_invalid_address");let f=await D();if(Q.isGasAsset===!1){let L=Q.address;if(!L)throw new q.SwapKitError("toolbox_near_missing_contract_address");let H=Q.getBaseValue("string");return p({contractId:L,methodName:"ft_transfer",args:{receiver_id:J,amount:H,memo:x.memo}})}try{let L=Q.getBaseValue("string");return(await f.transfer({receiverId:J,amount:L})).transaction.hash}catch(L){throw new q.SwapKitError("toolbox_near_transfer_failed",{error:L})}}async function x1(x){let{recipient:J,assetValue:Q,memo:f,feeRate:L,attachedDeposit:H,sender:V}=x,j=V||await B(),w=await P(z,j),k=(await z.query({request_type:"view_access_key",finality:"final",account_id:j})).nonce+1,v=Q.getBaseValue("bigint"),{SCHEMA:G}=await import("near-api-js/lib/transaction"),{transactions:_,utils:C}=await import("near-api-js"),o=[_.transfer(v)];if(f&&H)o.push(_.functionCall("memo",{memo:f},BigInt(L),BigInt(H)));let Y1=await z.block({finality:"final"}),i=C.serialize.base_decode(Y1.header.hash),f1=_.createTransaction(j,w,J,k,o,i),U1=C.serialize.serialize(G.Transaction,f1);return{serialized:Buffer.from(U1).toString("base64"),publicKey:w.toString(),details:{signerId:await B(),nonce:k,blockHash:C.serialize.base_encode(i)}}}async function W1(x){let{accountId:J}=x,Q=await P(z,J),L=(await z.query({request_type:"view_access_key",finality:"final",account_id:J,public_key:Q.toString()})).nonce+1,{SCHEMA:H}=await import("near-api-js/lib/transaction"),{transactions:V,utils:j}=await import("near-api-js"),w=await z.block({finality:"final"}),O=j.serialize.base_decode(w.header.hash),k=[V.functionCall(x.methodName,Buffer.from(JSON.stringify(x.args)),BigInt(x.gas),BigInt(x.attachedDeposit))],v=V.createTransaction(J,Q,x.contractId,L,k,O),G=j.serialize.serialize(H.Transaction,v);return{serialized:Buffer.from(G).toString("base64"),publicKey:Q.toString(),details:{signerId:J,receiverId:x.contractId,methodName:x.methodName,nonce:L,blockHash:j.serialize.base_encode(O)}}}async function q1(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let[J,Q]=await $.signTransaction(x);return Q}async function J1(x){return(await z.sendTransaction(x)).transaction.hash}async function Q1(x){if("assetValue"in x){let L=BigInt("115123062500")+BigInt("108059500000"),H=await Z1(),V=L*BigInt(H.toString());return q.AssetValue.from({chain:q.Chain.Near,value:V.toString(),fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}let J=$?await D():void 0;return b(x,J)}async function Z1(){try{return await z.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function $1(x,J,Q){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let f=await D(),{utils:L}=await import("near-api-js"),H=L.format.parseNearAmount(Q)||"0";return(await f.createAccount(x,L.PublicKey.fromString(J),BigInt(H))).transaction.hash}async function p(x){try{if(!$)throw new q.SwapKitError("toolbox_near_no_signer");let{transactions:J}=await import("near-api-js"),{contractId:Q,methodName:f,args:L,deposit:H}=x,V=await D(),j=await b({methodName:f,args:L||{},contractId:Q}),w=J.functionCall(f,L||{},j.getBaseValue("bigint"),BigInt(H||"0"));return(await V.signAndSendTransaction({receiverId:Q,actions:[w]})).transaction.hash}catch(J){throw new q.SwapKitError("toolbox_near_transfer_failed",{error:J})}}async function X1(x){let{createNearContract:J}=await import("../../chunk-vtd17cje.js"),Q=await D();return J({account:Q,contractId:x.contractId,viewMethods:x.viewMethods,changeMethods:x.changeMethods})}async function z1(x){if(!$)throw new q.SwapKitError("toolbox_near_no_signer");if(x.actions.length===0)throw new q.SwapKitError("toolbox_near_empty_batch");return(await(await D()).signAndSendTransaction({receiverId:x.receiverId,actions:x.actions})).transaction.hash}async function L1(x){let J=await D();return N({contractId:x,account:J})}async function M1(x){try{let J=await D(x),Q;try{let f=await J.getBalance();Q=q.AssetValue.from({chain:q.Chain.Near,value:f,fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}catch{Q=q.AssetValue.from({chain:q.Chain.Near,value:"0",fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}return[Q]}catch(J){throw new q.SwapKitError("toolbox_near_balance_failed",{error:J})}}async function b(x,J){let Q=await M(x).when(I,()=>R.SIMPLE_TRANSFER).when(h,(V)=>m(V.methodName)).when(A,(V)=>u(V.actions)).when(g,()=>R.ACCOUNT_CREATION).when(S,()=>R.CONTRACT_DEPLOYMENT).when(l,(V)=>{if(!J)throw new q.SwapKitError("toolbox_near_no_account");return V.customEstimator(J)}).otherwise(()=>{throw new q.SwapKitError("toolbox_near_invalid_gas_params")}),f=await d(),H=BigInt(Q)*BigInt(1000000000000)*BigInt(f);return q.AssetValue.from({chain:q.Chain.Near,value:H,fromBaseDecimal:q.BaseDecimal[q.Chain.Near]})}async function d(){try{return(await z.gasPrice(null)).gas_price||"100000000"}catch(x){return"100000000"}}return{getAddress:B,getPublicKey:async()=>$?(await $.getPublicKey()).toString():"",provider:z,transfer:a,createTransaction:x1,createContractFunctionCall:W1,estimateTransactionFee:Q1,broadcastTransaction:J1,signTransaction:q1,getBalance:M1,validateAddress:T,getSignerFromPhrase:(x)=>y(x),getSignerFromPrivateKey:K,callFunction:p,createSubAccount:$1,createContract:X1,executeBatchTransaction:z1,nep141:L1,getGasPrice:d,estimateGas:b}}
2
2
 
3
- //# debugId=701F95BE79A1566C64756E2164756E21
3
+ //# debugId=95CBB72A2AA595E364756E2164756E21
@@ -8,6 +8,6 @@
8
8
  "import type { Account, Contract } from \"near-api-js\";\nimport { createNearContract } from \"./contractFactory\";\n\nconst DEFAULT_STORAGE_DEPOSIT = \"1250000000000000000000\"; // 0.00125 NEAR\n\n// Define NEP-141 contract interface\ninterface NEP141Contract extends Contract {\n // View methods\n ft_balance_of(args: { account_id: string }): Promise<string>;\n ft_total_supply(): Promise<string>;\n ft_metadata(): Promise<any>;\n storage_balance_of(args: { account_id: string }): Promise<any>;\n storage_balance_bounds(): Promise<any>;\n\n // Change methods\n ft_transfer(args: any, gas: any, deposit: any): Promise<any>;\n ft_transfer_call(args: any, gas: any, deposit: any): Promise<any>;\n storage_deposit(args: any, gas: any, deposit: any): Promise<any>;\n storage_withdraw(args: any, gas: any, deposit: any): Promise<any>;\n storage_unregister(force?: boolean, gas?: any): Promise<any>;\n}\n\nexport async function createNEP141Token({\n contractId,\n account,\n}: {\n contractId: string;\n account: Account;\n}) {\n const BN = (await import(\"bn.js\")).default;\n\n const contract = await createNearContract<NEP141Contract>({\n account,\n contractId,\n viewMethods: [\n \"ft_balance_of\",\n \"ft_total_supply\",\n \"ft_metadata\",\n \"storage_balance_of\",\n \"storage_balance_bounds\",\n ],\n changeMethods: [\n \"ft_transfer\",\n \"ft_transfer_call\",\n \"storage_deposit\",\n \"storage_withdraw\",\n \"storage_unregister\",\n ],\n });\n\n // Helper to ensure storage before transfers\n const ensureStorageFor = async (accountId: string) => {\n const balance = await contract.storage_balance_of({ account_id: accountId });\n if (!balance) {\n // Get minimum storage requirement\n const bounds = await contract.storage_balance_bounds();\n const deposit = bounds?.min || DEFAULT_STORAGE_DEPOSIT;\n\n await contract.storage_deposit(\n { account_id: accountId },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(deposit),\n );\n }\n };\n\n return {\n transfer: async (receiverId: string, amount: string, memo?: string) => {\n // Ensure recipient has storage before transfer\n await ensureStorageFor(receiverId);\n\n return contract.ft_transfer(\n { receiver_id: receiverId, amount, memo },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(\"1\"), // 1 yoctoNEAR for security\n );\n },\n\n transferCall: async (receiverId: string, amount: string, msg: string, memo?: string) => {\n // Ensure recipient has storage before transfer\n await ensureStorageFor(receiverId);\n\n return contract.ft_transfer_call(\n { receiver_id: receiverId, amount, memo, msg },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(\"1\"), // 1 yoctoNEAR for security\n );\n },\n\n balanceOf: (accountId: string) => contract.ft_balance_of({ account_id: accountId }),\n\n totalSupply: () => contract.ft_total_supply(),\n\n metadata: () => contract.ft_metadata(),\n\n storageBalanceOf: (accountId: string) => contract.storage_balance_of({ account_id: accountId }),\n\n storageDeposit: (accountId?: string, amount?: string) =>\n contract.storage_deposit(\n { account_id: accountId },\n new BN(\"100000000000000\"),\n new BN(amount || DEFAULT_STORAGE_DEPOSIT),\n ),\n\n ensureStorage: ensureStorageFor,\n\n // Raw contract access for advanced use cases\n contract,\n };\n}\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "701F95BE79A1566C64756E2164756E21",
11
+ "debugId": "95CBB72A2AA595E364756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,3 +1,3 @@
1
- import{a as E}from"../../chunk-kbnwrc5b.js";import{d as Y,e as f}from"../../chunk-s47y8512.js";import{AssetValue as b,BaseDecimal as y,Chain as B,SKConfig as N1,SwapKitError as D}from"@swapkit/helpers";import{SwapKitError as U1,derivationPathToString as H1}from"@swapkit/helpers";import{KeyPairSigner as V1}from"near-api-js";async function K(W){try{let{validateAccountId:Q}=await import("near-sdk-js");return Q(W)}catch{let Q=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return W.length>=2&&W.length<=64&&Q.test(W)}}async function I(W){let{parseSeedPhrase:Q}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),M=W.index||0,Z=W.derivationPath?H1(W.derivationPath.slice(0,3)):`m/44'/397'/${M}'`,{secretKey:$}=Q(W.phrase,Z),X=L.fromString($);return p(X)}async function u(W){let{KeyPair:Q}=await import("near-api-js/lib/utils"),L=Q.fromString(W);return p(L)}class m extends V1{#x;constructor(W){super(W);this.#x=W}getAddress(){let W=this.#x.getPublicKey(),Q=Buffer.from(W.data).toString("hex");return Promise.resolve(Q)}}function p(W){return new m(W)}async function h(W,Q){let M=(await W.query({request_type:"view_access_key_list",finality:"final",account_id:Q})).keys.find(($)=>$.access_key.permission==="FullAccess");if(!M)throw new U1("toolbox_near_invalid_address");let{utils:Z}=await import("near-api-js");return Z.PublicKey.fromString(M.public_key)}var V={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"};function d(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function o(W){return"contractId"in W&&"methodName"in W}function i(W){return"actions"in W}function n(W){return"newAccountId"in W}function c(W){return"contractCode"in W}function s(W){return"customEstimator"in W}function t(W){let Q=0;for(let L of W)switch(L.enum){case"transfer":Q+=Number(V.SIMPLE_TRANSFER);break;case"functionCall":Q+=Number(V.CONTRACT_CALL);break;case"createAccount":Q+=Number(V.ACCOUNT_CREATION);break;case"deployContract":Q+=Number(V.CONTRACT_DEPLOYMENT);break;case"addKey":Q+=Number(V.ACCESS_KEY_ADDITION);break;case"deleteKey":Q+=Number(V.ACCESS_KEY_DELETION);break;case"stake":Q+=Number(V.STAKE);break;default:Q+=Number(V.CONTRACT_CALL)}return Q.toString()}function e(W){if(W==="ft_transfer"||W==="ft_transfer_call")return V.TOKEN_TRANSFER;if(W==="storage_deposit")return V.STORAGE_DEPOSIT;return V.CONTRACT_CALL}function D1(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function j1(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var r="1250000000000000000000";async function T({contractId:W,account:Q}){let L=(await import("bn.js")).default,M=await E({account:Q,contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),Z=async($)=>{if(!await M.storage_balance_of({account_id:$})){let w=(await M.storage_balance_bounds())?.min||r;await M.storage_deposit({account_id:$},new L("100000000000000"),new L(w))}};return{transfer:async($,X,j)=>{return await Z($),M.ft_transfer({receiver_id:$,amount:X,memo:j},new L("100000000000000"),new L("1"))},transferCall:async($,X,j,w)=>{return await Z($),M.ft_transfer_call({receiver_id:$,amount:X,memo:w,msg:j},new L("100000000000000"),new L("1"))},balanceOf:($)=>M.ft_balance_of({account_id:$}),totalSupply:()=>M.ft_total_supply(),metadata:()=>M.ft_metadata(),storageBalanceOf:($)=>M.storage_balance_of({account_id:$}),storageDeposit:($,X)=>M.storage_deposit({account_id:$},new L("100000000000000"),new L(X||r)),ensureStorage:Z,contract:M}}async function h1(W){let{P:Q,match:L}=await import("ts-pattern"),{providers:M}=await import("near-api-js"),Z=await L(W).with({phrase:Q.string},async(x)=>{return await I(x)}).with({signer:Q.any},({signer:x})=>x).otherwise(()=>{return}),$=N1.get("rpcUrls")[B.Near],X=new M.JsonRpcProvider({url:$});async function j(x){if(!Z)throw new D("toolbox_near_no_signer");let{Account:q}=await import("near-api-js"),J=x||await w();return new q(J,X,Z)}async function w(){if(!Z)throw new D("toolbox_near_no_signer");return await Z.getAddress()}async function a(x){if(!Z)throw new D("toolbox_near_no_signer");let{recipient:q,assetValue:J}=x;if(!K(q))throw new D("toolbox_near_invalid_address");let R=await j();if(J.isGasAsset===!1){let z=J.address;if(!z)throw new D("toolbox_near_missing_contract_address");let U=J.getBaseValue("string");return A({contractId:z,methodName:"ft_transfer",args:{receiver_id:q,amount:U,memo:x.memo}})}try{let z=J.getBaseValue("string");return(await R.transfer({receiverId:q,amount:z})).transaction.hash}catch(z){throw new D("toolbox_near_transfer_failed",{error:z})}}async function x1(x){let{recipient:q,assetValue:J,memo:R,feeRate:z,attachedDeposit:U,sender:H}=x,N=H||await w(),F=await h(X,N),_=(await X.query({request_type:"view_access_key",finality:"final",account_id:N})).nonce+1,v=J.getBaseValue("bigint"),{SCHEMA:C}=await import("near-api-js/lib/transaction"),{transactions:k,utils:G}=await import("near-api-js"),S=[k.transfer(v)];if(R&&U)S.push(k.functionCall("memo",{memo:R},BigInt(z),BigInt(U)));let R1=await X.block({finality:"final"}),l=G.serialize.base_decode(R1.header.hash),Y1=k.createTransaction(N,F,q,_,S,l),f1=G.serialize.serialize(C.Transaction,Y1);return{serialized:Buffer.from(f1).toString("base64"),publicKey:F.toString(),details:{signerId:await w(),nonce:_,blockHash:G.serialize.base_encode(l)}}}async function W1(x){let{accountId:q}=x,J=await h(X,q),z=(await X.query({request_type:"view_access_key",finality:"final",account_id:q,public_key:J.toString()})).nonce+1,{SCHEMA:U}=await import("near-api-js/lib/transaction"),{transactions:H,utils:N}=await import("near-api-js"),F=await X.block({finality:"final"}),O=N.serialize.base_decode(F.header.hash),_=[H.functionCall(x.methodName,Buffer.from(JSON.stringify(x.args)),BigInt(x.gas),BigInt(x.attachedDeposit))],v=H.createTransaction(q,J,x.contractId,z,_,O),C=N.serialize.serialize(U.Transaction,v);return{serialized:Buffer.from(C).toString("base64"),publicKey:J.toString(),details:{signerId:q,receiverId:x.contractId,methodName:x.methodName,nonce:z,blockHash:N.serialize.base_encode(O)}}}async function q1(x){if(!Z)throw new D("toolbox_near_no_signer");let[q,J]=await Z.signTransaction(x);return J}async function J1(x){return(await X.sendTransaction(x)).transaction.hash}async function Q1(x){if("assetValue"in x){let z=BigInt("115123062500")+BigInt("108059500000"),U=await Z1(),H=z*BigInt(U.toString());return b.from({chain:B.Near,value:H.toString(),fromBaseDecimal:y[B.Near]})}let q=Z?await j():void 0;return P(x,q)}async function Z1(){try{return await X.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function $1(x,q,J){if(!Z)throw new D("toolbox_near_no_signer");let R=await j(),{utils:z}=await import("near-api-js"),U=z.format.parseNearAmount(J)||"0";return(await R.createAccount(x,z.PublicKey.fromString(q),BigInt(U))).transaction.hash}async function A(x){try{if(!Z)throw new D("toolbox_near_no_signer");let{transactions:q}=await import("near-api-js"),{contractId:J,methodName:R,args:z,deposit:U}=x,H=await j(),N=await P({methodName:R,args:z||{},contractId:J}),F=q.functionCall(R,z||{},N.getBaseValue("bigint"),BigInt(U||"0"));return(await H.signAndSendTransaction({receiverId:J,actions:[F]})).transaction.hash}catch(q){throw new D("toolbox_near_transfer_failed",{error:q})}}async function X1(x){let{createNearContract:q}=await import("../../chunk-kbnwrc5b.js"),J=await j();return q({account:J,contractId:x.contractId,viewMethods:x.viewMethods,changeMethods:x.changeMethods})}async function z1(x){if(!Z)throw new D("toolbox_near_no_signer");if(x.actions.length===0)throw new D("toolbox_near_empty_batch");return(await(await j()).signAndSendTransaction({receiverId:x.receiverId,actions:x.actions})).transaction.hash}async function L1(x){let q=await j();return T({contractId:x,account:q})}async function M1(x){try{let q=await j(x),J;try{let R=await q.getBalance();J=b.from({chain:B.Near,value:R,fromBaseDecimal:y[B.Near]})}catch{J=b.from({chain:B.Near,value:"0",fromBaseDecimal:y[B.Near]})}return[J]}catch(q){throw new D("toolbox_near_balance_failed",{error:q})}}async function P(x,q){let J=await L(x).when(d,()=>V.SIMPLE_TRANSFER).when(o,(H)=>e(H.methodName)).when(i,(H)=>t(H.actions)).when(n,()=>V.ACCOUNT_CREATION).when(c,()=>V.CONTRACT_DEPLOYMENT).when(s,(H)=>{if(!q)throw new D("toolbox_near_no_account");return H.customEstimator(q)}).otherwise(()=>{throw new D("toolbox_near_invalid_gas_params")}),R=await g(),U=BigInt(J)*BigInt(1000000000000)*BigInt(R);return b.from({chain:B.Near,value:U,fromBaseDecimal:y[B.Near]})}async function g(){try{return(await X.gasPrice(null)).gas_price||"100000000"}catch(x){return"100000000"}}return{getAddress:w,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",provider:X,transfer:a,createTransaction:x1,createContractFunctionCall:W1,estimateTransactionFee:Q1,broadcastTransaction:J1,signTransaction:q1,getBalance:M1,validateAddress:K,getSignerFromPhrase:(x)=>I(x),getSignerFromPrivateKey:u,callFunction:A,createSubAccount:$1,createContract:X1,executeBatchTransaction:z1,nep141:L1,getGasPrice:g,estimateGas:P}}export{K as validateNearAddress,D1 as tgasToGas,d as isSimpleTransfer,s as isCustomEstimator,c as isContractDeployment,o as isContractCall,i as isBatchTransaction,n as isAccountCreation,h1 as getNearToolbox,u as getNearSignerFromPrivateKey,I as getNearSignerFromPhrase,h as getFullAccessPublicKey,e as getContractMethodGas,j1 as gasToTGas,t as estimateBatchGas,E as createNearContract,T as createNEP141Token,V as GAS_COSTS};
1
+ import{a as E}from"../../chunk-kbnwrc5b.js";import{d as f,e as U}from"../../chunk-s47y8512.js";import{AssetValue as y,BaseDecimal as P,Chain as w,SKConfig as B1,SwapKitError as D}from"@swapkit/helpers";import{SwapKitError as R1,derivationPathToString as H1}from"@swapkit/helpers";import{KeyPairSigner as V1}from"near-api-js";async function K(W){try{let{validateAccountId:Q}=await import("near-sdk-js");return Q(W)}catch{let Q=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return W.length>=2&&W.length<=64&&Q.test(W)}}async function I(W){let{parseSeedPhrase:Q}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),M=W.index||0,Z=W.derivationPath?H1(W.derivationPath.slice(0,3)):`m/44'/397'/${M}'`,{secretKey:$}=Q(W.phrase,Z),X=L.fromString($);return p(X)}async function u(W){let{KeyPair:Q}=await import("near-api-js/lib/utils"),L=Q.fromString(W);return p(L)}class m extends V1{#x;constructor(W){super(W);this.#x=W}getAddress(){let W=this.#x.getPublicKey(),Q=Buffer.from(W.data).toString("hex");return Promise.resolve(Q)}}function p(W){return new m(W)}async function h(W,Q){let M=(await W.query({request_type:"view_access_key_list",finality:"final",account_id:Q})).keys.find(($)=>$.access_key.permission==="FullAccess");if(!M)throw new R1("toolbox_near_invalid_address");let{utils:Z}=await import("near-api-js");return Z.PublicKey.fromString(M.public_key)}var V={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"};function d(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function o(W){return"contractId"in W&&"methodName"in W}function i(W){return"actions"in W}function n(W){return"newAccountId"in W}function c(W){return"contractCode"in W}function s(W){return"customEstimator"in W}function t(W){let Q=0;for(let L of W)switch(L.enum){case"transfer":Q+=Number(V.SIMPLE_TRANSFER);break;case"functionCall":Q+=Number(V.CONTRACT_CALL);break;case"createAccount":Q+=Number(V.ACCOUNT_CREATION);break;case"deployContract":Q+=Number(V.CONTRACT_DEPLOYMENT);break;case"addKey":Q+=Number(V.ACCESS_KEY_ADDITION);break;case"deleteKey":Q+=Number(V.ACCESS_KEY_DELETION);break;case"stake":Q+=Number(V.STAKE);break;default:Q+=Number(V.CONTRACT_CALL)}return Q.toString()}function e(W){if(W==="ft_transfer"||W==="ft_transfer_call")return V.TOKEN_TRANSFER;if(W==="storage_deposit")return V.STORAGE_DEPOSIT;return V.CONTRACT_CALL}function D1(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function j1(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var r="1250000000000000000000";async function T({contractId:W,account:Q}){let L=(await import("bn.js")).default,M=await E({account:Q,contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),Z=async($)=>{if(!await M.storage_balance_of({account_id:$})){let F=(await M.storage_balance_bounds())?.min||r;await M.storage_deposit({account_id:$},new L("100000000000000"),new L(F))}};return{transfer:async($,X,j)=>{return await Z($),M.ft_transfer({receiver_id:$,amount:X,memo:j},new L("100000000000000"),new L("1"))},transferCall:async($,X,j,F)=>{return await Z($),M.ft_transfer_call({receiver_id:$,amount:X,memo:F,msg:j},new L("100000000000000"),new L("1"))},balanceOf:($)=>M.ft_balance_of({account_id:$}),totalSupply:()=>M.ft_total_supply(),metadata:()=>M.ft_metadata(),storageBalanceOf:($)=>M.storage_balance_of({account_id:$}),storageDeposit:($,X)=>M.storage_deposit({account_id:$},new L("100000000000000"),new L(X||r)),ensureStorage:Z,contract:M}}async function h1(W){let{P:Q,match:L}=await import("ts-pattern"),{providers:M}=await import("near-api-js"),Z=await L(W).with({phrase:Q.string},async(x)=>{return await I(x)}).with({signer:Q.any},({signer:x})=>x).otherwise(()=>{return}),$=B1.get("rpcUrls")[w.Near],X=new M.JsonRpcProvider({url:$});async function j(x){if(!Z)throw new D("toolbox_near_no_signer");let{Account:q}=await import("near-api-js"),J=x||await F();return new q(J,X,Z)}async function F(){if(!Z)throw new D("toolbox_near_no_signer");return await Z.getAddress()}async function a(x){if(!Z)throw new D("toolbox_near_no_signer");let{recipient:q,assetValue:J}=x;if(!K(q))throw new D("toolbox_near_invalid_address");let Y=await j();if(J.isGasAsset===!1){let z=J.address;if(!z)throw new D("toolbox_near_missing_contract_address");let R=J.getBaseValue("string");return A({contractId:z,methodName:"ft_transfer",args:{receiver_id:q,amount:R,memo:x.memo}})}try{let z=J.getBaseValue("string");return(await Y.transfer({receiverId:q,amount:z})).transaction.hash}catch(z){throw new D("toolbox_near_transfer_failed",{error:z})}}async function x1(x){let{recipient:q,assetValue:J,memo:Y,feeRate:z,attachedDeposit:R,sender:H}=x,B=H||await F(),N=await h(X,B),k=(await X.query({request_type:"view_access_key",finality:"final",account_id:B})).nonce+1,v=J.getBaseValue("bigint"),{SCHEMA:G}=await import("near-api-js/lib/transaction"),{transactions:_,utils:C}=await import("near-api-js"),S=[_.transfer(v)];if(Y&&R)S.push(_.functionCall("memo",{memo:Y},BigInt(z),BigInt(R)));let Y1=await X.block({finality:"final"}),l=C.serialize.base_decode(Y1.header.hash),f1=_.createTransaction(B,N,q,k,S,l),U1=C.serialize.serialize(G.Transaction,f1);return{serialized:Buffer.from(U1).toString("base64"),publicKey:N.toString(),details:{signerId:await F(),nonce:k,blockHash:C.serialize.base_encode(l)}}}async function W1(x){let{accountId:q}=x,J=await h(X,q),z=(await X.query({request_type:"view_access_key",finality:"final",account_id:q,public_key:J.toString()})).nonce+1,{SCHEMA:R}=await import("near-api-js/lib/transaction"),{transactions:H,utils:B}=await import("near-api-js"),N=await X.block({finality:"final"}),O=B.serialize.base_decode(N.header.hash),k=[H.functionCall(x.methodName,Buffer.from(JSON.stringify(x.args)),BigInt(x.gas),BigInt(x.attachedDeposit))],v=H.createTransaction(q,J,x.contractId,z,k,O),G=B.serialize.serialize(R.Transaction,v);return{serialized:Buffer.from(G).toString("base64"),publicKey:J.toString(),details:{signerId:q,receiverId:x.contractId,methodName:x.methodName,nonce:z,blockHash:B.serialize.base_encode(O)}}}async function q1(x){if(!Z)throw new D("toolbox_near_no_signer");let[q,J]=await Z.signTransaction(x);return J}async function J1(x){return(await X.sendTransaction(x)).transaction.hash}async function Q1(x){if("assetValue"in x){let z=BigInt("115123062500")+BigInt("108059500000"),R=await Z1(),H=z*BigInt(R.toString());return y.from({chain:w.Near,value:H.toString(),fromBaseDecimal:P[w.Near]})}let q=Z?await j():void 0;return b(x,q)}async function Z1(){try{return await X.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function $1(x,q,J){if(!Z)throw new D("toolbox_near_no_signer");let Y=await j(),{utils:z}=await import("near-api-js"),R=z.format.parseNearAmount(J)||"0";return(await Y.createAccount(x,z.PublicKey.fromString(q),BigInt(R))).transaction.hash}async function A(x){try{if(!Z)throw new D("toolbox_near_no_signer");let{transactions:q}=await import("near-api-js"),{contractId:J,methodName:Y,args:z,deposit:R}=x,H=await j(),B=await b({methodName:Y,args:z||{},contractId:J}),N=q.functionCall(Y,z||{},B.getBaseValue("bigint"),BigInt(R||"0"));return(await H.signAndSendTransaction({receiverId:J,actions:[N]})).transaction.hash}catch(q){throw new D("toolbox_near_transfer_failed",{error:q})}}async function X1(x){let{createNearContract:q}=await import("../../chunk-kbnwrc5b.js"),J=await j();return q({account:J,contractId:x.contractId,viewMethods:x.viewMethods,changeMethods:x.changeMethods})}async function z1(x){if(!Z)throw new D("toolbox_near_no_signer");if(x.actions.length===0)throw new D("toolbox_near_empty_batch");return(await(await j()).signAndSendTransaction({receiverId:x.receiverId,actions:x.actions})).transaction.hash}async function L1(x){let q=await j();return T({contractId:x,account:q})}async function M1(x){try{let q=await j(x),J;try{let Y=await q.getBalance();J=y.from({chain:w.Near,value:Y,fromBaseDecimal:P[w.Near]})}catch{J=y.from({chain:w.Near,value:"0",fromBaseDecimal:P[w.Near]})}return[J]}catch(q){throw new D("toolbox_near_balance_failed",{error:q})}}async function b(x,q){let J=await L(x).when(d,()=>V.SIMPLE_TRANSFER).when(o,(H)=>e(H.methodName)).when(i,(H)=>t(H.actions)).when(n,()=>V.ACCOUNT_CREATION).when(c,()=>V.CONTRACT_DEPLOYMENT).when(s,(H)=>{if(!q)throw new D("toolbox_near_no_account");return H.customEstimator(q)}).otherwise(()=>{throw new D("toolbox_near_invalid_gas_params")}),Y=await g(),R=BigInt(J)*BigInt(1000000000000)*BigInt(Y);return y.from({chain:w.Near,value:R,fromBaseDecimal:P[w.Near]})}async function g(){try{return(await X.gasPrice(null)).gas_price||"100000000"}catch(x){return"100000000"}}return{getAddress:F,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",provider:X,transfer:a,createTransaction:x1,createContractFunctionCall:W1,estimateTransactionFee:Q1,broadcastTransaction:J1,signTransaction:q1,getBalance:M1,validateAddress:K,getSignerFromPhrase:(x)=>I(x),getSignerFromPrivateKey:u,callFunction:A,createSubAccount:$1,createContract:X1,executeBatchTransaction:z1,nep141:L1,getGasPrice:g,estimateGas:b}}export{K as validateNearAddress,D1 as tgasToGas,d as isSimpleTransfer,s as isCustomEstimator,c as isContractDeployment,o as isContractCall,i as isBatchTransaction,n as isAccountCreation,h1 as getNearToolbox,u as getNearSignerFromPrivateKey,I as getNearSignerFromPhrase,h as getFullAccessPublicKey,e as getContractMethodGas,j1 as gasToTGas,t as estimateBatchGas,E as createNearContract,T as createNEP141Token,V as GAS_COSTS};
2
2
 
3
- //# debugId=95CF7FA437DD8E2C64756E2164756E21
3
+ //# debugId=4D0E2F7A8548072664756E2164756E21
@@ -8,6 +8,6 @@
8
8
  "import type { Account, Contract } from \"near-api-js\";\nimport { createNearContract } from \"./contractFactory\";\n\nconst DEFAULT_STORAGE_DEPOSIT = \"1250000000000000000000\"; // 0.00125 NEAR\n\n// Define NEP-141 contract interface\ninterface NEP141Contract extends Contract {\n // View methods\n ft_balance_of(args: { account_id: string }): Promise<string>;\n ft_total_supply(): Promise<string>;\n ft_metadata(): Promise<any>;\n storage_balance_of(args: { account_id: string }): Promise<any>;\n storage_balance_bounds(): Promise<any>;\n\n // Change methods\n ft_transfer(args: any, gas: any, deposit: any): Promise<any>;\n ft_transfer_call(args: any, gas: any, deposit: any): Promise<any>;\n storage_deposit(args: any, gas: any, deposit: any): Promise<any>;\n storage_withdraw(args: any, gas: any, deposit: any): Promise<any>;\n storage_unregister(force?: boolean, gas?: any): Promise<any>;\n}\n\nexport async function createNEP141Token({\n contractId,\n account,\n}: {\n contractId: string;\n account: Account;\n}) {\n const BN = (await import(\"bn.js\")).default;\n\n const contract = await createNearContract<NEP141Contract>({\n account,\n contractId,\n viewMethods: [\n \"ft_balance_of\",\n \"ft_total_supply\",\n \"ft_metadata\",\n \"storage_balance_of\",\n \"storage_balance_bounds\",\n ],\n changeMethods: [\n \"ft_transfer\",\n \"ft_transfer_call\",\n \"storage_deposit\",\n \"storage_withdraw\",\n \"storage_unregister\",\n ],\n });\n\n // Helper to ensure storage before transfers\n const ensureStorageFor = async (accountId: string) => {\n const balance = await contract.storage_balance_of({ account_id: accountId });\n if (!balance) {\n // Get minimum storage requirement\n const bounds = await contract.storage_balance_bounds();\n const deposit = bounds?.min || DEFAULT_STORAGE_DEPOSIT;\n\n await contract.storage_deposit(\n { account_id: accountId },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(deposit),\n );\n }\n };\n\n return {\n transfer: async (receiverId: string, amount: string, memo?: string) => {\n // Ensure recipient has storage before transfer\n await ensureStorageFor(receiverId);\n\n return contract.ft_transfer(\n { receiver_id: receiverId, amount, memo },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(\"1\"), // 1 yoctoNEAR for security\n );\n },\n\n transferCall: async (receiverId: string, amount: string, msg: string, memo?: string) => {\n // Ensure recipient has storage before transfer\n await ensureStorageFor(receiverId);\n\n return contract.ft_transfer_call(\n { receiver_id: receiverId, amount, memo, msg },\n new BN(\"100000000000000\"), // 100 TGas\n new BN(\"1\"), // 1 yoctoNEAR for security\n );\n },\n\n balanceOf: (accountId: string) => contract.ft_balance_of({ account_id: accountId }),\n\n totalSupply: () => contract.ft_total_supply(),\n\n metadata: () => contract.ft_metadata(),\n\n storageBalanceOf: (accountId: string) => contract.storage_balance_of({ account_id: accountId }),\n\n storageDeposit: (accountId?: string, amount?: string) =>\n contract.storage_deposit(\n { account_id: accountId },\n new BN(\"100000000000000\"),\n new BN(amount || DEFAULT_STORAGE_DEPOSIT),\n ),\n\n ensureStorage: ensureStorageFor,\n\n // Raw contract access for advanced use cases\n contract,\n };\n}\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "95CF7FA437DD8E2C64756E2164756E21",
11
+ "debugId": "4D0E2F7A8548072664756E2164756E21",
12
12
  "names": []
13
13
  }
package/package.json CHANGED
@@ -67,8 +67,8 @@
67
67
  "types": "./src/evm/index.ts"
68
68
  },
69
69
  "./near": {
70
- "default": "./dist/near/index.js",
71
- "require": "./dist/near/index.cjs",
70
+ "default": "./dist/src/near/index.js",
71
+ "require": "./dist/src/near/index.cjs",
72
72
  "types": "./src/near/index.ts"
73
73
  },
74
74
  "./radix": {
@@ -119,5 +119,5 @@
119
119
  "type-check:go": "tsgo"
120
120
  },
121
121
  "type": "module",
122
- "version": "1.0.0-beta.20"
122
+ "version": "1.0.0-beta.21"
123
123
  }
package/src/near/types.ts CHANGED
@@ -47,7 +47,6 @@ export interface NearFunctionCallParams {
47
47
 
48
48
  export interface NearCreateTransactionParams extends GenericCreateTransactionParams {
49
49
  // NEAR-specific options
50
- publicKey: string; // Public key for the transaction
51
50
  attachedDeposit?: string;
52
51
  // Function call parameters
53
52
  functionCall?: {