[{"data":1,"prerenderedAt":6460},["ShallowReactive",2],{"navigation":3,"page-en-\u002Fguides\u002Ftransactions":160,"surround-en-\u002Fguides\u002Ftransactions":6455},[4,28,65,99,130,151],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":23,"path":24,"stem":25,"icon":26},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings-2",false,{"title":29,"path":30,"stem":31,"children":32,"icon":34},"Guides","\u002Fguides","2.guides\u002F1.index",[33,35,40,45,50,55,60],{"title":29,"path":30,"stem":31,"icon":34},"i-lucide-book-open",{"title":36,"path":37,"stem":38,"icon":39},"Build a Wallet App","\u002Fguides\u002Fbuild-wallet-app","2.guides\u002F2.build-wallet-app","i-lucide-wallet",{"title":41,"path":42,"stem":43,"icon":44},"Building Transactions","\u002Fguides\u002Ftransactions","2.guides\u002F3.transactions","i-lucide-file-signature",{"title":46,"path":47,"stem":48,"icon":49},"Mint and Burn Tokens Guide","\u002Fguides\u002Fmint-burn-tokens","2.guides\u002F4.mint-burn-tokens","i-lucide-coins",{"title":51,"path":52,"stem":53,"icon":54},"Hydra Integration Examples","\u002Fguides\u002Fhydra-integration","2.guides\u002F5.hydra-integration","i-lucide-network",{"title":56,"path":57,"stem":58,"icon":59},"Utilities Cookbook","\u002Fguides\u002Futilities-cookbook","2.guides\u002F6.utilities-cookbook","i-lucide-wrench",{"title":61,"path":62,"stem":63,"icon":64},"Integrate from Cardano-CLI","\u002Fguides\u002Fcardano-cli-keys","2.guides\u002F7.cardano-cli-keys","i-lucide-key-round",{"title":66,"path":67,"stem":68,"children":69,"icon":98},"Concepts","\u002Fconcepts","3.concepts\u002F1.index",[70,73,78,83,88,93],{"title":71,"path":67,"stem":68,"icon":72},"Why Hydra?","i-lucide-circle-help",{"title":74,"path":75,"stem":76,"icon":77},"Commit to Hydra","\u002Fconcepts\u002Fcommit-to-hydra","3.concepts\u002F2.commit-to-hydra","i-lucide-arrow-down-to-line",{"title":79,"path":80,"stem":81,"icon":82},"Decommit from Hydra","\u002Fconcepts\u002Fdecommit-from-hydra","3.concepts\u002F3.decommit-from-hydra","i-lucide-arrow-up-from-line",{"title":84,"path":85,"stem":86,"icon":87},"Transactions in Hydra","\u002Fconcepts\u002Ftransactions-in-hydra","3.concepts\u002F4.transactions-in-hydra","i-lucide-arrow-left-right",{"title":89,"path":90,"stem":91,"icon":92},"Smart Contracts in Hydra","\u002Fconcepts\u002Fsmart-contracts-in-hydra","3.concepts\u002F5.smart-contracts-in-hydra","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"icon":97},"Hydra Protocol Versions","\u002Fconcepts\u002Fhydra-v2-changes","3.concepts\u002F6.hydra-v2-changes","i-lucide-git-compare","i-lucide-lightbulb",{"title":100,"path":101,"stem":102,"children":103,"icon":129},"API Reference","\u002Fapi","4.api\u002F1.index",[104,106,111,116,120,125],{"title":100,"path":101,"stem":102,"icon":105},"i-lucide-book-marked",{"title":107,"path":108,"stem":109,"icon":110},"@hydra-sdk\u002Fcore","\u002Fapi\u002Fcore","4.api\u002F2.core","i-lucide-box",{"title":112,"path":113,"stem":114,"icon":115},"@hydra-sdk\u002Fbridge","\u002Fapi\u002Fbridge","4.api\u002F3.bridge","i-lucide-cable",{"title":117,"path":118,"stem":119,"icon":44},"@hydra-sdk\u002Ftransaction","\u002Fapi\u002Ftransaction","4.api\u002F4.transaction",{"title":121,"path":122,"stem":123,"icon":124},"@hydra-sdk\u002Fcardano-wasm","\u002Fapi\u002Fcardano-wasm","4.api\u002F5.cardano-wasm","i-lucide-cpu",{"title":126,"path":127,"stem":128,"icon":59},"@hydra-sdk\u002Fcore - Utilities","\u002Fapi\u002Futilities","4.api\u002F6.utilities","i-lucide-braces",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":27},"Resources","i-lucide-archive","\u002Fresources","5.resources",[136,141,146],{"title":137,"path":138,"stem":139,"icon":140},"Change Logs","\u002Fresources\u002Fchangelog","5.resources\u002F1.changelog","i-lucide-history",{"title":142,"path":143,"stem":144,"icon":145},"Migration","\u002Fresources\u002Fmigration","5.resources\u002F2.migration","i-lucide-arrow-right-left",{"title":147,"path":148,"stem":149,"icon":150},"Performance & Comparison","\u002Fresources\u002Fperformance","5.resources\u002F3.performance","i-lucide-gauge",{"title":152,"path":153,"stem":154,"children":155,"icon":159},"AI","\u002Fai","6.ai\u002F1.index",[156],{"title":157,"path":153,"stem":154,"icon":158},"Use with AI","i-lucide-bot","i-lucide-sparkles",{"id":161,"title":41,"body":162,"description":6448,"extension":6449,"links":6450,"meta":6451,"navigation":6452,"path":42,"seo":6453,"stem":43,"__hash__":6454},"docs_en\u002F2.guides\u002F3.transactions.md",{"type":163,"value":164,"toc":6429},"minimark",[165,177,182,192,197,926,930,937,1555,1559,1565,1569,1934,1938,1943,1957,2525,2529,2532,3542,3546,3549,3553,3556,4490,4494,4497,4503,6047,6051,6057,6076,6081,6113,6117,6130,6140,6144,6158,6198,6386,6394,6398,6425],[166,167,168,169,173,174,176],"p",{},"The ",[170,171,172],"code",{},"TxBuilder"," from ",[170,175,117],{}," gives you a fluent API for assembling Cardano transactions: selecting inputs, adding outputs, attaching scripts and redeemers, and completing an unsigned transaction. This guide walks through the core flows: building and submitting a simple transfer, signing (including multi-signature), and locking or unlocking assets with Plutus scripts.",[178,179,181],"h2",{"id":180},"build-and-submit-a-transaction","Build and submit a transaction",[166,183,184,185,187,188,191],{},"The basic flow is always the same: fetch UTxOs for your address, feed them to the ",[170,186,172],{},", add your outputs, set a change address, and call ",[170,189,190],{},".complete()"," to get an unsigned transaction. You then sign it with your wallet and submit it through a provider.",[193,194,196],"h3",{"id":195},"using-blockfrost-provider","Using Blockfrost Provider",[198,199,204],"pre",{"className":200,"code":201,"language":202,"meta":203,"style":203},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { AppWallet, NETWORK_ID, ProviderUtils } from '@hydra-sdk\u002Fcore'\nimport { TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\n\u002F\u002F Initialize Blockfrost provider\nconst blockfrostProvider = new ProviderUtils.BlockfrostProvider({\n  apiKey: 'your-blockfrost-api-key',\n  network: 'preprod'\n})\n\n\u002F\u002F Create wallet (real-world example)\nconst wallet = new AppWallet({\n  key: {\n    type: 'mnemonic',\n    words: 'armed pink solve client dignity alarm earn impose acquire rib eyebrow engage dragon face funny'.split(' ')\n  },\n  networkId: NETWORK_ID.PREPROD\n})\n\nasync function buildSimpleTransaction() {\n  const baseAddressBech32 = wallet.getAccount().baseAddressBech32\n  console.log('>>> Wallet Address:', baseAddressBech32)\n\n  \u002F\u002F Fetch UTxOs from Blockfrost\n  const utxos = await blockfrostProvider.fetcher.fetchAddressUTxOs(baseAddressBech32)\n  console.log('>>> UTxOs found:', utxos.length)\n\n  \u002F\u002F Build transaction\n  const txBuilder = new TxBuilder({})\n\n  const tx = await txBuilder\n    .setInputs(utxos)\n    .addOutput({\n      address: baseAddressBech32, \u002F\u002F Send back to same address\n      amount: [{ unit: 'lovelace', quantity: '1000000' }] \u002F\u002F 1 ADA\n    })\n    .setChangeAddress(baseAddressBech32)\n    .complete()\n\n  console.log('>>> Unsigned Tx:', tx.to_hex())\n  \n  \u002F\u002F Sign transaction\n  const signedTx = await wallet.signTx(tx.to_hex())\n  console.log('>>> Signed Tx:', signedTx)\n\n  \u002F\u002F Submit transaction (optional)\n  \u002F\u002F const txHash = await blockfrostProvider.submitter.submitTx(signedTx)\n  \u002F\u002F console.log('>>> Tx Hash:', txHash)\n}\n","typescript","",[170,205,206,249,269,276,283,314,335,350,359,364,370,388,399,416,444,450,465,472,477,494,521,547,552,558,591,620,625,631,652,657,672,688,700,715,763,771,785,796,801,831,837,843,873,897,902,908,914,920],{"__ignoreMap":203},[207,208,211,215,219,223,226,229,231,234,237,240,243,246],"span",{"class":209,"line":210},"line",1,[207,212,214],{"class":213},"s7zQu","import",[207,216,218],{"class":217},"sMK4o"," {",[207,220,222],{"class":221},"sTEyZ"," AppWallet",[207,224,225],{"class":217},",",[207,227,228],{"class":221}," NETWORK_ID",[207,230,225],{"class":217},[207,232,233],{"class":221}," ProviderUtils",[207,235,236],{"class":217}," }",[207,238,239],{"class":213}," from",[207,241,242],{"class":217}," '",[207,244,107],{"class":245},"sfazB",[207,247,248],{"class":217},"'\n",[207,250,252,254,256,259,261,263,265,267],{"class":209,"line":251},2,[207,253,214],{"class":213},[207,255,218],{"class":217},[207,257,258],{"class":221}," TxBuilder",[207,260,236],{"class":217},[207,262,239],{"class":213},[207,264,242],{"class":217},[207,266,117],{"class":245},[207,268,248],{"class":217},[207,270,272],{"class":209,"line":271},3,[207,273,275],{"emptyLinePlaceholder":274},true,"\n",[207,277,279],{"class":209,"line":278},4,[207,280,282],{"class":281},"sHwdD","\u002F\u002F Initialize Blockfrost provider\n",[207,284,286,290,293,296,299,301,304,308,311],{"class":209,"line":285},5,[207,287,289],{"class":288},"spNyl","const",[207,291,292],{"class":221}," blockfrostProvider ",[207,294,295],{"class":217},"=",[207,297,298],{"class":217}," new",[207,300,233],{"class":221},[207,302,303],{"class":217},".",[207,305,307],{"class":306},"s2Zo4","BlockfrostProvider",[207,309,310],{"class":221},"(",[207,312,313],{"class":217},"{\n",[207,315,317,321,324,326,329,332],{"class":209,"line":316},6,[207,318,320],{"class":319},"swJcz","  apiKey",[207,322,323],{"class":217},":",[207,325,242],{"class":217},[207,327,328],{"class":245},"your-blockfrost-api-key",[207,330,331],{"class":217},"'",[207,333,334],{"class":217},",\n",[207,336,338,341,343,345,348],{"class":209,"line":337},7,[207,339,340],{"class":319},"  network",[207,342,323],{"class":217},[207,344,242],{"class":217},[207,346,347],{"class":245},"preprod",[207,349,248],{"class":217},[207,351,353,356],{"class":209,"line":352},8,[207,354,355],{"class":217},"}",[207,357,358],{"class":221},")\n",[207,360,362],{"class":209,"line":361},9,[207,363,275],{"emptyLinePlaceholder":274},[207,365,367],{"class":209,"line":366},10,[207,368,369],{"class":281},"\u002F\u002F Create wallet (real-world example)\n",[207,371,373,375,378,380,382,384,386],{"class":209,"line":372},11,[207,374,289],{"class":288},[207,376,377],{"class":221}," wallet ",[207,379,295],{"class":217},[207,381,298],{"class":217},[207,383,222],{"class":306},[207,385,310],{"class":221},[207,387,313],{"class":217},[207,389,391,394,396],{"class":209,"line":390},12,[207,392,393],{"class":319},"  key",[207,395,323],{"class":217},[207,397,398],{"class":217}," {\n",[207,400,402,405,407,409,412,414],{"class":209,"line":401},13,[207,403,404],{"class":319},"    type",[207,406,323],{"class":217},[207,408,242],{"class":217},[207,410,411],{"class":245},"mnemonic",[207,413,331],{"class":217},[207,415,334],{"class":217},[207,417,419,422,424,426,429,431,433,436,438,440,442],{"class":209,"line":418},14,[207,420,421],{"class":319},"    words",[207,423,323],{"class":217},[207,425,242],{"class":217},[207,427,428],{"class":245},"armed pink solve client dignity alarm earn impose acquire rib eyebrow engage dragon face funny",[207,430,331],{"class":217},[207,432,303],{"class":217},[207,434,435],{"class":306},"split",[207,437,310],{"class":221},[207,439,331],{"class":217},[207,441,242],{"class":217},[207,443,358],{"class":221},[207,445,447],{"class":209,"line":446},15,[207,448,449],{"class":217},"  },\n",[207,451,453,456,458,460,462],{"class":209,"line":452},16,[207,454,455],{"class":319},"  networkId",[207,457,323],{"class":217},[207,459,228],{"class":221},[207,461,303],{"class":217},[207,463,464],{"class":221},"PREPROD\n",[207,466,468,470],{"class":209,"line":467},17,[207,469,355],{"class":217},[207,471,358],{"class":221},[207,473,475],{"class":209,"line":474},18,[207,476,275],{"emptyLinePlaceholder":274},[207,478,480,483,486,489,492],{"class":209,"line":479},19,[207,481,482],{"class":288},"async",[207,484,485],{"class":288}," function",[207,487,488],{"class":306}," buildSimpleTransaction",[207,490,491],{"class":217},"()",[207,493,398],{"class":217},[207,495,497,500,503,506,509,511,514,516,518],{"class":209,"line":496},20,[207,498,499],{"class":288},"  const",[207,501,502],{"class":221}," baseAddressBech32",[207,504,505],{"class":217}," =",[207,507,508],{"class":221}," wallet",[207,510,303],{"class":217},[207,512,513],{"class":306},"getAccount",[207,515,491],{"class":319},[207,517,303],{"class":217},[207,519,520],{"class":221},"baseAddressBech32\n",[207,522,524,527,529,532,534,536,539,541,543,545],{"class":209,"line":523},21,[207,525,526],{"class":221},"  console",[207,528,303],{"class":217},[207,530,531],{"class":306},"log",[207,533,310],{"class":319},[207,535,331],{"class":217},[207,537,538],{"class":245},">>> Wallet Address:",[207,540,331],{"class":217},[207,542,225],{"class":217},[207,544,502],{"class":221},[207,546,358],{"class":319},[207,548,550],{"class":209,"line":549},22,[207,551,275],{"emptyLinePlaceholder":274},[207,553,555],{"class":209,"line":554},23,[207,556,557],{"class":281},"  \u002F\u002F Fetch UTxOs from Blockfrost\n",[207,559,561,563,566,568,571,574,576,579,581,584,586,589],{"class":209,"line":560},24,[207,562,499],{"class":288},[207,564,565],{"class":221}," utxos",[207,567,505],{"class":217},[207,569,570],{"class":213}," await",[207,572,573],{"class":221}," blockfrostProvider",[207,575,303],{"class":217},[207,577,578],{"class":221},"fetcher",[207,580,303],{"class":217},[207,582,583],{"class":306},"fetchAddressUTxOs",[207,585,310],{"class":319},[207,587,588],{"class":221},"baseAddressBech32",[207,590,358],{"class":319},[207,592,594,596,598,600,602,604,607,609,611,613,615,618],{"class":209,"line":593},25,[207,595,526],{"class":221},[207,597,303],{"class":217},[207,599,531],{"class":306},[207,601,310],{"class":319},[207,603,331],{"class":217},[207,605,606],{"class":245},">>> UTxOs found:",[207,608,331],{"class":217},[207,610,225],{"class":217},[207,612,565],{"class":221},[207,614,303],{"class":217},[207,616,617],{"class":221},"length",[207,619,358],{"class":319},[207,621,623],{"class":209,"line":622},26,[207,624,275],{"emptyLinePlaceholder":274},[207,626,628],{"class":209,"line":627},27,[207,629,630],{"class":281},"  \u002F\u002F Build transaction\n",[207,632,634,636,639,641,643,645,647,650],{"class":209,"line":633},28,[207,635,499],{"class":288},[207,637,638],{"class":221}," txBuilder",[207,640,505],{"class":217},[207,642,298],{"class":217},[207,644,258],{"class":306},[207,646,310],{"class":319},[207,648,649],{"class":217},"{}",[207,651,358],{"class":319},[207,653,655],{"class":209,"line":654},29,[207,656,275],{"emptyLinePlaceholder":274},[207,658,660,662,665,667,669],{"class":209,"line":659},30,[207,661,499],{"class":288},[207,663,664],{"class":221}," tx",[207,666,505],{"class":217},[207,668,570],{"class":213},[207,670,671],{"class":221}," txBuilder\n",[207,673,675,678,681,683,686],{"class":209,"line":674},31,[207,676,677],{"class":217},"    .",[207,679,680],{"class":306},"setInputs",[207,682,310],{"class":319},[207,684,685],{"class":221},"utxos",[207,687,358],{"class":319},[207,689,691,693,696,698],{"class":209,"line":690},32,[207,692,677],{"class":217},[207,694,695],{"class":306},"addOutput",[207,697,310],{"class":319},[207,699,313],{"class":217},[207,701,703,706,708,710,712],{"class":209,"line":702},33,[207,704,705],{"class":319},"      address",[207,707,323],{"class":217},[207,709,502],{"class":221},[207,711,225],{"class":217},[207,713,714],{"class":281}," \u002F\u002F Send back to same address\n",[207,716,718,721,723,726,729,732,734,736,739,741,743,746,748,750,753,755,757,760],{"class":209,"line":717},34,[207,719,720],{"class":319},"      amount",[207,722,323],{"class":217},[207,724,725],{"class":319}," [",[207,727,728],{"class":217},"{",[207,730,731],{"class":319}," unit",[207,733,323],{"class":217},[207,735,242],{"class":217},[207,737,738],{"class":245},"lovelace",[207,740,331],{"class":217},[207,742,225],{"class":217},[207,744,745],{"class":319}," quantity",[207,747,323],{"class":217},[207,749,242],{"class":217},[207,751,752],{"class":245},"1000000",[207,754,331],{"class":217},[207,756,236],{"class":217},[207,758,759],{"class":319},"] ",[207,761,762],{"class":281},"\u002F\u002F 1 ADA\n",[207,764,766,769],{"class":209,"line":765},35,[207,767,768],{"class":217},"    }",[207,770,358],{"class":319},[207,772,774,776,779,781,783],{"class":209,"line":773},36,[207,775,677],{"class":217},[207,777,778],{"class":306},"setChangeAddress",[207,780,310],{"class":319},[207,782,588],{"class":221},[207,784,358],{"class":319},[207,786,788,790,793],{"class":209,"line":787},37,[207,789,677],{"class":217},[207,791,792],{"class":306},"complete",[207,794,795],{"class":319},"()\n",[207,797,799],{"class":209,"line":798},38,[207,800,275],{"emptyLinePlaceholder":274},[207,802,804,806,808,810,812,814,817,819,821,823,825,828],{"class":209,"line":803},39,[207,805,526],{"class":221},[207,807,303],{"class":217},[207,809,531],{"class":306},[207,811,310],{"class":319},[207,813,331],{"class":217},[207,815,816],{"class":245},">>> Unsigned Tx:",[207,818,331],{"class":217},[207,820,225],{"class":217},[207,822,664],{"class":221},[207,824,303],{"class":217},[207,826,827],{"class":306},"to_hex",[207,829,830],{"class":319},"())\n",[207,832,834],{"class":209,"line":833},40,[207,835,836],{"class":319},"  \n",[207,838,840],{"class":209,"line":839},41,[207,841,842],{"class":281},"  \u002F\u002F Sign transaction\n",[207,844,846,848,851,853,855,857,859,862,864,867,869,871],{"class":209,"line":845},42,[207,847,499],{"class":288},[207,849,850],{"class":221}," signedTx",[207,852,505],{"class":217},[207,854,570],{"class":213},[207,856,508],{"class":221},[207,858,303],{"class":217},[207,860,861],{"class":306},"signTx",[207,863,310],{"class":319},[207,865,866],{"class":221},"tx",[207,868,303],{"class":217},[207,870,827],{"class":306},[207,872,830],{"class":319},[207,874,876,878,880,882,884,886,889,891,893,895],{"class":209,"line":875},43,[207,877,526],{"class":221},[207,879,303],{"class":217},[207,881,531],{"class":306},[207,883,310],{"class":319},[207,885,331],{"class":217},[207,887,888],{"class":245},">>> Signed Tx:",[207,890,331],{"class":217},[207,892,225],{"class":217},[207,894,850],{"class":221},[207,896,358],{"class":319},[207,898,900],{"class":209,"line":899},44,[207,901,275],{"emptyLinePlaceholder":274},[207,903,905],{"class":209,"line":904},45,[207,906,907],{"class":281},"  \u002F\u002F Submit transaction (optional)\n",[207,909,911],{"class":209,"line":910},46,[207,912,913],{"class":281},"  \u002F\u002F const txHash = await blockfrostProvider.submitter.submitTx(signedTx)\n",[207,915,917],{"class":209,"line":916},47,[207,918,919],{"class":281},"  \u002F\u002F console.log('>>> Tx Hash:', txHash)\n",[207,921,923],{"class":209,"line":922},48,[207,924,925],{"class":217},"}\n",[193,927,929],{"id":928},"using-ogmios-provider","Using Ogmios Provider",[166,931,932,933,936],{},"The same build flow works with any provider. Swap the provider and use its ",[170,934,935],{},"submitter"," to broadcast the signed transaction:",[198,938,940],{"className":200,"code":939,"language":202,"meta":203,"style":203},"import { AppWallet, NETWORK_ID, ProviderUtils } from '@hydra-sdk\u002Fcore'\nimport { TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\n\u002F\u002F Initialize Ogmios provider\nconst ogmiosProvider = new ProviderUtils.OgmiosProvider({\n  apiEndpoint: 'https:\u002F\u002Fpreprod.cardano-rpc.hydrawallet.app',\n  network: 'preprod'\n})\n\nconst wallet = new AppWallet({\n  key: {\n    type: 'mnemonic', \n    words: 'armed pink solve client dignity alarm earn impose acquire rib eyebrow engage dragon face funny'.split(' ')\n  },\n  networkId: NETWORK_ID.PREPROD\n})\n\nasync function buildTransactionWithOgmios() {\n  const baseAddressBech32 = wallet.getAccount().baseAddressBech32\n  console.log('>>> Wallet Address:', baseAddressBech32)\n\n  \u002F\u002F Fetch UTxOs from Ogmios\n  const utxos = await ogmiosProvider.fetcher.fetchAddressUTxOs(baseAddressBech32)\n  console.log('>>> UTxOs found:', JSON.stringify(utxos, null, 1))\n\n  const txBuilder = new TxBuilder({})\n\n  const tx = await txBuilder\n    .setInputs(utxos)\n    .addOutput({\n      address: baseAddressBech32,\n      amount: [{ unit: 'lovelace', quantity: '1000000' }]\n    })\n    .setChangeAddress(baseAddressBech32)\n    .complete()\n\n  console.log('>>> Unsigned Tx:', tx.to_hex())\n  const signedTx = await wallet.signTx(tx.to_hex())\n  console.log('>>> Signed Tx:', signedTx)\n\n  \u002F\u002F Submit with Ogmios\n  const txHash = await ogmiosProvider.submitter.submitTx(signedTx)\n  console.log('>>> Submitted Tx Hash:', txHash)\n}\n",[170,941,942,968,986,990,995,1017,1033,1045,1051,1055,1071,1079,1096,1120,1124,1136,1142,1146,1159,1179,1201,1205,1210,1237,1279,1283,1301,1305,1317,1329,1339,1349,1386,1392,1404,1412,1416,1442,1468,1490,1494,1499,1528,1551],{"__ignoreMap":203},[207,943,944,946,948,950,952,954,956,958,960,962,964,966],{"class":209,"line":210},[207,945,214],{"class":213},[207,947,218],{"class":217},[207,949,222],{"class":221},[207,951,225],{"class":217},[207,953,228],{"class":221},[207,955,225],{"class":217},[207,957,233],{"class":221},[207,959,236],{"class":217},[207,961,239],{"class":213},[207,963,242],{"class":217},[207,965,107],{"class":245},[207,967,248],{"class":217},[207,969,970,972,974,976,978,980,982,984],{"class":209,"line":251},[207,971,214],{"class":213},[207,973,218],{"class":217},[207,975,258],{"class":221},[207,977,236],{"class":217},[207,979,239],{"class":213},[207,981,242],{"class":217},[207,983,117],{"class":245},[207,985,248],{"class":217},[207,987,988],{"class":209,"line":271},[207,989,275],{"emptyLinePlaceholder":274},[207,991,992],{"class":209,"line":278},[207,993,994],{"class":281},"\u002F\u002F Initialize Ogmios provider\n",[207,996,997,999,1002,1004,1006,1008,1010,1013,1015],{"class":209,"line":285},[207,998,289],{"class":288},[207,1000,1001],{"class":221}," ogmiosProvider ",[207,1003,295],{"class":217},[207,1005,298],{"class":217},[207,1007,233],{"class":221},[207,1009,303],{"class":217},[207,1011,1012],{"class":306},"OgmiosProvider",[207,1014,310],{"class":221},[207,1016,313],{"class":217},[207,1018,1019,1022,1024,1026,1029,1031],{"class":209,"line":316},[207,1020,1021],{"class":319},"  apiEndpoint",[207,1023,323],{"class":217},[207,1025,242],{"class":217},[207,1027,1028],{"class":245},"https:\u002F\u002Fpreprod.cardano-rpc.hydrawallet.app",[207,1030,331],{"class":217},[207,1032,334],{"class":217},[207,1034,1035,1037,1039,1041,1043],{"class":209,"line":337},[207,1036,340],{"class":319},[207,1038,323],{"class":217},[207,1040,242],{"class":217},[207,1042,347],{"class":245},[207,1044,248],{"class":217},[207,1046,1047,1049],{"class":209,"line":352},[207,1048,355],{"class":217},[207,1050,358],{"class":221},[207,1052,1053],{"class":209,"line":361},[207,1054,275],{"emptyLinePlaceholder":274},[207,1056,1057,1059,1061,1063,1065,1067,1069],{"class":209,"line":366},[207,1058,289],{"class":288},[207,1060,377],{"class":221},[207,1062,295],{"class":217},[207,1064,298],{"class":217},[207,1066,222],{"class":306},[207,1068,310],{"class":221},[207,1070,313],{"class":217},[207,1072,1073,1075,1077],{"class":209,"line":372},[207,1074,393],{"class":319},[207,1076,323],{"class":217},[207,1078,398],{"class":217},[207,1080,1081,1083,1085,1087,1089,1091,1093],{"class":209,"line":390},[207,1082,404],{"class":319},[207,1084,323],{"class":217},[207,1086,242],{"class":217},[207,1088,411],{"class":245},[207,1090,331],{"class":217},[207,1092,225],{"class":217},[207,1094,1095],{"class":221}," \n",[207,1097,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118],{"class":209,"line":401},[207,1099,421],{"class":319},[207,1101,323],{"class":217},[207,1103,242],{"class":217},[207,1105,428],{"class":245},[207,1107,331],{"class":217},[207,1109,303],{"class":217},[207,1111,435],{"class":306},[207,1113,310],{"class":221},[207,1115,331],{"class":217},[207,1117,242],{"class":217},[207,1119,358],{"class":221},[207,1121,1122],{"class":209,"line":418},[207,1123,449],{"class":217},[207,1125,1126,1128,1130,1132,1134],{"class":209,"line":446},[207,1127,455],{"class":319},[207,1129,323],{"class":217},[207,1131,228],{"class":221},[207,1133,303],{"class":217},[207,1135,464],{"class":221},[207,1137,1138,1140],{"class":209,"line":452},[207,1139,355],{"class":217},[207,1141,358],{"class":221},[207,1143,1144],{"class":209,"line":467},[207,1145,275],{"emptyLinePlaceholder":274},[207,1147,1148,1150,1152,1155,1157],{"class":209,"line":474},[207,1149,482],{"class":288},[207,1151,485],{"class":288},[207,1153,1154],{"class":306}," buildTransactionWithOgmios",[207,1156,491],{"class":217},[207,1158,398],{"class":217},[207,1160,1161,1163,1165,1167,1169,1171,1173,1175,1177],{"class":209,"line":479},[207,1162,499],{"class":288},[207,1164,502],{"class":221},[207,1166,505],{"class":217},[207,1168,508],{"class":221},[207,1170,303],{"class":217},[207,1172,513],{"class":306},[207,1174,491],{"class":319},[207,1176,303],{"class":217},[207,1178,520],{"class":221},[207,1180,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"class":209,"line":496},[207,1182,526],{"class":221},[207,1184,303],{"class":217},[207,1186,531],{"class":306},[207,1188,310],{"class":319},[207,1190,331],{"class":217},[207,1192,538],{"class":245},[207,1194,331],{"class":217},[207,1196,225],{"class":217},[207,1198,502],{"class":221},[207,1200,358],{"class":319},[207,1202,1203],{"class":209,"line":523},[207,1204,275],{"emptyLinePlaceholder":274},[207,1206,1207],{"class":209,"line":549},[207,1208,1209],{"class":281},"  \u002F\u002F Fetch UTxOs from Ogmios\n",[207,1211,1212,1214,1216,1218,1220,1223,1225,1227,1229,1231,1233,1235],{"class":209,"line":554},[207,1213,499],{"class":288},[207,1215,565],{"class":221},[207,1217,505],{"class":217},[207,1219,570],{"class":213},[207,1221,1222],{"class":221}," ogmiosProvider",[207,1224,303],{"class":217},[207,1226,578],{"class":221},[207,1228,303],{"class":217},[207,1230,583],{"class":306},[207,1232,310],{"class":319},[207,1234,588],{"class":221},[207,1236,358],{"class":319},[207,1238,1239,1241,1243,1245,1247,1249,1251,1253,1255,1258,1260,1263,1265,1267,1269,1272,1276],{"class":209,"line":560},[207,1240,526],{"class":221},[207,1242,303],{"class":217},[207,1244,531],{"class":306},[207,1246,310],{"class":319},[207,1248,331],{"class":217},[207,1250,606],{"class":245},[207,1252,331],{"class":217},[207,1254,225],{"class":217},[207,1256,1257],{"class":221}," JSON",[207,1259,303],{"class":217},[207,1261,1262],{"class":306},"stringify",[207,1264,310],{"class":319},[207,1266,685],{"class":221},[207,1268,225],{"class":217},[207,1270,1271],{"class":217}," null,",[207,1273,1275],{"class":1274},"sbssI"," 1",[207,1277,1278],{"class":319},"))\n",[207,1280,1281],{"class":209,"line":593},[207,1282,275],{"emptyLinePlaceholder":274},[207,1284,1285,1287,1289,1291,1293,1295,1297,1299],{"class":209,"line":622},[207,1286,499],{"class":288},[207,1288,638],{"class":221},[207,1290,505],{"class":217},[207,1292,298],{"class":217},[207,1294,258],{"class":306},[207,1296,310],{"class":319},[207,1298,649],{"class":217},[207,1300,358],{"class":319},[207,1302,1303],{"class":209,"line":627},[207,1304,275],{"emptyLinePlaceholder":274},[207,1306,1307,1309,1311,1313,1315],{"class":209,"line":633},[207,1308,499],{"class":288},[207,1310,664],{"class":221},[207,1312,505],{"class":217},[207,1314,570],{"class":213},[207,1316,671],{"class":221},[207,1318,1319,1321,1323,1325,1327],{"class":209,"line":654},[207,1320,677],{"class":217},[207,1322,680],{"class":306},[207,1324,310],{"class":319},[207,1326,685],{"class":221},[207,1328,358],{"class":319},[207,1330,1331,1333,1335,1337],{"class":209,"line":659},[207,1332,677],{"class":217},[207,1334,695],{"class":306},[207,1336,310],{"class":319},[207,1338,313],{"class":217},[207,1340,1341,1343,1345,1347],{"class":209,"line":674},[207,1342,705],{"class":319},[207,1344,323],{"class":217},[207,1346,502],{"class":221},[207,1348,334],{"class":217},[207,1350,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383],{"class":209,"line":690},[207,1352,720],{"class":319},[207,1354,323],{"class":217},[207,1356,725],{"class":319},[207,1358,728],{"class":217},[207,1360,731],{"class":319},[207,1362,323],{"class":217},[207,1364,242],{"class":217},[207,1366,738],{"class":245},[207,1368,331],{"class":217},[207,1370,225],{"class":217},[207,1372,745],{"class":319},[207,1374,323],{"class":217},[207,1376,242],{"class":217},[207,1378,752],{"class":245},[207,1380,331],{"class":217},[207,1382,236],{"class":217},[207,1384,1385],{"class":319},"]\n",[207,1387,1388,1390],{"class":209,"line":702},[207,1389,768],{"class":217},[207,1391,358],{"class":319},[207,1393,1394,1396,1398,1400,1402],{"class":209,"line":717},[207,1395,677],{"class":217},[207,1397,778],{"class":306},[207,1399,310],{"class":319},[207,1401,588],{"class":221},[207,1403,358],{"class":319},[207,1405,1406,1408,1410],{"class":209,"line":765},[207,1407,677],{"class":217},[207,1409,792],{"class":306},[207,1411,795],{"class":319},[207,1413,1414],{"class":209,"line":773},[207,1415,275],{"emptyLinePlaceholder":274},[207,1417,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440],{"class":209,"line":787},[207,1419,526],{"class":221},[207,1421,303],{"class":217},[207,1423,531],{"class":306},[207,1425,310],{"class":319},[207,1427,331],{"class":217},[207,1429,816],{"class":245},[207,1431,331],{"class":217},[207,1433,225],{"class":217},[207,1435,664],{"class":221},[207,1437,303],{"class":217},[207,1439,827],{"class":306},[207,1441,830],{"class":319},[207,1443,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466],{"class":209,"line":798},[207,1445,499],{"class":288},[207,1447,850],{"class":221},[207,1449,505],{"class":217},[207,1451,570],{"class":213},[207,1453,508],{"class":221},[207,1455,303],{"class":217},[207,1457,861],{"class":306},[207,1459,310],{"class":319},[207,1461,866],{"class":221},[207,1463,303],{"class":217},[207,1465,827],{"class":306},[207,1467,830],{"class":319},[207,1469,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488],{"class":209,"line":803},[207,1471,526],{"class":221},[207,1473,303],{"class":217},[207,1475,531],{"class":306},[207,1477,310],{"class":319},[207,1479,331],{"class":217},[207,1481,888],{"class":245},[207,1483,331],{"class":217},[207,1485,225],{"class":217},[207,1487,850],{"class":221},[207,1489,358],{"class":319},[207,1491,1492],{"class":209,"line":833},[207,1493,275],{"emptyLinePlaceholder":274},[207,1495,1496],{"class":209,"line":839},[207,1497,1498],{"class":281},"  \u002F\u002F Submit with Ogmios\n",[207,1500,1501,1503,1506,1508,1510,1512,1514,1516,1518,1521,1523,1526],{"class":209,"line":845},[207,1502,499],{"class":288},[207,1504,1505],{"class":221}," txHash",[207,1507,505],{"class":217},[207,1509,570],{"class":213},[207,1511,1222],{"class":221},[207,1513,303],{"class":217},[207,1515,935],{"class":221},[207,1517,303],{"class":217},[207,1519,1520],{"class":306},"submitTx",[207,1522,310],{"class":319},[207,1524,1525],{"class":221},"signedTx",[207,1527,358],{"class":319},[207,1529,1530,1532,1534,1536,1538,1540,1543,1545,1547,1549],{"class":209,"line":875},[207,1531,526],{"class":221},[207,1533,303],{"class":217},[207,1535,531],{"class":306},[207,1537,310],{"class":319},[207,1539,331],{"class":217},[207,1541,1542],{"class":245},">>> Submitted Tx Hash:",[207,1544,331],{"class":217},[207,1546,225],{"class":217},[207,1548,1505],{"class":221},[207,1550,358],{"class":319},[207,1552,1553],{"class":209,"line":899},[207,1554,925],{"class":217},[178,1556,1558],{"id":1557},"signing-transactions","Signing transactions",[166,1560,1561,1564],{},[170,1562,1563],{},"wallet.signTx()"," takes an unsigned transaction as CBOR hex and returns the signed CBOR. Once signed, you can deserialize it to read the transaction hash before submitting.",[193,1566,1568],{"id":1567},"single-signature","Single signature",[198,1570,1572],{"className":200,"code":1571,"language":202,"meta":203,"style":203},"import { AppWallet, NETWORK_ID, Deserializer } from '@hydra-sdk\u002Fcore'\n\nconst wallet = new AppWallet({\n  key: {\n    type: 'mnemonic',\n    words: 'your mnemonic words here'.split(' ')\n  },\n  networkId: NETWORK_ID.PREPROD\n})\n\nasync function signTransaction(cborHex: string, partialSign: boolean = false) {\n  try {\n    const signedTx = await wallet.signTx(cborHex, partialSign)\n    const txHash = Deserializer.deserializeTx(signedTx).transaction_hash().to_hex()\n    \n    console.log('✅ Transaction signed:', txHash)\n    return { signedTx, txHash }\n  } catch (error) {\n    console.error('❌ Signing error:', error)\n    throw error\n  }\n}\n\n\u002F\u002F Usage\nconst result = await signTransaction(transactionCborHex)\n",[170,1573,1574,1601,1605,1621,1629,1643,1668,1672,1684,1690,1694,1736,1743,1770,1804,1809,1833,1849,1868,1892,1900,1905,1909,1913,1918],{"__ignoreMap":203},[207,1575,1576,1578,1580,1582,1584,1586,1588,1591,1593,1595,1597,1599],{"class":209,"line":210},[207,1577,214],{"class":213},[207,1579,218],{"class":217},[207,1581,222],{"class":221},[207,1583,225],{"class":217},[207,1585,228],{"class":221},[207,1587,225],{"class":217},[207,1589,1590],{"class":221}," Deserializer",[207,1592,236],{"class":217},[207,1594,239],{"class":213},[207,1596,242],{"class":217},[207,1598,107],{"class":245},[207,1600,248],{"class":217},[207,1602,1603],{"class":209,"line":251},[207,1604,275],{"emptyLinePlaceholder":274},[207,1606,1607,1609,1611,1613,1615,1617,1619],{"class":209,"line":271},[207,1608,289],{"class":288},[207,1610,377],{"class":221},[207,1612,295],{"class":217},[207,1614,298],{"class":217},[207,1616,222],{"class":306},[207,1618,310],{"class":221},[207,1620,313],{"class":217},[207,1622,1623,1625,1627],{"class":209,"line":278},[207,1624,393],{"class":319},[207,1626,323],{"class":217},[207,1628,398],{"class":217},[207,1630,1631,1633,1635,1637,1639,1641],{"class":209,"line":285},[207,1632,404],{"class":319},[207,1634,323],{"class":217},[207,1636,242],{"class":217},[207,1638,411],{"class":245},[207,1640,331],{"class":217},[207,1642,334],{"class":217},[207,1644,1645,1647,1649,1651,1654,1656,1658,1660,1662,1664,1666],{"class":209,"line":316},[207,1646,421],{"class":319},[207,1648,323],{"class":217},[207,1650,242],{"class":217},[207,1652,1653],{"class":245},"your mnemonic words here",[207,1655,331],{"class":217},[207,1657,303],{"class":217},[207,1659,435],{"class":306},[207,1661,310],{"class":221},[207,1663,331],{"class":217},[207,1665,242],{"class":217},[207,1667,358],{"class":221},[207,1669,1670],{"class":209,"line":337},[207,1671,449],{"class":217},[207,1673,1674,1676,1678,1680,1682],{"class":209,"line":352},[207,1675,455],{"class":319},[207,1677,323],{"class":217},[207,1679,228],{"class":221},[207,1681,303],{"class":217},[207,1683,464],{"class":221},[207,1685,1686,1688],{"class":209,"line":361},[207,1687,355],{"class":217},[207,1689,358],{"class":221},[207,1691,1692],{"class":209,"line":366},[207,1693,275],{"emptyLinePlaceholder":274},[207,1695,1696,1698,1700,1703,1705,1709,1711,1715,1717,1720,1722,1725,1727,1731,1734],{"class":209,"line":372},[207,1697,482],{"class":288},[207,1699,485],{"class":288},[207,1701,1702],{"class":306}," signTransaction",[207,1704,310],{"class":217},[207,1706,1708],{"class":1707},"sHdIc","cborHex",[207,1710,323],{"class":217},[207,1712,1714],{"class":1713},"sBMFI"," string",[207,1716,225],{"class":217},[207,1718,1719],{"class":1707}," partialSign",[207,1721,323],{"class":217},[207,1723,1724],{"class":1713}," boolean",[207,1726,505],{"class":217},[207,1728,1730],{"class":1729},"sfNiH"," false",[207,1732,1733],{"class":217},")",[207,1735,398],{"class":217},[207,1737,1738,1741],{"class":209,"line":390},[207,1739,1740],{"class":213},"  try",[207,1742,398],{"class":217},[207,1744,1745,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768],{"class":209,"line":401},[207,1746,1747],{"class":288},"    const",[207,1749,850],{"class":221},[207,1751,505],{"class":217},[207,1753,570],{"class":213},[207,1755,508],{"class":221},[207,1757,303],{"class":217},[207,1759,861],{"class":306},[207,1761,310],{"class":319},[207,1763,1708],{"class":221},[207,1765,225],{"class":217},[207,1767,1719],{"class":221},[207,1769,358],{"class":319},[207,1771,1772,1774,1776,1778,1780,1782,1785,1787,1789,1791,1793,1796,1798,1800,1802],{"class":209,"line":418},[207,1773,1747],{"class":288},[207,1775,1505],{"class":221},[207,1777,505],{"class":217},[207,1779,1590],{"class":221},[207,1781,303],{"class":217},[207,1783,1784],{"class":306},"deserializeTx",[207,1786,310],{"class":319},[207,1788,1525],{"class":221},[207,1790,1733],{"class":319},[207,1792,303],{"class":217},[207,1794,1795],{"class":306},"transaction_hash",[207,1797,491],{"class":319},[207,1799,303],{"class":217},[207,1801,827],{"class":306},[207,1803,795],{"class":319},[207,1805,1806],{"class":209,"line":446},[207,1807,1808],{"class":319},"    \n",[207,1810,1811,1814,1816,1818,1820,1822,1825,1827,1829,1831],{"class":209,"line":452},[207,1812,1813],{"class":221},"    console",[207,1815,303],{"class":217},[207,1817,531],{"class":306},[207,1819,310],{"class":319},[207,1821,331],{"class":217},[207,1823,1824],{"class":245},"✅ Transaction signed:",[207,1826,331],{"class":217},[207,1828,225],{"class":217},[207,1830,1505],{"class":221},[207,1832,358],{"class":319},[207,1834,1835,1838,1840,1842,1844,1846],{"class":209,"line":467},[207,1836,1837],{"class":213},"    return",[207,1839,218],{"class":217},[207,1841,850],{"class":221},[207,1843,225],{"class":217},[207,1845,1505],{"class":221},[207,1847,1848],{"class":217}," }\n",[207,1850,1851,1854,1857,1860,1863,1866],{"class":209,"line":474},[207,1852,1853],{"class":217},"  }",[207,1855,1856],{"class":213}," catch",[207,1858,1859],{"class":319}," (",[207,1861,1862],{"class":221},"error",[207,1864,1865],{"class":319},") ",[207,1867,313],{"class":217},[207,1869,1870,1872,1874,1876,1878,1880,1883,1885,1887,1890],{"class":209,"line":479},[207,1871,1813],{"class":221},[207,1873,303],{"class":217},[207,1875,1862],{"class":306},[207,1877,310],{"class":319},[207,1879,331],{"class":217},[207,1881,1882],{"class":245},"❌ Signing error:",[207,1884,331],{"class":217},[207,1886,225],{"class":217},[207,1888,1889],{"class":221}," error",[207,1891,358],{"class":319},[207,1893,1894,1897],{"class":209,"line":496},[207,1895,1896],{"class":213},"    throw",[207,1898,1899],{"class":221}," error\n",[207,1901,1902],{"class":209,"line":523},[207,1903,1904],{"class":217},"  }\n",[207,1906,1907],{"class":209,"line":549},[207,1908,925],{"class":217},[207,1910,1911],{"class":209,"line":554},[207,1912,275],{"emptyLinePlaceholder":274},[207,1914,1915],{"class":209,"line":560},[207,1916,1917],{"class":281},"\u002F\u002F Usage\n",[207,1919,1920,1922,1925,1927,1929,1931],{"class":209,"line":593},[207,1921,289],{"class":288},[207,1923,1924],{"class":221}," result ",[207,1926,295],{"class":217},[207,1928,570],{"class":213},[207,1930,1702],{"class":306},[207,1932,1933],{"class":221},"(transactionCborHex)\n",[193,1935,1937],{"id":1936},"multi-signature","Multi-signature",[166,1939,1940,1941,303],{},"When a transaction requires signatures from multiple wallets, chain the signing calls: each signer feeds the CBOR produced by the previous one back into ",[170,1942,861],{},[1944,1945,1946],"note",{},[166,1947,1948,1949,1952,1953,1956],{},"Pass ",[170,1950,1951],{},"partialSign: true"," for every signer except the last. Partial signing appends a witness without finalizing the transaction, so the next signer can add theirs. The final signer signs without ",[170,1954,1955],{},"partialSign"," to complete the transaction.",[198,1958,1960],{"className":200,"code":1959,"language":202,"meta":203,"style":203},"import { AppWallet, NETWORK_ID, Deserializer } from '@hydra-sdk\u002Fcore'\n\nclass MultiSigWallet {\n  private wallets: AppWallet[] = []\n\n  addSigner(mnemonic: string[]) {\n    const wallet = new AppWallet({\n      key: { type: 'mnemonic', words: mnemonic },\n      networkId: NETWORK_ID.PREPROD\n    })\n    this.wallets.push(wallet)\n  }\n\n  async signWithAllWallets(cborHex: string) {\n    let currentCbor = cborHex\n\n    for (let i = 0; i \u003C this.wallets.length; i++) {\n      const isLastSigner = i === this.wallets.length - 1\n      currentCbor = await this.wallets[i].signTx(currentCbor, !isLastSigner)\n      console.log(`✅ Wallet ${i + 1}\u002F${this.wallets.length} signed`)\n    }\n\n    return {\n      finalTx: currentCbor,\n      txHash: Deserializer.deserializeTx(currentCbor).transaction_hash().to_hex()\n    }\n  }\n}\n\n\u002F\u002F Usage\nconst multiSig = new MultiSigWallet()\nmultiSig.addSigner('first signer mnemonic'.split(' '))\nmultiSig.addSigner('second signer mnemonic'.split(' '))\n\nconst result = await multiSig.signWithAllWallets(unsignedTxCbor)\n",[170,1961,1962,1988,1992,2002,2022,2026,2046,2062,2095,2108,2114,2134,2138,2142,2162,2175,2179,2225,2254,2295,2348,2353,2357,2363,2374,2405,2409,2413,2417,2421,2425,2440,2471,2500,2504],{"__ignoreMap":203},[207,1963,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986],{"class":209,"line":210},[207,1965,214],{"class":213},[207,1967,218],{"class":217},[207,1969,222],{"class":221},[207,1971,225],{"class":217},[207,1973,228],{"class":221},[207,1975,225],{"class":217},[207,1977,1590],{"class":221},[207,1979,236],{"class":217},[207,1981,239],{"class":213},[207,1983,242],{"class":217},[207,1985,107],{"class":245},[207,1987,248],{"class":217},[207,1989,1990],{"class":209,"line":251},[207,1991,275],{"emptyLinePlaceholder":274},[207,1993,1994,1997,2000],{"class":209,"line":271},[207,1995,1996],{"class":288},"class",[207,1998,1999],{"class":1713}," MultiSigWallet",[207,2001,398],{"class":217},[207,2003,2004,2007,2010,2012,2014,2017,2019],{"class":209,"line":278},[207,2005,2006],{"class":288},"  private",[207,2008,2009],{"class":319}," wallets",[207,2011,323],{"class":217},[207,2013,222],{"class":1713},[207,2015,2016],{"class":221},"[] ",[207,2018,295],{"class":217},[207,2020,2021],{"class":221}," []\n",[207,2023,2024],{"class":209,"line":285},[207,2025,275],{"emptyLinePlaceholder":274},[207,2027,2028,2031,2033,2035,2037,2039,2042,2044],{"class":209,"line":316},[207,2029,2030],{"class":319},"  addSigner",[207,2032,310],{"class":217},[207,2034,411],{"class":1707},[207,2036,323],{"class":217},[207,2038,1714],{"class":1713},[207,2040,2041],{"class":221},"[]",[207,2043,1733],{"class":217},[207,2045,398],{"class":217},[207,2047,2048,2050,2052,2054,2056,2058,2060],{"class":209,"line":337},[207,2049,1747],{"class":288},[207,2051,508],{"class":221},[207,2053,505],{"class":217},[207,2055,298],{"class":217},[207,2057,222],{"class":306},[207,2059,310],{"class":319},[207,2061,313],{"class":217},[207,2063,2064,2067,2069,2071,2074,2076,2078,2080,2082,2084,2087,2089,2092],{"class":209,"line":352},[207,2065,2066],{"class":319},"      key",[207,2068,323],{"class":217},[207,2070,218],{"class":217},[207,2072,2073],{"class":319}," type",[207,2075,323],{"class":217},[207,2077,242],{"class":217},[207,2079,411],{"class":245},[207,2081,331],{"class":217},[207,2083,225],{"class":217},[207,2085,2086],{"class":319}," words",[207,2088,323],{"class":217},[207,2090,2091],{"class":221}," mnemonic",[207,2093,2094],{"class":217}," },\n",[207,2096,2097,2100,2102,2104,2106],{"class":209,"line":361},[207,2098,2099],{"class":319},"      networkId",[207,2101,323],{"class":217},[207,2103,228],{"class":221},[207,2105,303],{"class":217},[207,2107,464],{"class":221},[207,2109,2110,2112],{"class":209,"line":366},[207,2111,768],{"class":217},[207,2113,358],{"class":319},[207,2115,2116,2119,2122,2124,2127,2129,2132],{"class":209,"line":372},[207,2117,2118],{"class":217},"    this.",[207,2120,2121],{"class":221},"wallets",[207,2123,303],{"class":217},[207,2125,2126],{"class":306},"push",[207,2128,310],{"class":319},[207,2130,2131],{"class":221},"wallet",[207,2133,358],{"class":319},[207,2135,2136],{"class":209,"line":390},[207,2137,1904],{"class":217},[207,2139,2140],{"class":209,"line":401},[207,2141,275],{"emptyLinePlaceholder":274},[207,2143,2144,2147,2150,2152,2154,2156,2158,2160],{"class":209,"line":418},[207,2145,2146],{"class":288},"  async",[207,2148,2149],{"class":319}," signWithAllWallets",[207,2151,310],{"class":217},[207,2153,1708],{"class":1707},[207,2155,323],{"class":217},[207,2157,1714],{"class":1713},[207,2159,1733],{"class":217},[207,2161,398],{"class":217},[207,2163,2164,2167,2170,2172],{"class":209,"line":446},[207,2165,2166],{"class":288},"    let",[207,2168,2169],{"class":221}," currentCbor",[207,2171,505],{"class":217},[207,2173,2174],{"class":221}," cborHex\n",[207,2176,2177],{"class":209,"line":452},[207,2178,275],{"emptyLinePlaceholder":274},[207,2180,2181,2184,2186,2189,2192,2194,2197,2200,2202,2205,2208,2210,2212,2214,2216,2218,2221,2223],{"class":209,"line":467},[207,2182,2183],{"class":213},"    for",[207,2185,1859],{"class":319},[207,2187,2188],{"class":288},"let",[207,2190,2191],{"class":221}," i",[207,2193,505],{"class":217},[207,2195,2196],{"class":1274}," 0",[207,2198,2199],{"class":217},";",[207,2201,2191],{"class":221},[207,2203,2204],{"class":217}," \u003C",[207,2206,2207],{"class":217}," this.",[207,2209,2121],{"class":221},[207,2211,303],{"class":217},[207,2213,617],{"class":221},[207,2215,2199],{"class":217},[207,2217,2191],{"class":221},[207,2219,2220],{"class":217},"++",[207,2222,1865],{"class":319},[207,2224,313],{"class":217},[207,2226,2227,2230,2233,2235,2237,2240,2242,2244,2246,2248,2251],{"class":209,"line":474},[207,2228,2229],{"class":288},"      const",[207,2231,2232],{"class":221}," isLastSigner",[207,2234,505],{"class":217},[207,2236,2191],{"class":221},[207,2238,2239],{"class":217}," ===",[207,2241,2207],{"class":217},[207,2243,2121],{"class":221},[207,2245,303],{"class":217},[207,2247,617],{"class":221},[207,2249,2250],{"class":217}," -",[207,2252,2253],{"class":1274}," 1\n",[207,2255,2256,2259,2261,2263,2265,2267,2270,2273,2276,2278,2280,2282,2285,2287,2290,2293],{"class":209,"line":479},[207,2257,2258],{"class":221},"      currentCbor",[207,2260,505],{"class":217},[207,2262,570],{"class":213},[207,2264,2207],{"class":217},[207,2266,2121],{"class":221},[207,2268,2269],{"class":319},"[",[207,2271,2272],{"class":221},"i",[207,2274,2275],{"class":319},"]",[207,2277,303],{"class":217},[207,2279,861],{"class":306},[207,2281,310],{"class":319},[207,2283,2284],{"class":221},"currentCbor",[207,2286,225],{"class":217},[207,2288,2289],{"class":217}," !",[207,2291,2292],{"class":221},"isLastSigner",[207,2294,358],{"class":319},[207,2296,2297,2300,2302,2304,2306,2309,2312,2315,2318,2321,2323,2325,2328,2330,2333,2335,2337,2339,2341,2344,2346],{"class":209,"line":496},[207,2298,2299],{"class":221},"      console",[207,2301,303],{"class":217},[207,2303,531],{"class":306},[207,2305,310],{"class":319},[207,2307,2308],{"class":217},"`",[207,2310,2311],{"class":245},"✅ Wallet ",[207,2313,2314],{"class":217},"${",[207,2316,2317],{"class":221},"i ",[207,2319,2320],{"class":217},"+",[207,2322,1275],{"class":1274},[207,2324,355],{"class":217},[207,2326,2327],{"class":245},"\u002F",[207,2329,2314],{"class":217},[207,2331,2332],{"class":217},"this.",[207,2334,2121],{"class":221},[207,2336,303],{"class":217},[207,2338,617],{"class":221},[207,2340,355],{"class":217},[207,2342,2343],{"class":245}," signed",[207,2345,2308],{"class":217},[207,2347,358],{"class":319},[207,2349,2350],{"class":209,"line":523},[207,2351,2352],{"class":217},"    }\n",[207,2354,2355],{"class":209,"line":549},[207,2356,275],{"emptyLinePlaceholder":274},[207,2358,2359,2361],{"class":209,"line":554},[207,2360,1837],{"class":213},[207,2362,398],{"class":217},[207,2364,2365,2368,2370,2372],{"class":209,"line":560},[207,2366,2367],{"class":319},"      finalTx",[207,2369,323],{"class":217},[207,2371,2169],{"class":221},[207,2373,334],{"class":217},[207,2375,2376,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403],{"class":209,"line":593},[207,2377,2378],{"class":319},"      txHash",[207,2380,323],{"class":217},[207,2382,1590],{"class":221},[207,2384,303],{"class":217},[207,2386,1784],{"class":306},[207,2388,310],{"class":319},[207,2390,2284],{"class":221},[207,2392,1733],{"class":319},[207,2394,303],{"class":217},[207,2396,1795],{"class":306},[207,2398,491],{"class":319},[207,2400,303],{"class":217},[207,2402,827],{"class":306},[207,2404,795],{"class":319},[207,2406,2407],{"class":209,"line":622},[207,2408,2352],{"class":217},[207,2410,2411],{"class":209,"line":627},[207,2412,1904],{"class":217},[207,2414,2415],{"class":209,"line":633},[207,2416,925],{"class":217},[207,2418,2419],{"class":209,"line":654},[207,2420,275],{"emptyLinePlaceholder":274},[207,2422,2423],{"class":209,"line":659},[207,2424,1917],{"class":281},[207,2426,2427,2429,2432,2434,2436,2438],{"class":209,"line":674},[207,2428,289],{"class":288},[207,2430,2431],{"class":221}," multiSig ",[207,2433,295],{"class":217},[207,2435,298],{"class":217},[207,2437,1999],{"class":306},[207,2439,795],{"class":221},[207,2441,2442,2445,2447,2450,2452,2454,2457,2459,2461,2463,2465,2467,2469],{"class":209,"line":690},[207,2443,2444],{"class":221},"multiSig",[207,2446,303],{"class":217},[207,2448,2449],{"class":306},"addSigner",[207,2451,310],{"class":221},[207,2453,331],{"class":217},[207,2455,2456],{"class":245},"first signer mnemonic",[207,2458,331],{"class":217},[207,2460,303],{"class":217},[207,2462,435],{"class":306},[207,2464,310],{"class":221},[207,2466,331],{"class":217},[207,2468,242],{"class":217},[207,2470,1278],{"class":221},[207,2472,2473,2475,2477,2479,2481,2483,2486,2488,2490,2492,2494,2496,2498],{"class":209,"line":702},[207,2474,2444],{"class":221},[207,2476,303],{"class":217},[207,2478,2449],{"class":306},[207,2480,310],{"class":221},[207,2482,331],{"class":217},[207,2484,2485],{"class":245},"second signer mnemonic",[207,2487,331],{"class":217},[207,2489,303],{"class":217},[207,2491,435],{"class":306},[207,2493,310],{"class":221},[207,2495,331],{"class":217},[207,2497,242],{"class":217},[207,2499,1278],{"class":221},[207,2501,2502],{"class":209,"line":717},[207,2503,275],{"emptyLinePlaceholder":274},[207,2505,2506,2508,2510,2512,2514,2517,2519,2522],{"class":209,"line":765},[207,2507,289],{"class":288},[207,2509,1924],{"class":221},[207,2511,295],{"class":217},[207,2513,570],{"class":213},[207,2515,2516],{"class":221}," multiSig",[207,2518,303],{"class":217},[207,2520,2521],{"class":306},"signWithAllWallets",[207,2523,2524],{"class":221},"(unsignedTxCbor)\n",[193,2526,2528],{"id":2527},"performance-pattern","Performance Pattern",[166,2530,2531],{},"For high-throughput scenarios, wrap signing in a small helper that records timing and transaction shape. This lets you track signing latency and spot regressions across many transactions.",[198,2533,2535],{"className":200,"code":2534,"language":202,"meta":203,"style":203},"import { AppWallet, NETWORK_ID, Deserializer } from '@hydra-sdk\u002Fcore'\n\nclass PerformanceSigner {\n  private wallet: AppWallet\n  private metrics: Array\u003C{\n    timestamp: number\n    duration: number\n    txHash: string\n    inputCount: number\n    outputCount: number\n  }> = []\n\n  constructor(mnemonic: string[]) {\n    this.wallet = new AppWallet({\n      key: { type: 'mnemonic', words: mnemonic },\n      networkId: NETWORK_ID.PREPROD\n    })\n  }\n\n  async signWithMetrics(cborHex: string) {\n    const startTime = Date.now()\n    \n    try {\n      const signedTx = await this.wallet.signTx(cborHex)\n      const duration = Date.now() - startTime\n      \n      const tx = Deserializer.deserializeTx(signedTx)\n      const txHash = tx.transaction_hash().to_hex()\n      const body = tx.transaction_body()\n      \n      this.metrics.push({\n        timestamp: startTime,\n        duration,\n        txHash,\n        inputCount: body.inputs().len(),\n        outputCount: body.outputs().len()\n      })\n      \n      console.log(`⏱️ Signing took ${duration}ms: ${txHash}`)\n      return { signedTx, txHash, duration }\n      \n    } catch (error) {\n      const duration = Date.now() - startTime\n      console.error(`❌ Signing failed after ${duration}ms:`, error)\n      throw error\n    }\n  }\n\n  getPerformanceStats() {\n    if (this.metrics.length === 0) return null\n\n    const durations = this.metrics.map(m => m.duration)\n    const avg = durations.reduce((a, b) => a + b, 0) \u002F durations.length\n    \n    return {\n      totalTransactions: this.metrics.length,\n      averageDuration: Math.round(avg),\n      minDuration: Math.min(...durations),\n      maxDuration: Math.max(...durations)\n    }\n  }\n}\n\n\u002F\u002F Usage\nconst performanceSigner = new PerformanceSigner('your mnemonic words here'.split(' '))\n\nawait performanceSigner.signWithMetrics(tx1)\nawait performanceSigner.signWithMetrics(tx2)\n\nconst stats = performanceSigner.getPerformanceStats()\nconsole.log('Stats:', stats)\n",[170,2536,2537,2563,2567,2576,2587,2602,2612,2621,2631,2640,2649,2658,2662,2681,2697,2725,2737,2743,2747,2751,2770,2789,2793,2800,2824,2848,2853,2873,2895,2913,2917,2933,2944,2951,2958,2983,3005,3012,3016,3051,3070,3074,3088,3108,3140,3147,3151,3155,3159,3169,3197,3202,3238,3294,3299,3306,3324,3349,3376,3399,3404,3409,3414,3419,3424,3458,3463,3480,3494,3499,3518],{"__ignoreMap":203},[207,2538,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561],{"class":209,"line":210},[207,2540,214],{"class":213},[207,2542,218],{"class":217},[207,2544,222],{"class":221},[207,2546,225],{"class":217},[207,2548,228],{"class":221},[207,2550,225],{"class":217},[207,2552,1590],{"class":221},[207,2554,236],{"class":217},[207,2556,239],{"class":213},[207,2558,242],{"class":217},[207,2560,107],{"class":245},[207,2562,248],{"class":217},[207,2564,2565],{"class":209,"line":251},[207,2566,275],{"emptyLinePlaceholder":274},[207,2568,2569,2571,2574],{"class":209,"line":271},[207,2570,1996],{"class":288},[207,2572,2573],{"class":1713}," PerformanceSigner",[207,2575,398],{"class":217},[207,2577,2578,2580,2582,2584],{"class":209,"line":278},[207,2579,2006],{"class":288},[207,2581,508],{"class":319},[207,2583,323],{"class":217},[207,2585,2586],{"class":1713}," AppWallet\n",[207,2588,2589,2591,2594,2596,2599],{"class":209,"line":285},[207,2590,2006],{"class":288},[207,2592,2593],{"class":319}," metrics",[207,2595,323],{"class":217},[207,2597,2598],{"class":1713}," Array",[207,2600,2601],{"class":217},"\u003C{\n",[207,2603,2604,2607,2609],{"class":209,"line":316},[207,2605,2606],{"class":319},"    timestamp",[207,2608,323],{"class":217},[207,2610,2611],{"class":1713}," number\n",[207,2613,2614,2617,2619],{"class":209,"line":337},[207,2615,2616],{"class":319},"    duration",[207,2618,323],{"class":217},[207,2620,2611],{"class":1713},[207,2622,2623,2626,2628],{"class":209,"line":352},[207,2624,2625],{"class":319},"    txHash",[207,2627,323],{"class":217},[207,2629,2630],{"class":1713}," string\n",[207,2632,2633,2636,2638],{"class":209,"line":361},[207,2634,2635],{"class":319},"    inputCount",[207,2637,323],{"class":217},[207,2639,2611],{"class":1713},[207,2641,2642,2645,2647],{"class":209,"line":366},[207,2643,2644],{"class":319},"    outputCount",[207,2646,323],{"class":217},[207,2648,2611],{"class":1713},[207,2650,2651,2654,2656],{"class":209,"line":372},[207,2652,2653],{"class":217},"  }>",[207,2655,505],{"class":217},[207,2657,2021],{"class":221},[207,2659,2660],{"class":209,"line":390},[207,2661,275],{"emptyLinePlaceholder":274},[207,2663,2664,2667,2669,2671,2673,2675,2677,2679],{"class":209,"line":401},[207,2665,2666],{"class":288},"  constructor",[207,2668,310],{"class":217},[207,2670,411],{"class":1707},[207,2672,323],{"class":217},[207,2674,1714],{"class":1713},[207,2676,2041],{"class":221},[207,2678,1733],{"class":217},[207,2680,398],{"class":217},[207,2682,2683,2685,2687,2689,2691,2693,2695],{"class":209,"line":418},[207,2684,2118],{"class":217},[207,2686,2131],{"class":221},[207,2688,505],{"class":217},[207,2690,298],{"class":217},[207,2692,222],{"class":306},[207,2694,310],{"class":319},[207,2696,313],{"class":217},[207,2698,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723],{"class":209,"line":446},[207,2700,2066],{"class":319},[207,2702,323],{"class":217},[207,2704,218],{"class":217},[207,2706,2073],{"class":319},[207,2708,323],{"class":217},[207,2710,242],{"class":217},[207,2712,411],{"class":245},[207,2714,331],{"class":217},[207,2716,225],{"class":217},[207,2718,2086],{"class":319},[207,2720,323],{"class":217},[207,2722,2091],{"class":221},[207,2724,2094],{"class":217},[207,2726,2727,2729,2731,2733,2735],{"class":209,"line":452},[207,2728,2099],{"class":319},[207,2730,323],{"class":217},[207,2732,228],{"class":221},[207,2734,303],{"class":217},[207,2736,464],{"class":221},[207,2738,2739,2741],{"class":209,"line":467},[207,2740,768],{"class":217},[207,2742,358],{"class":319},[207,2744,2745],{"class":209,"line":474},[207,2746,1904],{"class":217},[207,2748,2749],{"class":209,"line":479},[207,2750,275],{"emptyLinePlaceholder":274},[207,2752,2753,2755,2758,2760,2762,2764,2766,2768],{"class":209,"line":496},[207,2754,2146],{"class":288},[207,2756,2757],{"class":319}," signWithMetrics",[207,2759,310],{"class":217},[207,2761,1708],{"class":1707},[207,2763,323],{"class":217},[207,2765,1714],{"class":1713},[207,2767,1733],{"class":217},[207,2769,398],{"class":217},[207,2771,2772,2774,2777,2779,2782,2784,2787],{"class":209,"line":523},[207,2773,1747],{"class":288},[207,2775,2776],{"class":221}," startTime",[207,2778,505],{"class":217},[207,2780,2781],{"class":221}," Date",[207,2783,303],{"class":217},[207,2785,2786],{"class":306},"now",[207,2788,795],{"class":319},[207,2790,2791],{"class":209,"line":549},[207,2792,1808],{"class":319},[207,2794,2795,2798],{"class":209,"line":554},[207,2796,2797],{"class":213},"    try",[207,2799,398],{"class":217},[207,2801,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822],{"class":209,"line":560},[207,2803,2229],{"class":288},[207,2805,850],{"class":221},[207,2807,505],{"class":217},[207,2809,570],{"class":213},[207,2811,2207],{"class":217},[207,2813,2131],{"class":221},[207,2815,303],{"class":217},[207,2817,861],{"class":306},[207,2819,310],{"class":319},[207,2821,1708],{"class":221},[207,2823,358],{"class":319},[207,2825,2826,2828,2831,2833,2835,2837,2839,2842,2845],{"class":209,"line":593},[207,2827,2229],{"class":288},[207,2829,2830],{"class":221}," duration",[207,2832,505],{"class":217},[207,2834,2781],{"class":221},[207,2836,303],{"class":217},[207,2838,2786],{"class":306},[207,2840,2841],{"class":319},"() ",[207,2843,2844],{"class":217},"-",[207,2846,2847],{"class":221}," startTime\n",[207,2849,2850],{"class":209,"line":622},[207,2851,2852],{"class":319},"      \n",[207,2854,2855,2857,2859,2861,2863,2865,2867,2869,2871],{"class":209,"line":627},[207,2856,2229],{"class":288},[207,2858,664],{"class":221},[207,2860,505],{"class":217},[207,2862,1590],{"class":221},[207,2864,303],{"class":217},[207,2866,1784],{"class":306},[207,2868,310],{"class":319},[207,2870,1525],{"class":221},[207,2872,358],{"class":319},[207,2874,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893],{"class":209,"line":633},[207,2876,2229],{"class":288},[207,2878,1505],{"class":221},[207,2880,505],{"class":217},[207,2882,664],{"class":221},[207,2884,303],{"class":217},[207,2886,1795],{"class":306},[207,2888,491],{"class":319},[207,2890,303],{"class":217},[207,2892,827],{"class":306},[207,2894,795],{"class":319},[207,2896,2897,2899,2902,2904,2906,2908,2911],{"class":209,"line":654},[207,2898,2229],{"class":288},[207,2900,2901],{"class":221}," body",[207,2903,505],{"class":217},[207,2905,664],{"class":221},[207,2907,303],{"class":217},[207,2909,2910],{"class":306},"transaction_body",[207,2912,795],{"class":319},[207,2914,2915],{"class":209,"line":659},[207,2916,2852],{"class":319},[207,2918,2919,2922,2925,2927,2929,2931],{"class":209,"line":674},[207,2920,2921],{"class":217},"      this.",[207,2923,2924],{"class":221},"metrics",[207,2926,303],{"class":217},[207,2928,2126],{"class":306},[207,2930,310],{"class":319},[207,2932,313],{"class":217},[207,2934,2935,2938,2940,2942],{"class":209,"line":690},[207,2936,2937],{"class":319},"        timestamp",[207,2939,323],{"class":217},[207,2941,2776],{"class":221},[207,2943,334],{"class":217},[207,2945,2946,2949],{"class":209,"line":702},[207,2947,2948],{"class":221},"        duration",[207,2950,334],{"class":217},[207,2952,2953,2956],{"class":209,"line":717},[207,2954,2955],{"class":221},"        txHash",[207,2957,334],{"class":217},[207,2959,2960,2963,2965,2967,2969,2972,2974,2976,2979,2981],{"class":209,"line":765},[207,2961,2962],{"class":319},"        inputCount",[207,2964,323],{"class":217},[207,2966,2901],{"class":221},[207,2968,303],{"class":217},[207,2970,2971],{"class":306},"inputs",[207,2973,491],{"class":319},[207,2975,303],{"class":217},[207,2977,2978],{"class":306},"len",[207,2980,491],{"class":319},[207,2982,334],{"class":217},[207,2984,2985,2988,2990,2992,2994,2997,2999,3001,3003],{"class":209,"line":773},[207,2986,2987],{"class":319},"        outputCount",[207,2989,323],{"class":217},[207,2991,2901],{"class":221},[207,2993,303],{"class":217},[207,2995,2996],{"class":306},"outputs",[207,2998,491],{"class":319},[207,3000,303],{"class":217},[207,3002,2978],{"class":306},[207,3004,795],{"class":319},[207,3006,3007,3010],{"class":209,"line":787},[207,3008,3009],{"class":217},"      }",[207,3011,358],{"class":319},[207,3013,3014],{"class":209,"line":798},[207,3015,2852],{"class":319},[207,3017,3018,3020,3022,3024,3026,3028,3031,3033,3036,3038,3041,3043,3046,3049],{"class":209,"line":803},[207,3019,2299],{"class":221},[207,3021,303],{"class":217},[207,3023,531],{"class":306},[207,3025,310],{"class":319},[207,3027,2308],{"class":217},[207,3029,3030],{"class":245},"⏱️ Signing took ",[207,3032,2314],{"class":217},[207,3034,3035],{"class":221},"duration",[207,3037,355],{"class":217},[207,3039,3040],{"class":245},"ms: ",[207,3042,2314],{"class":217},[207,3044,3045],{"class":221},"txHash",[207,3047,3048],{"class":217},"}`",[207,3050,358],{"class":319},[207,3052,3053,3056,3058,3060,3062,3064,3066,3068],{"class":209,"line":833},[207,3054,3055],{"class":213},"      return",[207,3057,218],{"class":217},[207,3059,850],{"class":221},[207,3061,225],{"class":217},[207,3063,1505],{"class":221},[207,3065,225],{"class":217},[207,3067,2830],{"class":221},[207,3069,1848],{"class":217},[207,3071,3072],{"class":209,"line":839},[207,3073,2852],{"class":319},[207,3075,3076,3078,3080,3082,3084,3086],{"class":209,"line":845},[207,3077,768],{"class":217},[207,3079,1856],{"class":213},[207,3081,1859],{"class":319},[207,3083,1862],{"class":221},[207,3085,1865],{"class":319},[207,3087,313],{"class":217},[207,3089,3090,3092,3094,3096,3098,3100,3102,3104,3106],{"class":209,"line":875},[207,3091,2229],{"class":288},[207,3093,2830],{"class":221},[207,3095,505],{"class":217},[207,3097,2781],{"class":221},[207,3099,303],{"class":217},[207,3101,2786],{"class":306},[207,3103,2841],{"class":319},[207,3105,2844],{"class":217},[207,3107,2847],{"class":221},[207,3109,3110,3112,3114,3116,3118,3120,3123,3125,3127,3129,3132,3134,3136,3138],{"class":209,"line":899},[207,3111,2299],{"class":221},[207,3113,303],{"class":217},[207,3115,1862],{"class":306},[207,3117,310],{"class":319},[207,3119,2308],{"class":217},[207,3121,3122],{"class":245},"❌ Signing failed after ",[207,3124,2314],{"class":217},[207,3126,3035],{"class":221},[207,3128,355],{"class":217},[207,3130,3131],{"class":245},"ms:",[207,3133,2308],{"class":217},[207,3135,225],{"class":217},[207,3137,1889],{"class":221},[207,3139,358],{"class":319},[207,3141,3142,3145],{"class":209,"line":904},[207,3143,3144],{"class":213},"      throw",[207,3146,1899],{"class":221},[207,3148,3149],{"class":209,"line":910},[207,3150,2352],{"class":217},[207,3152,3153],{"class":209,"line":916},[207,3154,1904],{"class":217},[207,3156,3157],{"class":209,"line":922},[207,3158,275],{"emptyLinePlaceholder":274},[207,3160,3162,3165,3167],{"class":209,"line":3161},49,[207,3163,3164],{"class":319},"  getPerformanceStats",[207,3166,491],{"class":217},[207,3168,398],{"class":217},[207,3170,3172,3175,3177,3179,3181,3183,3185,3187,3189,3191,3194],{"class":209,"line":3171},50,[207,3173,3174],{"class":213},"    if",[207,3176,1859],{"class":319},[207,3178,2332],{"class":217},[207,3180,2924],{"class":221},[207,3182,303],{"class":217},[207,3184,617],{"class":221},[207,3186,2239],{"class":217},[207,3188,2196],{"class":1274},[207,3190,1865],{"class":319},[207,3192,3193],{"class":213},"return",[207,3195,3196],{"class":217}," null\n",[207,3198,3200],{"class":209,"line":3199},51,[207,3201,275],{"emptyLinePlaceholder":274},[207,3203,3205,3207,3210,3212,3214,3216,3218,3221,3223,3226,3229,3232,3234,3236],{"class":209,"line":3204},52,[207,3206,1747],{"class":288},[207,3208,3209],{"class":221}," durations",[207,3211,505],{"class":217},[207,3213,2207],{"class":217},[207,3215,2924],{"class":221},[207,3217,303],{"class":217},[207,3219,3220],{"class":306},"map",[207,3222,310],{"class":319},[207,3224,3225],{"class":1707},"m",[207,3227,3228],{"class":288}," =>",[207,3230,3231],{"class":221}," m",[207,3233,303],{"class":217},[207,3235,3035],{"class":221},[207,3237,358],{"class":319},[207,3239,3241,3243,3246,3248,3250,3252,3255,3257,3259,3262,3264,3267,3269,3271,3274,3277,3279,3281,3283,3285,3287,3289,3291],{"class":209,"line":3240},53,[207,3242,1747],{"class":288},[207,3244,3245],{"class":221}," avg",[207,3247,505],{"class":217},[207,3249,3209],{"class":221},[207,3251,303],{"class":217},[207,3253,3254],{"class":306},"reduce",[207,3256,310],{"class":319},[207,3258,310],{"class":217},[207,3260,3261],{"class":1707},"a",[207,3263,225],{"class":217},[207,3265,3266],{"class":1707}," b",[207,3268,1733],{"class":217},[207,3270,3228],{"class":288},[207,3272,3273],{"class":221}," a",[207,3275,3276],{"class":217}," +",[207,3278,3266],{"class":221},[207,3280,225],{"class":217},[207,3282,2196],{"class":1274},[207,3284,1865],{"class":319},[207,3286,2327],{"class":217},[207,3288,3209],{"class":221},[207,3290,303],{"class":217},[207,3292,3293],{"class":221},"length\n",[207,3295,3297],{"class":209,"line":3296},54,[207,3298,1808],{"class":319},[207,3300,3302,3304],{"class":209,"line":3301},55,[207,3303,1837],{"class":213},[207,3305,398],{"class":217},[207,3307,3309,3312,3314,3316,3318,3320,3322],{"class":209,"line":3308},56,[207,3310,3311],{"class":319},"      totalTransactions",[207,3313,323],{"class":217},[207,3315,2207],{"class":217},[207,3317,2924],{"class":221},[207,3319,303],{"class":217},[207,3321,617],{"class":221},[207,3323,334],{"class":217},[207,3325,3327,3330,3332,3335,3337,3340,3342,3345,3347],{"class":209,"line":3326},57,[207,3328,3329],{"class":319},"      averageDuration",[207,3331,323],{"class":217},[207,3333,3334],{"class":221}," Math",[207,3336,303],{"class":217},[207,3338,3339],{"class":306},"round",[207,3341,310],{"class":319},[207,3343,3344],{"class":221},"avg",[207,3346,1733],{"class":319},[207,3348,334],{"class":217},[207,3350,3352,3355,3357,3359,3361,3364,3366,3369,3372,3374],{"class":209,"line":3351},58,[207,3353,3354],{"class":319},"      minDuration",[207,3356,323],{"class":217},[207,3358,3334],{"class":221},[207,3360,303],{"class":217},[207,3362,3363],{"class":306},"min",[207,3365,310],{"class":319},[207,3367,3368],{"class":217},"...",[207,3370,3371],{"class":221},"durations",[207,3373,1733],{"class":319},[207,3375,334],{"class":217},[207,3377,3379,3382,3384,3386,3388,3391,3393,3395,3397],{"class":209,"line":3378},59,[207,3380,3381],{"class":319},"      maxDuration",[207,3383,323],{"class":217},[207,3385,3334],{"class":221},[207,3387,303],{"class":217},[207,3389,3390],{"class":306},"max",[207,3392,310],{"class":319},[207,3394,3368],{"class":217},[207,3396,3371],{"class":221},[207,3398,358],{"class":319},[207,3400,3402],{"class":209,"line":3401},60,[207,3403,2352],{"class":217},[207,3405,3407],{"class":209,"line":3406},61,[207,3408,1904],{"class":217},[207,3410,3412],{"class":209,"line":3411},62,[207,3413,925],{"class":217},[207,3415,3417],{"class":209,"line":3416},63,[207,3418,275],{"emptyLinePlaceholder":274},[207,3420,3422],{"class":209,"line":3421},64,[207,3423,1917],{"class":281},[207,3425,3427,3429,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456],{"class":209,"line":3426},65,[207,3428,289],{"class":288},[207,3430,3431],{"class":221}," performanceSigner ",[207,3433,295],{"class":217},[207,3435,298],{"class":217},[207,3437,2573],{"class":306},[207,3439,310],{"class":221},[207,3441,331],{"class":217},[207,3443,1653],{"class":245},[207,3445,331],{"class":217},[207,3447,303],{"class":217},[207,3449,435],{"class":306},[207,3451,310],{"class":221},[207,3453,331],{"class":217},[207,3455,242],{"class":217},[207,3457,1278],{"class":221},[207,3459,3461],{"class":209,"line":3460},66,[207,3462,275],{"emptyLinePlaceholder":274},[207,3464,3466,3469,3472,3474,3477],{"class":209,"line":3465},67,[207,3467,3468],{"class":213},"await",[207,3470,3471],{"class":221}," performanceSigner",[207,3473,303],{"class":217},[207,3475,3476],{"class":306},"signWithMetrics",[207,3478,3479],{"class":221},"(tx1)\n",[207,3481,3483,3485,3487,3489,3491],{"class":209,"line":3482},68,[207,3484,3468],{"class":213},[207,3486,3471],{"class":221},[207,3488,303],{"class":217},[207,3490,3476],{"class":306},[207,3492,3493],{"class":221},"(tx2)\n",[207,3495,3497],{"class":209,"line":3496},69,[207,3498,275],{"emptyLinePlaceholder":274},[207,3500,3502,3504,3507,3509,3511,3513,3516],{"class":209,"line":3501},70,[207,3503,289],{"class":288},[207,3505,3506],{"class":221}," stats ",[207,3508,295],{"class":217},[207,3510,3471],{"class":221},[207,3512,303],{"class":217},[207,3514,3515],{"class":306},"getPerformanceStats",[207,3517,795],{"class":221},[207,3519,3521,3524,3526,3528,3530,3532,3535,3537,3539],{"class":209,"line":3520},71,[207,3522,3523],{"class":221},"console",[207,3525,303],{"class":217},[207,3527,531],{"class":306},[207,3529,310],{"class":221},[207,3531,331],{"class":217},[207,3533,3534],{"class":245},"Stats:",[207,3536,331],{"class":217},[207,3538,225],{"class":217},[207,3540,3541],{"class":221}," stats)\n",[178,3543,3545],{"id":3544},"locking-and-unlocking-with-plutus-scripts","Locking and unlocking with Plutus scripts",[166,3547,3548],{},"Plutus scripts let you lock assets at a contract address and release them only when a valid redeemer is supplied. Locking is a plain output to the script address plus an inline datum. Unlocking is more involved: you spend the script UTxO as an input, attach the redeemer and script, and provide collateral.",[193,3550,3552],{"id":3551},"lock-assets-in-a-contract-script","Lock assets in a contract script",[166,3554,3555],{},"This example locks 2 ADA at a Plutus script address, attaching an inline datum that the unlock step will validate against.",[198,3557,3559],{"className":200,"code":3558,"language":202,"meta":203,"style":203},"import { AppWallet, DatumUtils, Deserializer, NETWORK_ID, ParserUtils, ProviderUtils, UTxO } from '@hydra-sdk\u002Fcore'\nimport { TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\nconst lock = async () => {\n  try {\n    \u002F\u002F =========== Prepare Wallet ===========\n    const blockfrostProvider = new ProviderUtils.BlockfrostProvider({\n      apiKey: 'your-blockfrost-api-key',\n      network: 'preprod'\n    })\n    const wallet = new AppWallet({\n      key: {\n        type: 'mnemonic',\n        words: 'your_mnemonic_words'.split(' ')\n      },\n      networkId: NETWORK_ID.PREPROD,\n      fetcher: blockfrostProvider.fetcher,\n      submitter: blockfrostProvider.submitter\n    })\n    const account = wallet.getAccount(0, 0)\n\n    \u002F**\n     * Query UTxOs for the account using Browser Wallet (Lace, Nami, etc.)\n     * or Blockfrost API.\n     * In this example, we're using Hexcore API.\n     *\u002F\n    const addressUTxOs: UTxO[] = await wallet.queryUTxOs(account.baseAddressBech32)\n\n    \u002F\u002F =========== Contract Configuration ===========\n    const contract = {\n      \u002F\u002F Always true contract\n      address: 'addr_test1wr47xyv2z8vjgxw3kckdelrl9lunw59hegma8t7jtzu0k8qw08cvd',\n      type: 'PlutusScriptV3',\n      description: 'Generated by Aiken'\n    }\n\n    \u002F\u002F =========== Build Lock Transaction ===========\n    const datum = DatumUtils.mkConstr(0, [\n      DatumUtils.mkInt(42),\n      DatumUtils.mkBytes(ParserUtils.stringToHex(\"Hello, World!\"))\n    ])\n    const txBuilder = new TxBuilder()\n    const txLock = await txBuilder\n      .setInputs(addressUTxOs) \u002F\u002F Select UTxOs for inputs\n      .txOut(contract.address, [{ unit: 'lovelace', quantity: '2000000' }]) \u002F\u002F Send 2 ADA to contract\n      .txOutInlineDatumValue(datum)\n      .changeAddress(account.baseAddressBech32)\n      .complete()\n\n    \u002F\u002F =========== Sign Transaction ===========\n    const unsignedCborHex = txLock.to_hex()\n    const signedCbor = await wallet.signTx(unsignedCborHex)\n\n    \u002F\u002F Get transaction hash (optional)\n    const txHash = Deserializer.deserializeTx(signedCbor).transaction_hash()\n\n    \u002F\u002F =========== Submit Transaction ===========\n    \u002F**\n     * Submit the signed transaction to the Cardano network.\n     * You can use:\n     * - Hexcore API\n     * - Ogmios API\n     * - Blockfrost API (https:\u002F\u002Fdocs.blockfrost.io)\n     * - Wallet Extension API (HydraWallet, Eternl, etc.)\n     *\u002F\n    const txId = await wallet.submitTx(signedCbor)\n\n    console.log('Transaction submitted successfully:', txId)\n    return txId\n\n  } catch (error) {\n    console.error('Error creating lock transaction:', error)\n    throw error\n  }\n}\n\n\u002F\u002F Execute the lock function\nlock()\n",[170,3560,3561,3606,3624,3628,3647,3653,3658,3678,3693,3706,3712,3728,3736,3751,3777,3782,3797,3812,3826,3832,3858,3862,3867,3872,3877,3882,3887,3922,3926,3931,3942,3947,3962,3978,3992,3996,4000,4005,4030,4049,4080,4085,4099,4112,4129,4183,4197,4214,4222,4226,4231,4248,4272,4276,4281,4308,4312,4317,4321,4326,4331,4336,4341,4346,4351,4355,4378,4382,4405,4412,4416,4430,4454,4461,4466,4471,4476,4482],{"__ignoreMap":203},[207,3562,3563,3565,3567,3569,3571,3574,3576,3578,3580,3582,3584,3587,3589,3591,3593,3596,3598,3600,3602,3604],{"class":209,"line":210},[207,3564,214],{"class":213},[207,3566,218],{"class":217},[207,3568,222],{"class":221},[207,3570,225],{"class":217},[207,3572,3573],{"class":221}," DatumUtils",[207,3575,225],{"class":217},[207,3577,1590],{"class":221},[207,3579,225],{"class":217},[207,3581,228],{"class":221},[207,3583,225],{"class":217},[207,3585,3586],{"class":221}," ParserUtils",[207,3588,225],{"class":217},[207,3590,233],{"class":221},[207,3592,225],{"class":217},[207,3594,3595],{"class":221}," UTxO",[207,3597,236],{"class":217},[207,3599,239],{"class":213},[207,3601,242],{"class":217},[207,3603,107],{"class":245},[207,3605,248],{"class":217},[207,3607,3608,3610,3612,3614,3616,3618,3620,3622],{"class":209,"line":251},[207,3609,214],{"class":213},[207,3611,218],{"class":217},[207,3613,258],{"class":221},[207,3615,236],{"class":217},[207,3617,239],{"class":213},[207,3619,242],{"class":217},[207,3621,117],{"class":245},[207,3623,248],{"class":217},[207,3625,3626],{"class":209,"line":271},[207,3627,275],{"emptyLinePlaceholder":274},[207,3629,3630,3632,3635,3637,3640,3643,3645],{"class":209,"line":278},[207,3631,289],{"class":288},[207,3633,3634],{"class":221}," lock ",[207,3636,295],{"class":217},[207,3638,3639],{"class":288}," async",[207,3641,3642],{"class":217}," ()",[207,3644,3228],{"class":288},[207,3646,398],{"class":217},[207,3648,3649,3651],{"class":209,"line":285},[207,3650,1740],{"class":213},[207,3652,398],{"class":217},[207,3654,3655],{"class":209,"line":316},[207,3656,3657],{"class":281},"    \u002F\u002F =========== Prepare Wallet ===========\n",[207,3659,3660,3662,3664,3666,3668,3670,3672,3674,3676],{"class":209,"line":337},[207,3661,1747],{"class":288},[207,3663,573],{"class":221},[207,3665,505],{"class":217},[207,3667,298],{"class":217},[207,3669,233],{"class":221},[207,3671,303],{"class":217},[207,3673,307],{"class":306},[207,3675,310],{"class":319},[207,3677,313],{"class":217},[207,3679,3680,3683,3685,3687,3689,3691],{"class":209,"line":352},[207,3681,3682],{"class":319},"      apiKey",[207,3684,323],{"class":217},[207,3686,242],{"class":217},[207,3688,328],{"class":245},[207,3690,331],{"class":217},[207,3692,334],{"class":217},[207,3694,3695,3698,3700,3702,3704],{"class":209,"line":361},[207,3696,3697],{"class":319},"      network",[207,3699,323],{"class":217},[207,3701,242],{"class":217},[207,3703,347],{"class":245},[207,3705,248],{"class":217},[207,3707,3708,3710],{"class":209,"line":366},[207,3709,768],{"class":217},[207,3711,358],{"class":319},[207,3713,3714,3716,3718,3720,3722,3724,3726],{"class":209,"line":372},[207,3715,1747],{"class":288},[207,3717,508],{"class":221},[207,3719,505],{"class":217},[207,3721,298],{"class":217},[207,3723,222],{"class":306},[207,3725,310],{"class":319},[207,3727,313],{"class":217},[207,3729,3730,3732,3734],{"class":209,"line":390},[207,3731,2066],{"class":319},[207,3733,323],{"class":217},[207,3735,398],{"class":217},[207,3737,3738,3741,3743,3745,3747,3749],{"class":209,"line":401},[207,3739,3740],{"class":319},"        type",[207,3742,323],{"class":217},[207,3744,242],{"class":217},[207,3746,411],{"class":245},[207,3748,331],{"class":217},[207,3750,334],{"class":217},[207,3752,3753,3756,3758,3760,3763,3765,3767,3769,3771,3773,3775],{"class":209,"line":418},[207,3754,3755],{"class":319},"        words",[207,3757,323],{"class":217},[207,3759,242],{"class":217},[207,3761,3762],{"class":245},"your_mnemonic_words",[207,3764,331],{"class":217},[207,3766,303],{"class":217},[207,3768,435],{"class":306},[207,3770,310],{"class":319},[207,3772,331],{"class":217},[207,3774,242],{"class":217},[207,3776,358],{"class":319},[207,3778,3779],{"class":209,"line":446},[207,3780,3781],{"class":217},"      },\n",[207,3783,3784,3786,3788,3790,3792,3795],{"class":209,"line":452},[207,3785,2099],{"class":319},[207,3787,323],{"class":217},[207,3789,228],{"class":221},[207,3791,303],{"class":217},[207,3793,3794],{"class":221},"PREPROD",[207,3796,334],{"class":217},[207,3798,3799,3802,3804,3806,3808,3810],{"class":209,"line":467},[207,3800,3801],{"class":319},"      fetcher",[207,3803,323],{"class":217},[207,3805,573],{"class":221},[207,3807,303],{"class":217},[207,3809,578],{"class":221},[207,3811,334],{"class":217},[207,3813,3814,3817,3819,3821,3823],{"class":209,"line":474},[207,3815,3816],{"class":319},"      submitter",[207,3818,323],{"class":217},[207,3820,573],{"class":221},[207,3822,303],{"class":217},[207,3824,3825],{"class":221},"submitter\n",[207,3827,3828,3830],{"class":209,"line":479},[207,3829,768],{"class":217},[207,3831,358],{"class":319},[207,3833,3834,3836,3839,3841,3843,3845,3847,3849,3852,3854,3856],{"class":209,"line":496},[207,3835,1747],{"class":288},[207,3837,3838],{"class":221}," account",[207,3840,505],{"class":217},[207,3842,508],{"class":221},[207,3844,303],{"class":217},[207,3846,513],{"class":306},[207,3848,310],{"class":319},[207,3850,3851],{"class":1274},"0",[207,3853,225],{"class":217},[207,3855,2196],{"class":1274},[207,3857,358],{"class":319},[207,3859,3860],{"class":209,"line":523},[207,3861,275],{"emptyLinePlaceholder":274},[207,3863,3864],{"class":209,"line":549},[207,3865,3866],{"class":281},"    \u002F**\n",[207,3868,3869],{"class":209,"line":554},[207,3870,3871],{"class":281},"     * Query UTxOs for the account using Browser Wallet (Lace, Nami, etc.)\n",[207,3873,3874],{"class":209,"line":560},[207,3875,3876],{"class":281},"     * or Blockfrost API.\n",[207,3878,3879],{"class":209,"line":593},[207,3880,3881],{"class":281},"     * In this example, we're using Hexcore API.\n",[207,3883,3884],{"class":209,"line":622},[207,3885,3886],{"class":281},"     *\u002F\n",[207,3888,3889,3891,3894,3896,3898,3900,3902,3904,3906,3908,3911,3913,3916,3918,3920],{"class":209,"line":627},[207,3890,1747],{"class":288},[207,3892,3893],{"class":221}," addressUTxOs",[207,3895,323],{"class":217},[207,3897,3595],{"class":1713},[207,3899,2016],{"class":319},[207,3901,295],{"class":217},[207,3903,570],{"class":213},[207,3905,508],{"class":221},[207,3907,303],{"class":217},[207,3909,3910],{"class":306},"queryUTxOs",[207,3912,310],{"class":319},[207,3914,3915],{"class":221},"account",[207,3917,303],{"class":217},[207,3919,588],{"class":221},[207,3921,358],{"class":319},[207,3923,3924],{"class":209,"line":633},[207,3925,275],{"emptyLinePlaceholder":274},[207,3927,3928],{"class":209,"line":654},[207,3929,3930],{"class":281},"    \u002F\u002F =========== Contract Configuration ===========\n",[207,3932,3933,3935,3938,3940],{"class":209,"line":659},[207,3934,1747],{"class":288},[207,3936,3937],{"class":221}," contract",[207,3939,505],{"class":217},[207,3941,398],{"class":217},[207,3943,3944],{"class":209,"line":674},[207,3945,3946],{"class":281},"      \u002F\u002F Always true contract\n",[207,3948,3949,3951,3953,3955,3958,3960],{"class":209,"line":690},[207,3950,705],{"class":319},[207,3952,323],{"class":217},[207,3954,242],{"class":217},[207,3956,3957],{"class":245},"addr_test1wr47xyv2z8vjgxw3kckdelrl9lunw59hegma8t7jtzu0k8qw08cvd",[207,3959,331],{"class":217},[207,3961,334],{"class":217},[207,3963,3964,3967,3969,3971,3974,3976],{"class":209,"line":702},[207,3965,3966],{"class":319},"      type",[207,3968,323],{"class":217},[207,3970,242],{"class":217},[207,3972,3973],{"class":245},"PlutusScriptV3",[207,3975,331],{"class":217},[207,3977,334],{"class":217},[207,3979,3980,3983,3985,3987,3990],{"class":209,"line":717},[207,3981,3982],{"class":319},"      description",[207,3984,323],{"class":217},[207,3986,242],{"class":217},[207,3988,3989],{"class":245},"Generated by Aiken",[207,3991,248],{"class":217},[207,3993,3994],{"class":209,"line":765},[207,3995,2352],{"class":217},[207,3997,3998],{"class":209,"line":773},[207,3999,275],{"emptyLinePlaceholder":274},[207,4001,4002],{"class":209,"line":787},[207,4003,4004],{"class":281},"    \u002F\u002F =========== Build Lock Transaction ===========\n",[207,4006,4007,4009,4012,4014,4016,4018,4021,4023,4025,4027],{"class":209,"line":798},[207,4008,1747],{"class":288},[207,4010,4011],{"class":221}," datum",[207,4013,505],{"class":217},[207,4015,3573],{"class":221},[207,4017,303],{"class":217},[207,4019,4020],{"class":306},"mkConstr",[207,4022,310],{"class":319},[207,4024,3851],{"class":1274},[207,4026,225],{"class":217},[207,4028,4029],{"class":319}," [\n",[207,4031,4032,4035,4037,4040,4042,4045,4047],{"class":209,"line":803},[207,4033,4034],{"class":221},"      DatumUtils",[207,4036,303],{"class":217},[207,4038,4039],{"class":306},"mkInt",[207,4041,310],{"class":319},[207,4043,4044],{"class":1274},"42",[207,4046,1733],{"class":319},[207,4048,334],{"class":217},[207,4050,4051,4053,4055,4058,4060,4063,4065,4068,4070,4073,4076,4078],{"class":209,"line":833},[207,4052,4034],{"class":221},[207,4054,303],{"class":217},[207,4056,4057],{"class":306},"mkBytes",[207,4059,310],{"class":319},[207,4061,4062],{"class":221},"ParserUtils",[207,4064,303],{"class":217},[207,4066,4067],{"class":306},"stringToHex",[207,4069,310],{"class":319},[207,4071,4072],{"class":217},"\"",[207,4074,4075],{"class":245},"Hello, World!",[207,4077,4072],{"class":217},[207,4079,1278],{"class":319},[207,4081,4082],{"class":209,"line":839},[207,4083,4084],{"class":319},"    ])\n",[207,4086,4087,4089,4091,4093,4095,4097],{"class":209,"line":845},[207,4088,1747],{"class":288},[207,4090,638],{"class":221},[207,4092,505],{"class":217},[207,4094,298],{"class":217},[207,4096,258],{"class":306},[207,4098,795],{"class":319},[207,4100,4101,4103,4106,4108,4110],{"class":209,"line":875},[207,4102,1747],{"class":288},[207,4104,4105],{"class":221}," txLock",[207,4107,505],{"class":217},[207,4109,570],{"class":213},[207,4111,671],{"class":221},[207,4113,4114,4117,4119,4121,4124,4126],{"class":209,"line":899},[207,4115,4116],{"class":217},"      .",[207,4118,680],{"class":306},[207,4120,310],{"class":319},[207,4122,4123],{"class":221},"addressUTxOs",[207,4125,1865],{"class":319},[207,4127,4128],{"class":281},"\u002F\u002F Select UTxOs for inputs\n",[207,4130,4131,4133,4136,4138,4141,4143,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4166,4168,4170,4173,4175,4177,4180],{"class":209,"line":904},[207,4132,4116],{"class":217},[207,4134,4135],{"class":306},"txOut",[207,4137,310],{"class":319},[207,4139,4140],{"class":221},"contract",[207,4142,303],{"class":217},[207,4144,4145],{"class":221},"address",[207,4147,225],{"class":217},[207,4149,725],{"class":319},[207,4151,728],{"class":217},[207,4153,731],{"class":319},[207,4155,323],{"class":217},[207,4157,242],{"class":217},[207,4159,738],{"class":245},[207,4161,331],{"class":217},[207,4163,225],{"class":217},[207,4165,745],{"class":319},[207,4167,323],{"class":217},[207,4169,242],{"class":217},[207,4171,4172],{"class":245},"2000000",[207,4174,331],{"class":217},[207,4176,236],{"class":217},[207,4178,4179],{"class":319},"]) ",[207,4181,4182],{"class":281},"\u002F\u002F Send 2 ADA to contract\n",[207,4184,4185,4187,4190,4192,4195],{"class":209,"line":910},[207,4186,4116],{"class":217},[207,4188,4189],{"class":306},"txOutInlineDatumValue",[207,4191,310],{"class":319},[207,4193,4194],{"class":221},"datum",[207,4196,358],{"class":319},[207,4198,4199,4201,4204,4206,4208,4210,4212],{"class":209,"line":916},[207,4200,4116],{"class":217},[207,4202,4203],{"class":306},"changeAddress",[207,4205,310],{"class":319},[207,4207,3915],{"class":221},[207,4209,303],{"class":217},[207,4211,588],{"class":221},[207,4213,358],{"class":319},[207,4215,4216,4218,4220],{"class":209,"line":922},[207,4217,4116],{"class":217},[207,4219,792],{"class":306},[207,4221,795],{"class":319},[207,4223,4224],{"class":209,"line":3161},[207,4225,275],{"emptyLinePlaceholder":274},[207,4227,4228],{"class":209,"line":3171},[207,4229,4230],{"class":281},"    \u002F\u002F =========== Sign Transaction ===========\n",[207,4232,4233,4235,4238,4240,4242,4244,4246],{"class":209,"line":3199},[207,4234,1747],{"class":288},[207,4236,4237],{"class":221}," unsignedCborHex",[207,4239,505],{"class":217},[207,4241,4105],{"class":221},[207,4243,303],{"class":217},[207,4245,827],{"class":306},[207,4247,795],{"class":319},[207,4249,4250,4252,4255,4257,4259,4261,4263,4265,4267,4270],{"class":209,"line":3204},[207,4251,1747],{"class":288},[207,4253,4254],{"class":221}," signedCbor",[207,4256,505],{"class":217},[207,4258,570],{"class":213},[207,4260,508],{"class":221},[207,4262,303],{"class":217},[207,4264,861],{"class":306},[207,4266,310],{"class":319},[207,4268,4269],{"class":221},"unsignedCborHex",[207,4271,358],{"class":319},[207,4273,4274],{"class":209,"line":3240},[207,4275,275],{"emptyLinePlaceholder":274},[207,4277,4278],{"class":209,"line":3296},[207,4279,4280],{"class":281},"    \u002F\u002F Get transaction hash (optional)\n",[207,4282,4283,4285,4287,4289,4291,4293,4295,4297,4300,4302,4304,4306],{"class":209,"line":3301},[207,4284,1747],{"class":288},[207,4286,1505],{"class":221},[207,4288,505],{"class":217},[207,4290,1590],{"class":221},[207,4292,303],{"class":217},[207,4294,1784],{"class":306},[207,4296,310],{"class":319},[207,4298,4299],{"class":221},"signedCbor",[207,4301,1733],{"class":319},[207,4303,303],{"class":217},[207,4305,1795],{"class":306},[207,4307,795],{"class":319},[207,4309,4310],{"class":209,"line":3308},[207,4311,275],{"emptyLinePlaceholder":274},[207,4313,4314],{"class":209,"line":3326},[207,4315,4316],{"class":281},"    \u002F\u002F =========== Submit Transaction ===========\n",[207,4318,4319],{"class":209,"line":3351},[207,4320,3866],{"class":281},[207,4322,4323],{"class":209,"line":3378},[207,4324,4325],{"class":281},"     * Submit the signed transaction to the Cardano network.\n",[207,4327,4328],{"class":209,"line":3401},[207,4329,4330],{"class":281},"     * You can use:\n",[207,4332,4333],{"class":209,"line":3406},[207,4334,4335],{"class":281},"     * - Hexcore API\n",[207,4337,4338],{"class":209,"line":3411},[207,4339,4340],{"class":281},"     * - Ogmios API\n",[207,4342,4343],{"class":209,"line":3416},[207,4344,4345],{"class":281},"     * - Blockfrost API (https:\u002F\u002Fdocs.blockfrost.io)\n",[207,4347,4348],{"class":209,"line":3421},[207,4349,4350],{"class":281},"     * - Wallet Extension API (HydraWallet, Eternl, etc.)\n",[207,4352,4353],{"class":209,"line":3426},[207,4354,3886],{"class":281},[207,4356,4357,4359,4362,4364,4366,4368,4370,4372,4374,4376],{"class":209,"line":3460},[207,4358,1747],{"class":288},[207,4360,4361],{"class":221}," txId",[207,4363,505],{"class":217},[207,4365,570],{"class":213},[207,4367,508],{"class":221},[207,4369,303],{"class":217},[207,4371,1520],{"class":306},[207,4373,310],{"class":319},[207,4375,4299],{"class":221},[207,4377,358],{"class":319},[207,4379,4380],{"class":209,"line":3465},[207,4381,275],{"emptyLinePlaceholder":274},[207,4383,4384,4386,4388,4390,4392,4394,4397,4399,4401,4403],{"class":209,"line":3482},[207,4385,1813],{"class":221},[207,4387,303],{"class":217},[207,4389,531],{"class":306},[207,4391,310],{"class":319},[207,4393,331],{"class":217},[207,4395,4396],{"class":245},"Transaction submitted successfully:",[207,4398,331],{"class":217},[207,4400,225],{"class":217},[207,4402,4361],{"class":221},[207,4404,358],{"class":319},[207,4406,4407,4409],{"class":209,"line":3496},[207,4408,1837],{"class":213},[207,4410,4411],{"class":221}," txId\n",[207,4413,4414],{"class":209,"line":3501},[207,4415,275],{"emptyLinePlaceholder":274},[207,4417,4418,4420,4422,4424,4426,4428],{"class":209,"line":3520},[207,4419,1853],{"class":217},[207,4421,1856],{"class":213},[207,4423,1859],{"class":319},[207,4425,1862],{"class":221},[207,4427,1865],{"class":319},[207,4429,313],{"class":217},[207,4431,4433,4435,4437,4439,4441,4443,4446,4448,4450,4452],{"class":209,"line":4432},72,[207,4434,1813],{"class":221},[207,4436,303],{"class":217},[207,4438,1862],{"class":306},[207,4440,310],{"class":319},[207,4442,331],{"class":217},[207,4444,4445],{"class":245},"Error creating lock transaction:",[207,4447,331],{"class":217},[207,4449,225],{"class":217},[207,4451,1889],{"class":221},[207,4453,358],{"class":319},[207,4455,4457,4459],{"class":209,"line":4456},73,[207,4458,1896],{"class":213},[207,4460,1899],{"class":221},[207,4462,4464],{"class":209,"line":4463},74,[207,4465,1904],{"class":217},[207,4467,4469],{"class":209,"line":4468},75,[207,4470,925],{"class":217},[207,4472,4474],{"class":209,"line":4473},76,[207,4475,275],{"emptyLinePlaceholder":274},[207,4477,4479],{"class":209,"line":4478},77,[207,4480,4481],{"class":281},"\u002F\u002F Execute the lock function\n",[207,4483,4485,4488],{"class":209,"line":4484},78,[207,4486,4487],{"class":306},"lock",[207,4489,795],{"class":221},[193,4491,4493],{"id":4492},"unlock-assets-from-a-contract-script","Unlock assets from a contract script",[166,4495,4496],{},"Unlocking assumes an asset is already locked (via the example above). You supply the script UTxO as an input, a redeemer, the Plutus script itself, and a collateral UTxO to cover script-execution failure.",[4498,4499,4500],"warning",{},[166,4501,4502],{},"Unlocking a Plutus script requires a collateral UTxO holding at least 5 ADA. Collateral is only consumed if script validation fails, but it must be present for the transaction to be accepted.",[198,4504,4506],{"className":200,"code":4505,"language":202,"meta":203,"style":203},"import { AppWallet, Deserializer, NETWORK_ID, ProviderUtils, UTxO } from '@hydra-sdk\u002Fcore'\nimport { buildRedeemer, TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\nconst unlock = async (txHash: `${string}#${number}`) => {\n  try {\n    \u002F\u002F =========== Prepare Wallet ===========\n    const blockfrostProvider = new ProviderUtils.BlockfrostProvider({\n      apiKey: 'your-blockfrost-api-key',\n      network: 'preprod'\n    })\n    const wallet = new AppWallet({\n      key: {\n        type: 'mnemonic',\n        words: 'your_mnemonic_words'.split(' ')\n      },\n      networkId: NETWORK_ID.PREPROD,\n      fetcher: blockfrostProvider.fetcher,\n      submitter: blockfrostProvider.submitter\n    })\n    const account = wallet.getAccount(0, 0)\n\n    \u002F**\n     * Query UTxOs for the account using Browser Wallet (Lace, Nami, etc.)\n     * or Blockfrost API.\n     * In this example, we're using Hexcore API.\n     *\u002F\n    const addressUTxOs: UTxO[] = await wallet.queryUTxOs(account.baseAddressBech32)\n\n    \u002F\u002F =========== Prepare Collateral UTxO ===========\n    \u002F\u002F Find collateral UTxO: needs at least 5 ADA in lovelace\n    const collateralUTxOs = addressUTxOs.filter(utxo =>\n      utxo.output.amount.find(asset => \n        asset.unit === 'lovelace' && Number(asset.quantity) >= 5_000_000\n      )\n    )\n    \n    if (!collateralUTxOs.length) {\n      throw new Error('No suitable collateral UTxOs found (minimum 5 ADA required)')\n    }\n    \n    const collateralUTxO = collateralUTxOs[0]\n\n    \u002F\u002F =========== Contract Configuration ===========\n    const contract = {\n      \u002F\u002F Always true contract\n      address: 'addr_test1wr47xyv2z8vjgxw3kckdelrl9lunw59hegma8t7jtzu0k8qw08cvd',\n      type: 'PlutusScriptV3',\n      description: 'Generated by Aiken',\n      cborHex: '58c958c701010029800aba2aba1aab9faab9eaab9dab9a48888896600264653001300700198039804000cc01c0092225980099b8748008c01cdd500144c8cc896600266e1d2000300a375400d132323322598009809001c56600266e3cdd7180898079baa00a48810a7365637265745f6b6579008cc004cdc79bae30113012300f375401491100a50a51403514a0806a2c8080dd718078009bae300f002300f001300b375400d16402460160026016601800260106ea800a2c8030600e00260066ea801e29344d95900101'\n    }\n\n    \u002F\u002F =========== Query Contract UTxO ===========\n    \u002F**\n     * Find the UTxO that corresponds to the script we want to unlock.\n     * Ensure that the asset is actually locked in the script.\n     *\u002F\n    const contractUTxOs = await wallet.queryUTxOs(contract.address)\n    const scriptUTxO = contractUTxOs.find(utxo => \n      `${utxo.input.txHash}#${utxo.input.outputIndex}` === txHash\n    )\n    \n    if (!scriptUTxO) {\n      throw new Error(`No script UTxO found for transaction: ${txHash}`)\n    }\n\n    \u002F\u002F =========== Build Redeemer ===========\n    \u002F**\n     * Redeemer data is required to unlock the asset.\n     * The structure depends on the specific contract requirements.\n     * In this case, we need to provide:\n     * - secret_key: A string value\n     * - receive_addr: The address to receive the unlocked assets\n     *\u002F\n    const txRedeemer = buildRedeemer({\n      key: 'secret_key',\n      receive_addr: 'addr_test1qpxsf0x8xypuhq5k408f9kh0meyy6jv2lxgqw2fefvjlte0u06dugtmxuhhw8hschdn4q59g64q5s9z42ax6qyg7ewsqt6e548'\n    })\n\n    \u002F\u002F =========== Build Unlock Transaction ===========\n    const txBuilder = new TxBuilder()\n    const txUnlock = await txBuilder\n      \u002F\u002F Add additional UTxO for transaction fees\n      .setInputs([collateralUTxOs[1]]) \n      \u002F\u002F Add the script UTxO as input\n      .txIn(\n        scriptUTxO.input.txHash, \n        scriptUTxO.input.outputIndex, \n        scriptUTxO.output.amount, \n        scriptUTxO.output.address\n      )\n      \u002F\u002F Attach redeemer to the script input\n      .txInRedeemerValue(txRedeemer)\n      \u002F\u002F Attach the Plutus script\n      .txInScript(contract.cborHex)\n      \u002F\u002F Set collateral for script execution\n      .txInCollateral(\n        collateralUTxO.input.txHash,\n        collateralUTxO.input.outputIndex,\n        collateralUTxO.output.amount,\n        collateralUTxO.output.address\n      )\n      \u002F\u002F Send unlocked assets back to our address\n      .txOut(account.baseAddressBech32, scriptUTxO.output.amount)\n      \u002F\u002F Set change address\n      .changeAddress(account.baseAddressBech32)\n      \u002F\u002F Set transaction fee (2 ADA)\n      .setFee('2000000')\n\n    \u002F\u002F =========== Complete and Sign Transaction ===========\n    const tx = await txUnlock.complete()\n    const unsignedCborHex = tx.to_hex()\n    const signedCbor = await wallet.signTx(unsignedCborHex)\n    \n    \u002F\u002F Get transaction hash (optional)\n    const unlockTxHash = Deserializer.deserializeTx(signedCbor).transaction_hash()\n\n    \u002F\u002F =========== Submit Transaction ===========\n    \u002F**\n     * Submit the signed transaction to the Cardano network.\n     * You can use:\n     * - Hexcore API\n     * - Ogmios API\n     * - Blockfrost API (https:\u002F\u002Fdocs.blockfrost.io)\n     * - Wallet Extension API (HydraWallet, Eternl, etc.)\n     *\u002F\n    const txHash = await wallet.submitTx(signedCbor)\n\n    console.log('Unlock transaction submitted successfully:', txHash)\n    return txHash\n\n  } catch (error) {\n    console.error('Error creating unlock transaction:', error)\n    throw error\n  }\n}\n\n\u002F\u002F Execute the unlock function with the transaction hash from the lock operation\n\u002F\u002F unlock('your_lock_transaction_hash#output_index')\n",[170,4507,4508,4542,4565,4569,4610,4616,4620,4640,4654,4666,4672,4688,4696,4710,4734,4738,4752,4766,4778,4784,4808,4812,4816,4820,4824,4828,4832,4864,4868,4873,4878,4902,4931,4972,4977,4982,4986,5006,5026,5030,5034,5051,5055,5059,5069,5073,5087,5101,5115,5129,5133,5137,5142,5146,5151,5156,5160,5187,5210,5250,5254,5258,5273,5296,5300,5304,5309,5313,5318,5323,5328,5333,5338,5342,5357,5372,5386,5392,5396,5402,5417,5431,5437,5457,5463,5474,5492,5509,5526,5540,5545,5551,5566,5572,5590,5596,5606,5622,5637,5652,5665,5670,5676,5705,5711,5728,5734,5752,5757,5763,5782,5799,5822,5827,5832,5860,5865,5870,5875,5880,5885,5890,5895,5900,5905,5910,5933,5938,5962,5969,5974,5989,6013,6020,6025,6030,6035,6041],{"__ignoreMap":203},[207,4509,4510,4512,4514,4516,4518,4520,4522,4524,4526,4528,4530,4532,4534,4536,4538,4540],{"class":209,"line":210},[207,4511,214],{"class":213},[207,4513,218],{"class":217},[207,4515,222],{"class":221},[207,4517,225],{"class":217},[207,4519,1590],{"class":221},[207,4521,225],{"class":217},[207,4523,228],{"class":221},[207,4525,225],{"class":217},[207,4527,233],{"class":221},[207,4529,225],{"class":217},[207,4531,3595],{"class":221},[207,4533,236],{"class":217},[207,4535,239],{"class":213},[207,4537,242],{"class":217},[207,4539,107],{"class":245},[207,4541,248],{"class":217},[207,4543,4544,4546,4548,4551,4553,4555,4557,4559,4561,4563],{"class":209,"line":251},[207,4545,214],{"class":213},[207,4547,218],{"class":217},[207,4549,4550],{"class":221}," buildRedeemer",[207,4552,225],{"class":217},[207,4554,258],{"class":221},[207,4556,236],{"class":217},[207,4558,239],{"class":213},[207,4560,242],{"class":217},[207,4562,117],{"class":245},[207,4564,248],{"class":217},[207,4566,4567],{"class":209,"line":271},[207,4568,275],{"emptyLinePlaceholder":274},[207,4570,4571,4573,4576,4578,4580,4582,4584,4586,4589,4592,4594,4597,4599,4602,4604,4606,4608],{"class":209,"line":278},[207,4572,289],{"class":288},[207,4574,4575],{"class":221}," unlock ",[207,4577,295],{"class":217},[207,4579,3639],{"class":288},[207,4581,1859],{"class":217},[207,4583,3045],{"class":1707},[207,4585,323],{"class":217},[207,4587,4588],{"class":217}," `${",[207,4590,4591],{"class":1713},"string",[207,4593,355],{"class":217},[207,4595,4596],{"class":245},"#",[207,4598,2314],{"class":217},[207,4600,4601],{"class":1713},"number",[207,4603,3048],{"class":217},[207,4605,1733],{"class":217},[207,4607,3228],{"class":288},[207,4609,398],{"class":217},[207,4611,4612,4614],{"class":209,"line":285},[207,4613,1740],{"class":213},[207,4615,398],{"class":217},[207,4617,4618],{"class":209,"line":316},[207,4619,3657],{"class":281},[207,4621,4622,4624,4626,4628,4630,4632,4634,4636,4638],{"class":209,"line":337},[207,4623,1747],{"class":288},[207,4625,573],{"class":221},[207,4627,505],{"class":217},[207,4629,298],{"class":217},[207,4631,233],{"class":221},[207,4633,303],{"class":217},[207,4635,307],{"class":306},[207,4637,310],{"class":319},[207,4639,313],{"class":217},[207,4641,4642,4644,4646,4648,4650,4652],{"class":209,"line":352},[207,4643,3682],{"class":319},[207,4645,323],{"class":217},[207,4647,242],{"class":217},[207,4649,328],{"class":245},[207,4651,331],{"class":217},[207,4653,334],{"class":217},[207,4655,4656,4658,4660,4662,4664],{"class":209,"line":361},[207,4657,3697],{"class":319},[207,4659,323],{"class":217},[207,4661,242],{"class":217},[207,4663,347],{"class":245},[207,4665,248],{"class":217},[207,4667,4668,4670],{"class":209,"line":366},[207,4669,768],{"class":217},[207,4671,358],{"class":319},[207,4673,4674,4676,4678,4680,4682,4684,4686],{"class":209,"line":372},[207,4675,1747],{"class":288},[207,4677,508],{"class":221},[207,4679,505],{"class":217},[207,4681,298],{"class":217},[207,4683,222],{"class":306},[207,4685,310],{"class":319},[207,4687,313],{"class":217},[207,4689,4690,4692,4694],{"class":209,"line":390},[207,4691,2066],{"class":319},[207,4693,323],{"class":217},[207,4695,398],{"class":217},[207,4697,4698,4700,4702,4704,4706,4708],{"class":209,"line":401},[207,4699,3740],{"class":319},[207,4701,323],{"class":217},[207,4703,242],{"class":217},[207,4705,411],{"class":245},[207,4707,331],{"class":217},[207,4709,334],{"class":217},[207,4711,4712,4714,4716,4718,4720,4722,4724,4726,4728,4730,4732],{"class":209,"line":418},[207,4713,3755],{"class":319},[207,4715,323],{"class":217},[207,4717,242],{"class":217},[207,4719,3762],{"class":245},[207,4721,331],{"class":217},[207,4723,303],{"class":217},[207,4725,435],{"class":306},[207,4727,310],{"class":319},[207,4729,331],{"class":217},[207,4731,242],{"class":217},[207,4733,358],{"class":319},[207,4735,4736],{"class":209,"line":446},[207,4737,3781],{"class":217},[207,4739,4740,4742,4744,4746,4748,4750],{"class":209,"line":452},[207,4741,2099],{"class":319},[207,4743,323],{"class":217},[207,4745,228],{"class":221},[207,4747,303],{"class":217},[207,4749,3794],{"class":221},[207,4751,334],{"class":217},[207,4753,4754,4756,4758,4760,4762,4764],{"class":209,"line":467},[207,4755,3801],{"class":319},[207,4757,323],{"class":217},[207,4759,573],{"class":221},[207,4761,303],{"class":217},[207,4763,578],{"class":221},[207,4765,334],{"class":217},[207,4767,4768,4770,4772,4774,4776],{"class":209,"line":474},[207,4769,3816],{"class":319},[207,4771,323],{"class":217},[207,4773,573],{"class":221},[207,4775,303],{"class":217},[207,4777,3825],{"class":221},[207,4779,4780,4782],{"class":209,"line":479},[207,4781,768],{"class":217},[207,4783,358],{"class":319},[207,4785,4786,4788,4790,4792,4794,4796,4798,4800,4802,4804,4806],{"class":209,"line":496},[207,4787,1747],{"class":288},[207,4789,3838],{"class":221},[207,4791,505],{"class":217},[207,4793,508],{"class":221},[207,4795,303],{"class":217},[207,4797,513],{"class":306},[207,4799,310],{"class":319},[207,4801,3851],{"class":1274},[207,4803,225],{"class":217},[207,4805,2196],{"class":1274},[207,4807,358],{"class":319},[207,4809,4810],{"class":209,"line":523},[207,4811,275],{"emptyLinePlaceholder":274},[207,4813,4814],{"class":209,"line":549},[207,4815,3866],{"class":281},[207,4817,4818],{"class":209,"line":554},[207,4819,3871],{"class":281},[207,4821,4822],{"class":209,"line":560},[207,4823,3876],{"class":281},[207,4825,4826],{"class":209,"line":593},[207,4827,3881],{"class":281},[207,4829,4830],{"class":209,"line":622},[207,4831,3886],{"class":281},[207,4833,4834,4836,4838,4840,4842,4844,4846,4848,4850,4852,4854,4856,4858,4860,4862],{"class":209,"line":627},[207,4835,1747],{"class":288},[207,4837,3893],{"class":221},[207,4839,323],{"class":217},[207,4841,3595],{"class":1713},[207,4843,2016],{"class":319},[207,4845,295],{"class":217},[207,4847,570],{"class":213},[207,4849,508],{"class":221},[207,4851,303],{"class":217},[207,4853,3910],{"class":306},[207,4855,310],{"class":319},[207,4857,3915],{"class":221},[207,4859,303],{"class":217},[207,4861,588],{"class":221},[207,4863,358],{"class":319},[207,4865,4866],{"class":209,"line":633},[207,4867,275],{"emptyLinePlaceholder":274},[207,4869,4870],{"class":209,"line":654},[207,4871,4872],{"class":281},"    \u002F\u002F =========== Prepare Collateral UTxO ===========\n",[207,4874,4875],{"class":209,"line":659},[207,4876,4877],{"class":281},"    \u002F\u002F Find collateral UTxO: needs at least 5 ADA in lovelace\n",[207,4879,4880,4882,4885,4887,4889,4891,4894,4896,4899],{"class":209,"line":674},[207,4881,1747],{"class":288},[207,4883,4884],{"class":221}," collateralUTxOs",[207,4886,505],{"class":217},[207,4888,3893],{"class":221},[207,4890,303],{"class":217},[207,4892,4893],{"class":306},"filter",[207,4895,310],{"class":319},[207,4897,4898],{"class":1707},"utxo",[207,4900,4901],{"class":288}," =>\n",[207,4903,4904,4907,4909,4912,4914,4917,4919,4922,4924,4927,4929],{"class":209,"line":690},[207,4905,4906],{"class":221},"      utxo",[207,4908,303],{"class":217},[207,4910,4911],{"class":221},"output",[207,4913,303],{"class":217},[207,4915,4916],{"class":221},"amount",[207,4918,303],{"class":217},[207,4920,4921],{"class":306},"find",[207,4923,310],{"class":319},[207,4925,4926],{"class":1707},"asset",[207,4928,3228],{"class":288},[207,4930,1095],{"class":319},[207,4932,4933,4936,4938,4941,4943,4945,4947,4949,4952,4955,4957,4959,4961,4964,4966,4969],{"class":209,"line":702},[207,4934,4935],{"class":221},"        asset",[207,4937,303],{"class":217},[207,4939,4940],{"class":221},"unit",[207,4942,2239],{"class":217},[207,4944,242],{"class":217},[207,4946,738],{"class":245},[207,4948,331],{"class":217},[207,4950,4951],{"class":217}," &&",[207,4953,4954],{"class":306}," Number",[207,4956,310],{"class":319},[207,4958,4926],{"class":221},[207,4960,303],{"class":217},[207,4962,4963],{"class":221},"quantity",[207,4965,1865],{"class":319},[207,4967,4968],{"class":217},">=",[207,4970,4971],{"class":1274}," 5_000_000\n",[207,4973,4974],{"class":209,"line":717},[207,4975,4976],{"class":319},"      )\n",[207,4978,4979],{"class":209,"line":765},[207,4980,4981],{"class":319},"    )\n",[207,4983,4984],{"class":209,"line":773},[207,4985,1808],{"class":319},[207,4987,4988,4990,4992,4995,4998,5000,5002,5004],{"class":209,"line":787},[207,4989,3174],{"class":213},[207,4991,1859],{"class":319},[207,4993,4994],{"class":217},"!",[207,4996,4997],{"class":221},"collateralUTxOs",[207,4999,303],{"class":217},[207,5001,617],{"class":221},[207,5003,1865],{"class":319},[207,5005,313],{"class":217},[207,5007,5008,5010,5012,5015,5017,5019,5022,5024],{"class":209,"line":798},[207,5009,3144],{"class":213},[207,5011,298],{"class":217},[207,5013,5014],{"class":306}," Error",[207,5016,310],{"class":319},[207,5018,331],{"class":217},[207,5020,5021],{"class":245},"No suitable collateral UTxOs found (minimum 5 ADA required)",[207,5023,331],{"class":217},[207,5025,358],{"class":319},[207,5027,5028],{"class":209,"line":803},[207,5029,2352],{"class":217},[207,5031,5032],{"class":209,"line":833},[207,5033,1808],{"class":319},[207,5035,5036,5038,5041,5043,5045,5047,5049],{"class":209,"line":839},[207,5037,1747],{"class":288},[207,5039,5040],{"class":221}," collateralUTxO",[207,5042,505],{"class":217},[207,5044,4884],{"class":221},[207,5046,2269],{"class":319},[207,5048,3851],{"class":1274},[207,5050,1385],{"class":319},[207,5052,5053],{"class":209,"line":845},[207,5054,275],{"emptyLinePlaceholder":274},[207,5056,5057],{"class":209,"line":875},[207,5058,3930],{"class":281},[207,5060,5061,5063,5065,5067],{"class":209,"line":899},[207,5062,1747],{"class":288},[207,5064,3937],{"class":221},[207,5066,505],{"class":217},[207,5068,398],{"class":217},[207,5070,5071],{"class":209,"line":904},[207,5072,3946],{"class":281},[207,5074,5075,5077,5079,5081,5083,5085],{"class":209,"line":910},[207,5076,705],{"class":319},[207,5078,323],{"class":217},[207,5080,242],{"class":217},[207,5082,3957],{"class":245},[207,5084,331],{"class":217},[207,5086,334],{"class":217},[207,5088,5089,5091,5093,5095,5097,5099],{"class":209,"line":916},[207,5090,3966],{"class":319},[207,5092,323],{"class":217},[207,5094,242],{"class":217},[207,5096,3973],{"class":245},[207,5098,331],{"class":217},[207,5100,334],{"class":217},[207,5102,5103,5105,5107,5109,5111,5113],{"class":209,"line":922},[207,5104,3982],{"class":319},[207,5106,323],{"class":217},[207,5108,242],{"class":217},[207,5110,3989],{"class":245},[207,5112,331],{"class":217},[207,5114,334],{"class":217},[207,5116,5117,5120,5122,5124,5127],{"class":209,"line":3161},[207,5118,5119],{"class":319},"      cborHex",[207,5121,323],{"class":217},[207,5123,242],{"class":217},[207,5125,5126],{"class":245},"58c958c701010029800aba2aba1aab9faab9eaab9dab9a48888896600264653001300700198039804000cc01c0092225980099b8748008c01cdd500144c8cc896600266e1d2000300a375400d132323322598009809001c56600266e3cdd7180898079baa00a48810a7365637265745f6b6579008cc004cdc79bae30113012300f375401491100a50a51403514a0806a2c8080dd718078009bae300f002300f001300b375400d16402460160026016601800260106ea800a2c8030600e00260066ea801e29344d95900101",[207,5128,248],{"class":217},[207,5130,5131],{"class":209,"line":3171},[207,5132,2352],{"class":217},[207,5134,5135],{"class":209,"line":3199},[207,5136,275],{"emptyLinePlaceholder":274},[207,5138,5139],{"class":209,"line":3204},[207,5140,5141],{"class":281},"    \u002F\u002F =========== Query Contract UTxO ===========\n",[207,5143,5144],{"class":209,"line":3240},[207,5145,3866],{"class":281},[207,5147,5148],{"class":209,"line":3296},[207,5149,5150],{"class":281},"     * Find the UTxO that corresponds to the script we want to unlock.\n",[207,5152,5153],{"class":209,"line":3301},[207,5154,5155],{"class":281},"     * Ensure that the asset is actually locked in the script.\n",[207,5157,5158],{"class":209,"line":3308},[207,5159,3886],{"class":281},[207,5161,5162,5164,5167,5169,5171,5173,5175,5177,5179,5181,5183,5185],{"class":209,"line":3326},[207,5163,1747],{"class":288},[207,5165,5166],{"class":221}," contractUTxOs",[207,5168,505],{"class":217},[207,5170,570],{"class":213},[207,5172,508],{"class":221},[207,5174,303],{"class":217},[207,5176,3910],{"class":306},[207,5178,310],{"class":319},[207,5180,4140],{"class":221},[207,5182,303],{"class":217},[207,5184,4145],{"class":221},[207,5186,358],{"class":319},[207,5188,5189,5191,5194,5196,5198,5200,5202,5204,5206,5208],{"class":209,"line":3351},[207,5190,1747],{"class":288},[207,5192,5193],{"class":221}," scriptUTxO",[207,5195,505],{"class":217},[207,5197,5166],{"class":221},[207,5199,303],{"class":217},[207,5201,4921],{"class":306},[207,5203,310],{"class":319},[207,5205,4898],{"class":1707},[207,5207,3228],{"class":288},[207,5209,1095],{"class":319},[207,5211,5212,5215,5217,5219,5222,5224,5226,5228,5230,5232,5234,5236,5238,5240,5243,5245,5247],{"class":209,"line":3378},[207,5213,5214],{"class":217},"      `${",[207,5216,4898],{"class":221},[207,5218,303],{"class":217},[207,5220,5221],{"class":221},"input",[207,5223,303],{"class":217},[207,5225,3045],{"class":221},[207,5227,355],{"class":217},[207,5229,4596],{"class":245},[207,5231,2314],{"class":217},[207,5233,4898],{"class":221},[207,5235,303],{"class":217},[207,5237,5221],{"class":221},[207,5239,303],{"class":217},[207,5241,5242],{"class":221},"outputIndex",[207,5244,3048],{"class":217},[207,5246,2239],{"class":217},[207,5248,5249],{"class":221}," txHash\n",[207,5251,5252],{"class":209,"line":3401},[207,5253,4981],{"class":319},[207,5255,5256],{"class":209,"line":3406},[207,5257,1808],{"class":319},[207,5259,5260,5262,5264,5266,5269,5271],{"class":209,"line":3411},[207,5261,3174],{"class":213},[207,5263,1859],{"class":319},[207,5265,4994],{"class":217},[207,5267,5268],{"class":221},"scriptUTxO",[207,5270,1865],{"class":319},[207,5272,313],{"class":217},[207,5274,5275,5277,5279,5281,5283,5285,5288,5290,5292,5294],{"class":209,"line":3416},[207,5276,3144],{"class":213},[207,5278,298],{"class":217},[207,5280,5014],{"class":306},[207,5282,310],{"class":319},[207,5284,2308],{"class":217},[207,5286,5287],{"class":245},"No script UTxO found for transaction: ",[207,5289,2314],{"class":217},[207,5291,3045],{"class":221},[207,5293,3048],{"class":217},[207,5295,358],{"class":319},[207,5297,5298],{"class":209,"line":3421},[207,5299,2352],{"class":217},[207,5301,5302],{"class":209,"line":3426},[207,5303,275],{"emptyLinePlaceholder":274},[207,5305,5306],{"class":209,"line":3460},[207,5307,5308],{"class":281},"    \u002F\u002F =========== Build Redeemer ===========\n",[207,5310,5311],{"class":209,"line":3465},[207,5312,3866],{"class":281},[207,5314,5315],{"class":209,"line":3482},[207,5316,5317],{"class":281},"     * Redeemer data is required to unlock the asset.\n",[207,5319,5320],{"class":209,"line":3496},[207,5321,5322],{"class":281},"     * The structure depends on the specific contract requirements.\n",[207,5324,5325],{"class":209,"line":3501},[207,5326,5327],{"class":281},"     * In this case, we need to provide:\n",[207,5329,5330],{"class":209,"line":3520},[207,5331,5332],{"class":281},"     * - secret_key: A string value\n",[207,5334,5335],{"class":209,"line":4432},[207,5336,5337],{"class":281},"     * - receive_addr: The address to receive the unlocked assets\n",[207,5339,5340],{"class":209,"line":4456},[207,5341,3886],{"class":281},[207,5343,5344,5346,5349,5351,5353,5355],{"class":209,"line":4463},[207,5345,1747],{"class":288},[207,5347,5348],{"class":221}," txRedeemer",[207,5350,505],{"class":217},[207,5352,4550],{"class":306},[207,5354,310],{"class":319},[207,5356,313],{"class":217},[207,5358,5359,5361,5363,5365,5368,5370],{"class":209,"line":4468},[207,5360,2066],{"class":319},[207,5362,323],{"class":217},[207,5364,242],{"class":217},[207,5366,5367],{"class":245},"secret_key",[207,5369,331],{"class":217},[207,5371,334],{"class":217},[207,5373,5374,5377,5379,5381,5384],{"class":209,"line":4473},[207,5375,5376],{"class":319},"      receive_addr",[207,5378,323],{"class":217},[207,5380,242],{"class":217},[207,5382,5383],{"class":245},"addr_test1qpxsf0x8xypuhq5k408f9kh0meyy6jv2lxgqw2fefvjlte0u06dugtmxuhhw8hschdn4q59g64q5s9z42ax6qyg7ewsqt6e548",[207,5385,248],{"class":217},[207,5387,5388,5390],{"class":209,"line":4478},[207,5389,768],{"class":217},[207,5391,358],{"class":319},[207,5393,5394],{"class":209,"line":4484},[207,5395,275],{"emptyLinePlaceholder":274},[207,5397,5399],{"class":209,"line":5398},79,[207,5400,5401],{"class":281},"    \u002F\u002F =========== Build Unlock Transaction ===========\n",[207,5403,5405,5407,5409,5411,5413,5415],{"class":209,"line":5404},80,[207,5406,1747],{"class":288},[207,5408,638],{"class":221},[207,5410,505],{"class":217},[207,5412,298],{"class":217},[207,5414,258],{"class":306},[207,5416,795],{"class":319},[207,5418,5420,5422,5425,5427,5429],{"class":209,"line":5419},81,[207,5421,1747],{"class":288},[207,5423,5424],{"class":221}," txUnlock",[207,5426,505],{"class":217},[207,5428,570],{"class":213},[207,5430,671],{"class":221},[207,5432,5434],{"class":209,"line":5433},82,[207,5435,5436],{"class":281},"      \u002F\u002F Add additional UTxO for transaction fees\n",[207,5438,5440,5442,5444,5447,5449,5451,5454],{"class":209,"line":5439},83,[207,5441,4116],{"class":217},[207,5443,680],{"class":306},[207,5445,5446],{"class":319},"([",[207,5448,4997],{"class":221},[207,5450,2269],{"class":319},[207,5452,5453],{"class":1274},"1",[207,5455,5456],{"class":319},"]]) \n",[207,5458,5460],{"class":209,"line":5459},84,[207,5461,5462],{"class":281},"      \u002F\u002F Add the script UTxO as input\n",[207,5464,5466,5468,5471],{"class":209,"line":5465},85,[207,5467,4116],{"class":217},[207,5469,5470],{"class":306},"txIn",[207,5472,5473],{"class":319},"(\n",[207,5475,5477,5480,5482,5484,5486,5488,5490],{"class":209,"line":5476},86,[207,5478,5479],{"class":221},"        scriptUTxO",[207,5481,303],{"class":217},[207,5483,5221],{"class":221},[207,5485,303],{"class":217},[207,5487,3045],{"class":221},[207,5489,225],{"class":217},[207,5491,1095],{"class":319},[207,5493,5495,5497,5499,5501,5503,5505,5507],{"class":209,"line":5494},87,[207,5496,5479],{"class":221},[207,5498,303],{"class":217},[207,5500,5221],{"class":221},[207,5502,303],{"class":217},[207,5504,5242],{"class":221},[207,5506,225],{"class":217},[207,5508,1095],{"class":319},[207,5510,5512,5514,5516,5518,5520,5522,5524],{"class":209,"line":5511},88,[207,5513,5479],{"class":221},[207,5515,303],{"class":217},[207,5517,4911],{"class":221},[207,5519,303],{"class":217},[207,5521,4916],{"class":221},[207,5523,225],{"class":217},[207,5525,1095],{"class":319},[207,5527,5529,5531,5533,5535,5537],{"class":209,"line":5528},89,[207,5530,5479],{"class":221},[207,5532,303],{"class":217},[207,5534,4911],{"class":221},[207,5536,303],{"class":217},[207,5538,5539],{"class":221},"address\n",[207,5541,5543],{"class":209,"line":5542},90,[207,5544,4976],{"class":319},[207,5546,5548],{"class":209,"line":5547},91,[207,5549,5550],{"class":281},"      \u002F\u002F Attach redeemer to the script input\n",[207,5552,5554,5556,5559,5561,5564],{"class":209,"line":5553},92,[207,5555,4116],{"class":217},[207,5557,5558],{"class":306},"txInRedeemerValue",[207,5560,310],{"class":319},[207,5562,5563],{"class":221},"txRedeemer",[207,5565,358],{"class":319},[207,5567,5569],{"class":209,"line":5568},93,[207,5570,5571],{"class":281},"      \u002F\u002F Attach the Plutus script\n",[207,5573,5575,5577,5580,5582,5584,5586,5588],{"class":209,"line":5574},94,[207,5576,4116],{"class":217},[207,5578,5579],{"class":306},"txInScript",[207,5581,310],{"class":319},[207,5583,4140],{"class":221},[207,5585,303],{"class":217},[207,5587,1708],{"class":221},[207,5589,358],{"class":319},[207,5591,5593],{"class":209,"line":5592},95,[207,5594,5595],{"class":281},"      \u002F\u002F Set collateral for script execution\n",[207,5597,5599,5601,5604],{"class":209,"line":5598},96,[207,5600,4116],{"class":217},[207,5602,5603],{"class":306},"txInCollateral",[207,5605,5473],{"class":319},[207,5607,5609,5612,5614,5616,5618,5620],{"class":209,"line":5608},97,[207,5610,5611],{"class":221},"        collateralUTxO",[207,5613,303],{"class":217},[207,5615,5221],{"class":221},[207,5617,303],{"class":217},[207,5619,3045],{"class":221},[207,5621,334],{"class":217},[207,5623,5625,5627,5629,5631,5633,5635],{"class":209,"line":5624},98,[207,5626,5611],{"class":221},[207,5628,303],{"class":217},[207,5630,5221],{"class":221},[207,5632,303],{"class":217},[207,5634,5242],{"class":221},[207,5636,334],{"class":217},[207,5638,5640,5642,5644,5646,5648,5650],{"class":209,"line":5639},99,[207,5641,5611],{"class":221},[207,5643,303],{"class":217},[207,5645,4911],{"class":221},[207,5647,303],{"class":217},[207,5649,4916],{"class":221},[207,5651,334],{"class":217},[207,5653,5655,5657,5659,5661,5663],{"class":209,"line":5654},100,[207,5656,5611],{"class":221},[207,5658,303],{"class":217},[207,5660,4911],{"class":221},[207,5662,303],{"class":217},[207,5664,5539],{"class":221},[207,5666,5668],{"class":209,"line":5667},101,[207,5669,4976],{"class":319},[207,5671,5673],{"class":209,"line":5672},102,[207,5674,5675],{"class":281},"      \u002F\u002F Send unlocked assets back to our address\n",[207,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695,5697,5699,5701,5703],{"class":209,"line":5678},103,[207,5680,4116],{"class":217},[207,5682,4135],{"class":306},[207,5684,310],{"class":319},[207,5686,3915],{"class":221},[207,5688,303],{"class":217},[207,5690,588],{"class":221},[207,5692,225],{"class":217},[207,5694,5193],{"class":221},[207,5696,303],{"class":217},[207,5698,4911],{"class":221},[207,5700,303],{"class":217},[207,5702,4916],{"class":221},[207,5704,358],{"class":319},[207,5706,5708],{"class":209,"line":5707},104,[207,5709,5710],{"class":281},"      \u002F\u002F Set change address\n",[207,5712,5714,5716,5718,5720,5722,5724,5726],{"class":209,"line":5713},105,[207,5715,4116],{"class":217},[207,5717,4203],{"class":306},[207,5719,310],{"class":319},[207,5721,3915],{"class":221},[207,5723,303],{"class":217},[207,5725,588],{"class":221},[207,5727,358],{"class":319},[207,5729,5731],{"class":209,"line":5730},106,[207,5732,5733],{"class":281},"      \u002F\u002F Set transaction fee (2 ADA)\n",[207,5735,5737,5739,5742,5744,5746,5748,5750],{"class":209,"line":5736},107,[207,5738,4116],{"class":217},[207,5740,5741],{"class":306},"setFee",[207,5743,310],{"class":319},[207,5745,331],{"class":217},[207,5747,4172],{"class":245},[207,5749,331],{"class":217},[207,5751,358],{"class":319},[207,5753,5755],{"class":209,"line":5754},108,[207,5756,275],{"emptyLinePlaceholder":274},[207,5758,5760],{"class":209,"line":5759},109,[207,5761,5762],{"class":281},"    \u002F\u002F =========== Complete and Sign Transaction ===========\n",[207,5764,5766,5768,5770,5772,5774,5776,5778,5780],{"class":209,"line":5765},110,[207,5767,1747],{"class":288},[207,5769,664],{"class":221},[207,5771,505],{"class":217},[207,5773,570],{"class":213},[207,5775,5424],{"class":221},[207,5777,303],{"class":217},[207,5779,792],{"class":306},[207,5781,795],{"class":319},[207,5783,5785,5787,5789,5791,5793,5795,5797],{"class":209,"line":5784},111,[207,5786,1747],{"class":288},[207,5788,4237],{"class":221},[207,5790,505],{"class":217},[207,5792,664],{"class":221},[207,5794,303],{"class":217},[207,5796,827],{"class":306},[207,5798,795],{"class":319},[207,5800,5802,5804,5806,5808,5810,5812,5814,5816,5818,5820],{"class":209,"line":5801},112,[207,5803,1747],{"class":288},[207,5805,4254],{"class":221},[207,5807,505],{"class":217},[207,5809,570],{"class":213},[207,5811,508],{"class":221},[207,5813,303],{"class":217},[207,5815,861],{"class":306},[207,5817,310],{"class":319},[207,5819,4269],{"class":221},[207,5821,358],{"class":319},[207,5823,5825],{"class":209,"line":5824},113,[207,5826,1808],{"class":319},[207,5828,5830],{"class":209,"line":5829},114,[207,5831,4280],{"class":281},[207,5833,5835,5837,5840,5842,5844,5846,5848,5850,5852,5854,5856,5858],{"class":209,"line":5834},115,[207,5836,1747],{"class":288},[207,5838,5839],{"class":221}," unlockTxHash",[207,5841,505],{"class":217},[207,5843,1590],{"class":221},[207,5845,303],{"class":217},[207,5847,1784],{"class":306},[207,5849,310],{"class":319},[207,5851,4299],{"class":221},[207,5853,1733],{"class":319},[207,5855,303],{"class":217},[207,5857,1795],{"class":306},[207,5859,795],{"class":319},[207,5861,5863],{"class":209,"line":5862},116,[207,5864,275],{"emptyLinePlaceholder":274},[207,5866,5868],{"class":209,"line":5867},117,[207,5869,4316],{"class":281},[207,5871,5873],{"class":209,"line":5872},118,[207,5874,3866],{"class":281},[207,5876,5878],{"class":209,"line":5877},119,[207,5879,4325],{"class":281},[207,5881,5883],{"class":209,"line":5882},120,[207,5884,4330],{"class":281},[207,5886,5888],{"class":209,"line":5887},121,[207,5889,4335],{"class":281},[207,5891,5893],{"class":209,"line":5892},122,[207,5894,4340],{"class":281},[207,5896,5898],{"class":209,"line":5897},123,[207,5899,4345],{"class":281},[207,5901,5903],{"class":209,"line":5902},124,[207,5904,4350],{"class":281},[207,5906,5908],{"class":209,"line":5907},125,[207,5909,3886],{"class":281},[207,5911,5913,5915,5917,5919,5921,5923,5925,5927,5929,5931],{"class":209,"line":5912},126,[207,5914,1747],{"class":288},[207,5916,1505],{"class":221},[207,5918,505],{"class":217},[207,5920,570],{"class":213},[207,5922,508],{"class":221},[207,5924,303],{"class":217},[207,5926,1520],{"class":306},[207,5928,310],{"class":319},[207,5930,4299],{"class":221},[207,5932,358],{"class":319},[207,5934,5936],{"class":209,"line":5935},127,[207,5937,275],{"emptyLinePlaceholder":274},[207,5939,5941,5943,5945,5947,5949,5951,5954,5956,5958,5960],{"class":209,"line":5940},128,[207,5942,1813],{"class":221},[207,5944,303],{"class":217},[207,5946,531],{"class":306},[207,5948,310],{"class":319},[207,5950,331],{"class":217},[207,5952,5953],{"class":245},"Unlock transaction submitted successfully:",[207,5955,331],{"class":217},[207,5957,225],{"class":217},[207,5959,1505],{"class":221},[207,5961,358],{"class":319},[207,5963,5965,5967],{"class":209,"line":5964},129,[207,5966,1837],{"class":213},[207,5968,5249],{"class":221},[207,5970,5972],{"class":209,"line":5971},130,[207,5973,275],{"emptyLinePlaceholder":274},[207,5975,5977,5979,5981,5983,5985,5987],{"class":209,"line":5976},131,[207,5978,1853],{"class":217},[207,5980,1856],{"class":213},[207,5982,1859],{"class":319},[207,5984,1862],{"class":221},[207,5986,1865],{"class":319},[207,5988,313],{"class":217},[207,5990,5992,5994,5996,5998,6000,6002,6005,6007,6009,6011],{"class":209,"line":5991},132,[207,5993,1813],{"class":221},[207,5995,303],{"class":217},[207,5997,1862],{"class":306},[207,5999,310],{"class":319},[207,6001,331],{"class":217},[207,6003,6004],{"class":245},"Error creating unlock transaction:",[207,6006,331],{"class":217},[207,6008,225],{"class":217},[207,6010,1889],{"class":221},[207,6012,358],{"class":319},[207,6014,6016,6018],{"class":209,"line":6015},133,[207,6017,1896],{"class":213},[207,6019,1899],{"class":221},[207,6021,6023],{"class":209,"line":6022},134,[207,6024,1904],{"class":217},[207,6026,6028],{"class":209,"line":6027},135,[207,6029,925],{"class":217},[207,6031,6033],{"class":209,"line":6032},136,[207,6034,275],{"emptyLinePlaceholder":274},[207,6036,6038],{"class":209,"line":6037},137,[207,6039,6040],{"class":281},"\u002F\u002F Execute the unlock function with the transaction hash from the lock operation\n",[207,6042,6044],{"class":209,"line":6043},138,[207,6045,6046],{"class":281},"\u002F\u002F unlock('your_lock_transaction_hash#output_index')\n",[193,6048,6050],{"id":6049},"key-points","Key points",[166,6052,6053],{},[6054,6055,6056],"strong",{},"Lock transaction",[6058,6059,6060,6067,6073],"ul",{},[6061,6062,6063,6064,303],"li",{},"Sends assets to the contract address with ",[170,6065,6066],{},".txOut()",[6061,6068,6069,6070,303],{},"Attaches an inline datum with ",[170,6071,6072],{},".txOutInlineDatumValue()",[6061,6074,6075],{},"No special script handling is required for locking.",[166,6077,6078],{},[6054,6079,6080],{},"Unlock transaction",[6058,6082,6083,6086,6092,6098,6104,6110],{},[6061,6084,6085],{},"Requires a collateral UTxO (minimum 5 ADA).",[6061,6087,6088,6089,303],{},"Uses the script UTxO as an input with ",[170,6090,6091],{},".txIn()",[6061,6093,6094,6095,303],{},"Attaches the redeemer with ",[170,6096,6097],{},".txInRedeemerValue()",[6061,6099,6100,6101,303],{},"Attaches the Plutus script with ",[170,6102,6103],{},".txInScript()",[6061,6105,6106,6107,303],{},"Sets collateral with ",[170,6108,6109],{},".txInCollateral()",[6061,6111,6112],{},"Validates collateral availability and script UTxO existence before building.",[178,6114,6116],{"id":6115},"minting-and-burning-tokens","Minting and burning tokens",[166,6118,168,6119,6121,6122,6125,6126,6129],{},[170,6120,172],{}," also supports minting and burning native tokens. You attach a native minting policy with ",[170,6123,6124],{},".mintingScript()",", call ",[170,6127,6128],{},".mint()"," with a positive quantity to mint or a negative quantity to burn, and optionally attach CIP-25 token metadata. Because these flows have their own dedicated walkthrough, they are documented separately.",[6131,6132,6133],"tip",{},[166,6134,6135,6136,6139],{},"See the ",[3261,6137,6138],{"href":47},"Mint and Burn Tokens guide"," for the complete minting and burning workflow, including policy creation, metadata, and collateral handling.",[178,6141,6143],{"id":6142},"high-volume-building-v120","High-volume building (v1.2.0+)",[166,6145,6146,6147,6150,6151,6154,6155,323],{},"Every CSL object lives in WASM memory and is only reclaimed by ",[170,6148,6149],{},".free()",". For one-off transactions the default ",[170,6152,6153],{},"complete()"," is fine, but when you build thousands in a row (e.g. inside a Hydra Head), use the leak-free helpers added in ",[170,6156,6157],{},"@hydra-sdk\u002Ftransaction@1.2.0",[6058,6159,6160,6179],{},[6061,6161,6162,6167,6168,6171,6172,6174,6175,6178],{},[6054,6163,6164],{},[170,6165,6166],{},"completeCbor()"," — builds and returns the CBOR hex, freeing the intermediate ",[170,6169,6170],{},"Transaction"," for you. Prefer it over ",[170,6173,6153],{}," + ",[170,6176,6177],{},".to_hex()"," when you only need the bytes.",[6061,6180,6181,6190,6191,6194,6195,6197],{},[6054,6182,6183,6186,6187],{},[170,6184,6185],{},"dispose()"," \u002F ",[170,6188,6189],{},"using"," — release all WASM memory a builder holds; reuse one builder with ",[170,6192,6193],{},"reset()"," across a spike and ",[170,6196,6185],{}," at the end.",[198,6199,6201],{"className":200,"code":6200,"language":202,"meta":203,"style":203},"import { TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\n\u002F\u002F Reuse one builder across many transactions, then dispose once\nconst builder = new TxBuilder()\nfor (const job of jobs) {\n  const cbor = await builder\n    .reset()\n    .setInputs(job.utxos)\n    .txOut(job.address, job.amount)\n    .changeAddress(job.changeAddress)\n    .completeCbor()\n  await submit(cbor)\n}\nbuilder.dispose()\n",[170,6202,6203,6221,6225,6230,6245,6265,6279,6288,6305,6330,6346,6355,6370,6374],{"__ignoreMap":203},[207,6204,6205,6207,6209,6211,6213,6215,6217,6219],{"class":209,"line":210},[207,6206,214],{"class":213},[207,6208,218],{"class":217},[207,6210,258],{"class":221},[207,6212,236],{"class":217},[207,6214,239],{"class":213},[207,6216,242],{"class":217},[207,6218,117],{"class":245},[207,6220,248],{"class":217},[207,6222,6223],{"class":209,"line":251},[207,6224,275],{"emptyLinePlaceholder":274},[207,6226,6227],{"class":209,"line":271},[207,6228,6229],{"class":281},"\u002F\u002F Reuse one builder across many transactions, then dispose once\n",[207,6231,6232,6234,6237,6239,6241,6243],{"class":209,"line":278},[207,6233,289],{"class":288},[207,6235,6236],{"class":221}," builder ",[207,6238,295],{"class":217},[207,6240,298],{"class":217},[207,6242,258],{"class":306},[207,6244,795],{"class":221},[207,6246,6247,6250,6252,6254,6257,6260,6263],{"class":209,"line":285},[207,6248,6249],{"class":213},"for",[207,6251,1859],{"class":221},[207,6253,289],{"class":288},[207,6255,6256],{"class":221}," job ",[207,6258,6259],{"class":217},"of",[207,6261,6262],{"class":221}," jobs) ",[207,6264,313],{"class":217},[207,6266,6267,6269,6272,6274,6276],{"class":209,"line":316},[207,6268,499],{"class":288},[207,6270,6271],{"class":221}," cbor",[207,6273,505],{"class":217},[207,6275,570],{"class":213},[207,6277,6278],{"class":221}," builder\n",[207,6280,6281,6283,6286],{"class":209,"line":337},[207,6282,677],{"class":217},[207,6284,6285],{"class":306},"reset",[207,6287,795],{"class":319},[207,6289,6290,6292,6294,6296,6299,6301,6303],{"class":209,"line":352},[207,6291,677],{"class":217},[207,6293,680],{"class":306},[207,6295,310],{"class":319},[207,6297,6298],{"class":221},"job",[207,6300,303],{"class":217},[207,6302,685],{"class":221},[207,6304,358],{"class":319},[207,6306,6307,6309,6311,6313,6315,6317,6319,6321,6324,6326,6328],{"class":209,"line":361},[207,6308,677],{"class":217},[207,6310,4135],{"class":306},[207,6312,310],{"class":319},[207,6314,6298],{"class":221},[207,6316,303],{"class":217},[207,6318,4145],{"class":221},[207,6320,225],{"class":217},[207,6322,6323],{"class":221}," job",[207,6325,303],{"class":217},[207,6327,4916],{"class":221},[207,6329,358],{"class":319},[207,6331,6332,6334,6336,6338,6340,6342,6344],{"class":209,"line":366},[207,6333,677],{"class":217},[207,6335,4203],{"class":306},[207,6337,310],{"class":319},[207,6339,6298],{"class":221},[207,6341,303],{"class":217},[207,6343,4203],{"class":221},[207,6345,358],{"class":319},[207,6347,6348,6350,6353],{"class":209,"line":372},[207,6349,677],{"class":217},[207,6351,6352],{"class":306},"completeCbor",[207,6354,795],{"class":319},[207,6356,6357,6360,6363,6365,6368],{"class":209,"line":390},[207,6358,6359],{"class":213},"  await",[207,6361,6362],{"class":306}," submit",[207,6364,310],{"class":319},[207,6366,6367],{"class":221},"cbor",[207,6369,358],{"class":319},[207,6371,6372],{"class":209,"line":401},[207,6373,925],{"class":217},[207,6375,6376,6379,6381,6384],{"class":209,"line":418},[207,6377,6378],{"class":221},"builder",[207,6380,303],{"class":217},[207,6382,6383],{"class":306},"dispose",[207,6385,795],{"class":221},[166,6387,6388,6389,6393],{},"See ",[3261,6390,6392],{"href":6391},"\u002Fresources\u002Fperformance#txbuilder-wasm-memory-v120","Performance → TxBuilder WASM Memory"," for benchmarks and the full pattern list.",[178,6395,6397],{"id":6396},"next-steps","Next steps",[6058,6399,6400,6406,6411,6420],{},[6061,6401,6402,6405],{},[3261,6403,6404],{"href":47},"Mint and Burn Tokens"," — create and destroy native tokens with metadata.",[6061,6407,6408,6410],{},[3261,6409,56],{"href":57}," — helpers for datums, policies, addresses, and parsing.",[6061,6412,6413,6416,6417,6419],{},[3261,6414,6415],{"href":118},"Transaction API reference"," — the full ",[170,6418,172],{}," and redeemer API.",[6061,6421,6422,6424],{},[3261,6423,84],{"href":85}," — how transactions differ inside a Hydra Head.",[6426,6427,6428],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":203,"searchDepth":210,"depth":251,"links":6430},[6431,6435,6440,6445,6446,6447],{"id":180,"depth":251,"text":181,"children":6432},[6433,6434],{"id":195,"depth":271,"text":196},{"id":928,"depth":271,"text":929},{"id":1557,"depth":251,"text":1558,"children":6436},[6437,6438,6439],{"id":1567,"depth":271,"text":1568},{"id":1936,"depth":271,"text":1937},{"id":2527,"depth":271,"text":2528},{"id":3544,"depth":251,"text":3545,"children":6441},[6442,6443,6444],{"id":3551,"depth":271,"text":3552},{"id":4492,"depth":271,"text":4493},{"id":6049,"depth":271,"text":6050},{"id":6115,"depth":251,"text":6116},{"id":6142,"depth":251,"text":6143},{"id":6396,"depth":251,"text":6397},"Build, sign, and submit Cardano transactions with the TxBuilder, from simple ADA transfers to Plutus script interactions.","md",null,{},{"icon":44},{"title":41,"description":6448},"hluGtYHZi6jPCDnux9fqOi80JpzCxdAgEtLNKTbhSrE",[6456,6458],{"title":36,"path":37,"stem":38,"description":6457,"icon":39,"children":-1},"Assemble a complete Cardano and Hydra Layer 2 wallet app — clone a ready-made React or Vue starter, or build the service layer yourself.",{"title":46,"path":47,"stem":48,"description":6459,"icon":49,"children":-1},"Learn how to mint and burn native tokens on Cardano using Hydra SDK",1784812303804]