diff --git a/.github/deploy/process-compose.yaml b/.github/deploy/process-compose.yaml
index 4f72402..64e8587 100644
--- a/.github/deploy/process-compose.yaml
+++ b/.github/deploy/process-compose.yaml
@@ -1,23 +1,28 @@
version: "0.5"
processes:
- IPFS:
- namespace: testnet
- command: "ipfs daemon --mount"
- ready_log_line: "Daemon is ready"
+ Tigerbeetle:
+ namespace: sonr-gateway
+ command: "tigerbeetle"
+ ready_log_line: "Tigerbeetle is ready"
- Sonr:
+ Postgres:
namespace: testnet
- command: "task sonrd:start"
- depends_on:
- IPFS:
- condition: process_log_ready
+ command: "postgres"
+ ready_log_line: "database system is ready to accept connections"
Hway:
- namespace: testnet
+ namespace: sonr-gateway
command: "hway"
depends_on:
IPFS:
condition: process_log_ready
Sonr:
condition: process_started
+
+ Cloudflare:
+ namespace: sonr-gateway
+ command: "cloudflared tunnel route"
+ depends_on:
+ Hway:
+ condition: process_started
diff --git a/app/islands/card_account_templ.go b/app/islands/card_account_templ.go
index 091c7ec..2654cbe 100644
--- a/app/islands/card_account_templ.go
+++ b/app/islands/card_account_templ.go
@@ -36,7 +36,7 @@ func CardAccount(addr, name, handle, creationBlock string) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(handle)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/card_account.templ`, Line: 9, Col: 43}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/card_account.templ`, Line: 9, Col: 43}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -49,7 +49,7 @@ func CardAccount(addr, name, handle, creationBlock string) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(shortenAddress(addr))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/card_account.templ`, Line: 16, Col: 58}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/card_account.templ`, Line: 16, Col: 58}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -62,7 +62,7 @@ func CardAccount(addr, name, handle, creationBlock string) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(creationBlock)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/card_account.templ`, Line: 21, Col: 55}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/card_account.templ`, Line: 21, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -75,7 +75,7 @@ func CardAccount(addr, name, handle, creationBlock string) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(name)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/card_account.templ`, Line: 25, Col: 32}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/card_account.templ`, Line: 25, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
diff --git a/app/islands/coin_select_templ.go b/app/islands/coin_select_templ.go
index 1f00222..1385382 100644
--- a/app/islands/coin_select_templ.go
+++ b/app/islands/coin_select_templ.go
@@ -99,7 +99,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(a.Ticker)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 58, Col: 29}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 58, Col: 29}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -112,7 +112,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(a.Ticker)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 59, Col: 41}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 59, Col: 41}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -125,7 +125,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(a.Name)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 60, Col: 11}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 60, Col: 11}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@@ -143,7 +143,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(a.Ticker)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 64, Col: 29}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 64, Col: 29}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
@@ -156,7 +156,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(a.Ticker)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 65, Col: 41}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 65, Col: 41}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
@@ -169,7 +169,7 @@ func CoinOption(a Coin) templ.Component {
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(a.Name)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/coin_select.templ`, Line: 66, Col: 11}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/coin_select.templ`, Line: 66, Col: 11}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
diff --git a/app/islands/human_slider_templ.go b/app/islands/human_slider_templ.go
index 1f7fae6..395dc40 100644
--- a/app/islands/human_slider_templ.go
+++ b/app/islands/human_slider_templ.go
@@ -38,7 +38,7 @@ func HumanSlider(firstNumber int, lastNumber int) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(humanLabel(firstNumber, lastNumber))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/human_slider.templ`, Line: 7, Col: 71}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/human_slider.templ`, Line: 7, Col: 71}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -80,7 +80,7 @@ func HumanSliderError(firstNumber int, lastNumber int) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(humanLabel(firstNumber, lastNumber))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/human_slider.templ`, Line: 12, Col: 70}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/human_slider.templ`, Line: 12, Col: 70}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
diff --git a/app/islands/input_handle_templ.go b/app/islands/input_handle_templ.go
index 88095fc..9ed4b09 100644
--- a/app/islands/input_handle_templ.go
+++ b/app/islands/input_handle_templ.go
@@ -77,7 +77,7 @@ func InputHandleError(value string, helpText string) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(value)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/input_handle.templ`, Line: 27, Col: 152}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/input_handle.templ`, Line: 27, Col: 152}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -90,7 +90,7 @@ func InputHandleError(value string, helpText string) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(helpText)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/input_handle.templ`, Line: 27, Col: 175}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/input_handle.templ`, Line: 27, Col: 175}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -132,7 +132,7 @@ func InputHandleSuccess(value string) templ.Component {
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(value)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/islands/input_handle.templ`, Line: 39, Col: 154}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/islands/input_handle.templ`, Line: 39, Col: 154}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/base_form_templ.go b/app/views/base_form_templ.go
index 993ea2f..7fad913 100644
--- a/app/views/base_form_templ.go
+++ b/app/views/base_form_templ.go
@@ -45,7 +45,7 @@ func Form(action, id string) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(id)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_form.templ`, Line: 4, Col: 60}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_form.templ`, Line: 4, Col: 60}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -58,7 +58,7 @@ func Form(action, id string) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(action)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_form.templ`, Line: 4, Col: 79}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_form.templ`, Line: 4, Col: 79}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -248,7 +248,7 @@ func FormSubmit(text string) templ.Component {
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(text)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_form.templ`, Line: 55, Col: 8}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_form.templ`, Line: 55, Col: 8}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/base_head_templ.go b/app/views/base_head_templ.go
index 3b6ce72..99ec4a5 100644
--- a/app/views/base_head_templ.go
+++ b/app/views/base_head_templ.go
@@ -75,7 +75,7 @@ func Head(title string, nebulaVersion string) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 25, Col: 16}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 25, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -238,7 +238,7 @@ func Alpine() templ.Component {
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("alpinejs", "3.14.6", "dist/cdn.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 86, Col: 68}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 86, Col: 68}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
@@ -251,7 +251,7 @@ func Alpine() templ.Component {
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("@alpinejs/focus", "3.14.6", "dist/cdn.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 87, Col: 75}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 87, Col: 75}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
@@ -312,7 +312,7 @@ func Dexie() templ.Component {
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("dexie", "4.0.10", "dist/dexie.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 94, Col: 67}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 94, Col: 67}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
@@ -325,7 +325,7 @@ func Dexie() templ.Component {
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("dexie-export-import", "4.1.4", "dist/dexie-export-import.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 95, Col: 94}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 95, Col: 94}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
@@ -386,7 +386,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx.org", "1.9.12", "dist/htmx.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 102, Col: 69}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 102, Col: 69}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
if templ_7745c5c3_Err != nil {
@@ -399,7 +399,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx-ext-include-vals", "2.0.0", "include-vals.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 103, Col: 84}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 103, Col: 84}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
if templ_7745c5c3_Err != nil {
@@ -412,7 +412,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx-ext-path-params", "2.0.0", "path-params.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 104, Col: 82}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 104, Col: 82}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
if templ_7745c5c3_Err != nil {
@@ -425,7 +425,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx-ext-alpine-morph", "2.0.0", "alpine-morph.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 105, Col: 84}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 105, Col: 84}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
if templ_7745c5c3_Err != nil {
@@ -438,7 +438,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var21 string
templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx-ext-sse", "2.2.2", "sse.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 106, Col: 66}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 106, Col: 66}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
if templ_7745c5c3_Err != nil {
@@ -451,7 +451,7 @@ func Htmx() templ.Component {
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("htmx-ext-ws", "2.0.2", "ws.min.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 107, Col: 64}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 107, Col: 64}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
if templ_7745c5c3_Err != nil {
@@ -500,7 +500,7 @@ func Nebula(version string) templ.Component {
var templ_7745c5c3_Var24 string
templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("@onsonr/nebula", version, "cdn/themes/light.css"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 116, Col: 71}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 116, Col: 71}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
if templ_7745c5c3_Err != nil {
@@ -513,7 +513,7 @@ func Nebula(version string) templ.Component {
var templ_7745c5c3_Var25 string
templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("@onsonr/nebula", version, "cdn/themes/dark.css"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 121, Col: 70}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 121, Col: 70}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
if templ_7745c5c3_Err != nil {
@@ -542,7 +542,7 @@ func Nebula(version string) templ.Component {
var templ_7745c5c3_Var27 string
templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(jsDelivrURL("@onsonr/nebula", version, "cdn/shoelace-autoloader.js"))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_head.templ`, Line: 125, Col: 98}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_head.templ`, Line: 125, Col: 98}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/base_hero_templ.go b/app/views/base_hero_templ.go
index c0b7578..f2c2d65 100644
--- a/app/views/base_hero_templ.go
+++ b/app/views/base_hero_templ.go
@@ -36,7 +36,7 @@ func HeroTitle(title string, subtitle string) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_hero.templ`, Line: 6, Col: 10}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_hero.templ`, Line: 6, Col: 10}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -49,7 +49,7 @@ func HeroTitle(title string, subtitle string) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(subtitle)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_hero.templ`, Line: 9, Col: 13}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_hero.templ`, Line: 9, Col: 13}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/base_layout_templ.go b/app/views/base_layout_templ.go
index 7855560..c3e8225 100644
--- a/app/views/base_layout_templ.go
+++ b/app/views/base_layout_templ.go
@@ -149,7 +149,7 @@ func LayoutSeparator(text string) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(text)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/base_layout.templ`, Line: 33, Col: 45}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/base_layout.templ`, Line: 33, Col: 45}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/view_errors_templ.go b/app/views/view_errors_templ.go
index f878c41..9a25970 100644
--- a/app/views/view_errors_templ.go
+++ b/app/views/view_errors_templ.go
@@ -64,7 +64,7 @@ func ErrorView(err string) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(err)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/views/view_errors.templ`, Line: 9, Col: 10}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `app/views/view_errors.templ`, Line: 9, Col: 10}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
diff --git a/app/views/view_register_templ.go b/app/views/view_register_templ.go
index 20ab3e0..bc3aab1 100644
--- a/app/views/view_register_templ.go
+++ b/app/views/view_register_templ.go
@@ -8,7 +8,7 @@ package views
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
-import "github.com/onsonr/hway/pkg/islands"
+import "github.com/onsonr/hway/app/islands"
func RegisterProfileView(firstNumber int, lastNumber int) templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
diff --git a/go.mod b/go.mod
index c6ebd7c..4add2c4 100644
--- a/go.mod
+++ b/go.mod
@@ -15,8 +15,7 @@ require (
github.com/labstack/echo-contrib v0.17.2
github.com/labstack/echo/v4 v4.13.3
github.com/medama-io/go-useragent v1.0.1
- github.com/onsonr/crypto v1.50.0
- github.com/onsonr/sonr v0.6.1
+ github.com/onsonr/sonr v0.6.3
github.com/segmentio/ksuid v1.0.4
github.com/spf13/cobra v1.8.1
google.golang.org/grpc v1.69.2
@@ -189,7 +188,7 @@ require (
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect
github.com/onsi/ginkgo/v2 v2.22.0 // indirect
- github.com/onsonr/nebula v0.1.1 // indirect
+ github.com/onsonr/nebula v0.1.2 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
diff --git a/go.sum b/go.sum
index ec73265..dc4d49d 100644
--- a/go.sum
+++ b/go.sum
@@ -752,8 +752,11 @@ github.com/onsonr/crypto v1.50.0 h1:U1oEFPG3v/fPywAUE8VW5w1FSMjpckPS6PLH2bVDI2I=
github.com/onsonr/crypto v1.50.0/go.mod h1:bBNLhUlfIaBiVRpKprYtPV8h/9nXB32TXMujkKGwg8w=
github.com/onsonr/nebula v0.1.1 h1:YBIbf4JSt8jVz6DI04fa7gKY9fBZ47YBIzwe3Nom+YQ=
github.com/onsonr/nebula v0.1.1/go.mod h1:1Dcmw5lB4dvKRKSp55B/iLmN4ejZ4vp1/EB/RzXetAQ=
+github.com/onsonr/nebula v0.1.2 h1:UV3D0qND2eD24Q2EVegLlIgUFVbjd8kQtGes0BgF+wo=
+github.com/onsonr/nebula v0.1.2/go.mod h1:1Dcmw5lB4dvKRKSp55B/iLmN4ejZ4vp1/EB/RzXetAQ=
github.com/onsonr/sonr v0.6.1 h1:pNP2BbOfe/3UN/bZSYNyf9F+nlIpZaqi2LJ6Ol0496w=
github.com/onsonr/sonr v0.6.1/go.mod h1:L4ywLeJemlGD2pmlIX/j3eEKEgu5o/yzgFjkHNr7dAk=
+github.com/onsonr/sonr v0.6.3/go.mod h1:zNoLbYTYyIXbGngyMmbB3Iwh/WJyy4R6YDHJFuKFexA=
github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
diff --git a/pkg/common/ucan_store.go b/pkg/common/ucan_store.go
index 7658e90..5a3d171 100644
--- a/pkg/common/ucan_store.go
+++ b/pkg/common/ucan_store.go
@@ -8,8 +8,8 @@ import (
"github.com/golang-jwt/jwt"
"github.com/ipfs/go-cid"
- "github.com/onsonr/crypto/keys"
- "github.com/onsonr/crypto/ucan"
+ "github.com/onsonr/sonr/crypto/keys"
+ "github.com/onsonr/sonr/crypto/ucan"
)
type IPFSTokenStore interface {
diff --git a/pkg/context/middleware.go b/pkg/context/middleware.go
index bd80ef1..1fe7a12 100644
--- a/pkg/context/middleware.go
+++ b/pkg/context/middleware.go
@@ -6,10 +6,10 @@ import (
"github.com/labstack/echo/v4"
"github.com/medama-io/go-useragent"
- "github.com/onsonr/crypto/mpc"
"github.com/onsonr/hway/pkg/common"
hway "github.com/onsonr/hway/pkg/config"
hwayorm "github.com/onsonr/hway/pkg/models"
+ "github.com/onsonr/sonr/crypto/mpc"
)
type GatewayContext struct {
diff --git a/pkg/context/vaults.go b/pkg/context/vaults.go
index d26b787..992e693 100644
--- a/pkg/context/vaults.go
+++ b/pkg/context/vaults.go
@@ -1,8 +1,8 @@
package context
import (
- "github.com/onsonr/crypto/mpc"
"github.com/onsonr/hway/pkg/common"
+ "github.com/onsonr/sonr/crypto/mpc"
"lukechampine.com/blake3"
)
diff --git a/x/errors/view.templ b/x/errors/view.templ
deleted file mode 100644
index 078f883..0000000
--- a/x/errors/view.templ
+++ /dev/null
@@ -1,24 +0,0 @@
-package errors
-
-templ ErrorView(error string) {
- @LayoutView("Error | Sonr.ID") {
- @LayoutContainer() {
- @HeroTitle("Error", "Something went wrong.")
- @Form("/error", "error-form") {
- @FormBody() {
- @FormHeader() {
-
-
-
- }
- @islands.InputHandle()
- @FormFooter() {
- @FormCancel()
- @FormSubmit("Next")
- }
- }
- }
- }
- }
-}
-
diff --git a/x/register/islands/card_account_templ.go b/x/register/islands/card_account_templ.go
new file mode 100644
index 0000000..5c328ff
--- /dev/null
+++ b/x/register/islands/card_account_templ.go
@@ -0,0 +1,100 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.819
+package islands
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+func CardAccount(addr, name, handle, creationBlock string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "sonr-testnet-1
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var2 string
+ templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(handle)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/card_account.templ`, Line: 9, Col: 43}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var3 string
+ templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(shortenAddress(addr))
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/card_account.templ`, Line: 16, Col: 58}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
Block Created
#")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var4 string
+ templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(creationBlock)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/card_account.templ`, Line: 21, Col: 55}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "
Issued to
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var5 string
+ templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(name)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/card_account.templ`, Line: 25, Col: 32}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+// Helper function to shorten address
+func shortenAddress(address string) string {
+ if len(address) <= 20 {
+ return address
+ }
+ return address[:16] + "..." + address[len(address)-4:]
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/x/register/islands/coin_select_templ.go b/x/register/islands/coin_select_templ.go
new file mode 100644
index 0000000..2882289
--- /dev/null
+++ b/x/register/islands/coin_select_templ.go
@@ -0,0 +1,187 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.819
+package islands
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+type Coin struct {
+ Ticker string
+ Name string
+ IsDefault bool
+}
+
+var defaultCoins = []Coin{
+ {Ticker: "SNR", Name: "Sonr", IsDefault: true},
+ {Ticker: "BTC", Name: "Bitcoin", IsDefault: true},
+ {Ticker: "ETH", Name: "Ethereum", IsDefault: true},
+ {Ticker: "SOL", Name: "Solana", IsDefault: false},
+ {Ticker: "LTC", Name: "Litecoin", IsDefault: false},
+ {Ticker: "DOGE", Name: "Dogecoin", IsDefault: false},
+ {Ticker: "XRP", Name: "Ripple", IsDefault: false},
+ {Ticker: "OSMO", Name: "Osmosis", IsDefault: false},
+ {Ticker: "ATOM", Name: "Cosmos", IsDefault: false},
+ {Ticker: "STARZ", Name: "Stargaze", IsDefault: false},
+ {Ticker: "AKT", Name: "Akash", IsDefault: false},
+ {Ticker: "EVMOS", Name: "Evmos", IsDefault: false},
+ {Ticker: "FIL", Name: "Filecoin", IsDefault: false},
+ {Ticker: "AXL", Name: "Axelar", IsDefault: false},
+}
+
+func CoinSelect() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ for _, a := range defaultCoins {
+ templ_7745c5c3_Err = CoinOption(a).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func CoinOption(a Coin) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var2 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var2 == nil {
+ templ_7745c5c3_Var2 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ if a.IsDefault {
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var5 string
+ templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(a.Name)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/coin_select.templ`, Line: 60, Col: 11}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ } else {
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var8 string
+ templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(a.Name)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `x/register/islands/coin_select.templ`, Line: 66, Col: 11}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/x/register/islands/human_slider_templ.go b/x/register/islands/human_slider_templ.go
new file mode 100644
index 0000000..72bff8e
--- /dev/null
+++ b/x/register/islands/human_slider_templ.go
@@ -0,0 +1,130 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.819
+package islands
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import "fmt"
+
+func HumanSlider(firstNumber int, lastNumber int) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func HumanSliderError(firstNumber int, lastNumber int) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var3 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var3 == nil {
+ templ_7745c5c3_Var3 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, " Invalid Human Sum
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func HumanSliderSuccess() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var5 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var5 == nil {
+ templ_7745c5c3_Var5 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func humanLabel(firstNumber int, lastNumber int) string {
+ return fmt.Sprintf("What is %d + %d?", firstNumber, lastNumber)
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/x/register/islands/input_handle_templ.go b/x/register/islands/input_handle_templ.go
new file mode 100644
index 0000000..3bacfb4
--- /dev/null
+++ b/x/register/islands/input_handle_templ.go
@@ -0,0 +1,149 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.819
+package islands
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+type HandleState string
+
+const (
+ HandleStateInitial HandleState = "inital"
+ HandleStateValid HandleState = "valid"
+ HandleStateInvalid HandleState = "invalid"
+)
+
+func (s HandleState) string() string {
+ return string(s)
+}
+
+func InputHandle() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func InputHandleError(value string, helpText string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var2 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var2 == nil {
+ templ_7745c5c3_Var2 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func InputHandleSuccess(value string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var5 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var5 == nil {
+ templ_7745c5c3_Var5 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/x/register/islands/input_passkey.templ b/x/register/islands/input_passkey.templ
index 094a13b..0fa73af 100644
--- a/x/register/islands/input_passkey.templ
+++ b/x/register/islands/input_passkey.templ
@@ -94,4 +94,504 @@ navigator.credentials
console.error('Passkey creation failed:', err);
alert(`Failed to create passkey: ${err.message || 'Unknown error'}`);
});
+{
+ "scopes": [
+ "core-chain",
+ "core-ibc",
+ "sonr-hway",
+ "sonr-matrix",
+ "sonr-motr",
+ "x-did",
+ "x-dwn",
+ "x-svc",
+ "security-mpc",
+ "security-ucan",
+ "security-zkp",
+ "ci-cd",
+ "dev-ops"
+ ],
+ "docs": [
+ {
+ "keywords": [
+ "github",
+ "actions",
+ "workflows",
+ "syntax"
+ ],
+ "url": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "tooling",
+ "cosmovisor"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/tooling/cosmovisor"
+ },
+ {
+ "keywords": [
+ "process-compose",
+ "configuration"
+ ],
+ "url": "https://f1bonacc1.github.io/process-compose/configuration/"
+ },
+ {
+ "keywords": [
+ "taskfile",
+ "cli",
+ "reference"
+ ],
+ "url": "https://taskfile.dev/reference/cli"
+ },
+ {
+ "keywords": [],
+ "url": "https://taskfile.dev/reference/schema"
+ },
+ {
+ "keywords": [
+ "taskfile",
+ "templating",
+ "reference"
+ ],
+ "url": "https://taskfile.dev/reference/templating/"
+ },
+ {
+ "keywords": [
+ "mkdocs",
+ "material",
+ "reference"
+ ],
+ "url": "https://squidfunk.github.io/mkdocs-material/reference/"
+ },
+ {
+ "keywords": [
+ "pkl",
+ "language",
+ "reference"
+ ],
+ "url": "https://pkl-lang.org/main/current/language-reference/index.html"
+ },
+ {
+ "keywords": [
+ "pwa",
+ "service-workers",
+ "web"
+ ],
+ "url": "https://web.dev/learn/pwa/service-workers/"
+ },
+ {
+ "keywords": [
+ "service-workers",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API"
+ },
+ {
+ "keywords": [
+ "web-authentication",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "cosmos",
+ "manager"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/module-manager"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "cosmos",
+ "messages",
+ "queries"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/messages-and-queries"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "messages",
+ "service",
+ "cosmos"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/msg-services"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "services",
+ "cosmos",
+ "query"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/query-services"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "depinject",
+ "modules",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/depinject"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "apps",
+ "sdk",
+ "interchain-accounts"
+ ],
+ "url": "https://ibc.cosmos.network/v8/apps/interchain-accounts/overview/"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "apps",
+ "sdk",
+ "transfer"
+ ],
+ "url": "https://ibc.cosmos.network/v8/apps/transfer/overview/"
+ },
+ {
+ "keywords": [
+ "osmosis",
+ "modules",
+ "ibc",
+ "assets"
+ ],
+ "url": "https://docs.osmosis.zone/osmosis-core/asset-info/"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "osmosis",
+ "tokenfactory",
+ "modules",
+ "assets"
+ ],
+ "url": "https://docs.osmosis.zone/osmosis-core/modules/tokenfactory"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "mint",
+ "cctp",
+ "noble",
+ "assets"
+ ],
+ "url": "https://docs.noble.xyz/cctp/mint"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "relayer",
+ "nomic",
+ "assets"
+ ],
+ "url": "https://docs.nomic.io/network/ibc-relayer"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "cctp",
+ "noble",
+ "mint_forward",
+ "assets"
+ ],
+ "url": "https://docs.noble.xyz/cctp/mint_forward"
+ },
+ {
+ "keywords": [
+ "evmos",
+ "erc20",
+ "assets"
+ ],
+ "url": "https://docs.evmos.org/protocol/modules/erc20"
+ },
+ {
+ "keywords": [
+ "nomic",
+ "nbtc",
+ "assets"
+ ],
+ "url": "https://docs.nomic.io/nbtc"
+ },
+ {
+ "keywords": [
+ "mpc",
+ "wallet",
+ "cryptography",
+ "capability",
+ "invokation"
+ ],
+ "url": "https://csrc.nist.gov/CSRC/media/Events/NTCW19/papers/paper-DKLS.pdf"
+ },
+ {
+ "keywords": [
+ "ucan",
+ "spec",
+ "cryptography",
+ "authorization"
+ ],
+ "url": "https://raw.githubusercontent.com/ucan-wg/spec/refs/heads/main/README.md"
+ },
+ {
+ "keywords": [
+ "zero-knowledge",
+ "proofs",
+ "cryptography",
+ "privacy"
+ ],
+ "url": "https://eprint.iacr.org/2021/1672.pdf"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "sse"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/sse"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "websocket"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/websocket"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "subdomain"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/subdomain"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "models",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/data-modeling"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "two=phase",
+ "transfers",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/two-phase-transfers"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "oracle",
+ "reliable",
+ "transaction",
+ "submission"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/reliable-transaction-submission"
+ },
+ {
+ "keywords": [
+ "currency",
+ "exchange",
+ "tigerbeetle",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/recipes/currency-exchange"
+ },
+ {
+ "keywords": [
+ "balance",
+ "tigerbeetle",
+ "oracle",
+ "conditional",
+ "transfers"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/recipes/balance-conditional-transfers"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "account",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/reference/account"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "transfer",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/reference/transfer"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "packages",
+ "consumer",
+ "oracle"
+ ],
+ "url": "https://docs.substreams.dev/documentation/consume/packages"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "deploy",
+ "service",
+ "oracle"
+ ],
+ "url": "https://docs.substreams.dev/documentation/consume/sql/deployable-services/local-service"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "tutorial",
+ "cosmos",
+ "injective"
+ ],
+ "url": "https://docs.substreams.dev/tutorials/cosmos/injective/foundational"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "jwt"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/jwt"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "secure"
+ ],
+ "url": "https://echo.labstack.com/docs/middleware/secure"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "service-workers",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API"
+ },
+ {
+ "keywords": [
+ "synapse",
+ "matrix",
+ "configuration",
+ "usage"
+ ],
+ "url": "https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "orm",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/packages/orm"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "auth"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/auth"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "bank"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/bank"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "authz",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/authz"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "collections",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/packages/collections"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "gov",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/gov"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "staking",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/staking"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "annotations",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/protobuf-annotations"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "group"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/group"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "nft"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/nft"
+ }
+ ],
+ "next-milestone": "34"
+}
}
diff --git a/x/register/islands/input_passkey_templ.go b/x/register/islands/input_passkey_templ.go
new file mode 100644
index 0000000..6a4cf82
--- /dev/null
+++ b/x/register/islands/input_passkey_templ.go
@@ -0,0 +1,648 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.819
+package islands
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+func InputPasskey(addr string, userHandle string, challenge string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, navigatorCredentialsCreate(addr, userHandle, challenge))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " Register Passkey")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func navigatorCredentialsCreate(userId string, userHandle string, challenge string) templ.ComponentScript {
+ return templ.ComponentScript{
+ Name: `__templ_navigatorCredentialsCreate_5c0f`,
+ Function: `function __templ_navigatorCredentialsCreate_5c0f(userId, userHandle, challenge){const publicKey = {
+ challenge: Uint8Array.from(challenge, (c) => c.charCodeAt(0)),
+ rp: {
+ name: "Sonr.ID",
+ },
+ user: {
+ // Assuming that userId is ASCII-only
+ id: Uint8Array.from(userId, (c) => c.charCodeAt(0)),
+ name: userId,
+ displayName: userHandle,
+ },
+ pubKeyCredParams: [
+ {
+ type: "public-key",
+ alg: -7, // "ES256"
+ },
+ {
+ type: "public-key",
+ alg: -257, // "RS256"
+ },
+ ],
+ authenticatorSelection: {
+ userVerification: "required",
+ residentKey: "required",
+ authenticatorAttachment: "platform",
+ },
+ timeout: 60000, // 1 minute
+ extensions: {
+ payment: {
+ isPayment: true,
+ },
+ largeBlob: {
+ supported: "preferred",
+ },
+ },
+ };
+
+ // Helper function to convert ArrayBuffer to Base64URL string
+ function arrayBufferToBase64URL(buffer) {
+ const bytes = new Uint8Array(buffer);
+ let str = '';
+ bytes.forEach(byte => { str += String.fromCharCode(byte) });
+ return btoa(str)
+ .replace(/\+/g, '-')
+ .replace(/\//g, '_')
+ .replace(/=/g, '');
+ }
+
+navigator.credentials
+ .create({ publicKey })
+ .then((newCredentialInfo) => {
+ if (!(newCredentialInfo instanceof PublicKeyCredential)) {
+ throw new Error('Received credential is not a PublicKeyCredential');
+ }
+
+ const response = newCredentialInfo.response;
+ if (!(response instanceof AuthenticatorAttestationResponse)) {
+ throw new Error('Response is not an AuthenticatorAttestationResponse');
+ }
+
+ // Convert the credential data to a cross-platform compatible format
+ const credentialJSON = {
+ id: newCredentialInfo.id,
+ rawId: arrayBufferToBase64URL(newCredentialInfo.rawId),
+ type: newCredentialInfo.type,
+ authenticatorAttachment: newCredentialInfo.authenticatorAttachment || null,
+ transports: Array.isArray(response.getTransports) ? response.getTransports() : [],
+ clientExtensionResults: newCredentialInfo.getClientExtensionResults(),
+ response: {
+ attestationObject: arrayBufferToBase64URL(response.attestationObject),
+ clientDataJSON: arrayBufferToBase64URL(response.clientDataJSON)
+ }
+ };
+
+ // Set the form value with the stringified credential data
+ const credential = document.getElementById('credential-data');
+ credential.value = JSON.stringify(credentialJSON);
+
+ // Submit the form
+ const form = document.getElementById('passkey-form');
+ form.submit();
+ })
+ .catch((err) => {
+ console.error('Passkey creation failed:', err);
+ alert(` + "`" + `Failed to create passkey: ${err.message || 'Unknown error'}` + "`" + `);
+ });
+{
+ "scopes": [
+ "core-chain",
+ "core-ibc",
+ "sonr-hway",
+ "sonr-matrix",
+ "sonr-motr",
+ "x-did",
+ "x-dwn",
+ "x-svc",
+ "security-mpc",
+ "security-ucan",
+ "security-zkp",
+ "ci-cd",
+ "dev-ops"
+ ],
+ "docs": [
+ {
+ "keywords": [
+ "github",
+ "actions",
+ "workflows",
+ "syntax"
+ ],
+ "url": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "tooling",
+ "cosmovisor"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/tooling/cosmovisor"
+ },
+ {
+ "keywords": [
+ "process-compose",
+ "configuration"
+ ],
+ "url": "https://f1bonacc1.github.io/process-compose/configuration/"
+ },
+ {
+ "keywords": [
+ "taskfile",
+ "cli",
+ "reference"
+ ],
+ "url": "https://taskfile.dev/reference/cli"
+ },
+ {
+ "keywords": [],
+ "url": "https://taskfile.dev/reference/schema"
+ },
+ {
+ "keywords": [
+ "taskfile",
+ "templating",
+ "reference"
+ ],
+ "url": "https://taskfile.dev/reference/templating/"
+ },
+ {
+ "keywords": [
+ "mkdocs",
+ "material",
+ "reference"
+ ],
+ "url": "https://squidfunk.github.io/mkdocs-material/reference/"
+ },
+ {
+ "keywords": [
+ "pkl",
+ "language",
+ "reference"
+ ],
+ "url": "https://pkl-lang.org/main/current/language-reference/index.html"
+ },
+ {
+ "keywords": [
+ "pwa",
+ "service-workers",
+ "web"
+ ],
+ "url": "https://web.dev/learn/pwa/service-workers/"
+ },
+ {
+ "keywords": [
+ "service-workers",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API"
+ },
+ {
+ "keywords": [
+ "web-authentication",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "cosmos",
+ "manager"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/module-manager"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "cosmos",
+ "messages",
+ "queries"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/messages-and-queries"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "messages",
+ "service",
+ "cosmos"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/msg-services"
+ },
+ {
+ "keywords": [
+ "sdk",
+ "modules",
+ "services",
+ "cosmos",
+ "query"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/query-services"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "depinject",
+ "modules",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/depinject"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "apps",
+ "sdk",
+ "interchain-accounts"
+ ],
+ "url": "https://ibc.cosmos.network/v8/apps/interchain-accounts/overview/"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "apps",
+ "sdk",
+ "transfer"
+ ],
+ "url": "https://ibc.cosmos.network/v8/apps/transfer/overview/"
+ },
+ {
+ "keywords": [
+ "osmosis",
+ "modules",
+ "ibc",
+ "assets"
+ ],
+ "url": "https://docs.osmosis.zone/osmosis-core/asset-info/"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "osmosis",
+ "tokenfactory",
+ "modules",
+ "assets"
+ ],
+ "url": "https://docs.osmosis.zone/osmosis-core/modules/tokenfactory"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "mint",
+ "cctp",
+ "noble",
+ "assets"
+ ],
+ "url": "https://docs.noble.xyz/cctp/mint"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "relayer",
+ "nomic",
+ "assets"
+ ],
+ "url": "https://docs.nomic.io/network/ibc-relayer"
+ },
+ {
+ "keywords": [
+ "ibc",
+ "cctp",
+ "noble",
+ "mint_forward",
+ "assets"
+ ],
+ "url": "https://docs.noble.xyz/cctp/mint_forward"
+ },
+ {
+ "keywords": [
+ "evmos",
+ "erc20",
+ "assets"
+ ],
+ "url": "https://docs.evmos.org/protocol/modules/erc20"
+ },
+ {
+ "keywords": [
+ "nomic",
+ "nbtc",
+ "assets"
+ ],
+ "url": "https://docs.nomic.io/nbtc"
+ },
+ {
+ "keywords": [
+ "mpc",
+ "wallet",
+ "cryptography",
+ "capability",
+ "invokation"
+ ],
+ "url": "https://csrc.nist.gov/CSRC/media/Events/NTCW19/papers/paper-DKLS.pdf"
+ },
+ {
+ "keywords": [
+ "ucan",
+ "spec",
+ "cryptography",
+ "authorization"
+ ],
+ "url": "https://raw.githubusercontent.com/ucan-wg/spec/refs/heads/main/README.md"
+ },
+ {
+ "keywords": [
+ "zero-knowledge",
+ "proofs",
+ "cryptography",
+ "privacy"
+ ],
+ "url": "https://eprint.iacr.org/2021/1672.pdf"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "sse"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/sse"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "websocket"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/websocket"
+ },
+ {
+ "keywords": [
+ "gateway",
+ "http",
+ "subdomain"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/subdomain"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "models",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/data-modeling"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "two=phase",
+ "transfers",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/two-phase-transfers"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "oracle",
+ "reliable",
+ "transaction",
+ "submission"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/reliable-transaction-submission"
+ },
+ {
+ "keywords": [
+ "currency",
+ "exchange",
+ "tigerbeetle",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/recipes/currency-exchange"
+ },
+ {
+ "keywords": [
+ "balance",
+ "tigerbeetle",
+ "oracle",
+ "conditional",
+ "transfers"
+ ],
+ "url": "https://docs.tigerbeetle.com/coding/recipes/balance-conditional-transfers"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "account",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/reference/account"
+ },
+ {
+ "keywords": [
+ "tigerbeetle",
+ "transfer",
+ "oracle"
+ ],
+ "url": "https://docs.tigerbeetle.com/reference/transfer"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "packages",
+ "consumer",
+ "oracle"
+ ],
+ "url": "https://docs.substreams.dev/documentation/consume/packages"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "deploy",
+ "service",
+ "oracle"
+ ],
+ "url": "https://docs.substreams.dev/documentation/consume/sql/deployable-services/local-service"
+ },
+ {
+ "keywords": [
+ "substreams",
+ "tutorial",
+ "cosmos",
+ "injective"
+ ],
+ "url": "https://docs.substreams.dev/tutorials/cosmos/injective/foundational"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "jwt"
+ ],
+ "url": "https://echo.labstack.com/docs/cookbook/jwt"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "secure"
+ ],
+ "url": "https://echo.labstack.com/docs/middleware/secure"
+ },
+ {
+ "keywords": [
+ "worker",
+ "http",
+ "service-workers",
+ "web",
+ "api"
+ ],
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API"
+ },
+ {
+ "keywords": [
+ "synapse",
+ "matrix",
+ "configuration",
+ "usage"
+ ],
+ "url": "https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "orm",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/packages/orm"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "auth"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/auth"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "bank"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/bank"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "authz",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/authz"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "collections",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/packages/collections"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "gov",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/gov"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "modules",
+ "staking",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/staking"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "protobuf",
+ "annotations",
+ "sdk"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/building-modules/protobuf-annotations"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "group"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/group"
+ },
+ {
+ "keywords": [
+ "cosmos",
+ "sdk",
+ "modules",
+ "nft"
+ ],
+ "url": "https://docs.cosmos.network/v0.50/build/modules/nft"
+ }
+ ],
+ "next-milestone": "34"
+}
+}`,
+ Call: templ.SafeScript(`__templ_navigatorCredentialsCreate_5c0f`, userId, userHandle, challenge),
+ CallInline: templ.SafeScriptInline(`__templ_navigatorCredentialsCreate_5c0f`, userId, userHandle, challenge),
+ }
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/x/register/view.go b/x/register/view.go
deleted file mode 100644
index 6399f0b..0000000
--- a/x/register/view.go
+++ /dev/null
@@ -1 +0,0 @@
-package register
diff --git a/x/search/handler.go b/x/search/handler.go
deleted file mode 100644
index 60a0228..0000000
--- a/x/search/handler.go
+++ /dev/null
@@ -1 +0,0 @@
-package index
diff --git a/x/search/route.go b/x/search/route.go
deleted file mode 100644
index 60a0228..0000000
--- a/x/search/route.go
+++ /dev/null
@@ -1 +0,0 @@
-package index