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