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