register: set password update, eip712

This commit is contained in:
bitful-pannul 2024-07-03 12:22:56 +03:00
parent ddf7889cdf
commit fdb29d377b
71 changed files with 17245 additions and 210 deletions

View File

@ -2,7 +2,7 @@ use aes_gcm::{
aead::{Aead, AeadCore, KeyInit, OsRng},
Aes256Gcm, Key,
};
use alloy_primitives::keccak256;
use alloy_primitives::Keccak256;
use anyhow::Result;
use digest::generic_array::GenericArray;
use hmac::Hmac;
@ -142,16 +142,36 @@ pub fn get_username_and_routers(keyfile: &[u8]) -> Result<(String, Vec<String>),
Ok((username, routers))
}
pub fn namehash(name: &str) -> Vec<u8> {
let mut node = vec![0u8; 32];
// pub fn namehash(name: &str) -> Vec<u8> {
// let mut node = vec![0u8; 32];
// if name.is_empty() {
// return node;
// }
// let mut labels: Vec<&str> = name.split(".").collect();
// labels.reverse();
// for label in labels.iter() {
// node.append(&mut keccak256(label.as_bytes()).to_vec());
// node = keccak256(node.as_slice()).to_vec();
// }
// node
// }
pub fn namehash(name: &str) -> [u8; 32] {
let mut node = [0u8; 32];
if name.is_empty() {
return node;
}
let mut labels: Vec<&str> = name.split(".").collect();
let mut labels: Vec<&str> = name.split('.').collect();
labels.reverse();
for label in labels.iter() {
node.append(&mut keccak256(label.as_bytes()).to_vec());
node = keccak256(node.as_slice()).to_vec();
let mut hasher = Keccak256::new();
hasher.update(label.as_bytes());
let labelhash = hasher.finalize();
hasher = Keccak256::new();
hasher.update(&node);
hasher.update(labelhash);
node = hasher.finalize().into();
}
node
}

View File

@ -44,7 +44,7 @@ pub const CHAIN_ID: u64 = 10;
#[cfg(feature = "simulation-mode")]
pub const CHAIN_ID: u64 = 31337;
#[cfg(not(feature = "simulation-mode"))]
pub const KNS_ADDRESS: &str = "0xca5b5811c0c40aab3295f932b1b5112eb7bb4bd6";
pub const KNS_ADDRESS: &str = "0x0165878A594ca255338adfa4d48449f69242Eb8F";
#[cfg(feature = "simulation-mode")]
pub const KNS_ADDRESS: &str = "0x5FbDB2315678afecb367f032d93F642f64180aa3";

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var s='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 78 78"><path fill="url(%23a)" fill-rule="evenodd" d="m67.81 19.54 1.69-4.2s-2.14-2.35-4.75-5c-2.6-2.65-8.1-1.09-8.1-1.09L50.37 2H28.34l-6.28 7.25s-5.5-1.56-8.1 1.1c-2.6 2.64-4.75 4.98-4.75 4.98l1.69 4.21-2.15 6.24s6.3 24.3 7.04 27.28c1.46 5.84 2.45 8.1 6.58 11.06a513.66 513.66 0 0 0 12.85 8.89c1.23.78 2.76 2.1 4.13 2.1 1.38 0 2.91-1.32 4.14-2.1 1.22-.78 8.72-5.92 12.85-8.89 4.13-2.96 5.12-5.22 6.58-11.06.74-2.97 7.04-27.28 7.04-27.28l-2.15-6.24Z" clip-rule="evenodd"/><path fill="%23fff" fill-rule="evenodd" d="M39.35 47.5c.42 0 3.11.97 5.27 2.1 2.15 1.14 3.72 1.95 4.22 2.26.5.32.2.92-.26 1.25-.46.33-6.57 5.15-7.17 5.69-.6.53-1.46 1.41-2.06 1.41-.59 0-1.46-.88-2.05-1.41-.6-.54-6.71-5.36-7.17-5.69-.45-.33-.76-.93-.26-1.25.5-.31 2.07-1.12 4.22-2.25 2.16-1.14 4.85-2.1 5.26-2.1Zm.04-34.36c.2.01 1.36.07 3.02.63 1.84.63 3.83 1.4 4.75 1.4.92 0 7.73-1.32 7.73-1.32s8.06 9.94 8.06 12.06c0 2.13-1.01 2.69-2.03 3.8l-6.05 6.54c-.57.62-1.77 1.55-1.06 3.24.7 1.7 1.73 3.84.58 6.03-1.15 2.18-3.12 3.63-4.38 3.4-1.26-.25-4.23-1.83-5.32-2.55-1.09-.72-4.54-3.62-4.54-4.73 0-1.11 3.57-3.1 4.23-3.56.66-.45 3.67-2.2 3.73-2.9.06-.69.04-.89-.85-2.59-.89-1.7-2.49-3.97-2.22-5.48.26-1.51 2.84-2.3 4.68-3 1.84-.71 5.39-2.05 5.83-2.26.44-.2.33-.4-1.01-.53s-5.15-.65-6.86-.16c-1.72.49-4.65 1.23-4.89 1.62-.24.4-.45.4-.2 1.76.24 1.36 1.5 7.87 1.62 9.02.12 1.16.36 1.92-.87 2.2-1.22.3-3.28.79-3.99.79-.7 0-2.76-.5-3.99-.78-1.22-.29-.98-1.05-.86-2.2.12-1.16 1.38-7.67 1.62-9.03.25-1.35.04-1.37-.2-1.76-.24-.4-3.17-1.13-4.89-1.62-1.71-.49-5.52.03-6.86.16-1.34.13-1.46.32-1.01.53.44.21 3.98 1.55 5.83 2.26 1.84.7 4.42 1.49 4.68 3 .27 1.51-1.33 3.78-2.22 5.48-.89 1.7-.91 1.9-.85 2.6.06.68 3.07 2.44 3.73 2.89.66.45 4.23 2.45 4.23 3.56 0 1.1-3.45 4.01-4.54 4.73-1.1.72-4.06 2.3-5.32 2.54-1.26.24-3.23-1.21-4.38-3.4-1.15-2.18-.12-4.33.58-6.02.7-1.69-.49-2.62-1.06-3.24L17.8 29.7c-1.02-1.1-2.04-1.66-2.04-3.79 0-2.12 8.07-12.06 8.07-12.06s6.81 1.33 7.73 1.33c.92 0 2.9-.78 4.74-1.4a11.3 11.3 0 0 1 3.03-.64h.07Z" clip-rule="evenodd"/><mask id="b" width="52" height="14" x="13" y="2" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="%23fff" d="M56.64 9.25 50.37 2H28.34l-6.28 7.25s-5.5-1.56-8.1 1.1c0 0 7.34-.68 9.86 3.5 0 0 6.81 1.33 7.73 1.33.92 0 2.9-.78 4.74-1.4 1.84-.63 3.06-.64 3.06-.64s1.23 0 3.06.63c1.84.63 3.83 1.4 4.75 1.4.92 0 7.73-1.32 7.73-1.32 2.52-4.18 9.86-3.5 9.86-3.5-2.6-2.66-8.1-1.1-8.1-1.1Z"/></mask><g mask="url(%23b)"><path fill="url(%23c)" d="M56.64 9.25 50.37 2H28.34l-6.28 7.25s-5.5-1.56-8.1 1.1c0 0 7.34-.68 9.86 3.5 0 0 6.81 1.33 7.73 1.33.92 0 2.9-.78 4.74-1.4 1.84-.63 3.06-.64 3.06-.64s1.23 0 3.06.63c1.84.63 3.83 1.4 4.75 1.4.92 0 7.73-1.32 7.73-1.32 2.52-4.18 9.86-3.5 9.86-3.5-2.6-2.66-8.1-1.1-8.1-1.1Z"/></g><defs><linearGradient id="a" x1="8.75" x2="69.96" y1="39.07" y2="39.07" gradientUnits="userSpaceOnUse"><stop stop-color="%23F50"/><stop offset=".41" stop-color="%23F50"/><stop offset=".58" stop-color="%23FF2000"/><stop offset="1" stop-color="%23FF2000"/></linearGradient><linearGradient id="c" x1="15.05" x2="64.75" y1="8.68" y2="8.68" gradientUnits="userSpaceOnUse"><stop stop-color="%23FF452A"/><stop offset="1" stop-color="%23FF2000"/></linearGradient></defs></svg>';export{s as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 78 78"><path fill="url(%23a)" d="M71.034 20.5a37.001 37.001 0 0 0-64.084 0l2.22 39.96L71.034 20.5Z"/><path fill="url(%23b)" d="M22.979 48.25 6.958 20.5A37 37 0 0 0 39 76l36.26-37-52.281 9.25Z"/><path fill="url(%23c)" d="M55.021 48.25 39 76a37.001 37.001 0 0 0 32.035-55.5H39l16.021 27.75Z"/><path fill="%23fff" d="M39 57.5a18.5 18.5 0 1 0 0-37 18.5 18.5 0 0 0 0 37Z"/><path fill="%231A73E8" d="M39 53.652a14.65 14.65 0 0 0 13.536-20.26A14.653 14.653 0 1 0 39 53.653Z"/><defs><linearGradient id="a" x1="6.958" x2="71.034" y1="25.125" y2="25.125" gradientUnits="userSpaceOnUse"><stop stop-color="%23D93025"/><stop offset="1" stop-color="%23EA4335"/></linearGradient><linearGradient id="b" x1="43.003" x2="10.961" y1="73.684" y2="18.184" gradientUnits="userSpaceOnUse"><stop stop-color="%231E8E3E"/><stop offset="1" stop-color="%2334A853"/></linearGradient><linearGradient id="c" x1="33.598" x2="65.64" y1="76" y2="20.596" gradientUnits="userSpaceOnUse"><stop stop-color="%23FCC934"/><stop offset="1" stop-color="%23FBBC04"/></linearGradient></defs></svg>';export{t as default};

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 78 78"><g clip-path="url(%23a)"><path fill="url(%23b)" d="M68.802 57.066c-.992.516-2.016.97-3.064 1.359a29.456 29.456 0 0 1-10.377 1.85c-13.673 0-25.582-9.395-25.582-21.477a9.106 9.106 0 0 1 4.74-7.892c-12.371.52-15.551 13.413-15.551 20.957 0 21.39 19.685 23.53 23.934 23.53 2.284 0 5.724-.665 7.805-1.33l.376-.115a37.088 37.088 0 0 0 19.251-15.263 1.156 1.156 0 0 0-1.532-1.619Z"/><path fill="url(%23c)" d="M68.802 57.066c-.992.516-2.016.97-3.064 1.359a29.456 29.456 0 0 1-10.377 1.85c-13.673 0-25.582-9.395-25.582-21.477a9.106 9.106 0 0 1 4.74-7.892c-12.371.52-15.551 13.413-15.551 20.957 0 21.39 19.685 23.53 23.934 23.53 2.284 0 5.724-.665 7.805-1.33l.376-.115a37.088 37.088 0 0 0 19.251-15.263 1.156 1.156 0 0 0-1.532-1.619Z" opacity=".35"/><path fill="url(%23d)" d="M32.554 71.751a22.894 22.894 0 0 1-6.562-6.157 23.329 23.329 0 0 1 8.527-34.687c.925-.434 2.458-1.186 4.51-1.157a9.365 9.365 0 0 1 7.429 3.758 9.222 9.222 0 0 1 1.82 5.406c0-.058 7.083-23.01-23.124-23.01-12.69 0-23.125 12.025-23.125 22.605a37.636 37.636 0 0 0 3.498 16.188 37 37 0 0 0 45.209 19.367 21.825 21.825 0 0 1-18.153-2.313h-.03Z"/><path fill="url(%23e)" d="M32.554 71.751a22.894 22.894 0 0 1-6.562-6.157 23.329 23.329 0 0 1 8.527-34.687c.925-.434 2.458-1.186 4.51-1.157a9.365 9.365 0 0 1 7.429 3.758 9.222 9.222 0 0 1 1.82 5.406c0-.058 7.083-23.01-23.124-23.01-12.69 0-23.125 12.025-23.125 22.605a37.636 37.636 0 0 0 3.498 16.188 37 37 0 0 0 45.209 19.367 21.825 21.825 0 0 1-18.153-2.313h-.03Z" opacity=".41"/><path fill="url(%23f)" d="M46.053 45.013c-.26.289-.983.722-.983 1.618 0 .752.492 1.503 1.388 2.11 4.133 2.891 11.967 2.486 11.996 2.486a17.227 17.227 0 0 0 8.759-2.399A17.748 17.748 0 0 0 76 33.537c.087-6.475-2.313-10.782-3.266-12.69C66.577 8.88 53.366 2 39 2A37 37 0 0 0 2 38.48c.145-10.551 10.637-19.078 23.125-19.078 1.012 0 6.793.086 12.14 2.89a20.986 20.986 0 0 1 8.933 8.47c1.763 3.064 2.08 6.966 2.08 8.527 0 1.561-.78 3.845-2.254 5.752l.03-.028Z"/><path fill="url(%23g)" d="M46.053 45.013c-.26.289-.983.722-.983 1.618 0 .752.492 1.503 1.388 2.11 4.133 2.891 11.967 2.486 11.996 2.486a17.227 17.227 0 0 0 8.759-2.399A17.748 17.748 0 0 0 76 33.537c.087-6.475-2.313-10.782-3.266-12.69C66.577 8.88 53.366 2 39 2A37 37 0 0 0 2 38.48c.145-10.551 10.637-19.078 23.125-19.078 1.012 0 6.793.086 12.14 2.89a20.986 20.986 0 0 1 8.933 8.47c1.763 3.064 2.08 6.966 2.08 8.527 0 1.561-.78 3.845-2.254 5.752l.03-.028Z"/></g><defs><radialGradient id="c" cx="0" cy="0" r="1" gradientTransform="matrix(27.5766 0 0 26.1977 47.44 53.553)" gradientUnits="userSpaceOnUse"><stop offset=".7" stop-opacity="0"/><stop offset=".9" stop-opacity=".5"/><stop offset="1"/></radialGradient><radialGradient id="e" cx="0" cy="0" r="1" gradientTransform="matrix(6.20902 -40.9798 33.10754 5.01627 22.395 59.506)" gradientUnits="userSpaceOnUse"><stop offset=".8" stop-opacity="0"/><stop offset=".9" stop-opacity=".5"/><stop offset="1"/></radialGradient><radialGradient id="f" cx="0" cy="0" r="1" gradientTransform="matrix(-2.34024 58.50621 -124.60636 -4.98423 9.484 15.677)" gradientUnits="userSpaceOnUse"><stop stop-color="%2335C1F1"/><stop offset=".1" stop-color="%2334C1ED"/><stop offset=".2" stop-color="%232FC2DF"/><stop offset=".3" stop-color="%232BC3D2"/><stop offset=".7" stop-color="%2336C752"/></radialGradient><radialGradient id="g" cx="0" cy="0" r="1" gradientTransform="rotate(73.74 19.467 59.767) scale(28.1258 22.8719)" gradientUnits="userSpaceOnUse"><stop stop-color="%2366EB6E"/><stop offset="1" stop-color="%2366EB6E" stop-opacity="0"/></radialGradient><linearGradient id="b" x1="18.968" x2="70.537" y1="53.164" y2="53.164" gradientUnits="userSpaceOnUse"><stop stop-color="%230C59A4"/><stop offset="1" stop-color="%23114A8B"/></linearGradient><linearGradient id="d" x1="46.14" x2="13.967" y1="30.791" y2="65.854" gradientUnits="userSpaceOnUse"><stop stop-color="%231B9DE2"/><stop offset=".2" stop-color="%231595DF"/><stop offset=".7" stop-color="%230680D7"/><stop offset="1" stop-color="%230078D4"/></linearGradient><clipPath id="a"><path fill="%23fff" d="M0 0h74v74H0z" transform="translate(2 2)"/></clipPath></defs></svg>';export{t as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78 78"><linearGradient id="a" x2="1" gradientTransform="matrix(0 -54.944 -54.944 0 23.62 79.474)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%23ff1b2d"/><stop offset=".3" stop-color="%23ff1b2d"/><stop offset=".614" stop-color="%23ff1b2d"/><stop offset="1" stop-color="%23a70014"/></linearGradient><linearGradient id="b" x2="1" gradientTransform="matrix(0 -48.595 -48.595 0 37.854 76.235)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%239c0000"/><stop offset=".7" stop-color="%23ff4b4b"/><stop offset="1" stop-color="%23ff4b4b"/></linearGradient><path fill="url(%23a)" d="M28.346 80.398C12.691 80.398 0 67.707 0 52.052 0 36.85 11.968 24.443 26.996 23.739a28.244 28.244 0 0 1 20.241 7.18c-3.322-2.203-7.207-3.47-11.359-3.47-6.75 0-12.796 3.348-16.862 8.629-3.134 3.7-5.164 9.169-5.302 15.307v1.335c.138 6.137 2.168 11.608 5.302 15.307 4.066 5.28 10.112 8.63 16.862 8.63 4.152 0 8.038-1.269 11.36-3.474a28.239 28.239 0 0 1-18.785 7.215l-.108.001z" transform="matrix(1.3333 0 0 -1.3333 0 107.2)"/><path fill="url(%23b)" d="M19.016 68.025c2.601 3.07 5.96 4.923 9.631 4.923 8.252 0 14.941-9.356 14.941-20.897s-6.69-20.897-14.941-20.897c-3.67 0-7.03 1.85-9.63 4.922 4.066-5.281 10.11-8.63 16.862-8.63 4.152 0 8.036 1.268 11.359 3.472 5.802 5.19 9.455 12.735 9.455 21.133 0 8.397-3.653 15.94-9.453 21.13-3.324 2.206-7.209 3.473-11.361 3.473-6.75 0-12.796-3.348-16.862-8.63" transform="matrix(1.3333 0 0 -1.3333 0 107.2)"/></svg>';export{t as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="none"><g clip-path="url(%23a)"><path fill="%230078D4" d="M0 0h22.755v22.745H0V0Zm25.245 0H48v22.745H25.245V0ZM0 25.245h22.755V48H0V25.245Zm25.245 0H48V48H25.245"/></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h48v48H0z"/></clipPath></defs></svg>';export{a as default};

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><rect width="26.6" height="26.6" x=".7" y=".7" fill="%232D374B" stroke="%2396BEDC" stroke-width="1.4" rx="13.3"/><mask id="a" width="28" height="28" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><rect width="28" height="28" fill="%23C4C4C4" rx="14"/></mask><g mask="url(%23a)"><path fill="%2328A0F0" d="m14.0861 18.6041 6.5014 10.2239 4.0057-2.3213-7.86-12.3943-2.6471 4.4917Zm13.0744 3.4692-.003-1.8599-7.3064-11.407-2.3087 3.9173 7.091 11.4303 2.172-1.2586a.9628.9628 0 0 0 .3555-.7009l-.0004-.1212Z"/><rect width="25.9" height="25.9" x="1.05" y="1.05" fill="url(%23b)" fill-opacity=".3" stroke="%2396BEDC" stroke-width="2.1" rx="12.95"/><path fill="%23fff" d="m.3634 28.2207-3.07-1.7674-.234-.8333L7.7461 9.0194c.7298-1.1913 2.3197-1.575 3.7957-1.5541l1.7323.0457L.3634 28.2207ZM19.1655 7.511l-4.5653.0166L2.24 27.9533l3.6103 2.0788.9818-1.6652L19.1655 7.511Z"/></g><defs><linearGradient id="b" x1="0" x2="14" y1="0" y2="28" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity="0"/></linearGradient></defs></svg>%0A';export{t as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path fill="%23fff" d="M23 5H5v18h18V5Z"/><path fill="%23E84142" fill-rule="evenodd" d="M14 28c-7.513.008-14-6.487-14-14C0 6.196 6.043-.008 14 0c7.95.008 14 6.196 14 14 0 7.505-6.495 13.992-14 14Zm-3.971-7.436H7.315c-.57 0-.851 0-1.023-.11a.69.69 0 0 1-.313-.54c-.01-.202.13-.45.412-.944l6.7-11.809c.285-.501.43-.752.612-.845.195-.1.429-.1.625 0 .182.093.326.344.611.845l1.377 2.404.007.013c.308.538.464.81.533 1.097a2.04 2.04 0 0 1 0 .954c-.07.289-.224.564-.536 1.11l-3.52 6.22-.009.017c-.31.542-.467.817-.684 1.024a2.048 2.048 0 0 1-.835.485c-.285.079-.604.079-1.243.079Zm6.852 0h3.888c.574 0 .862 0 1.034-.113a.687.687 0 0 0 .313-.543c.01-.196-.128-.434-.398-.9a8.198 8.198 0 0 1-.028-.048l-1.948-3.332-.022-.037c-.274-.463-.412-.697-.59-.787a.684.684 0 0 0-.621 0c-.179.093-.323.337-.608.828l-1.94 3.331-.007.012c-.284.49-.426.735-.416.936.014.22.127.423.313.543.168.11.456.11 1.03.11Z" clip-rule="evenodd"/></svg>%0A';export{l as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><g fill="none" fill-rule="evenodd"><path fill="%230052FF" fill-rule="nonzero" d="M14 28a14 14 0 1 0 0-28 14 14 0 0 0 0 28Z"/><path fill="%23FFF" d="M13.967 23.86c5.445 0 9.86-4.415 9.86-9.86 0-5.445-4.415-9.86-9.86-9.86-5.166 0-9.403 3.974-9.825 9.03h14.63v1.642H4.142c.413 5.065 4.654 9.047 9.826 9.047Z"/></g></svg>';export{l as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><rect width="28" height="28" fill="%23000" rx="14"/><rect width="28" height="28" fill="url(%23a)" fill-opacity=".1" rx="14"/><path fill="%23FCFC03" d="M7.735 7.836 5.581 9.73c-.163.137-.065.447.163.447h13.773c.163 0 .261.173.229.345l-.686 2.1a.247.247 0 0 1-.228.173h-5.353a.247.247 0 0 0-.228.172l-.555 1.515a.253.253 0 0 0 .228.345h5.19c.163 0 .26.172.228.344l-.816 2.652a.247.247 0 0 1-.228.172H9.563c-.163 0-.261-.172-.229-.31l1.534-5.786c.033-.103-.032-.24-.098-.275l-1.631-.999c-.131-.069-.294 0-.36.138l-2.545 9.16c-.065.173.065.31.228.31h10.346c.033 0 .066 0 .098-.034l2.579-1.309a.262.262 0 0 0 .13-.137l1.012-3.134c.033-.07 0-.207-.065-.242l-1.208-1.274c-.098-.103-.065-.344.065-.413l1.86-.93c.066-.034.099-.069.099-.137l1.11-3.134c.032-.104 0-.241-.066-.276l-1.534-1.377c-.065-.035-.065-.07-.163-.07H7.898a.535.535 0 0 0-.163.07Z"/><defs><linearGradient id="a" x1="0" x2="14" y1="0" y2="28" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity="0"/></linearGradient></defs></svg>';export{l as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><g clip-path="url(%23a)"><path fill="%23F0B90B" fill-rule="evenodd" d="M14 0c7.733 0 14 6.267 14 14s-6.267 14-14 14S0 21.733 0 14 6.267 0 14 0Z" clip-rule="evenodd"/><path fill="%23fff" d="m7.694 14 .01 3.702 3.146 1.85v2.168l-4.986-2.924v-5.878L7.694 14Zm0-3.702v2.157l-1.832-1.083V9.214l1.832-1.083 1.841 1.083-1.84 1.084Zm4.47-1.084 1.832-1.083 1.84 1.083-1.84 1.084-1.832-1.084Z"/><path fill="%23fff" d="M9.018 16.935v-2.168l1.832 1.084v2.157l-1.832-1.073Zm3.146 3.394 1.832 1.084 1.84-1.084v2.157l-1.84 1.084-1.832-1.084V20.33Zm6.3-11.115 1.832-1.083 1.84 1.083v2.158l-1.84 1.083v-2.157l-1.832-1.084Zm1.832 8.488.01-3.702 1.831-1.084v5.879l-4.986 2.924v-2.167l3.145-1.85Z"/><path fill="%23fff" d="m18.982 16.935-1.832 1.073v-2.157l1.832-1.084v2.168Z"/><path fill="%23fff" d="m18.982 11.065.01 2.168-3.155 1.85v3.712l-1.831 1.073-1.832-1.073v-3.711l-3.155-1.851v-2.168l1.84-1.083 3.135 1.86 3.155-1.86 1.84 1.083h-.007Zm-9.964-3.7 4.977-2.935 4.987 2.935-1.832 1.083-3.154-1.86-3.146 1.86-1.832-1.083Z"/></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{l as default};

View File

@ -0,0 +1 @@
import{B as p,g as m,s as y,d as w,i as k,c as O,a as E,e as L,H as h,b as x}from"./index-Cfl21yUb.js";class M extends p{constructor({callbackSelector:s,cause:e,data:n,extraData:c,sender:u,urls:t}){var i;super(e.shortMessage||"An error occurred while fetching for an offchain result.",{cause:e,metaMessages:[...e.metaMessages||[],(i=e.metaMessages)!=null&&i.length?"":[],"Offchain Gateway Call:",t&&[" Gateway URL(s):",...t.map(f=>` ${m(f)}`)],` Sender: ${u}`,` Data: ${n}`,` Callback selector: ${s}`,` Extra data: ${c}`].flat()}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupError"})}}class R extends p{constructor({result:s,url:e}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${m(e)}`,`Response: ${y(s)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupResponseMalformedError"})}}class $ extends p{constructor({sender:s,to:e}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${e}`,`OffchainLookup sender address: ${s}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupSenderMismatchError"})}}const j="0x556f1830",S={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function v(o,{blockNumber:s,blockTag:e,data:n,to:c}){const{args:u}=w({data:n,abi:[S]}),[t,i,f,a,r]=u,{ccipRead:d}=o,b=d&&typeof(d==null?void 0:d.request)=="function"?d.request:q;try{if(!k(c,t))throw new $({sender:t,to:c});const l=await b({data:f,sender:t,urls:i}),{data:g}=await O(o,{blockNumber:s,blockTag:e,data:E([a,L([{type:"bytes"},{type:"bytes"}],[l,r])]),to:c});return g}catch(l){throw new M({callbackSelector:a,cause:l,data:n,extraData:r,sender:t,urls:i})}}async function q({data:o,sender:s,urls:e}){var c;let n=new Error("An unknown error occurred.");for(let u=0;u<e.length;u++){const t=e[u],i=t.includes("{data}")?"GET":"POST",f=i==="POST"?{data:o,sender:s}:void 0;try{const a=await fetch(t.replace("{sender}",s).replace("{data}",o),{body:JSON.stringify(f),method:i});let r;if((c=a.headers.get("Content-Type"))!=null&&c.startsWith("application/json")?r=(await a.json()).data:r=await a.text(),!a.ok){n=new h({body:f,details:r!=null&&r.error?y(r.error):a.statusText,headers:a.headers,status:a.status,url:t});continue}if(!x(r)){n=new R({result:r,url:t});continue}return r}catch(a){n=new h({body:f,details:a.message,url:t})}}throw n}export{q as ccipRequest,v as offchainLookup,S as offchainLookupAbiItem,j as offchainLookupSignature};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var e='data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<rect width="28" height="28" fill="%232C5FF6"/>%0A<path fill-rule="evenodd" clip-rule="evenodd" d="M14 23.8C19.4124 23.8 23.8 19.4124 23.8 14C23.8 8.58761 19.4124 4.2 14 4.2C8.58761 4.2 4.2 8.58761 4.2 14C4.2 19.4124 8.58761 23.8 14 23.8ZM11.55 10.8C11.1358 10.8 10.8 11.1358 10.8 11.55V16.45C10.8 16.8642 11.1358 17.2 11.55 17.2H16.45C16.8642 17.2 17.2 16.8642 17.2 16.45V11.55C17.2 11.1358 16.8642 10.8 16.45 10.8H11.55Z" fill="white"/>%0A</svg>%0A';export{e as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="none"><g clip-path="url(%23a)"><path fill="url(%23b)" d="M0 16c0-5.6 0-8.4 1.09-10.54a10 10 0 0 1 4.37-4.37C7.6 0 10.4 0 16 0h16c5.6 0 8.4 0 10.54 1.09a10 10 0 0 1 4.37 4.37C48 7.6 48 10.4 48 16v16c0 5.6 0 8.4-1.09 10.54a10.001 10.001 0 0 1-4.37 4.37C40.4 48 37.6 48 32 48H16c-5.6 0-8.4 0-10.54-1.09a10 10 0 0 1-4.37-4.37C0 40.4 0 37.6 0 32V16Z"/><path fill="%23000" fill-opacity=".08" fill-rule="evenodd" d="M1.133 9.513C1 11.131 1 13.183 1 16v16c0 2.817 0 4.87.133 6.486.131 1.606.387 2.695.848 3.6a9 9 0 0 0 3.933 3.933c.905.461 1.994.717 3.6.848C11.13 47 13.183 47 16 47h16c2.817 0 4.87 0 6.486-.133 1.606-.131 2.695-.387 3.6-.848a9 9 0 0 0 3.933-3.933c.461-.905.717-1.994.848-3.6C47 36.87 47 34.816 47 32V16c0-2.817 0-4.87-.133-6.487-.131-1.605-.387-2.694-.848-3.599a9 9 0 0 0-3.933-3.933c-.905-.461-1.994-.717-3.6-.848C36.87 1 34.816 1 32 1H16c-2.817 0-4.87 0-6.487.133-1.605.131-2.694.387-3.599.848a9 9 0 0 0-3.933 3.933c-.461.905-.717 1.994-.848 3.6ZM1.09 5.46C0 7.6 0 10.4 0 16v16c0 5.6 0 8.4 1.09 10.54a10 10 0 0 0 4.37 4.37C7.6 48 10.4 48 16 48h16c5.6 0 8.4 0 10.54-1.09a10.001 10.001 0 0 0 4.37-4.37C48 40.4 48 37.6 48 32V16c0-5.6 0-8.4-1.09-10.54a10 10 0 0 0-4.37-4.37C40.4 0 37.6 0 32 0H16C10.4 0 7.6 0 5.46 1.09a10 10 0 0 0-4.37 4.37Z" clip-rule="evenodd"/><g clip-path="url(%23c)"><path fill="%23000" fill-opacity=".12" d="M24.716 35.795c.531 0 .968-.234 1.452-.687l9.989-9.38c.537-.512.679-.939.679-1.33 0-.4-.129-.823-.68-1.34l-9.988-9.318c-.527-.497-.903-.74-1.435-.74-.762 0-1.271.592-1.271 1.32v5.075h-.44C14.403 19.395 10 24.689 10 34.373c0 .903.52 1.422 1.119 1.422.482 0 .944-.15 1.31-.857 2.031-4.108 5.295-5.486 10.594-5.486h.439v5.062c0 .73.509 1.281 1.254 1.281Z"/></g><g clip-path="url(%23d)"><path fill="%23fff" d="M24.716 34.795c.531 0 .968-.234 1.452-.687l9.989-9.38c.537-.512.679-.939.679-1.33 0-.4-.129-.823-.68-1.34l-9.988-9.318c-.527-.497-.903-.74-1.435-.74-.762 0-1.271.592-1.271 1.32v5.075h-.44C14.403 18.395 10 23.689 10 33.373c0 .903.52 1.422 1.119 1.422.482 0 .944-.15 1.31-.857 2.031-4.108 5.295-5.486 10.594-5.486h.439v5.062c0 .73.509 1.281 1.254 1.281Z"/></g></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h48v48H0z"/></clipPath><clipPath id="c"><path fill="%23fff" d="M10 13h26.836v22.808H10z"/></clipPath><clipPath id="d"><path fill="%23fff" d="M10 12h26.836v22.808H10z"/></clipPath><linearGradient id="b" x1="24" x2="24" y1="0" y2="48" gradientUnits="userSpaceOnUse"><stop stop-color="%2359627A"/><stop offset="1" stop-color="%234A5266"/></linearGradient></defs></svg>';export{l as default};

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><path fill="url(%23a)" d="M0 16c0-5.6 0-8.4 1.09-10.54a10 10 0 0 1 4.37-4.37C7.6 0 10.4 0 16 0h16c5.6 0 8.4 0 10.54 1.09a10 10 0 0 1 4.37 4.37C48 7.6 48 10.4 48 16v16c0 5.6 0 8.4-1.09 10.54a10.001 10.001 0 0 1-4.37 4.37C40.4 48 37.6 48 32 48H16c-5.6 0-8.4 0-10.54-1.09a10 10 0 0 1-4.37-4.37C0 40.4 0 37.6 0 32V16Z"/><path fill="url(%23b)" fill-opacity=".7" d="M0 16c0-5.6 0-8.4 1.09-10.54a10 10 0 0 1 4.37-4.37C7.6 0 10.4 0 16 0h16c5.6 0 8.4 0 10.54 1.09a10 10 0 0 1 4.37 4.37C48 7.6 48 10.4 48 16v16c0 5.6 0 8.4-1.09 10.54a10.001 10.001 0 0 1-4.37 4.37C40.4 48 37.6 48 32 48H16c-5.6 0-8.4 0-10.54-1.09a10 10 0 0 1-4.37-4.37C0 40.4 0 37.6 0 32V16Z" style="mix-blend-mode:screen"/><path fill="%23000" fill-opacity=".04" fill-rule="evenodd" d="M32 1H16c-2.817 0-4.87 0-6.487.133-1.605.131-2.694.387-3.599.848a9 9 0 0 0-3.933 3.933c-.461.905-.717 1.994-.848 3.6C1 11.13 1 13.183 1 16v16c0 2.817 0 4.87.133 6.486.131 1.606.387 2.695.848 3.6a9 9 0 0 0 3.933 3.933c.905.461 1.994.717 3.6.848C11.13 47 13.183 47 16 47h16c2.817 0 4.87 0 6.486-.133 1.606-.131 2.695-.387 3.6-.848a9 9 0 0 0 3.933-3.933c.461-.905.717-1.994.848-3.6C47 36.87 47 34.816 47 32V16c0-2.817 0-4.87-.133-6.487-.131-1.605-.387-2.694-.848-3.599a9 9 0 0 0-3.933-3.933c-.905-.461-1.994-.717-3.6-.848C36.87 1 34.816 1 32 1ZM1.09 5.46C0 7.6 0 10.4 0 16v16c0 5.6 0 8.4 1.09 10.54a10 10 0 0 0 4.37 4.37C7.6 48 10.4 48 16 48h16c5.6 0 8.4 0 10.54-1.09a10.001 10.001 0 0 0 4.37-4.37C48 40.4 48 37.6 48 32V16c0-5.6 0-8.4-1.09-10.54a10 10 0 0 0-4.37-4.37C40.4 0 37.6 0 32 0H16C10.4 0 7.6 0 5.46 1.09a10 10 0 0 0-4.37 4.37Z" clip-rule="evenodd"/><path fill="%23000" fill-opacity=".12" d="M24 13a1.5 1.5 0 0 0-1.5 1.5v8.2c0 .28 0 .42-.055.527a.5.5 0 0 1-.218.218c-.107.055-.247.055-.527.055h-8.2a1.5 1.5 0 0 0 0 3h8.2c.28 0 .42 0 .527.055a.5.5 0 0 1 .218.218c.055.107.055.247.055.527v8.2a1.5 1.5 0 0 0 3 0v-8.2c0-.28 0-.42.055-.527a.5.5 0 0 1 .218-.218c.107-.055.247-.055.527-.055h8.2a1.5 1.5 0 0 0 0-3h-8.2c-.28 0-.42 0-.527-.055a.5.5 0 0 1-.218-.218c-.055-.107-.055-.247-.055-.527v-8.2A1.5 1.5 0 0 0 24 13Z"/><path fill="%23fff" d="M24 12a1.5 1.5 0 0 0-1.5 1.5v8.2c0 .28 0 .42-.055.527a.5.5 0 0 1-.218.218c-.107.055-.247.055-.527.055h-8.2a1.5 1.5 0 0 0 0 3h8.2c.28 0 .42 0 .527.055a.5.5 0 0 1 .218.218c.055.107.055.247.055.527v8.2a1.5 1.5 0 0 0 3 0v-8.2c0-.28 0-.42.055-.527a.5.5 0 0 1 .218-.218c.107-.055.247-.055.527-.055h8.2a1.5 1.5 0 0 0 0-3h-8.2c-.28 0-.42 0-.527-.055a.5.5 0 0 1-.218-.218c-.055-.107-.055-.247-.055-.527v-8.2A1.5 1.5 0 0 0 24 12Z"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="rotate(-40.077 73.374 58.603) scale(94.7484)" gradientUnits="userSpaceOnUse"><stop offset=".276" stop-color="%2320FF4D"/><stop offset=".464" stop-color="%231499FF"/><stop offset=".755" stop-color="%23FF6FC5"/><stop offset="1" stop-color="%23BC67FF"/></radialGradient><radialGradient id="b" cx="0" cy="0" r="1" gradientTransform="rotate(45 5.303 -12.803) scale(78.4889)" gradientUnits="userSpaceOnUse"><stop stop-color="red"/><stop offset="1" stop-color="%2300A3FF"/></radialGradient></defs></svg>';export{a as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="28" height="28"><defs><linearGradient id="A" x1="-18.275%" x2="84.959%" y1="8.219%" y2="71.393%"><stop offset="0%" stop-color="%23002d74"/><stop offset="100%" stop-color="%23001246"/></linearGradient><circle id="B" cx="14" cy="14" r="14"/></defs><g fill-rule="evenodd"><mask id="C" fill="%23fff"><use xlink:href="%23B"/></mask><g fill-rule="nonzero"><path fill="url(%23A)" d="M-1.326-1.326h30.651v30.651H-1.326z" mask="url(%23C)"/><g fill="%23fff"><path d="M14.187 6L7 10.175v8.35l7.187 4.175 7.175-4.175v-8.35L14.187 6zm5.046 11.286l-5.058 2.936-5.046-2.936v-5.871l5.058-2.936 5.046 2.936v5.871z"/><path d="M14.187 22.7l7.175-4.175v-8.35L14.187 6v2.479l5.046 2.936v5.883l-5.058 2.936V22.7h.012z"/><path d="M14.175 6L7 10.175v8.35l7.175 4.175v-2.479l-5.046-2.936v-5.883l5.046-2.924V6zm3.36 10.299l-3.348 1.949-3.36-1.949v-3.898l3.36-1.949 3.348 1.949-1.399.818-1.961-1.143-1.949 1.143v2.274l1.961 1.143 1.961-1.143 1.387.806z"/></g></g></g></svg>';export{l as default};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var e='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path fill="%2325292E" fill-rule="evenodd" d="M14 28a14 14 0 1 0 0-28 14 14 0 0 0 0 28Z" clip-rule="evenodd"/><path fill="url(%23a)" fill-opacity=".3" fill-rule="evenodd" d="M14 28a14 14 0 1 0 0-28 14 14 0 0 0 0 28Z" clip-rule="evenodd"/><path fill="url(%23b)" d="M8.19 14.77 14 18.21l5.8-3.44-5.8 8.19-5.81-8.19Z"/><path fill="%23fff" d="m14 16.93-5.81-3.44L14 4.34l5.81 9.15L14 16.93Z"/><defs><linearGradient id="a" x1="0" x2="14" y1="0" y2="28" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity="0"/></linearGradient><linearGradient id="b" x1="14" x2="14" y1="14.77" y2="22.96" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity=".9"/></linearGradient></defs></svg>%0A';export{e as default};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><rect width="28" height="28" fill="url(%23a)" rx="14"/><g clip-path="url(%23b)"><path fill="%23FFF100" d="M22.458 18.409v-.875c0-.162-.258-.317-.72-.457l.011-1.088c0-1.676-.49-3.312-1.402-4.685a7.833 7.833 0 0 0-3.702-2.994l-.033-.218a.639.639 0 0 0-.138-.315.592.592 0 0 0-.277-.188 7.429 7.429 0 0 0-4.395 0 .592.592 0 0 0-.278.188.64.64 0 0 0-.14.315l-.031.203a7.83 7.83 0 0 0-3.727 2.991 8.474 8.474 0 0 0-1.414 4.703v1.093c-.456.139-.71.292-.71.454v.874a.224.224 0 0 0 .03.147c.227-.178.487-.303.764-.366.704-.181 1.42-.307 2.143-.378.202-.024.407-.003.601.063s.372.174.523.318a2.945 2.945 0 0 0 2.043.836h4.748c.756 0 1.485-.299 2.043-.836a1.42 1.42 0 0 1 .522-.32c.194-.067.4-.09.602-.066a14.2 14.2 0 0 1 2.143.376c.262.053.51.167.724.334.012.013.027.024.037.036a.227.227 0 0 0 .033-.145Z"/><path fill="url(%23c)" d="M9.574 16.569c-.006-.2-.01-.402-.01-.604.003-3.04.677-5.765 1.79-7.668a7.83 7.83 0 0 0-3.728 2.99 8.474 8.474 0 0 0-1.414 4.702v1.093a17.98 17.98 0 0 1 3.362-.513Z"/><path fill="url(%23d)" d="M21.749 15.989a8.409 8.409 0 0 0-1.773-5.199c.498 1.674.746 3.42.735 5.173 0 .296-.008.59-.02.88a9.2 9.2 0 0 1 1.045.234l.013-1.088Z"/><path fill="url(%23e)" d="M21.664 18.187c-.705-.18-1.42-.306-2.143-.377a1.365 1.365 0 0 0-.602.064 1.416 1.416 0 0 0-.523.32 2.943 2.943 0 0 1-2.043.835h-4.745a2.945 2.945 0 0 1-2.043-.835 1.417 1.417 0 0 0-.522-.322 1.366 1.366 0 0 0-.602-.065 14.18 14.18 0 0 0-2.143.377 1.962 1.962 0 0 0-.764.367c.36.58 4.006 1.19 8.448 1.19s8.086-.612 8.447-1.19c-.013-.012-.027-.023-.037-.035a1.8 1.8 0 0 0-.728-.329Z"/><path fill="%230A0A0A" d="m13.98 9.823-1.818 3.258 1.817 1.188V9.824Z"/><path fill="%234B4D4D" d="M13.98 9.824v4.444l1.817-1.186-1.817-3.258Zm0 5.09v1.55c.034-.052 1.817-2.738 1.817-2.74l-1.817 1.19Z"/><path fill="%230A0A0A" d="m13.98 14.914-1.818-1.187 1.818 2.737v-1.55Z"/></g><defs><linearGradient id="a" x1="14" x2="14" y1="0" y2="28" gradientUnits="userSpaceOnUse"><stop stop-color="%23F7F1FD"/><stop offset="1" stop-color="%23FBFCDC"/></linearGradient><linearGradient id="c" x1="8.783" x2="8.783" y1="17.082" y2="8.297" gradientUnits="userSpaceOnUse"><stop stop-color="%23EDCF00"/><stop offset=".33" stop-color="%23F0D500"/><stop offset=".77" stop-color="%23F9E500"/><stop offset="1" stop-color="%23FFF100"/></linearGradient><linearGradient id="d" x1="20.862" x2="20.862" y1="17.146" y2="10.79" gradientUnits="userSpaceOnUse"><stop stop-color="%23EDCF00"/><stop offset=".59" stop-color="%23F7E100"/><stop offset="1" stop-color="%23FFF100"/></linearGradient><radialGradient id="e" cx="0" cy="0" r="1" gradientTransform="matrix(6.30353 0 0 6.64935 6.45 23.084)" gradientUnits="userSpaceOnUse"><stop stop-color="%23FFF100"/><stop offset=".23" stop-color="%23F9E500"/><stop offset=".67" stop-color="%23F0D500"/><stop offset="1" stop-color="%23EDCF00"/></radialGradient><clipPath id="b"><path fill="%23fff" d="M0 0h17v13H0z" transform="translate(5.5 7)"/></clipPath></defs></svg>%0A';export{t as default};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><g clip-path="url(%23a)"><path fill="%23F9F7EC" d="M14 28c7.732 0 14-6.268 14-14S21.732 0 14 0 0 6.268 0 14s6.268 14 14 14Z"/><g clip-path="url(%23b)"><mask id="c" width="28" height="28" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="%23fff" d="M28 0H0v28h28V0Z"/></mask><g mask="url(%23c)"><path fill="url(%23d)" fill-rule="evenodd" d="M6.51 24.04A12.508 12.508 0 0 1 1.473 14C1.474 7.082 7.082 1.474 14 1.474c5.71 0 11.945 3.412 13.453 8.637C25.768 4.272 20.383 0 14 0 6.268 0 0 6.268 0 14s6.268 14 14 14 14-6.268 14-14v-.737h-.77l-.102-.001c-.09-.002-.222-.004-.387-.01-.33-.011-.789-.034-1.303-.078-1.05-.092-2.248-.27-3.064-.596-1.313-.524-2.054-1.219-2.9-2.032l-.05-.047c-.848-.815-1.8-1.73-3.452-2.508-1.628-.766-3.427-.643-4.749-.37a12.04 12.04 0 0 0-2.138.656c-.665.28-1.31.611-1.964.919 0 0 1.281.351 1.915.547l.106.034a7.416 7.416 0 0 1 1.605.767c.683.44 1.25.992 1.482 1.671-1.451.19-2.812.828-3.83 1.426a15.679 15.679 0 0 0-1.91 1.33c-.084.068-1.394 1.222-1.394 1.222s1.69.18 2.524.348c.555.112 1.303.292 2.083.564.784.274 1.576.632 2.233 1.09.659.46 1.14.992 1.379 1.6.693 1.771.013 3.497-1.353 4.467-1.35.96-3.4 1.187-5.452-.221Zm4.776 2.192a5.647 5.647 0 0 0 1.529-.769c1.858-1.32 2.836-3.74 1.871-6.205-.379-.969-1.103-1.71-1.907-2.27-.806-.563-1.733-.975-2.591-1.274A16.895 16.895 0 0 0 8.6 15.25c.17-.11.352-.225.546-.339 1.134-.667 2.562-1.28 3.932-1.28 2.064 0 3.602.634 5.07 1.314l.402.188c1.312.615 2.69 1.262 4.291 1.262a7.463 7.463 0 0 0 3.595-.893C25.695 21.712 20.41 26.526 14 26.526c-.932 0-1.84-.101-2.714-.294Zm13.559-11.635a6.172 6.172 0 0 1-2.003.324c-1.256 0-2.335-.503-3.705-1.142l-.368-.171c-1.372-.636-2.959-1.309-5.024-1.43-.277-1.368-1.314-2.303-2.202-2.873a7.855 7.855 0 0 0-.295-.181c.088-.021.18-.041.272-.06 1.193-.246 2.618-.307 3.824.26 1.432.674 2.24 1.45 3.08 2.257l.029.028c.864.83 1.779 1.7 3.374 2.338.887.354 2.034.544 3.018.65Z" clip-rule="evenodd"/></g></g></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath><clipPath id="b"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath><linearGradient id="d" x1="0" x2="28.502" y1="28" y2="27.479" gradientUnits="userSpaceOnUse"><stop stop-color="%2329CCB9"/><stop offset=".495" stop-color="%230091FF"/><stop offset="1" stop-color="%23FF66B7"/></linearGradient></defs></svg>';export{l as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var t='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><rect width="28" height="28" fill="%23FF3131" rx="14"/><rect width="28" height="28" fill="url(%23a)" fill-opacity=".3" rx="14"/><path fill="%23fff" d="M9.22 18.35c2.7 0 4.86-2.2 4.86-5.38 0-2.19-1.47-3.8-3.98-3.8-2.72 0-4.85 2.2-4.85 5.38 0 2.2 1.5 3.8 3.97 3.8Zm.83-7.35c1.06 0 1.74.81 1.74 2.1 0 1.9-1.11 3.42-2.51 3.42-1.06 0-1.74-.82-1.74-2.1 0-1.89 1.11-3.42 2.5-3.42Zm6.38-1.68-1.88 8.88h2.26l.55-2.6h1.47c2.43 0 4.01-1.38 4.01-3.6 0-1.61-1.17-2.68-3.1-2.68h-3.3Zm1.9 1.74h.94c.83 0 1.3.38 1.3 1.14 0 1-.68 1.7-1.74 1.7h-1.11l.6-2.84Z"/><defs><linearGradient id="a" x1="0" x2="14" y1="0" y2="28" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity="0"/></linearGradient></defs></svg>%0A';export{t as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="28" height="28"><defs><linearGradient id="A" x1="-18.275%" x2="84.959%" y1="8.219%" y2="71.393%"><stop offset="0%" stop-color="%23a229c5"/><stop offset="100%" stop-color="%237b3fe4"/></linearGradient><circle id="B" cx="14" cy="14" r="14"/></defs><g fill-rule="evenodd"><mask id="C" fill="%23fff"><use xlink:href="%23B"/></mask><g fill-rule="nonzero"><path fill="url(%23A)" d="M-1.326-1.326h30.651v30.651H-1.326z" mask="url(%23C)"/><path fill="%23fff" d="M18.049 17.021l3.96-2.287a.681.681 0 0 0 .34-.589V9.572a.683.683 0 0 0-.34-.59l-3.96-2.286a.682.682 0 0 0-.68 0l-3.96 2.287a.682.682 0 0 0-.34.589v8.173L10.29 19.35l-2.777-1.604v-3.207l2.777-1.604 1.832 1.058V11.84l-1.492-.861a.681.681 0 0 0-.68 0l-3.96 2.287a.681.681 0 0 0-.34.589v4.573c0 .242.13.468.34.59l3.96 2.286a.68.68 0 0 0 .68 0l3.96-2.286a.682.682 0 0 0 .34-.589v-8.174l.05-.028 2.728-1.575 2.777 1.603v3.208l-2.777 1.603-1.83-1.056v2.151l1.49.86a.68.68 0 0 0 .68 0z"/></g></g></svg>';export{l as default};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg width="120" height="120" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<rect width="120" height="120" fill="url(%23paint0_linear_62_329)"/>%0A<path d="M20 38H26C56.9279 38 82 63.0721 82 94V100H94C97.3137 100 100 97.3137 100 94C100 53.1309 66.8691 20 26 20C22.6863 20 20 22.6863 20 26V38Z" fill="url(%23paint1_radial_62_329)"/>%0A<path d="M84 94H100C100 97.3137 97.3137 100 94 100H84V94Z" fill="url(%23paint2_linear_62_329)"/>%0A<path d="M26 20L26 36H20L20 26C20 22.6863 22.6863 20 26 20Z" fill="url(%23paint3_linear_62_329)"/>%0A<path d="M20 36H26C58.0325 36 84 61.9675 84 94V100H66V94C66 71.9086 48.0914 54 26 54H20V36Z" fill="url(%23paint4_radial_62_329)"/>%0A<path d="M68 94H84V100H68V94Z" fill="url(%23paint5_linear_62_329)"/>%0A<path d="M20 52L20 36L26 36L26 52H20Z" fill="url(%23paint6_linear_62_329)"/>%0A<path d="M20 62C20 65.3137 22.6863 68 26 68C40.3594 68 52 79.6406 52 94C52 97.3137 54.6863 100 58 100H68V94C68 70.804 49.196 52 26 52H20V62Z" fill="url(%23paint7_radial_62_329)"/>%0A<path d="M52 94H68V100H58C54.6863 100 52 97.3137 52 94Z" fill="url(%23paint8_radial_62_329)"/>%0A<path d="M26 68C22.6863 68 20 65.3137 20 62L20 52L26 52L26 68Z" fill="url(%23paint9_radial_62_329)"/>%0A<defs>%0A<linearGradient id="paint0_linear_62_329" x1="60" y1="0" x2="60" y2="120" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23174299"/>%0A<stop offset="1" stop-color="%23001E59"/>%0A</linearGradient>%0A<radialGradient id="paint1_radial_62_329" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26 94) rotate(-90) scale(74)">%0A<stop offset="0.770277" stop-color="%23FF4000"/>%0A<stop offset="1" stop-color="%238754C9"/>%0A</radialGradient>%0A<linearGradient id="paint2_linear_62_329" x1="83" y1="97" x2="100" y2="97" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23FF4000"/>%0A<stop offset="1" stop-color="%238754C9"/>%0A</linearGradient>%0A<linearGradient id="paint3_linear_62_329" x1="23" y1="20" x2="23" y2="37" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%238754C9"/>%0A<stop offset="1" stop-color="%23FF4000"/>%0A</linearGradient>%0A<radialGradient id="paint4_radial_62_329" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26 94) rotate(-90) scale(58)">%0A<stop offset="0.723929" stop-color="%23FFF700"/>%0A<stop offset="1" stop-color="%23FF9901"/>%0A</radialGradient>%0A<linearGradient id="paint5_linear_62_329" x1="68" y1="97" x2="84" y2="97" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23FFF700"/>%0A<stop offset="1" stop-color="%23FF9901"/>%0A</linearGradient>%0A<linearGradient id="paint6_linear_62_329" x1="23" y1="52" x2="23" y2="36" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23FFF700"/>%0A<stop offset="1" stop-color="%23FF9901"/>%0A</linearGradient>%0A<radialGradient id="paint7_radial_62_329" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26 94) rotate(-90) scale(42)">%0A<stop offset="0.59513" stop-color="%2300AAFF"/>%0A<stop offset="1" stop-color="%2301DA40"/>%0A</radialGradient>%0A<radialGradient id="paint8_radial_62_329" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(51 97) scale(17 45.3333)">%0A<stop stop-color="%2300AAFF"/>%0A<stop offset="1" stop-color="%2301DA40"/>%0A</radialGradient>%0A<radialGradient id="paint9_radial_62_329" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(23 69) rotate(-90) scale(17 322.37)">%0A<stop stop-color="%2300AAFF"/>%0A<stop offset="1" stop-color="%2301DA40"/>%0A</radialGradient>%0A</defs>%0A</svg>%0A';export{a as default};

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><g clip-path="url(%23a)"><path fill="url(%23b)" d="M0 16c0-5.6 0-8.4 1.09-10.54a10 10 0 0 1 4.37-4.37C7.6 0 10.4 0 16 0h16c5.6 0 8.4 0 10.54 1.09a10 10 0 0 1 4.37 4.37C48 7.6 48 10.4 48 16v16c0 5.6 0 8.4-1.09 10.54a10.001 10.001 0 0 1-4.37 4.37C40.4 48 37.6 48 32 48H16c-5.6 0-8.4 0-10.54-1.09a10 10 0 0 1-4.37-4.37C0 40.4 0 37.6 0 32V16Z"/><path fill="%23000" fill-opacity=".08" fill-rule="evenodd" d="M1.133 9.513C1 11.131 1 13.183 1 16v16c0 2.817 0 4.87.133 6.486.131 1.606.387 2.695.848 3.6a9 9 0 0 0 3.933 3.933c.905.461 1.994.717 3.6.848C11.13 47 13.183 47 16 47h16c2.817 0 4.87 0 6.486-.133 1.606-.131 2.695-.387 3.6-.848a9 9 0 0 0 3.933-3.933c.461-.905.717-1.994.848-3.6C47 36.87 47 34.816 47 32V16c0-2.817 0-4.87-.133-6.487-.131-1.605-.387-2.694-.848-3.599a9 9 0 0 0-3.933-3.933c-.905-.461-1.994-.717-3.6-.848C36.87 1 34.816 1 32 1H16c-2.817 0-4.87 0-6.487.133-1.605.131-2.694.387-3.599.848a9 9 0 0 0-3.933 3.933c-.461.905-.717 1.994-.848 3.6ZM1.09 5.46C0 7.6 0 10.4 0 16v16c0 5.6 0 8.4 1.09 10.54a10 10 0 0 0 4.37 4.37C7.6 48 10.4 48 16 48h16c5.6 0 8.4 0 10.54-1.09a10.001 10.001 0 0 0 4.37-4.37C48 40.4 48 37.6 48 32V16c0-5.6 0-8.4-1.09-10.54a10 10 0 0 0-4.37-4.37C40.4 0 37.6 0 32 0H16C10.4 0 7.6 0 5.46 1.09a10 10 0 0 0-4.37 4.37Z" clip-rule="evenodd"/><path fill="%23000" fill-opacity=".12" d="M36.345 13.155a1.5 1.5 0 1 0-3 0v2.224c0 .627-.775.937-1.218.494a12.75 12.75 0 1 0 0 18.031 1.5 1.5 0 1 0-2.121-2.12 9.75 9.75 0 1 1 0-13.79c.61.61.172 1.616-.691 1.616H26.89a1.5 1.5 0 0 0 0 3h7.955a1.5 1.5 0 0 0 1.5-1.5v-7.955Z"/><path fill="%23fff" d="M36.345 12.155a1.5 1.5 0 1 0-3 0v2.224c0 .627-.775.937-1.218.494a12.75 12.75 0 1 0 0 18.031 1.5 1.5 0 1 0-2.121-2.12 9.75 9.75 0 1 1 0-13.79c.61.61.172 1.616-.691 1.616H26.89a1.5 1.5 0 0 0 0 3h7.955a1.5 1.5 0 0 0 1.5-1.5v-7.955Z"/></g><defs><linearGradient id="b" x1="24" x2="24" y1="0" y2="48" gradientUnits="userSpaceOnUse"><stop stop-color="%2359627A"/><stop offset="1" stop-color="%234A5266"/></linearGradient><clipPath id="a"><path fill="%23fff" d="M0 0h48v48H0z"/></clipPath></defs></svg>';export{a as default};

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><g clip-path="url(%23a)"><mask id="b" width="28" height="28" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="%23FDFDFF" d="M14 28c7.732 0 14-6.268 14-14S21.732 0 14 0 0 6.268 0 14s6.268 14 14 14Z"/></mask><g mask="url(%23b)"><path fill="%23FDFDFF" d="M6 3h16v21H6z"/><path fill="%231273EA" d="M0 14v14h28V0H0v14Zm19.468-8.543c.307.072.537.201.747.42.103.108.186.23.253.37.06.126.089.212.115.343l.02.1v11.805l-.02.094c-.062.28-.193.529-.383.722-.05.05-.302.26-.672.556l-1.038.833-.754.605-2.038 1.636c-.569.458-1.06.85-1.093.872-.34.23-.782.246-1.14.04a5.804 5.804 0 0 1-.388-.294L9.94 21.04l-1.199-.962c-.651-.523-.895-.724-.954-.786a1.445 1.445 0 0 1-.369-.739c-.017-.101-.017-.19-.015-6.005l.002-5.902.026-.103a1.445 1.445 0 0 1 1.224-1.105c.017-.002 2.44-.003 5.38-.003l5.35.002.083.02Z"/><path fill="%231273EA" d="M10.873 7.58A1.43 1.43 0 0 0 9.586 8.65c-.045.181-.044-.05-.044 4.489 0 2.905.003 4.25.01 4.302.043.348.188.642.43.875.053.05 2.205 1.784 2.318 1.867.025.02.04.023.095.023.056 0 .07-.004.101-.024a.18.18 0 0 0 .056-.063l.019-.04v-2.957c0-1.89.004-2.968.009-2.988a.186.186 0 0 1 .09-.113l.042-.022h.874c.958 0 .948 0 1.112.055.322.107.572.36.68.684.054.16.051-.007.051 2.765 0 1.81.003 2.552.01 2.577.021.08.089.13.172.13a.175.175 0 0 0 .072-.015c.027-.014 2.194-1.75 2.308-1.848.224-.195.39-.494.45-.809.02-.1.02-.108.023-1.442.004-1.392 0-1.52-.033-1.682a1.375 1.375 0 0 0-.39-.707 1.374 1.374 0 0 0-.847-.41l-.094-.012.063-.007c.18-.02.362-.071.503-.142.397-.2.669-.552.767-.996l.02-.09v-1.61c0-1.533 0-1.613-.017-1.698a1.404 1.404 0 0 0-.426-.778 1.4 1.4 0 0 0-.853-.382c-.093-.008-6.186-.011-6.284-.003Zm4.464 1.445c.021.012.05.037.063.057l.025.036.002 1.233c.002 1.103.001 1.242-.011 1.322-.072.432-.39.77-.83.878-.074.018-.097.018-.967.021-.996.004-.937.007-.998-.06a.213.213 0 0 1-.04-.069c-.014-.048-.014-3.265 0-3.313a.207.207 0 0 1 .11-.118c.031-.01.23-.012 1.322-.01l1.286.001.038.022Z"/></g></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{a as default};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var a='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><path fill="url(%23a)" d="M0 16c0-5.6 0-8.4 1.09-10.54a10 10 0 0 1 4.37-4.37C7.6 0 10.4 0 16 0h16c5.6 0 8.4 0 10.54 1.09a10 10 0 0 1 4.37 4.37C48 7.6 48 10.4 48 16v16c0 5.6 0 8.4-1.09 10.54a10.001 10.001 0 0 1-4.37 4.37C40.4 48 37.6 48 32 48H16c-5.6 0-8.4 0-10.54-1.09a10 10 0 0 1-4.37-4.37C0 40.4 0 37.6 0 32V16Z"/><path fill="%23000" fill-opacity=".08" fill-rule="evenodd" d="M1.133 9.513C1 11.131 1 13.183 1 16v16c0 2.817 0 4.87.133 6.486.131 1.606.387 2.695.848 3.6a9 9 0 0 0 3.933 3.933c.905.461 1.994.717 3.6.848C11.13 47 13.183 47 16 47h16c2.817 0 4.87 0 6.486-.133 1.606-.131 2.695-.387 3.6-.848a9 9 0 0 0 3.933-3.933c.461-.905.717-1.994.848-3.6C47 36.87 47 34.816 47 32V16c0-2.817 0-4.87-.133-6.487-.131-1.605-.387-2.694-.848-3.599a9 9 0 0 0-3.933-3.933c-.905-.461-1.994-.717-3.6-.848C36.87 1 34.816 1 32 1H16c-2.817 0-4.87 0-6.487.133-1.605.131-2.694.387-3.599.848a9 9 0 0 0-3.933 3.933c-.461.905-.717 1.994-.848 3.6ZM1.09 5.46C0 7.6 0 10.4 0 16v16c0 5.6 0 8.4 1.09 10.54a10 10 0 0 0 4.37 4.37C7.6 48 10.4 48 16 48h16c5.6 0 8.4 0 10.54-1.09a10.001 10.001 0 0 0 4.37-4.37C48 40.4 48 37.6 48 32V16c0-5.6 0-8.4-1.09-10.54a10 10 0 0 0-4.37-4.37C40.4 0 37.6 0 32 0H16C10.4 0 7.6 0 5.46 1.09a10 10 0 0 0-4.37 4.37Z" clip-rule="evenodd"/><path fill="%23000" fill-opacity=".12" d="M28 10.5A1.5 1.5 0 0 1 29.5 9h3.955c.506 0 .76 0 .973.015a6 6 0 0 1 5.557 5.557c.015.214.015.467.015.974V19.5a1.5 1.5 0 0 1-3 0v-4.125c0-.348 0-.522-.014-.67a3 3 0 0 0-2.692-2.69c-.147-.015-.32-.015-.669-.015H29.5a1.5 1.5 0 0 1-1.5-1.5Zm0 29a1.5 1.5 0 0 0 1.5 1.5h3.955c.506 0 .76 0 .973-.015a6 6 0 0 0 5.557-5.557c.015-.214.015-.467.015-.973V30.5a1.5 1.5 0 0 0-3 0v4.125c0 .348 0 .522-.014.67a3 3 0 0 1-2.692 2.69c-.147.015-.32.015-.669.015H29.5a1.5 1.5 0 0 0-1.5 1.5ZM18.5 41a1.5 1.5 0 0 0 0-3h-4.125c-.348 0-.522 0-.67-.014a3 3 0 0 1-2.69-2.692c-.015-.147-.015-.32-.015-.669V30.5a1.5 1.5 0 0 0-3 0v3.955c0 .506 0 .76.015.973a6 6 0 0 0 5.557 5.557c.214.015.467.015.974.015H18.5ZM20 10.5A1.5 1.5 0 0 0 18.5 9h-3.954c-.507 0-.76 0-.974.015a6 6 0 0 0-5.557 5.557C8 14.786 8 15.039 8 15.546V19.5a1.5 1.5 0 0 0 3 0v-4.125c0-.348 0-.522.014-.67a3 3 0 0 1 2.692-2.69c.147-.015.32-.015.669-.015H18.5a1.5 1.5 0 0 0 1.5-1.5Z"/><path fill="%23fff" d="M28 9.5A1.5 1.5 0 0 1 29.5 8h3.955c.506 0 .76 0 .973.015a6 6 0 0 1 5.557 5.557c.015.214.015.467.015.974V18.5a1.5 1.5 0 0 1-3 0v-4.125c0-.348 0-.522-.014-.67a3 3 0 0 0-2.692-2.69c-.147-.015-.32-.015-.669-.015H29.5A1.5 1.5 0 0 1 28 9.5Zm0 29a1.5 1.5 0 0 0 1.5 1.5h3.955c.506 0 .76 0 .973-.015a6 6 0 0 0 5.557-5.557c.015-.214.015-.467.015-.973V29.5a1.5 1.5 0 0 0-3 0v4.125c0 .348 0 .522-.014.67a3 3 0 0 1-2.692 2.69c-.147.015-.32.015-.669.015H29.5a1.5 1.5 0 0 0-1.5 1.5ZM18.5 40a1.5 1.5 0 0 0 0-3h-4.125c-.348 0-.522 0-.67-.014a3 3 0 0 1-2.69-2.692c-.015-.147-.015-.32-.015-.669V29.5a1.5 1.5 0 0 0-3 0v3.955c0 .506 0 .76.015.973a6 6 0 0 0 5.557 5.557c.214.015.467.015.974.015H18.5ZM20 9.5A1.5 1.5 0 0 0 18.5 8h-3.954c-.507 0-.76 0-.974.015a6 6 0 0 0-5.557 5.557C8 13.786 8 14.039 8 14.546V18.5a1.5 1.5 0 0 0 3 0v-4.125c0-.348 0-.522.014-.67a3 3 0 0 1 2.692-2.69c.147-.015.32-.015.669-.015H18.5A1.5 1.5 0 0 0 20 9.5Z"/><defs><linearGradient id="a" x1="24" x2="24" y1="0" y2="48" gradientUnits="userSpaceOnUse"><stop stop-color="%2359627A"/><stop offset="1" stop-color="%234A5266"/></linearGradient></defs></svg>';export{a as default};

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1 @@
var C='data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<rect width="28" height="28" fill="%233B99FC"/>%0A<path d="M8.38969 10.3739C11.4882 7.27538 16.5118 7.27538 19.6103 10.3739L19.9832 10.7468C20.1382 10.9017 20.1382 11.1529 19.9832 11.3078L18.7076 12.5835C18.6301 12.6609 18.5045 12.6609 18.4271 12.5835L17.9139 12.0703C15.7523 9.9087 12.2477 9.9087 10.0861 12.0703L9.53655 12.6198C9.45909 12.6973 9.3335 12.6973 9.25604 12.6198L7.98039 11.3442C7.82547 11.1893 7.82547 10.9381 7.98039 10.7832L8.38969 10.3739ZM22.2485 13.012L23.3838 14.1474C23.5387 14.3023 23.5387 14.5535 23.3838 14.7084L18.2645 19.8277C18.1096 19.9827 17.8584 19.9827 17.7035 19.8277C17.7035 19.8277 17.7035 19.8277 17.7035 19.8277L14.0702 16.1944C14.0314 16.1557 13.9686 16.1557 13.9299 16.1944C13.9299 16.1944 13.9299 16.1944 13.9299 16.1944L10.2966 19.8277C10.1417 19.9827 9.89053 19.9827 9.73561 19.8278C9.7356 19.8278 9.7356 19.8277 9.7356 19.8277L4.61619 14.7083C4.46127 14.5534 4.46127 14.3022 4.61619 14.1473L5.75152 13.012C5.90645 12.857 6.15763 12.857 6.31255 13.012L9.94595 16.6454C9.98468 16.6841 10.0475 16.6841 10.0862 16.6454C10.0862 16.6454 10.0862 16.6454 10.0862 16.6454L13.7194 13.012C13.8743 12.857 14.1255 12.857 14.2805 13.012C14.2805 13.012 14.2805 13.012 14.2805 13.012L17.9139 16.6454C17.9526 16.6841 18.0154 16.6841 18.0541 16.6454L21.6874 13.012C21.8424 12.8571 22.0936 12.8571 22.2485 13.012Z" fill="white"/>%0A</svg>%0A';export{C as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><g clip-path="url(%23a)"><path fill="%23B7B5B1" d="M8 8h12v12H8z"/><path fill="%23B7B5B1" d="M28 12.667C24.786-5.97.448-2.363.011 12.667c1.4.728 2.285 1.176 2.285 1.176s-.74.448-2.296 1.434c2.8 18.278 26.723 15.624 28-.023-1.523-.93-2.352-1.422-2.352-1.422s.717-.336 2.352-1.165Zm-11.973 6.507-2.285-3.92-2.318 3.92-1.758-.123 3.304-5.566L9.99 8.68l1.792-.157 2.117 3.562 2.117-3.405 1.669.045-2.778 4.726 3.058 5.69-1.96.045.022-.012Z"/><path fill="%23244B81" d="M26.869 11.94C22.512-4.627 2.52-.147 1.154 11.94a249.514 249.514 0 0 1 3.404 1.926l-3.416 2.172c2.98 15.927 24.54 12.858 25.727-.022-2.173-1.366-3.461-2.162-3.461-2.162s2.934-1.635 3.46-1.915Zm-10.842 7.246-2.285-3.92-2.318 3.92-1.747-.124 3.304-5.566L10 8.691l1.793-.157 2.116 3.562 2.117-3.405 1.669.045-2.766 4.726 3.057 5.69-1.96.045v-.011Z"/></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{l as default};

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none" viewBox="0 0 178 178"><circle cx="89" cy="89" r="89" fill="%23005741"/><path fill="%23fff" d="M112.109 108.673v12.02H62.523c.684-7.911 3.236-13.477 12.064-21.304l37.522-32.01v28.09h13.507V43.79H48.813v25.76H62.32V57.297h40.803L65.784 89.163l-.089.085c-15.648 13.854-16.892 25.036-16.892 38.211v6.751h76.818v-25.527h-13.507z"/></svg>';export{l as default};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><g clip-path="url(%23a)"><path fill="%23F9F7EC" d="M14 28c7.732 0 14-6.268 14-14S21.732 0 14 0 0 6.268 0 14s6.268 14 14 14Z"/><path fill="%23000" fill-rule="evenodd" d="m22.12 13.93-4.669-4.648v3.402l-4.634 3.409h4.634v2.485l4.669-4.648ZM5.67 13.93l4.669 4.648v-3.381l4.634-3.437h-4.634V9.275L5.67 13.93Z" clip-rule="evenodd"/></g><defs><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{l as default};

View File

@ -0,0 +1 @@
var o='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><g clip-path="url(%23a)"><path fill="url(%23b)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/><path fill="url(%23c)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/><path fill="url(%23d)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/></g><defs><radialGradient id="b" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".005" stop-color="%23fff"/><stop offset=".458" stop-color="%23B7D8C8"/><stop offset=".656" stop-color="%236D9487"/><stop offset="1" stop-color="%234B4C3C"/></radialGradient><radialGradient id="c" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".005" stop-color="%23fff"/><stop offset=".458" stop-color="%23B5B4C6"/><stop offset=".656" stop-color="%239B8F8F"/><stop offset="1" stop-color="%234B4C3C"/></radialGradient><radialGradient id="d" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".156" stop-color="%23DCC8D0"/><stop offset=".302" stop-color="%2378C8CF"/><stop offset=".427" stop-color="%234D959E"/><stop offset=".557" stop-color="%23305EB9"/><stop offset=".797" stop-color="%23311F12"/><stop offset=".906" stop-color="%23684232"/><stop offset="1" stop-color="%232D1C13"/></radialGradient><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{o as default};

View File

@ -11,8 +11,8 @@
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover" />
<script type="module" crossorigin src="/assets/index-BVotGXf3.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-B00cPdAQ.css">
<script type="module" crossorigin src="/assets/index-Cfl21yUb.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DebqjXa5.css">
</head>
<body>

View File

@ -38,7 +38,7 @@
"scripts": {
"start": "vite",
"dev": "vite --port 3000",
"build": "npm run tc && tsc && vite build && rm -rf build && mv dist build",
"build": "vite build && rm -rf build && mv dist build",
"build:copy": "npm run build",
"serve": "vite preview",
"inline": "node ./add-inline-tags.js && cd build && inline-source ./index.html > ./inline-index.html && cd ..",
@ -72,4 +72,4 @@
"@types/react-dom": "^18.2.17"
},
"type": "module"
}
}

View File

@ -5,6 +5,8 @@ import { Tooltip } from "../components/Tooltip";
import { getFetchUrl } from "../utils/fetch";
import { sha256, toBytes } from "viem";
import { useSignTypedData, useAccount, useChainId } from 'wagmi'
import { KINOMAP } from "../abis";
type SetPasswordProps = {
direct: boolean;
@ -29,6 +31,10 @@ function SetPassword({
const [error, setError] = useState("");
const [loading, setLoading] = useState<boolean>(false);
const { signTypedDataAsync, data } = useSignTypedData();
const { address } = useAccount();
const chainId = useChainId();
useEffect(() => {
document.title = "Set Password";
}, []);
@ -49,20 +55,36 @@ function SetPassword({
setTimeout(async () => {
setLoading(true);
let hashed_password = sha256(toBytes(pw));
// let owner = await signer?.getAddress();
// let chain_id = await signer?.getChainId();
// let timestamp = Date.now();
let owner = address;
let timestamp = Date.now();
// let sig_data = JSON.stringify({
// username: knsName,
// password_hash: hashed_password,
// timestamp,
// direct,
// reset,
// chain_id,
// });
// let signature = await signer?.signMessage(utils.toUtf8Bytes(sig_data));
const signature = await signTypedDataAsync({
domain: {
name: "Kimap",
version: "1",
chainId: chainId,
verifyingContract: KINOMAP,
},
types: {
Boot: [
{ name: 'username', type: 'string' },
{ name: 'password_hash', type: 'bytes32' },
{ name: 'timestamp', type: 'uint256' },
{ name: 'direct', type: 'bool' },
{ name: 'reset', type: 'bool' },
{ name: 'chain_id', type: 'uint256' },
],
},
primaryType: 'Boot',
message: {
username: knsName,
password_hash: hashed_password,
timestamp: BigInt(timestamp),
direct,
reset,
chain_id: BigInt(chainId),
},
})
try {
const result = await fetch(getFetchUrl("/boot"), {
@ -74,10 +96,10 @@ function SetPassword({
reset,
username: knsName,
direct,
// owner,
// timestamp,
// signature,
// chain_id,
owner,
timestamp,
signature,
chain_id: chainId,
}),
});
const base64String = await result.json();

View File

@ -7,7 +7,7 @@ use alloy::rpc::types::eth::{TransactionInput, TransactionRequest};
use alloy::signers::Signature;
use alloy_primitives::{Address as EthAddress, Bytes, FixedBytes, U256};
use alloy_sol_macro::sol;
use alloy_sol_types::{SolCall, SolValue};
use alloy_sol_types::{eip712_domain, SolCall, SolStruct, SolValue};
use base64::{engine::general_purpose::STANDARD as base64_standard, Engine};
use lib::types::core::*;
use ring::rand::SystemRandom;
@ -36,6 +36,23 @@ sol! {
function key(bytes32) external view returns (bytes32);
function nodes(bytes32) external view returns (address, uint96);
function ip(bytes32) external view returns (uint128, uint16, uint16, uint16, uint16);
function get (
bytes32 node
) external view returns (
address tba,
address owner,
bytes,
);
struct Boot {
string username;
bytes32 password_hash;
uint256 timestamp;
bool direct;
bool reset;
uint256 chain_id;
}
}
/// Serve the registration page and receive POSTs and PUTs from it
@ -269,7 +286,9 @@ pub async fn connect_to_provider(maybe_rpc: Option<String>) -> RootProvider<PubS
let url = if let Some(rpc_url) = maybe_rpc {
rpc_url
} else {
"wss://optimism-rpc.publicnode.com".to_string()
// todo switch back to optimism
//"wss://optimism-rpc.publicnode.com".to_string()
"ws://localhost:8545".to_string()
};
println!(
"Connecting to Optimism RPC at {url}\n\
@ -385,11 +404,18 @@ async fn handle_boot(
)
.into_response());
}
let Ok(password_hash) = FixedBytes::<32>::from_str(&info.password_hash) else {
return Ok(warp::reply::with_status(
warp::reply::json(&"Invalid password hash"),
StatusCode::UNAUTHORIZED,
)
.into_response());
};
let namehash = FixedBytes::<32>::from_slice(&keygen::namehash(&our.name));
let tld_call = nodesCall { _0: namehash }.abi_encode();
let tx_input = TransactionInput::new(Bytes::from(tld_call));
let get_call = getCall { node: namehash }.abi_encode();
let tx_input = TransactionInput::new(Bytes::from(get_call));
let tx = TransactionRequest::default()
.to(kns_address)
@ -398,13 +424,14 @@ async fn handle_boot(
// this call can fail if the indexer has not caught up to the transaction
// that just got confirmed on our frontend. for this reason, we retry
// the call a few times before giving up.
// todo remove?
let mut attempts = 0;
let mut tld_result = Err(());
let mut get_result = Err(());
while attempts < 5 {
match provider.call(&tx).await {
Ok(tld) => {
tld_result = Ok(tld);
Ok(get) => {
get_result = Ok(get);
break;
}
Err(_) => {
@ -413,64 +440,48 @@ async fn handle_boot(
}
}
}
let Ok(tld) = tld_result else {
let Ok(get) = get_result else {
return Ok(warp::reply::with_status(
warp::reply::json(&"Failed to fetch TLD contract for username"),
warp::reply::json(&"Failed to fetch kimap entry for username"),
StatusCode::INTERNAL_SERVER_ERROR,
)
.into_response());
};
let Ok((tld_address, _)) = <(EthAddress, U256)>::abi_decode(&tld, false) else {
let Ok(node_info) = getCall::abi_decode_returns(&get, false) else {
return Ok(warp::reply::with_status(
warp::reply::json(&"Failed to decode TLD contract from return bytes"),
StatusCode::INTERNAL_SERVER_ERROR,
)
.into_response());
};
let owner = EthAddress::from_str(&info.owner).map_err(|_| warp::reject())?;
let auth_call = authCall {
_node: namehash,
_sender: owner,
}
.abi_encode();
let tx_input = TransactionInput::new(Bytes::from(auth_call));
let tx = TransactionRequest::default()
.to(tld_address)
.input(tx_input);
let Ok(authed) = provider.call(&tx).await else {
return Ok(warp::reply::with_status(
warp::reply::json(&"Failed to fetch associated address for username"),
warp::reply::json(&"Failed to decode kimap entry from return bytes"),
StatusCode::INTERNAL_SERVER_ERROR,
)
.into_response());
};
let is_ok = bool::abi_decode(&authed, false).unwrap_or(false);
let owner = node_info.owner;
if !is_ok {
return Ok(warp::reply::with_status(
warp::reply::json(&"Address is not authorized for username!"),
StatusCode::UNAUTHORIZED,
)
.into_response());
// TODO change back to optimism
let chain_id: u64 = 31337;
let domain = eip712_domain! {
name: "Kimap",
version: "1",
chain_id: chain_id,
verifying_contract: kns_address,
};
let chain_id: u64 = 10;
// manual json creation to preserve order..
let sig_data_json = format!(
r#"{{"username":"{}","password_hash":"{}","timestamp":{},"direct":{},"reset":{},"chain_id":{}}}"#,
our.name, info.password_hash, info.timestamp, info.direct, info.reset, chain_id
);
let sig_data = sig_data_json.as_bytes();
let boot = Boot {
username: our.name.clone(),
password_hash: password_hash,
timestamp: U256::from(info.timestamp),
direct: info.direct,
reset: info.reset,
chain_id: U256::from(chain_id),
};
let hash = boot.eip712_signing_hash(&domain);
let sig = Signature::from_str(&info.signature).map_err(|_| warp::reject())?;
let recovered_address = sig
.recover_address_from_msg(sig_data)
.recover_address_from_prehash(&hash)
.map_err(|_| warp::reject())?;
if recovered_address != owner {
@ -711,6 +722,7 @@ pub async fn assign_routing(
ws_networking_port: (u16, bool),
tcp_networking_port: (u16, bool),
) -> anyhow::Result<()> {
return Ok(());
let namehash = FixedBytes::<32>::from_slice(&keygen::namehash(&our.name));
let ip_call = ipCall { _0: namehash }.abi_encode();
let key_call = keyCall { _0: namehash }.abi_encode();