{"ScriptPreparationCode":"function bytesToBigIntLoop(bytes) {\r\n let value = 0n;\r\n let bits = 8n;\r\n for (let i = 0; i \u003C bytes.length; i\u002B\u002B) {\r\n value = (value \u003C\u003C bits) \u002B BigInt(bytes[i]);\r\n }\r\n return value;\r\n}\r\n\r\nfunction bytesToBigIntDataView(bytes) {\r\n const view = new DataView(bytes.buffer);\r\n return view.getBigInt64(0);\r\n}\r\n\r\nfunction bytesToBigIntHex(bytes) {\r\n return BigInt(\u00270x\u0027 \u002B bytes.map(byte =\u003E byte.toString(16).padStart(2, \u00270\u0027)).join(\u0027\u0027))\r\n}\r\n\r\nfunction bytesToBigIntLoop2(data) {\r\n let encoded = 0n;\r\n\r\n for (let i = 0, l = data.length; i \u003C l; i\u002B\u002B) {\r\n\r\n encoded |= BigInt(data[i]) \u003C\u003C BigInt((l - i - 1) * 8);\r\n\r\n }\r\n\r\n return encoded;\r\n\r\n}\r\n\r\nfunction bytesToBigIntSplit(data) {\r\n let high = 0;\r\n high = (high \u003C\u003C 8) | data[0];\r\n high = (high \u003C\u003C 8) | data[1];\r\n high = (high \u003C\u003C 8) | data[2];\r\n high = (high \u003C\u003C 8) | data[3];\r\n\r\n let low = 0;\r\n low = (low \u003C\u003C 8) | data[4];\r\n low = (low \u003C\u003C 8) | data[5];\r\n low = (low \u003C\u003C 8) | data[6];\r\n low = (low \u003C\u003C 8) | data[7];\r\n\r\n return (BigInt(low) \u003C\u003C 32n) | BigInt(high);\r\n}","TestCases":[{"Name":"Loop","Code":"bytesToBigIntLoop(new Uint8Array([255,255,255,0,0,0,0,0]))","IsDeferred":false},{"Name":"DataView","Code":"bytesToBigIntDataView(new Uint8Array([255,255,255,0,0,0,0,0]))","IsDeferred":false},{"Name":"Hex","Code":"bytesToBigIntHex(new Uint8Array([255,255,255,0,0,0,0,0]))","IsDeferred":false},{"Name":"Loop2","Code":"bytesToBigIntLoop2(new Uint8Array([255,255,255,0,0,0,0,0]))","IsDeferred":false},{"Name":"Split","Code":"bytesToBigIntSplit(new Uint8Array([255,255,255,0,0,0,0,0]))","IsDeferred":false}]}