@meshsdk/core 1.2.1 → 1.4.0

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.
@@ -24,4 +24,5 @@ export declare const SUPPORTED_CLOCKS: Record<Network, [
24
24
  export declare const SUPPORTED_COST_MODELS: Record<Era, Costmdls>;
25
25
  export declare const SUPPORTED_LANGUAGE_VIEWS: Record<Era, Partial<Record<keyof typeof LANGUAGE_VERSIONS, string>>>;
26
26
  export declare const SUPPORTED_HANDLES: Record<number, string>;
27
+ export declare const SUPPORTED_OGMIOS_LINKS: Record<Network, string>;
27
28
  export declare const SUPPORTED_WALLETS: string[];
@@ -0,0 +1,4 @@
1
+ import { Action } from '@mesh/common/types';
2
+ export interface IEvaluator {
3
+ evaluateTx(tx: string): Promise<Omit<Action, 'data'>[]>;
4
+ }
@@ -1,4 +1,4 @@
1
- import type { AccountInfo, AssetMetadata, Protocol, UTxO } from '@mesh/common/types';
1
+ import type { AccountInfo, AssetMetadata, BlockInfo, Protocol, UTxO, TransactionInfo } from '@mesh/common/types';
2
2
  export interface IFetcher {
3
3
  fetchAccountInfo(address: string): Promise<AccountInfo>;
4
4
  fetchAddressUTxOs(address: string, asset?: string): Promise<UTxO[]>;
@@ -7,6 +7,8 @@ export interface IFetcher {
7
7
  quantity: string;
8
8
  }[]>;
9
9
  fetchAssetMetadata(asset: string): Promise<AssetMetadata>;
10
+ fetchBlockInfo(hash: string): Promise<BlockInfo>;
10
11
  fetchHandleAddress(handle: string): Promise<string>;
11
12
  fetchProtocolParameters(epoch: number): Promise<Protocol>;
13
+ fetchTxInfo(hash: string): Promise<TransactionInfo>;
12
14
  }
@@ -1,5 +1,7 @@
1
+ export * from './evaluator';
1
2
  export * from './fetcher';
2
3
  export * from './initiator';
4
+ export * from './listener';
3
5
  export * from './signer';
4
6
  export * from './submitter';
5
7
  export * from './uploader';
@@ -0,0 +1,3 @@
1
+ export interface IListener {
2
+ onTxConfirmed(txHash: string, callback: () => void, limit?: number): void;
3
+ }
@@ -0,0 +1 @@
1
+ export declare const generateNonce: (label?: string, length?: number) => string;
@@ -1 +1,4 @@
1
+ export * from './generateNonce';
1
2
  export * from './mergeSignatures';
3
+ export * from './readPlutusData';
4
+ export * from './readTransaction';
@@ -0,0 +1,2 @@
1
+ import type { Data } from '@mesh/common/types';
2
+ export declare const readPlutusData: (plutusData: string) => Data;
@@ -0,0 +1,2 @@
1
+ import { csl } from '@mesh/core';
2
+ export declare const readTransaction: (tx: string) => csl.TransactionJSON;
@@ -0,0 +1,17 @@
1
+ export declare type BlockInfo = {
2
+ time: number;
3
+ hash: string;
4
+ slot: string;
5
+ epoch: number;
6
+ epochSlot: string;
7
+ slotLeader: string;
8
+ size: number;
9
+ txCount: number;
10
+ output: string;
11
+ fees: string;
12
+ previousBlock: string;
13
+ nextBlock: string;
14
+ confirmations: number;
15
+ operationalCertificate: string;
16
+ VRFKey: string;
17
+ };
@@ -1 +1,4 @@
1
- export declare type Network = 'testnet' | 'preview' | 'preprod' | 'mainnet';
1
+ declare const ALL_NETWORKS: readonly ["testnet", "preview", "preprod", "mainnet"];
2
+ export declare type Network = typeof ALL_NETWORKS[number];
3
+ export declare const isNetwork: (value: unknown) => value is "testnet" | "preview" | "preprod" | "mainnet";
4
+ export {};
@@ -1,13 +1,13 @@
1
1
  import { Relay } from './Relay';
2
2
  export declare type PoolParams = {
3
+ VRFKeyHash: string;
3
4
  operator: string;
4
- vrfKeyHash: string;
5
5
  pledge: string;
6
6
  cost: string;
7
7
  margin: number;
8
- rewardAddress: string;
9
8
  relays: Relay[];
10
9
  owners: string[];
10
+ rewardAddress: string;
11
11
  metadata?: PoolMetadata;
12
12
  };
13
13
  export declare type PoolMetadata = {
@@ -0,0 +1,11 @@
1
+ export declare type TransactionInfo = {
2
+ index: number;
3
+ block: string;
4
+ hash: string;
5
+ slot: string;
6
+ fees: string;
7
+ size: number;
8
+ deposit: string;
9
+ invalidBefore: string;
10
+ invalidAfter: string;
11
+ };
@@ -4,6 +4,7 @@ export * from './Action';
4
4
  export * from './Asset';
5
5
  export * from './AssetExtended';
6
6
  export * from './AssetMetadata';
7
+ export * from './BlockInfo';
7
8
  export * from './Data';
8
9
  export * from './DataSignature';
9
10
  export * from './Era';
@@ -15,5 +16,6 @@ export * from './PoolParams';
15
16
  export * from './Protocol';
16
17
  export * from './Recipient';
17
18
  export * from './Relay';
19
+ export * from './TransactionInfo';
18
20
  export * from './UTxO';
19
21
  export * from './Wallet';
@@ -1,12 +1,13 @@
1
1
  import { csl } from '@mesh/core';
2
- import type { BaseAddress, Bip32PrivateKey, DataCost, DatumSource, Ed25519KeyHash, EnterpriseAddress, PlutusScriptSource, RewardAddress, TransactionBuilder, TransactionOutputBuilder, TxInputsBuilder } from '@mesh/core';
3
- import type { Data, PlutusScript, Recipient, UTxO } from '@mesh/common/types';
2
+ import type { BaseAddress, Bip32PrivateKey, DataCost, DatumSource, Ed25519KeyHash, EnterpriseAddress, MintWitness, PlutusScriptSource, RewardAddress, TransactionBuilder, TransactionOutputBuilder, TxInputsBuilder } from '@mesh/core';
3
+ import type { Action, Data, PlutusScript, Recipient, UTxO } from '@mesh/common/types';
4
4
  export declare const buildBaseAddress: (networkId: number, paymentKeyHash: Ed25519KeyHash, stakeKeyHash: Ed25519KeyHash) => BaseAddress;
5
5
  export declare const buildBip32PrivateKey: (entropy: string, password?: string) => Bip32PrivateKey;
6
6
  export declare const buildDataCost: (coinsPerByte: string) => DataCost;
7
7
  export declare const buildDatumSource: (datum: Data | UTxO) => DatumSource;
8
8
  export declare const buildEnterpriseAddress: (networkId: number, paymentKeyHash: Ed25519KeyHash) => EnterpriseAddress;
9
9
  export declare const buildGeneralTxMetadata: (metadata: Record<string, unknown>) => csl.GeneralTransactionMetadata;
10
+ export declare const buildMintWitness: (script: string | PlutusScript | UTxO, redeemer?: Partial<Action>) => MintWitness;
10
11
  export declare const buildRewardAddress: (networkId: number, stakeKeyHash: Ed25519KeyHash) => RewardAddress;
11
12
  export declare const buildPlutusScriptSource: (script: PlutusScript | UTxO) => PlutusScriptSource;
12
13
  export declare const buildScriptPubkey: (keyHash: Ed25519KeyHash) => csl.NativeScript;
@@ -1,5 +1,5 @@
1
1
  import { csl } from '@mesh/core';
2
- import type { ScriptRef, TransactionUnspentOutput, Value } from '@mesh/core';
2
+ import type { PlutusData, ScriptRef, TransactionUnspentOutput, Value } from '@mesh/core';
3
3
  import type { Action, Asset, Data, NativeScript, PlutusScript, PoolParams, Relay, UTxO } from '@mesh/common/types';
4
4
  export declare const toAddress: (bech32: string) => csl.Address;
5
5
  export declare const toBaseAddress: (bech32: string) => csl.BaseAddress | undefined;
@@ -11,6 +11,7 @@ export declare const fromLovelace: (lovelace: number) => number;
11
11
  export declare const toLovelace: (ada: number) => number;
12
12
  export declare const fromNativeScript: (script: csl.NativeScript) => NativeScript;
13
13
  export declare const toNativeScript: (script: NativeScript) => csl.NativeScript;
14
+ export declare const fromPlutusData: (plutusData: PlutusData) => Data;
14
15
  export declare const toPlutusData: (data: Data) => csl.PlutusData;
15
16
  export declare const toPoolParams: (params: PoolParams) => never;
16
17
  export declare const toRedeemer: (action: Action) => csl.Redeemer;
@@ -4,7 +4,9 @@ export declare const deserializeAddress: (address: string) => csl.Address;
4
4
  export declare const deserializeBip32PrivateKey: (bip32PrivateKey: string) => csl.Bip32PrivateKey;
5
5
  export declare const deserializeDataHash: (dataHash: string) => csl.DataHash;
6
6
  export declare const deserializeEd25519KeyHash: (ed25519KeyHash: string) => csl.Ed25519KeyHash;
7
+ export declare const deserializeEd25519Signature: (ed25519Signature: string) => csl.Ed25519Signature;
7
8
  export declare const deserializeNativeScript: (nativeScript: string) => csl.NativeScript;
9
+ export declare const deserializePublicKey: (publicKey: string) => csl.PublicKey;
8
10
  export declare const deserializePlutusData: (plutusData: string) => csl.PlutusData;
9
11
  export declare const deserializePlutusScript: (plutusScript: string, version: LanguageVersion) => csl.PlutusScript;
10
12
  export declare const deserializeScriptRef: (scriptRef: string) => csl.ScriptRef;
@@ -1 +1,5 @@
1
+ export declare const parseAssetUnit: (unit: string) => {
2
+ policyId: string;
3
+ assetName: string;
4
+ };
1
5
  export declare const parseHttpError: (error: unknown) => string;
@@ -1,8 +1,10 @@
1
- import type { Address, PrivateKey } from './CSL';
1
+ import type { DataSignature } from '@mesh/common/types';
2
+ import type { Address, PrivateKey } from '@mesh/core';
2
3
  export declare const signMessage: (message: Message, signer: Signer) => {
3
4
  coseKey: string;
4
5
  coseSign1: string;
5
6
  };
7
+ export declare const checkSignature: (message: string, signer: string, { key, signature }: DataSignature) => boolean;
6
8
  export declare type Message = {
7
9
  payload: string;
8
10
  externalAAD?: string;
@@ -54,6 +54,9 @@ export declare type MetadataList = InstanceType<typeof csl.MetadataList>;
54
54
  export declare type MetadataMap = InstanceType<typeof csl.MetadataMap>;
55
55
  export declare type Mint = InstanceType<typeof csl.Mint>;
56
56
  export declare type MintAssets = InstanceType<typeof csl.MintAssets>;
57
+ export declare type MintBuilder = InstanceType<typeof csl.MintBuilder>;
58
+ export declare type MintWitness = InstanceType<typeof csl.MintWitness>;
59
+ export declare type MintsAssets = InstanceType<typeof csl.MintsAssets>;
57
60
  export declare type MoveInstantaneousReward = InstanceType<typeof csl.MoveInstantaneousReward>;
58
61
  export declare type MoveInstantaneousRewardsCert = InstanceType<typeof csl.MoveInstantaneousRewardsCert>;
59
62
  export declare type MultiAsset = InstanceType<typeof csl.MultiAsset>;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const bt=require("bip39"),Ne=require("@emurgo/cardano-serialization-lib-nodejs"),He=require("axios"),p=require("@emurgo/cardano-message-signing-nodejs"),Pe=require("nanoid"),Me=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function Te(s){if(s&&s.__esModule)return s;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const a=Te(Ne),rt=Me(He),Ve={mem:7e6,steps:3e9},V={epoch:0,coinsPerUTxOSize:"4310",priceMem:.0577,priceStep:721e-7,minFeeA:44,minFeeB:155381,keyDeposit:"2000000",maxTxSize:16384,maxValSize:"5000",poolDeposit:"500000000",maxCollateralInputs:3,decentralisation:0,maxBlockSize:98304,collateralPercent:150,maxBlockHeaderSize:1100,minPoolCost:"340000000",maxTxExMem:"16000000",maxTxExSteps:"10000000000",maxBlockExMem:"80000000",maxBlockExSteps:"40000000000"},Dt=2147483648,Kt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},x=56,Oe={CERT:a.RedeemerTag.new_cert(),MINT:a.RedeemerTag.new_mint(),REWARD:a.RedeemerTag.new_reward(),SPEND:a.RedeemerTag.new_spend()},pt={testnet:["74","1598400","1595967616","432000"],preview:["0","0","1660003200","86400"],preprod:["0","0","1654041600","432000"],mainnet:["208","4492800","1596059091","432000"]},Rt={ALONZO:a.TxBuilderConstants.plutus_alonzo_cost_models(),BABBAGE:a.TxBuilderConstants.plutus_vasil_cost_models()},Ye={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}},kt={[a.NetworkInfo.testnet().network_id()]:"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3",[a.NetworkInfo.mainnet().network_id()]:"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"},Lt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],at=s=>a.Address.from_bytes(f(s)),Ge=s=>a.Bip32PrivateKey.from_bytes(f(s)),Re=s=>a.DataHash.from_bytes(f(s)),F=s=>a.Ed25519KeyHash.from_bytes(f(s)),At=s=>a.NativeScript.from_bytes(f(s)),Le=s=>a.PlutusData.from_bytes(f(s)),wt=(s,e)=>a.PlutusScript.from_bytes_with_version(f(s),Kt[e]),qe=s=>a.ScriptRef.from_bytes(f(s)),$e=s=>a.ScriptHash.from_bytes(f(s)),$=s=>a.Transaction.from_bytes(f(s)),de=s=>a.TransactionHash.from_bytes(f(s)),qt=s=>a.TransactionUnspentOutput.from_bytes(f(s)),ze=s=>a.TransactionWitnessSet.from_bytes(f(s)),We=s=>a.Value.from_bytes(f(s)),N=s=>a.Address.from_bech32(s),Ft=s=>a.BaseAddress.from_address(N(s)),le=s=>a.EnterpriseAddress.from_address(N(s)),ge=s=>a.RewardAddress.from_address(N(s)),X=s=>Buffer.from(s).toString("hex"),f=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?Buffer.from(s,"hex"):Buffer.from(s,"utf-8"),Qt=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(Qt(t.get(i)));return r};switch(s.kind()){case a.NativeScriptKind.ScriptAll:{const t=s.as_script_all();return{type:"all",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptAny:{const t=s.as_script_any();return{type:"any",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptNOfK:{const t=s.as_script_n_of_k();return{type:"atLeast",required:t.n(),scripts:e(t.native_scripts())}}case a.NativeScriptKind.TimelockStart:{const t=s.as_timelock_start();return{type:"after",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.TimelockExpiry:{const t=s.as_timelock_expiry();return{type:"before",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.ScriptPubkey:{const t=s.as_script_pubkey();return{type:"sig",keyHash:t.addr_keyhash().to_hex()}}default:throw new Error(`Script Kind: ${s.kind()}, is not supported`)}},xt=s=>{const e=t=>{const r=a.NativeScripts.new();return t.forEach(i=>{r.add(xt(i))}),r};switch(s.type){case"all":return a.NativeScript.new_script_all(a.ScriptAll.new(e(s.scripts)));case"any":return a.NativeScript.new_script_any(a.ScriptAny.new(e(s.scripts)));case"atLeast":return a.NativeScript.new_script_n_of_k(a.ScriptNOfK.new(s.required,e(s.scripts)));case"after":return a.NativeScript.new_timelock_start(a.TimelockStart.new_timelockstart(a.BigNum.from_str(s.slot)));case"before":return a.NativeScript.new_timelock_expiry(a.TimelockExpiry.new_timelockexpiry(a.BigNum.from_str(s.slot)));case"sig":return a.NativeScript.new_script_pubkey(a.ScriptPubkey.new(F(s.keyHash)))}},j=s=>{const e=t=>{const r=a.PlutusList.new();return t.forEach(i=>{r.add(j(i))}),r};switch(typeof s){case"string":return a.PlutusData.new_bytes(f(s));case"number":return a.PlutusData.new_integer(a.BigInt.from_str(s.toString()));case"object":if(s instanceof Array){const t=e(s);return a.PlutusData.new_list(t)}else if(s instanceof Map){const t=a.PlutusMap.new();return s.forEach((r,i)=>{t.insert(j(i),j(r))}),a.PlutusData.new_map(t)}else return a.PlutusData.new_constr_plutus_data(a.ConstrPlutusData.new(a.BigNum.from_str(s.alternative.toString()),e(s.fields)))}},Je=s=>{const e=a.Relays.new();throw s.relays.forEach(t=>{e.add(Xe(t))}),new Error("toPoolParams not implemented.")},je=s=>{const e=t=>Oe[t];return a.Redeemer.new(e(s.tag),a.BigNum.from_str(s.index.toString()),j(s.data),a.ExUnits.new(a.BigNum.from_str(s.budget.mem.toString()),a.BigNum.from_str(s.budget.steps.toString())))},Xe=s=>{switch(s.type){case"SingleHostAddr":{const e=s.IPV4?a.Ipv4.new(new Uint8Array(s.IPV4.split(".").map(r=>parseInt(r)))):void 0,t=s.IPV6?a.Ipv6.new(f(s.IPV6.replaceAll(":",""))):void 0;return a.Relay.new_single_host_addr(a.SingleHostAddr.new(s.port,e,t))}case"SingleHostName":return a.Relay.new_single_host_name(a.SingleHostName.new(s.port,a.DNSRecordAorAAAA.new(s.domainName)));case"MultiHostName":return a.Relay.new_multi_host_name(a.MultiHostName.new(a.DNSRecordSRV.new(s.domainName)))}},Ze=s=>{if(s.is_plutus_script()){const t=s.plutus_script();return{code:t.to_hex(),version:Object.keys(Kt).find(r=>Kt[r].to_hex()===t.language_version().to_hex())}}const e=s.native_script();return Qt(e)},ht=s=>{if("code"in s){const e=wt(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(xt(s))},yt=s=>{var i,n,o;const e=s.output().has_data_hash()?(i=s.output().data_hash())==null?void 0:i.to_hex():void 0,t=s.output().has_plutus_data()?(n=s.output().plutus_data())==null?void 0:n.to_hex():void 0,r=s.output().has_script_ref()?(o=s.output().script_ref())==null?void 0:o.to_hex():void 0;return{input:{outputIndex:s.input().index(),txHash:s.input().transaction_id().to_hex()},output:{address:s.output().address().to_bech32(),amount:fe(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},q=s=>{const e=a.TransactionInput.new(de(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(N(s.output.address),_t(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Re(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(Le(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref(qe(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},$t=s=>{const e=s.split(".")[1]??"0",t=`${parseInt(e,10)}`,r="1"+"0".repeat(e.length);return a.UnitInterval.new(a.BigNum.from_str(t),a.BigNum.from_str(r))},D=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?s:X(Buffer.from(s,"utf-8")),Nt=s=>Buffer.from(s,"hex").toString("utf-8"),fe=s=>{const e=[{unit:"lovelace",quantity:s.coin().to_str()}],t=s.multiasset();if(t!==void 0){const r=t.keys();for(let i=0;i<r.len();i+=1){const n=r.get(i),o=t.get(n);if(o!==void 0){const A=o.keys();for(let c=0;c<A.len();c+=1){const I=A.get(c),u=o.get(I)??a.BigNum.from_str("0"),h=n.to_hex()+X(I.name());e.push({unit:h,quantity:u.to_str()})}}}}return e},_t=s=>{const e=s.find(n=>n.unit==="lovelace"),t=Array.from(new Set(s.filter(n=>n.unit!=="lovelace").map(n=>n.unit.slice(0,x)))),r=a.MultiAsset.new();t.forEach(n=>{const o=a.Assets.new();s.filter(A=>A.unit.slice(0,x)===n).forEach(A=>{o.insert(a.AssetName.new(f(A.unit.slice(x))),a.BigNum.from_str(A.quantity))}),r.insert($e(n),o)});const i=a.Value.new(a.BigNum.from_str(e?e.quantity:"0"));return(s.length>1||!e)&&i.set_multiasset(r),i},zt=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),_e=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(f(s),f(D(e))),Wt=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),ts=s=>{if(typeof s!="object"||!("input"in s))return a.DatumSource.new(j(s));const e=q(s);if(e.output().has_plutus_data())return a.DatumSource.new_ref_input(e.input());throw new Error(`No inline datum found in UTxO: ${e.input().transaction_id().to_hex()}`)},Jt=(s,e)=>a.EnterpriseAddress.new(s,a.StakeCredential.from_keyhash(e)),Ut=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),es=s=>{if("code"in s)return a.PlutusScriptSource.new(wt(s.code,s.version));const e=q(s);if(e.output().has_script_ref()){const t=e.output().script_ref();if(t.is_plutus_script()){const r=Ze(t),i=wt(r.code,r.version).hash();return a.PlutusScriptSource.new_ref_input(i,e.input())}}throw new Error(`No plutus script reference found in UTxO: ${e.input().transaction_id().to_hex()}`)},dt=s=>{const e=a.ScriptPubkey.new(s);return a.NativeScript.new_script_pubkey(e)},ss=(s=V)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new($t(s.priceMem.toString()),$t(s.priceStep.toString()))).fee_algo(a.LinearFee.new(a.BigNum.from_str(s.minFeeA.toString()),a.BigNum.from_str(s.minFeeB.toString()))).key_deposit(a.BigNum.from_str(s.keyDeposit)).max_tx_size(s.maxTxSize).max_value_size(parseInt(s.maxValSize,10)).pool_deposit(a.BigNum.from_str(s.poolDeposit)).build();return a.TransactionBuilder.new(e)},jt=s=>{const e=a.TxInputsBuilder.new();return s.map(t=>t instanceof a.TransactionUnspentOutput?t:q(t)).forEach(t=>{e.add_input(t.output().address(),t.input(),t.output().amount())}),e},lt=s=>{if(typeof s=="string")return a.TransactionOutputBuilder.new().with_address(N(s));let e=a.TransactionOutputBuilder.new().with_address(N(s.address));if(s.datum){const{value:t,inline:r}=s.datum,i=j(t);e=e.with_data_hash(a.hash_plutus_data(i)),r&&(e=e.with_plutus_data(i))}if(s.script){const t=ht(s.script);e=e.with_script_ref(t)}return e},l=s=>rt.default.isAxiosError(s)?s.response?JSON.stringify({data:s.response.data,headers:s.response.headers,status:s.response.status}):s.request?JSON.stringify(s.request):s.message:JSON.stringify(s),Ce=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=V)=>{const o=e.filter(h=>ye(h)===!1).sort(we),A=a.BigNum.from_str(Mt(r,i,n)),c=t?a.BigNum.from_str(s).checked_add(A).to_str():s;return mt(o,new Map([["lovelace",c]]))},pe=(s,e,t=!1,r=V)=>{const i=e.filter(ye).sort(we),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:A,minFeeB:c}=r,I=a.BigNum.from_str(Mt(o,A,c)),u=t?a.BigNum.from_str(n).checked_add(I).to_str():n;return s.set("lovelace",u),mt(i,s)},rs=(s,e)=>Array.from(e,t=>({unit:t[0],quantity:a.BigNum.from_str(t[1])})).every(t=>s.filter(r=>r.output.amount.find(i=>i.unit===t.unit)!==void 0).reduce((r,i)=>{const n=i.output.amount.reduce((o,A)=>o.checked_add(a.BigNum.from_str(A.quantity)),a.BigNum.from_str("0"));return r.checked_add(n)},a.BigNum.from_str("0")).less_than(t.quantity)===!1),we=(s,e)=>{var i,n;const t=a.BigNum.from_str(((i=s.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:i.quantity)??"0");return a.BigNum.from_str(((n=e.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:n.quantity)??"0").compare(t)},ye=s=>s.output.amount.length>1,mt=(s,e,t=[])=>s.length===0||rs(t,e)?t:is(s[0],e)?mt(s.slice(1),e,[...t,s[0]]):mt(s.slice(1),e,t),is=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),as=(s,e)=>{const t=ns(e),r=os(s,e);return{coseKey:X(t.to_bytes()),coseSign1:X(r.to_bytes())}},ns=s=>{const e=p.COSEKey.new(p.Label.from_key_type(p.KeyType.OKP));return e.set_algorithm_id(p.Label.from_algorithm_id(p.AlgorithmId.EdDSA)),e.set_header(p.Label.new_int(p.Int.new_negative(p.BigNum.from_str("1"))),p.CBORValue.new_int(p.Int.new_i32(6))),e.set_header(p.Label.new_int(p.Int.new_negative(p.BigNum.from_str("2"))),p.CBORValue.new_bytes(s.key.to_public().as_bytes())),e},os=(s,e)=>{const t=p.HeaderMap.new(),r=p.HeaderMap.new();t.set_algorithm_id(p.Label.from_algorithm_id(p.AlgorithmId.EdDSA)),t.set_header(p.Label.new_text("address"),p.CBORValue.new_bytes(e.address.to_bytes()));const i=p.Headers.new(p.ProtectedHeaderMap.new(t),r),n=p.COSESign1Builder.new(i,f(s.payload),!1);s.externalAAD!==void 0&&n.set_external_aad(f(s.externalAAD));const o=n.make_data_to_sign(),A=e.key.sign(o.to_bytes());return n.build(A.to_bytes())};var Xt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},me={},S={exports:{}};O.notEqual=cs;O.notOk=Is;O.equal=As;O.ok=O;var Ee=O;function As(s,e,t){O(s==e,t)}function cs(s,e,t){O(s!=e,t)}function Is(s,e){O(!s,e)}function O(s,e){if(!s)throw new Error(e||"AssertionError")}var H={exports:{}};function hs(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var us=Ht;Ht.supported=typeof WebAssembly<"u";function Ht(s){if(!Ht.supported)return null;var e=s&&s.imports,t=ds("AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMK00AElgMAIABCADcDACAAQQhqQgA3AwAgAEEQakIANwMAIABBGGpCADcDACAAQSBqQgA3AwAgAEEoakIANwMAIABBMGpCADcDACAAQThqQgA3AwAgAEHAAGpCADcDACAAQcgAakIANwMAIABB0ABqQgA3AwAgAEHYAGpCADcDACAAQeAAakIANwMAIABB6ABqQgA3AwAgAEHwAGpCADcDACAAQfgAakIANwMAIABBgAFqQoiS853/zPmE6gBBACkDAIU3AwAgAEGIAWpCu86qptjQ67O7f0EIKQMAhTcDACAAQZABakKr8NP0r+68tzxBECkDAIU3AwAgAEGYAWpC8e30+KWn/aelf0EYKQMAhTcDACAAQaABakLRhZrv+s+Uh9EAQSApAwCFNwMAIABBqAFqQp/Y+dnCkdqCm39BKCkDAIU3AwAgAEGwAWpC6/qG2r+19sEfQTApAwCFNwMAIABBuAFqQvnC+JuRo7Pw2wBBOCkDAIU3AwAgAEHAAWpCADcDACAAQcgBakIANwMAIABB0AFqQgA3AwALbQEDfyAAQcABaiEDIABByAFqIQQgBCkDAKchBQJAA0AgASACRg0BIAVBgAFGBEAgAyADKQMAIAWtfDcDAEEAIQUgABADCyAAIAVqIAEtAAA6AAAgBUEBaiEFIAFBAWohAQwACwsgBCAFrTcDAAtkAQN/IABBwAFqIQEgAEHIAWohAiABIAEpAwAgAikDAHw3AwAgAEHQAWpCfzcDACACKQMApyEDAkADQCADQYABRg0BIAAgA2pBADoAACADQQFqIQMMAAsLIAIgA603AwAgABADC+U7AiB+CX8gAEGAAWohISAAQYgBaiEiIABBkAFqISMgAEGYAWohJCAAQaABaiElIABBqAFqISYgAEGwAWohJyAAQbgBaiEoICEpAwAhASAiKQMAIQIgIykDACEDICQpAwAhBCAlKQMAIQUgJikDACEGICcpAwAhByAoKQMAIQhCiJLznf/M+YTqACEJQrvOqqbY0Ouzu38hCkKr8NP0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"),r=null,i={buffer:t,memory:null,exports:null,realloc:n,onload:o};return o(function(){}),i;function n(c){i.exports.memory.grow(Math.ceil(Math.abs(c-i.memory.length)/65536)),i.memory=new Uint8Array(i.exports.memory.buffer)}function o(c){if(i.exports)return c();if(r){r.then(c.bind(null,null)).catch(c);return}try{if(s&&s.async)throw new Error("async");A({instance:new WebAssembly.Instance(new WebAssembly.Module(t),e)})}catch{r=WebAssembly.instantiate(t,e).then(A)}o(c)}function A(c){i.exports=c.instance.exports,i.memory=i.exports.memory&&i.exports.memory.buffer&&new Uint8Array(i.exports.memory.buffer)}}function ds(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(ls)):new(hs("buffer")).Buffer(s,"base64")}function ls(s){return s.charCodeAt(0)}var k=Ee,_=us(),T=64,Ct=[];H.exports=v;var Zt=H.exports.BYTES_MIN=16,te=H.exports.BYTES_MAX=64;H.exports.BYTES=32;var ee=H.exports.KEYBYTES_MIN=16,se=H.exports.KEYBYTES_MAX=64;H.exports.KEYBYTES=32;var re=H.exports.SALTBYTES=16,ie=H.exports.PERSONALBYTES=16;function v(s,e,t,r,i){if(!(this instanceof v))return new v(s,e,t,r,i);if(!(_&&_.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(k(s>=Zt,"digestLength must be at least "+Zt+", was given "+s),k(s<=te,"digestLength must be at most "+te+", was given "+s),e!=null&&k(e.length>=ee,"key must be at least "+ee+", was given "+e.length),e!=null&&k(e.length<=se,"key must be at least "+se+", was given "+e.length),t!=null&&k(t.length===re,"salt must be exactly "+re+", was given "+t.length),r!=null&&k(r.length===ie,"personal must be exactly "+ie+", was given "+r.length)),Ct.length||(Ct.push(T),T+=216),this.digestLength=s,this.finalized=!1,this.pointer=Ct.pop(),_.memory.fill(0,0,64),_.memory[0]=this.digestLength,_.memory[1]=e?e.length:0,_.memory[2]=1,_.memory[3]=1,t&&_.memory.set(t,32),r&&_.memory.set(r,48),this.pointer+216>_.memory.length&&_.realloc(this.pointer+216),_.exports.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),_.memory.fill(0,T,T+e.length),_.memory[this.pointer+200]=128)}v.prototype.update=function(s){return k(this.finalized===!1,"Hash instance finalized"),k(s,"input must be TypedArray or Buffer"),T+s.length>_.memory.length&&_.realloc(T+s.length),_.memory.set(s,T),_.exports.blake2b_update(this.pointer,T,T+s.length),this};v.prototype.digest=function(s){if(k(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ct.push(this.pointer),_.exports.blake2b_final(this.pointer),!s||s==="binary")return _.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(s==="hex")return fs(_.memory,this.pointer+128,this.digestLength);k(s.length>=this.digestLength,"input must be TypedArray or Buffer");for(var e=0;e<this.digestLength;e++)s[e]=_.memory[this.pointer+128+e];return s};v.prototype.final=v.prototype.digest;v.WASM=_&&_.buffer;v.SUPPORTED=typeof WebAssembly<"u";v.ready=function(s){if(s||(s=gs),!_)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){_.onload(function(i){i?r():t(),s(i)})});return e};v.prototype.ready=v.ready;function gs(){}function fs(s,e,t){for(var r="",i=0;i<t;i++)r+=_s(s[e+i]);return r}function _s(s){return s<16?"0"+s.toString(16):s.toString(16)}var L=Ee,It=H.exports;function gt(s,e,t){var r=s[e]+s[t],i=s[e+1]+s[t+1];r>=4294967296&&i++,s[e]=r,s[e+1]=i}function ae(s,e,t,r){var i=s[e]+t;t<0&&(i+=4294967296);var n=s[e+1]+r;i>=4294967296&&n++,s[e]=i,s[e+1]=n}function Be(s,e){return s[e]^s[e+1]<<8^s[e+2]<<16^s[e+3]<<24}function G(s,e,t,r,i,n){var o=nt[i],A=nt[i+1],c=nt[n],I=nt[n+1];gt(d,s,e),ae(d,s,o,A);var u=d[r]^d[s],h=d[r+1]^d[s+1];d[r]=h,d[r+1]=u,gt(d,t,r),u=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=u>>>24^h<<8,d[e+1]=h>>>24^u<<8,gt(d,s,e),ae(d,s,c,I),u=d[r]^d[s],h=d[r+1]^d[s+1],d[r]=u>>>16^h<<16,d[r+1]=h>>>16^u<<16,gt(d,t,r),u=d[e]^d[t],h=d[e+1]^d[t+1],d[e]=h>>>31^u<<1,d[e+1]=u>>>31^h<<1}var Qe=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Cs=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],E=new Uint8Array(Cs.map(function(s){return s*2})),d=new Uint32Array(32),nt=new Uint32Array(32);function xe(s,e){var t=0;for(t=0;t<16;t++)d[t]=s.h[t],d[t+16]=Qe[t];for(d[24]=d[24]^s.t,d[25]=d[25]^s.t/4294967296,e&&(d[28]=~d[28],d[29]=~d[29]),t=0;t<32;t++)nt[t]=Be(s.b,4*t);for(t=0;t<12;t++)G(0,8,16,24,E[t*16+0],E[t*16+1]),G(2,10,18,26,E[t*16+2],E[t*16+3]),G(4,12,20,28,E[t*16+4],E[t*16+5]),G(6,14,22,30,E[t*16+6],E[t*16+7]),G(0,10,20,30,E[t*16+8],E[t*16+9]),G(2,12,22,24,E[t*16+10],E[t*16+11]),G(4,14,16,26,E[t*16+12],E[t*16+13]),G(6,8,18,28,E[t*16+14],E[t*16+15]);for(t=0;t<16;t++)s.h[t]=s.h[t]^d[t]^d[t+16]}var R=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function et(s,e,t,r){R.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=s,R[0]=s,e&&(R[1]=e.length),R[2]=1,R[3]=1,t&&R.set(t,32),r&&R.set(r,48);for(var i=0;i<16;i++)this.h[i]=Qe[i]^Be(R,i*4);e&&(Se(this,e),this.c=128)}et.prototype.update=function(s){return L(s!=null,"input must be Uint8Array or Buffer"),Se(this,s),this};et.prototype.digest=function(s){var e=!s||s==="binary"||s==="hex"?new Uint8Array(this.outlen):s;return L(e.length>=this.outlen,"out must have at least outlen bytes of space"),ps(this,e),s==="hex"?ws(e):e};et.prototype.final=et.prototype.digest;et.ready=function(s){It.ready(function(){s()})};function Se(s,e){for(var t=0;t<e.length;t++)s.c===128&&(s.t+=s.c,xe(s,!1),s.c=0),s.b[s.c++]=e[t]}function ps(s,e){for(s.t+=s.c;s.c<128;)s.b[s.c++]=0;xe(s,!0);for(var t=0;t<s.outlen;t++)e[t]=s.h[t>>2]>>8*(t&3);return e}function ws(s){for(var e="",t=0;t<s.length;t++)e+=ys(s[t]);return e}function ys(s){return s<16?"0"+s.toString(16):s.toString(16)}var De=et;S.exports=function(e,t,r,i,n){return n!==!0&&(L(e>=ne,"outlen must be at least "+ne+", was given "+e),L(e<=oe,"outlen must be at most "+oe+", was given "+e),t!=null&&L(t.length>=Ae,"key must be at least "+Ae+", was given "+t.length),t!=null&&L(t.length<=ce,"key must be at most "+ce+", was given "+t.length),r!=null&&L(r.length===Ie,"salt must be exactly "+Ie+", was given "+r.length),i!=null&&L(i.length===he,"personal must be exactly "+he+", was given "+i.length)),new De(e,t,r,i)};S.exports.ready=function(s){It.ready(function(){s()})};S.exports.WASM_SUPPORTED=It.SUPPORTED;S.exports.WASM_LOADED=!1;var ne=S.exports.BYTES_MIN=16,oe=S.exports.BYTES_MAX=64;S.exports.BYTES=32;var Ae=S.exports.KEYBYTES_MIN=16,ce=S.exports.KEYBYTES_MAX=64;S.exports.KEYBYTES=32;var Ie=S.exports.SALTBYTES=16,he=S.exports.PERSONALBYTES=16;It.ready(function(s){s||(S.exports.WASM_LOADED=!0,De=It)});var st={};Object.defineProperty(st,"__esModule",{value:!0});st.bech32m=st.bech32=void 0;const Et="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ve={};for(let s=0;s<Et.length;s++){const e=Et.charAt(s);ve[e]=s}function tt(s){const e=s>>25;return(s&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function ue(s){let e=1;for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+s+")";e=tt(e)^r>>5}e=tt(e);for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);e=tt(e)^r&31}return e}function Pt(s,e,t,r){let i=0,n=0;const o=(1<<t)-1,A=[];for(let c=0;c<s.length;++c)for(i=i<<e|s[c],n+=e;n>=t;)n-=t,A.push(i>>n&o);if(r)n>0&&A.push(i<<t-n&o);else{if(n>=e)return"Excess padding";if(i<<t-n&o)return"Non-zero padding"}return A}function ms(s){return Pt(s,8,5,!0)}function Es(s){const e=Pt(s,5,8,!1);if(Array.isArray(e))return e}function Bs(s){const e=Pt(s,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function be(s){let e;s==="bech32"?e=1:e=734539939;function t(o,A,c){if(c=c||90,o.length+7+A.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let I=ue(o);if(typeof I=="string")throw new Error(I);let u=o+"1";for(let h=0;h<A.length;++h){const C=A[h];if(C>>5!==0)throw new Error("Non 5-bit word");I=tt(I)^C,u+=Et.charAt(C)}for(let h=0;h<6;++h)I=tt(I);I^=e;for(let h=0;h<6;++h){const C=I>>(5-h)*5&31;u+=Et.charAt(C)}return u}function r(o,A){if(A=A||90,o.length<8)return o+" too short";if(o.length>A)return"Exceeds length limit";const c=o.toLowerCase(),I=o.toUpperCase();if(o!==c&&o!==I)return"Mixed-case string "+o;o=c;const u=o.lastIndexOf("1");if(u===-1)return"No separator character for "+o;if(u===0)return"Missing prefix for "+o;const h=o.slice(0,u),C=o.slice(u+1);if(C.length<6)return"Data too short";let B=ue(h);if(typeof B=="string")return B;const W=[];for(let P=0;P<C.length;++P){const Y=C.charAt(P),g=ve[Y];if(g===void 0)return"Unknown character "+Y;B=tt(B)^g,!(P+6>=C.length)&&W.push(g)}return B!==e?"Invalid checksum for "+o:{prefix:h,words:W}}function i(o,A){const c=r(o,A);if(typeof c=="object")return c}function n(o,A){const c=r(o,A);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:n,encode:t,toWords:ms,fromWordsUnsafe:Es,fromWords:Bs}}st.bech32=be("bech32");st.bech32m=be("bech32m");var Qs=Xt&&Xt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(me,"__esModule",{value:!0});const xs=Qs(S.exports),ft=st,vt="asset";class ct{constructor(e){this.hashBuf=e}static fromHash(e){return new ct(e)}static fromParts(e,t){const r=(0,xs.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return ct.fromHash(r)}static fromBech32(e){const{prefix:t,words:r}=ft.bech32.decode(e);if(t!==vt)throw new Error("Invalid asset fingerprint");const i=Buffer.from(ft.bech32.fromWords(r));return ct.fromHash(i)}fingerprint(){const e=ft.bech32.toWords(this.hashBuf);return ft.bech32.encode(vt,e)}hash(){return Buffer.from(this.hashBuf).toString("hex")}prefix(){return vt}checksum(){return this.fingerprint().slice(-6)}}var Ss=me.default=ct;const Ds=Ss,vs=(s,e)=>{const t=Ge(s),r=t.derive(Dt+1852).derive(Dt+1815).derive(Dt+e),i=r.derive(0).derive(0).to_raw_key(),n=r.derive(2).derive(0).to_raw_key();return r.free(),t.free(),{paymentKey:i,stakeKey:n}},bs=s=>{const e=j(s);return a.hash_plutus_data(e).to_hex()},Ks=(s,e=Date.now())=>{if(pt[s]){const[t,r,i,n]=pt[s];return parseInt(a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).div_floor(a.BigNum.from_str(n)).checked_add(a.BigNum.from_str(t)).to_str(),10)}throw new Error(`Couldn't resolve EpochNo for network: ${s}`)},Ke=(s,e)=>Ds.fromParts(f(s),f(e)).fingerprint(),Us=(s,e)=>Ye[s][e],ks=s=>xt(s).hash().to_hex(),J=s=>{var e,t;try{const r=[(e=Ft(s))==null?void 0:e.payment_cred().to_keyhash(),(t=le(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve payment key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolvePaymentKeyHash: ${r}.`)}},Fs=(s,e=0)=>{const t=wt(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Ns=s=>{try{const e=le(s),t=e==null?void 0:e.payment_cred().to_scripthash();if(t!==void 0)return t.to_hex();throw new Error(`Couldn't resolve script hash from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveScriptHash: ${e}.`)}},Hs=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),Ps=s=>{const e=bt.mnemonicToEntropy(s.join(" ")),t=_e(e),r=t.to_bech32();return t.free(),r},Ms=s=>ht(s).to_hex(),Ts=(s,e=Date.now())=>{if(pt[s]){const[t,r,i]=pt[s];return a.BigNum.from_str(e.toString()).div_floor(a.BigNum.from_str("1000")).checked_sub(a.BigNum.from_str(i)).checked_add(a.BigNum.from_str(r)).to_str()}throw new Error(`Couldn't resolve SlotNo for network: ${s}`)},St=s=>{try{const e=N(s),t=Ft(s),r=t==null?void 0:t.stake_cred().to_keyhash();if(r!==void 0)return Ut(e.network_id(),r).to_address().to_bech32();throw new Error(`Couldn't resolve reward address from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveRewardAddress: ${e}.`)}},ot=s=>{var e,t;try{const r=[(e=Ft(s))==null?void 0:e.stake_cred().to_keyhash(),(t=ge(s))==null?void 0:t.payment_cred().to_keyhash()].find(i=>i!==void 0);if(r!==void 0)return r.to_hex();throw new Error(`Couldn't resolve stake key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolveStakeKeyHash: ${r}.`)}},Mt=(s,e=V.minFeeA,t=V.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),Ue=s=>{const e=$(s).body();return a.hash_transaction(e).to_hex()};class Vs{_axiosInstance;constructor(e,t=0){const r=e.slice(0,7);this._axiosInstance=rt.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${t}`,headers:{project_id:e}})}async fetchAccountInfo(e){const t=e.startsWith("addr")?St(e):e;try{const{data:r,status:i}=await this._axiosInstance.get(`accounts/${t}`);if(i===200)return{poolId:r.pool_id,active:r.active||r.active_epoch!==null,balance:r.controlled_amount,rewards:r.withdrawable_amount,withdrawals:r.withdrawals_sum};throw l(r)}catch(r){throw l(r)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/${t}`:"",i=`addresses/${e}/utxos`+r,n=async(c=1,I=[])=>{const{data:u,status:h}=await this._axiosInstance.get(`${i}?page=${c}`);if(h===200)return u.length>0?n(c+1,[...I,...await Promise.all(u.map(A))]):I;throw l(u)},o=async c=>{if(c){const{data:I,status:u}=await this._axiosInstance.get(`scripts/${c}`);if(u===200){const h=I.type.startsWith("plutus")?{code:await this.fetchPlutusScriptCBOR(c),version:I.type.replace("plutus","")}:await this.fetchNativeScriptJSON(c);return ht(h).to_hex()}throw l(I)}},A=async c=>({input:{outputIndex:c.output_index,txHash:c.tx_hash},output:{address:e,amount:c.amount,dataHash:c.data_hash??void 0,plutusData:c.inline_datum??void 0,scriptRef:await o(c.reference_script_hash)}});try{return await n()}catch{return[]}}async fetchAssetAddresses(e){const t=async(r=1,i=[])=>{const{data:n,status:o}=await this._axiosInstance.get(`assets/${e}/addresses?page=${r}`);if(o===200)return n.length>0?t(r+1,[...i,...n]):i;throw l(n)};try{return await t()}catch{return[]}}async fetchAssetMetadata(e){try{const{data:t,status:r}=await this._axiosInstance.get(`assets/${e}`);if(r===200)return{...t.onchain_metadata};throw l(t)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${kt[1]}${t}/addresses`);if(i===200)return r[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e=Number.NaN){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${isNaN(e)?"latest":e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_word,collateralPercent:t.collateral_percent,decentralisation:t.decentralisation_param,epoch:t.epoch,keyDeposit:t.key_deposit,maxBlockExMem:t.max_block_ex_mem,maxBlockExSteps:t.max_block_ex_steps,maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem,maxTxExSteps:t.max_tx_ex_steps,maxTxSize:t.max_tx_size,maxValSize:t.max_val_size,minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost,poolDeposit:t.pool_deposit,priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("tx/submit",f(e),{headers:t});if(i===200)return r;throw l(r)}catch(t){throw l(t)}}async fetchPlutusScriptCBOR(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/cbor`);if(r===200)return t.cbor;throw l(t)}async fetchNativeScriptJSON(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/json`);if(r===200)return t.json;throw l(t)}}class Os{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=rt.default.create({baseURL:`https://${i}:${n}/api/v${o}`,auth:{username:e,password:t}})}async uploadContent(e,t=!1){try{const r={"Content-Type":"multipart/form-data"},{data:i,status:n}=await this._axiosInstance.post(`add?recursive=${t}`,e,{headers:r});if(n===200)return i;throw l(i)}catch(r){throw l(r)}}}class Ys{_axiosInstance;constructor(e,t=0){this._axiosInstance=rt.default.create({baseURL:`https://${e}.koios.rest/api/v${t}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?St(e):e,{data:r,status:i}=await this._axiosInstance.post("account_info",{_stake_addresses:[t]});if(i===200)return{poolId:r[0].delegated_pool,active:r[0].status==="registered",balance:r[0].total_balance.toString(),rewards:r[0].rewards_available,withdrawals:r[0].withdrawals};throw l(r)}catch(t){throw l(t)}}async fetchAddressUTxOs(e,t){const r=i=>{if(i){const n=i.type.startsWith("plutus")?{code:i.bytes,version:i.type.replace("plutus","")}:Qt(At(i.bytes));return ht(n).to_hex()}};try{const{data:i,status:n}=await this._axiosInstance.post("address_info",{_addresses:[e]});if(n===200){const o=i.flatMap(A=>A.utxo_set).map(A=>{var c;return{input:{outputIndex:A.tx_index,txHash:A.tx_hash},output:{address:e,amount:[{unit:"lovelace",quantity:A.value},...A.asset_list.map(I=>({unit:`${I.policy_id}${I.asset_name}`,quantity:`${I.quantity}`}))],dataHash:A.datum_hash??void 0,plutusData:((c=A.inline_datum)==null?void 0:c.bytes)??void 0,scriptRef:r(A.reference_script)}}});return t!==void 0?o.filter(A=>A.output.amount.find(c=>c.unit===t)!==void 0):o}throw l(i)}catch{return[]}}async fetchAssetAddresses(e){try{const t=e.slice(0,x),r=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:i,status:n}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${t}&_asset_name=${r}`);if(n===200)return i.map(o=>({address:o.payment_address,quantity:o.quantity}));throw l(i)}catch(t){throw l(t)}}async fetchAssetMetadata(e){try{const t=e.slice(0,x),r=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:i,status:n}=await this._axiosInstance.get(`asset_info?_asset_policy=${t}&_asset_name=${r}`);if(n===200)return{...i[0].minting_tx_metadata[721][t][Nt(r)]};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${kt[1]}&_asset_name=${t}`);if(i===200)return r[0].payment_address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epoch_params?_epoch_no=${e}`);if(r===200)return{coinsPerUTxOSize:t[0].coins_per_utxo_size,collateralPercent:t[0].collateral_percent,decentralisation:t[0].decentralisation,epoch:t[0].epoch_no,keyDeposit:t[0].key_deposit,maxBlockExMem:t[0].max_block_ex_mem.toString(),maxBlockExSteps:t[0].max_block_ex_steps.toString(),maxBlockHeaderSize:t[0].max_bh_size,maxBlockSize:t[0].max_block_size,maxCollateralInputs:t[0].max_collateral_inputs,maxTxExMem:t[0].max_tx_ex_mem.toString(),maxTxExSteps:t[0].max_tx_ex_steps.toString(),maxTxSize:t[0].max_tx_size,maxValSize:t[0].max_val_size.toString(),minFeeA:t[0].min_fee_a,minFeeB:t[0].min_fee_b,minPoolCost:t[0].min_pool_cost,poolDeposit:t[0].pool_deposit,priceMem:t[0].price_mem,priceStep:t[0].price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("submittx",f(e),{headers:t});if(i===202)return r;throw l(r)}catch(t){throw l(t)}}}class Gs{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=rt.default.create({baseURL:`https://cardano-${e}.tangocrypto.com/${t}/v${i}`,headers:{"x-api-key":r}})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?St(e):e,{data:r,status:i}=await this._axiosInstance.get(`wallets/${t}`);if(i===200)return{poolId:r.pool_id,active:r.active,balance:r.controlled_total_stake,rewards:r.rewards_sum,withdrawals:r.withdrawals_sum};throw l(r)}catch(t){throw l(t)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/assets/${t}`:"",i=`addresses/${e}${r}/utxos?size=50`,n=async(I="",u=[])=>{var B;const{data:h,status:C}=await this._axiosInstance.get(`${i}&cursor=${I}`);if(C===200)return h.cursor!==null&&((B=h.cursor)==null?void 0:B.length)>0?n(h.cursor,[...u,...h.data.map(c)]):h.data.map(c);throw l(h)},o=(I,u)=>{const h=[{unit:"lovelace",quantity:I.toString()}];return u.forEach(C=>{const B=D(C.asset_name);h.push({unit:`${C.policy_id}${B}`,quantity:C.quantity.toString()})}),h},A=I=>{if(I){const u=I.type.startsWith("plutus")?{code:I.code,version:I.type.replace("plutus","")}:Qt(At(I.json));return ht(u).to_hex()}},c=I=>{var u;return{input:{outputIndex:I.index,txHash:I.hash},output:{address:e,amount:o(I.value,I.assets),dataHash:void 0,plutusData:((u=I.inline_datum)==null?void 0:u.value_raw)??void 0,scriptRef:A(I.reference_script)}}};try{return await n()}catch{return[]}}async fetchAssetAddresses(e){const t=i=>({address:i.address,quantity:i.quantity.toString()}),r=async(i="",n=[])=>{var c;const{data:o,status:A}=await this._axiosInstance.get(`assets/${e}/addresses?size=100&cursor=${i}`);if(A===200)return o.cursor!==null&&((c=o.cursor)==null?void 0:c.length)>0?r(o.cursor,[...n,...o.data.map(t)]):o.data.map(t);throw l(o)};try{return await r()}catch{return[]}}async fetchAssetMetadata(e){var t;try{const r=e.slice(0,x),i=e.includes(".")?D(e.split(".")[1]):e.slice(x),{data:n,status:o}=await this._axiosInstance.get(`assets/${e}`);if(o===200)return{...(t=n.metadata[0])==null?void 0:t.json[r][Nt(i)]};throw l(n)}catch(r){throw l(r)}}async fetchHandleAddress(e){try{const t=D(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${kt[1]}${t}/addresses`);if(i===200)return r.data[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_size.toString(),collateralPercent:t.collateral_percent,decentralisation:t.decentralisation,epoch:t.epoch_no,keyDeposit:t.key_deposit.toString(),maxBlockExMem:t.max_block_ex_mem.toString(),maxBlockExSteps:t.max_block_ex_steps.toString(),maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem.toString(),maxTxExSteps:t.max_tx_ex_steps.toString(),maxTxSize:t.max_tx_size,maxValSize:t.max_val_size.toString(),minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost.toString(),poolDeposit:t.pool_deposit.toString(),priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/json"},{data:r,status:i}=await this._axiosInstance.post("transactions/submit",{tx:e},{headers:t});if(i===200)return r.tx_id;throw l(r)}catch(t){throw l(t)}}}class Rs{static withOneSignature(e){const t=F(J(e));return dt(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=F(J(n));r.add(dt(o))});const i=a.ScriptNOfK.new(t,r);return a.NativeScript.new_script_any(i).to_hex()}static withAnySignature(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(J(i));t.add(dt(n))});const r=a.ScriptAny.new(t);return a.NativeScript.new_script_any(r).to_hex()}static withAllSignatures(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(J(i));t.add(dt(n))});const r=a.ScriptAll.new(t);return a.NativeScript.new_script_any(r).to_hex()}static fromNativeScript(e){return xt(e).to_hex()}}function z(s,e,t,r){var i=arguments.length,n=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,r);else for(var A=s.length-1;A>=0;A--)(o=s[A])&&(n=(i<3?o(n):i>3?o(e,t,n):o(e,t))||n);return i>3&&n&&Object.defineProperty(e,t,n),n}const Ls=s=>class extends s{__visits=[]},Z=()=>function(s,e,t){const r=t.value;t.value=function(...i){const n=r.call(this,...i);return this.__visits&&this.__visits.push(e),n}};exports.Transaction=class{_changeAddress;_recipients=new Map;_totalBurns=new Map;_totalMints=new Map;_era;_initiator;_protocolParameters;_txBuilder;_txCertificates;_txInputsBuilder;_txWithdrawals;constructor(e={}){this._era=e.era,this._initiator=e.initiator,this._protocolParameters=e.parameters??V,this._txBuilder=ss(e.parameters),this._txCertificates=a.Certificates.new(),this._txInputsBuilder=a.TxInputsBuilder.new(),this._txWithdrawals=a.Withdrawals.new()}static maskMetadata(e){var i;const t=$(e),r=(i=t.auxiliary_data())==null?void 0:i.metadata();if(r!==void 0){const n=a.GeneralTransactionMetadata.new();for(let A=0;A<r.len();A+=1){const c=r.keys().get(A),I=r.get(c);n.insert(c,a.TransactionMetadatum.from_hex("0".repeat(((I==null?void 0:I.to_hex())??"").length)))}const o=t.auxiliary_data();return o==null||o.set_metadata(n),a.Transaction.new(t.body(),t.witness_set(),o).to_hex()}return e}static readMetadata(e){var r,i;return((i=(r=$(e).auxiliary_data())==null?void 0:r.metadata())==null?void 0:i.to_hex())??""}static writeMetadata(e,t){const r=$(e),i=r.auxiliary_data()??a.AuxiliaryData.new();return i.set_metadata(a.GeneralTransactionMetadata.from_hex(t)),a.Transaction.new(r.body(),r.witness_set(),i).to_hex()}get size(){return this._txBuilder.full_size()}async build(){try{return this.notVisited("redeemValue")===!1&&(await this.addRequiredSignersIfNeeded(),await this.addCollateralIfNeeded()),await this.forgeAssetsIfNeeded(),await this.addTxInputsAsNeeded(),await this.addChangeAddress(),this._txBuilder.build_tx().to_hex()}catch(e){throw new Error(`[Transaction] An error occurred during build: ${e}.`)}}burnAsset(e,t){const r=this._totalBurns.has(t.unit)?a.BigNum.from_str(this._totalBurns.get(t.unit)??"0").checked_add(a.BigNum.from_str(t.quantity)).to_str():t.quantity;return this._txBuilder.add_mint_asset(At(e),a.AssetName.new(f(t.unit.slice(x))),a.Int.new_negative(a.BigNum.from_str(t.quantity))),this._totalBurns.set(t.unit,r),this}delegateStake(e,t){const r=a.Certificate.new_stake_delegation(a.StakeDelegation.new(a.StakeCredential.from_keyhash(F(ot(e))),a.Ed25519KeyHash.from_bech32(t)));return this._txCertificates.add(r),this}deregisterStake(e){const t=a.Certificate.new_stake_deregistration(a.StakeDeregistration.new(a.StakeCredential.from_keyhash(F(ot(e)))));return this._txCertificates.add(t),this}mintAsset(e,t){var A,c;const i=((I,u)=>{const h=At(I).hash().to_hex(),C=D(u.assetName);return{unit:`${h}${C}`,quantity:u.assetQuantity}})(e,t),o=a.BigNum.from_str(((A=this._totalMints.get(i.unit))==null?void 0:A.assetQuantity)??"0").checked_add(a.BigNum.from_str(i.quantity));return this._txBuilder.add_mint_asset(At(e),a.AssetName.new(f(D(t.assetName))),a.Int.new(a.BigNum.from_str(i.quantity))),this._recipients.has(t.recipient)?(c=this._recipients.get(t.recipient))==null||c.push(i):this._recipients.set(t.recipient,[i]),this._totalMints.set(i.unit,{...t,assetQuantity:o.to_str()}),this}redeemValue(e){if("assetName"in e.value)throw new Error("Plutus Minting is not implemented yet...");const t={tag:"SPEND",budget:Ve,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=q(e.value),i=a.PlutusWitness.new_with_ref(es(e.script),ts(e.datum),je(t));return this._txInputsBuilder.add_plutus_script_input(i,r.input(),r.output().amount()),this}registerStake(e){const t=a.Certificate.new_stake_registration(a.StakeRegistration.new(a.StakeCredential.from_keyhash(F(ot(e)))));return this._txCertificates.add(t),this}registerPool(e){const t=a.Certificate.new_pool_registration(a.PoolRegistration.new(Je(e)));return this._txCertificates.add(t),this}retirePool(e,t){const r=a.Certificate.new_pool_retirement(a.PoolRetirement.new(a.Ed25519KeyHash.from_bech32(e),t));return this._txCertificates.add(r),this}sendAssets(e,t){const r=_t(t),i=r.multiasset();if(r.is_zero()||i===void 0)return this;const o=lt(e).next().with_asset_and_min_required_coin_by_utxo_cost(i,Wt(this._protocolParameters.coinsPerUTxOSize)).build();return this._txBuilder.add_output(o),this}sendLovelace(e,t){const i=lt(e).next().with_coin(a.BigNum.from_str(t)).build();return this._txBuilder.add_output(i),this}sendValue(e,t){const r=_t(t.output.amount),n=lt(e).next().with_value(r).build();return this._txBuilder.add_output(n),this}setChangeAddress(e){return this._changeAddress=N(e),this}setCollateral(e){const t=jt(e);return this._txBuilder.set_collateral(t),this}setMetadata(e,t){return this._txBuilder.add_json_metadatum_with_schema(a.BigNum.from_str(e.toString()),JSON.stringify(t),a.MetadataJsonSchema.NoConversions),this}setRequiredSigners(e){return Array.from(new Set(e.map(r=>r.startsWith("addr")?J(r):ot(r)).map(r=>F(r)))).forEach(r=>{this._txBuilder.add_required_signer(r)}),this}setTimeToStart(e){return this._txBuilder.set_validity_start_interval_bignum(a.BigNum.from_str(e)),this}setTimeToExpire(e){return this._txBuilder.set_ttl_bignum(a.BigNum.from_str(e)),this}setTxInputs(e){return e.map(t=>q(t)).forEach(t=>{this._txInputsBuilder.add_input(t.output().address(),t.input(),t.output().amount())}),this}withdrawRewards(e,t){const r=ge(e);return r!==void 0&&this._txWithdrawals.insert(r,a.BigNum.from_str(t)),this}async addBurnInputsIfNeeded(){if(this._initiator&&this._totalBurns.size>0&&this.notVisited("setTxInputs")){const e=await this._initiator.getUsedUTxOs();pe(this._totalBurns,e.map(r=>yt(r))).map(r=>q(r)).forEach(r=>{this._txInputsBuilder.add_input(r.output().address(),r.input(),r.output().amount())})}}async addChangeAddress(){if(this._initiator&&this._changeAddress===void 0){const e=await this._initiator.getUsedAddress();this._txBuilder.add_change_if_needed(e)}else this._changeAddress!==void 0&&this._txBuilder.add_change_if_needed(this._changeAddress)}async addCollateralIfNeeded(){if(this._initiator&&this.notVisited("setCollateral")){const e=await this._initiator.getUsedCollateral();this._txBuilder.set_collateral(jt(e))}}async addRequiredSignersIfNeeded(){if(this._initiator&&this.notVisited("setRequiredSigners")){const e=await this._initiator.getUsedAddress(),t=J(e.to_bech32());this._txBuilder.add_required_signer(F(t))}}async addTxInputsAsNeeded(){if(this._txBuilder.set_inputs(this._txInputsBuilder),this._txCertificates.len()>0&&this._txBuilder.set_certs(this._txCertificates),this._txWithdrawals.len()>0&&this._txBuilder.set_withdrawals(this._txWithdrawals),this.notVisited("setTxInputs")){const e=!this.notVisited("mintAsset")||!this.notVisited("sendAssets")||!this.notVisited("sendValue"),t=await this.selectLovelaceUTxOs(!1),r=await this.filterAvailableUTxOs(t),i=e?a.CoinSelectionStrategyCIP2.LargestFirstMultiAsset:a.CoinSelectionStrategyCIP2.LargestFirst;this._txBuilder.add_inputs_from(r,i)}if(this.notVisited("redeemValue")===!1){const e=this._era!==void 0?Rt[this._era]:Rt.BABBAGE;this._txBuilder.calc_script_data_hash(e)}}async forgeAssetsIfNeeded(){const e=(t,r)=>{const i=t.data.assetName,n=t.data.metadata,o=t.unit.slice(0,x);if(r&&r[o]){const{[o]:A,...c}=r,I={[i]:n,...A};return{[o]:{...I},...c}}return r!==void 0?{[o]:{[i]:n},...r}:{[o]:{[i]:n}}};await this.addBurnInputsIfNeeded(),Array.from(this._totalMints,t=>({unit:t[0],data:t[1]})).reduce((t,r)=>t.set(r.data.label,e(r,t.get(r.data.label))),new Map).forEach((t,r)=>{this._txBuilder.add_json_metadatum(a.BigNum.from_str(r),JSON.stringify(t))}),this.addMintOutputs()}async filterAvailableUTxOs(e=[]){const t=a.TransactionUnspentOutputs.new();return this._initiator===void 0||(await this._initiator.getUsedUTxOs()).filter(i=>e.find(n=>n.input.txHash===i.input().transaction_id().to_hex())===void 0).forEach(i=>{t.add(i)}),t}async selectLovelaceUTxOs(e){if(this._initiator===void 0||e===!1)return[];const t=await this._initiator.getUsedUTxOs(),r=Ce("5000000",t.map(n=>yt(n)));return r.map(n=>q(n)).forEach(n=>{this._txBuilder.add_input(n.output().address(),n.input(),n.output().amount())}),r}addMintOutputs(){this._recipients.forEach((e,t)=>{const i=_t(e).multiasset();if(i!==void 0){const o=lt(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,Wt(this._protocolParameters.coinsPerUTxOSize)).build();this._txBuilder.add_output(o)}})}notVisited(e){return this.__visits.includes(e)===!1}};z([Z()],exports.Transaction.prototype,"mintAsset",null);z([Z()],exports.Transaction.prototype,"redeemValue",null);z([Z()],exports.Transaction.prototype,"sendAssets",null);z([Z()],exports.Transaction.prototype,"sendValue",null);z([Z()],exports.Transaction.prototype,"setCollateral",null);z([Z()],exports.Transaction.prototype,"setRequiredSigners",null);z([Z()],exports.Transaction.prototype,"setTxInputs",null);exports.Transaction=z([Ls],exports.Transaction);const ke=(s,e)=>{const t=s.vkeys();if(t!==void 0){const r=new Set;for(let n=0;n<t.len();n+=1)r.add(t.get(n).to_hex());for(let n=0;n<e.len();n+=1)r.add(e.get(n).to_hex());const i=a.Vkeywitnesses.new();return r.forEach(n=>{i.add(a.Vkeywitness.from_hex(n))}),i}return e};class w{_networkId;_encryptedSecret;constructor(e,t){this._networkId=e,this._encryptedSecret=t}getAccount(e,t){return this.accountContext(e,t,(r,i)=>{const n=zt(this._networkId,r.to_public().hash(),i.to_public().hash()).to_address().to_bech32(),o=Jt(this._networkId,r.to_public().hash()).to_address().to_bech32(),A=Ut(this._networkId,i.to_public().hash()).to_address().to_bech32();return{baseAddress:n,enterpriseAddress:o,rewardAddress:A}})}signData(e,t,r,i){try{return this.accountContext(e,t,(n,o)=>{const A={payload:i},c={address:w.resolveAddress(this._networkId,r,n,o),key:r.startsWith("stake")?o:n},{coseSign1:I,coseKey:u}=as(A,c);return{signature:I,key:u}})}catch(n){throw new Error(`An error occurred during signData: ${n}.`)}}signTx(e,t,r,i,n){try{const o=de(Ue(i));return this.accountContext(e,t,(A,c)=>{const I=a.Vkeywitnesses.new();return w.resolveSigners(i,r,A.to_public().hash().to_hex()).forEach(h=>{if(h===A.to_public().hash().to_hex())I.add(a.make_vkey_witness(o,A));else if(h===c.to_public().hash().to_hex())I.add(a.make_vkey_witness(o,c));else if(n===!1)throw new Error(`Missing key witness for: ${h}`)}),I})}catch(o){throw new Error(`An error occurred during signTx: ${o}.`)}}static encryptMnemonic(e,t){const r=bt.mnemonicToEntropy(e.join(" ")),i=_e(r),n=X(i.as_bytes());return i.free(),w.encrypt(n,t)}static encryptPrivateKey(e,t){const r=a.Bip32PrivateKey.from_bech32(e),i=X(r.as_bytes());return r.free(),w.encrypt(i,t)}static encryptSigningKeys(e,t,r){const i=w.encrypt(e.slice(4),r),n=w.encrypt(t.slice(4),r);return[i,n]}static generateMnemonic(e=256){return bt.generateMnemonic(e).split(" ")}accountContext(e,t,r){const{paymentKey:i,stakeKey:n}=w.resolveKeys(e,t,this._encryptedSecret),o=r(i,n);return i.free(),n.free(),o}static decrypt(e,t){try{return a.decrypt_with_password(D(t),e)}catch{throw new Error("The password is incorrect.")}}static encrypt(e,t){const r=Pe.customAlphabet("0123456789abcdef"),i=r(64),n=r(24);return a.encrypt_with_password(D(t),i,n,e)}static resolveAddress(e,t,r,i){const n=[zt(e,r.to_public().hash(),i.to_public().hash()),Jt(e,r.to_public().hash()),Ut(e,i.to_public().hash())].find(o=>o.to_address().to_bech32()===t);if(n!==void 0)return n.to_address();throw new Error(`Address: ${t} doesn't belong to this account.`)}static resolveKeys(e,t,r){if(typeof r=="string"){const o=w.decrypt(r,t);return vs(o,e)}const i=w.decrypt(r[0],t),n=w.decrypt(r[1],t);return{paymentKey:a.PrivateKey.from_hex(i),stakeKey:a.PrivateKey.from_hex(n)}}static resolveSigners(e,t,r){const i=A=>{const c=(g,Q=[],m=0)=>{var ut,it,Tt,Vt,Ot;if(g===void 0||m>=g.len())return Q;const b=g.get(m),K=new Array;switch(b.kind()){case a.CertificateKind.StakeDeregistration:{const y=(ut=b.as_stake_deregistration())==null?void 0:ut.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&K.push(M.to_hex());break}case a.CertificateKind.StakeDelegation:{const y=(it=b.as_stake_delegation())==null?void 0:it.stake_credential(),M=(y==null?void 0:y.kind())===a.StakeCredKind.Key?y.to_keyhash():void 0;M&&K.push(M.to_hex());break}case a.CertificateKind.PoolRegistration:{const y=(Tt=b.as_pool_registration())==null?void 0:Tt.pool_params().pool_owners();K.push(...u(y));break}case a.CertificateKind.PoolRetirement:{const y=(Vt=b.as_pool_retirement())==null?void 0:Vt.pool_keyhash();y&&K.push(y.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const y=(Ot=b.as_move_instantaneous_rewards_cert())==null?void 0:Ot.move_instantaneous_reward().as_to_stake_creds();if(y)for(let M=0;M<y.len();M+=1){const Yt=y.keys().get(M),Gt=Yt.kind()===a.StakeCredKind.Key?Yt.to_keyhash():void 0;Gt&&K.push(Gt.to_hex())}break}}return c(g,[...Q,...K],m+1)},I=(g,Q=[],m=0)=>{if(g===void 0||m>=g.len())return Q;const b=g.get(m).index(),K=g.get(m).transaction_id(),ut=t.find(it=>it.input.outputIndex===b&&it.input.txHash===K.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return I(g,[...Q,ut],m+1)},u=(g,Q=[],m=0)=>g===void 0||m>=g.len()?Q:u(g,[...Q,g.get(m).to_hex()],m+1),h=(g,Q=[],m=0)=>{if(g===void 0||m>=g.len())return Q;const b=g.keys().get(m).payment_cred(),K=b.kind()===a.StakeCredKind.Key?b.to_keyhash():void 0;return h(g,K?[...Q,K.to_hex()]:Q,m+1)},C=A.certs(),B=A.collateral(),W=A.inputs(),P=A.required_signers(),Y=A.withdrawals();return[...c(C),...I(B),...I(W),...u(P),...h(Y)]},n=A=>{const c=(u,h=[])=>{var C,B,W,P;if(u)for(let Y=0;Y<u.len();Y+=1){const g=u.get(Y);switch(g.kind()){case a.NativeScriptKind.ScriptPubkey:{const Q=(C=g.as_script_pubkey())==null?void 0:C.addr_keyhash().to_hex();return Q?[...h,Q]:h}case a.NativeScriptKind.ScriptAll:return c((B=g.as_script_all())==null?void 0:B.native_scripts(),h);case a.NativeScriptKind.ScriptAny:return c((W=g.as_script_any())==null?void 0:W.native_scripts(),h);case a.NativeScriptKind.ScriptNOfK:return c((P=g.as_script_n_of_k())==null?void 0:P.native_scripts(),h)}}return h},I=A.native_scripts();return[...c(I)]},o=$(e);return new Set([...i(o.body()),...n(o.witness_set())])}}const U="MARI0TIME";class qs{_fetcher;_submitter;_wallet;constructor(e){switch(this._fetcher=e.fetcher,this._submitter=e.submitter,e.key.type){case"mnemonic":this._wallet=new w(e.networkId,w.encryptMnemonic(e.key.words,U));break;case"root":this._wallet=new w(e.networkId,w.encryptPrivateKey(e.key.bech32,U));break;case"cli":this._wallet=new w(e.networkId,w.encryptSigningKeys(e.key.payment,e.key.stake??"f0".repeat(34),U))}}getPaymentAddress(e=0){return this._wallet.getAccount(e,U).enterpriseAddress}getRewardAddress(e=0){return this._wallet.getAccount(e,U).rewardAddress}getUsedAddress(e=0){const t=this._wallet.getAccount(e,U);return N(t.enterpriseAddress)}getUsedCollateral(e=V.maxCollateralInputs){throw new Error("getUsedCollateral not implemented.")}async getUsedUTxOs(e=0){const t=this._wallet.getAccount(e,U);return(await this._fetcher.fetchAddressUTxOs(t.enterpriseAddress)).map(i=>q(i))}signData(e,t,r=0){try{return this._wallet.signData(r,U,e,t)}catch(i){throw new Error(`[AppWallet] An error occurred during signData: ${i}.`)}}async signTx(e,t=!1,r=0){try{const i=this._wallet.getAccount(r,U),n=await this._fetcher.fetchAddressUTxOs(i.enterpriseAddress),o=this._wallet.signTx(r,U,n,e,t),A=$(e),c=A.witness_set(),I=ke(c,o);return c.set_vkeys(I),a.Transaction.new(A.body(),c,A.auxiliary_data()).to_hex()}catch(i){throw new Error(`[AppWallet] An error occurred during signTx: ${i}.`)}}submitTx(e){return this._submitter.submitTx(e)}static brew(e=256){return w.generateMnemonic(e)}}class Bt{_walletInstance;constructor(e){this._walletInstance=e}static getInstalledWallets(){return window.cardano===void 0?[]:Lt.filter(e=>window.cardano[e]!==void 0).map(e=>({name:window.cardano[e].name,icon:window.cardano[e].icon,version:window.cardano[e].apiVersion}))}static async enable(e){try{const t=await Bt.resolveInstance(e);if(t!==void 0)return new Bt(t);throw new Error(`Couldn't create an instance of wallet: ${e}`)}catch(t){throw new Error(`[BrowserWallet] An error occurred during enable: ${t}.`)}}async getBalance(){const e=await this._walletInstance.getBalance();return fe(We(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return at(e).to_bech32()}async getCollateral(e=V.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>yt(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>at(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>at(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>at(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>yt(t))}signData(e,t){const r=N(e).to_hex();return this._walletInstance.signData(r,D(t))}async signTx(e,t=!1){try{const r=$(e),i=r.witness_set(),n=await this._walletInstance.signTx(e,t),o=ze(n).vkeys()??a.Vkeywitnesses.new(),A=ke(i,o);return i.set_vkeys(A),X(a.Transaction.new(r.body(),i,r.auxiliary_data()).to_bytes())}catch(r){throw new Error(`[BrowserWallet] An error occurred during signTx: ${JSON.stringify(r)}.`)}}submitTx(e){return this._walletInstance.submitTx(e)}async getUsedAddress(){const e=await this._walletInstance.getUsedAddresses();return at(e[0])}async getUsedCollateral(e=V.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>qt(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>qt(t))}async getAssets(){return(await this.getBalance()).filter(t=>t.unit!=="lovelace").map(t=>{const r=t.unit.slice(0,x),i=t.unit.slice(x),n=Ke(r,i);return{unit:t.unit,policyId:r,assetName:Nt(i),fingerprint:n,quantity:t.quantity}})}async getLovelace(){const t=(await this.getBalance()).find(r=>r.unit==="lovelace");return t!==void 0?t.quantity:"0"}async getPolicyIdAssets(e){return(await this.getAssets()).filter(r=>r.policyId===e)}async getPolicyIds(){const e=await this.getBalance();return Array.from(new Set(e.map(t=>t.unit.slice(0,x)))).filter(t=>t!=="lovelace")}static resolveInstance(e){if(window.cardano===void 0)return;const t=Lt.map(r=>window.cardano[r]).filter(r=>r!==void 0).find(r=>r.name.toLowerCase()===e.toLowerCase());return t==null?void 0:t.enable()}}const Fe="http://localhost:4000/",$s="http://localhost:5000/",zs=`${Fe}access`,Ws=`${Fe}transaction/signtx`;class Js{static getAxiosInstance(){return rt.default.create({baseURL:$s,withCredentials:!0})}static getAppId(){return window.location.hostname}static async openMinaFrontend(e){const t=this.getAppId();e.includes("?")?e=`${e}&appId=${t}`:e=`${e}?appId=${t}`;const r="left=100,top=100,width=540,height=540",i=window.open(e,"meshWindow",r);return i||console.error("the window did not open",i),await(async()=>new Promise(n=>{window.addEventListener("message",async o=>{o.data.target=="minaWallet"&&n(o.data)})}))()}static async get(e,t={}){const r=this.getAppId();t={...t,appId:r};try{return(await this.getAxiosInstance().get(e,{params:t})).data}catch{console.error("Not logged in");return}}static async enable(){return await this.get("wallet/getuserwalletsmeta")===void 0?await this.openMinaFrontend(zs):!0}static async getChangeAddress(e=void 0,t=void 0){return await this.get("wallet/getchangeaddress",{walletId:e,accountIndex:t})}static async getUtxos(e=void 0,t=void 0){return await this.get("wallet/getutxo",{walletId:e,accountIndex:t})}static async signTx(e,t=!1){const r=await this.get("wallet/getuserwalletsmeta");if(console.log("userWalletsMeta",r),r){const i=await this.openMinaFrontend(`${Ws}?unsignedTx=${e}&partialSign=${t}`);if(i instanceof a.Vkeywitnesses){const n=$(e),o=n.witness_set();o.set_vkeys(i);const A=a.Transaction.new(n.body(),o,n.auxiliary_data()).to_hex();return console.log("signedTx",A),A}}else return}}exports.AppWallet=qs;exports.BlockfrostProvider=Vs;exports.BrowserWallet=Bt;exports.EmbeddedWallet=w;exports.ForgeScript=Rs;exports.InfuraProvider=Os;exports.KoiosProvider=Ys;exports.MinaWallet=Js;exports.TangoProvider=Gs;exports.largestFirst=Ce;exports.largestFirstMultiAsset=pe;exports.resolveDataHash=bs;exports.resolveEpochNo=Ks;exports.resolveFingerprint=Ke;exports.resolveLanguageView=Us;exports.resolveNativeScriptHash=ks;exports.resolvePaymentKeyHash=J;exports.resolvePlutusScriptAddress=Fs;exports.resolvePlutusScriptHash=Ns;exports.resolvePoolId=Hs;exports.resolvePrivateKey=Ps;exports.resolveRewardAddress=St;exports.resolveScriptRef=Ms;exports.resolveSlotNo=Ts;exports.resolveStakeKeyHash=ot;exports.resolveTxFees=Mt;exports.resolveTxHash=Ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ge=require("nanoid"),Ge=require("@emurgo/cardano-serialization-lib-nodejs"),Re=require("axios"),Kt=require("bip39"),p=require("@emurgo/cardano-message-signing-nodejs"),Le=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function qe(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=qe(Ge),J=Le(Re),$e=["testnet","preview","preprod","mainnet"],fe=s=>$e.includes(s),_e={mem:7e6,steps:3e9},G={epoch:0,coinsPerUTxOSize:"4310",priceMem:.0577,priceStep:721e-7,minFeeA:44,minFeeB:155381,keyDeposit:"2000000",maxTxSize:16384,maxValSize:"5000",poolDeposit:"500000000",maxCollateralInputs:3,decentralisation:0,maxBlockSize:98304,collateralPercent:150,maxBlockHeaderSize:1100,minPoolCost:"340000000",maxTxExMem:"16000000",maxTxExSteps:"10000000000",maxBlockExMem:"80000000",maxBlockExSteps:"40000000000"},Dt=2147483648,wt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},H=56,ze={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()},We={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}},Nt={[a.NetworkInfo.testnet().network_id()]:"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3",[a.NetworkInfo.mainnet().network_id()]:"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"},Je={mainnet:"wss://ogmios-api.mainnet.dandelion.link",preprod:"wss://ogmios-api.iohk-preprod.dandelion.link",preview:"__TBD_SOON_TM__",testnet:"wss://ogmios-api.testnet.dandelion.link"},qt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],pe=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=G)=>{const o=e.filter(u=>ye(u)===!1).sort(we),c=a.BigNum.from_str(Mt(r,i,n)),A=t?a.BigNum.from_str(s).checked_add(c).to_str():s;return mt(o,new Map([["lovelace",A]]))},Ce=(s,e,t=!1,r=G)=>{const i=e.filter(ye).sort(we),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:c,minFeeB:A}=r,h=a.BigNum.from_str(Mt(o,c,A)),d=t?a.BigNum.from_str(n).checked_add(h).to_str():n;return s.set("lovelace",d),mt(i,s)},je=(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(t.unit===c.unit?c.quantity:"0")),a.BigNum.from_str("0"));return r.checked_add(n)},a.BigNum.from_str("0")).less_than(t.quantity)===!1),we=(s,e)=>{var i,n;const t=a.BigNum.from_str(((i=s.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:i.quantity)??"0");return a.BigNum.from_str(((n=e.output.amount.find(o=>o.unit==="lovelace"))==null?void 0:n.quantity)??"0").compare(t)},ye=s=>s.output.amount.length>1,mt=(s,e,t=[])=>s.length===0||je(t,e)?t:Xe(s[0],e)?mt(s.slice(1),e,[...t,s[0]]):mt(s.slice(1),e,t),Xe=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),Ze=(s,e)=>{const t=ss(e),r=rs(s,e);return{coseKey:K(t.to_bytes()),coseSign1:K(r.to_bytes())}},ts=(s,e,{key:t,signature:r})=>{var o,c;const i=p.COSEKey.from_bytes(f(t)),n=p.COSESign1.from_bytes(f(r));if((s==null?void 0:s.length)>0){const A=K(n.payload()??new Uint8Array);if(v(s)!==A)return!1}if((e==null?void 0:e.length)>0){const h=(o=n.headers().protected().deserialized_headers().header(p.Label.new_text("address")))==null?void 0:o.as_bytes();if(h===void 0)throw new Error("Couldn't find a signer address in signature");const d=(c=i.header(p.Label.new_int(p.Int.new_negative(p.BigNum.from_str("2")))))==null?void 0:c.as_bytes();if(d===void 0)throw new Error("Couldn't find a signer key in signature");const u=et(K(h)),g=bs(K(d));if(es(e,u,g)===!1)throw new Error("Couldn't check signature because of address mismatch");const w=vs(K(n.signature())),S=n.signed_data().to_bytes();return g.verify(S,w)}return!1},es=(s,e,t)=>{if(s!==e.to_bech32())return!1;try{return st(s)===t.hash().to_hex()}catch{return!1}},ss=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},rs=(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(),c=e.key.sign(o.to_bytes());return n.build(c.to_bytes())};var $t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},me={},Q={exports:{}};R.notEqual=as;R.notOk=ns;R.equal=is;R.ok=R;var Be=R;function is(s,e,t){R(s==e,t)}function as(s,e,t){R(s!=e,t)}function ns(s,e){R(!s,e)}function R(s,e){if(!s)throw new Error(e||"AssertionError")}var T={exports:{}};function os(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 cs=Ft;Ft.supported=typeof WebAssembly<"u";function Ft(s){if(!Ft.supported)return null;var e=s&&s.imports,t=As("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 As(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(hs)):new(os("buffer")).Buffer(s,"base64")}function hs(s){return s.charCodeAt(0)}var N=Be,C=cs(),V=64,pt=[];T.exports=b;var zt=T.exports.BYTES_MIN=16,Wt=T.exports.BYTES_MAX=64;T.exports.BYTES=32;var Jt=T.exports.KEYBYTES_MIN=16,jt=T.exports.KEYBYTES_MAX=64;T.exports.KEYBYTES=32;var Xt=T.exports.SALTBYTES=16,Zt=T.exports.PERSONALBYTES=16;function b(s,e,t,r,i){if(!(this instanceof b))return new b(s,e,t,r,i);if(!(C&&C.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(N(s>=zt,"digestLength must be at least "+zt+", was given "+s),N(s<=Wt,"digestLength must be at most "+Wt+", was given "+s),e!=null&&N(e.length>=Jt,"key must be at least "+Jt+", was given "+e.length),e!=null&&N(e.length<=jt,"key must be at least "+jt+", was given "+e.length),t!=null&&N(t.length===Xt,"salt must be exactly "+Xt+", was given "+t.length),r!=null&&N(r.length===Zt,"personal must be exactly "+Zt+", was given "+r.length)),pt.length||(pt.push(V),V+=216),this.digestLength=s,this.finalized=!1,this.pointer=pt.pop(),C.memory.fill(0,0,64),C.memory[0]=this.digestLength,C.memory[1]=e?e.length:0,C.memory[2]=1,C.memory[3]=1,t&&C.memory.set(t,32),r&&C.memory.set(r,48),this.pointer+216>C.memory.length&&C.realloc(this.pointer+216),C.exports.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),C.memory.fill(0,V,V+e.length),C.memory[this.pointer+200]=128)}b.prototype.update=function(s){return N(this.finalized===!1,"Hash instance finalized"),N(s,"input must be TypedArray or Buffer"),V+s.length>C.memory.length&&C.realloc(V+s.length),C.memory.set(s,V),C.exports.blake2b_update(this.pointer,V,V+s.length),this};b.prototype.digest=function(s){if(N(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,pt.push(this.pointer),C.exports.blake2b_final(this.pointer),!s||s==="binary")return C.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(s==="hex")return ds(C.memory,this.pointer+128,this.digestLength);N(s.length>=this.digestLength,"input must be TypedArray or Buffer");for(var e=0;e<this.digestLength;e++)s[e]=C.memory[this.pointer+128+e];return s};b.prototype.final=b.prototype.digest;b.WASM=C&&C.buffer;b.SUPPORTED=typeof WebAssembly<"u";b.ready=function(s){if(s||(s=us),!C)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){C.onload(function(i){i?r():t(),s(i)})});return e};b.prototype.ready=b.ready;function us(){}function ds(s,e,t){for(var r="",i=0;i<t;i++)r+=Is(s[e+i]);return r}function Is(s){return s<16?"0"+s.toString(16):s.toString(16)}var z=Be,ut=T.exports;function lt(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 te(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 q(s,e,t,r,i,n){var o=At[i],c=At[i+1],A=At[n],h=At[n+1];lt(l,s,e),te(l,s,o,c);var d=l[r]^l[s],u=l[r+1]^l[s+1];l[r]=u,l[r+1]=d,lt(l,t,r),d=l[e]^l[t],u=l[e+1]^l[t+1],l[e]=d>>>24^u<<8,l[e+1]=u>>>24^d<<8,lt(l,s,e),te(l,s,A,h),d=l[r]^l[s],u=l[r+1]^l[s+1],l[r]=d>>>16^u<<16,l[r+1]=u>>>16^d<<16,lt(l,t,r),d=l[e]^l[t],u=l[e+1]^l[t+1],l[e]=u>>>31^d<<1,l[e+1]=d>>>31^u<<1}var xe=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),ls=[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(ls.map(function(s){return s*2})),l=new Uint32Array(32),At=new Uint32Array(32);function Se(s,e){var t=0;for(t=0;t<16;t++)l[t]=s.h[t],l[t+16]=xe[t];for(l[24]=l[24]^s.t,l[25]=l[25]^s.t/4294967296,e&&(l[28]=~l[28],l[29]=~l[29]),t=0;t<32;t++)At[t]=Ee(s.b,4*t);for(t=0;t<12;t++)q(0,8,16,24,E[t*16+0],E[t*16+1]),q(2,10,18,26,E[t*16+2],E[t*16+3]),q(4,12,20,28,E[t*16+4],E[t*16+5]),q(6,14,22,30,E[t*16+6],E[t*16+7]),q(0,10,20,30,E[t*16+8],E[t*16+9]),q(2,12,22,24,E[t*16+10],E[t*16+11]),q(4,14,16,26,E[t*16+12],E[t*16+13]),q(6,8,18,28,E[t*16+14],E[t*16+15]);for(t=0;t<16;t++)s.h[t]=s.h[t]^l[t]^l[t+16]}var $=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 it(s,e,t,r){$.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=s,$[0]=s,e&&($[1]=e.length),$[2]=1,$[3]=1,t&&$.set(t,32),r&&$.set(r,48);for(var i=0;i<16;i++)this.h[i]=xe[i]^Ee($,i*4);e&&(Qe(this,e),this.c=128)}it.prototype.update=function(s){return z(s!=null,"input must be Uint8Array or Buffer"),Qe(this,s),this};it.prototype.digest=function(s){var e=!s||s==="binary"||s==="hex"?new Uint8Array(this.outlen):s;return z(e.length>=this.outlen,"out must have at least outlen bytes of space"),gs(this,e),s==="hex"?fs(e):e};it.prototype.final=it.prototype.digest;it.ready=function(s){ut.ready(function(){s()})};function Qe(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 gs(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 fs(s){for(var e="",t=0;t<s.length;t++)e+=_s(s[t]);return e}function _s(s){return s<16?"0"+s.toString(16):s.toString(16)}var ve=it;Q.exports=function(e,t,r,i,n){return n!==!0&&(z(e>=ee,"outlen must be at least "+ee+", was given "+e),z(e<=se,"outlen must be at most "+se+", was given "+e),t!=null&&z(t.length>=re,"key must be at least "+re+", was given "+t.length),t!=null&&z(t.length<=ie,"key must be at most "+ie+", was given "+t.length),r!=null&&z(r.length===ae,"salt must be exactly "+ae+", was given "+r.length),i!=null&&z(i.length===ne,"personal must be exactly "+ne+", was given "+i.length)),new ve(e,t,r,i)};Q.exports.ready=function(s){ut.ready(function(){s()})};Q.exports.WASM_SUPPORTED=ut.SUPPORTED;Q.exports.WASM_LOADED=!1;var ee=Q.exports.BYTES_MIN=16,se=Q.exports.BYTES_MAX=64;Q.exports.BYTES=32;var re=Q.exports.KEYBYTES_MIN=16,ie=Q.exports.KEYBYTES_MAX=64;Q.exports.KEYBYTES=32;var ae=Q.exports.SALTBYTES=16,ne=Q.exports.PERSONALBYTES=16;ut.ready(function(s){s||(Q.exports.WASM_LOADED=!0,ve=ut)});var at={};Object.defineProperty(at,"__esModule",{value:!0});at.bech32m=at.bech32=void 0;const Bt="qpzry9x8gf2tvdw0s3jn54khce6mua7l",be={};for(let s=0;s<Bt.length;s++){const e=Bt.charAt(s);be[e]=s}function rt(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 oe(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=rt(e)^r>>5}e=rt(e);for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);e=rt(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 ps(s){return Ht(s,8,5,!0)}function Cs(s){const e=Ht(s,5,8,!1);if(Array.isArray(e))return e}function ws(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 h=oe(o);if(typeof h=="string")throw new Error(h);let d=o+"1";for(let u=0;u<c.length;++u){const g=c[u];if(g>>5!==0)throw new Error("Non 5-bit word");h=rt(h)^g,d+=Bt.charAt(g)}for(let u=0;u<6;++u)h=rt(h);h^=e;for(let u=0;u<6;++u){const g=h>>(5-u)*5&31;d+=Bt.charAt(g)}return d}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(),h=o.toUpperCase();if(o!==A&&o!==h)return"Mixed-case string "+o;o=A;const d=o.lastIndexOf("1");if(d===-1)return"No separator character for "+o;if(d===0)return"Missing prefix for "+o;const u=o.slice(0,d),g=o.slice(d+1);if(g.length<6)return"Data too short";let w=oe(u);if(typeof w=="string")return w;const S=[];for(let M=0;M<g.length;++M){const L=g.charAt(M),_=be[L];if(_===void 0)return"Unknown character "+L;w=rt(w)^_,!(M+6>=g.length)&&S.push(_)}return w!==e?"Invalid checksum for "+o:{prefix:u,words:S}}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:ps,fromWordsUnsafe:Cs,fromWords:ws}}at.bech32=De("bech32");at.bech32m=De("bech32m");var ys=$t&&$t.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(me,"__esModule",{value:!0});const ms=ys(Q.exports),gt=at,kt="asset";class ht{constructor(e){this.hashBuf=e}static fromHash(e){return new ht(e)}static fromParts(e,t){const r=(0,ms.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return ht.fromHash(r)}static fromBech32(e){const{prefix:t,words:r}=gt.bech32.decode(e);if(t!==kt)throw new Error("Invalid asset fingerprint");const i=Buffer.from(gt.bech32.fromWords(r));return ht.fromHash(i)}fingerprint(){const e=gt.bech32.toWords(this.hashBuf);return gt.bech32.encode(kt,e)}hash(){return Buffer.from(this.hashBuf).toString("hex")}prefix(){return kt}checksum(){return this.fingerprint().slice(-6)}}var Bs=me.default=ht;const Es=Bs,xs=(s,e)=>{const t=Ss(s),r=t.derive(Dt+1852).derive(Dt+1815).derive(Dt+e),i=r.derive(0).derive(0).to_raw_key(),n=r.derive(2).derive(0).to_raw_key();return r.free(),t.free(),{paymentKey:i,stakeKey:n}},et=s=>a.Address.from_bytes(f(s)),Ss=s=>a.Bip32PrivateKey.from_bytes(f(s)),Qs=s=>a.DataHash.from_bytes(f(s)),F=s=>a.Ed25519KeyHash.from_bytes(f(s)),vs=s=>a.Ed25519Signature.from_bytes(f(s)),St=s=>a.NativeScript.from_bytes(f(s)),bs=s=>a.PublicKey.from_bytes(f(s)),Ds=s=>a.PlutusData.from_bytes(f(s)),nt=(s,e)=>a.PlutusScript.from_bytes_with_version(f(s),wt[e]),ks=s=>a.ScriptRef.from_bytes(f(s)),Ks=s=>a.ScriptHash.from_bytes(f(s)),W=s=>a.Transaction.from_bytes(f(s)),ke=s=>a.TransactionHash.from_bytes(f(s)),ce=s=>a.TransactionUnspentOutput.from_bytes(f(s)),Us=s=>a.TransactionWitnessSet.from_bytes(f(s)),Ns=s=>a.Value.from_bytes(f(s)),P=s=>a.Address.from_bech32(s),Pt=s=>a.BaseAddress.from_address(P(s)),Ke=s=>a.EnterpriseAddress.from_address(P(s)),Ue=s=>a.RewardAddress.from_address(P(s)),K=s=>Buffer.from(s).toString("hex"),f=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?Buffer.from(s,"hex"):Buffer.from(s,"utf-8"),Qt=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(Qt(t.get(i)));return r};switch(s.kind()){case a.NativeScriptKind.ScriptAll:{const t=s.as_script_all();return{type:"all",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptAny:{const t=s.as_script_any();return{type:"any",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptNOfK:{const t=s.as_script_n_of_k();return{type:"atLeast",required:t.n(),scripts:e(t.native_scripts())}}case a.NativeScriptKind.TimelockStart:{const t=s.as_timelock_start();return{type:"after",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.TimelockExpiry:{const t=s.as_timelock_expiry();return{type:"before",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.ScriptPubkey:{const t=s.as_script_pubkey();return{type:"sig",keyHash:t.addr_keyhash().to_hex()}}default:throw new Error(`Script Kind: ${s.kind()}, is not supported`)}},vt=s=>{const e=t=>{const r=a.NativeScripts.new();return t.forEach(i=>{r.add(vt(i))}),r};switch(s.type){case"all":return a.NativeScript.new_script_all(a.ScriptAll.new(e(s.scripts)));case"any":return a.NativeScript.new_script_any(a.ScriptAny.new(e(s.scripts)));case"atLeast":return a.NativeScript.new_script_n_of_k(a.ScriptNOfK.new(s.required,e(s.scripts)));case"after":return a.NativeScript.new_timelock_start(a.TimelockStart.new_timelockstart(a.BigNum.from_str(s.slot)));case"before":return a.NativeScript.new_timelock_expiry(a.TimelockExpiry.new_timelockexpiry(a.BigNum.from_str(s.slot)));case"sig":return a.NativeScript.new_script_pubkey(a.ScriptPubkey.new(F(s.keyHash)))}},Z=s=>{const e=t=>{const r=a.PlutusList.new();return t.forEach(i=>{r.add(Z(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(Z(i),Z(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)))}},Fs=s=>{const e=a.Relays.new();throw s.relays.forEach(t=>{e.add(Hs(t))}),new Error("toPoolParams not implemented.")},Ne=s=>{const e=t=>ze[t];return a.Redeemer.new(e(s.tag),a.BigNum.from_str(s.index.toString()),Z(s.data),a.ExUnits.new(a.BigNum.from_str(s.budget.mem.toString()),a.BigNum.from_str(s.budget.steps.toString())))},Hs=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)))}},Fe=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 Qt(e)},dt=s=>{if("code"in s){const e=nt(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(vt(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:He(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},Y=s=>{const e=a.TransactionInput.new(ke(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(P(s.output.address),Ct(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Qs(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(Ds(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref(ks(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},Ae=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))},v=s=>s.length%2===0&&/^[0-9A-F]*$/i.test(s)?s:K(Buffer.from(s,"utf-8")),Tt=s=>Buffer.from(s,"hex").toString("utf-8"),He=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 h=c.get(A),d=o.get(h)??a.BigNum.from_str("0"),u=n.to_hex()+K(h.name());e.push({unit:u,quantity:d.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,H)))),r=a.MultiAsset.new();t.forEach(n=>{const o=a.Assets.new();s.filter(c=>c.unit.slice(0,H)===n).forEach(c=>{o.insert(a.AssetName.new(f(c.unit.slice(H))),a.BigNum.from_str(c.quantity))}),r.insert(Ks(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},he=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),Pe=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(f(s),f(v(e))),ue=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),Ps=s=>{if(typeof s!="object"||!("input"in s))return a.DatumSource.new(Z(s));const e=Y(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()}`)},de=(s,e)=>a.EnterpriseAddress.new(s,a.StakeCredential.from_keyhash(e)),Ie=(s,e)=>{if(typeof s=="string")return a.MintWitness.new_native_script(St(s));if(e===void 0)throw new Error("Minting with plutus requires a redeemer to be defined");if(e.tag!=="MINT")throw new Error("Minting redeemer's tag must be defined as 'MINT'");return a.MintWitness.new_plutus_script(Te(s),Ne({tag:"MINT",index:0,budget:_e,data:{alternative:0,fields:[]},...e}))},Ut=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),Te=s=>{if("code"in s)return a.PlutusScriptSource.new(nt(s.code,s.version));const e=Y(s);if(e.output().has_script_ref()){const t=e.output().script_ref();if(t.is_plutus_script()){const r=Fe(t),i=nt(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()}`)},ft=s=>{const e=a.ScriptPubkey.new(s);return a.NativeScript.new_script_pubkey(e)},Ts=(s=G)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new(Ae(s.priceMem.toString()),Ae(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)},le=s=>{const e=a.TxInputsBuilder.new();return s.map(t=>t instanceof a.TransactionUnspentOutput?t:Y(t)).forEach(t=>{e.add_input(t.output().address(),t.input(),t.output().amount())}),e},_t=s=>{if(typeof s=="string")return a.TransactionOutputBuilder.new().with_address(P(s));let e=a.TransactionOutputBuilder.new().with_address(P(s.address));if(s.datum){const{value:t,inline:r}=s.datum,i=Z(t);e=e.with_data_hash(a.hash_plutus_data(i)),r&&(e=e.with_plutus_data(i))}if(s.script){const t=dt(s.script);e=e.with_script_ref(t)}return e},ot=s=>{const e=s.slice(0,H),t=s.includes(".")?v(s.split(".")[1]):s.slice(H);return{policyId:e,assetName:t}},I=s=>J.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),Ms=s=>{const e=Z(s);return a.hash_plutus_data(e).to_hex()},Os=(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}`)},Me=(s,e)=>Es.fromParts(f(s),f(e)).fingerprint(),Vs=(s,e)=>We[s][e],Ys=s=>vt(s).hash().to_hex(),X=s=>{var e,t;try{const r=[(e=Pt(s))==null?void 0:e.payment_cred().to_keyhash(),(t=Ke(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}.`)}},Gs=(s,e=0)=>{const t=nt(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Rs=s=>{try{const e=Ke(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}.`)}},Ls=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),qs=s=>{const e=Kt.mnemonicToEntropy(s.join(" ")),t=Pe(e),r=t.to_bech32();return t.free(),r},$s=s=>dt(s).to_hex(),zs=(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}`)},bt=s=>{try{const e=P(s),t=Pt(s),r=t==null?void 0:t.stake_cred().to_keyhash();if(r!==void 0)return Ut(e.network_id(),r).to_address().to_bech32();throw new Error(`Couldn't resolve reward address from address: ${s}`)}catch(e){throw new Error(`An error occurred during resolveRewardAddress: ${e}.`)}},st=s=>{var e,t;try{const r=[(e=Pt(s))==null?void 0:e.stake_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 stake key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolveStakeKeyHash: ${r}.`)}},Mt=(s,e=G.minFeeA,t=G.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),Oe=s=>{const e=W(s).body();return a.hash_transaction(e).to_hex()},Ws=(s="",e=32)=>{if(e<=0||e>2048)throw new Error("Length must be bewteen 1 and 2048");const r=ge.customAlphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")(e);return v(`${s}${r}`)},Ve=(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 Js{_axiosInstance;constructor(...e){if(typeof e[0]=="string"&&e[0].startsWith("http"))this._axiosInstance=J.default.create({baseURL:e[0]});else{const t=e[0],r=t.slice(0,7);this._axiosInstance=J.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${e[1]??0}`,headers:{project_id:t}})}}async fetchAccountInfo(e){const t=e.startsWith("addr")?bt(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 I(r)}catch(r){throw I(r)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/${t}`:"",i=`addresses/${e}/utxos`+r,n=async(A=1,h=[])=>{const{data:d,status:u}=await this._axiosInstance.get(`${i}?page=${A}`);if(u===200)return d.length>0?n(A+1,[...h,...await Promise.all(d.map(c))]):h;throw I(d)},o=async A=>{if(A){const{data:h,status:d}=await this._axiosInstance.get(`scripts/${A}`);if(d===200){const u=h.type.startsWith("plutus")?{code:await this.fetchPlutusScriptCBOR(A),version:h.type.replace("plutus","")}:await this.fetchNativeScriptJSON(A);return dt(u).to_hex()}throw I(h)}},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 fetchAssetAddresses(e){const t=async(r=1,i=[])=>{const{policyId:n,assetName:o}=ot(e),{data:c,status:A}=await this._axiosInstance.get(`assets/${n}${o}/addresses?page=${r}`);if(A===200)return c.length>0?t(r+1,[...i,...c]):i;throw I(c)};try{return await t()}catch{return[]}}async fetchAssetMetadata(e){try{const{policyId:t,assetName:r}=ot(e),{data:i,status:n}=await this._axiosInstance.get(`assets/${t}${r}`);if(n===200)return{...i.onchain_metadata};throw I(i)}catch(t){throw I(t)}}async fetchBlockInfo(e){try{const{data:t,status:r}=await this._axiosInstance.get(`blocks/${e}`);if(r===200)return{confirmations:t.confirmations,epoch:t.epoch,epochSlot:t.epoch_slot.toString(),fees:t.fees,hash:t.hash,nextBlock:t.next_block??"",operationalCertificate:t.op_cert,output:t.output??"0",previousBlock:t.previous_block,size:t.size,slot:t.slot.toString(),slotLeader:t.slot_leader??"",time:t.time,txCount:t.tx_count,VRFKey:t.block_vrf};throw I(t)}catch(t){throw I(t)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Nt[1]}${t}/addresses`);if(i===200)return r[0].address;throw I(r)}catch(t){throw I(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 I(t)}catch(t){throw I(t)}}async fetchTxInfo(e){try{const{data:t,status:r}=await this._axiosInstance.get(`txs/${e}`);if(r===200)return{block:t.block,deposit:t.deposit,fees:t.fees,hash:t.hash,index:t.index,invalidAfter:t.invalid_hereafter??"",invalidBefore:t.invalid_before??"",slot:t.slot.toString(),size:t.size};throw I(t)}catch(t){throw I(t)}}onTxConfirmed(e,t,r=20){let i=0;const n=setInterval(()=>{i>=r&&clearInterval(n),this.fetchTxInfo(e).then(o=>{this.fetchBlockInfo(o.block).then(c=>{(c==null?void 0:c.confirmations)>0&&(clearInterval(n),t())}).catch(()=>{i+=1})}).catch(()=>{i+=1})},5e3)}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 I(r)}catch(t){throw I(t)}}async fetchPlutusScriptCBOR(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/cbor`);if(r===200)return t.cbor;throw I(t)}async fetchNativeScriptJSON(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/json`);if(r===200)return t.json;throw I(t)}}class js{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=J.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 I(i)}catch(r){throw I(r)}}}class Xs{_axiosInstance;constructor(...e){typeof e[0]=="string"&&e[0].startsWith("http")?this._axiosInstance=J.default.create({baseURL:e[0]}):this._axiosInstance=J.default.create({baseURL:`https://${e[0]}.koios.rest/api/v${e[1]??0}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?bt(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 I(r)}catch(t){throw I(t)}}async fetchAddressUTxOs(e,t){const r=i=>{if(i){const n=i.type.startsWith("plutus")?{code:i.bytes,version:i.type.replace("plutus","")}:Qt(St(i.bytes));return dt(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=>{var A;return{input:{outputIndex:c.tx_index,txHash:c.tx_hash},output:{address:e,amount:[{unit:"lovelace",quantity:c.value},...c.asset_list.map(h=>({unit:`${h.policy_id}${h.asset_name}`,quantity:`${h.quantity}`}))],dataHash:c.datum_hash??void 0,plutusData:((A=c.inline_datum)==null?void 0:A.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 I(i)}catch{return[]}}async fetchAssetAddresses(e){try{const{policyId:t,assetName:r}=ot(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 I(i)}catch(t){throw I(t)}}async fetchAssetMetadata(e){try{const{policyId:t,assetName:r}=ot(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][Tt(r)]};throw I(i)}catch(t){throw I(t)}}async fetchBlockInfo(e){try{const{data:t,status:r}=await this._axiosInstance.post("block_info",{_block_hashes:[e]});if(r===200)return{confirmations:t[0].num_confirmations,epoch:t[0].epoch_no,epochSlot:t[0].epoch_slot.toString(),fees:t[0].total_fees??"",hash:t[0].hash,nextBlock:t[0].child_hash??"",operationalCertificate:t[0].op_cert,output:t[0].total_output??"0",previousBlock:t[0].parent_hash,size:t[0].block_size,slot:t[0].abs_slot.toString(),slotLeader:t[0].pool??"",time:t[0].block_time,txCount:t[0].tx_count,VRFKey:t[0].vrf_key};throw I(t)}catch(t){throw I(t)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${Nt[1]}&_asset_name=${t}`);if(i===200)return r[0].payment_address;throw I(r)}catch(t){throw I(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 I(t)}catch(t){throw I(t)}}async fetchTxInfo(e){var t,r;try{const{data:i,status:n}=await this._axiosInstance.post("tx_info",{_tx_hashes:[e]});if(n===200)return{block:i[0].block_hash,deposit:i[0].deposit,fees:i[0].fee,hash:i[0].tx_hash,index:i[0].tx_block_index,invalidAfter:((t=i[0].invalid_after)==null?void 0:t.toString())??"",invalidBefore:((r=i[0].invalid_before)==null?void 0:r.toString())??"",slot:i[0].absolute_slot.toString(),size:i[0].tx_size};throw I(i)}catch(i){throw I(i)}}onTxConfirmed(e,t,r=20){let i=0;const n=setInterval(()=>{i>=r&&clearInterval(n),this.fetchTxInfo(e).then(o=>{this.fetchBlockInfo(o.block).then(c=>{(c==null?void 0:c.confirmations)>0&&(clearInterval(n),t())}).catch(()=>{i+=1})}).catch(()=>{i+=1})},5e3)}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 I(r)}catch(t){throw I(t)}}}class Zs{_baseUrl;constructor(...e){this._baseUrl=fe(e[0])?Je[e[0]]:e[0]}async evaluateTx(e){const t=await this.open();return this.send(t,"EvaluateTx",{evaluate:e}),new Promise((r,i)=>{t.addEventListener("message",n=>{try{const{result:o}=JSON.parse(n.data);o.EvaluationResult?r(Object.keys(o.EvaluationResult).map(c=>({index:parseInt(c.split(":")[1],10),tag:c.split(":")[0].toUpperCase(),budget:{mem:o.EvaluationResult[c].memory,steps:o.EvaluationResult[c].steps}}))):i(o.EvaluationFailure),t.close()}catch(o){i(o)}},{once:!0})})}async onNextTx(e){const t=await this.open();return this.send(t,"AwaitAcquire",{}),t.addEventListener("message",r=>{const{result:i}=JSON.parse(r.data);if(i===null)return this.send(t,"AwaitAcquire",{});i.AwaitAcquired===void 0&&e(i),this.send(t,"NextTx",{})}),()=>t.close()}async submitTx(e){const t=await this.open();return this.send(t,"SubmitTx",{submit:e}),new Promise((r,i)=>{t.addEventListener("message",n=>{try{const{result:o}=JSON.parse(n.data);o.SubmitSuccess?r(o.SubmitSuccess.txId):i(o.SubmitFail),t.close()}catch(o){i(o)}},{once:!0})})}async open(){const e=new WebSocket(this._baseUrl);return await new Promise(t=>{e.addEventListener("open",()=>t(!0),{once:!0})}),e}send(e,t,r){e.send(JSON.stringify({version:"1.0",type:"jsonwsp/request",servicename:"ogmios",methodname:t,args:r}))}}class tr{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=J.default.create({baseURL:`https://cardano-${e}.tangocrypto.com/${t}/v${i}`,headers:{"x-api-key":r}})}async evaluateTx(e){try{const{data:t,status:r}=await this._axiosInstance.post("transactions/evaluate",{tx:e,utxos:[]});if(r===200)return t.redeemers.map(i=>({index:i.index,tag:i.purpose.toUpperCase(),budget:{mem:i.unit_mem,steps:i.unit_steps}}));throw I(t)}catch(t){throw I(t)}}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?bt(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 I(r)}catch(t){throw I(t)}}async fetchAddressUTxOs(e,t){const r=t!==void 0?`/assets/${t}`:"",i=`addresses/${e}${r}/utxos?size=50`,n=async(h="",d=[])=>{var w;const{data:u,status:g}=await this._axiosInstance.get(`${i}&cursor=${h}`);if(g===200)return u.cursor!==null&&((w=u.cursor)==null?void 0:w.length)>0?n(u.cursor,[...d,...u.data.map(A)]):u.data.map(A);throw I(u)},o=(h,d)=>{const u=[{unit:"lovelace",quantity:h.toString()}];return d.forEach(g=>{const w=v(g.asset_name);u.push({unit:`${g.policy_id}${w}`,quantity:g.quantity.toString()})}),u},c=h=>{if(h){const d=h.type.startsWith("plutus")?{code:h.code,version:h.type.replace("plutus","")}:Qt(St(h.json));return dt(d).to_hex()}},A=h=>{var d;return{input:{outputIndex:h.index,txHash:h.hash},output:{address:e,amount:o(h.value,h.assets),dataHash:void 0,plutusData:((d=h.inline_datum)==null?void 0:d.value_raw)??void 0,scriptRef:c(h.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 d;const{policyId:o,assetName:c}=ot(e),{data:A,status:h}=await this._axiosInstance.get(`assets/${o}${c}/addresses?size=100&cursor=${i}`);if(h===200)return A.cursor!==null&&((d=A.cursor)==null?void 0:d.length)>0?r(A.cursor,[...n,...A.data.map(t)]):A.data.map(t);throw I(A)};try{return await r()}catch{return[]}}async fetchAssetMetadata(e){var t;try{const{policyId:r,assetName:i}=ot(e),{data:n,status:o}=await this._axiosInstance.get(`assets/${r}${i}`);if(o===200)return{...(t=n.metadata.find(c=>c.label===721))==null?void 0:t.json[r][Tt(i)]};throw I(n)}catch(r){throw I(r)}}async fetchBlockInfo(e){try{const{data:t,status:r}=await this._axiosInstance.get(`blocks/${e}`);if(r===200)return{confirmations:t.confirmations,epoch:t.epoch_no,epochSlot:t.epoch_slot_no.toString(),fees:t.fees.toString(),hash:t.hash,nextBlock:t.next_block.toString()??"",operationalCertificate:t.op_cert,output:t.out_sum.toString()??"0",previousBlock:t.previous_block.toString(),size:t.size,slot:t.slot_no.toString(),slotLeader:t.slot_leader??"",time:Date.parse(t.time),txCount:t.tx_count,VRFKey:t.vrf_key};throw I(t)}catch(t){throw I(t)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Nt[1]}${t}/addresses`);if(i===200)return r.data[0].address;throw I(r)}catch(t){throw I(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 I(t)}catch(t){throw I(t)}}async fetchTxInfo(e){try{const{data:t,status:r}=await this._axiosInstance.get(`transactions/${e}`);if(r===200)return{block:t.block.hash,deposit:t.deposit,fees:t.fee,hash:t.hash,index:t.block_index,invalidAfter:t.invalid_hereafter??"",invalidBefore:t.invalid_before??"",slot:t.block.slot_no.toString(),size:t.size};throw I(t)}catch(t){throw I(t)}}onTxConfirmed(e,t,r=20){let i=0;const n=setInterval(()=>{i>=r&&clearInterval(n),this.fetchTxInfo(e).then(o=>{this.fetchBlockInfo(o.block).then(c=>{(c==null?void 0:c.confirmations)>0&&(clearInterval(n),t())}).catch(()=>{i+=1})}).catch(()=>{i+=1})},5e3)}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 I(r)}catch(t){throw I(t)}}}class er{static withOneSignature(e){const t=F(X(e));return ft(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=F(X(n));r.add(ft(o))});const i=a.ScriptNOfK.new(t,r);return a.NativeScript.new_script_any(i).to_hex()}static withAnySignature(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(X(i));t.add(ft(n))});const r=a.ScriptAny.new(t);return a.NativeScript.new_script_any(r).to_hex()}static withAllSignatures(e){const t=a.NativeScripts.new();e.forEach(i=>{const n=F(X(i));t.add(ft(n))});const r=a.ScriptAll.new(t);return a.NativeScript.new_script_any(r).to_hex()}static fromNativeScript(e){return vt(e).to_hex()}}function j(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 sr=s=>class extends s{__visits=[]},tt=()=>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;_mintBuilder;_protocolParameters;_txBuilder;_txCertificates;_txInputsBuilder;_txWithdrawals;constructor(e={}){this._era=e.era,this._initiator=e.initiator,this._mintBuilder=a.MintBuilder.new(),this._protocolParameters=e.parameters??G,this._txBuilder=Ts(e.parameters),this._txCertificates=a.Certificates.new(),this._txInputsBuilder=a.TxInputsBuilder.new(),this._txWithdrawals=a.Withdrawals.new()}static maskMetadata(e,t="BABBAGE"){var n;const r=W(e),i=(n=r.auxiliary_data())==null?void 0:n.metadata();if(i!==void 0){const o=a.GeneralTransactionMetadata.new();for(let A=0;A<i.len();A+=1){const h=i.keys().get(A),d=i.get(h);o.insert(h,a.TransactionMetadatum.from_hex("0".repeat(((d==null?void 0:d.to_hex())??"").length)))}const c=r.auxiliary_data();return c!==void 0&&(c.set_metadata(o),c.set_prefer_alonzo_format(t==="ALONZO")),a.Transaction.new(r.body(),r.witness_set(),c).to_hex()}return e}static readMetadata(e){var r,i;return((i=(r=W(e).auxiliary_data())==null?void 0:r.metadata())==null?void 0:i.to_hex())??""}static writeMetadata(e,t,r="BABBAGE"){const i=W(e),n=i.auxiliary_data()??a.AuxiliaryData.new();return n.set_metadata(a.GeneralTransactionMetadata.from_hex(t)),n.set_prefer_alonzo_format(r==="ALONZO"),a.Transaction.new(i.body(),i.witness_set(),n).to_hex()}get size(){return this._txBuilder.full_size()}async build(){try{return(this._mintBuilder.has_plutus_scripts()||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,r){const i=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._mintBuilder.add_asset(Ie(e,r),a.AssetName.new(f(t.unit.slice(H))),a.Int.new_negative(a.BigNum.from_str(t.quantity))),this._totalBurns.set(t.unit,i),this}delegateStake(e,t){const r=a.Certificate.new_stake_delegation(a.StakeDelegation.new(a.StakeCredential.from_keyhash(F(st(e))),a.Ed25519KeyHash.from_bech32(t)));return this._txCertificates.add(r),this}deregisterStake(e){const t=a.Certificate.new_stake_deregistration(a.StakeDeregistration.new(a.StakeCredential.from_keyhash(F(st(e)))));return this._txCertificates.add(t),this}mintAsset(e,t,r){var h,d;const i=(u,g)=>{const w=typeof u=="string"?St(u).hash().to_hex():n(u).hash().to_hex(),S=v(g.assetName);return{unit:`${w}${S}`,quantity:g.assetQuantity}},n=u=>{if("code"in u)return nt(u.code,u.version);const g=Y(u);if(g.output().has_script_ref()){const w=g.output().script_ref();if(w.is_plutus_script()){const S=Fe(w);return nt(S.code,S.version)}}throw new Error(`No plutus script reference found in UTxO: ${g.input().transaction_id().to_hex()}`)},o=i(e,t),A=a.BigNum.from_str(((h=this._totalMints.get(o.unit))==null?void 0:h.assetQuantity)??"0").checked_add(a.BigNum.from_str(o.quantity));return this._mintBuilder.add_asset(Ie(e,r),a.AssetName.new(f(v(t.assetName))),a.Int.new(a.BigNum.from_str(o.quantity))),this._recipients.has(t.recipient)?(d=this._recipients.get(t.recipient))==null||d.push(o):this._recipients.set(t.recipient,[o]),this._totalMints.set(o.unit,{...t,assetQuantity:A.to_str()}),this}redeemValue(e){const t={tag:"SPEND",budget:_e,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=Y(e.value),i=a.PlutusWitness.new_with_ref(Te(e.script),Ps(e.datum),Ne(t));return this._txInputsBuilder.add_plutus_script_input(i,r.input(),r.output().amount()),this}registerStake(e){const t=a.Certificate.new_stake_registration(a.StakeRegistration.new(a.StakeCredential.from_keyhash(F(st(e)))));return this._txCertificates.add(t),this}registerPool(e){const t=a.Certificate.new_pool_registration(a.PoolRegistration.new(Fs(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 n=_t(e).next(),o=r.coin().is_zero()?n.with_asset_and_min_required_coin_by_utxo_cost(i,ue(this._protocolParameters.coinsPerUTxOSize)).build():n.with_coin_and_asset(r.coin(),i).build();return this._txBuilder.add_output(o),this}sendLovelace(e,t){const i=_t(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=_t(e).next().with_value(r).build();return this._txBuilder.add_output(n),this}setChangeAddress(e){return this._changeAddress=P(e),this}setCollateral(e){const t=le(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")?X(r):st(r)).map(r=>F(r)))).forEach(r=>{this._txBuilder.add_required_signer(r)}),this}setTimeToStart(e){return this._txBuilder.set_validity_start_interval_bignum(a.BigNum.from_str(e)),this}setTimeToExpire(e){return this._txBuilder.set_ttl_bignum(a.BigNum.from_str(e)),this}setTxInputs(e){return e.map(t=>Y(t)).forEach(t=>{this._txInputsBuilder.add_input(t.output().address(),t.input(),t.output().amount())}),this}withdrawRewards(e,t){const r=Ue(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=>Et(r))).map(r=>Y(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(le(e))}}async addRequiredSignersIfNeeded(){if(this._initiator&&this.notVisited("setRequiredSigners")){const e=await this._initiator.getUsedAddress(),t=X(e.to_bech32());this._txBuilder.add_required_signer(F(t))}}async addTxInputsAsNeeded(){if(this._txBuilder.set_inputs(this._txInputsBuilder),(this._mintBuilder.has_native_scripts()||this._mintBuilder.has_plutus_scripts())&&this._txBuilder.set_mint_builder(this._mintBuilder),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._txBuilder.get_mint_builder()||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,H);if(r&&r[o]){const{[o]:c,...A}=r,h={[i]:n,...c};return{[o]:{...h},...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=pe("5000000",t.map(n=>Et(n)));return r.map(n=>Y(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=_t(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,ue(this._protocolParameters.coinsPerUTxOSize)).build();this._txBuilder.add_output(o)}})}notVisited(e){return this.__visits.includes(e)===!1}};j([tt()],exports.Transaction.prototype,"mintAsset",null);j([tt()],exports.Transaction.prototype,"redeemValue",null);j([tt()],exports.Transaction.prototype,"sendAssets",null);j([tt()],exports.Transaction.prototype,"sendValue",null);j([tt()],exports.Transaction.prototype,"setCollateral",null);j([tt()],exports.Transaction.prototype,"setRequiredSigners",null);j([tt()],exports.Transaction.prototype,"setTxInputs",null);exports.Transaction=j([sr],exports.Transaction);class y{_networkId;_encryptedSecret;constructor(e,t){this._networkId=e,this._encryptedSecret=t}getAccount(e,t){return this.accountContext(e,t,(r,i)=>{const n=he(this._networkId,r.to_public().hash(),i.to_public().hash()).to_address().to_bech32(),o=de(this._networkId,r.to_public().hash()).to_address().to_bech32(),c=Ut(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:y.resolveAddress(this._networkId,r,n,o),key:r.startsWith("stake")?o:n},{coseSign1:h,coseKey:d}=Ze(c,A);return{signature:h,key:d}})}catch(n){throw new Error(`An error occurred during signData: ${n}.`)}}signTx(e,t,r,i,n){try{const o=ke(Oe(i));return this.accountContext(e,t,(c,A)=>{const h=a.Vkeywitnesses.new();return y.resolveSigners(i,r,c.to_public().hash().to_hex()).forEach(u=>{if(u===c.to_public().hash().to_hex())h.add(a.make_vkey_witness(o,c));else if(u===A.to_public().hash().to_hex())h.add(a.make_vkey_witness(o,A));else if(n===!1)throw new Error(`Missing key witness for: ${u}`)}),h})}catch(o){throw new Error(`An error occurred during signTx: ${o}.`)}}static encryptMnemonic(e,t){const r=Kt.mnemonicToEntropy(e.join(" ")),i=Pe(r),n=K(i.as_bytes());return i.free(),y.encrypt(n,t)}static encryptPrivateKey(e,t){const r=a.Bip32PrivateKey.from_bech32(e),i=K(r.as_bytes());return r.free(),y.encrypt(i,t)}static encryptSigningKeys(e,t,r){const i=y.encrypt(e.slice(4),r),n=y.encrypt(t.slice(4),r);return[i,n]}static generateMnemonic(e=256){return Kt.generateMnemonic(e).split(" ")}accountContext(e,t,r){const{paymentKey:i,stakeKey:n}=y.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(v(t),e)}catch{throw new Error("The password is incorrect.")}}static encrypt(e,t){const r=ge.customAlphabet("0123456789abcdef"),i=r(64),n=r(24);return a.encrypt_with_password(v(t),i,n,e)}static resolveAddress(e,t,r,i){const n=[he(e,r.to_public().hash(),i.to_public().hash()),de(e,r.to_public().hash()),Ut(e,i.to_public().hash())].find(o=>o.to_address().to_bech32()===t);if(n!==void 0)return n.to_address();throw new Error(`Address: ${t} doesn't belong to this account.`)}static resolveKeys(e,t,r){if(typeof r=="string"){const o=y.decrypt(r,t);return xs(o,e)}const i=y.decrypt(r[0],t),n=y.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=(_,x=[],B=0)=>{var It,ct,Ot,Vt,Yt;if(_===void 0||B>=_.len())return x;const D=_.get(B),k=new Array;switch(D.kind()){case a.CertificateKind.StakeDeregistration:{const m=(It=D.as_stake_deregistration())==null?void 0:It.stake_credential(),O=(m==null?void 0:m.kind())===a.StakeCredKind.Key?m.to_keyhash():void 0;O&&k.push(O.to_hex());break}case a.CertificateKind.StakeDelegation:{const m=(ct=D.as_stake_delegation())==null?void 0:ct.stake_credential(),O=(m==null?void 0:m.kind())===a.StakeCredKind.Key?m.to_keyhash():void 0;O&&k.push(O.to_hex());break}case a.CertificateKind.PoolRegistration:{const m=(Ot=D.as_pool_registration())==null?void 0:Ot.pool_params().pool_owners();k.push(...d(m));break}case a.CertificateKind.PoolRetirement:{const m=(Vt=D.as_pool_retirement())==null?void 0:Vt.pool_keyhash();m&&k.push(m.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const m=(Yt=D.as_move_instantaneous_rewards_cert())==null?void 0:Yt.move_instantaneous_reward().as_to_stake_creds();if(m)for(let O=0;O<m.len();O+=1){const Gt=m.keys().get(O),Rt=Gt.kind()===a.StakeCredKind.Key?Gt.to_keyhash():void 0;Rt&&k.push(Rt.to_hex())}break}}return A(_,[...x,...k],B+1)},h=(_,x=[],B=0)=>{if(_===void 0||B>=_.len())return x;const D=_.get(B).index(),k=_.get(B).transaction_id(),It=t.find(ct=>ct.input.outputIndex===D&&ct.input.txHash===k.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return h(_,[...x,It],B+1)},d=(_,x=[],B=0)=>_===void 0||B>=_.len()?x:d(_,[...x,_.get(B).to_hex()],B+1),u=(_,x=[],B=0)=>{if(_===void 0||B>=_.len())return x;const D=_.keys().get(B).payment_cred(),k=D.kind()===a.StakeCredKind.Key?D.to_keyhash():void 0;return u(_,k?[...x,k.to_hex()]:x,B+1)},g=c.certs(),w=c.collateral(),S=c.inputs(),M=c.required_signers(),L=c.withdrawals();return[...A(g),...h(w),...h(S),...d(M),...u(L)]},n=c=>{const A=(d,u=[])=>{var g,w,S,M;if(d)for(let L=0;L<d.len();L+=1){const _=d.get(L);switch(_.kind()){case a.NativeScriptKind.ScriptPubkey:{const x=(g=_.as_script_pubkey())==null?void 0:g.addr_keyhash().to_hex();return x?[...u,x]:u}case a.NativeScriptKind.ScriptAll:return A((w=_.as_script_all())==null?void 0:w.native_scripts(),u);case a.NativeScriptKind.ScriptAny:return A((S=_.as_script_any())==null?void 0:S.native_scripts(),u);case a.NativeScriptKind.ScriptNOfK:return A((M=_.as_script_n_of_k())==null?void 0:M.native_scripts(),u)}}return u},h=c.native_scripts();return[...A(h)]},o=W(e);return new Set([...i(o.body()),...n(o.witness_set())])}}const U="MARI0TIME";class rr{_fetcher;_submitter;_wallet;constructor(e){switch(this._fetcher=e.fetcher,this._submitter=e.submitter,e.key.type){case"mnemonic":this._wallet=new y(e.networkId,y.encryptMnemonic(e.key.words,U));break;case"root":this._wallet=new y(e.networkId,y.encryptPrivateKey(e.key.bech32,U));break;case"cli":this._wallet=new y(e.networkId,y.encryptSigningKeys(e.key.payment,e.key.stake??"f0".repeat(34),U))}}getPaymentAddress(e=0){return this._wallet.getAccount(e,U).enterpriseAddress}getRewardAddress(e=0){return this._wallet.getAccount(e,U).rewardAddress}getUsedAddress(e=0){const t=this._wallet.getAccount(e,U);return P(t.enterpriseAddress)}getUsedCollateral(e=G.maxCollateralInputs){throw new Error("getUsedCollateral not implemented.")}async getUsedUTxOs(e=0){const t=this._wallet.getAccount(e,U);return(await this._fetcher.fetchAddressUTxOs(t.enterpriseAddress)).map(i=>Y(i))}signData(e,t,r=0){try{return this._wallet.signData(r,U,e,t)}catch(i){throw new Error(`[AppWallet] An error occurred during signData: ${i}.`)}}async signTx(e,t=!1,r=0){try{const i=this._wallet.getAccount(r,U),n=await this._fetcher.fetchAddressUTxOs(i.enterpriseAddress),o=this._wallet.signTx(r,U,n,e,t),c=W(e),A=c.witness_set(),h=Ve(A,o);return A.set_vkeys(h),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 y.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 He(Ns(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return et(e).to_bech32()}async getCollateral(e=G.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>Et(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>et(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>et(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>et(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>Et(t))}signData(e,t){const r=P(e).to_hex();return this._walletInstance.signData(r,v(t))}async signTx(e,t=!1){try{const r=W(e),i=r.witness_set(),n=await this._walletInstance.signTx(e,t),o=Us(n).vkeys()??a.Vkeywitnesses.new(),c=Ve(i,o);return i.set_vkeys(c),K(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 et(e[0])}async getUsedCollateral(e=G.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>ce(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>ce(t))}async getAssets(){return(await this.getBalance()).filter(t=>t.unit!=="lovelace").map(t=>{const r=t.unit.slice(0,H),i=t.unit.slice(H),n=Me(r,i);return{unit:t.unit,policyId:r,assetName:Tt(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,H)))).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 Ye="http://localhost:4000/",ir="http://localhost:5000/",ar=`${Ye}access`,nr=`${Ye}transaction/signtx`;class or{static getAxiosInstance(){return J.default.create({baseURL:ir,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(ar):!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(`${nr}?unsignedTx=${e}&partialSign=${t}`);if(i instanceof a.Vkeywitnesses){const n=W(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=rr;exports.BlockfrostProvider=Js;exports.BrowserWallet=xt;exports.EmbeddedWallet=y;exports.ForgeScript=er;exports.InfuraProvider=js;exports.KoiosProvider=Xs;exports.MinaWallet=or;exports.OgmiosProvider=Zs;exports.TangoProvider=tr;exports.checkSignature=ts;exports.generateNonce=Ws;exports.isNetwork=fe;exports.largestFirst=pe;exports.largestFirstMultiAsset=Ce;exports.resolveDataHash=Ms;exports.resolveEpochNo=Os;exports.resolveFingerprint=Me;exports.resolveLanguageView=Vs;exports.resolveNativeScriptHash=Ys;exports.resolvePaymentKeyHash=X;exports.resolvePlutusScriptAddress=Gs;exports.resolvePlutusScriptHash=Rs;exports.resolvePoolId=Ls;exports.resolvePrivateKey=qs;exports.resolveRewardAddress=bt;exports.resolveScriptRef=$s;exports.resolveSlotNo=zs;exports.resolveStakeKeyHash=st;exports.resolveTxFees=Mt;exports.resolveTxHash=Oe;