@meshsdk/core 1.2.0-beta.4 → 1.2.1-beta.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 +18 -18
- package/dist/common/contracts/fetcher.d.ts +4 -0
- package/dist/common/utils/parser.d.ts +4 -0
- package/dist/core.cjs +1 -1
- package/dist/core.js +762 -649
- package/dist/providers/blockfrost.provider.d.ts +6 -2
- package/dist/providers/koios.provider.d.ts +6 -2
- package/dist/providers/tango.provider.d.ts +7 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|

|
|
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
|
-
- [
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
14
|
-
- [
|
|
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
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- Adopts best practices -
|
|
21
|
-
- Thoroughly tested - Mesh is used by developers and learners, built by developers with solid software engineering
|
|
22
|
-
- Integrates with Cardano projects - Koios, Blockfrost, ADA Handle (and more), you pick what you want to use for your app
|
|
23
|
-
- Well documented -
|
|
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
|
-
- [
|
|
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 Ut=require("bip39"),He=require("@emurgo/cardano-serialization-lib-nodejs"),Pe=require("axios"),p=require("@emurgo/cardano-message-signing-nodejs"),Me=require("nanoid"),Te=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function Ve(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=Ve(He),it=Te(Pe),Oe={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"},bt=2147483648,wt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},F=56,Ye={CERT:a.RedeemerTag.new_cert(),MINT:a.RedeemerTag.new_mint(),REWARD:a.RedeemerTag.new_reward(),SPEND:a.RedeemerTag.new_spend()},yt={testnet:["74","1598400","1595967616","432000"],preview:["0","0","1660003200","86400"],preprod:["0","0","1654041600","432000"],mainnet:["208","4492800","1596059091","432000"]},Lt={ALONZO:a.TxBuilderConstants.plutus_alonzo_cost_models(),BABBAGE:a.TxBuilderConstants.plutus_vasil_cost_models()},Ge={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}},Ft={[a.NetworkInfo.testnet().network_id()]:"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3",[a.NetworkInfo.mainnet().network_id()]:"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"},qt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],nt=s=>a.Address.from_bytes(f(s)),Re=s=>a.Bip32PrivateKey.from_bytes(f(s)),Le=s=>a.DataHash.from_bytes(f(s)),k=s=>a.Ed25519KeyHash.from_bytes(f(s)),ct=s=>a.NativeScript.from_bytes(f(s)),qe=s=>a.PlutusData.from_bytes(f(s)),mt=(s,e)=>a.PlutusScript.from_bytes_with_version(f(s),wt[e]),$e=s=>a.ScriptRef.from_bytes(f(s)),ze=s=>a.ScriptHash.from_bytes(f(s)),$=s=>a.Transaction.from_bytes(f(s)),le=s=>a.TransactionHash.from_bytes(f(s)),$t=s=>a.TransactionUnspentOutput.from_bytes(f(s)),We=s=>a.TransactionWitnessSet.from_bytes(f(s)),Je=s=>a.Value.from_bytes(f(s)),N=s=>a.Address.from_bech32(s),Nt=s=>a.BaseAddress.from_address(N(s)),ge=s=>a.EnterpriseAddress.from_address(N(s)),fe=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"),St=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(St(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`)}},Dt=s=>{const e=t=>{const r=a.NativeScripts.new();return t.forEach(i=>{r.add(Dt(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(k(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(Ze(t))}),new Error("toPoolParams not implemented.")},Xe=s=>{const e=t=>Ye[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())))},Ze=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)))}},ts=s=>{if(s.is_plutus_script()){const t=s.plutus_script();return{code:t.to_hex(),version:Object.keys(wt).find(r=>wt[r].to_hex()===t.language_version().to_hex())}}const e=s.native_script();return St(e)},ut=s=>{if("code"in s){const e=mt(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(Dt(s))},Et=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:_e(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},q=s=>{const e=a.TransactionInput.new(le(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(N(s.output.address),Ct(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Le(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(qe(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref($e(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},zt=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))},b=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?s:X(Buffer.from(s,"utf-8")),Ht=s=>Buffer.from(s,"hex").toString("utf-8"),_e=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},Ct=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,F)))),r=a.MultiAsset.new();t.forEach(n=>{const o=a.Assets.new();s.filter(A=>A.unit.slice(0,F)===n).forEach(A=>{o.insert(a.AssetName.new(f(A.unit.slice(F))),a.BigNum.from_str(A.quantity))}),r.insert(ze(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},Wt=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),Ce=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(f(s),f(b(e))),Jt=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),es=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)),kt=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),ss=s=>{if("code"in s)return a.PlutusScriptSource.new(mt(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=ts(t),i=mt(r.code,r.version).hash();return a.PlutusScriptSource.new_ref_input_with_lang_ver(i,e.input(),wt[r.version])}}throw new Error(`No plutus script reference found in UTxO: ${e.input().transaction_id().to_hex()}`)},lt=s=>{const e=a.ScriptPubkey.new(s);return a.NativeScript.new_script_pubkey(e)},rs=(s=V)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new(zt(s.priceMem.toString()),zt(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)},Xt=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},gt=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=ut(s.script);e=e.with_script_ref(t)}return e},et=s=>{const e=s.slice(0,F),t=s.includes(".")?b(s.split(".")[1]):s.slice(F);return{policyId:e,assetName:t}},l=s=>it.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),pe=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=V)=>{const o=e.filter(h=>me(h)===!1).sort(ye),A=a.BigNum.from_str(Tt(r,i,n)),c=t?a.BigNum.from_str(s).checked_add(A).to_str():s;return Bt(o,new Map([["lovelace",c]]))},we=(s,e,t=!1,r=V)=>{const i=e.filter(me).sort(ye),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:A,minFeeB:c}=r,I=a.BigNum.from_str(Tt(o,A,c)),u=t?a.BigNum.from_str(n).checked_add(I).to_str():n;return s.set("lovelace",u),Bt(i,s)},is=(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),ye=(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)},me=s=>s.output.amount.length>1,Bt=(s,e,t=[])=>s.length===0||is(t,e)?t:as(s[0],e)?Bt(s.slice(1),e,[...t,s[0]]):Bt(s.slice(1),e,t),as=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),ns=(s,e)=>{const t=os(e),r=As(s,e);return{coseKey:X(t.to_bytes()),coseSign1:X(r.to_bytes())}},os=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},As=(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 Zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ee={},x={exports:{}};O.notEqual=Is;O.notOk=hs;O.equal=cs;O.ok=O;var Be=O;function cs(s,e,t){O(s==e,t)}function Is(s,e,t){O(s!=e,t)}function hs(s,e){O(!s,e)}function O(s,e){if(!s)throw new Error(e||"AssertionError")}var H={exports:{}};function us(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 ds=Pt;Pt.supported=typeof WebAssembly<"u";function Pt(s){if(!Pt.supported)return null;var e=s&&s.imports,t=ls("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 ls(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(gs)):new(us("buffer")).Buffer(s,"base64")}function gs(s){return s.charCodeAt(0)}var U=Be,_=ds(),T=64,pt=[];H.exports=S;var te=H.exports.BYTES_MIN=16,ee=H.exports.BYTES_MAX=64;H.exports.BYTES=32;var se=H.exports.KEYBYTES_MIN=16,re=H.exports.KEYBYTES_MAX=64;H.exports.KEYBYTES=32;var ie=H.exports.SALTBYTES=16,ae=H.exports.PERSONALBYTES=16;function S(s,e,t,r,i){if(!(this instanceof S))return new S(s,e,t,r,i);if(!(_&&_.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(U(s>=te,"digestLength must be at least "+te+", was given "+s),U(s<=ee,"digestLength must be at most "+ee+", was given "+s),e!=null&&U(e.length>=se,"key must be at least "+se+", was given "+e.length),e!=null&&U(e.length<=re,"key must be at least "+re+", was given "+e.length),t!=null&&U(t.length===ie,"salt must be exactly "+ie+", was given "+t.length),r!=null&&U(r.length===ae,"personal must be exactly "+ae+", was given "+r.length)),pt.length||(pt.push(T),T+=216),this.digestLength=s,this.finalized=!1,this.pointer=pt.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)}S.prototype.update=function(s){return U(this.finalized===!1,"Hash instance finalized"),U(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};S.prototype.digest=function(s){if(U(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,pt.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 _s(_.memory,this.pointer+128,this.digestLength);U(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};S.prototype.final=S.prototype.digest;S.WASM=_&&_.buffer;S.SUPPORTED=typeof WebAssembly<"u";S.ready=function(s){if(s||(s=fs),!_)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){_.onload(function(i){i?r():t(),s(i)})});return e};S.prototype.ready=S.ready;function fs(){}function _s(s,e,t){for(var r="",i=0;i<t;i++)r+=Cs(s[e+i]);return r}function Cs(s){return s<16?"0"+s.toString(16):s.toString(16)}var L=Be,ht=H.exports;function ft(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 ne(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 Qe(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=ot[i],A=ot[i+1],c=ot[n],I=ot[n+1];ft(d,s,e),ne(d,s,o,A);var u=d[r]^d[s],h=d[r+1]^d[s+1];d[r]=h,d[r+1]=u,ft(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,ft(d,s,e),ne(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,ft(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 xe=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),ps=[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(ps.map(function(s){return s*2})),d=new Uint32Array(32),ot=new Uint32Array(32);function Se(s,e){var t=0;for(t=0;t<16;t++)d[t]=s.h[t],d[t+16]=xe[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++)ot[t]=Qe(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 st(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]=xe[i]^Qe(R,i*4);e&&(De(this,e),this.c=128)}st.prototype.update=function(s){return L(s!=null,"input must be Uint8Array or Buffer"),De(this,s),this};st.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"),ws(this,e),s==="hex"?ys(e):e};st.prototype.final=st.prototype.digest;st.ready=function(s){ht.ready(function(){s()})};function De(s,e){for(var t=0;t<e.length;t++)s.c===128&&(s.t+=s.c,Se(s,!1),s.c=0),s.b[s.c++]=e[t]}function ws(s,e){for(s.t+=s.c;s.c<128;)s.b[s.c++]=0;Se(s,!0);for(var t=0;t<s.outlen;t++)e[t]=s.h[t>>2]>>8*(t&3);return e}function ys(s){for(var e="",t=0;t<s.length;t++)e+=ms(s[t]);return e}function ms(s){return s<16?"0"+s.toString(16):s.toString(16)}var ve=st;x.exports=function(e,t,r,i,n){return n!==!0&&(L(e>=oe,"outlen must be at least "+oe+", was given "+e),L(e<=Ae,"outlen must be at most "+Ae+", was given "+e),t!=null&&L(t.length>=ce,"key must be at least "+ce+", was given "+t.length),t!=null&&L(t.length<=Ie,"key must be at most "+Ie+", was given "+t.length),r!=null&&L(r.length===he,"salt must be exactly "+he+", was given "+r.length),i!=null&&L(i.length===ue,"personal must be exactly "+ue+", was given "+i.length)),new ve(e,t,r,i)};x.exports.ready=function(s){ht.ready(function(){s()})};x.exports.WASM_SUPPORTED=ht.SUPPORTED;x.exports.WASM_LOADED=!1;var oe=x.exports.BYTES_MIN=16,Ae=x.exports.BYTES_MAX=64;x.exports.BYTES=32;var ce=x.exports.KEYBYTES_MIN=16,Ie=x.exports.KEYBYTES_MAX=64;x.exports.KEYBYTES=32;var he=x.exports.SALTBYTES=16,ue=x.exports.PERSONALBYTES=16;ht.ready(function(s){s||(x.exports.WASM_LOADED=!0,ve=ht)});var rt={};Object.defineProperty(rt,"__esModule",{value:!0});rt.bech32m=rt.bech32=void 0;const Qt="qpzry9x8gf2tvdw0s3jn54khce6mua7l",be={};for(let s=0;s<Qt.length;s++){const e=Qt.charAt(s);be[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 de(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 Mt(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 Es(s){return Mt(s,8,5,!0)}function Bs(s){const e=Mt(s,5,8,!1);if(Array.isArray(e))return e}function Qs(s){const e=Mt(s,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function Ke(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=de(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+=Qt.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+=Qt.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=de(h);if(typeof B=="string")return B;const W=[];for(let P=0;P<C.length;++P){const Y=C.charAt(P),g=be[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:Es,fromWordsUnsafe:Bs,fromWords:Qs}}rt.bech32=Ke("bech32");rt.bech32m=Ke("bech32m");var xs=Zt&&Zt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ee,"__esModule",{value:!0});const Ss=xs(x.exports),_t=rt,Kt="asset";class It{constructor(e){this.hashBuf=e}static fromHash(e){return new It(e)}static fromParts(e,t){const r=(0,Ss.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return It.fromHash(r)}static fromBech32(e){const{prefix:t,words:r}=_t.bech32.decode(e);if(t!==Kt)throw new Error("Invalid asset fingerprint");const i=Buffer.from(_t.bech32.fromWords(r));return It.fromHash(i)}fingerprint(){const e=_t.bech32.toWords(this.hashBuf);return _t.bech32.encode(Kt,e)}hash(){return Buffer.from(this.hashBuf).toString("hex")}prefix(){return Kt}checksum(){return this.fingerprint().slice(-6)}}var Ds=Ee.default=It;const vs=Ds,bs=(s,e)=>{const t=Re(s),r=t.derive(bt+1852).derive(bt+1815).derive(bt+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}},Ks=s=>{const e=j(s);return a.hash_plutus_data(e).to_hex()},Us=(s,e=Date.now())=>{if(yt[s]){const[t,r,i,n]=yt[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}`)},Ue=(s,e)=>vs.fromParts(f(s),f(e)).fingerprint(),ks=(s,e)=>Ge[s][e],Fs=s=>Dt(s).hash().to_hex(),J=s=>{var e,t;try{const r=[(e=Nt(s))==null?void 0:e.payment_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 payment key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolvePaymentKeyHash: ${r}.`)}},Ns=(s,e=0)=>{const t=mt(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Hs=s=>{try{const e=ge(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}.`)}},Ps=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),Ms=s=>{const e=Ut.mnemonicToEntropy(s.join(" ")),t=Ce(e),r=t.to_bech32();return t.free(),r},Ts=s=>ut(s).to_hex(),Vs=(s,e=Date.now())=>{if(yt[s]){const[t,r,i]=yt[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}`)},vt=s=>{try{const e=N(s),t=Nt(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}.`)}},At=s=>{var e,t;try{const r=[(e=Nt(s))==null?void 0:e.stake_cred().to_keyhash(),(t=fe(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}.`)}},Tt=(s,e=V.minFeeA,t=V.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),ke=s=>{const e=$(s).body();return a.hash_transaction(e).to_hex()};class Os{_axiosInstance;constructor(e,t=0){const r=e.slice(0,7);this._axiosInstance=it.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${t}`,headers:{project_id:e}})}async fetchAccountInfo(e){const t=e.startsWith("addr")?vt(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 ut(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{policyId:n,assetName:o}=et(e),{data:A,status:c}=await this._axiosInstance.get(`assets/${n}${o}/addresses?page=${r}`);if(c===200)return A.length>0?t(r+1,[...i,...A]):i;throw l(A)};try{return await t()}catch{return[]}}async fetchAssetMetadata(e){try{const{policyId:t,assetName:r}=et(e),{data:i,status:n}=await this._axiosInstance.get(`assets/${t}${r}`);if(n===200)return{...i.onchain_metadata};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=b(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Ft[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 Ys{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=it.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 Gs{_axiosInstance;constructor(e,t=0){this._axiosInstance=it.default.create({baseURL:`https://${e}.koios.rest/api/v${t}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?vt(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","")}:St(ct(i.bytes));return ut(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{policyId:t,assetName:r}=et(e),{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{policyId:t,assetName:r}=et(e),{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][Ht(r)]};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=b(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${Ft[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 Rs{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=it.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")?vt(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=b(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","")}:St(ct(I.json));return ut(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 u;const{policyId:o,assetName:A}=et(e),{data:c,status:I}=await this._axiosInstance.get(`assets/${o}${A}/addresses?size=100&cursor=${i}`);if(I===200)return c.cursor!==null&&((u=c.cursor)==null?void 0:u.length)>0?r(c.cursor,[...n,...c.data.map(t)]):c.data.map(t);throw l(c)};try{return await r()}catch{return[]}}async fetchAssetMetadata(e){var t;try{const{policyId:r,assetName:i}=et(e),{data:n,status:o}=await this._axiosInstance.get(`assets/${r}${i}`);if(o===200)return{...(t=n.metadata[0])==null?void 0:t.json[r][Ht(i)]};throw l(n)}catch(r){throw l(r)}}async fetchHandleAddress(e){try{const t=b(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Ft[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 Ls{static withOneSignature(e){const t=k(J(e));return lt(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=k(J(n));r.add(lt(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=k(J(i));t.add(lt(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=k(J(i));t.add(lt(n))});const r=a.ScriptAll.new(t);return a.NativeScript.new_script_any(r).to_hex()}static fromNativeScript(e){return Dt(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 qs=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=rs(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(ct(e),a.AssetName.new(f(t.unit.slice(F))),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(k(At(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(k(At(e)))));return this._txCertificates.add(t),this}mintAsset(e,t){var A,c;const i=((I,u)=>{const h=ct(I).hash().to_hex(),C=b(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(ct(e),a.AssetName.new(f(b(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:Oe,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=q(e.value),i=a.PlutusWitness.new_with_ref(ss(e.script),es(e.datum),Xe(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(k(At(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=Ct(t),i=r.multiasset();if(r.is_zero()||i===void 0)return this;const o=gt(e).next().with_asset_and_min_required_coin_by_utxo_cost(i,Jt(this._protocolParameters.coinsPerUTxOSize)).build();return this._txBuilder.add_output(o),this}sendLovelace(e,t){const i=gt(e).next().with_coin(a.BigNum.from_str(t)).build();return this._txBuilder.add_output(i),this}sendValue(e,t){const r=Ct(t.output.amount),n=gt(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=Xt(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):At(r)).map(r=>k(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=fe(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();we(this._totalBurns,e.map(r=>Et(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(Xt(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(k(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?Lt[this._era]:Lt.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,F);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=pe("5000000",t.map(n=>Et(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=Ct(e).multiasset();if(i!==void 0){const o=gt(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,Jt(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([qs],exports.Transaction);const Fe=(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=Wt(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=kt(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}=ns(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=le(ke(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=Ut.mnemonicToEntropy(e.join(" ")),i=Ce(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 Ut.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(b(t),e)}catch{throw new Error("The password is incorrect.")}}static encrypt(e,t){const r=Me.customAlphabet("0123456789abcdef"),i=r(64),n=r(24);return a.encrypt_with_password(b(t),i,n,e)}static resolveAddress(e,t,r,i){const n=[Wt(e,r.to_public().hash(),i.to_public().hash()),jt(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 bs(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 dt,at,Vt,Ot,Yt;if(g===void 0||m>=g.len())return Q;const D=g.get(m),v=new Array;switch(D.kind()){case a.CertificateKind.StakeDeregistration:{const y=(dt=D.as_stake_deregistration())==null?void 0:dt.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&v.push(M.to_hex());break}case a.CertificateKind.StakeDelegation:{const y=(at=D.as_stake_delegation())==null?void 0:at.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&v.push(M.to_hex());break}case a.CertificateKind.PoolRegistration:{const y=(Vt=D.as_pool_registration())==null?void 0:Vt.pool_params().pool_owners();v.push(...u(y));break}case a.CertificateKind.PoolRetirement:{const y=(Ot=D.as_pool_retirement())==null?void 0:Ot.pool_keyhash();y&&v.push(y.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const y=(Yt=D.as_move_instantaneous_rewards_cert())==null?void 0:Yt.move_instantaneous_reward().as_to_stake_creds();if(y)for(let M=0;M<y.len();M+=1){const Gt=y.keys().get(M),Rt=Gt.kind()===a.StakeCredKind.Key?Gt.to_keyhash():void 0;Rt&&v.push(Rt.to_hex())}break}}return c(g,[...Q,...v],m+1)},I=(g,Q=[],m=0)=>{if(g===void 0||m>=g.len())return Q;const D=g.get(m).index(),v=g.get(m).transaction_id(),dt=t.find(at=>at.input.outputIndex===D&&at.input.txHash===v.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return I(g,[...Q,dt],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 D=g.keys().get(m).payment_cred(),v=D.kind()===a.StakeCredKind.Key?D.to_keyhash():void 0;return h(g,v?[...Q,v.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 K="MARI0TIME";class $s{_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,K));break;case"root":this._wallet=new w(e.networkId,w.encryptPrivateKey(e.key.bech32,K));break;case"cli":this._wallet=new w(e.networkId,w.encryptSigningKeys(e.key.payment,e.key.stake??"f0".repeat(34),K))}}getPaymentAddress(e=0){return this._wallet.getAccount(e,K).enterpriseAddress}getRewardAddress(e=0){return this._wallet.getAccount(e,K).rewardAddress}getUsedAddress(e=0){const t=this._wallet.getAccount(e,K);return N(t.enterpriseAddress)}getUsedCollateral(e=V.maxCollateralInputs){throw new Error("getUsedCollateral not implemented.")}async getUsedUTxOs(e=0){const t=this._wallet.getAccount(e,K);return(await this._fetcher.fetchAddressUTxOs(t.enterpriseAddress)).map(i=>q(i))}signData(e,t,r=0){try{return this._wallet.signData(r,K,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,K),n=await this._fetcher.fetchAddressUTxOs(i.enterpriseAddress),o=this._wallet.signTx(r,K,n,e,t),A=$(e),c=A.witness_set(),I=Fe(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 xt{_walletInstance;constructor(e){this._walletInstance=e}static getInstalledWallets(){return window.cardano===void 0?[]:qt.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 xt.resolveInstance(e);if(t!==void 0)return new xt(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 _e(Je(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return nt(e).to_bech32()}async getCollateral(e=V.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>Et(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>nt(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>nt(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>nt(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>Et(t))}signData(e,t){const r=N(e).to_hex();return this._walletInstance.signData(r,b(t))}async signTx(e,t=!1){try{const r=$(e),i=r.witness_set(),n=await this._walletInstance.signTx(e,t),o=We(n).vkeys()??a.Vkeywitnesses.new(),A=Fe(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 nt(e[0])}async getUsedCollateral(e=V.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>$t(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>$t(t))}async getAssets(){return(await this.getBalance()).filter(t=>t.unit!=="lovelace").map(t=>{const r=t.unit.slice(0,F),i=t.unit.slice(F),n=Ue(r,i);return{unit:t.unit,policyId:r,assetName:Ht(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,F)))).filter(t=>t!=="lovelace")}static resolveInstance(e){if(window.cardano===void 0)return;const t=qt.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 Ne="http://localhost:4000/",zs="http://localhost:5000/",Ws=`${Ne}access`,Js=`${Ne}transaction/signtx`;class js{static getAxiosInstance(){return it.default.create({baseURL:zs,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(Ws):!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(`${Js}?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=$s;exports.BlockfrostProvider=Os;exports.BrowserWallet=xt;exports.EmbeddedWallet=w;exports.ForgeScript=Ls;exports.InfuraProvider=Ys;exports.KoiosProvider=Gs;exports.MinaWallet=js;exports.TangoProvider=Rs;exports.largestFirst=pe;exports.largestFirstMultiAsset=we;exports.resolveDataHash=Ks;exports.resolveEpochNo=Us;exports.resolveFingerprint=Ue;exports.resolveLanguageView=ks;exports.resolveNativeScriptHash=Fs;exports.resolvePaymentKeyHash=J;exports.resolvePlutusScriptAddress=Ns;exports.resolvePlutusScriptHash=Hs;exports.resolvePoolId=Ps;exports.resolvePrivateKey=Ms;exports.resolveRewardAddress=vt;exports.resolveScriptRef=Ts;exports.resolveSlotNo=Vs;exports.resolveStakeKeyHash=At;exports.resolveTxFees=Tt;exports.resolveTxHash=ke;
|