WalletRelease.jsx
1 import React, { useEffect } from 'react'; 2 import styles from './walletrelease.module.scss'; 3 import useAuth from '../../auth/hooks/useAuth'; 4 5 const WalletRelease = () => { 6 const { repositoryActor } = useAuth(); 7 8 useEffect(() => { 9 if(repositoryActor) { 10 console.log("Found repository actor in wallet Release: ", repositoryActor); 11 } else { 12 console.log("Could not find repository actor in wallet release"); 13 } 14 }, [repositoryActor]); 15 16 const hashValue = async (val) => { 17 const hashBuffer = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(val)); 18 const hashArray = Array.from(new Uint8Array(hashBuffer)); 19 return hashArray; 20 }; 21 22 const appID = "Hanse_app"; 23 const version = "0.1.0"; 24 const features = "Wallet functionality"; 25 const size = 2; 26 27 const handleAddRelease = async () => { 28 try { 29 const wasmHash = await hashValue(JSON.stringify({ appID, version, features })); 30 console.log( 31 "App ID:", appID, 32 "Version:", version, 33 "Features:", features, 34 "Size:", size, 35 "Wasm Hash:", wasmHash 36 ); 37 38 if (!repositoryActor) { 39 console.log("Could not find repository actor in wallet release"); 40 return; 41 } 42 43 const res = await repositoryActor.add_release({ 44 app_id: appID, 45 version, 46 features, 47 size, 48 wasm_hash: wasmHash, 49 }); 50 console.log("Response:", res); 51 } catch (error) { 52 console.log("Could not add wasm release:", error); 53 } 54 }; 55 56 57 return ( 58 <div className={styles.container}> 59 <button onClick={handleAddRelease} className={styles.submitbutton}>Add Release</button> 60 </div> 61 62 ); 63 }; 64 65 export default WalletRelease;