@meshsdk/core 1.2.0-beta.4 → 1.2.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/README.md CHANGED
@@ -1,32 +1,32 @@
1
1
  ![Mesh Logo](https://meshjs.dev/logo-mesh/mesh.png)
2
2
 
3
- Mesh is an open-source library to make building dApps accessible. Whether you're a beginner developer, startup, web3 market leader, or a large enterprise, Mesh makes web3 development easy with reliable, scalable, and well-engineered APIs & developer tools.
3
+ Mesh is an open-source library designed to make building dApps accessible. Whether you're a beginner developer, startup, web3 market leader, or a large enterprise, Mesh makes web3 development easy with reliable, scalable, and well-engineered APIs & developer tools.
4
4
 
5
5
  Explore the features on [Mesh Playground](https://meshjs.dev/).
6
6
 
7
7
  ## Guides and documentations
8
8
 
9
- - [Start a Web3 app on Next.js](https://meshjs.dev/guides/nextjs)
10
- - [Minting on Node.js](https://meshjs.dev/guides/mintingonnodejs)
11
- - [App Wallet - Wallet for building transactions in your applications](https://meshjs.dev/apis/appwallet)
12
- - [Browser Wallet - CIP30 wallets intergration](https://meshjs.dev/apis/browserwallet)
13
- - [Transaction - Building, minting, burning, smart contracts and more](https://meshjs.dev/apis/transaction)
14
- - [Resolvers - Helpful functions that you need while building dApps](https://meshjs.dev/apis/resolvers)
9
+ - [Starter Templates](https://meshjs.dev/starter-templates)
10
+ - [Guides](https://meshjs.dev/guides)
11
+ - [Install Mesh into existing project](https://meshjs.dev/migration-manual-installation)
12
+ - [App Wallet (Building transactions on applications)](https://meshjs.dev/apis/appwallet)
13
+ - [Browser Wallet (CIP30 wallets intergration)](https://meshjs.dev/apis/browserwallet)
14
+ - [Transaction - Building, minting, burning, smart contracts, stake pool and more](https://meshjs.dev/apis/transaction)
15
+ - [React Components](https://meshjs.dev/react)
16
+ - [Service Providers](https://meshjs.dev/providers)
17
+ - [Resolvers](https://meshjs.dev/apis/resolvers)
15
18
 
16
19
  ## Why use Mesh
17
- - Always up to date - Vasil ready, developed closely as the network updates so your app will always works
18
- - Simple to use - Check out our [guides](https://meshjs.dev/guides), you will get started in less than 10 mins
19
- - Everything you need to build Web3 apps - [React components](https://meshjs.dev/react) like wallet connection buttons, and useful React hooks - Mesh provides everything you need to build web3 apps
20
- - Adopts best practices - implemented various CIPs and package is well build (no hacking and tweaking needed to get it to work)
21
- - Thoroughly tested - Mesh is used by developers and learners, built by developers with solid software engineering background
22
- - Integrates with Cardano projects - Koios, Blockfrost, ADA Handle (and more), you pick what you want to use for your app
23
- - Well documented - We focus on documentation so you can use it, our [Playground](https://meshjs.dev/) is built so you can see how it works
24
-
25
- [Find out more](https://meshjs.dev/about)
20
+ - Start a new project with one of out [Starter Templates](https://meshjs.dev/starter-templates) with CLI command
21
+ - Always up to date - Vasil-ready, developed promptly as the network updates so your app always works
22
+ - Simple to use - Check out our [guides](https://meshjs.dev/guides) - you'll get started in less than 10 mins!
23
+ - Adopts best practices - implements various CIPs and package is well build (no hacking and tweaking needed to get it to work)
24
+ - Thoroughly tested - Mesh is used by both developers and learners, and is being built by developers with solid software engineering backgrounds
25
+ - Integrates with Cardano projects - Koios, Blockfrost, ADA Handle (and more), you can pick and choose freely what you want to use for your app
26
+ - Well documented - we focus on documentation so you can use it with ease, and our [Playground](https://meshjs.dev/) is built so you can see how it works
26
27
 
27
28
  ## How can you contribute?
28
29
 
29
- - [You can support Mesh!](https://meshjs.dev/about/support-us)
30
+ - [Support us](https://meshjs.dev/about/support-us)
30
31
  - Build something - try Mesh by implementing your Web 3.0 project (recommended [starter guide](https://meshjs.dev/guides/nextjs))
31
32
  - Inform others - Tell others about Mesh, and star the [Github repo](https://github.com/MeshJS/mesh) :star:
32
- - Write ups - documentations and guides
@@ -2,6 +2,10 @@ import type { AccountInfo, AssetMetadata, Protocol, UTxO } from '@mesh/common/ty
2
2
  export interface IFetcher {
3
3
  fetchAccountInfo(address: string): Promise<AccountInfo>;
4
4
  fetchAddressUTxOs(address: string, asset?: string): Promise<UTxO[]>;
5
+ fetchAssetAddresses(asset: string): Promise<{
6
+ address: string;
7
+ quantity: string;
8
+ }[]>;
5
9
  fetchAssetMetadata(asset: string): Promise<AssetMetadata>;
6
10
  fetchHandleAddress(handle: string): Promise<string>;
7
11
  fetchProtocolParameters(epoch: number): Promise<Protocol>;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const vt=require("bip39"),ke=require("@emurgo/cardano-serialization-lib-nodejs"),Fe=require("axios"),_=require("@emurgo/cardano-message-signing-nodejs"),He=require("nanoid"),Ne=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function Pe(s){if(s&&s.__esModule)return s;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const a=Pe(ke),rt=Ne(Fe),Me={mem:7e6,steps:3e9},M={epoch:0,coinsPerUTxOSize:"4310",priceMem:.0577,priceStep:721e-7,minFeeA:44,minFeeB:155381,keyDeposit:"2000000",maxTxSize:16384,maxValSize:"5000",poolDeposit:"500000000",maxCollateralInputs:3,decentralisation:0,maxBlockSize:98304,collateralPercent:150,maxBlockHeaderSize:1100,minPoolCost:"340000000",maxTxExMem:"16000000",maxTxExSteps:"10000000000",maxBlockExMem:"80000000",maxBlockExSteps:"40000000000"},St=2147483648,bt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},L=56,Te={CERT:a.RedeemerTag.new_cert(),MINT:a.RedeemerTag.new_mint(),REWARD:a.RedeemerTag.new_reward(),SPEND:a.RedeemerTag.new_spend()},_t={testnet:["74","1598400","1595967616","432000"],preview:["0","0","1660003200","86400"],preprod:["0","0","1654041600","432000"],mainnet:["208","4492800","1596059091","432000"]},Yt={ALONZO:a.TxBuilderConstants.plutus_alonzo_cost_models(),BABBAGE:a.TxBuilderConstants.plutus_vasil_cost_models()},Ve={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}};a.NetworkInfo.testnet().network_id()+"",a.NetworkInfo.mainnet().network_id()+"";const Gt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],at=s=>a.Address.from_bytes(g(s)),Oe=s=>a.Bip32PrivateKey.from_bytes(g(s)),Ye=s=>a.DataHash.from_bytes(g(s)),U=s=>a.Ed25519KeyHash.from_bytes(g(s)),gt=s=>a.NativeScript.from_bytes(g(s)),Ge=s=>a.PlutusData.from_bytes(g(s)),pt=(s,e)=>a.PlutusScript.from_bytes_with_version(g(s),bt[e]),Re=s=>a.ScriptRef.from_bytes(g(s)),Le=s=>a.ScriptHash.from_bytes(g(s)),q=s=>a.Transaction.from_bytes(g(s)),he=s=>a.TransactionHash.from_bytes(g(s)),Rt=s=>a.TransactionUnspentOutput.from_bytes(g(s)),qe=s=>a.TransactionWitnessSet.from_bytes(g(s)),ze=s=>a.Value.from_bytes(g(s)),k=s=>a.Address.from_bech32(s),Ut=s=>a.BaseAddress.from_address(k(s)),ue=s=>a.EnterpriseAddress.from_address(k(s)),de=s=>a.RewardAddress.from_address(k(s)),j=s=>Buffer.from(s).toString("hex"),g=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?Buffer.from(s,"hex"):Buffer.from(s,"utf-8"),kt=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(kt(t.get(i)));return r};switch(s.kind()){case a.NativeScriptKind.ScriptAll:{const t=s.as_script_all();return{type:"all",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptAny:{const t=s.as_script_any();return{type:"any",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptNOfK:{const t=s.as_script_n_of_k();return{type:"atLeast",required:t.n(),scripts:e(t.native_scripts())}}case a.NativeScriptKind.TimelockStart:{const t=s.as_timelock_start();return{type:"after",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.TimelockExpiry:{const t=s.as_timelock_expiry();return{type:"before",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.ScriptPubkey:{const t=s.as_script_pubkey();return{type:"sig",keyHash:t.addr_keyhash().to_hex()}}default:throw new Error(`Script Kind: ${s.kind()}, is not supported`)}},Bt=s=>{const e=t=>{const r=a.NativeScripts.new();return t.forEach(i=>{r.add(Bt(i))}),r};switch(s.type){case"all":return a.NativeScript.new_script_all(a.ScriptAll.new(e(s.scripts)));case"any":return a.NativeScript.new_script_any(a.ScriptAny.new(e(s.scripts)));case"atLeast":return a.NativeScript.new_script_n_of_k(a.ScriptNOfK.new(s.required,e(s.scripts)));case"after":return a.NativeScript.new_timelock_start(a.TimelockStart.new_timelockstart(a.BigNum.from_str(s.slot)));case"before":return a.NativeScript.new_timelock_expiry(a.TimelockExpiry.new_timelockexpiry(a.BigNum.from_str(s.slot)));case"sig":return a.NativeScript.new_script_pubkey(a.ScriptPubkey.new(U(s.keyHash)))}},W=s=>{const e=t=>{const r=a.PlutusList.new();return t.forEach(i=>{r.add(W(i))}),r};switch(typeof s){case"string":return a.PlutusData.new_bytes(g(s));case"number":return a.PlutusData.new_integer(a.BigInt.from_str(s.toString()));case"object":if(s instanceof Array){const t=e(s);return a.PlutusData.new_list(t)}else if(s instanceof Map){const t=a.PlutusMap.new();return s.forEach((r,i)=>{t.insert(W(i),W(r))}),a.PlutusData.new_map(t)}else return a.PlutusData.new_constr_plutus_data(a.ConstrPlutusData.new(a.BigNum.from_str(s.alternative.toString()),e(s.fields)))}},$e=s=>{const e=a.Relays.new();throw s.relays.forEach(t=>{e.add(We(t))}),new Error("toPoolParams not implemented.")},Je=s=>{const e=t=>Te[t];return a.Redeemer.new(e(s.tag),a.BigNum.from_str(s.index.toString()),W(s.data),a.ExUnits.new(a.BigNum.from_str(s.budget.mem.toString()),a.BigNum.from_str(s.budget.steps.toString())))},We=s=>{switch(s.type){case"SingleHostAddr":{const e=s.IPV4?a.Ipv4.new(new Uint8Array(s.IPV4.split(".").map(r=>parseInt(r)))):void 0,t=s.IPV6?a.Ipv6.new(g(s.IPV6.replaceAll(":",""))):void 0;return a.Relay.new_single_host_addr(a.SingleHostAddr.new(s.port,e,t))}case"SingleHostName":return a.Relay.new_single_host_name(a.SingleHostName.new(s.port,a.DNSRecordAorAAAA.new(s.domainName)));case"MultiHostName":return a.Relay.new_multi_host_name(a.MultiHostName.new(a.DNSRecordSRV.new(s.domainName)))}},je=s=>{if(s.is_plutus_script()){const t=s.plutus_script();return{code:t.to_hex(),version:Object.keys(bt).find(r=>bt[r].to_hex()===t.language_version().to_hex())}}const e=s.native_script();return kt(e)},Qt=s=>{if("code"in s){const e=pt(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(Bt(s))},wt=s=>{var i,n,o;const e=s.output().has_data_hash()?(i=s.output().data_hash())==null?void 0:i.to_hex():void 0,t=s.output().has_plutus_data()?(n=s.output().plutus_data())==null?void 0:n.to_hex():void 0,r=s.output().has_script_ref()?(o=s.output().script_ref())==null?void 0:o.to_hex():void 0;return{input:{outputIndex:s.input().index(),txHash:s.input().transaction_id().to_hex()},output:{address:s.output().address().to_bech32(),amount:le(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},R=s=>{const e=a.TransactionInput.new(he(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(k(s.output.address),ft(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Ye(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(Ge(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref(Re(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},Lt=s=>{const e=s.split(".")[1]??"0",t=`${parseInt(e,10)}`,r="1"+"0".repeat(e.length);return a.UnitInterval.new(a.BigNum.from_str(t),a.BigNum.from_str(r))},X=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?s:j(Buffer.from(s,"utf-8")),Xe=s=>Buffer.from(s,"hex").toString("utf-8"),le=s=>{const e=[{unit:"lovelace",quantity:s.coin().to_str()}],t=s.multiasset();if(t!==void 0){const r=t.keys();for(let i=0;i<r.len();i+=1){const n=r.get(i),o=t.get(n);if(o!==void 0){const c=o.keys();for(let A=0;A<c.len();A+=1){const u=c.get(A),I=o.get(u)??a.BigNum.from_str("0"),h=n.to_hex()+j(u.name());e.push({unit:h,quantity:I.to_str()})}}}}return e},ft=s=>{const e=s.find(n=>n.unit==="lovelace"),t=Array.from(new Set(s.filter(n=>n.unit!=="lovelace").map(n=>n.unit.slice(0,L)))),r=a.MultiAsset.new();t.forEach(n=>{const o=a.Assets.new();s.filter(c=>c.unit.slice(0,L)===n).forEach(c=>{o.insert(a.AssetName.new(g(c.unit.slice(L))),a.BigNum.from_str(c.quantity))}),r.insert(Le(n),o)});const i=a.Value.new(a.BigNum.from_str(e?e.quantity:"0"));return(s.length>1||!e)&&i.set_multiasset(r),i},qt=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),ge=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(g(s),g(X(e))),zt=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),Ze=s=>{if(typeof s!="object"||!("input"in s))return a.DatumSource.new(W(s));const e=R(s);if(e.output().has_plutus_data())return a.DatumSource.new_ref_input(e.input());throw new Error(`No inline datum found in UTxO: ${e.input().transaction_id().to_hex()}`)},$t=(s,e)=>a.EnterpriseAddress.new(s,a.StakeCredential.from_keyhash(e)),Kt=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),ts=s=>{if("code"in s)return a.PlutusScriptSource.new(pt(s.code,s.version));const e=R(s);if(e.output().has_script_ref()){const t=e.output().script_ref();if(t.is_plutus_script()){const r=je(t),i=pt(r.code,r.version).hash();return a.PlutusScriptSource.new_ref_input(i,e.input())}}throw new Error(`No plutus script reference found in UTxO: ${e.input().transaction_id().to_hex()}`)},ht=s=>{const e=a.ScriptPubkey.new(s);return a.NativeScript.new_script_pubkey(e)},es=(s=M)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new(Lt(s.priceMem.toString()),Lt(s.priceStep.toString()))).fee_algo(a.LinearFee.new(a.BigNum.from_str(s.minFeeA.toString()),a.BigNum.from_str(s.minFeeB.toString()))).key_deposit(a.BigNum.from_str(s.keyDeposit)).max_tx_size(s.maxTxSize).max_value_size(parseInt(s.maxValSize,10)).pool_deposit(a.BigNum.from_str(s.poolDeposit)).build();return a.TransactionBuilder.new(e)},Jt=s=>{const e=a.TxInputsBuilder.new();return s.map(t=>t instanceof a.TransactionUnspentOutput?t:R(t)).forEach(t=>{e.add_input(t.output().address(),t.input(),t.output().amount())}),e},ut=s=>{if(typeof s=="string")return a.TransactionOutputBuilder.new().with_address(k(s));let e=a.TransactionOutputBuilder.new().with_address(k(s.address));if(s.datum){const{value:t,inline:r}=s.datum,i=W(t);e=e.with_data_hash(a.hash_plutus_data(i)),r&&(e=e.with_plutus_data(i))}if(s.script){const t=Qt(s.script);e=e.with_script_ref(t)}return e},C=s=>rt.default.isAxiosError(s)?s.response?JSON.stringify({data:s.response.data,headers:s.response.headers,status:s.response.status}):s.request?JSON.stringify(s.request):s.message:JSON.stringify(s),fe=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=M)=>{const o=e.filter(h=>pe(h)===!1).sort(_e),c=a.BigNum.from_str(Nt(r,i,n)),A=t?a.BigNum.from_str(s).checked_add(c).to_str():s;return yt(o,new Map([["lovelace",A]]))},Ce=(s,e,t=!1,r=M)=>{const i=e.filter(pe).sort(_e),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:c,minFeeB:A}=r,u=a.BigNum.from_str(Nt(o,c,A)),I=t?a.BigNum.from_str(n).checked_add(u).to_str():n;return s.set("lovelace",I),yt(i,s)},ss=(s,e)=>Array.from(e,t=>({unit:t[0],quantity:a.BigNum.from_str(t[1])})).every(t=>s.filter(r=>r.output.amount.find(i=>i.unit===t.unit)!==void 0).reduce((r,i)=>{const n=i.output.amount.reduce((o,c)=>o.checked_add(a.BigNum.from_str(c.quantity)),a.BigNum.from_str("0"));return r.checked_add(n)},a.BigNum.from_str("0")).less_than(t.quantity)===!1),_e=(s,e)=>{var i,n;const t=a.BigNum.from_str(((i=s.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:i.quantity)??"0");return a.BigNum.from_str(((n=e.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:n.quantity)??"0").compare(t)},pe=s=>s.output.amount.length>1,yt=(s,e,t=[])=>s.length===0||ss(t,e)?t:rs(s[0],e)?yt(s.slice(1),e,[...t,s[0]]):yt(s.slice(1),e,t),rs=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),is=(s,e)=>{const t=as(e),r=ns(s,e);return{coseKey:j(t.to_bytes()),coseSign1:j(r.to_bytes())}},as=s=>{const e=_.COSEKey.new(_.Label.from_key_type(_.KeyType.OKP));return e.set_algorithm_id(_.Label.from_algorithm_id(_.AlgorithmId.EdDSA)),e.set_header(_.Label.new_int(_.Int.new_negative(_.BigNum.from_str("1"))),_.CBORValue.new_int(_.Int.new_i32(6))),e.set_header(_.Label.new_int(_.Int.new_negative(_.BigNum.from_str("2"))),_.CBORValue.new_bytes(s.key.to_public().as_bytes())),e},ns=(s,e)=>{const t=_.HeaderMap.new(),r=_.HeaderMap.new();t.set_algorithm_id(_.Label.from_algorithm_id(_.AlgorithmId.EdDSA)),t.set_header(_.Label.new_text("address"),_.CBORValue.new_bytes(e.address.to_bytes()));const i=_.Headers.new(_.ProtectedHeaderMap.new(t),r),n=_.COSESign1Builder.new(i,g(s.payload),!1);s.externalAAD!==void 0&&n.set_external_aad(g(s.externalAAD));const o=n.make_data_to_sign(),c=e.key.sign(o.to_bytes());return n.build(c.to_bytes())};var Wt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},we={},Q={exports:{}};T.notEqual=As;T.notOk=cs;T.equal=os;T.ok=T;var ye=T;function os(s,e,t){T(s==e,t)}function As(s,e,t){T(s!=e,t)}function cs(s,e){T(!s,e)}function T(s,e){if(!s)throw new Error(e||"AssertionError")}var F={exports:{}};function Is(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var hs=Ft;Ft.supported=typeof WebAssembly<"u";function Ft(s){if(!Ft.supported)return null;var e=s&&s.imports,t=us("AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMK00AElgMAIABCADcDACAAQQhqQgA3AwAgAEEQakIANwMAIABBGGpCADcDACAAQSBqQgA3AwAgAEEoakIANwMAIABBMGpCADcDACAAQThqQgA3AwAgAEHAAGpCADcDACAAQcgAakIANwMAIABB0ABqQgA3AwAgAEHYAGpCADcDACAAQeAAakIANwMAIABB6ABqQgA3AwAgAEHwAGpCADcDACAAQfgAakIANwMAIABBgAFqQoiS853/zPmE6gBBACkDAIU3AwAgAEGIAWpCu86qptjQ67O7f0EIKQMAhTcDACAAQZABakKr8NP0r+68tzxBECkDAIU3AwAgAEGYAWpC8e30+KWn/aelf0EYKQMAhTcDACAAQaABakLRhZrv+s+Uh9EAQSApAwCFNwMAIABBqAFqQp/Y+dnCkdqCm39BKCkDAIU3AwAgAEGwAWpC6/qG2r+19sEfQTApAwCFNwMAIABBuAFqQvnC+JuRo7Pw2wBBOCkDAIU3AwAgAEHAAWpCADcDACAAQcgBakIANwMAIABB0AFqQgA3AwALbQEDfyAAQcABaiEDIABByAFqIQQgBCkDAKchBQJAA0AgASACRg0BIAVBgAFGBEAgAyADKQMAIAWtfDcDAEEAIQUgABADCyAAIAVqIAEtAAA6AAAgBUEBaiEFIAFBAWohAQwACwsgBCAFrTcDAAtkAQN/IABBwAFqIQEgAEHIAWohAiABIAEpAwAgAikDAHw3AwAgAEHQAWpCfzcDACACKQMApyEDAkADQCADQYABRg0BIAAgA2pBADoAACADQQFqIQMMAAsLIAIgA603AwAgABADC+U7AiB+CX8gAEGAAWohISAAQYgBaiEiIABBkAFqISMgAEGYAWohJCAAQaABaiElIABBqAFqISYgAEGwAWohJyAAQbgBaiEoICEpAwAhASAiKQMAIQIgIykDACEDICQpAwAhBCAlKQMAIQUgJikDACEGICcpAwAhByAoKQMAIQhCiJLznf/M+YTqACEJQrvOqqbY0Ouzu38hCkKr8NP0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"),r=null,i={buffer:t,memory:null,exports:null,realloc:n,onload:o};return o(function(){}),i;function n(A){i.exports.memory.grow(Math.ceil(Math.abs(A-i.memory.length)/65536)),i.memory=new Uint8Array(i.exports.memory.buffer)}function o(A){if(i.exports)return A();if(r){r.then(A.bind(null,null)).catch(A);return}try{if(s&&s.async)throw new Error("async");c({instance:new WebAssembly.Instance(new WebAssembly.Module(t),e)})}catch{r=WebAssembly.instantiate(t,e).then(c)}o(A)}function c(A){i.exports=A.instance.exports,i.memory=i.exports.memory&&i.exports.memory.buffer&&new Uint8Array(i.exports.memory.buffer)}}function us(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(ds)):new(Is("buffer")).Buffer(s,"base64")}function ds(s){return s.charCodeAt(0)}var K=ye,f=hs(),P=64,Ct=[];F.exports=x;var jt=F.exports.BYTES_MIN=16,Xt=F.exports.BYTES_MAX=64;F.exports.BYTES=32;var Zt=F.exports.KEYBYTES_MIN=16,te=F.exports.KEYBYTES_MAX=64;F.exports.KEYBYTES=32;var ee=F.exports.SALTBYTES=16,se=F.exports.PERSONALBYTES=16;function x(s,e,t,r,i){if(!(this instanceof x))return new x(s,e,t,r,i);if(!(f&&f.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(K(s>=jt,"digestLength must be at least "+jt+", was given "+s),K(s<=Xt,"digestLength must be at most "+Xt+", was given "+s),e!=null&&K(e.length>=Zt,"key must be at least "+Zt+", was given "+e.length),e!=null&&K(e.length<=te,"key must be at least "+te+", was given "+e.length),t!=null&&K(t.length===ee,"salt must be exactly "+ee+", was given "+t.length),r!=null&&K(r.length===se,"personal must be exactly "+se+", was given "+r.length)),Ct.length||(Ct.push(P),P+=216),this.digestLength=s,this.finalized=!1,this.pointer=Ct.pop(),f.memory.fill(0,0,64),f.memory[0]=this.digestLength,f.memory[1]=e?e.length:0,f.memory[2]=1,f.memory[3]=1,t&&f.memory.set(t,32),r&&f.memory.set(r,48),this.pointer+216>f.memory.length&&f.realloc(this.pointer+216),f.exports.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),f.memory.fill(0,P,P+e.length),f.memory[this.pointer+200]=128)}x.prototype.update=function(s){return K(this.finalized===!1,"Hash instance finalized"),K(s,"input must be TypedArray or Buffer"),P+s.length>f.memory.length&&f.realloc(P+s.length),f.memory.set(s,P),f.exports.blake2b_update(this.pointer,P,P+s.length),this};x.prototype.digest=function(s){if(K(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ct.push(this.pointer),f.exports.blake2b_final(this.pointer),!s||s==="binary")return f.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(s==="hex")return gs(f.memory,this.pointer+128,this.digestLength);K(s.length>=this.digestLength,"input must be TypedArray or Buffer");for(var e=0;e<this.digestLength;e++)s[e]=f.memory[this.pointer+128+e];return s};x.prototype.final=x.prototype.digest;x.WASM=f&&f.buffer;x.SUPPORTED=typeof WebAssembly<"u";x.ready=function(s){if(s||(s=ls),!f)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){f.onload(function(i){i?r():t(),s(i)})});return e};x.prototype.ready=x.ready;function ls(){}function gs(s,e,t){for(var r="",i=0;i<t;i++)r+=fs(s[e+i]);return r}function fs(s){return s<16?"0"+s.toString(16):s.toString(16)}var G=ye,ct=F.exports;function dt(s,e,t){var r=s[e]+s[t],i=s[e+1]+s[t+1];r>=4294967296&&i++,s[e]=r,s[e+1]=i}function re(s,e,t,r){var i=s[e]+t;t<0&&(i+=4294967296);var n=s[e+1]+r;i>=4294967296&&n++,s[e]=i,s[e+1]=n}function Ee(s,e){return s[e]^s[e+1]<<8^s[e+2]<<16^s[e+3]<<24}function O(s,e,t,r,i,n){var o=nt[i],c=nt[i+1],A=nt[n],u=nt[n+1];dt(d,s,e),re(d,s,o,c);var I=d[r]^d[s],h=d[r+1]^d[s+1];d[r]=h,d[r+1]=I,dt(d,t,r),I=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=I>>>24^h<<8,d[e+1]=h>>>24^I<<8,dt(d,s,e),re(d,s,A,u),I=d[r]^d[s],h=d[r+1]^d[s+1],d[r]=I>>>16^h<<16,d[r+1]=h>>>16^I<<16,dt(d,t,r),I=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=h>>>31^I<<1,d[e+1]=I>>>31^h<<1}var me=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Cs=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],m=new Uint8Array(Cs.map(function(s){return s*2})),d=new Uint32Array(32),nt=new Uint32Array(32);function Be(s,e){var t=0;for(t=0;t<16;t++)d[t]=s.h[t],d[t+16]=me[t];for(d[24]=d[24]^s.t,d[25]=d[25]^s.t/4294967296,e&&(d[28]=~d[28],d[29]=~d[29]),t=0;t<32;t++)nt[t]=Ee(s.b,4*t);for(t=0;t<12;t++)O(0,8,16,24,m[t*16+0],m[t*16+1]),O(2,10,18,26,m[t*16+2],m[t*16+3]),O(4,12,20,28,m[t*16+4],m[t*16+5]),O(6,14,22,30,m[t*16+6],m[t*16+7]),O(0,10,20,30,m[t*16+8],m[t*16+9]),O(2,12,22,24,m[t*16+10],m[t*16+11]),O(4,14,16,26,m[t*16+12],m[t*16+13]),O(6,8,18,28,m[t*16+14],m[t*16+15]);for(t=0;t<16;t++)s.h[t]=s.h[t]^d[t]^d[t+16]}var Y=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function et(s,e,t,r){Y.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=s,Y[0]=s,e&&(Y[1]=e.length),Y[2]=1,Y[3]=1,t&&Y.set(t,32),r&&Y.set(r,48);for(var i=0;i<16;i++)this.h[i]=me[i]^Ee(Y,i*4);e&&(Qe(this,e),this.c=128)}et.prototype.update=function(s){return G(s!=null,"input must be Uint8Array or Buffer"),Qe(this,s),this};et.prototype.digest=function(s){var e=!s||s==="binary"||s==="hex"?new Uint8Array(this.outlen):s;return G(e.length>=this.outlen,"out must have at least outlen bytes of space"),_s(this,e),s==="hex"?ps(e):e};et.prototype.final=et.prototype.digest;et.ready=function(s){ct.ready(function(){s()})};function Qe(s,e){for(var t=0;t<e.length;t++)s.c===128&&(s.t+=s.c,Be(s,!1),s.c=0),s.b[s.c++]=e[t]}function _s(s,e){for(s.t+=s.c;s.c<128;)s.b[s.c++]=0;Be(s,!0);for(var t=0;t<s.outlen;t++)e[t]=s.h[t>>2]>>8*(t&3);return e}function ps(s){for(var e="",t=0;t<s.length;t++)e+=ws(s[t]);return e}function ws(s){return s<16?"0"+s.toString(16):s.toString(16)}var xe=et;Q.exports=function(e,t,r,i,n){return n!==!0&&(G(e>=ie,"outlen must be at least "+ie+", was given "+e),G(e<=ae,"outlen must be at most "+ae+", was given "+e),t!=null&&G(t.length>=ne,"key must be at least "+ne+", was given "+t.length),t!=null&&G(t.length<=oe,"key must be at most "+oe+", was given "+t.length),r!=null&&G(r.length===Ae,"salt must be exactly "+Ae+", was given "+r.length),i!=null&&G(i.length===ce,"personal must be exactly "+ce+", was given "+i.length)),new xe(e,t,r,i)};Q.exports.ready=function(s){ct.ready(function(){s()})};Q.exports.WASM_SUPPORTED=ct.SUPPORTED;Q.exports.WASM_LOADED=!1;var ie=Q.exports.BYTES_MIN=16,ae=Q.exports.BYTES_MAX=64;Q.exports.BYTES=32;var ne=Q.exports.KEYBYTES_MIN=16,oe=Q.exports.KEYBYTES_MAX=64;Q.exports.KEYBYTES=32;var Ae=Q.exports.SALTBYTES=16,ce=Q.exports.PERSONALBYTES=16;ct.ready(function(s){s||(Q.exports.WASM_LOADED=!0,xe=ct)});var st={};Object.defineProperty(st,"__esModule",{value:!0});st.bech32m=st.bech32=void 0;const Et="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Se={};for(let s=0;s<Et.length;s++){const e=Et.charAt(s);Se[e]=s}function tt(s){const e=s>>25;return(s&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function Ie(s){let e=1;for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+s+")";e=tt(e)^r>>5}e=tt(e);for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);e=tt(e)^r&31}return e}function Ht(s,e,t,r){let i=0,n=0;const o=(1<<t)-1,c=[];for(let A=0;A<s.length;++A)for(i=i<<e|s[A],n+=e;n>=t;)n-=t,c.push(i>>n&o);if(r)n>0&&c.push(i<<t-n&o);else{if(n>=e)return"Excess padding";if(i<<t-n&o)return"Non-zero padding"}return c}function ys(s){return Ht(s,8,5,!0)}function Es(s){const e=Ht(s,5,8,!1);if(Array.isArray(e))return e}function ms(s){const e=Ht(s,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function De(s){let e;s==="bech32"?e=1:e=734539939;function t(o,c,A){if(A=A||90,o.length+7+c.length>A)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let u=Ie(o);if(typeof u=="string")throw new Error(u);let I=o+"1";for(let h=0;h<c.length;++h){const p=c[h];if(p>>5!==0)throw new Error("Non 5-bit word");u=tt(u)^p,I+=Et.charAt(p)}for(let h=0;h<6;++h)u=tt(u);u^=e;for(let h=0;h<6;++h){const p=u>>(5-h)*5&31;I+=Et.charAt(p)}return I}function r(o,c){if(c=c||90,o.length<8)return o+" too short";if(o.length>c)return"Exceeds length limit";const A=o.toLowerCase(),u=o.toUpperCase();if(o!==A&&o!==u)return"Mixed-case string "+o;o=A;const I=o.lastIndexOf("1");if(I===-1)return"No separator character for "+o;if(I===0)return"Missing prefix for "+o;const h=o.slice(0,I),p=o.slice(I+1);if(p.length<6)return"Data too short";let v=Ie(h);if(typeof v=="string")return v;const $=[];for(let H=0;H<p.length;++H){const V=p.charAt(H),l=Se[V];if(l===void 0)return"Unknown character "+V;v=tt(v)^l,!(H+6>=p.length)&&$.push(l)}return v!==e?"Invalid checksum for "+o:{prefix:h,words:$}}function i(o,c){const A=r(o,c);if(typeof A=="object")return A}function n(o,c){const A=r(o,c);if(typeof A=="object")return A;throw new Error(A)}return{decodeUnsafe:i,decode:n,encode:t,toWords:ys,fromWordsUnsafe:Es,fromWords:ms}}st.bech32=De("bech32");st.bech32m=De("bech32m");var Bs=Wt&&Wt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(we,"__esModule",{value:!0});const Qs=Bs(Q.exports),lt=st,Dt="asset";class At{constructor(e){this.hashBuf=e}static fromHash(e){return new At(e)}static fromParts(e,t){const r=(0,Qs.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return At.fromHash(r)}static fromBech32(e){const{prefix:t,words:r}=lt.bech32.decode(e);if(t!==Dt)throw new Error("Invalid asset fingerprint");const i=Buffer.from(lt.bech32.fromWords(r));return At.fromHash(i)}fingerprint(){const e=lt.bech32.toWords(this.hashBuf);return lt.bech32.encode(Dt,e)}hash(){return Buffer.from(this.hashBuf).toString("hex")}prefix(){return Dt}checksum(){return this.fingerprint().slice(-6)}}var xs=we.default=At;const Ss=xs,Ds=(s,e)=>{const t=Oe(s),r=t.derive(St+1852).derive(St+1815).derive(St+e),i=r.derive(0).derive(0).to_raw_key(),n=r.derive(2).derive(0).to_raw_key();return r.free(),t.free(),{paymentKey:i,stakeKey:n}},vs=s=>{const e=W(s);return a.hash_plutus_data(e).to_hex()},bs=(s,e=Date.now())=>{if(_t[s]){const[t,r,i,n]=_t[s];return parseInt(a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).div_floor(a.BigNum.from_str(n)).checked_add(a.BigNum.from_str(t)).to_str(),10)}throw new Error(`Couldn't resolve EpochNo for network: ${s}`)},ve=(s,e)=>Ss.fromParts(g(s),g(e)).fingerprint(),Ks=(s,e)=>Ve[s][e],Us=s=>Bt(s).hash().to_hex(),J=s=>{var e,t;try{const r=[(e=Ut(s))==null?void 0:e.payment_cred().to_keyhash(),(t=ue(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve payment key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolvePaymentKeyHash: ${r}.`)}},ks=(s,e=0)=>{const t=pt(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Fs=s=>{try{const e=ue(s),t=e==null?void 0:e.payment_cred().to_scripthash();if(t!==void 0)return t.to_hex();throw new Error(`Couldn't resolve script hash from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveScriptHash: ${e}.`)}},Hs=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),Ns=s=>{const e=vt.mnemonicToEntropy(s.join(" ")),t=ge(e),r=t.to_bech32();return t.free(),r},Ps=s=>Qt(s).to_hex(),Ms=(s,e=Date.now())=>{if(_t[s]){const[t,r,i]=_t[s];return a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).checked_add(a.BigNum.from_str(r)).to_str()}throw new Error(`Couldn't resolve SlotNo for network: ${s}`)},xt=s=>{try{const e=k(s),t=Ut(s),r=t==null?void 0:t.stake_cred().to_keyhash();if(r!==void 0)return Kt(e.network_id(),r).to_address().to_bech32();throw new Error(`Couldn't resolve reward address from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveRewardAddress: ${e}.`)}},ot=s=>{var e,t;try{const r=[(e=Ut(s))==null?void 0:e.stake_cred().to_keyhash(),(t=de(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve stake key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolveStakeKeyHash: ${r}.`)}},Nt=(s,e=M.minFeeA,t=M.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),be=s=>{const e=q(s).body();return a.hash_transaction(e).to_hex()};class Ts{_axiosInstance;constructor(e,t=0){const r=e.slice(0,7);this._axiosInstance=rt.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${t}`,headers:{project_id:e}})}async fetchAccountInfo(e){const t=e.startsWith("addr")?xt(e):e;try{const{data:r,status:i}=await this._axiosInstance.get(`accounts/${t}`);if(i===200)return{active:r.active||r.active_epoch!==null,poolId:r.pool_id,balance:r.controlled_amount,rewards:r.withdrawable_amount,withdrawals:r.withdrawals_sum};throw C(r)}catch(r){throw C(r)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/${t}`:"",i=`addresses/${e}/utxos`+r,n=async(A=1,u=[])=>{const{data:I,status:h}=await this._axiosInstance.get(`${i}?page=${A}`);if(h===200)return I.length>0?n(A+1,[...u,...await Promise.all(I.map(c))]):u;throw C(I)},o=async A=>{if(A){const{data:u,status:I}=await this._axiosInstance.get(`scripts/${A}`);if(I===200){const h=u.type.startsWith("plutus")?{code:await this.fetchPlutusScriptCBOR(A),version:u.type.replace("plutus","")}:await this.fetchNativeScriptJSON(A);return Qt(h).to_hex()}throw C(u)}},c=async A=>({input:{outputIndex:A.output_index,txHash:A.tx_hash},output:{address:e,amount:A.amount,dataHash:A.data_hash??void 0,plutusData:A.inline_datum??void 0,scriptRef:await o(A.reference_script_hash)}});try{return await n()}catch{return[]}}async fetchAssetMetadata(e){throw new Error("fetchAssetMetadata not implemented.")}async fetchHandleAddress(e){throw new Error("fetchHandleAddress not implemented.")}async fetchProtocolParameters(e=Number.NaN){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${isNaN(e)?"latest":e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_word,collateralPercent:t.collateral_percent,decentralisation:t.decentralisation_param,epoch:t.epoch,keyDeposit:t.key_deposit,maxBlockExMem:t.max_block_ex_mem,maxBlockExSteps:t.max_block_ex_steps,maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem,maxTxExSteps:t.max_tx_ex_steps,maxTxSize:t.max_tx_size,maxValSize:t.max_val_size,minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost,poolDeposit:t.pool_deposit,priceMem:t.price_mem,priceStep:t.price_step};throw C(t)}catch(t){throw C(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("tx/submit",g(e),{headers:t});if(i===200)return r;throw C(r)}catch(t){throw C(t)}}async fetchPlutusScriptCBOR(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/cbor`);if(r===200)return t.cbor;throw C(t)}async fetchNativeScriptJSON(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/json`);if(r===200)return t.json;throw C(t)}}class Vs{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=rt.default.create({baseURL:`https://${i}:${n}/api/v${o}`,auth:{username:e,password:t}})}async uploadContent(e,t=!1){try{const r={"Content-Type":"multipart/form-data"},{data:i,status:n}=await this._axiosInstance.post(`add?recursive=${t}`,e,{headers:r});if(n===200)return i;throw C(i)}catch(r){throw C(r)}}}class Os{_axiosInstance;constructor(e,t=0){this._axiosInstance=rt.default.create({baseURL:`https://${e}.koios.rest/api/v${t}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?xt(e):e,{data:r,status:i}=await this._axiosInstance.post("account_info",{_stake_addresses:[t]});if(i===200)return{poolId:r[0].delegated_pool,active:r[0].status==="registered",balance:r[0].total_balance.toString(),rewards:r[0].rewards_available,withdrawals:r[0].withdrawals};throw C(r)}catch(t){throw C(t)}}async fetchAddressUTxOs(e,t){const r=i=>{if(i){const n=i.type.startsWith("plutus")?{code:i.bytes,version:i.type.replace("plutus","")}:kt(gt(i.bytes));return Qt(n).to_hex()}};try{const{data:i,status:n}=await this._axiosInstance.post("address_info",{_addresses:[e]});if(n===200){const o=i.flatMap(c=>c.utxo_set).map(c=>({input:{outputIndex:c.tx_index,txHash:c.tx_hash},output:{address:e,amount:[{unit:"lovelace",quantity:c.value},...c.asset_list.map(A=>({unit:`${A.policy_id}${A.asset_name}`,quantity:`${A.quantity}`}))],dataHash:c.datum_hash??void 0,plutusData:c.inline_datum.bytes??void 0,scriptRef:r(c.reference_script)}}));return t!==void 0?o.filter(c=>c.output.amount.find(A=>A.unit===t)!==void 0):o}throw C(i)}catch{return[]}}async fetchAssetMetadata(e){throw new Error("fetchAssetMetadata not implemented.")}async fetchHandleAddress(e){throw new Error("fetchHandleAddress not implemented.")}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epoch_params?_epoch_no=${e}`);if(r===200)return{coinsPerUTxOSize:t[0].coins_per_utxo_size,collateralPercent:t[0].collateral_percent,decentralisation:t[0].decentralisation,epoch:t[0].epoch_no,keyDeposit:t[0].key_deposit,maxBlockExMem:t[0].max_block_ex_mem.toString(),maxBlockExSteps:t[0].max_block_ex_steps.toString(),maxBlockHeaderSize:t[0].max_bh_size,maxBlockSize:t[0].max_block_size,maxCollateralInputs:t[0].max_collateral_inputs,maxTxExMem:t[0].max_tx_ex_mem.toString(),maxTxExSteps:t[0].max_tx_ex_steps.toString(),maxTxSize:t[0].max_tx_size,maxValSize:t[0].max_val_size.toString(),minFeeA:t[0].min_fee_a,minFeeB:t[0].min_fee_b,minPoolCost:t[0].min_pool_cost,poolDeposit:t[0].pool_deposit,priceMem:t[0].price_mem,priceStep:t[0].price_step};throw C(t)}catch(t){throw C(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("submittx",g(e),{headers:t});if(i===202)return r;throw C(r)}catch(t){throw C(t)}}}class Ys{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=rt.default.create({baseURL:`https://cardano-${e}.tangocrypto.com/${t}/v${i}`,headers:{"x-api-key":r}})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?xt(e):e,{data:r,status:i}=await this._axiosInstance.get(`wallets/${t}`);if(i===200)return{poolId:r.pool_id,active:r.active,balance:r.controlled_total_stake,rewards:r.rewards_sum,withdrawals:r.withdrawals_sum};throw C(r)}catch(t){throw C(t)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/assets/${t}`:"",i=`addresses/${e}${r}/utxos?size=50`,n=async(A="",u=[])=>{var p;const{data:I,status:h}=await this._axiosInstance.get(`${i}&cursor=${A}`);if(h===200)return I.cursor!==null&&((p=I.cursor)==null?void 0:p.length)>0?n(I.cursor,[...u,...I.data.map(c)]):I.data.map(c);throw C(I)},o=(A,u)=>{const I=[{unit:"lovelace",quantity:A.toString()}];return u.forEach(h=>{const p=X(h.asset_name);I.push({unit:`${h.policy_id}${p}`,quantity:h.quantity.toString()})}),I},c=A=>({input:{outputIndex:A.index,txHash:A.hash},output:{address:e,amount:o(A.value,A.assets)}});try{return await n()}catch{return[]}}async fetchAssetMetadata(e){throw new Error("fetchAssetMetadata not implemented.")}async fetchHandleAddress(e){throw new Error("fetchHandleAddress not implemented.")}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_size.toString(),collateralPercent:t.collateral_percent,decentralisation:t.decentralisation,epoch:t.epoch_no,keyDeposit:t.key_deposit.toString(),maxBlockExMem:t.max_block_ex_mem.toString(),maxBlockExSteps:t.max_block_ex_steps.toString(),maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem.toString(),maxTxExSteps:t.max_tx_ex_steps.toString(),maxTxSize:t.max_tx_size,maxValSize:t.max_val_size.toString(),minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost.toString(),poolDeposit:t.pool_deposit.toString(),priceMem:t.price_mem,priceStep:t.price_step};throw C(t)}catch(t){throw C(t)}}async submitTx(e){try{const t={"Content-Type":"application/json"},{data:r,status:i}=await this._axiosInstance.post("transactions/submit",{tx:e},{headers:t});if(i===200)return r.tx_id;throw C(r)}catch(t){throw C(t)}}}class Gs{static withOneSignature(e){const t=U(J(e));return ht(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=U(J(n));r.add(ht(o))});const i=a.ScriptNOfK.new(t,r);return a.NativeScript.new_script_any(i).to_hex()}static withAnySignature(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=U(J(i));t.add(ht(n))});const r=a.ScriptAny.new(t);return a.NativeScript.new_script_any(r).to_hex()}static withAllSignatures(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=U(J(i));t.add(ht(n))});const r=a.ScriptAll.new(t);return a.NativeScript.new_script_any(r).to_hex()}static fromNativeScript(e){return Bt(e).to_hex()}}function z(s,e,t,r){var i=arguments.length,n=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,r);else for(var c=s.length-1;c>=0;c--)(o=s[c])&&(n=(i<3?o(n):i>3?o(e,t,n):o(e,t))||n);return i>3&&n&&Object.defineProperty(e,t,n),n}const Rs=s=>class extends s{__visits=[]},Z=()=>function(s,e,t){const r=t.value;t.value=function(...i){const n=r.call(this,...i);return this.__visits&&this.__visits.push(e),n}};exports.Transaction=class{_changeAddress;_recipients=new Map;_totalBurns=new Map;_totalMints=new Map;_era;_initiator;_protocolParameters;_txBuilder;_txCertificates;_txInputsBuilder;_txWithdrawals;constructor(e={}){this._era=e.era,this._initiator=e.initiator,this._protocolParameters=e.parameters??M,this._txBuilder=es(e.parameters),this._txCertificates=a.Certificates.new(),this._txInputsBuilder=a.TxInputsBuilder.new(),this._txWithdrawals=a.Withdrawals.new()}static maskMetadata(e){var i;const t=q(e),r=(i=t.auxiliary_data())==null?void 0:i.metadata();if(r!==void 0){const n=a.GeneralTransactionMetadata.new();for(let c=0;c<r.len();c+=1){const A=r.keys().get(c),u=r.get(A);n.insert(A,a.TransactionMetadatum.from_hex("0".repeat(((u==null?void 0:u.to_hex())??"").length)))}const o=t.auxiliary_data();return o==null||o.set_metadata(n),a.Transaction.new(t.body(),t.witness_set(),o).to_hex()}return e}static readMetadata(e){var r,i;return((i=(r=q(e).auxiliary_data())==null?void 0:r.metadata())==null?void 0:i.to_hex())??""}static writeMetadata(e,t){const r=q(e),i=r.auxiliary_data()??a.AuxiliaryData.new();return i.set_metadata(a.GeneralTransactionMetadata.from_hex(t)),a.Transaction.new(r.body(),r.witness_set(),i).to_hex()}get size(){return this._txBuilder.full_size()}async build(){try{return this.notVisited("redeemValue")===!1&&(await this.addRequiredSignersIfNeeded(),await this.addCollateralIfNeeded()),await this.forgeAssetsIfNeeded(),await this.addTxInputsAsNeeded(),await this.addChangeAddress(),this._txBuilder.build_tx().to_hex()}catch(e){throw new Error(`[Transaction] An error occurred during build: ${e}.`)}}burnAsset(e,t){const r=this._totalBurns.has(t.unit)?a.BigNum.from_str(this._totalBurns.get(t.unit)??"0").checked_add(a.BigNum.from_str(t.quantity)).to_str():t.quantity;return this._txBuilder.add_mint_asset(gt(e),a.AssetName.new(g(t.unit.slice(L))),a.Int.new_negative(a.BigNum.from_str(t.quantity))),this._totalBurns.set(t.unit,r),this}delegateStake(e,t){const r=a.Certificate.new_stake_delegation(a.StakeDelegation.new(a.StakeCredential.from_keyhash(U(ot(e))),a.Ed25519KeyHash.from_bech32(t)));return this._txCertificates.add(r),this}deregisterStake(e){const t=a.Certificate.new_stake_deregistration(a.StakeDeregistration.new(a.StakeCredential.from_keyhash(U(ot(e)))));return this._txCertificates.add(t),this}mintAsset(e,t){var c,A;const i=((u,I)=>{const h=gt(u).hash().to_hex(),p=X(I.assetName);return{unit:`${h}${p}`,quantity:I.assetQuantity}})(e,t),o=a.BigNum.from_str(((c=this._totalMints.get(i.unit))==null?void 0:c.assetQuantity)??"0").checked_add(a.BigNum.from_str(i.quantity));return this._txBuilder.add_mint_asset(gt(e),a.AssetName.new(g(X(t.assetName))),a.Int.new(a.BigNum.from_str(i.quantity))),this._recipients.has(t.recipient)?(A=this._recipients.get(t.recipient))==null||A.push(i):this._recipients.set(t.recipient,[i]),this._totalMints.set(i.unit,{...t,assetQuantity:o.to_str()}),this}redeemValue(e){if("assetName"in e.value)throw new Error("Plutus Minting is not implemented yet...");const t={tag:"SPEND",budget:Me,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=R(e.value),i=a.PlutusWitness.new_with_ref(ts(e.script),Ze(e.datum),Je(t));return this._txInputsBuilder.add_plutus_script_input(i,r.input(),r.output().amount()),this}registerStake(e){const t=a.Certificate.new_stake_registration(a.StakeRegistration.new(a.StakeCredential.from_keyhash(U(ot(e)))));return this._txCertificates.add(t),this}registerPool(e){const t=a.Certificate.new_pool_registration(a.PoolRegistration.new($e(e)));return this._txCertificates.add(t),this}retirePool(e,t){const r=a.Certificate.new_pool_retirement(a.PoolRetirement.new(a.Ed25519KeyHash.from_bech32(e),t));return this._txCertificates.add(r),this}sendAssets(e,t){const r=ft(t),i=r.multiasset();if(r.is_zero()||i===void 0)return this;const o=ut(e).next().with_asset_and_min_required_coin_by_utxo_cost(i,zt(this._protocolParameters.coinsPerUTxOSize)).build();return this._txBuilder.add_output(o),this}sendLovelace(e,t){const i=ut(e).next().with_coin(a.BigNum.from_str(t)).build();return this._txBuilder.add_output(i),this}sendValue(e,t){const r=ft(t.output.amount),n=ut(e).next().with_value(r).build();return this._txBuilder.add_output(n),this}setChangeAddress(e){return this._changeAddress=k(e),this}setCollateral(e){const t=Jt(e);return this._txBuilder.set_collateral(t),this}setMetadata(e,t){return this._txBuilder.add_json_metadatum_with_schema(a.BigNum.from_str(e.toString()),JSON.stringify(t),a.MetadataJsonSchema.NoConversions),this}setRequiredSigners(e){return Array.from(new Set(e.map(r=>r.startsWith("addr")?J(r):ot(r)).map(r=>U(r)))).forEach(r=>{this._txBuilder.add_required_signer(r)}),this}setTimeToStart(e){return this._txBuilder.set_validity_start_interval_bignum(a.BigNum.from_str(e)),this}setTimeToExpire(e){return this._txBuilder.set_ttl_bignum(a.BigNum.from_str(e)),this}setTxInputs(e){return e.map(t=>R(t)).forEach(t=>{this._txInputsBuilder.add_input(t.output().address(),t.input(),t.output().amount())}),this}withdrawRewards(e,t){const r=de(e);return r!==void 0&&this._txWithdrawals.insert(r,a.BigNum.from_str(t)),this}async addBurnInputsIfNeeded(){if(this._initiator&&this._totalBurns.size>0&&this.notVisited("setTxInputs")){const e=await this._initiator.getUsedUTxOs();Ce(this._totalBurns,e.map(r=>wt(r))).map(r=>R(r)).forEach(r=>{this._txInputsBuilder.add_input(r.output().address(),r.input(),r.output().amount())})}}async addChangeAddress(){if(this._initiator&&this._changeAddress===void 0){const e=await this._initiator.getUsedAddress();this._txBuilder.add_change_if_needed(e)}else this._changeAddress!==void 0&&this._txBuilder.add_change_if_needed(this._changeAddress)}async addCollateralIfNeeded(){if(this._initiator&&this.notVisited("setCollateral")){const e=await this._initiator.getUsedCollateral();this._txBuilder.set_collateral(Jt(e))}}async addRequiredSignersIfNeeded(){if(this._initiator&&this.notVisited("setRequiredSigners")){const e=await this._initiator.getUsedAddress(),t=J(e.to_bech32());this._txBuilder.add_required_signer(U(t))}}async addTxInputsAsNeeded(){if(this._txBuilder.set_inputs(this._txInputsBuilder),this._txCertificates.len()>0&&this._txBuilder.set_certs(this._txCertificates),this._txWithdrawals.len()>0&&this._txBuilder.set_withdrawals(this._txWithdrawals),this.notVisited("setTxInputs")){const e=!this.notVisited("mintAsset")||!this.notVisited("sendAssets")||!this.notVisited("sendValue"),t=await this.selectLovelaceUTxOs(!1),r=await this.filterAvailableUTxOs(t),i=e?a.CoinSelectionStrategyCIP2.LargestFirstMultiAsset:a.CoinSelectionStrategyCIP2.LargestFirst;this._txBuilder.add_inputs_from(r,i)}if(this.notVisited("redeemValue")===!1){const e=this._era!==void 0?Yt[this._era]:Yt.BABBAGE;this._txBuilder.calc_script_data_hash(e)}}async forgeAssetsIfNeeded(){const e=(t,r)=>{const i=t.data.assetName,n=t.data.metadata,o=t.unit.slice(0,L);if(r&&r[o]){const{[o]:c,...A}=r,u={[i]:n,...c};return{[o]:{...u},...A}}return r!==void 0?{[o]:{[i]:n},...r}:{[o]:{[i]:n}}};await this.addBurnInputsIfNeeded(),Array.from(this._totalMints,t=>({unit:t[0],data:t[1]})).reduce((t,r)=>t.set(r.data.label,e(r,t.get(r.data.label))),new Map).forEach((t,r)=>{this._txBuilder.add_json_metadatum(a.BigNum.from_str(r),JSON.stringify(t))}),this.addMintOutputs()}async filterAvailableUTxOs(e=[]){const t=a.TransactionUnspentOutputs.new();return this._initiator===void 0||(await this._initiator.getUsedUTxOs()).filter(i=>e.find(n=>n.input.txHash===i.input().transaction_id().to_hex())===void 0).forEach(i=>{t.add(i)}),t}async selectLovelaceUTxOs(e){if(this._initiator===void 0||e===!1)return[];const t=await this._initiator.getUsedUTxOs(),r=fe("5000000",t.map(n=>wt(n)));return r.map(n=>R(n)).forEach(n=>{this._txBuilder.add_input(n.output().address(),n.input(),n.output().amount())}),r}addMintOutputs(){this._recipients.forEach((e,t)=>{const i=ft(e).multiasset();if(i!==void 0){const o=ut(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,zt(this._protocolParameters.coinsPerUTxOSize)).build();this._txBuilder.add_output(o)}})}notVisited(e){return this.__visits.includes(e)===!1}};z([Z()],exports.Transaction.prototype,"mintAsset",null);z([Z()],exports.Transaction.prototype,"redeemValue",null);z([Z()],exports.Transaction.prototype,"sendAssets",null);z([Z()],exports.Transaction.prototype,"sendValue",null);z([Z()],exports.Transaction.prototype,"setCollateral",null);z([Z()],exports.Transaction.prototype,"setRequiredSigners",null);z([Z()],exports.Transaction.prototype,"setTxInputs",null);exports.Transaction=z([Rs],exports.Transaction);const Ke=(s,e)=>{const t=s.vkeys();if(t!==void 0){const r=new Set;for(let n=0;n<t.len();n+=1)r.add(t.get(n).to_hex());for(let n=0;n<e.len();n+=1)r.add(e.get(n).to_hex());const i=a.Vkeywitnesses.new();return r.forEach(n=>{i.add(a.Vkeywitness.from_hex(n))}),i}return e};class w{_networkId;_encryptedSecret;constructor(e,t){this._networkId=e,this._encryptedSecret=t}getAccount(e,t){return this.accountContext(e,t,(r,i)=>{const n=qt(this._networkId,r.to_public().hash(),i.to_public().hash()).to_address().to_bech32(),o=$t(this._networkId,r.to_public().hash()).to_address().to_bech32(),c=Kt(this._networkId,i.to_public().hash()).to_address().to_bech32();return{baseAddress:n,enterpriseAddress:o,rewardAddress:c}})}signData(e,t,r,i){try{return this.accountContext(e,t,(n,o)=>{const c={payload:i},A={address:w.resolveAddress(this._networkId,r,n,o),key:r.startsWith("stake")?o:n},{coseSign1:u,coseKey:I}=is(c,A);return{signature:u,key:I}})}catch(n){throw new Error(`An error occurred during signData: ${n}.`)}}signTx(e,t,r,i,n){try{const o=he(be(i));return this.accountContext(e,t,(c,A)=>{const u=a.Vkeywitnesses.new();return w.resolveSigners(i,r,c.to_public().hash().to_hex()).forEach(h=>{if(h===c.to_public().hash().to_hex())u.add(a.make_vkey_witness(o,c));else if(h===A.to_public().hash().to_hex())u.add(a.make_vkey_witness(o,A));else if(n===!1)throw new Error(`Missing key witness for: ${h}`)}),u})}catch(o){throw new Error(`An error occurred during signTx: ${o}.`)}}static encryptMnemonic(e,t){const r=vt.mnemonicToEntropy(e.join(" ")),i=ge(r),n=j(i.as_bytes());return i.free(),w.encrypt(n,t)}static encryptPrivateKey(e,t){const r=a.Bip32PrivateKey.from_bech32(e),i=j(r.as_bytes());return r.free(),w.encrypt(i,t)}static encryptSigningKeys(e,t,r){const i=w.encrypt(e.slice(4),r),n=w.encrypt(t.slice(4),r);return[i,n]}static generateMnemonic(e=256){return vt.generateMnemonic(e).split(" ")}accountContext(e,t,r){const{paymentKey:i,stakeKey:n}=w.resolveKeys(e,t,this._encryptedSecret),o=r(i,n);return i.free(),n.free(),o}static decrypt(e,t){try{return a.decrypt_with_password(X(t),e)}catch{throw new Error("The password is incorrect.")}}static encrypt(e,t){const r=He.customAlphabet("0123456789abcdef"),i=r(64),n=r(24);return a.encrypt_with_password(X(t),i,n,e)}static resolveAddress(e,t,r,i){const n=[qt(e,r.to_public().hash(),i.to_public().hash()),$t(e,r.to_public().hash()),Kt(e,i.to_public().hash())].find(o=>o.to_address().to_bech32()===t);if(n!==void 0)return n.to_address();throw new Error(`Address: ${t} doesn't belong to this account.`)}static resolveKeys(e,t,r){if(typeof r=="string"){const o=w.decrypt(r,t);return Ds(o,e)}const i=w.decrypt(r[0],t),n=w.decrypt(r[1],t);return{paymentKey:a.PrivateKey.from_hex(i),stakeKey:a.PrivateKey.from_hex(n)}}static resolveSigners(e,t,r){const i=c=>{const A=(l,B=[],E=0)=>{var It,it,Pt,Mt,Tt;if(l===void 0||E>=l.len())return B;const S=l.get(E),D=new Array;switch(S.kind()){case a.CertificateKind.StakeDeregistration:{const y=(It=S.as_stake_deregistration())==null?void 0:It.stake_credential(),N=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;N&&D.push(N.to_hex());break}case a.CertificateKind.StakeDelegation:{const y=(it=S.as_stake_delegation())==null?void 0:it.stake_credential(),N=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;N&&D.push(N.to_hex());break}case a.CertificateKind.PoolRegistration:{const y=(Pt=S.as_pool_registration())==null?void 0:Pt.pool_params().pool_owners();D.push(...I(y));break}case a.CertificateKind.PoolRetirement:{const y=(Mt=S.as_pool_retirement())==null?void 0:Mt.pool_keyhash();y&&D.push(y.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const y=(Tt=S.as_move_instantaneous_rewards_cert())==null?void 0:Tt.move_instantaneous_reward().as_to_stake_creds();if(y)for(let N=0;N<y.len();N+=1){const Vt=y.keys().get(N),Ot=Vt.kind()===a.StakeCredKind.Key?Vt.to_keyhash():void 0;Ot&&D.push(Ot.to_hex())}break}}return A(l,[...B,...D],E+1)},u=(l,B=[],E=0)=>{if(l===void 0||E>=l.len())return B;const S=l.get(E).index(),D=l.get(E).transaction_id(),It=t.find(it=>it.input.outputIndex===S&&it.input.txHash===D.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return u(l,[...B,It],E+1)},I=(l,B=[],E=0)=>l===void 0||E>=l.len()?B:I(l,[...B,l.get(E).to_hex()],E+1),h=(l,B=[],E=0)=>{if(l===void 0||E>=l.len())return B;const S=l.keys().get(E).payment_cred(),D=S.kind()===a.StakeCredKind.Key?S.to_keyhash():void 0;return h(l,D?[...B,D.to_hex()]:B,E+1)},p=c.certs(),v=c.collateral(),$=c.inputs(),H=c.required_signers(),V=c.withdrawals();return[...A(p),...u(v),...u($),...I(H),...h(V)]},n=c=>{const A=(I,h=[])=>{var p,v,$,H;if(I)for(let V=0;V<I.len();V+=1){const l=I.get(V);switch(l.kind()){case a.NativeScriptKind.ScriptPubkey:{const B=(p=l.as_script_pubkey())==null?void 0:p.addr_keyhash().to_hex();return B?[...h,B]:h}case a.NativeScriptKind.ScriptAll:return A((v=l.as_script_all())==null?void 0:v.native_scripts(),h);case a.NativeScriptKind.ScriptAny:return A(($=l.as_script_any())==null?void 0:$.native_scripts(),h);case a.NativeScriptKind.ScriptNOfK:return A((H=l.as_script_n_of_k())==null?void 0:H.native_scripts(),h)}}return h},u=c.native_scripts();return[...A(u)]},o=q(e);return new Set([...i(o.body()),...n(o.witness_set())])}}const b="MARI0TIME";class Ls{_fetcher;_submitter;_wallet;constructor(e){switch(this._fetcher=e.fetcher,this._submitter=e.submitter,e.key.type){case"mnemonic":this._wallet=new w(e.networkId,w.encryptMnemonic(e.key.words,b));break;case"root":this._wallet=new w(e.networkId,w.encryptPrivateKey(e.key.bech32,b));break;case"cli":this._wallet=new w(e.networkId,w.encryptSigningKeys(e.key.payment,e.key.stake??"f0".repeat(34),b))}}getPaymentAddress(e=0){return this._wallet.getAccount(e,b).enterpriseAddress}getRewardAddress(e=0){return this._wallet.getAccount(e,b).rewardAddress}getUsedAddress(e=0){const t=this._wallet.getAccount(e,b);return k(t.enterpriseAddress)}getUsedCollateral(e=M.maxCollateralInputs){throw new Error("getUsedCollateral not implemented.")}async getUsedUTxOs(e=0){const t=this._wallet.getAccount(e,b);return(await this._fetcher.fetchAddressUTxOs(t.enterpriseAddress)).map(i=>R(i))}signData(e,t,r=0){try{return this._wallet.signData(r,b,e,t)}catch(i){throw new Error(`[AppWallet] An error occurred during signData: ${i}.`)}}async signTx(e,t=!1,r=0){try{const i=this._wallet.getAccount(r,b),n=await this._fetcher.fetchAddressUTxOs(i.enterpriseAddress),o=this._wallet.signTx(r,b,n,e,t),c=q(e),A=c.witness_set(),u=Ke(A,o);return A.set_vkeys(u),a.Transaction.new(c.body(),A,c.auxiliary_data()).to_hex()}catch(i){throw new Error(`[AppWallet] An error occurred during signTx: ${i}.`)}}submitTx(e){return this._submitter.submitTx(e)}static brew(e=256){return w.generateMnemonic(e)}}class mt{_walletInstance;constructor(e){this._walletInstance=e}static getInstalledWallets(){return window.cardano===void 0?[]:Gt.filter(e=>window.cardano[e]!==void 0).map(e=>({name:window.cardano[e].name,icon:window.cardano[e].icon,version:window.cardano[e].apiVersion}))}static async enable(e){try{const t=await mt.resolveInstance(e);if(t!==void 0)return new mt(t);throw new Error(`Couldn't create an instance of wallet: ${e}`)}catch(t){throw new Error(`[BrowserWallet] An error occurred during enable: ${t}.`)}}async getBalance(){const e=await this._walletInstance.getBalance();return le(ze(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return at(e).to_bech32()}async getCollateral(e=M.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>wt(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>at(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>at(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>at(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>wt(t))}signData(e,t){const r=k(e).to_hex();return this._walletInstance.signData(r,X(t))}async signTx(e,t=!1){try{const r=q(e),i=r.witness_set(),n=await this._walletInstance.signTx(e,t),o=qe(n).vkeys()??a.Vkeywitnesses.new(),c=Ke(i,o);return i.set_vkeys(c),j(a.Transaction.new(r.body(),i,r.auxiliary_data()).to_bytes())}catch(r){throw new Error(`[BrowserWallet] An error occurred during signTx: ${JSON.stringify(r)}.`)}}submitTx(e){return this._walletInstance.submitTx(e)}async getUsedAddress(){const e=await this._walletInstance.getUsedAddresses();return at(e[0])}async getUsedCollateral(e=M.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>Rt(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>Rt(t))}async getAssets(){return(await this.getBalance()).filter(t=>t.unit!=="lovelace").map(t=>{const r=t.unit.slice(0,L),i=t.unit.slice(L),n=ve(r,i);return{unit:t.unit,policyId:r,assetName:Xe(i),fingerprint:n,quantity:t.quantity}})}async getLovelace(){const t=(await this.getBalance()).find(r=>r.unit==="lovelace");return t!==void 0?t.quantity:"0"}async getPolicyIdAssets(e){return(await this.getAssets()).filter(r=>r.policyId===e)}async getPolicyIds(){const e=await this.getBalance();return Array.from(new Set(e.map(t=>t.unit.slice(0,L)))).filter(t=>t!=="lovelace")}static resolveInstance(e){if(window.cardano===void 0)return;const t=Gt.map(r=>window.cardano[r]).filter(r=>r!==void 0).find(r=>r.name.toLowerCase()===e.toLowerCase());return t==null?void 0:t.enable()}}const Ue="http://localhost:4000/",qs="http://localhost:5000/",zs=`${Ue}access`,$s=`${Ue}transaction/signtx`;class Js{static getAxiosInstance(){return rt.default.create({baseURL:qs,withCredentials:!0})}static getAppId(){return window.location.hostname}static async openMinaFrontend(e){const t=this.getAppId();e.includes("?")?e=`${e}&appId=${t}`:e=`${e}?appId=${t}`;const r="left=100,top=100,width=540,height=540",i=window.open(e,"meshWindow",r);return i||console.error("the window did not open",i),await(async()=>new Promise(n=>{window.addEventListener("message",async o=>{o.data.target=="minaWallet"&&n(o.data)})}))()}static async get(e,t={}){const r=this.getAppId();t={...t,appId:r};try{return(await this.getAxiosInstance().get(e,{params:t})).data}catch{console.error("Not logged in");return}}static async enable(){return await this.get("wallet/getuserwalletsmeta")===void 0?await this.openMinaFrontend(zs):!0}static async getChangeAddress(e=void 0,t=void 0){return await this.get("wallet/getchangeaddress",{walletId:e,accountIndex:t})}static async getUtxos(e=void 0,t=void 0){return await this.get("wallet/getutxo",{walletId:e,accountIndex:t})}static async signTx(e,t=!1){const r=await this.get("wallet/getuserwalletsmeta");if(console.log("userWalletsMeta",r),r){const i=await this.openMinaFrontend(`${$s}?unsignedTx=${e}&partialSign=${t}`);if(i instanceof a.Vkeywitnesses){const n=q(e),o=n.witness_set();o.set_vkeys(i);const c=a.Transaction.new(n.body(),o,n.auxiliary_data()).to_hex();return console.log("signedTx",c),c}}else return}}exports.AppWallet=Ls;exports.BlockfrostProvider=Ts;exports.BrowserWallet=mt;exports.EmbeddedWallet=w;exports.ForgeScript=Gs;exports.InfuraProvider=Vs;exports.KoiosProvider=Os;exports.MinaWallet=Js;exports.TangoProvider=Ys;exports.largestFirst=fe;exports.largestFirstMultiAsset=Ce;exports.resolveDataHash=vs;exports.resolveEpochNo=bs;exports.resolveFingerprint=ve;exports.resolveLanguageView=Ks;exports.resolveNativeScriptHash=Us;exports.resolvePaymentKeyHash=J;exports.resolvePlutusScriptAddress=ks;exports.resolvePlutusScriptHash=Fs;exports.resolvePoolId=Hs;exports.resolvePrivateKey=Ns;exports.resolveRewardAddress=xt;exports.resolveScriptRef=Ps;exports.resolveSlotNo=Ms;exports.resolveStakeKeyHash=ot;exports.resolveTxFees=Nt;exports.resolveTxHash=be;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const bt=require("bip39"),Ne=require("@emurgo/cardano-serialization-lib-nodejs"),He=require("axios"),p=require("@emurgo/cardano-message-signing-nodejs"),Pe=require("nanoid"),Me=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function Te(s){if(s&&s.__esModule)return s;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const a=Te(Ne),rt=Me(He),Ve={mem:7e6,steps:3e9},V={epoch:0,coinsPerUTxOSize:"4310",priceMem:.0577,priceStep:721e-7,minFeeA:44,minFeeB:155381,keyDeposit:"2000000",maxTxSize:16384,maxValSize:"5000",poolDeposit:"500000000",maxCollateralInputs:3,decentralisation:0,maxBlockSize:98304,collateralPercent:150,maxBlockHeaderSize:1100,minPoolCost:"340000000",maxTxExMem:"16000000",maxTxExSteps:"10000000000",maxBlockExMem:"80000000",maxBlockExSteps:"40000000000"},Dt=2147483648,Kt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},x=56,Oe={CERT:a.RedeemerTag.new_cert(),MINT:a.RedeemerTag.new_mint(),REWARD:a.RedeemerTag.new_reward(),SPEND:a.RedeemerTag.new_spend()},pt={testnet:["74","1598400","1595967616","432000"],preview:["0","0","1660003200","86400"],preprod:["0","0","1654041600","432000"],mainnet:["208","4492800","1596059091","432000"]},Rt={ALONZO:a.TxBuilderConstants.plutus_alonzo_cost_models(),BABBAGE:a.TxBuilderConstants.plutus_vasil_cost_models()},Ye={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}},kt={[a.NetworkInfo.testnet().network_id()]:"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3",[a.NetworkInfo.mainnet().network_id()]:"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"},Lt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],at=s=>a.Address.from_bytes(f(s)),Ge=s=>a.Bip32PrivateKey.from_bytes(f(s)),Re=s=>a.DataHash.from_bytes(f(s)),F=s=>a.Ed25519KeyHash.from_bytes(f(s)),At=s=>a.NativeScript.from_bytes(f(s)),Le=s=>a.PlutusData.from_bytes(f(s)),wt=(s,e)=>a.PlutusScript.from_bytes_with_version(f(s),Kt[e]),qe=s=>a.ScriptRef.from_bytes(f(s)),$e=s=>a.ScriptHash.from_bytes(f(s)),$=s=>a.Transaction.from_bytes(f(s)),de=s=>a.TransactionHash.from_bytes(f(s)),qt=s=>a.TransactionUnspentOutput.from_bytes(f(s)),ze=s=>a.TransactionWitnessSet.from_bytes(f(s)),We=s=>a.Value.from_bytes(f(s)),N=s=>a.Address.from_bech32(s),Ft=s=>a.BaseAddress.from_address(N(s)),le=s=>a.EnterpriseAddress.from_address(N(s)),ge=s=>a.RewardAddress.from_address(N(s)),X=s=>Buffer.from(s).toString("hex"),f=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?Buffer.from(s,"hex"):Buffer.from(s,"utf-8"),Qt=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(Qt(t.get(i)));return r};switch(s.kind()){case a.NativeScriptKind.ScriptAll:{const t=s.as_script_all();return{type:"all",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptAny:{const t=s.as_script_any();return{type:"any",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptNOfK:{const t=s.as_script_n_of_k();return{type:"atLeast",required:t.n(),scripts:e(t.native_scripts())}}case a.NativeScriptKind.TimelockStart:{const t=s.as_timelock_start();return{type:"after",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.TimelockExpiry:{const t=s.as_timelock_expiry();return{type:"before",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.ScriptPubkey:{const t=s.as_script_pubkey();return{type:"sig",keyHash:t.addr_keyhash().to_hex()}}default:throw new Error(`Script Kind: ${s.kind()}, is not supported`)}},xt=s=>{const e=t=>{const r=a.NativeScripts.new();return t.forEach(i=>{r.add(xt(i))}),r};switch(s.type){case"all":return a.NativeScript.new_script_all(a.ScriptAll.new(e(s.scripts)));case"any":return a.NativeScript.new_script_any(a.ScriptAny.new(e(s.scripts)));case"atLeast":return a.NativeScript.new_script_n_of_k(a.ScriptNOfK.new(s.required,e(s.scripts)));case"after":return a.NativeScript.new_timelock_start(a.TimelockStart.new_timelockstart(a.BigNum.from_str(s.slot)));case"before":return a.NativeScript.new_timelock_expiry(a.TimelockExpiry.new_timelockexpiry(a.BigNum.from_str(s.slot)));case"sig":return a.NativeScript.new_script_pubkey(a.ScriptPubkey.new(F(s.keyHash)))}},j=s=>{const e=t=>{const r=a.PlutusList.new();return t.forEach(i=>{r.add(j(i))}),r};switch(typeof s){case"string":return a.PlutusData.new_bytes(f(s));case"number":return a.PlutusData.new_integer(a.BigInt.from_str(s.toString()));case"object":if(s instanceof Array){const t=e(s);return a.PlutusData.new_list(t)}else if(s instanceof Map){const t=a.PlutusMap.new();return s.forEach((r,i)=>{t.insert(j(i),j(r))}),a.PlutusData.new_map(t)}else return a.PlutusData.new_constr_plutus_data(a.ConstrPlutusData.new(a.BigNum.from_str(s.alternative.toString()),e(s.fields)))}},Je=s=>{const e=a.Relays.new();throw s.relays.forEach(t=>{e.add(Xe(t))}),new Error("toPoolParams not implemented.")},je=s=>{const e=t=>Oe[t];return a.Redeemer.new(e(s.tag),a.BigNum.from_str(s.index.toString()),j(s.data),a.ExUnits.new(a.BigNum.from_str(s.budget.mem.toString()),a.BigNum.from_str(s.budget.steps.toString())))},Xe=s=>{switch(s.type){case"SingleHostAddr":{const e=s.IPV4?a.Ipv4.new(new Uint8Array(s.IPV4.split(".").map(r=>parseInt(r)))):void 0,t=s.IPV6?a.Ipv6.new(f(s.IPV6.replaceAll(":",""))):void 0;return a.Relay.new_single_host_addr(a.SingleHostAddr.new(s.port,e,t))}case"SingleHostName":return a.Relay.new_single_host_name(a.SingleHostName.new(s.port,a.DNSRecordAorAAAA.new(s.domainName)));case"MultiHostName":return a.Relay.new_multi_host_name(a.MultiHostName.new(a.DNSRecordSRV.new(s.domainName)))}},Ze=s=>{if(s.is_plutus_script()){const t=s.plutus_script();return{code:t.to_hex(),version:Object.keys(Kt).find(r=>Kt[r].to_hex()===t.language_version().to_hex())}}const e=s.native_script();return Qt(e)},ht=s=>{if("code"in s){const e=wt(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(xt(s))},yt=s=>{var i,n,o;const e=s.output().has_data_hash()?(i=s.output().data_hash())==null?void 0:i.to_hex():void 0,t=s.output().has_plutus_data()?(n=s.output().plutus_data())==null?void 0:n.to_hex():void 0,r=s.output().has_script_ref()?(o=s.output().script_ref())==null?void 0:o.to_hex():void 0;return{input:{outputIndex:s.input().index(),txHash:s.input().transaction_id().to_hex()},output:{address:s.output().address().to_bech32(),amount:fe(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},q=s=>{const e=a.TransactionInput.new(de(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(N(s.output.address),_t(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Re(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(Le(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref(qe(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},$t=s=>{const e=s.split(".")[1]??"0",t=`${parseInt(e,10)}`,r="1"+"0".repeat(e.length);return a.UnitInterval.new(a.BigNum.from_str(t),a.BigNum.from_str(r))},D=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?s:X(Buffer.from(s,"utf-8")),Nt=s=>Buffer.from(s,"hex").toString("utf-8"),fe=s=>{const e=[{unit:"lovelace",quantity:s.coin().to_str()}],t=s.multiasset();if(t!==void 0){const r=t.keys();for(let i=0;i<r.len();i+=1){const n=r.get(i),o=t.get(n);if(o!==void 0){const A=o.keys();for(let c=0;c<A.len();c+=1){const I=A.get(c),u=o.get(I)??a.BigNum.from_str("0"),h=n.to_hex()+X(I.name());e.push({unit:h,quantity:u.to_str()})}}}}return e},_t=s=>{const e=s.find(n=>n.unit==="lovelace"),t=Array.from(new Set(s.filter(n=>n.unit!=="lovelace").map(n=>n.unit.slice(0,x)))),r=a.MultiAsset.new();t.forEach(n=>{const o=a.Assets.new();s.filter(A=>A.unit.slice(0,x)===n).forEach(A=>{o.insert(a.AssetName.new(f(A.unit.slice(x))),a.BigNum.from_str(A.quantity))}),r.insert($e(n),o)});const i=a.Value.new(a.BigNum.from_str(e?e.quantity:"0"));return(s.length>1||!e)&&i.set_multiasset(r),i},zt=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),_e=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(f(s),f(D(e))),Wt=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),ts=s=>{if(typeof s!="object"||!("input"in s))return a.DatumSource.new(j(s));const e=q(s);if(e.output().has_plutus_data())return a.DatumSource.new_ref_input(e.input());throw new Error(`No inline datum found in UTxO: ${e.input().transaction_id().to_hex()}`)},Jt=(s,e)=>a.EnterpriseAddress.new(s,a.StakeCredential.from_keyhash(e)),Ut=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),es=s=>{if("code"in s)return a.PlutusScriptSource.new(wt(s.code,s.version));const e=q(s);if(e.output().has_script_ref()){const t=e.output().script_ref();if(t.is_plutus_script()){const r=Ze(t),i=wt(r.code,r.version).hash();return a.PlutusScriptSource.new_ref_input(i,e.input())}}throw new Error(`No plutus script reference found in UTxO: ${e.input().transaction_id().to_hex()}`)},dt=s=>{const e=a.ScriptPubkey.new(s);return a.NativeScript.new_script_pubkey(e)},ss=(s=V)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new($t(s.priceMem.toString()),$t(s.priceStep.toString()))).fee_algo(a.LinearFee.new(a.BigNum.from_str(s.minFeeA.toString()),a.BigNum.from_str(s.minFeeB.toString()))).key_deposit(a.BigNum.from_str(s.keyDeposit)).max_tx_size(s.maxTxSize).max_value_size(parseInt(s.maxValSize,10)).pool_deposit(a.BigNum.from_str(s.poolDeposit)).build();return a.TransactionBuilder.new(e)},jt=s=>{const e=a.TxInputsBuilder.new();return s.map(t=>t instanceof a.TransactionUnspentOutput?t:q(t)).forEach(t=>{e.add_input(t.output().address(),t.input(),t.output().amount())}),e},lt=s=>{if(typeof s=="string")return a.TransactionOutputBuilder.new().with_address(N(s));let e=a.TransactionOutputBuilder.new().with_address(N(s.address));if(s.datum){const{value:t,inline:r}=s.datum,i=j(t);e=e.with_data_hash(a.hash_plutus_data(i)),r&&(e=e.with_plutus_data(i))}if(s.script){const t=ht(s.script);e=e.with_script_ref(t)}return e},l=s=>rt.default.isAxiosError(s)?s.response?JSON.stringify({data:s.response.data,headers:s.response.headers,status:s.response.status}):s.request?JSON.stringify(s.request):s.message:JSON.stringify(s),Ce=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=V)=>{const o=e.filter(h=>ye(h)===!1).sort(we),A=a.BigNum.from_str(Mt(r,i,n)),c=t?a.BigNum.from_str(s).checked_add(A).to_str():s;return mt(o,new Map([["lovelace",c]]))},pe=(s,e,t=!1,r=V)=>{const i=e.filter(ye).sort(we),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:A,minFeeB:c}=r,I=a.BigNum.from_str(Mt(o,A,c)),u=t?a.BigNum.from_str(n).checked_add(I).to_str():n;return s.set("lovelace",u),mt(i,s)},rs=(s,e)=>Array.from(e,t=>({unit:t[0],quantity:a.BigNum.from_str(t[1])})).every(t=>s.filter(r=>r.output.amount.find(i=>i.unit===t.unit)!==void 0).reduce((r,i)=>{const n=i.output.amount.reduce((o,A)=>o.checked_add(a.BigNum.from_str(A.quantity)),a.BigNum.from_str("0"));return r.checked_add(n)},a.BigNum.from_str("0")).less_than(t.quantity)===!1),we=(s,e)=>{var i,n;const t=a.BigNum.from_str(((i=s.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:i.quantity)??"0");return a.BigNum.from_str(((n=e.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:n.quantity)??"0").compare(t)},ye=s=>s.output.amount.length>1,mt=(s,e,t=[])=>s.length===0||rs(t,e)?t:is(s[0],e)?mt(s.slice(1),e,[...t,s[0]]):mt(s.slice(1),e,t),is=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),as=(s,e)=>{const t=ns(e),r=os(s,e);return{coseKey:X(t.to_bytes()),coseSign1:X(r.to_bytes())}},ns=s=>{const e=p.COSEKey.new(p.Label.from_key_type(p.KeyType.OKP));return e.set_algorithm_id(p.Label.from_algorithm_id(p.AlgorithmId.EdDSA)),e.set_header(p.Label.new_int(p.Int.new_negative(p.BigNum.from_str("1"))),p.CBORValue.new_int(p.Int.new_i32(6))),e.set_header(p.Label.new_int(p.Int.new_negative(p.BigNum.from_str("2"))),p.CBORValue.new_bytes(s.key.to_public().as_bytes())),e},os=(s,e)=>{const t=p.HeaderMap.new(),r=p.HeaderMap.new();t.set_algorithm_id(p.Label.from_algorithm_id(p.AlgorithmId.EdDSA)),t.set_header(p.Label.new_text("address"),p.CBORValue.new_bytes(e.address.to_bytes()));const i=p.Headers.new(p.ProtectedHeaderMap.new(t),r),n=p.COSESign1Builder.new(i,f(s.payload),!1);s.externalAAD!==void 0&&n.set_external_aad(f(s.externalAAD));const o=n.make_data_to_sign(),A=e.key.sign(o.to_bytes());return n.build(A.to_bytes())};var Xt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},me={},S={exports:{}};O.notEqual=cs;O.notOk=Is;O.equal=As;O.ok=O;var Ee=O;function As(s,e,t){O(s==e,t)}function cs(s,e,t){O(s!=e,t)}function Is(s,e){O(!s,e)}function O(s,e){if(!s)throw new Error(e||"AssertionError")}var H={exports:{}};function hs(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var us=Ht;Ht.supported=typeof WebAssembly<"u";function Ht(s){if(!Ht.supported)return null;var e=s&&s.imports,t=ds("AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMK00AElgMAIABCADcDACAAQQhqQgA3AwAgAEEQakIANwMAIABBGGpCADcDACAAQSBqQgA3AwAgAEEoakIANwMAIABBMGpCADcDACAAQThqQgA3AwAgAEHAAGpCADcDACAAQcgAakIANwMAIABB0ABqQgA3AwAgAEHYAGpCADcDACAAQeAAakIANwMAIABB6ABqQgA3AwAgAEHwAGpCADcDACAAQfgAakIANwMAIABBgAFqQoiS853/zPmE6gBBACkDAIU3AwAgAEGIAWpCu86qptjQ67O7f0EIKQMAhTcDACAAQZABakKr8NP0r+68tzxBECkDAIU3AwAgAEGYAWpC8e30+KWn/aelf0EYKQMAhTcDACAAQaABakLRhZrv+s+Uh9EAQSApAwCFNwMAIABBqAFqQp/Y+dnCkdqCm39BKCkDAIU3AwAgAEGwAWpC6/qG2r+19sEfQTApAwCFNwMAIABBuAFqQvnC+JuRo7Pw2wBBOCkDAIU3AwAgAEHAAWpCADcDACAAQcgBakIANwMAIABB0AFqQgA3AwALbQEDfyAAQcABaiEDIABByAFqIQQgBCkDAKchBQJAA0AgASACRg0BIAVBgAFGBEAgAyADKQMAIAWtfDcDAEEAIQUgABADCyAAIAVqIAEtAAA6AAAgBUEBaiEFIAFBAWohAQwACwsgBCAFrTcDAAtkAQN/IABBwAFqIQEgAEHIAWohAiABIAEpAwAgAikDAHw3AwAgAEHQAWpCfzcDACACKQMApyEDAkADQCADQYABRg0BIAAgA2pBADoAACADQQFqIQMMAAsLIAIgA603AwAgABADC+U7AiB+CX8gAEGAAWohISAAQYgBaiEiIABBkAFqISMgAEGYAWohJCAAQaABaiElIABBqAFqISYgAEGwAWohJyAAQbgBaiEoICEpAwAhASAiKQMAIQIgIykDACEDICQpAwAhBCAlKQMAIQUgJikDACEGICcpAwAhByAoKQMAIQhCiJLznf/M+YTqACEJQrvOqqbY0Ouzu38hCkKr8NP0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"),r=null,i={buffer:t,memory:null,exports:null,realloc:n,onload:o};return o(function(){}),i;function n(c){i.exports.memory.grow(Math.ceil(Math.abs(c-i.memory.length)/65536)),i.memory=new Uint8Array(i.exports.memory.buffer)}function o(c){if(i.exports)return c();if(r){r.then(c.bind(null,null)).catch(c);return}try{if(s&&s.async)throw new Error("async");A({instance:new WebAssembly.Instance(new WebAssembly.Module(t),e)})}catch{r=WebAssembly.instantiate(t,e).then(A)}o(c)}function A(c){i.exports=c.instance.exports,i.memory=i.exports.memory&&i.exports.memory.buffer&&new Uint8Array(i.exports.memory.buffer)}}function ds(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(ls)):new(hs("buffer")).Buffer(s,"base64")}function ls(s){return s.charCodeAt(0)}var k=Ee,_=us(),T=64,Ct=[];H.exports=v;var Zt=H.exports.BYTES_MIN=16,te=H.exports.BYTES_MAX=64;H.exports.BYTES=32;var ee=H.exports.KEYBYTES_MIN=16,se=H.exports.KEYBYTES_MAX=64;H.exports.KEYBYTES=32;var re=H.exports.SALTBYTES=16,ie=H.exports.PERSONALBYTES=16;function v(s,e,t,r,i){if(!(this instanceof v))return new v(s,e,t,r,i);if(!(_&&_.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(k(s>=Zt,"digestLength must be at least "+Zt+", was given "+s),k(s<=te,"digestLength must be at most "+te+", was given "+s),e!=null&&k(e.length>=ee,"key must be at least "+ee+", was given "+e.length),e!=null&&k(e.length<=se,"key must be at least "+se+", was given "+e.length),t!=null&&k(t.length===re,"salt must be exactly "+re+", was given "+t.length),r!=null&&k(r.length===ie,"personal must be exactly "+ie+", was given "+r.length)),Ct.length||(Ct.push(T),T+=216),this.digestLength=s,this.finalized=!1,this.pointer=Ct.pop(),_.memory.fill(0,0,64),_.memory[0]=this.digestLength,_.memory[1]=e?e.length:0,_.memory[2]=1,_.memory[3]=1,t&&_.memory.set(t,32),r&&_.memory.set(r,48),this.pointer+216>_.memory.length&&_.realloc(this.pointer+216),_.exports.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),_.memory.fill(0,T,T+e.length),_.memory[this.pointer+200]=128)}v.prototype.update=function(s){return k(this.finalized===!1,"Hash instance finalized"),k(s,"input must be TypedArray or Buffer"),T+s.length>_.memory.length&&_.realloc(T+s.length),_.memory.set(s,T),_.exports.blake2b_update(this.pointer,T,T+s.length),this};v.prototype.digest=function(s){if(k(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ct.push(this.pointer),_.exports.blake2b_final(this.pointer),!s||s==="binary")return _.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(s==="hex")return fs(_.memory,this.pointer+128,this.digestLength);k(s.length>=this.digestLength,"input must be TypedArray or Buffer");for(var e=0;e<this.digestLength;e++)s[e]=_.memory[this.pointer+128+e];return s};v.prototype.final=v.prototype.digest;v.WASM=_&&_.buffer;v.SUPPORTED=typeof WebAssembly<"u";v.ready=function(s){if(s||(s=gs),!_)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){_.onload(function(i){i?r():t(),s(i)})});return e};v.prototype.ready=v.ready;function gs(){}function fs(s,e,t){for(var r="",i=0;i<t;i++)r+=_s(s[e+i]);return r}function _s(s){return s<16?"0"+s.toString(16):s.toString(16)}var L=Ee,It=H.exports;function gt(s,e,t){var r=s[e]+s[t],i=s[e+1]+s[t+1];r>=4294967296&&i++,s[e]=r,s[e+1]=i}function ae(s,e,t,r){var i=s[e]+t;t<0&&(i+=4294967296);var n=s[e+1]+r;i>=4294967296&&n++,s[e]=i,s[e+1]=n}function Be(s,e){return s[e]^s[e+1]<<8^s[e+2]<<16^s[e+3]<<24}function G(s,e,t,r,i,n){var o=nt[i],A=nt[i+1],c=nt[n],I=nt[n+1];gt(d,s,e),ae(d,s,o,A);var u=d[r]^d[s],h=d[r+1]^d[s+1];d[r]=h,d[r+1]=u,gt(d,t,r),u=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=u>>>24^h<<8,d[e+1]=h>>>24^u<<8,gt(d,s,e),ae(d,s,c,I),u=d[r]^d[s],h=d[r+1]^d[s+1],d[r]=u>>>16^h<<16,d[r+1]=h>>>16^u<<16,gt(d,t,r),u=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=h>>>31^u<<1,d[e+1]=u>>>31^h<<1}var Qe=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Cs=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],E=new Uint8Array(Cs.map(function(s){return s*2})),d=new Uint32Array(32),nt=new Uint32Array(32);function xe(s,e){var t=0;for(t=0;t<16;t++)d[t]=s.h[t],d[t+16]=Qe[t];for(d[24]=d[24]^s.t,d[25]=d[25]^s.t/4294967296,e&&(d[28]=~d[28],d[29]=~d[29]),t=0;t<32;t++)nt[t]=Be(s.b,4*t);for(t=0;t<12;t++)G(0,8,16,24,E[t*16+0],E[t*16+1]),G(2,10,18,26,E[t*16+2],E[t*16+3]),G(4,12,20,28,E[t*16+4],E[t*16+5]),G(6,14,22,30,E[t*16+6],E[t*16+7]),G(0,10,20,30,E[t*16+8],E[t*16+9]),G(2,12,22,24,E[t*16+10],E[t*16+11]),G(4,14,16,26,E[t*16+12],E[t*16+13]),G(6,8,18,28,E[t*16+14],E[t*16+15]);for(t=0;t<16;t++)s.h[t]=s.h[t]^d[t]^d[t+16]}var R=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function et(s,e,t,r){R.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=s,R[0]=s,e&&(R[1]=e.length),R[2]=1,R[3]=1,t&&R.set(t,32),r&&R.set(r,48);for(var i=0;i<16;i++)this.h[i]=Qe[i]^Be(R,i*4);e&&(Se(this,e),this.c=128)}et.prototype.update=function(s){return L(s!=null,"input must be Uint8Array or Buffer"),Se(this,s),this};et.prototype.digest=function(s){var e=!s||s==="binary"||s==="hex"?new Uint8Array(this.outlen):s;return L(e.length>=this.outlen,"out must have at least outlen bytes of space"),ps(this,e),s==="hex"?ws(e):e};et.prototype.final=et.prototype.digest;et.ready=function(s){It.ready(function(){s()})};function Se(s,e){for(var t=0;t<e.length;t++)s.c===128&&(s.t+=s.c,xe(s,!1),s.c=0),s.b[s.c++]=e[t]}function ps(s,e){for(s.t+=s.c;s.c<128;)s.b[s.c++]=0;xe(s,!0);for(var t=0;t<s.outlen;t++)e[t]=s.h[t>>2]>>8*(t&3);return e}function ws(s){for(var e="",t=0;t<s.length;t++)e+=ys(s[t]);return e}function ys(s){return s<16?"0"+s.toString(16):s.toString(16)}var De=et;S.exports=function(e,t,r,i,n){return n!==!0&&(L(e>=ne,"outlen must be at least "+ne+", was given "+e),L(e<=oe,"outlen must be at most "+oe+", was given "+e),t!=null&&L(t.length>=Ae,"key must be at least "+Ae+", was given "+t.length),t!=null&&L(t.length<=ce,"key must be at most "+ce+", was given "+t.length),r!=null&&L(r.length===Ie,"salt must be exactly "+Ie+", was given "+r.length),i!=null&&L(i.length===he,"personal must be exactly "+he+", was given "+i.length)),new De(e,t,r,i)};S.exports.ready=function(s){It.ready(function(){s()})};S.exports.WASM_SUPPORTED=It.SUPPORTED;S.exports.WASM_LOADED=!1;var ne=S.exports.BYTES_MIN=16,oe=S.exports.BYTES_MAX=64;S.exports.BYTES=32;var Ae=S.exports.KEYBYTES_MIN=16,ce=S.exports.KEYBYTES_MAX=64;S.exports.KEYBYTES=32;var Ie=S.exports.SALTBYTES=16,he=S.exports.PERSONALBYTES=16;It.ready(function(s){s||(S.exports.WASM_LOADED=!0,De=It)});var st={};Object.defineProperty(st,"__esModule",{value:!0});st.bech32m=st.bech32=void 0;const Et="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ve={};for(let s=0;s<Et.length;s++){const e=Et.charAt(s);ve[e]=s}function tt(s){const e=s>>25;return(s&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function ue(s){let e=1;for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+s+")";e=tt(e)^r>>5}e=tt(e);for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);e=tt(e)^r&31}return e}function Pt(s,e,t,r){let i=0,n=0;const o=(1<<t)-1,A=[];for(let c=0;c<s.length;++c)for(i=i<<e|s[c],n+=e;n>=t;)n-=t,A.push(i>>n&o);if(r)n>0&&A.push(i<<t-n&o);else{if(n>=e)return"Excess padding";if(i<<t-n&o)return"Non-zero padding"}return A}function ms(s){return Pt(s,8,5,!0)}function Es(s){const e=Pt(s,5,8,!1);if(Array.isArray(e))return e}function Bs(s){const e=Pt(s,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function be(s){let e;s==="bech32"?e=1:e=734539939;function t(o,A,c){if(c=c||90,o.length+7+A.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let I=ue(o);if(typeof I=="string")throw new Error(I);let u=o+"1";for(let h=0;h<A.length;++h){const C=A[h];if(C>>5!==0)throw new Error("Non 5-bit word");I=tt(I)^C,u+=Et.charAt(C)}for(let h=0;h<6;++h)I=tt(I);I^=e;for(let h=0;h<6;++h){const C=I>>(5-h)*5&31;u+=Et.charAt(C)}return u}function r(o,A){if(A=A||90,o.length<8)return o+" too short";if(o.length>A)return"Exceeds length limit";const c=o.toLowerCase(),I=o.toUpperCase();if(o!==c&&o!==I)return"Mixed-case string "+o;o=c;const u=o.lastIndexOf("1");if(u===-1)return"No separator character for "+o;if(u===0)return"Missing prefix for "+o;const h=o.slice(0,u),C=o.slice(u+1);if(C.length<6)return"Data too short";let B=ue(h);if(typeof B=="string")return B;const W=[];for(let P=0;P<C.length;++P){const Y=C.charAt(P),g=ve[Y];if(g===void 0)return"Unknown character "+Y;B=tt(B)^g,!(P+6>=C.length)&&W.push(g)}return B!==e?"Invalid checksum for "+o:{prefix:h,words:W}}function i(o,A){const c=r(o,A);if(typeof c=="object")return c}function n(o,A){const c=r(o,A);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:n,encode:t,toWords:ms,fromWordsUnsafe:Es,fromWords:Bs}}st.bech32=be("bech32");st.bech32m=be("bech32m");var Qs=Xt&&Xt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(me,"__esModule",{value:!0});const xs=Qs(S.exports),ft=st,vt="asset";class ct{constructor(e){this.hashBuf=e}static fromHash(e){return new ct(e)}static fromParts(e,t){const r=(0,xs.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return ct.fromHash(r)}static fromBech32(e){const{prefix:t,words:r}=ft.bech32.decode(e);if(t!==vt)throw new Error("Invalid asset fingerprint");const i=Buffer.from(ft.bech32.fromWords(r));return ct.fromHash(i)}fingerprint(){const e=ft.bech32.toWords(this.hashBuf);return ft.bech32.encode(vt,e)}hash(){return Buffer.from(this.hashBuf).toString("hex")}prefix(){return vt}checksum(){return this.fingerprint().slice(-6)}}var Ss=me.default=ct;const Ds=Ss,vs=(s,e)=>{const t=Ge(s),r=t.derive(Dt+1852).derive(Dt+1815).derive(Dt+e),i=r.derive(0).derive(0).to_raw_key(),n=r.derive(2).derive(0).to_raw_key();return r.free(),t.free(),{paymentKey:i,stakeKey:n}},bs=s=>{const e=j(s);return a.hash_plutus_data(e).to_hex()},Ks=(s,e=Date.now())=>{if(pt[s]){const[t,r,i,n]=pt[s];return parseInt(a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).div_floor(a.BigNum.from_str(n)).checked_add(a.BigNum.from_str(t)).to_str(),10)}throw new Error(`Couldn't resolve EpochNo for network: ${s}`)},Ke=(s,e)=>Ds.fromParts(f(s),f(e)).fingerprint(),Us=(s,e)=>Ye[s][e],ks=s=>xt(s).hash().to_hex(),J=s=>{var e,t;try{const r=[(e=Ft(s))==null?void 0:e.payment_cred().to_keyhash(),(t=le(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve payment key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolvePaymentKeyHash: ${r}.`)}},Fs=(s,e=0)=>{const t=wt(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Ns=s=>{try{const e=le(s),t=e==null?void 0:e.payment_cred().to_scripthash();if(t!==void 0)return t.to_hex();throw new Error(`Couldn't resolve script hash from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveScriptHash: ${e}.`)}},Hs=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),Ps=s=>{const e=bt.mnemonicToEntropy(s.join(" ")),t=_e(e),r=t.to_bech32();return t.free(),r},Ms=s=>ht(s).to_hex(),Ts=(s,e=Date.now())=>{if(pt[s]){const[t,r,i]=pt[s];return a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).checked_add(a.BigNum.from_str(r)).to_str()}throw new Error(`Couldn't resolve SlotNo for network: ${s}`)},St=s=>{try{const e=N(s),t=Ft(s),r=t==null?void 0:t.stake_cred().to_keyhash();if(r!==void 0)return Ut(e.network_id(),r).to_address().to_bech32();throw new Error(`Couldn't resolve reward address from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveRewardAddress: ${e}.`)}},ot=s=>{var e,t;try{const r=[(e=Ft(s))==null?void 0:e.stake_cred().to_keyhash(),(t=ge(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve stake key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolveStakeKeyHash: ${r}.`)}},Mt=(s,e=V.minFeeA,t=V.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),Ue=s=>{const e=$(s).body();return a.hash_transaction(e).to_hex()};class Vs{_axiosInstance;constructor(e,t=0){const r=e.slice(0,7);this._axiosInstance=rt.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${t}`,headers:{project_id:e}})}async fetchAccountInfo(e){const t=e.startsWith("addr")?St(e):e;try{const{data:r,status:i}=await this._axiosInstance.get(`accounts/${t}`);if(i===200)return{poolId:r.pool_id,active:r.active||r.active_epoch!==null,balance:r.controlled_amount,rewards:r.withdrawable_amount,withdrawals:r.withdrawals_sum};throw l(r)}catch(r){throw l(r)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/${t}`:"",i=`addresses/${e}/utxos`+r,n=async(c=1,I=[])=>{const{data:u,status:h}=await this._axiosInstance.get(`${i}?page=${c}`);if(h===200)return u.length>0?n(c+1,[...I,...await Promise.all(u.map(A))]):I;throw l(u)},o=async c=>{if(c){const{data:I,status:u}=await this._axiosInstance.get(`scripts/${c}`);if(u===200){const h=I.type.startsWith("plutus")?{code:await this.fetchPlutusScriptCBOR(c),version:I.type.replace("plutus","")}:await this.fetchNativeScriptJSON(c);return ht(h).to_hex()}throw l(I)}},A=async c=>({input:{outputIndex:c.output_index,txHash:c.tx_hash},output:{address:e,amount:c.amount,dataHash:c.data_hash??void 0,plutusData:c.inline_datum??void 0,scriptRef:await o(c.reference_script_hash)}});try{return await n()}catch{return[]}}async fetchAssetAddresses(e){const t=async(r=1,i=[])=>{const{data:n,status:o}=await this._axiosInstance.get(`assets/${e}/addresses?page=${r}`);if(o===200)return n.length>0?t(r+1,[...i,...n]):i;throw l(n)};try{return await t()}catch{return[]}}async fetchAssetMetadata(e){try{const{data:t,status:r}=await this._axiosInstance.get(`assets/${e}`);if(r===200)return{...t.onchain_metadata};throw l(t)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${kt[1]}${t}/addresses`);if(i===200)return r[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e=Number.NaN){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${isNaN(e)?"latest":e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_word,collateralPercent:t.collateral_percent,decentralisation:t.decentralisation_param,epoch:t.epoch,keyDeposit:t.key_deposit,maxBlockExMem:t.max_block_ex_mem,maxBlockExSteps:t.max_block_ex_steps,maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem,maxTxExSteps:t.max_tx_ex_steps,maxTxSize:t.max_tx_size,maxValSize:t.max_val_size,minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost,poolDeposit:t.pool_deposit,priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("tx/submit",f(e),{headers:t});if(i===200)return r;throw l(r)}catch(t){throw l(t)}}async fetchPlutusScriptCBOR(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/cbor`);if(r===200)return t.cbor;throw l(t)}async fetchNativeScriptJSON(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/json`);if(r===200)return t.json;throw l(t)}}class Os{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=rt.default.create({baseURL:`https://${i}:${n}/api/v${o}`,auth:{username:e,password:t}})}async uploadContent(e,t=!1){try{const r={"Content-Type":"multipart/form-data"},{data:i,status:n}=await this._axiosInstance.post(`add?recursive=${t}`,e,{headers:r});if(n===200)return i;throw l(i)}catch(r){throw l(r)}}}class Ys{_axiosInstance;constructor(e,t=0){this._axiosInstance=rt.default.create({baseURL:`https://${e}.koios.rest/api/v${t}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?St(e):e,{data:r,status:i}=await this._axiosInstance.post("account_info",{_stake_addresses:[t]});if(i===200)return{poolId:r[0].delegated_pool,active:r[0].status==="registered",balance:r[0].total_balance.toString(),rewards:r[0].rewards_available,withdrawals:r[0].withdrawals};throw l(r)}catch(t){throw l(t)}}async fetchAddressUTxOs(e,t){const r=i=>{if(i){const n=i.type.startsWith("plutus")?{code:i.bytes,version:i.type.replace("plutus","")}:Qt(At(i.bytes));return ht(n).to_hex()}};try{const{data:i,status:n}=await this._axiosInstance.post("address_info",{_addresses:[e]});if(n===200){const o=i.flatMap(A=>A.utxo_set).map(A=>{var c;return{input:{outputIndex:A.tx_index,txHash:A.tx_hash},output:{address:e,amount:[{unit:"lovelace",quantity:A.value},...A.asset_list.map(I=>({unit:`${I.policy_id}${I.asset_name}`,quantity:`${I.quantity}`}))],dataHash:A.datum_hash??void 0,plutusData:((c=A.inline_datum)==null?void 0:c.bytes)??void 0,scriptRef:r(A.reference_script)}}});return t!==void 0?o.filter(A=>A.output.amount.find(c=>c.unit===t)!==void 0):o}throw l(i)}catch{return[]}}async fetchAssetAddresses(e){try{const t=e.slice(0,x),r=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:i,status:n}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${t}&_asset_name=${r}`);if(n===200)return i.map(o=>({address:o.payment_address,quantity:o.quantity}));throw l(i)}catch(t){throw l(t)}}async fetchAssetMetadata(e){try{const t=e.slice(0,x),r=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:i,status:n}=await this._axiosInstance.get(`asset_info?_asset_policy=${t}&_asset_name=${r}`);if(n===200)return{...i[0].minting_tx_metadata[721][t][Nt(r)]};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${kt[1]}&_asset_name=${t}`);if(i===200)return r[0].payment_address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epoch_params?_epoch_no=${e}`);if(r===200)return{coinsPerUTxOSize:t[0].coins_per_utxo_size,collateralPercent:t[0].collateral_percent,decentralisation:t[0].decentralisation,epoch:t[0].epoch_no,keyDeposit:t[0].key_deposit,maxBlockExMem:t[0].max_block_ex_mem.toString(),maxBlockExSteps:t[0].max_block_ex_steps.toString(),maxBlockHeaderSize:t[0].max_bh_size,maxBlockSize:t[0].max_block_size,maxCollateralInputs:t[0].max_collateral_inputs,maxTxExMem:t[0].max_tx_ex_mem.toString(),maxTxExSteps:t[0].max_tx_ex_steps.toString(),maxTxSize:t[0].max_tx_size,maxValSize:t[0].max_val_size.toString(),minFeeA:t[0].min_fee_a,minFeeB:t[0].min_fee_b,minPoolCost:t[0].min_pool_cost,poolDeposit:t[0].pool_deposit,priceMem:t[0].price_mem,priceStep:t[0].price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("submittx",f(e),{headers:t});if(i===202)return r;throw l(r)}catch(t){throw l(t)}}}class Gs{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=rt.default.create({baseURL:`https://cardano-${e}.tangocrypto.com/${t}/v${i}`,headers:{"x-api-key":r}})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?St(e):e,{data:r,status:i}=await this._axiosInstance.get(`wallets/${t}`);if(i===200)return{poolId:r.pool_id,active:r.active,balance:r.controlled_total_stake,rewards:r.rewards_sum,withdrawals:r.withdrawals_sum};throw l(r)}catch(t){throw l(t)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/assets/${t}`:"",i=`addresses/${e}${r}/utxos?size=50`,n=async(I="",u=[])=>{var B;const{data:h,status:C}=await this._axiosInstance.get(`${i}&cursor=${I}`);if(C===200)return h.cursor!==null&&((B=h.cursor)==null?void 0:B.length)>0?n(h.cursor,[...u,...h.data.map(c)]):h.data.map(c);throw l(h)},o=(I,u)=>{const h=[{unit:"lovelace",quantity:I.toString()}];return u.forEach(C=>{const B=D(C.asset_name);h.push({unit:`${C.policy_id}${B}`,quantity:C.quantity.toString()})}),h},A=I=>{if(I){const u=I.type.startsWith("plutus")?{code:I.code,version:I.type.replace("plutus","")}:Qt(At(I.json));return ht(u).to_hex()}},c=I=>{var u;return{input:{outputIndex:I.index,txHash:I.hash},output:{address:e,amount:o(I.value,I.assets),dataHash:void 0,plutusData:((u=I.inline_datum)==null?void 0:u.value_raw)??void 0,scriptRef:A(I.reference_script)}}};try{return await n()}catch{return[]}}async fetchAssetAddresses(e){const t=i=>({address:i.address,quantity:i.quantity.toString()}),r=async(i="",n=[])=>{var c;const{data:o,status:A}=await this._axiosInstance.get(`assets/${e}/addresses?size=100&cursor=${i}`);if(A===200)return o.cursor!==null&&((c=o.cursor)==null?void 0:c.length)>0?r(o.cursor,[...n,...o.data.map(t)]):o.data.map(t);throw l(o)};try{return await r()}catch{return[]}}async fetchAssetMetadata(e){var t;try{const r=e.slice(0,x),i=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:n,status:o}=await this._axiosInstance.get(`assets/${e}`);if(o===200)return{...(t=n.metadata[0])==null?void 0:t.json[r][Nt(i)]};throw l(n)}catch(r){throw l(r)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${kt[1]}${t}/addresses`);if(i===200)return r.data[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_size.toString(),collateralPercent:t.collateral_percent,decentralisation:t.decentralisation,epoch:t.epoch_no,keyDeposit:t.key_deposit.toString(),maxBlockExMem:t.max_block_ex_mem.toString(),maxBlockExSteps:t.max_block_ex_steps.toString(),maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem.toString(),maxTxExSteps:t.max_tx_ex_steps.toString(),maxTxSize:t.max_tx_size,maxValSize:t.max_val_size.toString(),minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost.toString(),poolDeposit:t.pool_deposit.toString(),priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/json"},{data:r,status:i}=await this._axiosInstance.post("transactions/submit",{tx:e},{headers:t});if(i===200)return r.tx_id;throw l(r)}catch(t){throw l(t)}}}class Rs{static withOneSignature(e){const t=F(J(e));return dt(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=F(J(n));r.add(dt(o))});const i=a.ScriptNOfK.new(t,r);return a.NativeScript.new_script_any(i).to_hex()}static withAnySignature(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(J(i));t.add(dt(n))});const r=a.ScriptAny.new(t);return a.NativeScript.new_script_any(r).to_hex()}static withAllSignatures(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(J(i));t.add(dt(n))});const r=a.ScriptAll.new(t);return a.NativeScript.new_script_any(r).to_hex()}static fromNativeScript(e){return xt(e).to_hex()}}function z(s,e,t,r){var i=arguments.length,n=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,r);else for(var A=s.length-1;A>=0;A--)(o=s[A])&&(n=(i<3?o(n):i>3?o(e,t,n):o(e,t))||n);return i>3&&n&&Object.defineProperty(e,t,n),n}const Ls=s=>class extends s{__visits=[]},Z=()=>function(s,e,t){const r=t.value;t.value=function(...i){const n=r.call(this,...i);return this.__visits&&this.__visits.push(e),n}};exports.Transaction=class{_changeAddress;_recipients=new Map;_totalBurns=new Map;_totalMints=new Map;_era;_initiator;_protocolParameters;_txBuilder;_txCertificates;_txInputsBuilder;_txWithdrawals;constructor(e={}){this._era=e.era,this._initiator=e.initiator,this._protocolParameters=e.parameters??V,this._txBuilder=ss(e.parameters),this._txCertificates=a.Certificates.new(),this._txInputsBuilder=a.TxInputsBuilder.new(),this._txWithdrawals=a.Withdrawals.new()}static maskMetadata(e){var i;const t=$(e),r=(i=t.auxiliary_data())==null?void 0:i.metadata();if(r!==void 0){const n=a.GeneralTransactionMetadata.new();for(let A=0;A<r.len();A+=1){const c=r.keys().get(A),I=r.get(c);n.insert(c,a.TransactionMetadatum.from_hex("0".repeat(((I==null?void 0:I.to_hex())??"").length)))}const o=t.auxiliary_data();return o==null||o.set_metadata(n),a.Transaction.new(t.body(),t.witness_set(),o).to_hex()}return e}static readMetadata(e){var r,i;return((i=(r=$(e).auxiliary_data())==null?void 0:r.metadata())==null?void 0:i.to_hex())??""}static writeMetadata(e,t){const r=$(e),i=r.auxiliary_data()??a.AuxiliaryData.new();return i.set_metadata(a.GeneralTransactionMetadata.from_hex(t)),a.Transaction.new(r.body(),r.witness_set(),i).to_hex()}get size(){return this._txBuilder.full_size()}async build(){try{return this.notVisited("redeemValue")===!1&&(await this.addRequiredSignersIfNeeded(),await this.addCollateralIfNeeded()),await this.forgeAssetsIfNeeded(),await this.addTxInputsAsNeeded(),await this.addChangeAddress(),this._txBuilder.build_tx().to_hex()}catch(e){throw new Error(`[Transaction] An error occurred during build: ${e}.`)}}burnAsset(e,t){const r=this._totalBurns.has(t.unit)?a.BigNum.from_str(this._totalBurns.get(t.unit)??"0").checked_add(a.BigNum.from_str(t.quantity)).to_str():t.quantity;return this._txBuilder.add_mint_asset(At(e),a.AssetName.new(f(t.unit.slice(x))),a.Int.new_negative(a.BigNum.from_str(t.quantity))),this._totalBurns.set(t.unit,r),this}delegateStake(e,t){const r=a.Certificate.new_stake_delegation(a.StakeDelegation.new(a.StakeCredential.from_keyhash(F(ot(e))),a.Ed25519KeyHash.from_bech32(t)));return this._txCertificates.add(r),this}deregisterStake(e){const t=a.Certificate.new_stake_deregistration(a.StakeDeregistration.new(a.StakeCredential.from_keyhash(F(ot(e)))));return this._txCertificates.add(t),this}mintAsset(e,t){var A,c;const i=((I,u)=>{const h=At(I).hash().to_hex(),C=D(u.assetName);return{unit:`${h}${C}`,quantity:u.assetQuantity}})(e,t),o=a.BigNum.from_str(((A=this._totalMints.get(i.unit))==null?void 0:A.assetQuantity)??"0").checked_add(a.BigNum.from_str(i.quantity));return this._txBuilder.add_mint_asset(At(e),a.AssetName.new(f(D(t.assetName))),a.Int.new(a.BigNum.from_str(i.quantity))),this._recipients.has(t.recipient)?(c=this._recipients.get(t.recipient))==null||c.push(i):this._recipients.set(t.recipient,[i]),this._totalMints.set(i.unit,{...t,assetQuantity:o.to_str()}),this}redeemValue(e){if("assetName"in e.value)throw new Error("Plutus Minting is not implemented yet...");const t={tag:"SPEND",budget:Ve,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=q(e.value),i=a.PlutusWitness.new_with_ref(es(e.script),ts(e.datum),je(t));return this._txInputsBuilder.add_plutus_script_input(i,r.input(),r.output().amount()),this}registerStake(e){const t=a.Certificate.new_stake_registration(a.StakeRegistration.new(a.StakeCredential.from_keyhash(F(ot(e)))));return this._txCertificates.add(t),this}registerPool(e){const t=a.Certificate.new_pool_registration(a.PoolRegistration.new(Je(e)));return this._txCertificates.add(t),this}retirePool(e,t){const r=a.Certificate.new_pool_retirement(a.PoolRetirement.new(a.Ed25519KeyHash.from_bech32(e),t));return this._txCertificates.add(r),this}sendAssets(e,t){const r=_t(t),i=r.multiasset();if(r.is_zero()||i===void 0)return this;const o=lt(e).next().with_asset_and_min_required_coin_by_utxo_cost(i,Wt(this._protocolParameters.coinsPerUTxOSize)).build();return this._txBuilder.add_output(o),this}sendLovelace(e,t){const i=lt(e).next().with_coin(a.BigNum.from_str(t)).build();return this._txBuilder.add_output(i),this}sendValue(e,t){const r=_t(t.output.amount),n=lt(e).next().with_value(r).build();return this._txBuilder.add_output(n),this}setChangeAddress(e){return this._changeAddress=N(e),this}setCollateral(e){const t=jt(e);return this._txBuilder.set_collateral(t),this}setMetadata(e,t){return this._txBuilder.add_json_metadatum_with_schema(a.BigNum.from_str(e.toString()),JSON.stringify(t),a.MetadataJsonSchema.NoConversions),this}setRequiredSigners(e){return Array.from(new Set(e.map(r=>r.startsWith("addr")?J(r):ot(r)).map(r=>F(r)))).forEach(r=>{this._txBuilder.add_required_signer(r)}),this}setTimeToStart(e){return this._txBuilder.set_validity_start_interval_bignum(a.BigNum.from_str(e)),this}setTimeToExpire(e){return this._txBuilder.set_ttl_bignum(a.BigNum.from_str(e)),this}setTxInputs(e){return e.map(t=>q(t)).forEach(t=>{this._txInputsBuilder.add_input(t.output().address(),t.input(),t.output().amount())}),this}withdrawRewards(e,t){const r=ge(e);return r!==void 0&&this._txWithdrawals.insert(r,a.BigNum.from_str(t)),this}async addBurnInputsIfNeeded(){if(this._initiator&&this._totalBurns.size>0&&this.notVisited("setTxInputs")){const e=await this._initiator.getUsedUTxOs();pe(this._totalBurns,e.map(r=>yt(r))).map(r=>q(r)).forEach(r=>{this._txInputsBuilder.add_input(r.output().address(),r.input(),r.output().amount())})}}async addChangeAddress(){if(this._initiator&&this._changeAddress===void 0){const e=await this._initiator.getUsedAddress();this._txBuilder.add_change_if_needed(e)}else this._changeAddress!==void 0&&this._txBuilder.add_change_if_needed(this._changeAddress)}async addCollateralIfNeeded(){if(this._initiator&&this.notVisited("setCollateral")){const e=await this._initiator.getUsedCollateral();this._txBuilder.set_collateral(jt(e))}}async addRequiredSignersIfNeeded(){if(this._initiator&&this.notVisited("setRequiredSigners")){const e=await this._initiator.getUsedAddress(),t=J(e.to_bech32());this._txBuilder.add_required_signer(F(t))}}async addTxInputsAsNeeded(){if(this._txBuilder.set_inputs(this._txInputsBuilder),this._txCertificates.len()>0&&this._txBuilder.set_certs(this._txCertificates),this._txWithdrawals.len()>0&&this._txBuilder.set_withdrawals(this._txWithdrawals),this.notVisited("setTxInputs")){const e=!this.notVisited("mintAsset")||!this.notVisited("sendAssets")||!this.notVisited("sendValue"),t=await this.selectLovelaceUTxOs(!1),r=await this.filterAvailableUTxOs(t),i=e?a.CoinSelectionStrategyCIP2.LargestFirstMultiAsset:a.CoinSelectionStrategyCIP2.LargestFirst;this._txBuilder.add_inputs_from(r,i)}if(this.notVisited("redeemValue")===!1){const e=this._era!==void 0?Rt[this._era]:Rt.BABBAGE;this._txBuilder.calc_script_data_hash(e)}}async forgeAssetsIfNeeded(){const e=(t,r)=>{const i=t.data.assetName,n=t.data.metadata,o=t.unit.slice(0,x);if(r&&r[o]){const{[o]:A,...c}=r,I={[i]:n,...A};return{[o]:{...I},...c}}return r!==void 0?{[o]:{[i]:n},...r}:{[o]:{[i]:n}}};await this.addBurnInputsIfNeeded(),Array.from(this._totalMints,t=>({unit:t[0],data:t[1]})).reduce((t,r)=>t.set(r.data.label,e(r,t.get(r.data.label))),new Map).forEach((t,r)=>{this._txBuilder.add_json_metadatum(a.BigNum.from_str(r),JSON.stringify(t))}),this.addMintOutputs()}async filterAvailableUTxOs(e=[]){const t=a.TransactionUnspentOutputs.new();return this._initiator===void 0||(await this._initiator.getUsedUTxOs()).filter(i=>e.find(n=>n.input.txHash===i.input().transaction_id().to_hex())===void 0).forEach(i=>{t.add(i)}),t}async selectLovelaceUTxOs(e){if(this._initiator===void 0||e===!1)return[];const t=await this._initiator.getUsedUTxOs(),r=Ce("5000000",t.map(n=>yt(n)));return r.map(n=>q(n)).forEach(n=>{this._txBuilder.add_input(n.output().address(),n.input(),n.output().amount())}),r}addMintOutputs(){this._recipients.forEach((e,t)=>{const i=_t(e).multiasset();if(i!==void 0){const o=lt(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,Wt(this._protocolParameters.coinsPerUTxOSize)).build();this._txBuilder.add_output(o)}})}notVisited(e){return this.__visits.includes(e)===!1}};z([Z()],exports.Transaction.prototype,"mintAsset",null);z([Z()],exports.Transaction.prototype,"redeemValue",null);z([Z()],exports.Transaction.prototype,"sendAssets",null);z([Z()],exports.Transaction.prototype,"sendValue",null);z([Z()],exports.Transaction.prototype,"setCollateral",null);z([Z()],exports.Transaction.prototype,"setRequiredSigners",null);z([Z()],exports.Transaction.prototype,"setTxInputs",null);exports.Transaction=z([Ls],exports.Transaction);const ke=(s,e)=>{const t=s.vkeys();if(t!==void 0){const r=new Set;for(let n=0;n<t.len();n+=1)r.add(t.get(n).to_hex());for(let n=0;n<e.len();n+=1)r.add(e.get(n).to_hex());const i=a.Vkeywitnesses.new();return r.forEach(n=>{i.add(a.Vkeywitness.from_hex(n))}),i}return e};class w{_networkId;_encryptedSecret;constructor(e,t){this._networkId=e,this._encryptedSecret=t}getAccount(e,t){return this.accountContext(e,t,(r,i)=>{const n=zt(this._networkId,r.to_public().hash(),i.to_public().hash()).to_address().to_bech32(),o=Jt(this._networkId,r.to_public().hash()).to_address().to_bech32(),A=Ut(this._networkId,i.to_public().hash()).to_address().to_bech32();return{baseAddress:n,enterpriseAddress:o,rewardAddress:A}})}signData(e,t,r,i){try{return this.accountContext(e,t,(n,o)=>{const A={payload:i},c={address:w.resolveAddress(this._networkId,r,n,o),key:r.startsWith("stake")?o:n},{coseSign1:I,coseKey:u}=as(A,c);return{signature:I,key:u}})}catch(n){throw new Error(`An error occurred during signData: ${n}.`)}}signTx(e,t,r,i,n){try{const o=de(Ue(i));return this.accountContext(e,t,(A,c)=>{const I=a.Vkeywitnesses.new();return w.resolveSigners(i,r,A.to_public().hash().to_hex()).forEach(h=>{if(h===A.to_public().hash().to_hex())I.add(a.make_vkey_witness(o,A));else if(h===c.to_public().hash().to_hex())I.add(a.make_vkey_witness(o,c));else if(n===!1)throw new Error(`Missing key witness for: ${h}`)}),I})}catch(o){throw new Error(`An error occurred during signTx: ${o}.`)}}static encryptMnemonic(e,t){const r=bt.mnemonicToEntropy(e.join(" ")),i=_e(r),n=X(i.as_bytes());return i.free(),w.encrypt(n,t)}static encryptPrivateKey(e,t){const r=a.Bip32PrivateKey.from_bech32(e),i=X(r.as_bytes());return r.free(),w.encrypt(i,t)}static encryptSigningKeys(e,t,r){const i=w.encrypt(e.slice(4),r),n=w.encrypt(t.slice(4),r);return[i,n]}static generateMnemonic(e=256){return bt.generateMnemonic(e).split(" ")}accountContext(e,t,r){const{paymentKey:i,stakeKey:n}=w.resolveKeys(e,t,this._encryptedSecret),o=r(i,n);return i.free(),n.free(),o}static decrypt(e,t){try{return a.decrypt_with_password(D(t),e)}catch{throw new Error("The password is incorrect.")}}static encrypt(e,t){const r=Pe.customAlphabet("0123456789abcdef"),i=r(64),n=r(24);return a.encrypt_with_password(D(t),i,n,e)}static resolveAddress(e,t,r,i){const n=[zt(e,r.to_public().hash(),i.to_public().hash()),Jt(e,r.to_public().hash()),Ut(e,i.to_public().hash())].find(o=>o.to_address().to_bech32()===t);if(n!==void 0)return n.to_address();throw new Error(`Address: ${t} doesn't belong to this account.`)}static resolveKeys(e,t,r){if(typeof r=="string"){const o=w.decrypt(r,t);return vs(o,e)}const i=w.decrypt(r[0],t),n=w.decrypt(r[1],t);return{paymentKey:a.PrivateKey.from_hex(i),stakeKey:a.PrivateKey.from_hex(n)}}static resolveSigners(e,t,r){const i=A=>{const c=(g,Q=[],m=0)=>{var ut,it,Tt,Vt,Ot;if(g===void 0||m>=g.len())return Q;const b=g.get(m),K=new Array;switch(b.kind()){case a.CertificateKind.StakeDeregistration:{const y=(ut=b.as_stake_deregistration())==null?void 0:ut.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&K.push(M.to_hex());break}case a.CertificateKind.StakeDelegation:{const y=(it=b.as_stake_delegation())==null?void 0:it.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&K.push(M.to_hex());break}case a.CertificateKind.PoolRegistration:{const y=(Tt=b.as_pool_registration())==null?void 0:Tt.pool_params().pool_owners();K.push(...u(y));break}case a.CertificateKind.PoolRetirement:{const y=(Vt=b.as_pool_retirement())==null?void 0:Vt.pool_keyhash();y&&K.push(y.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const y=(Ot=b.as_move_instantaneous_rewards_cert())==null?void 0:Ot.move_instantaneous_reward().as_to_stake_creds();if(y)for(let M=0;M<y.len();M+=1){const Yt=y.keys().get(M),Gt=Yt.kind()===a.StakeCredKind.Key?Yt.to_keyhash():void 0;Gt&&K.push(Gt.to_hex())}break}}return c(g,[...Q,...K],m+1)},I=(g,Q=[],m=0)=>{if(g===void 0||m>=g.len())return Q;const b=g.get(m).index(),K=g.get(m).transaction_id(),ut=t.find(it=>it.input.outputIndex===b&&it.input.txHash===K.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return I(g,[...Q,ut],m+1)},u=(g,Q=[],m=0)=>g===void 0||m>=g.len()?Q:u(g,[...Q,g.get(m).to_hex()],m+1),h=(g,Q=[],m=0)=>{if(g===void 0||m>=g.len())return Q;const b=g.keys().get(m).payment_cred(),K=b.kind()===a.StakeCredKind.Key?b.to_keyhash():void 0;return h(g,K?[...Q,K.to_hex()]:Q,m+1)},C=A.certs(),B=A.collateral(),W=A.inputs(),P=A.required_signers(),Y=A.withdrawals();return[...c(C),...I(B),...I(W),...u(P),...h(Y)]},n=A=>{const c=(u,h=[])=>{var C,B,W,P;if(u)for(let Y=0;Y<u.len();Y+=1){const g=u.get(Y);switch(g.kind()){case a.NativeScriptKind.ScriptPubkey:{const Q=(C=g.as_script_pubkey())==null?void 0:C.addr_keyhash().to_hex();return Q?[...h,Q]:h}case a.NativeScriptKind.ScriptAll:return c((B=g.as_script_all())==null?void 0:B.native_scripts(),h);case a.NativeScriptKind.ScriptAny:return c((W=g.as_script_any())==null?void 0:W.native_scripts(),h);case a.NativeScriptKind.ScriptNOfK:return c((P=g.as_script_n_of_k())==null?void 0:P.native_scripts(),h)}}return h},I=A.native_scripts();return[...c(I)]},o=$(e);return new Set([...i(o.body()),...n(o.witness_set())])}}const U="MARI0TIME";class qs{_fetcher;_submitter;_wallet;constructor(e){switch(this._fetcher=e.fetcher,this._submitter=e.submitter,e.key.type){case"mnemonic":this._wallet=new w(e.networkId,w.encryptMnemonic(e.key.words,U));break;case"root":this._wallet=new w(e.networkId,w.encryptPrivateKey(e.key.bech32,U));break;case"cli":this._wallet=new w(e.networkId,w.encryptSigningKeys(e.key.payment,e.key.stake??"f0".repeat(34),U))}}getPaymentAddress(e=0){return this._wallet.getAccount(e,U).enterpriseAddress}getRewardAddress(e=0){return this._wallet.getAccount(e,U).rewardAddress}getUsedAddress(e=0){const t=this._wallet.getAccount(e,U);return N(t.enterpriseAddress)}getUsedCollateral(e=V.maxCollateralInputs){throw new Error("getUsedCollateral not implemented.")}async getUsedUTxOs(e=0){const t=this._wallet.getAccount(e,U);return(await this._fetcher.fetchAddressUTxOs(t.enterpriseAddress)).map(i=>q(i))}signData(e,t,r=0){try{return this._wallet.signData(r,U,e,t)}catch(i){throw new Error(`[AppWallet] An error occurred during signData: ${i}.`)}}async signTx(e,t=!1,r=0){try{const i=this._wallet.getAccount(r,U),n=await this._fetcher.fetchAddressUTxOs(i.enterpriseAddress),o=this._wallet.signTx(r,U,n,e,t),A=$(e),c=A.witness_set(),I=ke(c,o);return c.set_vkeys(I),a.Transaction.new(A.body(),c,A.auxiliary_data()).to_hex()}catch(i){throw new Error(`[AppWallet] An error occurred during signTx: ${i}.`)}}submitTx(e){return this._submitter.submitTx(e)}static brew(e=256){return w.generateMnemonic(e)}}class Bt{_walletInstance;constructor(e){this._walletInstance=e}static getInstalledWallets(){return window.cardano===void 0?[]:Lt.filter(e=>window.cardano[e]!==void 0).map(e=>({name:window.cardano[e].name,icon:window.cardano[e].icon,version:window.cardano[e].apiVersion}))}static async enable(e){try{const t=await Bt.resolveInstance(e);if(t!==void 0)return new Bt(t);throw new Error(`Couldn't create an instance of wallet: ${e}`)}catch(t){throw new Error(`[BrowserWallet] An error occurred during enable: ${t}.`)}}async getBalance(){const e=await this._walletInstance.getBalance();return fe(We(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return at(e).to_bech32()}async getCollateral(e=V.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>yt(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>at(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>at(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>at(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>yt(t))}signData(e,t){const r=N(e).to_hex();return this._walletInstance.signData(r,D(t))}async signTx(e,t=!1){try{const r=$(e),i=r.witness_set(),n=await this._walletInstance.signTx(e,t),o=ze(n).vkeys()??a.Vkeywitnesses.new(),A=ke(i,o);return i.set_vkeys(A),X(a.Transaction.new(r.body(),i,r.auxiliary_data()).to_bytes())}catch(r){throw new Error(`[BrowserWallet] An error occurred during signTx: ${JSON.stringify(r)}.`)}}submitTx(e){return this._walletInstance.submitTx(e)}async getUsedAddress(){const e=await this._walletInstance.getUsedAddresses();return at(e[0])}async getUsedCollateral(e=V.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>qt(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>qt(t))}async getAssets(){return(await this.getBalance()).filter(t=>t.unit!=="lovelace").map(t=>{const r=t.unit.slice(0,x),i=t.unit.slice(x),n=Ke(r,i);return{unit:t.unit,policyId:r,assetName:Nt(i),fingerprint:n,quantity:t.quantity}})}async getLovelace(){const t=(await this.getBalance()).find(r=>r.unit==="lovelace");return t!==void 0?t.quantity:"0"}async getPolicyIdAssets(e){return(await this.getAssets()).filter(r=>r.policyId===e)}async getPolicyIds(){const e=await this.getBalance();return Array.from(new Set(e.map(t=>t.unit.slice(0,x)))).filter(t=>t!=="lovelace")}static resolveInstance(e){if(window.cardano===void 0)return;const t=Lt.map(r=>window.cardano[r]).filter(r=>r!==void 0).find(r=>r.name.toLowerCase()===e.toLowerCase());return t==null?void 0:t.enable()}}const Fe="http://localhost:4000/",$s="http://localhost:5000/",zs=`${Fe}access`,Ws=`${Fe}transaction/signtx`;class Js{static getAxiosInstance(){return rt.default.create({baseURL:$s,withCredentials:!0})}static getAppId(){return window.location.hostname}static async openMinaFrontend(e){const t=this.getAppId();e.includes("?")?e=`${e}&appId=${t}`:e=`${e}?appId=${t}`;const r="left=100,top=100,width=540,height=540",i=window.open(e,"meshWindow",r);return i||console.error("the window did not open",i),await(async()=>new Promise(n=>{window.addEventListener("message",async o=>{o.data.target=="minaWallet"&&n(o.data)})}))()}static async get(e,t={}){const r=this.getAppId();t={...t,appId:r};try{return(await this.getAxiosInstance().get(e,{params:t})).data}catch{console.error("Not logged in");return}}static async enable(){return await this.get("wallet/getuserwalletsmeta")===void 0?await this.openMinaFrontend(zs):!0}static async getChangeAddress(e=void 0,t=void 0){return await this.get("wallet/getchangeaddress",{walletId:e,accountIndex:t})}static async getUtxos(e=void 0,t=void 0){return await this.get("wallet/getutxo",{walletId:e,accountIndex:t})}static async signTx(e,t=!1){const r=await this.get("wallet/getuserwalletsmeta");if(console.log("userWalletsMeta",r),r){const i=await this.openMinaFrontend(`${Ws}?unsignedTx=${e}&partialSign=${t}`);if(i instanceof a.Vkeywitnesses){const n=$(e),o=n.witness_set();o.set_vkeys(i);const A=a.Transaction.new(n.body(),o,n.auxiliary_data()).to_hex();return console.log("signedTx",A),A}}else return}}exports.AppWallet=qs;exports.BlockfrostProvider=Vs;exports.BrowserWallet=Bt;exports.EmbeddedWallet=w;exports.ForgeScript=Rs;exports.InfuraProvider=Os;exports.KoiosProvider=Ys;exports.MinaWallet=Js;exports.TangoProvider=Gs;exports.largestFirst=Ce;exports.largestFirstMultiAsset=pe;exports.resolveDataHash=bs;exports.resolveEpochNo=Ks;exports.resolveFingerprint=Ke;exports.resolveLanguageView=Us;exports.resolveNativeScriptHash=ks;exports.resolvePaymentKeyHash=J;exports.resolvePlutusScriptAddress=Fs;exports.resolvePlutusScriptHash=Ns;exports.resolvePoolId=Hs;exports.resolvePrivateKey=Ps;exports.resolveRewardAddress=St;exports.resolveScriptRef=Ms;exports.resolveSlotNo=Ts;exports.resolveStakeKeyHash=ot;exports.resolveTxFees=Mt;exports.resolveTxHash=Ue;