File tree Expand file tree Collapse file tree 11 files changed +230
-45
lines changed
Expand file tree Collapse file tree 11 files changed +230
-45
lines changed Original file line number Diff line number Diff line change 1+ /target
2+ * .db
3+ * .DS_Store
Original file line number Diff line number Diff line change 11/target
22* .db
3- * .key
4- * .crt
53* .DS_Store
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ xchdev-db = { path = "crates/db" }
88xchdev-parser = { path = " crates/parser" }
99xchdev-types = { path = " crates/types" }
1010
11- chia-wallet-sdk = { path = " ../ wallet-sdk" }
11+ chia-wallet-sdk = { git = " https://github.com/xch-dev/chia- wallet-sdk" }
1212chia = " 0.26.0"
1313clvmr = " 0.14.0"
1414
Original file line number Diff line number Diff line change 1+ FROM rust:1.88.0 AS builder
2+ WORKDIR /usr/src/xchdev-api
3+ RUN apt-get update && apt-get install -y libclang-dev
4+ COPY . .
5+ RUN cargo install --path crates/api
6+
7+ FROM debian:bookworm-slim
8+ RUN apt-get update && apt-get install -y libssl3 && rm -rf /var/lib/apt/lists/*
9+ COPY --from=builder /usr/local/cargo/bin/xchdev-api /usr/local/bin/xchdev-api
10+ CMD ["xchdev-api" ]
Original file line number Diff line number Diff line change 44 Route ,
55 RouterProvider ,
66} from 'react-router-dom' ;
7+ import { CoinsetProvider } from './contexts/CoinsetContext' ;
78import { DarkModeProvider } from './contexts/DarkModeContext' ;
89import { DexieProvider } from './contexts/DexieContext' ;
910import { MintGardenProvider } from './contexts/MintGardenContext' ;
@@ -27,11 +28,13 @@ const router = createBrowserRouter(
2728export default function App ( ) {
2829 return (
2930 < DarkModeProvider >
30- < DexieProvider >
31- < MintGardenProvider >
32- < RouterProvider router = { router } />
33- </ MintGardenProvider >
34- </ DexieProvider >
31+ < CoinsetProvider >
32+ < DexieProvider >
33+ < MintGardenProvider >
34+ < RouterProvider router = { router } />
35+ </ MintGardenProvider >
36+ </ DexieProvider >
37+ </ CoinsetProvider >
3538 </ DarkModeProvider >
3639 ) ;
3740}
Original file line number Diff line number Diff line change 1+ import { CoinsetClient } from 'chia-wallet-sdk-wasm' ;
2+ import {
3+ createContext ,
4+ useEffect ,
5+ useMemo ,
6+ useState ,
7+ type ReactNode ,
8+ } from 'react' ;
9+
10+ export interface CoinsetContextType {
11+ client : CoinsetClient ;
12+ peak : number ;
13+ }
14+
15+ // eslint-disable-next-line react-refresh/only-export-components
16+ export const CoinsetContext = createContext < CoinsetContextType | undefined > (
17+ undefined ,
18+ ) ;
19+
20+ export function CoinsetProvider ( { children } : { children : ReactNode } ) {
21+ const [ peak , setPeak ] = useState ( 0 ) ;
22+
23+ const client = useMemo ( ( ) => {
24+ return CoinsetClient . mainnet ( ) ;
25+ } , [ ] ) ;
26+
27+ useEffect ( ( ) => {
28+ client . getBlockchainState ( ) . then ( ( data ) => {
29+ setPeak ( data . blockchainState ?. peak . height ?? 0 ) ;
30+ } ) ;
31+ } , [ client ] ) ;
32+
33+ useEffect ( ( ) => {
34+ const websocket = new WebSocket ( 'wss://api.coinset.org/ws' ) ;
35+
36+ websocket . onmessage = ( event ) => {
37+ const message = JSON . parse ( event . data ) ;
38+ switch ( message . type ) {
39+ case 'peak' :
40+ setPeak ( message . data . height ) ;
41+ break ;
42+ }
43+ } ;
44+
45+ return ( ) => {
46+ websocket . close ( ) ;
47+ } ;
48+ } , [ ] ) ;
49+
50+ return (
51+ < CoinsetContext . Provider value = { { client, peak } } >
52+ { children }
53+ </ CoinsetContext . Provider >
54+ ) ;
55+ }
Original file line number Diff line number Diff line change 1+ import { CoinsetContext } from '@/contexts/CoinsetContext' ;
2+ import { useContext } from 'react' ;
3+
4+ export function useCoinset ( ) {
5+ const context = useContext ( CoinsetContext ) ;
6+
7+ if ( ! context ) {
8+ throw new Error ( 'useCoinset must be used within a CoinsetProvider' ) ;
9+ }
10+
11+ return context ;
12+ }
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ export function parseCoinSpend(
5151 condition . parseAssertMyBirthHeight ( ) ??
5252 condition . parseAssertMyBirthSeconds ( ) ??
5353 condition . parseAssertEphemeral ( ) ??
54- condition . parseAggSigPuzzle ( ) ??
54+ condition . parseAggSigMe ( ) ??
5555 condition . parseAggSigParent ( ) ??
5656 condition . parseAggSigParentAmount ( ) ??
5757 condition . parseAggSigParentPuzzle ( ) ??
You can’t perform that action at this time.
0 commit comments