[{"data":1,"prerenderedAt":2033},["ShallowReactive",2],{"navigation_docs":3,"-mini-apps-local-simulator":137,"-mini-apps-local-simulator-surround":2028},[4,27,57,79,97,115],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F4.architecture",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Mini Apps","i-lucide-smartphone","\u002Fmini-apps","2.mini-apps",[33,37,41,45,49,53],{"title":34,"path":35,"stem":36},"Provider runtime","\u002Fmini-apps\u002Fprovider-runtime","2.mini-apps\u002F1.provider-runtime",{"title":38,"path":39,"stem":40},"Ethereum provider","\u002Fmini-apps\u002Fethereum-provider","2.mini-apps\u002F2.ethereum-provider",{"title":42,"path":43,"stem":44},"Language and i18n","\u002Fmini-apps\u002Flanguage-i18n","2.mini-apps\u002F3.language-i18n",{"title":46,"path":47,"stem":48},"Local simulator","\u002Fmini-apps\u002Flocal-simulator","2.mini-apps\u002F4.local-simulator",{"title":50,"path":51,"stem":52},"Nuxt module","\u002Fmini-apps\u002Fnuxt-module","2.mini-apps\u002F5.nuxt-module",{"title":54,"path":55,"stem":56},"Host runtime","\u002Fmini-apps\u002Fhost-runtime","2.mini-apps\u002F6.host-runtime",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":26},"Auth","i-lucide-key-round","\u002Fauth","3.auth",[63,67,71,75],{"title":64,"path":65,"stem":66},"Nimiq Better Auth","\u002Fauth\u002Fnimiq-better-auth","3.auth\u002F1.nimiq-better-auth",{"title":68,"path":69,"stem":70},"Cross-device approval","\u002Fauth\u002Fcross-device","3.auth\u002F2.cross-device",{"title":72,"path":73,"stem":74},"Nimiq cross-device adapter","\u002Fauth\u002Fnimiq-adapter","3.auth\u002F3.nimiq-adapter",{"title":76,"path":77,"stem":78},"Security model","\u002Fauth\u002Fsecurity-model","3.auth\u002F4.security-model",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":26},"Utilities","i-lucide-wrench","\u002Futilities","4.utilities",[85,89,93],{"title":86,"path":87,"stem":88},"Universal Nimiq facade","\u002Futilities\u002Funimiq","4.utilities\u002F1.unimiq",{"title":90,"path":91,"stem":92},"ERC-20 helpers","\u002Futilities\u002Funerc20","4.utilities\u002F2.unerc20",{"title":94,"path":95,"stem":96},"Better Auth ledger","\u002Futilities\u002Fledger","4.utilities\u002F3.ledger",{"title":98,"icon":99,"path":100,"stem":101,"children":102,"page":26},"Testing","i-lucide-test-tube-2","\u002Ftesting","5.testing",[103,107,111],{"title":104,"path":105,"stem":106},"Local scenarios","\u002Ftesting\u002Flocal-scenarios","5.testing\u002F1.local-scenarios",{"title":108,"path":109,"stem":110},"Vitest helpers","\u002Ftesting\u002Fvitest-helpers","5.testing\u002F2.vitest-helpers",{"title":112,"path":113,"stem":114},"Bridge mode","\u002Ftesting\u002Fbridge-mode","5.testing\u002F3.bridge-mode",{"title":116,"icon":117,"path":118,"stem":119,"children":120,"page":26},"Reference","i-lucide-book-open","\u002Freference","6.reference",[121,125,129,133],{"title":122,"path":123,"stem":124},"Packages","\u002Freference\u002Fpackages","6.reference\u002F1.packages",{"title":126,"path":127,"stem":128},"Endpoints","\u002Freference\u002Fendpoints","6.reference\u002F2.endpoints",{"title":130,"path":131,"stem":132},"Runtime support","\u002Freference\u002Fruntime-support","6.reference\u002F3.runtime-support",{"title":134,"path":135,"stem":136},"Public API exports","\u002Freference\u002Fpublic-api","6.reference\u002F4.public-api",{"id":138,"title":46,"body":139,"description":2022,"extension":2023,"links":2024,"meta":2025,"navigation":269,"path":47,"seo":2026,"stem":48,"__hash__":2027},"docs\u002F2.mini-apps\u002F4.local-simulator.md",{"type":140,"value":141,"toc":2013},"minimark",[142,151,154,159,176,185,191,198,202,205,627,630,651,655,665,979,981,1002,1006,1009,1236,1240,1245,1702,1706,1709,1969,1971,1988,1992,2009],[143,144,145,146,150],"p",{},"Use ",[147,148,149],"code",{},"@onmax\u002Fnimiq-mini-app-kit\u002Fdev"," when local code needs Nimiq Pay-like provider behavior without the real host app.",[143,152,153],{},"Do not ship simulator providers in production bundles. Production apps should read providers published by Nimiq Pay.",[155,156,158],"h2",{"id":157},"choose-the-simulator-mode","Choose the simulator mode",[143,160,145,161,164,165,168,169,164,172,175],{},[147,162,163],{},"installSimulatedNimiqProvider()"," or ",[147,166,167],{},"installSimulatedEthereumProvider()"," when a browser app expects ",[147,170,171],{},"window.nimiq",[147,173,174],{},"window.ethereum",".",[143,177,145,178,164,181,184],{},[147,179,180],{},"createSimulatedNimiqProvider()",[147,182,183],{},"createSimulatedEthereumProvider()"," in unit tests where you can pass a provider directly.",[143,186,145,187,190],{},[147,188,189],{},"createSimulatedHostRuntime()"," when you are building a local host shell with approval UI and wallet state.",[143,192,193,194,197],{},"Use blocking providers when you want quick browser ",[147,195,196],{},"confirm()"," prompts without a custom host shell.",[155,199,201],{"id":200},"install-providers-in-development-only","Install providers in development only",[143,203,204],{},"Install simulated providers behind a development guard before app code reads them.",[206,207,213],"pre",{"className":208,"code":209,"filename":210,"language":211,"meta":212,"style":212},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  installSimulatedEthereumProvider,\n  installSimulatedNimiqProvider,\n} from '@onmax\u002Fnimiq-mini-app-kit\u002Fdev'\n\nconst NIMIQ_PRIVATE_KEY = '4f4e9c6d93fab8a1716dd2136bfdcf8bc6bfcb7e5fcb868f1f8f1eb8bbf4d2f0'\nconst ETHEREUM_ACCOUNT = '0xf5d7f7c63cb8F6d9Db7D2674bfaB3F5D2aED2fcb'\n\nexport async function installLocalMiniAppProviders() {\n  if (!import.meta.env.DEV)\n    return\n\n  await installSimulatedNimiqProvider({\n    privateKeyHex: NIMIQ_PRIVATE_KEY,\n    blockNumber: 1_000_000,\n    consensusEstablished: true,\n  })\n\n  await installSimulatedEthereumProvider({\n    account: ETHEREUM_ACCOUNT,\n    chainId: '0x89',\n    connected: true,\n    tokenContracts: {\n      '0xc2132d05d31c914a87c6611c10748aeb04b58e8f': {\n        decimals: 6,\n        symbol: 'USDT',\n        balancesByAddress: {\n          [ETHEREUM_ACCOUNT.toLowerCase()]: '1000000',\n        },\n      },\n    },\n  })\n}\n","app\u002Fdev-mini-app-provider.ts","ts","",[147,214,215,228,238,246,264,271,291,308,313,334,367,373,378,393,407,421,435,443,448,460,473,491,503,513,528,541,558,568,596,602,608,614,621],{"__ignoreMap":212},[216,217,220,224],"span",{"class":218,"line":219},"line",1,[216,221,223],{"class":222},"s7zQu","import",[216,225,227],{"class":226},"sMK4o"," {\n",[216,229,231,235],{"class":218,"line":230},2,[216,232,234],{"class":233},"sTEyZ","  installSimulatedEthereumProvider",[216,236,237],{"class":226},",\n",[216,239,241,244],{"class":218,"line":240},3,[216,242,243],{"class":233},"  installSimulatedNimiqProvider",[216,245,237],{"class":226},[216,247,249,252,255,258,261],{"class":218,"line":248},4,[216,250,251],{"class":226},"}",[216,253,254],{"class":222}," from",[216,256,257],{"class":226}," '",[216,259,149],{"class":260},"sfazB",[216,262,263],{"class":226},"'\n",[216,265,267],{"class":218,"line":266},5,[216,268,270],{"emptyLinePlaceholder":269},true,"\n",[216,272,274,278,281,284,286,289],{"class":218,"line":273},6,[216,275,277],{"class":276},"spNyl","const",[216,279,280],{"class":233}," NIMIQ_PRIVATE_KEY ",[216,282,283],{"class":226},"=",[216,285,257],{"class":226},[216,287,288],{"class":260},"4f4e9c6d93fab8a1716dd2136bfdcf8bc6bfcb7e5fcb868f1f8f1eb8bbf4d2f0",[216,290,263],{"class":226},[216,292,294,296,299,301,303,306],{"class":218,"line":293},7,[216,295,277],{"class":276},[216,297,298],{"class":233}," ETHEREUM_ACCOUNT ",[216,300,283],{"class":226},[216,302,257],{"class":226},[216,304,305],{"class":260},"0xf5d7f7c63cb8F6d9Db7D2674bfaB3F5D2aED2fcb",[216,307,263],{"class":226},[216,309,311],{"class":218,"line":310},8,[216,312,270],{"emptyLinePlaceholder":269},[216,314,316,319,322,325,329,332],{"class":218,"line":315},9,[216,317,318],{"class":222},"export",[216,320,321],{"class":276}," async",[216,323,324],{"class":276}," function",[216,326,328],{"class":327},"s2Zo4"," installLocalMiniAppProviders",[216,330,331],{"class":226},"()",[216,333,227],{"class":226},[216,335,337,340,344,347,349,351,354,356,359,361,364],{"class":218,"line":336},10,[216,338,339],{"class":222},"  if",[216,341,343],{"class":342},"swJcz"," (",[216,345,346],{"class":226},"!",[216,348,223],{"class":222},[216,350,175],{"class":226},[216,352,353],{"class":233},"meta",[216,355,175],{"class":226},[216,357,358],{"class":233},"env",[216,360,175],{"class":226},[216,362,363],{"class":233},"DEV",[216,365,366],{"class":342},")\n",[216,368,370],{"class":218,"line":369},11,[216,371,372],{"class":222},"    return\n",[216,374,376],{"class":218,"line":375},12,[216,377,270],{"emptyLinePlaceholder":269},[216,379,381,384,387,390],{"class":218,"line":380},13,[216,382,383],{"class":222},"  await",[216,385,386],{"class":327}," installSimulatedNimiqProvider",[216,388,389],{"class":342},"(",[216,391,392],{"class":226},"{\n",[216,394,396,399,402,405],{"class":218,"line":395},14,[216,397,398],{"class":342},"    privateKeyHex",[216,400,401],{"class":226},":",[216,403,404],{"class":233}," NIMIQ_PRIVATE_KEY",[216,406,237],{"class":226},[216,408,410,413,415,419],{"class":218,"line":409},15,[216,411,412],{"class":342},"    blockNumber",[216,414,401],{"class":226},[216,416,418],{"class":417},"sbssI"," 1_000_000",[216,420,237],{"class":226},[216,422,424,427,429,433],{"class":218,"line":423},16,[216,425,426],{"class":342},"    consensusEstablished",[216,428,401],{"class":226},[216,430,432],{"class":431},"sfNiH"," true",[216,434,237],{"class":226},[216,436,438,441],{"class":218,"line":437},17,[216,439,440],{"class":226},"  }",[216,442,366],{"class":342},[216,444,446],{"class":218,"line":445},18,[216,447,270],{"emptyLinePlaceholder":269},[216,449,451,453,456,458],{"class":218,"line":450},19,[216,452,383],{"class":222},[216,454,455],{"class":327}," installSimulatedEthereumProvider",[216,457,389],{"class":342},[216,459,392],{"class":226},[216,461,463,466,468,471],{"class":218,"line":462},20,[216,464,465],{"class":342},"    account",[216,467,401],{"class":226},[216,469,470],{"class":233}," ETHEREUM_ACCOUNT",[216,472,237],{"class":226},[216,474,476,479,481,483,486,489],{"class":218,"line":475},21,[216,477,478],{"class":342},"    chainId",[216,480,401],{"class":226},[216,482,257],{"class":226},[216,484,485],{"class":260},"0x89",[216,487,488],{"class":226},"'",[216,490,237],{"class":226},[216,492,494,497,499,501],{"class":218,"line":493},22,[216,495,496],{"class":342},"    connected",[216,498,401],{"class":226},[216,500,432],{"class":431},[216,502,237],{"class":226},[216,504,506,509,511],{"class":218,"line":505},23,[216,507,508],{"class":342},"    tokenContracts",[216,510,401],{"class":226},[216,512,227],{"class":226},[216,514,516,519,522,524,526],{"class":218,"line":515},24,[216,517,518],{"class":226},"      '",[216,520,521],{"class":342},"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",[216,523,488],{"class":226},[216,525,401],{"class":226},[216,527,227],{"class":226},[216,529,531,534,536,539],{"class":218,"line":530},25,[216,532,533],{"class":342},"        decimals",[216,535,401],{"class":226},[216,537,538],{"class":417}," 6",[216,540,237],{"class":226},[216,542,544,547,549,551,554,556],{"class":218,"line":543},26,[216,545,546],{"class":342},"        symbol",[216,548,401],{"class":226},[216,550,257],{"class":226},[216,552,553],{"class":260},"USDT",[216,555,488],{"class":226},[216,557,237],{"class":226},[216,559,561,564,566],{"class":218,"line":560},27,[216,562,563],{"class":342},"        balancesByAddress",[216,565,401],{"class":226},[216,567,227],{"class":226},[216,569,571,574,577,579,582,585,587,589,592,594],{"class":218,"line":570},28,[216,572,573],{"class":342},"          [",[216,575,576],{"class":233},"ETHEREUM_ACCOUNT",[216,578,175],{"class":226},[216,580,581],{"class":327},"toLowerCase",[216,583,584],{"class":342},"()]",[216,586,401],{"class":226},[216,588,257],{"class":226},[216,590,591],{"class":260},"1000000",[216,593,488],{"class":226},[216,595,237],{"class":226},[216,597,599],{"class":218,"line":598},29,[216,600,601],{"class":226},"        },\n",[216,603,605],{"class":218,"line":604},30,[216,606,607],{"class":226},"      },\n",[216,609,611],{"class":218,"line":610},31,[216,612,613],{"class":226},"    },\n",[216,615,617,619],{"class":218,"line":616},32,[216,618,440],{"class":226},[216,620,366],{"class":342},[216,622,624],{"class":218,"line":623},33,[216,625,626],{"class":226},"}\n",[143,628,629],{},"Expected behavior:",[631,632,633,639,644],"ul",{},[634,635,636,638],"li",{},[147,637,171],{}," is available after the first installer resolves.",[634,640,641,643],{},[147,642,174],{}," is available after the second installer resolves.",[634,645,646,647,650],{},"The Ethereum provider announces itself as ",[147,648,649],{},"Nimiq Pay Simulator"," through EIP-6963.",[155,652,654],{"id":653},"test-delayed-injection-and-missing-providers","Test delayed injection and missing providers",[143,656,145,657,660,661,664],{},[147,658,659],{},"injectionDelayMs"," and ",[147,662,663],{},"missingProvider"," to prove unavailable-provider UI.",[206,666,669],{"className":208,"code":667,"filename":668,"language":211,"meta":212,"style":212},"import { expect, it } from 'vitest'\nimport {\n  installSimulatedNimiqProvider,\n  waitForInjectedNimiqProvider,\n} from '@onmax\u002Fnimiq-mini-app-kit\u002Fdev'\n\nit('waits for delayed window.nimiq injection', async () => {\n  const source = { window: {} as Window }\n\n  const installed = installSimulatedNimiqProvider({\n    source,\n    injectionDelayMs: 20,\n  })\n\n  expect(source.window.nimiq).toBeUndefined()\n  await installed\n\n  await expect(waitForInjectedNimiqProvider({\n    source: () => source.window.nimiq,\n    timeoutMs: 100,\n    intervalMs: 5,\n  })).resolves.toBe(source.window.nimiq)\n})\n","test\u002Fprovider-injection.test.ts",[147,670,671,699,705,711,718,730,734,760,791,795,810,817,829,835,839,870,877,881,896,918,930,942,973],{"__ignoreMap":212},[216,672,673,675,678,681,684,687,690,692,694,697],{"class":218,"line":219},[216,674,223],{"class":222},[216,676,677],{"class":226}," {",[216,679,680],{"class":233}," expect",[216,682,683],{"class":226},",",[216,685,686],{"class":233}," it",[216,688,689],{"class":226}," }",[216,691,254],{"class":222},[216,693,257],{"class":226},[216,695,696],{"class":260},"vitest",[216,698,263],{"class":226},[216,700,701,703],{"class":218,"line":230},[216,702,223],{"class":222},[216,704,227],{"class":226},[216,706,707,709],{"class":218,"line":240},[216,708,243],{"class":233},[216,710,237],{"class":226},[216,712,713,716],{"class":218,"line":248},[216,714,715],{"class":233},"  waitForInjectedNimiqProvider",[216,717,237],{"class":226},[216,719,720,722,724,726,728],{"class":218,"line":266},[216,721,251],{"class":226},[216,723,254],{"class":222},[216,725,257],{"class":226},[216,727,149],{"class":260},[216,729,263],{"class":226},[216,731,732],{"class":218,"line":273},[216,733,270],{"emptyLinePlaceholder":269},[216,735,736,739,741,743,746,748,750,752,755,758],{"class":218,"line":293},[216,737,738],{"class":327},"it",[216,740,389],{"class":233},[216,742,488],{"class":226},[216,744,745],{"class":260},"waits for delayed window.nimiq injection",[216,747,488],{"class":226},[216,749,683],{"class":226},[216,751,321],{"class":276},[216,753,754],{"class":226}," ()",[216,756,757],{"class":276}," =>",[216,759,227],{"class":226},[216,761,762,765,768,771,773,776,778,781,784,788],{"class":218,"line":310},[216,763,764],{"class":276},"  const",[216,766,767],{"class":233}," source",[216,769,770],{"class":226}," =",[216,772,677],{"class":226},[216,774,775],{"class":342}," window",[216,777,401],{"class":226},[216,779,780],{"class":226}," {}",[216,782,783],{"class":222}," as",[216,785,787],{"class":786},"sBMFI"," Window",[216,789,790],{"class":226}," }\n",[216,792,793],{"class":218,"line":315},[216,794,270],{"emptyLinePlaceholder":269},[216,796,797,799,802,804,806,808],{"class":218,"line":336},[216,798,764],{"class":276},[216,800,801],{"class":233}," installed",[216,803,770],{"class":226},[216,805,386],{"class":327},[216,807,389],{"class":342},[216,809,392],{"class":226},[216,811,812,815],{"class":218,"line":369},[216,813,814],{"class":233},"    source",[216,816,237],{"class":226},[216,818,819,822,824,827],{"class":218,"line":375},[216,820,821],{"class":342},"    injectionDelayMs",[216,823,401],{"class":226},[216,825,826],{"class":417}," 20",[216,828,237],{"class":226},[216,830,831,833],{"class":218,"line":380},[216,832,440],{"class":226},[216,834,366],{"class":342},[216,836,837],{"class":218,"line":395},[216,838,270],{"emptyLinePlaceholder":269},[216,840,841,844,846,849,851,854,856,859,862,864,867],{"class":218,"line":409},[216,842,843],{"class":327},"  expect",[216,845,389],{"class":342},[216,847,848],{"class":233},"source",[216,850,175],{"class":226},[216,852,853],{"class":233},"window",[216,855,175],{"class":226},[216,857,858],{"class":233},"nimiq",[216,860,861],{"class":342},")",[216,863,175],{"class":226},[216,865,866],{"class":327},"toBeUndefined",[216,868,869],{"class":342},"()\n",[216,871,872,874],{"class":218,"line":423},[216,873,383],{"class":222},[216,875,876],{"class":233}," installed\n",[216,878,879],{"class":218,"line":437},[216,880,270],{"emptyLinePlaceholder":269},[216,882,883,885,887,889,892,894],{"class":218,"line":445},[216,884,383],{"class":222},[216,886,680],{"class":327},[216,888,389],{"class":342},[216,890,891],{"class":327},"waitForInjectedNimiqProvider",[216,893,389],{"class":342},[216,895,392],{"class":226},[216,897,898,900,902,904,906,908,910,912,914,916],{"class":218,"line":450},[216,899,814],{"class":327},[216,901,401],{"class":226},[216,903,754],{"class":226},[216,905,757],{"class":276},[216,907,767],{"class":233},[216,909,175],{"class":226},[216,911,853],{"class":233},[216,913,175],{"class":226},[216,915,858],{"class":233},[216,917,237],{"class":226},[216,919,920,923,925,928],{"class":218,"line":462},[216,921,922],{"class":342},"    timeoutMs",[216,924,401],{"class":226},[216,926,927],{"class":417}," 100",[216,929,237],{"class":226},[216,931,932,935,937,940],{"class":218,"line":475},[216,933,934],{"class":342},"    intervalMs",[216,936,401],{"class":226},[216,938,939],{"class":417}," 5",[216,941,237],{"class":226},[216,943,944,946,949,951,954,956,959,961,963,965,967,969,971],{"class":218,"line":493},[216,945,440],{"class":226},[216,947,948],{"class":342},"))",[216,950,175],{"class":226},[216,952,953],{"class":233},"resolves",[216,955,175],{"class":226},[216,957,958],{"class":327},"toBe",[216,960,389],{"class":342},[216,962,848],{"class":233},[216,964,175],{"class":226},[216,966,853],{"class":233},[216,968,175],{"class":226},[216,970,858],{"class":233},[216,972,366],{"class":342},[216,974,975,977],{"class":218,"line":505},[216,976,251],{"class":226},[216,978,366],{"class":233},[143,980,629],{},[631,982,983,986,993],{},[634,984,985],{},"Before the installer resolves, no provider exists.",[634,987,988,989,992],{},"After the delay, ",[147,990,991],{},"waitForInjectedNimiqProvider()"," resolves to the injected provider.",[634,994,995,996,999,1000,175],{},"With ",[147,997,998],{},"missingProvider: true",", the installer removes ",[147,1001,171],{},[155,1003,1005],{"id":1004},"drive-error-states-from-a-controller","Drive error states from a controller",[143,1007,1008],{},"Use a controller when a test needs to mutate provider behavior between assertions.",[206,1010,1013],{"className":208,"code":1011,"filename":1012,"language":211,"meta":212,"style":212},"import { expect, it } from 'vitest'\nimport { createSimulatedNimiqProviderController } from '@onmax\u002Fnimiq-mini-app-kit\u002Fdev'\n\nit('shows a rejected signature state', async () => {\n  const controller = createSimulatedNimiqProviderController()\n\n  controller.setConfig({ signError: 'Rejected in host shell' })\n\n  await expect(controller.provider.sign('hello')).resolves.toEqual({\n    error: {\n      type: 'SIGN_ERROR',\n      message: 'Rejected in host shell',\n    },\n  })\n})\n","test\u002Fsign-error.test.ts",[147,1014,1015,1037,1056,1060,1083,1096,1100,1131,1135,1180,1189,1205,1220,1224,1230],{"__ignoreMap":212},[216,1016,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035],{"class":218,"line":219},[216,1018,223],{"class":222},[216,1020,677],{"class":226},[216,1022,680],{"class":233},[216,1024,683],{"class":226},[216,1026,686],{"class":233},[216,1028,689],{"class":226},[216,1030,254],{"class":222},[216,1032,257],{"class":226},[216,1034,696],{"class":260},[216,1036,263],{"class":226},[216,1038,1039,1041,1043,1046,1048,1050,1052,1054],{"class":218,"line":230},[216,1040,223],{"class":222},[216,1042,677],{"class":226},[216,1044,1045],{"class":233}," createSimulatedNimiqProviderController",[216,1047,689],{"class":226},[216,1049,254],{"class":222},[216,1051,257],{"class":226},[216,1053,149],{"class":260},[216,1055,263],{"class":226},[216,1057,1058],{"class":218,"line":240},[216,1059,270],{"emptyLinePlaceholder":269},[216,1061,1062,1064,1066,1068,1071,1073,1075,1077,1079,1081],{"class":218,"line":248},[216,1063,738],{"class":327},[216,1065,389],{"class":233},[216,1067,488],{"class":226},[216,1069,1070],{"class":260},"shows a rejected signature state",[216,1072,488],{"class":226},[216,1074,683],{"class":226},[216,1076,321],{"class":276},[216,1078,754],{"class":226},[216,1080,757],{"class":276},[216,1082,227],{"class":226},[216,1084,1085,1087,1090,1092,1094],{"class":218,"line":266},[216,1086,764],{"class":276},[216,1088,1089],{"class":233}," controller",[216,1091,770],{"class":226},[216,1093,1045],{"class":327},[216,1095,869],{"class":342},[216,1097,1098],{"class":218,"line":273},[216,1099,270],{"emptyLinePlaceholder":269},[216,1101,1102,1105,1107,1110,1112,1115,1118,1120,1122,1125,1127,1129],{"class":218,"line":293},[216,1103,1104],{"class":233},"  controller",[216,1106,175],{"class":226},[216,1108,1109],{"class":327},"setConfig",[216,1111,389],{"class":342},[216,1113,1114],{"class":226},"{",[216,1116,1117],{"class":342}," signError",[216,1119,401],{"class":226},[216,1121,257],{"class":226},[216,1123,1124],{"class":260},"Rejected in host shell",[216,1126,488],{"class":226},[216,1128,689],{"class":226},[216,1130,366],{"class":342},[216,1132,1133],{"class":218,"line":310},[216,1134,270],{"emptyLinePlaceholder":269},[216,1136,1137,1139,1141,1143,1146,1148,1151,1153,1156,1158,1160,1163,1165,1167,1169,1171,1173,1176,1178],{"class":218,"line":315},[216,1138,383],{"class":222},[216,1140,680],{"class":327},[216,1142,389],{"class":342},[216,1144,1145],{"class":233},"controller",[216,1147,175],{"class":226},[216,1149,1150],{"class":233},"provider",[216,1152,175],{"class":226},[216,1154,1155],{"class":327},"sign",[216,1157,389],{"class":342},[216,1159,488],{"class":226},[216,1161,1162],{"class":260},"hello",[216,1164,488],{"class":226},[216,1166,948],{"class":342},[216,1168,175],{"class":226},[216,1170,953],{"class":233},[216,1172,175],{"class":226},[216,1174,1175],{"class":327},"toEqual",[216,1177,389],{"class":342},[216,1179,392],{"class":226},[216,1181,1182,1185,1187],{"class":218,"line":336},[216,1183,1184],{"class":342},"    error",[216,1186,401],{"class":226},[216,1188,227],{"class":226},[216,1190,1191,1194,1196,1198,1201,1203],{"class":218,"line":369},[216,1192,1193],{"class":342},"      type",[216,1195,401],{"class":226},[216,1197,257],{"class":226},[216,1199,1200],{"class":260},"SIGN_ERROR",[216,1202,488],{"class":226},[216,1204,237],{"class":226},[216,1206,1207,1210,1212,1214,1216,1218],{"class":218,"line":375},[216,1208,1209],{"class":342},"      message",[216,1211,401],{"class":226},[216,1213,257],{"class":226},[216,1215,1124],{"class":260},[216,1217,488],{"class":226},[216,1219,237],{"class":226},[216,1221,1222],{"class":218,"line":380},[216,1223,613],{"class":226},[216,1225,1226,1228],{"class":218,"line":395},[216,1227,440],{"class":226},[216,1229,366],{"class":342},[216,1231,1232,1234],{"class":218,"line":409},[216,1233,251],{"class":226},[216,1235,366],{"class":233},[155,1237,1239],{"id":1238},"simulate-ethereum-reads-and-writes","Simulate Ethereum reads and writes",[143,1241,145,1242,1244],{},[147,1243,183],{}," for deterministic EIP-1193 behavior in unit tests.",[206,1246,1249],{"className":208,"code":1247,"filename":1248,"language":211,"meta":212,"style":212},"import { expect, it } from 'vitest'\nimport { createSimulatedEthereumProvider } from '@onmax\u002Fnimiq-mini-app-kit\u002Fdev'\n\nit('updates native balances after a simulated transfer', async () => {\n  const account = '0xf5d7f7c63cb8F6d9Db7D2674bfaB3F5D2aED2fcb'\n  const recipient = '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'\n  const provider = createSimulatedEthereumProvider({\n    account,\n    connected: true,\n    chainId: '0x89',\n    nativeBalances: {\n      [account.toLowerCase()]: '0x64',\n    },\n  })\n\n  await provider.request({\n    method: 'eth_sendTransaction',\n    params: [{ from: account, to: recipient, value: '0xa' }],\n  })\n\n  await expect(provider.request({\n    method: 'eth_getBalance',\n    params: [account, 'latest'],\n  })).resolves.toBe('0x5a')\n\n  await expect(provider.request({\n    method: 'eth_getBalance',\n    params: [recipient, 'latest'],\n  })).resolves.toBe('0xa')\n})\n","test\u002Fethereum-transfer.test.ts",[147,1250,1251,1273,1292,1296,1319,1334,1350,1365,1371,1381,1395,1404,1429,1433,1439,1443,1458,1474,1522,1528,1532,1550,1565,1588,1613,1617,1635,1649,1672,1696],{"__ignoreMap":212},[216,1252,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271],{"class":218,"line":219},[216,1254,223],{"class":222},[216,1256,677],{"class":226},[216,1258,680],{"class":233},[216,1260,683],{"class":226},[216,1262,686],{"class":233},[216,1264,689],{"class":226},[216,1266,254],{"class":222},[216,1268,257],{"class":226},[216,1270,696],{"class":260},[216,1272,263],{"class":226},[216,1274,1275,1277,1279,1282,1284,1286,1288,1290],{"class":218,"line":230},[216,1276,223],{"class":222},[216,1278,677],{"class":226},[216,1280,1281],{"class":233}," createSimulatedEthereumProvider",[216,1283,689],{"class":226},[216,1285,254],{"class":222},[216,1287,257],{"class":226},[216,1289,149],{"class":260},[216,1291,263],{"class":226},[216,1293,1294],{"class":218,"line":240},[216,1295,270],{"emptyLinePlaceholder":269},[216,1297,1298,1300,1302,1304,1307,1309,1311,1313,1315,1317],{"class":218,"line":248},[216,1299,738],{"class":327},[216,1301,389],{"class":233},[216,1303,488],{"class":226},[216,1305,1306],{"class":260},"updates native balances after a simulated transfer",[216,1308,488],{"class":226},[216,1310,683],{"class":226},[216,1312,321],{"class":276},[216,1314,754],{"class":226},[216,1316,757],{"class":276},[216,1318,227],{"class":226},[216,1320,1321,1323,1326,1328,1330,1332],{"class":218,"line":266},[216,1322,764],{"class":276},[216,1324,1325],{"class":233}," account",[216,1327,770],{"class":226},[216,1329,257],{"class":226},[216,1331,305],{"class":260},[216,1333,263],{"class":226},[216,1335,1336,1338,1341,1343,1345,1348],{"class":218,"line":273},[216,1337,764],{"class":276},[216,1339,1340],{"class":233}," recipient",[216,1342,770],{"class":226},[216,1344,257],{"class":226},[216,1346,1347],{"class":260},"0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",[216,1349,263],{"class":226},[216,1351,1352,1354,1357,1359,1361,1363],{"class":218,"line":293},[216,1353,764],{"class":276},[216,1355,1356],{"class":233}," provider",[216,1358,770],{"class":226},[216,1360,1281],{"class":327},[216,1362,389],{"class":342},[216,1364,392],{"class":226},[216,1366,1367,1369],{"class":218,"line":310},[216,1368,465],{"class":233},[216,1370,237],{"class":226},[216,1372,1373,1375,1377,1379],{"class":218,"line":315},[216,1374,496],{"class":342},[216,1376,401],{"class":226},[216,1378,432],{"class":431},[216,1380,237],{"class":226},[216,1382,1383,1385,1387,1389,1391,1393],{"class":218,"line":336},[216,1384,478],{"class":342},[216,1386,401],{"class":226},[216,1388,257],{"class":226},[216,1390,485],{"class":260},[216,1392,488],{"class":226},[216,1394,237],{"class":226},[216,1396,1397,1400,1402],{"class":218,"line":369},[216,1398,1399],{"class":342},"    nativeBalances",[216,1401,401],{"class":226},[216,1403,227],{"class":226},[216,1405,1406,1409,1412,1414,1416,1418,1420,1422,1425,1427],{"class":218,"line":375},[216,1407,1408],{"class":342},"      [",[216,1410,1411],{"class":233},"account",[216,1413,175],{"class":226},[216,1415,581],{"class":327},[216,1417,584],{"class":342},[216,1419,401],{"class":226},[216,1421,257],{"class":226},[216,1423,1424],{"class":260},"0x64",[216,1426,488],{"class":226},[216,1428,237],{"class":226},[216,1430,1431],{"class":218,"line":380},[216,1432,613],{"class":226},[216,1434,1435,1437],{"class":218,"line":395},[216,1436,440],{"class":226},[216,1438,366],{"class":342},[216,1440,1441],{"class":218,"line":409},[216,1442,270],{"emptyLinePlaceholder":269},[216,1444,1445,1447,1449,1451,1454,1456],{"class":218,"line":423},[216,1446,383],{"class":222},[216,1448,1356],{"class":233},[216,1450,175],{"class":226},[216,1452,1453],{"class":327},"request",[216,1455,389],{"class":342},[216,1457,392],{"class":226},[216,1459,1460,1463,1465,1467,1470,1472],{"class":218,"line":437},[216,1461,1462],{"class":342},"    method",[216,1464,401],{"class":226},[216,1466,257],{"class":226},[216,1468,1469],{"class":260},"eth_sendTransaction",[216,1471,488],{"class":226},[216,1473,237],{"class":226},[216,1475,1476,1479,1481,1484,1486,1488,1490,1492,1494,1497,1499,1501,1503,1506,1508,1510,1513,1515,1517,1520],{"class":218,"line":445},[216,1477,1478],{"class":342},"    params",[216,1480,401],{"class":226},[216,1482,1483],{"class":342}," [",[216,1485,1114],{"class":226},[216,1487,254],{"class":342},[216,1489,401],{"class":226},[216,1491,1325],{"class":233},[216,1493,683],{"class":226},[216,1495,1496],{"class":342}," to",[216,1498,401],{"class":226},[216,1500,1340],{"class":233},[216,1502,683],{"class":226},[216,1504,1505],{"class":342}," value",[216,1507,401],{"class":226},[216,1509,257],{"class":226},[216,1511,1512],{"class":260},"0xa",[216,1514,488],{"class":226},[216,1516,689],{"class":226},[216,1518,1519],{"class":342},"]",[216,1521,237],{"class":226},[216,1523,1524,1526],{"class":218,"line":450},[216,1525,440],{"class":226},[216,1527,366],{"class":342},[216,1529,1530],{"class":218,"line":462},[216,1531,270],{"emptyLinePlaceholder":269},[216,1533,1534,1536,1538,1540,1542,1544,1546,1548],{"class":218,"line":475},[216,1535,383],{"class":222},[216,1537,680],{"class":327},[216,1539,389],{"class":342},[216,1541,1150],{"class":233},[216,1543,175],{"class":226},[216,1545,1453],{"class":327},[216,1547,389],{"class":342},[216,1549,392],{"class":226},[216,1551,1552,1554,1556,1558,1561,1563],{"class":218,"line":493},[216,1553,1462],{"class":342},[216,1555,401],{"class":226},[216,1557,257],{"class":226},[216,1559,1560],{"class":260},"eth_getBalance",[216,1562,488],{"class":226},[216,1564,237],{"class":226},[216,1566,1567,1569,1571,1573,1575,1577,1579,1582,1584,1586],{"class":218,"line":505},[216,1568,1478],{"class":342},[216,1570,401],{"class":226},[216,1572,1483],{"class":342},[216,1574,1411],{"class":233},[216,1576,683],{"class":226},[216,1578,257],{"class":226},[216,1580,1581],{"class":260},"latest",[216,1583,488],{"class":226},[216,1585,1519],{"class":342},[216,1587,237],{"class":226},[216,1589,1590,1592,1594,1596,1598,1600,1602,1604,1606,1609,1611],{"class":218,"line":515},[216,1591,440],{"class":226},[216,1593,948],{"class":342},[216,1595,175],{"class":226},[216,1597,953],{"class":233},[216,1599,175],{"class":226},[216,1601,958],{"class":327},[216,1603,389],{"class":342},[216,1605,488],{"class":226},[216,1607,1608],{"class":260},"0x5a",[216,1610,488],{"class":226},[216,1612,366],{"class":342},[216,1614,1615],{"class":218,"line":530},[216,1616,270],{"emptyLinePlaceholder":269},[216,1618,1619,1621,1623,1625,1627,1629,1631,1633],{"class":218,"line":543},[216,1620,383],{"class":222},[216,1622,680],{"class":327},[216,1624,389],{"class":342},[216,1626,1150],{"class":233},[216,1628,175],{"class":226},[216,1630,1453],{"class":327},[216,1632,389],{"class":342},[216,1634,392],{"class":226},[216,1636,1637,1639,1641,1643,1645,1647],{"class":218,"line":560},[216,1638,1462],{"class":342},[216,1640,401],{"class":226},[216,1642,257],{"class":226},[216,1644,1560],{"class":260},[216,1646,488],{"class":226},[216,1648,237],{"class":226},[216,1650,1651,1653,1655,1657,1660,1662,1664,1666,1668,1670],{"class":218,"line":570},[216,1652,1478],{"class":342},[216,1654,401],{"class":226},[216,1656,1483],{"class":342},[216,1658,1659],{"class":233},"recipient",[216,1661,683],{"class":226},[216,1663,257],{"class":226},[216,1665,1581],{"class":260},[216,1667,488],{"class":226},[216,1669,1519],{"class":342},[216,1671,237],{"class":226},[216,1673,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694],{"class":218,"line":598},[216,1675,440],{"class":226},[216,1677,948],{"class":342},[216,1679,175],{"class":226},[216,1681,953],{"class":233},[216,1683,175],{"class":226},[216,1685,958],{"class":327},[216,1687,389],{"class":342},[216,1689,488],{"class":226},[216,1691,1512],{"class":260},[216,1693,488],{"class":226},[216,1695,366],{"class":342},[216,1697,1698,1700],{"class":218,"line":604},[216,1699,251],{"class":226},[216,1701,366],{"class":233},[155,1703,1705],{"id":1704},"use-blocking-prompts-for-a-fast-manual-loop","Use blocking prompts for a fast manual loop",[143,1707,1708],{},"Use blocking providers when you want direct browser confirmation dialogs and do not need a simulator sidecar.",[206,1710,1713],{"className":208,"code":1711,"filename":1712,"language":211,"meta":212,"style":212},"import {\n  createSimulatedBlockingEthereumProvider,\n  createSimulatedBlockingNimiqProvider,\n} from '@onmax\u002Fnimiq-mini-app-kit\u002Fdev'\n\nexport function installBlockingProviders() {\n  if (!import.meta.env.DEV)\n    return\n\n  window.nimiq = createSimulatedBlockingNimiqProvider({\n    source: window,\n    appName: 'Dino',\n    appOrigin: window.location.origin,\n  })\n\n  window.ethereum = createSimulatedBlockingEthereumProvider({\n    source: window,\n    appName: 'Dino',\n    appOrigin: window.location.origin,\n    input: {\n      account: '0xf5d7f7c63cb8F6d9Db7D2674bfaB3F5D2aED2fcb',\n    },\n  })\n}\n","app\u002Fblocking-dev-provider.ts",[147,1714,1715,1721,1728,1735,1747,1751,1764,1788,1792,1796,1814,1824,1840,1861,1867,1871,1889,1899,1913,1931,1940,1955,1959,1965],{"__ignoreMap":212},[216,1716,1717,1719],{"class":218,"line":219},[216,1718,223],{"class":222},[216,1720,227],{"class":226},[216,1722,1723,1726],{"class":218,"line":230},[216,1724,1725],{"class":233},"  createSimulatedBlockingEthereumProvider",[216,1727,237],{"class":226},[216,1729,1730,1733],{"class":218,"line":240},[216,1731,1732],{"class":233},"  createSimulatedBlockingNimiqProvider",[216,1734,237],{"class":226},[216,1736,1737,1739,1741,1743,1745],{"class":218,"line":248},[216,1738,251],{"class":226},[216,1740,254],{"class":222},[216,1742,257],{"class":226},[216,1744,149],{"class":260},[216,1746,263],{"class":226},[216,1748,1749],{"class":218,"line":266},[216,1750,270],{"emptyLinePlaceholder":269},[216,1752,1753,1755,1757,1760,1762],{"class":218,"line":273},[216,1754,318],{"class":222},[216,1756,324],{"class":276},[216,1758,1759],{"class":327}," installBlockingProviders",[216,1761,331],{"class":226},[216,1763,227],{"class":226},[216,1765,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786],{"class":218,"line":293},[216,1767,339],{"class":222},[216,1769,343],{"class":342},[216,1771,346],{"class":226},[216,1773,223],{"class":222},[216,1775,175],{"class":226},[216,1777,353],{"class":233},[216,1779,175],{"class":226},[216,1781,358],{"class":233},[216,1783,175],{"class":226},[216,1785,363],{"class":233},[216,1787,366],{"class":342},[216,1789,1790],{"class":218,"line":310},[216,1791,372],{"class":222},[216,1793,1794],{"class":218,"line":315},[216,1795,270],{"emptyLinePlaceholder":269},[216,1797,1798,1801,1803,1805,1807,1810,1812],{"class":218,"line":336},[216,1799,1800],{"class":233},"  window",[216,1802,175],{"class":226},[216,1804,858],{"class":233},[216,1806,770],{"class":226},[216,1808,1809],{"class":327}," createSimulatedBlockingNimiqProvider",[216,1811,389],{"class":342},[216,1813,392],{"class":226},[216,1815,1816,1818,1820,1822],{"class":218,"line":369},[216,1817,814],{"class":342},[216,1819,401],{"class":226},[216,1821,775],{"class":233},[216,1823,237],{"class":226},[216,1825,1826,1829,1831,1833,1836,1838],{"class":218,"line":375},[216,1827,1828],{"class":342},"    appName",[216,1830,401],{"class":226},[216,1832,257],{"class":226},[216,1834,1835],{"class":260},"Dino",[216,1837,488],{"class":226},[216,1839,237],{"class":226},[216,1841,1842,1845,1847,1849,1851,1854,1856,1859],{"class":218,"line":380},[216,1843,1844],{"class":342},"    appOrigin",[216,1846,401],{"class":226},[216,1848,775],{"class":233},[216,1850,175],{"class":226},[216,1852,1853],{"class":233},"location",[216,1855,175],{"class":226},[216,1857,1858],{"class":233},"origin",[216,1860,237],{"class":226},[216,1862,1863,1865],{"class":218,"line":395},[216,1864,440],{"class":226},[216,1866,366],{"class":342},[216,1868,1869],{"class":218,"line":409},[216,1870,270],{"emptyLinePlaceholder":269},[216,1872,1873,1875,1877,1880,1882,1885,1887],{"class":218,"line":423},[216,1874,1800],{"class":233},[216,1876,175],{"class":226},[216,1878,1879],{"class":233},"ethereum",[216,1881,770],{"class":226},[216,1883,1884],{"class":327}," createSimulatedBlockingEthereumProvider",[216,1886,389],{"class":342},[216,1888,392],{"class":226},[216,1890,1891,1893,1895,1897],{"class":218,"line":437},[216,1892,814],{"class":342},[216,1894,401],{"class":226},[216,1896,775],{"class":233},[216,1898,237],{"class":226},[216,1900,1901,1903,1905,1907,1909,1911],{"class":218,"line":445},[216,1902,1828],{"class":342},[216,1904,401],{"class":226},[216,1906,257],{"class":226},[216,1908,1835],{"class":260},[216,1910,488],{"class":226},[216,1912,237],{"class":226},[216,1914,1915,1917,1919,1921,1923,1925,1927,1929],{"class":218,"line":450},[216,1916,1844],{"class":342},[216,1918,401],{"class":226},[216,1920,775],{"class":233},[216,1922,175],{"class":226},[216,1924,1853],{"class":233},[216,1926,175],{"class":226},[216,1928,1858],{"class":233},[216,1930,237],{"class":226},[216,1932,1933,1936,1938],{"class":218,"line":462},[216,1934,1935],{"class":342},"    input",[216,1937,401],{"class":226},[216,1939,227],{"class":226},[216,1941,1942,1945,1947,1949,1951,1953],{"class":218,"line":475},[216,1943,1944],{"class":342},"      account",[216,1946,401],{"class":226},[216,1948,257],{"class":226},[216,1950,305],{"class":260},[216,1952,488],{"class":226},[216,1954,237],{"class":226},[216,1956,1957],{"class":218,"line":493},[216,1958,613],{"class":226},[216,1960,1961,1963],{"class":218,"line":505},[216,1962,440],{"class":226},[216,1964,366],{"class":342},[216,1966,1967],{"class":218,"line":515},[216,1968,626],{"class":226},[143,1970,629],{},[631,1972,1973,1979,1985],{},[634,1974,1975,1978],{},[147,1976,1977],{},"listAccounts()"," asks to connect the Nimiq account.",[634,1980,1981,1984],{},[147,1982,1983],{},"eth_requestAccounts"," asks to connect the Ethereum account.",[634,1986,1987],{},"Sign, chain, and transaction requests use browser confirmation dialogs.",[155,1989,1991],{"id":1990},"simulator-coverage","Simulator coverage",[631,1993,1994,1997,2000,2003,2006],{},[634,1995,1996],{},"Nimiq account reads, signatures, transaction hashes, consensus state, and block height.",[634,1998,1999],{},"Nimiq transaction previews for basic, data, and staking methods.",[634,2001,2002],{},"Ethereum account, sign, chain, read-only RPC, native transfer, and ERC-20 transfer scenarios.",[634,2004,2005],{},"EIP-6963 provider announcement.",[634,2007,2008],{},"Host bridge messages for custom simulator shells.",[2010,2011,2012],"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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":212,"searchDepth":230,"depth":230,"links":2014},[2015,2016,2017,2018,2019,2020,2021],{"id":157,"depth":230,"text":158},{"id":200,"depth":230,"text":201},{"id":653,"depth":230,"text":654},{"id":1004,"depth":230,"text":1005},{"id":1238,"depth":230,"text":1239},{"id":1704,"depth":230,"text":1705},{"id":1990,"depth":230,"text":1991},"Install simulated Nimiq and Ethereum providers for local development and tests.","md",null,{},{"title":46,"description":2022},"W5nGhHjQx_RkXHdrv9ItShFspuj-8NcyaYtTWVORM6A",[2029,2031],{"title":42,"path":43,"stem":44,"description":2030,"children":-1},"Read the Nimiq Pay host language and connect it to Nuxt i18n.",{"title":50,"path":51,"stem":52,"description":2032,"children":-1},"Add the mini-app simulator sidecar and runtime helpers to Nuxt.",1778838252701]