@swapkit/toolboxes 4.3.9 → 4.13.1
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/LICENSE +246 -0
- package/dist/src/aptos/index.cjs +1 -0
- package/dist/src/aptos/index.js +1 -0
- package/dist/src/cardano/index.cjs +1 -4
- package/dist/src/cardano/index.js +1 -4
- package/dist/src/cosmos/index.cjs +1 -4
- package/dist/src/cosmos/index.js +1 -4
- package/dist/src/evm/index.cjs +1 -4
- package/dist/src/evm/index.js +1 -4
- package/dist/src/index.cjs +1 -5
- package/dist/src/index.js +1 -5
- package/dist/src/near/index.cjs +1 -4
- package/dist/src/near/index.js +1 -4
- package/dist/src/radix/index.cjs +1 -4
- package/dist/src/radix/index.js +1 -4
- package/dist/src/ripple/index.cjs +1 -4
- package/dist/src/ripple/index.js +1 -4
- package/dist/src/solana/index.cjs +1 -4
- package/dist/src/solana/index.js +1 -4
- package/dist/src/starknet/index.cjs +1 -0
- package/dist/src/starknet/index.js +1 -0
- package/dist/src/stellar/index.cjs +1 -0
- package/dist/src/stellar/index.js +1 -0
- package/dist/src/substrate/index.cjs +1 -4
- package/dist/src/substrate/index.js +1 -4
- package/dist/src/sui/index.cjs +1 -4
- package/dist/src/sui/index.js +1 -4
- package/dist/src/ton/index.cjs +1 -4
- package/dist/src/ton/index.js +1 -4
- package/dist/src/tron/index.cjs +1 -4
- package/dist/src/tron/index.js +1 -4
- package/dist/src/utxo/index.cjs +1 -5
- package/dist/src/utxo/index.js +1 -5
- package/dist/types/aptos/index.d.ts +3 -0
- package/dist/types/aptos/index.d.ts.map +1 -0
- package/dist/types/aptos/toolbox.d.ts +21 -0
- package/dist/types/aptos/toolbox.d.ts.map +1 -0
- package/dist/types/aptos/types.d.ts +27 -0
- package/dist/types/aptos/types.d.ts.map +1 -0
- package/dist/types/cardano/toolbox.d.ts +19 -22
- package/dist/types/cardano/toolbox.d.ts.map +1 -1
- package/dist/types/cardano/types.d.ts +8 -3
- package/dist/types/cardano/types.d.ts.map +1 -1
- package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
- package/dist/types/cosmos/thorchainUtils/messages.d.ts +3 -3
- package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts +11 -9
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/dist/types/cosmos/toolbox/thorchain.d.ts +6 -51
- package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
- package/dist/types/cosmos/types.d.ts +2 -2
- package/dist/types/cosmos/types.d.ts.map +1 -1
- package/dist/types/evm/helpers.d.ts +34 -1
- package/dist/types/evm/helpers.d.ts.map +1 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +14 -7
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
- package/dist/types/evm/toolbox/evm.d.ts +236 -96
- package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
- package/dist/types/evm/toolbox/index.d.ts +3 -2
- package/dist/types/evm/toolbox/index.d.ts.map +1 -1
- package/dist/types/evm/toolbox/op.d.ts +13 -8
- package/dist/types/evm/toolbox/op.d.ts.map +1 -1
- package/dist/types/evm/types.d.ts +49 -27
- package/dist/types/evm/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +31 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/near/helpers/core.d.ts +1 -1
- package/dist/types/near/helpers/core.d.ts.map +1 -1
- package/dist/types/near/index.d.ts +1 -1
- package/dist/types/near/index.d.ts.map +1 -1
- package/dist/types/near/toolbox.d.ts +13 -10
- package/dist/types/near/toolbox.d.ts.map +1 -1
- package/dist/types/near/types/index.d.ts +4 -0
- package/dist/types/near/types/index.d.ts.map +1 -0
- package/dist/types/near/types/toolbox.d.ts +2 -0
- package/dist/types/near/types/toolbox.d.ts.map +1 -1
- package/dist/types/radix/index.d.ts +7 -7
- package/dist/types/radix/index.d.ts.map +1 -1
- package/dist/types/ripple/currency.d.ts +5 -0
- package/dist/types/ripple/currency.d.ts.map +1 -0
- package/dist/types/ripple/index.d.ts +60 -17
- package/dist/types/ripple/index.d.ts.map +1 -1
- package/dist/types/ripple/tokens.d.ts +15 -0
- package/dist/types/ripple/tokens.d.ts.map +1 -0
- package/dist/types/solana/index.d.ts +1 -1
- package/dist/types/solana/index.d.ts.map +1 -1
- package/dist/types/solana/toolbox.d.ts +12 -10
- package/dist/types/solana/toolbox.d.ts.map +1 -1
- package/dist/types/starknet/index.d.ts +5 -0
- package/dist/types/starknet/index.d.ts.map +1 -0
- package/dist/types/starknet/toolbox.d.ts +34 -0
- package/dist/types/starknet/toolbox.d.ts.map +1 -0
- package/dist/types/starknet/types.d.ts +26 -0
- package/dist/types/starknet/types.d.ts.map +1 -0
- package/dist/types/stellar/index.d.ts +3 -0
- package/dist/types/stellar/index.d.ts.map +1 -0
- package/dist/types/stellar/toolbox.d.ts +21 -0
- package/dist/types/stellar/toolbox.d.ts.map +1 -0
- package/dist/types/stellar/types.d.ts +10 -0
- package/dist/types/stellar/types.d.ts.map +1 -0
- package/dist/types/substrate/balance.d.ts +3 -3
- package/dist/types/substrate/balance.d.ts.map +1 -1
- package/dist/types/substrate/substrate.d.ts +22 -97
- package/dist/types/substrate/substrate.d.ts.map +1 -1
- package/dist/types/substrate/types.d.ts +2 -2
- package/dist/types/substrate/types.d.ts.map +1 -1
- package/dist/types/sui/toolbox.d.ts +17 -8
- package/dist/types/sui/toolbox.d.ts.map +1 -1
- package/dist/types/sui/types.d.ts +11 -3
- package/dist/types/sui/types.d.ts.map +1 -1
- package/dist/types/ton/toolbox.d.ts +23 -13
- package/dist/types/ton/toolbox.d.ts.map +1 -1
- package/dist/types/ton/types.d.ts +9 -8
- package/dist/types/ton/types.d.ts.map +1 -1
- package/dist/types/tron/helpers/proto.d.ts +9 -0
- package/dist/types/tron/helpers/proto.d.ts.map +1 -0
- package/dist/types/tron/helpers/trongrid.d.ts +43 -3
- package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
- package/dist/types/tron/helpers/utils.d.ts +17 -0
- package/dist/types/tron/helpers/utils.d.ts.map +1 -0
- package/dist/types/tron/index.d.ts +4 -5
- package/dist/types/tron/index.d.ts.map +1 -1
- package/dist/types/tron/toolbox.d.ts +20 -18
- package/dist/types/tron/toolbox.d.ts.map +1 -1
- package/dist/types/tron/types.d.ts +31 -57
- package/dist/types/tron/types.d.ts.map +1 -1
- package/dist/types/types.d.ts +6 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utxo/hdWallet.d.ts +33 -0
- package/dist/types/utxo/hdWallet.d.ts.map +1 -0
- package/dist/types/utxo/helpers/api.d.ts +49 -1
- package/dist/types/utxo/helpers/api.d.ts.map +1 -1
- package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
- package/dist/types/utxo/helpers/cashaddr.d.ts +13 -0
- package/dist/types/utxo/helpers/cashaddr.d.ts.map +1 -0
- package/dist/types/utxo/helpers/coinselect.d.ts +9 -5
- package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
- package/dist/types/utxo/helpers/txSize.d.ts +4 -3
- package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
- package/dist/types/utxo/index.d.ts +2 -1
- package/dist/types/utxo/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts +75 -15
- package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/index.d.ts +6 -5
- package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/params.d.ts +8 -16
- package/dist/types/utxo/toolbox/params.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/utxo.d.ts +135 -46
- package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/validators.d.ts +1 -1
- package/dist/types/utxo/toolbox/validators.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/zcash.d.ts +63 -10
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
- package/dist/types/utxo/types.d.ts +78 -15
- package/dist/types/utxo/types.d.ts.map +1 -1
- package/package.json +43 -53
- package/dist/src/cardano/index.cjs.map +0 -11
- package/dist/src/cardano/index.js.map +0 -11
- package/dist/src/cosmos/index.cjs.map +0 -20
- package/dist/src/cosmos/index.js.map +0 -20
- package/dist/src/evm/index.cjs.map +0 -20
- package/dist/src/evm/index.js.map +0 -20
- package/dist/src/index.cjs.map +0 -67
- package/dist/src/index.js.map +0 -67
- package/dist/src/near/index.cjs.map +0 -16
- package/dist/src/near/index.js.map +0 -16
- package/dist/src/radix/index.cjs.map +0 -10
- package/dist/src/radix/index.js.map +0 -10
- package/dist/src/ripple/index.cjs.map +0 -10
- package/dist/src/ripple/index.js.map +0 -10
- package/dist/src/solana/index.cjs.map +0 -11
- package/dist/src/solana/index.js.map +0 -11
- package/dist/src/substrate/index.cjs.map +0 -13
- package/dist/src/substrate/index.js.map +0 -13
- package/dist/src/sui/index.cjs.map +0 -11
- package/dist/src/sui/index.js.map +0 -11
- package/dist/src/ton/index.cjs.map +0 -11
- package/dist/src/ton/index.js.map +0 -11
- package/dist/src/tron/index.cjs.map +0 -13
- package/dist/src/tron/index.js.map +0 -13
- package/dist/src/utxo/index.cjs.map +0 -21
- package/dist/src/utxo/index.js.map +0 -21
- package/dist/types/tron/helpers/trc20.abi.d.ts +0 -156
- package/dist/types/tron/helpers/trc20.abi.d.ts.map +0 -1
- package/src/__tests__/address-validation-all-chains.test.ts +0 -162
- package/src/__tests__/addressValidator.test.ts +0 -162
- package/src/cardano/__tests__/toolbox.test.ts +0 -48
- package/src/cardano/index.ts +0 -2
- package/src/cardano/toolbox.ts +0 -168
- package/src/cardano/types.ts +0 -10
- package/src/cosmos/__tests__/toolbox.test.ts +0 -95
- package/src/cosmos/index.ts +0 -4
- package/src/cosmos/thorchainUtils/addressFormat.ts +0 -22
- package/src/cosmos/thorchainUtils/index.ts +0 -4
- package/src/cosmos/thorchainUtils/messages.ts +0 -212
- package/src/cosmos/thorchainUtils/registry.ts +0 -43
- package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +0 -2800
- package/src/cosmos/thorchainUtils/types/client-types.ts +0 -54
- package/src/cosmos/thorchainUtils/types/index.ts +0 -1
- package/src/cosmos/toolbox/cosmos.ts +0 -345
- package/src/cosmos/toolbox/index.ts +0 -35
- package/src/cosmos/toolbox/thorchain.ts +0 -249
- package/src/cosmos/types.ts +0 -48
- package/src/cosmos/util.ts +0 -214
- package/src/evm/__tests__/address-validation.test.ts +0 -84
- package/src/evm/__tests__/ethereum.test.ts +0 -137
- package/src/evm/__tests__/signMessage.test.ts +0 -60
- package/src/evm/api.ts +0 -10
- package/src/evm/contracts/eth/multicall.ts +0 -165
- package/src/evm/contracts/op/gasOracle.ts +0 -145
- package/src/evm/helpers.ts +0 -71
- package/src/evm/index.ts +0 -4
- package/src/evm/toolbox/baseEVMToolbox.ts +0 -698
- package/src/evm/toolbox/evm.ts +0 -66
- package/src/evm/toolbox/index.ts +0 -44
- package/src/evm/toolbox/op.ts +0 -143
- package/src/evm/types.ts +0 -146
- package/src/index.ts +0 -260
- package/src/near/__tests__/core.test.ts +0 -70
- package/src/near/helpers/core.ts +0 -85
- package/src/near/helpers/gasEstimation.ts +0 -96
- package/src/near/helpers/nep141.ts +0 -50
- package/src/near/index.ts +0 -21
- package/src/near/toolbox.ts +0 -421
- package/src/near/types/contract.ts +0 -32
- package/src/near/types/nep141.ts +0 -34
- package/src/near/types/toolbox.ts +0 -55
- package/src/near/types.ts +0 -44
- package/src/radix/index.ts +0 -138
- package/src/ripple/index.ts +0 -179
- package/src/solana/index.ts +0 -36
- package/src/solana/toolbox.ts +0 -409
- package/src/substrate/balance.ts +0 -88
- package/src/substrate/index.ts +0 -2
- package/src/substrate/substrate.ts +0 -281
- package/src/substrate/types.ts +0 -115
- package/src/sui/__tests__/toolbox.test.ts +0 -86
- package/src/sui/index.ts +0 -2
- package/src/sui/toolbox.ts +0 -166
- package/src/sui/types.ts +0 -11
- package/src/ton/__tests__/toolbox.test.ts +0 -67
- package/src/ton/index.ts +0 -2
- package/src/ton/toolbox.ts +0 -136
- package/src/ton/types.ts +0 -13
- package/src/tron/__tests__/toolbox.test.ts +0 -221
- package/src/tron/helpers/trc20.abi.ts +0 -107
- package/src/tron/helpers/trongrid.ts +0 -53
- package/src/tron/index.ts +0 -21
- package/src/tron/toolbox.ts +0 -585
- package/src/tron/types.ts +0 -83
- package/src/types.ts +0 -28
- package/src/utils.ts +0 -34
- package/src/utxo/__tests__/zcash-integration.test.ts +0 -97
- package/src/utxo/helpers/api.ts +0 -471
- package/src/utxo/helpers/bchaddrjs.ts +0 -166
- package/src/utxo/helpers/coinselect.ts +0 -92
- package/src/utxo/helpers/index.ts +0 -4
- package/src/utxo/helpers/txSize.ts +0 -137
- package/src/utxo/index.ts +0 -6
- package/src/utxo/toolbox/bitcoinCash.ts +0 -243
- package/src/utxo/toolbox/index.ts +0 -59
- package/src/utxo/toolbox/params.ts +0 -18
- package/src/utxo/toolbox/utxo.ts +0 -439
- package/src/utxo/toolbox/validators.ts +0 -36
- package/src/utxo/toolbox/zcash.ts +0 -242
- package/src/utxo/types.ts +0 -39
package/dist/src/utxo/index.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
var $Z=Object.create;var{getPrototypeOf:jZ,defineProperty:WX,getOwnPropertyNames:qZ}=Object;var WZ=Object.prototype.hasOwnProperty;var PB=(X,Z,B)=>{B=X!=null?$Z(jZ(X)):{};let G=Z||!X||!X.__esModule?WX(B,"default",{value:X,enumerable:!0}):B;for(let $ of qZ(X))if(!WZ.call(G,$))WX(G,$,{get:()=>X[$],enumerable:!0});return G};var LZ=(X,Z)=>{for(var B in Z)WX(X,B,{get:Z[B],enumerable:!0,configurable:!0,set:(G)=>Z[B]=()=>G})};var H=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);var VB=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:(Z,B)=>(typeof require<"u"?require:Z)[B]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});import{AssetValue as kX,getChainConfig as TZ}from"@swapkit/helpers";import{SwapKitApi as YZ}from"@swapkit/helpers/api";function EX(){function X(){let Z=Date.now(),B=LX||Z;return LX=B,Z>LX?Z:B+1}return DZ+X().toString(36)}function fX(X){return async function(B,G=!0){let $=await YZ.getChainBalance({address:B,chain:X,scamFilter:G}),{baseDecimal:Q}=TZ(X),J=$.map(({identifier:q,value:W,decimal:L})=>{return new kX({decimal:L||Q,identifier:q,value:W})});if(!J.some((q)=>q.isGasAsset))return[kX.from({chain:X}),...J];return J}}var DZ,LX=0;var TX=H(()=>{DZ=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{networks as UZ}from"@bitgo/utxo-lib";import{Chain as C,getRPCUrl as zZ,RequestClient as t,SKConfig as CZ,SwapKitError as k,warnOnce as IZ}from"@swapkit/helpers";import{networks as MZ}from"bitcoinjs-lib";import p from"coininfo";async function _Z({chain:X,txHash:Z}){let B=`${e(X)}/push/transaction`,G=JSON.stringify({data:Z});try{let $=await t.post(B,{body:G,headers:{"Content-Type":"application/json"}});if($.context.code!==200)throw new k("toolbox_utxo_broadcast_failed",{error:$.context.error||"Transaction broadcast failed"});return $.data?.transaction_hash||Z}catch($){let Q=await zZ(X);if(Q){let J=JSON.stringify({id:EX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),j=await t.post(Q,{body:J,headers:{"Content-Type":"application/json"}});if(j.error)throw new k("toolbox_utxo_broadcast_failed",{error:j.error?.message});if(j.result.includes('"code":-26'))throw new k("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return j.result}throw $}}function e(X){return`https://api.blockchair.com/${HZ(X)}`}function RX(X){switch(X){case C.Bitcoin:return 5;case C.Dogecoin:return 1e4;case C.Litecoin:return 1;case C.Zcash:return 1;default:return 2}}function HZ(X){switch(X){case C.BitcoinCash:return"bitcoin-cash";case C.Litecoin:return"litecoin";case C.Dash:return"dash";case C.Dogecoin:return"dogecoin";case C.Zcash:return"zcash";case C.Polkadot:return"polkadot";default:return"bitcoin"}}async function vZ(X){try{let{feePerKb:Z}=await t.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),B=Z/1000;return Math.max(B,RX(X))}catch{return RX(X)}}async function YX(X,Z){let B=await t.get(`${X}${Z?`${X.includes("?")?"&":"?"}key=${Z}`:""}`);if(!B||B.context.code!==200)throw new k("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return B.data}async function PX({address:X,chain:Z,apiKey:B}){if(!X)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await YX(`${e(Z)}/dashboards/address/${X}?transaction_details=true`,B))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function NZ({address:X,chain:Z,apiKey:B}){return(await PX({address:X,apiKey:B,chain:Z}))?.address.balance||0}async function VX({chain:X,apiKey:Z,txHash:B}){if(!B)throw new k("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await YX(`${e(X)}/raw/transaction/${B}`,Z))?.[B]?.raw_transaction||""}catch(G){let $=G instanceof Error?G.message:String(G);return console.error(`Failed to fetch raw transaction: ${$}`),""}}async function OZ({chain:X,address:Z,apiKey:B,offset:G=0,limit:$=30}){return(await YX(`${e(X)}/outputs?q=recipient(${Z}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${$}&offset=${G}`,B)).map(({is_spent:q,script_hex:W,block_id:L,transaction_hash:T,index:D,value:Y,spending_signature_hex:U})=>({hash:T,index:D,is_confirmed:L!==-1,is_spent:q,script_hex:W,txHex:U,value:Y}))}function yZ(X){return X.reduce((Z,B)=>Z+B.value,0)}function wX(X,Z){let B=[...X].sort((G,$)=>$.value-G.value);if(Z){let G=[],$=0;for(let Q of B)if(G.push(Q),$+=Q.value,$>=Z)break;return G}return B}async function bX({chain:X,address:Z,apiKey:B,targetValue:G,accumulativeValue:$=0,offset:Q=0,limit:J=30}){if(!Z)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{let j=await OZ({address:Z,apiKey:B,chain:X,limit:J,offset:Q,targetValue:G}),W=j.length<J,L=j.filter(({is_spent:z})=>!z),T=yZ(L),D=$+T,Y=G&&D>=G;if(W||Y)return wX(L,G);let U=await bX({accumulativeValue:D,address:Z,apiKey:B,chain:X,limit:J,offset:Q+J,targetValue:G}),I=[...L,...U];return wX(I,G)}catch(j){let q=j instanceof Error?j.message:String(j);return console.error(`Failed to fetch unspent UTXOs: ${q}`),[]}}async function FZ({address:X,chain:Z,apiKey:B,fetchTxHex:G=!0,targetValue:$}){let Q=await bX({address:X,apiKey:B,chain:Z,targetValue:$}),J=[];for(let{hash:j,index:q,script_hex:W,value:L}of Q){let T;if(G)T=await VX({apiKey:B,chain:Z,txHash:j});J.push({address:X,hash:j,index:q,txHex:T,value:L,witnessUtxo:{script:Buffer.from(W,"hex"),value:L}})}return J}function M(X){let Z=CZ.get("apiKeys").blockchair||"";return IZ({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(B)=>_Z({chain:X,txHash:B}),getAddressData:(B)=>PX({address:B,apiKey:Z,chain:X}),getBalance:(B)=>NZ({address:B,apiKey:Z,chain:X}),getRawTx:(B)=>VX({apiKey:Z,chain:X,txHash:B}),getSuggestedTxFee:()=>vZ(X),getUtxos:(B)=>FZ({...B,apiKey:Z,chain:X})}}function AZ(X){return X}function N(){return function(Z){switch(Z){case C.Bitcoin:return MZ.bitcoin;case C.BitcoinCash:return p.bitcoincash.main.toBitcoinJS();case C.Dash:return p.dash.main.toBitcoinJS();case C.Litecoin:return p.litecoin.main.toBitcoinJS();case C.Dogecoin:{let B={private:70615956,public:70617039},G=p.dogecoin.test;return G.versions.bip32=B,p.dogecoin.main.toBitcoinJS()}case C.Zcash:return UZ.zcash;default:throw new k("toolbox_utxo_not_supported",{chain:Z})}}}var KX=H(()=>{TX()});import{SwapKitError as xX}from"@swapkit/helpers";import gX from"bs58check";import mX from"cashaddrjs";function UX(X){try{return XX(X),!0}catch{return!1}}function zX(X){return XX(X)?.network}function x(X){let Z=XX(X);if(Z?.format==="legacy")return X;return fZ(Z)}function o(X){let Z=XX(X);return RZ(Z)}function XX(X){try{let Z=kZ(X);if(Z)return Z}catch{}try{let Z=EZ(X);if(Z)return Z}catch{}throw new xX("toolbox_utxo_invalid_address",{address:X})}function kZ(X){try{let Z=gX.decode(X);if(Z.length!==21)throw new xX("toolbox_utxo_invalid_address",{address:X});let B=Z[0],G=Array.prototype.slice.call(Z,1);switch(B){case P.legacy.mainnet.p2pkh:return{format:"legacy",hash:G,network:"mainnet",type:"p2pkh"};case P.legacy.mainnet.p2sh:return{format:"legacy",hash:G,network:"mainnet",type:"p2sh"};case P.legacy.testnet.p2pkh:return{format:"legacy",hash:G,network:"testnet",type:"p2pkh"};case P.legacy.testnet.p2sh:return{format:"legacy",hash:G,network:"testnet",type:"p2sh"};case P.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2pkh"};case P.bitpay.mainnet.p2sh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function EZ(X){if(X.indexOf(":")!==-1)try{return SX(X)}catch{}else{let Z=["bitcoincash","bchtest","bchreg"];for(let B of Z)try{return SX(`${B}:${X}`)}catch{}}return}function SX(X){try{let{hash:Z,prefix:B,type:G}=mX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:B==="bitcoincash"?"mainnet":"testnet",type:G==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function fZ(X){let Z=P.legacy[X.network][X.type],B=Buffer.alloc(1+X.hash.length);return B[0]=Z,B.set(X.hash,1),gX.encode(B)}function RZ(X){let Z=X.network==="mainnet"?"bitcoincash":"bchtest",B=X.type==="p2pkh"?"P2PKH":"P2SH",G=new Uint8Array(X.hash);return mX.encode(Z,B,G)}var DX,P;var lX=H(()=>{((B)=>{B.Mainnet="mainnet";B.Testnet="testnet"})(DX||={});P={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as wZ}from"@swapkit/helpers";import{opcodes as PZ,script as VZ}from"bitcoinjs-lib";function O(X){let Z=Buffer.from(X,"utf8");return VZ.compile([PZ.OP_RETURN,Z])}var bZ=1000,GX=10,hX=10,KZ=41,SZ=107,JX,ZX,BX,n=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new wZ("toolbox_utxo_invalid_address",{address:X})},g=({inputs:X,outputs:Z,feeRate:B})=>{let G=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",$=X.filter((J)=>J.value>=ZX["type"in J?J.type:"P2PKH"]*Math.ceil(B)).reduce((J,j)=>J+E(j),0),Q=Z?.reduce((J,j)=>J+u(j),0)||BX[G];return GX+$+Q},E=(X)=>{if("type"in X)return ZX[X.type];if("address"in X&&X.address)return ZX[n(X.address)];return KZ+SZ},u=(X,Z)=>{if(X?.script)return hX+X.script.length+(X.script.length>=74?2:1);if(Z)return BX[Z];return BX.P2PKH};var CX=H(()=>{((B)=>{B.P2PKH="P2PKH";B.P2WPKH="P2WPKH"})(JX||={});ZX={["P2PKH"]:148,["P2WPKH"]:68},BX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as V,SwapKitError as xZ}from"@swapkit/helpers";function QX(X){switch(X){case V.Bitcoin:case V.BitcoinCash:return 550;case V.Dash:case V.Litecoin:return 5500;case V.Dogecoin:return 1e5;case V.Zcash:return 546;default:throw new xZ("toolbox_utxo_not_supported",{chain:X})}}function y({inputs:X,outputs:Z,feeRate:B=1,chain:G=V.Bitcoin,changeAddress:$=""}){let Q=Math.ceil(B),J=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",j=X.filter((Y)=>E(Y)*Q<=Y.value),q=GX+Z.reduce((Y,U)=>Y+u(U,J),0),W=Z.reduce((Y,U)=>Y+U.value,0),L=q*Q,T=0,D=[];for(let Y of j){let U=E(Y),I=Q*U;L+=I,T+=Y.value,D.push(Y);let z=L+W;if(T<z)continue;let R=T-z,w=Q*u({address:"",value:0},J);if(R>w){let FX=w+L,AX=T-(W+FX);if(AX>Math.max(E({})*Q,QX(G)))return{fee:FX,inputs:D,outputs:Z.concat({address:$,value:AX})}}return{fee:L,inputs:D,outputs:Z}}return{fee:Q*g({feeRate:Q,inputs:X,outputs:Z})}}var cX=H(()=>{CX()});var m=H(()=>{KX();lX();cX();CX()});import{networks as gZ,address as mZ}from"@bitgo/utxo-lib";import lZ from"bs58check";function b(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function f(X){let Z=b(X);return UX(Z)&&zX(Z)==="mainnet"}function l(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let Z=gZ.zcash;try{return mZ.toOutputScript(X,Z),!0}catch{let B=lZ.decode(X);if(B.length<21)return!1;let G=B[0];return G===Z.pubKeyHash||G===Z.scriptHash}}catch{return!1}}var r=H(()=>{m()});import MX from"@bitcoinerlab/secp256k1";import{ECPair as hZ,HDNode as cZ}from"@psf/bitcoincashjs-lib";import{HDKey as pZ}from"@scure/bip32";import{mnemonicToSeedSync as pX}from"@scure/bip39";import{AssetValue as IX,applyFeeMultiplier as oX,Chain as _,DerivationPath as oZ,derivationPathToString as nZ,FeeOption as F,NetworkDerivationPath as uZ,SwapKitError as A,SwapKitNumber as rZ,updateDerivationPath as dZ}from"@swapkit/helpers";import{address as iZ,initEccLib as uX,Psbt as sZ,payments as nX}from"bitcoinjs-lib";import{ECPairFactory as aZ}from"ecpair";function rX({inputs:X,outputs:Z,chain:B,psbt:G,sender:$,compiledMemo:Q}){for(let J of X){let j=!!J.witnessUtxo&&!d.includes(B)&&{witnessUtxo:J.witnessUtxo},q=d.includes(B)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};G.addInput({hash:J.hash,index:J.index,...j,...q})}for(let J of Z){let j="address"in J&&J.address?J.address:$,q=J.script;if(q&&!Q)continue;let W=q?{script:Q,value:0}:{address:j,value:J.value};uX(MX),G.addOutput(W)}return{inputs:X,psbt:G}}async function dX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,fetchTxHex:Q=!1}){let J=X.chain,j=B?await O(B):null,q=await aX({assetValue:X,fetchTxHex:Q,memo:B,recipient:Z,sender:$}),{inputs:W,outputs:L}=y({...q,chain:J,feeRate:G});if(!(W&&L))throw new A("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new sZ({network:T(J)});if(J===_.Dogecoin)D.setMaximumFeeRate(650000000);let{psbt:Y,inputs:U}=await rX({chain:J,compiledMemo:j,inputs:W,outputs:L,psbt:D,sender:$});return{inputs:U,psbt:Y,utxos:q.inputs}}async function iX(){let X=await N();return function({address:B,chain:G}){if(G===_.BitcoinCash)return f(B);if(G===_.Zcash)return l(B);try{return uX(MX),iZ.toOutputScript(B,X(G)),!0}catch{return!1}}}async function tZ({chain:X,phrase:Z,derivationPath:B}){let G=(await i(X))({derivationPath:B,phrase:Z});async function $(J){return await J.signAllInputs(G),J}function Q(){return _X(X)(G)}return{getAddress:Q,signTransaction:$}}async function K({chain:X,...Z}){let B="phrase"in Z?Z.phrase:void 0,G="index"in Z?Z.index||0:0,$=nZ("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:dZ(uZ[X],{index:G})),Q=B?await tZ({chain:X,derivationPath:$,phrase:B}):("signer"in Z)?Z.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let j=await iX(),q=await i(X);return{accumulative:y,broadcastTx:(W)=>M(X).broadcastTx(W),calculateTxSize:g,createKeysForPath:q,createTransaction:dX,estimateMaxSendableAmount:eZ(X),estimateTransactionFee:XB(X),getAddress:J,getAddressFromKeys:_X(X),getBalance:fX(X),getFeeRates:()=>s(X),getInputsOutputsFee:sX,getPrivateKeyFromMnemonic:(W)=>{return q(W).toWIF()},transfer:ZB(Q),validateAddress:(W)=>j({address:W,chain:X})}}async function sX({assetValue:X,feeOptionKey:Z=F.Fast,feeRate:B,memo:G,sender:$,recipient:Q}){let J=X.chain,j=await aX({assetValue:X,memo:G,recipient:Q,sender:$}),q=B?Math.floor(B):(await s(J))[Z];return y({...j,chain:J,feeRate:q})}function eZ(X){return async function({from:B,memo:G,feeRate:$,feeOptionKey:Q=F.Fast,recipients:J=1}){let j=await M(X).getAddressData(B),q=$?Math.ceil($):(await s(X))[Q],W=j?.utxo.map((U)=>({...U,hash:"",type:"P2PKH"})).filter((U)=>U.value>Math.max(QX(X),E(U)*q));if(!W?.length)return IX.from({chain:X});let L=IX.from({chain:X,value:W.reduce((U,I)=>U+I.value,0)}),T=typeof J==="number"?Array.from({length:J},()=>({address:B,value:0})):J;if(G){let U=await O(G);T.push({address:B,script:U,value:0})}let Y=g({feeRate:q,inputs:W,outputs:T})*q;return L.sub(Y)}}function XB(X){return async(Z)=>{let B=await sX(Z);return IX.from({chain:X,value:rZ.fromBigInt(BigInt(B.fee),8).getValue("string")})}}async function i(X){let Z=await N();switch(X){case _.BitcoinCash:return function({phrase:G,derivationPath:$=`${oZ.BCH}/0`,wif:Q}){let J=Z(X);if(Q)return hZ.fromWIF(Q,J);if(!G)throw new A("toolbox_utxo_invalid_params",{error:"No phrase provided"});return cZ.fromSeedBuffer(Buffer.from(pX(G)),J).derivePath($).keyPair};case _.Bitcoin:case _.Dogecoin:case _.Litecoin:case _.Zcash:case _.Dash:return function({phrase:G,wif:$,derivationPath:Q}){if(!($||G))throw new A("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=aZ(MX),j=Z(X);if($)return J.fromWIF($,j);let q=pX(G),W=pZ.fromMasterSeed(q,j).derive(Q);if(!W.privateKey)throw new A("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(W.privateKey),{network:j})};default:throw new A("toolbox_utxo_not_supported",{chain:X})}}function _X(X){let Z=N();return function(G){if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let $=d.includes(X)?nX.p2pkh:nX.p2wpkh,{address:Q}=$({network:Z(X),pubkey:G.publicKey});if(!Q)throw new A("toolbox_utxo_invalid_address",{error:"Address not defined"});return Q}}function ZB(X){return async function({memo:B,recipient:G,feeOptionKey:$,feeRate:Q,assetValue:J}){let j=await X?.getAddress(),q=J.chain;if(!(X&&j))throw new A("toolbox_utxo_no_signer");if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=Q||(await s(q))[$||F.Fast],{psbt:L}=await dX({assetValue:J,feeRate:W,memo:B,recipient:G,sender:j}),T=await X.signTransaction(L);return T.finalizeAllInputs(),M(q).broadcastTx(T.extractTransaction().toHex())}}async function s(X){let Z=await M(X).getSuggestedTxFee();return{[F.Average]:Z,[F.Fast]:oX(Z,F.Fast),[F.Fastest]:oX(Z,F.Fastest)}}async function aX({assetValue:X,recipient:Z,memo:B,sender:G,fetchTxHex:$=!1}){let Q=X.chain,J=(await s(Q))[F.Fastest],j=$||d.includes(Q),q=X.getBaseValue("number"),W=Math.ceil(q+J*5000);return{inputs:await M(Q).getUtxos({address:G,fetchTxHex:j,targetValue:W}),outputs:[{address:Z,value:q},...B?[{address:"",script:await O(B),value:0}]:[]]}}var d;var a=H(()=>{TX();m();r();d=[_.Dash,_.Dogecoin,_.Zcash,_.BitcoinCash]});import{address as BB,Transaction as GB,TransactionBuilder as JB}from"@psf/bitcoincashjs-lib";import{Chain as QB,derivationPathToString as $B,FeeOption as jB,NetworkDerivationPath as qB,SwapKitError as h,updateDerivationPath as WB}from"@swapkit/helpers";import{Psbt as LB}from"bitcoinjs-lib";function S(X){return b(o(X))}function TB(X){function Z({builder:G,utxos:$}){return $.forEach((Q,J)=>{G.sign(J,X,void 0,65,Q.witnessUtxo?.value)}),G.build()}return{getAddress:()=>{let G=X.getAddress(0);return Promise.resolve(S(G))},signTransaction:Z}}async function HX(X){let Z="phrase"in X?X.phrase:void 0,B="index"in X?X.index||0:0,G=$B("derivationPath"in X&&X.derivationPath?X.derivationPath:WB(qB[v],{index:B})),$=Z?(await i(v))({derivationPath:G,phrase:Z}):void 0,Q=$?TB($):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let{getBalance:j,getFeeRates:q,broadcastTx:W,...L}=await K({chain:v});function T(D,Y=!0){return j(b(o(D)))}return{...L,broadcastTx:W,buildTx:DB,createTransaction:tX,getAddress:J,getAddressFromKeys:UB,getBalance:T,getFeeRates:q,stripPrefix:b,stripToCashAddress:S,transfer:YB({broadcastTx:W,getFeeRates:q,signer:Q}),validateAddress:f}}async function tX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$}){if(!f(Z))throw new h("toolbox_utxo_invalid_address",{address:Z});let Q=Math.ceil(X.getBaseValue("number")+G*7500),J=await M(v).getUtxos({address:S($),fetchTxHex:!0,targetValue:Q}),j=B?await O(B):null,q=[];q.push({address:Z,value:X.getBaseValue("number")});let{inputs:W,outputs:L}=y({chain:v,feeRate:G,inputs:J,outputs:q});if(!(W&&L))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new JB(T(v));await Promise.all(W.map(async(Y)=>{let U=await M(v).getRawTx(Y.hash);D.addInput(GB.fromBuffer(Buffer.from(U,"hex")),Y.index)}));for(let Y of L){let U="address"in Y&&Y.address?Y.address:x($),I=await N(),z=BB.toOutputScript(x(U),I(v));D.addOutput(z,Y.value)}if(j)D.addOutput(j,0);return{builder:D,utxos:W}}function YB({broadcastTx:X,getFeeRates:Z,signer:B}){return async function({recipient:$,assetValue:Q,feeOptionKey:J=jB.Fast,...j}){let q=await B?.getAddress();if(!(B&&q))throw new h("toolbox_utxo_no_signer");if(!$)throw new h("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=j.feeRate||(await Z())[J],{builder:L,utxos:T}=await tX({...j,assetValue:Q,feeRate:W,recipient:$,sender:q}),Y=(await B.signTransaction({builder:L,utxos:T})).toHex();return X(Y)}}async function DB({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,setSigHashType:Q}){let J=o(Z);if(!f(J))throw new h("toolbox_utxo_invalid_address",{address:J});let j=Math.ceil(X.getBaseValue("number")+G*7500),q=await M(v).getUtxos({address:S($),fetchTxHex:!1,targetValue:j}),W=Number(G.toFixed(0)),L=B?await O(B):null,T=[];if(T.push({address:x(Z),value:X.getBaseValue("number")}),L)T.push({script:L,value:0});let{inputs:D,outputs:Y}=y({chain:v,feeRate:W,inputs:q,outputs:T});if(!(D&&Y))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let U=await N(),I=new LB({network:U(v)});for(let{hash:z,index:R,witnessUtxo:w}of D)I.addInput({hash:z,index:R,sighashType:Q?65:void 0,witnessUtxo:w});for(let z of Y){let R="address"in z&&z.address?z.address:x($),w=z.script?L?{script:L,value:0}:void 0:{address:R,value:z.value};if(w)I.addOutput(w)}return{inputs:D,psbt:I,utxos:q}}function UB(X){let Z=X.getAddress(0);return S(Z)}var v;var $X=H(()=>{m();a();r();v=QB.BitcoinCash});import{bitgo as zB,crypto as CB,ECPair as XZ,networks as IB,address as MB}from"@bitgo/utxo-lib";import{HDKey as ZZ}from"@scure/bip32";import{mnemonicToSeedSync as BZ}from"@scure/bip39";import{Chain as jX,derivationPathToString as _B,FeeOption as HB,NetworkDerivationPath as vB,SKConfig as NB,SwapKitError as qX,updateDerivationPath as OB}from"@swapkit/helpers";import yB from"bs58check";import{match as FB,P as vX}from"ts-pattern";function GZ(){return IB.zcash}function JZ(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function AB({phrase:X,derivationPath:Z}){let B=BZ(X),$=ZZ.fromMasterSeed(B).derive(Z);if(!$.privateKey)throw new qX("toolbox_utxo_invalid_params");let Q=JZ(),J=XZ.fromPrivateKey(Buffer.from($.privateKey),{network:Q}),j=CB.hash160(J.publicKey),{isStagenet:q}=NB.get("envs"),W=q?Buffer.from([29,37]):Buffer.from([28,184]),L=Buffer.concat([W,j]),T=yB.encode(L);return{getAddress:()=>Promise.resolve(T),signTransaction:(D)=>{let Y=D.signAllInputs(J);return Promise.resolve(Y)}}}function kB({inputs:X,outputs:Z,psbt:B,sender:G,compiledMemo:$}){for(let Q of X){let J=!!Q.witnessUtxo&&{witnessUtxo:{...Q.witnessUtxo,value:BigInt(Q.value)}},j=!Q.witnessUtxo&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};B.addInput({hash:Q.hash,index:Q.index,...J,...j})}for(let Q of Z){let J="address"in Q&&Q.address?Q.address:G,j=Q.script;if(j&&!$)continue;let q=j?{script:$,value:0n}:{script:MB.toOutputScript(J,GZ()),value:BigInt(Q.value)};B.addOutput(q)}return{inputs:X,psbt:B}}async function eX(X){let{assetValue:Z,recipient:B,memo:G,feeRate:$,sender:Q,fetchTxHex:J}=X,j=G?O(G):null,q=await M(jX.Zcash).getUtxos({address:Q,fetchTxHex:J!==!1}),W=[{address:B,value:Number(Z.getBaseValue("string"))},...j?[{script:j,value:0}]:[]],{inputs:L,outputs:T}=y({chain:jX.Zcash,changeAddress:Q,feeRate:$,inputs:q,outputs:W});if(!(L&&T))throw new qX("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:Q});let D=zB.createPsbtForNetwork({network:GZ()},{version:455}),Y=1307332080,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),I=Buffer.allocUnsafe(4);I.writeUInt32LE(Y>>>0,0),D.addUnknownKeyValToGlobal({key:U,value:I});let{psbt:z,inputs:R}=await kB({compiledMemo:j,inputs:L,outputs:T,psbt:D,sender:Q});return{inputs:R,outputs:T,psbt:z}}async function NX(X){let Z=await FB(X).with({signer:vX.not(vX.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:vX.string},({phrase:J,derivationPath:j,index:q=0})=>{let W=j||vB[jX.Zcash]||[44,133,0,0,0],L=OB(W,{index:q}),T=_B(L);return AB({derivationPath:T,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),B=await K({chain:jX.Zcash,signer:Z});async function G({recipient:J,assetValue:j,feeOptionKey:q=HB.Fast,...W}){let L=await Z?.getAddress();if(!(Z&&L))throw new qX("toolbox_utxo_no_signer");let T=W.feeRate||(await B.getFeeRates())[q],{psbt:D}=await eX({...W,assetValue:j,feeRate:T,recipient:J,sender:L}),Y=await Z.signTransaction(D);return Y.finalizeAllInputs(),B.broadcastTx(Y.extractTransaction().toHex())}function $({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){let q=BZ(J),L=ZZ.fromMasterSeed(q).derive(j);if(!L.privateKey)throw new qX("toolbox_utxo_invalid_params");let T=JZ();return XZ.fromPrivateKey(Buffer.from(L.privateKey),{network:T})}function Q({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){return $({derivationPath:j,phrase:J}).toWIF()}return{...B,createKeysForPath:$,createTransaction:eX,getPrivateKeyFromMnemonic:Q,transfer:G,validateAddress:l}}var OX=H(()=>{m();a();r()});import{Chain as c,SwapKitError as EB}from"@swapkit/helpers";async function fB(X,Z){switch(X){case c.BitcoinCash:return await HX(Z||{});case c.Zcash:return await NX(Z);case c.Bitcoin:case c.Dogecoin:case c.Litecoin:case c.Dash:return await K({chain:X,...Z});default:throw new EB("toolbox_utxo_not_supported",{chain:X})}}var QZ=H(()=>{$X();a();OX();$X();r()});var RB={};LZ(RB,{validateZcashAddress:()=>l,toLegacyAddress:()=>x,toCashAddress:()=>o,stripToCashAddress:()=>S,stripPrefix:()=>b,nonSegwitChains:()=>d,isValidAddress:()=>UX,getUtxoToolbox:()=>fB,getUtxoNetwork:()=>N,getUtxoApi:()=>M,getUTXOAddressValidator:()=>iX,getScriptTypeForAddress:()=>n,getOutputSize:()=>u,getInputSize:()=>E,getDustThreshold:()=>QX,getCreateKeysForPath:()=>i,detectAddressNetwork:()=>zX,createZcashToolbox:()=>NX,createUTXOToolbox:()=>K,createCustomUtxoApi:()=>AZ,createBCHToolbox:()=>HX,compileMemo:()=>O,calculateTxSize:()=>g,bchValidateAddress:()=>f,addressFromKeysGetter:()=>_X,addInputsAndOutputs:()=>rX,accumulative:()=>y,UtxoNetwork:()=>DX,UTXOScriptType:()=>JX,TX_OVERHEAD:()=>GX,OutputSizes:()=>BX,OP_RETURN_OVERHEAD:()=>hX,MIN_TX_FEE:()=>bZ,InputSizes:()=>ZX});var wB=H(()=>{m();QZ();$X();a();OX()});wB();export{l as validateZcashAddress,x as toLegacyAddress,o as toCashAddress,S as stripToCashAddress,b as stripPrefix,d as nonSegwitChains,UX as isValidAddress,fB as getUtxoToolbox,N as getUtxoNetwork,M as getUtxoApi,iX as getUTXOAddressValidator,n as getScriptTypeForAddress,u as getOutputSize,E as getInputSize,QX as getDustThreshold,i as getCreateKeysForPath,zX as detectAddressNetwork,NX as createZcashToolbox,K as createUTXOToolbox,AZ as createCustomUtxoApi,HX as createBCHToolbox,O as compileMemo,g as calculateTxSize,f as bchValidateAddress,_X as addressFromKeysGetter,rX as addInputsAndOutputs,y as accumulative,DX as UtxoNetwork,JX as UTXOScriptType,GX as TX_OVERHEAD,BX as OutputSizes,hX as OP_RETURN_OVERHEAD,bZ as MIN_TX_FEE,ZX as InputSizes};
|
|
3
|
-
|
|
4
|
-
//# debugId=7FD07FF8086ED7ED64756E2164756E21
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
var r2=Object.defineProperty;var i2=(X)=>X;function s2(X,$){this[X]=i2.bind(null,$)}var a2=(X,$)=>{for(var J in $)r2(X,J,{get:$[J],enumerable:!0,configurable:!0,set:s2.bind($,J)})};var E=(X,$)=>()=>(X&&($=X(X=0)),$);var A8=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:($,J)=>(typeof require<"u"?require:$)[J]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});function j2({deriveAddress:X,getBalance:$,getUtxos:J}){async function Z(L){let{count:Q,startIndex:z=0,change:G=!1}=L,W=[];for(let U=0;U<Q;U++){let B=await X({change:G,index:z+U});if(B)W.push(B)}return W}async function j(L){let{gapLimit:Q=20,change:z=!1}=L??{},G=[],W=0,U=0;while(W<Q){let B=await X({change:z,index:U});if(!B)break;if((await $(B.address)).some((O)=>O.getValue("number")>0))G.push(B),W=0;else W++;U++}return G}async function Y(L=20){let[Q,z]=await Promise.all([j({change:!1,gapLimit:L}),j({change:!0,gapLimit:L})]),G=[...Q,...z],W=await Promise.all(G.map(async(B)=>{let D=(await $(B.address)).reduce((O,n)=>O+n.getValue("number"),0);return{...B,balance:D}})),U=W.reduce((B,M)=>B+M.balance,0);return{addresses:W,total:U}}async function q(L=20){let[Q,z]=await Promise.all([j({change:!1,gapLimit:L}),j({change:!0,gapLimit:L})]),G=[...Q,...z];return(await Promise.all(G.map(async(U)=>{return(await J(U.address)).map((M)=>({...M,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:Z,getAggregatedBalance:Y,getAggregatedUtxos:q,scanForAddresses:j}}import{AssetValue as Q2,getChainConfig as t2}from"@swapkit/helpers";import{SwapKitApi as e2}from"@swapkit/helpers/api";function G2(){function X(){let $=Date.now(),J=lX||$;return lX=J,$>lX?$:J+1}return X0+X().toString(36)}function Y2(X){return async function(J,Z=!0){let j=await e2.getChainBalance({address:J,chain:X,scamFilter:Z}),{baseDecimal:Y}=t2(X),q=j.map(({identifier:Q,value:z,decimal:G})=>{return new Q2({decimal:G||Y,identifier:Q,value:z})});if(!q.some((Q)=>Q.isGasAsset))return[Q2.from({chain:X}),...q];return q}}var X0,lX=0;var hX=E(()=>{X0=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{Chain as b,getRPCUrl as $0,RequestClient as PX,SKConfig as J0,SwapKitError as w,warnOnce as Z0}from"@swapkit/helpers";import{NETWORKS as XX}from"@swapkit/utxo-signer";async function j0({chain:X,txHash:$}){let J=`${WX(X)}/push/transaction`,Z=JSON.stringify({data:$});try{let j=await PX.post(J,{body:Z,headers:{"Content-Type":"application/json"}});if(j.context.code!==200)throw new w("toolbox_utxo_broadcast_failed",{error:j.context.error||"Transaction broadcast failed"});return j.data?.transaction_hash||$}catch(j){let Y=await $0(X);if(Y){let q=JSON.stringify({id:G2(),jsonrpc:"2.0",method:"sendrawtransaction",params:[$]}),L=await PX.post(Y,{body:q,headers:{"Content-Type":"application/json"}});if(L.error)throw new w("toolbox_utxo_broadcast_failed",{error:L.error?.message});if(L.result.includes('"code":-26'))throw new w("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return L.result}throw j}}function WX(X){return`https://api.blockchair.com/${Q0(X)}`}function q2(X){switch(X){case b.Bitcoin:return 5;case b.Dogecoin:return 1e4;case b.Litecoin:return 1;case b.Zcash:return 1;default:return 2}}function Q0(X){switch(X){case b.BitcoinCash:return"bitcoin-cash";case b.Litecoin:return"litecoin";case b.Dash:return"dash";case b.Dogecoin:return"dogecoin";case b.Zcash:return"zcash";case b.Polkadot:return"polkadot";default:return"bitcoin"}}async function G0(X){try{let{feePerKb:$}=await PX.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),J=$/1000;return Math.max(J,q2(X))}catch{return q2(X)}}async function bX(X,$){let J=await PX.get(`${X}${$?`${X.includes("?")?"&":"?"}key=${$}`:""}`);if(!J||J.context.code!==200)throw new w("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return J.data}async function z2({address:X,chain:$,apiKey:J}){if(!X)throw new w("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await bX(`${WX($)}/dashboards/address/${X}?transaction_details=true`,J))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function Y0({address:X,chain:$,apiKey:J}){return(await z2({address:X,apiKey:J,chain:$}))?.address.balance||0}async function W2({chain:X,apiKey:$,txHash:J}){if(!J)throw new w("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await bX(`${WX(X)}/raw/transaction/${J}`,$))?.[J]?.raw_transaction||""}catch(Z){let j=Z instanceof Error?Z.message:String(Z);return console.error(`Failed to fetch raw transaction: ${j}`),""}}async function L0({chain:X,apiKey:$,txHash:J}){if(!J)throw new w("toolbox_utxo_invalid_params",{error:"TxHash is required"});let j=(await bX(`${WX(X)}/dashboards/transaction/${J}`,$))?.[J];if(!j)throw new w("toolbox_utxo_tx_not_found",{txHash:J});let{transaction:Y,inputs:q,outputs:L}=j,Q=q.map((G)=>G.spending_sequence),z=Y.is_rbf===!0||Q.some((G)=>G<q0);return{blockId:Y.block_id,confirmed:Y.block_id!==-1,fee:Y.fee,inputs:q,isRBF:z,outputs:L,sequences:Q,size:Y.size,txid:Y.hash,weight:Y.weight}}async function z0({chain:X,address:$,apiKey:J,offset:Z=0,limit:j=30}){return(await bX(`${WX(X)}/outputs?q=recipient(${$}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${j}&offset=${Z}`,J)).map(({is_spent:Q,script_hex:z,block_id:G,transaction_hash:W,index:U,value:B,spending_signature_hex:M})=>({hash:W,index:U,is_confirmed:G!==-1,is_spent:Q,script_hex:z,txHex:M,value:B}))}function W0(X){return X.reduce(($,J)=>$+J.value,0)}function L2(X,$){let J=[...X].sort((Z,j)=>j.value-Z.value);if($){let Z=[],j=0;for(let Y of J)if(Z.push(Y),j+=Y.value,j>=$)break;return Z}return J}async function U2({chain:X,address:$,apiKey:J,targetValue:Z,accumulativeValue:j=0,offset:Y=0,limit:q=30}){if(!$)throw new w("toolbox_utxo_invalid_params",{error:"Address is required"});try{let L=await z0({address:$,apiKey:J,chain:X,limit:q,offset:Y,targetValue:Z}),z=L.length<q,G=L.filter(({is_spent:O})=>!O),W=W0(G),U=j+W,B=Z&&U>=Z;if(z||B)return L2(G,Z);let M=await U2({accumulativeValue:U,address:$,apiKey:J,chain:X,limit:q,offset:Y+q,targetValue:Z}),D=[...G,...M];return L2(D,Z)}catch(L){let Q=L instanceof Error?L.message:String(L);return console.error(`Failed to fetch unspent UTXOs: ${Q}`),[]}}async function U0({address:X,chain:$,apiKey:J,fetchTxHex:Z=!0,targetValue:j}){let Y=await U2({address:X,apiKey:J,chain:$,targetValue:j}),q=[];for(let{hash:L,index:Q,script_hex:z,value:G}of Y){let W;if(Z)W=await W2({apiKey:J,chain:$,txHash:L});q.push({address:X,hash:L,index:Q,txHex:W,value:G,witnessUtxo:{script:Buffer.from(z,"hex"),value:G}})}return q}function V(X){let $=J0.get("apiKeys").blockchair||"";return Z0({condition:!$,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(J)=>j0({chain:X,txHash:J}),getAddressData:(J)=>z2({address:J,apiKey:$,chain:X}),getBalance:(J)=>Y0({address:J,apiKey:$,chain:X}),getRawTx:(J)=>W2({apiKey:$,chain:X,txHash:J}),getSuggestedTxFee:()=>G0(X),getTransactionDetails:(J)=>L0({apiKey:$,chain:X,txHash:J}),getUtxos:(J)=>U0({...J,apiKey:$,chain:X})}}function B0(X){return X}function _0(){return function($){switch($){case b.Bitcoin:return XX.bitcoin;case b.BitcoinCash:return XX.bitcoinCash;case b.Dash:return XX.dash;case b.Litecoin:return XX.litecoin;case b.Dogecoin:return XX.dogecoin;case b.Zcash:return XX.zcash;default:throw new w("toolbox_utxo_not_supported",{chain:$})}}}var q0=4294967294;var B2=E(()=>{hX()});import{CashAddrType as EX,decodeCashAddr as M0,encodeCashAddr as N0}from"@swapkit/utxo-signer";function H0(X,$,J){return N0({hash:J,prefix:X,type:D0[$]})}function I0(X){let $=M0(X),J=C0[$.type];if(!J)throw Error(`Unknown CashAddr type: ${$.type}`);return{hash:$.hash,prefix:$.prefix,type:J}}var D0,C0,cX;var _2=E(()=>{D0={P2PKH:EX.P2PKH,P2SH:EX.P2SH},C0={[EX.P2PKH]:"P2PKH",[EX.P2SH]:"P2SH"};cX={decode:I0,encode:H0}});import{sha256 as O0}from"@noble/hashes/sha2.js";import{createBase58check as T0}from"@scure/base";import{SwapKitError as N2}from"@swapkit/helpers";function oX(X){try{return FX(X),!0}catch{return!1}}function pX(X){return FX(X)?.network}function g(X){let $=FX(X);if($?.format==="legacy")return X;return P0($)}function UX(X){let $=FX(X);return b0($)}function FX(X){try{let $=V0(X);if($)return $}catch{}try{let $=k0(X);if($)return $}catch{}throw new N2("toolbox_utxo_invalid_address",{address:X})}function V0(X){try{let $=D2.decode(X);if($.length!==21)throw new N2("toolbox_utxo_invalid_address",{address:X});let J=$[0],Z=Array.prototype.slice.call($,1);switch(J){case d.legacy.mainnet.p2pkh:return{format:"legacy",hash:Z,network:"mainnet",type:"p2pkh"};case d.legacy.mainnet.p2sh:return{format:"legacy",hash:Z,network:"mainnet",type:"p2sh"};case d.legacy.testnet.p2pkh:return{format:"legacy",hash:Z,network:"testnet",type:"p2pkh"};case d.legacy.testnet.p2sh:return{format:"legacy",hash:Z,network:"testnet",type:"p2sh"};case d.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:Z,network:"mainnet",type:"p2pkh"};case d.bitpay.mainnet.p2sh:return{format:"bitpay",hash:Z,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function k0(X){if(X.indexOf(":")!==-1)try{return M2(X)}catch{}else{let $=["bitcoincash","bchtest","bchreg"];for(let J of $)try{return M2(`${J}:${X}`)}catch{}}return}function M2(X){try{let{hash:$,prefix:J,type:Z}=cX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call($,0),network:J==="bitcoincash"?"mainnet":"testnet",type:Z==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function P0(X){let $=d.legacy[X.network][X.type],J=Buffer.alloc(1+X.hash.length);return J[0]=$,J.set(X.hash,1),D2.encode(J)}function b0(X){let $=X.network==="mainnet"?"bitcoincash":"bchtest",J=X.type==="p2pkh"?"P2PKH":"P2SH",Z=new Uint8Array(X.hash);return cX.encode($,J,Z)}var D2,uX,d;var C2=E(()=>{_2();D2=T0(O0);((J)=>{J.Mainnet="mainnet";J.Testnet="testnet"})(uX||={});d={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as E0}from"@swapkit/helpers";import{Script as F0}from"@swapkit/utxo-signer";function F(X){let $=new Uint8Array(Buffer.from(X,"utf8"));return F0.encode(["RETURN",$])}var f0=1000,vX=10,RX=2,H2=10,v0=41,R0=107,yX,fX,BX,$X=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new E0("toolbox_utxo_invalid_address",{address:X})},r=({inputs:X,outputs:$,feeRate:J})=>{let Z=X[0]&&"address"in X[0]&&X[0].address?$X(X[0].address):"P2PKH",Y=(J?X.filter((z)=>z.value>=fX["type"in z&&z.type?z.type:"P2PKH"]*Math.ceil(J)):X).reduce((z,G)=>z+h(G),0),q=$?.reduce((z,G)=>z+_X(G),0)||BX[Z],L=vX+Y+q;return Z==="P2WPKH"?Math.ceil(L+RX/4):L},h=(X)=>{if("type"in X&&X.type)return fX[X.type];if("address"in X&&X.address)return fX[$X(X.address)];return v0+R0},_X=(X,$)=>{if(X?.script)return H2+X.script.length+(X.script.length>=74?2:1);if($)return BX[$];if("address"in X&&X.address)return BX[$X(X.address)];return BX.P2PKH};var nX=E(()=>{((J)=>{J.P2PKH="P2PKH";J.P2WPKH="P2WPKH"})(yX||={});fX={["P2PKH"]:148,["P2WPKH"]:68},BX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as i,SwapKitError as y0}from"@swapkit/helpers";function MX(X){switch(X){case i.Bitcoin:case i.BitcoinCash:return 550;case i.Dash:case i.Litecoin:return 5500;case i.Dogecoin:return 1e5;case i.Zcash:return 546;default:throw new y0("toolbox_utxo_not_supported",{chain:X})}}function R({inputs:X,outputs:$,feeRate:J=1,chain:Z=i.Bitcoin,changeAddress:j=""}){let Y=X[0]&&"address"in X[0]&&X[0].address?$X(X[0].address):"P2PKH",q=X.filter((M)=>h(M)*J<=M.value),Q=Y==="P2WPKH"?Math.ceil(RX/4):0,z=vX+Q+$.reduce((M,D)=>M+_X(D),0),G=$.reduce((M,D)=>M+D.value,0),W=z*J,U=0,B=[];for(let M of q){let D=h(M),O=J*D;W+=O,U+=M.value,B.push(M);let n=W+G;if(U<n)continue;let gX=U-n,IX=J*_X({address:j,value:0});if(gX>IX){let _=IX+W,N=U-(G+Math.ceil(_));if(N>Math.max(h({value:0})*J,MX(Z)))return{fee:Math.ceil(_),inputs:B,outputs:$.concat({address:j,value:N})}}return{fee:Math.ceil(W),inputs:B,outputs:$}}return{fee:Math.ceil(J*r({inputs:X,outputs:$}))}}var I2=E(()=>{nX()});var JX=E(()=>{B2();C2();I2();nX()});import{Address as w0,ZCASH_NETWORK as A0}from"@swapkit/utxo-signer";function s(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function c(X){let $=s(X);return oX($)&&pX($)==="mainnet"}function ZX(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let J=w0(A0).decode(X);return J.type==="pkh"||J.type==="sh"}catch{return!1}}var NX=E(()=>{JX()});import{secp256k1 as S0}from"@noble/curves/secp256k1.js";import{hex as a}from"@scure/base";import{HDKey as k2}from"@scure/bip32";import{mnemonicToSeedSync as rX}from"@scure/bip39";import{AssetValue as wX,applyFeeMultiplier as O2,Chain as k,derivationPathToString as P2,FeeOption as A,NetworkDerivationPath as b2,SwapKitError as H,SwapKitNumber as K0,updateDerivationPath as g0,warnOnce as m0}from"@swapkit/helpers";import{Address as x0,BCHSigHash as iX,CashAddrPrefix as l0,CashAddrType as h0,encodeCashAddr as c0,NETWORKS as jX,p2pkh as T2,p2wpkh as u0,RBF_SEQUENCE as o0,SigHash as E2,Transaction as dX,WIF as F2}from"@swapkit/utxo-signer";import{match as f2}from"ts-pattern";function sX({address:X,chain:$}){return f2($).with(k.BitcoinCash,()=>c(X)).with(k.Zcash,()=>ZX(X)).otherwise(()=>{try{return x0(f($)).decode(X),!0}catch{return!1}})}function f(X){return f2(X).with(k.Bitcoin,()=>jX.bitcoin).with(k.BitcoinCash,()=>jX.bitcoinCash).with(k.Dash,()=>jX.dash).with(k.Dogecoin,()=>jX.dogecoin).with(k.Litecoin,()=>jX.litecoin).with(k.Zcash,()=>jX.zcash).exhaustive()}function p0({phrase:X,derivationPath:$,network:J,seed:Z}){let j=Z??rX(X),q=k2.fromMasterSeed(j,J.bip32).derive($);if(!q.privateKey)throw new H("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function V2(X){return S0.getPublicKey(X,!0)}function aX({publicKey:X,chain:$,network:J}){if($===k.BitcoinCash){let Y=T2(X,J);if(!Y.hash)throw new H("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return c0({hash:Y.hash,prefix:l0.MAINNET,type:h0.P2PKH}).replace(/^bitcoincash:/,"")}let j=!DX.includes($)?u0(X,J):T2(X,J);if(!j.address)throw new H("toolbox_utxo_invalid_address",{error:"Could not derive address"});return j.address}function QX({phrase:X,derivationPath:$,chain:J,wif:Z,seed:j}){let Y=f(J);if(Z){let z=F2(Y).decode(Z),G=V2(z);return{privateKey:z,publicKey:G}}if(!X)throw new H("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=$||P2(b2[J]),L=p0({derivationPath:q,network:Y,phrase:X,seed:j}),Q=V2(L);return{privateKey:L,publicKey:Q}}function n0(X,$){return F2(f($)).encode(X)}function d0({phrase:X,derivationPath:$,chain:J,seed:Z}){let j=$.split("/");if(j.length<4)throw new H("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${j.length}): ${$}`});let Y=f(J),q=Z??rX(X),L=k2.fromMasterSeed(q,Y.bip32),Q=j.slice(0,4).join("/");return L.derive(Q)}function u({inputs:X,outputs:$,chain:J,tx:Z,sender:j,compiledMemo:Y,enableRBF:q=!1}){let L=f(J),Q=!DX.includes(J),z=q?o0:void 0,G=new Set;for(let W of X){let U=`${W.hash}:${W.index}`;if(G.has(U))throw new H("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(U);let B=typeof W.hash==="string"?a.decode(W.hash):W.hash;if(Q&&W.witnessUtxo)Z.addInput({index:W.index,sequence:z,txid:B,witnessUtxo:{amount:BigInt(W.witnessUtxo.value),script:W.witnessUtxo.script}});else if(W.txHex)Z.addInput({index:W.index,nonWitnessUtxo:a.decode(W.txHex),sequence:z,txid:B,...J===k.BitcoinCash?{sighashType:iX.ALL}:{}});else throw new H("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let W of $){let U="address"in W&&W.address?W.address:j;if(J===k.BitcoinCash)U=g(U);if(W.script){if(Y)Z.addOutput({amount:0n,script:Y})}else Z.addOutputAddress(U,BigInt(W.value),L)}return{inputs:X,tx:Z}}async function GX(X){let $=await V(X).getSuggestedTxFee();return{[A.Average]:$,[A.Fast]:O2($,A.Fast),[A.Fastest]:O2($,A.Fastest)}}async function v2({assetValue:X,recipient:$,memo:J,sender:Z,fetchTxHex:j=!1}){let Y=X.chain,q=(await GX(Y))[A.Fastest],L=j||DX.includes(Y),Q=X.getBaseValue("number"),z=Math.ceil(Q+q*5000);return{inputs:await V(Y).getUtxos({address:Z,fetchTxHex:L,targetValue:z}),outputs:[{address:$,value:Q},...J?[{address:"",script:F(J),value:0}]:[]]}}async function R2({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j,fetchTxHex:Y=!1,enableRBF:q=!1}){let L=X.chain,Q=J?F(J):null,z=await v2({assetValue:X,fetchTxHex:Y,memo:J,recipient:$,sender:j}),{inputs:G,outputs:W}=R({...z,chain:L,feeRate:Z});if(!(G&&W))throw new H("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let U=new dX({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:B,tx:M}=u({chain:L,compiledMemo:Q,enableRBF:q,inputs:G,outputs:W,sender:j,tx:U});return{inputs:B,tx:M,utxos:z.inputs}}async function y2({assetValue:X,feeOptionKey:$=A.Fast,feeRate:J,memo:Z,sender:j,recipient:Y}){let q=X.chain,L=await v2({assetValue:X,memo:Z,recipient:Y,sender:j}),Q=J?Math.floor(J):(await GX(q))[$];return R({...L,chain:q,feeRate:Q})}function r0(X){return async function({from:J,memo:Z,feeRate:j,feeOptionKey:Y=A.Fast,recipients:q=1}){let L=await V(X).getAddressData(J),Q=j?Math.ceil(j):(await GX(X))[Y],z=L?.utxo.map((D)=>({...D,hash:"",type:"P2PKH"})).filter((D)=>D.value>Math.max(MX(X),h(D)*Q));if(!z?.length)return wX.from({chain:X});let G=BigInt(z.reduce((D,O)=>D+O.value,0)),W=wX.from({chain:X,value:G}),U=typeof q==="number"?Array.from({length:q},()=>({address:J,value:0})):q;if(Z)U.push({address:J,script:F(Z),value:0});let B=r({inputs:z,outputs:U}),M=wX.from({chain:X,value:BigInt(B*Q)});return W.sub(M)}}function i0(X){return async function(J){let{fee:Z}=await y2(J);return wX.from({chain:X,value:K0.fromBigInt(BigInt(Z),8).getValue("string")})}}function s0({chain:X,phrase:$,derivationPath:J,seed:Z}){let j=f(X),{privateKey:Y,publicKey:q}=QX({chain:X,derivationPath:J,phrase:$,seed:Z}),L=X===k.BitcoinCash?[iX.ALL]:[E2.ALL];return{getAddress:()=>aX({chain:X,network:j,publicKey:q}),privateKey:Y,publicKey:q,signTransaction:(Q)=>{return Q.sign(Y,L),Q}}}function a0(X,$){return async function({memo:Z,recipient:j,feeOptionKey:Y,feeRate:q,assetValue:L,enableRBF:Q=!1}){let z=$?.getAddress();if(!($&&z))throw new H("toolbox_utxo_no_signer");if(!j)throw new H("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});m0({condition:Q&&!AX.includes(X),id:`rbf_not_supported_${X}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${X}. Transaction will be created without RBF signaling.`});let G=Q&&AX.includes(X),W=q||(await GX(X))[Y||A.Fast],{tx:U}=await R2({assetValue:L,enableRBF:G,feeRate:W,memo:Z,recipient:j,sender:z});return $.signTransaction(U),U.finalize(),V(X).broadcastTx(a.encode(U.extract()))}}function tX(X){return($)=>sX({address:$,chain:X})}function eX(X){let $=f(X);return function(Z){if(!Z)throw new H("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return aX({chain:X,network:$,publicKey:Z.publicKey})}}function o({chain:X,...$}){let J="phrase"in $?$.phrase:void 0,Z="index"in $?$.index||0:0,j=J?rX(J):void 0,Y=P2("derivationPath"in $&&$.derivationPath?$.derivationPath:g0(b2[X],{index:Z})),q=J?s0({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0,L="signer"in $?$.signer:void 0,Q=J?QX({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0;function z(){if(q)return Promise.resolve(q.getAddress());if(L)return L.getAddress();return Promise.resolve(void 0)}let G=J?d0({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0;function W(){if(!G)return;return G.publicExtendedKey}function U({index:_,change:N=!1}){if(!G)return;if(!Number.isInteger(_)||_<0)throw RangeError(`index must be a non-negative integer, got: ${_}`);let T=f(X),I=G.deriveChild(Number(N)).deriveChild(_);if(!I.publicKey)throw new H("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let C=aX({chain:X,network:T,publicKey:I.publicKey}),v=a.encode(I.publicKey);return{address:C,change:N,index:_,pubkey:v}}async function B(_){if(!AX.includes(X))return{reason:`RBF is not supported on ${X}`,supported:!1};let N=await V(X).getTransactionDetails(_);return{canReplace:N.isRBF&&!N.confirmed,confirmed:N.confirmed,enabled:N.isRBF,fee:N.fee,sequences:N.sequences,supported:!0}}async function M({txid:_,newFeeRate:N,recipient:T,memo:I}){if(!AX.includes(X))throw new H("toolbox_utxo_rbf_not_supported",{chain:X});let C=await V(X).getTransactionDetails(_);if(!C.isRBF)throw new H("toolbox_utxo_tx_not_replaceable",{txid:_});if(C.confirmed)throw new H("toolbox_utxo_tx_already_confirmed",{blockId:C.blockId,txid:_});let v=C.inputs.reduce((P,l)=>P+l.value,0),y=C.outputs.find((P)=>P.recipient===T)?.value||0;if(y===0)throw new H("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let e=await Promise.all(C.inputs.map(async(P)=>{let l=await V(X).getRawTx(P.transaction_hash);return{hash:P.transaction_hash,index:P.index,txHex:l,value:P.value,witnessUtxo:void 0}})),OX=I?F(I):null,mX=r({feeRate:N,inputs:e.map((P)=>({...P,type:"P2WPKH"})),outputs:[{address:T,value:y}]}),K=Math.ceil(mX*N);if(K<=C.fee)throw new H("toolbox_utxo_rbf_fee_too_low",{newFee:K,originalFee:C.fee});let LX=K-C.fee,m=y-LX;if(m<=0)throw new H("toolbox_utxo_rbf_insufficient_change");let TX=new dX({allowLegacyWitnessUtxo:!0,version:1}),VX=[{address:T,value:m},...I?[{address:"",script:F(I),value:0}]:[]],kX=v-m-K,x=await z();if(kX>MX(X)&&x)VX.push({address:x,value:kX});return u({chain:X,compiledMemo:OX,inputs:e,outputs:VX,sender:x||T,tx:TX}),{feeDelta:LX,newFee:K,originalFee:C.fee,tx:TX}}async function D({txid:_,newFeeRate:N,recipient:T,memo:I}){if(!q)throw new H("toolbox_utxo_no_signer");let{tx:C,originalFee:v,newFee:t}=await M({memo:I,newFeeRate:N,recipient:T,txid:_});q.signTransaction(C),C.finalize();let y=await V(X).broadcastTx(a.encode(C.extract()));return{newFee:t,originalFee:v,txid:y}}function O({index:_,change:N=!1}){if(!G)return;return G.deriveChild(Number(N)).deriveChild(_).privateKey||void 0}function n({tx:_,inputDerivations:N}){if(!G)throw new H("toolbox_utxo_no_signer");let T=X===k.BitcoinCash?[iX.ALL]:[E2.ALL];for(let I=0;I<N.length;I++){let C=N[I];if(!C)continue;let{derivationIndex:v,isChange:t}=C,y=O({change:t,index:v});if(!y)throw new H("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${I} at index ${v}`});_.signIdx(y,I,T)}return _}async function gX({utxos:_,recipient:N,assetValue:T,memo:I,feeRate:C,feeOptionKey:v,changeAddress:t}){if(!G)throw new H("toolbox_utxo_no_signer");let y=C||(await GX(X))[v||A.Fast],e=I?F(I):null,OX=[{address:N,value:T.getBaseValue("number")}];if(e)OX.push({address:"",script:e,value:0});let mX=_.map(({hash:x,index:P,value:l,txHex:d2,witnessUtxo:xX})=>({hash:x,index:P,txHex:d2,value:l,witnessUtxo:xX?{script:xX.script,value:xX.value}:void 0})),{inputs:K,outputs:LX}=R({chain:X,feeRate:y,inputs:mX,outputs:OX});if(!(K&&LX))throw new H("toolbox_utxo_insufficient_balance",{assetValue:T,sender:"multiple addresses"});let m=new dX({allowLegacyWitnessUtxo:!0,version:1}),TX=_[0]?.address,VX=t||await z()||TX||N;u({chain:X,compiledMemo:e,inputs:K,outputs:LX,sender:VX,tx:m});let kX=K.map((x)=>{let P=_.find((l)=>l.hash===x.hash&&l.index===x.index);return P?{derivationIndex:P.derivationIndex,isChange:P.isChange}:{derivationIndex:0,isChange:!1}});return n({inputDerivations:kX,tx:m}),m.finalize(),V(X).broadcastTx(a.encode(m.extract()))}function IX({address:_,gapLimit:N=20}){if(!G)return;for(let T=0;T<N;T++){let I=U({change:!1,index:T}),C=U({change:!0,index:T}),v=I?.address===_?!1:C?.address===_;if(I?.address===_||C?.address===_)return{change:v,index:T}}return}return{accumulative:R,broadcastTx:(_)=>V(X).broadcastTx(_),bumpFee:D,calculateTxSize:r,createKeysForPath:(_)=>QX({..._,chain:X}),createReplacementTransaction:M,createTransaction:R2,deriveAddressAtIndex:U,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:r0(X),estimateTransactionFee:i0(X),getAddress:z,getAddressFromKeys:eX(X),getBalance:Y2(X),getExtendedPublicKey:W,getFeeRates:()=>GX(X),getInputsOutputsFee:y2,getNetworkForChain:()=>f(X),getPrivateKeyFromMnemonic:(_)=>n0(QX({..._,chain:X}).privateKey,X),isRBFEnabled:B,keys:Q,resolveDerivationIndex:IX,signAndBroadcastTransaction:async(_)=>{if(!q)throw new H("toolbox_utxo_no_signer");return q.signTransaction(_),_.finalize(),await V(X).broadcastTx(a.encode(_.extract()))},signTransactionWithMultipleKeys:n,transfer:a0(X,q),transferFromMultipleAddresses:gX,validateAddress:tX(X)}}var DX,AX;var CX=E(()=>{hX();JX();NX();DX=[k.Dash,k.Dogecoin,k.Zcash,k.BitcoinCash],AX=[k.Bitcoin]});import{hex as t0}from"@scure/base";import{Chain as e0,derivationPathToString as X8,FeeOption as $8,NetworkDerivationPath as J8,SwapKitError as p,updateDerivationPath as Z8}from"@swapkit/helpers";import{BCHSigHash as j8,CashAddrPrefix as w2,CashAddrType as A2,encodeCashAddr as S2,NETWORKS as Q8,p2pkh as K2,Transaction as g2}from"@swapkit/utxo-signer";function HX(X){return s(UX(X))}function G8(X){let $=f(S);function J(j){return j.sign(X.privateKey,[j8.ALL]),j}function Z(){let j=K2(X.publicKey,$);if(!j.hash)throw new p("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let Y=S2({hash:j.hash,prefix:w2.MAINNET,type:A2.P2PKH});return Promise.resolve(Y.replace(/^bitcoincash:/,""))}return{getAddress:Z,signTransaction:J}}function X2(X){let $="phrase"in X?X.phrase:void 0,J="index"in X?X.index||0:0,Z=X8("derivationPath"in X&&X.derivationPath?X.derivationPath:Z8(J8[S],{index:J})),j=$?QX({chain:S,derivationPath:Z,phrase:$}):void 0,Y=j?G8(j):("signer"in X)?X.signer:void 0;function q(){return Promise.resolve(Y?.getAddress())}let{getBalance:L,getFeeRates:Q,broadcastTx:z,...G}=o({chain:S});function W(U,B=!0){return L(s(UX(U)))}return{...G,broadcastTx:z,buildTx:q8,createTransaction:m2,getAddress:q,getAddressFromKeys:L8,getBalance:W,getFeeRates:Q,stripPrefix:s,stripToCashAddress:HX,transfer:Y8({broadcastTx:z,getFeeRates:Q,signer:Y}),validateAddress:c}}async function m2({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j}){if(!c($))throw new p("toolbox_utxo_invalid_address",{address:$});let Y=Math.ceil(X.getBaseValue("number")+Z*7500),q=await V(S).getUtxos({address:HX(j),fetchTxHex:!0,targetValue:Y}),L=J?F(J):null,Q=[],z=g($);if(Q.push({address:z,value:X.getBaseValue("number")}),L)Q.push({script:L,value:0});let{inputs:G,outputs:W}=R({chain:S,feeRate:Z,inputs:q,outputs:Q});if(!(G&&W))throw new p("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let U=new g2({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!L,version:1}),B=g(j),{inputs:M,tx:D}=u({chain:S,compiledMemo:L,inputs:G,outputs:W.map((O)=>("address"in O)&&O.address?{...O,address:g(O.address)}:O),sender:B,tx:U});return{inputs:M,tx:D,utxos:G}}function Y8({broadcastTx:X,getFeeRates:$,signer:J}){return async function({recipient:j,assetValue:Y,feeOptionKey:q=$8.Fast,...L}){let Q=await J?.getAddress();if(!(J&&Q))throw new p("toolbox_utxo_no_signer");if(!j)throw new p("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let z=L.feeRate||(await $())[q],{tx:G}=await m2({...L,assetValue:Y,feeRate:z,recipient:j,sender:Q}),W=await J.signTransaction(G);return W.finalize(),X(t0.encode(W.extract()))}}async function q8({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j}){let Y=UX($);if(!c(Y))throw new p("toolbox_utxo_invalid_address",{address:Y});let q=Math.ceil(X.getBaseValue("number")+Z*7500),L=await V(S).getUtxos({address:HX(j),fetchTxHex:!0,targetValue:q}),Q=Number(Z.toFixed(0)),z=J?F(J):null,G=[];if(G.push({address:g($),value:X.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:W,outputs:U}=R({chain:S,feeRate:Q,inputs:L,outputs:G});if(!(W&&U))throw new p("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let B=new g2({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!z,version:1}),{inputs:M,tx:D}=u({chain:S,compiledMemo:z,inputs:W,outputs:U,sender:g(j),tx:B});return{inputs:M,tx:D,utxos:L}}function L8(X){let $=Q8.bitcoinCash,J=K2(X.publicKey,$);if(!J.hash)throw new p("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return S2({hash:J.hash,prefix:w2.MAINNET,type:A2.P2PKH}).replace(/^bitcoincash:/,"")}var S;var SX=E(()=>{JX();CX();NX();S=e0.BitcoinCash});import{createBase58check as z8,hex as W8}from"@scure/base";import{HDKey as h2}from"@scure/bip32";import{mnemonicToSeedSync as c2}from"@scure/bip39";import{Chain as KX,derivationPathToString as U8,FeeOption as B8,NetworkDerivationPath as _8,SKConfig as u2,SwapKitError as YX,updateDerivationPath as M8}from"@swapkit/helpers";import{Address as N8,createZcashTransaction as D8,OutScript as C8,PCZT as H8,utils as o2,WIF as I8,ZCASH_NETWORK as O8,ZCASH_TEST_NETWORK as T8,ZcashConsensusBranchId as V8,ZcashSigHash as x2,ZcashVersionGroupId as k8}from"@swapkit/utxo-signer";import{match as P8,P as $2}from"ts-pattern";function p2(){let{isStagenet:X}=u2.get("envs");return X?T8:O8}function E8(X){return b8.encode(X)}function F8({phrase:X,derivationPath:$}){let J=c2(X),j=h2.fromMasterSeed(J).derive($);if(!j.privateKey||!j.publicKey)throw new YX("toolbox_utxo_invalid_params");let{privateKey:Y,publicKey:q}=j,L=o2.hash160(q),{isStagenet:Q}=u2.get("envs"),z=Q?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(z.length+L.length);G.set(z,0),G.set(L,z.length);let W=E8(G);return{getAddress:()=>Promise.resolve(W),signTransaction:(U)=>{if(U instanceof H8)return U.signAllInputs(Y,q,x2.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(Y,q,x2.ALL),Promise.resolve(U)}}}function f8({inputs:X,outputs:$,tx:J,sender:Z,compiledMemo:j}){let Y=p2();for(let q of X){let L=N8(Y).decode(Z),Q=C8.encode(L);J.addInput({index:q.index,script:Q,sequence:4294967295,txid:W8.decode(q.hash),value:BigInt(q.value)})}for(let q of $){let L="address"in q&&q.address?q.address:Z,Q=q.script;if(Q&&!j)continue;if(Q&&j)J.addOutput({amount:0n,script:j});else J.addOutputAddress(L,BigInt(q.value),Y)}return{inputs:X,tx:J}}async function l2(X){let{assetValue:$,recipient:J,memo:Z,feeRate:j,sender:Y,fetchTxHex:q}=X,L=Z?F(Z):null,Q=await V(KX.Zcash).getUtxos({address:Y,fetchTxHex:q!==!1}),z=[{address:J,value:Number($.getBaseValue("string"))},...L?[{script:L,value:0}]:[]],{inputs:G,outputs:W}=R({chain:KX.Zcash,changeAddress:Y,feeRate:j,inputs:Q,outputs:z});if(!(G&&W))throw new YX("toolbox_utxo_insufficient_balance",{assetValue:$,sender:Y});let U=D8({consensusBranchId:V8.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:k8.SAPLING}),{tx:B,inputs:M}=f8({compiledMemo:L,inputs:G,outputs:W,sender:Y,tx:U});return{inputs:M,outputs:W,tx:B}}function J2(X){let $=P8(X).with({signer:$2.not($2.nullish)},({signer:Q})=>Q).with({phrase:$2.string},({phrase:Q,derivationPath:z,index:G=0})=>{let W=z||_8[KX.Zcash]||[44,133,0,0,0],U=M8(W,{index:G}),B=U8(U);return F8({derivationPath:B,phrase:Q})}).otherwise(()=>{return}),J=o({chain:KX.Zcash,signer:$});async function Z({recipient:Q,assetValue:z,feeOptionKey:G=B8.Fast,...W}){let U=await $?.getAddress();if(!($&&U))throw new YX("toolbox_utxo_no_signer");let B=W.feeRate||(await J.getFeeRates())[G],{tx:M}=await l2({...W,assetValue:z,feeRate:B,recipient:Q,sender:U}),O=(await $.signTransaction(M)).toHex();return J.broadcastTx(O)}function j({phrase:Q,derivationPath:z="m/44'/133'/0'/0/0"}){let G=c2(Q),U=h2.fromMasterSeed(G).derive(z);if(!U.privateKey||!U.publicKey)throw new YX("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function Y({phrase:Q,derivationPath:z="m/44'/133'/0'/0/0"}){let G=j({derivationPath:z,phrase:Q}),W=p2();return I8(W).encode(G.privateKey)}function q(Q){return async function(G){if(!Q)throw new YX("toolbox_utxo_no_signer");return await Q.signTransaction(G)}}function L(Q){return async function(G){if(!Q)throw new YX("toolbox_utxo_no_signer");let W=await Q.signTransaction(G);return J.broadcastTx(W.toHex())}}return{...J,createKeysForPath:j,createTransaction:l2,getPrivateKeyFromMnemonic:Y,signAndBroadcastTransaction:L($),signTransaction:q($),transfer:Z,validateAddress:ZX}}var b8;var Z2=E(()=>{JX();CX();NX();b8=z8(o2.sha256)});import{Chain as qX,SwapKitError as v8}from"@swapkit/helpers";function R8(X,$){switch(X){case qX.BitcoinCash:return X2($||{});case qX.Zcash:return J2($);case qX.Bitcoin:case qX.Dogecoin:case qX.Litecoin:case qX.Dash:return o({chain:X,...$});default:throw new v8("toolbox_utxo_not_supported",{chain:X})}}var n2=E(()=>{SX();CX();Z2();SX();NX()});var y8={};a2(y8,{validateZcashAddress:()=>ZX,validateUtxoAddress:()=>sX,validateBchAddress:()=>c,toLegacyAddress:()=>g,toCashAddress:()=>UX,stripToCashAddress:()=>HX,stripPrefix:()=>s,nonSegwitChains:()=>DX,isValidAddress:()=>oX,getUtxoToolbox:()=>R8,getUtxoNetwork:()=>_0,getUtxoApi:()=>V,getUTXOAddressValidator:()=>tX,getScriptTypeForAddress:()=>$X,getOutputSize:()=>_X,getNetworkForChain:()=>f,getInputSize:()=>h,getDustThreshold:()=>MX,detectAddressNetwork:()=>pX,createZcashToolbox:()=>J2,createUTXOToolbox:()=>o,createHDWalletHelpers:()=>j2,createCustomUtxoApi:()=>B0,createBCHToolbox:()=>X2,compileMemo:()=>F,calculateTxSize:()=>r,addressFromKeysGetter:()=>eX,addInputsAndOutputs:()=>u,accumulative:()=>R,UtxoNetwork:()=>uX,UTXOScriptType:()=>yX,TX_OVERHEAD:()=>vX,SEGWIT_MARKER_FLAG_WEIGHT:()=>RX,OutputSizes:()=>BX,OP_RETURN_OVERHEAD:()=>H2,MIN_TX_FEE:()=>f0,InputSizes:()=>fX});var w8=E(()=>{CX();JX();n2();SX();Z2()});w8();export{ZX as validateZcashAddress,sX as validateUtxoAddress,c as validateBchAddress,g as toLegacyAddress,UX as toCashAddress,HX as stripToCashAddress,s as stripPrefix,DX as nonSegwitChains,oX as isValidAddress,R8 as getUtxoToolbox,_0 as getUtxoNetwork,V as getUtxoApi,tX as getUTXOAddressValidator,$X as getScriptTypeForAddress,_X as getOutputSize,f as getNetworkForChain,h as getInputSize,MX as getDustThreshold,pX as detectAddressNetwork,J2 as createZcashToolbox,o as createUTXOToolbox,j2 as createHDWalletHelpers,B0 as createCustomUtxoApi,X2 as createBCHToolbox,F as compileMemo,r as calculateTxSize,eX as addressFromKeysGetter,u as addInputsAndOutputs,R as accumulative,uX as UtxoNetwork,yX as UTXOScriptType,vX as TX_OVERHEAD,RX as SEGWIT_MARKER_FLAG_WEIGHT,BX as OutputSizes,H2 as OP_RETURN_OVERHEAD,f0 as MIN_TX_FEE,fX as InputSizes};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createAptosExtensionTransfer, getAptosToolbox, validateAptosAddress } from "./toolbox";
|
|
2
|
+
export type { AptosCreateTransactionParams, AptosExtensionProvider, AptosToolboxParams, AptosTransferParams, AptosWallet, } from "./types";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aptos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAChG,YAAY,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AssetValue } from "@swapkit/helpers";
|
|
2
|
+
import type { AptosCreateTransactionParams, AptosExtensionProvider, AptosToolboxParams, AptosTransferParams } from "./types";
|
|
3
|
+
export declare function validateAptosAddress(address: string): boolean;
|
|
4
|
+
export declare function getAptosToolbox({ derivationPath, provider: providerParam, ...signerParams }?: AptosToolboxParams): {
|
|
5
|
+
broadcastTransaction: ({ senderAuthenticator, transaction, }: {
|
|
6
|
+
senderAuthenticator: Awaited<ReturnType<(transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<import("@aptos-labs/ts-sdk").AccountAuthenticator>>>;
|
|
7
|
+
transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>;
|
|
8
|
+
}) => Promise<string>;
|
|
9
|
+
createTransaction: ({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
|
|
10
|
+
estimateTransactionFee: (params?: AptosCreateTransactionParams) => Promise<AssetValue>;
|
|
11
|
+
getAddress: () => Promise<"" | `0x${string}`>;
|
|
12
|
+
getBalance: (targetAddress?: string) => Promise<AssetValue[]>;
|
|
13
|
+
signAndBroadcastTransaction: (transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<string>;
|
|
14
|
+
signTransaction: (transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<import("@aptos-labs/ts-sdk").AccountAuthenticator>;
|
|
15
|
+
transfer: ({ assetValue, maxGasAmount, recipient }: AptosTransferParams) => Promise<string>;
|
|
16
|
+
validateAddress: typeof validateAptosAddress;
|
|
17
|
+
};
|
|
18
|
+
export declare function createAptosExtensionTransfer({ provider }: {
|
|
19
|
+
provider: AptosExtensionProvider;
|
|
20
|
+
}): ({ assetValue, recipient }: AptosTransferParams) => Promise<string>;
|
|
21
|
+
//# sourceMappingURL=toolbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/aptos/toolbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAUjB,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAOnD;AAED,wBAAgB,eAAe,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAE,kBAAuB;kEA+LhH;QACD,mBAAmB,EAAE,OAAO,CAAC,UAAU,eArCG,OAAO,CAAC,UAAU,oEA7C3D,4BAA4B,6DA6CyD,CAAC,gEAqCxB,CAAC,CAAC;QACjE,WAAW,EAAE,OAAO,CAAC,UAAU,oEAnF9B,4BAA4B,6DAmF4B,CAAC,CAAC;KAC5D;0FApFE,4BAA4B;sCAhCgB,4BAA4B;;iCA7CjC,MAAM;+CA4KQ,OAAO,CAAC,UAAU,oEA/FvE,4BAA4B,6DA+FqE,CAAC;mCAlDzD,OAAO,CAAC,UAAU,oEA7C3D,4BAA4B,6DA6CyD,CAAC;wDAUxB,mBAAmB;;EAwDrF;AAED,wBAAgB,4BAA4B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,sBAAsB,CAAA;CAAE,IAC9D,2BAA2B,mBAAmB,qBA8B9E"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Ed25519Account } from "@aptos-labs/ts-sdk";
|
|
2
|
+
import type { GenericCreateTransactionParams, GenericTransferParams } from "@swapkit/helpers";
|
|
3
|
+
import type { getAptosToolbox } from "./toolbox";
|
|
4
|
+
export type AptosWallet = ReturnType<typeof getAptosToolbox>;
|
|
5
|
+
export type AptosCreateTransactionParams = Omit<GenericCreateTransactionParams, "feeRate"> & {
|
|
6
|
+
maxGasAmount?: number;
|
|
7
|
+
};
|
|
8
|
+
export type AptosTransferParams = Omit<GenericTransferParams, "feeRate"> & {
|
|
9
|
+
maxGasAmount?: number;
|
|
10
|
+
};
|
|
11
|
+
export type AptosToolboxParams = {
|
|
12
|
+
derivationPath?: import("@swapkit/helpers").DerivationPathArray;
|
|
13
|
+
phrase?: string;
|
|
14
|
+
provider?: string;
|
|
15
|
+
signer?: Ed25519Account;
|
|
16
|
+
};
|
|
17
|
+
export interface AptosExtensionProvider {
|
|
18
|
+
connect: () => Promise<{
|
|
19
|
+
address: string;
|
|
20
|
+
publicKey: string;
|
|
21
|
+
}>;
|
|
22
|
+
disconnect?: () => Promise<void>;
|
|
23
|
+
signAndSubmitTransaction: (payload: unknown) => Promise<{
|
|
24
|
+
hash: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/aptos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,OAAO,kBAAkB,EAAE,mBAAmB,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,wBAAwB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E"}
|
|
@@ -1,34 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
3
|
-
type
|
|
4
|
-
|
|
1
|
+
import { Transaction } from "@stricahq/typhonjs";
|
|
2
|
+
import { AssetValue, type ChainSigner, type DerivationPathArray } from "@swapkit/helpers";
|
|
3
|
+
import type { CardanoCreateTransactionParams, CardanoProvider, CardanoTransferParams } from "./types";
|
|
4
|
+
type CardanoChainSigner = ChainSigner<string, string> & {
|
|
5
|
+
publicKey: Buffer;
|
|
6
|
+
publicKeyHash: Buffer;
|
|
5
7
|
};
|
|
6
|
-
|
|
8
|
+
type CardanoSigner = CardanoProvider | CardanoChainSigner;
|
|
9
|
+
export declare function validateCardanoAddress(address: string): boolean;
|
|
7
10
|
export declare function getCardanoToolbox(toolboxParams?: {
|
|
8
11
|
signer?: CardanoSigner;
|
|
9
12
|
} | {
|
|
10
13
|
phrase?: string;
|
|
11
14
|
index?: number;
|
|
12
15
|
derivationPath?: DerivationPathArray;
|
|
13
|
-
}):
|
|
14
|
-
createTransaction: ({ recipient, assetValue, memo, }: {
|
|
15
|
-
|
|
16
|
-
assetValue: AssetValue;
|
|
17
|
-
memo?: string;
|
|
18
|
-
}) => Promise<{
|
|
19
|
-
tx: import("@meshsdk/core").Transaction;
|
|
16
|
+
}): {
|
|
17
|
+
createTransaction: ({ sender, recipient, assetValue, memo, pureLovelaceOnly, }: CardanoCreateTransactionParams) => Promise<{
|
|
18
|
+
tx: Transaction;
|
|
20
19
|
unsignedTx: string;
|
|
21
20
|
}>;
|
|
22
|
-
estimateTransactionFee: () => Promise<AssetValue>;
|
|
23
|
-
getAddress: () => string
|
|
21
|
+
estimateTransactionFee: (params?: CardanoCreateTransactionParams) => Promise<AssetValue>;
|
|
22
|
+
getAddress: () => Promise<string>;
|
|
24
23
|
getBalance: (addressParam?: string) => Promise<AssetValue[]>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
validateAddress: (address: string) => boolean;
|
|
32
|
-
}>;
|
|
24
|
+
signAndBroadcastTransaction: (txInput: string) => Promise<string>;
|
|
25
|
+
signTransaction: (tx: string) => Promise<string>;
|
|
26
|
+
transfer: ({ recipient, assetValue, memo }: CardanoTransferParams) => Promise<string>;
|
|
27
|
+
validateAddress: typeof validateCardanoAddress;
|
|
28
|
+
};
|
|
29
|
+
export type CardanoWallet = ReturnType<typeof getCardanoToolbox>;
|
|
33
30
|
export {};
|
|
34
31
|
//# sourceMappingURL=toolbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/cardano/toolbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/cardano/toolbox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAkE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EACL,UAAU,EAEV,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,8BAA8B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAUtG,KAAK,kBAAkB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,KAAK,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAuJ1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,WASrD;AAyED,wBAAgB,iBAAiB,CAC/B,aAAa,CAAC,EACV;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GAC1B;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE;oFA2E1E,8BAA8B,KAAG,OAAO,CAAC;QAAE,EAAE,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;sCAzBrC,8BAA8B;;gCANpC,MAAM;2CA8GK,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;0BAtBzC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;gDASF,qBAAqB,KAAG,OAAO,CAAC,MAAM,CAAC;;EA6BjG;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type CardanoWallet = Awaited<ReturnType<typeof getCardanoToolbox>>;
|
|
1
|
+
import type { GenericCreateTransactionParams, GenericTransferParams } from "@swapkit/helpers";
|
|
3
2
|
export interface CardanoProvider {
|
|
4
3
|
connect: () => Promise<{
|
|
5
4
|
address: string;
|
|
6
5
|
}>;
|
|
7
6
|
disconnect: () => Promise<void>;
|
|
8
7
|
address: string | null;
|
|
9
|
-
signTransaction: (transaction:
|
|
8
|
+
signTransaction: (transaction: string) => Promise<string>;
|
|
10
9
|
}
|
|
10
|
+
export type CardanoCreateTransactionParams = Omit<GenericCreateTransactionParams, "feeRate" | "sender"> & {
|
|
11
|
+
sender?: string;
|
|
12
|
+
/** When true, only UTXOs containing purely lovelace (no native tokens) will be used as inputs. */
|
|
13
|
+
pureLovelaceOnly?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type CardanoTransferParams = Omit<GenericTransferParams, "feeRate">;
|
|
11
16
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cardano/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cardano/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressFormat.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/addressFormat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addressFormat.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/addressFormat.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,UAE7C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,oCAE9D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,UAExC;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,+BAK9C"}
|
|
@@ -63,7 +63,7 @@ export declare const buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
|
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
65
|
export declare const convertToSignable: (msg: MsgSend | MsgDeposit, chain: TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
|
|
66
|
-
export declare function
|
|
66
|
+
export declare function createTransaction(params: ThorchainCreateTransactionParams): Promise<{
|
|
67
67
|
accountNumber: number;
|
|
68
68
|
chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
|
|
69
69
|
fee: {
|
|
@@ -110,7 +110,7 @@ export declare function getCreateTransaction(rpcUrl: string): (params: Thorchain
|
|
|
110
110
|
})[];
|
|
111
111
|
sequence: number;
|
|
112
112
|
}>;
|
|
113
|
-
export declare
|
|
113
|
+
export declare function buildTransferTx({ sender, recipient, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams): Promise<{
|
|
114
114
|
accountNumber: number;
|
|
115
115
|
chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
|
|
116
116
|
fee: {
|
|
@@ -134,7 +134,7 @@ export declare const buildTransferTx: (rpcUrl: string) => ({ sender, recipient,
|
|
|
134
134
|
})[];
|
|
135
135
|
sequence: number;
|
|
136
136
|
}>;
|
|
137
|
-
export declare
|
|
137
|
+
export declare function buildDepositTx({ sender, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams): Promise<{
|
|
138
138
|
accountNumber: number;
|
|
139
139
|
chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
|
|
140
140
|
fee: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkD,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKhH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAEhE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACnD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AACrD,KAAK,yBAAyB,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,KAAK,4BAA4B,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC;AAErG,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAC3E,eAAO,MAAM,cAAc,QAAqC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,GAAI,oCAI9B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+BAI7B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,0CAK3B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;CAOA,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,GAAG,UAAU,EAAE,OAAO,WAAW,0DAIpF,CAAC;AAaF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQzE;AAED,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAS,EACT,UAAiB,EACjB,cAAsB,EACtB,QAAQ,EACR,aAAa,GACd,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;GAuBlC;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,UAAU,EACV,IAAS,EACT,UAAiB,EACjB,cAAsB,EACtB,QAAQ,EACR,aAAa,GACd,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;GAyBlC;AAED,wBAAgB,iCAAiC,CAAC,CAAC,SAAS,UAAU,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;oBAOP,MAAM;;;;;;;;;;;;oBAAN,MAAM;;;;;;;;;GAUtF;AAED,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,IAAI,EACJ,IAAI,GACL,EAAE;IACD,IAAI,EAAE,4BAA4B,EAAE,GAAG,yBAAyB,EAAE,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACpB,wCAUA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
|
|
1
2
|
import type { Account } from "@cosmjs/stargate";
|
|
2
3
|
import { AssetValue, Chain, type ChainId, type CosmosChain, type DerivationPathArray, type GenericTransferParams, SwapKitNumber } from "@swapkit/helpers";
|
|
4
|
+
import { type CosmosTransaction } from "@swapkit/helpers/api";
|
|
5
|
+
import type { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
|
|
3
6
|
import type { CosmosToolboxParams } from "../types";
|
|
4
7
|
import { cosmosCreateTransaction } from "../util";
|
|
5
8
|
export declare function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
|
|
@@ -11,7 +14,7 @@ export declare function getSignerFromPhrase({ phrase, prefix, ...derivationParam
|
|
|
11
14
|
index?: number;
|
|
12
15
|
} | {
|
|
13
16
|
derivationPath: string;
|
|
14
|
-
})): Promise<
|
|
17
|
+
})): Promise<DirectSecp256k1HdWallet>;
|
|
15
18
|
export declare function getSignerFromPrivateKey({ privateKey, prefix }: {
|
|
16
19
|
privateKey: Uint8Array;
|
|
17
20
|
prefix: string;
|
|
@@ -21,7 +24,7 @@ export declare function verifySignature(getAccount: (address: string) => Promise
|
|
|
21
24
|
message: string;
|
|
22
25
|
address: string;
|
|
23
26
|
}) => Promise<boolean>;
|
|
24
|
-
export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams):
|
|
27
|
+
export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams): {
|
|
25
28
|
createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
|
|
26
29
|
createTransaction: typeof cosmosCreateTransaction;
|
|
27
30
|
fetchFeeRateFromSwapKit: typeof fetchFeeRateFromSwapKit;
|
|
@@ -41,22 +44,21 @@ export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosT
|
|
|
41
44
|
getSignerFromPhrase: ({ phrase, derivationPath }: {
|
|
42
45
|
phrase: string;
|
|
43
46
|
derivationPath: DerivationPathArray;
|
|
44
|
-
}) => Promise<
|
|
47
|
+
}) => Promise<DirectSecp256k1HdWallet>;
|
|
45
48
|
getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}) => Promise<string>;
|
|
49
|
+
signAndBroadcastTransaction: (transaction: CosmosTransaction) => Promise<string>;
|
|
50
|
+
signTransaction: (transaction: CosmosTransaction) => Promise<TxRaw>;
|
|
51
|
+
transfer: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
|
|
50
52
|
validateAddress: (address: string) => boolean;
|
|
51
53
|
verifySignature: ({ signature, message, address, }: {
|
|
52
54
|
signature: string;
|
|
53
55
|
message: string;
|
|
54
56
|
address: string;
|
|
55
57
|
}) => Promise<boolean>;
|
|
56
|
-
}
|
|
58
|
+
};
|
|
57
59
|
export declare function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
|
|
58
60
|
export declare function estimateTransactionFee({ assetValue: { chain } }: {
|
|
59
61
|
assetValue: AssetValue;
|
|
60
62
|
}): AssetValue;
|
|
61
|
-
export declare function
|
|
63
|
+
export declare function getCosmosAddressValidator(chain: CosmosChain): (address: string) => boolean;
|
|
62
64
|
//# sourceMappingURL=cosmos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/cosmos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,UAAU,EAEV,KAAK,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAGhB,KAAK,mBAAmB,EAGxB,KAAK,qBAAqB,EAK1B,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,uBAAuB,EAMxB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBASlF;AAED,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,GAAG,gBAAgB,EACpB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,oCAYvG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,kEAM/G;AAWD,wBAAgB,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAChD,kCAInC;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,sBAWF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB;yCAoPzB,MAAM;;;0BA7N5B,MAAM;;0BA+FX,MAAM,yBAAyB,OAAO;kCA+Gd,MAAM;;;;;;;;;;sDAlFR;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,mBAAmB,CAAA;KAAE;0CAO7D,UAAU;+CA1FA,iBAAiB;mCApB7B,iBAAiB,KAAG,OAAO,CAAC,KAAK,CAAC;wEA8C3E,qBAAqB;+BA4HiB,MAAM;wDAvO5C;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;EAoLF;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAShF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,cAE3F;AA8BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,IAE1B,SAAS,MAAM,aAYhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Pubkey, Secp256k1HdWallet } from "@cosmjs/amino";
|
|
2
2
|
import { type GenericTransferParams, SwapKitNumber, type TCLikeChain } from "@swapkit/helpers";
|
|
3
|
-
import { buildEncodedTxBody, createDefaultRegistry, parseAminoMessageForDirectSigning } from "../thorchainUtils";
|
|
3
|
+
import { buildEncodedTxBody, createDefaultRegistry, createTransaction, parseAminoMessageForDirectSigning } from "../thorchainUtils";
|
|
4
4
|
import type { CosmosToolboxParams, MultiSigSigner, MultisigTx } from "../types";
|
|
5
5
|
declare function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys?: boolean): Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
|
|
6
6
|
declare function importSignature(signature: string): Uint8Array<ArrayBufferLike>;
|
|
@@ -8,7 +8,7 @@ declare function signWithPrivateKey({ privateKey, message }: {
|
|
|
8
8
|
privateKey: Uint8Array;
|
|
9
9
|
message: string;
|
|
10
10
|
}): Promise<string>;
|
|
11
|
-
export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>):
|
|
11
|
+
export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>): {
|
|
12
12
|
broadcastMultisigTx: (tx: string, signers: MultiSigSigner[], membersPubKeys: string[], threshold: number, bodyBytes: Uint8Array) => Promise<string>;
|
|
13
13
|
buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
|
|
14
14
|
sender: string;
|
|
@@ -61,53 +61,7 @@ export declare function createThorchainToolbox({ chain, ...toolboxParams }: Cosm
|
|
|
61
61
|
createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
|
|
62
62
|
createDefaultRegistry: typeof createDefaultRegistry;
|
|
63
63
|
createMultisig: typeof createMultisig;
|
|
64
|
-
createTransaction:
|
|
65
|
-
accountNumber: number;
|
|
66
|
-
chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
|
|
67
|
-
fee: {
|
|
68
|
-
amount: {
|
|
69
|
-
amount: string;
|
|
70
|
-
denom: string;
|
|
71
|
-
}[];
|
|
72
|
-
gas: string;
|
|
73
|
-
};
|
|
74
|
-
memo: string;
|
|
75
|
-
msgs: (import("@cosmjs/proto-signing").EncodeObject | {
|
|
76
|
-
type: "thorchain/MsgSend" | "mayachain/MsgSend";
|
|
77
|
-
value: {
|
|
78
|
-
amount: {
|
|
79
|
-
amount: string;
|
|
80
|
-
denom: string;
|
|
81
|
-
}[];
|
|
82
|
-
from_address: string;
|
|
83
|
-
to_address: string | undefined;
|
|
84
|
-
};
|
|
85
|
-
})[];
|
|
86
|
-
sequence: number;
|
|
87
|
-
}> | Promise<{
|
|
88
|
-
accountNumber: number;
|
|
89
|
-
chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
|
|
90
|
-
fee: {
|
|
91
|
-
amount: {
|
|
92
|
-
amount: string;
|
|
93
|
-
denom: string;
|
|
94
|
-
}[];
|
|
95
|
-
gas: string;
|
|
96
|
-
};
|
|
97
|
-
memo: string;
|
|
98
|
-
msgs: (import("@cosmjs/proto-signing").EncodeObject | {
|
|
99
|
-
type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
|
|
100
|
-
value: {
|
|
101
|
-
coins: {
|
|
102
|
-
amount: string;
|
|
103
|
-
asset: string;
|
|
104
|
-
}[];
|
|
105
|
-
memo: string;
|
|
106
|
-
signer: string;
|
|
107
|
-
};
|
|
108
|
-
})[];
|
|
109
|
-
sequence: number;
|
|
110
|
-
}>;
|
|
64
|
+
createTransaction: typeof createTransaction;
|
|
111
65
|
deposit: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
|
|
112
66
|
recipient?: string;
|
|
113
67
|
}) => Promise<string>;
|
|
@@ -146,13 +100,14 @@ export declare function createThorchainToolbox({ chain, ...toolboxParams }: Cosm
|
|
|
146
100
|
derivationPath: import("@swapkit/helpers").DerivationPathArray;
|
|
147
101
|
}) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
|
|
148
102
|
getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
|
|
149
|
-
|
|
103
|
+
signAndBroadcastTransaction: (transaction: import("@swapkit/helpers").CosmosTransaction) => Promise<string>;
|
|
104
|
+
signTransaction: (transaction: import("@swapkit/helpers").CosmosTransaction) => Promise<import("cosmjs-types/cosmos/tx/v1beta1/tx").TxRaw>;
|
|
150
105
|
validateAddress: (address: string) => boolean;
|
|
151
106
|
verifySignature: ({ signature, message, address, }: {
|
|
152
107
|
signature: string;
|
|
153
108
|
message: string;
|
|
154
109
|
address: string;
|
|
155
110
|
}) => Promise<boolean>;
|
|
156
|
-
}
|
|
111
|
+
};
|
|
157
112
|
export {};
|
|
158
113
|
//# sourceMappingURL=thorchain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAO1B,aAAa,EACb,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,kBAAkB,EAGlB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAO1B,aAAa,EACb,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,kBAAkB,EAGlB,qBAAqB,EACrB,iBAAiB,EACjB,iCAAiC,EAClC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqFhF,iBAAe,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,UAAO,4DAOvF;AAED,iBAAS,eAAe,CAAC,SAAS,EAAE,MAAM,+BAEzC;AAED,iBAAe,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,mBAKrG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB,CAAC,WAAW,CAAC;8BAtD5F,MAAM,WACD,cAAc,EAAE,kBACT,MAAM,EAAE,aACb,MAAM,aACN,UAAU;;;iBA7B2C,CAAC;;YAEjE,CADJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAyHK,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;8BA2DlC,MAAM;8CArMsB,MAAM;qCAef;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;;;;;iDA2HxG,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;EAuErE"}
|
|
@@ -38,11 +38,11 @@ export type CosmosToolboxParams<T = CosmosChain> = {
|
|
|
38
38
|
index?: number;
|
|
39
39
|
});
|
|
40
40
|
export type BaseCosmosToolboxType = ReturnType<typeof createCosmosToolbox>;
|
|
41
|
-
export type BaseCosmosWallet =
|
|
41
|
+
export type BaseCosmosWallet = ReturnType<typeof createCosmosToolbox>;
|
|
42
42
|
export type CosmosWallets = {
|
|
43
43
|
[chain in Exclude<CosmosChain, TCLikeChain>]: BaseCosmosWallet;
|
|
44
44
|
};
|
|
45
|
-
export type ThorchainWallet =
|
|
45
|
+
export type ThorchainWallet = Omit<ReturnType<typeof createThorchainToolbox>, "signMessage">;
|
|
46
46
|
export type ThorchainWallets = {
|
|
47
47
|
[chain in TCLikeChain]: ThorchainWallet;
|
|
48
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9G,MAAM,MAAM,6BAA6B,GAAG,8BAA8B,GAAG;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAE9F,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAC9D;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9G,MAAM,MAAM,6BAA6B,GAAG,8BAA8B,GAAG;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAE9F,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAC9D;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG;KACzB,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,gBAAgB;CAC/D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,MAAM,gBAAgB,GAAG;KAC5B,KAAK,IAAI,WAAW,GAAG,eAAe;CACxC,CAAC"}
|
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
import { Chain, type EVMChain, type NetworkParams } from "@swapkit/helpers";
|
|
2
|
-
|
|
2
|
+
import type { Authorization, JsonFragment, Signer } from "ethers";
|
|
3
|
+
import { JsonRpcProvider } from "ethers";
|
|
4
|
+
import type { EIP712TypedData } from "./types";
|
|
5
|
+
export declare function getProviderSync(url: string): JsonRpcProvider;
|
|
6
|
+
export declare function getProvider(chain: EVMChain, customUrl?: string): Promise<JsonRpcProvider>;
|
|
3
7
|
export declare function toHexString(value: bigint): string;
|
|
4
8
|
export declare function getNetworkParams<C extends EVMChain>(chain: C): () => C extends Chain.Ethereum ? undefined : NetworkParams;
|
|
5
9
|
export declare function getIsEIP1559Compatible<C extends EVMChain>(chain: C): boolean;
|
|
10
|
+
export declare function signAuthorization(signer: Signer, params: {
|
|
11
|
+
address: string;
|
|
12
|
+
nonce?: number | bigint;
|
|
13
|
+
chainId?: bigint;
|
|
14
|
+
}): Promise<Authorization>;
|
|
15
|
+
export declare function validateAuthorization(auth: Authorization, index?: number): void;
|
|
16
|
+
export declare function buildEIP712DomainType(domain: {
|
|
17
|
+
chainId?: bigint | null | number | string;
|
|
18
|
+
name?: null | string;
|
|
19
|
+
salt?: Uint8Array | null | string;
|
|
20
|
+
verifyingContract?: null | string;
|
|
21
|
+
version?: null | string;
|
|
22
|
+
}): {
|
|
23
|
+
name: "chainId" | "version" | "name" | "verifyingContract" | "salt";
|
|
24
|
+
type: "string" | "address" | "uint256" | "bytes32";
|
|
25
|
+
}[];
|
|
26
|
+
export declare function parseEIP712FromEVMTx({ chain, abi, data, to, }: {
|
|
27
|
+
chain: EVMChain;
|
|
28
|
+
abi: readonly JsonFragment[];
|
|
29
|
+
data: string;
|
|
30
|
+
to: string;
|
|
31
|
+
}): EIP712TypedData;
|
|
32
|
+
/**
|
|
33
|
+
* Validates an array of EIP-7702 authorizations.
|
|
34
|
+
* @param authorizations - Array of authorizations to validate
|
|
35
|
+
* @param expectedChainId - Optional chainId to verify authorizations match the transaction chain
|
|
36
|
+
* @throws SwapKitError if any authorization is invalid or array is empty
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateAuthorizations(authorizations: Authorization[], expectedChainId?: bigint): void;
|
|
6
39
|
//# sourceMappingURL=helpers.d.ts.map
|