"use strict"; /** * Title: GRIDS Basic Page Script * Description: Page Script for /grids-basic.html * Author: Peter Harpending * Date: 2025-12-29 * Last-Updated: 2025-12-29 * * @module */ main(); /** * Runs on page load */ async function main() { let n_input = document.getElementById('grids-n'); let r_input = document.getElementById('grids-r'); let a_input = document.getElementById('grids-a'); let p_input = document.getElementById('grids-p'); let submit_btn = document.getElementById('grids-submit'); let grids_url_elt = document.getElementById('grids-url'); let grids_png_elt = document.getElementById('grids-png'); // Page initialization submit_btn.addEventListener('click', async function (e) { await on_submit(n_input, r_input, a_input, p_input, grids_url_elt, grids_png_elt); }); // enable buttons submit_btn.disabled = false; } async function on_submit(n_input, r_input, a_input, p_input, grids_url_elt, grids_png_elt) { // pull out values let network_id = n_input.value; let recipient = r_input.value; let amount = parseInt(a_input.value); let payload = p_input.value; let result = await grids_request(network_id, recipient, amount, payload); // show url field and png if (result.ok) { let url = result.result.url; let png_base64 = result.result.png_base64; let src_prefix = 'data:image/png;base64,'; let src = src_prefix + png_base64; grids_url_elt.innerText = url; grids_png_elt.src = src; grids_url_elt.hidden = false; grids_png_elt.hidden = false; } else { alert('ERROR: ' + result.error); } } /** * gets the grids url */ async function grids_request(net_id, recipient, amount, payload) { // format for network transmission let obj = { 'network_id': net_id, 'recipient': recipient, 'amount': amount, 'payload': payload }; let obj_text = JSON.stringify(obj, undefined, 4); let url = '/grids-spend'; let req_options = { method: 'POST', headers: { 'content-type': 'application/json' }, body: obj_text }; let result = { ok: false, error: 'IT DO BE LIKE THAT MISTA STANCIL' }; try { let response = await fetch(url, req_options); if (response.ok) result = await response.json(); else { console.log('bad http response:', response); result = { ok: false, error: 'BAD HTTP RESPONSE' }; } } catch (x) { console.log('network error:', x); result = { ok: false, error: 'NETWORK ERROR' }; } return result; } //# sourceMappingURL=grids-basic.js.map