fastintear
Version:
Interact with FAST-INT-NEAR Protocol blockchain including transaction signing, utilities, and more.
1 lines • 7.81 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/utils/misc.ts"],"names":["JsBase64ToUint8Array","JsBase64FromUint8Array","JsBase64Encode","JsBase64Decode","Big","storage","e"],"mappings":"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","file":"misc.cjs","sourcesContent":["import {\n binary_to_base58 as toBase58,\n base58_to_binary as fromBase58,\n} from \"base58-js\";\nimport Big from \"big.js\";\nimport {\n encode as JsBase64Encode,\n decode as JsBase64Decode,\n fromUint8Array as JsBase64FromUint8Array,\n toUint8Array as JsBase64ToUint8Array\n} from 'js-base64';\nimport { storage } from \"./storage.js\";\n\nexport { toBase58, fromBase58 };\n\nexport function toHex(data: Uint8Array): string {\n return Array.from(data)\n .map(b => b.toString(16).padStart(2, '0'))\n .join('');\n}\n\nexport function fromHex(hex: string): Uint8Array {\n if (hex.length % 2) throw new Error('Hex string must be even length');\n const bytes = new Uint8Array(hex.length / 2);\n for (let i = 0; i < hex.length; i += 2) {\n bytes[i/2] = parseInt(hex.slice(i, i + 2), 16);\n }\n return bytes;\n}\n\nexport function base64ToBytes(b64Val: string): Uint8Array {\n return JsBase64ToUint8Array(b64Val);\n}\n\nexport function bytesToBase64(bytesArr: Uint8Array): string {\n return JsBase64FromUint8Array(bytesArr);\n}\n\nexport function toBase64(strVal: string) {\n try {\n return JsBase64Encode(strVal);\n } catch (e) {\n console.error('Issue base64 encoding', e);\n return null;\n }\n}\n\nexport function fromBase64(strVal: string) {\n try {\n return JsBase64Decode(strVal);\n } catch (e) {\n console.error('Issue base64 decoding', e);\n return null;\n }\n}\n\nexport function convertUnit(s: string | TemplateStringsArray, ...args: any[]): string {\n // Reconstruct raw string from template literal\n if (Array.isArray(s)) {\n s = s.reduce((acc, part, i) => {\n return acc + (args[i - 1] ?? \"\") + part;\n });\n }\n // Convert from `100 NEAR` into yoctoNear\n if (typeof s == \"string\") {\n const match = s.match(/([0-9.,_]+)\\s*([a-zA-Z]+)?/);\n if (match) {\n const amount = match[1].replace(/[_,]/g, \"\");\n const unitPart = match[2];\n if (unitPart) {\n switch (unitPart.toLowerCase()) {\n case \"near\":\n return Big(amount).mul(Big(10).pow(24)).toFixed(0);\n case \"tgas\":\n return Big(amount).mul(Big(10).pow(12)).toFixed(0);\n case \"ggas\":\n return Big(amount).mul(Big(10).pow(9)).toFixed(0);\n case \"gas\":\n case \"yoctonear\":\n return Big(amount).toFixed(0);\n default:\n throw new Error(`Unknown unit: ${unitPart}`);\n }\n } else {\n return Big(amount).toFixed(0);\n }\n }\n }\n return Big(`${s}`).toFixed(0);\n}\n\nexport function lsSet(key: string, value: any) {\n storage.set(key, value);\n}\n\nexport function lsGet(key: string): any {\n return storage.get(key);\n}\n\nexport function deepCopy(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function tryParseJson(...args) {\n try {\n return JSON.parse(args[0]);\n } catch {\n if (args.length > 1) {\n return args[1];\n }\n return args[0];\n }\n}\n\nexport function parseJsonFromBytes(bytes: Uint8Array) {\n try {\n const decoder = new TextDecoder();\n return JSON.parse(\n decoder.decode(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes))\n );\n } catch (e) {\n try {\n return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);\n } catch (e) {\n return bytes;\n }\n }\n}\n\nexport function canSignWithLAK(actions) {\n return (\n actions.length === 1 &&\n actions[0].type === \"FunctionCall\" &&\n Big(actions[0]?.deposit ?? \"0\").eq(0)\n );\n}\n"]}