Skip to content

Commit

Permalink
improve
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanleecode committed May 2, 2024
1 parent 93885c7 commit 49c5ef5
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
30 changes: 22 additions & 8 deletions projects/extension/src/background/smoldot2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ import {
JsonRpcConnection,
JsonRpcProvider,
} from "@polkadot-api/json-rpc-provider"
import { getSyncProvider } from "@polkadot-api/json-rpc-provider-proxy"
import {
AsyncJsonRpcProvider,
getSyncProvider,
} from "@polkadot-api/json-rpc-provider-proxy"

const chainSpecSchema = z.object({
name: z.string(),
Expand Down Expand Up @@ -61,7 +64,8 @@ export const start = (
_(
Effect.sync(() => startSmoldotClient(options)),
Effect.andThen((client) => Deferred.succeed(deferred, client)),
Effect.tap(() => Console.log("success")),
Effect.tap(() => Effect.log("smoldot created successfully")),
Effect.withSpan("smoldot/create"),
),
)

Expand Down Expand Up @@ -124,10 +128,15 @@ export const start = (
}),
)

const provider: JsonRpcProvider = getSyncProvider(
async () => (onMessage, onError) => {
runPromise(Deferred.succeed(deferredOnMessage, onMessage))
runPromise(Deferred.succeed(deferredOnError, onError))
const provider: JsonRpcProvider = getSyncProvider(async () => {
let p1 = Promise.withResolvers<boolean>()
let p2 = Promise.withResolvers<boolean>()

const asyncProvider: AsyncJsonRpcProvider = (onMessage, onError) => {
p1.resolve(
runPromise(Deferred.succeed(deferredOnMessage, onMessage)),
)
p2.resolve(runPromise(Deferred.succeed(deferredOnError, onError)))

const send: JsonRpcConnection["send"] = (message) => {
chain.sendJsonRpc(message)
Expand All @@ -142,8 +151,13 @@ export const start = (
send,
disconnect,
}
},
)
}

await p1.promise
await p2.promise

return asyncProvider
})

const substrateClient = yield* Effect.sync(() =>
createSubstrateClient(provider),
Expand Down
4 changes: 2 additions & 2 deletions projects/extension/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"compilerOptions": {
"target": "ES2020",
"target": "ESNext",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"lib": ["ESNext", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,

Expand Down

0 comments on commit 49c5ef5

Please sign in to comment.