@meshsdk/core 1.2.1 → 1.3.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.
- package/dist/common/helpers/generateNonce.d.ts +1 -0
- package/dist/common/helpers/index.d.ts +1 -0
- package/dist/common/helpers/readPlutusData.d.ts +2 -0
- package/dist/common/utils/builder.d.ts +3 -2
- package/dist/common/utils/converter.d.ts +2 -1
- package/dist/common/utils/deserializer.d.ts +2 -0
- package/dist/common/utils/parser.d.ts +4 -0
- package/dist/core/CIP8.d.ts +3 -1
- package/dist/core/CSL.d.ts +3 -0
- package/dist/core.cjs +1 -1
- package/dist/core.js +777 -710
- package/dist/index.d.ts +2 -0
- package/dist/transaction/transaction.service.d.ts +6 -5
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const generateNonce: (label?: string, length?: number) => string;
|
|
@@ -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;
|
package/dist/core/CIP8.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type {
|
|
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;
|
package/dist/core/CSL.d.ts
CHANGED
|
@@ -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"),Ye=require("@emurgo/cardano-serialization-lib-nodejs"),Ge=require("axios"),kt=require("bip39"),C=require("@emurgo/cardano-message-signing-nodejs"),Re=s=>s&&typeof s=="object"&&"default"in s?s:{default:s};function Le(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=Le(Ye),ot=Re(Ge),fe={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"},bt=2147483648,wt={V1:a.Language.new_plutus_v1(),V2:a.Language.new_plutus_v2()},H=56,qe={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()},$e={ALONZO:{V1:"a141005901d59f1a000302590001011a00060bc719026d00011a000249f01903e800011a000249f018201a0025cea81971f70419744d186419744d186419744d186419744d186419744d186419744d18641864186419744d18641a000249f018201a000249f018201a000249f018201a000249f01903e800011a000249f018201a000249f01903e800081a000242201a00067e2318760001011a000249f01903e800081a000249f01a0001b79818f7011a000249f0192710011a0002155e19052e011903e81a000249f01903e8011a000249f018201a000249f018201a000249f0182001011a000249f0011a000249f0041a000194af18f8011a000194af18f8011a0002377c190556011a0002bdea1901f1011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000242201a00067e23187600010119f04c192bd200011a000249f018201a000242201a00067e2318760001011a000242201a00067e2318760001011a0025cea81971f704001a000141bb041a000249f019138800011a000249f018201a000302590001011a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a000249f018201a00330da70101ff"},BABBAGE:{V1:"a141005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff",V2:"a20198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201b00000004a817c8001b00000004a817c8001a009063b91903fd0a1b00000004a817c800001b00000004a817c80041005901b69f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a009063b91903fd0aff"}},Ft={[a.NetworkInfo.testnet().network_id()]:"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3",[a.NetworkInfo.mainnet().network_id()]:"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"},qt=["begin","eternl","flint","nami","nufi","gerowallet","typhoncip30"],_e=(s,e,t=!1,{maxTxSize:r,minFeeA:i,minFeeB:n}=G)=>{const o=e.filter(I=>we(I)===!1).sort(pe),A=a.BigNum.from_str(Tt(r,i,n)),c=t?a.BigNum.from_str(s).checked_add(A).to_str():s;return mt(o,new Map([["lovelace",c]]))},Ce=(s,e,t=!1,r=G)=>{const i=e.filter(we).sort(pe),n=s.get("lovelace")??"0",{maxTxSize:o,minFeeA:A,minFeeB:c}=r,u=a.BigNum.from_str(Tt(o,A,c)),h=t?a.BigNum.from_str(n).checked_add(u).to_str():n;return s.set("lovelace",h),mt(i,s)},ze=(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),pe=(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)},we=s=>s.output.amount.length>1,mt=(s,e,t=[])=>s.length===0||ze(t,e)?t:We(s[0],e)?mt(s.slice(1),e,[...t,s[0]]):mt(s.slice(1),e,t),We=(s,e)=>Array.from(e.keys()).some(t=>s.output.amount.find(r=>r.unit===t)!==void 0),Je=(s,e)=>{const t=Ze(e),r=ts(s,e);return{coseKey:k(t.to_bytes()),coseSign1:k(r.to_bytes())}},je=(s,e,{key:t,signature:r})=>{var o,A;const i=C.COSEKey.from_bytes(f(t)),n=C.COSESign1.from_bytes(f(r));if((s==null?void 0:s.length)>0){const c=k(n.payload()??new Uint8Array);if(v(s)!==c)return!1}if((e==null?void 0:e.length)>0){const u=(o=n.headers().protected().deserialized_headers().header(C.Label.new_text("address")))==null?void 0:o.as_bytes();if(u===void 0)throw new Error("Couldn't find a signer address in signature");const h=(A=i.header(C.Label.new_int(C.Int.new_negative(C.BigNum.from_str("2")))))==null?void 0:A.as_bytes();if(h===void 0)throw new Error("Couldn't find a signer key in signature");const I=tt(k(u)),g=Qs(k(h));if(Xe(e,I,g)===!1)throw new Error("Couldn't check signature because of address mismatch");const w=xs(k(n.signature())),Q=n.signed_data().to_bytes();return g.verify(Q,w)}return!1},Xe=(s,e,t)=>{if(s!==e.to_bech32())return!1;try{return et(s)===t.hash().to_hex()}catch{return!1}},Ze=s=>{const e=C.COSEKey.new(C.Label.from_key_type(C.KeyType.OKP));return e.set_algorithm_id(C.Label.from_algorithm_id(C.AlgorithmId.EdDSA)),e.set_header(C.Label.new_int(C.Int.new_negative(C.BigNum.from_str("1"))),C.CBORValue.new_int(C.Int.new_i32(6))),e.set_header(C.Label.new_int(C.Int.new_negative(C.BigNum.from_str("2"))),C.CBORValue.new_bytes(s.key.to_public().as_bytes())),e},ts=(s,e)=>{const t=C.HeaderMap.new(),r=C.HeaderMap.new();t.set_algorithm_id(C.Label.from_algorithm_id(C.AlgorithmId.EdDSA)),t.set_header(C.Label.new_text("address"),C.CBORValue.new_bytes(e.address.to_bytes()));const i=C.Headers.new(C.ProtectedHeaderMap.new(t),r),n=C.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 $t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ye={},S={exports:{}};R.notEqual=ss;R.notOk=rs;R.equal=es;R.ok=R;var me=R;function es(s,e,t){R(s==e,t)}function ss(s,e,t){R(s!=e,t)}function rs(s,e){R(!s,e)}function R(s,e){if(!s)throw new Error(e||"AssertionError")}var M={exports:{}};function is(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var as=Nt;Nt.supported=typeof WebAssembly<"u";function Nt(s){if(!Nt.supported)return null;var e=s&&s.imports,t=ns("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 ns(s){return typeof atob=="function"?new Uint8Array(atob(s).split("").map(os)):new(is("buffer")).Buffer(s,"base64")}function os(s){return s.charCodeAt(0)}var F=me,p=as(),O=64,Ct=[];M.exports=D;var zt=M.exports.BYTES_MIN=16,Wt=M.exports.BYTES_MAX=64;M.exports.BYTES=32;var Jt=M.exports.KEYBYTES_MIN=16,jt=M.exports.KEYBYTES_MAX=64;M.exports.KEYBYTES=32;var Xt=M.exports.SALTBYTES=16,Zt=M.exports.PERSONALBYTES=16;function D(s,e,t,r,i){if(!(this instanceof D))return new D(s,e,t,r,i);if(!(p&&p.exports))throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");s||(s=32),i!==!0&&(F(s>=zt,"digestLength must be at least "+zt+", was given "+s),F(s<=Wt,"digestLength must be at most "+Wt+", was given "+s),e!=null&&F(e.length>=Jt,"key must be at least "+Jt+", was given "+e.length),e!=null&&F(e.length<=jt,"key must be at least "+jt+", was given "+e.length),t!=null&&F(t.length===Xt,"salt must be exactly "+Xt+", was given "+t.length),r!=null&&F(r.length===Zt,"personal must be exactly "+Zt+", was given "+r.length)),Ct.length||(Ct.push(O),O+=216),this.digestLength=s,this.finalized=!1,this.pointer=Ct.pop(),p.memory.fill(0,0,64),p.memory[0]=this.digestLength,p.memory[1]=e?e.length:0,p.memory[2]=1,p.memory[3]=1,t&&p.memory.set(t,32),r&&p.memory.set(r,48),this.pointer+216>p.memory.length&&p.realloc(this.pointer+216),p.exports.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),p.memory.fill(0,O,O+e.length),p.memory[this.pointer+200]=128)}D.prototype.update=function(s){return F(this.finalized===!1,"Hash instance finalized"),F(s,"input must be TypedArray or Buffer"),O+s.length>p.memory.length&&p.realloc(O+s.length),p.memory.set(s,O),p.exports.blake2b_update(this.pointer,O,O+s.length),this};D.prototype.digest=function(s){if(F(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ct.push(this.pointer),p.exports.blake2b_final(this.pointer),!s||s==="binary")return p.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(s==="hex")return cs(p.memory,this.pointer+128,this.digestLength);F(s.length>=this.digestLength,"input must be TypedArray or Buffer");for(var e=0;e<this.digestLength;e++)s[e]=p.memory[this.pointer+128+e];return s};D.prototype.final=D.prototype.digest;D.WASM=p&&p.buffer;D.SUPPORTED=typeof WebAssembly<"u";D.ready=function(s){if(s||(s=As),!p)return s(new Error("WebAssembly not supported"));var e=new Promise(function(t,r){p.onload(function(i){i?r():t(),s(i)})});return e};D.prototype.ready=D.ready;function As(){}function cs(s,e,t){for(var r="",i=0;i<t;i++)r+=us(s[e+i]);return r}function us(s){return s<16?"0"+s.toString(16):s.toString(16)}var z=me,It=M.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=ct[i],A=ct[i+1],c=ct[n],u=ct[n+1];lt(d,s,e),te(d,s,o,A);var h=d[r]^d[s],I=d[r+1]^d[s+1];d[r]=I,d[r+1]=h,lt(d,t,r),h=d[e]^d[t],I=d[e+1]^d[t+1],d[e]=h>>>24^I<<8,d[e+1]=I>>>24^h<<8,lt(d,s,e),te(d,s,c,u),h=d[r]^d[s],I=d[r+1]^d[s+1],d[r]=h>>>16^I<<16,d[r+1]=I>>>16^h<<16,lt(d,t,r),h=d[e]^d[t],I=d[e+1]^d[t+1],d[e]=I>>>31^h<<1,d[e+1]=h>>>31^I<<1}var Be=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Is=[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],B=new Uint8Array(Is.map(function(s){return s*2})),d=new Uint32Array(32),ct=new Uint32Array(32);function xe(s,e){var t=0;for(t=0;t<16;t++)d[t]=s.h[t],d[t+16]=Be[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++)ct[t]=Ee(s.b,4*t);for(t=0;t<12;t++)q(0,8,16,24,B[t*16+0],B[t*16+1]),q(2,10,18,26,B[t*16+2],B[t*16+3]),q(4,12,20,28,B[t*16+4],B[t*16+5]),q(6,14,22,30,B[t*16+6],B[t*16+7]),q(0,10,20,30,B[t*16+8],B[t*16+9]),q(2,12,22,24,B[t*16+10],B[t*16+11]),q(4,14,16,26,B[t*16+12],B[t*16+13]),q(6,8,18,28,B[t*16+14],B[t*16+15]);for(t=0;t<16;t++)s.h[t]=s.h[t]^d[t]^d[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 rt(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]=Be[i]^Ee($,i*4);e&&(Qe(this,e),this.c=128)}rt.prototype.update=function(s){return z(s!=null,"input must be Uint8Array or Buffer"),Qe(this,s),this};rt.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"),hs(this,e),s==="hex"?ds(e):e};rt.prototype.final=rt.prototype.digest;rt.ready=function(s){It.ready(function(){s()})};function Qe(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 hs(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 ds(s){for(var e="",t=0;t<s.length;t++)e+=ls(s[t]);return e}function ls(s){return s<16?"0"+s.toString(16):s.toString(16)}var Se=rt;S.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 Se(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 ee=S.exports.BYTES_MIN=16,se=S.exports.BYTES_MAX=64;S.exports.BYTES=32;var re=S.exports.KEYBYTES_MIN=16,ie=S.exports.KEYBYTES_MAX=64;S.exports.KEYBYTES=32;var ae=S.exports.SALTBYTES=16,ne=S.exports.PERSONALBYTES=16;It.ready(function(s){s||(S.exports.WASM_LOADED=!0,Se=It)});var it={};Object.defineProperty(it,"__esModule",{value:!0});it.bech32m=it.bech32=void 0;const Et="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ve={};for(let s=0;s<Et.length;s++){const e=Et.charAt(s);ve[e]=s}function st(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=st(e)^r>>5}e=st(e);for(let t=0;t<s.length;++t){const r=s.charCodeAt(t);e=st(e)^r&31}return e}function Ht(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 gs(s){return Ht(s,8,5,!0)}function fs(s){const e=Ht(s,5,8,!1);if(Array.isArray(e))return e}function _s(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,A,c){if(c=c||90,o.length+7+A.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let u=oe(o);if(typeof u=="string")throw new Error(u);let h=o+"1";for(let I=0;I<A.length;++I){const g=A[I];if(g>>5!==0)throw new Error("Non 5-bit word");u=st(u)^g,h+=Et.charAt(g)}for(let I=0;I<6;++I)u=st(u);u^=e;for(let I=0;I<6;++I){const g=u>>(5-I)*5&31;h+=Et.charAt(g)}return h}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(),u=o.toUpperCase();if(o!==c&&o!==u)return"Mixed-case string "+o;o=c;const h=o.lastIndexOf("1");if(h===-1)return"No separator character for "+o;if(h===0)return"Missing prefix for "+o;const I=o.slice(0,h),g=o.slice(h+1);if(g.length<6)return"Data too short";let w=oe(I);if(typeof w=="string")return w;const Q=[];for(let T=0;T<g.length;++T){const L=g.charAt(T),_=ve[L];if(_===void 0)return"Unknown character "+L;w=st(w)^_,!(T+6>=g.length)&&Q.push(_)}return w!==e?"Invalid checksum for "+o:{prefix:I,words:Q}}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:gs,fromWordsUnsafe:fs,fromWords:_s}}it.bech32=De("bech32");it.bech32m=De("bech32m");var Cs=$t&&$t.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(ye,"__esModule",{value:!0});const ps=Cs(S.exports),gt=it,Kt="asset";class ut{constructor(e){this.hashBuf=e}static fromHash(e){return new ut(e)}static fromParts(e,t){const r=(0,ps.default)(20).update(new Uint8Array([...e,...t])).digest("binary");return ut.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 ut.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 ws=ye.default=ut;const ys=ws,ms=(s,e)=>{const t=Es(s),r=t.derive(bt+1852).derive(bt+1815).derive(bt+e),i=r.derive(0).derive(0).to_raw_key(),n=r.derive(2).derive(0).to_raw_key();return r.free(),t.free(),{paymentKey:i,stakeKey:n}},tt=s=>a.Address.from_bytes(f(s)),Es=s=>a.Bip32PrivateKey.from_bytes(f(s)),Bs=s=>a.DataHash.from_bytes(f(s)),N=s=>a.Ed25519KeyHash.from_bytes(f(s)),xs=s=>a.Ed25519Signature.from_bytes(f(s)),Qt=s=>a.NativeScript.from_bytes(f(s)),Qs=s=>a.PublicKey.from_bytes(f(s)),Ss=s=>a.PlutusData.from_bytes(f(s)),at=(s,e)=>a.PlutusScript.from_bytes_with_version(f(s),wt[e]),vs=s=>a.ScriptRef.from_bytes(f(s)),Ds=s=>a.ScriptHash.from_bytes(f(s)),W=s=>a.Transaction.from_bytes(f(s)),be=s=>a.TransactionHash.from_bytes(f(s)),Ae=s=>a.TransactionUnspentOutput.from_bytes(f(s)),bs=s=>a.TransactionWitnessSet.from_bytes(f(s)),Ks=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)),ke=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"),St=s=>{const e=t=>{const r=new Array;for(let i=0;i<t.len();i+=1)r.push(St(t.get(i)));return r};switch(s.kind()){case a.NativeScriptKind.ScriptAll:{const t=s.as_script_all();return{type:"all",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptAny:{const t=s.as_script_any();return{type:"any",scripts:e(t.native_scripts())}}case a.NativeScriptKind.ScriptNOfK:{const t=s.as_script_n_of_k();return{type:"atLeast",required:t.n(),scripts:e(t.native_scripts())}}case a.NativeScriptKind.TimelockStart:{const t=s.as_timelock_start();return{type:"after",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.TimelockExpiry:{const t=s.as_timelock_expiry();return{type:"before",slot:t.slot_bignum().to_str()}}case a.NativeScriptKind.ScriptPubkey:{const t=s.as_script_pubkey();return{type:"sig",keyHash:t.addr_keyhash().to_hex()}}default:throw new Error(`Script Kind: ${s.kind()}, is not supported`)}},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(N(s.keyHash)))}},X=s=>{const e=t=>{const r=a.PlutusList.new();return t.forEach(i=>{r.add(X(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(X(i),X(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)))}},ks=s=>{const e=a.Relays.new();throw s.relays.forEach(t=>{e.add(Us(t))}),new Error("toPoolParams not implemented.")},Ue=s=>{const e=t=>qe[t];return a.Redeemer.new(e(s.tag),a.BigNum.from_str(s.index.toString()),X(s.data),a.ExUnits.new(a.BigNum.from_str(s.budget.mem.toString()),a.BigNum.from_str(s.budget.steps.toString())))},Us=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 St(e)},ht=s=>{if("code"in s){const e=at(s.code,s.version);return a.ScriptRef.new_plutus_script(e)}return a.ScriptRef.new_native_script(vt(s))},Bt=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:Ne(s.output().amount()),dataHash:e,plutusData:t,scriptRef:r}}},Y=s=>{const e=a.TransactionInput.new(be(s.input.txHash),s.input.outputIndex),t=a.TransactionOutput.new(P(s.output.address),pt(s.output.amount));return s.output.dataHash!==void 0&&t.set_data_hash(Bs(s.output.dataHash)),s.output.plutusData!==void 0&&t.set_plutus_data(Ss(s.output.plutusData)),s.output.scriptRef!==void 0&&t.set_script_ref(vs(s.output.scriptRef)),a.TransactionUnspentOutput.new(e,t)},ce=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")),Mt=s=>Buffer.from(s,"hex").toString("utf-8"),Ne=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 u=A.get(c),h=o.get(u)??a.BigNum.from_str("0"),I=n.to_hex()+k(u.name());e.push({unit:I,quantity:h.to_str()})}}}}return e},pt=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(A=>A.unit.slice(0,H)===n).forEach(A=>{o.insert(a.AssetName.new(f(A.unit.slice(H))),a.BigNum.from_str(A.quantity))}),r.insert(Ds(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},ue=(s,e,t)=>a.BaseAddress.new(s,a.StakeCredential.from_keyhash(e),a.StakeCredential.from_keyhash(t)),He=(s,e="")=>a.Bip32PrivateKey.from_bip39_entropy(f(s),f(v(e))),Ie=s=>a.DataCost.new_coins_per_byte(a.BigNum.from_str(s)),Fs=s=>{if(typeof s!="object"||!("input"in s))return a.DatumSource.new(X(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()}`)},he=(s,e)=>a.EnterpriseAddress.new(s,a.StakeCredential.from_keyhash(e)),de=(s,e)=>{if(typeof s=="string")return a.MintWitness.new_native_script(Qt(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(Pe(s),Ue({tag:"MINT",index:0,budget:fe,data:{alternative:0,fields:[]},...e}))},Ut=(s,e)=>a.RewardAddress.new(s,a.StakeCredential.from_keyhash(e)),Pe=s=>{if("code"in s)return a.PlutusScriptSource.new(at(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=at(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)},Ns=(s=G)=>{const e=a.TransactionBuilderConfigBuilder.new().coins_per_utxo_byte(a.BigNum.from_str(s.coinsPerUTxOSize)).ex_unit_prices(a.ExUnitPrices.new(ce(s.priceMem.toString()),ce(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=X(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},nt=s=>{const e=s.slice(0,H),t=s.includes(".")?v(s.split(".")[1]):s.slice(H);return{policyId:e,assetName:t}},l=s=>ot.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),Hs=s=>{const e=X(s);return a.hash_plutus_data(e).to_hex()},Ps=(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)=>ys.fromParts(f(s),f(e)).fingerprint(),Ms=(s,e)=>$e[s][e],Ts=s=>vt(s).hash().to_hex(),j=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}.`)}},Vs=(s,e=0)=>{const t=at(s.code,s.version);return a.EnterpriseAddress.new(e,a.StakeCredential.from_scripthash(t.hash())).to_address().to_bech32()},Os=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}.`)}},Ys=s=>a.Ed25519KeyHash.from_hex(s).to_bech32("pool1"),Gs=s=>{const e=kt.mnemonicToEntropy(s.join(" ")),t=He(e),r=t.to_bech32();return t.free(),r},Rs=s=>ht(s).to_hex(),Ls=(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}`)},Dt=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}.`)}},et=s=>{var e,t;try{const r=[(e=Pt(s))==null?void 0:e.stake_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 stake key hash from address: ${s}`)}catch(r){throw new Error(`An error occurred during resolveStakeKeyHash: ${r}.`)}},Tt=(s,e=G.minFeeA,t=G.minFeeB)=>(BigInt(e)*BigInt(s)+BigInt(t)).toString(),Te=s=>{const e=W(s).body();return a.hash_transaction(e).to_hex()},qs=(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 $s{_axiosInstance;constructor(e,t=0){const r=e.slice(0,7);this._axiosInstance=ot.default.create({baseURL:`https://cardano-${r}.blockfrost.io/api/v${t}`,headers:{project_id:e}})}async fetchAccountInfo(e){const t=e.startsWith("addr")?Dt(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,u=[])=>{const{data:h,status:I}=await this._axiosInstance.get(`${i}?page=${c}`);if(I===200)return h.length>0?n(c+1,[...u,...await Promise.all(h.map(A))]):u;throw l(h)},o=async c=>{if(c){const{data:u,status:h}=await this._axiosInstance.get(`scripts/${c}`);if(h===200){const I=u.type.startsWith("plutus")?{code:await this.fetchPlutusScriptCBOR(c),version:u.type.replace("plutus","")}:await this.fetchNativeScriptJSON(c);return ht(I).to_hex()}throw l(u)}},A=async c=>({input:{outputIndex:c.output_index,txHash:c.tx_hash},output:{address:e,amount:c.amount,dataHash:c.data_hash??void 0,plutusData:c.inline_datum??void 0,scriptRef:await o(c.reference_script_hash)}});try{return await n()}catch{return[]}}async fetchAssetAddresses(e){const t=async(r=1,i=[])=>{const{policyId:n,assetName:o}=nt(e),{data:A,status:c}=await this._axiosInstance.get(`assets/${n}${o}/addresses?page=${r}`);if(c===200)return A.length>0?t(r+1,[...i,...A]):i;throw l(A)};try{return await t()}catch{return[]}}async fetchAssetMetadata(e){try{const{policyId:t,assetName:r}=nt(e),{data:i,status:n}=await this._axiosInstance.get(`assets/${t}${r}`);if(n===200)return{...i.onchain_metadata};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Ft[1]}${t}/addresses`);if(i===200)return r[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e=Number.NaN){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${isNaN(e)?"latest":e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_word,collateralPercent:t.collateral_percent,decentralisation:t.decentralisation_param,epoch:t.epoch,keyDeposit:t.key_deposit,maxBlockExMem:t.max_block_ex_mem,maxBlockExSteps:t.max_block_ex_steps,maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem,maxTxExSteps:t.max_tx_ex_steps,maxTxSize:t.max_tx_size,maxValSize:t.max_val_size,minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost,poolDeposit:t.pool_deposit,priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("tx/submit",f(e),{headers:t});if(i===200)return r;throw l(r)}catch(t){throw l(t)}}async fetchPlutusScriptCBOR(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/cbor`);if(r===200)return t.cbor;throw l(t)}async fetchNativeScriptJSON(e){const{data:t,status:r}=await this._axiosInstance.get(`scripts/${e}/json`);if(r===200)return t.json;throw l(t)}}class zs{_axiosInstance;constructor(e,t,r){const i=r.host??"ipfs.infura.io",n=r.port??5001,o=r.version??0;this._axiosInstance=ot.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 Ws{_axiosInstance;constructor(e,t=0){this._axiosInstance=ot.default.create({baseURL:`https://${e}.koios.rest/api/v${t}`})}async fetchAccountInfo(e){try{const t=e.startsWith("addr")?Dt(e):e,{data:r,status:i}=await this._axiosInstance.post("account_info",{_stake_addresses:[t]});if(i===200)return{poolId:r[0].delegated_pool,active:r[0].status==="registered",balance:r[0].total_balance.toString(),rewards:r[0].rewards_available,withdrawals:r[0].withdrawals};throw l(r)}catch(t){throw l(t)}}async fetchAddressUTxOs(e,t){const r=i=>{if(i){const n=i.type.startsWith("plutus")?{code:i.bytes,version:i.type.replace("plutus","")}:St(Qt(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(u=>({unit:`${u.policy_id}${u.asset_name}`,quantity:`${u.quantity}`}))],dataHash:A.datum_hash??void 0,plutusData:((c=A.inline_datum)==null?void 0:c.bytes)??void 0,scriptRef:r(A.reference_script)}}});return t!==void 0?o.filter(A=>A.output.amount.find(c=>c.unit===t)!==void 0):o}throw l(i)}catch{return[]}}async fetchAssetAddresses(e){try{const{policyId:t,assetName:r}=nt(e),{data:i,status:n}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${t}&_asset_name=${r}`);if(n===200)return i.map(o=>({address:o.payment_address,quantity:o.quantity}));throw l(i)}catch(t){throw l(t)}}async fetchAssetMetadata(e){try{const{policyId:t,assetName:r}=nt(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][Mt(r)]};throw l(i)}catch(t){throw l(t)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`asset_address_list?_asset_policy=${Ft[1]}&_asset_name=${t}`);if(i===200)return r[0].payment_address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epoch_params?_epoch_no=${e}`);if(r===200)return{coinsPerUTxOSize:t[0].coins_per_utxo_size,collateralPercent:t[0].collateral_percent,decentralisation:t[0].decentralisation,epoch:t[0].epoch_no,keyDeposit:t[0].key_deposit,maxBlockExMem:t[0].max_block_ex_mem.toString(),maxBlockExSteps:t[0].max_block_ex_steps.toString(),maxBlockHeaderSize:t[0].max_bh_size,maxBlockSize:t[0].max_block_size,maxCollateralInputs:t[0].max_collateral_inputs,maxTxExMem:t[0].max_tx_ex_mem.toString(),maxTxExSteps:t[0].max_tx_ex_steps.toString(),maxTxSize:t[0].max_tx_size,maxValSize:t[0].max_val_size.toString(),minFeeA:t[0].min_fee_a,minFeeB:t[0].min_fee_b,minPoolCost:t[0].min_pool_cost,poolDeposit:t[0].pool_deposit,priceMem:t[0].price_mem,priceStep:t[0].price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/cbor"},{data:r,status:i}=await this._axiosInstance.post("submittx",f(e),{headers:t});if(i===202)return r;throw l(r)}catch(t){throw l(t)}}}class Js{_axiosInstance;constructor(e,t,r,i=1){this._axiosInstance=ot.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")?Dt(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(u="",h=[])=>{var w;const{data:I,status:g}=await this._axiosInstance.get(`${i}&cursor=${u}`);if(g===200)return I.cursor!==null&&((w=I.cursor)==null?void 0:w.length)>0?n(I.cursor,[...h,...I.data.map(c)]):I.data.map(c);throw l(I)},o=(u,h)=>{const I=[{unit:"lovelace",quantity:u.toString()}];return h.forEach(g=>{const w=v(g.asset_name);I.push({unit:`${g.policy_id}${w}`,quantity:g.quantity.toString()})}),I},A=u=>{if(u){const h=u.type.startsWith("plutus")?{code:u.code,version:u.type.replace("plutus","")}:St(Qt(u.json));return ht(h).to_hex()}},c=u=>{var h;return{input:{outputIndex:u.index,txHash:u.hash},output:{address:e,amount:o(u.value,u.assets),dataHash:void 0,plutusData:((h=u.inline_datum)==null?void 0:h.value_raw)??void 0,scriptRef:A(u.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 h;const{policyId:o,assetName:A}=nt(e),{data:c,status:u}=await this._axiosInstance.get(`assets/${o}${A}/addresses?size=100&cursor=${i}`);if(u===200)return c.cursor!==null&&((h=c.cursor)==null?void 0:h.length)>0?r(c.cursor,[...n,...c.data.map(t)]):c.data.map(t);throw l(c)};try{return await r()}catch{return[]}}async fetchAssetMetadata(e){var t;try{const{policyId:r,assetName:i}=nt(e),{data:n,status:o}=await this._axiosInstance.get(`assets/${r}${i}`);if(o===200)return{...(t=n.metadata[0])==null?void 0:t.json[r][Mt(i)]};throw l(n)}catch(r){throw l(r)}}async fetchHandleAddress(e){try{const t=v(e.replace("$","")),{data:r,status:i}=await this._axiosInstance.get(`assets/${Ft[1]}${t}/addresses`);if(i===200)return r.data[0].address;throw l(r)}catch(t){throw l(t)}}async fetchProtocolParameters(e){try{const{data:t,status:r}=await this._axiosInstance.get(`epochs/${e}/parameters`);if(r===200)return{coinsPerUTxOSize:t.coins_per_utxo_size.toString(),collateralPercent:t.collateral_percent,decentralisation:t.decentralisation,epoch:t.epoch_no,keyDeposit:t.key_deposit.toString(),maxBlockExMem:t.max_block_ex_mem.toString(),maxBlockExSteps:t.max_block_ex_steps.toString(),maxBlockHeaderSize:t.max_block_header_size,maxBlockSize:t.max_block_size,maxCollateralInputs:t.max_collateral_inputs,maxTxExMem:t.max_tx_ex_mem.toString(),maxTxExSteps:t.max_tx_ex_steps.toString(),maxTxSize:t.max_tx_size,maxValSize:t.max_val_size.toString(),minFeeA:t.min_fee_a,minFeeB:t.min_fee_b,minPoolCost:t.min_pool_cost.toString(),poolDeposit:t.pool_deposit.toString(),priceMem:t.price_mem,priceStep:t.price_step};throw l(t)}catch(t){throw l(t)}}async submitTx(e){try{const t={"Content-Type":"application/json"},{data:r,status:i}=await this._axiosInstance.post("transactions/submit",{tx:e},{headers:t});if(i===200)return r.tx_id;throw l(r)}catch(t){throw l(t)}}}class js{static withOneSignature(e){const t=N(j(e));return ft(t).to_hex()}static withAtLeastNSignatures(e,t){const r=a.NativeScripts.new();e.forEach(n=>{const o=N(j(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=N(j(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=N(j(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 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 Xs=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;_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=Ns(e.parameters),this._txCertificates=a.Certificates.new(),this._txInputsBuilder=a.TxInputsBuilder.new(),this._txWithdrawals=a.Withdrawals.new()}static maskMetadata(e,t="ALONZO"){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 c=0;c<i.len();c+=1){const u=i.keys().get(c),h=i.get(u);o.insert(u,a.TransactionMetadatum.from_hex("0".repeat(((h==null?void 0:h.to_hex())??"").length)))}const A=r.auxiliary_data();return A!==void 0&&(A.set_metadata(o),A.set_prefer_alonzo_format(t==="ALONZO")),a.Transaction.new(r.body(),r.witness_set(),A).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="ALONZO"){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(de(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(N(et(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(N(et(e)))));return this._txCertificates.add(t),this}mintAsset(e,t,r){var u,h;const i=(I,g)=>{const w=typeof I=="string"?Qt(I).hash().to_hex():n(I).hash().to_hex(),Q=v(g.assetName);return{unit:`${w}${Q}`,quantity:g.assetQuantity}},n=I=>{if("code"in I)return at(I.code,I.version);const g=Y(I);if(g.output().has_script_ref()){const w=g.output().script_ref();if(w.is_plutus_script()){const Q=Fe(w);return at(Q.code,Q.version)}}throw new Error(`No plutus script reference found in UTxO: ${g.input().transaction_id().to_hex()}`)},o=i(e,t),c=a.BigNum.from_str(((u=this._totalMints.get(o.unit))==null?void 0:u.assetQuantity)??"0").checked_add(a.BigNum.from_str(o.quantity));return this._mintBuilder.add_asset(de(e,r),a.AssetName.new(f(v(t.assetName))),a.Int.new(a.BigNum.from_str(o.quantity))),this._recipients.has(t.recipient)?(h=this._recipients.get(t.recipient))==null||h.push(o):this._recipients.set(t.recipient,[o]),this._totalMints.set(o.unit,{...t,assetQuantity:c.to_str()}),this}redeemValue(e){const t={tag:"SPEND",budget:fe,index:this._txInputsBuilder.inputs().len(),data:{alternative:0,fields:[]},...e.redeemer},r=Y(e.value),i=a.PlutusWitness.new_with_ref(Pe(e.script),Fs(e.datum),Ue(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(N(et(e)))));return this._txCertificates.add(t),this}registerPool(e){const t=a.Certificate.new_pool_registration(a.PoolRegistration.new(ks(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=pt(t),i=r.multiasset();if(r.is_zero()||i===void 0)return this;const o=_t(e).next().with_asset_and_min_required_coin_by_utxo_cost(i,Ie(this._protocolParameters.coinsPerUTxOSize)).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=pt(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")?j(r):et(r)).map(r=>N(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=ke(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=>Bt(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=j(e.to_bech32());this._txBuilder.add_required_signer(N(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]:A,...c}=r,u={[i]:n,...A};return{[o]:{...u},...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=_e("5000000",t.map(n=>Bt(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=pt(e).multiasset();if(i!==void 0){const o=_t(t).next().with_asset_and_min_required_coin_by_utxo_cost(i,Ie(this._protocolParameters.coinsPerUTxOSize)).build();this._txBuilder.add_output(o)}})}notVisited(e){return this.__visits.includes(e)===!1}};J([Z()],exports.Transaction.prototype,"mintAsset",null);J([Z()],exports.Transaction.prototype,"redeemValue",null);J([Z()],exports.Transaction.prototype,"sendAssets",null);J([Z()],exports.Transaction.prototype,"sendValue",null);J([Z()],exports.Transaction.prototype,"setCollateral",null);J([Z()],exports.Transaction.prototype,"setRequiredSigners",null);J([Z()],exports.Transaction.prototype,"setTxInputs",null);exports.Transaction=J([Xs],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=ue(this._networkId,r.to_public().hash(),i.to_public().hash()).to_address().to_bech32(),o=he(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:y.resolveAddress(this._networkId,r,n,o),key:r.startsWith("stake")?o:n},{coseSign1:u,coseKey:h}=Je(A,c);return{signature:u,key:h}})}catch(n){throw new Error(`An error occurred during signData: ${n}.`)}}signTx(e,t,r,i,n){try{const o=be(Te(i));return this.accountContext(e,t,(A,c)=>{const u=a.Vkeywitnesses.new();return y.resolveSigners(i,r,A.to_public().hash().to_hex()).forEach(I=>{if(I===A.to_public().hash().to_hex())u.add(a.make_vkey_witness(o,A));else if(I===c.to_public().hash().to_hex())u.add(a.make_vkey_witness(o,c));else if(n===!1)throw new Error(`Missing key witness for: ${I}`)}),u})}catch(o){throw new Error(`An error occurred during signTx: ${o}.`)}}static encryptMnemonic(e,t){const r=kt.mnemonicToEntropy(e.join(" ")),i=He(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=[ue(e,r.to_public().hash(),i.to_public().hash()),he(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 ms(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=A=>{const c=(_,x=[],E=0)=>{var dt,At,Vt,Ot,Yt;if(_===void 0||E>=_.len())return x;const b=_.get(E),K=new Array;switch(b.kind()){case a.CertificateKind.StakeDeregistration:{const m=(dt=b.as_stake_deregistration())==null?void 0:dt.stake_credential(),V=(m==null?void 0:m.kind())===a.StakeCredKind.Key?m.to_keyhash():void 0;V&&K.push(V.to_hex());break}case a.CertificateKind.StakeDelegation:{const m=(At=b.as_stake_delegation())==null?void 0:At.stake_credential(),V=(m==null?void 0:m.kind())===a.StakeCredKind.Key?m.to_keyhash():void 0;V&&K.push(V.to_hex());break}case a.CertificateKind.PoolRegistration:{const m=(Vt=b.as_pool_registration())==null?void 0:Vt.pool_params().pool_owners();K.push(...h(m));break}case a.CertificateKind.PoolRetirement:{const m=(Ot=b.as_pool_retirement())==null?void 0:Ot.pool_keyhash();m&&K.push(m.to_hex());break}case a.CertificateKind.MoveInstantaneousRewardsCert:{const m=(Yt=b.as_move_instantaneous_rewards_cert())==null?void 0:Yt.move_instantaneous_reward().as_to_stake_creds();if(m)for(let V=0;V<m.len();V+=1){const Gt=m.keys().get(V),Rt=Gt.kind()===a.StakeCredKind.Key?Gt.to_keyhash():void 0;Rt&&K.push(Rt.to_hex())}break}}return c(_,[...x,...K],E+1)},u=(_,x=[],E=0)=>{if(_===void 0||E>=_.len())return x;const b=_.get(E).index(),K=_.get(E).transaction_id(),dt=t.find(At=>At.input.outputIndex===b&&At.input.txHash===K.to_hex())!==void 0?r:"OUR_PRINCESS_IS_IN_ANOTHER_CASTLE";return u(_,[...x,dt],E+1)},h=(_,x=[],E=0)=>_===void 0||E>=_.len()?x:h(_,[...x,_.get(E).to_hex()],E+1),I=(_,x=[],E=0)=>{if(_===void 0||E>=_.len())return x;const b=_.keys().get(E).payment_cred(),K=b.kind()===a.StakeCredKind.Key?b.to_keyhash():void 0;return I(_,K?[...x,K.to_hex()]:x,E+1)},g=A.certs(),w=A.collateral(),Q=A.inputs(),T=A.required_signers(),L=A.withdrawals();return[...c(g),...u(w),...u(Q),...h(T),...I(L)]},n=A=>{const c=(h,I=[])=>{var g,w,Q,T;if(h)for(let L=0;L<h.len();L+=1){const _=h.get(L);switch(_.kind()){case a.NativeScriptKind.ScriptPubkey:{const x=(g=_.as_script_pubkey())==null?void 0:g.addr_keyhash().to_hex();return x?[...I,x]:I}case a.NativeScriptKind.ScriptAll:return c((w=_.as_script_all())==null?void 0:w.native_scripts(),I);case a.NativeScriptKind.ScriptAny:return c((Q=_.as_script_any())==null?void 0:Q.native_scripts(),I);case a.NativeScriptKind.ScriptNOfK:return c((T=_.as_script_n_of_k())==null?void 0:T.native_scripts(),I)}}return I},u=A.native_scripts();return[...c(u)]},o=W(e);return new Set([...i(o.body()),...n(o.witness_set())])}}const U="MARI0TIME";class Zs{_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),A=W(e),c=A.witness_set(),u=Ve(c,o);return c.set_vkeys(u),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 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 Ne(Ks(e))}async getChangeAddress(){const e=await this._walletInstance.getChangeAddress();return tt(e).to_bech32()}async getCollateral(e=G.maxCollateralInputs){return(await this.getUsedCollateral(e)).map(r=>Bt(r))}getNetworkId(){return this._walletInstance.getNetworkId()}async getRewardAddresses(){return(await this._walletInstance.getRewardAddresses()).map(t=>tt(t).to_bech32())}async getUnusedAddresses(){return(await this._walletInstance.getUnusedAddresses()).map(t=>tt(t).to_bech32())}async getUsedAddresses(){return(await this._walletInstance.getUsedAddresses()).map(t=>tt(t).to_bech32())}async getUtxos(){return(await this.getUsedUTxOs()).map(t=>Bt(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=bs(n).vkeys()??a.Vkeywitnesses.new(),A=Ve(i,o);return i.set_vkeys(A),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 tt(e[0])}async getUsedCollateral(e=G.maxCollateralInputs){return(await this._walletInstance.experimental.getCollateral()??[]).map(r=>Ae(r)).slice(0,e)}async getUsedUTxOs(){return(await this._walletInstance.getUtxos()??[]).map(t=>Ae(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:Mt(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 Oe="http://localhost:4000/",tr="http://localhost:5000/",er=`${Oe}access`,sr=`${Oe}transaction/signtx`;class rr{static getAxiosInstance(){return ot.default.create({baseURL:tr,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(er):!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(`${sr}?unsignedTx=${e}&partialSign=${t}`);if(i instanceof a.Vkeywitnesses){const n=W(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=Zs;exports.BlockfrostProvider=$s;exports.BrowserWallet=xt;exports.EmbeddedWallet=y;exports.ForgeScript=js;exports.InfuraProvider=zs;exports.KoiosProvider=Ws;exports.MinaWallet=rr;exports.TangoProvider=Js;exports.checkSignature=je;exports.generateNonce=qs;exports.largestFirst=_e;exports.largestFirstMultiAsset=Ce;exports.resolveDataHash=Hs;exports.resolveEpochNo=Ps;exports.resolveFingerprint=Me;exports.resolveLanguageView=Ms;exports.resolveNativeScriptHash=Ts;exports.resolvePaymentKeyHash=j;exports.resolvePlutusScriptAddress=Vs;exports.resolvePlutusScriptHash=Os;exports.resolvePoolId=Ys;exports.resolvePrivateKey=Gs;exports.resolveRewardAddress=Dt;exports.resolveScriptRef=Rs;exports.resolveSlotNo=Ls;exports.resolveStakeKeyHash=et;exports.resolveTxFees=Tt;exports.resolveTxHash=Te;
|