[{"data":1,"prerenderedAt":4361},["ShallowReactive",2],{"navigation":3,"page-en-\u002Fguides\u002Fhydra-integration":160,"surround-en-\u002Fguides\u002Fhydra-integration":4356},[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":51,"body":162,"description":4349,"extension":4350,"links":4351,"meta":4352,"navigation":4353,"path":52,"seo":4354,"stem":53,"__hash__":4355},"docs_en\u002F2.guides\u002F5.hydra-integration.md",{"type":163,"value":164,"toc":4332},"minimark",[165,169,174,514,518,1116,1120,1726,1730,2116,2120,3319,3323,3326,3654,3665,3731,3734,3738,3749,3958,3960,3964,3968,4071,4075,4201,4205,4328],[166,167,168],"p",{},"Examples based on real integration patterns used in the Hydra SDK ecosystem.",[170,171,173],"h2",{"id":172},"basic-hydra-transaction-building","Basic Hydra Transaction Building",[175,176,181],"pre",{"className":177,"code":178,"language":179,"meta":180,"style":180},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { TxBuilder } from '@hydra-sdk\u002Ftransaction'\n\n\u002F\u002F Hydra transactions have different fees from Cardano mainnet\nconst txBuilder = new TxBuilder({ \n  isHydra: true, \n  params: { \n    minFeeA: 0, \u002F\u002F Hydra uses a different fee structure\n    minFeeB: 0 \n  } \n})\n\n\u002F\u002F Build the transaction as usual\nconst tx = await txBuilder\n  .setInputs(utxos)\n  .addOutput({\n    address: recipientAddress,\n    amount: [{ unit: 'lovelace', quantity: '1000000' }]\n  })\n  .setChangeAddress(changeAddress)\n  .complete()\n\nconsole.log('Hydra Transaction:', tx.to_hex())\n","typescript","",[182,183,184,216,223,230,258,277,289,306,318,326,335,340,346,362,374,387,401,446,453,464,475,480],"code",{"__ignoreMap":180},[185,186,189,193,197,201,204,207,210,213],"span",{"class":187,"line":188},"line",1,[185,190,192],{"class":191},"s7zQu","import",[185,194,196],{"class":195},"sMK4o"," {",[185,198,200],{"class":199},"sTEyZ"," TxBuilder",[185,202,203],{"class":195}," }",[185,205,206],{"class":191}," from",[185,208,209],{"class":195}," '",[185,211,117],{"class":212},"sfazB",[185,214,215],{"class":195},"'\n",[185,217,219],{"class":187,"line":218},2,[185,220,222],{"emptyLinePlaceholder":221},true,"\n",[185,224,226],{"class":187,"line":225},3,[185,227,229],{"class":228},"sHwdD","\u002F\u002F Hydra transactions have different fees from Cardano mainnet\n",[185,231,233,237,240,243,246,249,252,255],{"class":187,"line":232},4,[185,234,236],{"class":235},"spNyl","const",[185,238,239],{"class":199}," txBuilder ",[185,241,242],{"class":195},"=",[185,244,245],{"class":195}," new",[185,247,200],{"class":248},"s2Zo4",[185,250,251],{"class":199},"(",[185,253,254],{"class":195},"{",[185,256,257],{"class":199}," \n",[185,259,261,265,268,272,275],{"class":187,"line":260},5,[185,262,264],{"class":263},"swJcz","  isHydra",[185,266,267],{"class":195},":",[185,269,271],{"class":270},"sfNiH"," true",[185,273,274],{"class":195},",",[185,276,257],{"class":199},[185,278,280,283,285,287],{"class":187,"line":279},6,[185,281,282],{"class":263},"  params",[185,284,267],{"class":195},[185,286,196],{"class":195},[185,288,257],{"class":199},[185,290,292,295,297,301,303],{"class":187,"line":291},7,[185,293,294],{"class":263},"    minFeeA",[185,296,267],{"class":195},[185,298,300],{"class":299},"sbssI"," 0",[185,302,274],{"class":195},[185,304,305],{"class":228}," \u002F\u002F Hydra uses a different fee structure\n",[185,307,309,312,314,316],{"class":187,"line":308},8,[185,310,311],{"class":263},"    minFeeB",[185,313,267],{"class":195},[185,315,300],{"class":299},[185,317,257],{"class":199},[185,319,321,324],{"class":187,"line":320},9,[185,322,323],{"class":195},"  }",[185,325,257],{"class":199},[185,327,329,332],{"class":187,"line":328},10,[185,330,331],{"class":195},"}",[185,333,334],{"class":199},")\n",[185,336,338],{"class":187,"line":337},11,[185,339,222],{"emptyLinePlaceholder":221},[185,341,343],{"class":187,"line":342},12,[185,344,345],{"class":228},"\u002F\u002F Build the transaction as usual\n",[185,347,349,351,354,356,359],{"class":187,"line":348},13,[185,350,236],{"class":235},[185,352,353],{"class":199}," tx ",[185,355,242],{"class":195},[185,357,358],{"class":191}," await",[185,360,361],{"class":199}," txBuilder\n",[185,363,365,368,371],{"class":187,"line":364},14,[185,366,367],{"class":195},"  .",[185,369,370],{"class":248},"setInputs",[185,372,373],{"class":199},"(utxos)\n",[185,375,377,379,382,384],{"class":187,"line":376},15,[185,378,367],{"class":195},[185,380,381],{"class":248},"addOutput",[185,383,251],{"class":199},[185,385,386],{"class":195},"{\n",[185,388,390,393,395,398],{"class":187,"line":389},16,[185,391,392],{"class":263},"    address",[185,394,267],{"class":195},[185,396,397],{"class":199}," recipientAddress",[185,399,400],{"class":195},",\n",[185,402,404,407,409,412,414,417,419,421,424,427,429,432,434,436,439,441,443],{"class":187,"line":403},17,[185,405,406],{"class":263},"    amount",[185,408,267],{"class":195},[185,410,411],{"class":199}," [",[185,413,254],{"class":195},[185,415,416],{"class":263}," unit",[185,418,267],{"class":195},[185,420,209],{"class":195},[185,422,423],{"class":212},"lovelace",[185,425,426],{"class":195},"'",[185,428,274],{"class":195},[185,430,431],{"class":263}," quantity",[185,433,267],{"class":195},[185,435,209],{"class":195},[185,437,438],{"class":212},"1000000",[185,440,426],{"class":195},[185,442,203],{"class":195},[185,444,445],{"class":199},"]\n",[185,447,449,451],{"class":187,"line":448},18,[185,450,323],{"class":195},[185,452,334],{"class":199},[185,454,456,458,461],{"class":187,"line":455},19,[185,457,367],{"class":195},[185,459,460],{"class":248},"setChangeAddress",[185,462,463],{"class":199},"(changeAddress)\n",[185,465,467,469,472],{"class":187,"line":466},20,[185,468,367],{"class":195},[185,470,471],{"class":248},"complete",[185,473,474],{"class":199},"()\n",[185,476,478],{"class":187,"line":477},21,[185,479,222],{"emptyLinePlaceholder":221},[185,481,483,486,489,492,494,496,499,501,503,506,508,511],{"class":187,"line":482},22,[185,484,485],{"class":199},"console",[185,487,488],{"class":195},".",[185,490,491],{"class":248},"log",[185,493,251],{"class":199},[185,495,426],{"class":195},[185,497,498],{"class":212},"Hydra Transaction:",[185,500,426],{"class":195},[185,502,274],{"class":195},[185,504,505],{"class":199}," tx",[185,507,488],{"class":195},[185,509,510],{"class":248},"to_hex",[185,512,513],{"class":199},"())\n",[170,515,517],{"id":516},"hydra-bridge-connection-from-real-usage-patterns","Hydra Bridge Connection (From Real Usage Patterns)",[175,519,521],{"className":177,"code":520,"language":179,"meta":180,"style":180},"import { HydraBridge, HexcoreConnector } from '@hydra-sdk\u002Fbridge'\n\n\u002F\u002F Socket.IO connection with authentication\nconst bridge = new HydraBridge({\n  connector: new HexcoreConnector(\n    'wss:\u002F\u002Falpha-v1-api.hexcore.io.vn', \n    { \n      socketIoOptions: { \n        auth: { token: 'your-jwt-token-here' } \n      } \n    }\n  )\n})\n\n\u002F\u002F Event handlers following real-world patterns\nbridge.events.on('onConnected', () => {\n  console.log('✅ Connected to Hydra Head')\n})\n\nbridge.events.on('onDisconnected', () => {\n  console.log('❌ Disconnected from Hydra Head')\n})\n\n\u002F\u002F Head\u002FTx state is delivered through onMessage — switch on payload.tag\nbridge.events.on('onMessage', (payload) => {\n  switch (payload.tag) {\n    case 'HeadIsOpen':\n      console.log('🚀 Hydra Head is open:', payload)\n      break\n    case 'HeadIsClosed':\n      console.log('🔒 Hydra Head is closed:', payload)\n      break\n    case 'TxValid':\n      console.log('✅ Transaction valid:', payload.transaction)\n      break\n    case 'TxInvalid':\n      console.log('❌ Transaction invalid:', payload.transaction, payload.validationError)\n      break\n  }\n})\n\n\u002F\u002F Connect and clean up\nawait bridge.connect()\n\n\u002F\u002F Cleanup trong Vue\u002FReact lifecycle\n\u002F\u002F onBeforeUnmount(() => bridge?.disconnect())\n",[182,522,523,547,551,556,573,587,601,608,619,644,651,656,661,667,671,676,711,731,737,741,770,789,795,800,806,844,864,880,906,912,926,950,955,969,998,1003,1017,1054,1059,1065,1072,1077,1083,1099,1104,1110],{"__ignoreMap":180},[185,524,525,527,529,532,534,537,539,541,543,545],{"class":187,"line":188},[185,526,192],{"class":191},[185,528,196],{"class":195},[185,530,531],{"class":199}," HydraBridge",[185,533,274],{"class":195},[185,535,536],{"class":199}," HexcoreConnector",[185,538,203],{"class":195},[185,540,206],{"class":191},[185,542,209],{"class":195},[185,544,112],{"class":212},[185,546,215],{"class":195},[185,548,549],{"class":187,"line":218},[185,550,222],{"emptyLinePlaceholder":221},[185,552,553],{"class":187,"line":225},[185,554,555],{"class":228},"\u002F\u002F Socket.IO connection with authentication\n",[185,557,558,560,563,565,567,569,571],{"class":187,"line":232},[185,559,236],{"class":235},[185,561,562],{"class":199}," bridge ",[185,564,242],{"class":195},[185,566,245],{"class":195},[185,568,531],{"class":248},[185,570,251],{"class":199},[185,572,386],{"class":195},[185,574,575,578,580,582,584],{"class":187,"line":260},[185,576,577],{"class":263},"  connector",[185,579,267],{"class":195},[185,581,245],{"class":195},[185,583,536],{"class":248},[185,585,586],{"class":199},"(\n",[185,588,589,592,595,597,599],{"class":187,"line":279},[185,590,591],{"class":195},"    '",[185,593,594],{"class":212},"wss:\u002F\u002Falpha-v1-api.hexcore.io.vn",[185,596,426],{"class":195},[185,598,274],{"class":195},[185,600,257],{"class":199},[185,602,603,606],{"class":187,"line":291},[185,604,605],{"class":195},"    {",[185,607,257],{"class":199},[185,609,610,613,615,617],{"class":187,"line":308},[185,611,612],{"class":263},"      socketIoOptions",[185,614,267],{"class":195},[185,616,196],{"class":195},[185,618,257],{"class":199},[185,620,621,624,626,628,631,633,635,638,640,642],{"class":187,"line":320},[185,622,623],{"class":263},"        auth",[185,625,267],{"class":195},[185,627,196],{"class":195},[185,629,630],{"class":263}," token",[185,632,267],{"class":195},[185,634,209],{"class":195},[185,636,637],{"class":212},"your-jwt-token-here",[185,639,426],{"class":195},[185,641,203],{"class":195},[185,643,257],{"class":199},[185,645,646,649],{"class":187,"line":328},[185,647,648],{"class":195},"      }",[185,650,257],{"class":199},[185,652,653],{"class":187,"line":337},[185,654,655],{"class":195},"    }\n",[185,657,658],{"class":187,"line":342},[185,659,660],{"class":199},"  )\n",[185,662,663,665],{"class":187,"line":348},[185,664,331],{"class":195},[185,666,334],{"class":199},[185,668,669],{"class":187,"line":364},[185,670,222],{"emptyLinePlaceholder":221},[185,672,673],{"class":187,"line":376},[185,674,675],{"class":228},"\u002F\u002F Event handlers following real-world patterns\n",[185,677,678,681,683,686,688,691,693,695,698,700,702,705,708],{"class":187,"line":389},[185,679,680],{"class":199},"bridge",[185,682,488],{"class":195},[185,684,685],{"class":199},"events",[185,687,488],{"class":195},[185,689,690],{"class":248},"on",[185,692,251],{"class":199},[185,694,426],{"class":195},[185,696,697],{"class":212},"onConnected",[185,699,426],{"class":195},[185,701,274],{"class":195},[185,703,704],{"class":195}," ()",[185,706,707],{"class":235}," =>",[185,709,710],{"class":195}," {\n",[185,712,713,716,718,720,722,724,727,729],{"class":187,"line":403},[185,714,715],{"class":199},"  console",[185,717,488],{"class":195},[185,719,491],{"class":248},[185,721,251],{"class":263},[185,723,426],{"class":195},[185,725,726],{"class":212},"✅ Connected to Hydra Head",[185,728,426],{"class":195},[185,730,334],{"class":263},[185,732,733,735],{"class":187,"line":448},[185,734,331],{"class":195},[185,736,334],{"class":199},[185,738,739],{"class":187,"line":455},[185,740,222],{"emptyLinePlaceholder":221},[185,742,743,745,747,749,751,753,755,757,760,762,764,766,768],{"class":187,"line":466},[185,744,680],{"class":199},[185,746,488],{"class":195},[185,748,685],{"class":199},[185,750,488],{"class":195},[185,752,690],{"class":248},[185,754,251],{"class":199},[185,756,426],{"class":195},[185,758,759],{"class":212},"onDisconnected",[185,761,426],{"class":195},[185,763,274],{"class":195},[185,765,704],{"class":195},[185,767,707],{"class":235},[185,769,710],{"class":195},[185,771,772,774,776,778,780,782,785,787],{"class":187,"line":477},[185,773,715],{"class":199},[185,775,488],{"class":195},[185,777,491],{"class":248},[185,779,251],{"class":263},[185,781,426],{"class":195},[185,783,784],{"class":212},"❌ Disconnected from Hydra Head",[185,786,426],{"class":195},[185,788,334],{"class":263},[185,790,791,793],{"class":187,"line":482},[185,792,331],{"class":195},[185,794,334],{"class":199},[185,796,798],{"class":187,"line":797},23,[185,799,222],{"emptyLinePlaceholder":221},[185,801,803],{"class":187,"line":802},24,[185,804,805],{"class":228},"\u002F\u002F Head\u002FTx state is delivered through onMessage — switch on payload.tag\n",[185,807,809,811,813,815,817,819,821,823,826,828,830,833,837,840,842],{"class":187,"line":808},25,[185,810,680],{"class":199},[185,812,488],{"class":195},[185,814,685],{"class":199},[185,816,488],{"class":195},[185,818,690],{"class":248},[185,820,251],{"class":199},[185,822,426],{"class":195},[185,824,825],{"class":212},"onMessage",[185,827,426],{"class":195},[185,829,274],{"class":195},[185,831,832],{"class":195}," (",[185,834,836],{"class":835},"sHdIc","payload",[185,838,839],{"class":195},")",[185,841,707],{"class":235},[185,843,710],{"class":195},[185,845,847,850,852,854,856,859,862],{"class":187,"line":846},26,[185,848,849],{"class":191},"  switch",[185,851,832],{"class":263},[185,853,836],{"class":199},[185,855,488],{"class":195},[185,857,858],{"class":199},"tag",[185,860,861],{"class":263},") ",[185,863,386],{"class":195},[185,865,867,870,872,875,877],{"class":187,"line":866},27,[185,868,869],{"class":191},"    case",[185,871,209],{"class":195},[185,873,874],{"class":212},"HeadIsOpen",[185,876,426],{"class":195},[185,878,879],{"class":195},":\n",[185,881,883,886,888,890,892,894,897,899,901,904],{"class":187,"line":882},28,[185,884,885],{"class":199},"      console",[185,887,488],{"class":195},[185,889,491],{"class":248},[185,891,251],{"class":263},[185,893,426],{"class":195},[185,895,896],{"class":212},"🚀 Hydra Head is open:",[185,898,426],{"class":195},[185,900,274],{"class":195},[185,902,903],{"class":199}," payload",[185,905,334],{"class":263},[185,907,909],{"class":187,"line":908},29,[185,910,911],{"class":191},"      break\n",[185,913,915,917,919,922,924],{"class":187,"line":914},30,[185,916,869],{"class":191},[185,918,209],{"class":195},[185,920,921],{"class":212},"HeadIsClosed",[185,923,426],{"class":195},[185,925,879],{"class":195},[185,927,929,931,933,935,937,939,942,944,946,948],{"class":187,"line":928},31,[185,930,885],{"class":199},[185,932,488],{"class":195},[185,934,491],{"class":248},[185,936,251],{"class":263},[185,938,426],{"class":195},[185,940,941],{"class":212},"🔒 Hydra Head is closed:",[185,943,426],{"class":195},[185,945,274],{"class":195},[185,947,903],{"class":199},[185,949,334],{"class":263},[185,951,953],{"class":187,"line":952},32,[185,954,911],{"class":191},[185,956,958,960,962,965,967],{"class":187,"line":957},33,[185,959,869],{"class":191},[185,961,209],{"class":195},[185,963,964],{"class":212},"TxValid",[185,966,426],{"class":195},[185,968,879],{"class":195},[185,970,972,974,976,978,980,982,985,987,989,991,993,996],{"class":187,"line":971},34,[185,973,885],{"class":199},[185,975,488],{"class":195},[185,977,491],{"class":248},[185,979,251],{"class":263},[185,981,426],{"class":195},[185,983,984],{"class":212},"✅ Transaction valid:",[185,986,426],{"class":195},[185,988,274],{"class":195},[185,990,903],{"class":199},[185,992,488],{"class":195},[185,994,995],{"class":199},"transaction",[185,997,334],{"class":263},[185,999,1001],{"class":187,"line":1000},35,[185,1002,911],{"class":191},[185,1004,1006,1008,1010,1013,1015],{"class":187,"line":1005},36,[185,1007,869],{"class":191},[185,1009,209],{"class":195},[185,1011,1012],{"class":212},"TxInvalid",[185,1014,426],{"class":195},[185,1016,879],{"class":195},[185,1018,1020,1022,1024,1026,1028,1030,1033,1035,1037,1039,1041,1043,1045,1047,1049,1052],{"class":187,"line":1019},37,[185,1021,885],{"class":199},[185,1023,488],{"class":195},[185,1025,491],{"class":248},[185,1027,251],{"class":263},[185,1029,426],{"class":195},[185,1031,1032],{"class":212},"❌ Transaction invalid:",[185,1034,426],{"class":195},[185,1036,274],{"class":195},[185,1038,903],{"class":199},[185,1040,488],{"class":195},[185,1042,995],{"class":199},[185,1044,274],{"class":195},[185,1046,903],{"class":199},[185,1048,488],{"class":195},[185,1050,1051],{"class":199},"validationError",[185,1053,334],{"class":263},[185,1055,1057],{"class":187,"line":1056},38,[185,1058,911],{"class":191},[185,1060,1062],{"class":187,"line":1061},39,[185,1063,1064],{"class":195},"  }\n",[185,1066,1068,1070],{"class":187,"line":1067},40,[185,1069,331],{"class":195},[185,1071,334],{"class":199},[185,1073,1075],{"class":187,"line":1074},41,[185,1076,222],{"emptyLinePlaceholder":221},[185,1078,1080],{"class":187,"line":1079},42,[185,1081,1082],{"class":228},"\u002F\u002F Connect and clean up\n",[185,1084,1086,1089,1092,1094,1097],{"class":187,"line":1085},43,[185,1087,1088],{"class":191},"await",[185,1090,1091],{"class":199}," bridge",[185,1093,488],{"class":195},[185,1095,1096],{"class":248},"connect",[185,1098,474],{"class":199},[185,1100,1102],{"class":187,"line":1101},44,[185,1103,222],{"emptyLinePlaceholder":221},[185,1105,1107],{"class":187,"line":1106},45,[185,1108,1109],{"class":228},"\u002F\u002F Cleanup trong Vue\u002FReact lifecycle\n",[185,1111,1113],{"class":187,"line":1112},46,[185,1114,1115],{"class":228},"\u002F\u002F onBeforeUnmount(() => bridge?.disconnect())\n",[170,1117,1119],{"id":1118},"custom-api-integration-với-hydra","Custom API Integration với Hydra",[175,1121,1123],{"className":177,"code":1122,"language":179,"meta":180,"style":180},"\u002F\u002F Pattern from nodejs-playground for Hydra API calls\nimport { Converter, UTxO } from '@hydra-sdk\u002Fcore'\nimport axios from 'axios'\n\nclass HydraHexcoreApi {\n  private instance = axios.create({\n    baseURL: 'https:\u002F\u002Falpha-v1-api.hexcore.io.vn',\n    headers: {\n      'Content-Type': 'application\u002Fjson',\n      'Authorization': `Bearer ${process.env.HEXCORE_API_TOKEN}`\n    }\n  })\n\n  async queryAddressUTxO(address: string): Promise\u003CUTxO[]> {\n    try {\n      const response = await this.instance.get(`hydra-main\u002Futxo\u002F${address}`)\n\n      if (response.data.data) {\n        return Converter.convertUTxOObjectToUTxO(response.data.data)\n      } else {\n        throw new Error('No UTxO data found in Hydra response')\n      }\n    } catch (error) {\n      console.error('Error querying Hydra UTxO:', error)\n      throw error\n    }\n  }\n\n  async submitHydraTx(cborHex: string) {\n    try {\n      const response = await this.instance.post('\u002Fhydra-main\u002Ftx', {\n        cborHex\n      })\n      return response.data.txHash\n    } catch (error) {\n      console.error('Error submitting to Hydra:', error)\n      throw error\n    }\n  }\n}\n\n\u002F\u002F Usage\nconst hydraApi = new HydraHexcoreApi()\nconst utxos = await hydraApi.queryAddressUTxO(walletAddress)\n",[182,1124,1125,1130,1154,1171,1175,1186,1209,1225,1234,1255,1291,1295,1301,1305,1343,1350,1390,1394,1417,1443,1452,1473,1478,1495,1519,1527,1531,1535,1539,1559,1565,1597,1602,1608,1624,1638,1661,1667,1671,1675,1680,1684,1689,1704],{"__ignoreMap":180},[185,1126,1127],{"class":187,"line":188},[185,1128,1129],{"class":228},"\u002F\u002F Pattern from nodejs-playground for Hydra API calls\n",[185,1131,1132,1134,1136,1139,1141,1144,1146,1148,1150,1152],{"class":187,"line":218},[185,1133,192],{"class":191},[185,1135,196],{"class":195},[185,1137,1138],{"class":199}," Converter",[185,1140,274],{"class":195},[185,1142,1143],{"class":199}," UTxO",[185,1145,203],{"class":195},[185,1147,206],{"class":191},[185,1149,209],{"class":195},[185,1151,107],{"class":212},[185,1153,215],{"class":195},[185,1155,1156,1158,1161,1164,1166,1169],{"class":187,"line":225},[185,1157,192],{"class":191},[185,1159,1160],{"class":199}," axios ",[185,1162,1163],{"class":191},"from",[185,1165,209],{"class":195},[185,1167,1168],{"class":212},"axios",[185,1170,215],{"class":195},[185,1172,1173],{"class":187,"line":232},[185,1174,222],{"emptyLinePlaceholder":221},[185,1176,1177,1180,1184],{"class":187,"line":260},[185,1178,1179],{"class":235},"class",[185,1181,1183],{"class":1182},"sBMFI"," HydraHexcoreApi",[185,1185,710],{"class":195},[185,1187,1188,1191,1194,1197,1200,1202,1205,1207],{"class":187,"line":279},[185,1189,1190],{"class":235},"  private",[185,1192,1193],{"class":263}," instance",[185,1195,1196],{"class":195}," =",[185,1198,1199],{"class":199}," axios",[185,1201,488],{"class":195},[185,1203,1204],{"class":263},"create",[185,1206,251],{"class":199},[185,1208,386],{"class":195},[185,1210,1211,1214,1216,1218,1221,1223],{"class":187,"line":291},[185,1212,1213],{"class":263},"    baseURL",[185,1215,267],{"class":195},[185,1217,209],{"class":195},[185,1219,1220],{"class":212},"https:\u002F\u002Falpha-v1-api.hexcore.io.vn",[185,1222,426],{"class":195},[185,1224,400],{"class":195},[185,1226,1227,1230,1232],{"class":187,"line":308},[185,1228,1229],{"class":263},"    headers",[185,1231,267],{"class":195},[185,1233,710],{"class":195},[185,1235,1236,1239,1242,1244,1246,1248,1251,1253],{"class":187,"line":320},[185,1237,1238],{"class":195},"      '",[185,1240,1241],{"class":263},"Content-Type",[185,1243,426],{"class":195},[185,1245,267],{"class":195},[185,1247,209],{"class":195},[185,1249,1250],{"class":212},"application\u002Fjson",[185,1252,426],{"class":195},[185,1254,400],{"class":195},[185,1256,1257,1259,1262,1264,1266,1269,1272,1275,1278,1280,1283,1285,1288],{"class":187,"line":328},[185,1258,1238],{"class":195},[185,1260,1261],{"class":263},"Authorization",[185,1263,426],{"class":195},[185,1265,267],{"class":195},[185,1267,1268],{"class":195}," `",[185,1270,1271],{"class":212},"Bearer ",[185,1273,1274],{"class":195},"${",[185,1276,1277],{"class":199},"process",[185,1279,488],{"class":195},[185,1281,1282],{"class":199},"env",[185,1284,488],{"class":195},[185,1286,1287],{"class":199},"HEXCORE_API_TOKEN",[185,1289,1290],{"class":195},"}`\n",[185,1292,1293],{"class":187,"line":337},[185,1294,655],{"class":195},[185,1296,1297,1299],{"class":187,"line":342},[185,1298,323],{"class":195},[185,1300,334],{"class":199},[185,1302,1303],{"class":187,"line":348},[185,1304,222],{"emptyLinePlaceholder":221},[185,1306,1307,1310,1313,1315,1318,1320,1323,1326,1329,1332,1335,1338,1341],{"class":187,"line":364},[185,1308,1309],{"class":235},"  async",[185,1311,1312],{"class":263}," queryAddressUTxO",[185,1314,251],{"class":195},[185,1316,1317],{"class":835},"address",[185,1319,267],{"class":195},[185,1321,1322],{"class":1182}," string",[185,1324,1325],{"class":195},"):",[185,1327,1328],{"class":1182}," Promise",[185,1330,1331],{"class":195},"\u003C",[185,1333,1334],{"class":1182},"UTxO",[185,1336,1337],{"class":199},"[]",[185,1339,1340],{"class":195},">",[185,1342,710],{"class":195},[185,1344,1345,1348],{"class":187,"line":376},[185,1346,1347],{"class":191},"    try",[185,1349,710],{"class":195},[185,1351,1352,1355,1358,1360,1362,1365,1368,1370,1373,1375,1378,1381,1383,1385,1388],{"class":187,"line":389},[185,1353,1354],{"class":235},"      const",[185,1356,1357],{"class":199}," response",[185,1359,1196],{"class":195},[185,1361,358],{"class":191},[185,1363,1364],{"class":195}," this.",[185,1366,1367],{"class":199},"instance",[185,1369,488],{"class":195},[185,1371,1372],{"class":248},"get",[185,1374,251],{"class":263},[185,1376,1377],{"class":195},"`",[185,1379,1380],{"class":212},"hydra-main\u002Futxo\u002F",[185,1382,1274],{"class":195},[185,1384,1317],{"class":199},[185,1386,1387],{"class":195},"}`",[185,1389,334],{"class":263},[185,1391,1392],{"class":187,"line":403},[185,1393,222],{"emptyLinePlaceholder":221},[185,1395,1396,1399,1401,1404,1406,1409,1411,1413,1415],{"class":187,"line":448},[185,1397,1398],{"class":191},"      if",[185,1400,832],{"class":263},[185,1402,1403],{"class":199},"response",[185,1405,488],{"class":195},[185,1407,1408],{"class":199},"data",[185,1410,488],{"class":195},[185,1412,1408],{"class":199},[185,1414,861],{"class":263},[185,1416,386],{"class":195},[185,1418,1419,1422,1424,1426,1429,1431,1433,1435,1437,1439,1441],{"class":187,"line":455},[185,1420,1421],{"class":191},"        return",[185,1423,1138],{"class":199},[185,1425,488],{"class":195},[185,1427,1428],{"class":248},"convertUTxOObjectToUTxO",[185,1430,251],{"class":263},[185,1432,1403],{"class":199},[185,1434,488],{"class":195},[185,1436,1408],{"class":199},[185,1438,488],{"class":195},[185,1440,1408],{"class":199},[185,1442,334],{"class":263},[185,1444,1445,1447,1450],{"class":187,"line":466},[185,1446,648],{"class":195},[185,1448,1449],{"class":191}," else",[185,1451,710],{"class":195},[185,1453,1454,1457,1459,1462,1464,1466,1469,1471],{"class":187,"line":477},[185,1455,1456],{"class":191},"        throw",[185,1458,245],{"class":195},[185,1460,1461],{"class":248}," Error",[185,1463,251],{"class":263},[185,1465,426],{"class":195},[185,1467,1468],{"class":212},"No UTxO data found in Hydra response",[185,1470,426],{"class":195},[185,1472,334],{"class":263},[185,1474,1475],{"class":187,"line":482},[185,1476,1477],{"class":195},"      }\n",[185,1479,1480,1483,1486,1488,1491,1493],{"class":187,"line":797},[185,1481,1482],{"class":195},"    }",[185,1484,1485],{"class":191}," catch",[185,1487,832],{"class":263},[185,1489,1490],{"class":199},"error",[185,1492,861],{"class":263},[185,1494,386],{"class":195},[185,1496,1497,1499,1501,1503,1505,1507,1510,1512,1514,1517],{"class":187,"line":802},[185,1498,885],{"class":199},[185,1500,488],{"class":195},[185,1502,1490],{"class":248},[185,1504,251],{"class":263},[185,1506,426],{"class":195},[185,1508,1509],{"class":212},"Error querying Hydra UTxO:",[185,1511,426],{"class":195},[185,1513,274],{"class":195},[185,1515,1516],{"class":199}," error",[185,1518,334],{"class":263},[185,1520,1521,1524],{"class":187,"line":808},[185,1522,1523],{"class":191},"      throw",[185,1525,1526],{"class":199}," error\n",[185,1528,1529],{"class":187,"line":846},[185,1530,655],{"class":195},[185,1532,1533],{"class":187,"line":866},[185,1534,1064],{"class":195},[185,1536,1537],{"class":187,"line":882},[185,1538,222],{"emptyLinePlaceholder":221},[185,1540,1541,1543,1546,1548,1551,1553,1555,1557],{"class":187,"line":908},[185,1542,1309],{"class":235},[185,1544,1545],{"class":263}," submitHydraTx",[185,1547,251],{"class":195},[185,1549,1550],{"class":835},"cborHex",[185,1552,267],{"class":195},[185,1554,1322],{"class":1182},[185,1556,839],{"class":195},[185,1558,710],{"class":195},[185,1560,1561,1563],{"class":187,"line":914},[185,1562,1347],{"class":191},[185,1564,710],{"class":195},[185,1566,1567,1569,1571,1573,1575,1577,1579,1581,1584,1586,1588,1591,1593,1595],{"class":187,"line":928},[185,1568,1354],{"class":235},[185,1570,1357],{"class":199},[185,1572,1196],{"class":195},[185,1574,358],{"class":191},[185,1576,1364],{"class":195},[185,1578,1367],{"class":199},[185,1580,488],{"class":195},[185,1582,1583],{"class":248},"post",[185,1585,251],{"class":263},[185,1587,426],{"class":195},[185,1589,1590],{"class":212},"\u002Fhydra-main\u002Ftx",[185,1592,426],{"class":195},[185,1594,274],{"class":195},[185,1596,710],{"class":195},[185,1598,1599],{"class":187,"line":952},[185,1600,1601],{"class":199},"        cborHex\n",[185,1603,1604,1606],{"class":187,"line":957},[185,1605,648],{"class":195},[185,1607,334],{"class":263},[185,1609,1610,1613,1615,1617,1619,1621],{"class":187,"line":971},[185,1611,1612],{"class":191},"      return",[185,1614,1357],{"class":199},[185,1616,488],{"class":195},[185,1618,1408],{"class":199},[185,1620,488],{"class":195},[185,1622,1623],{"class":199},"txHash\n",[185,1625,1626,1628,1630,1632,1634,1636],{"class":187,"line":1000},[185,1627,1482],{"class":195},[185,1629,1485],{"class":191},[185,1631,832],{"class":263},[185,1633,1490],{"class":199},[185,1635,861],{"class":263},[185,1637,386],{"class":195},[185,1639,1640,1642,1644,1646,1648,1650,1653,1655,1657,1659],{"class":187,"line":1005},[185,1641,885],{"class":199},[185,1643,488],{"class":195},[185,1645,1490],{"class":248},[185,1647,251],{"class":263},[185,1649,426],{"class":195},[185,1651,1652],{"class":212},"Error submitting to Hydra:",[185,1654,426],{"class":195},[185,1656,274],{"class":195},[185,1658,1516],{"class":199},[185,1660,334],{"class":263},[185,1662,1663,1665],{"class":187,"line":1019},[185,1664,1523],{"class":191},[185,1666,1526],{"class":199},[185,1668,1669],{"class":187,"line":1056},[185,1670,655],{"class":195},[185,1672,1673],{"class":187,"line":1061},[185,1674,1064],{"class":195},[185,1676,1677],{"class":187,"line":1067},[185,1678,1679],{"class":195},"}\n",[185,1681,1682],{"class":187,"line":1074},[185,1683,222],{"emptyLinePlaceholder":221},[185,1685,1686],{"class":187,"line":1079},[185,1687,1688],{"class":228},"\u002F\u002F Usage\n",[185,1690,1691,1693,1696,1698,1700,1702],{"class":187,"line":1085},[185,1692,236],{"class":235},[185,1694,1695],{"class":199}," hydraApi ",[185,1697,242],{"class":195},[185,1699,245],{"class":195},[185,1701,1183],{"class":248},[185,1703,474],{"class":199},[185,1705,1706,1708,1711,1713,1715,1718,1720,1723],{"class":187,"line":1101},[185,1707,236],{"class":235},[185,1709,1710],{"class":199}," utxos ",[185,1712,242],{"class":195},[185,1714,358],{"class":191},[185,1716,1717],{"class":199}," hydraApi",[185,1719,488],{"class":195},[185,1721,1722],{"class":248},"queryAddressUTxO",[185,1724,1725],{"class":199},"(walletAddress)\n",[170,1727,1729],{"id":1728},"environment-specific-configuration","Environment-specific Configuration",[175,1731,1733],{"className":177,"code":1732,"language":179,"meta":180,"style":180},"\u002F\u002F Pattern cho environment configuration\nimport { NETWORK_ID } from '@hydra-sdk\u002Fcore'\n\nconst getNetworkConfig = (isHydra: boolean = false) => {\n  if (isHydra) {\n    return {\n      networkId: NETWORK_ID.PREPROD, \u002F\u002F Hydra uses the preprod network\n      apiEndpoint: 'https:\u002F\u002Falpha-v1-api.hexcore.io.vn',\n      socketEndpoint: 'wss:\u002F\u002Falpha-v1-api.hexcore.io.vn',\n      isHydra: true,\n      txParams: {\n        minFeeA: 0,\n        minFeeB: 0\n      }\n    }\n  } else {\n    return {\n      networkId: NETWORK_ID.PREPROD,\n      apiEndpoint: 'https:\u002F\u002Fpreprod.blockfrost.io\u002Fapi\u002Fv0',\n      socketEndpoint: null,\n      isHydra: false,\n      txParams: {\n        minFeeA: 44,\n        minFeeB: 155381\n      }\n    }\n  }\n}\n\n\u002F\u002F Usage trong application\nconst config = getNetworkConfig(process.env.USE_HYDRA === 'true')\nconst txBuilder = new TxBuilder({ \n  isHydra: config.isHydra, \n  params: config.txParams \n})\n",[182,1734,1735,1740,1759,1763,1793,1806,1813,1832,1847,1862,1873,1882,1893,1903,1907,1911,1919,1925,1939,1954,1963,1973,1981,1992,2001,2005,2009,2013,2017,2021,2026,2062,2080,2097,2110],{"__ignoreMap":180},[185,1736,1737],{"class":187,"line":188},[185,1738,1739],{"class":228},"\u002F\u002F Pattern cho environment configuration\n",[185,1741,1742,1744,1746,1749,1751,1753,1755,1757],{"class":187,"line":218},[185,1743,192],{"class":191},[185,1745,196],{"class":195},[185,1747,1748],{"class":199}," NETWORK_ID",[185,1750,203],{"class":195},[185,1752,206],{"class":191},[185,1754,209],{"class":195},[185,1756,107],{"class":212},[185,1758,215],{"class":195},[185,1760,1761],{"class":187,"line":225},[185,1762,222],{"emptyLinePlaceholder":221},[185,1764,1765,1767,1770,1772,1774,1777,1779,1782,1784,1787,1789,1791],{"class":187,"line":232},[185,1766,236],{"class":235},[185,1768,1769],{"class":199}," getNetworkConfig ",[185,1771,242],{"class":195},[185,1773,832],{"class":195},[185,1775,1776],{"class":835},"isHydra",[185,1778,267],{"class":195},[185,1780,1781],{"class":1182}," boolean",[185,1783,1196],{"class":195},[185,1785,1786],{"class":270}," false",[185,1788,839],{"class":195},[185,1790,707],{"class":235},[185,1792,710],{"class":195},[185,1794,1795,1798,1800,1802,1804],{"class":187,"line":260},[185,1796,1797],{"class":191},"  if",[185,1799,832],{"class":263},[185,1801,1776],{"class":199},[185,1803,861],{"class":263},[185,1805,386],{"class":195},[185,1807,1808,1811],{"class":187,"line":279},[185,1809,1810],{"class":191},"    return",[185,1812,710],{"class":195},[185,1814,1815,1818,1820,1822,1824,1827,1829],{"class":187,"line":291},[185,1816,1817],{"class":263},"      networkId",[185,1819,267],{"class":195},[185,1821,1748],{"class":199},[185,1823,488],{"class":195},[185,1825,1826],{"class":199},"PREPROD",[185,1828,274],{"class":195},[185,1830,1831],{"class":228}," \u002F\u002F Hydra uses the preprod network\n",[185,1833,1834,1837,1839,1841,1843,1845],{"class":187,"line":308},[185,1835,1836],{"class":263},"      apiEndpoint",[185,1838,267],{"class":195},[185,1840,209],{"class":195},[185,1842,1220],{"class":212},[185,1844,426],{"class":195},[185,1846,400],{"class":195},[185,1848,1849,1852,1854,1856,1858,1860],{"class":187,"line":320},[185,1850,1851],{"class":263},"      socketEndpoint",[185,1853,267],{"class":195},[185,1855,209],{"class":195},[185,1857,594],{"class":212},[185,1859,426],{"class":195},[185,1861,400],{"class":195},[185,1863,1864,1867,1869,1871],{"class":187,"line":328},[185,1865,1866],{"class":263},"      isHydra",[185,1868,267],{"class":195},[185,1870,271],{"class":270},[185,1872,400],{"class":195},[185,1874,1875,1878,1880],{"class":187,"line":337},[185,1876,1877],{"class":263},"      txParams",[185,1879,267],{"class":195},[185,1881,710],{"class":195},[185,1883,1884,1887,1889,1891],{"class":187,"line":342},[185,1885,1886],{"class":263},"        minFeeA",[185,1888,267],{"class":195},[185,1890,300],{"class":299},[185,1892,400],{"class":195},[185,1894,1895,1898,1900],{"class":187,"line":348},[185,1896,1897],{"class":263},"        minFeeB",[185,1899,267],{"class":195},[185,1901,1902],{"class":299}," 0\n",[185,1904,1905],{"class":187,"line":364},[185,1906,1477],{"class":195},[185,1908,1909],{"class":187,"line":376},[185,1910,655],{"class":195},[185,1912,1913,1915,1917],{"class":187,"line":389},[185,1914,323],{"class":195},[185,1916,1449],{"class":191},[185,1918,710],{"class":195},[185,1920,1921,1923],{"class":187,"line":403},[185,1922,1810],{"class":191},[185,1924,710],{"class":195},[185,1926,1927,1929,1931,1933,1935,1937],{"class":187,"line":448},[185,1928,1817],{"class":263},[185,1930,267],{"class":195},[185,1932,1748],{"class":199},[185,1934,488],{"class":195},[185,1936,1826],{"class":199},[185,1938,400],{"class":195},[185,1940,1941,1943,1945,1947,1950,1952],{"class":187,"line":455},[185,1942,1836],{"class":263},[185,1944,267],{"class":195},[185,1946,209],{"class":195},[185,1948,1949],{"class":212},"https:\u002F\u002Fpreprod.blockfrost.io\u002Fapi\u002Fv0",[185,1951,426],{"class":195},[185,1953,400],{"class":195},[185,1955,1956,1958,1960],{"class":187,"line":466},[185,1957,1851],{"class":263},[185,1959,267],{"class":195},[185,1961,1962],{"class":195}," null,\n",[185,1964,1965,1967,1969,1971],{"class":187,"line":477},[185,1966,1866],{"class":263},[185,1968,267],{"class":195},[185,1970,1786],{"class":270},[185,1972,400],{"class":195},[185,1974,1975,1977,1979],{"class":187,"line":482},[185,1976,1877],{"class":263},[185,1978,267],{"class":195},[185,1980,710],{"class":195},[185,1982,1983,1985,1987,1990],{"class":187,"line":797},[185,1984,1886],{"class":263},[185,1986,267],{"class":195},[185,1988,1989],{"class":299}," 44",[185,1991,400],{"class":195},[185,1993,1994,1996,1998],{"class":187,"line":802},[185,1995,1897],{"class":263},[185,1997,267],{"class":195},[185,1999,2000],{"class":299}," 155381\n",[185,2002,2003],{"class":187,"line":808},[185,2004,1477],{"class":195},[185,2006,2007],{"class":187,"line":846},[185,2008,655],{"class":195},[185,2010,2011],{"class":187,"line":866},[185,2012,1064],{"class":195},[185,2014,2015],{"class":187,"line":882},[185,2016,1679],{"class":195},[185,2018,2019],{"class":187,"line":908},[185,2020,222],{"emptyLinePlaceholder":221},[185,2022,2023],{"class":187,"line":914},[185,2024,2025],{"class":228},"\u002F\u002F Usage trong application\n",[185,2027,2028,2030,2033,2035,2038,2041,2043,2045,2047,2050,2053,2055,2058,2060],{"class":187,"line":928},[185,2029,236],{"class":235},[185,2031,2032],{"class":199}," config ",[185,2034,242],{"class":195},[185,2036,2037],{"class":248}," getNetworkConfig",[185,2039,2040],{"class":199},"(process",[185,2042,488],{"class":195},[185,2044,1282],{"class":199},[185,2046,488],{"class":195},[185,2048,2049],{"class":199},"USE_HYDRA ",[185,2051,2052],{"class":195},"===",[185,2054,209],{"class":195},[185,2056,2057],{"class":212},"true",[185,2059,426],{"class":195},[185,2061,334],{"class":199},[185,2063,2064,2066,2068,2070,2072,2074,2076,2078],{"class":187,"line":952},[185,2065,236],{"class":235},[185,2067,239],{"class":199},[185,2069,242],{"class":195},[185,2071,245],{"class":195},[185,2073,200],{"class":248},[185,2075,251],{"class":199},[185,2077,254],{"class":195},[185,2079,257],{"class":199},[185,2081,2082,2084,2086,2089,2091,2093,2095],{"class":187,"line":957},[185,2083,264],{"class":263},[185,2085,267],{"class":195},[185,2087,2088],{"class":199}," config",[185,2090,488],{"class":195},[185,2092,1776],{"class":199},[185,2094,274],{"class":195},[185,2096,257],{"class":199},[185,2098,2099,2101,2103,2105,2107],{"class":187,"line":971},[185,2100,282],{"class":263},[185,2102,267],{"class":195},[185,2104,2088],{"class":199},[185,2106,488],{"class":195},[185,2108,2109],{"class":199},"txParams \n",[185,2111,2112,2114],{"class":187,"line":1000},[185,2113,331],{"class":195},[185,2115,334],{"class":199},[170,2117,2119],{"id":2118},"complete-hydra-integration-example","Complete Hydra Integration Example",[175,2121,2123],{"className":177,"code":2122,"language":179,"meta":180,"style":180},"import { AppWallet, NETWORK_ID } from '@hydra-sdk\u002Fcore'\nimport { TxBuilder } from '@hydra-sdk\u002Ftransaction'\nimport { HydraBridge, HexcoreConnector } from '@hydra-sdk\u002Fbridge'\n\nclass HydraWalletManager {\n  private wallet: AppWallet\n  private bridge: HydraBridge\n  private hydraApi: HydraHexcoreApi\n\n  constructor(mnemonic: string[], jwtToken: string) {\n    this.wallet = new AppWallet({\n      key: { type: 'mnemonic', words: mnemonic },\n      networkId: NETWORK_ID.PREPROD\n    })\n\n    this.bridge = new HydraBridge({\n      connector: new HexcoreConnector(\n        'wss:\u002F\u002Falpha-v1-api.hexcore.io.vn',\n        { socketIoOptions: { auth: { token: jwtToken } } }\n      )\n    })\n\n    this.hydraApi = new HydraHexcoreApi()\n    this.setupEventHandlers()\n  }\n\n  private setupEventHandlers() {\n    this.bridge.events.on('onConnected', () => {\n      console.log('🔗 Hydra Bridge Connected')\n    })\n\n    this.bridge.events.on('onMessage', (payload) => {\n      if (payload.tag === 'TxValid') {\n        console.log('✅ Hydra TX Valid:', payload.transaction)\n      }\n    })\n  }\n\n  async sendHydraTransaction(recipientAddress: string, amountLovelace: string) {\n    try {\n      \u002F\u002F 1. Connect to Hydra if not connected\n      if (!this.bridge.connected()) {\n        await this.bridge.connect()\n      }\n\n      \u002F\u002F 2. Query UTxOs from Hydra\n      const walletAddress = this.wallet.getAccount().baseAddressBech32\n      const utxos = await this.hydraApi.queryAddressUTxO(walletAddress)\n\n      \u002F\u002F 3. Build Hydra transaction\n      const txBuilder = new TxBuilder({ \n        isHydra: true, \n        params: { minFeeA: 0, minFeeB: 0 } \n      })\n\n      const tx = await txBuilder\n        .setInputs(utxos)\n        .addOutput({\n          address: recipientAddress,\n          amount: [{ unit: 'lovelace', quantity: amountLovelace }]\n        })\n        .setChangeAddress(walletAddress)\n        .complete()\n\n      \u002F\u002F 4. Sign transaction\n      const signedTx = await this.wallet.signTx(tx.to_hex())\n\n      \u002F\u002F 5. Submit to Hydra\n      const txHash = await this.hydraApi.submitHydraTx(signedTx)\n      \n      console.log('🚀 Hydra Transaction Submitted:', txHash)\n      return txHash\n\n    } catch (error) {\n      console.error('❌ Hydra Transaction Error:', error)\n      throw error\n    }\n  }\n\n  async disconnect() {\n    await this.bridge.disconnect()\n  }\n}\n\n\u002F\u002F Usage\nconst hydraManager = new HydraWalletManager(\n  'your mnemonic words here'.split(' '),\n  'your-jwt-token'\n)\n\nawait hydraManager.sendHydraTransaction(\n  'addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer',\n  '1000000'\n)\n",[182,2124,2125,2148,2166,2188,2192,2201,2213,2224,2235,2239,2268,2286,2319,2332,2338,2342,2358,2371,2382,2414,2419,2425,2429,2444,2453,2457,2461,2473,2503,2522,2528,2532,2566,2591,2619,2623,2629,2633,2637,2666,2672,2677,2698,2713,2717,2721,2726,2752,2779,2784,2790,2810,2824,2854,2861,2866,2879,2894,2905,2917,2951,2959,2972,2981,2986,2992,3024,3029,3035,3063,3069,3093,3101,3106,3121,3145,3152,3157,3162,3167,3179,3196,3201,3206,3211,3216,3232,3258,3268,3273,3278,3293,3305,3314],{"__ignoreMap":180},[185,2126,2127,2129,2131,2134,2136,2138,2140,2142,2144,2146],{"class":187,"line":188},[185,2128,192],{"class":191},[185,2130,196],{"class":195},[185,2132,2133],{"class":199}," AppWallet",[185,2135,274],{"class":195},[185,2137,1748],{"class":199},[185,2139,203],{"class":195},[185,2141,206],{"class":191},[185,2143,209],{"class":195},[185,2145,107],{"class":212},[185,2147,215],{"class":195},[185,2149,2150,2152,2154,2156,2158,2160,2162,2164],{"class":187,"line":218},[185,2151,192],{"class":191},[185,2153,196],{"class":195},[185,2155,200],{"class":199},[185,2157,203],{"class":195},[185,2159,206],{"class":191},[185,2161,209],{"class":195},[185,2163,117],{"class":212},[185,2165,215],{"class":195},[185,2167,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186],{"class":187,"line":225},[185,2169,192],{"class":191},[185,2171,196],{"class":195},[185,2173,531],{"class":199},[185,2175,274],{"class":195},[185,2177,536],{"class":199},[185,2179,203],{"class":195},[185,2181,206],{"class":191},[185,2183,209],{"class":195},[185,2185,112],{"class":212},[185,2187,215],{"class":195},[185,2189,2190],{"class":187,"line":232},[185,2191,222],{"emptyLinePlaceholder":221},[185,2193,2194,2196,2199],{"class":187,"line":260},[185,2195,1179],{"class":235},[185,2197,2198],{"class":1182}," HydraWalletManager",[185,2200,710],{"class":195},[185,2202,2203,2205,2208,2210],{"class":187,"line":279},[185,2204,1190],{"class":235},[185,2206,2207],{"class":263}," wallet",[185,2209,267],{"class":195},[185,2211,2212],{"class":1182}," AppWallet\n",[185,2214,2215,2217,2219,2221],{"class":187,"line":291},[185,2216,1190],{"class":235},[185,2218,1091],{"class":263},[185,2220,267],{"class":195},[185,2222,2223],{"class":1182}," HydraBridge\n",[185,2225,2226,2228,2230,2232],{"class":187,"line":308},[185,2227,1190],{"class":235},[185,2229,1717],{"class":263},[185,2231,267],{"class":195},[185,2233,2234],{"class":1182}," HydraHexcoreApi\n",[185,2236,2237],{"class":187,"line":320},[185,2238,222],{"emptyLinePlaceholder":221},[185,2240,2241,2244,2246,2249,2251,2253,2255,2257,2260,2262,2264,2266],{"class":187,"line":328},[185,2242,2243],{"class":235},"  constructor",[185,2245,251],{"class":195},[185,2247,2248],{"class":835},"mnemonic",[185,2250,267],{"class":195},[185,2252,1322],{"class":1182},[185,2254,1337],{"class":199},[185,2256,274],{"class":195},[185,2258,2259],{"class":835}," jwtToken",[185,2261,267],{"class":195},[185,2263,1322],{"class":1182},[185,2265,839],{"class":195},[185,2267,710],{"class":195},[185,2269,2270,2273,2276,2278,2280,2282,2284],{"class":187,"line":337},[185,2271,2272],{"class":195},"    this.",[185,2274,2275],{"class":199},"wallet",[185,2277,1196],{"class":195},[185,2279,245],{"class":195},[185,2281,2133],{"class":248},[185,2283,251],{"class":263},[185,2285,386],{"class":195},[185,2287,2288,2291,2293,2295,2298,2300,2302,2304,2306,2308,2311,2313,2316],{"class":187,"line":342},[185,2289,2290],{"class":263},"      key",[185,2292,267],{"class":195},[185,2294,196],{"class":195},[185,2296,2297],{"class":263}," type",[185,2299,267],{"class":195},[185,2301,209],{"class":195},[185,2303,2248],{"class":212},[185,2305,426],{"class":195},[185,2307,274],{"class":195},[185,2309,2310],{"class":263}," words",[185,2312,267],{"class":195},[185,2314,2315],{"class":199}," mnemonic",[185,2317,2318],{"class":195}," },\n",[185,2320,2321,2323,2325,2327,2329],{"class":187,"line":348},[185,2322,1817],{"class":263},[185,2324,267],{"class":195},[185,2326,1748],{"class":199},[185,2328,488],{"class":195},[185,2330,2331],{"class":199},"PREPROD\n",[185,2333,2334,2336],{"class":187,"line":364},[185,2335,1482],{"class":195},[185,2337,334],{"class":263},[185,2339,2340],{"class":187,"line":376},[185,2341,222],{"emptyLinePlaceholder":221},[185,2343,2344,2346,2348,2350,2352,2354,2356],{"class":187,"line":389},[185,2345,2272],{"class":195},[185,2347,680],{"class":199},[185,2349,1196],{"class":195},[185,2351,245],{"class":195},[185,2353,531],{"class":248},[185,2355,251],{"class":263},[185,2357,386],{"class":195},[185,2359,2360,2363,2365,2367,2369],{"class":187,"line":403},[185,2361,2362],{"class":263},"      connector",[185,2364,267],{"class":195},[185,2366,245],{"class":195},[185,2368,536],{"class":248},[185,2370,586],{"class":263},[185,2372,2373,2376,2378,2380],{"class":187,"line":448},[185,2374,2375],{"class":195},"        '",[185,2377,594],{"class":212},[185,2379,426],{"class":195},[185,2381,400],{"class":195},[185,2383,2384,2387,2390,2392,2394,2397,2399,2401,2403,2405,2407,2409,2411],{"class":187,"line":455},[185,2385,2386],{"class":195},"        {",[185,2388,2389],{"class":263}," socketIoOptions",[185,2391,267],{"class":195},[185,2393,196],{"class":195},[185,2395,2396],{"class":263}," auth",[185,2398,267],{"class":195},[185,2400,196],{"class":195},[185,2402,630],{"class":263},[185,2404,267],{"class":195},[185,2406,2259],{"class":199},[185,2408,203],{"class":195},[185,2410,203],{"class":195},[185,2412,2413],{"class":195}," }\n",[185,2415,2416],{"class":187,"line":466},[185,2417,2418],{"class":263},"      )\n",[185,2420,2421,2423],{"class":187,"line":477},[185,2422,1482],{"class":195},[185,2424,334],{"class":263},[185,2426,2427],{"class":187,"line":482},[185,2428,222],{"emptyLinePlaceholder":221},[185,2430,2431,2433,2436,2438,2440,2442],{"class":187,"line":797},[185,2432,2272],{"class":195},[185,2434,2435],{"class":199},"hydraApi",[185,2437,1196],{"class":195},[185,2439,245],{"class":195},[185,2441,1183],{"class":248},[185,2443,474],{"class":263},[185,2445,2446,2448,2451],{"class":187,"line":802},[185,2447,2272],{"class":195},[185,2449,2450],{"class":248},"setupEventHandlers",[185,2452,474],{"class":263},[185,2454,2455],{"class":187,"line":808},[185,2456,1064],{"class":195},[185,2458,2459],{"class":187,"line":846},[185,2460,222],{"emptyLinePlaceholder":221},[185,2462,2463,2465,2468,2471],{"class":187,"line":866},[185,2464,1190],{"class":235},[185,2466,2467],{"class":263}," setupEventHandlers",[185,2469,2470],{"class":195},"()",[185,2472,710],{"class":195},[185,2474,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501],{"class":187,"line":882},[185,2476,2272],{"class":195},[185,2478,680],{"class":199},[185,2480,488],{"class":195},[185,2482,685],{"class":199},[185,2484,488],{"class":195},[185,2486,690],{"class":248},[185,2488,251],{"class":263},[185,2490,426],{"class":195},[185,2492,697],{"class":212},[185,2494,426],{"class":195},[185,2496,274],{"class":195},[185,2498,704],{"class":195},[185,2500,707],{"class":235},[185,2502,710],{"class":195},[185,2504,2505,2507,2509,2511,2513,2515,2518,2520],{"class":187,"line":908},[185,2506,885],{"class":199},[185,2508,488],{"class":195},[185,2510,491],{"class":248},[185,2512,251],{"class":263},[185,2514,426],{"class":195},[185,2516,2517],{"class":212},"🔗 Hydra Bridge Connected",[185,2519,426],{"class":195},[185,2521,334],{"class":263},[185,2523,2524,2526],{"class":187,"line":914},[185,2525,1482],{"class":195},[185,2527,334],{"class":263},[185,2529,2530],{"class":187,"line":928},[185,2531,222],{"emptyLinePlaceholder":221},[185,2533,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564],{"class":187,"line":952},[185,2535,2272],{"class":195},[185,2537,680],{"class":199},[185,2539,488],{"class":195},[185,2541,685],{"class":199},[185,2543,488],{"class":195},[185,2545,690],{"class":248},[185,2547,251],{"class":263},[185,2549,426],{"class":195},[185,2551,825],{"class":212},[185,2553,426],{"class":195},[185,2555,274],{"class":195},[185,2557,832],{"class":195},[185,2559,836],{"class":835},[185,2561,839],{"class":195},[185,2563,707],{"class":235},[185,2565,710],{"class":195},[185,2567,2568,2570,2572,2574,2576,2578,2581,2583,2585,2587,2589],{"class":187,"line":957},[185,2569,1398],{"class":191},[185,2571,832],{"class":263},[185,2573,836],{"class":199},[185,2575,488],{"class":195},[185,2577,858],{"class":199},[185,2579,2580],{"class":195}," ===",[185,2582,209],{"class":195},[185,2584,964],{"class":212},[185,2586,426],{"class":195},[185,2588,861],{"class":263},[185,2590,386],{"class":195},[185,2592,2593,2596,2598,2600,2602,2604,2607,2609,2611,2613,2615,2617],{"class":187,"line":971},[185,2594,2595],{"class":199},"        console",[185,2597,488],{"class":195},[185,2599,491],{"class":248},[185,2601,251],{"class":263},[185,2603,426],{"class":195},[185,2605,2606],{"class":212},"✅ Hydra TX Valid:",[185,2608,426],{"class":195},[185,2610,274],{"class":195},[185,2612,903],{"class":199},[185,2614,488],{"class":195},[185,2616,995],{"class":199},[185,2618,334],{"class":263},[185,2620,2621],{"class":187,"line":1000},[185,2622,1477],{"class":195},[185,2624,2625,2627],{"class":187,"line":1005},[185,2626,1482],{"class":195},[185,2628,334],{"class":263},[185,2630,2631],{"class":187,"line":1019},[185,2632,1064],{"class":195},[185,2634,2635],{"class":187,"line":1056},[185,2636,222],{"emptyLinePlaceholder":221},[185,2638,2639,2641,2644,2646,2649,2651,2653,2655,2658,2660,2662,2664],{"class":187,"line":1061},[185,2640,1309],{"class":235},[185,2642,2643],{"class":263}," sendHydraTransaction",[185,2645,251],{"class":195},[185,2647,2648],{"class":835},"recipientAddress",[185,2650,267],{"class":195},[185,2652,1322],{"class":1182},[185,2654,274],{"class":195},[185,2656,2657],{"class":835}," amountLovelace",[185,2659,267],{"class":195},[185,2661,1322],{"class":1182},[185,2663,839],{"class":195},[185,2665,710],{"class":195},[185,2667,2668,2670],{"class":187,"line":1067},[185,2669,1347],{"class":191},[185,2671,710],{"class":195},[185,2673,2674],{"class":187,"line":1074},[185,2675,2676],{"class":228},"      \u002F\u002F 1. Connect to Hydra if not connected\n",[185,2678,2679,2681,2683,2686,2688,2690,2693,2696],{"class":187,"line":1079},[185,2680,1398],{"class":191},[185,2682,832],{"class":263},[185,2684,2685],{"class":195},"!this.",[185,2687,680],{"class":199},[185,2689,488],{"class":195},[185,2691,2692],{"class":248},"connected",[185,2694,2695],{"class":263},"()) ",[185,2697,386],{"class":195},[185,2699,2700,2703,2705,2707,2709,2711],{"class":187,"line":1085},[185,2701,2702],{"class":191},"        await",[185,2704,1364],{"class":195},[185,2706,680],{"class":199},[185,2708,488],{"class":195},[185,2710,1096],{"class":248},[185,2712,474],{"class":263},[185,2714,2715],{"class":187,"line":1101},[185,2716,1477],{"class":195},[185,2718,2719],{"class":187,"line":1106},[185,2720,222],{"emptyLinePlaceholder":221},[185,2722,2723],{"class":187,"line":1112},[185,2724,2725],{"class":228},"      \u002F\u002F 2. Query UTxOs from Hydra\n",[185,2727,2729,2731,2734,2736,2738,2740,2742,2745,2747,2749],{"class":187,"line":2728},47,[185,2730,1354],{"class":235},[185,2732,2733],{"class":199}," walletAddress",[185,2735,1196],{"class":195},[185,2737,1364],{"class":195},[185,2739,2275],{"class":199},[185,2741,488],{"class":195},[185,2743,2744],{"class":248},"getAccount",[185,2746,2470],{"class":263},[185,2748,488],{"class":195},[185,2750,2751],{"class":199},"baseAddressBech32\n",[185,2753,2755,2757,2760,2762,2764,2766,2768,2770,2772,2774,2777],{"class":187,"line":2754},48,[185,2756,1354],{"class":235},[185,2758,2759],{"class":199}," utxos",[185,2761,1196],{"class":195},[185,2763,358],{"class":191},[185,2765,1364],{"class":195},[185,2767,2435],{"class":199},[185,2769,488],{"class":195},[185,2771,1722],{"class":248},[185,2773,251],{"class":263},[185,2775,2776],{"class":199},"walletAddress",[185,2778,334],{"class":263},[185,2780,2782],{"class":187,"line":2781},49,[185,2783,222],{"emptyLinePlaceholder":221},[185,2785,2787],{"class":187,"line":2786},50,[185,2788,2789],{"class":228},"      \u002F\u002F 3. Build Hydra transaction\n",[185,2791,2793,2795,2798,2800,2802,2804,2806,2808],{"class":187,"line":2792},51,[185,2794,1354],{"class":235},[185,2796,2797],{"class":199}," txBuilder",[185,2799,1196],{"class":195},[185,2801,245],{"class":195},[185,2803,200],{"class":248},[185,2805,251],{"class":263},[185,2807,254],{"class":195},[185,2809,257],{"class":263},[185,2811,2813,2816,2818,2820,2822],{"class":187,"line":2812},52,[185,2814,2815],{"class":263},"        isHydra",[185,2817,267],{"class":195},[185,2819,271],{"class":270},[185,2821,274],{"class":195},[185,2823,257],{"class":263},[185,2825,2827,2830,2832,2834,2837,2839,2841,2843,2846,2848,2850,2852],{"class":187,"line":2826},53,[185,2828,2829],{"class":263},"        params",[185,2831,267],{"class":195},[185,2833,196],{"class":195},[185,2835,2836],{"class":263}," minFeeA",[185,2838,267],{"class":195},[185,2840,300],{"class":299},[185,2842,274],{"class":195},[185,2844,2845],{"class":263}," minFeeB",[185,2847,267],{"class":195},[185,2849,300],{"class":299},[185,2851,203],{"class":195},[185,2853,257],{"class":263},[185,2855,2857,2859],{"class":187,"line":2856},54,[185,2858,648],{"class":195},[185,2860,334],{"class":263},[185,2862,2864],{"class":187,"line":2863},55,[185,2865,222],{"emptyLinePlaceholder":221},[185,2867,2869,2871,2873,2875,2877],{"class":187,"line":2868},56,[185,2870,1354],{"class":235},[185,2872,505],{"class":199},[185,2874,1196],{"class":195},[185,2876,358],{"class":191},[185,2878,361],{"class":199},[185,2880,2882,2885,2887,2889,2892],{"class":187,"line":2881},57,[185,2883,2884],{"class":195},"        .",[185,2886,370],{"class":248},[185,2888,251],{"class":263},[185,2890,2891],{"class":199},"utxos",[185,2893,334],{"class":263},[185,2895,2897,2899,2901,2903],{"class":187,"line":2896},58,[185,2898,2884],{"class":195},[185,2900,381],{"class":248},[185,2902,251],{"class":263},[185,2904,386],{"class":195},[185,2906,2908,2911,2913,2915],{"class":187,"line":2907},59,[185,2909,2910],{"class":263},"          address",[185,2912,267],{"class":195},[185,2914,397],{"class":199},[185,2916,400],{"class":195},[185,2918,2920,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949],{"class":187,"line":2919},60,[185,2921,2922],{"class":263},"          amount",[185,2924,267],{"class":195},[185,2926,411],{"class":263},[185,2928,254],{"class":195},[185,2930,416],{"class":263},[185,2932,267],{"class":195},[185,2934,209],{"class":195},[185,2936,423],{"class":212},[185,2938,426],{"class":195},[185,2940,274],{"class":195},[185,2942,431],{"class":263},[185,2944,267],{"class":195},[185,2946,2657],{"class":199},[185,2948,203],{"class":195},[185,2950,445],{"class":263},[185,2952,2954,2957],{"class":187,"line":2953},61,[185,2955,2956],{"class":195},"        }",[185,2958,334],{"class":263},[185,2960,2962,2964,2966,2968,2970],{"class":187,"line":2961},62,[185,2963,2884],{"class":195},[185,2965,460],{"class":248},[185,2967,251],{"class":263},[185,2969,2776],{"class":199},[185,2971,334],{"class":263},[185,2973,2975,2977,2979],{"class":187,"line":2974},63,[185,2976,2884],{"class":195},[185,2978,471],{"class":248},[185,2980,474],{"class":263},[185,2982,2984],{"class":187,"line":2983},64,[185,2985,222],{"emptyLinePlaceholder":221},[185,2987,2989],{"class":187,"line":2988},65,[185,2990,2991],{"class":228},"      \u002F\u002F 4. Sign transaction\n",[185,2993,2995,2997,3000,3002,3004,3006,3008,3010,3013,3015,3018,3020,3022],{"class":187,"line":2994},66,[185,2996,1354],{"class":235},[185,2998,2999],{"class":199}," signedTx",[185,3001,1196],{"class":195},[185,3003,358],{"class":191},[185,3005,1364],{"class":195},[185,3007,2275],{"class":199},[185,3009,488],{"class":195},[185,3011,3012],{"class":248},"signTx",[185,3014,251],{"class":263},[185,3016,3017],{"class":199},"tx",[185,3019,488],{"class":195},[185,3021,510],{"class":248},[185,3023,513],{"class":263},[185,3025,3027],{"class":187,"line":3026},67,[185,3028,222],{"emptyLinePlaceholder":221},[185,3030,3032],{"class":187,"line":3031},68,[185,3033,3034],{"class":228},"      \u002F\u002F 5. Submit to Hydra\n",[185,3036,3038,3040,3043,3045,3047,3049,3051,3053,3056,3058,3061],{"class":187,"line":3037},69,[185,3039,1354],{"class":235},[185,3041,3042],{"class":199}," txHash",[185,3044,1196],{"class":195},[185,3046,358],{"class":191},[185,3048,1364],{"class":195},[185,3050,2435],{"class":199},[185,3052,488],{"class":195},[185,3054,3055],{"class":248},"submitHydraTx",[185,3057,251],{"class":263},[185,3059,3060],{"class":199},"signedTx",[185,3062,334],{"class":263},[185,3064,3066],{"class":187,"line":3065},70,[185,3067,3068],{"class":263},"      \n",[185,3070,3072,3074,3076,3078,3080,3082,3085,3087,3089,3091],{"class":187,"line":3071},71,[185,3073,885],{"class":199},[185,3075,488],{"class":195},[185,3077,491],{"class":248},[185,3079,251],{"class":263},[185,3081,426],{"class":195},[185,3083,3084],{"class":212},"🚀 Hydra Transaction Submitted:",[185,3086,426],{"class":195},[185,3088,274],{"class":195},[185,3090,3042],{"class":199},[185,3092,334],{"class":263},[185,3094,3096,3098],{"class":187,"line":3095},72,[185,3097,1612],{"class":191},[185,3099,3100],{"class":199}," txHash\n",[185,3102,3104],{"class":187,"line":3103},73,[185,3105,222],{"emptyLinePlaceholder":221},[185,3107,3109,3111,3113,3115,3117,3119],{"class":187,"line":3108},74,[185,3110,1482],{"class":195},[185,3112,1485],{"class":191},[185,3114,832],{"class":263},[185,3116,1490],{"class":199},[185,3118,861],{"class":263},[185,3120,386],{"class":195},[185,3122,3124,3126,3128,3130,3132,3134,3137,3139,3141,3143],{"class":187,"line":3123},75,[185,3125,885],{"class":199},[185,3127,488],{"class":195},[185,3129,1490],{"class":248},[185,3131,251],{"class":263},[185,3133,426],{"class":195},[185,3135,3136],{"class":212},"❌ Hydra Transaction Error:",[185,3138,426],{"class":195},[185,3140,274],{"class":195},[185,3142,1516],{"class":199},[185,3144,334],{"class":263},[185,3146,3148,3150],{"class":187,"line":3147},76,[185,3149,1523],{"class":191},[185,3151,1526],{"class":199},[185,3153,3155],{"class":187,"line":3154},77,[185,3156,655],{"class":195},[185,3158,3160],{"class":187,"line":3159},78,[185,3161,1064],{"class":195},[185,3163,3165],{"class":187,"line":3164},79,[185,3166,222],{"emptyLinePlaceholder":221},[185,3168,3170,3172,3175,3177],{"class":187,"line":3169},80,[185,3171,1309],{"class":235},[185,3173,3174],{"class":263}," disconnect",[185,3176,2470],{"class":195},[185,3178,710],{"class":195},[185,3180,3182,3185,3187,3189,3191,3194],{"class":187,"line":3181},81,[185,3183,3184],{"class":191},"    await",[185,3186,1364],{"class":195},[185,3188,680],{"class":199},[185,3190,488],{"class":195},[185,3192,3193],{"class":248},"disconnect",[185,3195,474],{"class":263},[185,3197,3199],{"class":187,"line":3198},82,[185,3200,1064],{"class":195},[185,3202,3204],{"class":187,"line":3203},83,[185,3205,1679],{"class":195},[185,3207,3209],{"class":187,"line":3208},84,[185,3210,222],{"emptyLinePlaceholder":221},[185,3212,3214],{"class":187,"line":3213},85,[185,3215,1688],{"class":228},[185,3217,3219,3221,3224,3226,3228,3230],{"class":187,"line":3218},86,[185,3220,236],{"class":235},[185,3222,3223],{"class":199}," hydraManager ",[185,3225,242],{"class":195},[185,3227,245],{"class":195},[185,3229,2198],{"class":248},[185,3231,586],{"class":199},[185,3233,3235,3238,3241,3243,3245,3248,3250,3252,3254,3256],{"class":187,"line":3234},87,[185,3236,3237],{"class":195},"  '",[185,3239,3240],{"class":212},"your mnemonic words here",[185,3242,426],{"class":195},[185,3244,488],{"class":195},[185,3246,3247],{"class":248},"split",[185,3249,251],{"class":199},[185,3251,426],{"class":195},[185,3253,209],{"class":195},[185,3255,839],{"class":199},[185,3257,400],{"class":195},[185,3259,3261,3263,3266],{"class":187,"line":3260},88,[185,3262,3237],{"class":195},[185,3264,3265],{"class":212},"your-jwt-token",[185,3267,215],{"class":195},[185,3269,3271],{"class":187,"line":3270},89,[185,3272,334],{"class":199},[185,3274,3276],{"class":187,"line":3275},90,[185,3277,222],{"emptyLinePlaceholder":221},[185,3279,3281,3283,3286,3288,3291],{"class":187,"line":3280},91,[185,3282,1088],{"class":191},[185,3284,3285],{"class":199}," hydraManager",[185,3287,488],{"class":195},[185,3289,3290],{"class":248},"sendHydraTransaction",[185,3292,586],{"class":199},[185,3294,3296,3298,3301,3303],{"class":187,"line":3295},92,[185,3297,3237],{"class":195},[185,3299,3300],{"class":212},"addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer",[185,3302,426],{"class":195},[185,3304,400],{"class":195},[185,3306,3308,3310,3312],{"class":187,"line":3307},93,[185,3309,3237],{"class":195},[185,3311,438],{"class":212},[185,3313,215],{"class":195},[185,3315,3317],{"class":187,"line":3316},94,[185,3318,334],{"class":199},[170,3320,3322],{"id":3321},"submittx-callback-api-v130","submitTx — Callback API (v1.3.0+)",[166,3324,3325],{},"Non-blocking fire-and-forget submission using Node.js error-first callback pattern:",[175,3327,3329],{"className":177,"code":3328,"language":179,"meta":180,"style":180},"import { HydraBridge } from '@hydra-sdk\u002Fbridge'\n\nconst bridge = new HydraBridge({ url: 'ws:\u002F\u002Flocalhost:4001' })\nawait bridge.connect()\n\n\u002F\u002F submitTx returns void immediately — result delivered via callback\nbridge.submitTx(\n    {\n        type: 'Witnessed Tx ConwayEra',\n        description: '',\n        cborHex: signedTxCbor,\n        txId: transactionId\n    },\n    (error, result) => {\n        if (error) {\n            console.error('Tx rejected:', error.reason, 'tag:', error.tag)\n            return\n        }\n        console.log('Confirmed in snapshot #', result!.result?.snapshot?.number)\n        console.log('isValid:', result!.isValid)\n    },\n    { timeout: 30000 }\n)\n",[182,3330,3331,3349,3353,3385,3397,3401,3406,3417,3422,3438,3450,3462,3472,3477,3495,3508,3554,3559,3564,3604,3632,3636,3650],{"__ignoreMap":180},[185,3332,3333,3335,3337,3339,3341,3343,3345,3347],{"class":187,"line":188},[185,3334,192],{"class":191},[185,3336,196],{"class":195},[185,3338,531],{"class":199},[185,3340,203],{"class":195},[185,3342,206],{"class":191},[185,3344,209],{"class":195},[185,3346,112],{"class":212},[185,3348,215],{"class":195},[185,3350,3351],{"class":187,"line":218},[185,3352,222],{"emptyLinePlaceholder":221},[185,3354,3355,3357,3359,3361,3363,3365,3367,3369,3372,3374,3376,3379,3381,3383],{"class":187,"line":225},[185,3356,236],{"class":235},[185,3358,562],{"class":199},[185,3360,242],{"class":195},[185,3362,245],{"class":195},[185,3364,531],{"class":248},[185,3366,251],{"class":199},[185,3368,254],{"class":195},[185,3370,3371],{"class":263}," url",[185,3373,267],{"class":195},[185,3375,209],{"class":195},[185,3377,3378],{"class":212},"ws:\u002F\u002Flocalhost:4001",[185,3380,426],{"class":195},[185,3382,203],{"class":195},[185,3384,334],{"class":199},[185,3386,3387,3389,3391,3393,3395],{"class":187,"line":232},[185,3388,1088],{"class":191},[185,3390,1091],{"class":199},[185,3392,488],{"class":195},[185,3394,1096],{"class":248},[185,3396,474],{"class":199},[185,3398,3399],{"class":187,"line":260},[185,3400,222],{"emptyLinePlaceholder":221},[185,3402,3403],{"class":187,"line":279},[185,3404,3405],{"class":228},"\u002F\u002F submitTx returns void immediately — result delivered via callback\n",[185,3407,3408,3410,3412,3415],{"class":187,"line":291},[185,3409,680],{"class":199},[185,3411,488],{"class":195},[185,3413,3414],{"class":248},"submitTx",[185,3416,586],{"class":199},[185,3418,3419],{"class":187,"line":308},[185,3420,3421],{"class":195},"    {\n",[185,3423,3424,3427,3429,3431,3434,3436],{"class":187,"line":320},[185,3425,3426],{"class":263},"        type",[185,3428,267],{"class":195},[185,3430,209],{"class":195},[185,3432,3433],{"class":212},"Witnessed Tx ConwayEra",[185,3435,426],{"class":195},[185,3437,400],{"class":195},[185,3439,3440,3443,3445,3448],{"class":187,"line":328},[185,3441,3442],{"class":263},"        description",[185,3444,267],{"class":195},[185,3446,3447],{"class":195}," ''",[185,3449,400],{"class":195},[185,3451,3452,3455,3457,3460],{"class":187,"line":337},[185,3453,3454],{"class":263},"        cborHex",[185,3456,267],{"class":195},[185,3458,3459],{"class":199}," signedTxCbor",[185,3461,400],{"class":195},[185,3463,3464,3467,3469],{"class":187,"line":342},[185,3465,3466],{"class":263},"        txId",[185,3468,267],{"class":195},[185,3470,3471],{"class":199}," transactionId\n",[185,3473,3474],{"class":187,"line":348},[185,3475,3476],{"class":195},"    },\n",[185,3478,3479,3482,3484,3486,3489,3491,3493],{"class":187,"line":364},[185,3480,3481],{"class":195},"    (",[185,3483,1490],{"class":835},[185,3485,274],{"class":195},[185,3487,3488],{"class":835}," result",[185,3490,839],{"class":195},[185,3492,707],{"class":235},[185,3494,710],{"class":195},[185,3496,3497,3500,3502,3504,3506],{"class":187,"line":376},[185,3498,3499],{"class":191},"        if",[185,3501,832],{"class":263},[185,3503,1490],{"class":199},[185,3505,861],{"class":263},[185,3507,386],{"class":195},[185,3509,3510,3513,3515,3517,3519,3521,3524,3526,3528,3530,3532,3535,3537,3539,3542,3544,3546,3548,3550,3552],{"class":187,"line":389},[185,3511,3512],{"class":199},"            console",[185,3514,488],{"class":195},[185,3516,1490],{"class":248},[185,3518,251],{"class":263},[185,3520,426],{"class":195},[185,3522,3523],{"class":212},"Tx rejected:",[185,3525,426],{"class":195},[185,3527,274],{"class":195},[185,3529,1516],{"class":199},[185,3531,488],{"class":195},[185,3533,3534],{"class":199},"reason",[185,3536,274],{"class":195},[185,3538,209],{"class":195},[185,3540,3541],{"class":212},"tag:",[185,3543,426],{"class":195},[185,3545,274],{"class":195},[185,3547,1516],{"class":199},[185,3549,488],{"class":195},[185,3551,858],{"class":199},[185,3553,334],{"class":263},[185,3555,3556],{"class":187,"line":403},[185,3557,3558],{"class":191},"            return\n",[185,3560,3561],{"class":187,"line":448},[185,3562,3563],{"class":195},"        }\n",[185,3565,3566,3568,3570,3572,3574,3576,3579,3581,3583,3585,3588,3591,3594,3597,3599,3602],{"class":187,"line":455},[185,3567,2595],{"class":199},[185,3569,488],{"class":195},[185,3571,491],{"class":248},[185,3573,251],{"class":263},[185,3575,426],{"class":195},[185,3577,3578],{"class":212},"Confirmed in snapshot #",[185,3580,426],{"class":195},[185,3582,274],{"class":195},[185,3584,3488],{"class":199},[185,3586,3587],{"class":195},"!.",[185,3589,3590],{"class":199},"result",[185,3592,3593],{"class":195},"?.",[185,3595,3596],{"class":199},"snapshot",[185,3598,3593],{"class":195},[185,3600,3601],{"class":199},"number",[185,3603,334],{"class":263},[185,3605,3606,3608,3610,3612,3614,3616,3619,3621,3623,3625,3627,3630],{"class":187,"line":466},[185,3607,2595],{"class":199},[185,3609,488],{"class":195},[185,3611,491],{"class":248},[185,3613,251],{"class":263},[185,3615,426],{"class":195},[185,3617,3618],{"class":212},"isValid:",[185,3620,426],{"class":195},[185,3622,274],{"class":195},[185,3624,3488],{"class":199},[185,3626,3587],{"class":195},[185,3628,3629],{"class":199},"isValid",[185,3631,334],{"class":263},[185,3633,3634],{"class":187,"line":477},[185,3635,3476],{"class":195},[185,3637,3638,3640,3643,3645,3648],{"class":187,"line":482},[185,3639,605],{"class":195},[185,3641,3642],{"class":263}," timeout",[185,3644,267],{"class":195},[185,3646,3647],{"class":299}," 30000",[185,3649,2413],{"class":195},[185,3651,3652],{"class":187,"line":797},[185,3653,334],{"class":199},[3655,3656,3658,3659,3661,3662],"h3",{"id":3657},"when-to-use-submittx-vs-submittxsync","When to use ",[182,3660,3414],{}," vs ",[182,3663,3664],{},"submitTxSync",[3666,3667,3668,3685],"table",{},[3669,3670,3671],"thead",{},[3672,3673,3674,3677,3681],"tr",{},[3675,3676],"th",{},[3675,3678,3679],{},[182,3680,3664],{},[3675,3682,3683],{},[182,3684,3414],{},[3686,3687,3688,3704,3717],"tbody",{},[3672,3689,3690,3694,3699],{},[3691,3692,3693],"td",{},"Returns",[3691,3695,3696],{},[182,3697,3698],{},"Promise\u003CTxResult>",[3691,3700,3701],{},[182,3702,3703],{},"void",[3672,3705,3706,3709,3714],{},[3691,3707,3708],{},"Usage",[3691,3710,3711],{},[182,3712,3713],{},"await bridge.submitTxSync(tx)",[3691,3715,3716],{},"callback-based",[3672,3718,3719,3722,3728],{},[3691,3720,3721],{},"Best for",[3691,3723,3724,3725],{},"Sequential flows, ",[182,3726,3727],{},"async\u002Fawait",[3691,3729,3730],{},"Event loops, fire-and-forget",[3732,3733],"hr",{},[170,3735,3737],{"id":3736},"in-memory-balance-cache-v130","In-Memory Balance Cache (v1.3.0+)",[166,3739,3740,3741,3744,3745,3748],{},"After the first ",[182,3742,3743],{},"Greetings"," or ",[182,3746,3747],{},"SnapshotConfirmed",", balance reads are O(1):",[175,3750,3752],{"className":177,"code":3751,"language":179,"meta":180,"style":180},"bridge.events.on('onMessage', payload => {\n    if (payload.tag === 'SnapshotConfirmed') {\n        \u002F\u002F Cache is updated automatically\n\n        const balance = bridge.getAddressBalance('addr_test1...')\n        if (balance === null) return \u002F\u002F cold start, cache not seeded yet\n\n        const lovelace = balance.get('lovelace') ?? 0n\n        console.log('Balance:', Number(lovelace) \u002F 1_000_000, 'ADA')\n    }\n})\n",[182,3753,3754,3782,3807,3812,3816,3844,3866,3870,3903,3948,3952],{"__ignoreMap":180},[185,3755,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780],{"class":187,"line":188},[185,3757,680],{"class":199},[185,3759,488],{"class":195},[185,3761,685],{"class":199},[185,3763,488],{"class":195},[185,3765,690],{"class":248},[185,3767,251],{"class":199},[185,3769,426],{"class":195},[185,3771,825],{"class":212},[185,3773,426],{"class":195},[185,3775,274],{"class":195},[185,3777,903],{"class":835},[185,3779,707],{"class":235},[185,3781,710],{"class":195},[185,3783,3784,3787,3789,3791,3793,3795,3797,3799,3801,3803,3805],{"class":187,"line":218},[185,3785,3786],{"class":191},"    if",[185,3788,832],{"class":263},[185,3790,836],{"class":199},[185,3792,488],{"class":195},[185,3794,858],{"class":199},[185,3796,2580],{"class":195},[185,3798,209],{"class":195},[185,3800,3747],{"class":212},[185,3802,426],{"class":195},[185,3804,861],{"class":263},[185,3806,386],{"class":195},[185,3808,3809],{"class":187,"line":225},[185,3810,3811],{"class":228},"        \u002F\u002F Cache is updated automatically\n",[185,3813,3814],{"class":187,"line":232},[185,3815,222],{"emptyLinePlaceholder":221},[185,3817,3818,3821,3824,3826,3828,3830,3833,3835,3837,3840,3842],{"class":187,"line":260},[185,3819,3820],{"class":235},"        const",[185,3822,3823],{"class":199}," balance",[185,3825,1196],{"class":195},[185,3827,1091],{"class":199},[185,3829,488],{"class":195},[185,3831,3832],{"class":248},"getAddressBalance",[185,3834,251],{"class":263},[185,3836,426],{"class":195},[185,3838,3839],{"class":212},"addr_test1...",[185,3841,426],{"class":195},[185,3843,334],{"class":263},[185,3845,3846,3848,3850,3853,3855,3858,3860,3863],{"class":187,"line":279},[185,3847,3499],{"class":191},[185,3849,832],{"class":263},[185,3851,3852],{"class":199},"balance",[185,3854,2580],{"class":195},[185,3856,3857],{"class":195}," null",[185,3859,861],{"class":263},[185,3861,3862],{"class":191},"return",[185,3864,3865],{"class":228}," \u002F\u002F cold start, cache not seeded yet\n",[185,3867,3868],{"class":187,"line":291},[185,3869,222],{"emptyLinePlaceholder":221},[185,3871,3872,3874,3877,3879,3881,3883,3885,3887,3889,3891,3893,3895,3898,3900],{"class":187,"line":308},[185,3873,3820],{"class":235},[185,3875,3876],{"class":199}," lovelace",[185,3878,1196],{"class":195},[185,3880,3823],{"class":199},[185,3882,488],{"class":195},[185,3884,1372],{"class":248},[185,3886,251],{"class":263},[185,3888,426],{"class":195},[185,3890,423],{"class":212},[185,3892,426],{"class":195},[185,3894,861],{"class":263},[185,3896,3897],{"class":195},"??",[185,3899,300],{"class":299},[185,3901,3902],{"class":235},"n\n",[185,3904,3905,3907,3909,3911,3913,3915,3918,3920,3922,3925,3927,3929,3931,3934,3937,3939,3941,3944,3946],{"class":187,"line":320},[185,3906,2595],{"class":199},[185,3908,488],{"class":195},[185,3910,491],{"class":248},[185,3912,251],{"class":263},[185,3914,426],{"class":195},[185,3916,3917],{"class":212},"Balance:",[185,3919,426],{"class":195},[185,3921,274],{"class":195},[185,3923,3924],{"class":248}," Number",[185,3926,251],{"class":263},[185,3928,423],{"class":199},[185,3930,861],{"class":263},[185,3932,3933],{"class":195},"\u002F",[185,3935,3936],{"class":299}," 1_000_000",[185,3938,274],{"class":195},[185,3940,209],{"class":195},[185,3942,3943],{"class":212},"ADA",[185,3945,426],{"class":195},[185,3947,334],{"class":263},[185,3949,3950],{"class":187,"line":328},[185,3951,655],{"class":195},[185,3953,3954,3956],{"class":187,"line":337},[185,3955,331],{"class":195},[185,3957,334],{"class":199},[3732,3959],{},[170,3961,3963],{"id":3962},"common-hydra-pitfalls-và-solutions","Common Hydra Pitfalls và Solutions",[3655,3965,3967],{"id":3966},"_1-wrong-transaction-mode","1. Wrong Transaction Mode",[175,3969,3971],{"className":177,"code":3970,"language":179,"meta":180,"style":180},"\u002F\u002F ❌ Wrong - using Cardano params for Hydra\nconst txBuilder = new TxBuilder({}) \u002F\u002F Default Cardano params\n\n\u002F\u002F ✅ Correct - using Hydra params\nconst txBuilder = new TxBuilder({ \n  isHydra: true, \n  params: { minFeeA: 0, minFeeB: 0 } \n})\n",[182,3972,3973,3978,4000,4004,4009,4027,4039,4065],{"__ignoreMap":180},[185,3974,3975],{"class":187,"line":188},[185,3976,3977],{"class":228},"\u002F\u002F ❌ Wrong - using Cardano params for Hydra\n",[185,3979,3980,3982,3984,3986,3988,3990,3992,3995,3997],{"class":187,"line":218},[185,3981,236],{"class":235},[185,3983,239],{"class":199},[185,3985,242],{"class":195},[185,3987,245],{"class":195},[185,3989,200],{"class":248},[185,3991,251],{"class":199},[185,3993,3994],{"class":195},"{}",[185,3996,861],{"class":199},[185,3998,3999],{"class":228},"\u002F\u002F Default Cardano params\n",[185,4001,4002],{"class":187,"line":225},[185,4003,222],{"emptyLinePlaceholder":221},[185,4005,4006],{"class":187,"line":232},[185,4007,4008],{"class":228},"\u002F\u002F ✅ Correct - using Hydra params\n",[185,4010,4011,4013,4015,4017,4019,4021,4023,4025],{"class":187,"line":260},[185,4012,236],{"class":235},[185,4014,239],{"class":199},[185,4016,242],{"class":195},[185,4018,245],{"class":195},[185,4020,200],{"class":248},[185,4022,251],{"class":199},[185,4024,254],{"class":195},[185,4026,257],{"class":199},[185,4028,4029,4031,4033,4035,4037],{"class":187,"line":279},[185,4030,264],{"class":263},[185,4032,267],{"class":195},[185,4034,271],{"class":270},[185,4036,274],{"class":195},[185,4038,257],{"class":199},[185,4040,4041,4043,4045,4047,4049,4051,4053,4055,4057,4059,4061,4063],{"class":187,"line":291},[185,4042,282],{"class":263},[185,4044,267],{"class":195},[185,4046,196],{"class":195},[185,4048,2836],{"class":263},[185,4050,267],{"class":195},[185,4052,300],{"class":299},[185,4054,274],{"class":195},[185,4056,2845],{"class":263},[185,4058,267],{"class":195},[185,4060,300],{"class":299},[185,4062,203],{"class":195},[185,4064,257],{"class":199},[185,4066,4067,4069],{"class":187,"line":308},[185,4068,331],{"class":195},[185,4070,334],{"class":199},[3655,4072,4074],{"id":4073},"_2-socket-connection-issues","2. Socket Connection Issues",[175,4076,4078],{"className":177,"code":4077,"language":179,"meta":180,"style":180},"\u002F\u002F ❌ Wrong - using plain WebSocket\nconst ws = new WebSocket('wss:\u002F\u002Falpha-v1-api.hexcore.io.vn')\n\n\u002F\u002F ✅ Correct - using Socket.IO with auth\nconst bridge = new HydraBridge({\n  connector: new HexcoreConnector(url, {\n    socketIoOptions: { \n      auth: { token: 'your-jwt-token' } \n    }\n  })\n})\n",[182,4079,4080,4085,4109,4113,4118,4134,4151,4162,4185,4189,4195],{"__ignoreMap":180},[185,4081,4082],{"class":187,"line":188},[185,4083,4084],{"class":228},"\u002F\u002F ❌ Wrong - using plain WebSocket\n",[185,4086,4087,4089,4092,4094,4096,4099,4101,4103,4105,4107],{"class":187,"line":218},[185,4088,236],{"class":235},[185,4090,4091],{"class":199}," ws ",[185,4093,242],{"class":195},[185,4095,245],{"class":195},[185,4097,4098],{"class":248}," WebSocket",[185,4100,251],{"class":199},[185,4102,426],{"class":195},[185,4104,594],{"class":212},[185,4106,426],{"class":195},[185,4108,334],{"class":199},[185,4110,4111],{"class":187,"line":225},[185,4112,222],{"emptyLinePlaceholder":221},[185,4114,4115],{"class":187,"line":232},[185,4116,4117],{"class":228},"\u002F\u002F ✅ Correct - using Socket.IO with auth\n",[185,4119,4120,4122,4124,4126,4128,4130,4132],{"class":187,"line":260},[185,4121,236],{"class":235},[185,4123,562],{"class":199},[185,4125,242],{"class":195},[185,4127,245],{"class":195},[185,4129,531],{"class":248},[185,4131,251],{"class":199},[185,4133,386],{"class":195},[185,4135,4136,4138,4140,4142,4144,4147,4149],{"class":187,"line":279},[185,4137,577],{"class":263},[185,4139,267],{"class":195},[185,4141,245],{"class":195},[185,4143,536],{"class":248},[185,4145,4146],{"class":199},"(url",[185,4148,274],{"class":195},[185,4150,710],{"class":195},[185,4152,4153,4156,4158,4160],{"class":187,"line":291},[185,4154,4155],{"class":263},"    socketIoOptions",[185,4157,267],{"class":195},[185,4159,196],{"class":195},[185,4161,257],{"class":199},[185,4163,4164,4167,4169,4171,4173,4175,4177,4179,4181,4183],{"class":187,"line":308},[185,4165,4166],{"class":263},"      auth",[185,4168,267],{"class":195},[185,4170,196],{"class":195},[185,4172,630],{"class":263},[185,4174,267],{"class":195},[185,4176,209],{"class":195},[185,4178,3265],{"class":212},[185,4180,426],{"class":195},[185,4182,203],{"class":195},[185,4184,257],{"class":199},[185,4186,4187],{"class":187,"line":320},[185,4188,655],{"class":195},[185,4190,4191,4193],{"class":187,"line":328},[185,4192,323],{"class":195},[185,4194,334],{"class":199},[185,4196,4197,4199],{"class":187,"line":337},[185,4198,331],{"class":195},[185,4200,334],{"class":199},[3655,4202,4204],{"id":4203},"_3-memory-leaks","3. Memory Leaks",[175,4206,4208],{"className":177,"code":4207,"language":179,"meta":180,"style":180},"\u002F\u002F ✅ Proper cleanup\nclass HydraComponent {\n  private bridge: HydraBridge\n\n  async mounted() {\n    this.bridge = new HydraBridge({...})\n    await this.bridge.connect()\n  }\n\n  async beforeUnmount() {\n    \u002F\u002F Important: clean up the connection\n    await this.bridge?.disconnect()\n  }\n}\n",[182,4209,4210,4215,4224,4234,4238,4249,4268,4282,4286,4290,4301,4306,4320,4324],{"__ignoreMap":180},[185,4211,4212],{"class":187,"line":188},[185,4213,4214],{"class":228},"\u002F\u002F ✅ Proper cleanup\n",[185,4216,4217,4219,4222],{"class":187,"line":218},[185,4218,1179],{"class":235},[185,4220,4221],{"class":1182}," HydraComponent",[185,4223,710],{"class":195},[185,4225,4226,4228,4230,4232],{"class":187,"line":225},[185,4227,1190],{"class":235},[185,4229,1091],{"class":263},[185,4231,267],{"class":195},[185,4233,2223],{"class":1182},[185,4235,4236],{"class":187,"line":232},[185,4237,222],{"emptyLinePlaceholder":221},[185,4239,4240,4242,4245,4247],{"class":187,"line":260},[185,4241,1309],{"class":235},[185,4243,4244],{"class":263}," mounted",[185,4246,2470],{"class":195},[185,4248,710],{"class":195},[185,4250,4251,4253,4255,4257,4259,4261,4263,4266],{"class":187,"line":279},[185,4252,2272],{"class":195},[185,4254,680],{"class":199},[185,4256,1196],{"class":195},[185,4258,245],{"class":195},[185,4260,531],{"class":248},[185,4262,251],{"class":263},[185,4264,4265],{"class":195},"{...}",[185,4267,334],{"class":263},[185,4269,4270,4272,4274,4276,4278,4280],{"class":187,"line":291},[185,4271,3184],{"class":191},[185,4273,1364],{"class":195},[185,4275,680],{"class":199},[185,4277,488],{"class":195},[185,4279,1096],{"class":248},[185,4281,474],{"class":263},[185,4283,4284],{"class":187,"line":308},[185,4285,1064],{"class":195},[185,4287,4288],{"class":187,"line":320},[185,4289,222],{"emptyLinePlaceholder":221},[185,4291,4292,4294,4297,4299],{"class":187,"line":328},[185,4293,1309],{"class":235},[185,4295,4296],{"class":263}," beforeUnmount",[185,4298,2470],{"class":195},[185,4300,710],{"class":195},[185,4302,4303],{"class":187,"line":337},[185,4304,4305],{"class":228},"    \u002F\u002F Important: clean up the connection\n",[185,4307,4308,4310,4312,4314,4316,4318],{"class":187,"line":342},[185,4309,3184],{"class":191},[185,4311,1364],{"class":195},[185,4313,680],{"class":199},[185,4315,3593],{"class":195},[185,4317,3193],{"class":248},[185,4319,474],{"class":263},[185,4321,4322],{"class":187,"line":348},[185,4323,1064],{"class":195},[185,4325,4326],{"class":187,"line":364},[185,4327,1679],{"class":195},[4329,4330,4331],"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 pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .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}",{"title":180,"searchDepth":188,"depth":218,"links":4333},[4334,4335,4336,4337,4338,4339,4343,4344],{"id":172,"depth":218,"text":173},{"id":516,"depth":218,"text":517},{"id":1118,"depth":218,"text":1119},{"id":1728,"depth":218,"text":1729},{"id":2118,"depth":218,"text":2119},{"id":3321,"depth":218,"text":3322,"children":4340},[4341],{"id":3657,"depth":225,"text":4342},"When to use submitTx vs submitTxSync",{"id":3736,"depth":218,"text":3737},{"id":3962,"depth":218,"text":3963,"children":4345},[4346,4347,4348],{"id":3966,"depth":225,"text":3967},{"id":4073,"depth":225,"text":4074},{"id":4203,"depth":225,"text":4204},"Examples of integrating with Hydra Network using real patterns","md",null,{},{"icon":54},{"title":51,"description":4349},"mqdN-xvZvrkVai-2A8nuqxgChoW3mGFl9Y5H4N6YcJg",[4357,4359],{"title":46,"path":47,"stem":48,"description":4358,"icon":49,"children":-1},"Learn how to mint and burn native tokens on Cardano using Hydra SDK",{"title":56,"path":57,"stem":58,"description":4360,"icon":59,"children":-1},"Task-oriented recipes for the Hydra SDK utility namespaces — datums, redeemers, time, policies, providers, and more.",1784812304151]