@swapkit/toolboxes 4.0.11 → 4.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cosmos/index.cjs +2 -2
- package/dist/src/cosmos/index.cjs.map +2 -2
- package/dist/src/cosmos/index.js +2 -2
- package/dist/src/cosmos/index.js.map +2 -2
- package/dist/src/evm/index.cjs +2 -2
- package/dist/src/evm/index.cjs.map +2 -2
- package/dist/src/evm/index.js +2 -2
- package/dist/src/evm/index.js.map +2 -2
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/dist/src/near/index.cjs.map +1 -1
- package/dist/src/near/index.js +2 -2
- package/dist/src/near/index.js.map +2 -2
- package/dist/src/radix/index.cjs +2 -2
- package/dist/src/radix/index.cjs.map +2 -2
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +2 -2
- package/dist/src/ripple/index.cjs.map +1 -1
- package/dist/src/ripple/index.js +2 -2
- package/dist/src/ripple/index.js.map +2 -2
- package/dist/src/solana/index.cjs.map +1 -1
- package/dist/src/solana/index.js +2 -2
- package/dist/src/solana/index.js.map +2 -2
- package/dist/src/substrate/index.cjs +2 -2
- package/dist/src/substrate/index.cjs.map +2 -2
- package/dist/src/substrate/index.js +2 -2
- package/dist/src/substrate/index.js.map +2 -2
- package/dist/src/tron/index.cjs +2 -2
- package/dist/src/tron/index.cjs.map +2 -2
- package/dist/src/tron/index.js +2 -2
- package/dist/src/tron/index.js.map +2 -2
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +3 -3
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +3 -3
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"import type {\n ChainSigner,\n DerivationPathArray,\n GenericCreateTransactionParams,\n GenericTransferParams,\n} from \"@swapkit/helpers\";\nimport type { KeyPairSigner, Signer, transactions } from \"near-api-js\";\n\ninterface NearKeyPairSigner\n extends KeyPairSigner,\n Omit<ChainSigner<typeof transactions.Transaction, typeof transactions.SignedTransaction>, \"signTransaction\"> {}\n\ninterface NearGeneralSigner\n extends Signer,\n Omit<ChainSigner<typeof transactions.Transaction, typeof transactions.SignedTransaction>, \"signTransaction\"> {}\n\n// Extend both ChainSigner and NEAR's Signer class, omitting signTransaction\nexport type NearSigner = NearKeyPairSigner | NearGeneralSigner;\n\nexport type NearToolboxParams =\n | { signer?: NearSigner; accountId?: string }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray };\n\nexport interface NearTransferParams extends GenericTransferParams {}\n\nexport interface NearConfig {\n networkId: \"mainnet\" | \"testnet\" | \"betanet\";\n nodeUrl: string;\n walletUrl?: string;\n helperUrl?: string;\n keyStore?: any;\n}\n\nexport interface NearFunctionCallParams {\n contractId: string;\n methodName: string;\n args: Uint8Array | Record<string, any>;\n deposit?: bigint | string | number;\n gas?: bigint | string | number;\n}\n\nexport interface NearCreateTransactionParams extends GenericCreateTransactionParams {\n // NEAR-specific options\n attachedDeposit?: string;\n // Function call parameters\n functionCall?: { methodName: string; args: object; attachedDeposit: string };\n}\n\nexport * from \"./toolbox\";\nexport * from \"./types/contract\";\nexport * from \"./types/nep141\";\nexport * from \"./types/toolbox\";\n",
|
|
10
10
|
"import type { getNearToolbox } from \"./toolbox\";\n\nexport * from \"./helpers/core\";\nexport * from \"./helpers/gasEstimation\";\nexport * from \"./helpers/nep141\";\nexport * from \"./toolbox\";\nexport * from \"./types\";\n\nexport type NearWallet = Awaited<ReturnType<typeof getNearToolbox>>;\n\nexport type {\n NearCallParams,\n NearContractInterface,\n NearGasEstimateParams,\n} from \"./types/contract\";\nexport type {\n FungibleTokenMetadata,\n NEP141Contract,\n StorageBalance,\n StorageBalanceBounds,\n TokenTransferParams,\n} from \"./types/nep141\";\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "utBAKA,eAAsB,CAAsB,EAAG,CAC7C,IAAQ,qBAAsB,KAAa,uBAC3C,MAAO,CAAC,IAAoB,CAE1B,GAAI,CACF,OAAO,EAAkB,CAAO,EAChC,KAAM,CACN,IAAM,EAAmB,wDAEzB,OAAO,EAAQ,QAAU,GAAK,EAAQ,QAAU,IAAM,EAAiB,KAAK,CAAO,IAKzF,eAAsB,CAAuB,CAAC,EAI3C,CACD,IAAQ,mBAAoB,KAAa,6BACjC,WAAY,KAAa,uBAI3B,EAAQ,EAAO,OAAS,EACxB,EAAiB,EAAO,eAC1B,yBAAuB,EAAO,eAAe,MAAM,EAAG,CAAC,CAA6B,EACpF,cAAc,MAEV,aAAc,EAAgB,EAAO,OAAQ,CAAc,EAC7D,EAAU,EAAQ,WAAW,CAAgB,EAEnD,OAAO,GAA4B,CAAO,EAG5C,eAAsB,CAA2B,CAAC,EAAoB,CACpE,IAAQ,WAAY,KAAa,iCAC3B,EAAU,EAAQ,WAAW,CAAiB,EACpD,OAAO,GAA4B,CAAO,EAoB5C,SAAS,EAA2B,CAAC,EAA8B,CAGjE,OAFsB,IAAI,GAAgB,CAAO,EAKnD,eAAsB,CAAsB,CAAC,EAAoB,EAAmB,CAQlF,IAAM,GANW,MAAM,EAAS,MAAM,CACpC,WAAY,EACZ,SAAU,QACV,aAAc,sBAChB,CAAC,GAEuC,KAAK,KAAK,CAAC,IAAa,EAAI,WAAW,aAAe,YAAY,EAE1G,
|
|
12
|
+
"mappings": "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",
|
|
13
13
|
"debugId": "2B6D2AFE8DE869DB64756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
package/dist/src/near/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var f1=Object.create;var{getPrototypeOf:w1,defineProperty:h,getOwnPropertyNames:B1}=Object;var k1=Object.prototype.hasOwnProperty;var R=(W,J,Q)=>{Q=W!=null?f1(w1(W)):{};let $=J||!W||!W.__esModule?h(Q,"default",{value:W,enumerable:!0}):Q;for(let X of B1(W))if(!k1.call($,X))h($,X,{get:()=>W[X],enumerable:!0});return $};var E1=(W,J)=>{for(var Q in J)h(W,Q,{get:J[Q],enumerable:!0,configurable:!0,set:($)=>J[Q]=()=>$})};var T=(W,J)=>()=>(W&&(J=W(W=0)),J);var D=((W)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(W,{get:(J,Q)=>(typeof require!=="undefined"?require:J)[Q]}):W)(function(W){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+W+'" is not supported')});import{derivationPathToString as T1,SwapKitError as N1}from"@swapkit/helpers";import{KeyPairSigner as P1}from"near-api-js";async function N(){let{validateAccountId:W}=await import("near-sdk-js");return(J)=>{try{return W(J)}catch{let Q=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return J.length>=2&&J.length<=64&&Q.test(J)}}}async function P(W){let{parseSeedPhrase:J}=await import("near-seed-phrase"),{KeyPair:Q}=await import("near-api-js"),$=W.index||0,X=W.derivationPath?T1(W.derivationPath.slice(0,3)):`m/44'/397'/${$}'`,{secretKey:U}=J(W.phrase,X),z=Q.fromString(U);return Q1(z)}async function S(W){let{KeyPair:J}=await import("near-api-js/lib/utils"),Q=J.fromString(W);return Q1(Q)}function Q1(W){return new L1(W)}async function b(W,J){let $=(await W.query({account_id:J,finality:"final",request_type:"view_access_key_list"})).keys.find((O)=>O.access_key.permission==="FullAccess");if(!$)throw new N1("toolbox_near_invalid_address");let{utils:X}=await import("near-api-js"),U=X.PublicKey.fromString($.public_key);return{nonce:$.access_key.nonce||0,publicKey:U}}var L1;var g=T(()=>{L1=class L1 extends P1{#W;constructor(W){super(W);this.#W=W}getAddress(){let W=this.#W.getPublicKey(),J=Buffer.from(W.data).toString("hex");return Promise.resolve(J)}}});function l(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function u(W){return"contractId"in W&&"methodName"in W}function m(W){return"actions"in W}function d(W){return"newAccountId"in W}function p(W){return"contractCode"in W}function o(W){return"customEstimator"in W}function i(W){let J=0;for(let Q of W)switch(Q.enum){case"transfer":J+=Number(j.SIMPLE_TRANSFER);break;case"functionCall":J+=Number(j.CONTRACT_CALL);break;case"createAccount":J+=Number(j.ACCOUNT_CREATION);break;case"deployContract":J+=Number(j.CONTRACT_DEPLOYMENT);break;case"addKey":J+=Number(j.ACCESS_KEY_ADDITION);break;case"deleteKey":J+=Number(j.ACCESS_KEY_DELETION);break;case"stake":J+=Number(j.STAKE);break;default:J+=Number(j.CONTRACT_CALL)}return J.toString()}function n(W){if(W==="ft_transfer"||W==="ft_transfer_call")return j.TOKEN_TRANSFER;if(W==="storage_deposit")return j.STORAGE_DEPOSIT;return j.CONTRACT_CALL}function b1(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function v1(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var j;var c=T(()=>{j={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"100",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"100",TOKEN_TRANSFER:"100"}});async function v({account:W,contractId:J,viewMethods:Q,changeMethods:$}){let{Contract:X}=await import("near-api-js");return new X(W,J,{changeMethods:$,useLocalViewExecution:!0,viewMethods:Q})}async function s({contractId:W,account:J}){let Q=(await import("bn.js")).default,$=await v({account:J,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),X=async(U)=>{if(!await $.storage_balance_of({account_id:U})){let w=(await $.storage_balance_bounds())?.min||"1250000000000000000000";await $.storage_deposit({account_id:U},new Q("100000000000000"),new Q(w))}};return{balanceOf:(U)=>$.ft_balance_of({account_id:U}),contract:$,ensureStorage:X,metadata:()=>$.ft_metadata(),storageBalanceOf:(U)=>$.storage_balance_of({account_id:U}),storageDeposit:(U,z)=>$.storage_deposit({account_id:U},new Q("100000000000000"),new Q(z||"1250000000000000000000")),totalSupply:()=>$.ft_total_supply(),transfer:async(U,z,O)=>{return await X(U),$.ft_transfer({amount:z,memo:O,receiver_id:U},new Q("100000000000000"),new Q("1"))},transferCall:async(U,z,O,w)=>{return await X(U),$.ft_transfer_call({amount:z,memo:w,msg:O,receiver_id:U},new Q("100000000000000"),new Q("1"))}}}import{AssetValue as y,BaseDecimal as G,Chain as F,getRPCUrl as y1,SwapKitError as M}from"@swapkit/helpers";async function G1(W){let{P:J,match:Q}=await import("ts-pattern"),{providers:$}=await import("near-api-js"),X=await Q(W).with({phrase:J.string},async(q)=>{return await P(q)}).with({signer:J.any},({signer:q})=>q).otherwise(()=>{return}),U=await y1(F.Near),z=new $.JsonRpcProvider({url:U});async function O(q){let{Account:L}=await import("near-api-js"),Z=q||await w();return new L(Z,z,X)}async function w(){if(!X)throw new M("toolbox_near_no_signer");return await X.getAddress()}async function $1(q){if(!X)throw new M("toolbox_near_no_signer");let{recipient:L,assetValue:Z}=q;if(!(await N())(L))throw new M("toolbox_near_invalid_address");let V=await O();if(Z.isGasAsset===!1){let Y=Z.address;if(!Y)throw new M("toolbox_near_missing_contract_address");let x=Z.getBaseValue("string");return e({args:{amount:x,memo:q.memo,receiver_id:L},contractId:Y,methodName:"ft_transfer"})}try{let Y=Z.getBaseValue("string");return(await V.transfer({amount:Y,receiverId:L})).transaction_outcome.id}catch(Y){throw new M("toolbox_near_transfer_failed",{error:Y})}}async function X1(q){let{recipient:L,assetValue:Z,memo:H,feeRate:V,attachedDeposit:Y,sender:x}=q,B=await N();if(!B(L))throw new M("toolbox_near_invalid_address",{address:L});if(!B(x))throw new M("toolbox_near_invalid_address",{address:x});if(!Z.isGasAsset){let J1=Z.address;if(!J1)throw new M("toolbox_near_missing_contract_address");return r({args:{amount:Z.getBaseValue("string"),memo:H||null,receiver_id:L},attachedDeposit:"1",contractId:J1,gas:V.toString()||"100000000000000",methodName:"ft_transfer",sender:x})}let{publicKey:_,nonce:k}=await b(z,x),C=Z.getBaseValue("bigint"),{SCHEMA:I}=await import("near-api-js/lib/transaction"),{transactions:E,utils:A}=await import("near-api-js"),W1=[E.transfer(C)];if(H&&Y)W1.push(E.functionCall("memo",{memo:H},BigInt(V),BigInt(Y)));let O1=await z.block({finality:"final"}),q1=A.serialize.base_decode(O1.header.hash),V1=E.createTransaction(x,_,L,k,W1,q1),F1=A.serialize.serialize(I.Transaction,V1),_1=Buffer.from(F1).toString("base64");return{details:{blockHash:A.serialize.base_encode(q1),nonce:k,signerId:x},publicKey:_.toString(),serialized:_1}}async function r(q){let{sender:L}=q,{publicKey:Z,nonce:H}=await b(z,L),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:Y,utils:x}=await import("near-api-js"),B=await z.block({finality:"final"}),_=x.serialize.base_decode(B.header.hash),k=[Y.functionCall(q.methodName,Buffer.from(JSON.stringify(q.args)),BigInt(q.gas),BigInt(q.attachedDeposit))],C=Y.createTransaction(L,Z,q.contractId,H,k,_),I=x.serialize.serialize(V.Transaction,C),E=Buffer.from(I).toString("base64");return{details:{blockHash:x.serialize.base_encode(_),methodName:q.methodName,nonce:H,receiverId:q.contractId,signerId:L},publicKey:Z.toString(),serialized:E}}async function x1(q){if(!X)throw new M("toolbox_near_no_signer");let[L,Z]=await X.signTransaction(q);return Z}async function U1(q){return(await z.sendTransaction(q)).transaction.hash}async function Y1(q){if("assetValue"in q){let V=BigInt("115123062500")+BigInt("108059500000"),Y=await z1(),x=V*BigInt(Y.toString());return y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:x.toString()})}let L=X?await O():void 0;return K(q,L)}async function z1(){try{return await z.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H1(q,L,Z){if(!X)throw new M("toolbox_near_no_signer");let H=await O(),{utils:V}=await import("near-api-js"),Y=V.format.parseNearAmount(Z)||"0";return(await H.createAccount(q,V.PublicKey.fromString(L),BigInt(Y))).transaction.hash}async function e(q){try{if(!X)throw new M("toolbox_near_no_signer");let{transactions:L}=await import("near-api-js"),{contractId:Z,methodName:H,args:V,deposit:Y}=q,x=await O(),B=await K({args:V||{},contractId:Z,methodName:H}),_=L.functionCall(H,V||{},B.getBaseValue("bigint"),BigInt(Y||"0"));return(await x.signAndSendTransaction({actions:[_],receiverId:Z})).transaction_outcome.id}catch(L){throw new M("toolbox_near_transfer_failed",{error:L})}}async function M1(q){let L=await O();return v({account:L,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function R1(q){if(!X)throw new M("toolbox_near_no_signer");if(q.actions.length===0)throw new M("toolbox_near_empty_batch");return(await(await O()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function D1(q){let L=await O();return s({account:L,contractId:q})}async function j1(q){try{let L=await O(q),Z;try{let H=await L.getBalance();Z=y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:H})}catch{Z=y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:"0"})}return[Z]}catch(L){throw new M("toolbox_near_balance_failed",{error:L})}}async function K(q,L){let Z=await Q(q).when(l,()=>j.SIMPLE_TRANSFER).when(u,(x)=>n(x.methodName)).when(m,(x)=>i(x.actions)).when(d,()=>j.ACCOUNT_CREATION).when(p,()=>j.CONTRACT_DEPLOYMENT).when(o,(x)=>{if(!L)throw new M("toolbox_near_no_account");return x.customEstimator(L)}).otherwise(()=>{throw new M("toolbox_near_invalid_gas_params")}),H=await a(),Y=BigInt(Z)*BigInt(1000000000000)*BigInt(H);return y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:Y})}async function a(){try{return(await z.gasPrice(null)).gas_price||"100000000"}catch(q){return"100000000"}}return{broadcastTransaction:U1,callFunction:e,createContract:M1,createContractFunctionCall:r,createSubAccount:H1,createTransaction:X1,estimateGas:K,estimateTransactionFee:Y1,executeBatchTransaction:R1,getAddress:w,getBalance:j1,getGasPrice:a,getPublicKey:async()=>X?(await X.getPublicKey()).toString():"",getSignerFromPhrase:(q)=>P(q),getSignerFromPrivateKey:S,nep141:D1,provider:z,signTransaction:x1,transfer:$1,validateAddress:await N()}}var t=T(()=>{g();c()});var Z1=T(()=>{t()});var K1={};E1(K1,{tgasToGas:()=>b1,isSimpleTransfer:()=>l,isCustomEstimator:()=>o,isContractDeployment:()=>p,isContractCall:()=>u,isBatchTransaction:()=>m,isAccountCreation:()=>d,getValidateNearAddress:()=>N,getNearToolbox:()=>G1,getNearSignerFromPrivateKey:()=>S,getNearSignerFromPhrase:()=>P,getFullAccessPublicKey:()=>b,getContractMethodGas:()=>n,gasToTGas:()=>v1,estimateBatchGas:()=>i,createNearContract:()=>v,createNEP141Token:()=>s,GAS_COSTS:()=>j});var C1=T(()=>{g();c();t();Z1()});C1();export{b1 as tgasToGas,l as isSimpleTransfer,o as isCustomEstimator,p as isContractDeployment,u as isContractCall,m as isBatchTransaction,d as isAccountCreation,N as getValidateNearAddress,G1 as getNearToolbox,S as getNearSignerFromPrivateKey,P as getNearSignerFromPhrase,b as getFullAccessPublicKey,n as getContractMethodGas,v1 as gasToTGas,i as estimateBatchGas,v as createNearContract,s as createNEP141Token,j as GAS_COSTS};
|
|
1
|
+
var f1=Object.create;var{getPrototypeOf:w1,defineProperty:h,getOwnPropertyNames:B1}=Object;var k1=Object.prototype.hasOwnProperty;var R=(W,J,Q)=>{Q=W!=null?f1(w1(W)):{};let $=J||!W||!W.__esModule?h(Q,"default",{value:W,enumerable:!0}):Q;for(let X of B1(W))if(!k1.call($,X))h($,X,{get:()=>W[X],enumerable:!0});return $};var E1=(W,J)=>{for(var Q in J)h(W,Q,{get:J[Q],enumerable:!0,configurable:!0,set:($)=>J[Q]=()=>$})};var T=(W,J)=>()=>(W&&(J=W(W=0)),J);var D=((W)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(W,{get:(J,Q)=>(typeof require<"u"?require:J)[Q]}):W)(function(W){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+W+'" is not supported')});import{derivationPathToString as T1,SwapKitError as N1}from"@swapkit/helpers";import{KeyPairSigner as P1}from"near-api-js";async function N(){let{validateAccountId:W}=await import("near-sdk-js");return(J)=>{try{return W(J)}catch{let Q=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return J.length>=2&&J.length<=64&&Q.test(J)}}}async function P(W){let{parseSeedPhrase:J}=await import("near-seed-phrase"),{KeyPair:Q}=await import("near-api-js"),$=W.index||0,X=W.derivationPath?T1(W.derivationPath.slice(0,3)):`m/44'/397'/${$}'`,{secretKey:U}=J(W.phrase,X),z=Q.fromString(U);return Q1(z)}async function S(W){let{KeyPair:J}=await import("near-api-js/lib/utils"),Q=J.fromString(W);return Q1(Q)}function Q1(W){return new L1(W)}async function b(W,J){let $=(await W.query({account_id:J,finality:"final",request_type:"view_access_key_list"})).keys.find((O)=>O.access_key.permission==="FullAccess");if(!$)throw new N1("toolbox_near_invalid_address");let{utils:X}=await import("near-api-js"),U=X.PublicKey.fromString($.public_key);return{nonce:$.access_key.nonce||0,publicKey:U}}var L1;var g=T(()=>{L1=class L1 extends P1{#W;constructor(W){super(W);this.#W=W}getAddress(){let W=this.#W.getPublicKey(),J=Buffer.from(W.data).toString("hex");return Promise.resolve(J)}}});function l(W){return"recipient"in W&&"amount"in W&&!("contractId"in W)}function u(W){return"contractId"in W&&"methodName"in W}function m(W){return"actions"in W}function d(W){return"newAccountId"in W}function p(W){return"contractCode"in W}function o(W){return"customEstimator"in W}function i(W){let J=0;for(let Q of W)switch(Q.enum){case"transfer":J+=Number(j.SIMPLE_TRANSFER);break;case"functionCall":J+=Number(j.CONTRACT_CALL);break;case"createAccount":J+=Number(j.ACCOUNT_CREATION);break;case"deployContract":J+=Number(j.CONTRACT_DEPLOYMENT);break;case"addKey":J+=Number(j.ACCESS_KEY_ADDITION);break;case"deleteKey":J+=Number(j.ACCESS_KEY_DELETION);break;case"stake":J+=Number(j.STAKE);break;default:J+=Number(j.CONTRACT_CALL)}return J.toString()}function n(W){if(W==="ft_transfer"||W==="ft_transfer_call")return j.TOKEN_TRANSFER;if(W==="storage_deposit")return j.STORAGE_DEPOSIT;return j.CONTRACT_CALL}function b1(W){return(BigInt(W)*BigInt(1000000000000)).toString()}function v1(W){return(BigInt(W)/BigInt(1000000000000)).toString()}var j;var c=T(()=>{j={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"100",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"100",TOKEN_TRANSFER:"100"}});async function v({account:W,contractId:J,viewMethods:Q,changeMethods:$}){let{Contract:X}=await import("near-api-js");return new X(W,J,{changeMethods:$,useLocalViewExecution:!0,viewMethods:Q})}async function s({contractId:W,account:J}){let Q=(await import("bn.js")).default,$=await v({account:J,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:W,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),X=async(U)=>{if(!await $.storage_balance_of({account_id:U})){let w=(await $.storage_balance_bounds())?.min||"1250000000000000000000";await $.storage_deposit({account_id:U},new Q("100000000000000"),new Q(w))}};return{balanceOf:(U)=>$.ft_balance_of({account_id:U}),contract:$,ensureStorage:X,metadata:()=>$.ft_metadata(),storageBalanceOf:(U)=>$.storage_balance_of({account_id:U}),storageDeposit:(U,z)=>$.storage_deposit({account_id:U},new Q("100000000000000"),new Q(z||"1250000000000000000000")),totalSupply:()=>$.ft_total_supply(),transfer:async(U,z,O)=>{return await X(U),$.ft_transfer({amount:z,memo:O,receiver_id:U},new Q("100000000000000"),new Q("1"))},transferCall:async(U,z,O,w)=>{return await X(U),$.ft_transfer_call({amount:z,memo:w,msg:O,receiver_id:U},new Q("100000000000000"),new Q("1"))}}}import{AssetValue as y,BaseDecimal as G,Chain as F,getRPCUrl as y1,SwapKitError as M}from"@swapkit/helpers";async function G1(W){let{P:J,match:Q}=await import("ts-pattern"),{providers:$}=await import("near-api-js"),X=await Q(W).with({phrase:J.string},async(q)=>{return await P(q)}).with({signer:J.any},({signer:q})=>q).otherwise(()=>{return}),U=await y1(F.Near),z=new $.JsonRpcProvider({url:U});async function O(q){let{Account:L}=await import("near-api-js"),Z=q||await w();return new L(Z,z,X)}async function w(){if(!X)throw new M("toolbox_near_no_signer");return await X.getAddress()}async function $1(q){if(!X)throw new M("toolbox_near_no_signer");let{recipient:L,assetValue:Z}=q;if(!(await N())(L))throw new M("toolbox_near_invalid_address");let V=await O();if(Z.isGasAsset===!1){let Y=Z.address;if(!Y)throw new M("toolbox_near_missing_contract_address");let x=Z.getBaseValue("string");return e({args:{amount:x,memo:q.memo,receiver_id:L},contractId:Y,methodName:"ft_transfer"})}try{let Y=Z.getBaseValue("string");return(await V.transfer({amount:Y,receiverId:L})).transaction_outcome.id}catch(Y){throw new M("toolbox_near_transfer_failed",{error:Y})}}async function X1(q){let{recipient:L,assetValue:Z,memo:H,feeRate:V,attachedDeposit:Y,sender:x}=q,B=await N();if(!B(L))throw new M("toolbox_near_invalid_address",{address:L});if(!B(x))throw new M("toolbox_near_invalid_address",{address:x});if(!Z.isGasAsset){let J1=Z.address;if(!J1)throw new M("toolbox_near_missing_contract_address");return r({args:{amount:Z.getBaseValue("string"),memo:H||null,receiver_id:L},attachedDeposit:"1",contractId:J1,gas:V.toString()||"100000000000000",methodName:"ft_transfer",sender:x})}let{publicKey:_,nonce:k}=await b(z,x),C=Z.getBaseValue("bigint"),{SCHEMA:I}=await import("near-api-js/lib/transaction"),{transactions:E,utils:A}=await import("near-api-js"),W1=[E.transfer(C)];if(H&&Y)W1.push(E.functionCall("memo",{memo:H},BigInt(V),BigInt(Y)));let O1=await z.block({finality:"final"}),q1=A.serialize.base_decode(O1.header.hash),V1=E.createTransaction(x,_,L,k,W1,q1),F1=A.serialize.serialize(I.Transaction,V1),_1=Buffer.from(F1).toString("base64");return{details:{blockHash:A.serialize.base_encode(q1),nonce:k,signerId:x},publicKey:_.toString(),serialized:_1}}async function r(q){let{sender:L}=q,{publicKey:Z,nonce:H}=await b(z,L),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:Y,utils:x}=await import("near-api-js"),B=await z.block({finality:"final"}),_=x.serialize.base_decode(B.header.hash),k=[Y.functionCall(q.methodName,Buffer.from(JSON.stringify(q.args)),BigInt(q.gas),BigInt(q.attachedDeposit))],C=Y.createTransaction(L,Z,q.contractId,H,k,_),I=x.serialize.serialize(V.Transaction,C),E=Buffer.from(I).toString("base64");return{details:{blockHash:x.serialize.base_encode(_),methodName:q.methodName,nonce:H,receiverId:q.contractId,signerId:L},publicKey:Z.toString(),serialized:E}}async function x1(q){if(!X)throw new M("toolbox_near_no_signer");let[L,Z]=await X.signTransaction(q);return Z}async function U1(q){return(await z.sendTransaction(q)).transaction.hash}async function Y1(q){if("assetValue"in q){let V=BigInt("115123062500")+BigInt("108059500000"),Y=await z1(),x=V*BigInt(Y.toString());return y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:x.toString()})}let L=X?await O():void 0;return K(q,L)}async function z1(){try{return await z.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H1(q,L,Z){if(!X)throw new M("toolbox_near_no_signer");let H=await O(),{utils:V}=await import("near-api-js"),Y=V.format.parseNearAmount(Z)||"0";return(await H.createAccount(q,V.PublicKey.fromString(L),BigInt(Y))).transaction.hash}async function e(q){try{if(!X)throw new M("toolbox_near_no_signer");let{transactions:L}=await import("near-api-js"),{contractId:Z,methodName:H,args:V,deposit:Y}=q,x=await O(),B=await K({args:V||{},contractId:Z,methodName:H}),_=L.functionCall(H,V||{},B.getBaseValue("bigint"),BigInt(Y||"0"));return(await x.signAndSendTransaction({actions:[_],receiverId:Z})).transaction_outcome.id}catch(L){throw new M("toolbox_near_transfer_failed",{error:L})}}async function M1(q){let L=await O();return v({account:L,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function R1(q){if(!X)throw new M("toolbox_near_no_signer");if(q.actions.length===0)throw new M("toolbox_near_empty_batch");return(await(await O()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function D1(q){let L=await O();return s({account:L,contractId:q})}async function j1(q){try{let L=await O(q),Z;try{let H=await L.getBalance();Z=y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:H})}catch{Z=y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:"0"})}return[Z]}catch(L){throw new M("toolbox_near_balance_failed",{error:L})}}async function K(q,L){let Z=await Q(q).when(l,()=>j.SIMPLE_TRANSFER).when(u,(x)=>n(x.methodName)).when(m,(x)=>i(x.actions)).when(d,()=>j.ACCOUNT_CREATION).when(p,()=>j.CONTRACT_DEPLOYMENT).when(o,(x)=>{if(!L)throw new M("toolbox_near_no_account");return x.customEstimator(L)}).otherwise(()=>{throw new M("toolbox_near_invalid_gas_params")}),H=await a(),Y=BigInt(Z)*BigInt(1000000000000)*BigInt(H);return y.from({chain:F.Near,fromBaseDecimal:G[F.Near],value:Y})}async function a(){try{return(await z.gasPrice(null)).gas_price||"100000000"}catch(q){return"100000000"}}return{broadcastTransaction:U1,callFunction:e,createContract:M1,createContractFunctionCall:r,createSubAccount:H1,createTransaction:X1,estimateGas:K,estimateTransactionFee:Y1,executeBatchTransaction:R1,getAddress:w,getBalance:j1,getGasPrice:a,getPublicKey:async()=>X?(await X.getPublicKey()).toString():"",getSignerFromPhrase:(q)=>P(q),getSignerFromPrivateKey:S,nep141:D1,provider:z,signTransaction:x1,transfer:$1,validateAddress:await N()}}var t=T(()=>{g();c()});var Z1=T(()=>{t()});var K1={};E1(K1,{tgasToGas:()=>b1,isSimpleTransfer:()=>l,isCustomEstimator:()=>o,isContractDeployment:()=>p,isContractCall:()=>u,isBatchTransaction:()=>m,isAccountCreation:()=>d,getValidateNearAddress:()=>N,getNearToolbox:()=>G1,getNearSignerFromPrivateKey:()=>S,getNearSignerFromPhrase:()=>P,getFullAccessPublicKey:()=>b,getContractMethodGas:()=>n,gasToTGas:()=>v1,estimateBatchGas:()=>i,createNearContract:()=>v,createNEP141Token:()=>s,GAS_COSTS:()=>j});var C1=T(()=>{g();c();t();Z1()});C1();export{b1 as tgasToGas,l as isSimpleTransfer,o as isCustomEstimator,p as isContractDeployment,u as isContractCall,m as isBatchTransaction,d as isAccountCreation,N as getValidateNearAddress,G1 as getNearToolbox,S as getNearSignerFromPrivateKey,P as getNearSignerFromPhrase,b as getFullAccessPublicKey,n as getContractMethodGas,v1 as gasToTGas,i as estimateBatchGas,v as createNearContract,s as createNEP141Token,j as GAS_COSTS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=2A19073ADA46116B64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"import type {\n ChainSigner,\n DerivationPathArray,\n GenericCreateTransactionParams,\n GenericTransferParams,\n} from \"@swapkit/helpers\";\nimport type { KeyPairSigner, Signer, transactions } from \"near-api-js\";\n\ninterface NearKeyPairSigner\n extends KeyPairSigner,\n Omit<ChainSigner<typeof transactions.Transaction, typeof transactions.SignedTransaction>, \"signTransaction\"> {}\n\ninterface NearGeneralSigner\n extends Signer,\n Omit<ChainSigner<typeof transactions.Transaction, typeof transactions.SignedTransaction>, \"signTransaction\"> {}\n\n// Extend both ChainSigner and NEAR's Signer class, omitting signTransaction\nexport type NearSigner = NearKeyPairSigner | NearGeneralSigner;\n\nexport type NearToolboxParams =\n | { signer?: NearSigner; accountId?: string }\n | { phrase?: string; index?: number; derivationPath?: DerivationPathArray };\n\nexport interface NearTransferParams extends GenericTransferParams {}\n\nexport interface NearConfig {\n networkId: \"mainnet\" | \"testnet\" | \"betanet\";\n nodeUrl: string;\n walletUrl?: string;\n helperUrl?: string;\n keyStore?: any;\n}\n\nexport interface NearFunctionCallParams {\n contractId: string;\n methodName: string;\n args: Uint8Array | Record<string, any>;\n deposit?: bigint | string | number;\n gas?: bigint | string | number;\n}\n\nexport interface NearCreateTransactionParams extends GenericCreateTransactionParams {\n // NEAR-specific options\n attachedDeposit?: string;\n // Function call parameters\n functionCall?: { methodName: string; args: object; attachedDeposit: string };\n}\n\nexport * from \"./toolbox\";\nexport * from \"./types/contract\";\nexport * from \"./types/nep141\";\nexport * from \"./types/toolbox\";\n",
|
|
10
10
|
"import type { getNearToolbox } from \"./toolbox\";\n\nexport * from \"./helpers/core\";\nexport * from \"./helpers/gasEstimation\";\nexport * from \"./helpers/nep141\";\nexport * from \"./toolbox\";\nexport * from \"./types\";\n\nexport type NearWallet = Awaited<ReturnType<typeof getNearToolbox>>;\n\nexport type {\n NearCallParams,\n NearContractInterface,\n NearGasEstimateParams,\n} from \"./types/contract\";\nexport type {\n FungibleTokenMetadata,\n NEP141Contract,\n StorageBalance,\n StorageBalanceBounds,\n TokenTransferParams,\n} from \"./types/nep141\";\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "2A19073ADA46116B64756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
package/dist/src/radix/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var v=Object.create;var{getPrototypeOf:x,defineProperty:U,getOwnPropertyNames:Z,getOwnPropertyDescriptor:B}=Object,_=Object.prototype.hasOwnProperty;var $=(j,z,H)=>{H=j!=null?v(x(j)):{};let J=z||!j||!j.__esModule?U(H,"default",{value:j,enumerable:!0}):H;for(let K of Z(j))if(!_.call(J,K))U(J,K,{get:()=>j[K],enumerable:!0});return J},Y=new WeakMap,I=(j)=>{var z=Y.get(j),H;if(z)return z;if(z=U({},"__esModule",{value:!0}),j&&typeof j==="object"||typeof j==="function")Z(j).map((J)=>!_.call(z,J)&&U(z,J,{get:()=>j[J],enumerable:!(H=B(j,J))||H.enumerable}));return Y.set(j,z),z};var S=(j,z)=>{for(var H in z)U(j,H,{get:z[H],enumerable:!0,configurable:!0,set:(J)=>z[H]=()=>J})};var T=(j,z)=>()=>(j&&(z=j(j=0)),z);var P={};S(P,{radixValidateAddress:()=>q,RadixToolbox:()=>F});module.exports=I(P);function q(j){return j.startsWith("account_rdx1")&&j.length===66}function C({networkApi:j}){return async function
|
|
1
|
+
var v=Object.create;var{getPrototypeOf:x,defineProperty:U,getOwnPropertyNames:Z,getOwnPropertyDescriptor:B}=Object,_=Object.prototype.hasOwnProperty;var $=(j,z,H)=>{H=j!=null?v(x(j)):{};let J=z||!j||!j.__esModule?U(H,"default",{value:j,enumerable:!0}):H;for(let K of Z(j))if(!_.call(J,K))U(J,K,{get:()=>j[K],enumerable:!0});return J},Y=new WeakMap,I=(j)=>{var z=Y.get(j),H;if(z)return z;if(z=U({},"__esModule",{value:!0}),j&&typeof j==="object"||typeof j==="function")Z(j).map((J)=>!_.call(z,J)&&U(z,J,{get:()=>j[J],enumerable:!(H=B(j,J))||H.enumerable}));return Y.set(j,z),z};var S=(j,z)=>{for(var H in z)U(j,H,{get:z[H],enumerable:!0,configurable:!0,set:(J)=>z[H]=()=>J})};var T=(j,z)=>()=>(j&&(z=j(j=0)),z);var P={};S(P,{radixValidateAddress:()=>q,RadixToolbox:()=>F});module.exports=I(P);function q(j){return j.startsWith("account_rdx1")&&j.length===66}function C({networkApi:j}){return async function(H){let J=await D({address:H,networkApi:j});return h({networkApi:j,resources:J})}}async function D({address:j,networkApi:z}){let H=!0,J,K=[],L=await E(z);while(H){let V={address:j,at_ledger_state:{state_version:L},cursor:J,limit_per_page:100},O=await z.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:V});if(K=K.concat(O.items),O.next_cursor)J=O.next_cursor;else H=!1}return K}async function h({resources:j,networkApi:z}){let H=[],J=50,K=[];for(let L=0;L<j.length;L+=50)K.push(j.slice(L,L+50));for(let L of K){let V=L.map((M)=>M.resource_address),O=await z.state.getEntityDetailsVaultAggregated(V),X=new Map;for(let M of O)if(M.details!==void 0){let Q=M.metadata?.items.find((G)=>G.key==="symbol"),W=Q?.value.typed.type==="String"?Q.value.typed.value:"?";if(M.details.type==="FungibleResource")X.set(M.address,{decimals:M.details.divisibility,symbol:W})}for(let M of L)if(M.aggregation_level==="Global"){let Q=X.get(M.resource_address)||{decimals:0,symbol:"?"},W=N.AssetValue.from({asset:Q.symbol!==N.Chain.Radix?`${N.Chain.Radix}.${Q.symbol}-${M.resource_address}`:"XRD.XRD",value:M.amount});H.push(W)}}return H}function E(j){return j.status.getCurrent().then((z)=>z.ledger_state.state_version)}var N,F=async({dappConfig:j}={})=>{let{RadixDappToolkit:z}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:H}=await import("@radixdlt/babylon-gateway-api-sdk"),J=j||N.SKConfig.get("integrations").radix,K=z({...J,networkId:J.network?.networkId||1}),L=H.initialize(K.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:C({networkApi:L}),networkApi:L,signAndBroadcast:()=>{throw new N.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:q}};var R=T(()=>{N=require("@swapkit/helpers")});R();
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=FCD0FC3A956E349764756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport { AssetValue, Chain, SKConfig, type SKConfigIntegrations, SwapKitError } from \"@swapkit/helpers\";\n\nexport type RadixWallet = Awaited<ReturnType<typeof RadixToolbox>>;\n\ntype RadixGetBalanceParams = { address: string; networkApi: GatewayApiClient };\n// Could not find anything sync in SDK, ask Radix team\nexport function radixValidateAddress(address: string) {\n return address.startsWith(\"account_rdx1\") && address.length === 66;\n}\n\nfunction getBalance({ networkApi }: { networkApi: GatewayApiClient }) {\n return async function getBalance(address: string) {\n const fungibleResources = await fetchFungibleResources({ address, networkApi });\n const fungibleBalances = convertResourcesToBalances({ networkApi, resources: fungibleResources });\n return fungibleBalances;\n };\n}\n\nasync function fetchFungibleResources({\n address,\n networkApi,\n}: RadixGetBalanceParams): Promise<FungibleResourcesCollectionItem[]> {\n let hasNextPage = true;\n let nextCursor: string | undefined;\n let fungibleResources: FungibleResourcesCollectionItem[] = [];\n const stateVersion = await currentStateVersion(networkApi);\n while (hasNextPage) {\n const stateEntityFungiblesPageRequest: StateEntityFungiblesPageRequest = {\n address: address,\n at_ledger_state: { state_version: stateVersion },\n cursor: nextCursor,\n limit_per_page: 100,\n };\n\n const stateEntityFungiblesPageResponse: StateEntityFungiblesPageResponse =\n await networkApi.state.innerClient.entityFungiblesPage({\n stateEntityFungiblesPageRequest: stateEntityFungiblesPageRequest,\n });\n\n fungibleResources = fungibleResources.concat(stateEntityFungiblesPageResponse.items);\n if (stateEntityFungiblesPageResponse.next_cursor) {\n nextCursor = stateEntityFungiblesPageResponse.next_cursor;\n } else {\n hasNextPage = false;\n }\n }\n return fungibleResources;\n}\n\nasync function convertResourcesToBalances({\n resources,\n networkApi,\n}: {\n resources: FungibleResourcesCollectionItem[]; //| NonFungibleResourcesCollectionItem[];\n networkApi: GatewayApiClient;\n}): Promise<AssetValue[]> {\n const balances: AssetValue[] = [];\n const BATCH_SIZE = 50;\n\n // Split resources into batches of up to 50 items\n const resourceBatches: FungibleResourcesCollectionItem[][] = [];\n for (let i = 0; i < resources.length; i += BATCH_SIZE) {\n resourceBatches.push(resources.slice(i, i + BATCH_SIZE));\n }\n\n for (const batch of resourceBatches) {\n const addresses = batch.map((item) => item.resource_address);\n const response: StateEntityDetailsVaultResponseItem[] =\n await networkApi.state.getEntityDetailsVaultAggregated(addresses);\n\n const divisibilities = new Map<string, { decimals: number; symbol: string }>();\n\n for (const result of response) {\n if (result.details !== undefined) {\n const metaDataSymbol = result.metadata?.items.find((item) => item.key === \"symbol\");\n const symbol = metaDataSymbol?.value.typed.type === \"String\" ? metaDataSymbol.value.typed.value : \"?\";\n\n if (result.details.type === \"FungibleResource\") {\n divisibilities.set(result.address, { decimals: result.details.divisibility, symbol });\n }\n }\n }\n\n for (const item of batch) {\n if (item.aggregation_level === \"Global\") {\n const assetInfo = divisibilities.get(item.resource_address) || { decimals: 0, symbol: \"?\" };\n\n const balance = AssetValue.from({\n asset:\n assetInfo.symbol !== Chain.Radix\n ? `${Chain.Radix}.${assetInfo.symbol}-${item.resource_address}`\n : \"XRD.XRD\",\n value: item.amount,\n });\n balances.push(balance);\n }\n }\n }\n\n return balances;\n}\n\nfunction currentStateVersion(networkApi: GatewayApiClient) {\n return networkApi.status.getCurrent().then((status) => status.ledger_state.state_version);\n}\n\nexport const RadixToolbox = async ({ dappConfig }: { dappConfig?: SKConfigIntegrations[\"radix\"] } = {}) => {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const config = dappConfig || SKConfig.get(\"integrations\").radix;\n\n const radixToolkit = RadixDappToolkit({ ...config, networkId: config.network?.networkId || 1 });\n\n const networkApi = GatewayApiClient.initialize(radixToolkit.gatewayApi.clientConfig);\n\n return {\n getAddress: () => \"\",\n getBalance: getBalance({ networkApi }),\n networkApi,\n signAndBroadcast: (() => {\n throw new SwapKitError(\"toolbox_radix_method_not_supported\", { method: \"signAndBroadcast\" });\n }) as (params: any) => Promise<string>,\n validateAddress: radixValidateAddress,\n };\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "wxBAaO,SAAS,CAAoB,CAAC,EAAiB,CACpD,OAAO,EAAQ,WAAW,cAAc,GAAK,EAAQ,SAAW,GAGlE,SAAS,CAAU,EAAG,cAAgD,CACpE,OAAO,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "wxBAaO,SAAS,CAAoB,CAAC,EAAiB,CACpD,OAAO,EAAQ,WAAW,cAAc,GAAK,EAAQ,SAAW,GAGlE,SAAS,CAAU,EAAG,cAAgD,CACpE,OAAO,cAAyB,CAAC,EAAiB,CAChD,IAAM,EAAoB,MAAM,EAAuB,CAAE,UAAS,YAAW,CAAC,EAE9E,OADyB,EAA2B,CAAE,aAAY,UAAW,CAAkB,CAAC,GAKpG,eAAe,CAAsB,EACnC,UACA,cACoE,CACpE,IAAI,EAAc,GACd,EACA,EAAuD,CAAC,EACtD,EAAe,MAAM,EAAoB,CAAU,EACzD,MAAO,EAAa,CAClB,IAAM,EAAmE,CACvE,QAAS,EACT,gBAAiB,CAAE,cAAe,CAAa,EAC/C,OAAQ,EACR,eAAgB,GAClB,EAEM,EACJ,MAAM,EAAW,MAAM,YAAY,oBAAoB,CACrD,gCAAiC,CACnC,CAAC,EAGH,GADA,EAAoB,EAAkB,OAAO,EAAiC,KAAK,EAC/E,EAAiC,YACnC,EAAa,EAAiC,YAE9C,OAAc,GAGlB,OAAO,EAGT,eAAe,CAA0B,EACvC,YACA,cAIwB,CACxB,IAAM,EAAyB,CAAC,EAC1B,EAAa,GAGb,EAAuD,CAAC,EAC9D,QAAS,EAAI,EAAG,EAAI,EAAU,OAAQ,GAJnB,GAKjB,EAAgB,KAAK,EAAU,MAAM,EAAG,EALvB,EAKqC,CAAC,EAGzD,QAAW,KAAS,EAAiB,CACnC,IAAM,EAAY,EAAM,IAAI,CAAC,IAAS,EAAK,gBAAgB,EACrD,EACJ,MAAM,EAAW,MAAM,gCAAgC,CAAS,EAE5D,EAAiB,IAAI,IAE3B,QAAW,KAAU,EACnB,GAAI,EAAO,UAAY,OAAW,CAChC,IAAM,EAAiB,EAAO,UAAU,MAAM,KAAK,CAAC,IAAS,EAAK,MAAQ,QAAQ,EAC5E,EAAS,GAAgB,MAAM,MAAM,OAAS,SAAW,EAAe,MAAM,MAAM,MAAQ,IAElG,GAAI,EAAO,QAAQ,OAAS,mBAC1B,EAAe,IAAI,EAAO,QAAS,CAAE,SAAU,EAAO,QAAQ,aAAc,QAAO,CAAC,EAK1F,QAAW,KAAQ,EACjB,GAAI,EAAK,oBAAsB,SAAU,CACvC,IAAM,EAAY,EAAe,IAAI,EAAK,gBAAgB,GAAK,CAAE,SAAU,EAAG,OAAQ,GAAI,EAEpF,EAAU,aAAW,KAAK,CAC9B,MACE,EAAU,SAAW,QAAM,MACvB,GAAG,QAAM,SAAS,EAAU,UAAU,EAAK,mBAC3C,UACN,MAAO,EAAK,MACd,CAAC,EACD,EAAS,KAAK,CAAO,GAK3B,OAAO,EAGT,SAAS,CAAmB,CAAC,EAA8B,CACzD,OAAO,EAAW,OAAO,WAAW,EAAE,KAAK,CAAC,IAAW,EAAO,aAAa,aAAa,MAvG1F,EA0Ga,EAAe,OAAS,cAA+D,CAAC,IAAM,CACzG,IAAQ,oBAAqB,KAAa,yCAClC,oBAAqB,KAAa,6CACpC,EAAS,GAAc,WAAS,IAAI,cAAc,EAAE,MAEpD,EAAe,EAAiB,IAAK,EAAQ,UAAW,EAAO,SAAS,WAAa,CAAE,CAAC,EAExF,EAAa,EAAiB,WAAW,EAAa,WAAW,YAAY,EAEnF,MAAO,CACL,WAAY,IAAM,GAClB,WAAY,EAAW,CAAE,YAAW,CAAC,EACrC,aACA,iBAAmB,IAAM,CACvB,MAAM,IAAI,eAAa,qCAAsC,CAAE,OAAQ,kBAAmB,CAAC,GAE7F,gBAAiB,CACnB,gBA3HF",
|
|
8
|
+
"debugId": "FCD0FC3A956E349764756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/radix/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var q=Object.create;var{getPrototypeOf:G,defineProperty:V,getOwnPropertyNames:v}=Object;var x=Object.prototype.hasOwnProperty;var X=(j,z,H)=>{H=j!=null?q(G(j)):{};let J=z||!j||!j.__esModule?V(H,"default",{value:j,enumerable:!0}):H;for(let K of v(j))if(!x.call(J,K))V(J,K,{get:()=>j[K],enumerable:!0});return J};var B=(j,z)=>{for(var H in z)V(j,H,{get:z[H],enumerable:!0,configurable:!0,set:(J)=>z[H]=()=>J})};var I=(j,z)=>()=>(j&&(z=j(j=0)),z);var Y=((j)=>typeof require
|
|
1
|
+
var q=Object.create;var{getPrototypeOf:G,defineProperty:V,getOwnPropertyNames:v}=Object;var x=Object.prototype.hasOwnProperty;var X=(j,z,H)=>{H=j!=null?q(G(j)):{};let J=z||!j||!j.__esModule?V(H,"default",{value:j,enumerable:!0}):H;for(let K of v(j))if(!x.call(J,K))V(J,K,{get:()=>j[K],enumerable:!0});return J};var B=(j,z)=>{for(var H in z)V(j,H,{get:z[H],enumerable:!0,configurable:!0,set:(J)=>z[H]=()=>J})};var I=(j,z)=>()=>(j&&(z=j(j=0)),z);var Y=((j)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(j,{get:(z,H)=>(typeof require<"u"?require:z)[H]}):j)(function(j){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+j+'" is not supported')});var R={};B(R,{radixValidateAddress:()=>_,RadixToolbox:()=>P});import{AssetValue as S,Chain as Z,SKConfig as T,SwapKitError as C}from"@swapkit/helpers";function _(j){return j.startsWith("account_rdx1")&&j.length===66}function D({networkApi:j}){return async function(H){let J=await h({address:H,networkApi:j});return E({networkApi:j,resources:J})}}async function h({address:j,networkApi:z}){let H=!0,J,K=[],L=await F(z);while(H){let Q={address:j,at_ledger_state:{state_version:L},cursor:J,limit_per_page:100},N=await z.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:Q});if(K=K.concat(N.items),N.next_cursor)J=N.next_cursor;else H=!1}return K}async function E({resources:j,networkApi:z}){let H=[],J=50,K=[];for(let L=0;L<j.length;L+=50)K.push(j.slice(L,L+50));for(let L of K){let Q=L.map((M)=>M.resource_address),N=await z.state.getEntityDetailsVaultAggregated(Q),W=new Map;for(let M of N)if(M.details!==void 0){let O=M.metadata?.items.find(($)=>$.key==="symbol"),U=O?.value.typed.type==="String"?O.value.typed.value:"?";if(M.details.type==="FungibleResource")W.set(M.address,{decimals:M.details.divisibility,symbol:U})}for(let M of L)if(M.aggregation_level==="Global"){let O=W.get(M.resource_address)||{decimals:0,symbol:"?"},U=S.from({asset:O.symbol!==Z.Radix?`${Z.Radix}.${O.symbol}-${M.resource_address}`:"XRD.XRD",value:M.amount});H.push(U)}}return H}function F(j){return j.status.getCurrent().then((z)=>z.ledger_state.state_version)}var P=async({dappConfig:j}={})=>{let{RadixDappToolkit:z}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:H}=await import("@radixdlt/babylon-gateway-api-sdk"),J=j||T.get("integrations").radix,K=z({...J,networkId:J.network?.networkId||1}),L=H.initialize(K.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:D({networkApi:L}),networkApi:L,signAndBroadcast:()=>{throw new C("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:_}};var f=()=>{};f();export{_ as radixValidateAddress,P as RadixToolbox};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=D99A89EEA6D2B0D264756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport { AssetValue, Chain, SKConfig, type SKConfigIntegrations, SwapKitError } from \"@swapkit/helpers\";\n\nexport type RadixWallet = Awaited<ReturnType<typeof RadixToolbox>>;\n\ntype RadixGetBalanceParams = { address: string; networkApi: GatewayApiClient };\n// Could not find anything sync in SDK, ask Radix team\nexport function radixValidateAddress(address: string) {\n return address.startsWith(\"account_rdx1\") && address.length === 66;\n}\n\nfunction getBalance({ networkApi }: { networkApi: GatewayApiClient }) {\n return async function getBalance(address: string) {\n const fungibleResources = await fetchFungibleResources({ address, networkApi });\n const fungibleBalances = convertResourcesToBalances({ networkApi, resources: fungibleResources });\n return fungibleBalances;\n };\n}\n\nasync function fetchFungibleResources({\n address,\n networkApi,\n}: RadixGetBalanceParams): Promise<FungibleResourcesCollectionItem[]> {\n let hasNextPage = true;\n let nextCursor: string | undefined;\n let fungibleResources: FungibleResourcesCollectionItem[] = [];\n const stateVersion = await currentStateVersion(networkApi);\n while (hasNextPage) {\n const stateEntityFungiblesPageRequest: StateEntityFungiblesPageRequest = {\n address: address,\n at_ledger_state: { state_version: stateVersion },\n cursor: nextCursor,\n limit_per_page: 100,\n };\n\n const stateEntityFungiblesPageResponse: StateEntityFungiblesPageResponse =\n await networkApi.state.innerClient.entityFungiblesPage({\n stateEntityFungiblesPageRequest: stateEntityFungiblesPageRequest,\n });\n\n fungibleResources = fungibleResources.concat(stateEntityFungiblesPageResponse.items);\n if (stateEntityFungiblesPageResponse.next_cursor) {\n nextCursor = stateEntityFungiblesPageResponse.next_cursor;\n } else {\n hasNextPage = false;\n }\n }\n return fungibleResources;\n}\n\nasync function convertResourcesToBalances({\n resources,\n networkApi,\n}: {\n resources: FungibleResourcesCollectionItem[]; //| NonFungibleResourcesCollectionItem[];\n networkApi: GatewayApiClient;\n}): Promise<AssetValue[]> {\n const balances: AssetValue[] = [];\n const BATCH_SIZE = 50;\n\n // Split resources into batches of up to 50 items\n const resourceBatches: FungibleResourcesCollectionItem[][] = [];\n for (let i = 0; i < resources.length; i += BATCH_SIZE) {\n resourceBatches.push(resources.slice(i, i + BATCH_SIZE));\n }\n\n for (const batch of resourceBatches) {\n const addresses = batch.map((item) => item.resource_address);\n const response: StateEntityDetailsVaultResponseItem[] =\n await networkApi.state.getEntityDetailsVaultAggregated(addresses);\n\n const divisibilities = new Map<string, { decimals: number; symbol: string }>();\n\n for (const result of response) {\n if (result.details !== undefined) {\n const metaDataSymbol = result.metadata?.items.find((item) => item.key === \"symbol\");\n const symbol = metaDataSymbol?.value.typed.type === \"String\" ? metaDataSymbol.value.typed.value : \"?\";\n\n if (result.details.type === \"FungibleResource\") {\n divisibilities.set(result.address, { decimals: result.details.divisibility, symbol });\n }\n }\n }\n\n for (const item of batch) {\n if (item.aggregation_level === \"Global\") {\n const assetInfo = divisibilities.get(item.resource_address) || { decimals: 0, symbol: \"?\" };\n\n const balance = AssetValue.from({\n asset:\n assetInfo.symbol !== Chain.Radix\n ? `${Chain.Radix}.${assetInfo.symbol}-${item.resource_address}`\n : \"XRD.XRD\",\n value: item.amount,\n });\n balances.push(balance);\n }\n }\n }\n\n return balances;\n}\n\nfunction currentStateVersion(networkApi: GatewayApiClient) {\n return networkApi.status.getCurrent().then((status) => status.ledger_state.state_version);\n}\n\nexport const RadixToolbox = async ({ dappConfig }: { dappConfig?: SKConfigIntegrations[\"radix\"] } = {}) => {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const config = dappConfig || SKConfig.get(\"integrations\").radix;\n\n const radixToolkit = RadixDappToolkit({ ...config, networkId: config.network?.networkId || 1 });\n\n const networkApi = GatewayApiClient.initialize(radixToolkit.gatewayApi.clientConfig);\n\n return {\n getAddress: () => \"\",\n getBalance: getBalance({ networkApi }),\n networkApi,\n signAndBroadcast: (() => {\n throw new SwapKitError(\"toolbox_radix_method_not_supported\", { method: \"signAndBroadcast\" });\n }) as (params: any) => Promise<string>,\n validateAddress: radixValidateAddress,\n };\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "qvBAOA,qBAAS,WAAY,cAAO,kBAAqC,yBAM1D,SAAS,CAAoB,CAAC,EAAiB,CACpD,OAAO,EAAQ,WAAW,cAAc,GAAK,EAAQ,SAAW,GAGlE,SAAS,CAAU,EAAG,cAAgD,CACpE,OAAO,cAAyB,CAAC,EAAiB,CAChD,IAAM,EAAoB,MAAM,EAAuB,CAAE,UAAS,YAAW,CAAC,EAE9E,OADyB,EAA2B,CAAE,aAAY,UAAW,CAAkB,CAAC,GAKpG,eAAe,CAAsB,EACnC,UACA,cACoE,CACpE,IAAI,EAAc,GACd,EACA,EAAuD,CAAC,EACtD,EAAe,MAAM,EAAoB,CAAU,EACzD,MAAO,EAAa,CAClB,IAAM,EAAmE,CACvE,QAAS,EACT,gBAAiB,CAAE,cAAe,CAAa,EAC/C,OAAQ,EACR,eAAgB,GAClB,EAEM,EACJ,MAAM,EAAW,MAAM,YAAY,oBAAoB,CACrD,gCAAiC,CACnC,CAAC,EAGH,GADA,EAAoB,EAAkB,OAAO,EAAiC,KAAK,EAC/E,EAAiC,YACnC,EAAa,EAAiC,YAE9C,OAAc,GAGlB,OAAO,EAGT,eAAe,CAA0B,EACvC,YACA,cAIwB,CACxB,IAAM,EAAyB,CAAC,EAC1B,EAAa,GAGb,EAAuD,CAAC,EAC9D,QAAS,EAAI,EAAG,EAAI,EAAU,OAAQ,GAJnB,GAKjB,EAAgB,KAAK,EAAU,MAAM,EAAG,EALvB,EAKqC,CAAC,EAGzD,QAAW,KAAS,EAAiB,CACnC,IAAM,EAAY,EAAM,IAAI,CAAC,IAAS,EAAK,gBAAgB,EACrD,EACJ,MAAM,EAAW,MAAM,gCAAgC,CAAS,EAE5D,EAAiB,IAAI,IAE3B,QAAW,KAAU,EACnB,GAAI,EAAO,UAAY,OAAW,CAChC,IAAM,EAAiB,EAAO,UAAU,MAAM,KAAK,CAAC,IAAS,EAAK,MAAQ,QAAQ,EAC5E,EAAS,GAAgB,MAAM,MAAM,OAAS,SAAW,EAAe,MAAM,MAAM,MAAQ,IAElG,GAAI,EAAO,QAAQ,OAAS,mBAC1B,EAAe,IAAI,EAAO,QAAS,CAAE,SAAU,EAAO,QAAQ,aAAc,QAAO,CAAC,EAK1F,QAAW,KAAQ,EACjB,GAAI,EAAK,oBAAsB,SAAU,CACvC,IAAM,EAAY,EAAe,IAAI,EAAK,gBAAgB,GAAK,CAAE,SAAU,EAAG,OAAQ,GAAI,EAEpF,EAAU,EAAW,KAAK,CAC9B,MACE,EAAU,SAAW,EAAM,MACvB,GAAG,EAAM,SAAS,EAAU,UAAU,EAAK,mBAC3C,UACN,MAAO,EAAK,MACd,CAAC,EACD,EAAS,KAAK,CAAO,GAK3B,OAAO,EAGT,SAAS,CAAmB,CAAC,EAA8B,CACzD,OAAO,EAAW,OAAO,WAAW,EAAE,KAAK,CAAC,IAAW,EAAO,aAAa,aAAa,MAG7E,EAAe,OAAS,cAA+D,CAAC,IAAM,CACzG,IAAQ,oBAAqB,KAAa,yCAClC,oBAAqB,KAAa,6CACpC,EAAS,GAAc,EAAS,IAAI,cAAc,EAAE,MAEpD,EAAe,EAAiB,IAAK,EAAQ,UAAW,EAAO,SAAS,WAAa,CAAE,CAAC,EAExF,EAAa,EAAiB,WAAW,EAAa,WAAW,YAAY,EAEnF,MAAO,CACL,WAAY,IAAM,GAClB,WAAY,EAAW,CAAE,YAAW,CAAC,EACrC,aACA,iBAAmB,IAAM,CACvB,MAAM,IAAI,EAAa,qCAAsC,CAAE,OAAQ,kBAAmB,CAAC,GAE7F,gBAAiB,CACnB",
|
|
8
|
+
"debugId": "D99A89EEA6D2B0D264756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import {\n AssetValue,\n BaseDecimal,\n Chain,\n type ChainSigner,\n type GenericTransferParams,\n getRPCUrl,\n SwapKitError,\n SwapKitNumber,\n} from \"@swapkit/helpers\";\nimport type { Transaction } from \"xrpl\";\nimport { Client, isValidAddress, type Payment, Wallet, xrpToDrops } from \"xrpl\";\n\nexport type RippleWallet = Awaited<ReturnType<typeof getRippleToolbox>>;\n\nexport { hashes, type Transaction } from \"xrpl\";\n\nconst RIPPLE_ERROR_CODES = { ACCOUNT_NOT_FOUND: 19 } as const;\n\n// Note: Ripple seeds generate a single address, no derivation path/index support.\nfunction createSigner(phrase: string): ChainSigner<Transaction, { tx_blob: string; hash: string }> {\n const wallet = Wallet.fromMnemonic(phrase);\n return {\n // publicKey: wallet.publicKey,\n // Address is sync, but interface requires async\n getAddress: () => Promise.resolve(wallet.address),\n // Signing is sync, but interface requires async\n signTransaction: (tx: Transaction) => Promise.resolve(wallet.sign(tx as Transaction)), // Cast needed as Wallet.sign expects Transaction\n };\n}\n\nexport function rippleValidateAddress(address: string) {\n return isValidAddress(address);\n}\n\ntype RippleToolboxParams =\n | { phrase?: string }\n | { signer?: ChainSigner<Transaction, { tx_blob: string; hash: string }> };\n\nexport const getRippleToolbox = async (params: RippleToolboxParams = {}) => {\n const signer =\n \"signer\" in params && params.signer\n ? params.signer\n : \"phrase\" in params && params.phrase\n ? createSigner(params.phrase)\n : undefined;\n\n const rpcUrl = await getRPCUrl(Chain.Ripple);\n if (!rpcUrl) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_rpc_not_configured\", info: { chain: Chain.Ripple } });\n }\n\n const client = new Client(rpcUrl);\n await client.connect();\n\n const getAddress = () => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n return signer.getAddress();\n };\n\n const getBalance = async (address?: string) => {\n const addr = address || (await getAddress());\n\n try {\n const accountInfo = await client.request({ account: addr, command: \"account_info\" });\n\n const balance = accountInfo.result.account_data.Balance;\n\n return [AssetValue.from({ chain: Chain.Ripple, fromBaseDecimal: BaseDecimal[Chain.Ripple], value: balance })];\n } catch (error) {\n // empty account\n if ((error as any).data.error_code === RIPPLE_ERROR_CODES.ACCOUNT_NOT_FOUND) {\n return [AssetValue.from({ chain: Chain.Ripple, value: 0 })];\n }\n throw new SwapKitError(\"toolbox_ripple_get_balance_error\", { info: { address: addr, error } });\n }\n };\n\n const estimateTransactionFee = async () => {\n const feeResponse = await client.request({ command: \"fee\" });\n const feeDrops = feeResponse.result.drops.open_ledger_fee; // Fee in drops\n\n return AssetValue.from({\n chain: Chain.Ripple,\n value: SwapKitNumber.fromBigInt(BigInt(feeDrops), BaseDecimal[Chain.Ripple]),\n });\n };\n\n const createTransaction = async ({\n assetValue,\n recipient,\n memo,\n sender,\n }: {\n assetValue: AssetValue;\n recipient: string;\n sender?: string;\n memo?: string;\n }) => {\n if (!rippleValidateAddress(recipient)) {\n throw new SwapKitError({ errorKey: \"core_transaction_invalid_recipient_address\" });\n }\n\n const senderAddress = sender || (await getAddress());\n\n if (!assetValue.isGasAsset || assetValue.chain !== Chain.Ripple) {\n throw new SwapKitError({\n errorKey: \"toolbox_ripple_asset_not_supported\",\n info: { asset: assetValue.toString() },\n });\n }\n\n const transaction: Payment = {\n Account: senderAddress,\n Amount: xrpToDrops(assetValue.getValue(\"string\")),\n Destination: recipient,\n TransactionType: \"Payment\",\n };\n\n if (memo) {\n transaction.Memos = [{ Memo: { MemoData: Buffer.from(memo).toString(\"hex\") } }];\n }\n\n const preparedTx = await client.autofill(transaction);\n return preparedTx;\n };\n\n const signTransaction = (tx: Transaction) => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n return signer.signTransaction(tx);\n };\n\n const broadcastTransaction = async (signedTxHex: string) => {\n const submitResult = await client.submitAndWait(signedTxHex);\n const result = submitResult.result;\n\n if (result.validated) {\n return result.hash;\n }\n\n throw new SwapKitError({ errorKey: \"toolbox_ripple_broadcast_error\", info: { chain: Chain.Ripple } });\n };\n\n const transfer = async (params: GenericTransferParams) => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n const sender = await signer.getAddress();\n const tx = await createTransaction({ ...params, sender });\n const signedTx = await signTransaction(tx);\n return broadcastTransaction(signedTx.tx_blob);\n };\n\n const disconnect = () => client.disconnect();\n\n return {\n broadcastTransaction,\n createSigner, // Expose the helper\n createTransaction,\n disconnect,\n estimateTransactionFee,\n // Core methods\n getAddress,\n getBalance,\n // Signer related\n signer, // Expose the signer instance if created/provided\n signTransaction,\n transfer,\n validateAddress: rippleValidateAddress,\n };\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "izBAoBA,SAAS,CAAY,CAAC,EAA6E,CACjG,IAAM,EAAS,SAAO,aAAa,CAAM,EACzC,MAAO,CAGL,WAAY,IAAM,QAAQ,QAAQ,EAAO,OAAO,EAEhD,gBAAiB,CAAC,IAAoB,QAAQ,QAAQ,EAAO,KAAK,CAAiB,CAAC,CACtF,EAGK,SAAS,CAAqB,CAAC,EAAiB,CACrD,OAAO,iBAAe,CAAO,MAhC/B,EAWA,EAIA,EAEM,EAsBO,EAAmB,MAAO,EAA8B,CAAC,IAAM,CAC1E,IAAM,EACJ,WAAY,GAAU,EAAO,OACzB,EAAO,QACP,WAAY,IAAU,EAAO,OAC3B,EAAa,EAAO,MAAM,EAC1B,OAEF,EAAS,MAAM,YAAU,QAAM,MAAM,EAC3C,
|
|
7
|
+
"mappings": "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",
|
|
8
8
|
"debugId": "D3152E07171F963064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/ripple/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var B=Object.create;var{getPrototypeOf:P,defineProperty:$,getOwnPropertyNames:U}=Object;var b=Object.prototype.hasOwnProperty;var c=(j,q,y)=>{y=j!=null?B(P(j)):{};let G=q||!j||!j.__esModule?$(y,"default",{value:j,enumerable:!0}):y;for(let Y of U(j))if(!b.call(G,Y))$(G,Y,{get:()=>j[Y],enumerable:!0});return G};var D=(j,q)=>{for(var y in q)$(j,y,{get:q[y],enumerable:!0,configurable:!0,set:(G)=>q[y]=()=>G})};var R=(j,q)=>()=>(j&&(q=j(j=0)),q);var d=((j)=>typeof require
|
|
1
|
+
var B=Object.create;var{getPrototypeOf:P,defineProperty:$,getOwnPropertyNames:U}=Object;var b=Object.prototype.hasOwnProperty;var c=(j,q,y)=>{y=j!=null?B(P(j)):{};let G=q||!j||!j.__esModule?$(y,"default",{value:j,enumerable:!0}):y;for(let Y of U(j))if(!b.call(G,Y))$(G,Y,{get:()=>j[Y],enumerable:!0});return G};var D=(j,q)=>{for(var y in q)$(j,y,{get:q[y],enumerable:!0,configurable:!0,set:(G)=>q[y]=()=>G})};var R=(j,q)=>()=>(j&&(q=j(j=0)),q);var d=((j)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(j,{get:(q,y)=>(typeof require<"u"?require:q)[y]}):j)(function(j){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+j+'" is not supported')});var u={};D(u,{rippleValidateAddress:()=>v,hashes:()=>x,getRippleToolbox:()=>h});import{AssetValue as k,BaseDecimal as W,Chain as Q,getRPCUrl as K,SwapKitError as X,SwapKitNumber as A}from"@swapkit/helpers";import{Client as T,isValidAddress as w,Wallet as C,xrpToDrops as E}from"xrpl";import{hashes as x}from"xrpl";function f(j){let q=C.fromMnemonic(j);return{getAddress:()=>Promise.resolve(q.address),signTransaction:(y)=>Promise.resolve(q.sign(y))}}function v(j){return w(j)}var S,h=async(j={})=>{let q="signer"in j&&j.signer?j.signer:("phrase"in j)&&j.phrase?f(j.phrase):void 0,y=await K(Q.Ripple);if(!y)throw new X({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Q.Ripple}});let G=new T(y);await G.connect();let Y=()=>{if(!q)throw new X({errorKey:"toolbox_ripple_signer_not_found"});return q.getAddress()},H=async(z)=>{let M=z||await Y();try{let Z=(await G.request({account:M,command:"account_info"})).result.account_data.Balance;return[k.from({chain:Q.Ripple,fromBaseDecimal:W[Q.Ripple],value:Z})]}catch(J){if(J.data.error_code===S.ACCOUNT_NOT_FOUND)return[k.from({chain:Q.Ripple,value:0})];throw new X("toolbox_ripple_get_balance_error",{info:{address:M,error:J}})}},O=async()=>{let M=(await G.request({command:"fee"})).result.drops.open_ledger_fee;return k.from({chain:Q.Ripple,value:A.fromBigInt(BigInt(M),W[Q.Ripple])})},F=async({assetValue:z,recipient:M,memo:J,sender:Z})=>{if(!v(M))throw new X({errorKey:"core_transaction_invalid_recipient_address"});let _=Z||await Y();if(!z.isGasAsset||z.chain!==Q.Ripple)throw new X({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:z.toString()}});let N={Account:_,Amount:E(z.getValue("string")),Destination:M,TransactionType:"Payment"};if(J)N.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];return await G.autofill(N)},I=(z)=>{if(!q)throw new X({errorKey:"toolbox_ripple_signer_not_found"});return q.signTransaction(z)},L=async(z)=>{let J=(await G.submitAndWait(z)).result;if(J.validated)return J.hash;throw new X({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Q.Ripple}})};return{broadcastTransaction:L,createSigner:f,createTransaction:F,disconnect:()=>G.disconnect(),estimateTransactionFee:O,getAddress:Y,getBalance:H,signer:q,signTransaction:I,transfer:async(z)=>{if(!q)throw new X({errorKey:"toolbox_ripple_signer_not_found"});let M=await q.getAddress(),J=await F({...z,sender:M}),Z=await I(J);return L(Z.tx_blob)},validateAddress:v}};var V=R(()=>{S={ACCOUNT_NOT_FOUND:19}});V();export{v as rippleValidateAddress,x as hashes,h as getRippleToolbox};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=D4E66EABEF07100064756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import {\n AssetValue,\n BaseDecimal,\n Chain,\n type ChainSigner,\n type GenericTransferParams,\n getRPCUrl,\n SwapKitError,\n SwapKitNumber,\n} from \"@swapkit/helpers\";\nimport type { Transaction } from \"xrpl\";\nimport { Client, isValidAddress, type Payment, Wallet, xrpToDrops } from \"xrpl\";\n\nexport type RippleWallet = Awaited<ReturnType<typeof getRippleToolbox>>;\n\nexport { hashes, type Transaction } from \"xrpl\";\n\nconst RIPPLE_ERROR_CODES = { ACCOUNT_NOT_FOUND: 19 } as const;\n\n// Note: Ripple seeds generate a single address, no derivation path/index support.\nfunction createSigner(phrase: string): ChainSigner<Transaction, { tx_blob: string; hash: string }> {\n const wallet = Wallet.fromMnemonic(phrase);\n return {\n // publicKey: wallet.publicKey,\n // Address is sync, but interface requires async\n getAddress: () => Promise.resolve(wallet.address),\n // Signing is sync, but interface requires async\n signTransaction: (tx: Transaction) => Promise.resolve(wallet.sign(tx as Transaction)), // Cast needed as Wallet.sign expects Transaction\n };\n}\n\nexport function rippleValidateAddress(address: string) {\n return isValidAddress(address);\n}\n\ntype RippleToolboxParams =\n | { phrase?: string }\n | { signer?: ChainSigner<Transaction, { tx_blob: string; hash: string }> };\n\nexport const getRippleToolbox = async (params: RippleToolboxParams = {}) => {\n const signer =\n \"signer\" in params && params.signer\n ? params.signer\n : \"phrase\" in params && params.phrase\n ? createSigner(params.phrase)\n : undefined;\n\n const rpcUrl = await getRPCUrl(Chain.Ripple);\n if (!rpcUrl) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_rpc_not_configured\", info: { chain: Chain.Ripple } });\n }\n\n const client = new Client(rpcUrl);\n await client.connect();\n\n const getAddress = () => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n return signer.getAddress();\n };\n\n const getBalance = async (address?: string) => {\n const addr = address || (await getAddress());\n\n try {\n const accountInfo = await client.request({ account: addr, command: \"account_info\" });\n\n const balance = accountInfo.result.account_data.Balance;\n\n return [AssetValue.from({ chain: Chain.Ripple, fromBaseDecimal: BaseDecimal[Chain.Ripple], value: balance })];\n } catch (error) {\n // empty account\n if ((error as any).data.error_code === RIPPLE_ERROR_CODES.ACCOUNT_NOT_FOUND) {\n return [AssetValue.from({ chain: Chain.Ripple, value: 0 })];\n }\n throw new SwapKitError(\"toolbox_ripple_get_balance_error\", { info: { address: addr, error } });\n }\n };\n\n const estimateTransactionFee = async () => {\n const feeResponse = await client.request({ command: \"fee\" });\n const feeDrops = feeResponse.result.drops.open_ledger_fee; // Fee in drops\n\n return AssetValue.from({\n chain: Chain.Ripple,\n value: SwapKitNumber.fromBigInt(BigInt(feeDrops), BaseDecimal[Chain.Ripple]),\n });\n };\n\n const createTransaction = async ({\n assetValue,\n recipient,\n memo,\n sender,\n }: {\n assetValue: AssetValue;\n recipient: string;\n sender?: string;\n memo?: string;\n }) => {\n if (!rippleValidateAddress(recipient)) {\n throw new SwapKitError({ errorKey: \"core_transaction_invalid_recipient_address\" });\n }\n\n const senderAddress = sender || (await getAddress());\n\n if (!assetValue.isGasAsset || assetValue.chain !== Chain.Ripple) {\n throw new SwapKitError({\n errorKey: \"toolbox_ripple_asset_not_supported\",\n info: { asset: assetValue.toString() },\n });\n }\n\n const transaction: Payment = {\n Account: senderAddress,\n Amount: xrpToDrops(assetValue.getValue(\"string\")),\n Destination: recipient,\n TransactionType: \"Payment\",\n };\n\n if (memo) {\n transaction.Memos = [{ Memo: { MemoData: Buffer.from(memo).toString(\"hex\") } }];\n }\n\n const preparedTx = await client.autofill(transaction);\n return preparedTx;\n };\n\n const signTransaction = (tx: Transaction) => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n return signer.signTransaction(tx);\n };\n\n const broadcastTransaction = async (signedTxHex: string) => {\n const submitResult = await client.submitAndWait(signedTxHex);\n const result = submitResult.result;\n\n if (result.validated) {\n return result.hash;\n }\n\n throw new SwapKitError({ errorKey: \"toolbox_ripple_broadcast_error\", info: { chain: Chain.Ripple } });\n };\n\n const transfer = async (params: GenericTransferParams) => {\n if (!signer) {\n throw new SwapKitError({ errorKey: \"toolbox_ripple_signer_not_found\" });\n }\n const sender = await signer.getAddress();\n const tx = await createTransaction({ ...params, sender });\n const signedTx = await signTransaction(tx);\n return broadcastTransaction(signedTx.tx_blob);\n };\n\n const disconnect = () => client.disconnect();\n\n return {\n broadcastTransaction,\n createSigner, // Expose the helper\n createTransaction,\n disconnect,\n estimateTransactionFee,\n // Core methods\n getAddress,\n getBalance,\n // Signer related\n signer, // Expose the signer instance if created/provided\n signTransaction,\n transfer,\n validateAddress: rippleValidateAddress,\n };\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "D4E66EABEF07100064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"import type {\n Connection,\n PublicKey,\n Signer,\n Transaction,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport {\n AssetValue,\n BaseDecimal,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericCreateTransactionParams,\n getRPCUrl,\n NetworkDerivationPath,\n SwapKitError,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { SolanaCreateTransactionParams, SolanaProvider, SolanaTransferParams } from \"./index\";\n\ntype SolanaSigner = SolanaProvider | Signer;\n\ntype TokenMetadata = {\n name: string;\n symbol: string;\n decimals: number;\n logoURI?: string;\n tags?: string[];\n daily_volume?: number;\n};\n\nasync function fetchTokenMetaData(mintAddress: string): Promise<TokenMetadata | null> {\n try {\n const response = await fetch(`https://lite-api.jup.ag/tokens/v1/token/${mintAddress}`);\n if (!response.ok) return null;\n return await response.json();\n } catch {\n return null;\n }\n}\n\nasync function getSolanaBalance(address: string) {\n const connection = await getConnection();\n const { PublicKey } = await import(\"@solana/web3.js\");\n const { TOKEN_PROGRAM_ID } = await import(\"@solana/spl-token\");\n const publicKey = new PublicKey(address);\n\n const balances: AssetValue[] = [];\n\n // Get SOL balance\n const solBalance = await connection.getBalance(publicKey);\n if (solBalance > 0) {\n balances.push(\n AssetValue.from({ chain: Chain.Solana, fromBaseDecimal: BaseDecimal[Chain.Solana], value: solBalance }),\n );\n }\n\n // Get token balances\n const tokenAccounts = await connection.getParsedTokenAccountsByOwner(publicKey, { programId: TOKEN_PROGRAM_ID });\n\n for (const { account } of tokenAccounts.value) {\n const tokenInfo = account.data.parsed.info;\n const mintAddress = tokenInfo.mint;\n const amount = tokenInfo.tokenAmount.amount;\n\n if (Number(amount) === 0) continue;\n\n // Fetch token metadata from Jupiter\n const metadata = await fetchTokenMetaData(mintAddress);\n const symbol = metadata?.symbol || \"UNKNOWN\";\n const decimals = metadata?.decimals || tokenInfo.tokenAmount.decimals;\n\n balances.push(\n AssetValue.from({ asset: `${Chain.Solana}.${symbol}-${mintAddress}`, fromBaseDecimal: decimals, value: amount }),\n );\n }\n\n return balances;\n}\n\nexport async function getSolanaAddressValidator() {\n const { PublicKey } = await import(\"@solana/web3.js\");\n\n return (address: string) => {\n try {\n const pubkey = new PublicKey(address);\n return PublicKey.isOnCurve(pubkey.toBytes());\n } catch (_) {\n return false;\n }\n };\n}\n\nexport async function getSolanaToolbox(\n toolboxParams?: { signer?: SolanaSigner } | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const index = toolboxParams && \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n const derivationPath = derivationPathToString(\n toolboxParams && \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[Chain.Solana], { index }),\n );\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) => createKeysForPath({ derivationPath, phrase }))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n function getAddress() {\n return signer?.publicKey ? getAddressFromPubKey(signer.publicKey) : \"\";\n }\n\n return {\n broadcastTransaction: broadcastTransaction(getConnection),\n createKeysForPath,\n createTransaction: createTransaction(getConnection),\n createTransactionFromInstructions,\n estimateTransactionFee: estimateTransactionFee(getConnection),\n getAddress,\n getAddressFromPubKey,\n getAddressValidator: getSolanaAddressValidator,\n getBalance: (addressParam?: string) => {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getSolanaBalance(address);\n },\n getConnection,\n getPubkeyFromAddress,\n signTransaction: signTransaction(getConnection, signer),\n transfer: transfer(getConnection, signer),\n };\n}\n\nfunction estimateTransactionFee(getConnection: () => Promise<Connection>) {\n return async ({\n recipient,\n assetValue,\n memo,\n isProgramDerivedAddress,\n sender,\n }: Omit<GenericCreateTransactionParams, \"feeRate\"> & { isProgramDerivedAddress?: boolean }) => {\n const connection = await getConnection();\n\n const transaction = await createTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n memo,\n recipient,\n sender,\n });\n\n const message = transaction.compileMessage();\n const feeInLamports = await connection.getFeeForMessage(message);\n\n if (feeInLamports.value === null) {\n throw new SwapKitError(\"toolbox_solana_fee_estimation_failed\", \"Could not estimate Solana fee.\");\n }\n\n return AssetValue.from({\n chain: Chain.Solana,\n fromBaseDecimal: BaseDecimal[Chain.Solana],\n value: feeInLamports.value,\n });\n };\n}\n\nasync function getConnection() {\n const { Connection } = await import(\"@solana/web3.js\");\n const rpcUrl = await getRPCUrl(Chain.Solana);\n return new Connection(rpcUrl, \"confirmed\");\n}\n\nfunction createAssetTransaction(getConnection: () => Promise<Connection>) {\n return async ({ assetValue, recipient, sender, isProgramDerivedAddress }: SolanaCreateTransactionParams) => {\n const connection = await getConnection();\n const fromPubkey = await getPubkeyFromAddress(sender);\n\n if (assetValue.isGasAsset) {\n const { Transaction, SystemProgram, PublicKey } = await import(\"@solana/web3.js\");\n\n return new Transaction().add(\n SystemProgram.transfer({\n fromPubkey: fromPubkey,\n lamports: assetValue.getBaseValue(\"number\"),\n toPubkey: new PublicKey(recipient),\n }),\n );\n }\n if (assetValue.address) {\n return createSolanaTokenTransaction({\n amount: assetValue.getBaseValue(\"number\"),\n connection,\n decimals: assetValue.decimal as number,\n from: fromPubkey,\n isProgramDerivedAddress,\n recipient,\n tokenAddress: assetValue.address,\n });\n }\n\n return undefined;\n };\n}\n\nasync function createSolanaTokenTransaction({\n tokenAddress,\n recipient,\n from,\n connection,\n amount,\n decimals,\n isProgramDerivedAddress,\n}: {\n tokenAddress: string;\n recipient: string;\n from: PublicKey;\n connection: Connection;\n amount: number;\n decimals: number;\n isProgramDerivedAddress?: boolean;\n}) {\n const {\n getAssociatedTokenAddress,\n getAccount,\n createAssociatedTokenAccountInstruction,\n createTransferCheckedInstruction,\n } = await import(\"@solana/spl-token\");\n const { Transaction, PublicKey } = await import(\"@solana/web3.js\");\n\n const transaction = new Transaction();\n const tokenPublicKey = new PublicKey(tokenAddress);\n const fromSPLAddress = await getAssociatedTokenAddress(tokenPublicKey, from);\n\n const recipientPublicKey = new PublicKey(recipient);\n const recipientSPLAddress = await getAssociatedTokenAddress(\n tokenPublicKey,\n recipientPublicKey,\n isProgramDerivedAddress,\n );\n\n let recipientAccountExists = false;\n try {\n await getAccount(connection, recipientSPLAddress);\n recipientAccountExists = true;\n } catch (_) {\n // Recipient's associated token account doesn't exist\n }\n\n if (!recipientAccountExists) {\n transaction.add(\n createAssociatedTokenAccountInstruction(from, recipientSPLAddress, recipientPublicKey, tokenPublicKey),\n );\n }\n\n transaction.add(\n createTransferCheckedInstruction(fromSPLAddress, tokenPublicKey, recipientSPLAddress, from, amount, decimals),\n );\n\n return transaction;\n}\n\nfunction createTransaction(getConnection: () => Promise<Connection>) {\n return async ({ recipient, assetValue, memo, isProgramDerivedAddress, sender }: SolanaCreateTransactionParams) => {\n const { createMemoInstruction } = await import(\"@solana/spl-memo\");\n\n const fromPubkey = await getPubkeyFromAddress(sender);\n const validateAddress = await getSolanaAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const connection = await getConnection();\n const transaction = await createAssetTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n if (memo) transaction.add(createMemoInstruction(memo));\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n return transaction;\n };\n}\n\nasync function createTransactionFromInstructions({\n instructions,\n}: {\n instructions: TransactionInstruction[];\n isProgramDerivedAddress?: boolean;\n}) {\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = new Transaction().add(...instructions);\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n return transaction;\n}\n\nfunction transfer(getConnection: () => Promise<Connection>, signer?: SolanaSigner) {\n return async ({ recipient, assetValue, memo, isProgramDerivedAddress }: SolanaTransferParams) => {\n if (!signer) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const sender = signer.publicKey?.toString() ?? (await (signer as SolanaProvider).connect()).publicKey.toString();\n\n const transaction = await createTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n memo,\n recipient,\n sender,\n });\n\n if (\"signTransaction\" in signer) {\n const signedTransaction = await signer.signTransaction(transaction);\n return broadcastTransaction(getConnection)(signedTransaction);\n }\n\n transaction.sign(signer);\n\n return broadcastTransaction(getConnection)(transaction);\n };\n}\n\nfunction broadcastTransaction(getConnection: () => Promise<Connection>) {\n return async (transaction: Transaction | VersionedTransaction) => {\n const connection = await getConnection();\n return connection.sendRawTransaction(transaction.serialize());\n };\n}\n\nfunction signTransaction(getConnection: () => Promise<Connection>, signer?: SolanaSigner) {\n return async (transaction: Transaction | VersionedTransaction) => {\n const { VersionedTransaction } = await import(\"@solana/web3.js\");\n if (!signer) {\n throw new SwapKitError(\"toolbox_solana_no_signer\");\n }\n\n if (!(transaction instanceof VersionedTransaction)) {\n const connection = await getConnection();\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = signer.publicKey || undefined;\n }\n\n if (\"connect\" in signer) {\n const signedTransaction = await signer.signTransaction(transaction);\n return signedTransaction;\n }\n\n await transaction.sign([signer] as Signer & Signer[]);\n return transaction;\n };\n}\n\nexport async function createKeysForPath({\n phrase,\n derivationPath = DerivationPath.SOL,\n}: {\n phrase: string;\n derivationPath?: string;\n}) {\n const { HDKey } = await import(\"micro-key-producer/slip10.js\");\n const { mnemonicToSeedSync } = await import(\"@scure/bip39\");\n const { Keypair } = await import(\"@solana/web3.js\");\n const seed = mnemonicToSeedSync(phrase);\n const hdKey = HDKey.fromMasterSeed(seed);\n\n return Keypair.fromSeed(hdKey.derive(derivationPath, true).privateKey);\n}\n\nfunction getAddressFromPubKey(publicKey: PublicKey) {\n return publicKey.toString();\n}\n\nasync function getPubkeyFromAddress(address: string) {\n const { PublicKey } = await import(\"@solana/web3.js\");\n return new PublicKey(address);\n}\n",
|
|
6
6
|
"import type { PublicKey, Transaction, VersionedTransaction } from \"@solana/web3.js\";\nimport type { GenericCreateTransactionParams, GenericTransferParams } from \"@swapkit/helpers\";\nimport type { getSolanaToolbox } from \"./toolbox\";\n\n// type DisplayEncoding = \"utf8\" | \"hex\";\n\n// type PhantomRequestMethod =\n// | \"connect\"\n// | \"disconnect\"\n// | \"signAndSendTransaction\"\n// | \"signAndSendTransactionV0\"\n// | \"signAndSendTransactionV0WithLookupTable\"\n// | \"signTransaction\"\n// | \"signAllTransactions\"\n// | \"signMessage\";\n\ninterface ConnectOpts {\n onlyIfTrusted: boolean;\n}\n\nexport * from \"./toolbox\";\n\nexport type SolanaWallet = Awaited<ReturnType<typeof getSolanaToolbox>>;\n\nexport interface SolanaProvider {\n connect: (opts?: Partial<ConnectOpts>) => Promise<{ publicKey: PublicKey }>;\n disconnect: () => Promise<void>;\n publicKey: PublicKey | null;\n signTransaction: <T extends Transaction | VersionedTransaction = Transaction>(transaction: T) => Promise<T>;\n}\n\nexport type SolanaCreateTransactionParams = Omit<GenericCreateTransactionParams, \"feeRate\"> & {\n isProgramDerivedAddress?: boolean;\n};\n\nexport type SolanaTransferParams = Omit<GenericTransferParams, \"feeRate\"> & { isProgramDerivedAddress?: boolean };\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "ssBAmCA,eAAe,CAAkB,CAAC,EAAoD,CACpF,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,2CAA2C,GAAa,EACrF,
|
|
8
|
+
"mappings": "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",
|
|
9
9
|
"debugId": "3DDCFDBA970D469264756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/solana/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var A=Object.create;var{getPrototypeOf:p,defineProperty:I,getOwnPropertyNames:C}=Object;var P=Object.prototype.hasOwnProperty;var J=(j,q,w)=>{w=j!=null?A(p(j)):{};let z=q||!j||!j.__esModule?I(w,"default",{value:j,enumerable:!0}):w;for(let B of C(j))if(!P.call(z,B))I(z,B,{get:()=>j[B],enumerable:!0});return z};var l=(j,q)=>{for(var w in q)I(j,w,{get:q[w],enumerable:!0,configurable:!0,set:(z)=>q[w]=()=>z})};var k=(j,q)=>()=>(j&&(q=j(j=0)),q);var N=((j)=>typeof require
|
|
1
|
+
var A=Object.create;var{getPrototypeOf:p,defineProperty:I,getOwnPropertyNames:C}=Object;var P=Object.prototype.hasOwnProperty;var J=(j,q,w)=>{w=j!=null?A(p(j)):{};let z=q||!j||!j.__esModule?I(w,"default",{value:j,enumerable:!0}):w;for(let B of C(j))if(!P.call(z,B))I(z,B,{get:()=>j[B],enumerable:!0});return z};var l=(j,q)=>{for(var w in q)I(j,w,{get:q[w],enumerable:!0,configurable:!0,set:(z)=>q[w]=()=>z})};var k=(j,q)=>()=>(j&&(q=j(j=0)),q);var N=((j)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(j,{get:(q,w)=>(typeof require<"u"?require:q)[w]}):j)(function(j){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+j+'" is not supported')});import{AssetValue as M,BaseDecimal as K,Chain as Y,DerivationPath as u,derivationPathToString as m,getRPCUrl as d,NetworkDerivationPath as g,SwapKitError as Z,updateDerivationPath as c}from"@swapkit/helpers";import{match as a,P as T}from"ts-pattern";async function o(j){try{let q=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${j}`);if(!q.ok)return null;return await q.json()}catch{return null}}async function r(j){let q=await X(),{PublicKey:w}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:z}=await import("@solana/spl-token"),B=new w(j),F=[],G=await q.getBalance(B);if(G>0)F.push(M.from({chain:Y.Solana,fromBaseDecimal:K[Y.Solana],value:G}));let O=await q.getParsedTokenAccountsByOwner(B,{programId:z});for(let{account:R}of O.value){let Q=R.data.parsed.info,U=Q.mint,_=Q.tokenAmount.amount;if(Number(_)===0)continue;let L=await o(U),W=L?.symbol||"UNKNOWN",$=L?.decimals||Q.tokenAmount.decimals;F.push(M.from({asset:`${Y.Solana}.${W}-${U}`,fromBaseDecimal:$,value:_}))}return F}async function S(){let{PublicKey:j}=await import("@solana/web3.js");return(q)=>{try{let w=new j(q);return j.isOnCurve(w.toBytes())}catch(w){return!1}}}async function s(j){let q=j&&"index"in j?j.index||0:0,w=m(j&&"derivationPath"in j&&j.derivationPath?j.derivationPath:c(g[Y.Solana],{index:q})),z=await a(j).with({phrase:T.string},({phrase:F})=>H({derivationPath:w,phrase:F})).with({signer:T.any},({signer:F})=>F).otherwise(()=>{return});function B(){return z?.publicKey?v(z.publicKey):""}return{broadcastTransaction:x(X),createKeysForPath:H,createTransaction:f(X),createTransactionFromInstructions:n,estimateTransactionFee:t(X),getAddress:B,getAddressFromPubKey:v,getAddressValidator:S,getBalance:(F)=>{let G=F||B();if(!G)throw new Z("core_wallet_connection_not_found");return r(G)},getConnection:X,getPubkeyFromAddress:V,signTransaction:qj(X,z),transfer:jj(X,z)}}function t(j){return async({recipient:q,assetValue:w,memo:z,isProgramDerivedAddress:B,sender:F})=>{let G=await j(),R=(await f(j)({assetValue:w,isProgramDerivedAddress:B,memo:z,recipient:q,sender:F})).compileMessage(),Q=await G.getFeeForMessage(R);if(Q.value===null)throw new Z("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return M.from({chain:Y.Solana,fromBaseDecimal:K[Y.Solana],value:Q.value})}}async function X(){let{Connection:j}=await import("@solana/web3.js"),q=await d(Y.Solana);return new j(q,"confirmed")}function i(j){return async({assetValue:q,recipient:w,sender:z,isProgramDerivedAddress:B})=>{let F=await j(),G=await V(z);if(q.isGasAsset){let{Transaction:O,SystemProgram:R,PublicKey:Q}=await import("@solana/web3.js");return new O().add(R.transfer({fromPubkey:G,lamports:q.getBaseValue("number"),toPubkey:new Q(w)}))}if(q.address)return e({amount:q.getBaseValue("number"),connection:F,decimals:q.decimal,from:G,isProgramDerivedAddress:B,recipient:w,tokenAddress:q.address});return}}async function e({tokenAddress:j,recipient:q,from:w,connection:z,amount:B,decimals:F,isProgramDerivedAddress:G}){let{getAssociatedTokenAddress:O,getAccount:R,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:U}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),W=new _,$=new L(j),y=await O($,w),D=new L(q),E=await O($,D,G),h=!1;try{await R(z,E),h=!0}catch(Bj){}if(!h)W.add(Q(w,E,D,$));return W.add(U(y,$,E,w,B,F)),W}function f(j){return async({recipient:q,assetValue:w,memo:z,isProgramDerivedAddress:B,sender:F})=>{let{createMemoInstruction:G}=await import("@solana/spl-memo"),O=await V(F),R=await S();if(!(B||R(q)))throw new Z("core_transaction_invalid_recipient_address");let Q=await j(),U=await i(j)({assetValue:w,isProgramDerivedAddress:B,recipient:q,sender:F});if(!U)throw new Z("core_transaction_invalid_sender_address");if(z)U.add(G(z));let _=await Q.getLatestBlockhash();return U.recentBlockhash=_.blockhash,U.feePayer=O,U}}async function n({instructions:j}){let{Transaction:q}=await import("@solana/web3.js"),w=new q().add(...j);if(!w)throw new Z("core_transaction_invalid_sender_address");return w}function jj(j,q){return async({recipient:w,assetValue:z,memo:B,isProgramDerivedAddress:F})=>{if(!q)throw new Z("core_transaction_invalid_sender_address");let G=q.publicKey?.toString()??(await q.connect()).publicKey.toString(),O=await f(j)({assetValue:z,isProgramDerivedAddress:F,memo:B,recipient:w,sender:G});if("signTransaction"in q){let R=await q.signTransaction(O);return x(j)(R)}return O.sign(q),x(j)(O)}}function x(j){return async(q)=>{return(await j()).sendRawTransaction(q.serialize())}}function qj(j,q){return async(w)=>{let{VersionedTransaction:z}=await import("@solana/web3.js");if(!q)throw new Z("toolbox_solana_no_signer");if(!(w instanceof z)){let F=await(await j()).getLatestBlockhash();w.recentBlockhash=F.blockhash,w.feePayer=q.publicKey||void 0}if("connect"in q)return await q.signTransaction(w);return await w.sign([q]),w}}async function H({phrase:j,derivationPath:q=u.SOL}){let{HDKey:w}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:z}=await import("@scure/bip39"),{Keypair:B}=await import("@solana/web3.js"),F=z(j),G=w.fromMasterSeed(F);return B.fromSeed(G.derive(q,!0).privateKey)}function v(j){return j.toString()}async function V(j){let{PublicKey:q}=await import("@solana/web3.js");return new q(j)}var b=()=>{};var wj={};l(wj,{getSolanaToolbox:()=>s,getSolanaAddressValidator:()=>S,createKeysForPath:()=>H});var zj=k(()=>{b()});zj();export{s as getSolanaToolbox,S as getSolanaAddressValidator,H as createKeysForPath};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=727A4B245972693B64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"import type {\n Connection,\n PublicKey,\n Signer,\n Transaction,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport {\n AssetValue,\n BaseDecimal,\n Chain,\n DerivationPath,\n type DerivationPathArray,\n derivationPathToString,\n type GenericCreateTransactionParams,\n getRPCUrl,\n NetworkDerivationPath,\n SwapKitError,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport type { SolanaCreateTransactionParams, SolanaProvider, SolanaTransferParams } from \"./index\";\n\ntype SolanaSigner = SolanaProvider | Signer;\n\ntype TokenMetadata = {\n name: string;\n symbol: string;\n decimals: number;\n logoURI?: string;\n tags?: string[];\n daily_volume?: number;\n};\n\nasync function fetchTokenMetaData(mintAddress: string): Promise<TokenMetadata | null> {\n try {\n const response = await fetch(`https://lite-api.jup.ag/tokens/v1/token/${mintAddress}`);\n if (!response.ok) return null;\n return await response.json();\n } catch {\n return null;\n }\n}\n\nasync function getSolanaBalance(address: string) {\n const connection = await getConnection();\n const { PublicKey } = await import(\"@solana/web3.js\");\n const { TOKEN_PROGRAM_ID } = await import(\"@solana/spl-token\");\n const publicKey = new PublicKey(address);\n\n const balances: AssetValue[] = [];\n\n // Get SOL balance\n const solBalance = await connection.getBalance(publicKey);\n if (solBalance > 0) {\n balances.push(\n AssetValue.from({ chain: Chain.Solana, fromBaseDecimal: BaseDecimal[Chain.Solana], value: solBalance }),\n );\n }\n\n // Get token balances\n const tokenAccounts = await connection.getParsedTokenAccountsByOwner(publicKey, { programId: TOKEN_PROGRAM_ID });\n\n for (const { account } of tokenAccounts.value) {\n const tokenInfo = account.data.parsed.info;\n const mintAddress = tokenInfo.mint;\n const amount = tokenInfo.tokenAmount.amount;\n\n if (Number(amount) === 0) continue;\n\n // Fetch token metadata from Jupiter\n const metadata = await fetchTokenMetaData(mintAddress);\n const symbol = metadata?.symbol || \"UNKNOWN\";\n const decimals = metadata?.decimals || tokenInfo.tokenAmount.decimals;\n\n balances.push(\n AssetValue.from({ asset: `${Chain.Solana}.${symbol}-${mintAddress}`, fromBaseDecimal: decimals, value: amount }),\n );\n }\n\n return balances;\n}\n\nexport async function getSolanaAddressValidator() {\n const { PublicKey } = await import(\"@solana/web3.js\");\n\n return (address: string) => {\n try {\n const pubkey = new PublicKey(address);\n return PublicKey.isOnCurve(pubkey.toBytes());\n } catch (_) {\n return false;\n }\n };\n}\n\nexport async function getSolanaToolbox(\n toolboxParams?: { signer?: SolanaSigner } | { phrase?: string; index?: number; derivationPath?: DerivationPathArray },\n) {\n const index = toolboxParams && \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n const derivationPath = derivationPathToString(\n toolboxParams && \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[Chain.Solana], { index }),\n );\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) => createKeysForPath({ derivationPath, phrase }))\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n function getAddress() {\n return signer?.publicKey ? getAddressFromPubKey(signer.publicKey) : \"\";\n }\n\n return {\n broadcastTransaction: broadcastTransaction(getConnection),\n createKeysForPath,\n createTransaction: createTransaction(getConnection),\n createTransactionFromInstructions,\n estimateTransactionFee: estimateTransactionFee(getConnection),\n getAddress,\n getAddressFromPubKey,\n getAddressValidator: getSolanaAddressValidator,\n getBalance: (addressParam?: string) => {\n const address = addressParam || getAddress();\n if (!address) throw new SwapKitError(\"core_wallet_connection_not_found\");\n return getSolanaBalance(address);\n },\n getConnection,\n getPubkeyFromAddress,\n signTransaction: signTransaction(getConnection, signer),\n transfer: transfer(getConnection, signer),\n };\n}\n\nfunction estimateTransactionFee(getConnection: () => Promise<Connection>) {\n return async ({\n recipient,\n assetValue,\n memo,\n isProgramDerivedAddress,\n sender,\n }: Omit<GenericCreateTransactionParams, \"feeRate\"> & { isProgramDerivedAddress?: boolean }) => {\n const connection = await getConnection();\n\n const transaction = await createTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n memo,\n recipient,\n sender,\n });\n\n const message = transaction.compileMessage();\n const feeInLamports = await connection.getFeeForMessage(message);\n\n if (feeInLamports.value === null) {\n throw new SwapKitError(\"toolbox_solana_fee_estimation_failed\", \"Could not estimate Solana fee.\");\n }\n\n return AssetValue.from({\n chain: Chain.Solana,\n fromBaseDecimal: BaseDecimal[Chain.Solana],\n value: feeInLamports.value,\n });\n };\n}\n\nasync function getConnection() {\n const { Connection } = await import(\"@solana/web3.js\");\n const rpcUrl = await getRPCUrl(Chain.Solana);\n return new Connection(rpcUrl, \"confirmed\");\n}\n\nfunction createAssetTransaction(getConnection: () => Promise<Connection>) {\n return async ({ assetValue, recipient, sender, isProgramDerivedAddress }: SolanaCreateTransactionParams) => {\n const connection = await getConnection();\n const fromPubkey = await getPubkeyFromAddress(sender);\n\n if (assetValue.isGasAsset) {\n const { Transaction, SystemProgram, PublicKey } = await import(\"@solana/web3.js\");\n\n return new Transaction().add(\n SystemProgram.transfer({\n fromPubkey: fromPubkey,\n lamports: assetValue.getBaseValue(\"number\"),\n toPubkey: new PublicKey(recipient),\n }),\n );\n }\n if (assetValue.address) {\n return createSolanaTokenTransaction({\n amount: assetValue.getBaseValue(\"number\"),\n connection,\n decimals: assetValue.decimal as number,\n from: fromPubkey,\n isProgramDerivedAddress,\n recipient,\n tokenAddress: assetValue.address,\n });\n }\n\n return undefined;\n };\n}\n\nasync function createSolanaTokenTransaction({\n tokenAddress,\n recipient,\n from,\n connection,\n amount,\n decimals,\n isProgramDerivedAddress,\n}: {\n tokenAddress: string;\n recipient: string;\n from: PublicKey;\n connection: Connection;\n amount: number;\n decimals: number;\n isProgramDerivedAddress?: boolean;\n}) {\n const {\n getAssociatedTokenAddress,\n getAccount,\n createAssociatedTokenAccountInstruction,\n createTransferCheckedInstruction,\n } = await import(\"@solana/spl-token\");\n const { Transaction, PublicKey } = await import(\"@solana/web3.js\");\n\n const transaction = new Transaction();\n const tokenPublicKey = new PublicKey(tokenAddress);\n const fromSPLAddress = await getAssociatedTokenAddress(tokenPublicKey, from);\n\n const recipientPublicKey = new PublicKey(recipient);\n const recipientSPLAddress = await getAssociatedTokenAddress(\n tokenPublicKey,\n recipientPublicKey,\n isProgramDerivedAddress,\n );\n\n let recipientAccountExists = false;\n try {\n await getAccount(connection, recipientSPLAddress);\n recipientAccountExists = true;\n } catch (_) {\n // Recipient's associated token account doesn't exist\n }\n\n if (!recipientAccountExists) {\n transaction.add(\n createAssociatedTokenAccountInstruction(from, recipientSPLAddress, recipientPublicKey, tokenPublicKey),\n );\n }\n\n transaction.add(\n createTransferCheckedInstruction(fromSPLAddress, tokenPublicKey, recipientSPLAddress, from, amount, decimals),\n );\n\n return transaction;\n}\n\nfunction createTransaction(getConnection: () => Promise<Connection>) {\n return async ({ recipient, assetValue, memo, isProgramDerivedAddress, sender }: SolanaCreateTransactionParams) => {\n const { createMemoInstruction } = await import(\"@solana/spl-memo\");\n\n const fromPubkey = await getPubkeyFromAddress(sender);\n const validateAddress = await getSolanaAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const connection = await getConnection();\n const transaction = await createAssetTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n if (memo) transaction.add(createMemoInstruction(memo));\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n return transaction;\n };\n}\n\nasync function createTransactionFromInstructions({\n instructions,\n}: {\n instructions: TransactionInstruction[];\n isProgramDerivedAddress?: boolean;\n}) {\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = new Transaction().add(...instructions);\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n return transaction;\n}\n\nfunction transfer(getConnection: () => Promise<Connection>, signer?: SolanaSigner) {\n return async ({ recipient, assetValue, memo, isProgramDerivedAddress }: SolanaTransferParams) => {\n if (!signer) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const sender = signer.publicKey?.toString() ?? (await (signer as SolanaProvider).connect()).publicKey.toString();\n\n const transaction = await createTransaction(getConnection)({\n assetValue,\n isProgramDerivedAddress,\n memo,\n recipient,\n sender,\n });\n\n if (\"signTransaction\" in signer) {\n const signedTransaction = await signer.signTransaction(transaction);\n return broadcastTransaction(getConnection)(signedTransaction);\n }\n\n transaction.sign(signer);\n\n return broadcastTransaction(getConnection)(transaction);\n };\n}\n\nfunction broadcastTransaction(getConnection: () => Promise<Connection>) {\n return async (transaction: Transaction | VersionedTransaction) => {\n const connection = await getConnection();\n return connection.sendRawTransaction(transaction.serialize());\n };\n}\n\nfunction signTransaction(getConnection: () => Promise<Connection>, signer?: SolanaSigner) {\n return async (transaction: Transaction | VersionedTransaction) => {\n const { VersionedTransaction } = await import(\"@solana/web3.js\");\n if (!signer) {\n throw new SwapKitError(\"toolbox_solana_no_signer\");\n }\n\n if (!(transaction instanceof VersionedTransaction)) {\n const connection = await getConnection();\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = signer.publicKey || undefined;\n }\n\n if (\"connect\" in signer) {\n const signedTransaction = await signer.signTransaction(transaction);\n return signedTransaction;\n }\n\n await transaction.sign([signer] as Signer & Signer[]);\n return transaction;\n };\n}\n\nexport async function createKeysForPath({\n phrase,\n derivationPath = DerivationPath.SOL,\n}: {\n phrase: string;\n derivationPath?: string;\n}) {\n const { HDKey } = await import(\"micro-key-producer/slip10.js\");\n const { mnemonicToSeedSync } = await import(\"@scure/bip39\");\n const { Keypair } = await import(\"@solana/web3.js\");\n const seed = mnemonicToSeedSync(phrase);\n const hdKey = HDKey.fromMasterSeed(seed);\n\n return Keypair.fromSeed(hdKey.derive(derivationPath, true).privateKey);\n}\n\nfunction getAddressFromPubKey(publicKey: PublicKey) {\n return publicKey.toString();\n}\n\nasync function getPubkeyFromAddress(address: string) {\n const { PublicKey } = await import(\"@solana/web3.js\");\n return new PublicKey(address);\n}\n",
|
|
6
6
|
"import type { PublicKey, Transaction, VersionedTransaction } from \"@solana/web3.js\";\nimport type { GenericCreateTransactionParams, GenericTransferParams } from \"@swapkit/helpers\";\nimport type { getSolanaToolbox } from \"./toolbox\";\n\n// type DisplayEncoding = \"utf8\" | \"hex\";\n\n// type PhantomRequestMethod =\n// | \"connect\"\n// | \"disconnect\"\n// | \"signAndSendTransaction\"\n// | \"signAndSendTransactionV0\"\n// | \"signAndSendTransactionV0WithLookupTable\"\n// | \"signTransaction\"\n// | \"signAllTransactions\"\n// | \"signMessage\";\n\ninterface ConnectOpts {\n onlyIfTrusted: boolean;\n}\n\nexport * from \"./toolbox\";\n\nexport type SolanaWallet = Awaited<ReturnType<typeof getSolanaToolbox>>;\n\nexport interface SolanaProvider {\n connect: (opts?: Partial<ConnectOpts>) => Promise<{ publicKey: PublicKey }>;\n disconnect: () => Promise<void>;\n publicKey: PublicKey | null;\n signTransaction: <T extends Transaction | VersionedTransaction = Transaction>(transaction: T) => Promise<T>;\n}\n\nexport type SolanaCreateTransactionParams = Omit<GenericCreateTransactionParams, \"feeRate\"> & {\n isProgramDerivedAddress?: boolean;\n};\n\nexport type SolanaTransferParams = Omit<GenericTransferParams, \"feeRate\"> & { isProgramDerivedAddress?: boolean };\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "727A4B245972693B64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var B=Object.create;var{getPrototypeOf:U,defineProperty:f,getOwnPropertyNames:C,getOwnPropertyDescriptor:V}=Object,A=Object.prototype.hasOwnProperty;var P=(e,t,n)=>{n=e!=null?B(U(e)):{};let r=t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n;for(let a of C(e))if(!A.call(r,a))f(r,a,{get:()=>e[a],enumerable:!0});return r},v=new WeakMap,L=(e)=>{var t=v.get(e),n;if(t)return t;if(t=f({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")C(e).map((r)=>!A.call(t,r)&&f(t,r,{get:()=>e[r],enumerable:!(n=V(e,r))||n.enumerable}));return v.set(e,t),t};var H=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0,configurable:!0,set:(r)=>t[n]=()=>r})};var g=(e,t)=>()=>(e&&(t=e(e=0)),t);async function W(e,t,n){try{let r=await e.query.system?.account?.(n);if(!r)return[t.set(0)];let{data:{free:a}}=r,o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching substrate balance:",r),[t.set(0)]}}async function O(e,t,n){try{let r=await e.query.flip?.account?.(n);if(!r)return[t.set(0)];let a=r.balance||r.data?.balance;if(!a||a.isEmpty)return[t.set(0)];let o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching chainflip balance:",r),[t.set(0)]}}function E(e,t){return function
|
|
1
|
+
var B=Object.create;var{getPrototypeOf:U,defineProperty:f,getOwnPropertyNames:C,getOwnPropertyDescriptor:V}=Object,A=Object.prototype.hasOwnProperty;var P=(e,t,n)=>{n=e!=null?B(U(e)):{};let r=t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n;for(let a of C(e))if(!A.call(r,a))f(r,a,{get:()=>e[a],enumerable:!0});return r},v=new WeakMap,L=(e)=>{var t=v.get(e),n;if(t)return t;if(t=f({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")C(e).map((r)=>!A.call(t,r)&&f(t,r,{get:()=>e[r],enumerable:!(n=V(e,r))||n.enumerable}));return v.set(e,t),t};var H=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0,configurable:!0,set:(r)=>t[n]=()=>r})};var g=(e,t)=>()=>(e&&(t=e(e=0)),t);async function W(e,t,n){try{let r=await e.query.system?.account?.(n);if(!r)return[t.set(0)];let{data:{free:a}}=r,o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching substrate balance:",r),[t.set(0)]}}async function O(e,t,n){try{let r=await e.query.flip?.account?.(n);if(!r)return[t.set(0)];let a=r.balance||r.data?.balance;if(!a||a.isEmpty)return[t.set(0)];let o=l.SwapKitNumber.fromBigInt(BigInt(a.toString()),t.decimal).getValue("string");return[t.set(o)]}catch(r){return console.error("Error fetching chainflip balance:",r),[t.set(0)]}}function E(e,t){return function(r){let a=l.AssetValue.from({chain:e});switch(e){case l.Chain.Chainflip:return O(t,a,r);default:return W(t,a,r)}}}var l;var K=g(()=>{l=require("@swapkit/helpers")});var q,z,J,d;var x=g(()=>{q={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},z={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},J={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},d={DOT:q,FLIP:z,GENERIC:J}});function Q(e,t){switch(e){case i.Chain.Chainflip:return N(t);case i.Chain.Polkadot:return j(t);default:throw new i.SwapKitError("toolbox_substrate_not_supported",{chain:e})}}function p(e){return"address"in e}async function S(e,t){let{Keyring:n}=await import("@polkadot/api"),{cryptoWaitReady:r}=await import("@polkadot/util-crypto");return await r(),new n({ss58Format:t,type:"sr25519"}).addFromUri(e)}function re(e,t){let n=m.decodeAddress(e);return m.encodeAddress(n,t)}function R(e,t){return u.isHex(e)?u.hexToU8a(e):m.decodeAddress(e,void 0,t)}function D(e,t="ss58",n){if(t==="hex")return u.u8aToHex(e);return m.encodeAddress(e,n)}async function T({generic:e,chain:t,...n}){let{ApiPromise:r,WsProvider:a}=await import("@polkadot/api"),o=await i.getRPCUrl(t),s=new a(o),c=await r.create({provider:s}),y=i.AssetValue.from({chain:t}),_=e?d.GENERIC:d[t],G=await b.match(n).with({phrase:b.P.string},({phrase:w})=>S(w,d[t].prefix)).with({signer:b.P.any},({signer:w})=>w).otherwise(()=>{return});return M({api:c,chain:t,gasAsset:y,network:_,signer:G})}var u,m,i,b,j=({generic:e=!1,...t}={})=>{return T({chain:i.Chain.Polkadot,generic:e,...t})},N=async({generic:e=!1,...t}={})=>{return{...await T({chain:i.Chain.Chainflip,generic:e,...t})}},k=(e,t)=>e.rpc.system.accountNextIndex(t),h=(e,t)=>{try{let n=R(e,t);return D(n,"ss58",t),!0}catch(n){return!1}},I=(e,{recipient:t,assetValue:n})=>e.tx.balances?.transferAllowDeath?.(t,n.getBaseValue("number")),X=async(e,t,{recipient:n,assetValue:r,sender:a})=>{let o=I(e,{assetValue:r,recipient:n});if(!o)throw new i.SwapKitError("toolbox_substrate_transfer_error");let s=p(t),c=s?t.address:a;if(!c)throw new i.SwapKitError("core_transaction_invalid_sender_address");let y=await k(e,c);return(await o.signAndSend(s?t:c,{nonce:y,signer:s?void 0:t})).toString()},Y=async(e,t,n,{recipient:r,assetValue:a,sender:o})=>{let s=I(e,{assetValue:a,recipient:r}),c=p(t)?t.address:o;if(!c)return;let y=await s?.paymentInfo(c,{nonce:await k(e,c)})||{partialFee:0};return n.set(i.SwapKitNumber.fromBigInt(BigInt(y.partialFee.toString()),n.decimal).getValue("string"))},Z=async(e,t)=>{if(t)return e.send(t);return(await e.send()).toString()},$=async(e,t)=>{return await t.signAsync(e)},ee=(e,t,n)=>{if(n)return t.signAndSend(e,n);return t.signAndSend(e).toString()},te=async({signer:e,address:t,tx:n,callback:r,api:a})=>{let o=await k(a,t);if(r)n.signAndSend(t,{nonce:o,signer:e},r);return n.signAndSend(t,{nonce:o,signer:e}).toString()},M=({api:e,network:t,gasAsset:n,signer:r,chain:a})=>({api:e,broadcast:Z,convertAddress:re,createKeyring:(o)=>S(o,t.prefix),createTransaction:(o)=>I(e,o),decodeAddress:R,encodeAddress:D,estimateTransactionFee:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return Y(e,r,n,o)},gasAsset:n,getAddress:(o)=>{let s=o||r;if(!s)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return p(s)?s.address:void 0},getBalance:E(a||i.Chain.Polkadot,e),network:t,sign:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return $(r,o);throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:s,address:c})=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");if(p(r))return ee(r,o,s);if(c)return te({address:c,api:e,callback:s,signer:r,tx:o});throw new i.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!r)throw new i.SwapKitError("core_wallet_not_keypair_wallet");return X(e,r,o)},validateAddress:(o)=>h(o,t.prefix)}),ne=({address:e,chain:t})=>{let{prefix:n}=t===i.Chain.Polkadot?d.DOT:d.FLIP;return h(e,n)||h(e,d.GENERIC.prefix)};var F=g(()=>{u=require("@polkadot/util"),m=require("@polkadot/util-crypto"),i=require("@swapkit/helpers"),b=require("ts-pattern");K();x()});var oe={};H(oe,{substrateValidateAddress:()=>ne,isKeyringPair:()=>p,getSubstrateToolbox:()=>Q,createSubstrateToolbox:()=>T,createKeyring:()=>S,SubstrateNetwork:()=>d,PolkadotToolbox:()=>j,ChainflipToolbox:()=>N,BaseSubstrateToolbox:()=>M});module.exports=L(oe);var ie=g(()=>{F();x()});ie();
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=E1204D84E9D7294064756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|